CN109660800B - 运动估计方法、装置、电子设备及计算机可读存储介质 - Google Patents

运动估计方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN109660800B
CN109660800B CN201710947478.9A CN201710947478A CN109660800B CN 109660800 B CN109660800 B CN 109660800B CN 201710947478 A CN201710947478 A CN 201710947478A CN 109660800 B CN109660800 B CN 109660800B
Authority
CN
China
Prior art keywords
motion vector
prediction unit
coding block
block
initial
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
CN201710947478.9A
Other languages
English (en)
Other versions
CN109660800A (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology 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 Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201710947478.9A priority Critical patent/CN109660800B/zh
Priority to PCT/CN2018/110125 priority patent/WO2019072248A1/zh
Publication of CN109660800A publication Critical patent/CN109660800A/zh
Application granted granted Critical
Publication of CN109660800B publication Critical patent/CN109660800B/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to 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/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/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/513Processing of motion vectors
    • 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/57Motion estimation characterised by a search window with variable size or shape
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Abstract

本发明实施例提供了一种运动估计方法、装置、电子设备及计算机可读存储介质,上述方法包括:获取当前预测单元所在帧的图像信息,利用图像信息进行先进运动矢量预测得到第一初始运动矢量,将第一初始运动矢量和预测单元所在编码块的相邻层编码块的运动矢量中,率失真代价较小的运动矢量确定为第二初始运动矢量,基于第二初始运动矢量进行像素搜索,获得目标匹配块。应用本发明实施例,能够得到率失真代价更小的第二初始运动矢量,利用第二初始运动矢量进行像素搜索,能够得到与预测单元更匹配的目标匹配块,进而提高预测单元匹配块的精确度。

Description

运动估计方法、装置、电子设备及计算机可读存储介质
技术领域
本发明涉及图像处理技术领域,特别是涉及一种运动估计方法、装置、电子设备及计算机可读存储介质。
背景技术
随着多媒体数字视频应用的不断发展和人们对视频云计算需求的不断提高,在视频的传输过程中,为了减少传输时占用的带宽和存储空间,需要对视频进行编码,视频编码时视频中的每一视频帧会被划分为图像块,此图像块也称为编码块。对编码块进行编码时,首先要进行预测,在预测时编码块可能会被划分为更小的预测单元。预测有帧内预测和帧间预测,帧间预测即在参考帧中搜索与预测单元相似的图像块作为匹配块。帧间预测中的关键技术包括运动估计和运动补偿。运动估计是在一定范围内的参考帧中搜索最佳的参考帧,并在最佳的参考帧中搜索预测单元的最佳的匹配块的过程。
现有的运动估计,根据预测单元所在的编码块的时域相邻块的运动矢量和预测单元所在的编码块的空域相邻块的运动矢量,进行先进运动矢量预测,将得到的率失真代价较小的运动矢量作为初始运动矢量,利用初始运动矢量进行整像素搜索和分像素搜索获得预测单元的匹配块。现有技术仅利用预测单元所在的编码块的时域相邻块的运动矢量和预测单元所在的编码块的空域相邻块的运动矢量来确定初始运动矢量,得到的预测单元的匹配块不够精确。
发明内容
本发明实施例的目的在于提供一种运动估计方法、装置、电子设备及计算机可读存储介质,以提高获得预测单元的匹配块的精确度。具体技术方案如下:
第一方面,为了达到上述目的,本发明实施例公开了一种运动估计方法,所述方法包括:
获取当前预测单元所在帧的图像信息;
利用所述图像信息进行先进运动矢量预测得到第一初始运动矢量;
将所述第一初始运动矢量和所述预测单元所在编码块的相邻层编码块的运动矢量中,率失真代价较小的运动矢量确定为第二初始运动矢量;
基于所述第二初始运动矢量进行像素搜索,获得目标匹配块。
可选的,所述图像信息包括:所述预测单元的时域相邻块的运动矢量和所述预测单元的空域相邻块的运动矢量;
所述利用所述图像信息进行先进运动矢量预测得到第一初始运动矢量,包括:
根据所述预测单元的时域相邻块的运动矢量和所述预测单元的空域相邻块的运动矢量,进行先进运动矢量预测,得到候选运动矢量集;
从所述候选运动矢量集中,将率失真代价较小的运动矢量确定为第一初始运动矢量。
可选的,所述将所述第一初始运动矢量和所述预测单元所在编码块的相邻层编码块的运动矢量中,率失真代价较小的运动矢量确定为第二初始运动矢量,包括:
当所述预测单元所在编码块存在上层编码块的运动矢量且存在下层编码块的运动矢量时,将所述第一初始运动矢量、所述预测单元所在编码块的上层编码块的运动矢量和所述预测单元所在编码块的下层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当所述预测单元所在编码块存在上层编码块的运动矢量但不存在下层编码块的运动矢量时,将所述第一初始运动矢量和所述预测单元所在编码块的上层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当所述预测单元所在编码块存在下层编码块的运动矢量但不存在上层编码块的运动矢量时,将所述第一初始运动矢量和所述预测单元所在编码块的下层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当所述预测单元所在编码块不存在上层编码块的运动矢量也不存在下层编码块的运动矢量时,将所述第一初始运动矢量确定为第二初始运动矢量。
可选的,所述预测单元所在编码块的下层编码块的运动矢量,包括:
所述预测单元所在编码块的所有下层编码块的运动矢量、所述预测单元所在编码块的所有下层编码块的运动矢量的平均量和所述预测单元所在编码块的所有下层编码块的运动矢量的加权量中的至少一项。
可选的,所述基于所述第二初始运动矢量进行像素搜索,获得目标匹配块,包括:
判断所述预测单元所在编码块是否存在预分析运动矢量,其中,所述预测单元所在编码块的预分析运动矢量,是对采样运动矢量进行计算得到的运动矢量,所述采样运动矢量是对所述预测单元所在编码块进行预分析处理时得到的运动矢量;
如果所述预测单元所在编码块存在预分析运动矢量,将所述第二初始运动矢量和所述预分析运动矢量中率失真代价较小的运动矢量确定为最佳初始运动矢量;
如果所述预测单元所在编码块不存在预分析运动矢量,将所述第二初始运动矢量确定为最佳初始运动矢量;
利用所述最佳初始运动矢量进行像素搜索,获得目标匹配块。
可选的,所述基于所述第二初始运动矢量进行像素搜索,获得目标匹配块,包括:
利用所述最佳初始运动矢量进行整像素搜索,获得率失真代价最小的第一匹配块,根据所述第一匹配块与所述预测单元的相对位置偏移量生成最佳运动矢量;
利用所述最佳运动矢量进行分像素搜索,获得率失真代价最小的第二匹配块,将所述第二匹配块确定为所述目标匹配块。
可选的,在所述利用所述最佳运动矢量进行分像素搜索,获得率失真代价最小的第二匹配块,将所述第二匹配块确定为所述目标匹配块之前,所述方法还包括:
判断所述最佳运动矢量与所述预测单元所在编码块的上层编码块的运动矢量和所述预测单元所在编码块的下层编码块的运动矢量中的任一运动矢量是否相同;
如果相同,将所述第一匹配块确定为所述目标匹配块;
如果不同,利用所述最佳运动矢量进行分像素搜索,获得率失真代价最小的第二匹配块,将所述第二匹配块确定为所述目标匹配块。
第二方面,为了达到上述目的,本发明实施例还公开了一种运动估计装置,所述装置包括:
图像获得模块,用于获取当前预测单元所在帧的图像信息;
矢量获得模块,用于利用所述图像信息进行先进运动矢量预测得到第一初始运动矢量;
矢量确定模块,用于将所述第一初始运动矢量和所述预测单元所在编码块的相邻层编码块的运动矢量中,率失真代价较小的运动矢量确定为第二初始运动矢量;
目标获得模块,用于基于所述第二初始运动矢量进行像素搜索,获得目标匹配块。
可选的,所述图像信息包括:所述预测单元的时域相邻块的运动矢量和所述预测单元的空域相邻块的运动矢量;
所述矢量获得模块包括矢量集获得子模块和第一确定子模块;
所述矢量集获得子模块,用于根据所述预测单元的时域相邻块的运动矢量和所述预测单元的空域相邻块的运动矢量,进行先进运动矢量预测,得到候选运动矢量集;
所述第一确定子模块,用于从所述候选运动矢量集中,将率失真代价较小的运动矢量确定为第一初始运动矢量。
可选的,所述矢量确定模块,用于当所述预测单元所在编码块存在上层编码块的运动矢量且存在下层编码块的运动矢量时,将所述第一初始运动矢量、所述预测单元所在编码块的上层编码块的运动矢量和所述预测单元所在编码块的下层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当所述预测单元所在编码块存在上层编码块的运动矢量但不存在下层编码块的运动矢量时,将所述第一初始运动矢量和所述预测单元所在编码块的上层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当所述预测单元所在编码块存在下层编码块的运动矢量但不存在上层编码块的运动矢量时,将所述第一初始运动矢量和所述预测单元所在编码块的下层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当所述预测单元所在编码块不存在上层编码块的运动矢量也不存在下层编码块的运动矢量时,将所述第一初始运动矢量确定为第二初始运动矢量。
可选的,所述预测单元所在编码块的下层编码块的运动矢量,包括:
所述预测单元所在编码块的所有下层编码块的运动矢量、所述预测单元所在编码块的所有下层编码块的运动矢量的平均量和所述预测单元所在编码块的所有下层编码块的运动矢量的加权量中的至少一项。
可选的,所述目标获得模块包括:判断子模块、第一最佳确定子模块、第二最佳确定子模块和目标获得子模块;
所述判断子模块,用于判断所述预测单元是否存在预分析运动矢量,其中,所述预测单元所在编码块的预分析运动矢量,是对采样运动矢量进行计算得到的运动矢量,所述采样运动矢量是对所述预测单元所在编码块进行预分析处理时得到的运动矢量;如果所述预测单元所在编码块存在预分析运动矢量,则触发所述第一最佳确定子模块,如果所述预测单元所在编码块不存在预分析运动矢量,则触发所述第二最佳确定子模块;
所述第一最佳确定子模块,用于将所述第二初始运动矢量和所述预分析运动矢量中率失真代价较小的运动矢量确定为最佳初始运动矢量;
所述第二最佳确定子模块,用于将所述第二初始运动矢量确定为最佳初始运动矢量;
所述目标获得子模块,用于利用所述最佳初始运动矢量进行像素搜索,获得目标匹配块。
可选的,所述目标获得子模块包括生成单元和第一目标确定单元;
所述生成单元,用于利用所述最佳初始运动矢量进行整像素搜索,获得率失真代价最小的第一匹配块,根据所述第一匹配块与所述预测单元的相对位置偏移量生成最佳运动矢量;
所述第一目标确定单元,用于利用所述最佳运动矢量进行分像素搜索,获得率失真代价最小的第二匹配块,将所述第二匹配块确定为所述目标匹配块。
可选的,所述目标获得子模块还包括:判断单元和第二目标确定单元;
所述判断单元,用于判断所述最佳运动矢量与所述预测单元所在编码块的上层编码块的运动矢量和所述预测单元所在编码块的下层编码块的运动矢量中的任一运动矢量是否相同;如果相同,触发所述第二目标确定单元,如果不同,触发所述第一目标确定单元;
所述第二目标确定单元,用于将所述第一匹配块确定为所述目标匹配块。
第三方面,为了达到上述目的,本发明实施例还公开了一种电子设备,所述电子设备包括存储器和处理器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如上述第一方面所述的运动估计方法步骤。
第四方面,为了达到上述目的,本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面所述的运动估计方法步骤。
第五方面,为了达到上述目的,本发明实施例还公开了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的运动估计方法步骤。
本发明实施例提供的一种运动估计方法、装置、电子设备及计算机可读存储介质,上述方法利用当前预测单元所在帧的图像信息获得第一初始运动矢量,将第一初始运动矢量和预测单元所在编码块的相邻层编码块的运动矢量中,率失真代价较小的运动矢量确定为第二初始运动矢量,基于第二初始运动矢量进行像素搜索,获得预测单元的目标匹配块。这样,应用本发明实施例增加了第一初始运动矢量与预测单元所在编码块的相邻层编码块的运动矢量率失真代价的比较,能够得到率失真代价更小的第二初始运动矢量,利用第二初始运动矢量进行像素搜索,能得到与预测单元更匹配的目标匹配块,进而提高获得的预测单元的匹配块的精确度。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中运动估计方法的一种流程示意图;
图2为本发明实施例提供的运动估计方法的一种流程示意图;
图3为本发明实施例提供的获取预测单元的匹配块的示意图;
图4为本发明实施例提供的相邻块的示意图;
图5为本发明实施例提供的不同层级编码块的示意图;
图6为本发明实施例提供的像素搜索的搜索过程示意图;
图7为本发明实施例提供的利用图像信息进行先进运动矢量预测得到第一初始运动矢量的一种流程示意图;
图8为本发明实施例提供的基于第二初始运动矢量进行像素搜索,获得目标匹配块的一种流程示意图;
图9为本发明实施例提供的利用最佳初始运动矢量进行像素搜索,获得目标匹配块的第一种流程示意图;
图10为本发明实施例提供的利用最佳初始运动矢量进行像素搜索,获得目标匹配块的第二种流程示意图;
图11为本发明实施例提供的运动估计装置的一种结构示意图;
图12为本发明实施例提供的矢量获得模块的一种结构示意图;
图13本发明实施例提供的目标获得模块的一种结构示意图;
图14为本发明实施例提供的目标获得子模块的第一种结构示意图;
图15为本发明实施例提供的目标获得子模块的第二种结构示意图;
图16为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先从现有技术中运动估计方法与本发明实施例提供的运动估计方法对比的角度进行说明。
参照图1,图1为现有技术中运动估计方法的一种流程示意图。
现有技术中,首先获取当前预测单元所在帧的图像信息(S101),然后利用图像信息进行先进运动矢量预测得到初始运动矢量(S102),最后利用初始运动矢量进行像素搜索,获得预测单元的匹配块(S103)。现有技术仅利用预测单元的时域相邻块的运动矢量和预测单元的空域相邻块的运动矢量来确定初始运动矢量,进而进行像素搜索,得到的与预测单元相匹配的图像块(可称为匹配块)不够精确。
发明人发现,现有技术忽略了处于预测单元所在编码块相同位置但是不同大小的编码块与预测单元之间的相关性。考虑利用该相关性来确定初始运动矢量,进而提高预测单元的匹配块的精确度。
基于上述考虑,本发明提供了一种运动估计方法,在现有技术的基础上,增加了现有技术中初始运动矢量和预测单元所在编码块的相邻层编码块的运动矢量的率失真代价的比较,得到率失真代价更小的第二初始运动矢量,基于第二初始运动矢量进行像素搜索,能得到与预测单元更匹配的目标匹配块,进而提高获得的预测单元的匹配块的精确度。
下面再通过具体实施例对本发明进行详细介绍。
图2为本发明实施例提供的运动估计方法的一种流程示意图,包括:
S201:获取当前帧图像的预测单元的图像信息。
在视频的传输过程中,为了减少传输时占用的带宽和存储空间,需要对视频进行编码,对视频进行编码的实质是对视频的视频帧中的图像块(可称为编码块)进行编码。对编码块进行编码的一个重要环节就是对编码块进行预测,在对编码块进行预测时,编码块可能会被划分为更小的块,称划分成的更小块为预测单元。因此,对预测单元进行预测时,预测单元可能是上述编码块本身,也可能是编码块的一部分。对预测单元进行预测即在视频已编码的视频帧(可称为参考帧)中寻找与预测单元相匹配的匹配块,该匹配块与预测单元的相对位置偏移量也就是运动估计要获取的运动矢量。
在本实施例中,对预测单元进行预测时,需要获取的图像信息包括:预测单元所在帧的索引号、参考帧列表的列表号、参考帧的索引号、预测单元的时域相邻块的运动矢量、预测单元的空域相邻块的运动矢量、预设的搜索范围、运动矢量精度、预测单元所在编码块的上层编码块的运动矢量(以下简称上层运动矢量)和预测单元所在编码块的下层编码块的运动矢量(以下简称下层运动矢量)等信息。
上述图像信息中提到的列表号和索引号可以用来确定参考帧,相当于视频帧在视频图像中的序号,通过视频帧的列表号和索引号可以直接找到该视频帧。对于图像信息中提到的其他名词,将在后面实施例部分详细说明。
示例性的,参见图3,为本发明实施例提供的获取预测单元的匹配块的基本步骤示意图。
其中,Pn、Pn-1、Pn-2、Pn-3、Pn-4分别表示图中5个视频帧的序号,Pn为当前待编码的视频帧,Pn中的图像块即为预测单元,Pn-1、Pn-2、Pn-3和Pn-4为参考帧。如图所示,预测即是在参考帧Pn-1、参考帧Pn-2、参考帧Pn-3和参考帧Pn-4中找到与当前视频帧Pn中的预测单元最为匹配的匹配块。
S202:利用图像信息进行先进运动矢量预测得到第一初始运动矢量。
根据已获取的图像信息,采用先进运动矢量预测(Advanced Motion VectorPrediction,AMVP)技术找出候选运动矢量,构成候选运动矢量集,其中,要保证候选运动矢量集中包含两个候选运动矢量。
首先介绍空域相邻块与时域相邻块的基本概念,参见图4,图4为本发明实施例提供的相邻块的示意图。
其中,C为当前预测单元,预测单元A0、预测单元A1、预测单元B0、预测单元B1和预测单元B2为与当前预测单元C在同一视频帧且处于当前预测单元C相邻位置的预测单元;预测单元A0、预测单元A1、预测单元B0、预测单元B1和预测单元B2称为当前预测单元C的空域相邻块。预测单元T0为当前预测单元C的参考帧内的图像块,预测单元T0的位置与当前预测单元C右下方点在视频帧中的位置相对应;预测单元T1为当前预测单元C的参考帧内的图像块,预测单元T1的位置与当前预测单元C的中心点在视频帧中的位置相对应;预测单元T0和预测单元T1称为当前预测单元C的时域相邻块。
具体的,AMVP技术步骤如下:
在本实施例中,候选运动矢量集中的第一个候选运动矢量选自于空域相邻块{A0,A1}的运动矢量,例如,可以按照空域相邻块A0-空域相邻块A1的顺序,选择第一个有效空域相邻块的运动矢量放入候选运动矢量集中。其中,有效空域相邻块是指该空域相邻块存在,且其预测模式为帧间预测,该空域相邻块的参考帧索引号与当前预测单元C的参考帧索引号相同。
候选运动矢量集中的第二个候选运动矢量选自于空域相邻块{B0,B1,B2}的运动矢量,例如,可以按照空域相邻块B0-空域相邻块B1-空域相邻块B2的顺序,选择第一个有效空域相邻块的运动矢量放入候选运动矢量集中。其中,有效空域相邻块是指该空域相邻块存在,且其预测模式为帧间预测,该空域相邻块的参考帧索引号与当前预测单元C的参考帧索引号相同。
若从空域相邻块{A0,A1}的运动矢量和空域相邻块{B0,B1,B2}的运动矢量中选择候选运动矢量后,候选运动矢量集中不足两个候选运动矢量,即不存在上述第一个候选运动矢量或/和不存在上述第二个候选运动矢量、或者上述第一个候选运动矢量和上述第二个候选运动矢量一致,则按照一定的规则补充候选运动矢量,直到候选运动矢量集中候选运动矢量为两个。
具体地,补充候选运动矢量按照以下的步骤进行:
1、若空域相邻块A0存在且具有运动矢量但其参考帧索引号不同于当前预测单元C的参考帧索引号,则根据空域相邻块A0的参考帧与当前帧的距离和当前预测单元C的参考帧与当前帧的距离的比例,缩放空域相邻块A0的运动矢量A0’得到运动矢量A0”,并将运动矢量A0”放入候选运动矢量集;若空域相邻块A1存在且具有运动矢量但其参考帧索引号不同于当前预测单元C的参考帧索引号,则根据空域相邻块A1的参考帧与当前帧的距离和当前预测单元C的参考帧与当前帧的距离的比例,缩放空域相邻块A1的运动矢量A1’得到运动矢量A1”,并将运动矢量A1”放入候选运动矢量集。运动矢量A0”和运动矢量A1”只能按照顺序最多选择一个。
2、若空域相邻块B0存在且具有运动矢量但其参考帧索引号不同于当前预测单元C的参考帧索引号,则根据空域相邻块B0的参考帧与当前帧的距离和当前预测单元C的参考帧与当前帧的距离的比例,缩放空域相邻块B0的运动矢量B0’得到运动矢量B0”,并将运动矢量B0”放入候选运动矢量集;若空域相邻块B1存在且具有运动矢量但其参考帧索引号不同于当前预测单元C的参考帧索引号,则根据空域相邻块B1的参考帧与当前帧的距离和当前预测单元C的参考帧与当前帧的距离的比例,缩放空域相邻块B1的运动矢量B1’得到运动矢量B1”,并将运动矢量B1”放入候选运动矢量集;若空域相邻块B2存在且具有运动矢量但其参考帧索引号不同于当前预测单元C的参考帧索引号,则根据空域相邻块B2的参考帧与当前帧的距离和当前预测单元C的参考帧与当前帧的距离的比例,缩放空域相邻块B2的运动矢量B2’得到运动矢量B2”,并将运动矢量B2”放入候选运动矢量集。运动矢量B0”、运动矢量B1”和运动矢量B2”只能按照顺序最多选择一个。
示例性的,根据空域相邻块B0的参考帧与当前帧的距离和当前预测单元C的参考帧与当前帧的距离的比例,缩放空域相邻块B0的运动矢量B0’得到运动矢量B0”的具体步骤可以如下:若空域相邻块B0的参考帧与当前帧的距离为Z1,当前预测单元C的参考帧与当前帧的距离为Z2,可以得出
Figure GDA0002530750360000111
得到
Figure GDA0002530750360000112
3、若候选运动矢量集中仍不足两个候选运动矢量,按照以下的顺序继续补充:若时域相邻块T0存在且具有运动矢量,则将时域相邻块T0的运动矢量放入候选运动矢量集中;若时域相邻块T0的运动矢量与候选运动矢量集中已存在的运动矢量一致,则根据时域相邻块T0的参考帧与时域相邻块T0所在帧的距离和当前预测单元C的参考帧与当前帧的距离的比例,缩放时域相邻块T0的运动矢量T0’得到运动矢量T0”,并将运动矢量T0”放入候选运动矢量集。
其中,根据时域相邻块T0的参考帧与时域相邻块T0所在帧的距离和当前预测单元C的参考帧与当前帧的距离的比例,缩放时域相邻块T0的运动矢量T0’的原理与第2步中根据空域相邻块B0的参考帧与当前帧的距离和当前预测单元C的参考帧与当前帧的距离的比例,缩放空域相邻块B0的运动矢量B0’的原理相同。
4、若候选运动矢量集中仍不足两个候选运动矢量,按照以下的顺序继续补充:若时域相邻块T1存在且具有运动矢量,则将时域相邻块T1的运动矢量放入候选运动矢量集中;若T1的运动矢量与候选运动矢量集中已存在的运动矢量一致,则根据时域相邻块T1的参考帧与时域相邻块T1所在帧的距离和当前预测单元C的参考帧与当前帧的距离的比例,缩放时域相邻块T1的运动矢量T1’得到运动矢量T1”,并将运动矢量T1”放入候选运动矢量集。
5、第3步和第4步中只能按照顺序选择一个运动矢量,即若第3步已经获取一个运动矢量,则不必再做第4步。若第4步后,候选运动矢量集中仍不足两个候选运动矢量,则在候选运动矢量集中补充零向量直至候选运动矢量集中满足两个候选运动矢量。
在本实施例中,获得候选运动矢量集后,将候选运动矢量集中率失真代价较小的一个运动矢量确定为第一初始运动矢量。
S203:将第一初始运动矢量和预测单元所在编码块的相邻层编码块的运动矢量中,率失真代价较小的运动矢量确定为第二初始运动矢量。
参见图5,图5为本发明实施例提供的不同层级编码块的示意图。
对视频帧进行编码时,会将视频帧先划分为等大小的编码树单元(Coding TreeUnit,CTU),再以编码树单元为基本单位进行编码。其中,编码树单元大小一般呈64×64的块,编码过程中,可将编码树单元进一步划分成不同大小的编码块。图5中,64×64的块代表通过视频帧划分得到的一个宽为64像素,高为64像素的编码树单元。可以看出,一个64×64的编码树单元可以作为一个64×64的编码块进行编码,也可以划分成4个等大小的32×32的编码块,再对每个32×32的编码块进行编码。根据率失真准则,对于每个64×64的编码块,比较该64×64编码块的率失真代价与4个32×32编码块的率失真代价之和,选择率失真代价较小的划分方式进行划分。而每个32×32的编码块又可以划分为4个等大小的16×16的编码块,也就是说,对于每个32×32的编码块,需要比较一个32×32编码块的率失真代价与4个16×16编码块的率失真代价之和,选择率失真代价较小的划分方式进行划分。同理,每个16×16的编码块还可以划分为4个等大小的8×8的编码块,而每个16×16编码块是否需要再进行划分则通过比较16×16编码块的率失真代价与4个8×8编码块的率失真代价之和来确定。
具体的,若以32×32的方式对CTU进行划分,可以得到图5中标出的四个32×32的编码块,此时,这四个32×32的编码块称为图中64×64的编码块的下层编码块,相应的,图中64×64的编码块称为图中四个32×32的编码块的上层编码块。以此类推,可以得到每个32×32划分得到的四个16×16的编码块称为该32×32的编码块的下层编码块,该32×32的编码块称为划分得到的四个16×16的编码块的上层编码块;每个16×16划分得到的四个8×8的编码块称为该16×16的编码块的下层编码块,该16×16的编码块称为划分得到的四个8×8的编码块的上层编码块。其中,上层编码块和下层编码块这种上下层关系也称为互为相邻层的关系,这种相邻层关系只存在于相邻的两层之间,对于两层中间间隔了一层的情况,不在考虑范围内。由上述可见,一种划分方式得到的编码块有可能只存在下层编码块,例如64×64的编码块只存在下层编码块,也有可能只存在上层编码块,例如8×8的编码块只存在上层编码块,也有可能既存在上层编码块也存在上层编码块,例如32×32的编码块和16×16的编码块,既存在上层编码块也存在上层编码块。而实际对视频帧进行编码时,会选择从上层编码块到下层编码块或从下层编码块到上层编码块或从中间层对视频帧内编码树单元进行划分,得到编码块,进而对编码块进行预测,得到预测单元。
在本实施例中,比较第一初始运动矢量与上层运动矢量和下层运动矢量的率失真代价,将率失真代价较小的运动矢量确定为第二初始运动矢量。
S204:基于第二初始运动矢量进行像素搜索,获得目标匹配块。
在本实施例中,像素搜索包括整像素搜索和分像素搜索。
其中,整像素搜索步骤包括:以第二初始运动矢量所指向的位置为起始点,选择预设的搜索模板进行整点搜索,以在预设的搜索范围内寻找率失真代价最小的整像素匹配块,将该整像素匹配块确定为预测单元的匹配块。其中,整像素搜索的搜索模板包括全搜索、菱形搜索、六边形搜索、EPZS(Enhance Predictive Zonal Search)和UMH(Unsymmetrical-cross Multi-Hexagon-grid Search)等。
具体的:如图6所示,为本发明实施例提供的像素搜索的搜索过程示意图。搜索范围为(2d+1+M)×(2d+1+N),填充块为预测单元,空白块为预测单元的匹配块,M为预测单元的宽度,N为预测单元的高度,d为搜索窗口大小的值,预测单元左上角坐标(k,l),预测单元的匹配块左上角坐标(k+u,l+v),进而可以得到运动矢量为(u,v)。
全搜索,是在参考帧的搜索区域内穷举搜索,即遍历搜索范围内的每一个像素点,该方法最简单、最直接,且性能最优,但计算量过于庞大,不便于实时编码处理。
菱形搜索,又称钻石搜索。该搜索方法以菱形为搜索模板,先选择一个大菱形作为模板进行搜索,当率失真代价最小的点落在大菱形模板的中心点时采用小菱形模板进行搜索,实现匹配块的准确定位。该搜索方法能很大程度上避免落入局部最小化,但是无论是运动图像序列还是保持静止的图像序列,都需经过从大模板到小模板的搜索过程,会造成了较大的搜索冗余。
六边形搜索,类似菱形搜索。该搜索方法将菱形搜索中的大模板替换为步长为2的六边形,而小模板替换为步长为1的正方形进行搜索,其优缺点也与菱形搜索相似。
EPZS采用了三种搜索模板:步长为1的小菱形、步长为1的正方形以及步长为2的大菱形,直到搜索中心点为率失真代价最小的点才停止。
UMH的基本步骤与EPZS类似,按照多种搜索模板搜索匹配点,以更好地避免落入局部最小化的缺点。它采用混合搜索,包括非对称十字搜索、5×5全搜索和扩展的多层次六边形搜索,以获得的率失真代价最小的点为中心点用六边形进行搜索,直至再次得到的率失真代价最小的点在六边形的中心点为止,然后以当前率失真代价最小的点为中心点用小菱形进行搜索,直至再次得到的率失真代价最小的点在小菱形的中心点为止,实现匹配块的准确定位。
分像素搜索步骤包括:半像素搜索、1/4像素搜索和1/8像素搜索。
半像素搜索:以整像素搜索后获得匹配块左上角对应的位置为起点,对周围参考像素点进行插值,并全搜索其周围八邻域内所有的半像素点,选择率失真代价最小的运动矢量对应的半像素点,将该半像素点确定为预测单元的匹配块。
1/4像素搜索:以半像素搜索获得的匹配块左上角对应的位置为起点,对周围参考像素点进行插值,并全搜索该匹配块周围八邻域内所有的1/4像素点,选择率失真代价最小的运动矢量对应的1/4像素点,将该1/4像素点确定为预测单元的匹配块。
1/8像素搜素:以1/4像素搜索获得的匹配块左上角对应的位置为起点,对周围参考像素点进行插值,并全搜索该匹配块周围八邻域内的所有的1/8像素点,选择率失真代价最小的运动矢量对应的1/8像素点,将该1/8像素点确定为预测单元的匹配块。
在进行像素搜索时,并不一定要进行到1/8像素搜索,可以进行到半像素搜索即停止,也可以进行到1/4像素搜索停止,还可以不进行分像素搜索,即整像素搜素之后就停止搜索。可以根据运动矢量精度来确定最终需要进行分像素搜索的精度,使得在最小精度范围内搜索到预测单元的匹配块,也即上述目标匹配块。
由上述可见,本发明实施例提供的方案,增加了第一初始运动矢量与预测单元所在编码块的相邻层编码块的运动矢量率失真代价的比较,能够得到率失真代价更小的第二初始运动矢量,利用第二初始运动矢量进行像素搜索,进而提高获得的预测单元的匹配块的精确度。
在本发明的一个具体实施例中,参见图7,为本发明实施例提供的利用图像信息进行先进运动矢量预测得到第一初始运动矢量(S202)的一种流程示意图,包括:
S2021:根据预测单元的时域相邻块的运动矢量和预测单元的空域相邻块的运动矢量,进行先进运动矢量预测,得到候选运动矢量集。
该步骤的处理过程可以参照上述步骤S202中的说明,不再赘述。
S2022:从候选运动矢量集中,将率失真代价较小的运动矢量确定为第一初始运动矢量。
其中,率失真代价,即编码代价,是视频编码中以率失真理论为基础来评价编码性能的一种衡量指标。
鉴于此,将率失真代价较小的运动矢量确定为第一初始运动矢量,目的是为了提高整个编码过程的编码性能。
由上述可见,本发明实施例提供的方案,从先进运动矢量预测得到的候选运动矢量集中,选择率失真代价较小的运动矢量作为第一初始运动矢量,利用第一初始运动矢量进行预测,进而能够提高整个编码过程的编码性能。
在本发明的一个具体实施例中,将第一初始运动矢量和预测单元所在编码块的相邻层编码块的运动矢量中,率失真代价较小的运动矢量确定为第二初始运动矢量(S203),包括:
当预测单元所在编码块存在上层编码块的运动矢量且存在下层编码块的运动矢量时,将第一初始运动矢量、预测单元所在编码块的上层编码块的运动矢量和预测单元所在编码块的下层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当预测单元所在编码块存在上层编码块的运动矢量但不存在下层编码块的运动矢量时,将第一初始运动矢量和预测单元所在编码块的上层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当预测单元所在编码块存在下层编码块的运动矢量但不存在上层编码块的运动矢量时,将第一初始运动矢量和预测单元所在编码块的下层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当预测单元所在编码块不存在上层编码块的运动矢量也不存在下层编码块的运动矢量时,将第一初始运动矢量确定为第二初始运动矢量。
在实施中,预测单元所在编码块的上层编码块和预测单元所在编码块的下层编码块作为与预测单元处于相同位置但不同大小的编码块,其与预测单元之间存在相关性。在进行预测时,充分利用预测单元所在编码块的上层编码块和预测单元所在编码块的下层编码块的运动信息,能够提高获得的预测单元的匹配块的精确度。
一种实现方式中,预测单元所在编码块有可能只存在上层编码块、也有可能只存在下层编码块、还有可能既存在上层编码块又存在下层编码块。但是对于预测单元所在编码块的上层编码块和预测单元所在编码块的下层编码块来说,其有可能存在运动矢量,也有可能不存在运动矢量。因此,将第一初始运动矢量和预测单元所在编码块的相邻层编码块的运动矢量进行率失真代价比较时,会出现上述四种情况。上述四种情况下,都会确定出一个率失真代价较小的运动矢量作为第二初始运动矢量。
由上述可见,本发明实施例提供的方案,将第一初始运动矢量与上层运动矢量和/或下层运动矢量进行率失真代价的比较,得到率失真代价较小的第二初始运动矢量,利用第二初始运动矢量进行预测,进而能够提高获得的预测单元的匹配块的精确度。
在本发明的一个具体实施例中,下层运动矢量包括:
预测单元所在编码块的所有下层编码块的运动矢量、预测单元所在编码块的所有下层编码块的运动矢量的平均量和预测单元所在编码块的所有下层编码块的运动矢量的加权量中的至少一项。
由S203可以得出,对于每一预测单元,其所在编码块存在四个下层编码块。
示例性的,预测单元所在编码块为编码块D,编码块D的四个下层编码块为分别编码块D1、编码块D2、编码块D3和编码块D4,编码块D1、编码块D2、编码块D3和编码块D4的运动矢量分别为运动矢量M1、运动矢量M2、运动矢量M3和运动矢量M4。可以得到预测单元所在编码块的所有下层编码块的运动矢量的平均量
Figure GDA0002530750360000171
预测单元所在编码块的所有下层编码块的运动矢量的加权量Ms=0.2M1+0.3bM2+0.4M3+0.1M4,其中,各项权重可以根据场景不同或个人经验进行调整,本申请对此并不进行限定。
一种实现方式中,为了能充分利用所有四个下层编码块的图像信息,下层运动矢量可以包括:预测单元所在编码块的所有下层编码块的运动矢量、预测单元所在编码块的所有下层编码块的运动矢量的平均量和预测单元所在编码块的所有下层编码块的运动矢量的加权量。此时,可以比较运动矢量M1、运动矢量M2、运动矢量M3、运动矢量M4、平均量Ma和加权量Ms的率失真代价,以确定出第二初始运动矢量。下层运动矢量也可以包括:预测单元所在编码块的所有下层编码块的运动矢量和预测单元所在编码块的所有下层编码块的运动矢量的平均量。此时,可以比较运动矢量M1、运动矢量M2、运动矢量M3、运动矢量M4和平均量Ma的率失真代价,以确定出第二初始运动矢量。
由上述可见,本发明实施例提供的方案中,下层运动矢量可以包括:预测单元所在编码块的所有下层编码块的运动矢量、预测单元所在编码块的所有下层编码块的运动矢量的平均量和预测单元所在编码块的所有下层编码块的运动矢量的加权量中的至少一项。本发明实施例利用了预测单元所在编码块所有下层编码块的运动信息,能够得到率失真代价更小的第二初始运动矢量,利用第二初始运动矢量进行预测,进而能够提高获得的预测单元的匹配块的精确度。
在本发明的一个具体实施例中,参见图8,图8为本发明实施例提供的基于第二初始运动矢量进行像素搜索,获得目标匹配块(S204)的一种流程示意图,包括:
S2041:判断预测单元所在编码块是否存在预分析运动矢量,如果预测单元所在编码块存在预分析运动矢量,执行S2042,如果预测单元所在编码块不存在预分析运动矢量,执行S2043。
其中,预测单元所在编码块的预分析运动矢量,是对采样运动矢量进行计算得到的运动矢量;采样运动矢量是对预测单元所在编码块进行预分析处理时得到的运动矢量。
预分析处理主要应用于码率控制模块,是对视频图像进行真实编码之前根据缩放的视频帧建立编码码率与目标比特之间的关系,从而选择最佳的量化参数进行编码,使得真实编码后图像的输出码率能尽可能地满足预先设置的目标码率的一个过程。当然并不是对视频进行编码之前都要进行预分析处理,例如固定量化参数的视频编码,就会省略预分析处理过程。
一种实现方式中,预分析处理包括对原始视频图像进行下采样操作,一般采取将原始视频图像中的视频帧的宽和高均缩小为视频帧的一半,得到下采样视频帧,然后对下采样视频帧进行编码,且在下采样视频帧中对应当前编码块在原始视频帧中位置的编码块也采用帧间预测模式。对下采样视频帧进行编码可以获得下采样视频帧中对应当前编码块在原始视频帧中位置的编码块的运动矢量,然后根据下采样规则反向计算出在原始视频帧中的当前编码块的运动矢量。示例性的,原始视频帧大小为W×H,而下采样视频帧的大小为W/2×H/2,得到下采样视频帧对应位置的运动矢量为(x0,y0),则在原始视频帧中的当前编码块的运动矢量应为(2x0,2y0),将(2x0,2y0)作为当前编码块的预分析运动矢量。
S2042:将第二初始运动矢量和预分析运动矢量中率失真代价较小的运动矢量确定为最佳初始运动矢量。
本发明人发现,由于预分析处理过程中也包含了图像的运动信息,为了充分利用此部分图像信息,可以比较第二初始运动矢量与利用预分析过程得到的预分析运动矢量的率失真代价的大小,选取率失真代价较小的作为最佳初始运动矢量。
S2043:将第二初始运动矢量确定为最佳初始运动矢量。
当不存在对视频图像进行预分析处理过程时,也即预测单元所在编码块不存在预分析运动矢量时,可以将第二初始运动矢量作为最佳初始运动矢量。
S2044:利用最佳初始运动矢量进行像素搜索,获得目标匹配块。
一种实现方式中,以最佳初始运动矢量指向的位置为起始点,进行整像素搜索,然后进行分像素搜索。
其中,利用各种模板进行整像素搜索的方法及分像素搜索的方法在S204中已详细介绍,此处不再赘述。
由上述可见,本发明实施例提供的方案中,将第二初始运动矢量和预分析运动矢量中,率失真代价较小的运动矢量作为最佳初始运动矢量,利用最佳初始运动矢量进行像素搜索,获得目标匹配块。与现有技术相比,能够得到率失真代价更小的最佳初始运动矢量,进行像素搜索,进而能够提高获得的预测单元的匹配块的精确度。
在本发明的一个具体实施例中,参见图9,为本发明实施例提供的利用最佳初始运动矢量进行像素搜索,获得目标匹配块(S2044)的第一种流程示意图,包括:
S20441:利用最佳初始运动矢量进行整像素搜索,获得率失真代价最小的第一匹配块,根据第一匹配块与预测单元的相对位置偏移量生成最佳运动矢量。
以最佳初始运动矢量指向的点为起始点,进行整像素搜素,将在预设的搜索范围内寻找率失真代价最小的运动矢量对应的整像素匹配点作为第一匹配块。
S20442:利用最佳运动矢量进行分像素搜索,获得率失真代价最小的第二匹配块,将第二匹配块确定为目标匹配块。
以最佳运动矢量指向的点为起始点,进行分像素搜索,将在预设的搜索范围内寻找率失真代价最小的运动矢量对应的分像素匹配点作为第二匹配块,将第二匹配块作为目标匹配块,也即预测单元的匹配块。
在利用最佳运动矢量进行分像素搜索时,并不一定要进行到1/8像素搜索,可以进行到半像素搜索即停止,可以进行到1/4像素搜索停止。可以根据运动矢量精度来确定最终需要进行分像素搜索的精度,使得在最小精度范围内搜索到预测单元的匹配块,也即上述目标匹配块。
其中,利用各种模板进行整像素搜索的方法及分像素搜索的方法在S204中已详细介绍,此处不再赘述。
由上述可见,本发明实施例提供的方案中,利用最佳初始运动矢量进行整像素搜索,获得最佳运动矢量,利用最佳运动矢量进行分像素搜索获得目标匹配块。与现有技术相比,在利用率失真代价更小的最佳初始运动矢量进行整像素搜索获得的最佳运动矢量后,利用最佳运动矢量进行分像素搜索,能够提高获得的预测单元的匹配块的精确度。
在本发明的一个具体实施例中,参见图10,为本发明实施例提供的利用最佳初始运动矢量进行像素搜索,获得目标匹配块(S2044)的第二种流程示意图,包括:
S20441:利用最佳初始运动矢量进行整像素搜索,获得率失真代价最小的第一匹配块,根据第一匹配块与预测单元的相对位置偏移量生成最佳运动矢量。
S20442:利用最佳运动矢量进行分像素搜索,获得率失真代价最小的第二匹配块,将第二匹配块确定为目标匹配块。
其中,S20441-S20442在上述实施例中已介绍,此处不再赘述。
S20443:判断最佳运动矢量与预测单元所在编码块的上层编码块的运动矢量和预测单元所在编码块的下层编码块的运动矢量中的任一运动矢量是否相同;如果相同,执行S20444,如果不同,执行S20442。
一种实现方式中,在对预测单元进行预测之前,通过比较不同的编码块划分方式,已经得到了上层运动矢量和下层运动矢量。基于整像素搜索和分像素搜索的过程,可以得知上层运动矢量和下层运动矢量有可能是整像素点对应的运动矢量,也有可能是分像素点对应的运动矢量。其中,上层运动矢量和下层运动矢量为整像素点对应的运动矢量,表明在获得上层运动矢量和下层运动矢量过程中,整像素搜索完成后,以获得的整像素点为中心点进行分像素搜索时,该中心点附近八邻域内的分像素点对应的运动矢量的率失真代价都比该中心点对应的运动矢量的率失真代价大。
而最佳运动矢量是利用最佳初始运动矢量进行整像素搜索,获得率失真代价最小的第一匹配块对应的运动矢量,也即最佳运动矢量是整像素点对应的运动矢量。
因此,最佳运动矢量与上层运动矢量和下层运动矢量中的任一运动矢量相同,表明获得的第一匹配块与获得上层运动矢量或下层运动矢量过程中得到的上述整像素点一致,也即表明很大可能以第一配块为中心点的八邻域内的分像素点对应的运动矢量的率失真代价都比第一匹配块对应的运动矢量的率失真代价大,因此直接跳过分像素搜索的步骤。
S20444:将第一匹配块确定为目标匹配块。
将第一匹配块作为目标匹配块,直接跳过分像素搜索的步骤,得到预测单元的匹配块。
由上述可见,本发明实施例提供的方案中,当判断最佳运动矢量与上层运动矢量和下层运动矢量中的任一运动矢量相同时,可以直接跳过分像素搜索的步骤。与现有技术相比,能够减少获得的预测单元的匹配块的计算量,加速运动估计。
基于上述实施例的运动估计方法,针对表1中所示序列分类中的每个分类,选取了不同个数的图像序列,进行编码性能的测试,表1为利用本发明实施例的运动估计方法和利用现有技术进行编码的对比结果。
表1
序列分类 Y(BD-rate) U(BD-rate) V(BD-rate) YUV(BD-rate) Δfps
classA -0.75% -1.49% -1.11% -0.84% 1.09%
classB -0.98% -1.19% -1.49% -1.03% -0.29%
classC -1.15% -1.35% -1.52% -1.20% -0.74%
classD -0.88% -0.63% -1.10% -0.88% -0.87%
classE 0.55% -0.31% -0.16% 0.38% 0.80%
Average -0.72% -0.99% -1.15% -0.78% -0.18%
其中,序列分类这一列表示不同格式的图像序列,class A表示4k格式的图像序列,class B表示1080p格式的图像序列,class C表示480p格式的图像序列,class D表示240p格式的图像序列,class E表示720p格式的图像序列。
针对每个序列分类,选取不同个数的图像序列进行测试,表中的结果为每个序列分类中对所有图像序列利用本发明实施例的运动估计方法和利用现有技术进行编码的比较结果的平均值。Y(BD-rate)列、U(BD-rate)列、V(BD-rate)列和YUV(BD-rate)列分别表示Y、U、V以及YUV合并质量下的码率节省(负值表示节省,正值表示增加),Y表示明亮度(Luminance或Luma),也就是灰阶值;U和V表示色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。Δfps列表示编码复杂度的计算公式所示。
Figure GDA0002530750360000231
其中,Δfps表示编码加速,FPSanchor表示使用原编码器编码图像序列的帧率fps,FPSproposed表示同一编码器采用本实施例的运动估计方法后的编码图像序列的帧率fps。Δfps为正值表示加速,为负值表示减速。
由表1中的数据可以看出,针对每一分类的图像序列,使用本发明实施例的方法进行运动估计具有显著的节省码率的效果,平均带来0.78%左右的增益。
与图2方法实施例相对应,参见图11,为本发明实施例提供的运动估计装置的一种结构示意图,包括:图像获得模块1101、矢量获得模块1102、矢量确定模块1103和目标获得模块1104。
其中,图像获得模块1101,用于获取当前预测单元所在帧的图像信息;
矢量获得模块1102,用于利用图像信息进行先进运动矢量预测得到第一初始运动矢量;
矢量确定模块1103,用于将第一初始运动矢量和预测单元所在编码块的相邻层编码块的运动矢量中,率失真代价较小的运动矢量确定为第二初始运动矢量;
目标获得模块1104,用于基于第二初始运动矢量进行像素搜索,获得目标匹配块。
由上述可见,本发明实施例提供的方案,增加了第一初始运动矢量与预测单元所在编码块的相邻层编码块的运动矢量率失真代价的比较,能够得到率失真代价更小的第二初始运动矢量,利用第二初始运动矢量进行像素搜索,进而提高获得的预测单元的匹配块的精确度。
在本发明的一个具体实施例中,参见图12,为本发明实施例提供的矢量获得模块1102的一种结构示意图,包括:矢量集获得子模块11021和第一确定子模块11022。
其中,图像信息包括:预测单元的时域相邻块的运动矢量和预测单元的空域相邻块的运动矢量;
矢量集获得子模块11021,用于根据预测单元的时域相邻块的运动矢量和预测单元的空域相邻块的运动矢量,进行先进运动矢量预测,得到候选运动矢量集;
第一确定子模块11022,用于从候选运动矢量集中,将率失真代价较小的运动矢量确定为第一初始运动矢量。
由上述可见,本发明实施例提供的方案,从先进运动矢量预测得到的候选运动矢量集中,选择率失真代价较小的运动矢量作为第一初始运动矢量,利用第一初始运动矢量进行预测,进而能够提高整个编码过程的编码性能。
在本发明的一个具体实施例中,矢量确定模块1103,还可以用于:
当预测单元所在编码块存在上层编码块的运动矢量且存在下层编码块的运动矢量时,将第一初始运动矢量、预测单元所在编码块的上层编码块的运动矢量和预测单元所在编码块的下层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当预测单元所在编码块存在上层编码块的运动矢量但不存在下层编码块的运动矢量时,将第一初始运动矢量和预测单元所在编码块的上层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当预测单元所在编码块存在下层编码块的运动矢量但不存在上层编码块的运动矢量时,将第一初始运动矢量和预测单元所在编码块的下层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当预测单元所在编码块不存在上层编码块的运动矢量也不存在下层编码块的运动矢量时,将第一初始运动矢量确定为第二初始运动矢量。
由上述可见,本发明实施例提供的方案,将第一初始运动矢量与上层运动矢量和下层运动矢量进行率失真代价的比较,得到率失真代价较小的第二初始运动矢量,利用第二初始运动矢量进行预测,进而能够提高获得的预测单元的匹配块的精确度。
在本发明的一个具体实施例中,下层运动矢量,包括:
预测单元所在编码块的所有下层编码块的运动矢量、预测单元所在编码块的所有下层编码块的运动矢量的平均量和预测单元所在编码块的所有下层编码块的运动矢量的加权量中的至少一项。
由上述可见,本发明实施例提供的方案中,下层运动矢量可以包括:预测单元所在编码块的所有下层编码块的运动矢量、预测单元所在编码块的所有下层编码块的运动矢量的平均量和预测单元所在编码块的所有下层编码块的运动矢量的加权量中的至少一项。本发明实施例利用了预测单元所在编码块所有下层编码块的运动信息,能够得到率失真代价更小的第二初始运动矢量,利用第二初始运动矢量进行预测,进而能够提高获得的预测单元的匹配块的精确度。
在本发明的一个具体实施例中,参见图13,图13为本发明实施例提供的目标获得模块1104的一种结构示意图,包括:判断子模块11041、第一最佳确定子模块11042、第二最佳确定子模块11043和目标获得子模块11044。
其中,判断子模块11041,用于判断预测单元是否存在预分析运动矢量,其中,预测单元所在编码块的预分析运动矢量是对采样运动矢量进行计算得到的运动矢量,采样运动矢量是对预测单元所在编码块进行预分析处理时得到的运动矢量;如果预测单元存在预分析运动矢量,则触发第一最佳确定子模块11042,如果预测单元不存在预分析运动矢量,则触发第二最佳确定子模块11043;
第一最佳确定子模块11042,用于将第二初始运动矢量和预分析运动矢量中率失真代价较小的运动矢量确定为最佳初始运动矢量;
第二最佳确定子模块11043,用于将第二初始运动矢量确定为最佳初始运动矢量;
目标获得子模块11044,用于利用最佳初始运动矢量进行像素搜索,获得目标匹配块。
由上述可见,本发明实施例提供的方案中,将第二初始运动矢量和预分析运动矢量中,率失真代价较小的运动矢量作为最佳初始运动矢量,利用最佳初始运动矢量进行像素搜索,获得目标匹配块。与现有技术相比,能够得到率失真代价更小的最佳初始运动矢量,进行像素搜索,进而能够提高获得的预测单元的匹配块的精确度。
在本发明的一个具体实施例中,参见图14,图14为本发明实施例提供的目标获得子模块11044的第一种结构示意图,包括:生成单元110441和第一目标确定单元110442。
生成单元110441,用于利用最佳初始运动矢量进行整像素搜索,获得率失真代价最小的第一匹配块,根据第一匹配块与预测单元的相对位置偏移量生成最佳运动矢量;
第一目标确定单元110442,用于利用最佳运动矢量进行分像素搜索,获得率失真代价最小的第二匹配块,将第二匹配块确定为目标匹配块。
由上述可见,本发明实施例提供的方案中,利用最佳初始运动矢量进行整像素搜索,获得最佳运动矢量,利用最佳运动矢量进行分像素搜索获得目标匹配块。与现有技术相比,在利用率失真代价更小的最佳初始运动矢量进行整像素搜索获得的最佳运动矢量后,利用最佳运动矢量进行分像素搜索,能够提高获得的预测单元的匹配块的精确度。
在本发明的一个具体实施例中,参见图15,图15为本发明实施例提供的目标获得子模块11044的第二种结构示意图,还包括:判断单元110443和第二目标确定单元110444。
其中,判断单元110443,用于判断最佳运动矢量与预测单元所在编码块的上层编码块的运动矢量和预测单元所在编码块的下层编码块的运动矢量中的任一运动矢量是否相同;如果相同,触发第二目标确定单元110444,如果不同,触发第一目标确定单元110442;
第二目标确定单元110444,用于将第一匹配块确定为目标匹配块。
由上述可见,本发明实施例提供的方案中,当最佳运动矢量与上层运动矢量和下层运动矢量中的任一运动矢量相同时,可以直接跳过分像素搜索的步骤。与现有技术相比,能够减少获得的预测单元的匹配块的计算量,加速运动估计。
本发明实施例还提供了一种电子设备,如图16所示,包括存储器1601和处理器1602;
存储器1601,用于存放计算机程序;
处理器1602,用于执行存储器1601上所存放的程序时,实现本发明实施例提供的运动估计方法。
具体的,上述运动估计方法,包括:
获取当前预测单元所在帧的图像信息;
利用图像信息进行先进运动矢量预测得到第一初始运动矢量;
将第一初始运动矢量和预测单元所在编码块的相邻层编码块的运动矢量中,率失真代价较小的运动矢量确定为第二初始运动矢量;
基于第二初始运动矢量进行像素搜索,获得目标匹配块。
需要说明的是,上述运动估计方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
上述电子设备可以具备有实现上述电子设备与其他设备之间通信的通信接口。
上述的处理器1602,通信接口,存储器1601通过通信总线完成相互间的通信,此处提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器1601可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(Non-Volatile Memory,简称NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器1602可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例提供的电子设备,在进行运动估计时,增加了第一初始运动矢量与预测单元所在编码块的相邻层编码块的运动矢量率失真代价的比较,能够得到率失真代价更小的第二初始运动矢量,利用第二初始运动矢量进行像素搜索,进而提高获得的预测单元的匹配块的精确度。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本发明实施例提供的运动估计方法。
具体的,上述运动估计方法,包括:
获取当前预测单元所在帧的图像信息;
利用图像信息进行先进运动矢量预测得到第一初始运动矢量;
将第一初始运动矢量和预测单元所在编码块的相邻层编码块的运动矢量中,率失真代价较小的运动矢量确定为第二初始运动矢量;
基于第二初始运动矢量进行像素搜索,获得目标匹配块。
需要说明的是,上述运动估计方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
通过运行本发明实施例提供的计算机可读存储介质中存储的指令,在进行运动估计时,增加了第一初始运动矢量与预测单元所在编码块的相邻层编码块的运动矢量率失真代价的比较,能够得到率失真代价更小的第二初始运动矢量,利用第二初始运动矢量进行像素搜索,进而提高获得的预测单元的匹配块的精确度。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本发明实施例提供的运动估计方法。
具体的,上述运动估计方法,包括:
获取当前预测单元所在帧的图像信息;
利用图像信息进行先进运动矢量预测得到第一初始运动矢量;
将第一初始运动矢量和预测单元所在编码块的相邻层编码块的运动矢量中,率失真代价较小的运动矢量确定为第二初始运动矢量;
基于第二初始运动矢量进行像素搜索,获得目标匹配块。
需要说明的是,上述运动估计方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
通过运行本发明实施例提供的计算机程序产品,在进行运动估计时,增加了第一初始运动矢量与预测单元所在编码块的相邻层编码块的运动矢量率失真代价的比较,能够得到率失真代价更小的第二初始运动矢量,利用第二初始运动矢量进行像素搜索,进而提高获得的预测单元的匹配块的精确度。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (14)

1.一种运动估计方法,其特征在于,所述方法包括:
获取当前预测单元所在帧的图像信息;
利用所述图像信息进行先进运动矢量预测得到第一初始运动矢量;
将所述第一初始运动矢量和所述预测单元所在编码块的相邻层编码块的运动矢量中,率失真代价较小的运动矢量确定为第二初始运动矢量;
基于所述第二初始运动矢量进行像素搜索,获得目标匹配块;
所述将所述第一初始运动矢量和所述预测单元所在编码块的相邻层编码块的运动矢量中,率失真代价较小的运动矢量确定为第二初始运动矢量,包括:
当所述预测单元所在编码块存在上层编码块的运动矢量且存在下层编码块的运动矢量时,将所述第一初始运动矢量、所述预测单元所在编码块的上层编码块的运动矢量和所述预测单元所在编码块的下层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当所述预测单元所在编码块存在上层编码块的运动矢量但不存在下层编码块的运动矢量时,将所述第一初始运动矢量和所述预测单元所在编码块的上层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当所述预测单元所在编码块存在下层编码块的运动矢量但不存在上层编码块的运动矢量时,将所述第一初始运动矢量和所述预测单元所在编码块的下层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当所述预测单元所在编码块不存在上层编码块的运动矢量也不存在下层编码块的运动矢量时,将所述第一初始运动矢量确定为第二初始运动矢量。
2.根据权利要求1所述的方法,其特征在于,所述图像信息包括:所述预测单元的时域相邻块的运动矢量和所述预测单元的空域相邻块的运动矢量;
所述利用所述图像信息进行先进运动矢量预测得到第一初始运动矢量,包括:
根据所述预测单元的时域相邻块的运动矢量和所述预测单元的空域相邻块的运动矢量,进行先进运动矢量预测,得到候选运动矢量集;
从所述候选运动矢量集中,将率失真代价较小的运动矢量确定为第一初始运动矢量。
3.根据权利要求1所述的方法,其特征在于,所述预测单元所在编码块的下层编码块的运动矢量,包括:
所述预测单元所在编码块的所有下层编码块的运动矢量、所述预测单元所在编码块的所有下层编码块的运动矢量的平均量和所述预测单元所在编码块的所有下层编码块的运动矢量的加权量中的至少一项。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第二初始运动矢量进行像素搜索,获得目标匹配块,包括:
判断所述预测单元所在编码块是否存在预分析运动矢量,其中,所述预测单元所在编码块的预分析运动矢量,是对采样运动矢量进行计算得到的运动矢量,所述采样运动矢量是对所述预测单元所在编码块进行预分析处理时得到的运动矢量;
如果所述预测单元所在编码块存在预分析运动矢量,将所述第二初始运动矢量和所述预分析运动矢量中率失真代价较小的运动矢量确定为最佳初始运动矢量;
如果所述预测单元所在编码块不存在预分析运动矢量,将所述第二初始运动矢量确定为最佳初始运动矢量;
利用所述最佳初始运动矢量进行像素搜索,获得目标匹配块。
5.根据权利要求4所述的方法,其特征在于,所述利用所述最佳初始运动矢量进行像素搜索,获得目标匹配块,包括:
利用所述最佳初始运动矢量进行整像素搜索,获得率失真代价最小的第一匹配块,根据所述第一匹配块与所述预测单元的相对位置偏移量生成最佳运动矢量;
利用所述最佳运动矢量进行分像素搜索,获得率失真代价最小的第二匹配块,将所述第二匹配块确定为所述目标匹配块。
6.根据权利要求5所述的方法,其特征在于,在所述利用所述最佳运动矢量进行分像素搜索,获得率失真代价最小的第二匹配块,将所述第二匹配块确定为所述目标匹配块之前,所述方法还包括:
判断所述最佳运动矢量与所述预测单元所在编码块的上层编码块的运动矢量和所述预测单元所在编码块的下层编码块的运动矢量中的任一运动矢量是否相同;
如果相同,将所述第一匹配块确定为所述目标匹配块;
如果不同,利用所述最佳运动矢量进行分像素搜索,获得率失真代价最小的第二匹配块,将所述第二匹配块确定为所述目标匹配块。
7.一种运动估计装置,其特征在于,所述装置包括:
图像获得模块,用于获取当前预测单元所在帧的图像信息;
矢量获得模块,用于利用所述图像信息进行先进运动矢量预测得到第一初始运动矢量;
矢量确定模块,用于将所述第一初始运动矢量和所述预测单元所在编码块的相邻层编码块的运动矢量中,率失真代价较小的运动矢量确定为第二初始运动矢量;
目标获得模块,用于基于所述第二初始运动矢量进行像素搜索,获得目标匹配块;
所述矢量确定模块用于当所述预测单元所在编码块存在上层编码块的运动矢量且存在下层编码块的运动矢量时,将所述第一初始运动矢量、所述预测单元所在编码块的上层编码块的运动矢量和所述预测单元所在编码块的下层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当所述预测单元所在编码块存在上层编码块的运动矢量但不存在下层编码块的运动矢量时,将所述第一初始运动矢量和所述预测单元所在编码块的上层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当所述预测单元所在编码块存在下层编码块的运动矢量但不存在上层编码块的运动矢量时,将所述第一初始运动矢量和所述预测单元所在编码块的下层编码块的运动矢量中率失真代价较小的运动矢量确定为第二初始运动矢量;
当所述预测单元所在编码块不存在上层编码块的运动矢量也不存在下层编码块的运动矢量时,将所述第一初始运动矢量确定为第二初始运动矢量。
8.根据权利要求7所述的装置,其特征在于,所述图像信息包括:所述预测单元的时域相邻块的运动矢量和所述预测单元的空域相邻块的运动矢量;
所述矢量获得模块包括矢量集获得子模块和第一确定子模块;
所述矢量集获得子模块,用于根据所述预测单元的时域相邻块的运动矢量和所述预测单元的空域相邻块的运动矢量,进行先进运动矢量预测,得到候选运动矢量集;
所述第一确定子模块,用于从所述候选运动矢量集中,将率失真代价较小的运动矢量确定为第一初始运动矢量。
9.根据权利要求7所述的装置,其特征在于,所述预测单元所在编码块的下层编码块的运动矢量,包括:
所述预测单元所在编码块的所有下层编码块的运动矢量、所述预测单元所在编码块的所有下层编码块的运动矢量的平均量和所述预测单元所在编码块的所有下层编码块的运动矢量的加权量中的至少一项。
10.根据权利要求7所述的装置,其特征在于,所述目标获得模块:判断子模块、第一最佳确定子模块、第二最佳确定子模块和目标获得子模块;
所述判断子模块,用于判断所述预测单元是否存在预分析运动矢量,其中,所述预测单元所在编码块的预分析运动矢量,是对采样运动矢量进行计算得到的运动矢量,所述采样运动矢量是对所述预测单元所在编码块进行预分析处理时得到的运动矢量;如果所述预测单元所在编码块存在预分析运动矢量,则触发所述第一最佳确定子模块,如果所述预测单元所在编码块不存在预分析运动矢量,则触发所述第二最佳确定子模块;
所述第一最佳确定子模块,用于将所述第二初始运动矢量和所述预分析运动矢量中率失真代价较小的运动矢量确定为最佳初始运动矢量;
所述第二最佳确定子模块,用于将所述第二初始运动矢量确定为最佳初始运动矢量;
所述目标获得子模块,用于利用所述最佳初始运动矢量进行像素搜索,获得目标匹配块。
11.根据权利要求10所述的装置,其特征在于,所述目标获得子模块包括生成单元和第一目标确定单元;
所述生成单元,用于利用所述最佳初始运动矢量进行整像素搜索,获得率失真代价最小的第一匹配块,根据所述第一匹配块与所述预测单元的相对位置偏移量生成最佳运动矢量;
所述第一目标确定单元,用于利用所述最佳运动矢量进行分像素搜索,获得率失真代价最小的第二匹配块,将所述第二匹配块确定为所述目标匹配块。
12.根据权利要求11所述的装置,其特征在于,所述目标获得子模块还包括:判断单元和第二目标确定单元;
所述判断单元,用于判断所述最佳运动矢量与所述预测单元所在编码块的上层编码块的运动矢量和所述预测单元所在编码块的下层编码块的运动矢量中的任一运动矢量是否相同;如果相同,触发所述第二目标确定单元,如果不同,触发所述第一目标确定单元;
所述第二目标确定单元,用于将所述第一匹配块确定为所述目标匹配块。
13.一种电子设备,其特征在于,包括存储器和处理器;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
CN201710947478.9A 2017-10-12 2017-10-12 运动估计方法、装置、电子设备及计算机可读存储介质 Active CN109660800B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710947478.9A CN109660800B (zh) 2017-10-12 2017-10-12 运动估计方法、装置、电子设备及计算机可读存储介质
PCT/CN2018/110125 WO2019072248A1 (zh) 2017-10-12 2018-10-12 运动估计方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710947478.9A CN109660800B (zh) 2017-10-12 2017-10-12 运动估计方法、装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109660800A CN109660800A (zh) 2019-04-19
CN109660800B true CN109660800B (zh) 2021-03-12

Family

ID=66100416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710947478.9A Active CN109660800B (zh) 2017-10-12 2017-10-12 运动估计方法、装置、电子设备及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN109660800B (zh)
WO (1) WO2019072248A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022021310A1 (zh) * 2020-07-31 2022-02-03 深圳市大疆创新科技有限公司 编码方法、装置、计算处理设备、计算机程序及存储介质
CN112218076B (zh) * 2020-10-17 2022-09-06 浙江大华技术股份有限公司 一种视频编码方法、装置、系统及计算机可读存储介质
CN112261413B (zh) * 2020-10-22 2023-10-31 北京奇艺世纪科技有限公司 视频编码方法、编码装置、电子设备和存储介质
CN113630601B (zh) * 2021-06-29 2024-04-02 杭州未名信科科技有限公司 一种仿射运动估计方法、装置、设备及存储介质
CN113630602A (zh) * 2021-06-29 2021-11-09 杭州未名信科科技有限公司 编码单元的仿射运动估计方法、装置、存储介质及终端
CN113259686A (zh) * 2021-07-07 2021-08-13 摩尔线程智能科技(北京)有限责任公司 运动矢量搜索方法、装置和视频编码系统
CN114095736B (zh) * 2022-01-11 2022-05-24 杭州微帧信息科技有限公司 一种快速运动估计视频编码方法
CN115529459B (zh) * 2022-10-10 2024-02-02 格兰菲智能科技有限公司 中心点搜索方法、装置、计算机设备、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106604035A (zh) * 2017-01-22 2017-04-26 北京君泊网络科技有限责任公司 一种用于视频编码和压缩的运动估计的方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100592797C (zh) * 2007-09-14 2010-02-24 四川虹微技术有限公司 快速运动估计方法
CN101494757A (zh) * 2009-01-23 2009-07-29 上海广电(集团)有限公司中央研究院 一种基于时空域混合信息的运动估计方法
CN101699865B (zh) * 2009-10-28 2011-06-01 山东大学 一种块运动自适应的亚像素快速搜索方法
US9300970B2 (en) * 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
CN101917619B (zh) * 2010-08-20 2012-05-09 浙江大学 一种多视点视频编码快速运动估计方法
SG189843A1 (en) * 2011-01-19 2013-06-28 Mediatek Inc Method and apparatus for parsing error robustness of temporal motion vector prediction
EP2721825A4 (en) * 2011-06-15 2014-12-24 Mediatek Inc METHOD AND DEVICE FOR MOTION AND DISPARITY VECTOR PREDICTION AND COMPENSATION IN 3D VIDEO CODING
US20130176390A1 (en) * 2012-01-06 2013-07-11 Qualcomm Incorporated Multi-hypothesis disparity vector construction in 3d video coding with depth
TWI637625B (zh) * 2012-08-29 2018-10-01 Vid衡器股份有限公司 可調整視訊編碼移動向量預測的方法及裝置
KR20140127177A (ko) * 2013-04-23 2014-11-03 삼성전자주식회사 시점 합성 예측을 이용한 다시점 비디오 부호화 방법 및 그 장치, 다시점 비디오 복호화 방법 및 그 장치
CN105594212B (zh) * 2013-07-24 2019-04-16 三星电子株式会社 用于确定运动矢量的方法及其设备
CN106331703B (zh) * 2015-07-03 2020-09-08 华为技术有限公司 视频编码和解码方法、视频编码和解码装置
US9930357B2 (en) * 2016-03-03 2018-03-27 Uurmi Systems Pvt. Ltd. Systems and methods for motion estimation for coding a video sequence

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106604035A (zh) * 2017-01-22 2017-04-26 北京君泊网络科技有限责任公司 一种用于视频编码和压缩的运动估计的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
采用改进高斯牛顿法的视频弹性运动估计;宋传鸣;《软件学报》;20161115;全文 *

Also Published As

Publication number Publication date
CN109660800A (zh) 2019-04-19
WO2019072248A1 (zh) 2019-04-18

Similar Documents

Publication Publication Date Title
CN109660800B (zh) 运动估计方法、装置、电子设备及计算机可读存储介质
CN110839155B (zh) 运动估计的方法、装置、电子设备及计算机可读存储介质
US10659803B2 (en) Picture prediction method and related apparatus
US10841583B2 (en) Coding unit depth determining method and apparatus
WO2017005146A1 (zh) 视频编码和解码方法、视频编码和解码装置
CN110166771B (zh) 视频编码方法、装置、计算机设备和存储介质
US20180131932A1 (en) Method and Device for Generating a Predicted Value of an Image Using Interpolation and Motion Vectors
US10742989B2 (en) Variable frame rate encoding method and device based on a still area or a motion area
CN110996099B (zh) 一种视频编码方法、系统及设备
CN109688407B (zh) 编码单元的参考块选择方法、装置、电子设备及存储介质
WO2021068341A1 (zh) 一种视频帧的码率配置方法、系统及设备
CN109089121B (zh) 一种基于视频编码的运动估计方法、装置及电子设备
CN101888546A (zh) 一种运动估计的方法及装置
US20220198628A1 (en) Image processing apparatus and method of processing multi-frames using the same
Kerfa et al. An efficient algorithm for fast block matching motion estimation using an adaptive threshold scheme
CN110166770B (zh) 视频编码方法、装置、计算机设备和存储介质
CN112261413B (zh) 视频编码方法、编码装置、电子设备和存储介质
Shang et al. Fast CU size decision algorithm for VVC intra coding
JP4490351B2 (ja) 階層間予測処理方法,階層間予測処理装置,階層間予測処理プログラムおよびその記録媒体
CN113099241B (zh) 参考帧列表更新方法、装置、设备以及存储介质
CN116193140A (zh) 基于lcevc的编码方法、解码方法及译码设备
JP2011199868A (ja) 動き推定処理における適応検索領域
CN109951707B (zh) 一种目标运动矢量选择方法、装置、电子设备及介质
JP2022546774A (ja) イントラ予測のための補間フィルタリング方法と装置、コンピュータプログラム及び電子装置
KR102066012B1 (ko) 보간 프레임을 생성하기 위한 움직임 예측 방법 및 장치

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