CN113992914A - 帧间预测方法及装置、设备、存储介质 - Google Patents

帧间预测方法及装置、设备、存储介质 Download PDF

Info

Publication number
CN113992914A
CN113992914A CN202111228352.9A CN202111228352A CN113992914A CN 113992914 A CN113992914 A CN 113992914A CN 202111228352 A CN202111228352 A CN 202111228352A CN 113992914 A CN113992914 A CN 113992914A
Authority
CN
China
Prior art keywords
motion information
motion
motion vector
distance
candidate
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.)
Granted
Application number
CN202111228352.9A
Other languages
English (en)
Other versions
CN113992914B (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202111228352.9A priority Critical patent/CN113992914B/zh
Publication of CN113992914A publication Critical patent/CN113992914A/zh
Application granted granted Critical
Publication of CN113992914B publication Critical patent/CN113992914B/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
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/176Methods 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 block, e.g. a macroblock
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

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

Abstract

一种帧间预测方法及装置、设备、存储介质,其中,所述方法包括:根据当前块在视频图像中的位置,确定第一运动信息和第二候选运动信息,其中,所述运动信息至少包括运动矢量(301);判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值(302);当判断结果为所述距离小于或等于所述第一阈值时,更新所述第二候选运动信息,得到第二运动信息(304);当判断结果为所述距离大于所述第一阈值时,将所述第二候选运动信息作为第二运动信息(303);使用所述第一运动信息和所述第二运动信息,对所述当前块进行帧间预测(305)。

Description

帧间预测方法及装置、设备、存储介质
本申请是申请日为2019年9月24日、申请号为201980092748.X、发明名称为“帧间预测方法及装置、设备、存储介质”的专利申请的分案申请。
技术领域
本申请实施例涉及电子技术,涉及但不限于帧间预测方法及装置、设备、存储介质。
背景技术
在多功能视频编码(Versatile Video Coding,VVC)标准中,增加了存在运动矢量差的融合技术(Merge with Motion Vector Difference,MMVD),简称MMVD技术。该技术应用于帧间预测中的跳过(Skip)模式和融合(Merge)模式中,是一种运动矢量的特殊表达形式。
当普通Merge模式的候选运动信息的数量大于1时,将Merge候选列表中的前两个候选运动信息作为MMVD候选运动信息;其中,所述运动信息可以包括:运动矢量、参考图像索引和参考图像列表索引。以每一MMVD候选运动信息中的运动矢量为起始点,对所述运动矢量进行扩展,从而得到多个扩展运动矢量;然后,根据每一起始点与其对应的参考图像索引、参考图像列表索引,以及每一扩展运动矢量与其对应的参考图像索引、参考图像列表索引,对视频数据中的当前块进行帧间预测。
然而,在实际应用中,发现上述基于MMVD技术的帧间预测方法,有时会获得较差的编码/解码效率。
发明内容
本申请实施例提供帧间预测方法及装置、设备、存储介质。本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种帧间预测方法,应用于视频图像编码器,包括:根据当前块在视频图像中的位置,确定第一运动信息和第二候选运动信息,其中,所述运动信息至少包括运动矢量;判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;当判断结果为所述距离小于或等于所述第一阈值时,更新所述第二候选运动信息,得到第二运动信息;当判断结果为所述距离大于所述第一阈值时,将所述第二候选运动信息作为第二运动信息;使用所述第一运动信息和所述第二运动信息,对所述当前块进行帧间预测。
第二方面,本申请实施例提供一种帧间预测方法,应用于解码视频图像码流,包括:解析码流,获得当前块在视频图像中的位置;根据所述位置,确定第一运动信息和第二候选运动信息,其中,所述运动信息至少包括运动矢量;判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;当判断结果为所述距离小于或等于所述第一阈值时,更新所述第二候选运动信息,得到第二运动信息;当判断结果为所述距离大于所述第一阈值时,将所述第二候选运动信息作为第二运动信息;使用所述第一运动信息和所述第二运动信息,构造所述当前块的帧间预测值。
第三方面,本申请实施例提供一种帧间预测装置,包括:第一确定模块,配置为:根据当前块在视频图像中的位置,确定第一运动信息和第二候选运动信息,其中,所述运动信息至少包括运动矢量;第一判断模块,配置为:判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;当判断结果为所述距离小于或等于所述第一阈值时,更新所述第二候选运动信息,得到第二运动信息;当判断结果为所述距离大于所述第一阈值时,将所述第二候选运动信息作为第二运动信息;第一预测模块,配置为:使用所述第一运动信息和所述第二运动信息,对所述当前块进行帧间预测。
第四方面,本申请实施例提供一种帧间预测装置,包括:解析模块,配置为:解析码流,获得当前块在视频图像中的位置;第二确定模块,配置为:根据所述位置,确定第一运动信息和第二候选运动信息,其中,所述运动信息至少包括运动矢量;第二判断模块,配置为:判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;当判断结果为所述距离小于或等于所述第一阈值时,更新所述第二候选运动信息,得到第二运动信息;当判断结果为所述距离大于所述第一阈值时,将所述第二候选运动信息作为第二运动信息;第二预测模块,配置为:使用所述第一运动信息和所述第二运动信息,构造所述当前块的帧间预测值。
第五方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例所述帧间预测方法中的步骤,或者执行所述程序时实现本申请实施例所述帧间预测方法中的步骤。
第五方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例所述帧间预测方法中的步骤,或者执行所述程序时实现本申请实施例所述帧间预测方法中的步骤。
本申请实施例中,在根据当前块在视频图像中的位置,确定第一运动信息和第二候选运动信息之后,不是直接使用这些运动信息对所述当前块进行帧间预测,而是在进行帧间预测之前,先判断所述第二候选运动信息是否满足条件,即判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;当判断结果为所述距离小于或等于所述第一阈值时,更新所述第二候选运动信息,得到第二运动信息;当判断结果为所述距离大于所述第一阈值时,将所述第二候选运动信息作为第二运动信息;基于此,使用所述第一运动信息和所述第二运动信息,对所述当前块进行帧间预测;如此,在运算次数基本不变的情况下提升编码性能。
附图说明
图1为本申请实施例网络架构的组成结构示意图;
图2A为本申请实施例视频图像编码器的结构示意图;
图2B为本申请实施例视频图像解码器的结构示意图;
图3为本申请实施例帧间预测方法的实现流程示意图;
图4为本申请实施例另一帧间预测方法的实现流程示意图;
图5为MMVD技术原理示意图;
图6为对两个初始运动矢量进行扩展后的运动矢量星座示意图;
图7为本申请实施例帧间预测装置的组成结构示意图;
图8为本申请实施例另一帧间预测装置的组成结构示意图;
图9为本申请实施例电子设备的一种硬件实体示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本实施例先提供一种网络架构,图1为本申请实施例网络架构的结构示意图,如图1所示,该网络架构包括一个或多个电子设备11至1K和通信网络01,其中电子设备11至1K可以通过通信网络01进行视频交互。电子设备在实施的过程中可以为各种类型的具有视频编解码功能的设备,例如,所述电子设备可以包括手机、平板电脑、个人计算机、电视机、服务器等。
所述电子设备具有视频编解码功能,包括视频图像编码器和/或视频图像解码器,例如,参见图2A所示,视频图像编码器21的组成结构包括:变换与量化单元211、帧内估计单元212、帧内预测单元213、运动补偿单元214、运动估计单元215、反变换与反量化单元216、滤波器控制分析单元217、滤波单元218、编码单元219和解码图像缓存单元210等;其中,滤波单元218可以实现去方块滤波及样本自适应缩进(Sample Adaptive 0ffset,SAO)滤波,编码单元219可以实现头信息编码及基于上下文的自适应二进制算术编码(Context-basedAdaptive Binary Arithmatic Coding,CABAC)。
针对输入的源视频数据,通过编码树块(Coding Tree Unit,CTU)的划分可以得到一个视频编码块,然后对经过帧内或帧间预测后得到的残差像素信息通过变换与量化单元211对该视频编码块进行变换,包括将残差信息从像素域变换到变换域,并对所得的变换系数进行量化,用以进一步减少比特率;帧内估计单元212和帧内预测单元213是用于对该视频编码块进行帧内预测;帧内估计单元212和帧内预测单元213用于确定待用以编码该视频编码块的帧内预测模式;运动补偿单元214和运动估计单元215用于执行所接收的视频编码块相对于一或多个参考帧中的一或多个块的帧间预测编码以提供时间预测信息;由运动估计单元215执行的运动估计为产生运动向量的过程,所述运动向量可以估计该视频编码块的运动,然后由运动补偿单元214基于由运动估计单元215所确定的运动向量执行运动补偿;在确定帧内预测模式之后,帧内预测单元213还用于将所选择的帧内预测数据提供到编码单元219,而且运动估计单元215将所计算确定的运动向量数据也发送到编码单元219;此外,反变换与反量化单元216是用于该视频编码块的重构建,在像素域中重构建残差块,该重构建残差块通过滤波器控制分析单元217和滤波单元218去除方块效应伪影,然后将该重构残差块添加到解码图像缓存单元210的帧中的一个预测性块,用以产生经重构建的视频编码块;编码单元219是用于编码各种编码参数及量化后的变换系数,在基于CABAC的编码算法中,上下文内容可基于相邻编码块,可用于编码指示所确定的帧内预测模式的信息,输出该源视频数据的码流;而解码图像缓存单元210是用于存放重构建的视频编码块,用于预测参考。随着视频图像编码的进行,会不断生成新的重构建的视频编码块,这些重构建的视频编码块都会被存放在解码图像缓存单元210中。
与视频图像编码器21对应的视频图像解码器22,其组成结构如图2B所示,包括:解码单元221、反变换与反量化单元222、帧内预测单元223、运动补偿单元224、滤波单元225和解码图像缓存单元226等,其中,解码单元221可以实现头信息解码以及CABAC解码,滤波单元225可以实现去方块滤波以及SAO滤波。输入的源视频数据经过图2A的编码处理之后,输出该源视频数据的码流;该码流输入视频图像解码器22中,首先经过解码单元221,用于得到解码后的变换系数;针对该变换系数通过反变换与反量化单元222进行处理,以便在像素域中产生残差块;帧内预测单元223可用于基于所确定的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频解码块的预测数据;运动补偿单元224是通过剖析运动向量和其他关联语法元素来确定用于视频解码块的预测信息,并使用该预测信息以产生正被解码的视频解码块的预测性块;通过对来自反变换与反量化单元222的残差块与由帧内预测单元223或运动补偿单元224产生的对应预测性块进行求和,而形成解码的视频块;得到的解码后的视频数据通过滤波单元225处理,以便去除方块效应伪影,可以改善视频质量;然后将经解码的视频数据存储于解码图像缓存单元226中,解码图像缓存单元226存储用于后续帧内预测或运动补偿的参考图像,同时也用于视频数据的输出。
下面结合附图和实施例对本申请实施例进行详细阐述。本申请实施例所提供的帧间预测方法,既可以应用于视频图像编码器21中,也可以应用于视频图像解码器22中,本申请实施例对此不作具体限定。
本申请实施例提供一种帧间预测方法,该方法应用于电子设备的视频图像编码器21中,该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
图3为本申请实施例帧间预测方法的实现流程示意图,如图3所示,所述方法至少包括以下步骤301至步骤305:
步骤301,根据当前块在视频图像中的位置,确定第一运动信息和第二候选运动信息,其中,所述运动信息至少包括运动矢量。
电子设备可以通过如下实施例中的步骤401和步骤402实现步骤301。
步骤302,判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;如果是,执行步骤303;否则,执行步骤304。
电子设备在实现步骤302时,可以判断所述第一运动信息的运动矢量所指向的位置与所述第二候选运动信息的运动矢量所指向的位置之间的距离是否大于第一阈值;在一个示例中,电子设备可以将两个运动矢量之间的欧氏距离作为所述两个运动矢量之间的距离,所述两个运动矢量分别为所述第一运动信息的运动矢量和所述第二候选运动信息的运动矢量;在另一个示例中,电子设备可以将所述两个运动矢量在水平方向和/或垂直方向的坐标差值作为所述两个运动矢量之间的距离。
步骤303,将所述第二候选运动信息作为第二运动信息,然后执行步骤305。
步骤304,更新所述第二候选运动信息,得到第二运动信息,然后执行步骤305。
电子设备实现步骤304的方法有很多种,例如,在一个示例中,电子设备可以将指向所述第二候选运动信息的运动矢量方向上与第一界线交点的运动矢量作为所述第二运动信息的运动矢量;其中,所述第一界线由以所述第一运动信息的运动矢量指向点为中心点、与所述中心点之间的距离等于所述第一阈值的点组成。
在另一个示例中,电子设备还可以将指向与所述第一候选运动信息的运动矢量之间距离为预设距离的点的运动矢量作为所述第二运动信息的运动矢量。其中,所述预设距离可以是1/2像素或1/4像素。
步骤305,使用所述第一运动信息和所述第二运动信息,对所述当前块进行帧间预测。
电子设备在实现步骤305时,可以根据所述位置,将通过预设的运动信息推导的方法得到的第一个运动信息作为所述第一运动信息;将通过所述预设的运动信息推导的方法得到的第二个运动信息作为所述第二候选运动信息。
本申请实施例再提供一种帧间预测方法,所述方法应用于电子设备的视频图像编码器21中,所述方法至少包括以下步骤401至步骤406:
步骤401,根据所述当前块在所述视频图像中的位置,将通过预设的运动信息推导的方法得到的第一个运动信息作为所述第一运动信息;
步骤402,将通过所述预设的运动信息推导的方法得到的第二个运动信息作为所述第二候选运动信息,其中,所述运动信息至少包括运动矢量;
在一个示例中,所述预设的运动信息推导的方法是融合(Merge)模式的运动信息推导的方法。
步骤403,判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;如果是,执行步骤404;否则,执行步骤405;
需要说明的是,在本申请实施例中,对于第一阈值的确定方法不做限定。第一阈值可以是预设值,也可以是电子设备自适应确定的值。第一阈值是预设值时,可以是分数像素精度表示的值,例如,第一阈值为1/2像素或1/4像素;第一阈值是自适应确定的值时,电子设备可以通过以下方法确定第一阈值,即,电子设备计算所述当前块的相邻块的多个运动矢量之间的相关性参数,将表征两个运动矢量之间相关性最大的相关性参数值对应的运动矢量之间的距离作为所述第一阈值。
步骤404,将所述第二候选运动信息作为第二运动信息,然后执行步骤406;
步骤405,更新所述第二候选运动信息,得到第二运动信息,然后执行步骤406;
电子设备实现步骤405的方法有很多种,例如,可以通过如下实施例所述的步骤506和步骤506实现,或者通过如下实施例所述的步骤605和步骤606实现。
步骤406,使用所述第一运动信息和所述第二运动信息,对所述当前块进行帧间预测。
本申请实施例再提供一种帧间预测方法,所述方法应用于电子设备的视频图像编码器21中,所述方法至少包括以下步骤501至步骤507:
步骤501,根据所述当前块在所述视频图像中的位置,将通过预设的运动信息推导的方法得到的第一个运动信息作为所述第一运动信息;
步骤502,将通过所述预设的运动信息推导的方法得到的第二个运动信息作为所述第二候选运动信息,其中,所述运动信息至少包括运动矢量;
在一个示例中,所述预设的运动信息推导的方法是融合(Merge)模式的运动信息推导的方法。
步骤503,判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;如果是,执行步骤504;否则,执行步骤505;
步骤504,将所述第二候选运动信息作为第二运动信息,然后执行步骤507;
步骤505,在获得所述第二个候选运动信息后,继续使用所述预设的运动信息推导的方法得到推导的运动信息;
步骤506,当所述第一运动信息的运动矢量和所述推导的运动信息的运动矢量之间的距离大于所述第一阈值时,将所述推导的运动信息作为所述第二运动信息,然后执行步骤507;
在其他实施例中,当所述第一运动信息的运动矢量和所述推导的运动信息的运动矢量之间的距离小于或等于所述第一阈值时,电子设备继续使用所述预设的运动信息推导的方法,执行于类似于步骤503的步骤,直到确定出所述第二运动信息为止,进入步骤507。
步骤507,使用所述第一运动信息和所述第二运动信息,对所述当前块进行帧间预测。
本申请实施例再提供一种帧间预测方法,所述方法应用于电子设备的视频图像编码器21中,所述方法至少包括以下步骤601至步骤607:
步骤601,根据所述当前块在所述视频图像中的位置,将通过预设的运动信息推导的方法得到的第一个运动信息作为所述第一运动信息;
步骤602,将通过所述预设的运动信息推导的方法得到的第二个运动信息作为所述第二候选运动信息,其中,所述运动信息至少包括运动矢量;
在一个示例中,所述预设的运动信息推导的方法是融合(Merge)模式的运动信息推导的方法。
步骤603,判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;如果是,执行步骤604;否则,执行步骤605;
步骤604,将所述第二候选运动信息作为第二运动信息,然后执行步骤607;
步骤605,在获得所述第二个候选运动信息后,继续使用所述预设的运动信息推导的方法得到推导的运动信息;
步骤606,当所述第一运动信息的运动矢量与通过所述预设的运动信息推导的方法而得到的任一运动信息的运动矢量之间的距离小于或等于所述第一阈值时,将指定的一个推导的运动信息作为所述第二运动信息,然后执行步骤607;
步骤607,使用所述第一运动信息和所述第二运动信息,对所述当前块进行帧间预测。
本申请实施例再提供一种帧间预测方法,所述方法应用于电子设备的视频图像编码器21中,所述方法至少包括以下步骤701至步骤707:
步骤701,根据当前块在视频图像中的位置,确定第一运动信息和第二候选运动信息,其中,所述运动信息至少包括运动矢量;
步骤702,判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;如果是,执行步骤703;否则,执行步骤704;
步骤703,将所述第二候选运动信息作为第二运动信息,然后执行步骤705;
步骤704,更新所述第二候选运动信息,得到第二运动信息,然后执行步骤705;
步骤705,从所述第一运动信息和所述第二运动信息所指示的候选运动信息中,选择最优运动信息;
电子设备在实现时,可以使用运动矢量偏移的融合模式MMVD的方法,确定所述第一运动信息和所述第二运动信息所指示的候选运动信息。在其他实施例中,电子设备可以使用率失真优化的方法确定所述最优运动信息。
步骤706,使用所述最优运动信息,构造所述当前块的帧间预测值;
步骤707,对用于指示所述最优运动信息的参数进行编码,并写入码流。
本申请实施例再提供一种帧间预测方法,所述方法应用于电子设备的视频图像解码器22中,图4为本申请实施例帧间预测方法的实现流程示意图,如图4所示,所述方法至少包括以下步骤801至步骤806:
步骤801,解析码流,获得当前块在视频图像中的位置;
步骤802,根据所述位置,确定第一运动信息和第二候选运动信息,其中,所述运动信息至少包括运动矢量;
电子设备在实现步骤802时,可以根据所述位置,将通过预设的运动信息推导的方法得到的第一个运动信息作为所述第一运动信息;将通过所述预设的运动信息推导的方法得到的第二个运动信息作为所述第二候选运动信息。在一个示例中,所述预设的运动信息推导的方法是融合(Merge)模式的运动信息推导的方法。
步骤803,判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;如果是,执行步骤804;否则,执行步骤805;
电子设备在实现步骤803时,可以判断所述第一运动信息的运动矢量所指向的位置与所述第二候选运动信息的运动矢量所指向的位置之间的距离是否大于第一阈值。在一个示例中,电子设备可以将两个运动矢量之间的欧氏距离作为所述两个运动矢量之间的距离,所述两个运动矢量分别为所述第一运动信息的运动矢量和所述第二候选运动信息的运动矢量。在另一个示例中,电子设备可以将所述两个运动矢量在水平方向和/或垂直方向的坐标差值作为所述两个运动矢量之间的距离。
需要说明的是,在本申请实施例中,对于第一阈值的确定方法不做限定。第一阈值可以是预设值,也可以是电子设备自适应确定的值。第一阈值是预设值时,可以是分数像素精度表示的值,例如,第一阈值为1/2像素或1/4像素;第一阈值是自适应确定的值时,电子设备可以通过以下方法确定第一阈值,即,电子设备计算所述当前块的相邻块的多个运动矢量之间的相关性参数,将表征两个运动矢量之间相关性最大的相关性参数值对应的运动矢量之间的距离作为所述第一阈值。
步骤804,将所述第二候选运动信息作为第二运动信息,然后进入步骤806;
步骤805,更新所述第二候选运动信息,得到第二运动信息,然后进入步骤806;
电子设备实现步骤805的方法有很多种。在示例1中,电子设备可以在获得所述第二个候选运动信息后,继续使用所述预设的运动信息推导的方法得到推导的运动信息;当所述第一运动信息的运动矢量和所述推导的运动信息的运动矢量之间的距离大于所述第一阈值时,将所述推导的运动信息作为所述第二运动信息;
在示例2中,电子设备可以在获得所述第二个候选运动信息后,继续使用所述预设的运动信息推导的方法得到推导的运动信息;当所述第一运动信息的运动矢量与通过所述预设的运动信息推导的方法而得到的任一运动信息的运动矢量之间的距离小于或等于所述第一阈值时,将指定的一个推导的运动信息作为所述第二运动信息。
在示例3中,电子设备可以将指向所述第二候选运动信息的运动矢量方向上与第一界线交点的运动矢量作为所述第二运动信息的运动矢量;其中,所述第一界线由以所述第一运动信息的运动矢量指向点为中心点、与所述中心点之间的距离等于所述第一阈值的点组成。
在示例4中,电子设备可以将指向与所述第一候选运动信息的运动矢量之间距离为预设距离的点的运动矢量作为所述第二运动信息的运动矢量。
步骤806,使用所述第一运动信息和所述第二运动信息,构造所述当前块的帧间预测值。
电子设备在实现步骤806时,可以解析码流,获得用于指示用于构造所述当前块的帧间预测值的运动信息的参数;根据所述运动信息的参数,从所述第一运动信息和所述第二运动信息指示的候选运动信息中选择运动矢量;根据所述运动信息的参数,计算运动矢量修正量;将所述选择的运动矢量与所述运动矢量的修正量之和,作为所述当前块的运动矢量;使用所述当前块的运动矢量,构造所述当前块的帧间预测值。
在一个示例中,电子设备可以使用运动矢量偏移的融合模式MMVD的方法,确定所述第一运动信息和所述第二运动信息所指示的候选运动信息。
MMVD技术,应用于帧间预测中的Skip模式和Merge模式中,是一种运动矢量的特殊表达形式。MMVD技术主要通过以下流程实现:
a)构造MMVD候选运动信息:当Merge候选列表中的候选运动信息数量为1时,使用该候选运动信息作为MMVD候选运动信息;当列表中的候选运动信息的数量大于1时,将Merge候选列表中的前两个候选运动信息作为MMVD候选运动信息;其中,所述运动信息可以包括:运动矢量、参考图像索引、参考图像列表索引。在MMVD候选运动信息中,选择其中的一个作为初始运动矢量(简称起始点,即所述第一运动信息中的运动矢量),然后通过以下方法进行扩展,以得到扩展运动矢量(简称预设点);
b)在编码端,视频图像编码器可以选择包括起始点在内的预设点计算当前块的匹配误差,选择匹配误差最小的预设点作为匹配点,将起始点、匹配点与起始点之间的位置偏移量参数写入码流;在解码端,视频图像解码器解析码流,获得起始点、匹配点与起始点之间的位置偏移量参数,确定起始点和位置偏移量,确定匹配点的位置,进而确定当前解码块的预测值。其中,匹配点与起始点之间的位置偏移量参数主要包括搜索步长和移动方向。
首先,通过VVC中的Merge候选列表构建的过程,得到当前编码单元(CU)的候选运动矢量列表。然后,对于列表中的每个候选运动矢量,都进行如(b)所述的语法扩展:将每个候选运动矢量作为初始运动矢量,以该初始运动矢量在参考图像中所指向的位置为起始点,在上下左右四个方向上,进行8种不同步长的搜索,如图5所示。每个初始运动矢量在每个方向上的每种步长都会形成一个新的运动矢量,通过该运动矢量进行一次运动补偿得到当前编码单元的预测值。再对当前所有的预测值之间进行率失真代价的比较,选出最优的一种语法元素的组合,记录初始运动矢量在Merge候选列表中的位置、搜索方向和搜索步长的索引三个语法元素。
考虑到算法复杂度和性能的折中,目前该算法中使用Merge候选列表的前两个候选运动矢量作为初始运动矢量。对于8种搜索步长和4个搜索方向,索引参考如下表所示:
表1初始运动矢量索引
Figure BDA0003315018640000081
表2搜索步长索引
步长索引 0 1 2 3 4 5 6 7
像素距离 1/4 1/2 1 2 4 8 16 32
表3搜索方向索引
Figure BDA0003315018640000091
MMVD技术影响视频编码混合框架中的帧间预测部分,具体应用于帧间预测中的Merge模式和Skip模式部分。对视频图像编码器和视频图像解码器同时作用。MMVD技术可应用于视频编解码芯片中,使用多方向异步长的MMVD技术进行帧间预测,提升编码性能。
相关技术中,重用VVC中的Merge候选运动矢量,固定地选取Merge候选列表的前两个候选运动信息中的运动矢量作为初始运动矢量,这样可能会导致选取的两个初始运动矢量相距太近甚至重叠的现象。
例如,以第一个初始运动矢量点作为圆心,将阈值范围设置为1/4像素距离的圆周内,如果第二个初始运动矢量点在阈值范围之内或者在阈值范围的边界处,都将其视为与第一个初始运动矢量点重叠。如图6所示的搜索星座图,以倍数增加的搜索距离为半径,以上述选取的每一初始运动矢量点为圆心画圆,依次向远处拓展,得到多个扩展运动矢量点;其中,图6中的黑色棋子代表第一个初始运动矢量点和其对应的扩展运动矢量点;白色棋子代表第二个初始运动矢量和其对应的扩展运动矢量点。从图6中可以看出,第二个初始运动矢量点正好在第一个初始运动矢量点水平方向上的1/4像素距离处,并且两个初始运动矢量点的扩展运动矢量点在水平方向上有重叠现象。
由此可见,如果两个初始运动矢量指示的起始点之间的距离过小,将导致第二个初始运动矢量的扩展运动矢量位置与第一个初始运动矢量的部分或者全部扩展运动矢量位置相重叠,即第二个初始运动矢量并没有提供更多有价值的候选运动矢量位置,这就降低了MMVC模式下的编码效率。
基于此,下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
在本申请实施例中,提供一种基于候选检查的MMVD技术。该技术在原有MMVD初始点选取的时候附加一步查重的步骤。也就是,在第一个初始运动矢量点选取完成后,判断Merge候选列表中的第二个候选运动矢量点是否在第一个初始运动矢量点的一个阈值范围之内;如果是,则跳过当前候选运动矢量点,继续判断下一个候选运动矢量点是否在第一个初始运动矢量点的阈值范围之内,直到不满足判断条件为止,将当前遍历到的候选运动矢量点作为第二个初始运动矢量点。
也就是说,在本申请实施例中,依然重用VVC中的Merge候选列表中的两个候选运动矢量作为初始运动矢量。但是,在本申请实施例中并不局限于选取Merge候选列表中的前两个候选运动矢量作为初始运动矢量,而是在将该列表中的第一个候选运动矢量作为第一个初始运动矢量的基础上,对第二个起始点加以判断,若满足判断条件,说明两个起始点相距太近,则重新选择第二个起始点,继续对列表中的后续候选运动矢量依次加以判断,直到不满足判断条件时,将当前遍历到的候选运动矢量作为第二个初始运动矢量。对于每个初始运动矢量,依然使用原有的初始运动矢量索引、搜索方向和搜索步长三个语法元素来进行扩展表示。
本申请实施例所提供的MMVD技术在VVC参考软件VTM6.0上实现后,在随机接入(Random Access)条件下对JVET要求的测试序列进行测试,结果表明编码性能得到提升。
在不影响编码性能的前提下,本申请实施例能够获得以下有益效果:
1)本申请实施例可以在运算次数基本不变的情况下提升编码性能。相关技术中要对两个初始运动矢量做扩展表示,共计要比较2*4*8=64次,其中2代表两个初始运动矢量,4代表搜索方向,8代表搜索步长。在本申请实施例中,依然是对2个初始运动矢量进行扩展表示,包括8个搜索方向和4个搜索步长,共计2*8*4=64次比较。由此可见,本申请实施例可以在保持和相关技术相同运算量的情况下,提升整体的编码性能。
2)本申请实施例可以基本保持解码端复杂度不变。相关技术在解码端通过解码3个语法元素,对初始运动矢量进行扩展表示,以进行运动补偿最终得到重建块。在本申请实施例中,依然是通过解码3个语法元素来对初始运动矢量进行扩展表示,只是在选择第二个初始运动矢量点的时候多加一个是否在第一个初始运动矢量点阈值范围内的判断,是则跳出当前循环继续下一个候选运动矢量的判断,最坏情况下为3次阈值判断,因此复杂度基本保持不变。
在本申请实施例中,在选取第一个初始运动矢量点的基础上,检查第二个初始运动矢量点是否与第一个初始运动矢量相距过近,以免导致以这两个初始运动矢量点为起始点,得到的扩展运动矢量发生重叠。
在其他实施例中,将上述实施例中用于判断距离是否过于接近1/4像素改为其他值,如1/2像素。
在其他实施例中,将上述实施例中用于判断距离是否过于接近1/4像素改为可变值,通过在比特流中的新增语法元素传输该值。如在序列层参数集(sps)中设置相应语法元素并指示用于判断的距离阈值。
在其他实施例中,如果第二个初始运动矢量点距离第一个初始运动矢量点过近,也可以在第二个初始运动矢量点的基础上,对该点在某个特定的方向上进行特定步长的像素偏移,使两个初始运动矢量点相距在不可重叠的位置。这样仍旧使用Merge候选列表中的前两个候选运动矢量作为初始运动矢量,只需要对第二个初始运动矢量做一定的偏移调整即可。
在其他实施例中,如果Merge候选列表中多个运动矢量都很接近,则在此情况下构造一个新的运动矢量作为初始运动矢量。新的运动矢量的构造,可以这样实现:选择从第一个初始运动矢量,向第二候选运动矢量方向偏移1/2像素(该距离阈值也可以选取其他值,或从码流中传输一个可选值),从而得到新的运动矢量。
在其他实施例中,如果Merge候选列表中本来就只有一个候选运动矢量,则在此情况下构造一个新的运动矢量作为初始运动矢量。新的运动矢量的构造,可以这样实现:选择从该候选运动矢量向任一方向偏移1/2像素(该距离阈值也可以选取其他值,或从码流中传输一个可选值),从而得到新的运动矢量。
在其他实施例中,如果Merge候选列表中有多个运动矢量都很接近,选取这些相近的运动矢量中位置居中的一个作为第一初始运动矢量。
在其他实施例中,可以依据当前块的尺寸来选择用于判断距离是否过于接近的距离阈值。例如当前块的尺寸大于或等于8*8,则使用1/2像素作为距离阈值,否则使用1像素作为距离阈值。
在其他实施例中,还可以依据周围块的运动矢量来确定用于判断距离是否过于接近的距离阈值。例如,使用周围块的运动矢量(或Merge候选列表中的所有运动矢量)的矢量长度的均值作为距离阈值。
基于前述的实施例,本申请实施例提供一种帧间预测装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图7为本申请实施例帧间预测装置的组成结构示意图,如图7所示,所述装置700包括第一确定模块701、第一判断模块702和第一预测模块703,其中:
第一确定模块701,配置为:根据当前块在视频图像中的位置,确定第一运动信息和第二候选运动信息,其中,所述运动信息至少包括运动矢量;
第一判断模块702,配置为:判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;当判断结果为所述距离小于或等于所述第一阈值时,更新所述第二候选运动信息,得到第二运动信息;当判断结果为所述距离大于所述第一阈值时,将所述第二候选运动信息作为第二运动信息;
第一预测模块703,配置为:使用所述第一运动信息和所述第二运动信息,对所述当前块进行帧间预测。
在其他实施例中,第一确定模块701,配置为:根据所述当前块在所述视频图像中的位置,将通过预设的运动信息推导的方法得到的第一个运动信息作为所述第一运动信息;将通过所述预设的运动信息推导的方法得到的第二个运动信息作为所述第二候选运动信息。
在其他实施例中,所述预设的运动信息推导的方法是融合(Merge)模式的运动信息推导的方法。
在其他实施例中,第一判断模块702,配置为:判断所述第一运动信息的运动矢量所指向的位置与所述第二候选运动信息的运动矢量所指向的位置之间的距离是否大于第一阈值。
在其他实施例中,将两个运动矢量之间的欧氏距离作为所述两个运动矢量之间的距离,所述两个运动矢量分别为所述第一运动信息的运动矢量和所述第二候选运动信息的运动矢量。
在其他实施例中,将所述两个运动矢量在水平方向和/或垂直方向的坐标差值作为所述两个运动矢量之间的距离。
在其他实施例中,所述第一阈值是预设值。
在其他实施例中,所述预设值是分数像素精度表示的值。
在其他实施例中,所述预设值为1/2像素或1/4像素。
在其他实施例中,所述第一阈值是自适应确定的值。
在其他实施例中,第一判断模块702,还配置为:计算所述当前块的相邻块的多个运动矢量之间的相关性参数,将表征两个运动矢量之间相关性最大的相关性参数值对应的运动矢量之间的距离作为所述第一阈值。
在其他实施例中,第一判断模块702,配置为:在获得所述第二个候选运动信息后,继续使用所述预设的运动信息推导的方法得到推导的运动信息;当所述第一运动信息的运动矢量和所述推导的运动信息的运动矢量之间的距离大于所述第一阈值时,将所述推导的运动信息作为所述第二运动信息。
在其他实施例中,第一判断模块702,配置为:在获得所述第二个候选运动信息后,继续使用所述预设的运动信息推导的方法得到推导的运动信息;当所述第一运动信息的运动矢量与通过所述预设的运动信息推导的方法而得到的任一运动信息的运动矢量之间的距离小于或等于所述第一阈值时,将指定的一个推导的运动信息作为所述第二运动信息。
在其他实施例中,第一判断模块702,配置为:将指向所述第二候选运动信息的运动矢量方向上与第一界线交点的运动矢量作为所述第二运动信息的运动矢量;其中,所述第一界线由以所述第一运动信息的运动矢量指向点为中心点、与所述中心点之间的距离等于所述第一阈值的点组成。
在其他实施例中,第一判断模块702,配置为:将指向与所述第一候选运动信息的运动矢量之间距离为预设距离的点的运动矢量作为所述第二运动信息的运动矢量。
在其他实施例中,所述预设距离是1/2像素或1/4像素。
在其他实施例中,第一预测模块703,配置为:从所述第一运动信息和所述第二运动信息所指示的候选运动信息中,选择最优运动信息;使用所述最优运动信息,构造所述当前块的帧间预测值。
在其他实施例中,第一确定模块701,配置为:使用运动矢量偏移的融合模式MMVD的方法,确定所述第一运动信息和所述第二运动信息所指示的候选运动信息。
在其他实施例中,第一确定模块701,配置为:使用率失真优化的方法确定所述最优运动信息。
在其他实施例中,所述装置700还包括发送模块,配置为:对用于指示所述最优运动信息的参数进行编码,并写入码流。
本申请实施例提供一种帧间预测装置,图8为本申请实施例帧间预测装置的组成结构示意图,如图8所示,所述装置800包括解析模块801、第二确定模块802、第二判断模块803和第二预测模块804,其中:
解析模块801,配置为:解析码流,获得当前块在视频图像中的位置;
第二确定模块802,配置为:根据所述位置,确定第一运动信息和第二候选运动信息,其中,所述运动信息至少包括运动矢量;
第二判断模块803,配置为:判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;当判断结果为所述距离小于或等于所述第一阈值时,更新所述第二候选运动信息,得到第二运动信息;当判断结果为所述距离大于所述第一阈值时,将所述第二候选运动信息作为第二运动信息;
第二预测模块804,配置为:使用所述第一运动信息和所述第二运动信息,构造所述当前块的帧间预测值。
在其他实施例中,第二确定模块802,配置为:根据所述位置,将通过预设的运动信息推导的方法得到的第一个运动信息作为所述第一运动信息;将通过所述预设的运动信息推导的方法得到的第二个运动信息作为所述第二候选运动信息。
在其他实施例中,所述预设的运动信息推导的方法是融合(Merge)模式的运动信息推导的方法。
在其他实施例中,第二判断模块803,配置为:判断所述第一运动信息的运动矢量所指向的位置与所述第二候选运动信息的运动矢量所指向的位置之间的距离是否大于第一阈值。
在其他实施例中,将两个运动矢量之间的欧氏距离作为所述两个运动矢量之间的距离,所述两个运动矢量分别为所述第一运动信息的运动矢量和所述第二候选运动信息的运动矢量。
在其他实施例中,将所述两个运动矢量在水平方向和/或垂直方向的坐标差值作为所述两个运动矢量之间的距离。
在其他实施例中,所述第一阈值是预设值。
在其他实施例中,所述预设值是分数像素精度表示的值。
在其他实施例中,所述预设值为1/2像素或1/4像素。
在其他实施例中,所述第一阈值是自适应确定的值。
在其他实施例中,第二判断模块803,还配置为:计算所述当前块的相邻块的多个运动矢量之间的相关性参数值,将表征两个运动矢量之间相关性最大的相关性参数值对应的运动矢量之间的距离作为所述第一阈值。
在其他实施例中,第二判断模块803,配置为:在获得所述第二个候选运动信息后,继续使用所述预设的运动信息推导的方法得到推导的运动信息;当所述第一运动信息的运动矢量和所述推导的运动信息的运动矢量之间的距离大于所述第一阈值时,将所述推导的运动信息作为所述第二运动信息。
在其他实施例中,第二判断模块803,配置为:在获得所述第二个候选运动信息后,继续使用所述预设的运动信息推导的方法得到推导的运动信息;当所述第一运动信息的运动矢量与通过所述预设的运动信息推导的方法而得到的任一运动信息的运动矢量之间的距离小于或等于所述第一阈值时,将指定的一个推导的运动信息作为所述第二运动信息。
在其他实施例中,第二判断模块803,配置为:将指向所述第二候选运动信息的运动矢量方向上与第一界线交点的运动矢量作为所述第二运动信息的运动矢量;其中,所述第一界线由以所述第一运动信息的运动矢量指向点为中心点、与所述中心点之间的距离等于所述第一阈值的点组成。
在其他实施例中,第二判断模块803,配置为:将指向与所述第一候选运动信息的运动矢量之间距离为预设距离的点的运动矢量作为所述第二运动信息的运动矢量。
在其他实施例中,第二预测模块804,配置为:解析码流,获得用于指示用于构造所述当前块的帧间预测值的运动信息的参数;根据所述运动信息的参数,从所述第一运动信息和所述第二运动信息指示的候选运动信息中选择运动矢量;根据所述运动信息的参数,计算运动矢量修正量;将所述选择的运动矢量与所述运动矢量的修正量之和,作为所述当前块的运动矢量;使用所述当前块的运动矢量,构造所述当前块的帧间预测值。
在其他实施例中,第二确定模块802,配置为:使用运动矢量偏移的融合模式MMVD的方法,确定所述第一运动信息和所述第二运动信息所指示的候选运动信息。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的帧间预测方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是手机、平板电脑、台式机、服务器、电视机、音频播放器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,图9为本申请实施例的一种电子设备的硬件实体示意图,如图9所示,所述电子设备900包括存储器901和处理器902,所述存储器901存储有可在处理器902上运行的计算机程序,所述处理器902执行所述程序时实现上述实施例中提供的帧间预测方法中的步骤。
需要说明的是,存储器901配置为存储由处理器902可执行的指令和应用,还可以缓存待处理器902以及电子设备900中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(RandomAccess Memory,RAM)实现。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的帧间预测方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是手机、平板电脑、台式机、服务器、电视机、音频播放器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
工业实用性
本申请实施例中,在根据当前块在视频图像中的位置,确定第一运动信息和第二候选运动信息之后,不是直接使用这些运动信息对所述当前块进行帧间预测,而是在进行帧间预测之前,先判断所述第二候选运动信息是否满足条件,即判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;当判断结果为所述距离小于或等于所述第一阈值时,更新所述第二候选运动信息,得到第二运动信息;当判断结果为所述距离大于所述第一阈值时,将所述第二候选运动信息作为第二运动信息;基于此,使用所述第一运动信息和所述第二运动信息,对所述当前块进行帧间预测;如此,在运算次数基本不变的情况下提升编码性能。

Claims (18)

1.一种帧间预测方法,应用于视频图像编码器,包括:
根据当前块在视频图像中的位置,确定第一运动信息和第二候选运动信息,其中,所述运动信息至少包括运动矢量;
判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;
当判断结果为所述距离小于或等于所述第一阈值时,更新所述第二候选运动信息,得到第二运动信息;当判断结果为所述距离大于所述第一阈值时,将所述第二候选运动信息作为第二运动信息;
使用所述第一运动信息和所述第二运动信息,对所述当前块进行帧间预测。
2.根据权利要求1所述方法,所述判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值,包括:
判断所述第一运动信息的运动矢量所指向的位置与所述第二候选运动信息的运动矢量所指向的位置之间的距离是否大于第一阈值。
3.根据权利要求2所述方法,还包括:
将所述两个运动矢量在水平方向和/或垂直方向的坐标差值作为所述两个运动矢量之间的距离。
4.根据权利要求2所述方法,所述第一阈值是预设值。
5.一种帧间预测方法,应用于视频图像解码器,包括:
解析码流,获得当前块在视频图像中的位置;
根据所述位置,确定第一运动信息和第二候选运动信息,其中,所述运动信息至少包括运动矢量;
判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;
当判断结果为所述距离小于或等于所述第一阈值时,更新所述第二候选运动信息,得到第二运动信息;当判断结果为所述距离大于所述第一阈值时,将所述第二候选运动信息作为第二运动信息;
使用所述第一运动信息和所述第二运动信息,构造所述当前块的帧间预测值。
6.根据权利要求5所述方法,所述判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值,包括:
判断所述第一运动信息的运动矢量所指向的位置与所述第二候选运动信息的运动矢量所指向的位置之间的距离是否大于第一阈值。
7.根据权利要求6所述方法,还包括:
将所述两个运动矢量在水平方向和/或垂直方向的坐标差值作为所述两个运动矢量之间的距离。
8.根据权利要求6所述方法,所述第一阈值是预设值。
9.一种编码装置,包括:
第一确定模块,配置为:根据当前块在视频图像中的位置,确定第一运动信息和第二候选运动信息,其中,所述运动信息至少包括运动矢量;
第一判断模块,配置为:判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;当判断结果为所述距离小于或等于所述第一阈值时,更新所述第二候选运动信息,得到第二运动信息;当判断结果为所述距离大于所述第一阈值时,将所述第二候选运动信息作为第二运动信息;
第一预测模块,配置为:使用所述第一运动信息和所述第二运动信息,对所述当前块进行帧间预测。
10.根据权利要求9所述编码装置,所述第一判断模块配置为:
判断所述第一运动信息的运动矢量所指向的位置与所述第二候选运动信息的运动矢量所指向的位置之间的距离是否大于第一阈值。
11.根据权利要求10所述编码装置,所述第一判断模块还配置为:
将所述两个运动矢量在水平方向和/或垂直方向的坐标差值作为所述两个运动矢量之间的距离。
12.根据权利要求10所述编码装置,所述第一阈值是预设值。
13.一种解码装置,包括:
解析模块,配置为:解析码流,获得当前块在视频图像中的位置;
第二确定模块,配置为:根据所述位置,确定第一运动信息和第二候选运动信息,其中,所述运动信息至少包括运动矢量;
第二判断模块,配置为:判断所述第一运动信息的运动矢量与所述第二候选运动信息的运动矢量之间的距离是否大于第一阈值;当判断结果为所述距离小于或等于所述第一阈值时,更新所述第二候选运动信息,得到第二运动信息;当判断结果为所述距离大于所述第一阈值时,将所述第二候选运动信息作为第二运动信息;
第二预测模块,配置为:使用所述第一运动信息和所述第二运动信息,构造所述当前块的帧间预测值。
14.根据权利要求13所述解码装置,所述第二判断模块配置为:
判断所述第一运动信息的运动矢量所指向的位置与所述第二候选运动信息的运动矢量所指向的位置之间的距离是否大于第一阈值。
15.根据权利要求14所述解码装置,所述第二判断模块还配置为:
将所述两个运动矢量在水平方向和/或垂直方向的坐标差值作为所述两个运动矢量之间的距离。
16.根据权利要求14所述解码装置,所述第一阈值是预设值。
17.一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至4任一项所述帧间预测方法中的步骤,或者执行所述程序时实现权利要求5至8任一项所述帧间预测方法中的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至4任一项所述帧间预测方法中的步骤,或者执行所述程序时实现权利要求5至8任一项所述帧间预测方法中的步骤。
CN202111228352.9A 2019-09-24 2019-09-24 帧间预测方法及装置、设备、存储介质 Active CN113992914B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111228352.9A CN113992914B (zh) 2019-09-24 2019-09-24 帧间预测方法及装置、设备、存储介质

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/CN2019/107615 WO2021056225A1 (zh) 2019-09-24 2019-09-24 帧间预测方法及装置、设备、存储介质
CN201980092748.XA CN113498608A (zh) 2019-09-24 2019-09-24 帧间预测方法及装置、设备、存储介质
CN202111228352.9A CN113992914B (zh) 2019-09-24 2019-09-24 帧间预测方法及装置、设备、存储介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980092748.XA Division CN113498608A (zh) 2019-09-24 2019-09-24 帧间预测方法及装置、设备、存储介质

