CN111510727B - 一种运动估计方法及装置 - Google Patents

一种运动估计方法及装置 Download PDF

Info

Publication number
CN111510727B
CN111510727B CN202010289085.5A CN202010289085A CN111510727B CN 111510727 B CN111510727 B CN 111510727B CN 202010289085 A CN202010289085 A CN 202010289085A CN 111510727 B CN111510727 B CN 111510727B
Authority
CN
China
Prior art keywords
reference frame
distortion cost
pixel
sub
motion estimation
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
Application number
CN202010289085.5A
Other languages
English (en)
Other versions
CN111510727A (zh
Inventor
张宏顺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010289085.5A priority Critical patent/CN111510727B/zh
Publication of CN111510727A publication Critical patent/CN111510727A/zh
Application granted granted Critical
Publication of CN111510727B publication Critical patent/CN111510727B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例提供了一种运动估计方法及装置,涉及视频压缩技术领域,该方法包括:以参考帧序列中排序第一的第一参考帧为基准参考帧,在对参考帧序列中每个第二参考帧进行整像素运动估计后,判断每个第二参考帧的整像素率失真代价是否小于等于整像素筛选阈值,整像素筛选阈值是根据第一参考帧的整像素率失真代价确定的,若是,则对第二参考帧进行分像素运动估计。由于只对整像素率失真代价小于等于整像素筛选阈值的第二参考帧进行分像素运动估计,故不需要对每个参考帧进行分像素运动估计,从而减少了分像素运动估计的次数,进而减少了运动估计的时间,提高了编码的实时性。

Description

一种运动估计方法及装置
技术领域
本申请实施例涉及视频压缩技术领域,尤其涉及一种运动估计方法及装置。
背景技术
随着人们对视频质量的要求越来越高,视频编码技术也不断发展。早期的视频编码标准只支持单个参考帧,从H.263+开始支持多参考帧技术。在采用多参考帧技术对视频进行编码时,需要对多个参考帧中每个参考帧进行整像素运动估计和分像素运动估计。运动估计涉及大量复杂度高的率失真代价计算,多参考帧技术需要对每个参考帧做相同的处理,这样大大增加了运动估计的时间,从而影响编码的实时性。
发明内容
本申请实施例提供了一种运动估计方法及装置,用于预判是否终止参考帧的分像素运动估计,从而减少运动估计的时间,提高编码的实时性。
一方面,本申请实施例提供了一种运动估计方法,该方法包括:
获取待编码帧和所述待编码帧的参考帧序列,所述参考帧序列包括排序第一的第一参考帧和至少一个第二参考帧;
基于所述待编码帧对所述参考帧序列中的每个参考帧进行整像素运动估计,分别获得每个参考帧的整像素率失真代价;
根据所述第一参考帧的整像素率失真代价确定整像素筛选阈值;
对整像素率失真代价小于等于所述整像素筛选阈值的第二参考帧进行分像素运动估计。
一方面,本申请实施例提供了视频编码方法,包括上述运动估计方法。
一方面,本申请实施例提供了一种运动估计装置,该装置包括:
获取模块,用于获取待编码帧和所述待编码帧的参考帧序列,所述参考帧序列包括排序第一的第一参考帧和至少一个第二参考帧;
运动估计模块,用于基于所述待编码帧对所述参考帧序列中的每个参考帧进行整像素运动估计,分别获得每个参考帧的整像素率失真代价;
处理模块,用于根据所述第一参考帧的整像素率失真代价确定整像素筛选阈值;对整像素率失真代价小于等于所述整像素筛选阈值的第二参考帧进行分像素运动估计。
可选地,所述处理模块还用于:
将所述第一参考帧的整像素率失真代价作为整像素筛选阈值;或者
将所述第一参考帧的整像素率失真代价与第一系数的乘积作为整像素筛选阈值,所述第一系数与所述第一参考帧的整像素率失真代价的计算误差相关。
可选地,还包括更新模块;
所述更新模块具体用于:
针对任意一个第二参考帧,在所述第二参考帧的整像素率失真代价小于等于所述整像素筛选阈值时,将所述第一参考帧的整像素率失真代价的值更新为所述第二参考帧的整像素率失真代价的值。
可选地,所述分像素运动估计包括二分之一像素运动估计和四分之一像素运动估计;
所述处理模块具体用于:
针对整像素率失真代价小于等于整像素筛选阈值的第二参考帧中的任意一个第二参考帧,基于所述待编码帧对所述第二参考帧进行二分之一像素运动估计,获得所述第二参考帧的第一分像素率失真代价;
在所述第二参考帧的第一分像素率失真代价小于等于所述分像素筛选阈值时,基于所述待编码帧对所述第二参考帧进行四分之一像素运动估计,获得所述第二参考帧的第二分像素率失真代价,所述分像素筛选阈值是根据所述第一参考帧的第一分像素率失真代价确定的。
可选地,所述处理模块还用于:
所述分像素筛选阈值为所述第一参考帧的第一分像素率失真代价;或者
所述分像素筛选阈值为所述第一参考帧的第一分像素率失真代价与第二系数的乘积,所述第二系数与所述第一参考帧的第一分像素率失真代价的计算误差相关。
可选地,所述更新模块还用于:
在所述第二参考帧的第一分像素率失真代价小于等于所述分像素筛选阈值时,将所述第一参考帧的第一分像素率失真代价的值更新为所述第二参考帧的第一分像素率失真代价的值。
可选地,所述处理模块还用于:
对整像素率失真代价小于等于所述整像素筛选阈值的第二参考帧进行分像素运动估计之后,将所述第一参考帧的整像素率失真代价、所述第一参考帧的第一分像素率失真代价、所述第一参考帧的第二分像素率失真代价以及所述第二参考帧的第二分像素率失真代价进行比较,获得最小率失真代价,所述第一参考帧的第二分像素率失真代价是对所述第一参考帧进行四分之一像素运动估计后获得的;
将所述最小率失真代价对应的参考帧作为最优参考帧;
采用最优参考帧对所述待编码帧进行运动补偿。
一方面,本申请实施例提供了一种视频编码装置,包括上述运动估计装置。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现运动估计方法的步骤,或者所述处理器执行所述程序时实现视频编码方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行运动估计方法的步骤,或者使得所述计算机设备执行视频编码方法的步骤。
本申请实施例中,以参考帧序列中排序第一的第一参考帧为基准参考帧,在对参考帧序列中每个第二参考帧进行整像素运动估计后,判断每个第二参考帧的整像素率失真代价是否小于等于整像素筛选阈值,整像素筛选阈值是根据第一参考帧的整像素率失真代价确定的,若是,则对第二参考帧进行分像素运动估计。由于只对整像素率失真代价小于等于整像素筛选阈值的第二参考帧进行分像素运动估计,故不需要对每个参考帧进行分像素运动估计,从而减少了分像素运动估计的次数,进而减少了运动估计的时间,提高了编码的实时性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有的一种运动方法的流程示意图;
图2为本申请实施例提供的一种视频编码框架的结构示意图;
图3为本申请实施例提供的CTU分割为多个CU的示意图;
图4为本申请实施例提供的预测单元的分割模式的示意图;
图5为本申请实施例提供的一种运动估计方法的流程示意图;
图6为本申请实施例提供的待编码帧的参考帧示意图;
图7为本申请实施例提供的一种像素插值的示意图;
图8为本申请实施例提供的一种运动估计方法的流程示意图;
图9为本申请实施例提供的一种运动估计方法的流程示意图;
图10为本申请实施例提供的一种运动估计装置的结构示意图;
图11为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了方便理解,下面对本申请实施例中涉及的名词进行解释。
SATD:全称为Sum of Absolute Transformed Difference,表示绝对变换差和,一种计算失真的方式,是将残差信号进行哈达玛积变换后,再求各元素绝对值之和。
SAD:全称为Sum of Absolute Difference,表示绝对误差和。
CU:全称为Code Unit,表示编码单元。
PU:全称为Predict Unit,表示预测单元。
TU:全称为Transform Unit,表示变换单元,是独立完成变换和量化的基本单元,其尺寸也是灵活变化的,可以支持大小为4x4至32x32的编码变换,在一个CU内,以四叉树的形式递归划分,TU的最大划分深度由编码端决定,并通过语法传给解码端。
RQT:全称为Residual Quad-tree Transform,一种基于四叉树结构的自适应变换技术。
DB:全称为Deblocking filter,去块滤波。
SAO:全称为Sample Adaptive Offset,自适应像素补偿。
ME:全称为Motion Estimation,运动估计,将图像序列的每一帧分成许多互不重叠的宏块,并认为宏块内所有象素的位移量都相同,然后对每个宏块到参考帧某一给定特定搜索范围内根据一定的匹配准则找出与当前块最相似的块,即匹配块,匹配块与当前块的相对位移即为运动矢量。
MC:全称为Motion Compensation运动补偿。
图像信息经采集后生成的原始视频数据,数据量非常大,对于某些采集后直接本地播放的应用场合,不需要考虑压缩技术。但现实中更多的应用场合,涉及视频的传输与存储,比如监控场景、直播场景、视频通话场景、视频播放场景等。传输网络与存储设备无法容忍原始视频数据的巨大数据量,必须将原始视频数据经过编码压缩后,再进行传输与存储。目前采用多参考帧技术对视频进行编码时,需要对多个参考帧中每个参考帧进行整像素运动估计和分像素运动估计。示例性地,如图1所示,针对参考帧序列中的参考帧Xi,首先对参考帧Xi进行整像素运动估计,然后再进行二分之一像素运动估计和四分之一像素运动估计,之后再将参考帧Xi的整像素率失真代价、二分之一像素率失真代价、四分之一像素率失真代价进行比较,获得参考帧Xi对应的最小率失真代价。采用上述方法获得每个参考帧对应的最小率失真代价,然后比较每个参考帧对应的最小率失真代价的大小,根据比较结果从参考帧序列中确定最优参考帧。在视频编码过程中,运动估计涉及大量复杂度高的率失真代价计算,多参考帧技术需要对每个参考帧做相同的处理,导致运动估计约占了整个编码时间的30%~40%。在做分像素运动估计时,因为参考帧中不存在半像素位置,因此需要先插值,所以分像素运动估计占比也较大,约占整个运动估计的30%,这样大大增加了运动估计的时间,从而影响编码的实时性。
对于不同的参考帧来说,当一个参考帧对应的整像素率失真代价小于其他参考帧对应的整像素率失真代价时,该参考帧对应的分像素率失真代价也可能小于其他参考帧对应的分像素率失真代价。鉴于此,本申请实施例考虑基于参考帧整像素运动估计的结果来判定是否跳过参考帧分像素运动估计的步骤,具体为:获取待编码帧和待编码帧的参考帧序列,参考帧序列包括排序第一的第一参考帧和至少一个第二参考帧。然后基于待编码帧对参考帧序列中的每个参考帧进行整像素运动估计,分别获得每个参考帧的整像素率失真代价。之后根据第一参考帧的整像素率失真代价确定整像素筛选阈值,对整像素率失真代价小于等于整像素筛选阈值的第二参考帧进行分像素运动估计。
本申请实施例中,以参考帧序列中排序第一的第一参考帧为基准参考帧,在对参考帧序列中每个第二参考帧进行整像素运动估计后,判断每个第二参考帧的整像素率失真代价是否小于等于整像素筛选阈值,整像素筛选阈值是根据第一参考帧的整像素率失真代价确定的,若是,则对第二参考帧进行分像素运动估计。由于只对整像素率失真代价小于等于整像素筛选阈值的第二参考帧进行分像素运动估计,故不需要对每个参考帧进行分像素运动估计,从而减少了分像素运动估计的次数,进而减少了运动估计的时间,提高了编码的实时性。
图2为本申请实施例提供的一种视频编码框架的结构示意图,如图2所示,视频拍摄设备采集图像,将采集的图像作为待编码帧输入编码器,编码器先按照64x64块大小分割成一个个编码树单元(Coding Tree Uint,简称CTU),再经过深度划分得到编码单元(Coding Uint,简称CU),直至大小为8×8像素的最小编码单元。图3示例性示出了一个CTU分割为多个CU的示意图。每个CU包含预测单元(Predict Unit,简称PU)和变换单元(TransformUnit,简称TU)。对每个预测单元进行预测,得到预测值。预测值与输入数据相减,得到残差。然后将残差进行DCT(离散余弦变换)和量化,得到残差系数。然后将残差系数送入熵编码模块输出码流,编码器通过无线网络将码流发送至解码器,解码器对码流解码后,可获得视频拍摄设备采集的图像。同时编码器将残差系数进行反量化、反变换之后,得到重构图像的残差值。再将重构图像的残差值与预测值相加,从而得到了重构图像。重构图像经过区块滤波和自适应像素补偿之后,进入参考帧序列,作为下一个的参考帧,从而依次向后编码。编码器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。视频拍摄设备可以是摄像头、智能手机、平板电脑、笔记本电脑、智能手表等,但并不局限于此。视频拍摄设备以及编码器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
具体地,对预测单元进行预测时,预测模式包括帧内预测和帧间预测,对帧内预测编码的预测单元进行空域预测,对帧间预测编码的预测单元进行运动估计后进行运动补偿。视频编码中,图像的冗余信息包括时间冗余信息以及空间冗余信息,帧间预测可以减少时间冗余信息,帧内预测可以减少空间冗余信息。在一般的视频编码标准中,编码单元根据预测模式的不同可以划分为一个或多个预测单元,每个预测单元含有一组预测信息,例如帧内预测的预测方向或帧间预测的运动信息。预测单元对应的分割方式可以根据不同视频编码标准设置。以HEVC(High Efficiency Video Coding,高效视频编码标准)为例,如图4所示,HEVC中一共定义了8种预测单元对应的分割模式,若给定一个编码单元,设它的尺寸为2N×2N,其中N为正整数,N的取值可以为4、8、16或32。对称分割模式包括2N*2N、N*2N、2N*N以及N*N四种,非对称分割模式包括2N×nU、2N×nD、nL×2N和nR×2N,其中的U、D、L、R分别表示是在编码单元的上半部分、下半部分、左半部分以及右半部分划分。当预测单元的预测模式为帧内预测时,分割模式的类型可以是2N×2N或N×N。当预测单元的预测模式为帧间预测时,分割模式的类型可以是2N*2N、N*2N、2N*N、2N×nU、2N×nD、nL×2N和nR×2N中的任意一种,在进行帧间预测时,需要对上述每种分割模式进行运动估计。变换单元是独立完成变换和量化的基本单元,其尺寸也是灵活变化的,对应的分割模式可以是2N×2N或N×N。需要说明的是,本申请实施例并不仅限于HEVC协议,其他涉及多参考帧技术的协议也适用。
基于图2所示的视频编码框架,本申请实施例提供了一种运动估计方法的流程,如图5所示,该方法的流程可以由运动估计装置执行,该方法包括以下步骤:
步骤S501,获取待编码帧和待编码帧的参考帧序列。
参考帧序列包括排序第一的第一参考帧和至少一个第二参考帧。一般来说,当参考帧与待编码帧在时间上越接近时,比如相邻,参考帧与待编码帧之间的变化也越小,参考帧对应的率失真代价也可能越小,也就越适合用于对待编码帧进行运动补偿。为此,本申请实施例中选取参考帧序列中排序第一的参考帧作为第一参考帧,以获得一个较小的率失真代价,便于后续对第二参考帧进行筛选,跳过对第二参考帧进行分像素运动的步骤。
在一种可能的实施方式中,参考帧序列中的每个参考帧为同方向的参考帧,具体地,参考帧序列中的参考帧可以是待编码帧的前向参考帧,也可以是待编码帧的后向参考帧。下面举例说明待编码帧的前向参考帧和待编码帧的前向参考帧,如图6所示,待编码帧N的前向参考帧为参考帧N+1、参考帧N+2、参考帧N+3,待编码帧N的后向参考帧为参考帧N-1、参考帧N-2、参考帧N-3。需要说明的是,本申请实施例中涉及的前向和后向指的是编码顺序,而不是播放顺序,编码的顺序和播放的顺序是不同的。
步骤S502,基于待编码帧对参考帧序列中的每个参考帧进行整像素运动估计,分别获得每个参考帧的整像素率失真代价。
整像素率失真代价可以是绝对误差和(Sum of Absolute Difference,简称SAD)。整像素运动估计的方法包括钻石菱形搜索算法、六边形搜索算法、Tz(彻底变换的穷尽搜索)搜索算法等。
钻石菱形搜索算法采用两个搜索模板,分别为有9个检测点的大搜索模板(LDSP,Large Diamond Search Pattern)和有5个检测点的小搜索模板(SDSP,Small DiamondSearch Pattern)。搜索过程包括以下步骤:
步骤1,用LDSP在搜索区域中心及中心周围的8个点处进行匹配计算,若得到的最小块误差点位于中心点上,则执行步骤3,否则执行步骤2。
步骤2,以上一次得到的最小块误差点作为中心点,用新的LDSP来计算,若得到的最小块误差点位于中心点上,则执行步骤3,否则重复执行步骤2。
步骤3,以上一次得到的最小块误差点作为中心点,使用SDSP进行匹配计算,找到5个探测点中的最小块误差点,该点就是所求的最佳匹配点,从而可以得到其对应的最佳运动矢量。
六边形搜索算法采用两个搜索模板,分别为有7个检测点的六边形模板和有5个检测点的小菱形模板。搜索过程包括以下步骤:
步骤1,用六边形模板在搜索区域中心及中心周围6个点处进行匹配计算,若得到的最小块误差点位于中心点上,则执行步骤3,否则重复执行步骤2。
步骤2,以上一次得到的最小块误差点作为中心点,用新的六边形模板进行匹配计算,若得到的最小块误差点位于中心点上,则执行步骤3,否则重复执行步骤2。
步骤3,以上一次得到的最小块误差点作为中心点,使用小菱形模板进行匹配计算,找到5个探测点中的最小块误差点,该点就是所求的最佳匹配点,从而可以得到其对应的最佳运动矢量。
Tz(彻底变换的穷尽搜索)搜索算法包括以下步骤:
步骤1,搜索预测得到的运动矢量所指向的点,包括中值预测运动矢量、当前PU的左上及右上PU的运动矢量、零运动矢量。
步骤2,在步骤1中找到匹配误差最小的点作为接下来搜索的起始点。
步骤3,步长从1开始,以2的指数递增,进行8点钻石搜索,该步骤中可以设置搜索的最大次数。
步骤4,如果步骤3搜索得到的最佳步长为1,则需要以该最佳点为起点做1次两点钻石搜索。
步骤5,如果步骤3搜索得到的最佳步长大于预设阈值,则以步骤2得到的点作为起点,做步长为预设阈值的光栅扫描。
步骤6,在经过前面步骤1~5歩之后,以得到的最佳点为起点,再次重复步骤3和4。
步骤7,保存最佳运动矢量。
步骤S503,根据第一参考帧的整像素率失真代价确定整像素筛选阈值。
步骤S504,对整像素率失真代价小于等于整像素筛选阈值的第二参考帧进行分像素运动估计。
具体地,分像素运动估计包括二分之一像素运动估计、四分之一像素运动估计。在对参考帧进行分像素运动估计时,需要对参考帧进行插值。以二分之一像素运动估计举例来说,如图7所示,设定参考帧M包括四个像素点,分别为A0、A1、A2及A3,对参考帧M进行插值,将原本的一个像素点扩展为4个像素点。像素点A0经过插值后,右下方产生了q1~q3三个像素点,即插值后像素点A0由一个像素点扩展为了4个像素点,同理,像素点A1、A2及A3都由一个像素点扩展为了4个像素点。在对第二参考帧进行分像素运动估计时,可以采用钻石菱形搜索算法、全搜索算法等。基于待编码帧对第二参考帧进行分像素运动估计时,可以只对第二参考帧进行二分之一像素运动估计,也可以只对第二参考帧进行四分之一像素运动估计,还可以对第二参考帧进行二分之一像素运动估计和四分之一像素运动估计,对此,本申请实施例不做具体限定。
本申请实施例中,以参考帧序列中排序第一的第一参考帧为基准参考帧,在对参考帧序列中每个第二参考帧进行整像素运动估计后,判断每个第二参考帧的整像素率失真代价是否小于等于整像素筛选阈值,整像素筛选阈值是根据第一参考帧的整像素率失真代价确定的,若是,则对第二参考帧进行分像素运动估计。由于只对整像素率失真代价小于等于整像素筛选阈值的第二参考帧进行分像素运动估计,故不需要对每个参考帧进行分像素运动估计,从而减少了分像素运动估计的次数,进而减少了运动估计的时间,提高了编码的实时性。
可选地,在上述步骤S503中,根据第一参考帧的整像素率失真代价确定整像素筛选阈值时,本申请至少提供以下几种实施方式:
在一种可能的实施方式中,将第一参考帧的整像素率失真代价作为整像素筛选阈值。然后判断第二参考帧的整像素率失真代价是否小于等于第一参考帧的整像素率失真代价,若是,则对第二参考帧进行分像素运动估计,否则跳过对第二参考帧进行分像素运动估计的步骤。
在一种可能的实施方式中,由于计算误差的缘故,当第二参考帧的整像素率失真代价大于第一参考帧的整像素率失真代价,且第一参考帧的整像素率失真代价与第二参考帧的整像素率失真代价非常接近时,第二参考帧的整像素率失真代价实际上可能并小于等于第一参考帧的整像素率失真代价。此时若直接跳过对第二参考帧进行分像素运动估计,可能漏掉分像素率失真代价小的第二参考帧。因此,本申请实施例中将第一参考帧的整像素率失真代价与第一系数的乘积作为整像素筛选阈值,第一系数与第一参考帧的整像素率失真代价的计算误差相关。当因为计算误差导致第二参考帧的整像素率失真代价大于第一参考帧的整像素率失真代价时,采用整像素筛选阈值仍能判定对第二参考帧进行分像素运动估计,从而降低计算误差对运动估计带来的影响,提供运动估计的准确性。
可选地,在上述步骤S504中,针对任意一个第二参考帧,在第二参考帧的整像素率失真代价小于等于整像素筛选阈值时,将第一参考帧的整像素率失真代价的值更新为第二参考帧的整像素率失真代价的值。
具体地,每次更新第一参考帧的整像素率失真代价的值后,基于更新后的第一参考帧的整像素率失真代价的值更新整像素筛选阈值,然后采用更新后的整像素筛选阈值判定是否对下一个第二参考帧进行分像素运动估计。
由于在第二参考帧的整像素率失真代价小于等于整像素筛选阈值时,将第一参考帧的整像素率失真代价的值更新为第二参考帧的整像素率失真代价的值,每经过一次更新,第一参考帧的整像素率失真代价更新为一个更小的值,相应的,整像素筛选阈值也随之更新为一个更小的阈值。故采用更新后的整像素筛选阈值判断是否对下一个第二参考帧进行分像素运动估计时,可以更有效地跳过不满足条件的第二参考帧的分像素运动,从而减少运动估计的时间。其次,将所有第二参考帧的整像素率失真代价与整像素筛选阈值进行比较后,最终可以将第一参考帧的整像素率失真代价更新为最小的整像素率失真代价,便于后续基于最小的整像素率失真代价确定最佳参考帧,从而提高运动估计的效率。
可选地,在上述步骤S504中,分像素运动估计包括二分之一像素运动估计和四分之一像素运动估计时,对整像素率失真代价小于等于整像素筛选阈值的第二参考帧进行分像素运动估计,具体包括以下步骤,如图8所示:
步骤S801,针对整像素率失真代价小于等于整像素筛选阈值的第二参考帧中的任意一个第二参考帧,基于待编码帧对第二参考帧进行二分之一像素运动估计,获得第二参考帧的第一分像素率失真代价。
具体实施中,对第二参考帧进行二分之一像素运动估计时,首先对第二参考帧进行插值,将第二参考帧中原本的一个像素点扩展为4个像素点。然后采用搜索算法对第二参考帧进行二分之一像素运动估计,获得第二参考帧的第一分像素率失真代价。搜索算法包括但不限于钻石菱形搜索算法、全搜索算法,分像素率失真代价具体可以是绝对变换差和(Sum of Absolute Transformed Difference,简称SATD)。
基于待编码帧对第二参考帧进行分像素运动估计之前,先基于待编码帧对第一参考帧进行二分之一像素运动估计,获得第一参考帧的第一分像素率失真代价。
步骤S802,在第二参考帧的第一分像素率失真代价小于等于分像素筛选阈值时,基于待编码帧对第二参考帧进行四分之一像素运动估计,获得第二参考帧的第二分像素率失真代价。
具体地,对第二参考帧进行四分之一像素运动估计时,首先对第二参考帧进行插值,将第二参考帧中原本的一个像素点扩展为16个像素点。然后采用搜索算法对第二参考帧进行四分之一像素运动估计,获得第二参考帧的第二分像素率失真代价。
分像素筛选阈值是根据第一参考帧的第一分像素率失真代价确定的,本申请实施例至少提供以下几种确定分像素筛选阈值的实施方式:
在一种可能的实施方式中,分像素筛选阈值为第一参考帧的第一分像素率失真代价,在第二参考帧的第一分像素率失真代价小于等于第一参考帧的第一分像素率失真代价时,基于待编码帧对第二参考帧进行四分之一像素运动估计,获得第二参考帧的第二分像素率失真代价。
在另一种可能的实施方式中,分像素筛选阈值为第一参考帧的第一分像素率失真代价与第二系数的乘积,第二系数与第一参考帧的第一分像素率失真代价的计算误差相关。当因为计算误差导致第二参考帧的第一分像素率失真代价大于第一参考帧的第一分像素率失真代价时,采用分像素筛选阈值仍能判定对第二参考帧进行四分之一像素运动估计,从而降低计算误差对运动估计带来的影响,提供运动估计的准确性。
由于在第二参考帧的第一分像素率失真代价小于等于分像素筛选阈值时,基于待编码帧对第二参考帧进行四分之一像素运动估计,否则跳过对第二参考帧进行四分之一像素运动估计的步骤,相较于对每个参考帧都进行二分之一像素运动估计和四分之一像素运动估计来说,减少了对参考帧进行分像素运动估计的次数,从而减少了运动估计的时间,进而提高了编码的实时性。
可选地,在上述步骤S802中,在第二参考帧的第一分像素率失真代价小于等于分像素筛选阈值时,将第一参考帧的第一分像素率失真代价的值更新为第二参考帧的第一分像素率失真代价的值。
具体地,每次更新第一参考帧的第一分像素率失真代价的值后,基于更新后的第一参考帧的第一分像素率失真代价的值更新分像素筛选阈值,然后采用更新后的分像素筛选阈值判定是否对下一个第二参考帧进行四分之一像素运动估计。
由于在第二参考帧的第一分像素率失真代价小于等于分像素筛选阈值时,将第一参考帧的第一分像素率失真代价的值更新为第二参考帧的第一分像素率失真代价的值,每经过一次更新,第一参考帧的第一分像素率失真代价更新为一个更小的值,相应的,分像素筛选阈值也随之更新为一个更小的阈值。故采用更新后的分像素筛选阈值判断是否对下一个第二参考帧进行四分之一像素运动估计时,可以更有效地跳过不满足条件的第二参考帧的四分之一像素运动,从而减少运动估计的时间。其次,将进行分像素运动估计的所有第二参考帧与分像素筛选阈值进行比较后,最终可以将第一参考帧的第一分像素率失真代价更新为最小的二分一像素率失真代价,便于后续基于最小的二分一像素率失真代价确定最佳参考帧,从而提高运动估计的效率。
可选地,对整像素率失真代价小于等于整像素筛选阈值的第二参考帧进行分像素运动估计之后,将第一参考帧的整像素率失真代价、第一参考帧的第一分像素率失真代价、第一参考帧的第二分像素率失真代价以及第二参考帧的第二分像素率失真代价进行比较,获得最小率失真代价,第一参考帧的第二分像素率失真代价是对第一参考帧进行四分之一像素运动估计后获得的。然后将最小率失真代价对应的参考帧作为最优参考帧,采用最优参考帧对待编码帧进行运动补偿。
具体实施中,每当第二参考帧的整像素率失真代价小于等于第一参考帧的整像素筛选阈值时,将第一参考帧的整像素率失真代价的值更新为第二参考帧的整像素率失真代价的值,故对参考帧序列中所有第二参考帧进行整像素运动估计后之后,第一参考帧的整像素率失真代价更新为最小的整像素率失真代价。同理,第一参考帧的第一分像素率失真代价更新为最小的二分之一像素率失真代价。将第二参考帧的第二分像素率失真代价以及第一参考帧的第二分像素率失真代价进行比较,可以获得最小的四分之一像素率失真代价。然后将最小的整像素率失真代价、最小的二分之一像素率失真代价以及最小的四分之一像素率失真代价进行比较,获得最小率失真代价。
若最小的整像素率失真代价为最小率失真代价,则进一步判断是否更新过第一参考帧的整像素率失真代价的值,若是,则将最后用于更新第一参考帧的整像素率失真代价的值的第二参考帧作为最优参考帧,否则将第一参考帧作为最优参考帧。若最小的二分之一像素率失真代价为最小率失真代价,则进一步判断是否更新过第一参考帧的第一分像素率失真代价的值,若是,则将最后用于更新第一参考帧的第一分像素率失真代价的值的第二参考帧作为最优参考帧,否则将第一参考帧作为最优参考帧。若最小的四分之一像素率失真代价为最小率失真代价,则将最小的四分之一像素率失真代价对应的参考帧作为最优参考帧。采用最优参考帧对待编码帧进行运动补偿,运动补偿具体为:采用最优参考帧中某个位置的等大小的块对待编码帧的当前块进行预测,获得运动矢量。运动矢量的值可以是非整数的,此时运动补偿被称为分像素的运动补偿。
由于在第二参考帧的整像素率失真代价小于等于第一参考帧的整像素筛选阈值时,将第一参考帧的整像素率失真代价的值更新为第二参考帧的整像素率失真代价的值,故第一参考帧的整像素率失真代价的值最终会更新为最小的整像素率失真代价。同理,第一参考帧的第一分像素率失真代价的值最终也会更新为最小的二分之一像素率失真代价。基于更新后的第一参考帧的整像素率失真代价和第一分像素率失真代价确定最优参考帧时,减少了比较率失真代价的次数,从而提高帧间预测的效率。
为了更好的解释本申请实施例,下面结合具体的实施场景描述本申请实施例提供的一种运动估计方法的流程,该方法由运动估计装置执行,在监控场景中,设定摄像头实时采集图像,并将采集的图像作为待编码帧输入编码器,编码器对待编码帧进行编码,以待编码帧M举例来说,待编码帧M对应n个参考帧,分别为第一参考帧X1以及n-1个第二参考帧Xi,第二参考帧Xi为参考帧X2至参考帧Xn中任意一个参考帧,n为正整数,如图9所示,具体包括以下步骤:
步骤S901,基于待编码帧M对第一参考帧X1进行整像素运动估计,获得第一参考帧X1的整像素率失真代价S1。
步骤S902,将第一参考帧X1的整像素率失真代价S1与第一系数t1的乘积作为整像素筛选阈值Y1。
具体地,t1的取值可以为1.5。
步骤S903,基于待编码帧M对第一参考帧X1进行二分之一像素运动估计,获得第一参考帧X1的第一分像素率失真代价H1。
步骤S904,将第一参考帧X1的第一分像素率失真代价H1与第二系数t2的乘积作为分像素筛选阈值Y2。
具体地,t2的取值可以为1.2。
步骤S905,基于待编码帧M对第二参考帧Xi进行整像素运动估计,获得第二参考帧Xi的整像素率失真代价S2。
步骤S906,判断第二参考帧Xi的整像素率失真代价S2是否大于整像素筛选阈值Y1,若是,则执行步骤S910,否则执行步骤S907。
步骤S907,基于待编码帧M对第二参考帧Xi进行二分之一像素运动估计,获得第二参考帧Xi的第一分像素率失真代价H2,将第一参考帧X1的整像素率失真代价S1的值更新为第二参考帧Xi的整像素率失真代价S2的值。
步骤S908,判断第二参考帧Xi的第一分像素率失真代价H2是否大于分像素筛选阈值Y2,若是,则执行步骤S910,否则执行步骤S909。
步骤S909,基于待编码帧对第二参考帧Xi进行四分之一像素运动估计,获第二参考帧Xi的第二分像素率失真代价Q2,并将第一参考帧X1的第一分像素率失真代价H1的值更新为第二参考帧Xi的第一分像素率失真代价H2的值。
步骤S910,结束对参考帧Xi进行运动估计。
本申请实施例中,以参考帧序列中排序第一的第一参考帧为基准参考帧,在对参考帧序列中每个第二参考帧进行整像素运动估计后,判断每个第二参考帧的整像素率失真代价是否小于等于整像素筛选阈值,整像素筛选阈值是根据第一参考帧的整像素率失真代价确定的,若是,则对第二参考帧进行分像素运动估计,否则直接跳过第二参考帧的分像素运动估计,故不需要对每个参考帧进行分像素运动估计,从而减少了分像素运动估计的次数,进而减少了运动估计的时间,提高了编码的实时性。
本申请实施例还提供了一种视频编码方法,该方法包括上述运动估计方法的步骤。下面结合具体的实施场景描述本申请实施例提供的一种视频编码方法的流程,该方法由编码器执行,首先采用图9所示的运动估计方法对参考帧序列中的所有参考帧进行运动估计,然后将获得的第一参考帧X1的整像素率失真代价S1、第一参考帧X1的第一分像素率失真代价H1、第一参考帧X1的第二分像素率失真代价Q1以及第二参考帧Xi的第二分像素率失真代价Q2进行比较,获得最小率失真代价,第一参考帧X1的第二分像素率失真代价Q1是对第一参考帧X1进行四分之一像素运动估计后获得的。将最小率失真代价对应的参考帧作为最优参考帧Xbest,采用最优参考帧Xbest对待编码帧M进行运动补偿,得到预测值。预测值与输入数据相减,得到残差。然后将残差进行DCT(离散余弦变换)和量化,得到残差系数。然后将残差系数送入熵编码模块输出码流,编码器通过无线网络将码流发送至监控后台的解码器,解码器对码流解码后,可获得摄像头采集的图像。同时编码器将残差系数进行反量化、反变换之后,得到重构图像的残差值。再将重构图像的残差值与预测值相加,从而得到了重构图像。重构图像经过区块滤波和自适应像素补偿之后,进入参考帧序列,作为下一帧的参考帧,从而依次向后编码。
基于相同的技术构思,本申请实施例提供了一种运动估计装置,如图10所示,该装置1000包括:
获取模块1001,用于获取待编码帧和所述待编码帧的参考帧序列,所述参考帧序列包括排序第一的第一参考帧和至少一个第二参考帧;
运动估计模块1002,用于基于所述待编码帧对所述参考帧序列中的每个参考帧进行整像素运动估计,分别获得每个参考帧的整像素率失真代价;
处理模块1003,用于根据所述第一参考帧的整像素率失真代价确定整像素筛选阈值;对整像素率失真代价小于等于所述整像素筛选阈值的第二参考帧进行分像素运动估计。
可选地,所述处理模块1003还用于:
将所述第一参考帧的整像素率失真代价作为整像素筛选阈值;或者
将所述第一参考帧的整像素率失真代价与第一系数的乘积作为整像素筛选阈值,所述第一系数与所述第一参考帧的整像素率失真代价的计算误差相关。
可选地,还包括更新模块1004;
所述更新模块1004具体用于:
针对任意一个第二参考帧,在所述第二参考帧的整像素率失真代价小于等于所述整像素筛选阈值时,将所述第一参考帧的整像素率失真代价的值更新为所述第二参考帧的整像素率失真代价的值。
可选地,所述分像素运动估计包括二分之一像素运动估计和四分之一像素运动估计;
所述处理模块1003具体用于:
针对整像素率失真代价小于等于整像素筛选阈值的第二参考帧中的任意一个第二参考帧,基于所述待编码帧对所述第二参考帧进行二分之一像素运动估计,获得所述第二参考帧的第一分像素率失真代价;
在所述第二参考帧的第一分像素率失真代价小于等于所述分像素筛选阈值时,基于所述待编码帧对所述第二参考帧进行四分之一像素运动估计,获得所述第二参考帧的第二分像素率失真代价,所述分像素筛选阈值是根据所述第一参考帧的第一分像素率失真代价确定的。
可选地,所述处理模块1003还用于:
所述分像素筛选阈值为所述第一参考帧的第一分像素率失真代价;或者
所述分像素筛选阈值为所述第一参考帧的第一分像素率失真代价与第二系数的乘积,所述第二系数与所述第一参考帧的第一分像素率失真代价的计算误差相关。
可选地,所述更新模块1004还用于:
在所述第二参考帧的第一分像素率失真代价小于等于所述分像素筛选阈值时,将所述第一参考帧的第一分像素率失真代价的值更新为所述第二参考帧的第一分像素率失真代价的值。
可选地,所述处理模块1003还用于:
对整像素率失真代价小于等于所述整像素筛选阈值的第二参考帧进行分像素运动估计之后,将所述第一参考帧的整像素率失真代价、所述第一参考帧的第一分像素率失真代价、所述第一参考帧的第二分像素率失真代价以及所述第二参考帧的第二分像素率失真代价进行比较,获得最小率失真代价,所述第一参考帧的第二分像素率失真代价是对所述第一参考帧进行四分之一像素运动估计后获得的;
将所述最小率失真代价对应的参考帧作为最优参考帧;
采用最优参考帧对所述待编码帧进行运动补偿。
基于相同的技术构思,本申请实施例提供了一种视频编码装置,包括上述运动估计装置。
基于相同的技术构思,本申请实施例提供了一种计算机设备,如图11所示,包括至少一个处理器1101,以及与至少一个处理器连接的存储器1102,本申请实施例中不限定处理器1101与存储器1102之间的具体连接介质,图11中处理器1101和存储器1102之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器1102存储有可被至少一个处理器1101执行的指令,至少一个处理器1101通过执行存储器1102存储的指令,可以执行前述的运动估计方法中所包括的步骤,或者可以执行前述的视频编码方法中所包括的步骤。
其中,处理器1101是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器1102内的指令以及调用存储在存储器1102内的数据,从而进行运动估计或视频编码。可选的,处理器1101可包括一个或多个处理单元,处理器1101可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1101中。在一些实施例中,处理器1101和存储器1102可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1101可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1102作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1102可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1102是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1102还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行运动估计方法的步骤,或者使得所述计算机设备执行视频编码方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (8)

1.一种运动估计方法,其特征在于,包括:
获取待编码帧和所述待编码帧的参考帧序列,所述参考帧序列包括排序第一的第一参考帧和多个第二参考帧;
基于所述待编码帧对所述参考帧序列中的每个参考帧进行整像素运动估计,分别获得每个参考帧的整像素率失真代价;
将所述第一参考帧的整像素率失真代价作为整像素筛选阈值;或者,将所述第一参考帧的整像素率失真代价与第一系数的乘积作为整像素筛选阈值,所述第一系数与所述第一参考帧的整像素率失真代价的计算误差相关;
针对整像素率失真代价小于等于所述整像素筛选阈值的第二参考帧中的任意一个第二参考帧,基于所述待编码帧对所述第二参考帧进行二分之一像素运动估计,获得所述第二参考帧的第一分像素率失真代价;
在所述第二参考帧的第一分像素率失真代价小于等于分像素筛选阈值时,基于所述待编码帧对所述第二参考帧进行四分之一像素运动估计,获得所述第二参考帧的第二分像素率失真代价,所述分像素筛选阈值为所述第一参考帧的第一分像素率失真代价;或者,所述分像素筛选阈值为所述第一参考帧的第一分像素率失真代价与第二系数的乘积,所述第二系数与所述第一参考帧的第一分像素率失真代价的计算误差相关;
针对任意一个第二参考帧,在所述第二参考帧的整像素率失真代价小于等于所述整像素筛选阈值时,将所述第一参考帧的整像素率失真代价的值更新为所述第二参考帧的整像素率失真代价的值。
2.如权利要求1所述的方法,其特征在于,还包括:
在所述第二参考帧的第一分像素率失真代价小于等于所述分像素筛选阈值时,将所述第一参考帧的第一分像素率失真代价的值更新为所述第二参考帧的第一分像素率失真代价的值。
3.如权利要求2所述的方法,其特征在于,所述对整像素率失真代价小于等于所述整像素筛选阈值的第二参考帧进行分像素运动估计之后,还包括:
将所述第一参考帧的整像素率失真代价、所述第一参考帧的第一分像素率失真代价、所述第一参考帧的第二分像素率失真代价以及所述第二参考帧的第二分像素率失真代价进行比较,获得最小率失真代价,所述第一参考帧的第二分像素率失真代价是对所述第一参考帧进行四分之一像素运动估计后获得的;
将所述最小率失真代价对应的参考帧作为最优参考帧;
采用最优参考帧对所述待编码帧进行运动补偿。
4.一种视频编码方法,其特征在于,包括权利要求1至3任一所述的运动估计方法。
5.一种运动估计装置,其特征在于,包括:
获取模块,用于获取待编码帧和所述待编码帧的参考帧序列,所述参考帧序列包括排序第一的第一参考帧和多个第二参考帧;
运动估计模块,用于基于所述待编码帧对所述参考帧序列中的每个参考帧进行整像素运动估计,分别获得每个参考帧的整像素率失真代价;
处理模块,用于将所述第一参考帧的整像素率失真代价作为整像素筛选阈值;或者,将所述第一参考帧的整像素率失真代价与第一系数的乘积作为整像素筛选阈值,所述第一系数与所述第一参考帧的整像素率失真代价的计算误差相关;针对整像素率失真代价小于等于所述整像素筛选阈值的第二参考帧中的任意一个第二参考帧,基于所述待编码帧对所述第二参考帧进行二分之一像素运动估计,获得所述第二参考帧的第一分像素率失真代价;在所述第二参考帧的第一分像素率失真代价小于等于分像素筛选阈值时,基于所述待编码帧对所述第二参考帧进行四分之一像素运动估计,获得所述第二参考帧的第二分像素率失真代价,所述分像素筛选阈值为所述第一参考帧的第一分像素率失真代价;或者,所述分像素筛选阈值为所述第一参考帧的第一分像素率失真代价与第二系数的乘积,所述第二系数与所述第一参考帧的第一分像素率失真代价的计算误差相关;针对任意一个第二参考帧,在所述第二参考帧的整像素率失真代价小于等于所述整像素筛选阈值时,将所述第一参考帧的整像素率失真代价的值更新为所述第二参考帧的整像素率失真代价的值。
6.一种视频编码装置,其特征在于,包括权利要求5所述的运动估计装置。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~3任一权利要求所述方法的步骤,或者所述处理器执行所述程序时实现权利要求4所述方法的步骤。
8.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~3任一所述方法的步骤,或者使得所述计算机设备执行权利要求4所述方法的步骤。
CN202010289085.5A 2020-04-14 2020-04-14 一种运动估计方法及装置 Active CN111510727B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010289085.5A CN111510727B (zh) 2020-04-14 2020-04-14 一种运动估计方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010289085.5A CN111510727B (zh) 2020-04-14 2020-04-14 一种运动估计方法及装置

Publications (2)

Publication Number Publication Date
CN111510727A CN111510727A (zh) 2020-08-07
CN111510727B true CN111510727B (zh) 2022-07-15

Family

ID=71872574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010289085.5A Active CN111510727B (zh) 2020-04-14 2020-04-14 一种运动估计方法及装置

Country Status (1)

Country Link
CN (1) CN111510727B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018023352A1 (zh) * 2016-08-01 2018-02-08 南京信息工程大学 一种基于在线学习的快速运动估计方法
CN109089121A (zh) * 2018-10-19 2018-12-25 北京金山云网络技术有限公司 一种基于视频编码的运动估计方法、装置及电子设备
CN110839155A (zh) * 2018-08-17 2020-02-25 北京金山云网络技术有限公司 运动估计的方法、装置、电子设备及计算机可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69941316D1 (de) * 1998-03-03 2009-10-08 Imec Schnelles Videokodierungsverfahren mit geringem Energieverbrauch
CN1323555C (zh) * 2005-01-26 2007-06-27 上海大学 H.264/avc多参考帧的快速选择方法
US8462849B2 (en) * 2008-12-23 2013-06-11 General Instrument Corporation Reference picture selection for sub-pixel motion estimation
CN109688407B (zh) * 2017-10-18 2020-11-06 北京金山云网络技术有限公司 编码单元的参考块选择方法、装置、电子设备及存储介质
CN108259912A (zh) * 2018-03-28 2018-07-06 天津大学 一种分像素运动估计的并行实现方法
CN110557642B (zh) * 2018-06-04 2023-05-12 华为技术有限公司 一种视频帧编码运动搜索方法及图像编码器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018023352A1 (zh) * 2016-08-01 2018-02-08 南京信息工程大学 一种基于在线学习的快速运动估计方法
CN110839155A (zh) * 2018-08-17 2020-02-25 北京金山云网络技术有限公司 运动估计的方法、装置、电子设备及计算机可读存储介质
CN109089121A (zh) * 2018-10-19 2018-12-25 北京金山云网络技术有限公司 一种基于视频编码的运动估计方法、装置及电子设备

Also Published As

Publication number Publication date
CN111510727A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
US20220116647A1 (en) Picture Prediction Method and Picture Prediction Apparatus
US11856220B2 (en) Reducing computational complexity when video encoding uses bi-predictively encoded frames
CN103430545B (zh) 用于高效视频编码的内容适应性运动补偿滤波
CN106878744B (zh) 确定时间合并候选块的方法
RU2761511C2 (ru) Окно ограниченного доступа к памяти для уточнения вектора движения
WO2015052273A1 (en) Method and apparatus for displacement vector component prediction in video coding and decoding
CN112514381A (zh) 图像编解码方法、编码器、解码器以及存储介质
CN108777794B (zh) 图像的编码方法和装置、存储介质、电子装置
CN113596475A (zh) 图像/视频编码方法、装置、系统及计算机可读存储介质
CN112514392A (zh) 视频编码的方法与装置
WO2019007766A1 (en) METHOD AND APPARATUS FOR ENCODING OR DECODING VIDEO DATA WITH SUB-PIXEL MOTION VECTOR DECOMPOSITION
WO2020263472A1 (en) Method and apparatus for motion vector refinement
CN117280691A (zh) 增强的运动向量预测
US20210337184A1 (en) Candidate motion vector list construction method and device thereof
CN108401185B (zh) 参考帧选择方法、视频转码方法、电子设备和存储介质
CN109729363B (zh) 一种视频图像的处理方法和装置
CN112601095B (zh) 一种视频亮度和色度分数插值模型的创建方法及系统
US9420308B2 (en) Scaled motion search section with parallel processing and method for use therewith
CN112740663B (zh) 图像预测方法、装置以及相应的编码器和解码器
CN111510727B (zh) 一种运动估计方法及装置
Xue et al. A highly parallel and scalable motion estimation algorithm with GPU for HEVC
CN110971896B (zh) 一种h.265编码方法和装置
CN116723328A (zh) 一种视频编码方法、装置、设备及存储介质
US20220417550A1 (en) Method and apparatus for constructing motion information list in video encoding and decoding and device
CN111343461A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40027372

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant