CN112399183A - 用于视频编解码的方法和装置 - Google Patents

用于视频编解码的方法和装置 Download PDF

Info

Publication number
CN112399183A
CN112399183A CN202010824938.0A CN202010824938A CN112399183A CN 112399183 A CN112399183 A CN 112399183A CN 202010824938 A CN202010824938 A CN 202010824938A CN 112399183 A CN112399183 A CN 112399183A
Authority
CN
China
Prior art keywords
sub
block
dmvr
blocks
reference picture
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
CN202010824938.0A
Other languages
English (en)
Other versions
CN112399183B (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.)
Tencent America LLC
Original Assignee
Tencent America LLC
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 Tencent America LLC filed Critical Tencent America LLC
Publication of CN112399183A publication Critical patent/CN112399183A/zh
Application granted granted Critical
Publication of CN112399183B publication Critical patent/CN112399183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

本申请公开了视频解码方法和装置。所述装置包括处理电路。所述处理电路用于从已编码的视频比特流中解码出当前图像中当前块的预测信息。所述预测信息可以指示当前块中的多个子块的基于子块的合并模式。所述处理电路用于根据所述基于子块的合并模式的模式类型来确定是否将解码器侧运动矢量修正(DMVR)应用于所述多个子块中的一个子块。所述处理电路用于响应于确定将DMVR应用于所述子块,根据带有所述DMVR的基于子块的合并模式来重建该所述子块。一个示例中,所述基于子块的合并模式的模式类型不是仿射合并模式。

Description

