CN111970517B - 基于双向光流的帧间预测方法、编码方法及相关装置 - Google Patents

基于双向光流的帧间预测方法、编码方法及相关装置 Download PDF

Info

Publication number
CN111970517B
CN111970517B CN202010747156.1A CN202010747156A CN111970517B CN 111970517 B CN111970517 B CN 111970517B CN 202010747156 A CN202010747156 A CN 202010747156A CN 111970517 B CN111970517 B CN 111970517B
Authority
CN
China
Prior art keywords
reference block
optical flow
block
value
pixel value
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
CN202010747156.1A
Other languages
English (en)
Other versions
CN111970517A (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 CN202010747156.1A priority Critical patent/CN111970517B/zh
Publication of CN111970517A publication Critical patent/CN111970517A/zh
Application granted granted Critical
Publication of CN111970517B publication Critical patent/CN111970517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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)
  • Image Analysis (AREA)

Abstract

本申请提供了一种基于双向光流的帧间预测方法、编码方法及相关装置,所述帧间预测方法包括:利用预设预测模式获得当前块的前向参考块和后向参考块;对所述前向参考块和所述后向参考块进行双向光流处理;其中,所述当前块中的每个子块的预设像素点位置处具有一光流修正值,所述光流修正值与所述预设像素点以及其邻近的部分整像素点在所述前向参考块和所述后向参考块上的水平梯度差值之和以及垂直梯度差值之和相关,所述邻近的部分整像素点的位置与所述子块的光流运动位移相关。通过上述方式,本申请能够优化双向光流技术中的光流修正值。

Description

基于双向光流的帧间预测方法、编码方法及相关装置
技术领域
本申请属于视频编码领域,具体涉及一种基于双向光流的帧间预测方法、编码方法及相关装置。
背景技术
由于视频图像数据量比较大,通常需要对视频像素数据(RGB、YUV等)进行压缩,压缩后的数据称之为视频码流,视频码流通过有线或者无线网络传输至用户端,再进行解码观看。
整个视频编码流程包括预测、变换、量化、编码等过程。在预测过程中往往包括帧间预测,以去除视频图像在时间上的冗余。而帧间预测过程需预测出当前块的最佳运动矢量(Motion Vector,MV),进而基于该最佳运动矢量进行编码。
目前在有些应用场景中会在运动补偿期间应用双向光流BIO进行处理。一般而言,BIO是采样点级别的运动优化,其可以利用当前块的前向预测值、后向预测值以及梯度信息推导出当前块内每个4*4大小的子块的光流运动位移,然后结合这个梯度值来获取当前块的预测值。但是,目前BIO处理过程中的光流修正值的计算方式仍需改进,以进一步降低计算量或者提高精确度。
发明内容
本申请提供一种基于双向光流的帧间预测方法、编码方法及相关装置,以优化双向光流技术中的光流修正值。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种基于双向光流的帧间预测方法,包括:利用预设预测模式获得当前块的前向参考块和后向参考块;对所述前向参考块和所述后向参考块进行双向光流处理;其中,所述当前块中的每个子块的预设像素点位置处具有一光流修正值,所述光流修正值与所述预设像素点以及其邻近的部分整像素点在所述前向参考块和所述后向参考块上的水平梯度差值之和以及垂直梯度差值之和相关,所述邻近的部分整像素点的位置与所述子块的光流运动位移相关。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种基于双向光流的帧间预测方法,包括:利用预设预测模式获得当前块的前向参考块和后向参考块;对所述前向参考块和所述后向参考块进行双向光流处理;其中,所述当前块中的每个子块的预设像素点位置处的光流修正值中的光流运动位移由所述前向参考块的前向最佳运动矢量和所述后向参考块的后向最佳运动矢量决定;且所述前向最佳运动矢量和所述后向最佳运动矢量为经运动矢量修正DMVR技术修正之前或之后获得。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种基于双向光流的视频编码方法,包括:获取当前块的各个子块的最终运动矢量;利用各个子块的最终运动矢量,对所述当前块进行编码;其中,所述子块的最终运动矢量是利用上述任一实施例中所述的帧间预测方法得到,或,所述子块的最终运动矢量是利用上述任一实施例中所述的帧间预测方法得到。为解决上述技术问题,本申请采用的又一个技术方案是:提供一种基于双向光流的帧间预测装置,包括相互耦接的存储器和处理器;所述处理器用于执行所述存储器存储的程序指令,以实现上述任一实施例中的帧间预测方法。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种存储装置,存储有能够被处理器运行的程序指令,所述程序指令用于实现上述任一实施例中的帧间预测方法或视频编码方法。
区别于现有技术情况,本申请的有益效果是:本申请当前块中的每个子块的预设像素点位置处光流修正值与该预设像素点以及其邻近的部分整像素点在前向参考块和后向参考块上的水平梯度差值之和以及垂直梯度差值之和相关,而该邻近的部分整像素点的位置与对应的子块的光流运动位移相关。即本申请提供了一种梯度加权的光流修正值计算公式,可以改进BIO效果,使得BIO修正的预测块更为精确。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1为本申请基于双向光流的帧间预测方法一实施方式的流程示意图;
图2为图1中步骤S102之后一实施方式的流程示意图;
图3为图1中步骤S102之后另一实施方式的流程示意图;
图4为图1中步骤S102之后另一实施方式的流程示意图;
图5为图1中步骤S102对应的一实施方式的流程示意图;
图6为图5中迭代式BIO修正过程一实施方式的结构示意图;
图7为图1步骤S102对应的另一实施方式的流程示意图;
图8为本申请基于双向光流的帧间预测方法另一实施方式的流程示意图;
图9为本申请基于双向光流的视频编码方法一实施方式的流程示意图;
图10为本申请基于双向光流的帧间预测装置一实施方式的框架示意图;
图11为本申请基于双向光流的帧间预测装置一实施方式的结构示意图;
图12是本申请存储装置一实施例的框架示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
首先介绍一下目前在AVS3视频编码标准中的双向光流BIO处理过程,以便于后续理解本方案。该BIO处理过程具体包括:
A、分别获得前向参考块和后向参考块对应的预测值I(0)和I(1)
B、分别求取当前块的每个4x4子块前后向对应的梯度值,该子块梯度值的计算公式为如下:
其中,分别为水平方向梯度和垂直方向梯度,i,j为子块中像素的坐标;
C、根据得到的水平方向梯度、垂直方向梯度和前后向预测值差值对当前块内每个4x4子块求取5个变量分别为:S1、S2、S3、S5、S6;利用得到的上述5个变量对每个4x4子块分别求取光流运动位移(vx,vy)(矢量场),光流运动位移(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是计算梯度方向的自相关性和互相关性,具体如下:
其中,
θ(i,j)=I(1)(i,j)-I(0)(i,j)
D、计算光流修正值b和BIO预测值,具体可参见如下计算公式:
predBIO(x,y)=(I(0)(x,y)+I(1)(x,y)+b+1)>>1
其中I(0)(x,y),I(1)(x,y)分别为前向参考块和后向参考块对应位置的预测值,b为光流修正值。BIO计算过程中的位宽全部限制在32位以内。
从上述过程可以看出,目前BIO处理过程中的光流修正值b的计算方式仍需改进,以进一步降低计算量或者提高精确度。
请参阅图1,图1为本申请基于双向光流的帧间预测方法一实施方式的流程示意图,该帧间预测方法包括:
S101:利用预设预测模式获得当前块的前向参考块和后向参考块。
具体地,在一个实施方式中,上述步骤S101的实现过程可以为:从当前块的多个候选运动矢量中选出失真代价最小的候选运动矢量以作为当前块的最佳运动矢量,其中,多个候选运动矢量是利用预设预测模式得到的,最佳运动矢量包括前向最佳运动矢量和后向最佳运动矢量;基于最佳运动矢量确定前向参考块和后向参考块。在本实施例中,上述预设预测模式包括但不限于AMVP模式、Merge模式。上述选择最佳运动矢量时所选取的失真代价类型可以是SATD(Sum of Absolute Transformed Difference,即对残差进行哈德曼变换后的系数绝对和)、或者率失真代价Rdcost(Rate Distortion Cost)、或者率失真代价SSE(Sumof Squared Error,即差值的平方和)等,其中,上述SATD、Rdcost、SSE的计算复杂程度依次升高。
在一个应用场景中,可以采用一种失真代价类型来确定出最佳运动矢量。当然,在其他应用场景中,也可以采用至少两种失真代价类型来确定出最佳运动矢量,其具体过程可以为:从当前块的多个候选运动矢量中利用第一类型的失真代价粗选出第一类型的失真代价最小的N个运动矢量;利用第二类型的失真代价从粗选出的N个运动矢量中细选出第二类型的失真代价最小的运动矢量作为当前块的最佳运动矢量;其中,第一类型的失真代价的计算复杂度低于第二类型的失真代价。例如,上述第一类型的失真代价可以为SATD,上述第二类型的失真代价可以为Rdcost。
S102:对前向参考块和后向参考块进行双向光流处理;其中,当前块中的每个子块的预设像素点位置处具有一光流修正值,光流修正值与预设像素点以及其邻近的部分整像素点在前向参考块和后向参考块上的水平梯度差值之和以及垂直梯度差值之和相关,邻近的部分整像素点的位置与子块的光流运动位移相关。
一般而言,上述步骤S101中当前块的大小可以为8*8,而BIO处理过程是针对的是4*4大小的块,因此,在进行上述步骤S102时可以将当前块进行划分,以划分成多个4*4大小的子块,然后对当前块的每个子块进行BIO处理。
在本实施例中,子块的预设像素点可以为子块的顶点,预设像素点坐标为(x,y),其沿光流运动位移(vx,vy)的水平分量vx移动达到第一邻近像素点(x+vx,y),预设像素点(x,y)沿光流运动位移(vx,vy)的垂直分量vy移动达到第二邻近像素点(x,y+vy);上述邻近的部分整像素点与预设像素点(x,y)具有相同的横坐标或纵坐标,且不超过第一邻近像素点(x+vx,y)和第二邻近像素点的位置(x,y+vy)。
例如,预设像素点坐标为(0,0),子块的光流运动位移为(2,2),则与该预设像素点邻近的整像素点可以包括(0,1)、(0,2)、(1,0)、(2,0)中至少一个。
进一步,预设像素点和与其具有相同的纵坐标的邻近的部分整像素点,分别在后向参考块上的水平梯度和在前向参考块上的水平梯度之间具有一水平梯度差值;预设像素点和与其具有相同的横坐标的邻近的部分整像素点,分别在后向参考块上的垂直梯度和在前向参考块上的垂直梯度之间具有一垂直梯度差值;子块的光流修正值等于水平梯度差值之和、垂直梯度差值之和以及一常数的总和。具体公式表现如下:
vx≥0
且vy≥0;
vx<0且vy<0;
vx<0
且vy≥0;
vx≥0
且vy<0;
其中,上述公式中的∑代表求和,代表后向垂直梯度,/>代表前向垂直梯度,/>代表后向水平梯度,/>代表前向水平梯度。
上述梯度加权的BIO计算方法可以对其光流修正值b的计算公式进行改进,以增强对预测块的修正效果。
进一步,对于当前块中的每个子块而言,若邻近的整像素点超过当前块的边界,则对于超过的整像素点,其对应的水平梯度差值或垂直梯度差值与其最靠近的且位于当前块中的整像素点的水平梯度差值或垂直梯度差值相同。
在一个具体的实施例中,当前块中的某个子块中的预设像素点坐标为(0,0),其对应的光流运动位移为(1,-1),与该预设像素点(0,0)相关的邻近的整像素点为(1,0)和(0,-1)。其中,预设像素点(0,0)在前向参考块对应像素位置的水平梯度为8,后向参考块对应像素位置的水平梯度/>为16,在前向参考块对应像素位置的垂直梯度/>为12,在后向参考块对应像素位置的垂直梯度/>为20;(1,0)在前向参考块对应像素位置水平梯度(即/>)为9,后向参考块对应像素位置的水平梯度/>为17;由于(0,-1)位置超出当前块边界,故其梯度值采用与其距离最近的预设像素点(0,0)位置处的垂直梯度。最终其光流修正值b计算为:
在又一个实施方式中,为了降低光流修正值b的运算量,加速BIO过程,可以将现有技术中获得光流运动位移(vx,vy)的过程进行简化。具体而言,上述公式中的光流运动位移(vx,vy)可以由前向参考块的前向最佳运动矢量和后向参考块的后向最佳运动矢量决定;例如,当前块的前向参考块与后向参考块之间的最佳运动矢量差值为deltaMV,vx可以等于deltaMV在水平方向上的分量deltaMVx,而vy可以等于deltaMV在垂直方向上的分量deltaMVy。另外,上述前向最佳运动矢量和后向最佳运动矢量为经运动矢量修正DMVR技术修正之前或之后获得。
在一个具体的实施例中,8*8大小的当前块在Merge模式或AMVP模式下进入运动补偿过程,当前块在DMVR过程中,会以原8*8大小的块由DMVR过程计算获取到该当前块对应的deltaMV;由于BIO过程针对的是4*4大小的子块,因此上述8*8大小的当前块可以被分割为4个子块,该4个子块对应的deltaMV的值可以与8*8大小的当前块的deltaMV相同。进一步,利用deltaMVx、deltaMVy代替原有BIO中计算光流修正值b的光流运动位移(vx,vy),降低其利用梯度计算光流运动位移(vx,vy)的运算复杂度。且上述过程可以将多种运动信息结合到BIO中使用,简化BIO的计算过程,有利于硬件实现。
在又一个实施方式中,还可通过设定进行BIO处理的条件来选择性跳过不必要的BIO处理,以减少了运算复杂度,降低编码时间。例如,在进行上述步骤S102之前,还包括:判断步骤S101过程中失真代价是否符合预设条件,若符合,则进入对前向参考块和后向参考块进行双向光流处理的步骤;否则,不进入对前向参考块和后向参考块进行双向光流处理的步骤。
在一个应用场景中,上述判断失真代价是否符合预设条件包括:判断失真代价是否为率失真代价。例如,进行候选运动矢量列表的SATD失真代价比较时,在进行DMVR运动补偿过程后可以选择跳过BIO;而进行候选运动矢量列表的率失真代价Rdcost比较时,在DMVR运动补偿过程后进行BIO对预测值的修正。
在又一个应用场景中,上述判断失真代价是否符合预设条件包括:判断进行失真代价比较的次数是否超过阈值,该阈值可以人为设定,可以设定为8等。例如,在进行运动矢量候选列表的失真代价比较时,该失真代价比较的次数可以统计出来,当统计出来的次数大于设置阈值时,则在运动补偿过程后不进行BIO过程,以提高效率。
在一个具体的实施例中,在AVS3视频编码标准的双向预测Merge模式下,会构建候选运动矢量MV列表,为选择候选运动矢量MV列表中的最佳的前后向MV,会对于每个候选MV进行SATD失真比较,故会进入运动补偿过程。此时,在比较SATD失真过程,会选择跳过BIO过程,加速Merge模式过程。
需要说明的是,在预测过程中的任意运动补偿阶段都是可以根据实际需要选择性跳过BIO,以上仅是对BIO跳过条件的举例说明。
在又一个实施方式中,对于运动估计过程,可以通过结合BIO来改进其原始参考像素值,以获得更为精确的前向参考块和后向参考块,使得最终获得的预测块精度更高,请参阅图2,图2为图1中步骤S102之后一实施方式的流程示意图,上述步骤S102之后还可以包括:
S201:基于当前块的原始像素值、后向参考块的第二像素值以及光流修正值更新当前块的原始像素值。
具体地,在本实施例中,可以按照以下公式更新当前块的原始像素值:
Ori′(x,y)=(Ori(x,y)<<1)-pred1(x,y)-b(x,y);
其中,Ori′(x,y)为更新后的当前块的原始像素值,Ori(x,y)为更新前的当前块的原始像素值,pred1(x,y)为当前块经过后向运动估计得到的预测值,b为光流修正值。
S202:利用更新后的当前块的原始像素值和前向参考帧获得更新后的前向参考块。
在上述设计方式中,在当前块的原始像素值更新为Ori′(x,y)后,便可再次进行基于前向参考帧的运动估计过程,使得运动估计过程获取的前向最佳运动矢量MV更佳,进而使得前向参考块更佳。
同样地,对于基于后向参考帧的运动估计过程,也可采用类似上述方式,具体可参见图3,图3为图1中步骤S102之后另一实施方式的流程示意图,上述步骤S102之后还可包括:
S301:基于当前块的原始像素值、前向参考块的第一像素值以及光流修正值更新当前块的原始像素值。
具体地,在本实施例中,可以按照以下公式更新当前块的原始像素值:
Ori′(x,y)=(Ori(x,y)<<1)-pred0(x,y)-b(x,y);
其中,Ori′(x,y)为更新后的当前块的原始像素值,Ori(x,y)为更新前的当前块的原始像素值,pred0(x,y)为当前块经过前向运动估计得到的第一像素值,b为光流修正值。
S302:利用更新后的当前块的原始像素值和后向参考帧获得更新后的后向参考块。
在上述设计方式中,在当前块的原始像素更新为Ori′(x,y)后,便可再次进行基于后向参考帧的运动估计过程,使得运动估计过程获取的后向最佳运动矢量MV更佳,进而使得后向参考块更佳。
需要说明的是,上述图2和图3可以相互单独独立进行,也可依次连续进行,而在依次连续进行时,需要进行稍加变动。例如,请参阅图4,图4为图1中步骤S102之后另一实施方式的流程示意图,上述步骤S102之后还可包括:
S401:基于当前块的原始像素值、后向参考块的第二像素值以及光流修正值更新当前块的原始像素值。
具体地,该步骤与上述实施例中步骤S201相同,再此不在赘述。
S402:利用更新后的当前块的原始像素值和前向参考帧获得更新后的前向参考块。
具体地,该步骤与上述实施例中步骤S202相同,再此不在赘述。
S403:基于当前块的原始像素值、更新后的前向参考块的第一像素值以及光流修正值更新当前块的原始像素值。
具体地,在本实施例中,可以按照以下公式更新当前块的原始像素值:
Ori′(x,y)=(Ori(x,y)<<1)-pred0(x,y)-b(x,y);
其中,Ori′(x,y)为更新后的当前块的原始像素值,Ori(x,y)为更新前的当前块的原始像素值,该值与步骤S401中更新前的当前块的原始像素值相同,pred0(x,y)为经过步骤S402之后获得的前向参考块的第一像素值,b为光流修正值。
S404:利用更新后的当前块的原始像素值和后向参考帧获得更新后的后向参考块。
具体地,该步骤与上述实施例中步骤S302相同,在此不再赘述。
在又一个实施方式中,为了使经BIO修正后的预测值更精确,提升运动补偿性能,增强运动补偿后对预测值修正的效果,进一步提升编码效率。在进行上述步骤S102时,可以采用迭代式的BIO流程,具体可参见图5-图6,图5为图1中步骤S102对应的一实施方式的流程示意图,图6为图5中迭代式BIO修正过程一实施方式的结构示意图。上述步骤S102的具体实现过程可以为:
S501:获得运动补偿后的前向参考块的第一像素值pred0、以及后向参考块的第二像素值pred1
S502:将第一像素值pred0和第二像素值pred1进行双向光流处理,以获得第一预测值predBIO
S503:将第一像素值pred0和第一预测值predBIO进行双向光流处理,以获得处理后的第一像素值pred0′,以及将第二像素值pred1和第一预测值predBIO进行双向光流处理,以获得处理后的第二像素值pred1′。
S504:利用处理后的第一像素值pred0′和处理后的第二像素值pred1′获得当前预测值predcur
在一个应用场景中,如图6所示,上述步骤S504的具体实现过程可以为:对处理后的第一像素值pred0′和处理后的第二像素值pred1′进行双向对流处理以获得当前预测值predcur
在又一个应用场景中,上述步骤S504的具体实现过程还可以为其他,例如,对处理后的第一像素值pred0′和处理后的第二像素值pred1′进行加权平均以获得当前预测值predcur
另外,需要说明的是,上述实施例中迭代次数为一,在其他实施例中迭代式的BIO处理过程的次数可以为多次,具体可以根据实际需求进行设定,此时请参阅图7,图7为图1步骤S102对应的另一实施方式的流程示意图,上述步骤S102的具体实现过程可以为:
S601:获得运动补偿后的前向参考块的第一像素值pred0、以及后向参考块的第二像素值pred1,并初始化迭代次数。
S602:将第一像素值pred0和第二像素值pred1进行双向光流处理,以获得第一预测值predBIO
S603:将第一像素值pred0和第一预测值predBIO进行双向光流处理,以获得处理后的第一像素值pred0′,以及将第二像素值pred1和第一预测值predBIO进行双向光流处理,以获得处理后的第二像素值pred1′。
S604:利用处理后的第一像素值pred0′和处理后的第二像素值pred1′获得第二预测值predBIO′,并将迭代次数加一。
S605:判断当前迭代次数是否小于等于预设值。
S606:若当前迭代次数小于等于预设值,则将第一像素值pred0更新为处理后的第一像素值pred0′、将第二像素值pred1更新为处理后的第二像素值pred1′、第一预测值predBIO更新为第二预测值predBIO′,并返回至步骤S603。
S607:若前迭代次数大于预设值,则将第二预测值predBIO′作为当前预测值predcur输出。
在一个具体的实施例中,上述迭代式BIO的具体过程包括:
A、由预设预测模式中获取当前块的前向运动矢量MV0和后向运动矢量MV1
B、根据前向MV0和后向MV1进行DMVR和运动补偿过程,得到当前前向参考预测块pred0和后向参考预测块pred1
C、将pred0和pred1进行BIO过程,具体可由下述公式进行当前预测值的修正:
predBIO(x,y)=(pred0(x,y)+pred1(x,y)+b+1)>>1;
其中,光流修正值b可通过上述实施例获得。
D、进行一次迭代式BIO过程:
pred0′(x,y)=(pred0(x,y)+predBIO(x,y)+b+1)>>1;
pred1′(x,y)=(predBIO(x,y)+pred1(x,y)+b+1)>>1;
E、最终可由下述公式求得当前预测块经一次迭代式BIO后的修正预测值:
predcur(x,y)=(pred0′(x,y)+pred1′(x,y)+b+1)>>1。
另外,在其他实施例中,也可采用其他方式对现有的光流修正值进行改进,以简化其计算量。例如,如图8所示,图8为本申请基于双向光流的帧间预测方法另一实施方式的流程示意图,上述帧间预测方法包括:
S701:利用预设预测模式获得当前块的前向参考块和后向参考块。
具体地,该步骤与上述实施例中步骤S101相同,在此不再赘述。
S702:对前向参考块和后向参考块进行双向光流处理;其中,当前块中的每个子块的预设像素点位置处的光流修正值中的光流运动位移由前向参考块的前向最佳运动矢量和后向参考块的后向最佳运动矢量决定;且前向最佳运动矢量和后向最佳运动矢量为经运动矢量修正DMVR技术修正之前或之后获得。
上述设计方式可以结合其它运动信息到BIO过程,跳过了现有技术中对光流运动位移的复杂计算过程,节省运算时间的同时,对硬件更有利于实现。
在一个实施例中,前向最佳运动矢量MV0与后向最佳运动矢量MV1之间具有运动矢量差值deltaMV,光流运动位移在水平方向上的分量vx与运动矢量差值deltaMV在水平方向上的分量deltaMVx相同,光流运动位移在垂直方向上的分量vy与运动矢量差值deltaMV在垂直方向上的分量deltaMVy相同。
进一步,当前块中的每个子块中的预设像素点在后向参考块上的水平梯度和在前向参考块上的水平梯度之间具有一水平梯度差值;该预设像素点在后向参考块上的垂直梯度和在前向参考块上的垂直梯度之间具有一垂直梯度差值;其光流修正值等于光流运动位移在水平方向上的分量与水平梯度差值的乘积、光流运动位移在垂直方向上的分量与垂直梯度差值的乘积以及一常数的总和。利用公式表示如下:
在另一个实施方式中,上述图8中的帧间预测方法也可与上述实施例中的其他步骤进行结合。
例如,在上述步骤S702之前,引入上述实施例中所提及的通过设定进行BIO处理的条件来选择性跳过不必要的BIO处理,以减少了运算复杂度,降低编码时间,具体参见上述实施例,在此不再赘述。
又例如,在上述步骤S702之后对于运动估计过程,可以通过结合BIO来改进其原始参考像素值,以获得更为精确的前向参考块和后向参考块,使得最终获得的预测块精度更高,具体可参见上述实施例以及附图2、附图3、附图4相关内容,在此不再赘述。
又例如,为了使经BIO修正后的预测值更精确,提升运动补偿性能,在进行上述步骤S702时,可以采用迭代式的BIO流程,具体可参见图5、图6和图7对应的内容,在此不再赘述。
请参阅图9,图9为本申请基于双向光流的视频编码方法一实施方式的流程示意图,该视频编码方法包括:
S801:获取当前块的各个子块的最终运动矢量。
具体地,在本实施例中,子块的最终运动矢量是利用上述任一帧间预测方法实施例中的步骤得到的,具体可以参阅前述公开实施例中的相关步骤,在此不再赘述。
S802:利用各个子块的最终运动矢量,对当前块进行编码。
具体地,在得到各个子块的最终运动矢量之后,可以确定最终运动矢量在参考帧中所指向的参考区域,并将参考区域的像素值填充为子块的像素值。
请参阅图10,图10为本申请帧间预测装置一实施方式的框架示意图。该帧间预测装置包括获得模块300和双向光流处理模块302,该获得模块300与双向光流处理模块302相互耦接,以实现上述任一实施例中的帧间预测方法。具体而言,获得模块300用于利用预设预测模式获得当前块的前向参考块和后向参考块;双向光流处理模块302用于对前向参考块和后向参考块进行双向光流处理;其中,当前块中的每个子块的预设像素点位置处光流修正值与预设像素点以及其邻近的部分整像素点在前向参考块和后向参考块上的水平梯度差值之和以及垂直梯度差值之和相关,邻近的部分整像素点的位置与子块的光流运动位移相关。
请参阅图11,图11为本申请基于双向光流的帧间预测装置一实施方式的结构示意图,该帧间预测装置10包括相互耦接的存储器100和处理器102,处理器102用于执行存储器100存储的程序指令,以实现上述任一帧间预测方法。
本实施例中的帧间预测装置10可以应用于常规Merge模式、常规AMVP模式等等,或者,还可以应用于帧内块拷贝预测模式,例如:Merge_IBC模式、AMVP_IBC模式等等,本实施例在此不做具体限制。
具体而言,处理器102还可以称为CPU(Central Processing Unit,中央处理单元)。处理器102可能是一种集成电路芯片,具有信号的处理能力。处理器102还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器102可以由多个集成电路芯片共同实现。
请参阅图12,图12是本申请存储装置一实施例的框架示意图。本申请实施例的存储装置20存储有能够实现上述所有方法的程序指令200,该程序指令200被执行时能够实现上述任一帧间预测方法实施例中的步骤。其中,该程序指令200可以以软件产品的形式存储在上述存储装置中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。以上仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (14)

1.一种基于双向光流的帧间预测方法,其特征在于,包括:
利用预设预测模式获得当前块的前向参考块和后向参考块;
对所述前向参考块和所述后向参考块进行双向光流处理;其中,所述当前块中的每个子块的预设像素点位置处具有一光流修正值,所述光流修正值与所述预设像素点以及其邻近的部分整像素点在所述前向参考块和所述后向参考块上的水平梯度差值之和以及垂直梯度差值之和相关,所述邻近的部分整像素点的位置与所述子块的光流运动位移相关;
其中,所述预设像素点沿所述光流运动位移的水平分量移动达到第一邻近像素点,所述预设像素点沿所述光流运动位移的垂直分量移动达到第二邻近像素点;所述邻近的部分整像素点与所述预设像素点具有相同的横坐标或纵坐标,且不超过所述第一邻近像素点和所述第二邻近像素点的位置;
其中,所述预设像素点和与其具有相同的纵坐标的邻近的部分整像素点,分别在所述后向参考块上的水平梯度和在所述前向参考块上的水平梯度之间具有一水平梯度差值;所述预设像素点和与其具有相同的横坐标的邻近的部分整像素点,分别在所述后向参考块上的垂直梯度和在所述前向参考块上的垂直梯度之间具有一垂直梯度差值;所述子块的所述光流修正值等于所述水平梯度差值之和、所述垂直梯度差值之和以及一常数的总和。
2.根据权利要求1所述的帧间预测方法,其特征在于,
若邻近的整像素点超过所述当前块的边界,则对于超过的所述整像素点,其对应的水平梯度差值或垂直梯度差值与其最靠近的且位于所述当前块中的所述整像素点的水平梯度差值或垂直梯度差值相同。
3.根据权利要求1所述的帧间预测方法,其特征在于,
所述光流运动位移由所述前向参考块的前向最佳运动矢量和所述后向参考块的后向最佳运动矢量决定;其中,所述前向最佳运动矢量和所述后向最佳运动矢量为经运动矢量修正DMVR技术修正之前或之后获得。
4.根据权利要求1所述的帧间预测方法,其特征在于,
所述利用预设预测模式获得当前块的前向参考块和后向参考块,包括:从所述当前块的多个候选运动矢量中选出失真代价最小的候选运动矢量以作为所述当前块的最佳运动矢量,其中,所述多个候选运动矢量是利用所述预设预测模式得到的;基于所述最佳运动矢量确定所述前向参考块和所述后向参考块;
所述对所述前向参考块和所述后向参考块进行双向光流处理之前,还包括:判断所述失真代价是否符合预设条件,若符合,则进入对所述前向参考块和所述后向参考块进行双向光流处理的步骤;否则,不进入对所述前向参考块和所述后向参考块进行双向光流处理的步骤。
5.根据权利要求4所述的帧间预测方法,其特征在于,所述判断所述失真代价是否符合预设条件,包括:
判断所述失真代价是否为率失真代价;或者,判断进行所述失真代价比较的次数是否超过阈值。
6.根据权利要求1所述的帧间预测方法,其特征在于,所述对所述前向参考块和所述后向参考块进行双向光流处理之后,还包括:
基于所述当前块的原始像素值、所述后向参考块的第二像素值以及所述光流修正值更新所述当前块的原始像素值;
利用更新后的所述当前块的原始像素值和前向参考帧获得更新后的前向参考块。
7.根据权利要求1所述的帧间预测方法,其特征在于,所述对所述前向参考块和所述后向参考块进行双向光流处理之后,还包括:
基于所述当前块的原始像素值、所述前向参考块的第一像素值以及所述光流修正值更新所述当前块的原始像素值;
利用更新后的所述当前块的原始像素值和后向参考帧获得更新后的后向参考块。
8.根据权利要求1所述的帧间预测方法,其特征在于,所述对所述前向参考块和所述后向参考块进行双向光流处理之后,还包括:
基于所述当前块的原始像素值、所述后向参考块的第二像素值以及所述光流修正值更新所述当前块的原始像素值;
利用更新后的所述当前块的原始像素值和前向参考帧获得更新后的前向参考块;
基于所述当前块的原始像素值、所述更新后的前向参考块的第一像素值以及所述光流修正值更新所述当前块的原始像素值;
利用更新后的所述当前块的原始像素值和后向参考帧获得更新后的后向参考块。
9.根据权利要求1所述的帧间预测方法,其特征在于,所述对所述前向参考块和所述后向参考块进行双向光流处理,包括:
获得运动补偿后的所述前向参考块的第一像素值、以及所述后向参考块的第二像素值;
将所述第一像素值和所述第二像素值进行双向光流处理,以获得第一预测值;
将所述第一像素值和所述第一预测值进行双向光流处理,以获得处理后的第一像素值,以及将所述第二像素值和所述第一预测值进行双向光流处理,以获得处理后的第二像素值;
利用所述处理后的第一像素值和所述处理后的第二像素值获得当前预测值。
10.根据权利要求9所述的帧间预测方法,其特征在于,所述利用所述处理后的第一像素值和所述处理后的第二像素值获得当前预测值,包括:
对所述处理后的第一像素值和所述处理后的第二像素值进行加权平均以获得当前预测值;或者,
对所述处理后的第一像素值和所述处理后的第二像素值进行双向对流处理以获得当前预测值。
11.一种基于双向光流的帧间预测方法,其特征在于,包括:
利用预设预测模式获得当前块的前向参考块和后向参考块;
对所述前向参考块和所述后向参考块进行双向光流处理;其中,所述当前块中的每个子块的预设像素点位置处的光流修正值中的光流运动位移由所述前向参考块的前向最佳运动矢量和所述后向参考块的后向最佳运动矢量决定;且所述前向最佳运动矢量和所述后向最佳运动矢量为经运动矢量修正DMVR技术修正之前或之后获得;
其中,所述前向最佳运动矢量与所述后向最佳运动矢量之间具有运动矢量差值,所述光流运动位移在水平方向上的分量与所述运动矢量差值在所述水平方向上的分量相同,所述光流运动位移在垂直方向上的分量与所述运动矢量差值在所述垂直方向上的分量相同。
12.一种基于双向光流的视频编码方法,其特征在于,包括:
获取当前块的各个子块的最终运动矢量;
利用各个子块的最终运动矢量,对所述当前块进行编码;
其中,所述子块的最终运动矢量是利用权利要求1-10任一项所述的帧间预测方法得到,或,所述子块的最终运动矢量是利用权利要求11所述的帧间预测方法得到。
13.一种基于双向光流的帧间预测装置,其特征在于,包括相互耦接的存储器和处理器;
所述处理器用于执行所述存储器存储的程序指令,以实现权利要求1-10任一项所述的帧间预测方法,或实现权利要求11所述的帧间预测方法。
14.一种存储装置,其特征在于,存储有能够被处理器运行的程序指令,所述程序指令用于实现权利要求1-10任一项所述的帧间预测方法,或实现权利要求11所述的帧间预测方法,或实现权利要求12中所述的视频编码方法。
CN202010747156.1A 2020-07-29 2020-07-29 基于双向光流的帧间预测方法、编码方法及相关装置 Active CN111970517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010747156.1A CN111970517B (zh) 2020-07-29 2020-07-29 基于双向光流的帧间预测方法、编码方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010747156.1A CN111970517B (zh) 2020-07-29 2020-07-29 基于双向光流的帧间预测方法、编码方法及相关装置

Publications (2)

Publication Number Publication Date
CN111970517A CN111970517A (zh) 2020-11-20
CN111970517B true CN111970517B (zh) 2023-07-28

Family

ID=73363632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010747156.1A Active CN111970517B (zh) 2020-07-29 2020-07-29 基于双向光流的帧间预测方法、编码方法及相关装置

Country Status (1)

Country Link
CN (1) CN111970517B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108028929A (zh) * 2015-09-28 2018-05-11 高通股份有限公司 用于视频译码的改进双向光流
CN110476424A (zh) * 2017-03-16 2019-11-19 联发科技股份有限公司 用于视频编解码的基于双向光流的运动细化的方法及装置
CN111010569A (zh) * 2018-10-06 2020-04-14 北京字节跳动网络技术有限公司 Bio中的时间梯度计算的改善
CN111034200A (zh) * 2017-08-29 2020-04-17 Sk电信有限公司 使用双向光流的运动补偿方法和设备
CN111131837A (zh) * 2019-12-30 2020-05-08 浙江大华技术股份有限公司 运动补偿修正方法、编码方法、编码器及存储介质
JP2020096279A (ja) * 2018-12-12 2020-06-18 シャープ株式会社 予測画像生成装置、動画像復号装置および動画像符号化装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108028929A (zh) * 2015-09-28 2018-05-11 高通股份有限公司 用于视频译码的改进双向光流
CN110476424A (zh) * 2017-03-16 2019-11-19 联发科技股份有限公司 用于视频编解码的基于双向光流的运动细化的方法及装置
CN111034200A (zh) * 2017-08-29 2020-04-17 Sk电信有限公司 使用双向光流的运动补偿方法和设备
CN111010569A (zh) * 2018-10-06 2020-04-14 北京字节跳动网络技术有限公司 Bio中的时间梯度计算的改善
JP2020096279A (ja) * 2018-12-12 2020-06-18 シャープ株式会社 予測画像生成装置、動画像復号装置および動画像符号化装置
CN111131837A (zh) * 2019-12-30 2020-05-08 浙江大华技术股份有限公司 运动补偿修正方法、编码方法、编码器及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Takeshi Chujoh,et al.Bug fix of BDOF for high bit-depth.JVET会议.2020,全文. *
周芸等.国际视频编码VVC标准最新进展研究.广播与电视技术.2018,第45卷(第9期),26-31. *
王世豪.基于运动补偿的视频超分辨技术研究.《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》.2020,(第7期),全文. *

Also Published As

Publication number Publication date
CN111970517A (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
CN107318026B (zh) 视频编码器以及视频编码方法
JP2019126073A (ja) 映像符号化及び復号化方法及び装置
RU2565363C2 (ru) Предсказание движения при видеокодировании
CN113784132B (zh) 用于帧间预测的运动向量舍入、截取和存储的方法和装置
EP2106146A2 (en) Encoding and decoding motion vector information
US20230224458A1 (en) Image decoding device, image decoding method, and program
US20210360246A1 (en) Shape adaptive discrete cosine transform for geometric partitioning with an adaptive number of regions
Kamisli Intra prediction based on markov process modeling of images
JP2012142886A (ja) 画像符号化装置及び画像復号装置
EP2315446A1 (en) Dynamic image encoding device and dynamic image decoding device
CN112673627A (zh) 在图像编码系统中使用仿射合并候选列表的基于仿射运动预测的图像解码方法和装置
US8792549B2 (en) Decoder-derived geometric transformations for motion compensated inter prediction
JP2024016288A (ja) ビデオコーディングにおけるデコーダ側動きベクトル補正のための方法および装置
CN111970517B (zh) 基于双向光流的帧间预测方法、编码方法及相关装置
WO2021056220A1 (zh) 视频编解码的方法与装置
EP2359601B1 (en) Image prediction method and system
CN116805968A (zh) 视频编解码方法、装置、计算机可读介质及电子设备
KR20050053135A (ko) 절대차 연산 장치와 이를 이용한 움직임 추정 장치 및동영상 부호화 장치
US8634466B2 (en) Video decoder plus a discrete cosine transform unit
US20150049801A1 (en) Intra refresh method for video encoding and a video encoder for performing the same
US20230403397A1 (en) Cross component prediction of chroma samples
US20240089489A1 (en) Methods and apparatus of motion vector rounding, clipping and storage for inter prediction
JP4533157B2 (ja) 画像復号方法
JP6311821B2 (ja) 動画像処理装置及び動画像処理方法
JP2016054513A (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム

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