CN112218075B - 候选列表的填充方法、电子设备、计算机可读存储介质 - Google Patents

候选列表的填充方法、电子设备、计算机可读存储介质 Download PDF

Info

Publication number
CN112218075B
CN112218075B CN202011113836.4A CN202011113836A CN112218075B CN 112218075 B CN112218075 B CN 112218075B CN 202011113836 A CN202011113836 A CN 202011113836A CN 112218075 B CN112218075 B CN 112218075B
Authority
CN
China
Prior art keywords
motion vector
candidate list
compensated
motion information
motion
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
CN202011113836.4A
Other languages
English (en)
Other versions
CN112218075A (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202011113836.4A priority Critical patent/CN112218075B/zh
Publication of CN112218075A publication Critical patent/CN112218075A/zh
Application granted granted Critical
Publication of CN112218075B publication Critical patent/CN112218075B/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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

本发明提供一种候选列表的填充方法、电子设备、计算机可读存储介质,填充方法包括:判断当前编码单元进行编码或者解码时使用的运动矢量是否被补偿;若运动矢量被补偿时,则获取补偿后的运动矢量作为更新运动矢量;采用更新后的运动矢量构建新的运动信息,并填入候选列表。以此提高预测运动矢量的准确度,降低码流大小。

Description

候选列表的填充方法、电子设备、计算机可读存储介质
技术领域
本发明涉及视频编码技术领域,尤其是涉及一种候选列表的填充方法、电子设备、计算机可读存储介质。
背景技术
在现有的视频编解码标准中,填充进HMVP(History-based Motion VectorPrediction,基于历史的运动矢量预测)列表的MV(Motion Vector,运动矢量)为当前编码单元的MV,HMVP候选列表中的MV可提供给后续的编码单元作为候选MV。但是现有的HMVP候选列表的MV在进行编码或者解码时,达不到预测运动矢量的准确度的需求。
发明内容
本发明提供一种候选列表的填充方法、电子设备、计算机可读存储介质,用以提高预测运动矢量的准确度,降低码流大小。
为解决上述技术问题,本发明提供的第一个技术方案为:提供一种候选列表的填充方法,包括:判断当前编码单元进行编码或者解码时使用的运动矢量是否被补偿;若运动矢量被补偿时,则获取补偿后的运动矢量作为更新运动矢量;采用更新运动矢量构建新的运动信息,并填入候选列表。
其中,获取补偿后的运动矢量作为更新运动矢量包括:获取当前编码单元中任意子块经补偿后的运动矢量作为更新运动矢量;或获取当前编码单元中至少两个子块经补偿后的运动矢量,并对其进行加权计算以得到更新运动矢量。
其中,运动矢量利用解码端运动矢量修正/改良(Decoder side Motion VectorRefinement,DMVR)和/或双向流光(bi-directional optical flow,BIO)的方式进行补偿。
其中,运动矢量利用DMVR和BIO的方式进行补偿时,则仅获取DMVR方式补偿后的运动矢量作为更新运动矢量。
其中,获取当前编码单元中任意子块经补偿后的运动矢量作为更新运动矢量包括:若运动矢量的补偿方式为DMVR,则获取当前编码单元中右下角子块经补偿后的运动矢量作为更新运动矢量;若运动矢量的补偿方式为BIO,则获取当前编码单元中右下角簇经补偿后的运动矢量作为更新运动矢量;获取当前编码单元中至少两个子块经补偿后的运动矢量,并对其进行加权计算以得到更新运动矢量包括:若运动矢量的补偿方式为DMVR,则获取当前编码单元中所有子块经补偿后的运动矢量,并对其进行加权计算以得到更新运动矢量;若运动矢量的补偿方式为BIO,则获取当前编码单元中所有簇经补偿后的运动矢量,并对其进行加权计算以得到更新运动矢量。
其中,采用更新运动矢量构建新的运动信息,并填入候选列表还包括:获取当前编码单元的原始运动信息;依次将新的运动信息以及所述原始运动信息填入候选列表;或者依次将原始运动信息以及新的运动信息填入候选列表。
其中,判断当前编码单元进行编码或者解码时使用的运动矢量是否被补偿还包括:若运动矢量未被补偿时,则获取当前编码单元的预测运动信息;将预测运动信息填入候选列表。
其中,采用更新运动矢量构建新的运动信息,并填入候选列表还包括:将新的运动信息与候选列表中的原始运动信息进行查重;若未重复,则判断候选列表是否填满;若已填满,则将候选列表中的第一个原始运动信息剔除,并将新的运动信息填入候选列表。
为解决上述技术问题,本发明提供的第二个技术方案为:提供一种候选列表的填充方法,包括:编码模块,用于判断当前编码单元进行编码或者解码时使用的运动矢量是否被补偿;获取模块,用于在运动矢量被补偿时,获取补偿后的运动矢量作为更新运动矢量;列表填充模块,用于采用更新运动矢量构建新的运动信息,并填入候选列表。
为解决上述技术问题,本发明提供的第三个技术方案为:提供一种电子设备,包括:存储器和处理器,其中,存储器存储有程序指令,处理器从存储器调取程序指令以执行上述任一项的候选列表的填充方法。
为解决上述技术问题,本发明提供的第四个技术方案为:提供一种计算机可读存储介质,存储有程序文件,程序文件能够被执行以实现上述任一项的候选列表的填充方法。
本发明的有益效果,区别于现有技术,本发明通过判断当前编码单元进行编码或者解码时使用的运动矢量是否被补偿;若运动矢量被补偿时,则获取补偿后的运动矢量作为更新运动矢量;采用所述更新运动矢量构建新的运动信息,并填入所述候选列表。以此使得后续编码单元在预测过程中采用更精确的运动矢量作为预测运动矢量,有利于MVD(当前运动矢量与预测运动矢量的差值)变小或降低残差值,提高预测运动矢量的准确度,降低码流大小。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1为本发明候选列表的填充方法的一实施例的流程示意图;
图2为图1中步骤S12的一实施例的示意图;
图3为图1中步骤S12的另一实施例的示意图;
图4为本发明候选列表的填充装置的一实施例的结构示意图;
图5为本发明电子设备的一实施例的结构示意图;
图6为本发明计算机可读存储介质的一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请以HMVP候选列表为例进行说明,在现有的视频编解码标准中,填充进HMVP候选列表的MV为当前编码单元的MV,HMVP候选列表中的MV可提供给后续的编码单元作为候选MV。但是,在编解码标准如AVS3和VVC中会引入DMVR和BIO。DMVR和BIO均只能使用于帧间双向预测中,使用位置在常规的运动补偿之后,目的是通过一定范围内的运动偏移进一步改进运动矢量,获得更加准确的双向预测块。随着DMVR和BIO的引入,对于编码单元中的某些区域来说,经DMVR或BIO调整后获取的MV可能是比编码单元原本的MV更精确的MV,可获取更贴近真实值的预测值,但是现有的HMVP候选列表中并没有引进经DMVR或BIO调整后获取的MV,因此,本申请提出一种候选列表的填充方法,以将经DMVR或BIO调整后获取的MV填充至候选列表中。具体结合附图以及具体实施方式进行说明。
请参见图1,为本发明候选列表的填充方法的第一实施例的流程示意图。包括:
步骤S11:判断当前编码单元进行编码或者解码时使用的运动矢量是否被补偿。
具体的,在当前编码单元进行编码或者解码完成后,可以获取进行编码或者解码的信息,进而根据编码或者解码的信息判断当前编码单元进行编码或者解码时使用的运动矢量是否被补偿。
在一实施例中,运动矢量可以利用解码器侧面运动矢量求精(Decoder sideMotion Vector Refinement,DMVR)和/或双向流光(bi-directional optical flow,BIO)的方式进行补偿。DMVR用在常规的Merge模式下,在双向预测块运动补偿中使用,块尺寸必须满足宽和高都大于等于8且宽×高大于等于128的块,且双向帧权重必须相同。双向帧指当前帧时间轴上的前面和后面的帧,且前后向帧到当前帧的距离相同。DMVR是对双向最佳运动矢量的进一步修正,通过利用原有运动矢量在参考帧找到对应的参考块,然后在参考块附近搜索代价(前向和后向参开块的差异SAD)最小的预测块,进而得到最佳的运动矢量作为编码或解码时所用的运动矢量,即该最佳的运动矢量即为对原有运动矢量进行补偿后的运动矢量。
BIO方式能在双向预测后每个像素进行进一步的运动补偿,以获取更精确的预测值。BIO过程在DMVR之后。传统概念的双向预测对两个已编码的块进行加权平均得到当前块的最优预测值,其中两个已编码的块一个来自于前向参考帧,另一个来自于后向参考帧。但是,即使经过双向预测后,我们仍会发现在当前块的部分区域存在剩余的运动。有时候存在剩余运动的区域比允许的最小预测块还要小,于是需要一种方式去对每一个像素进行运动补偿而只标志整个块的运动矢量,即BIO方式。
步骤S12:获取补偿后的运动矢量作为更新运动矢量。
若运动矢量被补偿,则获取补偿后的运动矢量作为更新运动矢量。
在一实施例中,若当前编码单元在进行编码或者解码时使用了DMVR的方式,则获取经DMVR方式补偿后的运动矢量作为更新运动矢量。
在一实施例中,若当前编码单元在进行编码或者解码时使用了BIO的方式,则获取经BIO方式补偿后的运动矢量作为更新运动矢量。
在一实施例中,若当前编码单元在进行编码或者解码时同时使用了DMVR和BIO方式,则仅获取DMVR方式补偿后的运动矢量作为更新运动矢量。
在一实施例中,若当前编码单元在进行编码或者解码时运动矢量被补偿,则获取当前编码单元中任意子块经补偿后的运动矢量作为更新运动矢量。具体的,例如,若运动矢量的补偿方式为DMVR,则获取当前编码单元中右下角子块经补偿后的运动矢量作为更新运动矢量。若运动矢量的补偿方式为BIO,则获取当前编码单元中右下角簇经补偿后的运动矢量作为更新运动矢量。或者,在另一实施例中,若当前编码单元在进行编码或者解码时运动矢量被补偿,则获取当前编码单元中至少两个子块经补偿后的运动矢量,并对至少两个子块经补偿后的运动矢量进行加权计算以得到更新运动矢量。具体的,例如,若运动矢量的补偿方式为DMVR,则获取当前编码单元中所有子块经补偿后的运动矢量,对所有子块经补偿后的运动矢量进行加权计算以得到更新运动矢量;若运动矢量的补偿方式为BIO,则获取当前编码单元中所有簇经补偿后的运动矢量,并对所有簇经补偿后的运动矢量进行加权计算以得到更新运动矢量。
具体的,请结合图2,设当前编码单元的大小为32x32,当前编码单元分为LT、RT、LB和RB四个子块,若当前编码单元进行编码或者解码时先后使用了DMVR和BIO两个工具对运动矢量进行补偿。在进行DMVR的过程中,每个子块分别进行DMVR并获取其每一子块经DMVR方式补偿后的运动矢量,进一步地,可以选取其中右小角子块RB经DMVR方式补偿后的运动矢量作为更新运动矢量。或者,在另一实施例中,还可以对所有子块经DMVR方式补偿后的运动矢量进行加权计算,以得到更新运动矢量。
具体的,在一实施例中,获取每一子块经DMVR方式补偿后的运动矢量的方式为:首先利用前后向运动矢量分别获取前后向整像素位置的预测块,然后利用前后向运动矢量,分别在参考帧上获取当前块的前向和后向预测值,对应的前向和后向预测块分别为pre1和pre2;对当前块内的每个M*N子块(如果当前块宽小于16时,M为当前块的宽,否则M为16;如果当前块高小于16时,N为当前块的高,否则N为16)都需要计算25组前向和后向预测值的SAD,通过比较所有SAD的大小,选取SAD最小的两个预测值,此时的偏移为当前子块的整像素deltaMV,每个子块都有一个deltaMV。进行分像素运动搜索过程,利用整像素点的SAD值求出分像素的deltaMV。根据每个子块最佳的前后向deltaMV(由整像素deltaMV+分像素deltaMV)求出修正后MV0(前向参考帧上的运动矢量)和MV1(后向参考帧上的运动矢量):
MV0=MV0+deltaMV;MV1=MV1–deltaMV。
该前向和后向运动矢量分别对每个子块进行单向运动补偿,每个子块的预测值直接由前后向的预测值均值得到,进而得到当前块经DMVR方式补偿后的运动矢量。
具体的,请结合图3,设当前编码单元的大小为16x16,且未使用DMVR方式,只使用了BIO方式。当前编码单元分为簇0、簇1、…、簇15,每个簇分别进行BIO并获取其每一子簇经BIO方式补偿后的运动矢量,进一步地,可以选取其中右下角子簇经BIO方式补偿后的运动矢量作为更新运动矢量。或者,在另一实施例中,还可以对所有子簇经BIO方式补偿后的运动矢量进行加权计算,以得到更新运动矢量。
步骤S13:采用更新运动矢量构建新的运动信息,并填入候选列表。
具体的,获取到更新运动矢量后,结合当前编码单元的参考索引以及预测方向构建新的运动信息,并将构建的新的运动信息填入候选列表。
将新的运动信息填入候选列表中时需要注意填充规则。以HMVP候选列表为例,在不同的标准中,HMVP候选列表长度可能不同。例如在在AVS3中,HMVP候选列表长度可为0~8,为0时表示不应用HMVP工具。
候选列表进行更新时,采用先进先出原则填充。当有一个新的编码单元编码完后,就会取此编码单元的运动信息加入到候选列表中,加入前会先比较候选列表中是否已存在与该运动信息相同的运动信息,若存在相同运动信息,则把表中相同的运动信息剔除,再在末尾加入新的运动信息。若没有找到相同的运动信息,则剔除表中第一个运动信息,并在末尾加入新运动信息。
本实施例中,在将新的运动信息填入候选列表中时,将新的运动信息与候选列表中的原始运动信息进行查重;若新的运动信息与候选列表中的原始运动信息未重复,则判断候选列表是否填满;若已填满,则将候选列表中的第一个原始运动信息剔除,并将新的运动信息填入候选列表的末尾处,若新的运动信息与候选列表中的原始运动信息重复,则将候选列表中重复的原始运动信息剔除,并将更新运动信息填入候选列表的末尾处。
在本申请的一实施例中,在当前编码单元编码或者解码时的运动信息被补偿时,还可以进一步获取当前编码单元的原始运动信息,将原始运动信息以及新的运动信息填入候选列表中。具体的,例如依次将新的运动信息以及原始运动信息填入候选列表,需要说明的是,在填充时需要按照上述方式查重,若具有重复的运动信息,则将重复的运动信息剔除,依次将新的运动信息以及原始运动信息填入候选列表。具体的,若原始运动信息重复,而新的运动信息未重复,则将候选列表中的原始运动信息剔除,将新的运动信息补充在候选列表的末尾处,再将第一个原始运动信息剔除,将原始运动信息再此补充在末尾处。或者,在另一实施例中,还可以依次将原始运动信息以及新的运动信息填入候选列表,具体填充方式在此不再赘述。
步骤S14:获取当前编码单元的预测运动信息。
若运动矢量未被补偿时,则获取当前编码单元的预测运动矢量。
步骤S15:将预测运动信息填入候选列表。
本步骤的填充方式与上述相同,在此不再赘述。
本发明的候选列表的填充方法利用经过DMVR或BIO方式补偿后的运动矢量构建新的运动信息,并加入候选列表,使得候选列表中的运动信息更为精确。后续编码单元在预测过程中采用更精确的运动信息作为预测运动信息,有利于MVD(当前运动矢量与预测运动矢量的差值)变小或降低残差值,提高预测运动信息的准确度,降低码流大小。
请参见图4,为本发明候选列表的填充装置的一实施例的结构示意图。包括编码模块41、获取模块42、列表填充模块43。
其中,编码模块41用于判断当前编码单元进行编码或者解码时使用的运动矢量是否被补偿。
获取模块42用于获取补偿后的运动矢量作为更新运动矢量。具体的,在一实施例中,若当前编码单元在进行编码或者解码时使用了DMVR的方式,则获取经DMVR方式补偿后的运动矢量作为更新运动矢量。
在一实施例中,若当前编码单元在进行编码或者解码时使用了BIO的方式,则获取经BIO方式补偿后的运动矢量作为更新运动矢量。
在一实施例中,若当前编码单元在进行编码或者解码时同时使用了DMVR和BIO方式,则仅获取DMVR方式补偿后的运动矢量作为更新运动矢量。
在一实施例中,若当前编码单元在进行编码或者解码时运动矢量被补偿,则获取当前编码单元中任意子块经补偿后的运动矢量作为更新运动矢量。具体的,例如,若运动矢量的补偿方式为DMVR,则获取当前编码单元中右下角子块经补偿后的运动矢量作为更新运动矢量。若运动矢量的补偿方式为BIO,则获取当前编码单元中右下角簇经补偿后的运动矢量作为更新运动矢量。或者,在另一实施例中,若当前编码单元在进行编码或者解码时运动矢量被补偿,则获取当前编码单元中至少两个子块经补偿后的运动矢量,,并对至少两个子块经补偿后的运动矢量进行加权计算以得到更新运动矢量。具体的,例如,若运动矢量的补偿方式为DMVR,则获取当前编码单元中所有子块经补偿后的运动矢量,对所有子块经补偿后的运动矢量进行加权计算以得到更新运动矢量;若运动矢量的补偿方式为BIO,则获取当前编码单元中所有簇经补偿后的运动矢量,并对所有簇经补偿后的运动矢量进行加权计算以得到更新运动矢量。
具体的,请结合图2,设当前编码单元的大小为32x32,当前编码单元分为LT、RT、LB和RB四个子块,若当前编码单元进行编码或者解码时先后使用了DMVR和BIO两个工具对运动矢量进行补偿。在进行DMVR的过程中,每个子块分别进行DMVR并获取其每一子块经DMVR方式补偿后的运动矢量,进一步地,可以选取其中右小角子块RB经DMVR方式补偿后的运动矢量作为更新运动矢量。或者,在另一实施例中,还可以对所有子块经DMVR方式补偿后的运动矢量进行加权计算,以得到更新运动矢量。
具体的,请结合图3,设当前编码单元的大小为16x16,且未使用DMVR方式,只使用了BIO方式。当前编码单元分为簇0、簇1、…、簇15,每个簇分别进行BIO并获取其每一子簇经BIO方式补偿后的运动矢量,进一步地,可以选取其中右下角子簇经BIO方式补偿后的运动矢量作为更新运动矢量。或者,在另一实施例中,还可以对所有子簇经BIO方式补偿后的运动矢量进行加权计算,以得到更新运动矢量。
填表填充模块43用于采用更新运动矢量构建新的运动信息,并填入候选列表。本实施例中,在将新的运动信息填入候选列表中时,将新的运动信息与候选列表中的原始运动信息进行查重;若新的运动信息与候选列表中的原始运动信息未重复,则判断候选列表是否填满;若已填满,则将候选列表中的第一个原始运动信息剔除,并将新的运动信息填入候选列表的末尾处,若新的运动信息与候选列表中的原始运动信息重复,则将候选列表中重复的原始运动信息剔除,并将更新运动信息填入候选列表的末尾处。在本申请的一实施例中,在当前编码单元编码或者解码时的运动信息被补偿时,还可以进一步获取当前编码单元的原始运动信息,将原始运动信息以及新的运动信息填入候选列表中。具体的,例如依次将新的运动信息以及原始运动信息填入候选列表,需要说明的是,在填充时需要按照上述方式查重,若具有重复的运动信息,则将重复的运动信息剔除,依次将新的运动信息以及原始运动信息填入候选列表。具体的,若原始运动信息重复,而新的运动信息未重复,则将候选列表中的原始运动信息剔除,将新的运动信息补充在候选列表的末尾处,再将第一个原始运动信息剔除,将原始运动信息再此补充在末尾处。或者,在另一实施例中,还可以依次将原始运动信息以及新的运动信息填入候选列表,具体填充方式在此不再赘述。
本发明的候选列表的填充装置利用经过DMVR或BIO方式补偿后的运动矢量构建新的运动信息,并加入候选列表,使得候选列表中的运动信息更为精确。后续编码单元在预测过程中采用更精确的运动信息作为预测运动信息,有利于MVD(当前运动矢量与预测运动矢量的差值)变小或降低残差值,提高预测运动信息的准确度,降低码流大小。
请参见图5,为本发明电子设备的一实施例的结构示意图,电子设备包括相互连接的存储器202和处理器201。
存储器202用于存储实现上述任意一项的设备的候选列表填充方法的程序指令。
处理器201用于执行存储器202存储的程序指令。
其中,处理器201还可以称为CPU(Central Processing Unit,中央处理单元)。处理器201可能是一种集成电路芯片,具有信号的处理能力。处理器201还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器202可以为内存条、TF卡等,可以存储设备的电子设备中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,电子设备才有记忆功能,才能保证正常工作。电子设备的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。
请参阅图6,为本发明计算机可读存储介质的结构示意图。本申请的存储介质存储有能够实现上述所有候选列表的填充方法的程序文件203,其中,该程序文件203可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种候选列表的填充方法,其特征在于,包括:
判断当前编码单元进行编码或者解码时使用的运动矢量是否被补偿;
若所述运动矢量被补偿时,则获取补偿后的所述运动矢量作为更新运动矢量;
采用所述更新运动矢量构建新的运动信息,并填入所述候选列表;
所述采用所述更新运动矢量构建新的运动信息,并填入所述候选列表还包括:
获取所述当前编码单元的原始运动信息;
依次将所述新的运动信息以及所述原始运动信息填入所述候选列表;或者
依次将所述原始运动信息以及所述新的运动信息填入所述候选列表;
候选列表进行更新时,采用先进先出原则填充,在填充时需要进行查重,若具有重复的运动信息,则将重复的运动信息剔除。
2.根据权利要求1所述的方法,其特征在于,所述获取补偿后的所述运动矢量作为更新运动矢量,包括:
获取当前编码单元中任意子块经补偿后的所述运动矢量作为所述更新运动矢量;或
获取当前编码单元中至少两个子块经补偿后的所述运动矢量,并对其进行加权计算以得到所述更新运动矢量。
3.根据权利要求2所述的方法,其特征在于,所述运动矢量利用解码端运动矢量修正/改良(Decoder side Motion Vector Refinement,DMVR)和/或双向流光(bi-directionaloptical flow,BIO)的方式进行补偿。
4.根据权利要求3所述的方法,其特征在于,所述运动矢量利用DMVR和BIO的方式进行补偿时,则获取DMVR方式补偿后的所述运动矢量作为所述更新运动矢量。
5.根据权利要求3所述的方法,其特征在于,所述获取当前编码单元中任意子块经补偿后的所述运动矢量作为所述更新运动矢量包括:
若所述运动矢量的补偿方式为DMVR,则获取当前编码单元中右下角子块经补偿后的所述运动矢量作为所述更新运动矢量;
若所述运动矢量的补偿方式为BIO,则获取当前编码单元中右下角簇经补偿后的所述运动矢量作为所述更新运动矢量;
所述获取当前编码单元中至少两个子块经补偿后的所述运动矢量,并对其进行加权计算以得到所述更新运动矢量包括:
若所述运动矢量的补偿方式为DMVR,则获取当前编码单元中所有子块经补偿后的所述运动矢量,并对其进行加权计算以得到所述更新运动矢量;
若所述运动矢量的补偿方式为BIO,则获取当前编码单元中所有簇经补偿后的所述运动矢量,并对其进行加权计算以得到所述更新运动矢量。
6.根据权利要求1所述的方法,其特征在于,所述判断当前编码单元进行编码或者解码时使用的运动矢量是否被补偿还包括:
若所述运动矢量未被补偿时,则获取当前编码单元的预测运动信息;
将所述预测运动信息填入所述候选列表。
7.根据权利要求1所述的方法,其特征在于,所述采用所述更新运动矢量构建新的运动信息,并填入所述候选列表还包括:
将所述新的运动信息与所述候选列表中的原始运动信息进行查重;
若未重复,则判断所述候选列表是否填满;
若已填满,则将所述候选列表中的第一个原始运动信息剔除,并将所述新的运动信息填入所述候选列表。
8.一种候选列表的填充装置,其特征在于,包括:
编码模块,用于判断当前编码单元进行编码或者解码时使用的运动矢量是否被补偿;
获取模块,用于在所述运动矢量被补偿时,获取补偿后的所述运动矢量作为更新运动矢量;
列表填充模块,用于采用所述更新运动矢量构建新的运动信息,并填入所述候选列表;
所述采用所述更新运动矢量构建新的运动信息,并填入所述候选列表还包括:
获取所述当前编码单元的原始运动信息;
依次将所述新的运动信息以及所述原始运动信息填入所述候选列表;或者
依次将所述原始运动信息以及所述新的运动信息填入所述候选列表;
候选列表进行更新时,采用先进先出原则填充,在填充时需要进行查重,若具有重复的运动信息,则将重复的运动信息剔除。
9.一种电子设备,其特征在于,包括:存储器和处理器,其中,所述存储器存储有程序指令,所述处理器从所述存储器调取所述程序指令以执行如权利要求1-7任一项所述的候选列表的填充方法。
10.一种计算机可读存储介质,其特征在于,存储有程序文件,所述程序文件能够被执行以实现如权利要求1-7任一项所述的候选列表的填充方法。
CN202011113836.4A 2020-10-17 2020-10-17 候选列表的填充方法、电子设备、计算机可读存储介质 Active CN112218075B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011113836.4A CN112218075B (zh) 2020-10-17 2020-10-17 候选列表的填充方法、电子设备、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011113836.4A CN112218075B (zh) 2020-10-17 2020-10-17 候选列表的填充方法、电子设备、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN112218075A CN112218075A (zh) 2021-01-12
CN112218075B true CN112218075B (zh) 2022-10-28

Family

ID=74055682

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011113836.4A Active CN112218075B (zh) 2020-10-17 2020-10-17 候选列表的填充方法、电子设备、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112218075B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901590B (zh) * 2020-06-29 2023-04-18 北京大学 一种用于帧间预测的细化运动矢量存储方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3301919A1 (en) * 2016-10-03 2018-04-04 Thomson Licensing Method and apparatus for encoding and decoding motion information
CN110460859A (zh) * 2019-08-21 2019-11-15 浙江大华技术股份有限公司 历史运动矢量列表的使用方法、编解码器及存储装置
CN111050182A (zh) * 2019-12-27 2020-04-21 浙江大华技术股份有限公司 运动矢量的预测方法、视频编码方法及相关设备、装置
CN111294598A (zh) * 2019-02-08 2020-06-16 北京达佳互联信息技术有限公司 一种视频编解码方法及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180192071A1 (en) * 2017-01-05 2018-07-05 Mediatek Inc. Decoder-side motion vector restoration for video coding
US20180199057A1 (en) * 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3301919A1 (en) * 2016-10-03 2018-04-04 Thomson Licensing Method and apparatus for encoding and decoding motion information
CN111294598A (zh) * 2019-02-08 2020-06-16 北京达佳互联信息技术有限公司 一种视频编解码方法及设备
CN110460859A (zh) * 2019-08-21 2019-11-15 浙江大华技术股份有限公司 历史运动矢量列表的使用方法、编解码器及存储装置
CN111050182A (zh) * 2019-12-27 2020-04-21 浙江大华技术股份有限公司 运动矢量的预测方法、视频编码方法及相关设备、装置

Also Published As

Publication number Publication date
CN112218075A (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
US11856218B2 (en) Motion candidate derivation based on spatial neighboring block in sub-block motion vector prediction
CN110809887B (zh) 用于多参考预测的运动矢量修正的方法和装置
TWI739113B (zh) 非對稱加權merge和其它編碼工具的交互
WO2015188754A1 (en) Video coding device, method, and apparatus and inter-frame mode selection method and apparatus therefor
KR102587638B1 (ko) 비디오 코딩을 위해 이웃 블록 패턴을 이용하는 모션 추정 방법 및 시스템
CN112804528B (zh) 屏幕内容处理方法、装置及设备
CN101193306A (zh) 运动矢量检测装置和运动矢量检测方法
CN112055208B (zh) 视频编码方法、设备及存储装置
CN112218075B (zh) 候选列表的填充方法、电子设备、计算机可读存储介质
CN112203091B (zh) 基于二次多项式的运动矢量预测方法、系统及计算机介质
CN113302936B (zh) 用于具有MVD的Merge的控制方法
WO2020057664A1 (zh) 运动矢量的确定方法和装置
CN111654696A (zh) 一种帧内的多参考行预测方法、装置、存储介质及终端
CN105828084B (zh) Hevc帧间编码处理方法和装置
CN116647694A (zh) 候选mv列表构建方法和装置
CN106101731B (zh) 图像无损压缩方法及装置
CN113348667B (zh) 在具有MVD的Merge下的距离索引的解析方法
CN114365494A (zh) Merge候选的改进
WO2023142663A1 (zh) 编码过程中的运动估计方法、装置、设备、存储介质及程序产品
CN112004099B (zh) 一种帧内块复制预测方法、装置及计算机可读存储介质
CN112565789B (zh) 视频解码及编码方法、装置、计算机可读介质及电子设备
CN112738524B (zh) 图像编码方法、装置、存储介质及电子设备
CN110944209B (zh) 运动矢量的确定方法和装置
CN111093080B (zh) 视频编码中的子块运动候选
CN114040208A (zh) 运动估计方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant