CN111699688B - 帧间预测的方法和装置 - Google Patents

帧间预测的方法和装置 Download PDF

Info

Publication number
CN111699688B
CN111699688B CN201880089043.8A CN201880089043A CN111699688B CN 111699688 B CN111699688 B CN 111699688B CN 201880089043 A CN201880089043 A CN 201880089043A CN 111699688 B CN111699688 B CN 111699688B
Authority
CN
China
Prior art keywords
block
motion vector
processed
reference frame
frame index
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
CN201880089043.8A
Other languages
English (en)
Other versions
CN111699688A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN111699688A publication Critical patent/CN111699688A/zh
Application granted granted Critical
Publication of CN111699688B publication Critical patent/CN111699688B/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

一种帧间预测的方法,包括:获取待处理块的第一参考帧索引和第一运动矢量(101);由该第一参考帧索引推导获得第二参考帧索引,该第二参考帧索引和该第一参考帧索引不同(102);对该第一运动矢量进行缩放获得第二运动矢量(103);根据该第一参考帧索引和第一运动矢量,获得该待处理块的第一参考块(104);根据该第二参考帧索引和第二运动矢量,获得该待处理块的第二参考块(105);对该第一参考块和该第二参考块进行加权,获得组合预测块(106)。该方法允许帧间预测的每个参考列表有两组运动信息,有助于提高帧间预测的效果。

Description

