CN113711595A - 针对帧内预测模式推导的基于块的量化残差域脉冲编解码调制分配 - Google Patents

针对帧内预测模式推导的基于块的量化残差域脉冲编解码调制分配 Download PDF

Info

Publication number
CN113711595A
CN113711595A CN202080029526.6A CN202080029526A CN113711595A CN 113711595 A CN113711595 A CN 113711595A CN 202080029526 A CN202080029526 A CN 202080029526A CN 113711595 A CN113711595 A CN 113711595A
Authority
CN
China
Prior art keywords
block
prediction mode
intra prediction
list
intra
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
CN202080029526.6A
Other languages
English (en)
Other versions
CN113711595B (zh
Inventor
M.Z.科班
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 CN113711595A publication Critical patent/CN113711595A/zh
Application granted granted Critical
Publication of CN113711595B publication Critical patent/CN113711595B/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/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/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/124Quantisation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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

Abstract

描述了用于改进视频编解码的技术。例如,可以获得包括在已编码视频比特流中的图片的第一块。该图片的第二块可以被确定为是使用一种类型的基于块的量化残差域脉冲编解码调制(BDPCM)模式(诸如垂直BDPCM模式或者水平BDPCM模式)进行编解码(例如,编码)的。如果第二块是使用垂直BDPCM模式进行编解码的,可以为第一块的帧内预测模式列表确定垂直帧内预测模式。垂直帧内预测模式可以被添加到第一块的帧内预测模式列表中。如果第二块是使用水平BDPCM模式进行编解码的,可以为第一块的帧内预测模式列表确定水平帧内预测模式,并且可以将水平帧内预测模式添加到该帧内预测模式列表。

Description

针对帧内预测模式推导的基于块的量化残差域脉冲编解码调 制分配
技术领域
本申请与视频编解码有关。更具体地,本申请涉及用于为基于块的差分脉冲编解码调制(DPCM)编解码块分配帧内预测模式的系统、装置、方法和计算机可读介质。
背景技术
很多设备和系统允许处理和输出视频数据以供消费。数字视频数据包括大量的数据,以满足消费者和视频提供商的需求。例如,视频数据的消费者想要具有最高质量的、具有高保真、分辨率、帧速率等的视频。结果,满足这些需求所需的大量视频数据给处理和存储该视频数据的通信网络和设备带来了负担。
可以使用各种视频编解码技术来压缩视频数据。根据一个或多个视频编解码标准执行视频编解码。例如,视频编解码标准包括多功能视频编解码(VVC)、高效视频编解码(HEVC)、高级视频编解码(AVC)、MPEG-2第2部分编解码(MPEG代表运动图片专家组)、VP9、开放媒体联盟(AOMedia)视频1(AV1)等等。视频编解码一般使用预测方法(例如,帧间预测、帧内预测等),该预测方法利用视频图像或序列中存在的冗余。视频编解码技术的一个重要目标是将视频数据压缩成一种使用较低比特率的形式,同时避免或最小化地降低视频质量。随着视频业务的不断发展,需要具有更好的编解码效率的编码技术。
发明内容
本文描述了用于为基于块的量化残差域脉冲编解码调制(BDPCM)编解码块(也被称为基于块的差值(或增量)脉冲编解码调制或残差差值(或增量)脉冲编解码调制(RDPCM))分配帧内预测模式的技术和系统。使用帧内预测,编解码设备(例如,视频编码器和/或视频解码器)可以使用基于来自同一图片内先前编码的相邻块的相邻样点的空域预测技术来形成预测块。可以基于正在使用的特定帧内预测模式来识别相邻样点,该帧内预测模式诸如平面模式、DC模式和/或多个方向预测模式(垂直、水平和各种角度模式)之一。残差数据可以是基于原始块和预测块确定的。BDPCM编解码模式与一些帧内预测编解码模式类似地操作,但也包括基于残差数据(例如,基于从残差数据生成的变换和量化系数)执行的逐行差值确定。BDPCM模式可以包括水平BDPCM和垂直BDPCM。
要被编解码的当前块的帧内预测模式编码可以包括生成最可能模式(MPM)预测器列表。在VVC中,有67种可用的帧内预测模式。一定数量的帧内预测模式(例如,五个)可以被包括在MPM预测器列表中(被称为MPM模式),其余模式被称为非MPM模式。通过将用于当前块的一个或多个相邻块的帧内预测模式包括在MPM预测器列表中,可以为当前块生成MPM预测器列表。然而,当相邻块是使用BDPCM模式进行编解码的时,该相邻块不具有可以被添加到当前块的MPM列表中的相关联的帧内预测模式。
本文描述的技术和系统提供不同BDPCM模式到不同帧内预测模式的映射。所映射的帧内预测模式可以被包括在MPM预测器列表(用于当前块)中,用于表示使用BDPCM模式进行编解码的相邻块。例如,水平帧内预测模式可以被包括在MPM预测器列表中,用于表示使用水平BDPCM模式进行编解码的相邻块,并且垂直帧内预测模式可以被包括在MPM预测器列表中,用于表示使用垂直BDPCM模式进行编码的相邻块。
根据至少一个示例,提供了一种对视频数据进行解码的方法。该方法包括:获得包括在已编码视频比特流中的图片的第一块;确定该图片的第二块是使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式进行编解码的;基于该第二块是使用垂直BDPCM模式进行编解码的,为该第一块的帧内预测模式列表确定垂直帧内预测模式;以及将该垂直帧内预测模式添加到该第一块的帧内预测模式列表中。
在另一示例中,提供了一种用于对视频数据进行解码的装置,该装置包括被配置为存储视频数据的至少一个已编码块的存储器,以及包括固定功能电路和可编程电路中的至少一个的视频解码器。在一些示例中,该视频解码器被配置为:获得包括在已编码视频比特流中的图片的第一块;确定该图片的第二块是使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式进行编解码的;基于该第二块是使用垂直BDPCM模式进行编解码的,为该第一块的帧内预测模式列表确定垂直帧内预测模式;以及将该垂直帧内预测模式添加到该第一块的帧内预测模式列表中。
在另一示例中,一种存储指令的计算机可读存储介质,该指令被执行时使得用于对视频数据进行解码的设备的一个或多个处理器:获得包括在已编码视频比特流中的图片的第一块;确定该图片的第二块是使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式进行编解码的;基于该第二块是使用垂直BDPCM模式进行编解码的,为该第一块的帧内预测模式列表确定垂直帧内预测模式;以及将该垂直帧内预测模式添加到该第一块的帧内预测模式列表中。
在另一示例中,提供了一种用于对视频数据进行解码的装置。该装置包括:用于获得包括在已编码视频比特流中的图片的第一块的部件;用于确定该图片的第二块是使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式进行编解码的部件;用于基于该第二块是使用垂直BDPCM模式进行编解码的,为该第一块的帧内预测模式列表确定垂直帧内预测模式的部件;以及用于将该垂直帧内预测模式添加到该第一块的帧内预测模式列表中的部件。
在一些方面,帧内预测模式列表包括最可能模式(MPM)列表。
在一些方面,第二块是图片中第一块的相邻块。
在一些方面,上述方法、装置和计算机可读存储介质包括:基于来自已编码视频比特流的信息并且基于帧内预测模式列表,确定要用于对第一块进行解码的预测模式;以及使用所确定的预测模式对第一块进行解码。在一些示例中,来自已编码视频比特流的信息包括帧内预测模式列表标志,该标志指示要用于对第一块进行解码的预测模式是否在该帧内预测模式列表中包括的多个预测模式之中。在一些示例中,上述方法、装置和计算机可读存储介质包括:基于帧内预测模式列表标志的值,确定要用于对第一块进行解码的预测模式在帧内预测模式列表中包括的多个预测模式之中;以及从该帧内预测模式列表确定要用于对第一块进行解码的预测模式。
在一些情况下,已编码视频比特流中的信息包括与帧内预测模式列表相关联的索引值。在一些方面,上述方法、装置和计算机可读存储介质包括使用索引值从该帧内预测模式列表中确定要用于对第一块进行解码的预测模式。
在一些方面,第一块是亮度编解码块。
在一些方面,上述方法、装置和计算机可读存储介质包括:获得包括在已编码视频比特流中的该图片的第三块;确定该图片的第四块是使用水平的基于块的BDPCM模式进行编解码的;基于该第四块是使用水平BDPCM模式进行编解码的,为该第三块的帧内预测模式列表确定水平帧内预测模式;以及将该水平帧内预测模式添加到该第三块的帧内预测模式列表中。
根据至少一个其他示例,提供了一种对视频数据进行编码的方法。该方法包括:使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式对图片的第一块进行编码;获得该图片的第二块;基于第一块是使用垂直BDPCM模式进行编码的,为第二块的帧内预测模式列表确定垂直帧内预测模式;将该垂直帧内预测模式添加到该第二块的帧内预测模式列表中;以及生成包括该第一块、第二块和帧内预测模式列表的已编码视频比特流。
在另一示例中,提供了一种用于对视频数据进行编码的装置,该装置包括被配置为存储视频数据的至少一个块的存储器,以及包括固定功能电路和可编程电路中的至少一个的视频编码器。在一些示例中,该视频编码器被配置为:使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式对图片的第一块进行编码;获得该图片的第二块;基于第一块是使用垂直BDPCM模式进行编码的,为第二块的帧内预测模式列表确定垂直帧内预测模式;将该垂直帧内预测模式添加到该第二块的帧内预测模式列表中;以及生成包括该第一块、第二块和帧内预测模式列表的已编码视频比特流。
在另一示例中,一种存储指令的计算机可读存储介质,该指令被执行时使得用于对视频数据进行编码的设备的一个或多个处理器:使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式对图片的第一块进行编码;获得该图片的第二块;基于第一块是使用垂直BDPCM模式进行编码的,为第二块的帧内预测模式列表确定垂直帧内预测模式;将该垂直帧内预测模式添加到该第二块的帧内预测模式列表中;以及生成包括该第一块、第二块和帧内预测模式列表的已编码视频比特流。
在另一示例中,提供了一种用于对视频数据进行编码的装置。该装置包括:用于使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式对图片的第一块进行编码的部件;用于获得该图片的第二块的部件;用于基于第一块是使用垂直BDPCM模式进行编码的,为第二块的帧内预测模式列表确定垂直帧内预测模式的部件;用于将该垂直帧内预测模式添加到该第二块的帧内预测模式列表中的部件;以及用于生成包括该第一块、第二块和帧内预测模式列表的已编码视频比特流的部件。
在一些方面,帧内预测模式列表包括最可能模式(MPM)列表。
在一些方面,第二块是图片中第一块的相邻块。
在一些方面,上述用于对视频数据进行编码的方法、装置和计算机可读存储介质包括:在已编码视频比特流中包括指示要用于对第一块进行解码的预测模式的信息。在一些示例中,该信息包括帧内预测模式列表标志,该标志指示要用于对第一块进行解码的预测模式是否在该帧内预测模式列表中包括的多个预测模式之中。在一些示例中,该信息包括指示来自帧内预测模式列表的、要用于对第一块进行解码的预测模式的索引值。
在一些方面,第二块是亮度编解码块。
在一些方面,上述用于对视频数据进行编码的方法、装置和计算机可读存储介质包括:使用水平的基于块的BDPCM模式对该图片的第三块进行编码;获得该图片的第四块;基于该第三块是使用水平BDPCM模式进行编解码的,为该第四块的帧内预测模式列表确定水平帧内预测模式;以及将该水平帧内预测模式添加到该第四块的帧内预测模式列表中。
在一些方面,用于对视频数据进行解码的装置和/或用于对视频数据进行编码的装置包括:照相机、移动设备(例如,移动电话或所谓的“智能手机”或其他移动设备)、可穿戴设备、扩展现实设备(例如,虚拟现实(VR)设备、增强现实(AR)设备或混合现实(MR)设备)、个人计算机、膝上型计算机、服务器计算机或其他设备。在一些方面,用于对视频数据进行解码的装置和/或用于对视频数据进行编码的装置包括用于捕获一个或多个图像的照相机或多个照相机。在一些方面,用于对视频数据进行解码的装置和/或用于对视频数据进行编码的装置包括用于显示一个或多个图像、通知和/或其他可显示数据的显示器。
上述与任何方法、装置和计算机可读介质有关的方面可以单独使用或以任何适当的组合使用。
本发明内容不是意在标识所要求保护的主题的关键或基本特征,也不是为了孤立地用于确定所要求保护的主题的范围。本发明的主题应当通过参考本专利的整个说明书的适当部分、任何或所有附图以及每一项权利要求来理解。
在参考下面的说明书、权利要求书和附图时,前述以及其他特征和实施例将变得更加显而易见。
附图说明
下面参照以下附图详细描述本申请的说明性实施例:
图1是图示了根据一些示例的编码设备和解码设备的示例的框图;
图2是提供根据一些示例的与多功能视频编解码(VVC)标准相关联的帧内预测模式的示例说明的示意图;
图3是图示了根据一些示例的包括使用基于块的量化残差域脉冲编解码调制(BDPCM)模式进行编码的当前块的图片的示例的框图;
图4A是图示了根据一些示例的用于对当前块进行编解码的相邻块的一行的示例的框图;
图4B是图示了根据一些示例的来自图3的当前块的框图;
图5是图示了根据一些示例的从对来自图3的当前块进行编解码而得出的块的示例的框图;
图6是图示了根据一些示例的从对来自图3的当前块进行编解码而得出的块的示例的框图;
图7是图示了根据一些示例的从对来自图3的当前块进行编解码而得出的块的示例的框图;
图8是图示了根据一些示例的包括正在进行编解码的当前块的图片示例的框图;
图9是图示了根据一些示例的包括正在进行编解码的当前块的图片示例的框图;
图10是图示了根据一些示例的对视频数据进行解码的过程示例的流程图;
图11是图示了根据一些示例的对视频数据进行编码的过程示例的流程图;
图12是图示了根据一些示例的示例视频编码设备的框图;以及
图13是图示了根据一些示例的示例视频解码设备的框图。
具体实施方式
下面提供本公开的一些方面和实施例。这些方面和实施例中的一些可以独立地应用,并且它们中的一些可以组合地应用,这对于本领域技术人员来说是显而易见的。在下面的描述中,出于解释的目的,阐述了具体细节,以便提供对本申请的实施例的彻底理解。然而,显而易见的是,可以在没有这些特定细节的情况下实践各种实施例。这些附图和描述并不是限制性的。
接下来的描述仅提供示例性实施例,而并不旨在限制本公开的范围、适用性或配置。相反,接下来对示例性实施例的描述将为本领域技术人员提供用于实现示例性实施例的使能性描述。应当理解,在不脱离所附权利要求书中阐述的本申请的精神和范围的情况下,可以对元素的功能和布置进行各种改变。
视频编解码设备实现视频压缩技术,以高效地对视频数据进行编码和解码。如本文所使用的,视频编解码设备可以指视频编码器、视频解码器或组合视频编码器-解码器(称为编解码器)。视频压缩技术可以包括应用不同的预测模式,包括空域预测(称为帧内预测或帧之内的预测)、时域预测(称为帧间预测或帧之间的预测)、层间预测(跨视频数据的不同层)和/或其他预测技术,以减少或去除视频序列中固有的冗余。视频编码器可以将原始视频序列的每个图片分割为被称为视频块或编解码单元的矩形区域(下面将更详细地描述)。可以使用特定预测模式对这些视频块进行编码。
可以以一种或多种方式将视频块划分为一组或多组更小块。块可以包括编解码树块、预测块、变换块和/或其他合适的块。除非另有规定,否则一般对“块”的引用可以指此类视频块(例如,编解码树块、编解码块、预测块、变换块或其他适当的块或子块,如普通技术人员应该理解的)。此外,这些块中的每一个在本文中也可互换地称为“单元”(例如,编解码树单元(CTU)、编解码单元、预测单元(PU)、变换单元(TU)等)
对于帧间预测模式,视频编码器可以搜索与位于另一时域位置的帧(或图片)中正在被编码的块相似的块,该帧(或图片)被称为参考帧或参考图片。视频编码器可以将搜索限制在距离要被编码的块的某个空域位移之内。可以使用包括水平位移分量和垂直位移分量的二维(2D)运动矢量来定位最佳匹配。对于帧内预测模式,视频编码器可以基于来自同一图片内先前编码的相邻块的数据使用空域预测技术来形成预测块。
视频编码器可以确定预测误差。例如,预测误差可以被确定为正在被编码的块与预测块中的像素值之间的差值。预测误差也可以被称为残差。视频编码器还可以使用变换编解码(例如,使用离散余弦变换(DCT)的形式、离散正弦变换(DST)的形式或其他合适的变换)对预测误差应用变换以生成变换系数。在变换之后,视频编码器可以对变换系数进行量化。量化后的变换系数和运动矢量可以使用语法元素来表示,并且与控制信息一起形成视频序列的编解码表示。在一些情况下,视频编码器可以对语法元素进行熵编解码,从而进一步减少它们的表示所需的比特数。
视频解码器可以使用上面讨论的语法元素和控制信息来构建用于对当前帧进行解码的预测性数据(例如,预测性块)。例如,视频解码器可以将预测块与压缩的预测误差相加。视频解码器可以通过使用量化系数对变换基函数加权来确定压缩的预测误差。重建帧与原始帧之间的差值被称为重建误差。
如下文更详细描述的,本文描述了与为基于块的量化残差域脉冲编解码调制(BDPCM)编解码块分配帧内预测模式相关的系统、装置、方法(也称为过程)和计算机可读介质。BDPCM编解码模式类似于帧内预测,但也包括对从残差数据生成的变换和量化系数执行的逐行差值确定。BDPCM模式可以包括水平BDPCM和垂直BDPCM。
在一些情况下,当前正在被编解码的块(称为当前块)的帧内预测模式编解码可以包括生成最可能模式(MPM)预测器列表。一定数量的帧内预测模式可以被包括在MPM预测器列表中(被称为MPM模式),其余模式被称为非MPM模式。本文描述的技术和系统提供了一个或多个BDPCM模式到一个或多个帧内预测模式的映射,并且将所映射的帧内预测模式包括在当前块的MPM预测器列表中。
在一些示例中,本文描述的技术可以应用于任何现有视频编解码器(例如,高效视频编解码(HEVC)、高级视频编解码(AVC)或其他合适的现有视频编解码器),和/或可以是用于任何正在开发的视频编解码标准和/或未来视频编解码标准(诸如多功能视频编解码(VVC)、联合探索模型(JEM)、VP9、AV1和/或其他正在开发或将要开发的视频编解码标准)的有效编解码工具。在一些情况下,本文描述的技术可以被执行用于基于图像的压缩(例如,联合摄影专家组(JPEG)编解码和/或其他图像编解码技术)。
图1是图示了包括编码设备104和解码设备112的系统100的示例的框图。编码设备104可以是源设备的一部分,并且解码设备112可以是接收设备(也称为客户端设备)的一部分。源设备和/或接收设备可以包括诸如移动或固定电话手机(例如,智能手机、蜂窝电话或诸如此类)、桌面型计算机、膝上型或笔记本型计算机、平板计算机、机顶盒、电视机、照相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备、因特网协议(IP)照相机、包括一个或多个服务器设备(例如,视频流服务器系统或其他合适的服务器系统)的服务器系统中的服务器设备、头戴式显示器(HMD)、平视显示器(HUD)、智能眼镜(例如,虚拟现实(VR)眼镜、增强现实(AR)眼镜或其他智能眼镜)的电子设备或任何其他合适的电子设备。
系统100的组件可以包括电子电路或其他电子硬件和/或可以使用电子电路或其他电子硬件来实现,该电子电路或其他电子硬件可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU)和/或其他合适的电子电路),和/或可以包括计算机软件、固件或其任何组合和/或使用它们来实现,以执行本文描述的各种操作。
虽然系统100被显示为包括一些组件,但普通技术人员将了解,系统100可以包括比图1所示的组件更多或更少的组件。例如,在一些实例中,系统100还可以包括,除了存储108和存储118之外的一个或多个存储器设备(例如,一个或多个随机存取存储器(RAM)组件、只读存储器(ROM)组件、高速缓冲存储器组件、缓冲器组件、数据库组件和/或其他存储器设备)、与该一个或多个存储器设备通信和/或电连接到该一个或多个存储器设备的一个或多个处理设备(例如,一个或多个CPU、GPU和/或其他处理设备)、用于执行无线通信的一个或多个无线接口(例如,包括用于每个无线接口的一个或多个收发器和基带处理器)、用于通过一个或多个硬连线执行通信的一个或多个有线接口(例如,诸如通用串行总线(USB)输入的串行接口、发光连接器和/或其他有线接口),和/或图1中未示出的其他组件。
编码设备104(或编码器)可以用于使用视频编解码标准或协议对视频数据进行编码,以生成已编码视频比特流。视频编解码标准的示例包括ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、ITU-T H.264(也公知为ISO/IEC MPEG-4AVC),包括其可缩放视频编解码(SVC)和多视图视频编解码(MVC)扩展,以及高效视频编解码HEVC)或ITU-T H.265。存在涉及多层视频编解码的对HEVC的各种扩展,包括范围和屏幕内容编解码扩展、3D视频编解码(3D-HEVC)和多视图扩展(MV-HEVC)以及可缩放扩展(SHVC)。视频编解码联合工作组(JCT-VC)以及ITU-T视频编解码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)的3D视频编解码扩展开发联合工作组(JCT-3V)已经开发了HEVC及其扩展。
MPEG和ITU-T VCEG还组成了一个联合探索视频小组(JVET),为下一代视频编解码标准—多功能视频编解码(VVC)—探索和开发新的视频编解码工具。参考软件被称为VVC测试模型(VTM)。VVC的一个目标是在现有的HEVC标准的压缩性能上提供显著的改进,帮助部署更高质量的视频服务和新兴应用(例如,诸如360°全方位沉浸式多媒体、高动态范围(HDR)视频等)。VP9和开放媒体联盟(AOMedia)视频1(AV1)是可以应用本文所述技术的其他视频编解码标准。
本文描述的很多实施例可以使用诸如VTM、VVC、HEVC、AVC和/或其扩展的视频编解码器来执行。然而,本文描述的技术和系统也可以适用于其他编解码标准,诸如MPEG、联合摄影专家组(JPEG)(或用于静止图像的其他编解码标准)、VP9、AV1、其扩展,或已经可用或尚未可用或开发的其他合适的编解码标准。因此,虽然可以参考特定视频编解码标准来描述本文描述的技术和系统,但本领域普通技术人员将了解,不应将描述解释为仅适用于该特定标准。
参照图1,视频源102可以向编码设备104提供视频数据。视频源102可以是源设备的一部分,或者可以是除了源设备之外的设备的一部分。视频源102可以包括视频捕获设备(例如,摄像机、照相机电话、视频电话等)、包含存储的视频的视频存档、提供视频数据的视频服务器或内容提供商、从视频服务器或内容提供商接收视频的视频馈送接口、用于生成计算机图形视频数据的计算机图形系统、这些源的组合或任何其他合适的视频源。
来自视频源102的视频数据可以包括一个或多个输入图片。图片也可以被称为“帧”。图片或帧是静止图像,在一些情况下,是视频的一部分。在一些示例中,来自视频源102的数据可以是不是视频的一部分的静止图像。在HEVC、VVC和其他视频编解码规范中,视频序列可以包括一系列图片。图片可以包括三个样点阵列,表示为SL、SCb和SCr。SL是亮度样点的二维阵列,SCb是Cb色彩度样点的二维阵列,并且SCr是Cr色彩度样点的二维阵列。色彩度样点在本文中也可以被称为“色度”样点。在其他实例中,图片可以是单色的并且可以仅包括亮度样点阵列。
编码设备104的编码器引擎106(或编码器)对视频数据进行编码以生成已编码视频比特流。在一些示例中,已编码视频比特流(或“视频比特流”或“比特流”)是一系列一个或多个编解码视频序列。编解码视频序列(CVS)包括一系列访问单元(AU),从具有在基本层中具有并且有一些属性的随机访问点图片的一个AU开始,直到且不包括具有在基本层中并且有一些属性的随机访问点图片的下一个AU。例如,开始CVS的随机访问点图片的一些属性可以包括等于1的随机访问跳过引导(RASL)图片标志(例如,NoRaslOutputFlag)。否则,随机访问点图片(RASL标志等于0)不会开始CVS。访问单元(AU)包括一个或多个编解码图片和对应于共享相同输出时间的编辑码图片的控制信息。图片的编解码条带在比特流层级被封装到被称为网络抽象层(NAL)单元的数据单元中。例如,HEVC视频比特流可以包括一个或多个包括NAL单元的CVS。每个NAL单元具有NAL单元标头。在一个示例中,H.264/AVC的标头是一个字节(多层扩展除外),而HEVC的标头是两个字节。NAL单元头中的语法元素采用指定的比特,因此对于所有类型的系统和传输层都是可见的,诸如传输流、实时传输(RTP)协议、文件格式等等。
HEVC标准中存在两类NAL单元,包括视频编解码层(VCL)NAL单元和非VCL NAL单元。VCL NAL单元包括形成编解码视频比特流的编解码图片数据。例如,形成编解码视频比特流的比特序列存在于VCL NAL单元中。VCL NAL单元可以包括编解码图片数据的一个条带或条带段(下面描述),而非VCL NAL单元包括与一个或多个编解码图片相关的控制信息。在一些情况下,NAL单元可以被称为分组。HEVC AU包括VCL NAL单元和非VCL NAL单元,VCLNAL单元包含编解码图片数据,并且非VCL NAL单元(如果有的话)对应于该编解码图片数据。非VCL NAL单元可以包含具有与已编码视频比特流相关的高级信息还有其他信息的参数集。例如,参数集可以包括视频参数集(VPS)、序列参数集(SPS)和图片参数集(PPS)。在一些情况下,比特流的每个条带或其他部分可以引用单个活动PPS、SPS和/或VPS,以允许解码设备112访问可用于对该比特流的条带或其他部分进行解码的信息。
NAL单元可以包含形成视频数据的编解码表示(例如,已编码视频比特流、比特流的CVS等)的比特序列,诸如视频中图片的编解码表示。编码器引擎106通过将每个图片分割成多个条带来生成图片的编解码表示。一个条带独立于其他条带,使得条带中的信息在不依赖于来自同一图片中其他条带的数据的情况下被编解码。一个条带包括一个或多个条带段,条带段包括独立条带段,以及如果存在,还包括依赖于先前条带段的一个或多个依赖条带段。
在HEVC中,条带然后被分割为亮度样点和色度样点的编解码树块(CTB)。亮度样点的CTB和色度样点的一个或多个CTB以及样点的语法被称为编解码树单元(CTU)。CTU也可以被称为“树块”或“最大编解码单元”(LCU)。CTU是HEVC编码的基本处理单元。CTU可以被分割成多个不同大小的编解码单元(CU)。CU包含被称为编解码块(CB)的亮度和色度样点阵列。
可以将该亮度和色度CB进一步划分成预测块(PB)。PB是亮度分量或色度分量的样点块,其使用相同的运动参数来进行帧间预测或帧内块复制预测(当可用或允许使用时)。亮度PB和一个或多个色度PB与相关联的语法一起形成预测单元(PU)。对于帧间预测,在比特流中针对每个PU信令通知运动参数集合(例如,一个或多个运动矢量、参考索引等),并且该运动参数集合用于亮度PB和一个或多个色度PB的帧间预测。运动参数也可以被称为运动信息。CB还可以被分割为一个或多个变换块(TB)。TB表示对其应用残差变换(例如,在一些情况下相同的二维变换)以对预测残差信号进行编解码的颜色分量的正方形样点块。变换单元(TU)表示亮度和色度样点的TB,以及对应的语法元素。
CU的尺寸对应于编解码模式的尺寸,并且可以是正方形的形状。例如,CU的尺寸可以是8×8个样点、16×16个样点、32×32个样点、64×64个样点或任何其他合适的尺寸,直至相对应的CTU的尺寸。短语“N×N”在本文用于指视频块的垂直和水平维度方面的像素维度(例如,8像素×8像素)。块中的像素可以按行和列排列。在一些实施例中,块在水平方向上可以不具有与在垂直方向上相同数量的像素。与CU相关联的语法数据可以描述,例如将CU分割为一个或多个PU。分割模式可以在CU是帧内预测模式编码的还是帧间预测模式编码的之间不同。PU可以被分割为非正方形形状。与CU相关联的语法数据还可以描述,例如根据CTU将CU分割为一个或多个TU。TU的形状可以是正方形或非正方形形状。
根据HEVC标准,可以使用变换单元(TU)来执行变换。TU可能因不同的CU而不同。TU可以基于给定CU内PU的尺寸来确定尺寸。TU可能与PU相同尺寸或更小。在一些示例中,可以使用被称为残差四叉树(RQT)的四叉树结构将对应于CU的残差样点进一步划分为更小的单元。RQT的叶节点可以对应于TU。与TU相关联的像素差值可以被变换以产生变换系数。然后可以由编码器引擎106对该变换系数进行量化。
一旦视频数据的图片被分割为CU,编码器引擎106就使用预测模式对每个PU进行预测。然后从原始视频数据中减去预测单元或预测块以得到残差(下面描述)。对于每个CU,可以使用语法数据在比特流内信令通知预测模式。预测模式可以包括帧内预测(或图片内预测)或帧间预测(或图片间预测)。帧内预测利用图片内空域相邻样点之间的相关性。例如,使用帧内预测,从同一图片中的相邻图像数据预测每个PU,例如使用DC预测以找到PU的平均值、使用平面预测以将平面表面拟合到PU、使用方向预测以从相邻数据进行推断或者任何其他合适类型的预测。帧间预测使用图片之间的时域相关性,以便导出针对图像样点块的运动补偿预测。例如,使用帧间预测,使用运动补偿预测从一个或多个参考图片中的图像数据(按照输出顺序在当前图片之前或之后)对每个PU进行预测。例如,可以在CU层次做出是使用帧间预测还是帧内预测对图片区域进行编解码的决策。
编码器引擎106和解码器引擎116(在下面更详细地描述)可以被配置为根据VVC操作。根据VVC,视频编解码器(诸如编码器引擎106和/或解码器引擎116)将图片分割为多个编解码树单元(其中亮度样点的CTB和色度样点的一个或多个CTB,连同样点的语法,被称为CTU)。视频编解码器可以根据树结构(诸如四叉树-二叉树(QTBT)结构或多类型树(MTT)结构)对CTU进行分割。QTBT结构去除了诸如HEVC的CU、PU、TU之间的分离之类的多分割类型的概念。QTBT结构包括两个级别,包括根据四叉树分割的第一级别和根据二叉树分割的第二级别。QTBT结构的根节点对应于CTU。二叉树的叶节点对应于编解码单元(CU)。
在MTT分割结构中,可以使用四叉树分割、二叉树分割和一种或多种类型的三叉树分割来对块进行分割。三叉树分割是其中一个块被划分成三个子块的分割。在一些示例中,三叉树分割不通过中心对原始块进行划分而将一个块划分为三个子块。MTT中的分割类型(例如,四叉树、二叉树和三叉树)可以是对称的或非对称的。
在一些示例中,视频编解码器可以使用单个QTBT或MTT结构来表示亮度和色度分量中的每一个,而在其他示例中,视频编解码器可以使用两个或更多个QTBT或MTT结构,诸如一个QTBT或MTT结构用于亮度分量,而另一个QTBT或MTT结构用于两个色度分量(或两个QTBT和/或MTT结构用于各自的色度分量)。
视频编解码器可以被配置为使用按照HEVC的四叉树分割、QTBT分割、MTT分割或其他分割结构。出于说明性目的,本文的描述可以参考QTBT分割。然而,应当理解,本公开的技术也可以应用于被配置为使用四叉树分割或其他类型的分割的视频编解码器。
在一些示例中,图片的一个或多个条带被分配条带类型。条带类型包括帧内编解码条带(I条带)、帧间编解码P条带和帧间编解码B条带。I条带(帧内编解码帧,可独立解码)是仅通过帧内预测编解码的图片条带,并且因此是可独立解码的,因为I条带仅需要帧内的数据来对该条带的任何预测单元或预测块进行预测。P条带(单向预测帧)是可以用帧内预测和单向帧间预测进行编解码的图片条带。P条带内的每个预测单元或预测块是用帧内预测或帧间预测进行编解码的。当应用帧间预测时,预测单元或预测块仅由一个参考图片预测,因此参考样点仅来自一帧的一个参考区域。B条带(双向预测帧)是可以用帧内预测和帧间预测(例如,双预测或单预测)进行编解码的图片条带。可以从两个参考图片双向预测B条带的预测单元或预测块,其中每个图片贡献一个参考区域,并且两个参考区域的样点集被加权(例如,以相等的权重或以不同的权重)以产生双向预测块的预测信号。如上所述,一个图片的条带是被独立编解码的。在一些情况下,一个图片可以被仅作为一个条带进行编解码。
如上所述,帧内预测利用图片中空域相邻样点之间的相关性。存在多个帧内预测模式(也被称为“帧内模式”)。在一些示例中,亮度块的帧内预测包括35个模式,包括平面模式、DC模式,以及33个角度模式(例如,对角线帧内预测模式和与对角线帧内预测模式相邻的角度模式)。HEVC中规定的35种帧内预测模式的索引如下表1所示。在其他示例中,可以定义更多的帧内模式,包括可能尚未由33个角度模式表示的预测角度。
帧内预测模式 关联名称
0 INTRA_PLANAR
1 INTRA_DC
2..34 INTRA_ANGULAR2..INTRA_ANGULAR34
表1-帧内预测模式和关联名称的规范
在其他示例中,与角度模式相关联的预测角度可以不同于HEVC中使用的预测角度。例如,在VVC中指定了67个帧内预测模式,如图2和下面的表2中所示。在一些情况下,帧内预测模式INTRA_LT_CCLM、INTRA_L_CCLM和INTRA_T_CCLM仅适用于色度分量。
帧内预测模式 关联名称
0 INTRA_PLANAR
1 INTRA_DC
66 INTRA_ANGULAR2..INTRA_ANGULAR66
81..83 INTRA_LT_CCLM,INTRA_L_CCLM,INTRA_T_CCLM
表2-帧内预测模式和关联名称的规范
帧间预测使用图片之间的时域相关性,以便导出针对图像样点块的运动补偿预测。使用平移运动模型,通过运动矢量(Δx,Δy)指示块在先前解码的图片(参考图片)中的位置,Δx指定参考块相对于当前块的位置的水平位移,而Δy指定参考块相对于当前块的位置的垂直位移。在一些情况下,运动矢量(Δx,Δy)可以是整数样点精度(也称为整数精度),在这种情况下,运动矢量指向参考帧的整数像素网格(或者整数像素采样网格)。在一些情况下,运动矢量(Δx,Δy)可以是分数样点精度(也称为分数像素精度或非整数精度),以更准确地捕获潜在的对象的运动,而不限于参考帧的整数像素网格。运动矢量的精度可以通过运动矢量的量化级别来表示。例如,量化级别可以是整数精度(例如,1像素)或分数像素精度(例如,1/4像素、1/2像素或其他子像素值)。当对应的运动矢量具有分数样点精度时,对参考图片应用插值以导出预测信号。例如,可以对整数位置处可用的样点进行滤波(例如,使用一个或多个插值滤波器)以估计分数位置处的值。先前解码的参考图片由到参考图片列表的参考索引(refIdx)指示。运动矢量和参考索引可以被称为运动参数。可以执行两种帧间预测,包括单预测和双预测。
在使用双预测的帧间预测中,使用两个运动参数集(Δx0,Δy0,refIdx0和Δx1,Δy1,refIdx1)来生成两个运动补偿预测(来自同一参考图片或者可能来自不同参考图片)。例如,在双预测中,每个预测块使用两个运动补偿预测信号,并且生成B预测单元。然后将这两个运动补偿预测组合以得到最终的运动补偿预测。例如,可以通过求平均值来对这两个运动补偿预测进行组合。在另一示例中,可以使用加权预测,在这种情况下,可以将不同的权重应用于每个运动补偿预测。可用在双预测中的参考图片被存储在两个单独的列表中,分别表示为列表0和列表1。可以使用运动估计过程在编码器处导出运动参数。
在使用单预测的帧间预测中,使用一个运动参数集(Δx0,Δy0,refIdx0)从参考图片生成运动补偿预测。例如,在单预测中,每个预测块使用最多一个运动补偿预测信号,并且生成P预测单元。
PU可以包括与预测过程相关的数据(例如,运动参数或其他合适的数据)。例如,当使用帧内预测对PU进行编码时,PU可以包括描述PU的帧内预测模式的数据。作为另一示例,当使用帧间预测对PU进行编码时,PU可以包括定义PU的运动矢量的数据。定义PU的运动矢量的数据可以描述,例如运动矢量的水平分量(Δx)、运动矢量的垂直分量(Δy)、运动矢量的分辨率(例如,整数精度、四分之一像素精度或八分之一像素精度)、运动矢量指向的参考图片、参考索引、运动矢量的参考图片列表(例如,列表0、列表1或列表C),或者其任何组合。
在使用帧内和/或帧间预测执行预测之后,编码设备104可以执行变换和量化。例如,在预测之后,编码器引擎106可以计算对应于PU的残差值。残差值可以包括正被编解码的像素的当前块(PU)和用于预测当前块的预测块(例如,当前块的预测版本)之间的像素差值。例如,在生成预测块之后(例如,使用帧间预测或帧内预测),编码器引擎106可以通过从当前块中减去由预测单元产生的预测块来生成残差块。残差块包括对当前块的像素值与预测块的像素值之间的差值进行量化的像素差值的集合。在一些示例中,残差块可以以二维块格式(例如,二维矩阵或像素值阵列)来表示。在这样的示例中,残差块是像素值的二维表示。
使用块变换对执行预测后可能剩余的任何残差数据进行变换,块变换可以基于离散余弦变换(DCT)、离散正弦变换(DST)、整数变换、小波变换、其他适当的变换函数或其任何组合。在一些情况下,一个或多个块变换(例如,尺寸为32×32、16×16、8×8、4×4,或其他合适尺寸的内核)可以被应用于每个CU中的残差数据。在一些示例中,TU可以用于由编码器引擎106实现的变换和量化过程。具有一个或多个PU的给定CU还可以包括一个或多个TU。如下面进一步详细描述的,可以使用块变换将残差值变换成变换系数,然后可以使用TU对其进行量化和扫描,以产生用于熵编解码的序列化变换系数。
在一些实施例中,在使用CU的PU进行帧内预测或帧间预测编解码之后,编码器引擎106可以计算CU的TU的残差数据。PU可以包括空域(或像素域)中的像素数据。如前所述,残差数据可以对应于未编码图片的像素与对应于PU的预测值之间的像素差值。编码器引擎106可以形成一个或多个TU,TU包括CU(CU包括PU)的残差数据,然后可以对TU进行变换,以产生CU的变换系数。TU可以包括在应用块变换之后的变换域中的系数。
编码器引擎106可以执行变换系数的量化。量化通过对变换系数进行量化以减少用于表示系数的数据量来提供进一步的压缩。例如,量化可以减少与部分或全部系数相关联的比特深度。在一个示例中,具有n比特值的系数可以在量化期间向下舍入到m比特值,其中n大于m。
一旦执行量化,编码视频比特流包括量化的变换系数(也被称为变换系数级别)、预测信息(例如,预测模式、运动矢量、块矢量等)、分割信息和任何其他合适的数据(诸如其他语法数据)。然后编解码视频比特流的不同元素可以由编码器引擎106进行熵编码。在一些示例中,编码器引擎106可以利用预定义的扫描顺序来扫描量化的变换系数以产生可被熵编码的序列化矢量。在一些示例中,编码器引擎106可以执行自适应扫描。在对量化的变换系数进行扫描以形成矢量(例如,一维矢量)之后,编码器引擎106可以对该矢量进行熵编码。例如,编码器引擎106可以使用上下文自适应可变长度编解码、上下文自适应二进制算术编解码、基于语法的上下文自适应二进制算术编解码、概率区间分割熵编解码或另一适当的熵编码技术。
编码设备104的输出110可以通过通信链路120向接收设备的解码设备112发送NAL单元,该NAL单元组成已编码视频比特流数据。解码设备112的输入114可以接收NAL单元。通信链路120可以包括由无线网络、有线网络或有线和无线网络的组合提供的信道。无线网络可以包括任何无线接口或无线接口的组合,并且可以包括任何合适的无线网络(例如,因特网或其他广域网、基于分组的网络、WiFiTM、射频(RF)、超宽带(UWB)、WiFi-直接、蜂窝、长期演进(LTE)、WiMaxTM等)。有线网络可以包括任何有线接口(例如,光纤、以太网、电力线以太网、同轴电缆上的以太网、数字信号线(DSL)等)。有线和/或无线网络可以使用各种设备(诸如基站、路由器、接入点、网桥、网关、交换机等)来实现。已编码视频比特流数据可以根据通信标准(诸如无线通信协议)被调制,并且被发送个接收设备。
在一些示例中,编码设备104可以将已编码视频比特流数据存储在存储108中。输出110可以从编码器引擎106或从存储108检索已编码视频比特流数据。存储108可以包括各种分布式或本地访问的数据存储介质中的任何一种。例如,存储108可以包括用于存储已编码视频数据的硬盘驱动器、存储盘、闪存、易失性或非易失性存储器或任何其他合适的数字存储介质。存储108还可以包括已解码图片缓冲器(DPB),用于存储在帧间预测中使用的参考图片。在另一示例中,存储108可以对应于文件服务器或者可以存储由源设备生成的已编码视频的另一中间存储设备。在这种情况下,包括解码设备112的接收设备可以经由流式传输或下载从存储设备访问存储的视频数据。文件服务器可以是能够存储已编码视频数据并向接收设备发送已编码视频数据的任何类型的服务器。示例文件服务器包括web服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)设备或本地磁盘驱动器。接收设备可以通过任何标准数据连接(包括因特网连接)访问已编码视频数据。这可以包括无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的组合,其适于访问存储在文件服务器上的已编码视频数据。来自存储108的已编码视频数据的传输可以是流式传输、下载传输或其组合。
解码设备112的输入114接收已编码视频比特流数据,并且可以将该视频比特流数据提供给解码器引擎116,或者提供给存储118,以供解码器引擎116稍后使用。例如,存储118可以包括用于存储在帧间预测中使用的参考图片的DPB。包括解码设备112的接收设备可以经由存储108接收要进行解码的已编码视频数据。已编码视频码数据可以根据通信标准(诸如无线通信协议)被调制,并且被发送给接收设备。用于发送已编码视频数据的通信介质可以包括任何无线或有线通信介质,诸如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络的一部分,诸如局域网、广域网或全球网络(诸如因特网)。通信介质可以包括路由器、交换机、基站或者有助于从源设备到接收设备的通信的任何其他设备。
解码器引擎116可以通过熵解码(例如,使用熵解码器)和提取构成已编码视频数据的一个或多个编解码视频序列的元素来对该已编码视频比特流数据进行解码。然后,解码器引擎116可以对已编码视频比特流数据重新缩放并且执行逆变换。然后残差数据被传递到解码器引擎116的预测阶段。然后,解码器引擎116对像素块(例如,PU)进行预测。在一些示例中,预测被加到逆变换的输出(残差数据)中。
视频解码设备112可以将已解码视频输出到视频目的设备122,该视频目的设备可以包括用于向内容的消费者显示已解码视频数据的显示器或其他输出设备。在一些方面,视频目的设备122可以是包括解码设备112的接收设备的一部分。在一些方面,视频目的设备122可以是除了该接收设备之外的单独设备的一部分。
在一些实施例中,视频编码设备104和/或视频解码设备112可以分别与音频编码设备和音频解码设备集成。视频编码设备104和/或视频解码设备112还可以包括实现上述编解码技术所必需的其他硬件或软件,诸如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、分立逻辑、软件、硬件、固件或其任何组合。视频编码设备104和视频解码设备112可以集成为各自设备中的组合编码器/解码器(编解码器)的一部分。
图1所示的示例系统是本文中可以使用的一个说明性示例。使用本文描述的技术处理视频数据的技术可以由任何数字视频编码和/或解码设备来执行。尽管本公开的技术一般由视频编码设备或视频解码设备执行,但这些技术也可以由组合视频编码器-解码器执行,通常被称为“编解码器(CODEC)”。此外,本公开的技术也可以由视频预处理器执行。源设备和接收设备仅仅是这样的编解码设备的示例,其中源设备生成用于向接收设备传输的百年解码视频数据。在一些示例中,源设备和接收设备可以基本上对称的方式操作,使得每个设备包括视频编码和解码组件。因此,示例系统可以支持视频设备之间的单向或双向视频传输,例如用于视频流式传输、视频回放、视频广播或视频电话。下面参照图12描述编码设备104的特定细节的示例。下面参照图13描述解码设备112的特定细节的示例。
对HEVC标准的扩展包括多视图视频编解码扩展(被称为MV-HEVC)和可缩放视频编解码扩展(被称为SHVC)。MV-HEVC和SHVC扩展共享分层编解码的概念,其中不同的层被包括在已编码视频比特流中。编解码视频序列中的每一层由唯一的层标识符(ID)寻址。层ID可以存在于NAL单元的标头中,以识别与该NAL单元相关联的层。在MV-HEVC中,不同的层可以表示视频比特流中同一场景的不同视图。在SHVC中,提供不同的可缩放层,其以不同的空域分辨率(或图片分辨率)或以不同的重建保真度表示视频比特流。可缩放层可以包括基本层(层ID=0)和一个或多个增强层(层ID=1,2,…n)。基本层可以符合HEVC的第一版本的简档,并且表示比特流中的最低可用层。与基本层相比,增强层具有增加的空域分辨率、时域分辨率或帧速率和/或重建保真度(或质量)。增强层是分层组织的,并且可以(也可以不)依赖于更低的层。在一些示例中,可以使用单个标准编解码器对不同层进行编解码(例如,使用HEVC、SHVC或其他编解码标准对所有层进行编码)。在一些示例中,可以使用多标准编解码器对不同层进行编解码。例如,可以使用AVC对基本层进行编解码,而可以使用对HEVC标准的SHVC和/或MV-HEVC扩展对一个或多个增强层进行编解码。
一般地,层包括VCL NAL单元集合和对应的非VCL NAL单元集合。NAL单元被分配一个特定的层ID值。层可以是分层次的,因为一个层可以依赖于一个更低的层。层集是指在比特流内表示的自包含的层集,这意味着层集内的层在解码过程中可以依赖于该层集中的其他层,但不依赖于用于解码的任何其他层。因此,层集中的层可以形成可以表示视频内容的独立比特流。层集中的层的集合可以通过子比特流提取过程的操作从另一比特流获得。当解码器希望根据特定参数操作时层集可以对应于要解码的多个层的集合。
如前所述,HEVC比特流包括一组NAL单元,其包括VCL NAL单元和非VCL NAL单元。VCL NAL单元包括形成编解码视频比特流的编解码图片数据。例如,形成编解码视频比特流的比特序列存在于VCL NAL单元中。非VCL NAL单元可以包含具有与已编码视频比特流相关的高级信息还有其他信息的参数集。例如,参数集可以包括视频参数集(VPS)、序列参数集(SPS)和图片参数集(PPS)。参数集的目标示例包括比特率效率、容错性和提供系统层接口。每个条带参考单个活动PPS、SPS和VPS,以访问解码设备112可以用于对该条带进行解码的信息。可以针对每个参数集对标识符(ID)进行编解码,包括VPS ID、SPS ID和PPS ID。SPS包括SPS ID和VPS ID。PPS包括PPS ID和SPS ID。每个条带标头包括PPS ID。使用ID,可以针对给定条带识别活动参数集。
PPS包括应用于给定图片中所有条带的信息。正因为如此,一个图片中的所有条带参考同一PPS。不同图片中的条带也可以参考同一PPS。SPS包括应用于同一编解码视频序列(CVS)或比特流中的所有图片的信息。如前所述,编解码视频序列是一系列访问单元(AU),其以具有在基本层中并且具有某些属性(如上所述)的随机访问点图片(例如,瞬时解码参考(IDR)图片或断链访问(BLA)图片,或其他适当的随机访问点图片)开始,直到且不包括具有在基本层中并且具有某些属性(或者该比特流的末尾)的随机访问点图片的下一个AU。SPS中的信息可以在编解码视频序列中不随图片改变。编解码视频序列中的图片可以使用同一SPS。VPS包括应用于编解码视频序列或比特流内的所有层的信息。VPS包括具有应用于整个编解码视频序列的语法元素的语法结构。在一些实施例中,VPS、SPS或PPS可以与已编码比特流在带内发送。在一些实施例中,VPS、SPS或PPS可以在与包含编码视频数据的NAL单元分开的传输中在带外发送。
视频比特流还可以包括补充增强信息(SEI)消息。例如,SEI NAL单元可以是视频比特流的一部分。在一些情况下,SEI消息可能包含解码过程不需要的信息。例如,SEI消息中的信息对于解码器对比特流的视频图片进行解码可能不是必需的,但是解码器可以使用该信息来改进图片的显示或处理(例如,解码输出)。SEI消息中的信息可以是嵌入的元数据。在一个说明性示例中,SEI消息中的信息可以由解码器侧实体使用以改进内容的可视性。在一些实例中,一些应用标准可以规定在比特流中存在这样的SEI消息,以便可以将质量的改进带入到符合应用标准的所有设备(例如,用于帧兼容的平面立体3DTV视频格式的帧打包SEI消息的传送,其中针对视频的每一帧携带SEI消息,恢复点SEI消息的处理,DVB中的全荧幕扫描矩形SEI消息的使用,以及很多其他示例)。
在一些实现方式中,视频编解码器(例如,视频编码器、视频解码器或组合编码器-解码器或编解码器(CODEC))可以使用残差块上的基于块的脉冲编解码调制(PCM)模式,其可以被称为基于块的量化残差域PCM(BDPCM)或残差差值(或增量)PCM(RDPCM)。BDPCM预测模式与帧内预测模式是分开的。图2是提供与VVC相关联的67个帧内预测模式(示出为模式0-66)的示例说明的示意图。模式0是平面模式,模式1是DC模式,并且模式2-66是角度模式。如上所述,可以通过从当前块信号中减去预测信号来生成残差信号(或残差块)(对应于预测误差)。因此,残差信号是原始信号中不能被选定的预测器预测的部分。视频编码器可以从垂直或水平方向上的相邻样点预测残差块。一旦确定了残差块,就可以应用变换和量化来生成量化系数。
使用BDPCM模式,视频编解码器可以基于先前行或先前列中的值来修改量化系数的行或列的值。BDPCM模式可以包括水平BDPCM和垂直BDPCM。在垂直BDPCM的一个说明性示例中,视频编解码器可以保持量化系数块的第一行(称为行0)不变。对于块的第二行(行1),视频编解码器可以从行1的值中减去行0中的值(例如,从行1的第一值中减去行0的第一值,从行1的第二值中减去行0的第二值,以此类推)。对于块的第三行(行2),视频编解码器可以从行2的值中减去行1中的值,对于块的第四行(行3),视频编解码器可以从行3的值中减去行2中的值,以此类推。减法可以指确定等于减法结果的值,并且可以通过减去或加上一个负值来执行。视频编解码器可以信令通知行0的变换和量化的残差值、行1的差值、行2的差值等等。
图3是图示了包括由编码设备(例如,编码设备104,或者包括编码设备104的编解码器)使用垂直BDPCM模式进行编解码的当前块304的图片302的示例的框图。当前块304的第一相邻块被示出在当前块的上方(被称为上相邻块306),并且当前块304的第二相邻块被示出在当前块的左侧(被称为左相邻块308)。使用垂直BDPCM模式,可以从上邻块306的底行307对当前块进行预测。例如,可以使用上邻块306的底行为当前块304生成残差块(表示残差信号)。在使用水平BDPCM的情况下,可以从左相邻块308的最右列309对当前块进行预测。
图4A是图示了具有各种值的上邻块306的底行307的示意图,并且图4B是图示了具有各种值的当前块304的示意图。底行307中的值和当前块304中的值表示样点值(例如,亮度值、色度值或亮度和色度值)。图5是图示了使用上邻块306的底行307为当前块304生成残差块510的示例的示意图。使用垂直BDPCM模式,从当前块304中的每一行中减去上邻块306的底行307,以获得残差块510。例如,从当前块304的第一行(被称为行0)中减去底行307,以确定残差块510的第一行(行0)。从当前块304的行0中的第一值11减去底行307中的第一值8以获得值3,该值被包括作为残差块510的第一值。从当前块304的行0中的第二值12减去底行307中的第二值7以获得值5,该值被包括作为残差块510的第二值。从当前块304的行0中的第三值13减去底行307中的第三值6以获得值7,该值被包括作为残差块510的第三值。从当前块304的行0中的第四值14减去底行307中的第四值5以获得值9,该值被包括作为残差块510的第四值。进行类似的计算以确定残差块510的第二行(行1)、第三行(行2)和第四行(行3)中的值。
编码设备可以对残差块510执行变换,并且可以对变换后的值进行量化以确定最终的量化变换系数值以进行编解码。量化变换系数可以被称为变换系数级别(或级别)。上面参照图1以及下面参照图12和图13描述关于变换和量化的细节。图6是图示了具有量化变换系数的块620的示例的示意图,该量化变换系数是从对残差块510中的值进行变换和量化而得到的。在常规的帧内预测模式(例如,图2所示的帧内预测模式0-66)中,编码设备将按原样对量化变换系数进行编码(例如,通过执行量化变换系数的熵编码,诸如使用上下文自适应二进制算术编解码(CABAC)或其他熵编解码技术)。
当执行PDPCM时,对量化变换系数执行附加的预测。如上所述,编码设备可以基于先前行或先前列中的值对量化系数的行或列的值进行修改。图7是图示了包括使用垂直BDPCM从量化变换系数的块620确定的值的块730的示例的示意图。量化变换系数的块620的第一行(被称为行0)不改变,并且在块730中保持原样。例如,如图7所示,块730的行0包括与块620的行0相同的值1、2、3和4。对于块730的第二行(行1),编码设备从块620的行1中的值减去块620的行0中的值。例如,从块620的行1中的第一值10减去块620的行0中的第一值1,以获得值9,该值被包括作为730的行1中的第一值。从块620的行1中的第二值11减去块620的行0中的第二值2,以获得值9,该值被包括作为730的行1中的第二值。从块620的行1中的第三值12减去块620的行0中的第三值3,以获得值9,该值被包括作为730的行1中的第三值。从块620的行1中的第四值13减去块620的行0中的第四值4,以获得值9,该值被包括作为730的行1中的第四值。结果,块730中的第二行(行1)包括值9、9、9和9。
进行类似的计算以确定块730的第三行(行2)和第四行(行3)中的值。例如,通过从块620的行2中的值减去块620的行1中的值来确定块730的第三行(行2),并且通过从块620的行3中的值减去块620的行2中的值来确定块730的第三行(行3)。然后,编码设备可以对块730中的值进行编解码(例如,通过执行量化变换系数的熵编解码,诸如使用上下文自适应二进制算术编解码(CABAC)或其他熵编解码技术)。可以将编解码值包括在已编码视频比特流中,并存储和/或发送以由用于解码的设备接收。解码设备可以执行如上所述的逆过程,以执行BDPCM以对使用BDPCM进行编码的块进行解码。
BDPCM预测模式与帧内预测模式的信令被分开地信令通知。与BDPCM预测模式相关联的各种语法元素和变量可以由编码设备信令通知,并且由解码设备使用以确定是否使用BDPCM模式对块进行解码。例如,可以连同指示BDPCM预测方向(例如,水平或垂直)的语法元素和/或变量一起,信令通知指示块是否使用BDPCM模式的语法元素和/或变量。帧内预测模式信令利用预测器来信令通知可以用于对块进行编解码的帧内预测模式。在一些示例中,可以在最可能模式(MPM)预测器列表(也被称为MPM列表)中信令通知预测器。如图2所示,VVC指定67个可用的帧内预测模式。在MPM列表中可以包括一定数量的帧内预测模式(例如,VVC中为五个、HEVC中为三个,或其他合适的数量)。包括在MPM列表中的帧内预测模式被称为MPM模式。其余的模式(除了MPM模式)被称为非MPM模式。在一些情况下,MPM列表可以被指定为数组candModeList[]。
在编码器和解码器处使用相同的过程来执行MPM列表生成。例如,编码设备和解码设备可以独立地生成块的MPM列表。编码设备可以信令通知解码器可以用于从MPM模式(在MPM列表中)或从非MPM模式中选择块的帧内预测模式的信息。在一些情况下,仅针对亮度样点的帧内预测指定MPM生成。例如,在VVC中仅针对亮度样点(而不是色度)的帧内预测指定MPM生成。在其他情况下,可以针对亮度样点和色度样点指定并执行MPM生成。
MPM列表中最可能的模式可以被认为是“特殊的”,因为它们是与其他模式不同地被信令通知的。MPM模式被针对一个块存储在MPM列表中,因为它们是被单独地信令通知的。在VVC中,平面模式已经被“排除”在MPM列表之外;但是平面模式也与剩余预测模式(例如,其他帧内预测模式)分开地被信令通知。尽管平面模式本身不包括在MPM列表中,但它可以被认为是最可能的模式。
对于每个被编解码(编码或解码)的块,可以定义最可能模式的列表。
正在被编解码的块被称为当前块。如上所述,在VVC中,平面模式不包括在
生成的MPM列表中,并且不计入MPM列表中最可能模式的数量。可以从用于与当前块相邻的一个或多个相邻块的帧内预测模式中导出要包括在当前块的MPM列表中的一个或多个预测器。例如,可以选择与当前块相邻的两个相邻块以用于导出要包括在当前块的MPM列表中的模式。可以相对于当前块定义块的位置。例如,当前块的第一相邻块可以包括在当前块上方的块(被称为上相邻块),并且当前块的第二相邻块可以包括在当前块左侧的块(被称为左相邻块)。在一个说明性示例中,总共可以在块的MPM列表中包括五个模式,并且这五个模式中的两个是这两个相邻块的模式。在一些情况下,如果相邻块的两种模式都相同,则它们将只计入MPM列表中的一个条目。
图8是图示了包括正在被编解码(编码或解码)的当前块804的图片802的示例的示意图。参考图8作为说明性示例,当生成当前块804的MPM列表时,可以选择上相邻块806和左相邻块808以用于推导用于当前块804的MPM列表的预测器。在一些情况下,每个代表两个相邻块(例如,上相邻块806和左相邻块808)的一个帧内预测模式可以被选择为当前块(例如,当前块804)的MPM列表的预测器。在一些示例中,如果用规则的帧内预测模式(例如,图2所示的67个帧内预测模式之一)对相邻块进行编解码,则选择该帧内预测模式作为相邻块的代表性模式,以包括在当前块的MPM列表中。在这样的示例中,如果用常规帧内预测模式之外的编解码模式对相邻块进行编解码(例如,使用矩阵帧内预测(MIP)、帧间预测、帧内块复制(IBC)、BDPCM、不可用或其他非帧内预测模式进行编解码),则基于某些规则选择代表性模式。在一个说明性示例中,当相邻块的模式不可用时,诸如MIP编解码或非帧内编解码(例如,帧间、IBC等),则相邻块的代表性帧内预测模式可以被设置为平面模式或其他默认模式。如下所述,如果使用BDPCM对相邻块进行编解码,则可以存在将用于MPM列表的针对相邻块指定的帧内预测模式(例如,水平、垂直等)。
在一些实现方式中,一个或多个帧内预测模式(例如,DC模式,在图2中被称为模式0)总是可以在被包括在MPM列表中的某个位置处(例如,作为MPM列表中的第一条目)。例如,在VVC中,DC模式被包括在MPM列表中(例如,总是被包括在MPM中的某个位置处)。可以从相邻模式和/或其他默认模式导出块的MPM的剩余MPM模式。例如,编解码设备(例如,编码设备和/或解码设备)可以确定相邻块的模式的邻近模式,用于填充块的MPM列表。例如,如果x和y分别是块A和B的相邻模式,则x+1、x-1、y+1、y-1、x+2等可以被包括在MPM列表中。在一个说明性示例中,如果x是帧内预测模式36,则x+1是帧内预测模式37,x-1是帧内预测模式35。例如在VVC标准中指定的,可以使用步骤的集合来确定将添加哪些模式。在一些情况下,默认模式可以包括垂直帧内预测模式(模式50)、水平帧内预测模式(模式18)或者可以添加到MPM列表的其他模式。该推导的一个基本假设是避免MPM列表中的重复。
在一个示例中,基于来自两个相邻块的两个模式、DC模式和从相邻模式导出的两个模式,在当前块的MPM列表中包括五个模式。在一些情况下,其他数量的帧内预测模式可以被包括在MPM列表中(例如,根据HEVC为三个帧内预测模式)。
当对当前块进行编码时,编码设备选择用于对当前块进行编码的帧内预测模式(例如,平面、DC或角度模式)。例如,如下所述,编码设备可以基于错误结果(例如,编码速率和失真级别等)为当前块选择多个可能的编解码模式中的一个,诸如多个帧内预测编解码模式中的一个、或多个帧间预测编解码模式中的一个。如果所选择的模式属于MPM列表,则将帧内预测模式列表标志设置为真(例如,值为1)。在一个说明性示例中,帧内预测模式列表标志可以表示为intra_luma_mpm_flag。当帧内预测模式列表标志被设置为真(例如,intra_luma_mpm_flag等于1)时,根据所选择的模式是否是平面,信令通知指示帧内预测模式是否不是平面模式的平面标志的值。平面标志可以表示为intra_luma_not_planar_flag,其中intra_luma_not_planar_flag的真值(例如,等于1)指示MPM模式不是平面模式,并且其中假值(例如,等于0)指示MPM模式是平面模式。如果MPM模式不是平面模式(例如,intra_luma_not_planar_flag等于1),则可以在已编码视频比特流中信令通知对MPM列表的索引。与MPM列表相关联的索引可以表示为intra_luma_mpm_idx,并且可以指示MPM列表中要用于当前块的MPM模式。如果所选择的模式不属于MPM列表,则将帧内预测模式列表标志(例如,intra_luma_mpm_flag)设置为假(例如,值为0),并且在已编码视频比特流中信令通知对非MPM帧内预测模式的非MPM索引。
关于解码器,对于正在进行解码的当前块,可以从已编码视频比特流获得帧内预测模式列表标志(例如,intra_luma_mpm_flag)。如上所述,帧内预测模式列表标志(例如,intra_luma_mpm_flag)向解码器指定所选择的帧内预测模式是否在MPM列表中的那些模式之中。在一些情况下,如果帧内预测模式列表标志(例如,intra_luma_mpm_flag)被设置为假,则解码器可以选择不导出块的MPM列表。如果将帧内预测模式列表标志设置为真(例如,intra_luma_mpm_flag equal等于1),则使用平面标志(例如,intra_luma_not_planar_flag)和/或对MPM列表的索引(例如,intra_luma_mpm_idx)从MPM列表中选择模式。例如,如果平面标志具有假值(例如,intra_luma_not_planar_flag等于0),则解码器可以确定MPM模式是平面模式。如果平面标志具有真值(例如,intra_luma_not_planar_flag等于1),则解码器可以确定MPM模式不是平面模式,并且可以参考对MPM列表的索引(例如,intra_luma_mpm_idx),以确定要选择MPM列表中的哪个MPM模式来对当前块进行解码。如果帧内预测模式列表标志被设置为假(例如,intra_luma_mpm_flag等于0),则解码器可以使用非MPM索引来导出非MPM帧内预测模式以用于对当前块进行解码。
如上所述,应用于与当前块相邻的一个或多个相邻块的帧内预测模式可以被用作当前块的MPM列表中的MPM帧内预测模式。然而,当使用BDPCM模式而不是帧内预测模式(例如,不是图2所示的VVC 67个帧内预测模式之一)对相邻块进行编解码时,没有与该相邻块相关联的帧内预测模式可以被添加到当前块的MPM列表中。为了模式内推导的目的,使用BDPCM模式编码的块可能需要分配给它的帧内预测模式,用于推导用于未来编解码块的一个或多个帧内预测模式预测器。例如,当对当前块进行编码或解码时,编解码设备(例如,编码设备、解码设备或编解码器)可以将帧内预测模式分配给使用BDPCM模式编码的相邻块(与当前块相邻),并且可以将所分配的帧内预测模式包括在当前块的MPM列表中。一些技术将预测器列表的第一元素(例如,MPM列表中的第一条目)分配为要分配给BDPCM编码块的帧内预测模式。在一些情况下,平面模式、DC模式或其他模式可以被认为是MPM列表中的第一个条目。
本文描述了用于为BDPCM编码块分配帧内预测模式的系统、方法、装置和计算机可读介质。可以提供不同BDPCM模式到不同帧内预测模式的映射。例如,水平帧内预测模式(例如,模式18)可以被映射到水平BDPCM模式,并且垂直帧内预测模式(例如,模式50)可以被映射到垂直BDPCM模式。使用这种映射,可以将水平帧内预测模式分配给使用水平BDPCM模式进行编解码的块,并且可以将垂直帧内预测模式分配给使用垂直BDPCM模式进行编解码的块。在一些情况下,可以将平面模式和/或DC模式分配给BDCPM编解码块。
帧内预测模式与BDPCM模式之间的映射可以用于导出用于未来编解码块的预测器列表(例如,MPM列表)。例如,分配给BDPCM编解码块的帧内预测模式可以被包括在当前块的预测器列表(例如,MPM列表)中。在一个示例中,基于水平帧内预测模式与水平BDPCM模式之间的映射,可以将水平帧内预测模式包括在当前块的MPM预测器列表中,以表示使用水平BDPCM模式进行编解码的相邻块。在另一个示例中,基于垂直帧内预测模式与垂直BDPCM模式之间的映射,可以将垂直帧内预测模式包括在当前块的MPM预测器列表中,以表示使用垂直BDPCM模式进行编解码的相邻块。
图9是图示了包括正在被编解码(例如,由编码设备进行编码或由解码设备进行解码)的当前块904的图片902的示例的示意图。当生成当前块904的MPM列表时,可以选择上相邻块906和左相邻块908以用于导出用于当前块904的MPM列表的预测器。如图所示,帧内预测模式X被用于对左相邻块908进行编解码(编码或解码)。帧内预测模式X可以包括,例如图2所示的任何帧内-67预测模式。可以将帧内预测模式X添加到当前块904的MPM列表中。
如图9所示,使用BDPCM对上相邻块906进行编解码(编码或解码)。在一个说明性示例中,用于对上相邻块906进行编解码的BDPCM模式是水平BDPCM模式。在这样的示例中,水平BDPCM模式可以被映射到水平帧内预测模式(例如,图2中的模式18),用于表示上相邻块906。可以将表示上相邻块906的水平帧内预测模式添加到当前块904的MPM列表中。在另一个说明性示例中,用于对上相邻块906进行编解码的BDPCM模式是垂直BDPCM模式。在这样的示例中,垂直BDPCM模式可以被映射到垂直帧内预测模式(例如,图2中的模式50),用于表示上相邻块906。可以将表示上相邻块906的垂直帧内预测模式添加到当前块904的MPM列表中。在一些实现方式中,一个或多个其他帧内预测模式也可以被包括在当前块904的MPM列表中。例如,在一些情况下,DC模式可以被包括在当前块904的MPM列表中。
在一些情况下,水平BDPCM模式可以被映射到水平帧内预测模式(例如,图2中的模式18),用于表示相邻块,因为可能导致选择水平BDPCM模式以应用于一个块的该块的属性类似于可能导致选择水平帧内预测模式以应用于一个块的该块的属性。基于块的属性,块最适合使用水平帧内预测模式进行预测(如果水平BDPCM模式不可用)。在一些情况下,垂直BDPCM模式可以被映射到垂直帧内预测模式(例如,图2中的模式18),用于表示相邻块,因为可能导致选择垂直BDPCM模式以应用于一个块的该块的属性类似于可能导致选择垂直帧内预测模式以应用于一个块的该块的属性。基于块的属性,块最适合使用垂直帧内预测模式进行预测(如果垂直BDPCM模式不可用)。
在一些实现方式中,编解码设备(例如,编码设备、解码设备或编解码器)除了常规或树分割结构之外,还可以应用帧内子分割(ISP)模式。例如,可以使用QTBT结构或MTT结构将图片划分成编解码单元或编解码块,并且可以使用ISP对编解码单元或编解码块进行进一步划分。在ISP模式中,从对编解码块进行划分而得到的两个或更多个分割共享同一帧内预测模式。例如,编解码块的两个或更多个分割可以被分别地(例如,以序列化顺序)进行编码或解码,但是对于这两个或更多个分割中的每一个使用相同的帧内预测模式。例如,在一些实现方式中,如果启用ISP或选择将ISP模式应用于编解码块,则可以对该编解码块进行分割,并且可以将相同的帧内预测模式应用于每个分割。在一些实现方式中,BDPCM编解码块可以被视为非ISP模式编解码块。例如,使用BDPCM进行编解码的块可以不使用ISP模式进行编解码。
图10是图示了使用本文描述的技术对视频数据进行解码的过程1000的示例的流程图。在一些示例中,过程1000由解码设备(例如,解码设备112)执行。在其他示例中,过程1000可以被实现为非暂时性存储介质中的指令,该指令在由设备的处理器执行时使该设备执行过程1000。在一些情况下,当由视频解码器执行过程1000时,视频数据可以包括已编码视频比特流中包括的编解码图片或编解码图片的一部分(例如,一个或多个块),或者可以包括已编码视频比特流中包括的多个编解码图片。
在框1002处,过程1000包括获得包括在已编码视频比特流中的图片的第一块。在一些实现方式中,该第一块是亮度编解码块(例如,包括亮度样点而不包括色度样点)。在一些实现中,该第一块是色度编解码块(例如,包括色度样点而不包括亮度样点)。在一些实现中,该第一块是包括亮度样点和色度样点的编解码块。
在框1004处,过程1000包括确定图片的第二块是使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式进行编解码的。如本文所述,该第二块是图片中第一块的相邻块。在参考图9的一个说明性示例中,第一块可以包括当前块904,并且第二块可以是相邻块906。
在框1006处,过程1000包括基于第二块是使用垂直BDPCM模式进行编解码的,为第一块的帧内预测模式列表确定垂直帧内预测模式。在框1008处,过程1000包括将该垂直帧内预测模式添加到该第一块的帧内预测模式列表。在一些方面,帧内预测模式列表包括最可能模式(MPM)列表。
在一些示例中,过程1000包括基于来自已编码视频比特流的信息并且基于帧内预测模式列表确定要用于对第一块进行解码的预测模式。过程1000可以使用所确定的预测模式对第一块进行解码。在一些实现方式中,来自已编码视频比特流的信息包括帧内预测模式列表标志,该标志指示要用于对第一块进行解码的预测模式是否在该帧内预测模式列表中包括的多个预测模式之中。如果要用于对第一块进行解码的预测模式属于帧内预测模式列表,则该帧内预测模式列表标志可以被设置为真(例如,值为1)。在一个说明性示例中,帧内预测模式列表标志可以表示为intra_luma_mpm_flag。在一些示例中,过程1000包括基于帧内预测模式列表标志的值,确定要用于对第一块进行解码的预测模式在帧内预测模式列表中包括的多个预测模式之中(例如,基于帧内预测模式列表标志具有1的值)。基于确定要用于对第一块进行解码的预测模式在该帧内预测模式列表中包括的多个预测模式之中,过程1000可以从帧内预测模式列表中确定要用于对第一块进行解码的预测模式。如上所述,如果该模式不属于该帧内预测模式列表,则将帧内预测模式列表标志(例如,intra_luma_mpm_flag)设置为假(例如,值为0),并且可以在已编码视频比特流中信令通知非MPM帧内预测模式的非MPM索引。
在一些实现中,已编码视频比特流中的信息包括与帧内预测模式列表相关联的索引值。例如,该信息可以包括该帧内预测模式列表标志和该索引值。在一个说明性示例中,与帧内预测模式列表相关联的索引可以表示为intra_luma_mpm_idx,并且可以指示帧内预测模式列表中要被用于第一块的预测模式。过程1000可以包括:使用索引值从该帧内预测模式列表确定要用于对第一块进行解码的预测模式。
在一些示例中,过程1000包括获得包括在已编码视频比特流中的图片的第三块,以及确定该图片的第四块是使用水平的基于块的BDPCM模式进行编解码的。在这些示例中,过程1000包括基于该第四块是使用水平BDPCM模式进行编解码的,为第三块的帧内预测模式列表确定水平帧内预测模式,以及将该水平帧内预测模式添加到该第三块的帧内预测模式列表中。
图11是图示了使用本文描述的技术对视频数据进行编码的过程1100的示例的流程图。在一些示例中,过程1100由编码设备(例如,编码设备104)执行。在其他示例中,过程1100可以被实现为非暂时性存储介质中的指令,该指令在由设备的处理器执行时使该设备执行过程1100。在一些情况下,当由视频编码器执行过程1100时,视频数据可以包括要被编码在已编码视频比特流中的图片或图片的一部分(例如,一个或多个块),或者可以包括要被编码在已编码视频比特流中的多个图片。
在框1102处,过程1100包括使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式对图片的第一块进行编码。在框1104处,过程1100包括获得该图片的第二块。在一些方面,该第二块是亮度编解码块(例如,包括亮度样点而不包括色度样点)。在一些实现发生中,该第二块是色度编解码块(例如,包括色度样点而不包括亮度样点)。在一些实现中,该第二块是包括亮度样点和色度样点的编解码块。如本文所述,该第一块是图片中第二块的相邻块。在参考图9的一个说明性示例中,第二块可以包括当前块904,并且第一块可以是相邻块906。
在框1106处,过程1100包括基于第一块是使用垂直BDPCM模式进行编码的,为第二块的帧内预测模式列表确定垂直帧内预测模式。在框1108处,过程1100包括将该垂直帧内预测模式添加到该第二块的帧内预测模式列表。在一些示例中,帧内预测模式列表包括最可能模式(MPM)列表。在框1110处,过程1100生成包括该第一块、该第二块和该帧内预测模式列表的已编码视频比特流。
在一些示例中,过程1100包括在已编码视频比特流中包括指示要用于对该第一块进行解码的预测模式的信息。在一些示例中,该信息包括帧内预测模式列表标志,该标志指示要用于对第一块进行解码的预测模式是否在该帧内预测模式列表中包括的多个预测模式之中。如果要用于对第一块进行解码的预测模式属于帧内预测模式列表,则该帧内预测模式列表标志可以被设置为真(例如,值为1)。如上所述,如果该模式不属于该帧内预测模式列表,则将帧内预测模式列表标志(例如,intra_luma_mpm_flag)设置为假(例如,值为0),并且可以在已编码视频比特流中包括对非MPM帧内预测模式的非MPM索引。在一个说明性示例中,帧内预测模式列表标志可以表示为intra_luma_mpm_flag。
在一些示例中,该信息包括指示来自帧内预测模式列表的、要用于对第一块进行解码的预测模式的索引值。例如,该信息可以包括该帧内预测模式列表标志和该索引值。在一个说明性示例中,与帧内预测模式列表相关联的索引可以表示为intra_luma_mpm_idx,并且可以指示帧内预测模式列表中将要被用于第二块的预测模式。
在一些方面,过程1100包括使用水平的基于块的BDPCM模式对图片的第三块进行编码,以及获得该图片的第四块。在这些示例中,过程1100包括基于该第三块是使用水平BDPCM模式进行编解码的,为第四块的帧内预测模式列表确定水平帧内预测模式,以及将该水平帧内预测模式添加到该第四块的帧内预测模式列表中。
在一些实现方式中,本文描述的过程(或方法),包括过程1000和1100,可以由计算设备或装置(诸如图1所示的系统100)来执行。例如,过程1000可以由图1和图13所示的解码设备112和/或由另一客户端侧设备(诸如播放器设备、显示器或任何其他客户端侧设备)执行。作为另一示例,过程1100可以由图1和图12所示的编码设备104和/或由另一视频源侧设备或视频传输设备执行。
在一些情况下,计算设备或装置可以包括一个或多个输入设备、一个或多个输出设备、一个或多个处理器、一个或多个微处理器、一个或多个微型计算机和/或被配置为执行本文所述过程的步骤的一个或多个其他组件。在一些示例中,计算设备可以是或可以包括移动设备、桌面型计算机、服务器计算机和/或服务器系统或其他类型的计算设备。在一些示例中,计算设备或装置可以包括配置为捕获包括视频帧的视频数据(例如,视频序列)的照相机。在一些示例中,捕获视频数据的照相机或其他捕获设备与计算设备是分开的,在这种情况下,计算设备接收或获得捕获的视频数据。该计算设备还可以包括被配置为传送该视频数据的网络接口。该网络接口可以被配置为传送基于因特网协议(IP)的数据或其他类型的数据。在一些示例中,计算设备或装置可以包括显示器,用于显示输出视频内容(诸如视频比特流的图片样点)。
计算设备的组件(例如,一个或多个输入设备、一个或多个输出设备、一个或多个处理器、一个或多个微处理器、一个或多个微型计算机和/或其他组件)可以在电路中实现。例如,该组件可以包括电子电路或其他电子硬件和/或可以使用电子电路或其他电子硬件来实现,该电子电路或其他电子硬件可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU)和/或其他合适的电子电路),和/或可以包括计算机软件、固件或其任何组合和/或使用它们来实现,以执行本文描述的各种操作。
过程1000和1100被图示为逻辑流图,其操作表示可以用硬件、计算机指令或其组合实现的操作序列。在计算机指令的上下文中,该操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行时,该指令执行所述操作。一般地,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。其中描述操作的顺序并不意在被解释为限制性的,而是可以以任何顺序和/或并行地组合任何数量的所描述的操作以实现该过程。
另外,本文描述的过程,包括过程1000和1100,可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以通过硬件或其组合实现为在一个或多个处理器上集体执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)。如上所述,代码可以,例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式,存储在计算机可读或机器可读存储介质上。计算机可读或机器可读存储介质可以是非暂时性的。
本文讨论的编解码技术可以在示例视频编码和解码系统(例如,系统100)中实现。在一些示例中,系统包括源设备,其提供待在稍后由目的设备进行解码的已编码视频数据。特别地,源设备经由计算机可读介质向目的设备提供视频数据。源设备和目的设备可以包括广泛范围的设备中的任何一种,包括桌面型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、诸如所谓的“智能”手机的电话手持设备、所谓的“智能”平板、电视、照相机、显示设备、数字媒体播放器、视频游戏机、视频流设备等。在一些情况下,源设备和目的设备可以被装备用于无线通信。
目的设备可以经由计算机可读介质接收要进行解码的已编码视频数据。计算机可读介质可以包括能够将该已编码视频数据从源设备移动到目的设备的任何类型的介质或设备。在一个示例中,计算机可读介质可以包括通信介质,以使源设备能够实时地将已编码视频数据直接发送给目的设备。已编码视频码数据可以根据通信标准(诸如无线通信协议)被调制,并且被发送给目的设备。通信介质可以包括任何无线或有线通信介质,诸如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络的一部分,诸如局域网、广域网或全球网络(诸如因特网)。通信介质可以包括路由器、交换机、基站或者有助于从源设备到目的设备的通信的任何其他设备。
在一些示例中,已编码数据可以从输出接口输出到存储设备。类似地,可以通过输入接口从存储设备访问已编码数据。存储设备可以包括各种分布式或本地访问的数据存储介质中的任何一种,诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器,或用于存储已编码视频数据的任何其他合适的数字存储介质。在另一示例中,存储设备可以对应于文件服务器或者可以存储由源设备生成的已编码视频的另一中间存储设备。目的设备可以通过流式传输或下载从存储设备访问存储的视频数据。文件服务器可以是能够存储已编码视频数据并向目的设备发送已编码视频数据的任何类型的服务器。示例文件服务器包括web服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)设备或本地磁盘驱动器。目的设备可以通过任何标准数据连接(包括因特网连接)访问已编码视频数据。这可以包括无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的组合,其适于访问存储在文件服务器上的已编码视频数据。来自存储设备的已编码视频数据的传输可以是流式传输、下载传输或其组合。
本公开的技术不一定仅限于无线应用或设置。所述技术可以应用于支持各种多媒体应用中的任何一种的视频编解码,诸如空中电视广播、有线电视传输、卫星电视传输、因特网流式视频传输(诸如基于HTTP的动态自适应流式传输(DASH))、编码到数据存储介质上的数字视频、对存储在数据存储介质上的数字视频的解码或其他应用。在一些示例中,系统可以被配置为支持单向或双向视频传输,以支持诸如视频流、视频回放、视频广播和/或视频电话之类的应用。
在一个示例中,源设备包括视频源、视频编码器和输出接口。目的设备可以包括输入接口、视频解码器和显示设备。源设备的视频编码器可以被配置为应用本文公开的技术。在其他示例中,源设备和目的设备可以包括其他组件或布置。例如,源设备可以从诸如外部照相机的外部视频源接收视频数据。同样,目的设备可以与外部显示设备接口,而不是包括集成显示设备。
上面的示例系统仅仅是一个例子。用于并行地处理视频数据的技术可以由任何数字视频编码和/或解码设备来执行。尽管本公开的技术一般由视频编码设备执行,但这些技术也可以由视频编码器/解码器执行,通常被称为“编解码器(CODEC)”。此外,本公开的技术也可以由视频预处理器执行。源设备和目的设备仅仅是这样的编解码设备的示例,其中源设备生成用于向目的设备传输的编解码视频数据。在一些示例中,源设备和目的设备可以基本上对称的方式操作,使得每个设备包括视频编码和解码组件。因此,示例系统可以支持视频设备之间的单向或双向视频传输,例如用于视频流、视频回放、视频广播或视频电话。
视频源可以包括诸如照相机的视频捕获设备、包含先前捕获的视频的视频存档和/或用于从视频内容提供商接收视频的视频馈送接口。作为另一替代方案,视频源可以生成基于计算机图形的数据作为源视频,或者生成实时视频、存档视频和计算机生成视频的组合。在一些情况下,如果视频源是视频照相机,则源设备和目的设备可以形成所谓的照相机电话或视频电话。然而,如上所提到的,本公开中描述的技术可以一般地适用于视频编解码,并且可以应用于无线和/或有线应用。在每种情况下,捕获的、预捕获的或计算机生成的视频可以由视频编码器进行编码。然后已编码视频信息可以通过输出接口被输出到计算机可读介质上。
如上所述,计算机可读介质可以包括诸如无线广播或有线网络传输的暂时性介质,或者诸如硬盘、闪存驱动器、压缩光盘、数字视频光盘、蓝光光盘或其他计算机可读介质的存储介质(即,非暂时性存储介质)。在一些示例中,网络服务器(未示出)可以,例如经由网络传输,从源设备接收已编码视频数据并将该已编码视频数据提供给目的设备。类似地,诸如盘冲压设施的介质生产设施的计算设备可以从源设备接收已编码视频数据,并且生产包含该已编码视频数据的盘。因此,在各种示例中,计算机可读介质可以被理解为包括一个或多个各种形式的计算机可读介质。
目的设备的输入接口从计算机可读介质接收信息。该计算机可读介质的信息可以包括由视频编码器定义的语法信息,该语法信息也由视频解码器使用,该语法信息包括描述块和其他编解码单元(例如,图片组(GOP))的特性和/或处理的语法元素。显示设备向用户显示已解码的视频数据,并且可以包括各种显示设备中的任何一种,诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或其他类型的显示设备。已经描述了本申请的各种实施例。
编码设备104和解码设备112的具体细节分别在图12和图13中示出。图12是图示可实现本公开中描述的一种或多种技术的示例编码设备104的框图。编码设备104可以,例如生成本文描述的语法结构(例如,VPS、SPS、PPS或其他语法元素的语法结构)。编码设备104可以对视频条带内的视频块执行帧内预测和帧间预测编码。如前所述,帧内编解码至少部分地依赖于空域预测以减少或去除给定视频帧或图片内的空域冗余。帧间编解码至少部分地依赖于时域预测以减少或去除视频序列的邻近或周围帧内的时域冗余。帧内模式(I模式)可以指几种基于空域的压缩模式中的任何一种。诸如单向预测(P模式)或双向预测(B模式)的帧间模式可以指几种基于时域的压缩模式中的任何一种。
编码设备104包括分割单元35、预测处理单元41、滤波器单元63、图片存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41包括运动估计单元42、运动补偿单元44和帧内预测处理单元46。对于视频块重建,编码设备104还包括逆量化单元58、逆变换处理单元60和求和器62。滤波器单元63意在表示一个或多个环路滤波器,诸如去方块滤波器、自适应环路滤波器(ALF)和采样自适应偏移(SAO)滤波器。尽管滤波器单元63在图12中示出为环路内滤波器,但在其他配置中,滤波器单元63可以被实现为环路后滤波器。后处理设备57可以对由编码设备104生成的已编码视频数据执行附加处理。在一些实例中,本公开的技术可以由编码设备104实现。然而,在其他实例中,本公开的一种或多种技术可以由后处理设备57实现。
如图12所示,编码设备104接收视频数据,并且分割单元35将该数据分割成视频块。该分割还可以包括分割为条带、条带段、片或其他更大的单元,以及视频块分割(例如根据LCU和CU的四叉树结构)。编码设备104一般地图示了对要进行编码的视频条带内的视频块进行编码的组件。条带可以被划分为多个视频块(并且可能被划分为被称为片的视频块集合)。预测处理单元41可以基于误差结果(例如,编解码速率和失真级别等)为当前视频块选择多个可能的编解码模式中的一个,诸如多个帧内预测编解码模式中的一个、或多个帧间预测编解码模式中的一个。预测处理单元41可以将所得的帧内或帧间编解码块提供给求和器50以生成残差块数据,并且提供给求和器62以重建已编码块以用作参考图片。
预测处理单元41内的帧内预测处理单元46可以相对于与要进行编解码的当前块同一帧或条带中的一个或多个相邻块执行当前视频块的帧内预测编解码,以提供空域压缩。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考图片中的一个或多个预测块执行当前视频块的帧间预测编解码,以提供时域压缩。
运动估计单元42可以被配置为根据视频序列的预定模式确定视频条带的帧间预测模式。预定模式可以将序列中的视频条带指定为P条带、B条带或GPB条带。运动估计单元42和运动补偿单元44可以是高度集成的,但是为了概念的目的分开地进行图示。由运动估计单元42执行的运动估计是生成运动矢量的过程,该运动矢量估计视频块的运动。例如,运动矢量可以指示当前视频帧或图片内的视频块的预测单元(PU)相对于参考图片内的预测性块的位移。
预测性块是在像素差方面被发现与要进行编解码的视频块的PU密切匹配的块,该像素差可以由绝对差和(SAD)、平方差和(SSD)或其他差度量确定。在一些示例中,编码设备104可以计算存储在图片存储器64中的参考图片的子整数像素位置的值。例如,编码设备104可以对参考图片的四分之一像素位置、八分之一像素位置或其他分数像素位置进行插值。因此,运动估计单元42可以执行相对于全像素位置和分数像素位置的运动搜索,并输出具有分数像素精度的运动矢量。
运动估计单元42通过将PU的位置与参考图片的预测性块的位置进行比较来计算帧间编码条带中的视频块的PU的运动矢量。参考图片可以是从第一参考图片列表(列表0)或第二参考图片列表(列表1)中选择的,每个参考图片列表识别存储在图片存储器64中的一个或多个参考图片。运动估计单元42将计算出的运动矢量发送给熵编码单元56和运动补偿单元44。
由运动补偿单元44执行的运动补偿可以涉及基于由运动估计确定的运动矢量来获取或生成预测性块,可能地涉及执行到子像素精度的插值。一旦接收到当前视频块的PU的运动矢量,运动补偿单元44可以在参考图片列表中定位该运动矢量所指向的预测性块。编码设备104通过从正在被编码的当前视频块的像素值中减去预测性块的像素值,形成像素差值来形成残差视频块。像素差值形成该块的残差数据,并且可以包括亮度和色度差值分量两者。求和器50表示执行该减法操作的一个或多个组件。运动补偿单元44还可以生成与视频块和视频条带相关联的语法元素,以供解码设备112在对该视频条带的视频块进行解码时使用。
如上所述,作为由运动估计单元42和运动补偿单元44执行的帧间预测的替代,帧内预测处理单元46可以对当前块进行帧内预测。特别地,帧内预测处理单元46可以确定要用于对当前块进行编码的帧内预测模式。在一些示例中,帧内预测处理单元46可以使用各种帧内预测模式(例如,在单独的编码遍次期间)对当前块进行编码,并且帧内预测处理单元46可以从测试过的模式中选择适当的帧内预测模式来使用。例如,帧内预测处理单元46可以使用针对各种测试过的帧内预测模式的率失真分析来计算率失真值,并且可以在测试过的模式中选择具有最佳率失真特性的帧内预测模式。率失真分析一般地确定已编码块和原始的、被编码以产生已编码块的未编码块之间的失真量(或误差),以及用于产生已编码块的比特率(即比特数量)。帧内预测处理单元46可以从各种已编码块的失真和速率计算比率,以确定哪个帧内预测模式表现出针对该块的最佳率失真值。
在任何情况下,在选择块的帧内预测模式之后,帧内预测处理单元46可以向熵编码单元56提供指示为该块所选择的帧内预测模式的信息。熵编码单元56可以对指示所选择的帧内预测模式的信息进行编码。编码设备104可以在发送的比特流配置数据中包括用于各种块的编码上下文的定义,以及要针对每个上下文使用的最可能的帧内预测模式、帧内预测模式索引表和修改的帧内预测模式索引表的指示。比特流配置数据可以包括多个帧内预测模式索引表和多个修改的帧内预测模式索引表(也被称为码字映射表)。
在预测处理单元41经由帧间预测或帧内预测生成用于当前视频块的预测性块之后,编码设备104通过从当前视频块中减去预测性块来形成残差视频块。该残差块中的残差视频数据可以被包括在一个或多个TU中,并且可以应用于变换处理单元52。变换处理单元52使用变换(诸如离散余弦变换(DCT)或概念上类似的变换),将残差视频数据变换为残差变换系数。变换处理单元52可以将残差视频数据从像素域转换到变换域(诸如频域)。
变换处理单元52可以将得到的变换系数发送给量化单元54。量化单元54对变换系数进行量化以进一步降低比特率。该量化过程可以减少与部分或全部系数相关联的比特深度。可以通过调整量化参数来修改量化程度。在一些示例中,量化单元54然后可以执行对包括该量化变换系数的矩阵的扫描。替代地,熵编码单元56可以执行该扫描。
量化之后,熵编码单元56对量化后的变换系数进行熵编码。例如,熵编码单元56可以执行上下文自适应可变长度编解码(CAVLC)、上下文自适应二进制算术编解码(CABAC)、基于语法的上下文自适应二进制算术编解码(SBAC)、概率区间划分熵(PIPE)编解码或其他熵编解码技术。在由熵编码单元56进行熵编码之后,已编码比特流可以被发送给解码设备112,或者被存档以供稍后由解码设备112传输或检索。熵编码单元56还可以对正在被编解码的当前视频条带的运动矢量和其他语法元素进行熵编码。
逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换来重建像素域中的残差块,以便以后用作参考图片的参考块。运动补偿单元44可以通过将残差块加到参考图片列表内的参考图片之一的预测块来计算参考块。运动补偿单元44还可以将一个或多个插值滤波器应用于重建的残差块,以计算用于运动估计的子整数像素值。求和器62将重建的残差块加到运动补偿单元44产生的运动补偿预测块,以产生用于存储在图片存储器64中的参考块。参考块可以由运动估计单元42和运动补偿单元44用作参考块,以对后续视频帧或图片中的块进行帧间预测。
编码设备104可以执行本文描述的任何技术。已经相对于编码设备104一般地描述了本公开的一些技术,但是如上所提到的,本公开的一些技术也可以由后处理设备57实现。
图12的编码设备104表示被配置为执行本文描述的一种或多种变换编解码技术的视频编码器的示例。编码设备104可以执行本文描述的任何技术,包括上面关于图11描述的过程。
图13是图示了示例解码设备112的框图。解码设备112包括熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90、滤波器单元91和图片存储器92。预测处理单元81包括运动补偿单元82和帧内预测处理单元84。在一些示例中,解码设备112可以执行与关于图12中的编码设备104描述的编码遍次大体相反的解码遍次。
在解码过程期间,解码设备112接收已编码视频比特流,该已编码视频比特流表示由编码设备104发送的已编码视频条带的视频块和相关联的语法元素。在一些实施例中,解码设备112可以从编码设备104接收已编码视频比特流。在一些实施例中,解码设备112可以从网络实体79接收已编码的视频比特流,该网络实体诸如服务器、媒体感知网络元件(MANE)、视频编辑器/拼接器或被配置为实现上述一种或多种技术的其他此类设备。网络实体79可以包括也可以不包括编码设备104。本公开中描述的一些技术可以在网络实体79向解码设备112发送已编码视频比特流之前由网络实体79实现。在一些视频解码系统中,网络实体79和解码设备112可以是单独设备的一部分,而在其他实例中,关于网络实体79描述的功能可以由包括解码设备112的同一设备执行。
解码设备112的熵解码单元80对比特流进行熵解码以生成量化系数、运动矢量和其他语法元素。熵解码单元80将运动矢量和其他语法元素转发到预测处理单元81。解码设备112可以在视频条带级别和/或视频块级别接收语法元素。熵解码单元80可以处理并解析一个或多个参数集(诸如VPS、SPS和PPS)中的固定长度语法元素和可变长度语法元素两者。
当视频条带被编解码为帧内编解码(I)条带时,预测处理单元81的帧内预测处理单元84可以基于信令通知的帧内预测模式和来自当前帧或图片的先前解码块的数据来生成用于当前视频条带的视频块的预测数据。当视频帧被编解码为帧间编解码(即,B、P或GPB)条带时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动矢量和其他语法元素,产生用于当前视频条带的视频块的预测性块。预测性块可以从参考图片列表内的参考图片之一产生。解码设备112可以基于存储在图片存储器92中的参考图片使用默认构建技术来构建参考帧列表、列表0和列表1。
运动补偿单元82通过解析运动矢量和其他语法元素来确定用于当前视频条带的视频块的预测信息,并且使用该预测信息来产生用于正在被解码的当前视频块的预测性块。例如,运动补偿单元82可以使用参数集中的一个或多个语法元素来确定用于对视频条带的视频块进行编解码的预测模式(例如,帧内或帧间预测)、帧间预测条带类型(例如,B条带、P条带或GPB条带)、该条带的一个或多个参考图片列表的构建信息、该条带的每个帧间编解码视频块的运动矢量、该条带的每个帧间编解码视频块的帧间预测状态以及用于对当前视频条带中的视频块进行解码的其他信息。
运动补偿单元82还可以基于插值滤波器执行插值。运动补偿单元82可以使用如在视频块的编码期间由编码设备104所使用的插值滤波器,以计算参考块的子整数像素的内插值。在这种情况下,运动补偿单元82可以从接收的语法元素确定编码设备104使用的插值滤波器,并且可以使用该插值滤波器来产生预测性块。
逆量化单元86对比特流中提供并由熵解码单元80进行解码的量化变换系数进行逆量化或去量化。逆量化过程可以包括使用由编码设备104为视频条带中的每个视频块计算的量化参数,以确定量化程度,以及同样的应该应用的逆量化程度。逆变换处理单元88对变换系数应用逆变换(例如,逆DCT或其他适当的逆变换)、逆整数变换或概念上类似的逆变换过程,以便产生像素域中的残差块。
在运动补偿单元82基于运动矢量和其他语法元素生成用于当前视频块的预测性块之后,解码设备112通过将来自逆变换处理单元88的残差块与由运动补偿单元82生成的对应预测性块相加来形成已解码视频块。求和器90表示执行该求和操作的一个或多个组件。如果需要,环路滤波器(在编解码环路中或在编解码环路之后)也可以用于平滑像素过渡,或以其他方式提高视频质量。滤波器单元91意在表示一个或多个环路滤波器,诸如去方块滤波器、自适应环路滤波器(ALF)和采样自适应偏移(SAO)滤波器。尽管滤波器单元91在图13中示出为环路内滤波器,但在其他配置中,滤波器单元91可以被实现为环路后滤波器。然后将给定帧或图片中的已解码视频块存储在图片存储器92中,该图片存储器存储用于后续运动补偿的参考图片。图片存储器92还存储已解码视频以供稍后在诸如图1所示的视频目的设备122的显示设备上呈现。
滤波器单元91对重建块(例如,求和器90的输出)进行滤波,并将滤波后的重建块存储在DPB 94中,以用作参考块和/或输出滤波后的重建块(已解码视频)。参考块可以由运动补偿单元82用作参考块,以对后续视频帧或图片中的块进行帧间预测。滤波器单元91可以执行任何类型的滤波,诸如去方块滤波、SAO滤波、峰值SAO滤波、ALF和/或GALF和/或其他类型的环路滤波。例如,去块滤波器可以应用去块滤波来对块边界进行滤波,以从重建视频中去除块效应伪影。峰值SAO滤波器可以将偏移应用于重建像素值,以提高总体编解码质量。也可以使用附加的环路滤波器(在环路中或在环路后)。
另外,滤波器单元91可以被配置为执行本公开中与自适应环路滤波有关的任何技术。例如,如上所述,滤波器单元91可以被配置为基于用于对先前块进行滤波的、包括在与当前块相同的APS、不同的APS、或预定义滤波器中的参数,来确定用于对当前块进行滤波的参数。
图13的解码设备112表示被配置为执行本文描述的一种或多种变换编解码技术的视频解码器的示例。解码设备112可以执行本文描述的任何技术,包括上面关于图10描述的过程。
如本文所使用的,术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光存储设备以及能够存储、包含或携带指令和/或数据的各种其他介质。计算机可读介质可以包括其中可以存储数据的非暂时性介质,并且该非暂时性介质不包括载波和/或无线地或通过有线连接传播的瞬时电子信号。非暂时性介质的示例可以包括但不限于,磁盘或磁带、诸如压缩光盘(CD)或数字通用盘(DVD)的光存储介质、闪存、存储器或存储器设备。计算机可读介质可以具有在其上存储的代码和/或机器可执行指令,其可以表示过程、功能、子程序、程序、例程、子例程、模块、软件包、类、或指令、数据结构或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容而耦合到另一代码段或硬件电路。可以经由包括存储器共享、消息传递、令牌传递、网络传输等的任何合适的手段传递、转发或发送信息、自变量、参数、数据等。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当被提到时,非暂时性计算机可读存储介质明确地排除诸如能量、载波信号、电磁波和信号本身的介质。
在上面的描述中提供了具体细节,以提供对本文提供的实施例和示例的透彻理解。然而,本领域普通技术人员将理解,可以在没有这些具体细节的情况下实践这些实施例。为了解释清楚,在一些实例中,本技术可以被呈现为包括单独的功能块,这些功能块包括以软件,或硬件和软件的组合体现的方法中的设备、设备组件、步骤或例程。除了附图中所示和/或本文描述的组件之外,还可以使用额外的组件。例如,电路、系统、网络、过程和其他组件可以以框图形式被示出为组件,以避免在不必要的细节中模糊实施例。在其他实例中,可以在没有不必要的细节的情况下示出公知的电路、过程、算法、结构和技术,以避免模糊实施例。
单独实施例可以在上面被描述为过程或方法,其被描绘为流程图、流图、数据流图、结构图或框图。尽管流程图可以将操作描述为顺序过程,但很多操作可以并行或并发地执行。另外,可以重新安排操作的顺序。过程在其操作完成时终止,但可能具有没有在图中包括的额外的步骤。过程可以对应于方法、函数、过程、子例程、子程序等。当过程对应于函数时,它的终止可以对应于函数返回到调用函数或主函数。
根据上述示例的过程和方法可以使用存储在计算机可读介质中或以其他方式从计算机可读介质中获得的计算机可执行指令来实现。这样的指令可以包括例如导致或以其他方式配置通用计算机、专用计算机或处理设备执行某功能或某组功能的指令和数据。使用的部分计算机资源可以通过网络访问。计算机可执行指令可以是例如二进制文件,诸如汇编语言、固件、源代码等的中间格式指令。可用于存储使用的指令、信息和/或在根据所述示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、配备有非易失性存储器的USB设备、联网存储设备等。
实现根据这些公开的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,并且可以采用各种形式因素中的任何一种。当以软件、固件、中间件或微代码实现时,执行必要任务的程序代码或代码段(例如,计算机程序产品)可以存储在计算机可读或机器可读介质中。处理器可以执行必要的任务。形式因素的典型示例包括笔记本电脑、智能手机、移动电话、平板设备或其他小型形式因素的个人计算机、个人数字助理、机架设备、独立设备等。本文描述的功能也可以体现在外围设备或插入卡中。作为进一步的示例,这样的功能也可以在在单个设备中执行的不同芯片或不同进程之间在电路板上实现。
指令、用于传送这种指令的介质、用于执行它们的计算资源以及用于支持这种计算资源的其他结构是用于提供本公开中描述的功能的示例手段。
在前述描述中,参照本申请的特定实施例描述了本申请的各个方面,但本领域技术人员将认识到本申请不限于此。因此,尽管在此已经详细描述了本申请的说明性实施例,但应当理解,本发明的概念可以以其他方式被不同地体现和使用,并且所附权利要求书旨在被解释为包括这样的变型,除非受到现有技术的限制。上述应用的各种特征和方面可以单独地或联合地使用。此外,在不偏离本说明书的更广泛的精神和范围的情况下,实施例可以用于本文所描述的环境和应用之外的任何数量的环境和应用中。因此,本说明书和附图被视为说明性的而不是限制性的。为了说明,按特定顺序对方法进行了描述。应当理解,在替代实施例中,可以以不同于所描述的顺序执行该方法。
普通技术人员将理解,在不脱离本说明书的范围的情况下,本文中使用的小于(“<”)和大于(“>”)符号或术语可以分别用小于或等于(“≤”)和大于或等于(“≥”)符号替换。
在组件被描述为“被配置为...”执行一些操作的情况下,例如,通过设计电子电路或其他硬件来执行该操作,通过对可编程电子电路(例如,微处理器或其他合适的电子电路)进行编程来执行该操作,或它们的任何组合来实现这种配置。
短语“耦合到”指的是直接或间接地物理连接到另一组件的任何组件,和/或直接或间接地与另一组件通信(例如,通过有线或无线连接和/或其他合适的通信接口连接到另一组件)的任何组件。
权利要求语言或其他语言列举一个集合中的“至少一个”和/或一个集合中的“一个或多个”指示该集合中的一个成员或该集合中的多个成员(以任何组合)满足该权利要求。例如,列举“A和B中的至少一个”的权利要求语言意味着A、B、或A和B。在另一个示例中,列举“A、B和C中的至少一个”的权利要求语言意味着A、B、C、或A和B、或B和C、或A和B和C。语言一个集合中的“至少一个”和/或一个集合中的“一个或多个”并不将该集合限制为该集合中列出的项目。例如,列举“A和B中的至少一个”的权利要求语言可以意味着A、B,或者A和B,并且可以另外包括A和B集合中没有列出的项目。
结合本文公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可以实现为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件和软件的这种互换性,上面已经根据它们的功能大体上描述了各种说明性组件、框、模块、电路和步骤。这种功能是作为硬件还是软件来实现取决于特定的应用和对整个系统施加的设计约束。本领域的技术人员可以针对每个特定应用以不同的方式实现所描述的功能,但是这种实现决策不应被解释为导致偏离本申请的范围。
本文描述的技术也可以在电子硬件、计算机软件、固件或其任何组合中实现。这些技术可以在诸如通用计算机、无线通信设备手持机、或具有包括在无线通信设备手持机和其他设备中的应用在内的多种用途的集成电路设备中的任何一种设备中实现。被描述为模块或组件的任何特征可以在集成逻辑器件中一起实现,或者单独作为分立但可互操作的逻辑设备实现。如果在软件中实现,该技术可以至少部分地通过包括程序代码的计算机可读数据存储介质来实现,该程序代码包括指令,该指令被执行时执行上述一个或多个方法。计算机可读数据存储介质可以形成计算机程序产品的一部分,该计算机程序产品可包括包装材料。计算机可读介质可以包括存储器或数据存储介质,诸如随机存取存储器(RAM)(诸如同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。附加地或替代地,这些技术可以至少部分地通过计算机可读通信介质来实现,该计算机可读通信介质(诸如传播的信号或波)以指令或数据结构的形式携带或传送程序代码,并且该程序代码可以由计算机访问、读取和/或执行。
程序代码可由处理器执行,该处理器可以包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等价的集成或离散逻辑电路。这样的处理器可以被配置为执行本公开中描述的任何技术。通用处理器可以是微处理器;但是作为替代,该处理器可以是任何传统的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP内核结合的一个或多个微处理器或任何其他此类配置。因此,本文使用的术语“处理器”可以指前述结构中的任何一个、前述结构的任何组合、或适合于实现本文所述技术的任何其他结构或装置。另外,在一些方面,本文描述的功能可以在配置用于进行编码和解码的专用软件模块或硬件模块中提供,或者并入组合视频编码器-解码器(CODEC)中。
本公开的说明性示例包括:
示例1:一种处理视频数据的方法,该方法包括:获得已编码视频比特流,该已编码视频比特流包括视频数据块;以及从已编码视频比特流解码信息,该信息指示用于该块的残差差分脉冲编解码调制(RDPCM)模式到帧内预测模式的映射。
示例2:根据示例1的方法,还包括:基于指示该映射的信息确定针对该块使用帧内预测模式。
示例3:根据示例1或2的任一项的方法,还包括:基于帧内预测模式,导出用于该已编码视频比特流的一个或多个块的预测器列表。
示例4:根据示例3的方法,其中,该预测器列表包括最可能模式(MPM)列表。
示例5:根据示例1至4的任一项的方法,其中,该帧内预测模式对应于帧内预测方向。
示例6:根据示例5的方法,其中,该帧内预测方向包括水平帧内预测方向。
示例7:根据示例5的方法,其中,该帧内预测方向包括垂直帧内预测方向。
示例8:根据示例1至5的任一项的方法,其中用于该块的RDPCM模式包括水平RDPCM模式,并且其中,该信息指示该水平RDPCM模式到水平帧内预测方向的映射。
示例9:根据示例1至5的任一项的方法,其中用于该块的RDPCM模式包括垂直RDPCM模式,并且其中,该信息指示该垂直RDPCM模式到垂直帧内预测方向的映射。
示例10:根据示例1至5的任一项的方法,其中该信息指示RDPCM模式到平面帧内预测模式的映射。
示例11:根据示例1至5的任一项的方法,其中该信息指示RDPCM模式到DC帧内预测模式的映射。
示例12:一种装置,包括被配置为存储视频数据的存储器,以及被配置为根据示例1至11的任一项处理视频数据的处理器。
示例13:根据示例12的装置,其中该装置包括解码器。
示例14:根据示例12至13的任一项的装置,其中该装置是移动设备。
示例15:根据示例12至14的任一项的装置,还包括被配置为显示视频数据的显示器。
示例16:根据示例12至15的任一项的装置,还包括被配置为捕获一个或多个图片的照相机。
示例17:一种其上存储有指令的计算机可读介质,当由处理器执行时,该指令执行示例1至11的任一项的方法。
示例18:一种处理视频数据的方法,该方法包括:对视频数据块应用残差差分脉冲编解码调制(RDPCM)模式;确定RDPCM模式到帧内预测模式的映射;以及生成已编码视频比特流,该已编码视频比特流包括指示RDPCM模式到帧内预测模式的映射的信息。
示例19:根据示例18的方法,其中基于指示映射的信息针对该块帧内预测模式。
示例20:根据示例18或19的任一项的方法,其中基于帧内预测模式导出用于该已编码视频比特流的一个或多个块的预测器列表。
示例21:根据示例20的方法,其中,该预测器列表包括最可能模式(MPM)列表。
示例22:根据示例18至21的任一项的方法,其中,该帧内预测模式对应于帧内预测方向。
示例23:根据示例22的方法,其中,该帧内预测方向包括水平帧内预测方向。
示例24:根据示例22的方法,其中,该帧内预测方向包括垂直帧内预测方向。
示例25:根据示例18至22的任一项的方法,其中用于该块的RDPCM模式包括水平RDPCM模式,并且其中,该信息指示该水平RDPCM模式到水平帧内预测方向的映射。
示例26:根据示例18至22的任一项的方法,其中用于该块的RDPCM模式包括垂直RDPCM模式,并且其中,该信息指示该垂直RDPCM模式到垂直帧内预测方向的映射。
示例27:根据示例18至22的任一项的方法,其中该信息指示RDPCM模式到平面帧内预测模式的映射。
示例28:根据示例18至22的任一项的方法,其中该信息指示RDPCM模式到DC帧内预测模式的映射。
示例29:一种装置,包括被配置为存储视频数据的存储器,以及被配置为根据示例18至28的任一项处理视频数据的处理器。
示例30:根据示例29的装置,其中该装置包括编码器。
示例31:根据示例29或30的任一项的装置,其中该装置是移动设备。
示例32:根据示例29至31的任一项的装置,还包括被配置为显示视频数据的显示器。
示例33:根据示例29至32的任一项的装置,还包括被配置为捕获一个或多个图片的照相机。
示例34:一种其上存储有指令的计算机可读介质,当由处理器执行时,该指令执行示例18至28的任一项的方法。
示例35:一种对视频数据进行解码的方法,该方法包括:获得包括在已编码视频比特流中的图片的第一块;确定该图片的第二块是使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式进行编解码的;基于该第二块是使用垂直BDPCM模式编解码的,为该第一块的帧内预测模式列表确定垂直帧内预测模式;以及将该垂直帧内预测模式添加到该第一块的帧内预测模式列表中。
示例36:根据示例35的方法,其中,该帧内预测模式列表包括最可能模式(MPM)列表。
示例37:根据示例35至36的任一项的方法,其中该第二块是该图片中该第一块的相邻块。
示例38:根据示例35至37的任一项的方法,还包括:基于来自已编码视频比特流的信息并且基于帧内预测模式列表,确定要用于对第一块进行解码的预测模式;以及使用所确定的预测模式对第一块进行解码。
示例39:根据示例38的方法,其中,来自已编码视频比特流的信息包括帧内预测模式列表标志,该标志指示要用于对第一块进行解码的该预测模式是否在该帧内预测模式列表中包括的多个预测模式之中。
示例40:根据示例39的方法,还包括:基于帧内预测模式列表标志的值,确定要用于对第一块进行解码的预测模式在帧内预测模式列表中包括的多个预测模式之中;以及从该帧内预测模式列表确定要用于对第一块进行解码的预测模式。
示例41:根据示例39至40的任一项的方法,其中已编码视频比特流中的信息包括与该帧内预测模式列表相关联的索引值,该方法还包括:使用该索引值从该帧内预测模式列表确定要用于对第一块进行解码的预测模式。
示例42:根据示例35至41的任一项的方法,其中,第一块是亮度编解码块。
示例43:根据示例35至42的任一项的方法,还包括:获得包括在已编码视频比特流中的图片的第三块;确定该图片的第四块是使用水平的基于块的BDPCM模式进行编解码的;基于该第四块是使用水平BDPCM模式进行编解码的,为该第三块的帧内预测模式列表确定水平帧内预测模式;以及将该水平帧内预测模式添加到该第三块的帧内预测模式列表中。
示例44:一种用于对视频数据进行解码的装置,包括:被配置为存储视频数据的至少一个块的存储器;以及包括固定功能电路和可编程电路中的至少一个的视频解码器。该视频解码器被配置为:获得包括在已编码视频比特流中的图片的第一块;确定该图片的第二块是使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式进行编解码的;基于该第二块是使用垂直BDPCM模式进行编解码的,为该第一块的帧内预测模式列表确定垂直帧内预测模式;以及将该垂直帧内预测模式添加到该第一块的帧内预测模式列表中。
示例45:根据示例44的装置,其中,该帧内预测模式列表包括最可能模式(MPM)列表。
示例46:根据示例44至45的任一项的装置,其中该第二块是该图片中该第一块的相邻块。
示例47:根据示例44至46的任一项的装置,其中,该视频解码器被配置为:基于来自已编码视频比特流的信息并且基于帧内预测模式列表,确定要用于对第一块进行解码的预测模式;以及使用所确定的预测模式对第一块进行解码。
示例48:根据示例47的装置,其中,来自已编码视频比特流的信息包括帧内预测模式列表标志,该标志指示要用于对第一块进行解码的预测模式是否在该帧内预测模式列表中包括的多个预测模式之中。
示例49:根据示例48的装置,其中,该视频编解码器被配置为:基于帧内预测模式列表标志的值,确定要用于对第一块进行解码的预测模式在帧内预测模式列表中包括的多个预测模式之中;以及从该帧内预测模式列表确定要用于对第一块进行解码的预测模式。
示例50:根据示例48至49的任一项的装置,其中已编码视频比特流中的信息包括与该帧内预测模式列表相关联的索引值,该视频解码器被配置为:使用该索引值从该帧内预测模式列表确定要用于对第一块进行解码的预测模式。
示例51:根据示例44至50的任一项的装置,其中,第一块是亮度编解码块。
示例52:根据示例44至51的任一项的装置,其中该视频解码器被配置为:获得包括在已编码视频比特流中的图片的第三块;确定该图片的第四块是使用水平的基于块的BDPCM模式进行编解码的;基于该第四块是使用水平BDPCM模式进行编解码的,为该第三块的帧内预测模式列表确定水平帧内预测模式;以及将该水平帧内预测模式添加到该第三块的帧内预测模式列表中。
示例53:根据示例44至52的任一项的装置,还包括被配置为显示该视频数据的显示器。
示例54:根据示例44至53的任一项的装置,其中该装置包括照相机、计算机、移动设备、广播接收器设备和机顶盒中的至少一个。
示例55:一种对视频数据进行编码的方法,该方法包括:使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式对图片的第一块进行编码;获得该图片的第二块;基于第一块是使用垂直BDPCM模式进行编码的,为第二块的帧内预测模式列表确定垂直帧内预测模式;将该垂直帧内预测模式添加到该第二块的帧内预测模式列表中;以及生成包括该第一块、第二块和帧内预测模式列表的已编码视频比特流。
示例56:根据示例55的方法,其中,该帧内预测模式列表包括最可能模式(MPM)列表。
示例57:根据示例55至56的任一项的方法,其中该第二块是该图片中该第一块的相邻块。
示例58:根据示例55至57的任一项的方法,还包括:在已编码视频比特流中包括指示要用于对该第一块进行解码的预测模式的信息。
示例59:根据示例58的方法,其中,来自已编码视频比特流的信息包括帧内预测模式列表标志,该标志指示要用于对第一块进行解码的该预测模式是否在该帧内预测模式列表中包括的多个预测模式之中。
示例60:根据示例58至59的任一项的方法,其中,该信息包括指示来自该帧内预测模式列表的、要用于对第一块进行解码的预测模式的索引值。
示例61:根据示例55至60的任一项的方法,其中,第一块是亮度编解码块。
示例62:根据示例55至61的任一项的方法,还包括:使用水平的基于块的BDPCM模式对该图片的第三块进行编码;获得该图片的第四块;基于该第三块是使用水平BDPCM模式进行编解码的,为该第四块的帧内预测模式列表确定水平帧内预测模式;以及将该水平帧内预测模式添加到该第四块的帧内预测模式列表中。
示例63:一种用于对视频数据进行编码的装置,包括:被配置为存储视频数据的至少一个块的存储器;以及包括固定功能电路和可编程电路中的至少一个的视频编码器。该视频编码器被配置为:使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式对图片的第一块进行编码;获得该图片的第二块;基于第一块是使用垂直BDPCM模式进行编码的,为第二块的帧内预测模式列表确定垂直帧内预测模式;将该垂直帧内预测模式添加到该第二块的帧内预测模式列表中;以及生成包括该第一块、第二块和帧内预测模式列表的已编码视频比特流。
示例64:根据示例63的装置,其中,该帧内预测模式列表包括最可能模式(MPM)列表。
示例65:根据示例63至64的任一项的装置,其中该第二块是该图片中该第一块的相邻块。
示例66:根据示例64至65的任一项的装置,其中该视频编码器被配置为:在已编码视频比特流中包括指示要用于对该第一块进行解码的预测模式的信息。
示例67:根据示例66的装置,其中,来自已编码视频比特流的信息包括帧内预测模式列表标志,该标志指示要用于对第一块进行解码的该预测模式是否在该帧内预测模式列表中包括的多个预测模式之中。
示例68:根据示例66至67的任一项的装置,其中,该信息包括指示来自该帧内预测模式列表的、要用于对第一块进行解码的预测模式的索引值。
示例69:根据示例63至68的任一项的装置,其中,第一块是亮度编解码块。
示例70:根据示例63至69的任一项的装置,其中该视频编码器被配置为:使用水平的基于块的BDPCM模式对该图片的第三块进行编码;获得该图片的第四块;基于该第三块是使用水平BDPCM模式进行编解码的,为该第四块的帧内预测模式列表确定水平帧内预测模式;以及将该水平帧内预测模式添加到该第四块的帧内预测模式列表中。
示例71:根据示例63至70的任一项的装置,其中该装置包括照相机、计算机、移动设备、广播接收器设备或机顶盒中的一个或多个。

Claims (37)

1.一种对视频数据进行解码的方法,所述方法包括:
获得包括在已编码视频比特流中的图片的第一块;
确定所述图片的第二块是使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式进行编解码的;
基于所述第二块进是使用所述垂直BDPCM模式进行编解码的,为所述第一块的帧内预测模式列表确定垂直帧内预测模式;以及
将所述垂直帧内预测模式添加到所述第一块的所述帧内预测模式列表中。
2.根据权利要求1所述的方法,其中,所述帧内预测模式列表包括最可能模式(MPM)列表。
3.根据权利要求1所述的方法,其中,所述第二块是所述图片中所述第一块的相邻块。
4.根据权利要求1所述的方法,还包括:
基于来自所述已编码视频比特流的信息并且基于所述帧内预测模式列表,确定要用于对所述第一块进行解码的预测模式;以及
使用所确定的预测模式对所述第一块进行解码。
5.根据权利要求4所述的方法,其中,来自所述已编码视频比特流的所述信息包括帧内预测模式列表标志,所述标志指示要用于对所述第一块进行解码的所述预测模式是否在所述帧内预测模式列表中包括的多个预测模式之中。
6.根据权利要求5所述的方法,还包括:
基于所述帧内预测模式列表标志的值,确定要用于对所述第一块进行解码的所述预测模式在所述帧内预测模式列表中包括的所述多个预测模式之中;以及
从所述帧内预测模式列表中确定要用于对所述第一块进行解码的所述预测模式。
7.根据权利要求6所述的方法,其中,所述已编码视频比特流中的所述信息包括与所述帧内预测模式列表相关联的索引值,所述方法还包括:
使用所述索引值从所述帧内预测模式列表中确定要用于对所述第一块进行解码的所述预测模式。
8.根据权利要求1所述的方法,其中,所述第一块是亮度编解码块。
9.根据权利要求1所述的方法,还包括:
获得包括在所述已编码视频比特流中的所述图片的第三块;
确定所述图片的第四块是使用水平的基于块的BDPCM模式进行编解码的;
基于所述第四块是使用所述水平BDPCM模式进行编解码的,为所述第三块的帧内预测模式列表确定水平帧内预测模式;以及
将所述水平帧内预测模式添加到所述第三块的所述帧内预测模式列表中。
10.一种用于对视频数据进行解码的装置,包括:
存储器,被配置为存储所述视频数据的至少一个块;以及
视频解码器,包括固定功能电路和可编程电路中的至少一个,所述视频解码器被配置为:
获得包括在已编码视频比特流中的图片的第一块;
确定所述图片的第二块是使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式进行编解码的;
基于所述第二块是使用所述垂直BDPCM模式进行编解码的,为所述第一块的帧内预测模式列表确定垂直帧内预测模式;以及
将所述垂直帧内预测模式添加到所述第一块的所述帧内预测模式列表中。
11.根据权利要求10所述的装置,其中,所述帧内预测模式列表包括最可能模式(MPM)列表。
12.根据权利要求10所述的装置,其中,所述第二块是所述图片中所述第一块的相邻块。
13.根据权利要求10所述的装置,其中,所述视频解码器被配置为:
基于来自所述已编码视频比特流的信息并且基于所述帧内预测模式列表,确定要用于对所述第一块进行解码的预测模式;以及
使用所确定的预测模式对所述第一块进行解码。
14.根据权利要求13所述的装置,其中,来自所述已编码视频比特流的所述信息包括帧内预测模式列表标志,所述标志指示要用于对所述第一块进行解码的所述预测模式是否在所述帧内预测模式列表中包括的多个预测模式之中。
15.根据权利要求14所述的装置,其中,所述视频解码器被配置为:
基于所述帧内预测模式列表标志的值,确定要用于对所述第一块进行解码的所述预测模式在所述帧内预测模式列表中包括的所述多个预测模式之中;以及
从所述帧内预测模式列表中确定要用于对所述第一块进行解码的所述预测模式。
16.根据权利要求15所述的装置,其中,所述已编码视频比特流中的所述信息包括与所述帧内预测模式列表相关联的索引值,所述视频解码器被配置为:
使用所述索引值从所述帧内预测模式列表中确定要用于对所述第一块进行解码的所述预测模式。
17.根据权利要求10所述的装置,其中,所述第一块是亮度编解码块。
18.根据权利要求10所述的装置,其中,所述视频解码器被配置为:
获得包括在所述已编码视频比特流中的所述图片的第三块;
确定所述图片的第四块是使用水平的基于块的BDPCM模式进行编解码的;
基于所述第四块是使用所述水平BDPCM模式进行编解码的,为所述第三块的帧内预测模式列表确定水平帧内预测模式;以及
将所述水平帧内预测模式添加到所述第三块的所述帧内预测模式列表中。
19.根据权利要求10所述的装置,还包括被配置为显示所述视频数据的显示器。
20.根据权利要求10所述的装置,其中,所述装置包括照相机、计算机、移动设备、广播接收器设备和机顶盒中的至少一个。
21.一种对视频数据进行编码的方法,所述方法包括:
使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式对图片的第一块进行编码;
获得所述图片的第二块;
基于所述第一块是使用所述垂直BDPCM模式进行编码的,为所述第二块的帧内预测模式列表确定垂直帧内预测模式;以及
将所述垂直帧内预测模式添加到所述第二块的所述帧内预测模式列表中;以及
生成包括所述第一块、所述第二块和所述帧内预测模式列表的已编码视频比特流。
22.根据权利要求21所述的方法,其中,所述帧内预测模式列表包括最可能模式(MPM)列表。
23.根据权利要求21所述的方法,其中,所述第二块是所述图片中所述第一块的相邻块。
24.根据权利要求21所述的方法,还包括:
在所述已编码视频比特流中包括指示要用于对所述第一块进行解码的预测模式的信息。
25.根据权利要求24所述的方法,其中,所述信息包括帧内预测模式列表标志,所述标志指示要用于对所述第一块进行解码的所述预测模式是否在所述帧内预测模式列表中包括的多个预测模式之中。
26.根据权利要求25所述的方法,其中,所述信息包括指示来自所述帧内预测模式列表的、要用于对所述第一块进行解码的所述预测模式的索引值。
27.根据权利要求21所述的方法,其中,所述第二块是亮度编解码块。
28.根据权利要求21所述的方法,还包括:
使用水平的基于块的BDPCM模式对所述图片的第三块进行编码;
获得所述图片的第四块;
基于所述第三块是使用所述水平BDPCM模式进行编解码的,为所述第四块的帧内预测模式列表确定水平帧内预测模式;以及
将所述水平帧内预测模式添加到所述第四块的所述帧内预测模式列表中。
29.一种用于对视频数据进行编码的装置,包括:
存储器,被配置为存储所述视频数据的至少一个块;以及
视频编码器,包括固定功能电路和可编程电路中的至少一个,所述视频解码器被配置为:
使用垂直的基于块的量化残差域脉冲编解码调制(BDPCM)模式对图片的第一块进行编码;
获得所述图片的第二块;
基于所述第一块是使用所述垂直BDPCM模式进行编码的,为所述第二块的帧内预测模式列表确定垂直帧内预测模式;以及
将所述垂直帧内预测模式添加到所述第二块的所述帧内预测模式列表中;以及
生成包括所述第一块、所述第二块和所述帧内预测模式列表的已编码视频比特流。
30.根据权利要求29所述的装置,其中,所述帧内预测模式列表包括最可能模式(MPM)列表。
31.根据权利要求29所述的装置,其中,所述第二块是所述图片中所述第一块的相邻块。
32.根据权利要求29所述的装置,其中,所述视频编码器被配置为:
在所述已编码视频比特流中包括指示要用于对所述第一块进行解码的预测模式的信息。
33.根据权利要求32所述的装置,其中,所述信息包括帧内预测模式列表标志,所述标志指示要用于对所述第一块进行解码的所述预测模式是否在所述帧内预测模式列表中包括的多个预测模式之中。
34.根据权利要求33所述的装置,其中,所述信息包括指示来自所述帧内预测模式列表的、要用于对所述第一块进行解码的所述预测模式的索引值。
35.根据权利要求29所述的装置,其中,所述第二块是亮度编解码块。
36.根据权利要求29所述的装置,其中,所述视频编码器被配置为:
使用水平的基于块的BDPCM模式对所述图片的第三块进行编码;
获得所述图片的第四块;
基于所述第三块是使用所述水平BDPCM模式进行编解码的,为所述第四块的帧内预测模式列表确定水平帧内预测模式;以及
将所述水平帧内预测模式添加到所述第四块的所述帧内预测模式列表中。
37.根据权利要求29所述的装置,其中,所述装置包括照相机、计算机、移动设备、广播接收器设备或机顶盒中的一个或多个。
CN202080029526.6A 2019-04-25 2020-04-22 针对帧内预测模式推导的基于块的量化残差域脉冲编解码调制分配 Active CN113711595B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962838928P 2019-04-25 2019-04-25
US62/838,928 2019-04-25
US16/854,720 2020-04-21
US16/854,720 US11190758B2 (en) 2019-04-25 2020-04-21 Block-based quantized residual domain pulse code modulation assignment for intra prediction mode derivation
PCT/US2020/029264 WO2020219512A1 (en) 2019-04-25 2020-04-22 Block-based quantized residual domain pulse code modulation assignment for intra prediction mode derivation

Publications (2)

Publication Number Publication Date
CN113711595A true CN113711595A (zh) 2021-11-26
CN113711595B CN113711595B (zh) 2024-03-15

Family

ID=72917472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080029526.6A Active CN113711595B (zh) 2019-04-25 2020-04-22 针对帧内预测模式推导的基于块的量化残差域脉冲编解码调制分配

Country Status (15)

Country Link
US (1) US11190758B2 (zh)
EP (1) EP3959875A1 (zh)
JP (1) JP7465281B2 (zh)
KR (1) KR20220002902A (zh)
CN (1) CN113711595B (zh)
AU (1) AU2020261351A1 (zh)
BR (1) BR112021020735A2 (zh)
CA (1) CA3136080A1 (zh)
CL (1) CL2021002762A1 (zh)
CO (1) CO2021014053A2 (zh)
IL (1) IL286626A (zh)
MX (1) MX2021012979A (zh)
SG (1) SG11202110548WA (zh)
TW (1) TW202046722A (zh)
WO (1) WO2020219512A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113574894A (zh) * 2019-04-30 2021-10-29 腾讯美国有限责任公司 用于帧内预测模式与块差分脉冲编码调制模式之间交互的方法和装置
WO2023131221A3 (zh) * 2022-01-07 2023-08-31 杭州海康威视数字技术股份有限公司 图像编解码的方法、装置及存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7311627B2 (ja) 2019-05-01 2023-07-19 バイトダンス インコーポレイテッド 量子化残差差分パルス符号変調符号化を使用したイントラ符号化映像
US20220150527A1 (en) * 2019-05-22 2022-05-12 Lg Electronics Inc. Method and device for decoding image by using bdpcm in image coding system
CN113287310A (zh) * 2019-06-10 2021-08-20 株式会社 Xris 用于对图像信号进行编码/解码方法及其装置
EP3989569A4 (en) * 2019-06-18 2023-05-24 LG Electronics Inc. METHOD AND APPARATUS FOR DECODING PICTURES
US11438616B2 (en) * 2019-08-27 2022-09-06 Tencent America LLC Method and apparatus for video coding
CN114424560A (zh) * 2019-09-20 2022-04-29 北京字节跳动网络技术有限公司 用于屏幕内容的自适应分辨率变化和可缩放编解码
US20230079960A1 (en) * 2021-09-15 2023-03-16 Tencent America LLC On propagating intra prediction mode information of ibc block by using block vector
WO2023198105A1 (en) * 2022-04-14 2023-10-19 Mediatek Inc. Region-based implicit intra mode derivation and prediction

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103959782A (zh) * 2011-11-07 2014-07-30 夏普株式会社 具有增强cabac解码的视频解码器
WO2018132710A1 (en) * 2017-01-13 2018-07-19 Qualcomm Incorporated Coding video data using derived chroma mode
US20180352220A1 (en) * 2017-05-30 2018-12-06 Google Llc Coding of Intra-Prediction Modes

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11323747B2 (en) 2013-06-05 2022-05-03 Qualcomm Incorporated Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans
WO2018199675A1 (ko) * 2017-04-28 2018-11-01 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN116684620A (zh) * 2017-11-28 2023-09-01 Lx 半导体科技有限公司 图像编码/解码方法、图像数据的传输方法和存储介质
MX2020014195A (es) * 2018-09-03 2022-01-14 Huawei Tech Co Ltd Método y aparato para intra predicción.
US11470329B2 (en) * 2018-12-26 2022-10-11 Tencent America LLC Method and apparatus for video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103959782A (zh) * 2011-11-07 2014-07-30 夏普株式会社 具有增强cabac解码的视频解码器
WO2018132710A1 (en) * 2017-01-13 2018-07-19 Qualcomm Incorporated Coding video data using derived chroma mode
US20180352220A1 (en) * 2017-05-30 2018-12-06 Google Llc Coding of Intra-Prediction Modes

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BENJAMIN BROSS等: "Versatile Video Coding (Draft 4)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 13TH MEETING: MARRAKECH, MA, 9–18 JAN. 2019 DOCUMENT: JVET-M1001-V6, pages 1 - 290 *
MARTA KARCZEWICZ等: "CE8-related: Quantized residual BDPCM", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 14TH MEETING: GENEVA, CH, 19–27 MARCH 2019 DOCUMENT: JVET-N0413, pages 1 - 6 *
MOHSEN ABDOLI等: "CE8: BDPCM with horizontal/vertical predictor and independently decodable areas (test 8.3.1b)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 13TH MEETING: MARRAKECH, MA, 9–18 JAN. 2019DOCUMENT: JVET-M0057, pages 1 - 7 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113574894A (zh) * 2019-04-30 2021-10-29 腾讯美国有限责任公司 用于帧内预测模式与块差分脉冲编码调制模式之间交互的方法和装置
CN113574894B (zh) * 2019-04-30 2024-02-20 腾讯美国有限责任公司 视频解码方法、视频解码器、计算机设备及介质
WO2023131221A3 (zh) * 2022-01-07 2023-08-31 杭州海康威视数字技术股份有限公司 图像编解码的方法、装置及存储介质

Also Published As

Publication number Publication date
CA3136080A1 (en) 2020-10-29
US20200344469A1 (en) 2020-10-29
EP3959875A1 (en) 2022-03-02
BR112021020735A2 (pt) 2021-12-14
MX2021012979A (es) 2021-12-10
TW202046722A (zh) 2020-12-16
CO2021014053A2 (es) 2021-10-29
SG11202110548WA (en) 2021-11-29
AU2020261351A1 (en) 2021-11-04
IL286626A (en) 2021-10-31
KR20220002902A (ko) 2022-01-07
CN113711595B (zh) 2024-03-15
JP7465281B2 (ja) 2024-04-10
US11190758B2 (en) 2021-11-30
CL2021002762A1 (es) 2022-07-08
WO2020219512A1 (en) 2020-10-29
JP2022529685A (ja) 2022-06-23

Similar Documents

Publication Publication Date Title
US10542261B2 (en) Systems and methods for processing a syntax structure assigned a minimum value in a parameter set
CN113711595B (zh) 针对帧内预测模式推导的基于块的量化残差域脉冲编解码调制分配
US11368684B2 (en) Adaptation parameter sets (APS) for adaptive loop filter (ALF) parameters
CN114128277B (zh) 针对局部双树的调色板预测器更新
CN113366837A (zh) 改进的子分区帧内预测
WO2019079117A1 (en) CHROMINANCE QUANTIFICATION PARAMETER (QP) SHIFT
CN114982246B (zh) 环路滤波器的自适应舍入
KR20220030988A (ko) 스위칭가능 필터들로의 레퍼런스 픽처 리샘플링
TW201735608A (zh) 用於產生對視訊之顏色再映射資訊之補充增強資訊訊息之方法及系統
CN115398920A (zh) 用于颜色格式支持的自适应环路滤波
WO2023107790A1 (en) Adaptive film grain synthesis
KR20230123949A (ko) 인핸스드 보간 필터들을 사용한 인트라 예측
RU2816752C2 (ru) Назначение импульсно-кодовой модуляции области квантованных на блочной основе остатков для выведения режима интра-предсказания
JP2023552980A (ja) 高ビット深度ビデオコーディングのライスパラメータ導出のための低複雑度の履歴使用

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40064857

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant