CN112369027A - 具有用于帧内预测的多条参考线的位置相关帧内预测组合 - Google Patents

具有用于帧内预测的多条参考线的位置相关帧内预测组合 Download PDF

Info

Publication number
CN112369027A
CN112369027A CN201980043567.8A CN201980043567A CN112369027A CN 112369027 A CN112369027 A CN 112369027A CN 201980043567 A CN201980043567 A CN 201980043567A CN 112369027 A CN112369027 A CN 112369027A
Authority
CN
China
Prior art keywords
prediction
current block
reference sample
sample
line
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
CN201980043567.8A
Other languages
English (en)
Other versions
CN112369027B (zh
Inventor
A·K·拉马苏波拉莫尼安
G·范德奥维拉
M·卡切夫维茨
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN112369027A publication Critical patent/CN112369027A/zh
Application granted granted Critical
Publication of CN112369027B publication Critical patent/CN112369027B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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

使用位置相关帧内预测组合(PDPC)和多条参考线描述了这些技术。举例来说,视频制码器(例如,编码器和/或解码器)可以使用帧内预测模式来预测针对当前块的样本的初始预测样本值。可以从当前块的第一相邻块和/或第二相邻块来预测初始预测样本值。可以根据来自第一相邻块和/或第二相邻块的多条参考样本线中的至少一条线来确定一个或多个参考样本值。来自多条线的用于确定参考样本值的至少一条线与当前块不邻近。可以例如通过使用一个或多个参考样本值来修改初始预测样本值,确定针对当前块的样本的最终预测样本值。

Description

具有用于帧内预测的多条参考线的位置相关帧内预测组合
技术领域
本申请涉及视频编码和解码。在一些情况下,描述了用于执行具有用于帧内预测的多条参考线(MRL)的位置相关帧内预测组合(PDPC)的系统、装置、方法和计算机可读介质。
背景技术
许多设备和系统允许视频数据被处理并输出以供消费。数字视频数据包括用于满足消费者和视频提供方的需求的大量数据。例如,视频数据的消费者期望具有高保真度、高分辨率、高帧速率等的最高质量的视频。结果,要满足这些需求所需的大量视频数据给用于处理和存储视频数据的通信网络和设备带来了负担。
各种视频制码(coding)技术可以用于压缩视频数据。视频制码是根据一种或多种视频制码标准执行的。例如,视频制码标准包括通用视频制码(VVC)、高效视频制码(HEVC)、高级视频制码(AVC)、MPEG-2第2部分制码(MPEG代表运动图像专家组)等等。视频制码通常使用预测方法(例如,帧间预测、帧内预测等),这些预测方法利用视频图像或序列中存在的冗余。视频制码技术的一个重要目标是将视频数据压缩为使用较低比特率的形式,同时避免视频质量的下降或使该下降最小化。随着不断发展的视频服务变得可用,需要具有更好制码效率的编码技术。
发明内容
本文中描述了用于执行具有用于帧内预测的多条参考线(MRL)的位置相关帧内预测组合(PDPC)的技术和系统。例如,使用帧内预测,可以基于当前块的相邻样本(其可能已经被重构或解码),生成针对当前块的预测块。大多数帧内预测方法使用位于当前块上方和左侧(直接在当前块上方或左侧)的最近(或邻近)相邻样本线中的样本。在某些情况下,可以使用多条参考线(MRL)来生成帧内预测样本。例如,MRL使用的线不仅是距离当前块最近的线,而且还可以使用在当前块的某个邻域内的线(例如,第二最近的线、第三最近的线或与当前块相距的其他距离的线)。
PDPC可以用于修改使用帧内预测确定的预测样本。例如,使用PDPC,修改(使用帧内预测生成的)预测块内的预测样本,并且使用经修改的预测样本对当前块进行编码或解码。本文描述了将PDPC与多条参考线一起使用以及用信号传送相关信息和/或对相关信息进行解码的若干技术。在某些情况下,对于编码,视频编码器可以使用经修改的预测样本来确定用信号传送给视频解码器的残余值。在某些情况下,对于解码,视频解码器可以将经修改的预测样本添加到所接收的残余值以重构当前块。
根据至少一个示例,提供了一种对视频数据进行解码的方法。方法包括:使用帧内预测模式来预测针对当前块的样本的初始预测样本值。初始预测样本值是根据当前块的第一相邻块或第二相邻块中的至少一者来预测的。方法还包括:根据多条参考样本线中的至少一条线确定一个或多个参考样本值,多条参考样本线来自当前块的第一相邻块或第二相邻块中的至少一者。方法还包括:针对当前块的样本确定最终预测样本值。确定最终预测样本值包括:使用一个或多个参考样本值来修改初始预测样本值。方法还包括:基于最终预测样本值来重构当前块的样本。
在另一示例中,提供了一种用于对视频数据进行解码的装置,所述装置包括:存储器,其被配置为:存储当前块的第一相邻块或第二相邻块中的至少一者;以及视频解码器,其包括固定功能电路或可编程电路中的至少一者。视频解码器被配置为:使用帧内预测模式来预测针对当前块的样本的初始预测样本值。初始预测样本值是根据当前块的第一相邻块或第二相邻块中的至少一者来预测的。视频解码器还被配置为:根据多条参考样本线中的至少一条线确定一个或多个参考样本值,多条参考样本线来自当前块的第一相邻块或第二相邻块中的至少一者。视频解码器还被配置为:针对当前块的样本确定最终预测样本值。确定最终预测样本值包括:使用一个或多个参考样本值来修改初始预测样本值。视频解码器还被配置为:基于最终预测样本值来重构当前块的样本。
在另一示例中,提供了一种非暂时性计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,所述指令使一个或多个处理器:使用帧内预测模式来预测针对当前块的样本的初始预测样本值,其中,初始预测样本值是根据当前块的第一相邻块或第二相邻块中的至少一者来预测的;根据多条参考样本线中的至少一条线确定一个或多个参考样本值,多条参考样本线来自当前块的第一相邻块或第二相邻块中的至少一者;针对当前块的样本确定最终预测样本值,其中,确定最终预测样本值包括:使用一个或多个参考样本值来修改初始预测样本值;以及基于最终预测样本值来重构当前块的样本。
在另一示例中,提供了一种用于对视频数据进行解码的装置。装置包括:用于使用帧内预测模式来预测针对当前块的样本的初始预测样本值的单元。初始预测样本值是根据当前块的第一相邻块或第二相邻块中的至少一者来预测的。装置还包括:用于根据多条参考样本线中的至少一条线确定一个或多个参考样本值的单元,多条参考样本线来自当前块的第一相邻块或第二相邻块中的至少一者。装置还包括:用于针对当前块的样本确定最终预测样本值的单元。确定最终预测样本值包括:使用一个或多个参考样本值来修改初始预测样本值。装置还包括:用于基于最终预测样本值来重构当前块的样本的单元。
根据至少一个其他示例,提供了一种对视频数据进行编码的方法。方法包括:使用帧内预测模式来预测针对当前块的样本的初始预测样本值。初始预测样本值是根据当前块的第一相邻块或第二相邻块中的至少一者来预测的。方法还包括:根据多条参考样本线中的至少一条线确定一个或多个参考样本值,多条参考样本线来自当前块的第一相邻块或第二相邻块中的至少一者。方法还包括:针对当前块的样本确定最终预测样本值。确定最终预测样本值包括:使用一个或多个参考样本值来修改初始预测样本值。方法还包括:基于最终预测样本值和当前块的样本的值,确定针对残余块的残余值。方法还包括:用信号通知用于指示残余值的信息。
在另一示例中,提供了一种用于对视频数据进行编码的装置,装置包括:存储器,其被配置为:存储当前块的第一相邻块或第二相邻块中的至少一者;以及视编码器,其包括固定功能电路或可编程电路中的至少一者。视频编码器被配置为:使用帧内预测模式来预测针对当前块的样本的初始预测样本值。初始预测样本值是根据当前块的第一相邻块或第二相邻块中的至少一者来预测的。视频编码器还被配置为:根据多条参考样本线中的至少一条线确定一个或多个参考样本值,多条参考样本线来自当前块的第一相邻块或第二相邻块中的至少一者。视频编码器还被配置为:针对当前块的样本确定最终预测样本值。确定最终预测样本值包括:使用一个或多个参考样本值来修改初始预测样本值。视频编码器还被配置为:基于最终预测样本值和当前块的样本的值,确定针对残余块的残余值。视频编码器还被配置为:用信号通知用于指示残余值的信息。
在另一示例中,提供了一种非暂时性计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,所述指令使一个或多个处理器:使用帧内预测模式来预测针对当前块的样本的初始预测样本值,其中,初始预测样本值是根据当前块的第一相邻块或第二相邻块中的至少一者来预测的;根据多条参考样本线中的至少一条线确定一个或多个参考样本值,多条参考样本线来自当前块的第一相邻块或第二相邻块中的至少一者;针对当前块的样本确定最终预测样本值,其中,确定最终预测样本值包括:使用一个或多个参考样本值来修改初始预测样本值;基于最终预测样本值和当前块的样本的值,确定针对残余块的残余值;以及用信号通知用于指示残余值的信息。
在另一示例中,提供了一种用于对视频数据进行编码的装置。装置包括:用于使用帧内预测模式来预测针对当前块的样本的初始预测样本值的单元。初始预测样本值是根据当前块的第一相邻块或第二相邻块中的至少一者来预测的。装置还包括:用于根据多条参考样本线中的至少一条线确定一个或多个参考样本值的单元,多条参考样本线来自当前块的第一相邻块或第二相邻块中的至少一者。装置还包括:用于针对当前块的样本确定最终预测样本值。确定最终预测样本值包括:使用一个或多个参考样本值来修改初始预测样本值。装置还包括:用于基于最终预测样本值和当前块的样本的值,确定针对残余块的残余值的单元。装置还包括:用于用信号通知用于指示残余值的信息的单元。
在一些方面,多条参考样本线中的用于确定一个或多个参考样本值的至少一条线不与当前块邻近。
在一些方面,条参考样本线中的至少一条线包括当前块上方的参考样本线或当前块左侧的参考样本线中的至少一项。在一些示例中,以下各项中的至少一项:当前块上方的参考样本线包括除了当前块上方的最近线以外的线,或者当前块左侧的参考样本线包括除了当前块左侧的最近线以外的线。在一些示例中,当前块上方的参考样本线包括除了当前块上方的最近线以外的线,并且当前块左侧的参考样本线包括除了当前块左侧的最近线以外的线。
在一些方面,初始预测样本值是根据多条参考样本线中的一条或多条线来预测的。在一些情况下,用于确定一个或多个参考样本值的第一参考样本线不同于用于预测初始预测样本值的第二参考样本线。在一些示例中,用于确定一个或多个参考样本值的第一参考样本线包括当前块上方的最近的线或者当前块左侧的最近的线。在一些示例中,用于预测初始预测样本值的第二参考样本线包括除了当前块上方的最近线以外的线或者除了当前块左侧的最近线以外的线。
在一些方面,上述用于对视频数据进行解码和/或编码的方法、装置和计算机可读介质还包括:基于帧内预测模式,针对当前块确定包括多个预测样本的预测块。初始预测样本值是根据来自预测块的多个预测样本来预测的。
在一些方面,使用一个或多个参考样本值来修改初始预测样本值包括:确定初始预测样本值和一个或多个参考样本值的加权组合。在某些情况下,上述用于对视频数据进行解码的方法、装置和计算机可读介质还包括:基于与初始预测样本值相关联的样本的x坐标和y坐标来确定多个权重。在这样的情况下,加权组合是基于一个或多个参考样本值、多个权重和初始预测样本值的。
在一些方面,上述用于对视频数据进行解码的方法、装置和计算机可读介质还包括:获得包括信令信息的编码视频比特流,信令信息指示多条参考样本线中的用于确定一个或多个参考样本值的至少一条线;以及对信令信息进行处理以确定用于确定一个或多个参考样本值的一条或多条参考样本线。
在一些方面,上述用于对视频数据进行编码的方法、装置和计算机可读介质还包括:生成包括信令信息的编码视频比特流,信令信息指示多条参考样本线中的用于确定一个或多个参考样本值的至少一条线。
在一些示例中,信令信息包括对预定线的集合的索引。预定线的集合对应于用于确定一个或多个参考样本值的一条或多条参考样本线。在一些示例中,信令信息包括对一条或多条线的推导列表的索引。一条或多条线的推导列表对应于用于确定一个或多个参考样本值的一条或多条参考样本线。在一些示例中,信令信息是针对当前块上方的线以及针对当前块左侧的线,在编码视频比特流中独立地用信号通知的。在一些示例中,信令信息包括用于确定最终预测样本值的权重集合。权重集合是基于多条参考样本线中的用于确定一个或多个参考样本值的至少一条线,从多个权重集合中选择的。
在一些方面,上述用于对视频数据进行解码的方法、装置和计算机可读介质还包括:基于帧内预测模式的类型,根据多条参考样本线中的至少一条线推导出参考样本的位置。参考样本是与一个或多个参考样本值中的参考样本值相关联的。在一些示例中,位置是基于参考线距当前块的边缘的距离以及与帧内预测模式的类型相关联的角度来推导出的。
在一些方面,上述用于对视频数据进行解码和/或编码的方法、装置和计算机可读介质还包括:根据多条参考样本线中的至少一条线推导出一个或多个参考样本值中的参考样本值。参考样本值是通过在参考样本值周围对来自参考样本值的邻域的参考样本值进行插值来推导出的。
在一些方面,上述用于对视频数据进行解码和/或编码的方法、装置和计算机可读介质还包括:基于帧内预测模式的类型,推导出多条参考样本线中的用于确定一个或多个参考样本值的至少一条线。
在一些方面,确定一个或多个参考样本值包括:根据多条参考样本线中的两条或更多条线确定样本的加权平均。
在一些方面,用于对视频数据进行解码的装置包括被配置为显示当前块的显示器。在一些方面,装置包括下列各项中的一项或多项:照相机、计算机、移动设备、广播接收机设备或机顶盒。
在一些方面,用于对视频数据进行编码的装置包括被配置为显示当前块的显示器。在一些方面,装置包括下列各项中的一项或多项:照相机、计算机、移动设备、广播接收机设备或机顶盒。
本发明内容并不旨在标识要求保护的发明主题的关键或重要特征,也不旨在单独用于确定要求保护的发明主题的范围。应当通过参考本专利的整个说明书的适当部分、任何或所有附图以及每项权利要求来理解发明主题。
通过参考以下说明书、权利要求书和附图,前述以及其他特征和实施例将变得更加显而易见。
附图说明
参考下列附图在下文中对本申请的说明性实施例进行了详细的描述,其中:
图1是说明被配置为执行本公开内容的技术的示例视频编码和解码系统的框图。
图2A和图2B是示出根据一些示例的用于4x4块内的预测样本位置的DC模式位置相关(帧内)预测组合(PDPC)权重的示例的概念图;
图3是示出根据一些示例的帧内预测角度模式的示例的概念图;
图4A是示出根据一些示例的对角右上模式的示例的概念图;
图4B是示出根据一些示例的对角左下模式的示例的概念图;
图4C是示出根据一些示例的邻近对角右上模式的示例的概念图;
图4D是示出根据一些示例的邻近对角左下模式的示例的概念图;
图5A是示出根据一些示例的使用多个参考线和PDPC的帧内预测模式的示例的概念图;
图5B是示出根据一些示例的使用多个参考线和PDPC的帧内预测模式的另一示例的概念图;
图6是示出根据一些示例的使用多个参考线和PDPC的帧内预测模式的示例的概念图,其中,PDPC是使用多条参考线来执行的;
图7是示出根据一些示例的用于对视频数据进行解码的过程的示例的流图;
图8是示出根据一些示例的用于对视频数据进行编码的过程的示例的流图;以及
图9是示出根据一些示例的视频编码器的示例的框图;以及
图10是示出根据一些示例的视频解码器的示例的框图。
具体实施方式
下面提供了本公开内容的某些方面和实施例。对于本领域技术人员来说将显而易见的是,这些方面和实施例中的一些方面和实施例可以独立地应用,并且它们中的一些也可以组合地应用。在下文的描述中,出于解释的目的,阐述了具体细节以便提供对本申请的实施例的透彻理解。然而,将显而易见的是,可以在不使用这些具体细节的情况下来实施各种实施例。附图和描述不意图是限制性的。
随后的描述仅提供示例性实施例,而无意于限制本公开内容的范围、适用性或配置。相反,对示例性实施例的随后描述将向本领域技术人员提供能够实现示例性实施例的描述。应该理解的是,在不脱离所附权利要求书所阐述的本申请的精神和范围的前提下,可以对元素的功能和布置进行各种改变。
在下文的说明中给出了具体细节来提供对实施例的的透彻理解。然而,本领域的普通技术人员将意理解的是,可以在不使用这些具体细节的情况下来实施这些实施例。例如,可以将电路、系统、网络、过程和其他组件以框图形式示为组件,以免在不必要的细节上模糊实施例。例如,可以在没有非必要细节的情况下示出公知的电路、过程、算法、结构和技术以避免模糊实施例。
此外,应该注意的是,各个实施例可以作为过程被描述,过程被描绘成了流程图、流图、数据流图、结构图、或框图。虽然流程图可以将操作描述为顺序过程,但操作中的许多操作可以并行或并发地执行。此外,可以对这些操作的顺序进行重新布置。过程在其操作完成后会终止,但是过程可以具有图中没包括的额外步骤。过程可以对应于方法、函数、过程、子例程,子程序等。当过程对应于函数时,其终止可以对应于该函数返回到调用函数或主函数。
术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光学存储设备以及能够存储、包含或携带指令和/或数据的各种其他介质。计算机可读介质可以包括其中可以存储数据的非暂时性介质,并且不包括无线地或通过有线连接传播的载波和/或暂时性电子信号。非临时性介质的示例可以包括但不限于磁盘或磁带、诸如光盘(CD)或数字通用光盘(DVD)的光学存储介质、闪存器、存储器或存储设备。计算机可读介质上可以存储有代码和/或机器可执行指令,其可以表示过程、功能、子程序、程序、例程、模块、软件包、类、或者指令、数据结构或程序语句的任意组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容来耦合到另一个代码段或硬件电路。信息、自变量、参数、数据等可以经由包括存储器共享、消息传递、令牌传递、网络传输等的任何合适的单元来传递、转发或发送。
另外,实施例可以由硬件、软件、固件、中间件、微代码、硬件描述语言、或它们的任意组合来实现。当以软件、固件、中间件或微代码来实现时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可以存储在计算机可读或机器可读介质中。处理器可以执行必要的任务。
可以使用诸如图像制码器(例如,JPEG编码器和/或解码器等)、视频制码器(例如,视频编码器和/或视频解码器)之类的任何制码设备或其他合适的制码设备来执行本文描述的技术。
视频制码设备(也被称为视频制码器)实现视频压缩技术以高效地对视频数据进行编码和解码。视频压缩技术可以包括应用不同的预测模式以减少或去除视频序列中固有的冗余,所述预测模式包括空间预测(例如,帧内的预测(intra-frame prediction)或帧内预测(intra prediction))、时间预测(例如,帧间的预测(inter-frame prediction)或帧间预测(inter prediction))、层间预测(跨越视频数据的不同层)和/或其他预测技术。视频编码器可以将原始视频序列的每个图片划分为矩形区域,所述矩形区域被称为视频块或制码单元(下文将更详细介绍)。可以使用特定的预测模式来对这些视频块进行编码。
视频块可以以一种或多种方式被划分成一组或多组较小的块。块可以包括制码树块、预测块、变换块和/或其他合适的块。除非另外指明,否则通常对“块”的引用可以指代这样的视频块(例如,本领域普通技术人员将会理解的制码树块、制码块、预测块、变换块或其他适当的块或子块)。此外,这些块中的每一个块在本文中也可以被可互换地称为“单元”(例如,制码树单元(CTU)、制码单元、预测单元(PU)、变换单元(TU)等)。在某些情况下,单元可以指示在比特流中被编码的制码逻辑单元,而块可以指示过程所针对的视频帧缓冲器的一部分。
对于帧间预测模式,视频编码器可以搜索与在位于另一时间位置的帧(或图片)中被编码的块相似的块,其被称为参考帧或参考图片。视频编码器可以将搜索限制为距离要编码的块一定的空间位移。可以使用包括水平位移分量和垂直位移分量的二维(2D)运动矢量来定位最佳匹配。对于帧内预测模式,视频编码器可以基于来自相同图片内先前编码的相邻块的数据,使用空间预测技术来形成预测块。
视频编码器可以确定预测误差。例如,可以将预测确定为在正在被编码的块中的像素值(或样本值)与预测块之间的差。预测误差也可以被称为残余。视频编码器还可以将变换应用于预测误差(例如,离散余弦变换(DCT)或其他合适的变换)以生成变换系数。在变换之后,视频编码器可以对变换系数进行量化。经量化的变换系数和运动矢量可以使用语法元素来表示,并且与控制信息一起形成视频序列的编码表示。在某些情况下,视频编码器可以对语法元素进行熵编码,从而进一步减少用于语法元素的表示所需的比特数量。
视频解码器可以使用上文讨论的语法元素和控制信息来构造用于对当前帧进行解码的预测数据(例如,预测块)。例如,视频解码器可以将预测块和压缩的预测误差相加。视频解码器可通过使用经量化的系数,对变换基函数进行加权来确定压缩的预测误差。在重构帧与原始帧之间的差被称为重构误差。
本公开内容描述了用于使用帧内预测和位置相关(帧内)预测组合(PDPC)方法对视频数据的一个或多个样本和/或块进行制码的系统和技术。例如,可以执行用于对视频内容进行制码的帧内预测模式,其中帧内预测模式可以使用来自相邻重构块的多条参考线来生成预测样本的预测块。这种帧内预测模式在本文中被称为多参考线(MRL)帧内预测模式。MRL模式可以与其他帧内预测模式进行组合,例如平面模式(例如,帧内模式1)、DC模式(例如,帧内模式1)和/或角度模式中的一个角度模式(垂直、水平及其变体,例如帧内模式2-34中的任何帧内模式)。本文描述的系统和技术描述了使用具有多条参考线的PDPC的帧内预测模式。例如,当多条参考线用于生成帧内制码的预测样本时,和/或当多条参考线用于生成然后被用于修改帧内制码的预测样本的PDPC参考样本时,描述了PDPC方法。
本文描述的系统和技术通常在对视频数据的样本和/或块的制码时引入了压缩效率。例如,通过使用在当前块的邻域中的多条参考线(例如,紧邻当前块的行、从当前块的第二行,从当前块的第三行和/或其他邻近行),为PDPC方法提供了压缩效率。在提高现有视频制码技术的状态中,压缩效率是通常期望的目标。
如本公开内容中所使用的,术语视频制码通常是指视频编码或视频解码。类似地,术语视频制码器通常可以指代视频编码器、视频解码器或组合的视频编码器-解码器(CODEC)。此外,本公开内容中针对视频解码描述的某些技术也可以应用于视频编码,反之亦然。例如,视频编码器和视频解码器可以被配置为执行相同的过程或互逆的过程。另外,视频编码器通常执行视频解码,作为确定如何对视频数据进行编码的过程的一部分。因此,除非相反地指出,否则不应假设针对视频解码描述的技术也不能作为视频编码的一部分来执行,反之亦然。
本公开内容还可使用诸如当前层、当前块、当前图片、当前切片等的术语。在本公开内容的上下文中,术语“当前”旨在标识当前正在被制码的块、图片、切片等,与例如先前或已制码的块、图片和切片或尚未制码的块、图片和切片相反。
本文描述的技术可以应用于任何现有视频编解码器(例如,高效视频制码(HEVC)、高级视频制码(AVC)或其他合适的现有视频编解码器),和/或可以是针对正在开发的任何视频制码标准和/或将来的视频制码标准(比如,例如,多功能视频制码(VVC)、联合探索模型(JEM))的高效制码工具和/或正在开发或将要开发的其他视频制码标准。
图1是说明可以利用本公开内容的技术来对视频数据的一个或多个样本和/或块进行制码的示例视频编码和解码系统10的框图。在一些示例中,当多条参考线被用于生成帧内制码的预测样本和/或生成用于修改帧内制码的预测样本的PDPC参考样本时,视频编码和解码系统10可以使用PDPC方法对视频数据进行制码。MRL模式包括使用在当前块附近的多条参考线。
如图1所示,系统10包括源设备12,该源设备12提供编码视频数据,所述编码视频数据将稍后由目的地设备14进行解码。具体而言,源设备12经由计算机可读介质16向目的地设备14提供视频数据。源设备12和目的地设备14可以包括多种设备中的任何设备,包括桌面式计算机、笔记本计算机(即,膝上型计算机)、平板计算机、机顶盒、例如所谓的“智能”手机的电话手持设备、电视机、照相机、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输设备等等。在某些情况下,源设备12和目的地设备14可以被配备用于无线通信。因此,源设备12和目的地设备14可以是无线通信设备。源设备12是示例视频编码设备(即,用于对视频数据进行编码的设备)。目的地设备14是示例视频解码设备(例如,用于对视频数据进行解码的设备或装置)。
在图1的示例中,源设备12包括视频源18、被配置为存储视频数据的存储介质20、视频编码器22和输出接口24。目的地设备14包括输入接口26、被配置为存储编码视频数据的存储介质28、视频解码器30和显示设备32。在其他示例中,源设备12和目的地设备14包括其他组件或布置。例如,源设备12可以从诸如外部摄像机的外部视频源接收视频数据。同样,目的地设备14可以与外部显示设备以接口方式连接,而不是包括集成显示设备。
图1所示的系统10仅是一个示例。可以通过任何数字视频编码和/或解码设备或装置来执行用于处理视频数据的技术。虽然一般来说,本公开内容的技术由视频编码设备和视频解码设备执行,但是这些技术还可以由通常被称为“CODEC”的组合视频编码器/解码器执行。源设备12和目的地设备14仅仅是此类制码设备的示例,其中源设备12生成编码视频数据以传输到目的地设备14。在一些示例中,源设备12和目的地设备14以基本对称的方式操作,使得源设备12和目的地设备14中的每一者包括视频编码和解码组件。因此,系统10可以支持在源设备12与目的地设备14之间的单向或双向视频传输,例如,用于视频流式传输、视频回放、视频广播或视频电话。
源设备12的视频源18可以包括视频捕获设备(例如摄像机,包含先前捕获的视频的视频档案和/或视频馈送接口),以从视频内容提供方接收视频数据。作为另一替代方案,视频源18可以生成基于计算机图形的数据作为源视频,或者实时视频、归档视频和计算机生成的视频的组合。源设备12可以包括被配置为存储视频数据的一个或多个数据存储介质(例如,存储介质20)。一般而言,本公开内容中描述的技术可以适用于视频编码,并且可以适用于无线和/或有线应用。在每种情况下,捕获的、预捕获的或计算机生成的视频可以由视频编码器22编码。输出接口24可以将编码视频信息输出到计算机可读介质16。
目的地设备14可以经由计算机可读介质16接收要解码的编码视频数据。计算机可读介质16可以包括能够将编码视频数据从源设备12移动到目的地设备14的任何类型的介质或设备。在一些示例中,计算机可读介质16包括通信介质,以使源设备12能够将编码视频数据直接实时地发送到目的地设备14。可以根据通信标准(例如无线通信协议)来调制编码视频数据,并且将编码视频数据发送到目的地设备14。通信介质可以包括任何无线或有线通信介质,例如射频(RF)频谱或一个或多个物理传输线。通信介质可以形成基于分组的网络的一部分,例如局域网、广域网或例如互联网的全球网络。通信介质可以包括路由器、交换机、基站或有助于从源设备12到目的地设备14的通信的任何其他设备。目的地设备14可以包括被配置为存储编码视频数据和解码视频数据的一个或多个数据存储介质。
在一些示例中,可以将编码数据(例如,编码视频数据)从输出接口24输出到存储设备。类似地,可以通过输入接口26从存储设备访问编码数据。存储设备可以包括各种分布式或本地访问的数据存储介质中的任何数据存储介质,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存器、易失性或非易失性存储器或用于存储编码视频数据的任何其他合适的数字存储介质。在另一示例中,存储设备可以对应于文件服务器或可以存储由源设备12生成的编码视频的另一中间存储设备。目的地设备14可以经由流式传输或下载来访问来自存储设备的存储的视频数据。文件服务器可以是能够存储编码视频数据并且将该编码视频数据发送到目的地设备14的任何类型的服务器。示例文件服务器包括网络服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)设备或本地磁盘驱动器。目的地设备14可以通过任何标准数据连接(包括互联网连接)来访问的编码视频数据。这可以包括适合访问存储在文件服务器上的编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或这二者的组合。来自存储设备的编码视频数据的传输可以是流式传输、下载传输或其组合。
本公开内容的技术可以应用于支持各种多媒体应用中的任何多媒体应用的视频制码,所述多媒体应用例如空中电视广播、有线电视传输、卫星电视传输、互联网流式视频传输,例如自适应流技术,包括HTTP上的动态自适应流式传输(DASH)、编码到数据存储介质上的数字视频,对存储在数据存储介质上的数字视频进行解码,或者其他应用。在一些示例中,系统10可以被配置为支持单向或双向视频传输,以支持诸如视频流式传输、视频回放、视频广播和/或视频电话之类的应用。
计算机可读介质16可以包括瞬态介质(例如无线广播或有线网络传输),或存储介质(即,非暂时性存储介质)(例如硬盘、闪存驱动器、压缩盘、数字视频盘、蓝光光盘)或其他计算机可读介质。在一些示例中,网络服务器(未示出)可以例如经由网络传输从源设备12接收编码视频数据,并且将编码视频数据提供给目的地设备14。类似地,介质生产设施(例如盘冲压设施)的计算设备可以从源设备12接收编码视频数据,并且产生包含编码视频数据的盘。因此,在各种示例中,计算机可读介质16可以被理解为包括各种形式的一种或多种计算机可读介质。
目的地设备14的输入接口26从计算机可读介质16接收信息。计算机可读介质16的信息可以包括由视频编码器22的视频编码器22定义的语法信息,该语法信息也被视频解码器30使用,该语法信息包括用于描述块和其他制码单元(例如,图片组(GOP))的特性和/或处理的语法元素。存储介质28可以存储由输入接口26接收的编码视频数据。显示设备32将解码视频数据显示给用户。显示设备32可以包括多种显示设备中的任何显示设备,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一种类型的显示设备。
视频编码器22和视频解码器单元30可以各自实现为各种合适的编码器或解码器电路中的任何一种,例如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑单元、软件、硬件、固件或其任何组合。当这些技术部分地以软件实现时,设备可以将用于软件的指令存储在合适的非暂时性计算机可读介质中,并且可以使用一个或多个处理器以硬件方式执行指令以执行本公开内容的技术。视频编码器22和视频解码器30中的每一者可以包括在一个或多个编码器或解码器中,其中的任意一项可以集成作为相应设备中的组合编码器/解码器(CODEC)的一部分。
在一些示例中,视频编码器22和视频解码器30可以根据视频制码标准来操作。示例视频制码标准包括但不限于ITU-T H.261,ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也被称为ISO/IEC MPEG-4AVC),包括其可扩展视频制码(SVC)和多视图视频制码(MVC)扩展。视频制码标准高效视频制码(HEVC)或ITU-T H.265(包括其范围和屏幕内容制码扩展、3D视频制码(3D-HEVC)和多视图扩展(MV-HEVC)以及可缩放扩展(SHVC))已经由ITU-T视频制码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)的视频制码联合协作组(JCT-VC)开发。可以从http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zip获得最新的HEVC规范草案,以下简称为HEVC WD。
视频编码器22和视频解码器30也可以根据其他专有或工业标准(例如联合探索测试模型(JEM)或ITU-T H.266,也被称为多功能视频制码(VVC))来操作。Bross等人的“Versatile Video Coding(Draft 4)”,ITU-T SG16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家组(JVET),第13次会议,马萨诸塞州马拉喀什,2019年1月9日-18日,JVET-M1001-v5(以下简称“VVC草案4”)中描述了VVC标准的最新草案。然而,本公开内容的技术不限于任何特定的制码标准。
在HEVC、VVC和其他视频制码规范中,视频序列通常包括一系列图片。图片也可以被称为“帧”。图片可以包括三个样本阵列,分别表示为SL、SCb和SCr。SL是亮度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。色度样本在本文中也可以被称为“色度(chroma)”样本。像素可以指代针对图片阵列中给定位置处的所有三个分量(亮度和色度样本)。在其他情况下,图片可以是单色的,并且可以仅包括亮度样本的阵列,在这种情况下,术语像素和样本可以互换使用。
此外,在HEVC和其他视频制码规范中,为了生成图片的编码表示,视频编码器22可以生成一组制码树单元(CTU)。CTU中的每个CTU可以包括亮度样本的制码树块、色度样本的两个相应制码树块以及用于对制码树块的样本进行制码的语法结构。在单色图片或具有三个分别的色彩平面的图片中,CTU可以包括单个制码树块和用于对制码树块的样本进行制码的语法结构。制码树块可以是样本的N×N块。CTU也可以被称为“树块”或“最大制码单元”(LCU)。HEVC的CTU可以大致类似于其他标准(例如H.264/AVC)的宏块。然而,CTU不必限于特定大小,并且可以包括一个或多个制码单元(CU)。切片可包括按光栅扫描顺序连续排序的整数个CTU。
如果根据HEVC进行操作以生成制码CTU,则视频编码器22可以对CTU的制码树块递归地执行四叉树划分,以将制码树块划分为制码块,因此被称为“制码树单元”。制码块是样本的N×N块。CU可以包括图片的亮度样本的制码块和色度样本的两个相应制码块,以及用于对制码块的样本进行制码的语法结构,所述图片具有亮度样本阵列、Cb样本阵列和Cr样本阵列。在单色图片或具有三个分别的色彩平面的图片中,CU可以包括单个制码块和用于对制码块的样本进行制码的语法结构。
比特流之内的语法数据也可以定义针对CTU的大小。切片包括按制码顺序的数个连续的CTU。视频帧或图片可以被划分为一个或多个切片。如上所述,每个树块可以根据四叉树被分成CU。通常,四叉树数据结构包括每个CU一个节点,其中根节点对应于树块。如果CU被分成四个子CU,则对应于该CU的节点包括四个叶节点,所述叶节点中的每个叶节点对应于所述子CU中的一个子CU。
四叉树数据结构的每个节点可以为对应的CU提供语法数据。例如,四叉树中的节点可以包括拆分标志,所述拆分标志指示与该节点相对应的CU是否被拆分为子CU。针对CU的语法元素可以被递归地定义,并且可以取决于CU是否被拆分为子CU。如果CU没有被进一步拆分,则其被称为叶CU。如果CU的块被进一步拆分,则其通常可以被称为非叶CU。在本公开内容的一些示例中,即使不存在对原始叶CU的显式拆分,也可以将叶CU的四个子CU称为叶CU。例如,如果未进一步拆分16x16大小的CU,则尽管16x16 CU从未被拆分,但四个8x8子CU也可以被称为叶CU。
除了CU没有大小区分之外,CU具有与H.264标准的宏块相似的目的。例如,树块可以被拆分成四个子节点(也被称为子CU),并且每个子节点可以进而是父节点并且被拆分成另外四个子节点。最终的未拆分的子节点(其被称为四叉树的叶节点),包括编码节点,也被称为叶CU。与制码比特流相关联的语法数据可以定义树块可以被拆分的最大次数,其被称为最大CU深度,并且还可以定义制码节点的最小大小。相应地,比特流还可以定义最小制码单元(SCU)。本公开内容在HEVC的上下文中使用术语“块”来指代CU、PU或TU中的任何一个,或者指代在其他标准的上下文中(例如,H.264/AVC中的宏块及其子块)的类似的数据结构。
CU包括制码节点以及与制码节点相关联的预测单元(PU)和变换单元(TU)。CU的大小对应于制码节点的大小,并且在一些示例中形状可以是正方形。在HEVC的示例中,CU的大小可以在从8×8像素到最大具有64×64个像素或更多像素的树块的大小的范围内。每个CU可以包含一个或多个PU和一个或多个TU。与CU相关联的语法数据可以描述例如将CU划分为一个或多个PU。在CU是跳过或直接模式编码、帧内预测模式编码还是帧间预测模式编码之间,划分模式可以不同。PU在形状上可以被划分为非正方形。与CU相关联的语法数据还可描述例如根据四叉树将CU划分成一个或多个TU。TU在形状上可以是正方形或非正方形(例如矩形)。
HEVC标准允许根据TU进行变换。对于不同的CU,TU可能不同。通常基于为被划分的LCU定义的给定CU内的PU的大小来确定TU的大小,尽管并非总是如此。TU通常与PU大小相同或比PU更小。在一些示例中,可以使用有时被称为“残余四叉树”(RQT)的四叉树结构,将与CU相对应的残余样本细分成较小的单元。RQT的叶节点可以被称为TU。可以对与TU相关联的像素差值进行变换以产生可以被量化的变换系数。
叶CU可以包括一个或多个PU。通常,PU表示与对应CU的全部或一部分相对应的空间区域,并且PU可以包括用于取得针对PU的参考样本的数据。此外,PU包括与预测有关的数据。例如,当PU被帧内模式编码时,用于PU的数据可以被包括在RQT中,所述RQT可以包括描述用于与PU相对应的TU的帧内预测模式的数据。作为另一示例,当PU被帧间模式编码时,PU可以包括用于定义针对PU的一个或多个运动矢量的数据。用于定义针对PU的运动矢量的数据可以描述例如运动矢量的水平分量、运动矢量的垂直分量,针对运动矢量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动矢量指向的参考图片和/或针对运动矢量的参考图片列表(例如,列表0、列表1或列表C)。
具有一个或多个PU的叶CU也可以包括一个或多个TU。如上文所讨论的,可以使用RQT(也被称为TU四叉树结构)来指定TU。例如,拆分标志可以指示叶CU是否被拆分为四个变换单元。在一些示例中,每个变换单元可以被进一步拆分为进一步的子TU。当TU没有被进一步拆分时,其可以被称为叶TU。通常,对于帧内制码,属于叶CU的所有叶TU包含从同一帧内预测模式产生的残余数据。即,通常将同一帧内预测模式应用于计算将在叶CU的所有TU中变换的预测值。对于帧内制码,视频编码器22可以使用帧内预测模式来计算针对每个叶TU的残余值,作为在与TU相对应的CU的部分与原始块之间的差。TU不必限于PU的大小。因此,TU可以大于或小于PU。对于帧内制码,PU可与用于针对同一CU的对应叶TU共置。在一些示例中,叶TU的最大大小可以对应于对应叶CU的大小。
此外,叶CU的TU也可以与相应RQT结构相关联。即,叶CU可以包括用于指示叶CU如何被划分为TU的四叉树。TU四叉树的根节点通常对应于叶CU,而CU四叉树的根节点通常对应于树块(或LCU)。
如上所述,视频编码器22可以将CU的制码块划分为一个或多个预测块。预测块是在其上应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的PU可以包含亮度样本的预测块、色度样本的两个对应预测块以及用于对预测块进行预测的语法结构。在单色图片或具有三个分别的色彩平面的图片中,PU可以包括单个预测块和用于对预测块进行预测的语法结构。视频编码器22可以为CU的每个PU的预测块(例如,亮度、Cb和Cr预测块)生成预测块(例如,亮度、Cb和Cr预测块)。
视频编码器22和视频解码器30可以被配置为根据VVC操作。根据VVC,视频制码器(例如,视频编码器22)将图片划分为多个制码树单元(CTU)。视频编码器22可以根据树结构(例如四叉树-二叉树(QTBT)结构或多类型树(MTT)结构)来划分CTU。QTBT结构消除了多个划分类型的概念,例如HEVC的在CU、PU和TU之间的分隔。QTBT结构包括两个级别:根据四叉树划分来划分的第一级,以及根据二叉树划分来划分的第二级。QTBT结构的根节点对应于CTU。二叉树的叶节点对应于制码单元(CU)。
在MTT划分结构中,可以使用四叉树(QT)划分、二叉树(BT)划分以及一种或多种类型的三叉树(TT)划分来对块进行划分。三叉树划分是将块分为三个子块的一种划分。在一些示例中,三叉树划分将块划分为三个子块,而不通过中心来对原始块进行划分。MTT中的划分类型(例如,QT、BT和TT)可以是对称的或不对称的。
在一些示例中,视频编码器22和视频解码器30可以使用单个QTBT或MTT结构来表示亮度和色度分量中的每一者,而在其他示例中,视频编码器22和视频解码器30可以使用两个或多个QTBT或MTT结构,例如,一个QTBT/MTT结构用于亮度分量,以及另一个QTBT/MTT结构用于两个色度分量(或两个QTBT/MTT结构用于相应的色度分量)。
视频编码器22和视频解码器30可以被配置为使用每HEVC的四叉树划分、QTBT划分、MTT划分或其他划分结构。为了说明的目的,针对QTBT划分给出了对本公开内容的技术的描述。然而,应当理解的是:本公开内容的技术还可以应用于被配置为使用四叉树划分或其他类型划分的视频制码器。
视频编码器22可以使用帧内预测或帧间预测来生成用于PU的预测块。如果视频编码器22使用帧内预测来生成PU的预测块,则视频编码器22可以基于包括PU的图片的解码样本来生成PU的预测块。在视频编码器22生成针对CU的一个或多个PU的预测块(例如,亮度、Cb和Cr预测块)之后,视频编码器22可以针对CU生成一个或多个残余块。举例来说,视频编码器22可以生成用于CU的亮度残余块。CU的亮度残余块中的每个样本指示在CU的预测亮度块中的一个预测亮度块中的亮度样本与CU的原始亮度制码块中的对应样本之间的差。另外,视频编码器22可以生成用于CU的Cb残余块。CU的Cb残余块中的每个样本可以指示在CU的预测Cb块中的一个预测Cb块中的Cb样本与CU的原始Cb制码块中的对应样本之间的差。视频编码器22还可以生成用于CU的Cr残余块。CU的Cr残余块中的每个样本可以指示在CU的预测Cr块中的一个预测Cr块中的Cr样本与CU的原始Cr制码块中的对应样本之间的差。
此外,如上所述,视频编码器22可以使用四叉树划分来将CU的残余块(例如,亮度、Cb和Cr残余块)分解成一个或多个变换块(例如,亮度、Cb和Cr变换块)。变换块是对其施加了相同变换的矩形(例如,正方形或非正方形)样本块。CU的变换单元(TU)可以包括亮度样本的变换块、色度样本的两个对应变换块以及用于对变换块样本进行变换的语法结构。因此,CU中的每个TU可以具有亮度变换块、Cb变换块和Cr变换块。TU的亮度变换块可以是CU的亮度残余块的子块。Cb变换块可以是CU的Cb残余块的子块。Cr变换块可以是CU的Cr残余块的子块。在单色图片或具有三个分别的色彩平面的图片中,TU可以包括单个变换块和用于对该变换块的样本进行变换的语法结构。
视频编码器22可以将一个或多个变换应用于TU的变换块以生成用于TU的系数块。例如,视频编码器22可以将一个或多个变换应用于TU的亮度变换块以生成用于TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器22可以将一个或多个变换应用于TU的Cb变换块以生成用于TU的Cb系数块。视频编码器22可以将一个或多个变换应用于TU的Cr变换块以生成用于TU的Cr系数块。
在一些示例中,视频编码器22跳过对变换块应用变换。在这样的示例中,视频编码器22可以用与变换系数相同的方式来对待残余样本值。因此,在视频编码器22跳过对变换的应用的示例中,对变换系数和系数块的以下讨论可适用于残余样本的变换块。
在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器22可以对系数块进行量化以可能减少用于表示系数块的数据量,潜在地提供进一步压缩。量化通常是指将值的范围压缩为单个值的过程。例如,可以通过将值除以常数,以及然后四舍五入为最接近的整数来完成量化。为了对系数块进行量化,视频编码器22可以对系数块的变换系数进行量化。在视频编码器22对系数块进行了量化之后,视频编码器22可以对用于指示经量化的变换系数的语法元素进行熵编码。例如,视频编码器22可以对用于指示经量化的变换系数的语法元素执行上下文自适应二进制算术制码(CABAC)或其他熵制码技术。
视频编码器22可以输出包括用于形成制码图片和相关联数据的表示的比特序列的比特流。因此,比特流包括视频数据的编码表示。比特流可以包括一系列网络抽象层(NAL)单元。NAL单元是一种语法结构,其包含对NAL单元中数据类型的指示以及包含该数据的字节,所述字节根据需要以原始字节序列有效载荷(RBSP)的形式与仿真预防比特穿插在一起。NAL单元中的每个NAL单元可以包括NAL单元报头,并且可以封装RBSP。NAL单元报头可以包括用于指示NAL单元类型代码的语法元素。由NAL单元的NAL单元报头指定的NAL单元类型码指示NAL单元的类型。RBSP可以是包含封装在NAL单元内的整数个字节的语法结构。在某些情况下,RBSP包括零比特。
视频解码器30可以接收由视频编码器22生成的比特流。视频解码器30可以对比特流进行解码以重构视频数据的图片。作为对比特流进行解码的一部分,视频解码器30可以对比特流进行解析以从比特流获得语法元素。视频解码器30可以至少部分地基于从比特流获得的语法元素来重构视频数据的图片。用于重构视频数据的过程通常可以与由视频编码器22执行的过程互逆。例如,视频解码器30可以使用PU的运动矢量来确定针对当前CU的PU的预测块。另外,视频解码器30可以对当前CU的TU的系数块进行逆量化。视频解码器30可以对系数块执行逆变换以重构当前CU的TU的变换块。视频解码器30可以通过将针对当前CU的PU的预测块的样本添加到当前CU的TU的变换块的对应样本,来重构当前CU的制码块。通过重构针对图片的每个CU的制码块,视频解码器30可以重构图片。
本文公开的技术建立在基于块的帧内预测的基础上,其是包括AVC、HEVC和VVC的视频标准的一部分。在基于块的帧内预测中,通常,来自邻近重构块的参考样本线用于预测当前块内的样本。一条或多条样本线可用于预测。参考样本由典型的帧内预测模式(例如DC、平面和角度/方向模式)采用。
帧内预测使用块的空间相邻的重构图像样本来执行图像块预测。利用帧内预测,由上方和左侧的相邻重构样本(参考样本),沿着所选择的预测方向来预测NxM(例如,4x4)块。作为一个示例,块是由上方和左侧的相邻重构样本(即,参考样本)沿着所选择的预测方向来预测的。参考样本在要预测的块的外部。利用参考样本,视频编码器22基于参考样本来构造具有预测样本的预测块。
通常,在帧内预测技术中,视频编码器22确定用于指示在预测块与当前块之间的差的残余块(例如,用于指示在预测样本与当前块的样本之间的差的残余值),并且用信号通知用于指示残余块中的残余值的信息。视频解码器30类似地确定参考样本并且构建预测块。视频解码器30基于所接收的信息来确定残余块的残余值,并且将残余块的残余值添加到预测块的预测样本以重构当前块。
如更详细描述的,在本公开内容中描述的示例技术修改了预测块的一个或多个(例如,全部)预测样本。视频编码器22可以基于经修改的预测样本来确定残余值。视频解码器30可以将残余值添加到经修改的预测样本以重构当前块。
存在多种帧内预测模式(也被称为“帧内模式”)。在一些示例中,亮度块的帧内预测包括35个模式,包括平面模式、DC模式和33个角度模式(例如,对角帧内预测模式和与对角帧内预测模式邻近的角度模式)。如以下表1所示,为帧内预测的35种模式编索引。在其他示例中,可以定义更多的帧内模式,包括可能尚未由33个角度模式表示的预测角度。在其他示例中,与角度模式相关联的预测角度可以不同于HEVC中使用的那些预测角度。
帧内预测模式 相关联名称
0 INTRA_PLANAR
1 INTRA_DC
2..34 INTRA_ANGULAR2..INTRA_ANGULAR34
表1–帧内预测模式和相关联名称的规范
为了执行针对NxN块的平面预测,对于位于(x,y)处的每个样本pxy,可以通过将双线性滤波器应用于四个特定的相邻重构样本(用作用于帧内预测的参考样本)来计算预测样本值。四个参考样本包括右上重构样本TR、左下重构样本BL和位于当前样本的同一列(rx,-1)和同一行(r-1,y)的两个重构样本。平面模式可以用以下公式来表示:
pxy=((N-x1)*·L+(N-y1)*·T+x1*·R+y1*·B)/(2*N),
其中,x1=x+1,y1=y+1,R=TR并且B=BL。
对于DC模式,预测块填充有相邻重构样本的平均值。通常,平面模式和DC模式二者都用于对平滑变化和恒定的图像区域进行建模。
对于HEVC中的包括33个不同预测方向的角度帧内预测模式,可以如下描述帧内预测过程。对于每个给定角度帧内预测模式,可以相应地识别帧内预测方向;例如,帧内模式18对应于纯水平预测方向,并且帧内模式26对应于纯垂直预测方向。角度预测模式如图3所示。在某些编解码器中,可以使用不同数量的帧内预测模式。例如,除了平面模式和DC模式之外,还可以定义65个角度模式,其中模式2指示-135°的预测方向,模式34指示-45°的预测方向,并且模式66指示45°的预测方向。在某些编解码器(例如,VVC)中,还可以定义超过-135°(小于-135°)和超过45°(大于45°)的角度;这些可以被称为广角帧内模式。尽管本文的描述是针对HEVC中的帧内模式设计(即,具有35种模式),但是所公开的技术也可以应用于更多的帧内模式,包括广角帧内模式。
预测块的每个样本的坐标(x,y)沿着特定的帧内预测方向(例如,角度帧内预测模式中的一个角度帧内预测模式)进行投影。例如,给定特定帧内预测方向,首先将预测块的样本的坐标(x,y)沿着帧内预测方向投影到相邻重构样本的行/列。在(x,y)被投影到在两个相邻重构样本L和R之间的分数位置α的情况下;则可以使用两抽头双线性插值滤波器来计算针对(x,y)的预测值,公式如下:
pxy=(1-a)·L+a·R。
为了避免浮点运算,在HEVC中,可以使用整数算术将上述计算近似为:
pxy=((32-a’)·L+a’·R+16)>>5,
其中,a’是等于32*a的整数。
在一些示例中,在帧内预测之前,使用2抽头双线性滤波器或3抽头(1,2,1)/4滤波器对相邻参考样本进行滤波,其被称为帧内参考平滑或模式相关的帧内平滑(MDIS)。在进行帧内预测时,给定帧内预测模式索引(predModeIntra)和块大小(nTbS),决定是否执行参考平滑过程以及使用哪个平滑滤波器。帧内预测模式索引是用于指示帧内预测模式的索引。
使用以上示例技术来生成预测块的预测样本。在生成预测样本之后,可以使用位置相关(帧内)预测组合(PDPC)来修改预测样本中的一个或多个预测样本。在ITU-T SG16/Q6 Doc.COM16-C1046,“Position Dependent intra Prediction Combination(PDPC)”,以及于2018年10月在澳门召开的第8届JVET会议上X.Zhao,V.Seregin,A.Said,M.Karczewicz的“EE1 related:Simplification and extension of PDPC”中对PDPC的形式进行了描述,在此通过引用将其完整内容并入本文并用于所有目的。在该文档中公开的是在没有如下文总结的信令的情况下应用于平面、DC、水平和垂直模式的PDPC的介绍。
使用帧内预测模式(例如,平面、DC或角度)预测位于(x,y)的预测样本pred(x,y),并且使用PDPC表达式针对单个参考样本线来修改pred(x,y)值:
pred(x,y)=wL×R-1,y+wT×Rx,-1–wTL×R-1,-1+((64–wL–wT+wTL)×pred’(x,y)+32)>>6, (公式1)。
在公式1中,pred’(x,y)是使用如上所述的用于生成预测样本的帧内预测模式来确定的预测样本的值,并且pred(x,y)是pred’(x,y)的经修改的值。术语Rx,-1和R-1,y分别表示位于当前样本(x,y)顶部和左侧(当前块外部的邻近顶部和左侧样本)的参考样本,并且术语R-1,-1表示位于当前块左上角(当前块外部邻近的左上角)的参考样本。例如,如图2A所示(如下所述),从位于块200A的左上角的第一预测样本202的角度来看,Rx,-1表示当前块上方一行的样本,该样本具有与被修改的预测样本(对应于值pred’(x,y))的x坐标相同的x坐标;R-1,y表示位于当前块左侧(或“在当前块左侧”)一列的样本,该样本具有与被修改的预测样本的y坐标相同的y坐标;并且R-1,-1表示位于当前块的左侧一列并且位于当前块的上方一行的样本。
用于修改(使用帧内预测模式生成的)预测样本的样本(例如,用于PDPC的参考样本)是图片中的样本(例如,亮度和色度样本),而不一定是其他预测样本(虽然是可能的)。例如,对于正在被帧内预测的、具有N×M大小的当前块,视频编码器22和/或视频解码器30可以生成N×M大小的预测块。用于修改预测样本的参考样本是当前图片的包括当前块并且在当前块外部(在当前块的一个或多个相邻块中)的参考样本。
用于识别当前块外部的样本的坐标系是相对于当前块的。例如,位于当前块左上角的样本具有坐标(0,0)。视频编码器22可以确定在位于预测块的左上角的预测样本(例如,具有坐标(0,0))与当前块中具有坐标(0,0)的样本之间的残余。为了重构位于当前块中的(0,0)的样本,视频解码器30可以将位于预测块中的(0,0)的预测样本添加与位于(0,0)的样本相对应的残余值。相应地,对于当前块中的每个样本,在预测块中存在对应的样本(例如,具有同一坐标)。
相应地,Rx,-1表示y坐标为-1,并且因此是指当前块上方的行中的样本。x坐标可以与正被修改的预测样本的x坐标相同。对于R-1,y,x坐标为-1,并且因此是指当前块左侧的列。y坐标可以与正被修改的预测样本的y坐标相同。
也可能使用其他坐标系,例如其中(0,0)坐标指的是图片的右上角样本的坐标系。针对其中(0,0)坐标是指该块的左上角样本的坐标系统描述了示例技术。
对于DC模式,对于具有维度宽度和高度的块,权重计算如下:
wT=32>>((y<<1)>>shift),wL=32>>((x<<1)>>shift),wTL=(wL>>4)+(wT>>4),(公式2)。
在公式2中,shift=(log2(宽度)+log2(高度)+2)>>2。对于平面模式wTL=0,对于水平模式wL=0并且wTL=wT,以及对于垂直模式,wT=0并且wTL=wL。在某些情况下,PDPC权重可以只利用加法和移位来计算。可以使用公式1在单个步骤中计算pred(x,y)的值。
图2A是示出针对一个4×4块200A内的第一预测样本202(在样本位置(0、0)处)的DC模式PDPC权重(wL,wT,wTL)的图。如图所示,针对R-1,y PDPC参考样本的权重wL为32,针对Rx,-1PDPC参考样本的权重wT为32,以及针对R-1,-1PDPC参考样本的权重wTL为-4。权重(wL,wT,wTL)可以根据上文的公式2来确定。如公式2所示,基于预测样本pred(x,y)在当前块中的位置(x,y)来确定权重。
图2B示出了针对在一个4×4块内的样本位置(1、0)的DC模式PDPC权重(wL,wT,wTL)。如图所示,针对R-1,y PDPC参考样本的权重wL为8,针对Rx,-1PDPC参考样本的权重wT为32,以及针对R-1,-1PDPC参考样本的权重wTL为-2。权重(wL,wT,wTL)可以根据上文的公式2来确定。
在某些情况下,如果将PDPC应用于DC、平面、水平和垂直帧内模式,则不应用其他边界滤波器,例如DC模式边界滤波器或水平/垂直模式边缘滤波器。
在某些情况下,PDPC通常可以扩展到角度模式(例如,扩展到对角线帧内模式和扩展到与对角线模式邻近的角度模式)。预期的对角线帧内模式是根据左下方向和右上方向预测的模式,以及若干邻近的角度模式,例如,在左下对角线模式和垂直模式之间的N个邻近模式,以及在右上对角线模式和水平模式之间的N个或M个邻近模式。图3示出了本文公开的角度模式的识别。通常,邻近模式可以是可用角度模式的所选择的子集。在角度模式之间的间隔例如可以是不均匀的,并且例如可以跳过某些角度模式。
在一些示例中,视频编码器22和视频解码器30可以被配置为:执行PDPC,其中,以排除DC、平面、垂直或水平模式的角度模式对当前块进行帧内预测。作为一个示例,视频编码器22可以被配置为:基于不是DC、平面、水平或垂直帧内预测模式的角度帧内预测模式来确定针对当前块的预测块(其包括多个预测样本),以及使用PDPC来修改预测块的预测样本以生成经修改的预测样本。应当理解,尽管针对一个预测样本描述了技术,但示例技术不限于此。在一些示例中,视频编码器22可以使用PDPC来修改预测块的其他预测样本。
为了修改预测样本,视频编码器22可以基于角度帧内预测模式来确定在当前块外部的一个或多个参考样本,并且可以基于所确定的一个或多个参考样本来修改预测样本以生成经修改的预测样本。视频编码器22可以基于经修改的预测样本和当前块中的样本值来确定针对残余块的残余值,并且用信号通知用于指示该残余值的信息。
作为另一示例,视频解码器30可以被配置为:基于不是DC、平面、水平或垂直帧内预测模式的角度帧内预测模式,来确定针对当前块的预测块(其包括多个预测样本),并且使用PDPC来修改预测块的预测样本以生成经修改的预测样本。与上述类似,尽管针对一个预测样本描述了技术,但示例技术不限于此。在一些示例中,视频解码器30可以使用PDPC来修改预测块的其他预测样本。
为了修改预测样本,视频解码器30可以被配置为:基于角度帧内预测模式来确定在当前块外部的一个或多个参考样本,并且基于所确定的一个或多个参考样本来修改预测样本以生成经修改的预测样本。视频解码器30还可以被配置为:基于经修改的预测样本和残余值来重构当前块的样本。
图4A–图4D说明了由扩展到对角线和邻近角度帧内模式的PDPC使用的样本的定义。图4A示出了用于将PDPC扩展到右上对角线模式的参考样本Rx,-1,R-1,y和R-1,-1的定义。预测样本pred(x',y')位于预测块内的(x',y')处。参考样本Rx,-1的坐标x由下式给出:x=x'+y'+1,并且参考样本R-1,y的坐标y类似地由下式给出:y=x'+y'+1。针对右上对角线模式的PDPC权重例如为:wT=16>>((y'<<1)>>shift),wL=16>>((x'<<1)>>shift),wTL=0。
图4B示出了用于将PDPC扩展到左下对角线模式的参考样本Rx,-1,R-1,y和R-1,-1的定义。参考样本Rx,-1的坐标x由下式给出:x=x'+y'+1,并且参考样本R-1,y的坐标y由下式给出:y=x'+y'+1。针对右上对角线模式的PDPC权重例如为:wT=16>>((y'<<1)>>shift),wL=16>>((x'<<1)>>shift),wTL=0。
在图4A和图4B中,视频编码器22和视频解码器30可以各自确定在当前块上方的行(例如,紧接在其上方,但是技术不限于此),并且确定所确定的行中的x坐标。所确定的行中的x坐标等于预测样本的x坐标加上预测样本的y坐标加1。视频编码器22和视频解码器30可以基于所确定的行和所确定的x坐标来确定一个或多个参考样本中的参考样本。
类似地,在图4A和图4B中,视频编码器22和视频解码器30可以确定在当前块左侧的列(例如,紧接在其左侧,但是技术不限于此),并且可以确定所确定的列中的y坐标。所确定的列中的y坐标等于预测样本的x坐标加上预测样本的y坐标加1。视频编码器22和视频解码器30可以基于所确定的列和所确定的y坐标来确定一个或多个参考样本中的参考样本。
基于所确定的x坐标和y坐标,视频编码器22和视频解码器30可以确定参考样本(例如,基于所确定的行和所确定的x坐标的第一参考样本,以及基于所确定的列和所确定的y坐标的第二参考样本)。视频编码器22和视频解码器30还可以根据用于对角线模式(例如,右上对角线模式和左下对角线模式,作为两个示例)的以上示例技术来确定权重。然后,基于公式1(作为一个非限制性示例),视频编码器22和视频解码器30可以确定经修改的预测样本(例如,pred(x,y))。
邻近右上对角线模式的情况在图4C中示出。通常,对于图3中定义的角度α,参考样本R-1,y的y坐标确定如下:y=y’+tan(α)×(x’+1),并且Rx,-1的x坐标由下式给出:x=x’+cotan(α)×(y’+1),其中,tan(α)和cotan(α)分别为角度α的正切和余切。针对邻近右上对角线模式的PDPC权重例如为:wT=32>>((y’<<1)>>shift),wL=32>>((x’<<1)>>shift),wTL=0或者wT=32>>((y’<<1)>>shift),wL=0,wTL=0。
类似地,邻近左下对角线模式的情况在图4D中示出。通常,对于图3中定义的角度β,参考样本Rx,-1的x坐标确定如下x=x’+tan(β)×(y’+1),并且R-1,y的y坐标由下式给出:y=y’+cotan(β)×(x’+1),其中,tan(β)和cotan(β)分别为角度β的正切和余切。针对邻近左下对角线模式的PDPC权重例如为:wL=32>>((x’<<1)>>shift),wT=32>>((y’<<1)>>shift),wTL=0或者wL=32>>((x’<<1)>>shift),wT=0,wTL=0。
在图4C和图4D中,视频编码器22和视频解码器30可以各自确定在当前块上方的行(例如,紧接在其上方,但是技术不限于此),并且可以确定所确定的行中的x坐标。所确定的行中的x坐标基于角度帧内预测模式的角度。视频编码器22和视频解码器30可以基于所确定的行和所确定的x坐标来确定一个或多个参考样本中的参考样本。
为了确定所确定的行中的x坐标,视频编码器22和视频解码器30可以确定角度帧内预测模式的角的余切(例如,用于邻近右上对角线模式)或正切(例如,用于邻近左下对角线模式)中的一项。视频编码器22和视频解码器30可以基于角度帧内预测模式的角的余切或正切中的一项、预测样本的x坐标以及预测样本的y坐标,来确定所确定的行中的x坐标。例如,对于邻近右上对角线角度帧内预测模式,所确定的行中的x坐标等于x’+cotan(α)×(y’+1);并且对于邻近左下对角线模式,所确定的行中的x坐标等于x’+tan(β)×(y’+1),其中x’和y’是正在被修改的预测样本的x坐标和y坐标。
类似地,在图4C和图4D中,视频编码器22和视频解码器30可以各自确定在当前块左侧的列(例如,紧接在其左侧,但是技术不限于此),并且可以确定所确定的列中的y坐标。所确定的列中的y坐标基于角度帧内预测模式的角度。视频编码器22和视频解码器30可以基于所确定的列和所确定的y坐标来确定一个或多个参考样本中的参考样本。
为了确定所确定的列中的y坐标,视频编码器22和视频解码器30可以确定角度帧内预测模式的角的余切(例如,用于邻近左下对角线模式)或正切(例如,用于邻近右上对角线模式)中的一项。视频编码器22和视频解码器30可以基于角度帧内预测模式的角的余切或正切中的一项、预测样本的x坐标以及预测样本的y坐标,来确定所确定的列中的y坐标。例如,对于邻近右上对角线角度帧内预测模式,所确定的列中的y坐标等于y’+tan(α)×(x’+1);并且对于邻近左下对角线模式,所确定的列中的y坐标等于y’+cotan(β)×(x’+1),其中x’和y’是正在被修改的预测样本的x坐标和y坐标。
基于所确定的x坐标和y坐标,视频编码器22和视频解码器30可以确定参考样本(例如,基于所确定的行和所确定的x坐标的第一参考样本,以及基于所确定的列和所确定的y坐标的第二参考样本)。视频编码器22和视频解码器30还可以根据以上用于邻近对角线模式(例如,邻近右上对角线模式和邻近左下对角线模式,作为两个示例)的示例技术来确定权重。然后,基于公式1(作为一个非限制性示例),视频编码器22和视频解码器30可以确定经修改的预测样本(例如,pred(x,y))。
上文描述了用于右上对角线模式和左下对角线模式以及邻近右上对角线模式和邻近左下对角线模式的示例技术,作为可以对其应用PDPC的示例角度模式。示例技术也可以扩展到其他角度模式。此外,在一些示例中,一个或多个参考样本具有与预测块中的预测样本的x坐标和y坐标都不相同的x坐标和y坐标。例如,在上述示例公式中,确定相应行和列中的x和y坐标以确定参考样本,x坐标与正在被修改的预测样本的x坐标不同,并且y坐标与正在被修改的预测样本的y坐标不同。也就是说,参考样本可以与正在被修改的预测样本不在同一行或同一列中。
与针对DC、平面、水平和垂直模式PDPC的情况一样,针对对角线模式和邻近对角线模式,当PDPC被扩展到这些角度模式时,不存在附加的边界滤波,例如,如J.Chen,E.Alshina,G.J.Sullivan,J.-R.Ohm,J.Boyce,“Algorithm description of JointExploration Test Model 7”,第七届JVET会议,意大利托里诺,2017年7月,JVET-G1001,中指出的。
如上所述,PDPC可以应用于角度帧内预测模式,其对复杂度的影响最小。在实际的实施中,角的正切和余切的值可以存储在表格中,以使得不在运行中(例如,在运行时)对其进行计算。以下是针对总共129个角度模式的示例表:
TanAngTable[33]={0,1,2,3,4,5,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,49,52,55,58,61,64}。
CotanAngTable[33]={0,65536,32768,21845,16384,13107,10923,8192,6554,5461,4681,4096,3641,3277,2979,2731,2521,2341,2185,2048,1928,1820,1725,1638,1560,1489,1425,1337,1260,1192,1130,1074,1024}。
而且,这些表可能已经被块的角度帧内预测所采用,并且可以被重新用于将PDPC扩展为对角线模式和邻近模式(例如,角度帧内预测模式)。因此,在实施PDPC时可以不需要额外的表格。在一些示例中,可以例如通过训练来产生定制表,以进一步优化PDPC。
在某些情况下,通过围绕右下对角线来翻转块,将所有水平角度模式映射到垂直模式。围绕垂直模式的对称性使得角的数量进一步减少到33,其中,分别在TanAngTable和CotanAngTable中存储了正切值和余切值。由于所需的整数精度,在使用TanAngTable的情况下,两个表中的值都按因子64缩放;并且在使用CotanAngTable的情况下,按值1024缩放。通过在遍历预测块时,随着对具有增加x’和y’的与角度模式相对应的表格值进行累加,避免上述公式中用于计算坐标x和y的乘法。
如果计算分数值,则可以使用参考样本的插值,例如通过线性或三次插值,或最近邻舍入。例如,为了基于角度帧内预测模式来确定在当前块外部的一个或多个参考样本,视频编码器22和视频解码器30可以被配置为:基于角度帧内预测模式确定来确定一组一个或多个样本,并且对这一组一个或多个样本进行插值以生成一个或多个参考样本。插值就是一个例子。在一些示例中,视频编码器22和/或视频解码器30可执行插值、具有偏移的舍入或无偏移的舍入中的至少一项。视频编码器22和/或视频解码器30可以基于一个或多个样本的集合中的相邻样本来执行具有或不具有偏移的这种舍入,以生成一个或多个参考样本。
在计算大的坐标值的情况下,可能需要裁剪以防止访问在参考线缓冲器边界之外的参考样本。如果执行裁剪,则可以使用最后可用的参考样本,或者PDPC可能退回到仅角度帧内预测,这等效于例如对公式1中的wL、wT、wTL施加零权重。例如,为了基于角度帧内预测模式来确定在当前块外部的一个或多个参考样本,视频编码器22和视频解码器30可以被配置为:确定基于角度帧内预测模式识别的在当前块外部的一个或多个样本未存储在参考线缓冲器中,并且基于存储在参考线缓冲器中的最后参考样本来确定一个或多个参考样本。
在一些示例中,不使用参考线缓冲器中的最后样本,而是可以针对当前块禁用PDPC,或者可以针对某些预测样本禁用PDPC,从而使用普通的帧内预测(例如,没有经修改的预测样本)。作为一个示例,对于预测块中的预测样本,视频编码器22和/或视频解码器30可以确定第一参考样本在参考缓冲器中可用,而第二参考样本在参考缓冲器中不可用。在该示例中,视频编码器22和/或视频解码器30可以确定针对预测样本禁用PDPC。然而,在一些示例中,视频编码器22和/或视频解码器30可以将第一参考样本用于PDPC并且不利用第二参考样本(例如,通过将针对第二参考样本的权重设置为零)。
如上所述,在一些示例中,视频编码器22和视频解码器30可以对预测块中的多个预测样本执行示例PDPC技术。但是,可能存在以下情况:在同一预测块中,在某些预测样本上使用PDPC技术而在其他预测样本上不使用PDPC技术。例如,假设针对预测块中的第一预测样本,视频编码器22和/或视频解码器30执行本文所述的PDPC技术。然而,对于同一预测块中的第二预测样本,假设用于对第二预测样本执行PDPC技术所需的参考样本没有存储在参考线缓冲器中。在该示例中,对于第二预测样本,视频编码器22和/或视频解码器30可以不执行PDPC技术,并且可以利用普通的帧内预测技术。在某些情况下,对于第二预测样本,可能这些参考样本中的一个参考样本在参考线缓冲器中可用,而另一个参考样本则不可用。在一些示例中,视频编码器22和/或视频解码器30可以不对第二预测样本执行PDPC技术,或者可以仅利用可用的参考样本,并且向应用于不可用的参考样本的权重指派零权重。
像用于对角线模式和邻近角度模式的PDPC扩展一样,PDPC可以扩展到与水平模式和垂直模式邻近的角度模式。在这种情况下,邻近的角度模式可以指在水平和垂直模式两侧的角度模式。在邻近水平角度模式的情况下,Rx,-1的x坐标等于pred(x,y)的x坐标。示例PDPC权重为:wT=16>>((y<<1)>>shift),wL=0,wTL=wT。在邻近垂直角度模式的情况下,R-1,y的y坐标等于pred(x,y)的y坐标。示例PDPC权重为:wL=16>>((x<<1)>>shift),wT=0,wTL=wL。
如上文讨论所示,PDPC使用当前块上方最近的线和当前块左侧最近的线中存在的样本。本文描述了用于扩展PDPC以与多个参考线一起使用的技术和系统(例如,MRL模式)。使用此类技术,当多个参考线被用于生成帧内制码预测样本时,和/或当多个参考线被用于生成PDPC参考样本时(所述PDPC参考样本然后被用于对这些帧内制码的预测样本进行修改),视频编码和解码系统10可以使用PDPC来对视频数据进行制码。
作为一个例子,视频制码器(例如,视频编码器22和/或视频解码器30)可以被配置为基于帧内预测模式来确定针对当前块的预测块。帧内预测模式可以包括任何模式,例如平面模式(例如,模式0)、DC模式(例如,模式1)和/或任何角度模式(例如,水平模式、垂直模式或者水平和垂直模式的变体,包括任何帧内预测模式2-34)。预测块包括多个预测样本。在某些情况下,可以基于帧内预测模式,使用多个参考线(例如,使用MRL模式)来确定预测块的预测样本。
存在若干利用MRL的帧内预测模式的示例。一个示例包括从邻域中选择线中的一条或多条线作为用于帧内预测的参考线。使用MRL的另一个示例包括对来自两条或更多条线样本的样本(如果处于分数位置(也被称为非整数位置)则该样本可能会插值)进行组合,以获得与帧内预测模式(例如,DC模式、平面模式、水平(HOR)/垂直(VER)模式、定向模式或其他模式)相对应的块内样本的预测,或者获得然后将用于对样本的预测的“参考线”。例如,代替用信号发送和从多条参考线中选择特定线,视频制码器可以将一条或多条线组合成单条线,这被称为新的“参考线”。可以通过确定样本的加权平均值、样本的非线性组合或其他组合,来对来自两条或更多条线的样本进行组合。
图5A和图5B是示出使用多条参考线的帧内预测的示例的示图。参照图5A,当前块500的使用帧内预测模式预测的预测样本被示为pred(x,y)。在图5A的示例中使用的帧内预测模式可以包括:帧内预测模式2(具有以相对于pred(x,y)呈-135°的角度,朝向参考样本组514的方向)、帧内预测模式18(具有以相对于pred(x,y)呈-45°的角度,朝向参考样本组516的方向)和/或帧内预测模式34(具有以相对于pred(x,y)呈45°的角度,朝向参考样本组518的方向)。
可以沿对应预测方向,从线502、504、506、508、510和/或512中的任何线中选择用于帧内预测的参考样本。邻近线502包括从顶部相邻块到当前块500最近的样本行,并且邻近线504包括从左相邻块到当前块500的最近的样本列。线506包括从顶部相邻块到当前块500第二最近的样本行,并且线508包括从左相邻块到当前块500第二最近的样本列。线510包括从顶部相邻块到当前块500第三最近的样本行,并且线512包括从左相邻块到当前块500第三最近的样本列。在某些情况下,线502和504被视为一条线(与当前块最近的线),线506和508被视为另一条线(与当前块相距一个样本的线),并且线510和512被视为另一条线(与当前块相距两个样本的线)。
在一个示例中,可以选择帧内预测模式34以执行帧内预测,并且可以选择线510作为要用于帧内预测的线。因为选择了帧内预测模式34,所以样本520的值可以用作预测样本pred(x,y)的值。在另一示例中,可以选择帧内预测模式34,并且可以选择线502、506和510以用于确定针对预测样本pred(x,y)的值。例如,可以对样本520,样本522和样本524进行组合以获得预测样本pred(x,y)的值。例如,可以通过确定样本的加权平均,通过确定样本的非线性组合或其他组合,来对样本520、522和524进行组合。
在图5B中,帧内预测模式可以包括:帧内预测模式26(具有相对于pred(x,y),朝向参考样本组526的垂直方向)、帧内预测模式18(具有以相对于pred(x,y)呈-45°的角度,朝向参考样本组516的方向)和/或帧内预测模式10(具有相对于pred(x,y),朝向参考样本组528的水平方向)。
可以沿对应预测方向,从线502、504、506、508、510和/或512中的任何线中选择用于帧内预测的参考样本。在一个示例中,可以选择帧内预测模式26以执行帧内预测,并且可以选择线510作为要用于帧内预测的线。基于选择了帧内预测模式26,样本530的值可以用作预测样本pred(x,y)的值。在另一示例中,可以选择帧内预测模式26,并且可以选择线502、506和510以用于确定针对预测样本pred(x,y)的值。例如,可以对样本530,样本532和样本534进行组合以获得预测样本pred(x,y)的值。例如,可以通过确定样本的加权平均,通过确定样本的非线性组合或其他组合,来对样本530、532和534进行组合。
如上所述,视频制码器可以使用位置相关帧内预测组合(PDPC)来修改预测块的预测样本以产生经修改的预测样本。举例来说,视频制码器可确定使用帧内预测来确定的预测样本(例如,pred’(x,y))与使用PDPC来确定的一个或多个参考样本(例如,R-1,y、Rx,-1和R-1,-1)的加权组合。可以使用上文所示的公式1来确定加权组合。应当理解,尽管针对一个预测样本描述了技术,但示例技术不限于此。在一些示例中,视频制码器可以使用PDPC来修改预测块的其他预测样本。
为了修改预测样本,视频制码器可以从多条参考线确定在当前块外部的一个或多个参考样本。当使用多个参考线来生成PDPC参考样本时,可以将公式1修改为包括额外参考样本线(例如,不限于当前块上方一行或左侧一行的样本),如下所述。在这种情况下,多个参考样本在Rx,-1、R-1,y、R-1,-1的邻域中是可用的,并且每个参考样本可以具有指派的权重,该权重可以是例如通过训练优化的。
当由视频编码器22执行时,视频编码器22可以基于经修改的预测样本和当前块中的样本值来确定针对残余块的残余值(通过确定在样本值与经修改的预测样本之间的预测误差),并且可以用信号通知用于指示残余值的信息。当由视频解码器30执行时,视频解码器30可以基于经修改的预测样本和残余值来重构当前块的样本。
但是,将PDPC扩展到使用多个参考线的情况时可能会存在技术上的复杂性。例如,在当前的视频制码方案中,当将MRL模式用于帧内预测时,不清楚哪些参考线应与PDPC一起使用。因此,可能不确定要使用哪些参考样本(例如,Rx,-1、R-1,y、R-1,-1或来自当前块邻域中的其他线的参考样本等)来修改使用帧内预测确定的预测样本,从而难以获得使用PDPC带来的视频制码效率。例如,如果用于用信号通知与块相关联的残余值所需的信息减少,则带宽效率增加。相应地,与其他技术相比,用于修改预测块的参考样本应该使得从经修改的预测块生成的残余值需要更少的用信号通知的信息量。但是,如果要确定使用哪些参考样本过于繁琐,则视频解码器30用于重构当前块所花费的时间可能会有时延。
本公开内容描述了示例技术,该示例技术提供了对将PDPC与帧内预测模式以及多个参考线的使用相结合的视频制码技术的实际应用。各种方法可以被独立执行或可以用任何适当的组合方式来使用。
在一些示例中,可以通过使用属于当前块上方和/或左侧的最近线的样本来确定PDPD参考样本,来执行帧内预测(例如,使用MRL模式或仅使用邻近线)和PDPC的组合。例如,不管使用哪个参考线来进行常规帧内预测,对于PDPC,邻近参考线始终可以用于PDPC。在这样的示例中,用于常规帧内预测的参考线可以与用于确定PDPC参考样本的参考线不同。在一个说明性示例中,参考图5A,帧内预测可以使用线510(距离当前块第三最近的线)来确定针对预测样本pred(x,y)的值,而邻近线502和/或邻近线504可用于确定PDPC参考样本。
在一些示例中,可以使用属于当前块邻域的线的一个或多个样本来确定PDPC参考样本。例如,一个或多个样本可以从来自与当前块相邻的一个或多个重构块的多个参考线中的一条或多条线中选择。图6是示出从来自与当前块600相邻的一个或多个重构块的线中确定一个或多个PDPC参考样本的示例的图。使用一条或多条邻近线或多条参考线来执行帧内预测。例如,当前块600的使用帧内预测模式预测的预测样本被示为pred’(x’,y’)。如上文参考公式1所述,可以使用一个或多个PDPC参考样本来修改帧内预测的样本pred’(x’,y’)以获得pred(x,y)。
在图6的示例中使用的帧内预测模式可以包括:帧内预测模式2(具有以相对于pred’(x’,y’)呈-135°的角度,朝向参考样本组614的方向)、帧内预测模式18(具有以相对于pred’(x’,y’)呈-45°的角度,朝向参考样本组616的方向)和/或帧内预测模式34(具有以相对于pred’(x’,y’)呈45°的角度,朝向参考样本组618的方向)。可以沿对应预测方向,从线602、604、606、608、610和/或612中的任何一条线中选择用于帧内预测的参考样本。邻近线602包括从顶部相邻块到当前块600最近的样本行,并且邻近线604包括从左相邻块到当前块600的最近的样本列。线606包括从顶部相邻块到当前块600第二最近的样本行,并且线608包括从左相邻块到当前块600第二最近的样本列。线610包括从顶部相邻块到当前块600第三最近的样本行,并且线612包括从左相邻块到当前块600第三最近的样本列。
在一个示例中,可以选择帧内预测模式2以执行帧内预测,并且可以选择线612作为要用于帧内预测的线。因为选择了帧内预测模式2,所以样本640的值可以用作预测样本pred’(x’,y’)的值。如上所述,在某些情况下,可以合并来自多个行或列的样本,以获得预测样本pred'(x,y)的值。
来自当前块600的邻域中的线602、604、606、608、610和/或612中的任何线的样本可以用于确定PDPC参考样本。在一个示例中,继续进行使用帧内预测模式2的先前示例,可以选择参考线606和参考线608作为用于确定PDPC参考样本的线,表示为Rx,-2、R-2,y和R-2,-2,因为参考线606和608与当前块600相距两行/两列。在某些情况下,只有一条线可以用于PDPC,而不是两条或更多条线。给定位于(x',y')的预测样本pred(x',y'),参考样本Rx,-2的坐标x由下式给出:x=x'+y'+2,以及参考样本R-2,y的坐标y可以类似地由下式给出:y=x'+y'+2。在一个说明性示例中,PDPC参考样本可以被选择为针对Rx,-2的样本622,针对R-2,y的样本642,以及针对R-2,-2的样本644。PDPC权重可以确定为:
wT=16>>((y’<<1)>>shift),wL=16>>((x’<<1)>>shift),wTL=0,
(公式3)。
参考样本Rx,-2、R-2,y和R-2,-2以及权重wT、wL和wTL可用于使用公式1来修改预测样本pred'(x',y')。
在一些示例中,视频编码器22可以用信号通知用于指示用于确定一个或多个PDPC参考样本的一或多条线的信息。在一些情况下,用信号通知的信息可以包括要用于PDPC的预定线的集合的索引。在一个说明性示例中,当前块的邻近线(例如,图6中的线602和/或线604)可以具有为0的索引,从当前块的第二条线(例如,图6中的线606和/或线608)可以具有为1的索引,并且从当前块的第三条线(例如,图6中的线610和/或线612)可以具有为1的索引。在一些示例中,针对顶线(例如,线602、606或610)和对应左线(线604、608或612)的索引相等。例如,索引0可以对应于线602和线604二者。在一些示例中,可以针对左参考线和上参考线独立地用信号通知信息,在这种情况下,可以针对顶线和左线使用不同的索引。例如,为0的索引可以用于作为当前块的顶部邻近线的线602,为1的索引可以用于作为当前块的左侧邻近线的线604,为2的索引可以用于线606,为3的索引可以用于线608,为4的索引可以用于线610,为5的索引可以用于线612。
可以(例如,由视频编码器22)在视频比特流中或与比特流一起(例如,作为带外通信(例如,使用补充增强信息(SEI)消息)或其他通信)发送将用于确定一个或多个PDPC参考样本的一条或多条线的索引。视频解码器30可接收索引,并且可以对索引中的信息进行解码以确定哪条(哪些)线用于确定一个或多个PDPC参考样本。在一些实现中,用于指示哪条(哪些)线要用于PDPC的索引可以是与用于指示要使用哪种帧内预测模式相同的索引。例如,如果为1的索引指示距离当前块第二最近的线(例如,图6中的线606)将用于帧内预测,则为1的索引还可以指示距离当前块第二最近的线(例如,图6中的线606和/或线608)将用于确定PDPC参考样本。在一些实现中,用于指示哪条(哪些)线要用于PDPC的索引可以是与用于指示要使用哪种帧内预测模式不同的索引。例如,可以将一个索引提供给视频解码器30以指示在哪里找到将用于帧内预测的样本(例如,使用哪种帧内预测模式),并且可以将另一索引提供给视频解码器30以指示哪条(哪些)线要用于确定一个或多个PDPC参考样本。
在一些示例中,该信息可以包括要用于PDPC的一个或多个线的推导列表。在某些情况下,可以用信号通知信令信息,并且可以从信令信息中推导出用于左线和上线的参考线。例如,在某些情况下,视频制码器(视频编码器22和/或视频解码器30)可以在不依赖于用信号通知的信息的情况下,推导出用于确定PDPC参考样本的一条或多条线。推导可以基于块位置(例如,CU、PU、宏块、CTU或其他块位置)、块的大小(例如,较小的块(例如4x4块)可以使用比较大的块(例如8x8块)少的参考线),帧内预测模式或其他因素。
例如,视频制码器(视频编码器22和/或视频解码器30)可以使用正在被预测的当前块是位于CTU(或宏块或其他块)的边界处还是附近,来推导要使用哪条线(哪些)线来确定针对块中的预测样本的一个或多个PDPC参考样本。取决于当前块在CTU中的位置,不同的线的集合可以可用于PDPC。在一个说明性示例中,当样本在CTU边界处时,可能期望使用一条参考线,并且因此不使用多于一条的参考线。在这种情况下,如果使用多于一条的参考线(尤其是上述参考线),则可能需要存储额外线缓冲器,从而导致缓冲器存储需求增加。在这样的示例中的推导将基于块在CTU中的位置。距CTU边缘较远的块可以使用多条参考线来确定PDPC参考样本。在一个说明性示例中,对于在与CTU(或宏块或其他块)的边缘相距两个块的块中的参考样本,可以使用两条参考线(例如,参考线602和606、参考线604和608,或者从图6中两条参考线的任意其他组合)来确定PDPC参考样本。在另一个说明性示例中,对于与CTU(或宏块或其他块)的边缘相距至少三个块的块中的参考样本,可以使用三条参考线(例如,参考线602、606和610,参考线604、608和610,或者从图6中三条参考线的任意其他组合)来确定PDPC参考样本。
如上所述,制码设备可基于可用数据(例如帧内预测模式类型)来导出将用于选择一个或多个PDPC参考样本的参考线。例如,假设将多个参考线用于常规帧内预测,则idx可以用于表示对用于常规帧内预测的参考线的索引。对于PDPC,要选择的参考线可以基于帧内预测模式类型。在一个示例中,对于平面模式,PDPC可以选择距离该块最近的参考线,而与idx的值无关。在另一示例中,对于DC模式,PDPC可以选择距离该块最近的参考线,而与idx的值无关。在另一示例中,对于角度模式,可以选择具有等于idx的索引的参考线以选择参考样本。
在一些示例中,制码设备(视频编码器22和/或视频解码器30)可以基于帧内预测模式类型来从参考线推导出PDPC参考样本的位置。例如,对于DC模式,在某些情况下,可能会使用顶部样本(例如,图2A中的Rx,-1)、左侧样本(例如,R-1,y)和左上方样本(例如,R-1,-1)。在另一示例中,对于水平角度帧内预测模式(例如,模式10),在某些情况下,可能会仅使用顶部样本(例如,图2A的Rx,-1)和左上方样本(例如,R-1,-1)。在另一示例中,对于垂直角度帧内预测模式(例如,模式26),在某些情况下,可能仅使用左侧样本(例如,R-1,y)和左上方样本(例如,R-1,-1)。在另一示例中,对于平面模式,在某些情况下,可能仅使用顶部样本(例如,图2A中的Rx,-1)和左侧样本(例如,R-1,y)。
在一些情况下,对于角度(或定向)帧内预测模式,可以使用帧内预测模式类型的角度来推导参考线上的参考样本位置。例如,可以通过用于确定预测样本(例如,图6中的pred’(x’,y’))的特定帧内预测模式的角度(或方向),来确定来自参考线的要用作PDPC参考样本的样本。可以将与相应参考线和方向相交的参考样本位置选择为PDPC参考样本。在参考图6的一个说明性示例中,可以通过推导特定推导角与参考线相交的位置以推导出参考样本位置,来获得右上组参考样本618和左下组参考样本614。在一些示例中,PDPC参考样本可以与帧内预测的预测样本共置。例如,如果帧内预测模式被设置为模式2(参照参考样本组614),则样本642可以用作预测样本(例如,图6的pred’(x’,y’)),并且也可以用作PDPC参考样本中的一个PDPC参考样本(例如,R-2,y)。因为使用了帧内预测模式2,所以可以选择参考样本622作为另一个PDPC参考样本(例如,Rx,-2)。在某些情况下,除了帧内预测模式类型的角度之外或作为其替代,还可以使用参考线距当前块的边缘中的一个边缘的距离。
在某些情况下,根据上述技术推导或确定的PDPC参考样本可能不在与实际样本位置相对应的整数样本位置(在这种情况下位于分数位置)。在这种情况下,制码设备(视频编码器22和/或视频解码器30)可能必须进行插值以获得PDPC参考样本值。例如,参考线中的PDPC参考样本可以通过对来自样本邻域的样本进行插值而推导出。在某些情况下,参考线中的一个或多个样本是通过对同一参考线中的其他样本进行插值获得的。例如,如果参考线中所确定的PDPC样本位置在参考线中的整数位置处的两个样本之间,则这两个样本可以用于对所确定的PDPC样本位置的值进行插值。可以通过线性插值(例如,使用两个或更多个样本),使用n抽头插值滤波器(例如,4抽头高斯滤波器或三次插值滤波器或其他插值滤波器)或者使用任何其他合适的插值技术,来执行插值。在一个说明性示例中,如果确定推导出的PDPC样本位置(例如,基于与帧间预测模式相对应的方向,或者基于本文中描述的另一技术)在某条线中位于第一整数样本位置和第二整数样本位置之间的中间位置,则可以利用对位于第一整数样本位置处的第一样本(S1)和位于第二整数样本位置处的第二样本(S2)中的每个样本施加相等的权重(例如,为0.5的权重)来执行线性插值。在这样的示例中,第一样本和第一样本的加权组合将用于确定PDPC样本的值SPDPC。这样的公式可以表示为SPDPC=0.5×S1+0.5×S2。
在一些示例中,制码设备(视频编码器22和/或视频解码器30)可以使用属于当前块邻域中的两条或更多条参考线的样本的加权平均或非线性组合,来推导出将用于PDPC的PDPC参考样本。如上所述,可以基于帧内预测模式来推导出特定的PDPC参考样本。例如,对于平面模式,可以选择PDPC参考样本作为预测样本上方的参考样本(顶部样本),以及作为预测样本左侧的参考样本(左侧样本)。作为另一示例,对于角度模式,如上所述,可以基于帧内预测模式的方向来选择PDPC参考样本。
在某些情况下,权重可以基于相应的PDPC参考样本(来自两条或更多条参考线)与预测样本(例如,图6中的pred’(x’,y’))的距离。在参照图6的一个说明性示例中,可以基于帧内预测模式的方向或者基于本文所述的一些其他因素,选择样本620、样本622和样本624作为PDPC参考样本。可以使用加权平均来对样本620、622和624的值进行平均。例如,样本624可以具有最高权重(例如,为0.5的权重值),因为样本624与预测样本pred’(x’,y’)最近。随着PDPC参考样本位置距离预测样本pred’(x’,y’)的位置越来越远,权重可以逐渐减小。例如,样本622可以具有次高的权重(例如,为0.3的权重值),并且样本620可以具有最低的权重(例如,为0.2的权重值)。
在一些实现中,可以在视频比特流中或与视频比特流一起用信号通知用于进行平均的权重。在某些情况下,可以针对每条线(例如,针对左参考线和上参考线)独立地用信号通知权重。在一些实现中,可以在编码视频比特流中或与编码视频比特流一起用信号通知可以用于推导相应权重的信息。例如,如上所述,可以基于(来自两条或更多条参考线的)相应的PDPC参考样本与预测样本(例如,图6中的pred’(x’,y’))的距离来预先确定针对PDPC样本的权重。在这种情况下,制码设备可以基于线相对于预测样本的距离推导出权重。
在一些示例中,当使用来自两条或更多条线的样本时,类似于上述技术,制码设备可以基于参考线和帧内模式类型,推导出要用于加权平均或线性组合的PDPC样本的位置。在一些情况下,参考线距当前块的边缘中的一个边缘的距离和/或帧内预测模式类型的角度可以用于推导出要被平均的样本的位置。在一些示例中,当使用来自两条或更多条线的样本时,制码设备可以通过从相应样本/样本位置的邻域进行插值(例如,通过线性插值,使用n抽头插值滤波器(例如4抽头高斯滤波器或三次插值滤波器或其他插值滤波器),或者使用任何其他合适的插值技术),来推导出一个或多个样本用于加权平均或线性组合。
在另一示例中,编码设备可以基于所使用的参考线来确定不同的PDPC权重集合(例如,wT、wL、wTL或其他PDPC权重),可以基于使用的参考线选择不同的PDPC权重集合中的一个集合,并且可以基于所选择的PDPC权重应用PDPC。在一些情况下,视频编码器22可以在视频比特流中或与视频比特流一起用信号通知不同的PDPC权重集合。例如,如果选择了与当前块邻近的线(例如,图6中的线602和/或线604),则可以使用第一PDPC权重集合,并且如果选择了非邻近的线(例如,图6中的线606、线608、线610、和/或线610),则可以使用比第一PDPC权重集合更低的第二PDPC权重集合和/或第三PDPC权重集合。根据所使用的参考线来使用不同的PDPC权重的一个原因是由于块中不同位置的误差减少能力的差异。例如,当使用与当前块的邻近线(例如,图6中的线602和/或线604)时,在当前块的边缘上将减少大量预测误差,从而造成用于纠正预测误差的高置信度。由于在典型图像和视频中观察到的空间上邻近的样本之间的高相关性,因此可能会出现误差,因为随着在样本之间距离的增加,相关性通常会降低。在这种情况下,可以将较高的PDPC权重用于邻近线,从而导致与来自非邻近线的PDPC参考样本相比,来自邻近线的PDPC参考样本的贡献更大。当参考线距离当前块越来越远时,预测误差纠正会越不准确,在这种情况下,可以使用较低的权重。在参照上文公式2的一个说明性示例中,如果使用参考线606(例如,对应于为1的参考线索引),则x和y位置可以改变为x+1和y+1,因为参考线606的距离是与当前块600相距一个单位,从而导致比邻近线所使用的权重更小的wT、wL和wTL权重。
在某些情况下,用信号通知一个PDPC权重集合,并且基于所使用的参考线来从用信号通知的权重中推导出要应用的PDPC权重。在一个说明性示例中,权重参数(例如,x+a和y+a,其中x是预测样本的x坐标,y是预测样本的y坐标,并且a等于参考线索引或该线相对于当前块的位置)可以由视频编码器22用信号通知,并且视频解码器30可以基于该参数,基于将要使用的参考线的参考线索引,或基于该线相对于当前块的位置来推导出权重。使用上面的示例,如果使用参考线606(例如,对应于为1的参考线索引),则视频解码器30可以确定a的值等于1,并且可以在上文的公式2中使用x+1和y+1。
在某些情况下,PDPC权重的推导可以取决于帧内模式类型。在一个示例中,对于DC模式,可以使用公式2来计算针对具有维度宽度和高度的块的权重。在其他示例中,对于平面模式wTL=0,对于水平模式wL=0并且wTL=wT,以及对于垂直模式,wT=0并且wTL=wL。在某些情况下,PDPC权重可以只通过加法和移位来计算。在另一示例中,可以使用公式3来确定PDPC权重。
图7是示出使用本文中描述的技术中的一种或多种技术对视频数据进行解码的过程700的示例的流程图。在框702处,过程700包括:使用帧内预测模式来预测针对当前块的样本的初始预测样本值。初始预测样本值是根据当前块的第一相邻块或第二相邻块中的至少一者来预测的。
在某些情况下,第一相邻块和第二相邻块可以是分别的块,并且可以在当前块的不同侧。在一个说明性示例中,第一相邻块可以是顶部相邻块(在当前块上方),以及第二相邻块可以是左侧相邻块(在当前块的左侧)。在某些情况下,第一相邻块和第二相邻块可以是分别的块,并且都可以在当前块的同一侧上相邻。在这种情况下,当前块可以包括某个大小的块(例如,64x64块),并且第一相邻块和第二相邻块的大小可以具有比当前块更小的大小(例如,为4x4、16x16或其他大小的大小),从而允许第一相邻块和第二相邻块都在当前块的同一侧上与当前块相邻。在一个说明性示例中,第一相邻块可以是第一顶部相邻块(在当前块上方),以及第二相邻块可以是第二顶部相邻块(也在当前块上方)。在另一说明性示例中,第一相邻块可以是第一左相邻块(在当前块的左侧),以及第二相邻块可以是第二左相邻块(也在当前块的左侧)。
在框704处,过程700包括:根据多条参考样本线中的至少一条线确定一个或多个参考样本值。该多条参考样本线来自当前块的第一相邻块和/或第二相邻块。在一些情况下,确定一个或多个参考样本值包括:根据多条参考样本线中的两条或更多条线确定样本的加权平均。
在一些情况下,多条参考样本线中的用于确定一个或多个参考样本值的至少一条线不与当前块邻近。在一些情况下,多条参考样本线中的用于确定一个或多个参考样本值的至少一条线与当前块邻近。在一个图示示例中,多条参考样本线中的至少一条线包括当前块上方的参考样本线和/或当前块左侧的参考样本线。在一些示例中,当前块上方的参考样本线包括除了当前块上方的最近线以外的线线。在一些示例中,当前块左侧的参考样本线包括除了当前块左侧的最近线以外的线。在一些示例中,当前块上方的参考样本线包括除了当前块上方的最近线以外的线,并且当前块左侧的参考样本线包括除了当前块左侧的最近线以外的线。
初始预测样本值可以是根据多条参考样本线中的一条或多条线来预测的。用于预测初始预测样本值的一条或多条线可以与用于确定一个或多个参考样本值的一条或多条线相同或不同。例如,用于确定一个或多个参考样本值的第一参考样本线可以不同于用于预测初始预测样本值的第二参考样本线。在一些情况下,用于确定一个或多个参考样本值的第一参考样本线可以包括当前块上方的最近线(例如,来自图6的线602)或者当前块左侧的最近线(例如,来自图6的线604),并且用于预测初始预测样本值的第二参考样本线可以包括除了当前块上方最近线以外的线(例如,来自图6的线606或610中的一者)或者除了当前块左侧最近线以外的线(例如,来自图6的线608或612中的一者)。在一些情况下,用于确定一个或多个参考样本值的第一参考样本线可以包括除了当前块上方的最近线以外的线(例如,来自图6的线606或610中的一者)或者除了当前块左侧的最近线以外的线(例如,来自图6的线608或612中的一者),并且用于预测初始预测样本值的第二参考样本线可以包括当前块上方的最近线(例如,来自图6的线602)或者当前块左侧的最近线(例如,来自图6的线604)。
在框706处,过程700包括:确定针对当前块的样本的最终预测样本值。确定最终预测样本值包括:使用一个或多个参考样本值来修改初始预测样本值。例如,使用一个或多个参考样本值来修改初始预测样本值可以包括:确定初始预测样本值和一个或多个参考样本值的加权组合。在一些情况下,过程700包括:基于与初始预测样本值相关联的样本的x坐标和y坐标来确定多个权重。在这样的情况下,加权组合是基于一个或多个参考样本值、多个权重和初始预测样本值的(例如,使用上文的公式1)。
在框708处,过程700包括:基于最终预测样本值来重构当前块的样本。
在一些示例中,过程700包括:基于帧内预测模式来针对当前块确定包括多个预测样本的预测块。初始预测样本值是根据来自预测块的多个预测样本来预测的。
在一些示例中,过程700包括:获得包括信令信息的编码视频比特流。信令信息指示多条参考样本线中的用于确定一个或多个参考样本值的至少一条线。在这样的示例中,过程700还包括:对信令信息进行处理以确定用于确定一个或多个参考样本值的一条或多条参考样本线。
在一些示例中,信令信息包括对预定线的集合的索引。预定线的集合对应于用于确定一个或多个参考样本值的一条或多条参考样本线。在一些示例中,信令信息包括对一条或多条线的推导列表的索引。一条或多条线的推导列表对应于用于确定一个或多个参考样本值的一条或多条参考样本线。在一些示例中,信令信息是针对当前块上方的线以及针对当前块左侧的线,在编码视频比特流中独立地用信号通知的。在一些示例中,信令信息包括用于确定最终预测样本值的权重集合。权重集合可以是基于多条参考样本线中的用于确定一个或多个参考样本值的至少一条线,从多个权重集合中选择的。
在一些示例中,过程700包括:基于帧内预测模式的类型,从多条参考样本线中的至少一条线推导参考样本的位置。参考样本与一个或多个参考样本值中的参考样本值相关联。在一些示例中,位置是基于参考线距当前块的边缘的距离以及与帧内预测模式的类型相关联的角度而推导出的。
在一些示例中,过程700包括:从多条参考样本线中的至少一条线推导出一个或多个参考样本值中的参考样本值。在这样的示例中,参考样本值可以是通过在参考样本值周围对来自参考样本值的邻域的参考样本值进行插值而推导出的。
在一些示例中,过程700包括基于帧内预测模式的类型,推导出多条参考样本线中的用于确定一个或多个参考样本值的至少一条线。
图8是示出使用本文中描述的技术中的一种或多种技术对视频数据进行编码的过程800的示例的流程图。在框802处,过程800包括:使用帧内预测模式来预测针对当前块的样本的初始预测样本值。初始预测样本值是根据当前块的第一相邻块或第二相邻块中的至少一者来预测的。
在某些情况下,第一相邻块和第二相邻块可以是分开的块,并且可以在当前块的不同侧。在一个说明性示例中,第一相邻块可以是(在当前块上方的)顶部相邻块,并且第二相邻块可以是(在当前块的左侧的)左侧相邻块。在某些情况下,第一相邻块和第二相邻块可以是分别的块,并且都可以在当前块的同一侧上相邻。在一个说明性示例中,第一相邻块可以是(在当前块上方的)第一顶部相邻块,并且第二相邻块可以是(也在当前块上方的)第二顶部相邻块。在另一说明性示例中,第一相邻块可以是(在当前块的左侧的)第一左相邻块,并且第二相邻块可以是(也在当前块的左侧的)第二左相邻块。
在框804处,过程800包括:根据多条参考样本线中的至少一条线确定一个或多个参考样本值。该多条参考样本线来自当前块的第一相邻块和/或第二相邻块。在一些情况下,确定一个或多个参考样本值包括:根据多条参考样本线中的两条或更多条线确定样本的加权平均。
在一些情况下,多条参考样本线中的用于确定一个或多个参考样本值的至少一条线不与当前块邻近。在一些情况下,多条参考样本线中的用于确定一个或多个参考样本值的至少一条线与当前块邻近。在一个说明性示例中,多条参考样本线中的至少一条线包括当前块上方的参考样本线和/或当前块左侧的参考样本线。在一些示例中,当前块上方的参考样本线包括除了当前块上方的最近线以外的线。在一些示例中,当前块左侧的参考样本线包括除了当前块左侧的最近线以外的线。在一些示例中,当前块上方的参考样本线包括除了当前块上方的最近线以外的线,并且当前块左侧的参考样本线包括除了当前块左侧的最近线以外的线。
初始预测样本值可以是根据多条参考样本线中的一条或多条线来预测的。用于预测初始预测样本的一条或多条线可以与用于确定一个或多个参考样本值的一条或多条线相同或不同。例如,用于确定一个或多个参考样本值的第一参考样本线可以不同于用于预测初始预测样本值的第二参考样本线。在一些情况下,用于确定一个或多个参考样本值的第一参考样本线可以包括当前块上方的最近线(例如,来自图6的线602)或者当前块左侧的最近线(例如,来自图6的线604),并且用于预测初始预测样本值的第二参考样本线可以包括除了当前块上方的最近线以外的线(例如,来自图6的线606或610中的一者)或者除了当前块左侧的最近线以外的线(例如,来自图6的线608或612中的一者)。在一些情况下,用于确定一个或多个参考样本值的第一参考样本线可以包括除了当前块上方的最近线以外的线(例如,来自图6的线606或610中的一者)或者除了当前块左侧的最近线以外的线(例如,来自图6的线608或612中的一者),并且用于预测初始预测样本值的第二参考样本线可以包括当前块上方的最近线(例如,来自图6的线602)或者当前块左侧的最近线(例如,来自图6的线604)。
在框806处,过程800包括:确定针对当前块的样本的最终预测样本值。确定最终预测样本值包括:使用一个或多个参考样本值来修改初始预测样本值。例如,使用一个或多个参考样本值来修改初始预测样本值可以包括:确定初始预测样本值和一个或多个参考样本值的加权组合。在一些情况下,过程700包括:基于与初始预测样本值相关联的样本的x坐标和y坐标来确定多个权重。在这样的情况下,加权组合是基于一个或多个参考样本值、多个权重和初始预测样本值的(例如,使用上文的公式1)。
在框808处,过程800包括:基于最终预测样本值和当前块的样本的值,确定针对残余块的残余值。在框810处,过程800包括:用信号通知用于指示残余值的信息。
在一些示例中,过程800包括:基于帧内预测模式,针对当前块确定包括多个预测样本的预测块。初始预测样本值是根据来自预测块的多个预测样本来预测的。
在一些示例中,过程800包括:生成包括信令信息的编码视频比特流。信令信息指示多条参考样本线中的用于确定一个或多个参考样本值的至少一条线。在一些示例中,信令信息包括对预定线的集合的索引。预定线的集合对应于用于确定一个或多个参考样本值的一条或多条参考样本线。在一些示例中,信令信息包括对一条或多条线的推导列表的索引。一条或多条线的推导列表对应于用于确定一个或多个参考样本值的一条或多条参考样本线。在一些示例中,信令信息是针对当前块上方的线以及针对当前块左侧的线,在编码视频比特流中独立地用信号通知的。在一些示例中,信令信息包括用于确定最终预测样本值的权重集合。权重集合可以是基于多条参考样本线中的用于确定一个或多个参考样本值的至少一条线,从多个权重集合中选择的。
在一些示例中,过程800包括:基于帧内预测模式的类型,从多条参考样本线中的至少一条线获得参考样本的位置。参考样本与一个或多个参考样本值中的参考样本值相关联。在一些示例中,位置是基于参考线距当前块的边缘的距离以及与帧内预测模式的类型相关联的角度而推导出的。
在一些示例中,过程800包括:根据多条参考样本线中的至少一条线推导出一个或多个参考样本值中的参考样本值。这样的示例中,参考样本值可以是通过在参考样本值周围对来自参考样本值的邻域的参考样本值进行插值而推导出的。
在一些示例中,过程800包括:基于帧内预测模式的类型,推导出多条参考样本线中的用于确定一个或多个参考样本值的至少一条线。
在一些示例中,过程700和800可以由计算设备或装置执行。例如,过程700可以由视频解码器30或由包括视频解码器30的设备或装置执行。在另一示例中,过程800可以由视频编码器22或由包括视频编码器22的设备或装置执行。在某些情况下,计算设备或装置可以包括处理器、微处理器、微型计算机或被配置为执行过程700和800中的一者或这二者的步骤的设备的其他组件。在一些示例中,计算设备或装置可以包括一个或多个组件,例如用于捕捉一个或多个图像的一个或多个照相机、输入设备(例如,触摸屏接口、小键盘、鼠标或其他输入设备)、输出设备(例如,用于显示一个或多个图像、通知或其他可显示数据的显示器,用于输出音频的扬声器或其他输出设备)、其任何组合或其他合适的组件。例如,计算设备可以包括桌面式计算机、笔记本计算机(即,膝上型计算机)、平板计算机、机顶盒、诸如所谓的“智能”电话之类的手持电话、电视机、照相机、显示设备、数字媒体播放器、视频游戏机、视频流式传输设备、可穿戴设备等,或具有一个或多个组件的其他设备。在某些情况下,计算设备可以包括视频编解码器。在一些示例中,一个或多个组件中的一些组件可以与计算设备分开,在这种情况下,计算设备接收数据或发送数据。该计算设备还可以包括被配置为传送数据的网络接口。网络接口可以被配置为传送基于互联网协议(IP)的数据或其他合适的网络数据。
可以在电路中实现计算设备的组件(例如,一个或多个处理器、一个或多个微处理器、一个或多个微型计算机和/或其他组件)。例如,组件可以包括电子电路或其他电子硬件和/或可以使用电子电路或其他电子硬件来实现,所述电子电路或其他电子硬件可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU)和/或其他合适的电子电路),和/或可以包括计算机软件、固件或其任何组合和/或使用其来实现,以执行本文所述的各种操作。
过程700和800被示为逻辑流程图,其操作表示可以用硬件、计算机指令或其组合来实现的一系列操作。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时执行所阐述的操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。对操作进行描述的顺序不应当不解释为限制,并且可以以任何顺序和/或并行地对任何数量的所描述的操作进行组合以实现过程。
另外,过程700和800可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以被实现为通过硬件或其组合在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序或者一个或多个应用)。如上所述,代码可以例如以包括由一个或多个处理器可执行的多个指令的计算机程序的形式存储在计算机可读或机器可读存储介质上。计算机可读或机器可读存储介质可以是非暂时性的。
图9是说明可以实现本公开内容的技术的示例视频编码器22的框图。提供图9是为了解释的目的,并且不应被认为是对本公开内容中广泛例示和描述的技术的限制。本公开内容的技术可以适用于各种编码标准或方法。
在图9的示例中,视频编码器22包括预测处理单元100、视频数据存储器101、残余生成单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重构单元112、滤波器单元114、解码图片缓冲器116以及熵编码单元118。预测处理单元100包括帧间预测处理单元120和帧内预测处理单元126。帧间预测处理单元120可以包括运动估计单元和运动补偿单元(未示出)。
视频数据存储器101可以被配置为存储将要由视频编码器22的组件编码的视频数据。例如,可以从视频源18获得存储在视频数据存储器101中的视频数据。解码图片缓冲器116可以是参考图片存储器,该参考图片存储器存储参考视频数据,用于例如在帧内编码模式或帧间编码模式下由视频编码器22对视频数据进行编码。视频数据存储器101和解码图片缓冲器116可以由各种存储器设备中的任何存储器设备形成,例如动态随机存取存储器(DRAM),包括同步DRAM(SDRAM)、磁阻性RAM(MRAM)、电阻性RAM(RRAM)或其他类型的存储设备。视频数据存储器101和解码图片缓冲116可以由同一存储器设备或分别的存储器设备提供。在各个示例中,视频数据存储器101可以与视频编码器22的其他组件一起在芯片上,或者相对于那些组件在芯片外。视频数据存储器101可以与图1的存储介质20相同或作为其一部分。
视频编码器22接收视频数据。视频编码器22可以将每个CTU编码在视频数据的图片的切片中。CTU中的每个CTU可以与图片的相等大小的亮度CTB和对应的CTB相关联。作为对CTU进行编码的一部分,预测处理单元100可以执行划分以将CTU的CTB划分为逐步减小的块。较小的块可以是CU的制码块。例如,预测处理单元100可以根据树结构来划分与CTU相关联的CTB。根据本公开内容的一种或多种技术,对于树结构的在树结构的每个深度级别处的每个相应的非叶节点来说,对于相应的非叶节点存在多种允许的拆分模式,并且根据该多种允许的拆分模式中的一种拆分模式,将与相应非叶节点相对应的视频块划分为与相应非叶节点的子节点相对应的视频块。在一个示例中,视频编码器22的预测处理单元100或另一处理单元可以被配置为执行本文描述的技术的任意组合。
视频编码器22可以对CTU的CU进行编码以产生CU的编码表示(即,制码CU)。作为对CU进行编码的一部分,预测处理单元100可以在CU的一个或多个PU之间划分与CU相关联的制码块。根据本公开内容的技术,CU可以仅包括单个PU。即,在本公开内容的一些示例中,CU未被划分成分别的预测块,而是对整个CU执行了预测过程。因此,每个CU可以与亮度预测块和对应的色度预测块相关联。视频编码器22和视频解码器30可以支持具有各种大小的CU。如上所述,CU的大小可以指的是CU的亮度制码块的大小以及亮度预测块的大小。如上文所讨论的,视频编码器22和视频解码器30可以支持由本文描述的示例划分技术的任意组合定义的CU大小。
帧间预测处理单元120可以通过对CU的每个PU执行帧间预测来生成针对PU的预测数据。如本文中所说明的,在本公开的一些示例中,CU可以仅包含单个PU,即,CU与PU可以为同义的。针对PU的预测数据可以包括PU的预测块和针对PU的运动信息。帧间预测处理单元120可以根据PU是在I切片、P切片还是B切片中,来对PU或CU执行不同的操作。在I切片中,对所有PU进行帧内预测。因此,如果PU在I切片中,则帧间预测处理单元120不对PU执行帧间预测。因此,对于以I模式编码的块,根据在同一帧内的先前编码的相邻块,使用空间预测来形成预测块。如果PU在P切片中,则帧间预测处理单元120可以使用单向帧间预测来生成PU的预测块。如果PU在B切片中,则帧间预测处理单元120可以使用单向帧间预测或双向帧间预测来生成PU的预测块。
帧内预测处理单元126可以通过对PU执行帧帧间预测来生成针对PU的预测数据。针对PU的预测数据可以包括PU的预测块和各种语法元素。帧内预测处理单元126可以对I切片、P切片和B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测处理单元126可以使用多种帧内预测模式来生成针对PU的多组预测数据。帧内预测处理单元126可以使用来自相邻PU的样本块的样本来生成针对PU的预测块。假设针对PU、CU和CTU的从左到右、从上到下的编码顺序,则相邻的PU可以在PU的上方、上方右侧、上方左侧、或者左侧。帧内预测处理单元126可以使用各个数量的帧内预测模式,例如,33个定向帧内预测模式。在一些示例中,帧内预测模式的数量可以取决于与PU相关联的区域的大小。
在一个示例中,帧内预测处理单元126可以被配置为实现本公开内容的技术。在其他示例中,其他单元或模块可以被配置为实现本公开内容的全部或一些技术。
预测处理单元100可以从由帧间预测处理单元120针对PU所生成的预测数据或由帧内预测处理单元126针对PU生成的预测数据中,选择针对CU的PU的预测数据。在一些示例中,预测处理单元100基于该组预测数据的速率/失真度量来选择针对CU的PU的预测数据。所选择的预测数据的预测块在本文中可以被称为所选择的预测块。
残余生成单元102可以基于针对CU的制码块(例如,亮度、Cb和Cr制码块)和针对CU的PU的所选择的预测块(例如,预测亮度、Cb和Cr块)来生成针对CU的残余块(例如,亮度、Cb和Cr残余块)。例如,残余生成单元102可以生成CU的残余块,使得残余块中的每个样本具有与在CU的制码块中的样本和CU的PU的对应所选择的预测块中的对应样本之间的差相等的值。
变换处理单元104可以执行四叉树划分,以便将与CU相关联的残余块划分为与CU的TU相关联的变换块。因此,TU可以与亮度变换块和两个色度变换块相关联。CU的TU的亮度和色度变换块的大小和位置可以基于或可以不基于CU的PU的预测块的大小和位置。被称为“残余四叉树”(RQT)的四叉树结构可以包括与这些区域中的每个区域相关联的节点。CU的TU可以对应于RQT的叶节点。在其他示例中,变换处理单元104可以被配置为根据本文描述的划分技术来划分TU。举例来说,视频编码器22可以不使用RQT结构进一步将CU划分成TU。这样,在一个示例中,CU包括单个TU。
变换处理单元104可以通过将一个或多个变换应用于TU的变换块,来针对CU的每个TU生成变换系数块。变换处理单元104可以将各种变换应用于与TU相关联的变换块。例如,变换处理单元104可以将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些示例中,变换处理单元104不将变换应用于变换块。在这样的示例中,变换块可以被当作变换系数块。
量化单元106可以对系数块中的变换系数进行量化。量化过程可以减小与变换中的一些或所有变换系数相关联的比特深度。例如,可以在量化期间将n比特的变换系数下取整为m比特的变换系数,其中n大于m。量化单元106可以基于与CU相关联的量化参数(QP)值,来对与CU的TU相关联的系数块进行量化。视频编码器22可以通过调整与CU相关联的QP值,来调整应用于与CU相关联的系数块的量化程度。量化可能会导致信息丢失。因此,量化变换系数可能具有比原始精度更低的精度。
逆量化单元108和逆变换处理单元110可以分别对系数块应用逆量化和逆变换,以从系数块重构残余块。重构单元112可以将重构的残余块添加到来自由预测处理单元100生成的一个或多个预测块的对应样本,以产生与TU相关联的重构的变换块。通过以这种方式针对CU的每个TU重构变换块,视频编码器22可以重构CU的制码块。
滤波器单元114可以执行一个或多个解块操作以减少与CU相关联的制码块中的块效应。在滤波器单元114对重构的制码块执行一个或多个解块操作之后,解码图片缓冲器116可以存储重构的制码块。帧间预测处理单元120可以使用包含重构的制码块的参考图片,来对其他图片的PU执行帧间预测。另外,帧内预测处理单元126可以使用解码图片缓冲器116中的重构编码块来对与CU位于同一图片中的其他PU执行帧内预测。
熵编码单元118可以从视频编码器22的其他功能组件接收数据。例如,熵编码单元118可以从量化单元106接收系数块,并且可以从预测处理单元100接收语法元素。熵编码单元118可以对数据执行一个或多个熵编码操作以生成熵编码数据。例如,熵编码单元118可以执行CABAC操作、上下文自适应可变长度制码(CAVLC)操作、可变到可变(V2V)长度制码操作、基于语法的上下文自适应二进制算术制码(SBAC)操作、概率区间划分熵(PIPE)制码操作、指数Golomb编码操作或对数据的另一种熵编码操作。视频编码器22可以输出包括由熵编码单元118生成的熵编码数据的比特流。例如,根据本公开内容的技术,比特流可以包括表示用于CU的划分结构的数据。
图9是说明被配置为实现本公开内容的技术的示例视频解码器30的框图。提供图9是为了解释的目的,并且不对本公开内容中广泛例示和描述的技术进行限制。为了说明的目的,本公开在HEVC制码的上下文中描述了视频解码器30。然而,本公开内容的技术可以适用于其他制码标准或方法。
在图9的示例中,视频解码器30包括熵解码单元150、视频数据存储器151、预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158、滤波器单元160和解码图片缓冲器162。预测处理单元152包括运动补偿单元164和帧内预测处理单元166。在其他示例中,视频解码器30可以包括更多、更少或不同的功能组件。
视频数据存储器151可以存储将由视频解码器30的组件解码的编码视频数据(例如编码视频比特流)。可以例如从计算机可读介质16,例如,从本地视频源(例如照相机)、经由视频数据的有线或无线网络通信,或者通过访问物理数据存储介质,来获得视频数据存储器151中的视频数据。视频数据存储器151可以形成用于存储来自编码视频比特流的编码视频数据的编码图片缓冲器(CPB)。解码图片缓冲器162可以是参考图片存储器,其存储参考视频数据以用于由视频解码器30对视频数据进行解码(例如,在帧内制码模式或帧间制码模式下),或者用于输出。视频数据存储器151和解码图片缓冲162可以由各种存储器设备中的任何一种形成,例如动态随机存取存储器(DRAM),包括同步DRAM(SDRAM)、磁阻性RAM(MRAM)、电阻性RAM(RRAM)或其他类型的存储设备。视频数据存储器151和解码图片缓冲器162可以由同一存储器设备或分别的存储器设备提供。在各个示例中,视频数据存储器151可以与视频解码器30的其他组件一起在芯片上,或者相对于那些组件在芯片外。视频数据存储器151可以与图1的存储介质28相同或作为其一部分。
视频数据存储器151接收并存储比特流的编码视频数据(例如,NAL单元)。熵解码单元150可以从视频数据存储器151接收编码视频数据(例如,NAL单元),并且可以对NAL单元进行解析以获得语法元素。熵解码单元150可以对NAL单元中的熵编码语法元素进行熵解码。预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158和滤波器单元160可以基于从比特流中提取的语法元素来生成解码视频数据。熵解码单元150可以执行与熵编码单元118通常相反的过程。
根据本发明的一些实例,熵解码单元150或视频解码器30的另一处理单元可以确定树结构作为从比特流获得语法元素的一部分。树结构可以指定如何将初始视频块(例如CTB)划分为较小的视频块(例如制码单元)。根据本公开内容的一种或多种技术,对于树结构的每个深度级别处的树结构的每个相应非叶节点来说,对于相应非叶节点存在多种允许的划分类型,并且根据该多种允许的拆分模式中的一种,将与相应非叶节点相对应的视频块划分为与相应非叶节点的子节点相对应的视频块。
除了从比特流中获得语法元素之外,视频解码器30还可以在未划分的CU上执行重构操作。为了对CU执行重构操作,视频解码器30可以对CU的每个TU执行重构操作。通过对CU的每个TU执行重构操作,视频解码器30可以重构CU的残余块。如上文所讨论的,在本公开内容的一个示例中,CU包括单个TU。
作为对CU的TU执行重构操作的一部分,逆量化单元154可以对与TU相关联的系数块进行逆量化,即,解量化。在逆量化单元154对系数块进行逆量化之后,逆变换处理单元156可以将一个或多个逆变换应用于系数块以便生成与TU相关联的残余块。例如,逆变换处理单元156可以将逆DCT、逆整数变换、逆Karhunen-Loeve变换(KLT)、逆旋转变换、逆方向变换或另一种逆变换应用于系数块。
如果使用帧内预测对CU或PU进行编码,则帧内预测处理单元166可以执行帧内预测以生成PU的预测块。帧内预测处理单元166可以使用帧内预测模式,基于与块在空间上相邻的样本来生成PU的预测块。帧内预测处理单元166可以基于从比特流获得的一个或多个语法元素来确定用于PU的帧内预测模式。
在一个示例中,帧内预测处理单元166可以被配置为实现本公开内容的技术。在其他示例中,其他单元或模块可以被配置为实现本公开内容的全部或一些技术。
如果使用帧间预测对PU进行编码,则熵解码单元150可以确定针对PU的运动信息。运动补偿单元164可以基于PU的运动信息来确定一个或多个参考块。运动补偿单元164可以基于一个或多个参考块生成用于PU的预测块(例如,预测亮度、Cb及Cr块)。如上文所讨论的,CU可以仅包括单个PU。即,可以不将CU划分为多个PU。
重构单元158可以使用针对CU的TU的变换块(例如,亮度、Cb和Cr变换块)以及CU的PU的预测块(例如,亮度、Cb和Cr块),即,如果适用的话,使用帧内预测数据或帧间预测数据,以重构针对CU的制码块(例如,亮度、Cb和Cr制码块)。例如,重构单元158可以将变换块(例如,亮度、Cb和Cr变换块)的样本添加到预测块(例如,亮度、Cb和Cr预测块)的对应样本以重构CU的制码块(例如,亮度、Cb和Cr制码块)。
滤波器单元160可以执行解块操作以减少与CU的制码块相关联的块效应。视频解码器30可将CU的制码块存储在解码图片缓冲器162中。解码图片缓冲器162可以提供参考图片,以用于随后的运动补偿、帧内预测以及在显示设备(例如图1的显示设备32)上呈现。举例来说,视频解码器30可以基于解码图片缓冲器162中的块,针对其他CU的PU执行帧内预测或帧间预测操作。
视频解码器输出包括当前块的解码版本的当前图片的解码版本。当视频解码器是被配置为输出可显示的解码视频的视频解码器时,视频解码器可以例如将当前图片的解码版本输出到显示设备。当解码被作为视频编码过程的解码循环的一部分来执行时,则视频解码器可以将当前图片的解码版本存储为参考图片,以用于对视频数据的另一图片进行编码。
为了说明的目的,已经针对HEVC标准的扩展描述了本公开内容的某些方面。然而,本公开内容中描述的技术可用于其他视频制码过程,包括尚未开发的其他标准或专有视频制码过程。
本公开内容中所描述的视频制码器可以指代视频编码器或视频解码器。类似地,视频制码单元可以指代视频编码器或视频解码器。同样地,视频制码可以指代视频编码或视频解码,如果可用的话。在本公开内容中,短语“基于”可以表示仅基于、至少部分地基于或以某种方式基于。本公开内容可以使用术语“视频单元”或“视频块”或“块”来指代一个或多个样本块以及用于对一个或多个样本块的样本进行制码的语法结构。视频单元的示例类型可以包括CTU、CU、PU、变换单元(TU)、宏块、宏块划分等。在某些情况下,对PU的讨论可以与对宏块或宏块划分的讨论互换。视频块的示例类型可以包括制码树块、制码块和其他类型的视频数据块。
在前文的描述中,参考本申请的特定实施例描述了本申请的各个方面,但是本领域技术人员将认识到,本申请不限于此。因此,尽管在本文中已经详细描述了本申请的说明性实施例,但是应当理解,这些发明构思可以用其他方式被不同地体现和采用,并且所附权利要求旨在被解释为包括这样的变型,除了现有技术所限制的以外。可以分别或联合使用上述申请的各种特征和方面。此外,在不脱离本说明书的更广泛的精神和范围的情况下,实施例可以在本文所述之外的任何数量的环境和应用中使用。相应地,应该认为本说明书和附图是说明性而非限制性的。为了说明的目的,以特定顺序描述了方法。应当认识到的是,在替代实施例中,可以用与所描述的顺序不同的顺序来执行这些方法。
在将组件描述为“被配置为”执行某些操作的情况下,可以例如通过设计电子电路或其他硬件以执行该操作,通过对可编程电子电路(例如,微处理器或其他合适的电子电路)进行编程以执行该操作或其任意组合来实现这种配置。
结合本文公开的实施例而描述的各个说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件、固件或它们的组合。为了清楚地表示硬件和软件之间的该可交换性,上文对各个说明性的组件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现为硬件还是实现为软件,取决于特定的应用和对整个系统所施加的设计约束。本领域技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是这种实现决策不应解释为造成对本申请的范围的背离。
本文描述的技术还可以以电子硬件、计算机软件、固件或其任何组合来实现。可以在诸如通用计算机、无线通信手持设备或具有包括在无线通信手持设备和其他设备中的应用的多种用途的集成电路设备等各种设备中的任何一种设备中实现这种技术。描述为模块或组件的任何特征可以一起实现在集成逻辑器件中,或者分别实现为分立但可互操作的逻辑器件。如果以软件实现,则可以至少部分通过包括程序代码的计算可读数据存储介质来实现这些技术,所述程序代码包括指令,当被执行时,所述指令执行上述方法中的一个或多个方法。计算机可读数据存储介质可以形成计算机程序产品的一部分,计算机程序产品可以包括封装材料。计算机可读介质可以包括存储器或数据存储介质,例如随机存取存储器(RAM)(比如同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、FLASH存储器、磁或光数据存储介质等。附加地或替代地,这些技术可以至少部分由计算可机读通信介质实现,所述通信介质承载或传送指令或数据结构形式的程序代码并且可以由计算机访问、读取和/或执行,例如传播信号或波形。
程序代码可以由处理器执行,处理器可以包括诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效集成或离散逻辑电路的一个或多个处理器。这样的处理器可以被配置为执行本公开内容中描述的任何技术。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合、或者任何其他这种配置。相应地,本文中所使用的术语“处理器”可以指代任意前述结构,或者前述结构的任意组合,或者适于本文中描述的技术的实现的任何其他结构或装置。此外,在一些方面,本文中描述的功能可以在被配置用于编码和解码的专用软件模块和/或硬件模块之内提供,或者并入组合视频编解码器(CODEC)。

Claims (30)

1.一种对视频数据进行解码的方法,所述方法包括:
使用帧内预测模式来预测针对当前块的样本的初始预测样本值,其中,所述初始预测样本值是根据所述当前块的第一相邻块或第二相邻块中的至少一者来预测的;
根据多条参考样本线中的至少一条线确定一个或多个参考样本值,所述多条参考样本线来自所述当前块的所述第一相邻块或所述第二相邻块中的至少一者;
针对所述当前块的所述样本确定最终预测样本值,其中,确定所述最终预测样本值包括:使用所述一个或多个参考样本值来修改所述初始预测样本值;以及
基于所述最终预测样本值来重构所述当前块的所述样本。
2.根据权利要求1所述的方法,其中,所述多条参考样本线中的用于确定所述一个或多个参考样本值的所述至少一条线不与所述当前块邻近。
3.根据权利要求1所述的方法,其中,所述多条参考样本线中的所述至少一条线包括所述当前块上方的参考样本线或所述当前块左侧的参考样本线中的至少一项,其中,以下各项中的至少一项:所述当前块上方的参考样本线包括除了所述当前块上方的最近线以外的线,或者所述当前块左侧的参考样本线包括除了所述当前块左侧的最近线以外的线。
4.根据权利要求1所述的方法,其中,所述初始预测样本值是根据所述多条参考样本线中的一条或多条线来预测的。
5.根据权利要求4所述的方法,其中,用于确定所述一个或多个参考样本值的第一参考样本线是不同于用于预测所述初始预测样本值的第二参考样本线的。
6.根据权利要求5所述的方法,其中,用于确定所述一个或多个参考样本值的所述第一参考样本线包括所述当前块上方的最近线或者所述当前块左侧的最近线,并且其中,用于预测所述初始预测样本值的所述第二参考样本线包括除了所述当前块上方的最近线以外的线或者除了所述当前块左侧的最近线以外的线。
7.根据权利要求1所述的方法,还包括:
基于所述帧内预测模式,针对所述当前块确定包括多个预测样本的预测块,并且其中,所述初始预测样本值是根据来自所述预测块的所述多个预测样本来预测的。
8.根据权利要求1所述的方法,其中,使用所述一个或多个参考样本值来修改所述初始预测样本值包括:
确定所述初始预测样本值和所述一个或多个参考样本值的加权组合。
9.根据权利要求8所述的方法,还包括:
基于与所述初始预测样本值相关联的样本的x坐标和y坐标来确定多个权重,
其中,所述加权组合是基于所述一个或多个参考样本值、所述多个权重和所述初始预测样本值的。
10.根据权利要求1所述的方法,还包括:
获得包括信令信息的编码视频比特流,所述信令信息指示所述多条参考样本线中的用于确定所述一个或多个参考样本值的所述至少一条线;以及
对所述信令信息进行处理以确定用于确定所述一个或多个参考样本值的一条或多条参考样本线。
11.根据权利要求10所述的方法,其中,所述信令信息包括对预定线的集合的索引,所述预定线的集合与用于确定所述一个或多个参考样本值的所述一条或多条参考样本线相对应。
12.根据权利要求10所述的方法,其中,所述信令信息包括对一条或多条线的推导列表的索引,所述一条或多条线的推导列表与用于确定所述一个或多个参考样本值的所述一条或多条参考样本线相对应。
13.根据权利要求10所述的方法,其中,所述信令信息是针对所述当前块上方的线以及针对所述当前块左侧的线,在所述编码视频比特流中独立地用信号通知的。
14.根据权利要求10所述的方法,其中,所述信令信息包括用于确定所述最终预测样本值的权重集合,其中,所述权重集合是基于所述多条参考样本线中的用于确定所述一个或多个参考样本值的所述至少一条线,从多个权重集合中选择的。
15.根据权利要求1所述的方法,还包括:
基于所述帧内预测模式的类型,根据所述多条参考样本线中的所述至少一条线推导出参考样本的位置,所述参考样本是与所述一个或多个参考样本值中的参考样本值相关联的。
16.根据权利要求15所述的方法,其中,所述位置是基于参考线距所述当前块的边缘的距离以及与所述帧内预测模式的所述类型相关联的角度来推导出的。
17.根据权利要求1所述的方法,还包括:
根据所述多条参考样本线中的所述至少一条线推导出所述一个或多个参考样本值中的参考样本值,其中,所述参考样本值是通过在所述参考样本值周围对来自参考样本值的邻域的参考样本值进行插值来推导出的。
18.根据权利要求1所述的方法,还包括:
基于所述帧内预测模式的类型,推导出所述多条参考样本线中的用于确定所述一个或多个参考样本值的所述至少一条线。
19.根据权利要求1所述的方法,其中,确定所述一个或多个参考样本值包括:根据所述多条参考样本线中的两条或更多条线确定样本的加权平均。
20.一种对视频数据进行编码的方法,所述方法包括:
使用帧内预测模式来预测针对当前块的样本的初始预测样本值,其中,所述初始预测样本值是根据所述当前块的第一相邻块或第二相邻块中的至少一者来预测的;
根据多条参考样本线中的至少一条线确定一个或多个参考样本值,所述多条参考样本线来自所述当前块的所述第一相邻块或所述第二相邻块中的至少一者;
针对所述当前块的所述样本确定最终预测样本值,其中,确定所述最终预测样本值包括:使用所述一个或多个参考样本值来修改所述初始预测样本值;
基于所述最终预测样本值和所述当前块的所述样本的值,确定针对残余块的残余值;以及
用信号通知用于指示所述残余值的信息。
21.一种用于对视频数据进行解码的装置,所述装置包括:
存储器,其被配置为:存储当前块的第一相邻块或第二相邻块中的至少一者;以及
视频解码器,其包括固定功能电路或可编程电路中的至少一者,其中,所述视频解码器被配置为:
使用帧内预测模式来预测针对当前块的样本的初始预测样本值,其中,所述初始预测样本值是根据所述当前块的第一相邻块或第二相邻块中的至少一者来预测的;
根据多条参考样本线中的至少一条线确定一个或多个参考样本值,所述多条参考样本线来自所述当前块的所述第一相邻块或所述第二相邻块中的至少一者;
针对所述当前块的所述样本确定最终预测样本值,其中,确定所述最终预测样本值包括:使用所述一个或多个参考样本值来修改所述初始预测样本值;以及
基于所述最终预测样本值来重构所述当前块的所述样本。
22.根据权利要求21所述的装置,其中,所述多条参考样本线中的用于确定所述一个或多个参考样本值的所述至少一条线不与所述当前块邻近。
23.根据权利要求21所述的装置,其中,所述多条参考样本线中的所述至少一条线包括所述当前块上方的参考样本线或所述当前块左侧的参考样本线中的至少一项,其中,以下各项中的至少一项:所述当前块上方的参考样本线包括除了所述当前块上方的最近线以外的线,或者所述当前块左侧的参考样本线包括除了所述当前块左侧的最近线以外的线。
24.根据权利要求21所述的装置,其中,所述初始预测样本值是根据所述多条参考样本线中的一条或多条线来预测的。
25.根据权利要求24所述的装置,其中,用于确定所述一个或多个参考样本值的第一参考样本线是不同于用于预测所述初始预测样本值的第二参考样本线的。
26.根据权利要求25所述的装置,其中,用于确定所述一个或多个参考样本值的所述第一参考样本线包括所述当前块上方的最近线或者所述当前块左侧的最近线,并且其中,用于预测所述初始预测样本值的所述第二参考样本线包括除了所述当前块上方的最近线以外的线或者除了所述当前块左侧的最近线以外的线。
27.根据权利要求21所述的装置,其中,使用所述一个或多个参考样本值来修改所述初始预测样本值包括:
确定所述初始预测样本值和所述一个或多个参考样本值的加权组合。
28.根据权利要求21所述的装置,还包括被配置为显示所述当前块的显示器。
29.根据权利要求21所述的装置,其中,所述装置包括以下各项中的一项或多项:照相机、计算机、移动设备、广播接收机设备或机顶盒。
30.一种用于对视频数据进行编码的装置,所述装置包括:
存储器,其被配置为:存储当前块的第一相邻块或第二相邻块中的至少一者;以及
视频编码器,其包括固定功能电路或可编程电路中的至少一者,其中,所述视频编码器被配置为:
使用帧内预测模式来预测针对当前块的样本的初始预测样本值,其中,所述初始预测样本值是根据所述当前块的第一相邻块或第二相邻块中的至少一者来预测的;
根据多条参考样本线中的至少一条线确定一个或多个参考样本值,所述多条参考样本线来自所述当前块的所述第一相邻块或所述第二相邻块中的至少一者;
针对所述当前块的所述样本确定最终预测样本值,其中,确定所述最终预测样本值包括:使用所述一个或多个参考样本值来修改所述初始预测样本值;
基于所述最终预测样本值和所述当前块的所述样本的值,确定针对残余块的残余值;以及
生成用于指示所述残余值的信令信息。
CN201980043567.8A 2018-06-28 2019-06-07 具有用于帧内预测的多条参考线的位置相关帧内预测组合 Active CN112369027B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862691554P 2018-06-28 2018-06-28
US62/691,554 2018-06-28
US16/434,113 US11159806B2 (en) 2018-06-28 2019-06-06 Position dependent intra prediction combination with multiple reference lines for intra prediction
US16/434,113 2019-06-06
PCT/US2019/036130 WO2020005506A1 (en) 2018-06-28 2019-06-07 Position dependent intra prediction combination with multiple reference lines for intra prediction

Publications (2)

Publication Number Publication Date
CN112369027A true CN112369027A (zh) 2021-02-12
CN112369027B CN112369027B (zh) 2024-06-11

Family

ID=67138036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980043567.8A Active CN112369027B (zh) 2018-06-28 2019-06-07 具有用于帧内预测的多条参考线的位置相关帧内预测组合

Country Status (4)

Country Link
US (1) US11159806B2 (zh)
EP (1) EP3815365A1 (zh)
CN (1) CN112369027B (zh)
WO (1) WO2020005506A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113099229A (zh) * 2021-02-22 2021-07-09 浙江大华技术股份有限公司 块划分方法、帧间预测方法、视频编码方法及相关装置
CN115529852A (zh) * 2021-04-26 2022-12-27 腾讯美国有限责任公司 基于模板匹配的帧内预测
WO2023065891A1 (zh) * 2021-10-20 2023-04-27 腾讯科技(深圳)有限公司 多媒体数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品
CN116097646A (zh) * 2021-06-28 2023-05-09 腾讯美国有限责任公司 双向帧内预测和多参考线选择的协调设计

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190090731A (ko) * 2018-01-25 2019-08-02 주식회사 윌러스표준기술연구소 비디오 신호 처리 방법 및 장치
US10771781B2 (en) * 2018-03-12 2020-09-08 Electronics And Telecommunications Research Institute Method and apparatus for deriving intra prediction mode
KR102555363B1 (ko) * 2018-06-29 2023-07-13 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 확장 기준 인트라 화면 예측
US10284866B1 (en) * 2018-07-02 2019-05-07 Tencent America LLC Method and apparatus for video coding
US11128872B2 (en) * 2018-07-16 2021-09-21 Qualcomm Incorporated Position dependent intra prediction combination with wide angle intra prediction
US10834393B2 (en) * 2018-09-10 2020-11-10 Tencent America LLC Intra interpolation filter for multi-line intra prediction
WO2020060233A1 (ko) * 2018-09-20 2020-03-26 엘지전자 주식회사 인트라 예측을 수행하는 영상 예측 방법 및 장치
CN112956192A (zh) * 2018-10-31 2021-06-11 交互数字Vc控股公司 多参考行帧内预测和最可能的模式
US11310515B2 (en) * 2018-11-14 2022-04-19 Tencent America LLC Methods and apparatus for improvement for intra-inter prediction mode
US11496748B2 (en) * 2019-03-21 2022-11-08 Tencent America LLC Method and apparatus for improved planar and DC modes for non-zero reference lines
KR20220024643A (ko) * 2019-06-20 2022-03-03 인터디지털 브이씨 홀딩스 프랑스 에스에이에스 위치 의존적 인트라 예측 조합을 이용한 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스
US20220321909A1 (en) * 2021-03-31 2022-10-06 Tencent America LLC Harmonized design between multiple reference line intra prediction and transform partitioning
US12069305B2 (en) * 2021-04-16 2024-08-20 Tencent America LLC Low memory design for multiple reference line selection scheme
US12081742B2 (en) * 2021-06-11 2024-09-03 Tencent America LLC Intra mode coding
US20230104476A1 (en) * 2021-10-05 2023-04-06 Tencent America LLC Grouping based adaptive reordering of merge candidate
WO2023113512A1 (ko) * 2021-12-17 2023-06-22 주식회사 케이티 영상 부호화/복호화 방법 및 장치
WO2023121000A1 (ko) * 2021-12-23 2023-06-29 현대자동차주식회사 적응적 다중 참조라인들을 이용하는 비디오 코딩을 위한 방법 및 장치
WO2024020211A1 (en) * 2022-07-21 2024-01-25 Iinnopeak Technology, Inc. Methods, systems, and apparatuses for intra prediction
US20240129454A1 (en) * 2022-10-17 2024-04-18 Tencent America LLC Boundary filtering on intrabc and intratmp coded blocks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170347093A1 (en) * 2016-05-25 2017-11-30 Arris Enterprises Llc Coding Weighted Angular Prediction for Intra Coding
CN107810636A (zh) * 2015-06-22 2018-03-16 高通股份有限公司 使用混合递归滤波器的视频帧内预测
CN108141585A (zh) * 2015-10-22 2018-06-08 Lg 电子株式会社 视频编码系统中的帧内预测方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3986730B2 (ja) * 2000-05-29 2007-10-03 株式会社リコー 画情報通信装置
CN116962721A (zh) * 2016-05-04 2023-10-27 微软技术许可有限责任公司 利用样本值的非相邻参考线进行帧内图片预测的方法
US10735720B2 (en) * 2016-06-24 2020-08-04 Kt Corporation Method and apparatus for processing video signal
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
WO2019184834A1 (en) * 2018-03-28 2019-10-03 Fg Innovation Ip Company Limited Device and method for coding video data in multiple reference line prediction
US10419754B1 (en) * 2018-04-02 2019-09-17 Tencent America LLC Method and apparatus for video decoding using multiple line intra prediction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107810636A (zh) * 2015-06-22 2018-03-16 高通股份有限公司 使用混合递归滤波器的视频帧内预测
CN108141585A (zh) * 2015-10-22 2018-06-08 Lg 电子株式会社 视频编码系统中的帧内预测方法和装置
US20170347093A1 (en) * 2016-05-25 2017-11-30 Arris Enterprises Llc Coding Weighted Angular Prediction for Intra Coding

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113099229A (zh) * 2021-02-22 2021-07-09 浙江大华技术股份有限公司 块划分方法、帧间预测方法、视频编码方法及相关装置
CN113099229B (zh) * 2021-02-22 2022-08-09 浙江大华技术股份有限公司 块划分方法、帧间预测方法、视频编码方法及相关装置
CN115529852A (zh) * 2021-04-26 2022-12-27 腾讯美国有限责任公司 基于模板匹配的帧内预测
CN116097646A (zh) * 2021-06-28 2023-05-09 腾讯美国有限责任公司 双向帧内预测和多参考线选择的协调设计
WO2023065891A1 (zh) * 2021-10-20 2023-04-27 腾讯科技(深圳)有限公司 多媒体数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品

Also Published As

Publication number Publication date
US20200007870A1 (en) 2020-01-02
WO2020005506A1 (en) 2020-01-02
EP3815365A1 (en) 2021-05-05
US11159806B2 (en) 2021-10-26
CN112369027B (zh) 2024-06-11

Similar Documents

Publication Publication Date Title
CN112369027B (zh) 具有用于帧内预测的多条参考线的位置相关帧内预测组合
CN112449753B (zh) 利用广角帧内预测的位置相关帧内预测组合
AU2023202344B2 (en) Position dependent intra prediction combination extended with angular modes
CN109716765B (zh) 用于视频译码中的帧内预测的经改进内插滤波器
CN108464001B (zh) 用于视频译码的多类型树框架
US20180199062A1 (en) Intra prediction techniques for video coding
CN110754091B (zh) 用于360度视频编码的解块滤波
KR20220002902A (ko) 인트라 예측 모드 도출을 위한 블록-기반 양자화된 잔차 도메인 펄스 코드 변조 할당
CN114982246A (zh) 环路滤波器的自适应舍入
CN114097246A (zh) 跨光栅扫描切片的自适应环路滤波
RU2781854C2 (ru) Позиционно-зависимое комбинирование с внутренним прогнозированием с широкоугольным внутренним прогнозированием

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