帧间预测的方法和装置
技术领域
本申请涉及视频编解码领域,并且更具体地,涉及一种帧间预测的方法和装置。
背景技术
视频编码压缩的基本原理是:利用空域、时域和码字之间的相关性,尽可能去除冗余。目前流行的做法是采用基于块的混合视频编码框架,通过预测(包括帧内预测和帧间预测)、变换、量化、熵编码等步骤来实现视频编码压缩。对于帧间预测,每个图像块需要确定自己的运动信息,从而通过运动补偿过程生成其预测块。
帧间预测的帧有两种类型,P帧和B帧。其中,P帧有一个参考列表,只有一组运动信息(一个运动矢量和一个参考帧);B帧有两个参考列表,允许有两组运动信息(两个运动矢量和两个参考帧(lowdelay B配置允许一个参考帧),即每个参考列表有一组运动信息。
发明内容
本申请提供一种帧间预测的方法和装置,允许帧间预测的每个参考列表中采用两组运动信息,有助于提高预测效果的有效性。
第一方面,提供了一种帧间预测的方法,包括:获取待处理块的第一参考帧索引和第一运动矢量;由所述第一参考帧索引推导获得第二参考帧索引,所述第二参考帧索引和所述第一参考帧索引不同;对所述第一运动矢量进行缩放获得第二运动矢量;根据所述第一参考帧索引和第一运动矢量,获得所述待处理块的第一参考块;根据所述第二参考帧索引和第二运动矢量,获得所述待处理块的第二参考块;对所述第一参考块和所述第二参考块进行加权,获得组合预测块。
在本申请实施例中,视频编解码装置通过获取待处理的块的第一参考帧索引和第一运动矢量,并根据所述第一参考帧索引推导获得第二参考帧索引,对所述第一运动矢量进行缩放得到第二运动矢量,然后基于所述第一参考帧索引和第一运动矢量,获得所述待处理块的第一参考块,基于所述第二参考帧索引和第二运动矢量,获得所述待处理块的第二参考块,最后对所述第一参考块和所述第二参考块进行加权,获得组合预测块,从而为帧间预测提供了组合预测块。这样,如果待处理块选择组合预测块作为预测块时,预测效果比较有效,有助于提高图像的预测效果。
在一种可能的实现方式中,所述对所述第一运动矢量进行缩放获得第二运动矢量,包括:将第二距离与第一距离的比值和所述第一运动矢量相乘以获得所述第二运动矢量,其中,所述第一距离为所述待处理块所在的图像帧与所述第一参考帧索引指示的图像帧的时域距离,所述第二距离为所述待处理块所在的图像帧与所述第二参考帧索引指示的图像帧的时域距离。
因此,视频编解码装置可以基于与待处理块所在的图像帧的时域距离,来计算第二运动矢量。
在一种可能的实现方式中,所述由所述第一参考帧索引推导获得第二参考帧索引,包括:当所述第一参考帧索引为0时,所述第二参考帧索引为1;当所述第一参考帧索引不为0时,所述第二参考帧索引为0。
因此,视频编解码装置可以基于第一参考帧索引的取值,来确定第二参考帧索引的取值。
在一种可能的实现方式中,所述由所述第一参考帧索引推导获得第二参考帧索引,包括:确定所述第二参考帧索引指示的图像帧为所述待处理块的参考帧集合中,除所述第一参考帧索引指示的图像帧外,量化参数最小的参考帧。
因此,视频编解码装置可以基于量化参数,确定第二参考帧索引指示的图像帧。
在一种可能的实现方式中,所述由所述第一参考帧索引推导获得第二参考帧索引,包括:确定所述第二参考帧索引指示的图像帧为所述待处理块的参考帧集合中,除所述第一参考帧索引指示的图像帧外,与所述待处理块所在的图像帧的时域距离最小的参考帧。
因此,视频编解码装置可以基于与所述待处理块所在的图像帧的时域距离,确定第二参考帧索引指示的图像帧。
在一种可能的实现方式中,所述方法用于视频编码,其特征在于,所述方法还包括:编码第一标识信息,所述第一标识信息用于确定所述第一运动矢量和所述第一参考帧索引。
因此,视频编解码装置通过在视频编码过程中编码第一标识信息,使得在视频解码过程中能够确定出所述第一运动矢量和所述第一参考帧索引。
在一种可能的实现方式中,所述方法用于视频编码,所述方法还包括:编码第二标识信息、所述第一参考帧索引和所述第一运动矢量和预测运动矢量的矢量差异,所述第二标识信息用于确定所述预测运动矢量。
因此,视频编解码装置通过在视频编码过程中编码第二标识信息、所述第一参考帧索引和所述第一运动矢量和预测运动矢量的矢量差异,使得在视频解码过程中能够确定出所述第一运动矢量和所述第一参考帧索引。
在一种可能的实现方式中,所述方法用于视频编码,在所述获得组合预测块之后,所述方法还包括:根据预设第一准则,分别计算以所述组合预测块作为所述待处理块的预测块的第一编码代价值和以所述第一参考块作为所述待处理块的预测块的第二编码代价值,其中,所述预设第一准则包括以下准则中的任一种:绝对变换误差和SATD准则、率失真优化RDO准则、绝对误差和SAD准则、均方误差MSE准则;当所述第一编码代价值小于所述第二编码代价值时,采用所述组合预测块作为所述待处理块的预测块,当所述第一编码代价值大于或等于所述第二编码代价值时,采用所述第一参考块作为所述待处理块的预测块。
因此,在得到上述组合预测块,视频编解码装置可以通过上述预设第一准则,确定所述待处理块的预测块是第一参考块还是组合预测块。
在一种可能的实现方式中,所述方法用于视频编码,所述方法还包括:编码第三标识信息,其中,当采用所述组合预测块作为所述待处理块的预测块时,所述第三标识信息为第一数值,当采用所述第一参考块作为所述待处理块的预测块时,所述第三标识信息为第二数值,所述第一数值和所述第二数值不同。
因此,视频编解码装置在视频编码过程中通过编码第三标识信息的取值,来确定采用组合预测块还是第一参考块作为待处理块的预测块。
在一种可能的实现方式中,在所述对所述第一运动矢量进行缩放获得第二运动矢量之前,所述方法还包括:确定所述待处理块满足预设第二准则,其中所述预设第二准则,包括以下准则中的任一种或多种的组合:所述待处理块或所述待处理块的时域或空域的邻域块的尺寸满足预设阈值、所述待处理块或所述待处理块的时域或空域的邻域块的分块模式满足预设的分块模式、所述待处理块或所述待处理块的时域或空域的邻域块的预测模式满足预设的预测模式;对应的,在所述获得组合预测块之后,所述方法还包括:将所述组合预测块作为所述待处理块的预测块。
因此,视频编解码装置在视频编码过程或视频解码过程中,通过约定好的准则来确定采用组合预测块还是第一参考块作为待处理块的预测块,而不需要引入标识信息。
在一种可能的实现方式中,所述方法用于视频解码,所述获取待处理块的第一参考帧索引和第一运动矢量,包括:解析码流,获得第四标识信息;根据所述第四标识信息,从所述待处理块的候选预测运动矢量集合中,获得所述待处理块的预测运动矢量,其中,所述候选预测运动矢量集合中的每个预测运动矢量对应一个参考帧索引;将所述预测运动矢量作为所述第一运动矢量;将所述预测运动矢量对应的参考帧索引作为所述第一参考帧索引。
因此,在视频解码过程中,视频编解码装置通过解析码流得到第四标识信息,通过查找待处理块的预测运动矢量,即可确定所述第一运动矢量和所述第一参考帧索引。
在一种可能的实现方式中,所述方法用于视频解码,所述获取待处理块的第一参考帧索引和第一运动矢量,包括:解析码流,获得第五标识信息、所述第一参考帧索引和矢量差异;根据所述第五标识信息,从所述待处理块的候选预测运动矢量集合中,获得所述待处理块的预测运动矢量;将所述预测运动矢量和所述矢量差异相加以获得所述第一运动矢量。
因此,视频编解码装置通过解析码流,得到第五标识信息、所述第一参考帧索引和矢量差异,进而计算第一运动矢量,从而可以确定出上述第一参考帧索引和第一运动矢量。
在一种可能的实现方式中,所述方法用于解码视频,当第六标识信息为第三数值时,采用所述组合预测块作为所述待处理块的预测块,当所述第六标识信息为第四数值时,采用所述第一参考块作为所述待处理块的预测块,所述第三数值和所述第四数值不同,在所述对所述第一运动矢量进行缩放获得第二运动矢量之前,所述方法还包括:解析所述码流获得所述第六标识信息,其中,所述第六标识信息为所述第三数值。
因此,在本申请实施例中,视频编解码装置通过解析码流,基于解析得到的第六标识信息的取值,可以确定选择第一参考块还是组合预测块作为待处理块的预测块。
第二方面,提供了一种帧间预测的装置,所述装置包括用于执行所述第一方面或其各种实现方式中的方法的模块。
第三方面,提供了一种终端设备,所述终端设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述程序被执行时,所述处理器用于执行所述第一方面或其各种实现方式中的方法。
第四方面,提供一种视频编解码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现所述第一方面或其各种实现方式中的方法。
第五方面,提供一种视频编解码系统,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现所述第一方面或其各种实现方式中的方法。
第六方面,提供一种计算机可读介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第一方面或其各种实现方式中的方法的指令。
附图说明
图1是视频编码过程的示意图。
图2是视频解码过程的示意图。
图3是本申请实施例的帧间预测方法的示意性流程图。
图4是应用本申请实施例的P帧的一个例子的示意图。
图5是应用本申请实施例的B帧的一个例子的示意图。
图6是本申请实施例的帧间预测中用于获取候选预测矢量的参考块的示意图。
图7是本申请实施例的帧间预测的装置的示意性框图。
图8是本申请实施例的视频编码器的示意性框图。
图9是本申请实施例的视频解码器的示意性框图。
图10是本申请实施例的视频传输系统的示意性框图。
图11是本申请实施例的视频编解码装置的示意性框图。
图12是本申请实施例的视频编解码系统的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例中的帧间预测方法可以应用到视频编解码技术领域中。为了更好地理解本申请实施例的帧间预测方法,下面对视频编解码的概念或术语进行介绍。
一段视频一般由很多帧图像按照一定的次序组成,一般来说,一帧图像中或者不同帧图像之间存在着大量的重复信息(冗余信息),例如,一帧图像内往往存在着大量空间结构相同或者相似的地方,也就是说视频文件中存在大量的空间冗余信息。另外,视频文件中还存在大量的时间冗余信息,这是由视频的组成结构导致的。例如,视频采样的帧速率一般为25帧/秒至60帧/秒,也就是说,相邻两帧间的采样时间间隔为1/60秒到1/25秒,在这么短的时间内,采样得到的图像画面中基本上都存在大量的相似信息,画面之间存在巨大关联性。
目前,在国际通用范围内,视频压缩编码标准中主流的压缩编码方式有四种:色度抽样、预测编码、变换编码和量化编码。下面分别对这几种编码方式进行详细介绍。
色度抽样:该方式充分利用了人眼的视觉心理特点,从底层的数据表示就开始设法最大限度的缩减单个元素描述的数据量。例如,在电视系统中多数采用的是亮度-色度-色度(YUV)颜色编码,它是欧洲电视系统广泛采用的标准。YUV颜色空间中包括一个亮度信号Y和两个色差信号U和V,三个分量彼此独立。YUV颜色空间彼此分开的表示方式更加灵活,传输占用带宽少,比传统的红绿蓝(RGB)色彩模型更具优势。例如,YUV 4∶2∶0形式表示两色度分量U和V在水平方向和垂直方向上都只有亮度Y分量的一半,即4个采样像素点中存在4个亮度分量Y,而色度分量U和V则只有一个。采用这种形式表示时,数据量进一步缩小,仅为原始的33%左右。因此,色度抽样充分利用了人眼的生理视觉特性,通过这种色度抽样的方式实现视频压缩的目的,是目前广泛采用的视频数据压缩方式之一。
预测编码:预测编码时利用之前已编码帧的数据信息来预测当前将要编码的帧。通过预测得到一个预测值,它不完全等同与实际值,预测值和实际值之间存在着一定的残差值。预测的越准确,则预测值就会越接近实际值,残差值就越小,这样对残差值进行编码就能大大减小数据量,在解码端解码时运用残差值加上预测值就能还原重构出匹配图像,这就是预测编码的基本思想方法。在主流编码标准中预测编码分为帧内预测和帧间预测两种基本类型。其中,帧内预测(Intra Prediction)是指利用当前图像内已重建区域内像素点的像素值对当前编码单元内像素点的像素值进行预测;帧间预测(Inter Prediction)是在已重建的图像中,为当前图像中的当前编码单元寻找匹配的参考块,将参考块中的像素点的像素值作为当前编码单元中像素点的像素值的预测信息或者预测值,并传输当前编码单元的运动信息。
变换编码:这种编码方式不直接对原本的空间域信息进行编码,而是按照某种形式的变换函数,将信息采样值从当前域转换到另外一种人为定义域中(通常称为变换域),再根据信息在变换域的分布特性进行压缩编码。由于视频图像数据往往在空间域的数据相关性非常大,存在大量的冗余信息,如果直接进行编码的话需要很大的比特量。而将信息采样值转换到变换域中后,数据的相关性大大减少,这样在编码时由于冗余信息的减少,编码所需的数据量也随之大大减少,这样就能够得到较高的压缩比,而且可以实现较好的压缩效果。典型的变换编码方式有卡洛(K-L)变换、傅立叶变换等。
量化编码:上述提到的变换编码其实本身并不压缩数据,量化过程才能有效地实现对数据的压缩,量化过程也是有损压缩中数据“损失”的主要原因。量化的过程就是将动态范围较大的输入值“强行规划”成较少的输出值的过程。由于量化输入值范围较大,需要较多的比特数表示,而“强行规划”后的输出值范围较小,从而只需要少量的比特数即可表示。
在基于混合编码架构的编码算法中,上述几种压缩编码方式可以混合使用,编码器控制模块根据视频帧中不同图像块的局部特性,选择该图像块所采用的编码模式。对帧内预测编码的块进行频域或空域预测,对帧间预测编码的块进行运动补偿预测,预测的残差再通过变换和量化处理形成残差系数,最后通过熵编码器生成最终的码流。为避免预测误差的累积,帧内或帧间预测的参考信号是通过编码端的解码模块得到。变换和量化后的残差系数经过反量化和反变换重建残差信号,再与预测的参考信号相加得到重建的图像。另外,环路滤波会对重建后的图像进行像素修正,以提高重建图像的编码质量。
为了便于理解,下面介绍一些本申请实施例涉及到的概念或术语。
视频编码压缩的基本原理是,利用空域、时域和码字之间的相关性,尽可能去除冗余。目前流行的做法是采用基于块的混合视频编码框架,通过预测(包括帧内预测和帧间预测)、变换、量化、熵编码等步骤来实现视频编码压缩。这一编码框架,显示了很强的生命力,从运动图像专家组(Motion Picture Expert Group,MPEG)-1/2到最新的视频编码标准H.265/高效视频编码(High Efficiency Video Coding,HEVC),仍沿用这种基于块的混合视频编码框架。
对于帧间预测,每一个图像块需要确定自己的运动信息,从而通过运动补偿过程生成其预测块。其中,运动信息包括参考图像信息和运动矢量。参考图像信息包括:单向/双向预测信息,参考图像列表,和参考图像列表对应的参考图像索引。运动矢量(MotionVector,MV)是指水平和竖直方向的位置偏移。
HEVC中的帧间预测技术,仍然采用传统的基于运动补偿预测(MotionCompensated Prediction,MCP)的方法,但在运动信息预测方面与以往标准有所不同,HEVC采用了基于多运动信息竞争的方法,提高了运动信息预测的准确性,从而提升编码压缩性能。多运动信息竞争基本原理是,从当前块的已编码的多个邻近块获得多组运动信息(包括运动矢量和运动矢量指向的参考图像的索引值),这多组运动信息按照一定顺序形成一个列表,并给每组运动信息分配索引号。编码时,从这多组运动信息当中选择一组最佳的运动信息作为当前块的运动信息预测值,并把选中的运动信息在列表中的索引号写入码流。在解码端,可解码获得该索引号,同时根据当前块的已解码的邻近块的运动信息构建运动信息列表(获得的运动信息列表,与编码端一致),这样利用解码得到的索引号从该运动信息列表中确定一组运动信息作为当前块的运动信息预测值。作为对比,以往标准中的运动信息预测方法,只有一组运动信息预测,并不采用多运动信息竞争。
HEVC有几种帧间预测模式,即合并模式(Merge mode)、跳跃模式(skip mode)和AMVP mode,它们都利用多运动信息竞争的方法。当前块的邻近块包含了空域邻近块和时域邻近块(co-location),相应的运动信息也称为空域/时域运动信息。对于merge/skipmode,允许有最多4个空域候选的运动信息和1个时域候选的运动信息,Merge和Skip共用同一个运动信息列表。而对于AMVP mode,允许有最多2个空域候选的运动信息和1个时域候选的运动信息。这些空域、时域运动信息构成一个运动信息列表。编码器从该运动信息列表中选出一组最佳的运动信息作为当前块的运动信息预测值。
运动信息列表里一个候选的运动信息,可以是一组块级的运动信息,也可以是多组子块级的运动信息(例如JVET里的ATMVP,ATMVP-EXT;3D-HEVC里的IVMP,BVSP等)。
AMVP mode是指,编码时需要传送MVD(MV的差值,即当前块经过运动估计(MotionEstimation,ME)得到的MV与所述列表中选中的运动矢量预测的差值)和residual(即残差,当前块的实际像素值和像素预测值的差值)。也就是说,对于编码为AMVP mode的块的码流信息中,一定包含有MVD和residual信息。
Merge mode是指,编码时不需要传送MVD,但需要传送residual残差。也就是说,对于编码为Merge mode的块的码流信息中,不包含有MVD信息,但包含residual信息。
Skip mode是指,编码时不需要传送MVD,也不需要传送residual残差。也就是说,对于编码为Skip mode的块的码流信息中,不包含有MVD信息,也不包含residual信息。
因为Merge mode和Skip mode共用同一个运动信息列表,故下文不再区分Merge和Skip模式。
帧间预测的帧有两种类型,P帧和B帧,P帧有一个参考列表,只有一组运动信息(一个运动矢量和一个参考帧),B帧有两个参考列表,允许有两组运动信息(两个运动矢量和两个参考帧(lowdelay B配置允许一个参考帧))。本申请实施例拟在每个参考列表中采用两组运动信息进行帧间预测。应理解,本申请实施例的两组运动信息也可以扩展到多组,对此不作限定。
本申请实施例的方法可以发生在视频编码或者视频解码过程中。下面结合图1和图2对视频编解码的整个过程进行简单的介绍。
图1是视频编码过程的示意图。
如图1所示,在对当前帧Fn中的当前图像块进行预测时,既可以采用帧内预测也可以采用帧间预测,具体地,可以根据当前帧Fn的类型,选择采用帧内编码还是帧间编码,例如,当前帧Fn为I帧时采用帧内预测,当前帧Fn为P帧或者B帧时采用帧间预测。当采用帧内预测时可以采用当前帧Fn中已经重建区域的像素点的像素值对当前图像块的像素点的像素值进行预测,当采用帧间预测时可以采用参考帧F’n-1中与当前图像块匹配的参考块的像素点的像素值对当前图像块的像素点的像素值进行预测。
在根据帧间预测或者帧内预测得到当前图像块的预测块之后,将当前图像块的像素点的像素值与预测块的像素点的像素值进行做差,得到残差信息,对残差信息进行变化、量化以及熵编码,得到编码码流。另外,在编码过程中还要对当前帧Fn的残差信息与当前帧Fn的预测信息进行叠加,并进行滤波操作,得到当前帧的重建帧F’n,并将其作为后续编码的参考帧。
图2是视频解码过程的示意图。
图2所示的视频解码过程相当于图1所示的视频解码过程的逆过程,在解码时,利用熵解码以及反量化和反变换得到残差信息,并根据解码码流确定当前图像块使用帧内预测还是帧间预测。如果是帧内预测,则利用当前帧中已重建区域内像素点的像素值按照帧内预测方法构建预测信息;如果是帧间预测,则需要解析出运动信息,并使用所解析出的运动信息在已重建的图像中确定参考块,并将参考块内像素点的像素值作为预测信息,接下来,再将预测信息与残差信息进行叠加,并经过滤波操作便可以得到重建信息。
为了更好地理解本申请实施例的帧间预测方法,下面先对帧间预测/帧间编码的基本概念进行简单的介绍。
帧间预测/帧间编码(运动预测/补偿)是视频压缩的重要技术,用于去除视频信息中的时域冗余。由于视频序列通常包括很强的时域相关性,因此不需要每幅图像的全部信息,只需将当前图像(Current Frame)的中的运动信息以及运动补偿信息传递到解码侧即可。帧间预测就是将已编码的图像作为当前帧的参考图像(Reference Frame),为当前图像中的当前编码块寻找匹配的参考块,将参考块中的像素点的像素值作为当前编码块中像素点的像素值的预测信息或者预测值,获取各个块的运动信息。运动信息通常包含参考块所在图像的指示信息即参考帧信息,和参考块到当前像素块的位移信息即运动矢量(MotionVector,MV)。
另外在视频编解码过程中,压缩码流中的相当一部分比例用于传输运动信息,在低码率情况下,尤其对于高清视频,用于表示运动信息所耗费的比特往往超过总码流的50%,对运动信息进行高效编码是提升编码效率的重要手段。在视频中,临近位置的块可能属于同一物体或同一运动场景,具有相似的运动,因此利用临近块空域、时域上运动矢量的相关性,可以减少运动信息所消耗的比特。
在编解码标准中,通常使用临近位置的运动信息来预测当前位置的运动信息。将运动信息中的MV进行差分编码,分为MV预测值和运动矢量差值(Motion VectorDifference,MVD)两部分。MV预测值不编码、或者不直接编码,由时域和空域临近运动矢量导出;MVD信息编码并在码流中传输。在解码过程中,提取码流中的MVD,推导出MV预测值,将MV预测值加上MVD得到最终MV。导出的MV预测值越接近最终MV,需要传递的MVD越小。因此,MV预测值导出方法的优化可以有效降低运动信息所耗费比特,对于高效编码至关重要。
图3是本申请实施例的图像预测方法的示意性流程图。图3所示的方法可以由视频编解码装置、视频编解码器、视频编解码系统以及其它具有视频编解码功能的设备来执行。图3所示的方法既可以发生在编码过程,也可以发生在解码过程,更具体地,图3所示的方法可以发生在编解码时的帧间预测过程。
图3所示的方法包括步骤101至步骤106,下面对步骤101至步骤106进行详细的介绍。
101,获取待处理块的第一参考帧索引和第一运动矢量。
其中,待处理块可以是待处理图像中的一个图像块,也可以是待处理图像中的一个子图像。另外,待处理块可以是编码过程中待编码的图像块,也可以是解码过程中待解码的图像块。
其中,第一参考帧索引和第一运动矢量包括于同一组运动信息。该运动信息可以是待处理块的目标参考列表中选出的最佳运动信息。
为了提高帧间预测的预测效果,本申请实施例拟为帧间预测的每个参考列表提供多组运动信息,具体即:引入第二参考帧索引和第二运动矢量,第二参考帧索引和第二运动矢量包括于同一组运动信息,其中,第二参考帧索引是基于第一参考帧索引确定的,第二运动矢量是基于第一运动矢量缩放得到的。
102,由所述第一参考帧索引推导获得第二参考帧索引,所述第二参考帧索引和所述第一参考帧索引不同。
应理解,上述第二参考帧索引的获取方式有多种,下面以下文的三种方式为例进行描述,但并不限于是以下三种方式。
方式一,102包括:当所述第一参考帧索引为0时,所述第二参考帧索引为1;
当所述第一参考帧索引不为0时,所述第二参考帧索引为0。
举例来说,第一参考帧索引和第二参考帧索引的关系可以如下式(1.1)所示:
RefX’=(RefX==0)?1:0; (1.1)
其中,X表示0或者1,代表参考列表0或者参考列表1。RefX表示第一参考帧索引。RefX’表示第二参考帧索引。上式(1.1)表示若RefX为0,则RefX’为1;若RefX为非0,则RefX’为0。
应理解,上式(1.1)只是本申请实施例的一种可能的实现方式,并不对本申请实施例构成限定。
方式二,作为一个实施例,102包括:确定所述第二参考帧索引指示的图像帧为所述待处理块的参考帧集合中,除所述第一参考帧索引指示的图像帧外,量化参数最小的参考帧。
具体地,视频编解码装置可以基于量化参数选择第二参考帧索引指示的图像帧。比如,可以在待处理块的参考帧集合中,选取除去第一参考帧索引指示的图像帧之外,QP参数最小的图像帧作为新增参考帧(即第二参考帧索引指示的图像帧)。
方式三,作为一个实施例,102包括:确定所述第二参考帧索引指示的图像帧为所述待处理块的参考帧集合中,除所述第一参考帧索引指示的图像帧外,与所述待处理块所在的图像帧的时域距离最小的参考帧。
具体地,视频编解码装置可以基于图像帧与待处理块所在的图像帧之间的时域距离,选择第二参考帧索引指示的图像帧。比如,可以在待处理块的参考帧集合中,选取除去第一参考帧索引指示的图像帧之外,和当前图像帧的时域距离最短的图像帧作为新增参考帧(即第二参考帧索引指示的图像帧)。
103,对所述第一运动矢量进行缩放获得第二运动矢量。
具体地,上述第二运动矢量是所述第一运动矢量基于时域距离缩放得到的。
可选地,103包括:将第二距离与第一距离的比值和所述第一运动矢量相乘以获得所述第二运动矢量,其中,所述第一距离为所述待处理块所在的图像帧与所述第一参考帧索引指示的图像帧的时域距离,所述第二距离为所述待处理块所在的图像帧与所述第二参考帧索引指示的图像帧的时域距离。
也就是说,视频编解码装置使用第二距离与第一距离的比值,乘以所述第一运动矢量,从而得到第二运动矢量。举例来说,第二运动矢量可以通过下式(1.2)得到:
MVX’=dX’*MVX/dX (1.2)
其中,MVX’表示所述第二运动矢量,MVX表示所述第一运动矢量,dX表示待处理块所在的图像帧和第一参考帧索引指示的图像帧之间的时域距离,dX’表示待处理块所在的图像帧和第二参考帧索引指示的图像帧之间的时域距离。
应理解,上式(1.2)只是本申请实施例的一种可能的实现方式,并不对本申请实施例构成限定。
还应理解,上述第二参考帧索引和第二运动矢量的确定方法对于帧的类型不作限定,可以适用于P帧和B帧。也就是说,本申请实施例的方法可以使用于P帧或B帧。下面结合图4和图5描述本申请实施例。图4示出了应用本申请实施例的P帧的一个例子的示意图。如图4所示,Ref0表示原有参考帧索引(对应的参考块的预测值为Pred0),Ref0’表示新增参考帧索引(对应的参考块的预测值为Pred0’)。其中,当前帧与原有参考帧的距离为d0,当前帧与新增参考帧的距离为d0’。另外,图5示出了应用本申请实施例的B帧的一个例子的示意图。如图5所示,Ref0表示原有前向参考帧索引(对应的参考块的预测值为Pred0),Ref0’表示新增前向参考帧索引(对应的参考块的预测值为Pred0’),Ref1表示原有后向参考帧索引(对应的参考块的预测值为Pred1),Ref1’表示新增后向参考帧索引(对应的参考块的预测值为Pred1’)。当前帧与原有前向参考帧的距离为d0;当前帧与新增前向参考帧的距离为d0’。当前帧与原有后向参考帧的距离为d1;当前帧与新增后向参考帧的距离为d1’。
104,根据所述第一参考帧索引和第一运动矢量,获得所述待处理块的第一参考块。
具体地,基于所述第一参考帧索引指示的参考图像帧,以及所述第一运动矢量,可以得到第一参考块。第一参考块是所述第一参考帧索引指示的参考图像帧中的图像块。
105,根据所述第二参考帧索引和第二运动矢量,获得所述待处理块的第二参考块。
具体地,基于所述第二参考帧索引指示的参考图像帧,以及所述第二运动矢量,可以得到第二参考块。第二参考块是所述第二参考帧索引指示的参考图像帧中的图像块。
106,对所述第一参考块和所述第二参考块进行加权,获得组合预测块。
具体地,视频编解码装置得到第一参考块和第二参考块后,通过对第一参考块和第二参考块进行加权处理,得到组合预测块。在计算组合预测块的预测值时,对第一参考块的预测值和第二参考块的预测值加权求和,得到组合预测块的预测值。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
举例来说,对于单向预测的方式,组合预测块的预测值如下式(1.3)所示:
Pred=w1*PredX+w2*PredX’ (1.3)
其中,PredX表示当前块在原有参考帧第一参考块的预测值;PredX’表示当前块在新增参考帧第二参考块的预测值;w1和w2表示加权因子,分别为大于0且小于1的数值,w1+w2=1。比如,w1=w2=0.5。
应理解,本申请实施例中w1和w2的取值可以根据需求确定,本申请实施例不作具体限定。
还应理解,上式(1.3)只是本申请实施例的一种可能的实现方式,并不对本申请实施例构成限定。
对于双向预测的方式,组合预测块的预测值如下式(1.4)所示:
Pred=w1*((PredX+PredY)>>1)+w2*((PredX’+PredY’)>>1) (1.4)
其中,PredX表示当前块在原有前向参考帧第一前向参考块的预测值;PredX’表示当前块在新增前向参考帧第二前向参考块的预测值;PredY表示当前块在原有后向参考帧第一后向参考块的预测值;PredY’表示当前块在新增后向参考帧第二后向参考块的预测值;w1和w2表示加权因子,分别为大于0且小于1的数值,w1+w2=1。比如,w1=w2=0.5。其中,基于当前块的第一参考帧列表(list0)中的参考帧进行的预测,在一些实施例中,被称为前向预测,对应的参考块被称为前向参考块,基于当前块的第二参考帧列表(list1)中的参考帧进行的预测,在一些实施例中,被称为后向预测,对应的参考块被称为后向参考块.
应理解,本申请实施例中w1和w2的取值可以根据需求确定,本申请实施例不作具体限定。
还应理解,上式(1.4)只是本申请实施例的一种可能的实现方式,并不对本申请实施例构成限定。
因此,在本申请实施例中,通过引入第二参考帧索引和第二运动矢量,为待处理块的帧间预测的每个参考列表提供了两组运动信息,该方案在视频质量相同的情况下带来了码率的节省。
本申请实施例的技术方案可以应用于合并模式(merge mode)和非合并模式。合并模式(merge mode)使用空域邻近块和时域邻近块的运动信息对当前块的运动信息进行预测。使用的空域邻近块和时域邻近块的位置如图6所示。合并模式首先将空域邻近块和时域邻近块的运动信息放在一个merge候选列表中,然后选取具有最小率失真代价的候选的运动信息(包含帧间预测方向、参考帧索引、运动矢量)作为当前块的运动信息,该候选通过一个索引标识。也就是说,对于merge模式编码的块,只需要一个索引便可以获取一个块的运动信息。现有的方法采用的merge候选列表构建顺序:
A1→B1→B0→A0→ATMVP→ATMVP-EXT→B2→TMVP(TRb→TCtr) (JEM5.0)
A1→B1→B0→A0→B2→TMVP(TRb→TCtr) (HEVC)
其中,ATMVP和ATMVP-EXT为JVET添加的两个子编码单元级的候选。
为了弥补固定merge候选列表长度带来的性能损失,在原有merge候选之后添加了一些额外的候选,包括:经组合双向预测性合并候选预测运动矢量;经缩放双向预测性合并候选预测运动矢量;零向量候选预测运动矢量。
AMVP利用运动矢量(Motion Vector,MV)的时域和空域相关性通过邻近块的MV预测当前块的MV,这样只需要传递运动矢量预测索引和运动矢量差值(Motion VectorDifference,MVD)而无需直接传递MV到解码端,以减少传递运动参数所需的带宽。它首先根据左边空域、上边空域和时域邻近块的MV构建一个运动矢量预测候选列表。从图6中的左图所示五个不同位置空域邻近块的MV中选取两个MV候选。左边空域邻近块获取顺序为:A0→A1→缩放的A0→缩放的A1,上边空域邻近块获取顺序为:B0→B1→B2→缩放的B0→缩放的B1→缩放的B2。从图6中的右图所示两个时域并置位置中选取一个MV候选。如果获取的空域和时域候选数多于2,索引大于1的候选从候选列表中移除。如果候选数小于2,将添加0运动矢量。
对于AMVP模式编码的块,需要编码帧间预测方向、参考帧索引、运动矢量预测索引和运动矢量差值。单向预测时,只需编码一个参考帧索引、一个运动矢量预测索引和一个运动矢量差值。双向预测时,需编码两个参考帧索引、两个运动矢量预测索引和两个运动矢量差值。
可选地,作为一个实施例,在视频编码过程中,视频编解码装置可以编码第一标识信息,所述第一标识信息用于确定所述第一参考帧索引和所述第一运动矢量。
也就是说,对于合并模式,在视频编码过程中,视频编解码装置可以通过第一标识信息,即可确定对应的块的运动信息,具体包括上述第一参考帧索引和第一运动矢量。可选地,所述第一标识信息可以通过索引为标识,在一些实施例中以flag的形式呈现。因此,视频编解码装置通过在视频编码过程中编码第一标识信息,使得在视频解码过程中能够确定出所述第一运动矢量和所述第一参考帧索引。
可选地,作为一个实施例,在视频编码过程中,视频编解码装置可以编码第二标识信息、所述第一参考帧索引和所述第一运动矢量和预测运动矢量的矢量差异,所述第二标识信息用于确定所述预测运动矢量。
也就是说,对于非合并模式,在视频编码过程中,视频编解码装置可以编码第二标识信息、所述第一参考帧索引、以及所述第一运动矢量和预测运动矢量的矢量差异。
可选地,作为一个实施例,在视频编码过程中,在所述获得组合预测块之后,所述方法还包括:
根据预设第一准则,分别计算以所述组合预测块作为所述待处理块的预测块的第一编码代价值和以所述第一参考块作为所述待处理块的预测块的第二编码代价值,其中,所述预设第一准则包括以下准则中的任一种:绝对变换误差和(Sum of AbsoluteTransformed Differences,SATD)准则、率失真优化(Rate Distortion Optimization,RDO)准则、绝对误差和(Sum of Absolute Differences,SAD)准则、均方误差(Mean SquareError,MSE)准则;
当所述第一编码代价值小于所述第二编码代价值时,采用所述组合预测块作为所述待处理块的预测块,当所述第一编码代价值大于或等于所述第二编码代价值时,采用所述第一参考块作为所述待处理块的预测块。
具体而言,在得到上述组合预测块,视频编解码装置可以通过上述预设第一准则,确定所述待处理块的预测块是第一参考块还是组合预测块。进一步地,具体采用哪个图像块作为待处理块的预测块,可以通过flag标识。换言之,视频编解码装置根据上述预设第一准则,确定每个参考列表采用一组运动信息还是两组运动信息。
需要说明的是,上述第一编码代价值和上述第二编码代价值的大小关系,可以确定选择哪个图像块作为待处理块的预测块,但是并不限于上述大小关系,对此不作限定。
应理解,上述预设第一准则包括的准则也不限于上文描述的准则,还可以是其他合理的准则,对此不作限定。也就是说,上述第一编码代价值和第二编码代价值可以是基于其他合理的准则计算得到的,对此不作限定。
可选地,作为一个实施例,在视频编码过程中,所述方法还包括:编码第三标识信息,其中,当采用所述组合预测块作为所述待处理块的预测块时,所述第三标识信息为第一数值,当采用所述第一参考块作为所述待处理块的预测块时,所述第三标识信息为第二数值,所述第一数值和所述第二数值不同。
具体地,视频编解码装置通过编码第三标识信息,确定所述待处理块的预测块。比如,若选择第一参考块作为待处理块的预测块,则所述第二数值取0;若选择组合预测块作为待处理块的预测块,则所述第一数值取1。可选地,所述第三标识信息可以通过flag位标识,flag的不同取值即为所述第一数值和所述第二数值。应理解,这里的第一数值和第二数值的取值并不对本申请实施例构成限定。因此,视频编解码装置在视频编码过程中通过编码第三标识信息的取值,来确定采用组合预测块还是第一参考块作为待处理块的预测块。
可选地,作为一个实施例,在所述对所述第一运动矢量进行缩放获得第二运动矢量之前,所述方法还包括:
确定所述待处理块满足预设第二准则,其中所述预设第二准则,包括以下准则中的任一种或多种的组合:所述待处理块或所述待处理块的时域或空域的邻域块的尺寸满足预设阈值、所述待处理块或所述待处理块的时域或空域的邻域块的分块模式满足预设的分块模式、所述待处理块或所述待处理块的时域或空域的邻域块的预测模式满足预设的预测模式;
对应的,在所述获得组合预测块之后,所述方法还包括:
将所述组合预测块作为所述待处理块的预测块。
也就是说,在本申请实施例中,可以不需要编码flag的不同取值,来区分为待处理块选择第一参考块还是组合预测块,而是通过预定的规则来确定待处理块选择第一参考块还是组合预测块。比如,所述待处理块或所述待处理块的时域或空域的邻域块的尺寸满足预设阈值,则将所述组合预测块作为所述待处理块的预测块;或者,所述待处理块或所述待处理块的时域或空域的邻域块的分块模式满足预设的分块模式,则将所述组合预测块作为所述待处理块的预测块;或者,所述待处理块或所述待处理块的时域或空域的邻域块的预测模式满足预设的预测模式,则将所述组合预测块作为所述待处理块的预测块。比如,仅合并模式允许将所述组合预测块作为所述待处理块的预测块。又比如,仅普通的合并模式允许将所述组合预测块作为所述待处理块的预测块,这里的普通合并模式不包括不包含ATMVP,Affine,或者Fruc等包含多组子块级运动信息的候选类型,仅包含一组块级运动信息的候选类型。因此,视频编解码装置在视频编码过程或视频解码过程中,通过约定好的准则来确定采用组合预测块还是第一参考块作为待处理块的预测块,而不需要引入标识信息。
这里,上述预设第二准则是提前约定好的,编码端和解码端均可以获知。这样,视频编解码装置不需要编码flag,使用约定好的预设第二准则即可确定是否将组合预测块作为所述待处理块的预测块。
可选地,作为一个实施例,在视频解码过程中,101包括:
解析码流,获得第四标识信息;
根据所述第四标识信息,从所述待处理块的候选预测运动矢量集合中,获得所述待处理块的预测运动矢量,其中,所述候选预测运动矢量集合中的每个预测运动矢量对应一个参考帧索引;
将所述预测运动矢量作为所述第一运动矢量;
将所述预测运动矢量对应的参考帧索引作为所述第一参考帧索引。
具体而言,在视频解码过程中,视频编解码装置通过解析码流,得到第四标识信息,并根据所述第四标识信息,从所述待处理块的候选预测运动矢量集合中,得到所述待处理块的预测运动矢量。这里,所述待处理块的候选预测运动矢量集合中的每个预测运动矢量都有对应的参考帧索引。这里的第四标识信息可以对应于前文视频编码过程中的第一标识信息,也就是说,前面视频编码过程中编码的第一标识信息的内容,可以在视频解码过程中得到。例如,在合并模式中,视频编解码装置只需要通过上述第四标识信息,即可在候选预测运动矢量集合中查找到待处理块的预测运动矢量,进而得到所述第一运动矢量和所述第一参考帧索引。可选地,所述第四标识信息可以通过索引标识。因此,视频编解码装置通过解析码流,得到第四标识信息,进而得到预测运动矢量,从而可以确定出上述第一参考帧索引和第一运动矢量。
可选地,作为一个实施例,在视频解码过程中,101包括:
解析码流,获得第五标识信息、所述第一参考帧索引和矢量差异;
根据所述第五标识信息,从所述待处理块的候选预测运动矢量集合中,获得所述待处理块的预测运动矢量;
将所述预测运动矢量和所述矢量差异相加以获得所述第一运动矢量。
具体而言,在视频解码过程中,视频编解码装置通过解析码流,可以得到第五标识信息、所述第一参考帧索引和矢量差异,并根据所述第五标识信息,从所述待处理块的候选预测运动矢量集合中,得到所述待处理块的预测运动矢量。接着,视频编解码装置将所述预测运动矢量和上述矢量差异相加得到所述第一运动矢量。这里的第五标识信息可以对应于前文视频编码过程中的第二标识信息,也就是说,前面视频编码过程中编码的第二标识信息的内容,可以在视频解码过程中得到。可选地,所述第五标识信息可以通过flag标识。例如,在非合并模式中(比如AMVP模式),视频编解码装置通过解码得到上述第五标识信息、所述第一参考帧索引和矢量差异,然后基于第五标识信息得到待处理块的预测运动矢量,最后将所述预测运动矢量和所述矢量差异相加得到上述第一运动矢量。因此,视频编解码装置通过解析码流,得到第五标识信息、所述第一参考帧索引和矢量差异,进而计算第一运动矢量,从而可以确定出上述第一参考帧索引和第一运动矢量。
可选地,作为一个实施例,在视频解码过程中,当第六标识信息为第三数值时,采用所述组合预测块作为所述待处理块的预测块,当所述第六标识信息为第四数值时,采用所述第一参考块作为所述待处理块的预测块,所述第三数值和所述第四数值不同,在所述对所述第一运动矢量进行缩放获得第二运动矢量之前,所述方法还包括:
解析所述码流获得所述第六标识信息,其中,所述第六标识信息为所述第三数值。
具体而言,在视频解码过程中,视频编解码装置通过解析码流,可以得到第六标识信息。这里的第六标识信息可以对应于前文视频编码过程中的第三标识信息,也就是说,前面视频编码过程中编码的第三标识信息的内容,可以在视频解码过程中得到。其中,第六标识信息可以通过flag标识。具体地,若第六标识信息取值为第三数值,则视频编解码装置采用上述组合预测块作为所述待处理块的预测块;若第六标识信息取值为第四数值,则视频编解码装置采用上述第一参考块作为所述待处理块的预测块。这里,第三数值可以对应于视频编码过程中的第一数值;第四数值可以对应于视频编码过程中的第二数值。比如,视频编解码装置解析第六标识信息后得到第三数值,则选择组合预测块作为待处理块的预测块。因此,在本申请实施例中,视频编解码装置通过解析码流,基于解析得到的第六标识信息的取值,可以确定选择第一参考块还是组合预测块作为待处理块的预测块。
应理解,本申请实施例的帧间预测方法可以对应于图1和图2所示的帧间预测,本申请实施例的帧间预测方法可以发生在图1和图2所示的帧间预测过程中,本申请实施例的帧间预测方法可以具体由编码器或者解码器中的帧间预测模块来执行。另外,本申请实施例的帧间预测方法可以在可能需要对视频图像进行编码和/或解码的任何电子设备或者装置内实施。
还应理解,本申请实施例引入的编号“第一”,“第二”,...等,只是为了便于描述,区分不同的对象,比如,区分不同的“参考帧索引”,或者,区分不同的“标识信息”,或者,区分不同的“运动矢量”等等,并不对本申请实施例构成限定。
下面通过以下多个实施例的方式描述本申请实施例,在本申请实施例中,帧间预测允许每个参考列表采用两组运动信息。本申请提供了实施例一,具体包括:
具体地,每个参考列表的新组运动信息按如下方式获取:
RefX’=(RefX==0)?1:0;
MVX’=dX’*MVX/dX
其中,X表示0或者1,代表参考列表0或者参考列表1,RefX表示参考列表X原有运动信息的参考索引,RefX’表示参考列表X新组运动信息的参考索引。RefX’=(RefX==0)?1:0表示RefX为0,RefX’即为1;否则,RefX’为0。dX表示当前帧和RefX指定的参考帧之间的时域距离(即|POC(当前帧)-POC(RefX指定的参考帧)|),dX’表示当前帧和RefX’指定的参考帧之间的时域距离(即|POC(当前帧)-POC(RefX’指定的参考帧)|)。MVX表示参考列表X原有运动信息的运动矢量,MVX’表示参考列表X新组运动信息的运动矢量。MVX’=dX’*MVX/dX表示MV是基于时域距离(POC距离)进行缩放的。(可以结合图4和图5理解)
另外,原有预测值:PredUni=PredX
PredBi=(Pred0+Pred1)>>1
采用本申请实施例后的预测值:PredUni=(PredX+PredX’)>>1
PredBi=((Pred0+Pred1)>>1+(Pred0’+Pred1’)>>1)>>1
其中,PredUni表示单向预测(只有一组运动信息进行补偿)得到的预测值,PredBi表示双向预测(只有两组运动信息进行补偿)得到的预测值,PredX表示利用参考列表X原有运动信息进行补偿得到的预测值,PredX’表示利用参考列表X新组运动信息进行补偿得到的预测值。(可以结合图4和图5理解)
对于AMVP模式,原有运动信息为运动估计确定的最终运动信息;对于Merge模式,原有运动信息为每个候选的运动信息。
每个参考列表采用两组运动信息还是一组运动信息是由(sum of absolutetransformed differences,SATD)准则确定的,并用flag标识。
解码端根据该flag标识决定每个参考列表采用两组运动信息还是一组运动信息进行补偿,以保证编解码端匹配。
本申请还提供了实施例二,与实施例一不同的是,仅Merge模式允许每个参考列表采用两组运动信息。
本申请还提供了实施例三,与实施例一、二不同的是,仅普通Merge模式允许每个参考列表采用两组运动信息。这里的普通Merge模式不包含ATMVP,Affine,或者Fruc等包含多组子块级运动信息的候选类型,仅包含一组块级运动信息的候选类型。
本申请还提供了实施例四,与实施例一、二、三不同的是,每个参考列表的新组运动信息的参考索引的获取方式不同,选取指向当前参考列表中除原有参考帧外QP最小的参考帧的参考索引。
本申请还提供了实施例五,与实施例一、二、三、四不同的是,每个参考列表的新组运动信息的参考索引的获取方式不同,选取指向当前参考列表中除原有参考帧外与当前帧时域距离最近的参考帧的参考索引。
本申请还提供了实施例六,与实施例一、二、三、四、五不同的是,每个参考列表采用两组运动信息还是一组运动信息是由(Rate Distortion Optimization,RDO)准则确定的,并用flag标识。
本申请还提供了实施例七,与实施例一、二、三、四、五、六不同的是,每个参考列表采用两组运动信息还是一组运动信息是由(sum of absolute differences,SAD)准则确定的,并用flag标识。
本申请还提供了实施例八,与实施例一、二、三、四、五、六、七不同的是,每个参考列表采用两组运动信息还是一组运动信息是由预定的规则确定,例如邻近块的每个参考列表采用两组运动信息。该方案不需要编码flag,编解码端采用相同的预定规则。
本申请还提供了实施例九,与实施例一、二、三、四、五、六、七、八不同的是,发明方案仅用于Low delay P配置,不用于Random Access和Low delay B配置。
本申请实施例的技术方案对于帧间预测允许每个参考列表采用两组运动信息。该方案在视频质量相同的情况下带来了码率节省,在Low delay P配置,带来了2.6%的BDbitrate增益,编码时间和解码时间分别增加4%和5%。
下面换种方式描述本申请实施例的技术方案:
(1)本申请实施例的帧间预测方法允许每个参考列表采用两组运动信息。
(2)可选地,本申请实施例的帧间预测方法仅Merge模式或者普通Merge模式允许每个参考列表采用两组运动信息。
(3)可选地,本申请实施例的帧间预测方法每个参考列表采用两组运动信息还是一组运动信息是由SATD准则(或RDO准则,SAD准则,…)或者预定的规则确定的。
(4)可选地,本申请实施例的帧间预测方法,每个参考列表的新组运动信息的参考索引可以选取指向当前参考列表中除原有参考帧外QP最小的参考帧、与当前帧时域距离最近的参考帧或者按照某种规则确定的参考帧(RefX’=(RefX==0)?1:0)的参考索引,运动矢量根据原有运动矢量基于时域距离缩放得到。
(5)可选地,本申请实施例的帧间预测方法可以仅用于Low delay P配置。
上文描述了根据本申请实施例的帧间预测的方法,下面结合图7对本申请实施例的帧间预测装置进行详细的描述。其中,图7所示的帧间预测装置与前文所述的方法(比如图3所示的方法)相对应,能够执行前文所示的方法中的各个步骤。为了简洁,下面适当省略重复的描述。
图7是本申请实施例的帧间预测的装置的示意性框图。图7的帧间预测的装置700包括:
获取模块710,用于获取待处理块的第一参考帧索引和第一运动矢量;
推导模块720,用于由所述第一参考帧索引推导获得第二参考帧索引,所述第二参考帧索引和所述第一参考帧索引不同;
缩放模块730,用于对所述第一运动矢量进行缩放获得第二运动矢量;
所述获取模块710还用于:根据所述第一参考帧索引和第一运动矢量,获得所述待处理块的第一参考块;
所述获取模块710还用于:根据所述第二参考帧索引和第二运动矢量,获得所述待处理块的第二参考块;
加权模块740,用于对所述第一参考块和所述第二参考块进行加权,获得组合预测块。
可选地,作为一个实施例,所述缩放模块730具体用于:
将第二距离与第一距离的比值和所述第一运动矢量相乘以获得所述第二运动矢量,其中,所述第一距离为所述待处理块所在的图像帧与所述第一参考帧索引指示的图像帧的时域距离,所述第二距离为所述待处理块所在的图像帧与所述第二参考帧索引指示的图像帧的时域距离。
可选地,作为一个实施例,所述推导模块720具体用于:
当所述第一参考帧索引为0时,所述第二参考帧索引为1;
当所述第一参考帧索引不为0时,所述第二参考帧索引为0。
可选地,作为一个实施例,所述推导模块720具体用于:
确定所述第二参考帧索引指示的图像帧为所述待处理块的参考帧集合中,除所述第一参考帧索引指示的图像帧外,量化参数最小的参考帧。
可选地,作为一个实施例,所述推导模块720具体用于:
确定所述第二参考帧索引指示的图像帧为所述待处理块的参考帧集合中,除所述第一参考帧索引指示的图像帧外,与所述待处理块所在的图像帧的时域距离最小的参考帧。
可选地,作为一个实施例,所述装置700用于视频编码,所述装置700还包括:
编码模块(图中未示出),用于编码第一标识信息,所述第一标识信息用于确定所述第一运动矢量和所述第一参考帧索引。
可选地,作为一个实施例,所述装置700用于视频编码,所述装置700还包括:
编码模块(图中未示出),用于编码第二标识信息、所述第一参考帧索引和所述第一运动矢量和预测运动矢量的矢量差异,所述第二标识信息用于确定所述预测运动矢量。
可选地,作为一个实施例,所述装置700用于视频编码,在所述获得组合预测块之后,所述装置700还包括:
计算模块,用于根据预设第一准则,分别计算以所述组合预测块作为所述待处理块的预测块的第一编码代价值和以所述第一参考块作为所述待处理块的预测块的第二编码代价值,其中,所述预设第一准则包括以下准则中的任一种:绝对变换误差和SATD准则、率失真优化RDO准则、绝对误差和SAD准则、均方误差MSE准则;
处理模块,用于当所述第一编码代价值小于所述第二编码代价值时,采用所述组合预测块作为所述待处理块的预测块,当所述第一编码代价值大于或等于所述第二编码代价值时,采用所述第一参考块作为所述待处理块的预测块。
可选地,作为一个实施例,所述装置700用于视频编码,所述装置700还包括:
编码模块(图中未示出),用于编码第三标识信息,其中,当采用所述组合预测块作为所述待处理块的预测块时,所述第三标识信息为第一数值,当采用所述第一参考块作为所述待处理块的预测块时,所述第三标识信息为第二数值,所述第一数值和所述第二数值不同。
可选地,作为一个实施例,在所述对所述第一运动矢量进行缩放获得第二运动矢量之前,所述装置700还包括:
确定模块(图中未示出),还用于确定所述待处理块满足预设第二准则,其中所述预设第二准则,包括以下准则中的任一种或多种的组合:所述待处理块或所述待处理块的时域或空域的邻域块的尺寸满足预设阈值、所述待处理块或所述待处理块的时域或空域的邻域块的分块模式满足预设的分块模式、所述待处理块或所述待处理块的时域或空域的邻域块的预测模式满足预设的预测模式;
对应的,在所述获得组合预测块之后,所述装置700还包括:
处理模块(图中未示出),用于将所述组合预测块作为所述待处理块的预测块。
可选地,作为一个实施例,所述装置700用于视频解码,所述获取待处理块的第一参考帧索引和第一运动矢量,包括:
解析模块(图中未示出),用于解析码流,获得第四标识信息;
所述获取模块710具体用于:根据所述第四标识信息,从所述待处理块的候选预测运动矢量集合中,获得所述待处理块的预测运动矢量,其中,所述候选预测运动矢量集合中的每个预测运动矢量对应一个参考帧索引;将所述预测运动矢量作为所述第一运动矢量;将所述预测运动矢量对应的参考帧索引作为所述第一参考帧索引。
可选地,作为一个实施例,所述装置700用于视频解码,所述获取模块710具体用于:
解析码流,获得第五标识信息、所述第一参考帧索引和矢量差异;
根据所述第五标识信息,从所述待处理块的候选预测运动矢量集合中,获得所述待处理块的预测运动矢量;将所述预测运动矢量和所述矢量差异相加以获得所述第一运动矢量。
可选地,作为一个实施例,所述装置700用于解码视频,当第六标识信息为第三数值时,采用所述组合预测块作为所述待处理块的预测块,当所述第六标识信息为第四数值时,采用所述第一参考块作为所述待处理块的预测块,所述第三数值和所述第四数值不同,在所述对所述第一运动矢量进行缩放获得第二运动矢量之前,所述装置700还包括:
解析模块,用于解析所述码流获得所述第六标识信息,其中,所述第六标识信息为所述第三数值。
应理解,上述装置700可执行前文所述的帧间预测的方法,并且装置700中的各个模块的上述和其它管理操作和/或功能分别为了实现前述各个方法的相应步骤,因此也可以实现前述方法实施例中的有益效果,为了简洁,这里不作赘述。可选地,装置700具体可以是视频编解码装置、视频编解码系统或者其他具有视频编解码功能的设备。装置700既可以用于在编码过程中进行帧间预测,也可以用于在解码过程中进行帧间预测。
可选地,上述装置700可以是视频编解码装置或具有视频编解码功能的设备。
本申请还提供一种终端设备,所述终端设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述程序被执行时,所述处理器用于执行本申请实施例的帧间预测方法。
这里的终端设备可以是视频显示设备,智能手机,便携式电脑以及其它可以处理视频或者播放视频的设备。
本申请还提供一种视频编码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的帧间预测方法。
本申请还提供一种视频解码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的帧间预测方法。
本申请还提供一种视频编码系统,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的帧间预测方法。
本申请还提供一种计算机可读介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行本申请实施例的帧间预测方法的指令。
本申请还提供一种解码器,用于执行本申请实施例中涉及到视频解码过程中的方法,可以包括相应的模块或单元,也可以通过软件和/或硬件的方式实现。
本申请还提供一种编码器,用于执行本申请实施例中涉及到视频编码过程中的方法,可以包括相应的模块或单元,也可以通过软件和/或硬件的方式实现。
下面结合图8和图9对能够执行本申请实施例的帧间预测方法的视频编码器和视频解码器的结构进行简单的介绍。
图8是本申请实施例的视频编码器的示意性框图。图8所示的视频编码器1000包括:编码端预测模块1001、变换量化模块1002、熵编码模块1003、编码重建模块1004和编码端滤波模块。
图8所示的视频编码器1000可以对视频进行编码,视频编码器1000可以执行图1所示的视频编码过程,从而实现对视频的编码。
视频编码器1000还可以执行本申请实施例的帧间预测方法,具体地,视频编码器1000可以执行图3所示的帧间预测方法的各个步骤。
本申请实施例中的帧间预测装置可以是视频编码器1000中的编码端预测模块1001,具体地,装置700相当于视频编码器1000中的编码端预测模块1001。
图9是本申请实施例的视频解码器的示意性框图。图9所示的视频解码器2000包括:熵解码模块2001、反变换反量化模块2002、解码端预测模块2003、解码重建模块2004和解码端滤波模块2005。
图9所示的视频解码器2000可以对视频进行编码,视频解码器2000可以执行图2所示的视频解码过程,从而实现对视频的解码
另外,视频解码器2000还可以执行本申请实施例的帧间预测方法,具体地,视频解码器2000可以执行图3所示的帧间预测方法的各个步骤。
本申请实施例中的帧间预测装置可以是视频解码器2000中的解码端预测模块2003,具体地,装置700相当于视频解码器2000中的解码端预测模块2003。
下面结合图10至图12对本申请实施例的帧间预测的方法的应用场景进行介绍,本申请实施例的帧间预测的方法可以由图10至图12所示的视频传输系统、编解码装置以及编解码系统来执行。
图10是本申请实施例的视频传输系统的示意性框图。
如图10所示,视频传输系统包括采集模块3001、编码模块3002、发送模块3003、网络传输3004、接收模块3005、解码模块3006、渲染模块3007和显示模块208组成。
其中,视频传输系统中各个模块的具体作用如下:
采集模块3001包含摄像头或者摄像头组,用于采集视频图像,并对采集到的视频图像进行编码前的处理,将光信号转化为数字化的视频序列;
编码模块3002用于对视频序列进行编码,得到码流;
发送模块3003用于将编码得到的码流发送出去;
接收模块3005用于接收发送模块3003发送的码流;
网络3004用于将发送模块3003发送的码流传输到接收模块3005;
解码模块3006用于对接收模块3005接收的码流进行解码,重建视频序列;
渲染模块3007用于对解码模块3006解码得到的重建视频序列进行渲染,以提高视频的显示效果。
图10所示的视频传输系统可以执行本申请实施例的帧间预测的方法,具体地,图10所示的视频传输系统中的编码模块3001和解码模块3006都可以执行本申请实施例的帧间预测的方法。
另外,图10所示的视频传输系统中的采集模块3001、编码模块3002以及发送模块3003相当于图17所示的视频编码器1000。图10所示的视频传输系统中的接收模块3005、解码模块3006和渲染模块3007相当于图9所示的视频解码器2000。
下面结合图11和图12对编解码装置和编解码装置组成的编解码系统进行详细的介绍。应理解,图11和图12中所示的编解码装置和编解码系统能够执行本申请实施例的帧间预测的方法。
图11是本申请实施例的视频编解码装置的示意性图。该视频编解码装置50可以是专门用于对视频图像进行编码和/或解码的装置,也可以是具有视频编解码功能的电子设备,进一步地,该编解码装置50可以是无线通信系统的移动终端或者用户设备。
编解码装置50可以包括下列模块或者单元:控制器56、编码解码器54、无线电接口52、天线44、智能卡46、读卡器48、小键盘34、存储器58、红外线端口42、显示器32。除了图11中所示的模块和单元之外,编解码装置50还可以包括麦克风或者任何适当的音频输入模块,该音频输入模块可以是数字或者模拟信号输入,编解码装置50还可以包括音频输出模块,该音频输出模块可以是耳机、扬声器或者模拟音频或者数字音频输出连接。编解码装置50也可以包括电池,该电池可以是太阳能电池、燃料电池等等。编解码装置50还可以包括用于与其它设备进行近程视线通信的红外线端口,该编解码装置50还可以采用包括任何适当的近程通信方式与其它设备进行通信,例如,蓝牙无线连接、USB/火线有线连接。
存储器58可以存储形式为图像的数据和音频的数据,也可以存储用于在控制器56上执行的指令。
编码解码器54可以实现对音频和/或视频数据的编码和解码或者在控制器56的控制下实现对音频和/或视频数据的辅助编码和辅助解码。
智能卡46和读卡器48可以提供用户信息,也可以提供网络认证和授权用户的认证信息。智能卡46和读卡器48的具体实现形式可以是集成电路卡(Universal IntegratedCircuit Card,UICC)和UICC读取器。
无线电接口电路52可以生成无线通信信号,该无线通信信号可以是在进行蜂窝通信网络、无线通信系统或者无线局域网通信产生的通信信号。
天线44用于向其它装置(装置的数目可以为一个也可以为多个)发送在无线电接口电路52生成的射频信号,并且还可以用于从其它装置(装置的数目可以为一个也可以为多个)接收射频信号。
在本申请的一些实施例中,编解码装置50可以在传输和/或存储之前从另一设备接收待处理的视频图像数据。在本申请的另一些实施例中,编解码装置50可以通过无线或者有线连接接收图像并对接收到的图像进行编码/解码。
图12是本申请实施例的视频编解码系统7000的示意性框图。
如图12所示,视频编解码系统7000包含源装置4000及目的地装置5000。源装置4000产生经过编码后的视频数据,源装置4000也可以被称为视频编码装置或视频编码设备,目的地装置5000可以对源装置4000产生的经过编码后的视频数据进行解码,目的地装置5000也可以被称为视频解码装置或视频解码设备。
源装置4000和目的地装置5000的具体实现形式可以是如下设备中的任意一种:台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、智能电话、手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或者其它类似的设备。
目的地装置5000可以经由信道6000接收来自源装置4000编码后的视频数据。信道6000可包括能够将编码后的视频数据从源装置4000移动到目的地装置5000的一个或多个媒体及/或装置。在一个实例中,信道6000可以包括使源装置4000能够实时地将编码后的视频数据直接发射到目的地装置5000的一个或多个通信媒体,在此实例中,源装置4000可以根据通信标准(例如,无线通信协议)来调制编码后的视频数据,并且可以将调制后的视频数据发射到目的地装置5000。上述一个或多个通信媒体可以包含无线及/或有线通信媒体,例如射频(Radio Frequency,RF)频谱或一根或多根物理传输线。上述一个或多个通信媒体可以形成基于包的网络(例如,局域网、广域网或全球网络(例如,因特网))的部分。上述一个或多个通信媒体可以包含路由器、交换器、基站,或者实现从源装置4000到目的地装置5000的通信的其它设备。
在另一实例中,信道6000可包含存储由源装置4000产生的编码后的视频数据的存储媒体。在此实例中,目的地装置5000可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本地存取式数据存储媒体,例如蓝光光盘、高密度数字视频光盘(DigitalVideo Disc,DVD)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、快闪存储器,或用于存储经编码视频数据的其它合适数字存储媒体。
在另一实例中,信道6000可包含文件服务器或存储由源装置4000产生的编码后的视频数据的另一中间存储装置。在此实例中,目的地装置5000可经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的编码后的视频数据。文件服务器可以是能够存储编码后的视频数据且将所述编码后的视频数据发射到目的地装置5000的服务器类型。例如,文件服务器可以包含全球广域网(World Wide Web,Web)服务器(例如,用于网站)、文件传送协议(File Transfer Protocol,FTP)服务器、网络附加存储(Network AttachedStorage,NAS)装置以及本地磁盘驱动器。
目的地装置5000可经由标准数据连接(例如,因特网连接)来存取编码后的视频数据。数据连接的实例类型包含适合于存取存储于文件服务器上的编码后的视频数据的无线信道、有线连接(例如,缆线调制解调器等),或两者的组合。编码后的视频数据从文件服务器的发射可为流式传输、下载传输或两者的组合。
本申请的帧间预测方法不限于无线应用场景,示例性的,本申请的帧间预测方法可以应用于支持以下应用等多种多媒体应用的视频编解码:空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射(例如,经由因特网)、存储于数据存储媒体上的视频数据的编码、存储于数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频编解码系统7000可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频播放、视频广播及/或视频电话等应用。
在图12中,源装置4000包含视频源4001、视频编码器4002及输出接口4003。在一些实例中,输出接口4003可包含调制器/解调器(调制解调器)及/或发射器。视频源4001可包含视频俘获装置(例如,视频相机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频输入接口,及/或用于产生视频数据的计算机图形系统,或上述视频数据源的组合。
视频编码器4002可编码来自视频源4001的视频数据。在一些实例中,源装置4000经由输出接口4003将编码后的视频数据直接发射到目的地装置5000。编码后的视频数据还可存储于存储媒体或文件服务器上以供目的地装置5000稍后存取以用于解码及/或播放。
在图12的实例中,目的地装置5000包含输入接口5003、视频解码器5002及显示装置5001。在一些实例中,输入接口5003包含接收器及/或调制解调器。输入接口5003可经由信道6000接收编码后的视频数据。显示装置5001可与目的地装置5000整合或可在目的地装置5000外部。一般来说,显示装置5001显示解码后的视频数据。显示装置5001可包括多种显示装置,例如液晶显示器、等离子体显示器、有机发光二极管显示器或其它类型的显示装置。
视频编码器4002及视频解码器5002可根据视频压缩标准(例如,高效率视频编解码H.265标准))而操作,并且可以可遵照高效视频编码(High Efficiency Video Coding,HEVC)测试模型(HM)。H.265标准的文本描述ITU-TH.265(V3)(04/2015)于2015年4月29号发布,可从http://handle.itu.int/11.1002/7000/12455下载,所述文件的全部内容以引用的方式并入本文中。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (19)

1.一种帧间预测的方法,其特征在于,包括:
获取待处理块的第一参考帧索引和第一运动矢量;
由所述第一参考帧索引推导获得第二参考帧索引,所述第二参考帧索引和所述第一参考帧索引不同;
对所述第一运动矢量进行缩放获得第二运动矢量;
根据所述第一参考帧索引和第一运动矢量,获得所述待处理块的第一参考块;
根据所述第二参考帧索引和第二运动矢量,获得所述待处理块的第二参考块;
对所述第一参考块和所述第二参考块进行加权,获得组合预测块;
其中,所述由所述第一参考帧索引推导获得第二参考帧索引,包括:
当所述第一参考帧索引为0时,所述第二参考帧索引为1;
当所述第一参考帧索引不为0时,所述第二参考帧索引为0;
所述对所述第一运动矢量进行缩放获得第二运动矢量,包括:
将第二距离与第一距离的比值和所述第一运动矢量相乘以获得所述第二运动矢量,其中,所述第一距离为所述待处理块所在的图像帧与所述第一参考帧索引指示的图像帧的时域距离,所述第二距离为所述待处理块所在的图像帧与所述第二参考帧索引指示的图像帧的时域距离。
2.根据权利要求1所述的方法,所述方法用于视频编码,其特征在于,所述方法还包括:
编码第一标识信息,所述第一标识信息用于确定所述第一运动矢量和所述第一参考帧索引。
3.根据权利要求1所述的方法,所述方法用于视频编码,其特征在于,所述方法还包括:
编码第二标识信息、所述第一参考帧索引和所述第一运动矢量和预测运动矢量的矢量差异,所述第二标识信息用于确定所述预测运动矢量。
4.根据权利要求1至3任一项所述的方法,所述方法用于视频编码,其特征在于,在所述获得组合预测块之后,所述方法还包括:
根据预设第一准则,分别计算以所述组合预测块作为所述待处理块的预测块的第一编码代价值和以所述第一参考块作为所述待处理块的预测块的第二编码代价值,其中,所述预设第一准则包括以下准则中的任一种:绝对变换误差和SATD准则、率失真优化RDO准则、绝对误差和SAD准则、均方误差MSE准则;
当所述第一编码代价值小于所述第二编码代价值时,采用所述组合预测块作为所述待处理块的预测块,当所述第一编码代价值大于或等于所述第二编码代价值时,采用所述第一参考块作为所述待处理块的预测块。
5.根据权利要求1至3任一项所述的方法,所述方法用于视频编码,其特征在于,所述方法还包括:
编码第三标识信息,其中,当采用所述组合预测块作为所述待处理块的预测块时,所述第三标识信息为第一数值,当采用所述第一参考块作为所述待处理块的预测块时,所述第三标识信息为第二数值,所述第一数值和所述第二数值不同。
6.根据权利要求1至3任一项所述的方法,其特征在于,在所述对所述第一运动矢量进行缩放获得第二运动矢量之前,所述方法还包括:
确定所述待处理块满足预设第二准则,其中所述预设第二准则,包括以下准则中的任一种或多种的组合:所述待处理块或所述待处理块的时域或空域的邻域块的尺寸满足预设阈值、所述待处理块或所述待处理块的时域或空域的邻域块的分块模式满足预设的分块模式、所述待处理块或所述待处理块的时域或空域的邻域块的预测模式满足预设的预测模式;
对应的,在所述获得组合预测块之后,所述方法还包括:
将所述组合预测块作为所述待处理块的预测块。
7.根据权利要求1所述的方法,所述方法用于视频解码,其特征在于,所述获取待处理块的第一参考帧索引和第一运动矢量,包括:
解析码流,获得第四标识信息;
根据所述第四标识信息,从所述待处理块的候选预测运动矢量集合中,获得所述待处理块的预测运动矢量,其中,所述候选预测运动矢量集合中的每个预测运动矢量对应一个参考帧索引;
将所述预测运动矢量作为所述第一运动矢量;
将所述预测运动矢量对应的参考帧索引作为所述第一参考帧索引。
8.根据权利要求1所述的方法,所述方法用于视频解码,其特征在于,所述获取待处理块的第一参考帧索引和第一运动矢量,包括:
解析码流,获得第五标识信息、所述第一参考帧索引和矢量差异;
根据所述第五标识信息,从所述待处理块的候选预测运动矢量集合中,获得所述待处理块的预测运动矢量;
将所述预测运动矢量和所述矢量差异相加以获得所述第一运动矢量。
9.根据权利要求7或8所述的方法,所述方法用于解码视频,其特征在于,当第六标识信息为第三数值时,采用所述组合预测块作为所述待处理块的预测块,当所述第六标识信息为第四数值时,采用所述第一参考块作为所述待处理块的预测块,所述第三数值和所述第四数值不同,在所述对所述第一运动矢量进行缩放获得第二运动矢量之前,所述方法还包括:
解析所述码流获得所述第六标识信息,其中,所述第六标识信息为所述第三数值。
10.一种帧间预测的装置,其特征在于,包括:
获取模块,用于获取待处理块的第一参考帧索引和第一运动矢量;
推导模块,用于由所述第一参考帧索引推导获得第二参考帧索引,所述第二参考帧索引和所述第一参考帧索引不同;
缩放模块,用于对所述第一运动矢量进行缩放获得第二运动矢量;
所述获取模块还用于:根据所述第一参考帧索引和第一运动矢量,获得所述待处理块的第一参考块;
所述获取模块还用于:根据所述第二参考帧索引和第二运动矢量,获得所述待处理块的第二参考块;
加权模块,用于对所述第一参考块和所述第二参考块进行加权,获得组合预测块;
其中,所述推导模块具体用于:
当所述第一参考帧索引为0时,所述第二参考帧索引为1;
当所述第一参考帧索引不为0时,所述第二参考帧索引为0;
所述缩放模块具体用于:
将第二距离与第一距离的比值和所述第一运动矢量相乘以获得所述第二运动矢量,其中,所述第一距离为所述待处理块所在的图像帧与所述第一参考帧索引指示的图像帧的时域距离,所述第二距离为所述待处理块所在的图像帧与所述第二参考帧索引指示的图像帧的时域距离。
11.根据权利要求10所述的装置,所述装置用于视频编码,其特征在于,所述装置还包括:
编码模块,用于编码第一标识信息,所述第一标识信息用于确定所述第一运动矢量和所述第一参考帧索引。
12.根据权利要求10所述的装置,所述装置用于视频编码,其特征在于,所述装置还包括:
编码模块,用于编码第二标识信息、所述第一参考帧索引和所述第一运动矢量和预测运动矢量的矢量差异,所述第二标识信息用于确定所述预测运动矢量。
13.根据权利要求10至12任一项所述的装置,所述装置用于视频编码,其特征在于,在所述获得组合预测块之后,所述装置还包括:
计算模块,用于根据预设第一准则,分别计算以所述组合预测块作为所述待处理块的预测块的第一编码代价值和以所述第一参考块作为所述待处理块的预测块的第二编码代价值,其中,所述预设第一准则包括以下准则中的任一种:绝对变换误差和SATD准则、率失真优化RDO准则、绝对误差和SAD准则、均方误差MSE准则;
处理模块,用于当所述第一编码代价值小于所述第二编码代价值时,采用所述组合预测块作为所述待处理块的预测块,当所述第一编码代价值大于或等于所述第二编码代价值时,采用所述第一参考块作为所述待处理块的预测块。
14.根据权利要求10至12任一项所述的装置,所述装置用于视频编码,其特征在于,所述装置还包括:
编码模块,用于编码第三标识信息,其中,当采用所述组合预测块作为所述待处理块的预测块时,所述第三标识信息为第一数值,当采用所述第一参考块作为所述待处理块的预测块时,所述第三标识信息为第二数值,所述第一数值和所述第二数值不同。
15.根据权利要求10至12任一项所述的装置,其特征在于,在所述对所述第一运动矢量进行缩放获得第二运动矢量之前,所述装置还包括:
确定模块,还用于确定所述待处理块满足预设第二准则,其中所述预设第二准则,包括以下准则中的任一种或多种的组合:所述待处理块或所述待处理块的时域或空域的邻域块的尺寸满足预设阈值、所述待处理块或所述待处理块的时域或空域的邻域块的分块模式满足预设的分块模式、所述待处理块或所述待处理块的时域或空域的邻域块的预测模式满足预设的预测模式;
对应的,在所述获得组合预测块之后,所述装置还包括:
处理模块,用于将所述组合预测块作为所述待处理块的预测块。
16.根据权利要求10所述的装置,所述装置用于视频解码,其特征在于,所述获取模块具体用于:
解析模块,用于解析码流,获得第四标识信息;
根据所述第四标识信息,从所述待处理块的候选预测运动矢量集合中,获得所述待处理块的预测运动矢量,其中,所述候选预测运动矢量集合中的每个预测运动矢量对应一个参考帧索引;将所述预测运动矢量作为所述第一运动矢量;将所述预测运动矢量对应的参考帧索引作为所述第一参考帧索引。
17.根据权利要求10所述的装置,所述装置用于视频解码,其特征在于,所述获取模块具体用于:
解析码流,获得第五标识信息、所述第一参考帧索引和矢量差异;
根据所述第五标识信息,从所述待处理块的候选预测运动矢量集合中,获得所述待处理块的预测运动矢量;将所述预测运动矢量和所述矢量差异相加以获得所述第一运动矢量。
18.根据权利要求16或17所述的装置,所述装置用于解码视频,其特征在于,当第六标识信息为第三数值时,采用所述组合预测块作为所述待处理块的预测块,当所述第六标识信息为第四数值时,采用所述第一参考块作为所述待处理块的预测块,所述第三数值和所述第四数值不同,在所述对所述第一运动矢量进行缩放获得第二运动矢量之前,所述装置还包括:
解析模块,用于解析所述码流获得所述第六标识信息,其中,所述第六标识信息为所述第三数值。
19.一种终端设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的程序,当所述程序被执行时,所述处理器用于执行如权利要求1-9中任一项所述的方法。
CN201880089043.8A 2018-03-29 2018-04-02 帧间预测的方法和装置 Active CN111699688B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/CN2018/081195 WO2019183906A1 (zh) 2018-03-29 2018-03-29 帧间预测的方法和装置
CNPCT/CN2018/081195 2018-03-29
PCT/CN2018/081541 WO2019183989A1 (zh) 2018-03-29 2018-04-02 帧间预测的方法和装置

Publications (2)

Publication Number Publication Date
CN111699688A CN111699688A (zh) 2020-09-22
CN111699688B true CN111699688B (zh) 2022-11-25

Family

ID=68062153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880089043.8A Active CN111699688B (zh) 2018-03-29 2018-04-02 帧间预测的方法和装置

Country Status (3)

Country Link
US (2) US11412210B2 (zh)
CN (1) CN111699688B (zh)
WO (2) WO2019183906A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11595685B2 (en) * 2018-09-21 2023-02-28 Interdigital Vc Holdings, Inc. Motion vector prediction in video encoding and decoding
CN112889289A (zh) * 2018-10-10 2021-06-01 三星电子株式会社 通过使用运动矢量差分值对视频进行编码和解码的方法以及用于对运动信息进行编码和解码的设备
CN113940081A (zh) * 2019-04-19 2022-01-14 北京达佳互联信息技术有限公司 使用利用光流的预测细化的视频编解码的方法和装置
CN114286100A (zh) * 2020-09-28 2022-04-05 华为技术有限公司 帧间预测方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101605256A (zh) * 2008-06-12 2009-12-16 华为技术有限公司 一种视频编解码的方法及装置
CN101931803A (zh) * 2009-06-26 2010-12-29 华为技术有限公司 视频图像运动信息获取方法、装置及设备、模板构造方法
CN102883161A (zh) * 2012-09-19 2013-01-16 华为技术有限公司 视频编码和解码的处理方法和装置
WO2014083492A2 (en) * 2012-11-27 2014-06-05 Squid Design Systems Pvt Ltd System and method of performing motion estimation in multiple reference frame
CN107205149A (zh) * 2016-03-18 2017-09-26 谷歌公司 通过参考帧缓冲器跟踪的运动矢量参考选择

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101820547A (zh) * 2009-02-27 2010-09-01 源见科技(苏州)有限公司 帧间模式选择方法
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
CN102387360B (zh) * 2010-09-02 2016-05-11 乐金电子(中国)研究开发中心有限公司 视频编解码帧间图像预测方法及视频编解码器
GB2488816A (en) * 2011-03-09 2012-09-12 Canon Kk Mapping motion vectors from a plurality of reference frames to a single reference frame
CN102752588B (zh) * 2011-04-22 2017-02-15 北京大学深圳研究生院 使用空间缩放预测的视频编解码方法
US8805827B2 (en) * 2011-08-23 2014-08-12 Dialogic (Us) Inc. Content identification using fingerprint matching
JP5485969B2 (ja) * 2011-11-07 2014-05-07 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
CN102395030B (zh) * 2011-11-18 2014-05-07 杭州海康威视数字技术股份有限公司 基于视频压缩码流的运动分析方法、码流转换方法及其装置
US10021414B2 (en) * 2013-01-04 2018-07-10 Qualcomm Incorporated Bitstream constraints and motion vector restriction for inter-view or inter-layer reference pictures
US9374578B1 (en) * 2013-05-23 2016-06-21 Google Inc. Video coding using combined inter and intra predictors
US9609343B1 (en) * 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
US10271062B2 (en) * 2016-03-18 2019-04-23 Google Llc Motion vector prediction through scaling
US10757420B2 (en) * 2017-06-23 2020-08-25 Qualcomm Incorporated Combination of inter-prediction and intra-prediction in video coding
US11877001B2 (en) * 2017-10-10 2024-01-16 Qualcomm Incorporated Affine prediction in video coding
US10958928B2 (en) * 2018-04-10 2021-03-23 Qualcomm Incorporated Decoder-side motion vector derivation for video coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101605256A (zh) * 2008-06-12 2009-12-16 华为技术有限公司 一种视频编解码的方法及装置
CN101931803A (zh) * 2009-06-26 2010-12-29 华为技术有限公司 视频图像运动信息获取方法、装置及设备、模板构造方法
CN102883161A (zh) * 2012-09-19 2013-01-16 华为技术有限公司 视频编码和解码的处理方法和装置
WO2014083492A2 (en) * 2012-11-27 2014-06-05 Squid Design Systems Pvt Ltd System and method of performing motion estimation in multiple reference frame
CN107205149A (zh) * 2016-03-18 2017-09-26 谷歌公司 通过参考帧缓冲器跟踪的运动矢量参考选择

Also Published As

Publication number Publication date
US20200404256A1 (en) 2020-12-24
US11412210B2 (en) 2022-08-09
WO2019183906A1 (zh) 2019-10-03
WO2019183989A1 (zh) 2019-10-03
CN111699688A (zh) 2020-09-22
US20230010907A1 (en) 2023-01-12

Similar Documents

Publication Publication Date Title
US11140408B2 (en) Affine motion prediction
CN107431820B (zh) 视频译码中运动向量推导
KR20210072064A (ko) 인터 예측 방법 및 장치
KR20180019009A (ko) 비디오 부호화, 복호화 방법 및 장치
CN110870314A (zh) 用于运动补偿的多个预测器候选
KR20170078673A (ko) 움직임 벡터 부복호화 방법 및 장치
CN111699688B (zh) 帧间预测的方法和装置
TW201515445A (zh) 圖像處理方法
CN109996080B (zh) 图像的预测方法、装置及编解码器
KR20220064962A (ko) 히스토리 기반 모션 벡터 예측
AU2019240981B2 (en) Bidirectional inter-frame prediction method and device
EP4297403A2 (en) Methods and apparatus of video coding for deriving affine motion vectors for chroma components
KR20210036411A (ko) 후보 모션 벡터 리스트 획득 방법, 장치, 인코더 및 디코더
JP2024037999A (ja) ビデオエンコーダ、ビデオデコーダ、及び対応する方法
CN109756739B (zh) 图像预测方法和装置
CN109905714B (zh) 帧间预测方法、装置及终端设备
CN111327907B (zh) 一种帧间预测的方法、装置、设备及存储介质
CN109756737B (zh) 图像预测方法和装置
KR101510585B1 (ko) 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법
RU2819065C2 (ru) Видеокодер, видеодекодер и соответствующий способ
US12010293B2 (en) Picture prediction method and apparatus, and computer-readable storage medium
CN111355958B (zh) 视频解码方法及装置
US20220046234A1 (en) Picture prediction method and apparatus, and computer-readable storage medium
CN111050164A (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