Publications (2)

Publication Number Publication Date
CN113992914A true CN113992914A (zh) 2022-01-28
CN113992914B CN113992914B (zh) 2023-04-14

Family

ID=75166328

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202111228352.9A Active CN113992914B (zh) 2019-09-24 2019-09-24 帧间预测方法及装置、设备、存储介质
CN201980092748.XA Pending CN113498608A (zh) 2019-09-24 2019-09-24 帧间预测方法及装置、设备、存储介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201980092748.XA Pending CN113498608A (zh) 2019-09-24 2019-09-24 帧间预测方法及装置、设备、存储介质

Country Status (6)

Country Link
US (2) US11924459B2 (zh)
EP (1) EP3952314B1 (zh)
JP (1) JP7437426B2 (zh)
KR (1) KR20220064950A (zh)
CN (2) CN113992914B (zh)
WO (1) WO2021056225A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3952314B1 (en) 2019-09-24 2024-07-17 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Inter-frame prediction method and apparatus, device and storage medium
CN115529459B (zh) * 2022-10-10 2024-02-02 格兰菲智能科技有限公司 中心点搜索方法、装置、计算机设备、存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002101416A (ja) * 2000-09-25 2002-04-05 Fujitsu Ltd 画像制御装置
CN1585487A (zh) * 2004-05-21 2005-02-23 中国科学院计算技术研究所 一种运动矢量预测的方法
CN101827269A (zh) * 2010-01-15 2010-09-08 香港应用科技研究院有限公司 视频编码方法和装置
CN102474619A (zh) * 2009-07-20 2012-05-23 三星电子株式会社 运动矢量预测方法以及使用该方法对图像编码和解码的设备和方法
KR20130050903A (ko) * 2011-11-08 2013-05-16 삼성전자주식회사 비디오 부호화 또는 비디오 복호화를 위한 움직임 벡터 결정 방법 및 장치
JP2017005763A (ja) * 2010-08-17 2017-01-05 エム アンド ケー ホールディングス インコーポレイテッド 動画復号化装置
WO2017048008A1 (ko) * 2015-09-17 2017-03-23 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
WO2019049912A1 (ja) * 2017-09-08 2019-03-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN109922336A (zh) * 2017-12-12 2019-06-21 华为技术有限公司 视频数据的帧间预测方法和装置
CN110149512A (zh) * 2018-09-14 2019-08-20 腾讯科技(深圳)有限公司 帧间预测加速方法、控制装置、电子装置、计算机存储介质及设备
CN113498608A (zh) * 2019-09-24 2021-10-12 Oppo广东移动通信有限公司 帧间预测方法及装置、设备、存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100473168C (zh) * 2005-06-21 2009-03-25 中国科学院计算技术研究所 视频编码的运动矢量空间预测方法
US8675736B2 (en) * 2009-05-14 2014-03-18 Qualcomm Incorporated Motion vector processing
BR112012019560B1 (pt) * 2010-02-05 2021-08-24 Telefonaktiebolaget Lm Ericsson Método para gerenciar candidatos a vetor de movimento predito, e, aparelhos de codificação e de decodificação de vídeo
CN102547258B (zh) * 2010-12-14 2015-05-20 联芯科技有限公司 一种帧间编码中子象素搜索方法、运动搜索方法及其模块
US20130301727A1 (en) * 2012-05-14 2013-11-14 Qualcomm Incorporated Programmable and scalable integer search for video encoding
IN2014KN02890A (zh) * 2012-06-19 2015-05-08 Lg Electronics Inc
EP3866473A4 (en) * 2018-10-09 2023-02-15 Samsung Electronics Co., Ltd. VIDEO DECODING METHOD AND APPARATUS, AND VIDEO ENCODING METHOD AND APPARATUS
WO2020141911A1 (ko) * 2019-01-02 2020-07-09 엘지전자 주식회사 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
CN113330739A (zh) * 2019-01-16 2021-08-31 北京字节跳动网络技术有限公司 Lut中的运动候选的***顺序
JP2020145650A (ja) * 2019-03-08 2020-09-10 シャープ株式会社 画像復号装置および画像符号化装置
CN110213590B (zh) * 2019-06-25 2022-07-12 浙江大华技术股份有限公司 时域运动矢量获取、帧间预测、视频编码的方法及设备

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002101416A (ja) * 2000-09-25 2002-04-05 Fujitsu Ltd 画像制御装置
CN1585487A (zh) * 2004-05-21 2005-02-23 中国科学院计算技术研究所 一种运动矢量预测的方法
CN102474619A (zh) * 2009-07-20 2012-05-23 三星电子株式会社 运动矢量预测方法以及使用该方法对图像编码和解码的设备和方法
CN101827269A (zh) * 2010-01-15 2010-09-08 香港应用科技研究院有限公司 视频编码方法和装置
JP2017005763A (ja) * 2010-08-17 2017-01-05 エム アンド ケー ホールディングス インコーポレイテッド 動画復号化装置
KR20130050903A (ko) * 2011-11-08 2013-05-16 삼성전자주식회사 비디오 부호화 또는 비디오 복호화를 위한 움직임 벡터 결정 방법 및 장치
WO2017048008A1 (ko) * 2015-09-17 2017-03-23 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
WO2019049912A1 (ja) * 2017-09-08 2019-03-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN109922336A (zh) * 2017-12-12 2019-06-21 华为技术有限公司 视频数据的帧间预测方法和装置
CN110149512A (zh) * 2018-09-14 2019-08-20 腾讯科技(深圳)有限公司 帧间预测加速方法、控制装置、电子装置、计算机存储介质及设备
CN113498608A (zh) * 2019-09-24 2021-10-12 Oppo广东移动通信有限公司 帧间预测方法及装置、设备、存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
林琪等: "面向AVS2的快速帧间预测算法", 《电视技术》 *

Also Published As

Publication number Publication date
KR20220064950A (ko) 2022-05-19
CN113498608A (zh) 2021-10-12
EP3952314A1 (en) 2022-02-09
US20240163470A1 (en) 2024-05-16
EP3952314B1 (en) 2024-07-17
US20220053211A1 (en) 2022-02-17
EP3952314A4 (en) 2022-08-03
CN113992914B (zh) 2023-04-14
JP2022553594A (ja) 2022-12-26
WO2021056225A1 (zh) 2021-04-01
US11924459B2 (en) 2024-03-05
JP7437426B2 (ja) 2024-02-22

Similar Documents

Publication Publication Date Title
CN109997361B (zh) 用于视频译码的低复杂度符号预测
JP5301277B2 (ja) マルチメディア符号化のためのモード選択技術
RU2543552C2 (ru) Фильтр с внутренним сглаживанием для кодирования видео
KR102086145B1 (ko) 인트라 예측 방법 및 그 장치
KR101918318B1 (ko) 모션 예측 비디오 블록들의 계층구조
JP7514236B2 (ja) ビデオ符号化及び復号
JP2017513342A (ja) ゼロアウトされた係数を使用した低複雑な順変換のためのシステムおよび方法
WO2020258010A1 (zh) 图像编解码方法、编码器、解码器以及存储介质
US11683505B2 (en) Method and a device for picture encoding and decoding
JP2010016453A (ja) 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
WO2020125595A1 (zh) 视频译码器及相应方法
CN112385211A (zh) 用于视频编码和解码的运动补偿
JP2023543985A (ja) 多用途ビデオコーディングのためのテンプレートマッチング予測
US20240163470A1 (en) Method for inter prediction method, video picture encoder and decoder
KR20220036982A (ko) 비디오 인코딩 및 디코딩을 위한 이차 변환
WO2019154424A1 (zh) 视频解码方法、视频解码器以及电子设备
JP7448558B2 (ja) 画像エンコーディングおよびデコーディングのための方法およびデバイス
JP2023543762A (ja) ビデオコーディングのためのニューラルネットワークベースフィルタ処理プロセスにおける活性化関数設計
JP6224851B2 (ja) 低複雑度符号化および背景検出のためのシステムおよび方法
CN114830663A (zh) 变换方法、编码器、解码器以及存储介质
US9516345B2 (en) Systems and methods for low complexity forward transforms using mesh-based calculations
CN113347425B (zh) 信息处理方法及装置、设备、存储介质
CN117221535A (zh) 帧内预测方法、编码器、解码器以及存储介质
CN114222136A (zh) 运动补偿的处理方法、编码器、解码器以及存储介质
KR20120095814A (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