用于视频编解码的方法和装置
本申请要求2019年8月19日提交的第62/888,784号美国临时申请案“子块帧间预测的运动修正(Motion Refinement on Subblock Inter Prediction)”,以及2020年8月13日提交的第16/992,868号美国临时申请案“”的优先权,所述申请以全文引用方式并入本申请。
技术领域
本公开实施例涉及视频编解码领域。
背景技术
本文提供的背景描述是为了呈现本申请的背景。记名的发明人的工作,在该背景部分描述的工作以及本说明书各实施例的范围内的内容,在递交时可能并不算作现有技术,均未被明示或暗示地承认作为不利于本申请的现有技术。
目前,可使用帧间图片预测结合运动补偿来执行视频编码和解码。未压缩的数字视频通常包括一系列图片。例如,每个图片具有1920×1080分辨率的亮度采样和相关的色度采样。所述一系列图片可具有例如每秒60个图片或60Hz的固定或可变图片速率(也被称作帧率)。因此,未压缩视频具有很大的位速率要求。举例来说,每采样8位的1080p60 4:2:0视频(60Hz帧率下的1920×1080亮度采样分辨率)需要接近1.5Gbit/s的带宽。长度为一小时的此类视频需要超过600GB的存储空间。
视频编码和解码的一个目的可以是通过压缩来减少输入视频信号中的冗余。压缩有助于降低上述带宽或存储空间要求,在一些情况下可降低两个数量级或更多。通常情况下,可使用无损压缩和有损压缩以及其组合。无损压缩是指可从压缩的原始信号重建原始信号的精确副本的技术。当使用有损压缩时,重建的信号可能与原始信号不同,但原始信号与重建的信号之间的失真很小,因而重建的信号能够实现所期望的用途。视频领域中广泛采用有损压缩。容许的失真量因不同应用而异。例如,消费型直播应用的用户比电视节目应用的用户能容忍更高的失真。可实现的压缩比可反映出:可允许的/可容许的失真越高,可产生的压缩比越高。
运动补偿可以是有损压缩技术,且可关联以下技术:对于来自先前已重建的图片或其中一部分(参考图片)的样本数据块,在由运动矢量(motion vector,MV)指示的方向上发生空间偏移之后,可用于预测新重建的图片或图片的一部分。在一些情况下,参考图片可与当前正在重建的图片相同。各个MV可具有两个维度X和Y,或三个维度,第三维度指示正在使用的参考图片(间接地,第三维度还可以是时间维度)。
在一些视频压缩技术中,可根据其它MV预测适用于某一样本数据区域的MV,所述其它MV例如是,与正在重建的区域空间相邻近的另一样本数据区域相关、且解码次序是在所述某一样本数据区域的MV之前。如此,可极大减少对MV进行编码所需的数据量,由此消除冗余且提高压缩。举例来说,当对来自相机的输入视频信号(称为原始视频)进行编码时,存在如下的统计可能性:比单个MV区域更大的多个区域会在相似的方向上移动,因此,在一些情况下,可使用从相邻区域的MV提取的相似运动矢量进行预测,因此,MV预测非常有效。采用这种方式,使得针对给定区域确定的MV与根据周围MV预测的MV类似或相同,且在熵编码之后,表示MV的位数小于在对MV直接编码的情况下所使用的位数。在一些情况下,MV预测可以是针对从原始信号(即:样本流)提取的信号(即:MV)进行无损压缩的实施例。在其它情况下,MV预测本身可能是有损的,例如,在根据周围若干MV计算预测值时,由于化整误差导致的有损。
H.265/HEVC(ITU-TH.265建议书,“高效视频编码(High Efficiency VideoCoding)”,2016年12月)中描述了各种MV(motion vector)预测机制。在H.265提供的许多MV预测机制中,此处描述的是下文称作“空间合并”的技术。
参考图1,当前块(101)包括在运动搜索过程期间已由编码器发现的采样,根据已空间移位的相同大小的先前块可预测所述采样。不对此MV直接进行编码,而是可以使用与标示为A0、A1、B0、B1和B2(分别是102至106)的五个周围采样中的任一采样相关联的MV,根据与一个或多个参考图片,比如最近的参考图片(按解码次序),相关联的元数据来推导出所述MV。在H.265中,MV预测可以使用来自与相邻块所使用的参考图片相同的参考图片的预测值。
发明内容
本公开的各方面提供一种用于视频编码/解码的方法和装置。在一些示例中,用于视频解码的装置包括处理电路。处理电路可以从已编码的视频比特流中解码出当前图像中当前块的预测信息。该预测信息可以指示当前块中的多个子块的基于子块的合并模式。处理电路可以至少根据该基于子块的合并模式的模式类型来确定是否将解码器侧运动矢量修正(decoder-side motion vector refinement,DMVR)应用于该多个子块中的一个子块。响应于确定将DMVR应用于所述子块,处理电路可以根据带有该DMVR的基于子块的合并模式来重建所述子块。
一个实施例中,处理电路可以根据基于子块的合并模式的模式类型不是仿射合并模式来确定将DMVR应用于该多个子块中的所述子块。
一个实施例中,处理电路可以至少部分地根据基于子块的合并模式是基于子块的时间运动矢量预测(subblock-based temporal motion vector prediction,SbTMVP)来确定将DMVR应用于该多个子块中的所述子块。
一个实施例中,所述处理电路可以至少部分地根据基于子块的合并模式是SbTMVP并且该多个子块中的每一个子块的大小是16x16亮度样本来确定将DMVR应用于该多个子块中的所述子块。
一个示例中,处理电路可以确定当前块的一个或多个参考图像列表是否满足多个条件。该多个条件可以包括:(a)当前块的一个或多个参考图像列表包括第一参考图像列表和第二参考图像列表;(b)当前图像在视频序列中位于第一参考图像列表中的第一参考图像和第二参考图像列表中的第二参考图像之间;以及(c)第一参考图像和当前图像之间的第一时间距离等于第二参考图像和当前图像之间的第二时间距离。处理电路可以基于当前块的一个或多个参考图像列表不满足该多个条件,确定不将DMVR应用于所述子块。处理电路可以至少部分地基于当前块的一个或多个参考图像列表满足该多个条件,确定将DMVR应用于所述子块。
一个示例中,当前块的一个或多个参考图像列表满足多个条件,并且多个子块中的每个子块的大小是16x16亮度样本。
一个示例中,当前块的一个或多个参考图像列表满足所述多个条件。预测信息还包括指示多个子块中的每个子块的大小是否是16x16亮度样本的标志。处理电路可以至少部分地基于所述标志指示子块大小是16x16亮度样本,确定将DMVR应用于多个子块中的一个子块。
一个示例中,子块合并候选列表包括启用了DMVR的SbTMVP候选。
一个实施例中,处理电路可以至少部分地基于多个子块中的每个子块的大小是8x8亮度样本,确定将DMVR应用于多个子块中的一个子块。
一个实施例中,预测信息还包括指示包括当前块的多个块是否允许DMVR的高级标志。处理电路可以基于高级标志来确定是否将DMVR应用于多个子块中的所述子块。
本公开的各方面还提供一种存储有指令的非暂时性计算机可读介质,这些指令可由用于视频解码的计算机执行时使得该计算机执行视频解码的方法。
附图说明
根据以下详细描述和附图,将更清楚所公开主题的其它特征、本质和各种优势,在附图中:
图1是一个实施例的当前块和其周围空间合并候选块的示意性说明。
图2是一个实施例的通信系统的简化框图的示意性说明。
图3是另一个实施例的通信系统的简化框图的示意性说明。
图4是一个实施例的解码器的简化框图的示意性说明。
图5是一个实施例的编码器的简化框图的示意性说明。
图6是另一实施例的编码器的框图。
图7是另一实施例的解码器的框图。
图8A-8C是一个实施例的基于子块的的时间运动矢量预测(sbTMVP)方法的示例。
图9是一个实施例的双向光流(bi-directional optical flow,BDOF)模式的示例。
图10是一个实施例的解码器侧运动矢量修正(decoder-side motion vectorrefinement,DMVR)的示例。
图11是一个实施例的应用BDOF的条件集合的示例。
图12是一个实施例的块级别DMVR的条件集合的示例。
图13是一个实施例的块级别DMVR的条件集合的示例。
图14是一个实施例的子块级别DMVR的条件集合的示例。
图15是一个实施例的方法的概要流程图。
图16是一个实施例的计算机系统的示意图。
具体实施方式
图2示出根据本公开实施例的通信系统(200)的简化框图。通信系统(200)包括多个终端装置,所述终端装置可通过例如网络(250)彼此通信。举例来说,通信系统(200)包括通过网络(250)互连的第一对终端装置(210)和终端装置(220)。在图2的实施例中,第一对终端装置(210)和终端装置(220)执行单向数据传输。举例来说,终端装置(210)可对视频数据(例如由终端装置(210)采集的视频图像流)进行编码,再通过网络(250)传输到另一终端装置(220)。已编码的视频数据可采用一个或多个已编码视频码流形式传输。终端装置(220)可从网络(250)接收已编码视频数据,对已编码视频数据进行解码,恢复视频数据,并根据恢复的视频数据显示视频图像。单向数据传输在媒体服务等应用中较为常见的。
在另一实施例中,通信系统(200)包括第二对终端装置(230)和终端装置(240),用于执行可能发生的已编码视频数据的双向传输,例如在视频会议期间的双向传输。对于双向数据传输,一个实施例中,终端装置(230)和终端装置(240)中的每个终端装置可对视频数据(例如由终端装置采集的视频图像流)进行编码,再通过网络(250)传输到终端装置(230)和终端装置(240)中的另一终端装置。终端装置(230)和终端装置(240)中的每个终端装置还可接收由终端装置(230)和终端装置(240)中的另一终端装置传输的已编码视频数据,且可对所述已编码视频数据进行解码,恢复视频数据,并且可根据恢复的视频数据在可访问的显示装置处显示视频图像。
在图2实施例中,终端装置(210)、终端装置(220)、终端装置(230)和终端装置(240)的例子可包括服务器、个人计算机和智能电话,但本申请公开的原理可不限于此。本申请公开的实施例适用于笔记本电脑、平板电脑、媒体播放器和/或专用视频会议设备。网络(250)表示在终端装置(210)、终端装置(220)、终端装置(230)和终端装置(240)之间传送已编码视频数据的任何数量的网络,包括例如有线(连线的)和/或无线通信网络。通信网络(250)可在电路交换和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或互联网。出于本论述的目的,除非在下文中有所解释,否则网络(250)的架构和拓扑对于本申请公开的操作可能无关紧要。
作为所公开主题的应用实施例,图3示出视频编码器和视频解码器在流式传输环境中的布置。本申请所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等。
流式传输系统可包括采集子系统(313),所述采集子系统可包括数码相机等视频源(301),所述视频源创建例如未压缩的视频图像流(302)。一个实施例中,视频图像流(302)包括由数码相机拍摄的采样。相较于已编码的视频数据(304)(或已编码视频码流),用粗线描绘视频图像流(302)以强调其高数据量,所述视频图像流可由电子装置(320)处理,所述电子装置包括耦合到视频源(301)的视频编码器(303)。视频编码器(303)可包括硬件、软件或软硬件组合,实现或实施如下文更详细描述的所公开主题的各方面。相较于视频图像流(302),用细线描绘已编码的视频数据(304)(或已编码的视频码流(304))以强调其较低数据量,所述已编码的视频数据可存储在流式传输服务器(305)上留作将来使用。一个或多个流式传输客户端子系统,例如图3中的客户端子系统(306)和客户端子系统(308),可访问流式传输服务器(305),检索已编码的视频数据(304)的副本(307)和副本(309)。客户端子系统(306)可包括例如电子装置(330)中的视频解码器(310)。视频解码器(310)对已编码的视频数据的传入副本(307)进行解码,且产生可在显示器(312)(例如显示屏)或另一呈现装置(未图示)上呈现的视频图像输出流(311)。在一些流式传输系统中,可根据某些视频编码/压缩标准对已编码的视频数据(304)、视频数据(307)和视频数据(309)(例如视频码流)进行编码。该些标准的实施例包括ITU-TH.265建议书。一个实施例中,正在开发的视频编码标准非正式地称为下一代视频编码(Versatile Video Coding,VVC)标准。本申请所公开主题可在VVC标准背景中使用。
应注意,电子装置(320)和电子装置(330)可包括其它组件(未示出)。举例来说,电子装置(320)可包括视频解码器(未示出),而电子装置(330)还可包括视频编码器(未示出)。
图4是根据本申请公开实施例的视频解码器(410)的框图。视频解码器(410)可设置于电子装置(430)中。电子装置(430)可包括接收器(431)(例如接收电路)。视频解码器(410)可用于代替图3实施例中的视频解码器(310)。
接收器(431)可接收将由视频解码器(410)解码的一个或多个已编码视频序列;在同一实施例或另一实施例中,一次接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其它已编码视频序列。可从信道(401)接收已编码视频序列,所述信道可以是通向存储已编码的视频数据的存储装置的硬件/软件链路。接收器(431)可接收已编码的视频数据以及其它数据,例如,可转发到它们各自的使用实体(未图示)的已编码音频数据和/或辅助数据流。接收器(431)可将已编码视频序列与其它数据分开。为了防止网络抖动,缓冲存储器(415)可耦合在接收器(431)与熵解码器/解析器(420)(此后称为“解析器(420)”)之间。在某些应用中,缓冲存储器(415)是视频解码器(410)的一部分。在其它应用中,所述缓冲存储器(415)可在视频解码器(410)外部(未图示)。在又一些应用中,在视频解码器(410)外部可设置其它缓冲存储器(未图示),以例如防止网络抖动,且在视频解码器(410)内部可存在另一缓冲存储器(415),以例如处置播出定时。当接收器(431)从具有足够带宽和可控性的存储/转发装置或从等时同步网络接收数据时,也可能不需要配置缓冲存储器(415),或将所述缓冲存储器做得较小。为了在互联网等尽力而为业务分组网络上使用,可能需要缓冲存储器(415),所述缓冲存储器可相对较大且具有自适应性大小,甚至还可至少部分地实施于操作系统或视频解码器(410)外部的类似元件(未图示)中。
视频解码器(410)可包括解析器(420),根据已编码视频序列重建符号(421)。这些符号的类别包括用于管理视频解码器(410)的操作的信息,以及可能用以控制显示装置(412)(例如,显示屏)等显示装置的信息,所述显示装置不是电子装置(430)的组成部分,但可耦合到电子装置(430),如图4中所示。用于显示装置的控制信息可采用辅助增强信息(Supplemental Enhancement Information,SEI消息)或视频可用性信息(VideoUsability Information,VUI)参数集片段(未图示)的形式。解析器(420)可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循各种原理,包括可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文灵敏度的算术编码等。基于与群组对应的至少一个参数,解析器(420)可从已编码视频序列提取针对视频解码器中的至少一个像素子群的子群参数集。子群可包括图像群组(Groupof Pictures,GOP)、图像、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等。解析器(420)还可从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等。
解析器(420)可对从缓冲存储器(415)接收的视频序列执行熵解码/解析操作,从而创建符号(421)。
取决于已编码视频图像或已编码视频图像的一部分(例如:帧间图像和帧内图像、帧间块和帧内块)的类型以及其它因素,重建符号(421)可涉及多个不同单元。涉及哪些单元以及涉及方式可由解析器(420)从已编码视频序列解析的子群控制信息控制。为了简洁起见,未描述解析器(420)与下文的多个单元之间的此类子群控制信息流。
除已经提及的功能块以外,视频解码器(410)可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施例中,许多这些单元彼此紧密交互并且可以至少部分地彼此集成。然而,出于描述所公开主题的目的,适合在概念上细分成以下功能单元。
第一单元是缩放器/逆变换单元(451)。缩放器/逆变换单元(451)从解析器(420)接收作为符号(421)的量化变换系数以及控制信息,包括使用哪种变换、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(451)可输出包括采样值的块,所述采样值可输入到聚合器(455)中。
在一些情况下,缩放器/逆变换单元(451)的输出采样可涉及帧内编码块;即:不使用来自先前重建图像的预测性信息但可使用来自当前图像的先前重建部分的预测性信息的块。此类预测性信息可由帧内图像预测单元(452)提供。在一些情况下,帧内图像预测单元(452)使用从当前图像缓冲器(458)提取的周围已重建信息生成大小和形状与正在重建的块相同的块。举例来说,当前图像缓冲器(458)对部分重建的当前图像和/或完全重建的当前图像进行缓冲。在一些情况下,聚合器(455)基于每一采样将帧内预测单元(452)生成的预测信息添加到由缩放器/逆变换单元(451)提供的输出采样信息中。
在其它情况下,缩放器/逆变换单元(451)的输出采样可涉及帧间编码和潜在运动补偿块。在这种情况下,运动补偿预测单元(453)可访问参考图像存储器(457),提取用于预测的采样。在根据涉及块的符号(421)对提取的采样进行运动补偿之后,这些采样可由聚合器(455)添加到缩放器/逆变换单元(451)的输出(在这种情况下被称作残差采样或残差信号),从而生成输出采样信息。运动补偿预测单元(453)从参考图像存储器(457)内的地址获取预测采样,这些地址可受运动矢量控制,所述呈符号(421)形式的可具有例如X、Y和参考图像分量的所述运动矢量可供运动补偿预测单元(453)使用。运动补偿还可包括在使用子采样精确运动矢量时从参考图像存储器(457)提取的采样值的插值、运动矢量预测机制等。
聚合器(455)的输出采样会在环路滤波器单元(456)中经历各种环路滤波技术。视频压缩技术可包括环路内滤波器技术,所述环路内滤波器技术受控于已编码视频序列(也称作已编码视频码流)中包括的参数,且所述参数作为来自解析器(420)的符号(421)可用于环路滤波器单元(456),但视频压缩技术还可响应于在解码已编码图像或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的采样值。
环路滤波器单元(456)的输出可以是采样流,所述采样流可输出到显示装置(412),以及存储在参考图像存储器(457)中用于将来帧间图像预测。
一旦完全重建,某些已编码图像就可用作将来预测用的参考图像。举例来说,一旦对应于当前图像的已编码图像被完全重建,且已编码图像(通过例如解析器(420))被识别为参考图像,则当前图像缓冲器(458)可变为参考图像存储器(457)的一部分,且可在开始重建后续已编码图像之前重新分配新的当前图像缓冲器。
视频解码器(410)可根据ITU-TH.265等标准中的预定视频压缩技术来执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件的意义上,已编码视频序列可符合所使用的视频压缩技术或标准指定的语法。具体地说,配置文件可从视频压缩技术或标准中可用的所有工具中选择某些工具作为在所述配置文件下可供使用的仅有工具。为符合要求,已编码视频序列的复杂度还必须处于视频压缩技术或标准的级所限定的范围内。在一些情况下,级限制最大图像大小、最大帧率、最大重建取样率(例如每秒以兆个采样为单位进行测量)、最大参考图像大小等。在一些情况下,通过假想参考解码器(Hypothetical Reference Decoder,HRD)规范和在已编码视频序列中发送的HRD缓冲器管理元数据,可进一步限定由级设定的限制。
一个实施例中,接收器(431)可接收已编码的视频和额外(冗余)数据。所述额外数据可被视为已编码视频序列的一部分。所述额外数据可由视频解码器(410)用以对数据进行适当解码,和/或较准确地重建原始视频数据。额外数据可呈例如时间、空间或信噪比(signal noise ratio,SNR)增强层、冗余切片、冗余图像、前向纠错码等形式。
图5是根据本公开实施例的视频编码器(503)的框图。视频编码器(503)设置在电子装置(520)中。电子装置(520)包括传输器(540)(例如传输电路)。视频编码器(503)可用于代替图3实施例中的视频编码器(303)。
视频编码器(503)可从视频源(501)(并非图5实施例中的电子装置(520)的部分)接收视频采样,所述视频源可采集将由视频编码器(503)编码的视频图像。在另一实施例中,视频源(501)是电子装置(520)的一部分。
视频源(501)可提供将由视频编码器(503)编码的呈数字视频采样流形式的源视频序列,所述数字视频采样流可具有任何合适位深度(例如:8位、10位、12位……)、任何色彩空间(例如BT.601YCrCB、RGB……)和任何合适取样结构(例如YCrCb4:2:0、YCrCb4:4:4)。在媒体服务系统中,视频源(501)可以是存储先前准备的视频的存储装置。在视频会议系统中,视频源(501)可以是采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图像,当按顺序观看时,这些图像被赋予运动。图像自身可构建为空间像素阵列,其中取决于所用的取样结构、色彩空间等,每个像素可包括一个或多个采样。所属领域的技术人员可以很容易理解像素与采样之间的关系。下文侧重于描述采样。
根据实施例,视频编码器(503)可实时或在由应用所要求的任何其它时间约束下将源视频序列的图像编码且压缩成已编码视频序列(543)。施行适当的编码速度是控制器(550)的一个功能。在一些实施例中,控制器(550)控制如下文所描述的其它功能单元且在功能上耦合到这些功能单元。为了简洁起见,未图示耦合。由控制器(550)设置的参数可包括速率控制相关参数(图像跳过、量化器、率失真优化技术的λ值等)、图像大小、图像群组(group of pictures,GOP)布局,最大运动矢量搜索范围等。控制器(550)可用于具有其它合适的功能,这些功能涉及针对某一系统设计优化的视频编码器(503)。
在一些实施例中,视频编码器(503)用于在编码环路中操作。作为简单的描述,一个实施例中,编码环路可包括源编码器(530)(例如,负责基于待编码的输入图像和参考图像创建符号,例如符号流)和嵌入于视频编码器(503)中的(本地)解码器(533)。解码器(533)以类似于(远程)解码器创建采样数据的方式重建符号,以创建采样数据(因为在所公开主题中所考虑的视频压缩技术中,符号与已编码视频码流之间的任何压缩是无损的)。将重建的采样流(采样数据)输入到参考图像存储器(534)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图像存储器(534)中的内容在本地编码器与远程编码器之间也是精确到比特位的。换句话说,编码器的预测部分“看到”的参考图像采样与解码器将在解码期间使用预测时所“看到”的采样值完全相同。这种参考图像同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)也用于一些相关技术。
“本地”解码器(533)的操作可与例如已在上文结合图4详细描述视频解码器(410)的“远程”解码器相同。然而,另外简要参考图4,当符号可用且熵编码器(545)和解析器(420)能够无损地将符号编码/解码为已编码视频序列时,包括缓冲存储器(415)和解析器(420)在内的视频解码器(410)的熵解码部分可能无法完全在本地解码器(533)中实施。
此时可以观测到,除存在于解码器中的解析/熵解码之外的任何解码器技术也必定以基本上相同的功能形式存在于对应的编码器中。出于此原因,所公开的主题侧重于解码器操作。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。仅在某些区域中需要更详细的描述,并且在下文提供。
在操作期间,在一些实施例中,源编码器(530)可执行运动补偿预测编码。参考来自视频序列中被指定为“参考图像”的一个或多个先前已编码图像,所述运动补偿预测编码对输入图像进行预测编码。以此方式,编码引擎(532)对输入图像的像素块与参考图像的像素块之间的差异进行编码,所述参考图像可被选作所述输入图像的预测参考。
本地视频解码器(533)可基于源编码器(530)创建的符号对可指定为参考图像的图像的已编码视频数据进行解码。有利地,编码引擎(532)的操作可为有损过程。当已编码视频数据可在视频解码器(图5中未示出)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器(533)重复解码过程,所述解码过程可由视频解码器对参考图像执行,且可使重建的参考图像存储在参考图像高速缓存(534)中。以此方式,视频编码器(503)可在本地存储重建的参考图像的副本,所述副本与将由远端视频解码器获得的重建参考图像具有共同内容(不存在传输误差)。
预测器(535)可针对编码引擎(532)执行预测搜索。即,对于要编码的新图像,预测器(535)可在参考图像存储器(534)中搜索可作为新图像的适当预测参考的采样数据(作为候选参考像素块)或某些元数据,例如参考图像运动矢量、块形状等。预测器(535)可基于采样块逐像素块而操作,以找到合适的预测参考。在一些情况下,根据预测器(535)获得的搜索结果,可确定输入图像可具有从参考图像存储器(534)中存储的多个参考图像取得的预测参考。
控制器(550)可管理源编码器(530)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。
可在熵编码器(545)中对所有上述功能单元的输出进行熵编码。熵编码器(545)根据例如霍夫曼编码、可变长度编码、算术编码等技术对各种功能单元生成的符号进行无损压缩,从而将所述符号转换成已编码视频序列。
传输器(540)可缓冲由熵编码器(545)创建的已编码视频序列以为通过通信信道(560)进行传输做准备,所述通信信道可以是通向将存储已编码的视频数据的存储装置的硬件/软件链路。传输器(540)可将来自视频编码器(503)的已编码视频数据与要传输的其它数据合并,所述其它数据例如已编码音频数据和/或辅助数据流(未示出来源)。
控制器(550)可管理视频编码器(503)的操作。在编码期间,控制器(550)可以为每个已编码图像分配某一已编码图像类型,这可能影响可应用于相应的图像的编码技术。例如,通常可将图像分配为以下一种图像类型:
帧内图像(I图像)可以是不将序列中的任何其它图像用作预测源就可被编码和解码的图像。一些视频编解码器容许不同类型的帧内图像,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图像。所属领域的技术人员了解I图像的那些变体及其变体相应的应用和特征。
预测性图像(P图像)可以是可使用帧内预测或帧间预测进行编码和解码的图像,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的采样值。
双向预测性图像(B图像)可以是可使用帧内预测或帧间预测进行编码和解码的图像,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的采样值。类似地,多个预测性图像可使用多于两个参考图像和相关联元数据以用于重建单个块。
源图像通常可在空间上细分成多个采样块(例如,各自4×4、8×8、4×8或16×16个采样的块)且在逐块基础上进行编码。块可参考其它(已编码)块进行预测编码,根据应用于块的相应图像的编码分配来确定所述其它块。举例来说,I图像的块可进行非预测编码,或所述块可参考同一图像的已经编码的块来进行预测编码(空间预测或帧内预测)。P图像的像素块可参考一个先前编码的参考图像通过空间预测或通过时间预测进行预测编码。B图像的块可参考一个或两个先前编码的参考图像通过空间预测或通过时间预测进行预测编码。
视频编码器(503)可根据例如ITU-TH.265建议书的预定视频编码技术或标准执行编码操作。在操作中,视频编码器(503)可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。
一个实施例中,传输器(540)可传输额外数据和已编码的视频。源编码器(530)可将此类数据作为已编码视频序列的一部分。额外数据可包括时间/空间/SNR增强层、冗余图像和切片等其它形式的冗余数据、SEI消息、VUI参数集片段等。
可将采集到的视频作为呈时间序列的多个源图像(视频图像)。帧内图像预测(常常简化为帧内预测)利用给定图像中的空间相关性,而帧间图像预测利用图像之间的(时间或其它)相关性。一个实施例中,将正在编码/解码的特定图像分割成块,正在编码/解码的特定图像被称作当前图像。在当前图像中的块类似于视频中先前已编码且仍被缓冲的参考图像中的参考块时,可通过称作运动矢量的矢量对当前图像中的块可通过称作运动矢量的矢量进行编码。所述运动矢量指向参考图像中的参考块,且在使用多个参考图像的情况下,所述运动矢量可具有识别参考图像的第三维度。
在一些实施例中,双向预测技术可用于帧间图像预测中。根据双向预测技术,使用两个参考图像,例如第一参考图像和第二参考图像,所述参考图像按解码次序都在视频中的当前图像之前(但按显示次序可能分别是过去和将来)。可通过指向第一参考图像中的第一参考块的第一运动矢量和指向第二参考图像中的第二参考块的第二运动矢量对当前图像中的块进行编码。可通过第一参考块和第二参考块的组合来预测所述块。
此外,合并模式技术可用于帧间图像预测中以改善编码效率。
根据本公开的一些实施例,帧间图像预测和帧内图像预测等预测的执行以块为单位。举例来说,根据HEVC标准,将视频图像序列中的图像分割成编码树单元(coding treeunit,CTU)以用于压缩,图像中的CTU具有相同大小,例如64×64像素、32×32像素或16×16像素。一般来说,CTU包括三个编码树块(coding tree block,CTB),所述三个编码树块是一个亮度CTB和两个色度CTB。可进一步将每个CTU四叉树拆分为一个或多个编码单元(codingunit,CU)。举例来说,可将64×64像素的CTU拆分为一个64×64像素的CU,或4个32×32像素的CU,或16个16×16像素的CU。一个实施例中,分析每个CU以确定用于CU的预测类型,例如帧间预测类型或帧内预测类型。取决于时间和/或空间可预测性,将CU拆分为一个或多个预测单元(prediction unit,PU)。通常,每个PU包括亮度预测块(prediction block,PB)和两个色度PB。一个实施例中,编码(编码/解码)中的预测操作以预测块为单位来执行。将亮度预测块作为预测块的实施例,预测块包括像素值(例如,亮度值)的矩阵,例如8×8像素、16×16像素、8×16像素、16×8像素等。
图6是根据本公开的另一实施例的视频编码器(603)的图。视频编码器(603)用于接收视频图像序列中的当前视频图像内的采样值的处理块(例如预测块),且将所述处理块编码到作为已编码视频序列的一部分的已编码图像中。一个实施例中,视频编码器(603)用于代替图3实施例中的视频编码器(303)。
在HEVC实施例中,视频编码器(603)接收用于处理块的采样值的矩阵,所述处理块为例如8×8采样的预测块等。视频编码器(603)使用例如率失真优化来确定是否使用帧内模式、帧间模式或双向预测模式来编码所述处理块。当在帧内模式中编码处理块时,视频编码器(603)可使用帧内预测技术以将处理块编码到已编码图像中;且当在帧间模式或双向预测模式中编码处理块时,视频编码器(603)可分别使用帧间预测或双向预测技术将处理块编码到已编码图像中。在某些视频编码技术中,合并模式可以是帧间图像预测子模式,其中在不借助预测值外部的已编码运动矢量分量的情况下,从一个或多个运动矢量预测值推导出运动矢量。在某些其它视频编码技术中,可存在适用于主题块的运动矢量分量。一个实施例中,视频编码器(603)包括其它组件,例如用于确定处理块的模式的模式决策模块(未示出)。
在图6的实施例中,视频编码器(603)包括如图6所示耦合到一起的帧间编码器(630)、帧内编码器(622)、残差计算器(623)、开关(626)、残差编码器(624)、通用控制器(621)和熵编码器(625)。
帧间编码器(630)用于接收当前块(例如处理块)的采样、比较所述块与参考图像中的一个或多个参考块(例如先前图像和后来图像中的块)、生成帧间预测信息(例如根据帧间编码技术的冗余信息描述、运动矢量、合并模式信息)以及基于帧间预测信息使用任何合适的技术计算帧间预测结果(例如预测的块)。在一些实施例中,参考图像是基于已编码的视频信息解码的已解码参考图像。
帧内编码器(622)用于接收当前块(例如处理块)的采样、在一些情况下比较所述块与同一图像中已经编码的块、在变换之后生成量化的系数、以及在一些情况下还(例如根据一个或多个帧内编码技术的帧内预测方向信息)生成帧内预测信息。一个实施例中,帧内编码器(622)还基于帧内预测信息和同一图像中的参考块计算帧内预测结果(例如预测的块)。
通用控制器(621)用于确定通用控制数据且基于所述通用控制数据控制视频编码器(603)的其它组件。一个实施例中,通用控制器(621)确定块的模式,且基于所述模式将控制信号提供到开关(626)。举例来说,当所述模式是帧内模式时,通用控制器(621)控制开关(626)以选择供残差计算器(623)使用的帧内模式结果,且控制熵编码器(625)以选择帧内预测信息且将所述帧内预测信息添加在码流中;以及当所述模式是帧间模式时,通用控制器(621)控制开关(626)以选择供残差计算器(623)使用的帧间预测结果,且控制熵编码器(625)以选择帧间预测信息且将所述帧间预测信息添加在码流中。
残差计算器(623)用于计算所接收的块与选自帧内编码器(622)或帧间编码器(630)的预测结果之间的差异(残差数据)。残差编码器(624)用于基于残差数据操作以对残差数据进行编码以生成变换系数。一个实施例中,残差编码器(624)用于将残差数据从空间域转换到频域,且生成变换系数。变换系数接着经由量化处理以获得量化的变换系数。在各种实施例中,视频编码器(603)还包括残差解码器(628)。残差解码器(628)用于执行逆变换,且生成已解码残差数据。已解码残差数据可适当地由帧内编码器(622)和帧间编码器(630)使用。举例来说,帧间编码器(630)可基于已解码残差数据和帧间预测信息生成已解码块,且帧内编码器(622)可基于已解码残差数据和帧内预测信息生成已解码块。适当处理已解码块以生成已解码图像,且在一些实施例中,所述已解码图像可在存储器电路(未示出)中缓冲并用作参考图像。
熵编码器(625)用于将码流格式化以产生已编码的块。熵编码器(625)根据HEVC标准等合适标准产生各种信息。一个实施例中,熵编码器(625)用于包括通用控制数据、所选预测信息(例如帧内预测信息或帧间预测信息)、残差信息和码流中的其它合适的信息。应注意,根据所公开的主题,当在帧间模式或双向预测模式的合并子模式中对块进行编码时,不存在残差信息。
图7是根据本公开的另一实施例的视频解码器(710)的图。视频解码器(710)用于接收作为已编码视频序列的部分的已编码图像,且对所述已编码图像进行解码以生成重建的图像。一个实施例中,视频解码器(710)用于代替图3实施例中的视频解码器(310)。
在图7实施例中,视频解码器(710)包括如图7中所示耦合到一起的熵解码器(771)、帧间解码器(780)、残差解码器(773)、重建模块(774)和帧内解码器(772)。
熵解码器(771)可用于根据已编码图像来重建某些符号,这些符号表示构成所述已编码图像的语法元素。此类符号可包括例如块被编码的模式(例如帧内模式、帧间模式、双向预测模式、后两者的合并子模式或另一子模式)、可分别识别供帧内解码器(772)或帧间解码器(780)用以进行预测的某些采样或元数据的预测信息(例如帧内预测信息或帧间预测信息)、呈例如量化的变换系数形式的残差信息等。一个实施例中,当预测模式是帧间预测模式或双向预测模式时,将帧间预测信息提供到帧间解码器(780);以及当预测类型是帧内预测类型时,将帧内预测信息提供到帧内解码器(772)。残差信息可经由逆量化而提供到残差解码器(773)。
帧间解码器(780)用于接收帧间预测信息,且基于所述帧间预测信息生成帧间预测结果。
帧内解码器(772)用于接收帧内预测信息,且基于所述帧内预测信息生成预测结果。
残差解码器(773)用于执行逆量化以提取解量化的变换系数,且处理所述解量化的变换系数以将残差从频域转换到空间域。残差解码器(773)还可能需要某些控制信息(以包括量化器参数(Quantizer Parameter,QP)),且所述信息可由熵解码器(771)提供(未图示数据路径,因为这是低量控制信息)。
重建模块(774)用于在空间域中组合由残差解码器(773)输出的残差与预测结果(如视情况而定可由帧间预测模块或帧内预测模块输出)以形成重建的块,所述重建的块可以是重建的图像的一部分,所述重建的图像继而可以是重建的视频的一部分。应注意,可执行解块操作等其它合适的操作,以改善视觉质量。
应注意,可使用任何合适的技术来实施视频编码器(303)、视频编码器(503)和视频编码器(603)以及视频解码器(310)、视频解码器(410)和视频解码器(710)。一个实施例中,可使用一个或多个集成电路来实施视频编码器(303)、视频编码器(503)和视频编码器(603)以及视频解码器(310)、视频解码器(410)和视频解码器(710)。在另一实施例中,可使用执行软件指令的一个或多个处理器来实施视频编码器(303)、视频编码器(503)和视频编码器(603)以及视频解码器(310)、视频解码器(410)和视频解码器(710)。
本公开的各方面涉及视频编解码中的帧间预测,诸如将DMVR应用于基于子块的帧间预测的方法。
在各实施例中,对于帧间预测的CU,运动参数,包括运动矢量、参考图像索引、参考图像列表使用索引和/或其它另外的信息,可以用于生成帧间预测的样本。帧间预测可以包括单向预测、双向预测等。在单向预测中,可以使用参考图像列表(例如,第一参考图像列表或列表0(L0)、第二参考图像列表或列表1(L1))。在双向预测中,可以使用L0和L1两者。参考图像列表使用索引可以指示一个或多个参考图像列表包括L0、L1、或L0和L1。
可以以显式或隐式的方式用信号表示运动参数。当以跳过模式对CU进行编解码时,所述CU可以与一个PU相关联,并且可以不具有显著的残差系数(例如,残差系数为零)、没有已编码的运动矢量差(motion vector difference,MVD)、或者没有参考图像索引。
可以使用合并模式,其中可以从多个相邻CU获得当前CU的多个运动参数,包括空间和时间合并候选块,以及可选地,其它合并候选块。合并模式可以应用于帧间预测的CU,并且可以用于跳过模式。或者,可以显式传输或用信号表示多个运动参数。例如,可以针对每个CU显式地用信号表示多个运动矢量、每个参考图像列表的相应参考图像索引、参考图像列表使用标志以及其它信息。
在一些示例中,使用以下帧间预测编码工具中的一个或多个:(1)扩展合并预测;(2)具有运动矢量差的合并模式(merge mode with motion vector difference,MMVD);(3)具有对称的MVD信令的高级运动矢量预测(advanced motion vector prediction,AMVP)模式;(4)仿射运动补偿预测;(5)基于子块的时间运动矢量预测(SbTMVP);(6)自适应运动矢量分辨率(adaptive motion vector resolution,AMVR);(7)具有加权平均的双向预测(bi-prediction with weighted averaging,BWA);(8)双向光流(bi-directionaloptical flow,BDOF);(9)解码器侧运动矢量修正(DMVR);(10)三角形分区预测;以及(11)组合帧间和帧内预测(combined inter and intra prediction,CIIP)。
一个实施例中,可在视频编解码中使用基于子块的时间运动矢量预测(SbTMVP)方法。类似于(例如,在HEVC中使用的)时间运动矢量预测(temporal motion vectorprediction,TMVP),SbTMVP可以使用位置相同的图像中的运动场来改善当前图像中的CU的MVP和合并模式。在TMVP使用的位置相同的图像可以用于SbTMVP。
SbTMVP在以下方面中可不同于TMVP。(i)TMVP可以预测CU级(例如,CB级、块级)的运动信息(例如,MV),而SbTMVP可以预测子CU级(例如,子CB级、子块级)的运动信息(例如,MV)。(ii)TMVP可以从位置相同的图像中的位置相同的块(例如,所述位置相同的块是相对于当前CU的右下角或中心块)获得时间运动信息(例如,时间MV)。SbTMVP可在从位置相同的图像获得时间运动信息之前应用运动位移,其中,可以从当前CU的多个空间相邻块中的一个空间相邻块的MV获得运动位移。
图8A至图8C示出了一个实施例的SbTMVP方法的示例。图8A示出了当前CU(811)和当前CU(811)的空间相邻块A0、A1、B0和B1。在一些示例中,空间相邻块(或空间邻居)A0、A1、B0和B1以及当前CU(811)在当前图像(810)中。一个示例中,当前图像(810)对应于位置相同的图像(860)。
参考图8A至图8B,SbTMVP可以分两步预测当前CU(811)中多个子CU的MV。一个示例中,在第一步骤中,检查空间相邻块A1。如果空间相邻块A1具有使用与当前图像(810)的位置相同的图像(860)作为参考图像的MV(例如,MV(822)),则所述MV(822)可以用于执行运动位移。一个示例中,可以顺序地检查空间相邻块A1、B1、B0和A0。一旦识别出第一空间相邻块(例如,A1)具有使用当前图像(810)的位置相同的图像(860)作为参考图像的MV(例如,MV(822)),则所述MV(822)可以用于执行运动位移。一个示例中,MV(822)指向参考图像(860)中的参考块AR1。如果没有此类MV是可用的,例如空间相邻块A1、B1、B0和A0中没有此类MV,则可以将运动位移设置为(0,0)。
在第二步骤中,可以使用第一步骤中识别的运动位移(例如,MV(822))(例如,可以在当前CU(811)的坐标上加上运动位移),从而从如图8B示出的位置相同的图像(860)获得子CU级运动信息(例如,运动矢量和对应的参考索引)。参考图8B,运动位移可以被设置为A1的MV(822)。因此,对于当前CU(811)中的每个子CU,位置相同的图像(860)中的对应块(例如,覆盖中心样本的最小运动网格)的运动信息(也称为参考运动信息)可以用于得出当前CU(811)中的子CU的运动信息。在识别出位置相同的的子CU的参考运动信息(例如,MRa)之后,参考运动信息(例如,MRa)可以例如以与HEVC的TMVP过程类似的方式被转换成当前子CU的运动信息(例如,包括运动矢量和参考索引的MVa),其中可以应用时间运动缩放将时间运动矢量的参考图像与当前CU(811)的参考图像对齐。
在图8B中,位置相同的图像(860)中的参考CU(861)可以包括具有参考运动信息MRa-MRp的16个子CU。参考CU(861)中的16个子CU中的每一个子CU都可以对应于覆盖该子CU的中心样本的最小运动网格。参考运动信息可以包括运动矢量和对应的参考索引。当前CU(811)可以包括16个子CU,并且当前CU(811)中的子CU的运动信息MVa-MVp可以以类似于TMVP过程的方式,一些示例中还进行时间缩放,基于相应的参考运动信息MRa-MRp得出。
图8C示出了根据本公开的实施例的参考运动信息MRa-MRp和运动信息MVa-MVp的示例。参考运动信息MRa-MRp可以包括基于L0和/或L1的运动信息。运动信息MVa-MVp可以包括基于L0和/或L1的运动信息。在位置相同的图像(860)中,参考运动信息(例如,MRa、MRd、MRg、MRi、MRk和MRo)可以基于L1(例如,粗体箭头)和L0(非粗体箭头)。其余的参考运动信息(例如,MRb等)可以基于L0(非粗体箭头)。相应地,在当前图像(810)中,运动信息(例如,MVa、MVd、MVg、MVi、MVk和MVo)可以基于L1(例如,带虚线的粗体箭头)和L0(带虚线的非粗体箭头)。其余的运动信息(例如,MVb等)可以基于L0(带虚线的非粗体箭头)
SbTMVP过程中使用的子CU大小可以是固定的(或者以其它方式预先确定的,例如8x8个样本)或用信号表示。在一些示例中,SbTMVP过程仅适用于宽度和高度等于或大于8个样本的CU(例如,块、编码块)。
一个示例中,包括SbTMVP候选子块和仿射合并候选子块的基于组合子块的合并列表可以用于以信号表示基于子块的合并模式。可以通过序列参数组(sequence parameterset,SPS)标志来启用或禁用SbTMVP模式。在一些示例中,如果启用SbTMVP模式,则将SbTMVP候选子块(也称为SbTMVP预测器)添加为基于子块的合并候选列表(例如,基于组合子块的合并列表)的第一条目,并且随后是一个或多个仿射合并候选子块。在一些实施例中,在SPS中用信号表示基于子块的合并列表的大小,并且将基于子块的合并列表的最大允许大小设置为五。然而,在其它实施例中可以利用其它大小。
在一些实施例中,另外的SbTMVP合并候选子块的编码逻辑与其它合并候选子块的编码逻辑相同。例如,对于P条带或B条带中的每个CU,可以执行另外的速率失真检查以确定是否使用该SbTMVP候选子块。
根据本公开的一些方面,在帧间预测中使用被称为双向光流(BDOF)模式的运动修正技术。在一些示例中,BDOF也被称为BIO。BDOF可以用于在4x4子块级修正CU的双向预测信号。当CU满足某些条件时,可以将BDOF应用于CU。一个示例中,这些条件包括:(i)CU的高度不是4,CU的大小不是4x8;(ii)CU没有使用仿射模式或ATMVP合并模式编解码;(iii)CU使用“真”双向预测模式编解码,例如,按照显示顺序,两个参考图像中的一个参考图像先于当前图像,另一个参考图像在当前图像之后。在一些示例中,BDOF仅应用于亮度分量。一个示例中,这些条件包括:(i)CU使用“真”双向预测模式编解码,例如,按照显示顺序,两个参考图像中的一个参考图像在当前图像之前,另一个参考图像在当前图像之后;(ii)两个参考图像到当前图像的距离(即,POC差)相同;(iii)两个参考图像是短期参考图像;(iv)CU不使用仿射模式或ATMVP合并模式编解码;(v)CU具有超过64个亮度样本;(vi)CU高度和CU宽度大于或等于8个亮度样本;(vii)具有CU权重的双向预测(bi-prediction with CU weight,BCW)索引指示同量加权;(viii)当前CU不启用加权预测(weighted prediction,WP);以及(ix)当前CU不使用CIIP模式。
一个实施例中,BDOF模式仅应用于亮度分量。BDOF模式中的运动修正基于光流概念,假设对象的运动是平滑的。针对每个4x4子块(例如,图9中的CU(910)中的子块(920)),通过最小化预测样本L0和L1之间的差异来计算运动修正(Δmvx,Δmvy)。然后利用运动修正来调整4x4子块(例如,子块(920))中的多个双向预测样本值。在BDOF过程中应用以下步骤。
首先,通过直接计算两个相邻样本之间的差来计算两个预测信号的水平梯
Figure BDA0002635853130000191
其中I(k)(i,j)是列表k中预测信号的坐标(i,j)处的样本值,k=0,1,并且参数shift1是基于亮度比特深度bitDepth计算的。一个示例中,shift1=max(6,bitDepth-6)。在一些示例中,shift1等于2和(14-bitDepth)中的最大值。一个示例中,等式1中的计算可以适用于等式2-3中的计算。
Figure BDA0002635853130000192
Figure BDA0002635853130000193
一个示例中,梯度S1、S2、S3、S5和S6的自相关和互相关的计算方法如下。
Figure BDA0002635853130000194
其中
Figure BDA0002635853130000195
Ω是围绕4x4子块(例如,子块(920))的6x6窗口(例如,(940)),na和nb值被设置为分别等于min(5,bitDepth-7)和min(8,bitDepth-4)。
一个示例中,梯度S1、S2、S3、S5和S6的自相关和互相关使用如下等式6计算。
Figure BDA0002635853130000201
其中Ω是围绕4x4子块(例如,子块(920))的6x6窗口(例如,(940)),并且值na和nb被设置为分别等于min(1,bitDepth-11)和min(4,bitDepth-8)。
可以使用自相关和互相关按照下面的等式来得出运动修正或MVR(Δmvx,Δmvy)。
Figure BDA0002635853130000202
Figure BDA0002635853130000203
其中
Figure BDA0002635853130000204
Figure BDA0002635853130000205
是向下取整函数,并且
Figure BDA0002635853130000206
一个示例中,th′BIO=2max(5,BD-7)。一个示例中,th′BIO=213-BD
针对4x4子块中的每个样本,可以基于运动修正和梯度计算以下调整(或预测修正)b(x,y):
Figure BDA0002635853130000207
一个示例中,上面在等式9中的计算可以调整为等式10中的计算。
Figure BDA0002635853130000208
其中函数“rnd”表示舍入运算。
可以通过如下调整双向预测样本来计算CU的BDOF样本:
predBDOF(x,y)=(I(0)(x,y)+I(1)(x,y)+b(x,y)+ooffset)>>shift (等式11)
一个实施例中,选择所述值,使得BDOF过程中的乘法器不超过15比特,并且BDOF过程中中间参数的最大比特宽度保持在32比特以内。
一个示例中,为了得出梯度值,将生成在当前CU边界之外的列表k(k=0,1)中的预测样本I(k)(i,j)。参考图9,BDOF(例如,在VVC中)可使用在CU(910)的边界周围的一个扩展行/列。为了控制生成边界外预测样本(例如,样本(930)的预测或预测样本(930))的计算复杂度,可以在不进行插值的情况下通过直接获取附近整数位置的参考样本(例如,使用坐标的向下取整运算)来生成扩展区域(图9中带有花纹的区域)中的预测样本。一个示例中,使用8抽头运动补偿插值滤波器(也称为8抽头插值滤波器)来在CU(910)(白色位置)内生成预测样本。在图9示出的示例中,CU(910)包括8x8个样本。一个示例中,仅在梯度计算中使用扩展样本值。如上所述,梯度计算可以使用等式1或等式2-3。
参考图9,对于BDOF过程中的其余步骤(例如,等式4-6),如果使用CU边界外的一个或多个预测样本和一个或多个梯度值,则可以从如图中箭头9所示的相应的最近邻居开始填充(例如,重复)所述CU边界外的一个或多个预测样本和一个或多个梯度值。例如,可以从(921)处的相应预测样本和梯度值开始填充(930)处的预测样本和梯度值。
根据本公开的一个方面,解码器侧运动矢量修正(decoder side motion vectorrefinement,DMVR)可以用于根据起始点改善/修正合并模式中MV的精度。
图10示出了基于双边模板匹配的DMVR的示例。当前块(1011)在当前图像(1010)中。初始MV(例如,MV0和MV1)分别指参考图像列表L0中的参考图像(1020)中的参考块(1022)和参考图像列表L1中的参考图像(1030)中的参考块(1032)。
在一些示例中,可以应用基于双边匹配(bilateral matching,BM)的DMVR来增加合并模式的运动矢量的精度。在双向预测运算中,可在参考图像列表L0和参考图像列表L1中的初始MV(例如,MV0和MV1)周围搜索一个或多个已修正的MV,并且分别产生修正的参考块(或候选块)(1021)和(1031)。双边匹配方法基于参考图像列表L0和列表L1中的两个候选块(1021)和(1031)来计算失真。
一个示例中,基于初始MV(例如,MV0和MV1)周围的各个MV候选(例如,MV0’和MV1’)参考的候选块(1021)和(1031)来计算绝对差和(sum of absolute differences,SAD)。具有最低SAD的MV候选可以是一个或多个已修正的MV,并且用于生成双向预测信号。
初始MV和MV候选之间的关系可以如下列等式12至13所述。
MV0′=MV0+MVdiff (等式12)
MV1′=MV1-MVdiff (等式13)
其中MVdiff表示候选MV与所述多个参考图像中的一个参考图像中的初始MV之间的运动矢量差。
在一些示例中,DMVR应用于按照特定模式要求编解码的CU。例如,模式要求包括以下中的一项或多项:(1)可以将DMVR应用于具有双向预测MV的CU级合并模式中的多个CU;(2)不使用MMVD模式;(3)不使用CIIP模式;(4)对于当前图像,一个参考图像在过去,另一个参考图像在未来;(5)从两个参考图像到当前图像的距离(例如,图像顺序计数(pictureorder count,POC)之差)是相同的;以及(6)所述CU具有至少128个亮度样本,并且所述CU的宽度和高度大于或等于8个亮度样本。
由DMVR过程得出的一个或多个已修正MV可以用于生成多个帧间预测样本,并且还可以用于未来图像编解码的时间运动矢量预测。尽管一个或多个原始MV(例如,一个或多个初始MV)可用在解块过程中,并且还可以用于未来CU编解码的空间运动矢量预测中。
一个实施例中,可在帧间预测中使用具有加权平均(BWA)的双向预测。在示例(例如,HEVC)中,可以通过对从两个不同的参考图像获得的两个预测信号进行平均和/或使用两个不同的运动矢量来生成双向预测信号。双向预测模式可以扩展为不限于简单平均,从而允许对两个预测信号进行加权平均,因此可以称为广义双向预测(generalized bi-prediction,GBi)。以下在等式14中示出双向预测BWA的示例。P0和P1是两个预测信号,w是权重,Pbi-pred是加权平均。
Pbi-pred=((8-w)*P0+w*P1+4)>>3 (等式14)
在BWA中可以使用任何合适的权重。一个示例中,在加权平均双向预测中允许五个权重,例如,w∈{-2,3,4,5,10}。针对每个双向预测的CU,权重w可以通过以下两种方式之一确定:(1)对于未合并的CU,可在运动矢量差之后用信号表示权重索引;(2)对于已合并的CU,可以基于合并候选索引从相邻块推导得到权重索引。一个示例中,加权平均双向预测仅应用于具有256个或更多个亮度样本的CU(例如,CU宽度乘以CU高度大于或等于256)。对于低延迟图像,可以使用上述五个权重。对于非低延迟图像,可以使用三个权重(例如,w∈{3,4,5})。
加权预测(weighted prediction,WP)是可以用于对具有褪色的视频内容进行高效地编解码的编解码工具。WP可以允许用信号表示参考图像列表L0和L1中的每个列表中的每个参考图像的加权参数(例如,权重和偏移)。在运动补偿期间,可以应用一个或多个对应参考图像的一个或多个权重和一个或多个偏移。
WP和BWA可以用于不同类型的视频内容。在一些示例中,WP和BWA之间的交互可能使解码器设计复杂化。因此,如果CU使用WP,则可以不用信号表示BWA权重索引,并且权重w可以被推断为4(例如,使用同量加权)。
下面描述应用BDOF的示例性条件。对于BDOF,可以考虑显式加权预测的GBi和加权标志两者。图11示出了将BDOF应用于编码块的一组示例性条件(在表1中)。
在一些示例中,当满足一组DMVR条件(或应用DMVR的条件)时,可以将DMVR应用于块。在一些示例中,所述一组DMVR条件可以包括加权预测加权因子(或权重)。例如,对于BCW权重索引或GBi索引不是“DEFAULT”的块,可以不使用同量加权,因此不执行DMVR。一个示例中,对于其中显式加权预测的加权标志不为零的块,不执行DMVR。
在图12中,表2示出了应用DMVR的一组示例性的DMVR条件,称为第一组DMVR条件。可以将第一组DMVR条件应用于一个块,并且可以将其称为第一组块级DMVR条件。例如,针对所述块,下面给出条件(1210):如果标志(例如,Merge_subblock_flag)指示所述块没有采用基于子块的合并模式(例如,Merge_subblock_flag等于0),则所述块可以使用DMVR或者可以将DMVR应用于所述块。否则,如果所述标志指示所述块采用基于子块的合并模式(例如,Merge_subblock_flag等于1),则所述块不能使用DMVR或DMVR不适用于所述块。基于子块的合并模式可以指仿射合并模式、SbTMVP模式或基于子块的任何合适的合并模式。
表2中的所述一组DMVR条件不允许将DMVR应用于以基于子块的合并模式编解码的块。
根据本公开的各方面,当以SbTMVP模式对块进行编解码时,将DMVR应用于块中有条件的子块可以改善编解码性能。例如,将DMVR有条件地应用于所述块中的多个子块中的一个或多个子块。因此,可以改善子块MV的精度,并且可以改善编解码性能。
对于用基于子块的帧间预测模式编解码的块,可以将DMVR应用于所述块中的多个子块中的一个或多个子块。当基于子块的帧间预测模式是一种或多种特定模式类型中的一种时,则不允许DMVR。例如,仿射预测模式不允许应用DMVR。基于子块的帧间预测模式可以是SbTMVP模式。一个实施例中,至少根据基于子块的帧间预测模式的模式类型来确定DMVR是否可以应用于多个子块中的一个子块。
在一些示例中,除了基于子块的合并模式的模式类型之外,还检查一个或多个其它条件以确定DMVR是否可以应用于多个子块中的一个子块。一个或多个其它条件可以包括块的一对镜像参考图像是否可用,其中所述当前图像位于所述一对镜像参考图像之间。例如,所述一对镜像参考图像处于距包括所述块的当前图像相等的距离处,所述一对图像中的一个图像在当前图像之前,而所述一对图像中的另一个图像在当前图像之后。一个或多个其它条件还可以包括对于包括所述块的多个块是否禁用DMVR。可以使用高级标志(例如,序列级标志、图像级标志、条带级标志、图块级标志、图块组级标志)来指示在与多个块相关联的高级别是否禁用DMVR。所述高级别可以是序列级、图像级、条带级、图块级、图块组级等,并且因此多个块可以包括在序列、图像、条带、图块、图块组等中。
一个示例中,当基于子块的帧间预测模式(例如,SbTMVP模式)不是仿射预测模式(例如,仿射合并模式)时,还可以针对每个子块检查一组DMVR条件以确定DMVR是否可以应用于所述子块。当多个子块中的一个子块满足所述一组DMVR条件时,可以将DMVR应用于该多个子块中的一个子块。因此,可以根据基于子块的帧间预测模式和DMVR来重建该多个子块中的一个子块。
一个示例中,首先检查所述块的所述一对镜像参考图像是否可用。随后,当确定所述块的所述一对镜像参考图像可用时,还可以检查其它条件。一个示例中,如上文所描述的,当基于子块的帧间预测模式是SbTMVP模式时,还可以针对每个子块检查所述一组DMVR条件,以确定DMVR是否可以应用于所述子块。
一个示例中,首先检查DMVR是否在高级被禁用。例如,如果高级标志(例如,图像级标志)指示在高级(例如,图像级)禁用DMVR,则针对当前图像中的多个块禁用DMVR,并且因此针对所述块禁用DMVR。否则,不针对高级(或当前图像中的多个块)禁用DMVR。随后,当确定DMVR在高级别未被禁用时,还可以检查其它条件。所述其它条件可以包括基于子块的帧间预测模式的模式类型、所述一对镜像参考图像对于所述块是否可用、和/或每个子块是否满足所述一组DMVR条件。
根据本公开的各方面,可以基于所使用的基于子块的帧间预测模式的模式类型将DMVR应用于一个块或多个子块中的多个子块的子集。例如,对于用基于子块的合并模式编解码的块,可以将DMVR应用于所述块或多个子块中的多个子块的子集。基于子块的合并模式可以是SbTMVP模式。一个示例中,基于子块的合并模式不是仿射合并模式。
根据本发明的各方面,可以从已编码的视频比特流中解码出当前图像中的块的预测信息。所述预测信息可以指示所述块中的多个子块的基于子块的合并模式。可以至少根据基于子块的合并模式的模式类型来确定是否将DMVR应用于多个子块中的一个子块。响应于确定将DMVR应用于多个子块中的一个子块,可以根据具有DMVR的基于子块的合并模式来重建多个子块中的一个子块。一个示例中,基于子块的合并模式不是仿射合并模式。一个示例中,基于子块的合并模式是SbTMVP模式。
根据本发明的各方面,一种视频解码的装置可以包括:解码模块,用于从已编码的视频比特流中解码出当前图像中的块的预测信息;确定模块,用于至少根据基于子块的合并模式的模式类型来确定是否将DMVR应用于多个子块中的一个子块;重建模块,用于响应于确定将DMVR应用于所述子块,根据具有DMVR的基于子块的合并模式来重建所述子块。
根据本公开的方面,可以至少部分地根据基于子块的合并模式是SbTMVP而将DMVR应用于多个子块中的一个子块。一个实施例中,允许将SbTMVP模式与DMVR组合。因此,可以将SbTMVP模式和DMVR应用于所述块。
图13示出了表3中的一组示例性块级DMVR条件(也称为第二组块级DMVR条件)。可以通过修改表2中示出的第一组块级DMVR条件来获得表3中的第二组块级DMVR条件。表3中的第二组块级DMVR条件示出,当基于子块的合并模式不是仿射合并模式时,可以将DMVR应用于所述块。因此,可以将SbTMVP模式和DMVR应用于所述块。
表2(图12)中的第一组块级DMVR条件与表3(图13)中的第二组块级DMVR条件之间的差异在于,表2中的条件(1210)替换为表3中的条件(1310)。在第一组块级DMVR条件中,如由条件(1210)所示,DMVR不应用于用任何基于子块的合并模式(例如,仿射合并模式、SbTMVP模式等)编解码的块。因此,一个示例中,DMVR不适用于该块中的子块。在第二组块级DMVR条件中,条件(1310)指示如果用基于子块的合并模式的特定模式类型(在这个示例中是仿射合并模式)对所述块进行编解码,则可以不应用DMVR。如果未使用仿射合并模式对所述块进行编解码,则可以应用DMVR。相应地,如果用非仿射合并模式的基于子块的合并模式对所述块进行编解码,则可以应用DMVR。如果用SbTMVP模式对所述块进行编解码,则可以应用DMVR,例如,当满足表3中的其它条件时。
一个实施例中,用SbTMVP模式编解码的块中的多个子块的子块大小(或SbTMVP子块大小)可以是16x16亮度样本。例如,子块大小可以设置为16x16亮度样本。多个子块的MV可以如上面参考图8A至图8C所描述的那样得出,其中子块大小为16x16亮度样本。
可以至少部分地根据基于子块的合并模式是SbTMVP并且子块大小是16x16亮度样本来确定将DMVR应用于多个子块中的一个子块。
可以基于一组块级DMVR条件(例如,表3中的第二组块级DMVR条件)来确定是否将DMVR应用于用基于子块的合并模式编解码的块中的多个子块中的一个子块。一个示例中,如表3中示出的,所述一组块级DMVR条件可以包括不使用仿射合并模式。所述一组块级DMVR条件可以指示用于对块进行编码的基于子块的合并模式不是仿射合并模式。如果多个子块中的一个子块满足表3中的第二组块级DMVR条件,则可以将DMVR应用于用SbTMVP编解码的多个子块中的一个子块。如果多个子块中的一个子块不满足表3中的所述第二组块级DMVR条件,则DMVR不适用于用所述SbTMVP编解码的多个子块中的一个子块。一个示例中,针对每个子块检查表3中的第二组块级DMVR条件以确定DMVR是否可以应用于所述子块。
第二组块级DMVR条件中的某些条件(例如,条件(1310))对于多个子块是共用的。因此,如果多个子块中的一个子块满足所述特定条件,则多个子块中的其余子块也满足所述特定条件,并且因此仅检查一个子块将是否满足特定条件。一个示例中,第二组块级DMVR条件中的一个或多个条件(例如,条件(1320))对于多个子块来说不是共用的,并且因此需要检查每个子块是否满足一个或多个条件。条件(1320)是指每个子块的参考图像0(例如,由refIdxL0指示)和参考图像1(例如,由refIdxL1指示)。条件(1320)指示来自参考图像列表0的参考图像0和来自参考图像列表1的参考图像1是子块相对于当前图像的镜像参考图像。第一子块的参考图像0和参考图像1可以不同于第二子块的参考图像0和参考图像1。
一个实施例中,当前图像中的块可以与一个或多个参考图像列表相关联。还可以基于一个或多个参考图像列表是否满足多个条件来确定所述DMVR是否可以应用于多个子块中的一个子块。所述多个条件可以包括:(a)块的一个或多个参考图像列表包括第一参考图像列表(例如,列表0或L0)和第二参考图像列表(例如,列表1或L1);(b)当前图像在视频序列中的第一参考图像列表中的第一参考图像与第二参考图像列表中的第二参考图像之间;以及(c)第一参考图像与当前图像之间的第一时间距离等于第二参考图像与当前图像之间的第二时间距离。一个示例中,当满足块的所述一对参考图像的两个条件(例如,(b)和(c))时,可在用SbTMVP模式编解码的块上启用DMVR。在一些实施例中,仅当满足所述块的所述一对参考图像的两个条件时,才可在用SbTMVP模式编解码的块上启用DMVR。所述一对参考图像包括第一参考图像列表中的第一参考图像和第二参考图像列表中的第二参考图像。两个条件中的一个条件是第一参考图像和第二参考图像相对于视频序列中的当前图像在相反的方向上。例如,当前图像位于第一参考图像与第二参考图像之间。因此,相对于当前图像,所述一对参考图像中的一个参考图像(例如,第一参考图像)在时间上是过去的,而所述一对参考图像中的另一个参考图像(例如,第二参考图像)在时间上是未来的。视频序列包括当前图像、第一参考图像和第二参考图像。两个条件中的另一个条件是第一参考图像和当前图像之间的第一时间距离(例如,第一POC差)等于第二参考图像和当前图像之间的第二时间距离(例如,第二POC差)。
当上文所描述的所述一对参考图像可用于以SbTMVP模式编解码的块(也称为SbTMVP块)时,满足所述块的所述一对参考图像的两个条件。因此,SbTMVP块的子块大小(或SbTMVP子块大小)可以是16x16亮度样本。一个示例中,可以将SbTMVP块的子块大小设置为16x16亮度样本。针对每个子块,还可以检查表3中的第二块级DMVR条件以确定是否可在所述子块上启用DMVR。当多个子块中的一个子块满足所述第二组块级DMVR条件时,可以确定将所述DMVR应用于多个子块中的所述子块。
否则,当上文所描述的所述一对参考图像对于SbTMVP块不可用时,可以将SbTMVP块的子块大小设置为8x8亮度样本。一个示例中,不启用DMVR,并且不针对多个子块检查第二组块级DMVR条件。
当所述一对参考图像可用于所述SbTMVP块时,满足所述块的所述一对参考图像的两个条件。因此,还可(例如,在编解码视频比特流中)用信号表示一个标志,以指示SbTMVP块的子块大小是16x16亮度样本还是8x8亮度样本。一个示例中,可以用信号表示所述标志,以指示SbTMVP块的子块大小是被设置为16x16亮度样本还是8x8亮度样本。当用信号表示子块大小为16x16亮度样本时,还可以检查表3中每个子块是否满足第二块级DMVR条件以确定是否可在该子块上启用DMVR。可以至少部分地基于指示子块大小是16x16亮度样本的标志来确定将DMVR应用于多个子块中的一个子块。例如,该标志指示子块大小是16x16亮度样本时,当多个子块中的一个子块满足第二组块级DMVR条件时,可以确定将DMVR应用于多个子块中的所述子块。
一个实施例中,可以将至多两种类型(例如,第一类型和第二类型)的一个或多个SbTMVP候选(或一个或多个SbTMVP合并候选)添加到所述块的子块合并候选列表中。一个或多个第一类型的SbTMVP候选可以是不启用DMVR的SbTMVP候选(或SbTMVP合并候选)。一个或多个第二类型的SbTMVP候选可以是启用了DMVR的SbTMVP候选(或SbTMVP合并候选)。一个示例中,子块合并候选列表包括一个或多个第二类型的SbTMVP候选,诸如启用DMVR的SbTMVP候选。
一个或多个第二类型的SbTMVP候选的子块大小可以与一个或多个第一类型的SbTMVP候选的子块大小相同。或者,一个或多个第二类型的SbTMVP候选的子块大小(例如,16x16亮度样本)可以不同于一个或多个第一类型的SbTMVP候选的子块大小(例如,8x8亮度样本)。
所述块的子块合并候选列表可以包括任何合适的子块合并候选,诸如一个或多个SbTMVP候选(例如,第一类型、第二类型)、一个或多个仿射合并候选(例如,一个或多个继承的仿射合并候选)等。子块合并候选列表中的一个或多个第二类型的SbTMVP候选的位置可在一个或多个第一类型的SbTMVP候选之后。或者,一个或多个第二类型的SbTMVP候选的位置可在一个或多个仿射合并候选之后或在一个或多个继承的仿射合并候选之后。在一些示例中,一个或多个第二类型的SbTMVP候选仅在满足表3中的条件(1320)时可用。
可以至少部分地基于多个子块中的每一个的子块大小是8x8亮度样本来确定将DMVR应用于多个子块中的一个子块。
一个实施例中,SbTMVP块的子块大小是8x8亮度样本。可以检查每个子块是否满足表4中的一组子块级DMVR条件(图14中示出),以确定DMVR是否可以应用于所述子块。当确定将DMVR应用于具有8x8亮度样本的子块大小的子块时,如上面参考图10所描述的块大小为8x8亮度样本的DMVR可以应用于所述子块。
表4中的一组子块级DMVR条件(图14)和表3中的第二块级DMVR条件(图13)之间的差异由表3中的条件(1330)和表4中的条件(1430)指示。一个示例中,条件(1330)指定块宽度(例如,块宽度大于或等于8个样本)、块高度(例如,块高度大于或等于8个样本),以及块中的样本数量(例如,块宽度乘以块高度大于128个样本)。一个示例中,条件(1430)指定子块宽度(例如,子块宽度大于或等于8个样本)、子块高度(例如,子块高度大于或等于8个样本)以及每个子块中的样本数量(例如,子块宽度乘以子块高度大于64个样本)。
一个实施例中,如上文所描述的,可在高级用信号表示高级标志。高级可以是序列级、图像级、条带级、图块级、图块组级等。一个示例中,高级标志被称为sub_block_refinement标志。可以基于在高级用信号表示的高级标志来确定是否将DMVR应用于与高级相关联的块。与高级相关联的块可以包括用基于子块的合并模式(例如,SbTMVP模式)编解码的块。如上文所描述的,响应于高级标志指示没有为多个块禁用DMVR(或者可以为多个块启用DMVR),还可以基于以下中的至少一个来确定是否将DMVR应用于所述块中的多个子块中的一个子块:(i)所述块的一组DMVR条件(例如,表3中的第二组块级DMVR条件,或者表4中的一组子块级DMVR条件)和(ii)所述块的一对参考图像的可用性。在各种示例中,所述块的所述一组DMVR条件指示基于子块的合并模式不是仿射合并模式。例如,所述块的所述一组DMVR条件包括不使用仿射合并模式。
一个示例中,高级标志指示可以为用基于子块的合并模式(例如,SbTMVP模式)编解码的块启用DMVR,并且可以针对每个子块检查所述块的所述一组DMVR条件。当多个子块中的一个子块满足所述一组DMVR条件时,可以将DMVR应用于多个子块中的一个子块。
一个示例中,高级标志指示可以为用基于子块的合并模式(例如,SbTMVP模式)编解码的块启用DMVR,随后可以检查所述块的所述一对参考图像是否满足如上文所描述的两个条件。当满足上述两个条件时,还可以针对每个子块检查所述块的所述一组DMVR条件。当多个子块中的一个子块满足所述一组DMVR条件时,可以将DMVR应用于所述多个子块中的一个子块。
一个示例中,如上文所描述的,当高级标志为真时,才可以为子块启用DMVR。一个示例中,仅当高级标志为真时,才可以为子块启用DMVR。一个示例中,子块是用SbTMVP模式编解码的块中的多个子块中的一个子块。当高级标志为假时,针对所述块禁用DMVR,并且因此针对用基于子块的合并模式(例如,SbTMVP模式、仿射合并模式)编解码的多个子块禁用DMVR。
图15是本申请实施例的示例性流程(1500)的概要流程图。流程(1500)可以用于块的重建,从而为正在重建的块生成预测块。在各实施例中,流程(1500)由处理电路执行,例如终端设备(210)、(220)、(230)和(240)中的处理电路,执行视频编码器(303)的功能的处理电路,执行视频解码器(310)的功能的处理电路,执行视频解码器(410)的功能的处理电路,执行视频编码器(503)的功能的处理电路,等。一些实施例中,流程(1500)由软件指令实现,因此当处理电路执行这些软件指令时,处理电路执行流程(1500)。该过程开始于(S1501)并进入(S1510)。
在(S1510)处,可以从已编码的视频比特流中解码出当前图像中的块的预测信息。预测信息可以指示块中的多个子块的基于子块的合并模式(例如,SbTMVP模式)。
在(S1520)处,如上文所述,可以至少根据基于子块的合并模式的模式类型来确定是否将DMVR应用于多个子块中的一个子块。
一个示例中,在一组DMVR条件中指示可以将DMVR应用于多个子块中的一个子块的模式类型。所述一组DMVR条件可以指示基于子块的合并模式不是仿射合并模式,以便应用DMVR。可以检查多个子块中的一个子块是否满足所述块的所述一组DMVR条件,以确定模式类型是否适合于应用所述DMVR。一个示例中,基于子块的合并模式是SbTMVP。因此,可以确定将DMVR应用于多个子块中的所述子块。
所述一组DMVR条件还可以包括一个或多个其它条件:诸如(a)不使用几何分区模式;(b)序列级标志指示在包括当前块的序列中启用DMVR、条带级标志指示在包括当前块的条带中未禁用DMVR;(c)使用双向预测模式对多个子块进行编解码;(d)不使用MMVD模式;(e)在双向预测模式中使用相等的加权;(f)当前图像在第一参考图像列表中的第一参考图像和第二参考图像列表中的第二参考图像之间,并且当前图像和第一参考图像之间的第一POC与当前图像和第二参考图像之间的第二POC相同,其中第一参考图像、第一参考图像列表、第二参考图像和第二参考图像列表属于所述多个子块中的所述子块;(g)第一参考图像、第二参考图像和当前图像的大小(例如,宽度、高度和/或样本数量);以及(h)当前块或多个子块的大小。
在一些示例中,除了基于子块的合并模式的模式类型之外,还检查所述一组DMVR条件中的一个或多个其它条件以确定所述DMVR是否可以应用于多个子块中的所述子块。
所述块的所述一组DMVR条件可以是一组块级DMVR条件(例如,表3中的第二组块级DMVR条件)、一组子块级DMVR条件(例如,表4中的一组子块级DMVR条件)等。一个示例中,如表3中示出的,所述一组块级DMVR条件包括当前块的大小。如表4中示出的,所述一组子块级DMVR条件包括多个子块的大小。
一个示例中,如上文所描述的,在检查所述块是否满足所述一组DMVR条件之前,检查所述块是否满足所述一对参考图像的两个条件。所述块的所述一对参考图像可在所述块的一个或多个参考图像列表中。一个示例中,所述块的一个或多个参考图像列表包括一个参考图像列表,并且因此所述一对参考图像不可用。因此,DMVR不适用于所述块。
一个示例中,可在检查其它条件(例如,所述一组DMVR条件和/或一对参考图像的两个条件)之前,检查高级标志是否指示可以为与高级相关联的块启用DMVR。当高级标志指示可以为与高级相关联的块启用DMVR时,还可以检查一个或多个其它条件,如上所述,以确定DMVR是否可以应用于所述(例如,用基于子块的合并模式编解码的)块中的多个子块中的所述子块。
当确定DMVR被应用于多个子块中的所述子块时,流程(1500)前进到(S1530)。否则,流程(1500)进行到(S1540)。
在(S1530)处,可以根据具有DMVR的基于子块的合并模式来重建多个子块中的所述子块。一个示例中,基于子块的合并模式不是仿射合并模式。一个示例中,基于子块的合并模式是SbTMVP模式。流程(1500)进行到(S1599),并且终止。
在(S1540)处,可以根据没有DMVR的基于子块的合并模式来重建多个子块中的所述子块。基于子块的合并模式可以是仿射合并模式、SbTMVP模式等。流程(1500)进行到(S1599),并且终止。
流程(1500)可以通过调整适用于各种场景,并且可以相应地调整流程(1500)中的步骤。可以修改、省略、重复和/或组合流程(1500)中的一个或多个步骤。可以使用任何合适的顺序来实现所述流程(1500)。可以添加一个或多个另外的步骤。
本公开中的实施例可以单独使用或者以任何顺序组合使用。此外,方法(或实施例)、编码器和解码器中的每个方案,均可由处理电路(例如,一个或多个处理器或一个或多个集成电路)实现。在一个示例中,一个或多个处理器执行存储在非暂时性计算机可读介质中的程序。
上述技术可以使用计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图16为适于实现本申请一些实施例的计算机系统(1600)。
计算机软件可利用任何合适的机器代码或计算机语言来编码,可采用汇编、编译、链接或类似机制生成指令代码。这些指令代码可由一个或多个计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行或通过代码解释、微代码执行等操作来执行。
这些指令可在多种类型的计算机或计算机组件中执行,包括,例如,个人计算机、平板电脑、服务器、智能电话、游戏设备、物联网设备等。
图16所示的用于计算机系统(1600)的组件本质上是示例性的,而非旨在对实现本申请实施例的计算机软件的使用或功能范围做任何限制。也不应将组件的配置方式解释为对计算机系统(1600)的示例性实施例中的任一部件或其组合具有任何的依赖性或要求。
计算机系统(1600)可以包括某些人机界面输入设备。这样的人机界面输入设备可以响应于一个或多个人类用户通过例如触觉输入(诸如键击、挥动、数据手套移动)、音频输入(诸如语音、拍击)、视觉输入(诸如姿势)、嗅觉输入(未示出)的输入。人机界面设备还可用于捕捉不必直接与人类有意识输入相关的某些介质,例如音频(诸如语音、音乐、环境声音)、图像(诸如扫描的图像、从静止图像相机获得的摄影图像)、视频(诸如二维视频,包括立体视频的三维视频)。
人机界面输入设备可包括以下项中的一种或多种(每一种仅描绘一个):键盘(1601)、鼠标(1602)、触控板(1603)、触摸屏(1610)、数据手套(未示出)、操纵杆(1605)、麦克风(1606)、扫描仪(1607)、照相机(1608)。
计算机系统(1600)还可以包括某些人机界面输出设备。这样的人机界面输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感觉。这种人机界面输出设备可以包括触觉输出设备(例如通过触摸屏(1610)、数据手套(未示出)或操纵杆(1605)的触觉反馈,但是也可以有不用作输入设备的触觉反馈设备)、音频输出设备(诸如扬声器(1609)、耳机(未示出))、可视输出设备以及打印机(未示出),其中可视输出设备诸如屏幕(1610)、虚拟现实眼镜(未示出)、全息显示器和烟雾箱(未示出),屏幕(1310)包括阴极射线管(CRT)屏幕、液晶显示器(LCD)屏幕、等离子屏幕、有机发光二极管(OLED)屏幕,每一种都具有或不具有触摸屏输入能力,每一种都具有或不具有触觉反馈能力,这些屏幕中的一些能够通过手段(诸如立体图像输出)输出二维可视输出或多于三维的输出。
计算机系统(1600)还可以包括人类可访问的存储设备及其相关联的介质,诸如光学介质(包括具有CD/DVD的CD/DVD ROM/RW(1620))或类似介质(1621)、拇指驱动器(1622)、可移动硬盘驱动器或固态驱动器(1623)、传统磁介质(诸如磁带和软盘(未示出))、基于专用ROM/ASIC/PLD的设备(诸如安全道尔芯片(未示出)),等等。
本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。
计算机系统(1600)还可以包括连接一个或多个通信网络的接口。网络可以是,例如,无线网络、有线网络、光网络。网络还可以是本地网、广域网、城域网、车联网的和工业网络、实时网络、延迟容忍网络等等。网络的示例包括局域网(诸如以太网、无线LAN)、蜂窝网络(包括全球移动通信系统(GSM)、第三代移动通信系统(3G)、第四代移动通信系统(4G)、第五代移动通信系统(5G)、长期演进(LTE)等)、电视有线或无线广域数字网络(包括有线电视、卫星电视和地面广播电视)、车辆和工业网络(包括CANBus),等等。某些网络通常需要外部网络接口适配器,该外部网络接口适配器连接到某些通用数据端口或外围总线(1649)(诸如计算机系统(1600)的通用串行总线(USB)端口);其它的通常通过如下所述连接到系统总线而集成到计算机系统(1600)的核心中(例如,进入个人计算机系统的以太网接口或进入智能手机计算机系统的蜂窝网络接口)。通过使用这些网络中的任何一个,计算机系统(1600)可以与其它实体通信。这种通信可以是使用局域或广域数字网络的到其它计算机系统的单向的、仅接收的(例如广播TV)、单向仅发送的(例如到某些CAN总线设备的CAN总线)或双向的通信。可以在如上所述的那些网络和网络接口中的每一个上使用某些协议和协议栈。
上述人机界面设备、人类可访问存储设备和网络接口可以连接到计算机系统(1600)的内核(1640)。
内核(1640)可以包括一个或多个中央处理单元(CPU)(1641)、图形处理单元(GPU)(1642)、以现场可编程门阵列(FPGA)(1643)形式存在的专用可编程处理单元、用于特定任务的硬件加速器(1644)等。这些设备,以及只读存储器(ROM)(1645),随机存取存储器(1646),内部大容量存储器(如内部非用户可访问硬盘驱动器,SSD)(1647)等,可以通过系统总线(1648)相互连接。在一些计算机系统中,系统总线(1648)可以以一个或多个物理插头的形式访问,从而通过附加的CPU,GPU等实现扩展。外围设备可以直接,或者通过外围总线(1648),连接到内核的系统总线(1649)。外围总线的架构包括PCI,USB等。
CPU(1641)、GPU(1642)、FPGA(1643)和加速器(1644)可以执行某些指令,这些指令组合起来可以构成前述的计算机代码。该计算机代码可以存储在ROM(1645)或RAM(1646)中。中间数据也可以存储在RAM(1646)中,而永久数据可以存储在,例如,内部大容量存储器(1647)中。可以通过使用高速缓冲存储器来实现到任何存储器设备的快速存储和读取,高速缓存存储器可以与一个或多个CPU(1641)、GPU(1642)、大容量存储器(1647)、ROM(1645)、RAM(1646)等紧密关联。
计算机可读介质上可以具有计算机代码,在计算机代码上执行各种计算机执行的操作。介质和计算机代码可以是为本申请的目的而特别设计和构造的,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。
作为示例而非限制,具有体系结构(1600)的计算机系统,特别是内核(1640),可以提供处理器(包括CPU、GPU、FPGA、加速器等)执行在一个或多个有形的计算机可读介质中的软件而实现的功能。这样的计算机可读介质可以是与如上所述的用户可访问大容量存储器相关联的介质,以及非暂时性的内核(1640)的某些存储,诸如内核内部大容量存储器(1647)或ROM(1645)。实现本申请各实施例的软件可以存储在这样的设备中并由内核(1640)执行。根据特定需要,计算机可读介质可包括一个或多个存储器设备或芯片。该软件可以使内核(1640),特别是其中的处理器(包括CPU,GPU,FPGA等),执行本文描述的特定过程或特定过程的特定部分,包括定义存储在RAM(1646)中的数据结构,以及根据软件定义的过程修改这些数据结构。作为补充或作为替代,计算机系统可提供与电路(例如加速器1644)中的逻辑硬连线或其它组件相同的功能,可代替软件或与软件一起操作以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可包括存储执行软件的电路(如集成电路(IC)),包括执行逻辑的电路,或两者兼备。本申请包括硬件和软件的任何适当组合。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行各实施例的方案。
Appendix A:Acronyms
AMVP:Advanced Motion Vector Prediction高级运动矢量预测
JEM:Joint Exploration Model联合探索模型
VTM:Versatile Test Model多功能测试模型
VVC:Versatile Video Coding多功能视频编码
BMS:Benchmark Set基准集
MV:Motion Vector运动矢量
MVD:Motion vector difference帧间运动矢量差
MVP:Motion Vector Prediction运动矢量预测
HEVC:High Efficiency Video Coding高效视频编码
SEI:Supplementary Enhancement Information辅助增强信息
VUI:Video Usability Information视频可用性信息
GOPs:Groups of Pictures图像组
TUs:Transform Units变换单元
PUs:Prediction Units预测单元
CTUs:Coding Tree Units编码树单元
CTBs:Coding Tree Blocks编码树块
PBs:Prediction Blocks预测块
HRD:Hypothetical Reference Decoder假想参考解码器
SNR:Signal Noise Ratio信噪比
CPUs:Central Processing Units中央处理单元
GPUs:Graphics Processing Units图形处理单元
CRT:Cathode Ray Tube阴极射线管
LCD:Liquid-Crystal Display液晶显示器
OLED:Organic Light-Emitting Diode有机发光二极管
CD:Compact Disc压缩光盘
DVD:Digital Video Disc数字视频光盘
ROM:Read-Only Memory只读存储器
RAM:Random Access Memory随机存取存储器
ASIC:Application-Specific Integrated Circuit专用集成电路
PLD:Programmable Logic Device可编程逻辑装置
LAN:Local Area Network局域网
GSM:Global System for Mobile communications全球移动通信系统
LTE:Long-Term Evolution长期演进
CANBus:Controller Area Network Bus控制器局域网总线
USB:Universal Serial Bus通用串行总线
PCI:Peripheral Component Interconnect外围组件互连
FPGA:Field Programmable Gate Areas现场可编程门区域
SSD:Solid-State Drive固态驱动器
IC:Integrated Circuit集成电路
CU:Coding Unit编码单元
PU:Prediction Unit预测单元
HMVP:History-Based Motion Vector Prediction基于历史的运动矢量预测
MMVD:Merge With Motion Vector Difference具有运动矢量差的合并模式
TMVP:Temporal Motion Vector Prediction时间运动矢量预测
SbTMVP:Subblock-Based Temporal Motion Vector Prediction基于子块的时间运动矢量预测
BDOF:Bi-Directional Optical Flow双向光流
DMVR:Decoder-Side Motion Vector Refinement解码器侧运动矢量修正
虽然本申请已对多个示例性实施例进行了描述,但实施例的各种变更、置换和各种替代属于本申请的范围内。因此应理解,本领域技术人员能够设计多种系统和方法,所述系统和方法虽然未在本文中明确展示或描述,但其体现了本申请的原则,因此属于本申请的精神和范围之内。

Claims (13)

1.一种解码器中的视频解码方法,其特征在于,包括:
从已编码的视频比特流中解码出当前图像中当前块的预测信息,所述预测信息可以指示当前块中的多个子块的基于子块的合并模式;
根据所述基于子块的合并模式的模式类型来确定是否将解码器侧运动矢量修正(decoder-side motion vector refinement,DMVR)应用于所述多个子块中的一个子块;及
响应于确定将DMVR应用于所述子块,根据带有所述DMVR的基于子块的合并模式来重建所述子块。
2.根据权利要求1的方法,其特征在于,确定是否应用所述DMVR包括:
根据所述基于子块的合并模式的模式类型不是仿射合并模式来确定将DMVR应用于所述多个子块中的所述子块。
3.根据权利要求1的方法,其特征在于,确定是否应用所述DMVR包括:
至少部分地根据所述基于子块的合并模式是基于子块的时间运动矢量预测(subblock-based temporalmotion vector prediction,SbTMVP)来确定将DMVR应用于所述多个子块中的所述子块。
4.根据权利要求1的方法,其特征在于,确定是否应用所述DMVR包括:
至少部分地根据所述基于子块的合并模式是SbTMVP,并且所述多个子块中的每一个子块的大小是16x16亮度样本,来确定将DMVR应用于所述多个子块中的所述子块。
5.根据权利要求3的方法,其特征在于,确定是否应用所述DMVR包括:
确定所述当前块的一个或多个参考图像列表是否满足多个条件,所述多个条件包括:(a)所述当前块的一个或多个参考图像列表包括第一参考图像列表和第二参考图像列表;(b)所述当前图像在视频序列中位于所述第一参考图像列表中的第一参考图像和所述第二参考图像列表中的第二参考图像之间;以及(c)所述第一参考图像和所述当前图像之间的第一时间距离等于所述第二参考图像和所述当前图像之间的第二时间距离;
基于所述当前块的一个或多个参考图像列表不满足所述多个条件,确定不将DMVR应用于所述多个子块中的所述子块;及
至少部分地基于当前块的一个或多个参考图像列表满足所述多个条件,确定将DMVR应用于该多个子块中的一个子块。
6.根据权利要求5的方法,其特征在于,
所述当前块的一个或多个参考图像列表满足所述多个条件;且
所述多个子块中的每个子块的大小是16x16亮度样本。
7.根据权利要求5的方法,其特征在于,
所述当前块的一个或多个参考图像列表满足所述多个条件;
所述预测信息还包括指示所述多个子块中的每个子块的大小是否是16x16亮度样本的标志;且
所述确定是否应用所述DMVR包括:
至少部分地基于所述标志指示所述多个子块中的所述子块的大小是16x16亮度样本,确定将DMVR应用于所述多个子块中的所述子块。
8.根据权利要求5的方法,其特征在于,子块合并候选列表包括启用了DMVR的SbTMVP候选。
9.根据权利要求3的方法,其特征在于,确定应用所述DMVR包括:
至少部分地基于所述多个子块中的每个子块的大小是8x8亮度样本,确定将DMVR应用于所述多个子块中的所述子块。
10.根据权利要求1-9中任一权利要求所述的方法,其特征在于,
所述预测信息还包括指示包括所述当前块的多个块是否允许DMVR的高级标志;且
所述确定是否应用所述DMVR包括:
基于所述高级标志来确定是否将DMVR应用于所述多个子块中的所述子块。
11.一种视频解码装置,其特征在于,包括:
解码模块,用于从已编码的视频比特流中解码出当前图像中当前块的预测信息,所述预测信息可以指示当前块中的多个子块的基于子块的合并模式;
确定模块,用于根据所述基于子块的合并模式的模式类型来确定是否将解码器侧运动矢量修正(decoder-side motion vector refinement,DMVR)应用于所述多个子块中的一个子块;及
重建模块,用于响应于确定将DMVR应用于所述子块,根据带有所述DMVR的基于子块的合并模式来重建所述子块。
12.一种视频解码装置,其特征在于,包括处理器和存储器,所述存储器中存储有计算机可读指令,所述指令可以由所述处理器执行用于实现根据权利要求1-10中任一权利要求所述的方法。
13.一种非暂时性计算机可读存储介质,存储有程序,其特征在于,所述程序可由至少一个处理器执行用于实现根据权利要求1-10中任一权利要求所述的方法。
CN202010824938.0A 2019-08-19 2020-08-17 用于视频编解码的方法、装置和存储介质 Active CN112399183B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962888784P 2019-08-19 2019-08-19
US62/888,784 2019-08-19
US16/992,868 US11223840B2 (en) 2019-08-19 2020-08-13 Method and apparatus for video coding
US16/992,868 2020-08-13

Publications (2)

Publication Number Publication Date
CN112399183A true CN112399183A (zh) 2021-02-23
CN112399183B CN112399183B (zh) 2022-07-15

Family

ID=74596236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010824938.0A Active CN112399183B (zh) 2019-08-19 2020-08-17 用于视频编解码的方法、装置和存储介质

Country Status (2)

Country Link
US (2) US11223840B2 (zh)
CN (1) CN112399183B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116530081A (zh) * 2021-11-01 2023-08-01 腾讯美国有限责任公司 用于双向预测和仿射模式的基于模板匹配的自适应运动矢量分辨率(amvr)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4020992A4 (en) * 2019-08-22 2023-06-21 LG Electronics Inc. PICTURE CODING/DECODING METHOD AND DEVICE FOR PERFORMING WEIGHTED PREDICTION AND METHOD FOR TRANSMITTING A BIT STREAM
WO2021050234A1 (en) * 2019-09-12 2021-03-18 Alibaba Group Holding Limited Method and apparatus for signaling video coding information
WO2021050226A1 (en) * 2019-09-12 2021-03-18 Alibaba Group Holding Limited Method and apparatus for encoding or decoding video
EP4035373A1 (en) * 2019-09-23 2022-08-03 VID SCALE, Inc. Switching logic for bi-directional optical flow
WO2022262694A1 (en) * 2021-06-15 2022-12-22 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
US20230089594A1 (en) * 2021-09-17 2023-03-23 Tencent America LLC Joint motion vector difference coding
US20230254477A1 (en) * 2022-02-07 2023-08-10 Tencent America LLC Sub-block based constraint on bi-prediction for out-of-boundary conditions
US20230336737A1 (en) * 2022-04-18 2023-10-19 Tencent America LLC Sub-block based temporal motion vector predictor with an motion vector offset
US20240031578A1 (en) * 2022-07-15 2024-01-25 Tencent America LLC Decoder-side motion vector refinement and bi-directional optical flow in subblock-based temporal motion vector prediction (sbtmvp)
US20240031600A1 (en) * 2022-07-19 2024-01-25 Tencent America LLC Inter prediction direction and bcw index coding in merge mode

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019089933A1 (en) * 2017-11-01 2019-05-09 Vid Scale, Inc. Sub-block motion derivation and decoder-side motion vector refinement for merge mode
WO2019085892A1 (en) * 2017-11-02 2019-05-09 Mediatek Inc. Method and apparatus for video coding
US20190238883A1 (en) * 2018-01-26 2019-08-01 Mediatek Inc. Hardware Friendly Constrained Motion Vector Refinement

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019103564A1 (ko) * 2017-11-27 2019-05-31 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
CN118042153A (zh) * 2018-01-25 2024-05-14 三星电子株式会社 使用基于子块的运动补偿进行视频信号处理的方法和装置
WO2020003258A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Virtual merge candidates
WO2020036417A1 (ko) * 2018-08-13 2020-02-20 엘지전자 주식회사 히스토리 기반 움직임 벡터에 기반한 인터 예측 방법 및 그 장치
FI3681161T3 (fi) * 2018-09-12 2024-01-18 Lg Electronics Inc Kuvan koodausjärjestelmässä olevassa alilohkoyksikössä suoritettuun liike-ennustukseen perustuvalla laitteistolla suoritettava kuvan dekoodaus- ja koodausmenetelmä
EP4294007A3 (en) * 2018-10-04 2024-02-21 LG Electronics Inc. History-based image coding methods
CN112840653B (zh) * 2018-10-06 2023-12-26 寰发股份有限公司 视频编解码中共享合并候选列表区域的方法和装置
WO2020166897A1 (ko) * 2019-02-14 2020-08-20 엘지전자 주식회사 Dmvr 기반의 인터 예측 방법 및 장치
MX2021010158A (es) * 2019-02-24 2021-11-12 Lg Electronics Inc Metodo y dispositivo de inter-prediccion a base de dmvr.
WO2020197083A1 (ko) * 2019-03-22 2020-10-01 엘지전자 주식회사 Dmvr 및 bdof 기반의 인터 예측 방법 및 장치
US11140409B2 (en) * 2019-03-22 2021-10-05 Lg Electronics Inc. DMVR and BDOF based inter prediction method and apparatus thereof
US11172212B2 (en) * 2019-06-06 2021-11-09 Qualcomm Incorporated Decoder-side refinement tool on/off control
JP7098847B2 (ja) * 2019-06-17 2022-07-11 ベイジン・ダジア・インターネット・インフォメーション・テクノロジー・カンパニー,リミテッド ビデオ符号化におけるデコーダ側動きベクトル補正のための方法および装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019089933A1 (en) * 2017-11-01 2019-05-09 Vid Scale, Inc. Sub-block motion derivation and decoder-side motion vector refinement for merge mode
WO2019085892A1 (en) * 2017-11-02 2019-05-09 Mediatek Inc. Method and apparatus for video coding
US20190238883A1 (en) * 2018-01-26 2019-08-01 Mediatek Inc. Hardware Friendly Constrained Motion Vector Refinement

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BENJAMIN BROSS等: "Versatile Video Coding (Draft 5)", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11,JVET-N1001》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116530081A (zh) * 2021-11-01 2023-08-01 腾讯美国有限责任公司 用于双向预测和仿射模式的基于模板匹配的自适应运动矢量分辨率(amvr)
CN116530081B (zh) * 2021-11-01 2024-05-14 腾讯美国有限责任公司 视频解码方法及视频解码装置

Also Published As

Publication number Publication date
US11223840B2 (en) 2022-01-11
US20220038728A1 (en) 2022-02-03
CN112399183B (zh) 2022-07-15
US11758167B2 (en) 2023-09-12
US20210058634A1 (en) 2021-02-25

Similar Documents

Publication Publication Date Title
CN113287307B (zh) 视频解码的方法和装置、计算机设备及介质
CN112399183B (zh) 用于视频编解码的方法、装置和存储介质
CN111903131B (zh) 用于解码器中的视频解码的方法、装置及计算机可读介质
CN112235572B (zh) 视频解码方法和装置以及计算机设备和存储介质
CN113574885B (zh) 视频解码方法、装置以及电子设备
CN112106371B (zh) 视频解码的方法、装置、可读介质和设备
CN113557728B (zh) 视频编解码方法和装置
CN113287308B (zh) 视频编解码方法及装置
CN112703730B (zh) 视频编解码的方法、设备和存储介质
CN110719488B (zh) 视频解码的方法和装置、计算机设备及存储介质
CN113545083A (zh) 视频编解码的方法和装置
CN110719469A (zh) 视频编解码方法、设备和存储介质
CN110944202A (zh) 视频编解码方法、装置、计算机设备和存储介质
CN113545079B (zh) 视频编解码的方法和装置
CN112291571A (zh) 视频解码方法及装置以及计算机设备和存储介质
CN111885387A (zh) 用于仿射光流预测值细化的视频解码方法和装置
CN112640464A (zh) 采用空间和时间合并的运动矢量预测方法和装置
CN113875234A (zh) 视频编解码的方法和装置
KR20210049930A (ko) 비디오 디코딩을 위한 방법 및 장치
CN111971965A (zh) 视频编解码的方法和装置
CN112154663B (zh) 视频解码方法和相关装置
CN112514400B (zh) 视频解码方法、视频解码器、计算机设备和可读存储介质
KR20200128590A (ko) 비디오 코딩을 위한 방법 및 장치
CN113647100A (zh) 用于通过信号发送预测候选列表大小的方法及装置
CN111316639A (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