CN112004091A - 帧间预测方法及其相关装置 - Google Patents

帧间预测方法及其相关装置 Download PDF

Info

Publication number
CN112004091A
CN112004091A CN202010763296.8A CN202010763296A CN112004091A CN 112004091 A CN112004091 A CN 112004091A CN 202010763296 A CN202010763296 A CN 202010763296A CN 112004091 A CN112004091 A CN 112004091A
Authority
CN
China
Prior art keywords
mode
correction
information
current block
inter
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
CN202010763296.8A
Other languages
English (en)
Other versions
CN112004091B (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 CN202010763296.8A priority Critical patent/CN112004091B/zh
Publication of CN112004091A publication Critical patent/CN112004091A/zh
Application granted granted Critical
Publication of CN112004091B publication Critical patent/CN112004091B/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/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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/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

Landscapes

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

Abstract

本申请提供帧间预测方法及其相关装置。该帧间预测方法包括:获取当前块对应的已编码亮度块的运动帧间梯度修正信息,当前块及其对应的已编码亮度块分别为当前帧中同一区域的色度分量及亮度分量;利用已编码亮度块的运动帧间梯度修正信息确定当前块的运动帧间梯度修正信息。本申请可以提高帧间预测的准确度。

Description

帧间预测方法及其相关装置
技术领域
本申请涉及帧间预测技术领域,特别是涉及帧间预测方法及其相关装置。
背景技术
由于视频图像数据量比较大,通常需要对其进行编码压缩,压缩后的数据称之为视频码流,视频码流通过有线或者无线网络传输至用户端,再进行解码观看。
整个视频编码流程包括预测、变换、量化、编码等过程。其中预测分为帧内预测和帧间预测两部分。帧间预测用的是图像帧间的时域相关性来对图像进行压缩。本申请的发明人在长期的研发过程中,发现目前帧间预测方法还存在一定的局限性,也在一定程度上影响了帧间预测的准确度。
发明内容
本申请提供帧间预测方法及其相关装置,能够提高帧间预测的准确度。
为解决上述问题,本申请提供一种帧间预测方法,该方法包括:
获取当前块对应的已编码亮度块的BGC信息,当前块及其对应的已编码亮度块分别为当前帧中同一区域的色度分量及亮度分量;
利用已编码亮度块的BGC信息确定当前块的BGC信息。
其中,利用已编码亮度块的BGC信息确定当前块的BGC信息包括:
若已编码亮度块的BGC信息包括已编码亮度块自身的BGC信息,则将已编码亮度块自身的BGC信息作为当前块的BGC信息;
若已编码亮度块的BGC信息包括已编码亮度块的至少一个子块的BGC信息,则选择一个子块的BGC信息作为当前块的BGC信息或对当前块进行BGC过程得到当前块的BGC信息。
其中,选择一个子块的BGC信息作为当前块的BGC信息包括:
选择已编码亮度块中指定位置的子块的BGC信息作为当前块的BGC信息;或
统计已编码亮度块中所有子块的BGC信息中不同BGC信息的出现次数,选择出现次数最多的BGC信息作为当前块的BGC信息。
其中,对当前块进行BGC过程得到当前块的BGC信息包括:
获取当前块在第一方向上的第一预测值以及在第二方向上的第二预测值;
利用第一预测值和第二预测值计算得到当前块的双向预测值;
利用第一预测值、第二预测值和双向预测值计算不同的BGC模式的预测值及编码代价,选择编码代价最小的一个BGC模式的信息作为当前块的BGC信息。
其中,BGC模式包括未修正模式、第一修正模式、第二修正模式和组合模式中的至少两种,未修正模式的预测值为双向预测值或经过双向光流调整后的双向预测值,第一修正模式的预测值为第一梯度值与第一权重的乘积与未修正模式的预测值之和,第一梯度值等于第二预测值减去第一预测值,第一修正模式的预测值为第二梯度值与第二权重的乘积与未修正模式的预测值之和,第二梯度值等于第一预测值减去第二预测值,组合模式的预测值由当前块的各个子块的BGC模式的预测值组合而成,且至少两个子块的BGC模式不同。
其中,第一修正模式的数量大于1,不同的第一修正模式对应的第一权重不同;和/或
第二修正模式的数量大于1,不同的第二修正模式对应的第二权重不同。
其中,第一权重为2-m,第二权值为2-n,其中m和n均为正整数。
其中,利用第一预测值、第二预测值和双向预测值计算不同的BGC模式的预测值及编码代价,选择编码代价最小的一个BGC模式的信息作为当前块的BGC信息包括:
计算未修正模式的预测值及编码代价;
按照指定顺序从修正模式中选择一种计算其预测值及编码代价,修正模式包括第一修正模式、第二修正模式和组合模式中的至少两种;
比较未修正模式和选择的修正模式的编码代价;
若选择的修正模式的编码代价较小,则计算所有选择的修正模式的编码代价并选择编码代价最小的一个选择的修正模式的信息作为当前块的BGC信息,若未修正模式的编码代价较小且选择的修正模式是指定顺序的最后一个修正模式,将未修正模式的信息作为当前块的BGC信息,若未修正模式的编码代价较小且选择的修正模式不是指定顺序的最后一个修正模式,则跳转至按照指定顺序从修正模式中选择一种计算其预测值及编码代价继续执行。
其中,指定顺序是根据已编码块的BGC信息统计结果确定的。
为解决上述问题,本申请提供一种帧间预测方法,该方法包括:
获取当前块在第一方向上的第一预测值以及在第二方向上的第二预测值;
利用第一预测值和第二预测值计算得到当前块的双向预测值;
利用第一预测值、第二预测值和双向预测值计算不同的BGC模式的预测值及编码代价,选择编码代价最小的一个BGC模式的信息作为当前块的BGC信息;
其中BGC模式包括未修正模式、第一修正模式、第二修正模式和组合模式中的至少两种,未修正模式的预测值为双向预测值或经过双向光流调整后的双向预测值,第一修正模式的预测值为第一梯度值与第一权重的乘积与未修正模式的预测值之和,第一梯度值等于第二预测值减去第一预测值,第二修正模式的预测值为第二梯度值与第二权重的乘积与未修正模式的预测值之和,第二梯度值等于第一预测值减去第二预测值,组合模式的预测值由当前块的各个子块的BGC模式的预测值组合而成,且至少两个子块的BGC模式不同。
其中,第一修正模式的数量大于1,不同的第一修正模式对应的第一权重不同;和/或
第二修正模式的数量大于1,不同的第二修正模式对应的第二权重不同。
其中,第一权重为2-m,第二权值为2-n,其中m和n均为正整数。
其中,利用第一预测值、第二预测值和双向预测值计算不同的BGC模式的预测值及编码代价,选择编码代价最小的一个BGC模式的信息作为当前块的BGC信息包括:
计算未修正模式的预测值及编码代价;
按照指定顺序从修正模式中选择一种计算其预测值及编码代价,修正模式包括第一修正模式、第二修正模式和组合模式中的至少两种;
比较未修正模式和选择的修正模式的编码代价;
若选择的修正模式的编码代价较小,则计算所有选择的修正模式的编码代价并选择编码代价最小的一个选择的修正模式的信息作为当前块的BGC信息,若未修正模式的编码代价较小且选择的修正模式是指定顺序的最后一个修正模式,将未修正模式的信息作为当前块的BGC信息,若未修正模式的编码代价较小且选择的修正模式不是指定顺序的最后一个修正模式,则跳转至按照指定顺序从修正模式中选择一种计算其预测值及编码代价继续执行。
其中,指定顺序是根据已编码块的BGC信息统计结果确定的。
为解决上述问题,本申请提供又一种帧间预测方法,该方法包括:
获取当前块在第一方向上的第一预测值以及在第二方向上的第二预测值;
利用第一预测值和第二预测值计算得到当前块的双向预测值;
计算未修正模式的预测值及编码代价;
按照指定顺序从修正模式中选择一种计算其预测值及编码代价,修正模式包括第一修正模式和第二修正模式;
比较未修正模式和选择的修正模式的编码代价;
若选择的修正模式的编码代价较小,将选择的修正模式的BGC信息作为当前块的BGC信息;若未修正模式的编码代价较小且选择的修正模式是指定顺序的最后一个修正模式,将未修正模式的信息作为当前块的BGC信息;若未修正模式的编码代价较小且选择的修正模式不是指定顺序的最后一个修正模式,则跳转至按照指定顺序从修正模式中选择一种计算其预测值及编码代价继续执行。
其中,指定顺序是根据已编码块的BGC信息统计结果确定的。
为解决上述问题,本申请提供一种编解码器,该编解码器包括存储器和处理器;存储器中存储有计算机程序,处理器用于执行计算机程序以实现上述方法的步骤。
为解决上述问题,本申请提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法中的步骤。
本申请的方法是:该帧间预测方法利用当前色度块对应的已编码亮度块的BGC信息确定当前色度块的BGC信息,这样也可对当前色度块的预测值进行BGC调整,提高帧间预测准确度,加强色度分量的编码性能。
附图说明
为了更清楚地说明本申请实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请帧间预测方法第一实施方法的流程示意图;
图2是本申请帧间预测方法中运动补偿的一实施方式示意图;
图3是本申请帧间预测方法中运动补偿的另一实施方式示意图;
图4是本申请帧间预测方法中运动补偿的另一实施方式中CPMV的示意图;
图5是本申请帧间预测方法中BGC的三种模式的示意图;
图6是本申请帧间预测方法第二实施方法的流程示意图;
图7是本申请帧间预测方法中当前块的划分方法的示意图;
图8是本申请帧间预测方法第三实施方法的流程示意图;
图9是本申请帧间预测方法第三实施方法中步骤S33的具体流程示意图;
图10是本申请帧间预测方法第四实施方法的流程示意图;
图11是本申请帧间预测方法实施例2的示意图;
图12是本申请编解码器的结构示意图;
图13是本申请计算机存储介质一实施方式的结构示意图。
具体实施方式
为使本领域的技术人员更好地理解本申请的技术方案,下面结合附图和具体实施方式对本申请所提供的帧间预测方法及其相关装置做进一步详细描述。
本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本文中提及“实施方式”意味着,结合实施方式描述的特定特征、结构或特性可以包含在本申请的至少一个实施方式中。在说明书中的各个位置出现该短语并不一定均是指相同的实施方式,也不是与其它实施方式互斥的独立的或备选的实施方式。本领域技术人员显式地和隐式地理解的是,在不冲突的情况下,本文所描述的实施方式可以与其它实施方式相结合。
本申请的帧间预测方法可以先获取当前块在第一方向上的第一预测值以及在第二方向上的第二预测值;然后利用第一预测值和第二预测值计算得到当前块的双向预测值;进而确定当前块的BGC(bi-directional gradient correction,双向帧间梯度修正)信息,这样通过BGC对当前块的双向预测值进行调整,提高了帧间预测的准确度。
如图1所示,图1为本申请帧间预测方法第一实施方式的流程示意图,本申请的帧间预测方法可以包括以下步骤。
S11:获取当前块在第一方向上的第一预测值以及在第二方向上的第二预测值。
可以理解的是,当前块所属图像帧为双向预测帧,对当前块进行帧间预测时会构建两个参考帧列表list0和list1,用于存放当前帧的参考帧。list0为前向参考列表,其可以存放当前帧前向的帧(即poc比当前帧的poc小的图像帧)。list1一般存放的是当前帧后向的帧(即poc比当前帧的poc大的图像帧),有时候也会存放当前帧前向的帧。在对双向预测的当前块进行预测时,会从list0和list1选取两个参考帧作为当前块的参考帧,因为list1有时也会存放前向的帧,所以两个参考帧可能都是前向的帧;并基于两个参考帧分别确定第一方向上的预测值和第二方向上的预测值。
本申请可以采用多种帧间预测模式对当前块进行预测,以得到当前块在第一方向上的第一预测值以及在第二方向上的第二预测值。
例如,可以采用AMVP(高级运动矢量预测,advanced motion vector prediction)模式对当前块进行预测。其中,AMVP模式先构建运动矢量(MV,Motion Vector)候选列表;从MV候选列表中选出一个最佳候选MV作为当前块的MVP(Motion Vector Predictor,运动矢量预测值);然后进行运动估计过程,即到参考帧中搜索当前块的最佳匹配块,最佳匹配块坐标和当前块坐标的差作为实际MV,最终传输的是实际MV减MVP得到的MVD(motion vectordifference,运动矢量差值);接着进行运动补偿,获取当前块的预测值。
另例如,可以采用SMVD(symmetric motion vector difference,对称运动信息)预测模式对当前块进行预测。其中,如图2所示,SMVD预测模式在参考帧list1中寻找参考帧list0中的参考图像的镜像参考图像,将此镜像图像在list1中的索引做为ref_idx_l1;若不存在镜像图像,则将list1中距离当前图像最近(指的是视频播放顺序上距离当前图像最近)的参考图像的索引做为ref_idx_l1。从而后向MVD1可以由前向MVD0推导获得,进而编码端可以只将前向运动信息传输给解码端,无需传输后向运动信息给解码端,解码端基于获得的前向运动信息通过推导就可获得后向运动信息,可以提高编码效率,去除对称冗余。具体可通过下述公式基于前向MVD0推导出后向运动信息MVD1:
Figure BDA0002613680640000081
在其他实现方式中,可以仅将后向运动信息传输给解码端,不将前向运动信息传输给解码端,以让解码端基于后向运动信息经过推导获得前向运动信息。
又例如,可以采用Affine(仿射)预测模式对当前块进行预测,其中,Affine预测模式通过将当前块划分为多个相同尺寸的4x4或8x8子块,为每个子块生成不同的MV,并分别进行运动补偿,以此来模拟旋转、缩放等场景。如图3所示,采用仿射预测模式将一个16x16的编码块分为16个4x4子块,并对每个子块采用不同的MV进行运动补偿。Affine模式下,CU(Coding Unit,编码块)中每个子块的MV由CP(control point)点的MV根据位置关系加权获得。如图4所示,3个CP分别为当前编码块的左上、右上和左下三点,每个CP所属子块的MV(v0、v1、v2)称为CPMV。仿射模式可分为4参数仿射和6参数仿射,4参数仿射采用v0和v1的CPMV加权计算每个子块MV,6参数仿射采用v0、v1和v2的CPMV加权计算每个子块MV。仿射预测可分为affine_inter和affine_MERGE两种模式,两者的应用条件、候选列表构建方法不相同,affine_inter为每个CPMV添加一个MVD,affine_MERGE的CPMV没有MVD。
S12:利用第一预测值和第二预测值计算得到当前块的双向预测值。
采用步骤S11列举的帧间预测模式或其他帧间预测模式获取当前块在第一方向上的第一预测值以及在第二方向上的第二预测值后,可以利用第一预测值和第二预测值计算得到当前块的双向预测值。
可以利用多种方式基于第一预测值和第二预测值计算得到当前块的双向预测值。
例如,可以由第一预测值和第二预测值加权得到当前块的双向预测值。示例性地,当前块的双向预测值为第一预测值和第二预测值的均值,即第一预测值和第二预测值的加权系数均为0.5。
又例如,可以通过BIO(bi-directional optical flow,双向光流)并基于第一预测值和第二预测值获得当前块的双向预测值。其中,双向光流首先利用当前块第一预测值和第二预测值及梯度值,推导出当前块内每个a*b块的运动位移,然后结合梯度值来获取当前块的双向预测值。其中,该结合梯度值确定的双向预测值为经过双向光流调整后的双向预测值。AVS3视频编码标准中的BIO包括以下步骤。
A、分别求取第一方向上的梯度值和第二方向上的梯度值。
Figure BDA0002613680640000091
Figure BDA0002613680640000092
分别为当前帧像素点在水平和垂直方向的梯度值。
Figure BDA0002613680640000093
Figure BDA0002613680640000094
的计算公式如下所示:
Figure BDA0002613680640000095
Figure BDA0002613680640000096
其中,I(k)(i+1,j)、I(k)(i-1,j)、I(k)(i-1,j)和I(k)(i,j-1)为当前帧中像素点的四个相邻像素点。k为0,则
Figure BDA0002613680640000097
Figure BDA0002613680640000098
为第一方向上的水平和垂直梯度值;k为1,则
Figure BDA0002613680640000099
Figure BDA00026136806400000910
为第二方向上的水平和垂直梯度值。
B、基于第一预测值、第二预测值和梯度值对当前块内每个4x4的子块求取S1、S2、S3、S5和S6这5个变量,利用上述5个变量对每个4x4块分别求取运动位移(vx,vy)(矢量场),其中,运动位移的计算公式如下所示:
vx=(S1+r)>m?clip3(-thBIO,thBIO,(S3<<5)/(S1+r)):0
vy=(S5+r)>m?clip3(-thBIO,thBIO,((S6<<6)-vxS2)/((S5+r<<1)):0;
其中,thBIO和r为公式中固定的参数阈值。(vx,vy)的计算因子S1-S6是计算梯度方向的自相关性和互相关性,其中S1-S6的计算公式如下所示:
S1=∑(i,j)∈Ωψx(i,j)·ψx(i,j);
S2=∑(i,j)∈Ωψx(i,j)·ψy(i,j);
S3=∑(i,j)∈Ωθ(i,j)·ψx(i,j);
S5=∑(i,j)∈Ωψy(i,j)·ψy(i,j);
S6=∑(i,j)∈Ωθ(i,j)·ψy(i,j);
其中,
Figure BDA0002613680640000101
Figure BDA0002613680640000102
θ(i,j)=I(1)(i,j)-I(0)(i,j)。
C、基于梯度值、第一预测值和第二预测值以及运动位移计算出当前块的双向预测值。具体可通过下述公式计算出当前块的双向预测值;
predBIO(x,y)=(I(0)(x,y)+I(1)(x,y)+b+1)>>1;
其中,I(0)(x,y),I(1)(x,y)分别为第一预测值和第二预测值,b为双向光流调整的修正值,
Figure BDA0002613680640000103
Figure BDA0002613680640000104
BIO计算过程中的位宽全部限制在32位以内。
一般来说,通过AMVP和SMVD模式获得当前块的第一预测值和第二预测值后,会通过BIO并基于第一预测值和第二预测值确定当前块的双向预测值。
S13:确定当前块的BGC信息。
得到当前块的双向预测值之后,可以确定当前块的BGC信息。本申请可以采用BGC(bi-directional gradient correction,双向帧间梯度修正)对当前块的双向预测值进行修正。
当前块的BGC信息可以包括当前块的bgc_flag信息和/或当前块的bgc_idx信息。
示例性地,设第一预测值和第二预测值分别为pred0和pred1,双向预测值为predBI。其中,predBI可以为pred0和pred1的均值,或为经双向光流调整后的双向预测值predBIO。帧间预测方法支持的BGC模式包括V1模式、V2模式和V3模式。V1模式的BGC信息为bgc_flag=1,bgc_idx=0。V2模式的BGC信息为bgc_flag=0。V3模式的BGC信息为bgc_flag=1,bgc_idx=1。其中,bgc_flag为二值变量,为0表示不进行梯度修正,为1表示进行梯度修正。bgc_idx为二值变量,为0时Pred=predBI+(pred1-pred0)>>k;为1时Pred=predBI+(pred0-pred1)>>k。
经BGC模式处理后的预测值为Pred,其计算公式如下所示:
Figure BDA0002613680640000111
其中,k为固定值,可选地,k可为3或其他值。另外,还可添加序列级语法元素bgc_enable_flag决定序列是否启用本方案。bgc_enable_flag为二值变量,为0表示序列不启用本方案,为1表示序列启用本方案。其中,如图5所示,V1,V2,V3模式对应bgc_flag=1,bgc_idx=0,和bgc_flag=0,和bgc_flag=1,bgc_idx=1的上述公式。
进一步地,确定当前块的BGC信息后,可以当前块的BGC信息打入到码流中,以将当前块的BGC信息传输到解码端。
上述步骤S11-S13为实现帧间预测的基本步骤,即本申请中帧间预测方法实施方式均基于上述步骤S11-S13实现。本申请为了提高帧间预测的精度和效率,从多个方面提出对帧间预测过程进行了优化。
例如图6、图8和图10所示的实施方式,图6所示的实施方式在步骤S13中引入色度块的BGC调整,以提高预测准确率。图8所示的实施方式在上述步骤S13中引入多种BGC模式,并对多种BGC模式的编码代价进行比较,以确定当前块的BGC模式,以提高预测准确率。图10所示的实施方式在上述步骤S13中引入跳过不必要的编码代价计算和比较过程的方法,提高预测效率,节省编码时间。
以下分别对本申请的三种实施方式进行具体介绍。首先参阅图6,图6是本申请对帧间预测方法第二实施方式的流程示意图。本实施方式利用当前色度块对应的已编码亮度块的BGC信息确定当前色度块的BGC信息,这样也可对当前色度块的预测值进行BGC调整,以解决对色度块的双向预测值未采用BGC调整,对预测准确度造成影响的问题。本实施方式帧间预测方法包括以下步骤。
S21:获取当前块对应的已编码亮度块的BGC信息。
当前块及其对应的已编码亮度块分别为当前帧中同一区域的色度分量及亮度分量。当前块可以为Cb色度块或Cr色度块。其中,Cb色度块和Cr色度块分别描述图像帧中对应区域的色度和饱和度信息。已编码亮度块可以为Y亮度块,Y亮度块表示当前帧中对应区域的明亮度,即表示当前帧中对应区域中像素点的灰度值。每个Y亮度块都对应一个Cb色度块和Cr色度块,每个色度块也只对应一个亮度块。
本实施方式中,可以获取当前块对应的已编码亮度块的BGC信息,以便利用当前块对应的已编码亮度块的BGC信息确定当前块的BGC信息,使得可以利用BGC对当前块的双向预测值进行修正。
可选地,获取到的当前块对应的已编码亮度块的BGC信息可以包括已编码亮度块自身的BGC信息,和/或已编码亮度块的至少一个子块的BGC信息。
进一步地,可以基于当前块对应的已编码亮度块中子块的尺寸确定获取当前块对应的已编码亮度块的哪一种BGC信息。例如,当前块对应的已编码亮度块中所有子块中至少一个子块的边长小于或等于4,获取到的当前块对应的已编码亮度块的BGC信息可以为已编码亮度块的至少一个子块的BGC信息。又例如,当前块对应的已编码亮度块中所有子块的边长均大于4,获取到的当前块对应的已编码亮度块的BGC信息可以为已编码亮度块本身的BGC信息。当然不限于此,例如对于对应的已编码亮度块中所有子块的边长均大于4的当前块,也可以获取当前块对应的已编码亮度块中至少一个子块的BGC信息。
其中已编码亮度块可以基于如图7所示的四叉树划分(SPLIT_QUAD)、二叉树垂直划分(SPLIT_BI_VER)、二叉树水平划分(SPLIT_BI_HOR)、四叉树垂直划分(SPLIT_EQT_VER)、四叉树水平划分(SPLIT_EQT_HOR)等划分方法得到已编码亮度块的多个子块。
S22:利用已编码亮度块的BGC信息确定当前块的BGC信息。
获取到当前块对应的已编码亮度块的BGC信息后,可以利用已编码亮度块的BGC信息确定当前块的BGC信息,从而可以利用BGC对当前块的双向预测值进行修正,以提高预测的准确率。
在一应用场景中,若获取到的已编码亮度块的BGC信息包括已编码亮度块自身的BGC信息,则将已编码亮度块自身的BGC信息作为当前块的BGC信息。这种情况下,已编码亮度块的色度分量的BGC信息可以不需要打入到码流中,一定程度下可以提高编码效率。该应用场景一般为对大尺寸的色度块进行编码的场景,有时也可为对小尺寸的色度块进行编码的场景。
在另一应用场景中,若已编码亮度块的BGC信息包括已编码亮度块的至少一个子块的BGC信息,则对当前块进行BGC过程得到当前块的BGC信息。即在已编码亮度块的BGC信息包括已编码亮度块的至少一个子块的BGC信息,可以进行当前块自身BGC过程,以确定当前块本身最佳的BGC模式和BGC信息,并将当前块自身的BGC信息打入到码流中,以传输给解码端。该应用场景一般为对小尺寸的色度块进行编码的场景,有时也可为对大尺寸的色度块进行编码的场景。
在又一应用场景中,若已编码亮度块的BGC信息包括已编码亮度块的至少一个子块的BGC信息,则选择一个子块的BGC信息作为当前块的BGC信息。这种情况下,已编码亮度块的色度分量的BGC信息可以不需要打入到码流中,一定程度下可以提高编码效率。该应用场景一般为对小尺寸的色度块进行编码的场景,有时也可为对大尺寸的色度块进行编码的场景。
其中,选择已编码亮度块中指定位置的子块的BGC信息作为当前块的BGC信息。其中,指定位置是指当前块对应的已编码亮度块中右上角、左上角、中心、左下角或右下角等任一固定位置。例如,设指定位置的子块是当前块对应的已编码亮度块中右下角的子块,右下角子块的BGC信息为bgc_flag=1,bgc_idx=1,则当前块的BGC信息就为bgc_flag=1,bgc_idx=1。
在其他实现方式中,选择一个子块的BGC信息作为当前块的BGC信息的步骤可以包括:统计已编码亮度块中所有子块的BGC信息中不同BGC信息的出现次数,选择出现次数最多的BGC信息作为当前块的BGC信息。例如,当前块对应的已编码亮度块被分为6个子块,其中2个子块的BGC信息为bgc_flag=1,bgc_idx=0,3个子块的BGC信息为bgc_flag=0,1个子块的BGC信息为bgc_flag=1,bgc_idx=1,那出现次数最多的BGC信息为bgc_flag=0,从而会将bgc_flag=0作为当前块的BGC信息。
一般来说,若当前块对应的已编码亮度块中所有子块中至少一个子块的边长小于或等于4,则当前块为小尺寸的色度块,反之则为大尺寸的色度块。
为更精确地区分大尺寸的色度块和小尺寸的色度块,应用在对当前编码块的亮度分量和色度分量进行预测时色度块不再跟随亮度块一同划分的具体规则对大尺寸色度块和小尺寸的色度块进行区分,具体地,若色度块满足下述不再进行划分的条件,则色度块为小尺寸的色度块,反之则为大尺寸的色度块。其中,色度块不再进行划分的条件如下所示:
I、当亮度块的宽为8且后续采用四叉树划分(QT,SPLIT_QUAD)方式时,色度块不再进行划分;
II、当亮度块的宽为8或者高为16,且后续采用四叉树水平划分(SPLIT_EQT_HOR)方式时,色度块不再进行划分;
III、当亮度块的宽为16或者高为8,且后续采用四叉树垂直划分(SPLIT_EQT_VER)方式时,色度块不再进行划分;
IV、当亮度块的高为8,且后续采用二叉树水平划分(SPLIT_BI_HOR)方式时,色度块不再进行划分;
V、当亮度块的宽为8,且后续采用二叉树垂直划分(SPLIT_BI_VER)方式时,色度块不再进行划分。
在本实施方式中,利用当前色度块对应的已编码亮度块的BGC信息确定当前色度块的BGC信息,这样也可对当前色度块的预测值进行BGC调整,提高帧间预测准确度,加强色度分量的编码性能。
请继续参阅图8,图8是本申请帧间预测方法第三实施方式的流程示意图,本实施方式计算多种BGC模式的预测值及编码代价,并基于多种BGC模式下的编码代价确定当前块的BGC信息,以提高编码性能。本实施方式帧间预测方法包括以下步骤。
S31:获取当前块在第一方向上的第一预测值以及在第二方向上的第二预测值。
可参阅步骤S11,在此不做赘述。
S32:利用第一预测值和第二预测值计算得到当前块的双向预测值。
可参阅步骤S12,在此不做赘述。
S33:利用第一预测值、第二预测值和双向预测值计算不同的BGC模式的预测值及编码代价,选择编码代价最小的一个BGC模式的信息作为当前块的BGC信息。
利用第一预测值和第二预测值计算得到当前块的双向预测值后,可以计算不同的BGC模式的预测值及编码代价,将编码代价最小的一个BGC模式的信息作为当前块的BGC信息。
其中,BGC模式包括未修正模式、第一修正模式、第二修正模式和组合模式中的至少两种。
其中,未修正模式的预测值为双向预测值或经过双向光流调整后的双向预测值。确定未修正模式的预测值之后,可以基于未修正模式的预测值并通过SAD、SGBM等代价计算方法计算出未修正模式下的编码代价。
第一修正模式的预测值为第一梯度值与第一权重的乘积与未修正模式的预测值之和,第一梯度值等于第二预测值减去第一预测值。计算出第一修正模式的预测值之后,可以基于第一修正模式的预测值并通过SAD、SGBM等代价计算方法计算出第一修正模式下的编码代价。第一权重为2-m,m为正整数。第一修正模式的数量可以大于或等于1。在第一修正模式的数量大于1时,不同的第一修正模式对应的第一权重不同,即不同的第一修正模式对应的第一权重中m的值不相同。例如第一修正模式的数量为3,其中一个第一修正模式的第一权重为2-2,另一个第一修正模式的第一权重为2-3,剩余的第一修正模式的第一权重为2-1
第二修正模式的预测值为第二梯度值与第二权重的乘积与未修正模式的预测值之和,第二梯度值等于第一预测值减去第二预测值。计算出第二修正模式的预测值之后,可以基于第二修正模式的预测值并通过SAD、SGBM等代价计算方法计算出第二修正模式下的编码代价。第二权重为2-n,n为正整数。第二修正模式的数量可以大于或等于1。在第二修正模式的数量大于1时,不同的第二修正模式对应的第二权重不同,即不同的第二修正模式对应的第二权重中n的值不相同。例如第二修正模式的数量为2,其中一个第二修正模式的第二权重为2-2,另一个第二修正模式的第二权重为2-4
组合模式的预测值由当前块的各个子块的BGC模式的预测值组合而成,且至少两个子块的BGC模式不同。可以基于如图7所示的四叉树划分(SPLIT_QUAD)、二叉树垂直划分(SPLIT_BI_VER)、二叉树水平划分(SPLIT_BI_HOR)、四叉树垂直划分(SPLIT_EQT_VER)、四叉树水平划分(SPLIT_EQT_HOR)等划分方法对当前块进行划分,以得到当前块的多个子块。其中,各个子块的BGC信息可以采用本实施方式的方式确定。或者,各个子块的BGC信息可以为帧间预测方法支持的BGC模式中的任一种BGC模式的BGC信息。又或者,第一预设区域内子块的BGC信息为第一预设BGC信息;第二预设区域内子块的BGC信息为第二预设BGC信息……。
在一实现方式中,在步骤S33中,可以遍历所有BGC模式,计算所有BGC模式的预测值及编码代价,将所有BGC模式中代价最小的BGC模式的信息作为当前块的BGC信息。并且在遍历所有BGC模式时,可以以所有BGC模式中任一个BGC模式为起点依次遍历所有BGC模式。例如,对当前帧中编码块进行预测时,预设的所有BGC模式包括未修正模式、两个第一修正模式和两个第二修正模式,按照第一个第一修正模式-未修正模式-第二个第一修正模式-第一个第二修正模式-第二个第二修正模式的顺序依次遍历所有BGC模式,将未修正模式、两个第一修正模式和两个第二修正模式中编码代价最小的BGC模式的信息作为当前块的BGC信息。
在另一实现方式中,如图9所示,步骤S33可以包括以下步骤。采用下述步骤,可以跳过不必要的修正模式的编码代价计算和比较过程,提高预测效率,节省编码时间。
S331:计算未修正模式的预测值及编码代价。
S332:按照指定顺序从修正模式中选择一种计算其预测值及编码代价。
修正模式包括第一修正模式、第二修正模式和组合模式中的至少两种。
计算未修正模式的预测值及编码代价后,可以按照指定顺序从修正模式中选择一种计算其预测值及编码代价,以便后续比较未修正模式的编码代价和选择的修正模式的编码代价。
可选地,计算未修正模式的预测值及编码代价后,按照指定顺序从修正模式中选择一种计算其预测值及编码代价,然后进入步骤S333,以比较未修正模式和选择的修正模式的编码代价的大小。继而在步骤S334确定未修正模式的编码代价比选择的修正模式的编码代价小,且选择的修正模式不是指定顺序的最后一个修正模式时,可以将指定顺序中选择的修正模式的下一个修正模式作为选择的修正模式,然后再次进入步骤S333,以比较未修正模式和重新选择的修正模式的编码代价的大小。
其中,指定顺序可以为第一修正模式-第二修正模式-组合模式、第二修正模式-第一修正模式-组合模式、组合模式-第一修正模式-第二修正模式……
在一实现方式中,指定顺序可以是基于帧间预测模式支持的所有BGC模式预先设定的。例如,帧间预测模式支持第一修正模式和组合模式,那指定顺序可以预先设定为组合模式-第一修正模式。
在另一实现方式中,指定顺序可以是根据已编码块的BGC信息统计结果确定的。示例性地,可以统计已编码亮度块中所有子块的BGC模式中不同BGC模式的出现次数,依照BGC模式的出现次数从高到低的顺序对BGC模式进行排序,排序后的BGC模式即可作为指定顺序。
S333:比较未修正模式和选择的修正模式的编码代价。
确定未修正模式和选择的修正模式的编码代价后,可以比较未修正模式和选择的修正模式的编码代价,以确定编码代价较小的工作模式。
若未修正模式的编码代价较小,进入步骤S335;若选择的修正模式的编码代价较小,进入步骤S334。
S334:计算所有选择的修正模式的编码代价并选择编码代价最小的一个选择的修正模式的信息作为当前块的BGC信息。
若选择的修正模式的编码代价较小,会计算所有选择的修正模式的编码代价并选择编码代价最小的一个选择的修正模式的信息作为当前块的BGC信息。
例如,第一修正模式的数量有3个,选择的修正模式为第一个第一修正模式,且第一个第一修正模式的编码代价比未修正模式的编码代价小,则会继续计算第二个第一修正模式和第三个第一修正模式的编码代价,并将三个第一修正模式中编码代价最小的修正模式对应的BGC信息作为当前块的BGC信息。
S335:确定选择的修正模式是否为指定顺序的最后一个修正模式。
若未修正模式的编码代价较小,会确定选择的修正模式是否为指定顺序的最后一个修正模式。若确定选择的修正模式为指定顺序的最后一个修正模式,则进入步骤S336,以将未修正模式的BGC信息作为当前块的BGC信息;若确定选择的修正模式不为指定顺序的最后一个修正模式,则返回到步骤S332,以跳转至按照指定顺序从修正模式中选择一种计算其预测值及编码代价继续执行。
S336:将未修正模式的信息作为当前块的BGC信息。
若未修正模式的编码代价较小,且确定选择的修正模式为指定顺序的最后一个修正模式,则将未修正模式的信息作为当前块的BGC信息。
请继续参阅图10,图10是本申请帧间预测方法第四实施方式的流程示意图,本实施方式引入跳过不必要的编码代价计算和比较的方法,以节省编码时间。本实施方式帧间预测方法包括以下步骤。
S41:获取当前块在第一方向上的第一预测值以及在第二方向上的第二预测值。
可参阅步骤S11,在此不做赘述。
S42:利用第一预测值和第二预测值计算得到当前块的双向预测值。
可参阅步骤S12,在此不做赘述。
S43:计算未修正模式的预测值及编码代价。
未修正模式的预测值为双向预测值或经过双向光流调整后的双向预测值。确定未修正模式的预测值之后,可以基于未修正模式的预测值并通过SAD、SGBM等代价计算方法计算出未修正模式下的编码代价。
S44:按照指定顺序从修正模式中选择一种计算其预测值及编码代价。
修正模式包括第一修正模式和第二修正模式。
确定未修正模式的预测值及编码代价后,可以按照指定顺序选择第一修正模式和第二修正模式的其中一个修正模式计算其预测值及编码代价,然后进入步骤S45,以比较未修正模式和选择的修正模式的编码代价的大小。继而在步骤S45确定未修正模式的编码代价比选择的修正模式的编码代价小,且选择的修正模式不是指定顺序的最后一个修正模式时,可以将指定顺序中选择的修正模式的下一个修正模式作为选择的修正模式,然后再次进入步骤S45,以比较未修正模式和重新选择的修正模式的编码代价的大小。
其中,指定顺序可以为第一修正模式-第二修正模式或第二修正模式-第一修正模式。
在一实现方式中,指定顺序可以预先设定。例如,指定顺序可以预先设定为第二修正模式-第一修正模式。
在另一实现方式中,指定顺序可以是根据已编码块的BGC信息统计结果确定的。示例性地,可以统计已编码亮度块中所有子块的BGC模式中不同BGC模式的出现次数,假设第一修正模式的出现次数多于第二修正模式的出现次数,则指定顺序为第一修正模式-第二修正模式。
S45:比较未修正模式和选择的修正模式的编码代价。
计算未修正模式和选择的修正模式的编码代价后,可以比较未修正模式和选择的修正模式的编码代价。若未修正模式的编码代价较小,且选择的修正模式是指定顺序的最后一个修正模式,则进入步骤S47,以将未修正模式的BGC信息作为当前块的BGC信息;若未修正模式的编码代价较小,且选择的修正模式不是指定顺序的最后一个修正模式,则返回到步骤S44,以跳转至按照指定顺序从修正模式中选择一种计算其预测值及编码代价继续执行。若选择的修正模式的编码代价较小,进入步骤S46,以将选择的修正模式的BGC信息作为当前块的BGC信息。
S46:将选择的修正模式的BGC信息作为当前块的BGC信息。
若选择的修正模式的编码代价较小,会将选择的修正模式的BGC信息作为当前块的BGC信息。
S47:将未修正模式的信息作为当前块的BGC信息。
若未修正模式的编码代价较小,且选择的修正模式是指定顺序的最后一个修正模式,会将未修正模式的信息作为当前块的BGC信息。
在本实施方式中,会计算第一修正模式和第二修正模式的其中一个修正模式的编码代价和未修正模式的编码代价,在确定该其中一个修正模式的编码代价较小时,可以跳过另一个修正模式的编码代价的计算和比较过程,直接将该其中一个修正模式的BGC信息作为当前块的BGC信息,可以节省编码时间,提高预测效率。
下面为更好说明本申请帧间预测方法,提供以下帧间预测具体实施例来示例性说明本申请的帧间预测方法。其中实施例1和实施例2用于介绍第二实施方式帧间预测方法。其中实施例3用于介绍第三实施方式帧间预测方法。其中实施例4用于介绍第四实施方式帧间预测方法。其中实施例5用于介绍第三实施方式帧间预测方法和第四实施方式帧间预测方法结合的方案。
实施例1
已编码亮度块的尺寸为64x64,其在bgc_flag=1,bgc_idx=0情况下的BGC过程为:
PredY(x,y)=predBI(x,y)Y+(pred1Y(x,y)-pred0Y(x,y))>>k;
其中x,y代表已编码亮度块中像素所在位置坐标,且x,y分别小于或等于64。
那么,已编码亮度块对应的色度分量为当前块时,且通过运动补偿得到当前块的第一预测值、第二预测值和双向预测值后,可以获取已编码亮度块本身的BGC信息——bgc_flag=1,bgc_idx=0;并将已编码亮度块本身的BGC信息作为当前块的BGC信息,并采用已编码亮度块本身的BGC信息对应的BGC模式对当前块的双向预测值进行修正。对当前块在bgc_flag=1,bgc_idx=0情况下进行BGC修正的过程如下所示:
PredC(x,y)=predBI(x,y)C+(pred1C(x,y)-pred0C(x,y))>>k;
其中x,y代表当前块中像素所在位置坐标,且x,y分别小于或等于色度分量的宽和高—32,其中PredC(x,y)代表已编码亮度块的色度分量U或V经BGC修正的预测值。
实施例2
已编码亮度块为小尺寸16x16的块时,已编码亮度块可以继续划分,已编码亮度块的色度分量不再进行划分,此时色度块大小8x8。
在已编码亮度块对应的色度分量为当前块时,且通过运动补偿得到当前块的第一预测值和第二预测值,并计算得到双向预测值后,可以将已编码亮度块的一子块的bgc_flag和bgc_idx作为当前块的BGC信息。
具体地,如图11所示,若已编码亮度块最终划分为四个8x8的块,可以将已编码亮度块中右下角的8x8子块的bgc_flag=1和bgc_idx=0作为当前块的BGC信息,并采用已编码亮度块本身的BGC信息对应的BGC模式对当前块的双向预测值进行修正。对当前块在bgc_flag=1,bgc_idx=0情况下进行BGC修正的过程如下所示:
PredC(x,y)=predBI(x,y)C+(pred1C(x,y)-pred0C(x,y))>>k
其中x,y代表当前块中像素所在位置坐标,且x,y分别小于或等于色度分量的宽和高—8,其中PredC(x,y)代表已编码亮度块的色度分量U或V经BGC修正的预测值。
实施例3
本实施例帧间预测方法支持5种BGC模式,这5种BGC模式分别为BGC模式1、2、3、4、5。其中BGC模式1、2和3为原有的BGC模式,BGC模式4,5为额外添加的模式。对当前块进行运动补偿得到当前块的第一预测值R0和第二预测值R1,并计算得到双向预测值V2后,根据这五种模式进行RDO决策,以确定当前块的BGC模式和BGC信息。其中,上述五种BGC模式对应的公式如下所示:
模式1:V1=V2+(R1-R0)>>k;
模式2:V2=(R0+R1+1)>>1,or V2=(R0+R1+b+1)>>1(BIO开启情况);
模式3:V3=V2+(R0-R1)>>k;
模式4:V4=V2+(R1-R0)>>(k-1);
模式5:V5=V2+(R0-R1)>>(k-1)。
其中,k为固定值,可为3或其他值。bgc_flag为二值变量,为0表示不进行梯度修正(BGC模式2),为1表示进行梯度修正。bgc_idx为二值化变量,为0表示BGC模式1,为1表示BGC模式3,为2表示BGC模式4,为3表示BGC模式5。
进行BGC的RDO决策时,会由BGC模式2开始,遍历BGC模式1、3、4和5这4种额外的BGC模式,找出这5种BGC模式中代价最小的BGC模式作为当前块的最佳BGC模式。额外的模式不限于该两种,亦可以是根据右移k值的不同,而增加多种BGC模式参与RDO决策。
实施例4
本实施例的帧间预测方法支持三种BGC模式,分别为V1、V2、V3。其中,V1对应bgc_flag=1,bgc_idx=0,V1模式的具体修正公式为Pred=predBI+(pred1-pred0)>>k;V2对应bgc_flag=0,即不使用BGC方法对帧间预测值进行修正;V3对应bgc_flag=1,bgc_idx=1,V3模式的具体修正公式可为Pred=predBI+(pred0-pred1)>>k。在使用BGC技术的过程中,会先进行BGC的V1模式和V2模式的RDO决策,即比较当前块采用V1模式的编码代价和当前块采用V2模式的编码代价的大小,若V1模式的编码代价较小,那么则跳过与V3模式的RDO决策过程,降低编码时间。若V2模式的编码代价较小,则会继续进行BGC的V2模式和V3模式的RDO决策,会将V2模式和V3模式中编码代价中小的模式对应的BGC信息作为当前块的BGC信息。
实施例5
本实施例帧间预测方法支持实施例3的5种BGC模式。对当前块进行运动补偿得到当前块的第一预测值R0和第二预测值R1,并计算得到双向预测值V2后,根据这五种模式进行RDO决策,以确定当前块的BGC模式和BGC信息。具体地确定当前块的BGC模式和BGC信息的过程如下所示:
1)比较BGC模式1和BGC模式2的编码代价的大小,若BGC模式1的编码代价较小,跳至步骤2,否则跳至步骤3。
2)比较BGC模式1和BGC模式4的编码代价的大小,BGC模式1和BGC模式4的编码代价最小的BGC模式对应的BGC信息——bgc_flag、bgc_idx打入码流,终止BGC过程。
3)比较BGC模式2和BGC模式3的编码代价的大小,若BGC模式2的编码代价较小,则将BGC模式2的bgc_flag作为当前块的BGC信息并打入码流,终止BGC过程;否则跳至步骤4。
4)比较BGC模式3和BGC模式5的编码代价的大小,BGC模式3和BGC模式5的编码代价最小的BGC模式对应的BGC信息——bgc_flag、bgc_idx打入码流,完成BGC过程。
请参阅图12,图12是本申请编解码器一实施方式的结构示意图。本编解码器10包括相互耦接的存储器11和处理器12,存储器11用于存储程序指令,处理器12用于执行程序指令以实现上述任一实施方式的方法。
上述帧间预测方法的逻辑过程以计算机程序呈现,在计算机程序方面,若其作为独立的软件产品销售或使用时,其可存储在计算机存储介质中,因而本申请提出一种计算机存储介质。请参阅图13,图13是本申请计算机存储介质一实施方式的结构示意图,本实施方式计算机存储介质20中存储有计算机程序21,计算机程序21被处理器执行时实现上述帧间预测方法中的步骤。
该计算机存储介质20具体可以为U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory,)、磁碟或者光盘等可以存储计算机程序的介质,或者也可以为存储有该计算机程序的服务器,该服务器可将存储的计算机程序发送给其他设备运行,或者也可以自运行该存储的计算机程序。该计算机存储介质20从物理实体上来看,可以为多个实体的组合,例如多个服务器、服务器加存储器、或存储器加移动硬盘等多种组合方式。
以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (18)

1.一种帧间预测方法,其特征在于,包括:
获取当前块对应的已编码亮度块的运动帧间梯度修正信息,所述当前块及其对应的所述已编码亮度块分别为当前帧中同一区域的色度分量及亮度分量;
利用所述已编码亮度块的运动帧间梯度修正信息确定所述当前块的运动帧间梯度修正信息。
2.根据权利要求1所述的方法,其特征在于,
所述利用所述已编码亮度块的运动帧间梯度修正信息确定所述当前块的运动帧间梯度修正信息包括:
若所述已编码亮度块的运动帧间梯度修正信息包括所述已编码亮度块自身的运动帧间梯度修正信息,则将所述已编码亮度块自身的运动帧间梯度修正信息作为所述当前块的运动帧间梯度修正信息;
若所述已编码亮度块的运动帧间梯度修正信息包括所述已编码亮度块的至少一个子块的运动帧间梯度修正信息,则选择一个所述子块的运动帧间梯度修正信息作为所述当前块的运动帧间梯度修正信息或对所述当前块进行运动帧间梯度修正过程得到所述当前块的运动帧间梯度修正信息。
3.根据权利要求2所述的方法,其特征在于,
所述选择一个所述子块的运动帧间梯度修正信息作为所述当前块的运动帧间梯度修正信息包括:
选择所述已编码亮度块中指定位置的子块的运动帧间梯度修正信息作为所述当前块的运动帧间梯度修正信息;或
统计所述已编码亮度块中所有子块的运动帧间梯度修正信息中不同运动帧间梯度修正信息的出现次数,选择出现次数最多的运动帧间梯度修正信息作为所述当前块的运动帧间梯度修正信息。
4.根据权利要求2所述的方法,其特征在于,
所述对所述当前块进行运动帧间梯度修正过程得到所述当前块的运动帧间梯度修正信息包括:
获取所述当前块在第一方向上的第一预测值以及在第二方向上的第二预测值;
利用所述第一预测值和所述第二预测值计算得到所述当前块的双向预测值;
利用所述第一预测值、所述第二预测值和所述双向预测值计算不同的运动帧间梯度修正模式的预测值及编码代价,选择编码代价最小的一个运动帧间梯度修正模式的信息作为所述当前块的运动帧间梯度修正信息。
5.根据权利要求4所述的方法,其特征在于,
所述运动帧间梯度修正模式包括未修正模式、第一修正模式、第二修正模式和组合模式中的至少两种,所述未修正模式的预测值为所述双向预测值或经过双向光流调整后的所述双向预测值,所述第一修正模式的预测值为第一梯度值与第一权重的乘积与所述未修正模式的预测值之和,所述第一梯度值等于所述第二预测值减去所述第一预测值,所述第一修正模式的预测值为第二梯度值与第二权重的乘积与所述未修正模式的预测值之和,所述第二梯度值等于所述第一预测值减去所述第二预测值,所述组合模式的预测值由所述当前块的各个子块的运动帧间梯度修正模式的预测值组合而成,且至少两个所述子块的运动帧间梯度修正模式不同。
6.根据权利要求5所述的方法,其特征在于,
所述第一修正模式的数量大于1,不同的所述第一修正模式对应的所述第一权重不同;和/或
所述第二修正模式的数量大于1,不同的所述第二修正模式对应的所述第二权重不同。
7.根据权利要求5所述的方法,其特征在于,
所述第一权重为2-m,所述第二权值为2-n,其中m和n均为正整数。
8.根据权利要求5-7中任一项所述的方法,其特征在于,
所述利用所述第一预测值、所述第二预测值和所述双向预测值计算不同的运动帧间梯度修正模式的预测值及编码代价,选择编码代价最小的一个运动帧间梯度修正模式的信息作为所述当前块的运动帧间梯度修正信息包括:
计算所述未修正模式的预测值及编码代价;
按照指定顺序从修正模式中选择一种计算其预测值及编码代价,所述修正模式包括所述第一修正模式、所述第二修正模式和所述组合模式中的至少两种;
比较所述未修正模式和选择的修正模式的编码代价;
若所述选择的修正模式的编码代价较小,则计算所有所述选择的修正模式的编码代价并选择编码代价最小的一个所述选择的修正模式的信息作为所述当前块的运动帧间梯度修正信息,若所述未修正模式的编码代价较小且所述选择的修正模式是所述指定顺序的最后一个修正模式,将所述未修正模式的信息作为所述当前块的运动帧间梯度修正信息,若所述未修正模式的编码代价较小且所述选择的修正模式不是所述指定顺序的最后一个修正模式,则跳转至所述按照指定顺序从修正模式中选择一种计算其预测值及编码代价继续执行。
9.根据权利要求8所述的方法,其特征在于,
所述指定顺序是根据已编码块的运动帧间梯度修正信息统计结果确定的。
10.一种帧间预测方法,其特征在于,包括:
获取当前块在第一方向上的第一预测值以及在第二方向上的第二预测值;
利用所述第一预测值和所述第二预测值计算得到所述当前块的双向预测值;
利用所述第一预测值、所述第二预测值和所述双向预测值计算不同的运动帧间梯度修正模式的预测值及编码代价,选择编码代价最小的一个运动帧间梯度修正模式的信息作为所述当前块的运动帧间梯度修正信息;
其中所述运动帧间梯度修正模式包括未修正模式、第一修正模式、第二修正模式和组合模式中的至少两种,所述未修正模式的预测值为所述双向预测值或经过双向光流调整后的所述双向预测值,所述第一修正模式的预测值为第一梯度值与第一权重的乘积与所述未修正模式的预测值之和,所述第一梯度值等于所述第二预测值减去所述第一预测值,所述第二修正模式的预测值为第二梯度值与第二权重的乘积与所述未修正模式的预测值之和,所述第二梯度值等于所述第一预测值减去所述第二预测值,所述组合模式的预测值由所述当前块的各个子块的运动帧间梯度修正模式的预测值组合而成,且至少两个所述子块的运动帧间梯度修正模式不同。
11.根据权利要求10所述的方法,其特征在于,
所述第一修正模式的数量大于1,不同的所述第一修正模式对应的所述第一权重不同;和/或
所述第二修正模式的数量大于1,不同的所述第二修正模式对应的所述第二权重不同。
12.根据权利要求11所述的方法,其特征在于,
所述第一权重为2-m,所述第二权值为2-n,其中m和n均为正整数。
13.根据权利要求10-12中任一项所述的方法,其特征在于,
所述利用所述第一预测值、所述第二预测值和所述双向预测值计算不同的运动帧间梯度修正模式的预测值及编码代价,选择编码代价最小的一个运动帧间梯度修正模式的信息作为所述当前块的运动帧间梯度修正信息包括:
计算所述未修正模式的预测值及编码代价;
按照指定顺序从修正模式中选择一种计算其预测值及编码代价,所述修正模式包括所述第一修正模式、所述第二修正模式和所述组合模式中的至少两种;
比较所述未修正模式和选择的修正模式的编码代价;
若所述选择的修正模式的编码代价较小,则计算所有所述选择的修正模式的编码代价并选择编码代价最小的一个所述选择的修正模式的信息作为所述当前块的运动帧间梯度修正信息,若所述未修正模式的编码代价较小且所述选择的修正模式是所述指定顺序的最后一个修正模式,将所述未修正模式的信息作为所述当前块的运动帧间梯度修正信息,若所述未修正模式的编码代价较小且所述选择的修正模式不是所述指定顺序的最后一个修正模式,则跳转至所述按照指定顺序从修正模式中选择一种计算其预测值及编码代价继续执行。
14.根据权利要求13所述的方法,其特征在于,
所述指定顺序是根据已编码块的运动帧间梯度修正信息统计结果确定的。
15.一种帧间预测方法,其特征在于,包括:
获取当前块在第一方向上的第一预测值以及在第二方向上的第二预测值;
利用所述第一预测值和所述第二预测值计算得到所述当前块的双向预测值;
计算所述未修正模式的预测值及编码代价;
按照指定顺序从修正模式中选择一种计算其预测值及编码代价,所述修正模式包括所述第一修正模式和所述第二修正模式;
比较所述未修正模式和选择的修正模式的编码代价;
若所述选择的修正模式的编码代价较小,将所述选择的修正模式的运动帧间梯度修正信息作为当前块的运动帧间梯度修正信息;若所述未修正模式的编码代价较小且所述选择的修正模式是所述指定顺序的最后一个修正模式,将所述未修正模式的信息作为所述当前块的运动帧间梯度修正信息;若所述未修正模式的编码代价较小且所述选择的修正模式不是所述指定顺序的最后一个修正模式,则跳转至所述按照指定顺序从修正模式中选择一种计算其预测值及编码代价继续执行。
16.根据权利要求15所述的方法,其特征在于,
所述指定顺序是根据已编码块的运动帧间梯度修正信息统计结果确定的。
17.一种编解码器,其特征在于,所述编解码器包括存储器和处理器;所述存储器中存储有计算机程序,所述处理器用于执行所述计算机程序以实现如权利要求1-16中任一项所述方法的步骤。
18.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-17中任一项所述方法的步骤。
CN202010763296.8A 2020-07-31 2020-07-31 帧间预测方法及其相关装置 Active CN112004091B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010763296.8A CN112004091B (zh) 2020-07-31 2020-07-31 帧间预测方法及其相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010763296.8A CN112004091B (zh) 2020-07-31 2020-07-31 帧间预测方法及其相关装置

Publications (2)

Publication Number Publication Date
CN112004091A true CN112004091A (zh) 2020-11-27
CN112004091B CN112004091B (zh) 2021-08-03

Family

ID=73463288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010763296.8A Active CN112004091B (zh) 2020-07-31 2020-07-31 帧间预测方法及其相关装置

Country Status (1)

Country Link
CN (1) CN112004091B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565768A (zh) * 2020-12-02 2021-03-26 浙江大华技术股份有限公司 一种帧间预测方法、编解码系统及计算机可读存储介质
CN113160277A (zh) * 2021-01-29 2021-07-23 北京小米松果电子有限公司 一种图像处理方法、装置、电子设备及存储介质
US11582474B2 (en) * 2020-08-03 2023-02-14 Alibaba Group Holding Limited Systems and methods for bi-directional gradient correction

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102783150A (zh) * 2010-02-19 2012-11-14 高通股份有限公司 视频译码中的块类型信令
CN107801028A (zh) * 2011-09-14 2018-03-13 三星电子株式会社 用于对视频进行编码和解码的方法和装置
CN108541375A (zh) * 2016-02-03 2018-09-14 夏普株式会社 运动图像解码装置、运动图像编码装置、以及预测图像生成装置
CN108702501A (zh) * 2016-02-22 2018-10-23 联发科技(新加坡)私人有限公司 用于视频编码的色度预测的区域化亮度预测模式继承的方法及装置
US20190349589A1 (en) * 2016-12-28 2019-11-14 Lg Electronics Inc. Image processing method based on inter prediction mode, and apparatus therefor
CN110545425A (zh) * 2019-08-21 2019-12-06 浙江大华技术股份有限公司 一种帧间预测方法、终端设备以及计算机存储介质
CN110999288A (zh) * 2017-08-22 2020-04-10 索尼公司 图像处理器和图像处理方法
CN111131837A (zh) * 2019-12-30 2020-05-08 浙江大华技术股份有限公司 运动补偿修正方法、编码方法、编码器及存储介质
CN111294598A (zh) * 2019-02-08 2020-06-16 北京达佳互联信息技术有限公司 一种视频编解码方法及设备
CN111327907A (zh) * 2018-12-13 2020-06-23 华为技术有限公司 一种帧间预测的方法及装置
WO2020139061A1 (ko) * 2018-12-28 2020-07-02 인텔렉추얼디스커버리 주식회사 화면 간 예측 부호화 및 복호화 방법 및 장치
US20200244979A1 (en) * 2019-01-25 2020-07-30 Tencent America LLC Method and apparatus for video coding

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102783150A (zh) * 2010-02-19 2012-11-14 高通股份有限公司 视频译码中的块类型信令
CN107801028A (zh) * 2011-09-14 2018-03-13 三星电子株式会社 用于对视频进行编码和解码的方法和装置
CN108541375A (zh) * 2016-02-03 2018-09-14 夏普株式会社 运动图像解码装置、运动图像编码装置、以及预测图像生成装置
CN108702501A (zh) * 2016-02-22 2018-10-23 联发科技(新加坡)私人有限公司 用于视频编码的色度预测的区域化亮度预测模式继承的方法及装置
US20190349589A1 (en) * 2016-12-28 2019-11-14 Lg Electronics Inc. Image processing method based on inter prediction mode, and apparatus therefor
CN110999288A (zh) * 2017-08-22 2020-04-10 索尼公司 图像处理器和图像处理方法
CN111327907A (zh) * 2018-12-13 2020-06-23 华为技术有限公司 一种帧间预测的方法及装置
WO2020139061A1 (ko) * 2018-12-28 2020-07-02 인텔렉추얼디스커버리 주식회사 화면 간 예측 부호화 및 복호화 방법 및 장치
US20200244979A1 (en) * 2019-01-25 2020-07-30 Tencent America LLC Method and apparatus for video coding
CN111294598A (zh) * 2019-02-08 2020-06-16 北京达佳互联信息技术有限公司 一种视频编解码方法及设备
CN110545425A (zh) * 2019-08-21 2019-12-06 浙江大华技术股份有限公司 一种帧间预测方法、终端设备以及计算机存储介质
CN111131837A (zh) * 2019-12-30 2020-05-08 浙江大华技术股份有限公司 运动补偿修正方法、编码方法、编码器及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ELENA ALSHINA等: "CE1: Samsung’s test for bi-directional optical flow", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》 *
JIANLE CHEN等: "Algorithm Description of Joint Exploration Test Model 1", 《JOINT VIDEO EXPLORATION TEAM (JVET)OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11582474B2 (en) * 2020-08-03 2023-02-14 Alibaba Group Holding Limited Systems and methods for bi-directional gradient correction
CN112565768A (zh) * 2020-12-02 2021-03-26 浙江大华技术股份有限公司 一种帧间预测方法、编解码系统及计算机可读存储介质
CN112565768B (zh) * 2020-12-02 2023-02-28 浙江大华技术股份有限公司 一种帧间预测方法、编解码系统及计算机可读存储介质
CN113160277A (zh) * 2021-01-29 2021-07-23 北京小米松果电子有限公司 一种图像处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112004091B (zh) 2021-08-03

Similar Documents

Publication Publication Date Title
CN111385569B (zh) 一种编解码方法及其设备
JP7307192B2 (ja) デコーダ側の動きベクトルの導出
CN112004091B (zh) 帧间预测方法及其相关装置
JP5081305B2 (ja) フレーム間予測符号化の方法および装置
WO2013042888A2 (ko) 머지 후보 블록 유도 방법 및 이러한 방법을 사용하는 장치
JP5310614B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像復号装置ならびに動画像復号方法
JP4527677B2 (ja) 動画像符号化方法、動画像符号化装置、動画像符号化プログラム
WO2013041244A1 (en) Video encoding and decoding with improved error resilience
US8462849B2 (en) Reference picture selection for sub-pixel motion estimation
US11082688B2 (en) Restricted overlapped block motion compensation
CN113965753B (zh) 一种基于码率控制的帧间图像运动估计方法与系统
JP2008227670A (ja) 画像符号化装置
TWI738292B (zh) 用於視頻編解碼系統的簡化仿射子塊處理的方法及裝置
CN112004097B (zh) 帧间预测方法、图像处理装置以及计算机可读存储介质
CN102572424A (zh) 图像处理设备、方法和程序
US11997284B2 (en) Method for deriving motion vector, and electronic device of current block in coding unit
JP2010268199A (ja) 動画像符号化方法、動画像符号化装置、及び、画像符号化プログラム
CN110662074B (zh) 一种运动矢量确定方法和设备
CN112565769B (zh) 块划分方法、帧间预测方法、视频编码方法及相关装置
CN112601081B (zh) 一种自适应分区多次预测方法及装置
CN112954365A (zh) Hevc帧间运动估算像素搜索改进方法
CN112055221A (zh) 一种帧间预测方法、视频编码方法及电子设备和存储介质
JP4188878B2 (ja) 動画像符号化方法,動画像符号化装置,動画像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
Toivonen et al. Fast full search block motion estimation for H. 264/AVC with multilevel successive elimination algorithm
KR100939280B1 (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