CN114765688A - 用于解码器侧帧内模式导出的模板的使用 - Google Patents

用于解码器侧帧内模式导出的模板的使用 Download PDF

Info

Publication number
CN114765688A
CN114765688A CN202210028454.4A CN202210028454A CN114765688A CN 114765688 A CN114765688 A CN 114765688A CN 202210028454 A CN202210028454 A CN 202210028454A CN 114765688 A CN114765688 A CN 114765688A
Authority
CN
China
Prior art keywords
template
sub
block
samples
current video
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.)
Pending
Application number
CN202210028454.4A
Other languages
English (en)
Inventor
王洋
张凯
张莉
贺玉文
刘鸿彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lemon Inc Cayman Island
Original Assignee
Lemon Inc Cayman Island
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 Lemon Inc Cayman Island filed Critical Lemon Inc Cayman Island
Publication of CN114765688A publication Critical patent/CN114765688A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

本公开的实施例涉及用于解码器侧帧内模式导出的模板的使用。示例实现包括视频处理的方法、装置和计算机可读介质,包括在视频的当前视频块与视频的比特流之间的转换期间从多个子模板构建针对当前视频块的至少一个模板集。一个或多个子模板可以从包括如下的多个子模板中被选择:左子模板、上子模板、右上子模板、左下子模板和左上子模板。该实现还包括基于成本计算来导出至少一个帧内预测模式(IPM)。该实现包括基于至少一个IPM来确定当前视频块的最终预测子。该实现包括基于最终预测子来执行转换。

Description

用于解码器侧帧内模式导出的模板的使用
技术领域
本公开总体上涉及视频编解码(coding),更具体地涉及基于用于解码器侧帧内预测模式导出的模板的视频编码(encoding)和解码(decoding)。
背景技术
当前,正在努力改善当前视频编解码器技术的性能,以提供更好的压缩率或提供允许较低复杂度或并行实现的视频编解码和解码方案。行业专家最近提出了几种新的视频编解码工具,目前正在进行测试以确定其有效性。
发明内容
以下呈现了一个或多个方面的简化发明内容以提供对这些方面的基本理解。该发明内容不是对所有预期方面的广泛概述,并且既不旨在标识所有方面的关键或必要元素,也不旨在界定任何或所有方面的范围。它的唯一目的是以简化的形式呈现一个或多个方面的一些概念,作为稍后呈现的更详细描述的序言。
在一个方面,本公开提供处理视频数据的方法。视频可以包括多个帧,每个帧包括样本的块。该方法可以包括:在视频的当前视频块与视频的比特流之间的转换期间,从多个子模板构建针对当前视频块的至少一个模板集。该方法可以包括基于成本计算来导出(derive)至少一个帧内预测模式(IPM)。该方法可以包括基于至少一个IPM来确定当前视频块的最终预测子。该方法可以包括基于最终预测子来执行转换。
在一些实现中,多个子模板包括以下至少一个:左子模板、上子模板、右上子模板、左下子模板和左上子模板。
在一些实现中,多个子模板包括当前视频块的非邻接样本。
在一些实现中,至少一个模板集包括单个子模板,并且其中单个子模板是以下中的一项:左子模板、上子模板、右上子模板、左下子模板或左上子模板。
在一些实现中,至少一个模板集包括以下中的任何一项:a)左子模板和上子模板;b)左子模板、上子模板和左上子模板;c)左子模板和左下子模板;d)上子模板和右上子模板;e)左子模板、左下子模板、上子模板和右上子模板;或f)左子模板、左下子模板、上子模板、右上子模板和左上子模板。
在一些实现中,至少一个模板集基于针对当前块的编解码信息从多个子模板中被选择,其中编解码信息包括块维度或块形状。至少一个模板集可以基于维度与预定义阈值之间的关系而从多个子模板中被选择。BW可以表示当前视频块的块宽度并且BH可以表示当前视频块的块高度。在一些实现中,在BW除以BH大于或等于第一阈值的情况下,不选择左子模板。在一些实现中,在BH除以BW大于或等于第二阈值的情况下,不选择上子模板。
在一些实现中,多个子模板中的一个子模版的维度基于以下至少一项:a)当前视频块的维度;b)当前视频块的块形状;c)当前视频块的切片类型;或d)当前视频块的图片类型。
在一些实现中,从多个子模板构建至少一个模板集还与比特流中呈现的第二语法(syntax)元素相关。
在一些实现中,从多个子模板构建至少一个模板集还与比特流中呈现的第二语法元素相关。
在一些实现中,响应于多个子模板不可用,无模板集被构建并且无IPM被导出。可以基于预定义IPM来确定当前视频块的最终预测子,预定义IPM可以是DC模式、平面模式、水平模式或竖直模式中的一个模式。
在一些实现中,转换包括从比特流解码当前视频块。
在一些实现中,转换包括将当前视频块编码到比特流中。
在另一方面,本公开提供用于处理视频数据的装置。该装置包括处理器和在其上具有指令的非瞬态存储器。指令在由处理器执行时使处理器:在视频的当前视频块与视频的比特流之间的转换期间,从多个子模板构建针对当前视频块的至少一个模板集;基于成本计算,导出至少一个帧内预测模式(IPM);基于至少一个IPM,确定当前视频块的最终预测子;以及基于最终预测子来执行转换。该装置可以被配置为执行该方法的上述实现中的任何实现。
在另一方面,本公开提供一种存储视频的比特流的非瞬态计算机可读记录介质,该视频的比特流是由视频处理装置执行的方法所生成的。该非瞬态计算机可读介质可以通过该方法的上述实现中的任何实现来生成。
在另一方面,本公开提供了一种存储指令的非瞬态计算机可读存储介质,该指令使处理器执行该方法的上述实现中的任何实现。
为实现上述及相关目的,一个或多个方面包括在下文中充分描述并且在权利要求中特别指出的特征。以下描述和附图详细阐述了一个或多个方面的一些说明性特征。然而,这些特征仅指示各个方面的原理可以被采用的各种方式中的一些方式,并且本描述旨在包括所有这些方面及其等价物。
附图说明
图1是图示了根据本公开的一些方面的视频编解码系统的示例的框图。
图2是图示了根据本公开的一些方面的视频编码器的第一示例的框图。
图3是图示了根据本公开的一些方面的视频解码器的示例的框图。
图4是图示了根据本公开的一些方面的视频编码器的第二示例的框图。
图5是根据本公开的一些方面的通用视频编解码(VVC)的编码器框图的示例。
图6是根据本公开的一些方面的具有67个帧内预测模式以捕获自然视频中呈现的任意边缘方向的帧内模式编解码的示意图。
图7和图8是根据本公开的一些方面的宽角度帧内预测的参考示例图。
图9是根据本公开的一些方面在方向超过45°角的情况下的不连续性图解。
图10是根据本公开的一些方面的被用于导出色度的α和β的样本的位置的示意图。
图11是根据本公开的一些方面的被用于导出亮度的α和β的样本的位置的示意图。
图12-图15图示了根据本公开的一些方面的用于在各种预测模式之上应用的PDPC的参考样本(Rx,-1和R-1,y)的示例。
图16是根据本公开的各方面使用的多参考线(MRL)帧内预测的图解。
图17和图18是根据本公开的一些方面的取决于块大小将亮度帧内预测块竖直地或水平地划分为子分区的帧内子分区(ISP)的示例图解。
图19是根据本公开的一些方面的用于VVC的矩阵加权帧内预测过程(MIP)方法的图解。
图20是根据本公开的一些方面的基于模板的帧内模式导出的图解,其中目标标示要针对其估计帧内预测模式的当前块(块大小为N)。
图21是根据本公开的一些方面的可以基于帧内预测模式导出而对其执行梯度分析的一组所选像素的模板的图解。
图22是根据本公开的各方面的3×3索贝尔(Sobel)梯度滤波器与模板的卷积的图解。
图23是根据本公开的一些方面的具有大于67个帧内预测模式的帧内模式编码的示意图。
图24是根据本公开的一些方面的包括左上子模板的示例模板的图解释。
图25是根据本公开的一些方面的包括左子模板和上子模板的示例模板的图解。
图26是根据本公开的一些方面的包括上子模板的示例模板的图解。
图27是根据本公开的一些方面的包括左子模板的示例模板的图解。
图28是根据本公开的一些方面的包括左子模板和左下子模板的示例模板的图解。
图29是根据本公开的一些方面的包括上子模板和右上子模板的示例模板的图解。
图30是根据本公开的一些方面的包括左子模板、左下子模板、上子模板和右上子模板的示例模板的图解。
图31是根据本公开的一些方面的包括左上子模板、左子模板、左下子模板、上子模板和右上子模板的示例模板的图解。
图32是根据本公开的一些方面的包括与目标块间隔开的子模板的示例模板的图。
图33是根据本公开的一些方面的针对包括左上子模板、左子模板和上子模板的模板的示例模板参考样本的图解。
图34是根据本公开的一些方面的针对包括左子模板和上子模板的模板的示例模板参考样本的图解。
图35是根据本公开的一些方面的针对包括上子模板的模板的示例模板参考样本的图解。
图36是根据本公开的一些方面的针对包括左子模板的模板的示例模板参考样本的图解。
图37是根据本公开的一些方面的针对包括上子模板的模板具有水平间隙的示例模板参考样本的图解。
图38是根据本公开的一些方面的针对包括上子模板的模板具有竖直间隙的示例模板参考样本的图解。
图39是根据本公开的一些方面的具有模板的竖直移位部分的示例模板参考样本的图解。
图40是根据本公开的一些方面的具有模板的水平移位部分的示例模板参考样本的图解。
图41是根据本公开的一些方面的包括具有可变模板帧内预测单元的视频解码器的示例装置的图。
图42是根据本公开的一些方面的包括用于可变模板帧内预测的视频编码器的示例装置的图。
图43是根据本公开的一些方面的对比特流进行解码的示例方法的流程图。
具体实施方式
下面结合附图阐述的具体实施方式旨在作为对各种配置的描述并且不旨在表示在其中可以实践本文描述的概念的唯一配置。具体实施方式包括目的在于提供对各种概念的透彻理解的特定细节。然而,对于本领域的普通技术人员来说明显的是,可以在没有这些特定细节的情况下实践这些概念。在一些情况中,结构和组件以框图形式示出以避免混淆这些概念。
现在将参考各种装置和方法来呈现视频编码和解码的多个方面。这些装置和方法将在以下具体实施方式中进行描述,并在附图中通过各种块、组件、电路、过程、算法以及其他示例(统称为“元件”)来进行图示。这些元件可以使用电子硬件、计算机软件或其任何组合来实现。这些元件是作为硬件还是软件来实现取决于特定的应用和对整个系统施加的设计约束。
举例来说,元件、或元件的任何部分、或元件的任何组合可以被实现为包括一个或多个处理器的“处理系统”。处理器的示例包括微处理器、微控制器、图形处理单元(GPU)、中央处理单元(CPU)、应用处理器、数字信号处理器(DSP)、精简指令集计算(RISC)处理器、片上系统(SoC)、基带处理器、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门控逻辑、分立硬件电路和被配置为执行在本公开中描述的各种功能性的其他合适硬件。处理系统中的一个或多个处理器可以执行软件。无论是被称为软件、固件、中间件、微代码、硬件描述语言还是其他,软件应被广义地解释为意指指令、指令集、代码、代码段、程序代码、程序、子程序、软件组件、应用、软件应用、软件包、例程、子例程、对象、可执行文件、执行的线程、过程、函数以及其他示例。
因此,在一个或多个示例中,所描述的功能可以以硬件、软件或其任何组合来实现。如果以软件实现,则这些功能可以被存储在或被编码为计算机可读介质上的一个或多个指令或代码。计算机可读介质包括计算机存储介质,其可以被称为非瞬态计算机可读介质。非瞬态计算机可读介质可以排除瞬态信号。存储介质可以是计算机可以访问的任何可用介质。作为示例而非限制,此类计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、光盘存储装置、磁盘存储装置、其他磁存储设备、上述类型的计算机可读介质的组合、或者可以被用来以可由计算机访问的指令或数据结构的形式存储计算机可执行代码的任何其他介质。
本文描述的各方面一般涉及选择一个或多个模板,该模板被用于导出用于对图像进行解码(或编码)的帧内预测模式(IPM)。例如,诸如高效视频编解码(HEVC)、通用视频编解码(VVC)等视频编解码技术可以在编码侧和解码侧使用IPM,以对视频的每个图像或每个帧进行编码/解码,诸如压缩比特流中的比特数目,这可以为图像或帧以及因此的视频提供高效的存储或传输。如本文中进一步详细描述的,IPM是针对图像的每块而被确定或被指定的,其中块可以包括由编解码单元CU或预测单元(PU)(例如,N×N个CU或PU)的子集所定义的图像的一部分,其中每个CU或PU可以是像素、色度、亮度、此类的集合等。然后IPM被用来基于先前所解码的块的参考像素、色度、亮度等等来预测给定块。这可以避免针对每个像素、色度或亮度等存储或传送值。在当前的视频编解码技术中,被用于对块进行编码的IPM可以在比特流中被用信号发送。
根据本文描述的各方面,被用于帧内预测的IPM可以在解码器处被导出。通过减少被用于用信号发送IPM的比特,导出IPM可以降低比特流的比特率。传统上,被用于帧内预测的模板已经被固定。在一个方面,本公开提供用于选择模板的技术。模板可以是一个或多个子模板的组合。选择将哪些子模板包括在模板中可以产生更好地预测块样本的模板。例如,可以基于块的形状或维度来选择模板。另外,选择模板可以减少模板中包括的不可用样本的比例数。例如,可以基于当前块的哪些子模板已经被重构来选择模板。因此,选择模板可以减少对不可用样本的处理。本文描述的附加方面涉及基于所选模板来确定IPM的成本。
图1是图示了可以利用本公开的技术的视频编解码系统100的示例的框图。如图1中所示,视频编解码系统100可以包括源设备110和目的地设备120。可以被称为视频编码设备的源设备110可以生成经编码的视频数据。可以被称为视频解码设备的目的地设备120可以对由源设备110生成的编码视频数据进行解码。源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备、从视频内容提供方接收视频数据的接口和/或用于生成视频数据的计算机图形系统之类的源,或者包括这样的源的组合。视频数据可以包括一个或多个图片或图像。术语“图片”、“图像”或“帧”自始至终可以互换使用,以指代产生视频的图像流中的单个图像。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的经编解码的表示的比特序列。比特流可以包括经编解码的图片和相关联的数据。经编解码的图片是图片的经编解码的表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发射器、总线、或促进设备之间或计算设备内的数据传送的基本上任何机制,该计算设备可以包括源设备110和目的地设备120两者(例如,其中计算设备存储使用源设备110的功能所生成的经编码的视频以使用目的地设备120的功能进行显示)。在一个示例中,经编码的视频数据可以通过网络130a经由I/O接口116而被直接传输给目的地设备120。经编码的视频数据也可以被存储到存储介质/服务器130b上以供目的地设备120访问。
目的地设备120可以包括I/O接口126、视频解码器124和显示设备122。I/O接口126可以包括接收器和/或调制解调器、总线或促进设备之间或计算设备内的数据传送的基本上任何机制。I/O接口126可以从源设备110或存储介质/服务器130b获取编码视频数据。视频解码器124可以对经编码的视频数据进行解码。显示设备122可以向用户显示经解码的视频数据。显示设备122可以与目的地设备120集成,或者可以在目的地设备120的外部,目的地设备120被配置为与外部显示设备进行接口。
视频编码器114和视频解码器124可以根据视频压缩标准来操作,诸如HEVC标准、VVC标准和其他当前和/或将来的标准。
图2是图示了根据本公开的一些方面的视频编码器200的示例的框图,其可以是图1中图示的系统100中的视频编码器114的示例。
视频编码器200可以被配置为执行本公开的技术中的任何或所有技术。在图2的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的技术中的任何或所有技术,包括视频编码器200的那些技术。
视频编码器200的功能组件可以包括以下一项或多项:分割单元201、预测单元202、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213和熵编码单元214,预测单元202可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206。
在其他一些示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以在IBC模式下执行预测,其中至少一个参考图片是当前视频块所在的图片。
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以被高度集成,但是在图2的示例中出于解释的目的被单独表示。
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块大小。
模式选择单元203可以例如基于错误结果来选择编解码模式之一(帧内或帧间),并将所得的经帧内或帧间编解码的块提供给残差生成单元207中的至少一个残差生成单元以生成残差块数据以及提供给重构单元212以重构编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测模式的组合(CIIP),其中预测是基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以针对块选择用于运动向量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成针对当前视频块的运动信息。在一个示例中,每个参考帧可以与视频的一个图片对应。运动补偿单元205可以基于运动信息和来自缓冲器213的除了与当前视频块相关联的图片之外的图片的经解码的样本来确定针对当前视频块的预测视频块。
例如取决于当前视频块是在I切片、P切片还是B切片中,运动估计单元204和运动补偿单元205可以针对当前视频块执行不同的操作,。如本文中所使用的,在一些方面,“I切片”可以指的是由宏块组成的图片的一部分,所有宏块都基于同一图片内的宏块。此外,如本文中所使用的,在一些方面,“P切片”和“B切片”可以指的是由不依赖于同一图片中的宏块的宏块组成的图片的部分。
在一些示例中,运动估计单元204可以针对当前视频块执行单向预测,并且运动估计单元204可以针对用于当前视频块的参考视频块而搜索列表0或列表1的参考图片。运动估计单元204然后可以生成参考索引和的运动向量,参考索引指示列表0或列表1中的包含参考视频块的参考图片,运动向量指示当前视频块与参考视频块之间的空间位移。运动估计单元204可以输出参考索引、预测方向指示符和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他一些示例中,运动估计单元204可以针对当前视频块执行双向预测,其中运动估计单元204可以针对用于当前视频块的参考视频块而搜索列表0中的参考图片并且还可以为了针对当前视频块的另一个参考视频块搜索列表1中的参考图片。运动估计单元204然后可以生成参考索引和的运动向量,参考索引指示列表0和列表1中的包含参考视频块的参考图片,运动向量指示参考视频块与当前视频块之间的空间位移。运动估计单元204可以输出当前视频块的参考索引和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息所指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出运动信息的完整集合以用于解码器的解码处理。
在一些示例中,运动估计单元204可以不输出针对当前视频的运动信息完整集合。而是,运动估计单元204可以参考另一视频块的运动信息来用信号发送当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息的值。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动向量差(MVD)。运动向量差指示当前视频块的运动向量与所指示的视频块的运动向量之间的差。视频解码器300可以使用所指示的视频块的运动向量和运动向量差来确定当前视频块的运动向量。
如上面所讨论的,视频编码器200可以预测性地用信号发送运动向量。可以由视频编码器200实现的预测性的信令技术的两个示例包括高级运动向量预测(AMVP)和合并模式信令。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中其他视频块的经解码的样本来生成针对当前视频块的预测数据。针对当前视频块的预测数据可以包括预测视频块或一个或多个语法元素中的至少一个。
残差生成单元207可以通过从当前视频块减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成针对当前视频块的残差数据。当前视频块的残差数据可以包括与当前视频块中的样本的不同样本分量相对应的残差视频块。
在其他一些示例中,对于当前视频块,可能不存在针对当前视频块的残差数据,例如在跳过模式中,并且残差生成单元207可以不执行减法操作。
也可以被称为变换处理单元的变换单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成针对当前视频块的一个或多个变换系数视频块。
在变换单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元212可以将重构的残差视频块添加到来自预测单元202所生成的一个或多个预测视频块中的对应样本,以产生与当前块相关联的重构的视频块以供存储在缓冲器213中。
在重构单元212重构视频块之后,环路滤波操作可以被执行以减少视频块中的视频块伪影。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作以生成经熵编码的数据并且输出包括经熵编码的数据的比特流。
图3是图示了根据本公开的一些方面的视频解码器300的示例的框图,其可以是图1中图示的系统100中的视频解码器124的示例。
视频解码器300可以被配置为执行本公开的技术中的任何或所有技术。在图3的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的技术中的任何或所有技术,包括视频解码器300的那些技术。
在图3的示例中,视频解码器300包括以下一项或多项:熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行与关于视频编码器200(图2)描述的编码通道大体互逆的解码通道。
视频解码器300可以经由熵解码单元301或其他方式接收经编码的比特流。经编码的比特流可以包括经熵编解码的视频数据(例如,视频数据的经编码的块)。在该示例中,熵解码单元301可以对经熵编解码的视频数据进行解码。基于经解码的视频数据,无论是经熵解码还是以其他方式,运动补偿单元302可以确定包括运动向量、运动向量精度、参考图片列表索引和其他运动信息的运动信息。例如,运动补偿单元302可以通过执行AMVP和合并模式来确定这样的信息。可以使用AMVP,包括基于来自邻接的PB和参考图片的数据导出多个最可能的候选。运动信息通常包括水平和竖直运动向量位移值、一个或两个参考图片索引,以及在B切片中的预测区域的情况下还包括哪个参考图片列表与每个索引相关联的标识。如本文中所使用的,在一些方面,“合并模式”可以指的是从空间或时间相邻块导出运动信息。
运动补偿单元302可以产生运动补偿块,可能基于内插滤波器来执行内插。与子像素精度一起使用的内插滤波器的标识符可以被包括在与编码比特流一起被接收的语法元素中或在单独的辅助信息中,例如如视频编码器在对视频进行编码时所指定的那样。
运动补偿单元302可以使用在视频块的编码期间由视频编码器200使用的内插滤波器来计算针对参考块的子整数像素的内插值。运动补偿单元302可以根据接收到的语法信息来确定由视频编码器200使用的内插滤波器并使用内插滤波器来产生预测性的块。
运动补偿单元302可以使用语法信息中的一些语法信息来确定被用来对经编码的视频序列的(多个)帧和/或(多个)切片进行编码的块大小、描述经编码的视频序列的图片的每个宏块如何被分割的分区序列、指示每个分区如何被编码的模式、每个帧间编码的块的一个或多个参考帧(和参考帧列表)以及用于对经编码的视频序列进行解码的其他信息。如本文中所使用的,在一些方面,“切片”可以指的是在熵编解码、信号预测和残差信号重构方面可以独立于同一图片的其他切片而被解码的数据结构。切片可以是整个图片或图片的区域。
帧内预测单元303可以使用例如在比特流中所接收的帧内预测模式来从空间地邻接的块形成预测块。帧内预测在本文中可以被称为“帧内”,和/或帧内预测模式在本文中可以称为“帧内模式”。逆量化单元304对在比特流中被提供并且由熵解码单元301解码的量化的视频块系数进行逆量化,即去量化。逆变换单元305应用逆变换。
重构单元306可以对残差块与由运动补偿单元302或帧内预测单元303生成的对应预测块求和以形成经解码的块。如果期望,还可以应用解块(deblocking)滤波器来过滤经解码的块以便移除块效应伪影。经解码的视频块然后被存储在缓冲器307中,缓冲器307为后续的运动补偿/帧内预测提供参考块并且还产生用于在显示设备上呈现的经解码的视频。
尽管以下描述可能集中于高效视频编解码(HEVC)和/或标准通用视频编解码(VVC),但是本文描述的概念可以适用于其他编解码标准或视频编解码器。
图4示出了根据本公开的一些方面的HEVC视频编码器和解码器400的框图的示例,其可以是图1中所图示的系统100中的视频编码器114和视频解码器124、图2中的视频编码器200和图3中的视频解码器300等等。用于生成符合HEVC的比特流的编码算法可以如下进行。每个图片可以被划分为块区域(例如,编解码树单元(CTU)),并且精确的块划分可以被传输给解码器。CTU由亮度编解码树块(CTB)和对应的色度CTB和语法元素组成。亮度CTB的大小L×L可以被选择为L=16、32或64个样本,其中较大的大小可以实现更高的压缩。HEVC然后支持使用树结构和类似四叉树的信令将CTB分割为更小的块。CTU的四叉树语法指定了其亮度和色度CB的大小和位置。四叉树的根与CTU相关联。因此,亮度CTB的大小是亮度CB支持的最大大小。将CTU拆分成亮度和色度CB的拆分可以联合地被用信号发送。一个亮度CB和通常两个色度CB连同相关联的语法一起形成一个编解码单元(CU)。CTB可以只包含一个CU,或者可以被拆分以形成多个CU,并且每个CU都具有相关联的分割成预测单元(PU)的分割和变换单元树(TU)。
视频序列的第一个图片(和/或进入视频序列的每个干净随机访问点处的第一个图片)可以仅使用图片内预测,其在同一图片内使用区域到区域的空间数据预测,但是不依赖其他图片来对第一个图片进行编码。对于顺序或随机访问点之间的其余图片,针对大多数块,可以使用图片间时间预测编解码模式。用于图片间预测的编码过程包括选择运动数据,该运动数据包括要被应用来预测每个块的样本的所选参考图片和运动向量(MV)。
可以在CU级别做出是使用图片间预测还是图片内预测对图片区域进行编码的决定。PU分区结构的根位于CU级别。取决于基本的预测类型决定,亮度和色度CB然后可以在大小上被进一步拆分,并根据亮度和色度预测块(PB)而被预测。HEVC支持从64×64到4×4样本的可变PB大小。使用块变换对预测残差进行编解码。TU树结构的根位于CU级别。亮度CB残差可以与亮度变换块(TB)完全相同或者可以进一步被拆分成更小的亮度TB。这同样适用于色度TB。
编码器和解码器可以通过使用MV和模式决定数据来应用运动补偿(MC),以生成相同的图片间预测信号,该图片间预测信号作为辅助信息而被传输。图像内或图像间预测的残差信号可以通过线性空间变换而被变换,该残差信号是原始块与其预测之间的差异。然后变换系数可以被缩放、被量化、被熵编码,并且与预测信息一起被传输。
编码器可以复制解码器处理循环,以使得两者都可以针对后续数据生成相同的预测。因此,量化的变换系数可以通过逆缩放来构建,并且然后可以被逆变换以复制残差信号的解码近似。残差然后可以被添加到预测中,并且然后该添加的结果可以被馈送到一个或两个环路滤波器中,以平滑由逐块处理和量化引起的伪影。最终的图片表示(即,由解码器输出的副本)可以被存储在经解码图片缓冲器中,以用于预测后续图片。一般来说,图片的编码或解码处理顺序可以与它们从源到达的顺序不同。如此,在一些示例中,可能需要在解码器的解码顺序(即,比特流顺序)与输出顺序(即,显示顺序)之间进行区分。
由HEVC编码的视频材料可以作为逐行图像而被输入(例如,因为源视频源自该格式或者在编码之前通过去隔行而被生成)。HEVC设计中没有明确的编解码特征来支持隔行扫描的使用,因为隔行扫描不再被用于显示器,并且在分布中变得非常罕见。但是,HEVC中已经提供了元数据语法,以允许编码器通过将隔行视频的每个区域(即每个视频帧的偶数或奇数行)编码为单独的图片隔行视频来指示它已经被发送,或者通过将每个隔行帧编码为经HEVC编码的图片来指示它已经被发送。这可以提供一种用于对隔行视频进行编码的有效方法,而无需支持针对其的特殊解码过程。
图5是VVC的编码器框图500的示例,其可以包括多个环路滤波块:例如解块滤波器(DF)、样本自适应偏移(SAO)自适应环路滤波器(ALF)等。与使用预定义滤波器的DF不同,SAO和ALF可以利用当前图片的原始样本,分别通过添加偏移和通过应用有限脉冲响应(FIR)滤波器来减少原始样本与重构样本之间的均方误差,其中编解码侧信息用信号发送偏移量和滤波器系数。ALF可以位于每个图片的最后一个处理阶段,并且可以被看作是捕捉和修复由前一阶段产生的伪影的工具。
图6是具有67个帧内预测模式以捕获自然视频中呈现的任意边缘方向的帧内预测模式编解码的示意图600。在一些示例中,定向帧内模式的数目可以从HEVC中使用的33个扩展到65个,而平面模式和DC模式保持相同。
在一些示例中,更密集的定向帧内预测模式可以应用于块大小以及亮度和色度帧内预测两者。在HEVC中,每个经帧内预测模式编码的块可以包括正方形形状(例如,大小为N×N的经编解码的块)并且其每边的长度可以是2的幂(例如,其中N是2的幂)。因此,不需要除法运算来使用DC模式生成帧内预测子。在VVC中,块可以具有矩形形状,这在一般情况下可能需要对每个块使用除法运算。为避免针对DC预测的除法运算,较长的边可以被用来计算针对非方形块的平均值。
虽然在VVC中定义了67个模式,但是针对给定帧内预测模式索引的准确预测方向可以进一步取决于块形状。传统的角度帧内预测方向被定义为顺时针方向从45度到-135度。在VVC中,多个传统的角度帧内预测模式可以被用于非方形块的广角帧内预测模式自适应地取代。被取代的模式可以使用原始模式索引而被用信号发送,原始模式索引在解析之后被重新映射到宽角度模式的索引。在一些示例中,帧内预测模式的总数可以是不变的,即67个,并且帧内模式编解码方法也可以是不变的。
图7和图8是宽角度帧内预测的参考示例图解700和800。在一些示例中,宽角度方向模式中的被取代的模式的数目可以取决于块的纵横比。被取代的帧内预测模式如表1中所图示:
Figure BDA0003465368780000181
表1–由宽角度模式取代的帧内预测模式
图9是在超过45°角的方向的情况下的不连续性的图解900。在这样的情况中,在宽角度帧内预测的情况下,两个竖直地邻接的预测样本可以使用两个不邻接的参考样本。因此,低通参考样本滤波器和侧平滑可以被应用于广角预测,以减少增加的间隙Δpα的负面影响。如果广角模式表示非分数偏移,那么满足这个条件的广角模式中可以有8个模式,它们分别是[-14,-12,-10,-6,72,76,78,80]。当块由这些模式预测时,参考缓冲器中的样本可以直接被复制,而无需应用任何内插。利用这种修改,可以减少要被平滑的样本数目。
在VVC中,支持4:2:2和4:4:4色度格式以及4:2:0。用于4:2:2色度格式的色度导出模式(DM)导出表最初是从HEVC移植的,将条目数目从35扩展到67,以与帧内预测模式的扩展对准。由于HEVC规范不支持低于-135度以下和高于45度的预测角度,因此范围从2到5的亮度帧内预测模式可以被映射为2。因此,用于4:2:2色度格式的色度DM导出表可以通过取代映射表的条目的一些值而被更新,以针对色度块更精确地转换预测角度。
在一些方面,对于每个帧间预测CU,由运动向量、参考图片索引和参考图片列表使用索引以及用于VVC的新编解码特征的附加信息组成的运动参数可以被用于帧间预测样本生成。可以以显式或隐式的方式来用信号发送运动参数。当以跳过模式对CU进行编解码时,CU可以与一个PU相关联并且可以没有显著的残差系数、没有经编解码的运动向量差量或参考图片索引。合并模式可以被指定,其中可以从相邻CU获得针对当前CU的运动参数,包括空间和时间候选,以及在VVC中引入的附加调度。合并模式可以被应用于任何帧间预测的CU,不仅适用于跳过模式。合并模式的替代方案可以是运动参数的显式传输,其中运动向量、针对每个参考图片列表的对应参考图片索引和参考图片列表使用标志和其他需要的信息按每个CU而显式地被用信号发送。
附加地或备选地,帧内块复制(IBC)可以是在SCC上的HEVC扩展中采用的工具,并且因此可以由如本文在编码视频中所描述的视频编码器114、200、400和/或由如本文解码视频中所描述的视频解码器124、300、400使用。这样的工具可以提高屏幕内容材料的编解码效率。由于IBC模式可以被实现为块级编解码模式,因此可以在编码器处执行块匹配(BM)以找到针对每个CU的最优块向量(或运动向量)。在这里,块向量被用来指示从当前块到参考块的位移,其在当前图片内已经被重构。经IBC编解码的CU的亮度块向量可以是整数精度。色度块向量也可以四舍五入到整数精度。在与AMVR组合使用时,IBC模式可以在1像素和4像素运动向量精度之间切换。可以将经IBC编解码的CU视为除帧内或帧间预测模式之外的第三预测模式。IBC模式可以适用于宽度和高度两者都小于或等于64亮度样本的CU。
在编码器侧,可以针对IBC执行基于散列的运动估计。编码器对宽度或高度不大于16个亮度样本的块执行RD检查。对于非合并模式,可以首先使用基于散列的搜索来执行块向量搜索。如果散列搜索没有返回有效的候选,则可以执行基于块匹配的局部搜索。在基于散列的搜索中,当前块与参考块之间的散列键匹配(32位循环冗余校验(CRC))可以被扩展到所有受允许的块大小。针对当前图片中的每个位置的哈希键计算可以基于4×4个子块。对于较大大小的当前块,当所有4×4子块的所有哈希键都与对应参考位置的哈希键相匹配时,与参考块的哈希键相匹配的哈希键可以被确定。如果发现多个参考块的哈希键与当前块的哈希键相匹配,则可以计算每个匹配的参考的块向量成本,并且选择成本最小的那个参考。
在一些示例中,在块匹配搜索中,搜索范围可以被设置为覆盖先前和当前的CTU两者。在CU级别,IBC模式可以以一个标志来被用信号发送,并且其可以被用信号发送为IBCAMVP模式或IBC跳过/合并模式。在一个示例中,诸如IBC跳过/合并模式,合并候选索引可以被用来指示来自相邻候选经IBC编码的块的列表中的块向量中的哪个块向量被用来预测当前块。合并列表可以包括空间候选、HMVP和成对候选。
在另一个示例中,诸如IBC AMVP模式,块向量差可以以与运动向量差相同的方式来被编解码。块向量预测方法使用两个候选作为预测子,一个来自左邻居,一个来自上邻居(如果是IBC编解码的话)。当任一邻居都不可用时,默认块向量可以被用作预测子。可以用信号发送标志以指示块向量预测子索引。
为了减少交叉分量冗余,在VVC中可以使用交叉分量线性模型(CCLM)预测模式,针对该模式,通过使用如下的线性模型基于相同CU的重构的亮度样本来预测色度样本:
predC(i,j)=α·recL′(i,j)+β
等式1
在这样的情况中,predC(i,j)可以表示CU中的预测色度样本并且recL(i,j)可以表示相同CU的经下采样的重构的亮度样本。CCLM参数(α和β)可以从最多四个相邻色度样本以及其对应的经下采样的亮度样本来导出。例如,假设当前色度块维度为W×H,则当应用LM模式时,W’和H’被设置为W’=W,H’=H;当应用LM-T模式时,W’=W+H;并且当应用LM-L模式时,H’=H+W。
上相邻位置可以被标示为S[0,-1]…S[W’-1,-1],并且左相邻位置可以被标示为S[-1,0]…S[-1,H’-1]。然后四个样本被选择为:当应用LM模式并且上和左相邻样本都可用时,S[W’/4,-1],S[3*W’/4,-1],S[-1,H’/4],S[-1,3*H’/4];当应用LM-T模式或只有上相邻样本可用时,S[W’/8,-1],S[3*W’/8,-1],S[5*W’/8,-1],S[7*W’/8,-1];以及当应用LM-L模式或只有左相邻样本可用时,S[-1,H’/8],S[-1,3*H’/8],S[-1,5*H’/8],S[-1,7*H’/8]。
在一些方面,所选位置处的四个相邻亮度样本可以被下采样并比较四次以找到两个较大的值:x0 A和x1 A,以及两个较小的值:x0 B和x1 B。它们对应的色度样本值可以表示为y0 A、y1 A、y0 B和y1 B。则xA、xB、yA和yB可以被导出为:
Xa=(x0 A+x1 A+1)>>1;Xb=(x0 B+x1 B+1)>>1;Ya=(y0 A+y1 A+1)>>1;Yb=(y0 B+y1 B+1)>>1
等式2
最后,可以根据以下等式获得线性模型参数α和β:
Figure BDA0003465368780000211
β=Yb-α·Xb
等式4
图10是被用于导出色度的α和β的样本位置的示意图1000。图11是被用于导出亮度的α和β的样本位置的示意图1100。对于图10和图11二者,计算参数α的除法运算可以利用查找表来实现。为了减少存储表格所需的存储器,diff值(最大值与最小值之间的差)和参数α可以由指数符号来表达。例如,diff值被近似为4位有效部分和指数。因此,对于有效数的16个值,1/diff的表被缩减为16个元素,如下:
DivTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}
表2
在一个示例中,可以使用上模板和左模板一起来计算线性模型系数。在另一个示例中,上模板和左模板可以备选地被使用在另外两种LM模式中,被称为LM_T和LM_L模式。在LM_T模式中,只使用上模板来计算线性模型系数。为了得到更多的样本,上模板被扩展为(W+H)个样本。在LM_L模式中,只使用左模板来计算线性模型系数。为了得到更多的样本,左模板可以被扩展为(H+W)个样本。在LM模式中,左模板和上模板被用来计算线性模型系数。
为了匹配用于4:2:0视频序列的色度样本位置,对亮度样本应用两种类型的下采样滤波器,以在水平和竖直两个方向上都实现2:1的下采样率。下采样滤波器的选择由SPS级别标志来指定。两个下采样滤波器如下,其分别与“类型0”和“类型2”的内容对应。
Figure BDA0003465368780000221
Figure BDA0003465368780000222
注意,当上参考线位于CTU边界时,只使用一条亮度线(帧内预测中的通用线缓冲器)来制作经下采样的的亮度样本。该参数计算可以作为解码过程的一部分被执行,而不仅仅是作为编码器搜索操作。结果,可以不使用语法来将α和β值传达给解码器。
对于色度帧内预测模式编解码,色度帧内模式编解码总共允许8种帧内预测模式。这些模式包括五种传统帧内预测模式和三种交叉分量线性模型模式(LM、LM_T和LM_L)。色度模式信令和导出过程如下表3中所示。色度模式编解码直接取决于对应亮度块的帧内预测模式。由于在I切片中启用了针对亮度和色度分量的单独块分割结构,因此一个色度块可以与多个亮度块对应。因此,对于色度DM模式,覆盖当前色度块的中心位置的对应亮度块的帧内预测模式可以直接被继承。
Figure BDA0003465368780000231
表3-色度模式信令和导出过程
Figure BDA0003465368780000232
表4-色度预测模式的统一二值化表
在表4中,第一个bin(二进制符号)指示其是常规(0)还是LM模式(1)。如果其是LM模式,则下一个bin指示其是LM_CHROMA(0)还是不是(1)。如果不是LM_CHROMA,则下一个bin指示其是LM_L(0)还是LM_T(1)。对于这种情况,当sps_cclm_enabled_flag为0时,可以在熵编解码之前丢弃对应intra_chroma_pred_mode(帧内色度预测模式)的二值化表的第一个bin。换句话说,第一个bin被推断为0,因此没有被编解码。该单个的二值化表被用于sps_cclm_enabled_flag等于0和1的情况。表4中的前两个bin利用其自己的上下文模型而被上下文编解码,其余bin被旁路编解码。
另外,为了减少双树中的亮度色度时延,当64×64亮度编解码树节点用Not Split(并且针对64×64CU不使用ISP)或QT而被分割时,32×32/32×16色度编解码树节点中的色度CU以如下方式被允许使用CCLM:如果32×32色度节点没有被拆分(not split)或被分割的QT拆分,32×32节点中的所有色度CU都可以使用CCLM;备选地,如果32×32色度节点使用水平BT被分割,并且32×16子节点没有拆分或使用竖直BT拆分,则32×16色度节点中的所有色度CU都可以使用CCLM。在所有其他亮度和色度编解码树拆分条件下,针对色度CU不允许CCLM。
在VVC中,DC、平面和多个角度模式的帧内预测的结果可以通过位置相关预测组合(PDPC)方法来进一步被修改。PDPC是一种预测方法,它调用边界参考样本和与利用经过滤的边界参考样本的HEVC风格预测的组合。PDPC可以在无信令的情况下被应用于以下帧内模式:平面、DC、小于或等于水平的内角、大于或等于竖直并且小于或等于80的内角。如果当前块是BDPCM模式或MRL索引大于0,则不应用PDPC。
预测样本pred(x’,y’)使用帧内预测模式(DC、平面、角度)和参考样本的线性组合根据等式7而被预测,如下:
pred(x’,y’)=Clip(0,(1<<比特深度)–1,(wL×R-1,y’+wT×Rx’,-1+(64-wL-wT)×pred(x’,y’)+32)>>6)
等式7
在上式中,Rx,-1、R-1,y可以分别表示位于当前样本(x,y)的上边界和左边界处的参考样本。
在一些方面,如果将PDPC应用于DC、平面、水平和竖直帧内模式,则可以不需要附加的边界滤波器,附加的边界滤波器当前在HEVC DC模式边界滤波器或水平/竖直模式边缘滤波器的情况下是必需的。针对DC模式和平面模式的PDPC过程是完全相同的。对于角度模式,如果当前角度模式是HOR_IDX或VER_IDX,则分别不使用左参考样本或上参考样本。PDPC权重和缩放因子取决于预测模式和块大小。PDPC被应用于宽度和高度都大于或等于4的块。
图12-图15图示了用于在各种预测模式上所应用的PDPC的参考样本1200、1300、1400、1500(Rx,-1和R-1,y)的示例。预测样本pred(x’,y’)位于预测块内的(x’,y’)处。例如,针对对角线模式,参考样本Rx,-1的坐标x由下式给出:x=x’+y’+1,并且参考样本R-1,y的坐标y类似地由下式给出:y=x’+y’+1。对于其他角度模式,参考样本Rx,-1和R-1,y可以位于分数样本位置。在这种情况下,最靠近的整数样本位置的样本值被使用。
图16是根据本公开的各方面所使用的多参考线(MRL)帧内预测的图解1600。在一些示例中,段A和段F的样本不是从重构的相邻样本中提取的,而是分别填充有来自段B和段E的最接近的样本。HEVC图片内预测使用最接近的参考线(即参考线0)。在MRL中,使用了2条附加线(参考线1和参考线3)。
在视频编解码的一些示例中,所选参考线的索引(mrl_idx)可以被用信号发送并且被用来生成帧内预测子。对于大于0的参考线索引,最可能模式(MPM)列表可以仅包括附加参考线模式,并且MPM索引可以在没有其余模式的情况下被用信号发送。可以在帧内预测模式之前用信号发送参考线索引,并且在非零参考线索引被用信号发送的情况下平面模式可以从帧内预测模式被排除。
可以针对CTU内的第一行的块禁用MRL,以防止使用当前CTU行之外的扩展的参考样本。此外,当使用附加行时,可以禁用PDPC。对于MRL模式,DC帧内预测模式中针对非零参考线索引的DC值的导出可以与参考线索引0的DC值的导出对准。MRL可以利用CTU存储3个相邻的亮度参考线以生成预测。交叉分量线性模型(CCLM)工具可以为其下采样滤波器存储3个相邻的亮度参考线。使用相同的3条线的MRL定义可以与CCLM对准,以降低解码器的存储要求。
图17和图18是取决于块大小来将亮度帧内预测块竖直或水平划分为子分区的帧内子分区(ISP)的图1700和1800的示例。例如,ISP的最小块大小是4×8(或8×4)。如果块大小大于4×8(或8×4),则对应的块可以被4个子分区划分。已经注意到M×128(其中M≤64)和128×N(其中N≤64)ISP块可能会生成64×64VDPU的潜在问题。例如,单树情况下的M×128CU具有M×128亮度TB和两个对应的
Figure BDA0003465368780000261
色度TB。如果CU使用ISP,则亮度TB可以被划分成4个M×32TB(只有水平拆分是可能的),它们中的每个都小于64×64块。但是,在目前的ISP设计中,色度块没有被划分。因此,两个色度分量可能都具有大于32×32块的大小。类似地,使用ISP的128×N CU可能会产生类似的情形。因此,这两种情况可能是64×64解码器流水线的问题。出于该原因,可以使用ISP的CU大小可能被限制为最大64×64。图17和图18示出了两种可能性的示例。所有子分区都满足至少具有16个样本的条件。
在ISP中,不允许1×N/2×N子块预测依赖于编解码块的先前被解码的1×N/2×N子块的重构的值,使得针对子块的最小预测宽度变为4个样本。例如,使用具有竖直拆分的ISP而被编解码的8×N(N>4)编解码块被拆分为每个大小为4×N的两个预测区域和大小为2×N的四个变换。此外,使用具有竖直拆分的ISP而被编解码的4×N编解码块使用完整的4×N块被预测;每个为1×N的四个变换被使用。尽管允许1×N和2×N的变换大小,但是可以断言这些块在4×N区域中的变换可以被并行执行。例如,当一个4×N预测区域包含4个1×N变换时,水平方向上没有变换;竖直方向上的变换可以作为竖直方向上的单个4×N变换来被执行。类似地,当一个4×N预测区域包含两个2×N变换块时,两个2×N块在每个方向(水平和竖直)上的变换操作可以被并行实施。在此示例中,与处理4×4经常规编解码的帧内块相比,在处理这些较小块时可能不会增加延迟或延迟较小。
块大小 系数组大小
1×N,N≥16 1×16
N×1,N≥16 16×1
2×N,N≥8 2×8
N×2,N≥8 8×2
所有其他可能的M×N情况 4×4
表5
对于每个子分区,通过将残差信号与预测信号相加来获得重构的样本。在这里,通过诸如熵解码、逆量化和逆变换的过程来生成残差信号。因此,每个子分区的重构的样本值可用于生成下一个子分区的预测,并且每个子分区被重复处理。此外,要被处理的第一子分区是包含CU的左上样本并且然后继续向下(水平拆分)或向右(竖直拆分)的子分区。因此,被用来生成子分区预测信号的参考样本可能仅位于线的左侧和上方。所有子分区可以共享相同的帧内模式。以下是ISP与其他编解码工具交互的概要。
在一个示例中,如果块具有除0以外的MRL索引,则可以实现MRL,那么ISP编解码模式可以被推断为0并且因此可以不向解码器发送ISP模式信息。在另一个示例中,如果熵编解码子块的大小已经被修改,则可以选择熵编解码系数组大小,以使得它们在所有可能的情况下具有16个样本,如表5中所示。注意,新的大小可能仅影响由ISP产生的块,其中维度中的一个维度少于4个样本。在所有其他情况下,系数组可以保持4×4维度。
附加地或备选地,关于经编码的块标志(CBF)编解码,假设分区中的至少一个子分区具有非零CBF。因此,如果n是子分区的数目,并且前n-1个子分区已经产生了零CBF,则第n个子分区的CBF可以被推断为1。变换大小限制:长度大于16个点的所有ISP变换可以使用离散余弦变换(DCT)-II。多变换选择(MTS)标志:如果CU使用ISP编解码模式,则MTS CU标志可被设置为0并且它可以不被发送给解码器。因此,编码器可以不对每个所得子分区的不同可用变换执行速率失真(RD)测试。针对ISP模式的变换选择可以改为是固定的并且根据帧内模式、处理顺序和所利用的块大小而被选择。因此,在该示例中,可能不需要信令。
例如,设tH和tV分别是针对w×h子分区所选择的水平和竖直变换,其中w是宽度,h是高度。则可以根据以下规则来选择变换:如果w=1或h=1,则可能分别没有水平或竖直变换。如果w≥4并且w≤16,则tH=离散正弦变换(DCT)-VII,否则,tH=DCT-II。如果h≥4且h≤16,则tV=DST-VII,否则,tV=DCT-II。
在ISP模式中,允许所有67个帧内预测模式。如果对应的宽度和高度至少为4个样本长,则也可以应用PDPC。另外,参考样本滤波过程(参考平滑)和帧内内插滤波器选择的条件可能不再存在,并且在ISP模式中可以应用立方(DCT-IF)滤波器进行分数位置内插。
图19是用于VVC的矩阵加权帧内预测过程(MIP)的图解1900的示例。为了预测宽度为W和高度为H的矩形块的样本,-MIP采取块左侧的一条H个重构的相邻边界样本和块上方的一条W个重构的相邻边界样本作为输入。如果重构的样本不可用,则可以像在传统帧内预测中一样生成它们。
在边界样本之中,可以基于块大小和形状通过求平均来选择四个样本或八个样本。具体来说,输入边界bdrytop(bdry)和bdryleft(bdry)通过取决于块大小根据预定义规则对相邻边界样本求平均而被减小(reduced)到较小的边界
Figure BDA0003465368780000281
Figure BDA0003465368780000282
然后,两个减小的边界
Figure BDA0003465368780000283
Figure BDA0003465368780000284
可以被串接为减小的边界向量bdryred,并且因此对于形状为4×4的块,其大小为4,对于所有其他形状的块,其大小为8。在mode指的是MIP模式的情况下,该串接被定义如下:
Figure BDA0003465368780000291
利用被平均的样本作为输入来执行矩阵向量乘法,然后添加偏移。结果是原始块中的经子采样的样本集上的预测信号减少。从减少的输入向量bdryred中生成减少的预测信号predred,,该减少的预测信号predred,是宽度为Wred和高度为Hred的经下采样的的块上的信号。在这里,Wred和Hred被定义为:
Figure BDA0003465368780000292
减少的预测信号predred,可以通过计算矩阵向量乘积并且添加偏移来计算:
predred=A·bdryred+b
等式10
在这里,A是矩阵,如果W=H=4,则该矩阵具有Wred·Hred行和4列,并且在所有其他情况下具有8列。b是大小为Wred·Hred的向量。矩阵A和偏移向量b取自集合S0,S1,S2中的一个。一个定义索引idx=idx(W,H)如下:
Figure BDA0003465368780000293
在这里,矩阵A的每个系数都以8位精度来表示。集合S0由16个矩阵
Figure BDA0003465368780000301
和16个偏移向量
Figure BDA0003465368780000302
组成,其中每个矩阵有16行和4列,每个偏移向量的大小为16。该集合的矩阵和偏移向量被用于大小为4×4的块。集合S1由8个矩阵
Figure BDA0003465368780000303
和8个偏移向量
Figure BDA0003465368780000304
组成,每个矩阵有16行8列,每个偏移向量的大小为16。集合S2由6个矩阵
Figure BDA0003465368780000305
和6个偏移向量
Figure BDA0003465368780000306
组成,每个矩阵有64行8列,每个偏移向量的大小为64。
在一些示例中,其余位置处的预测信号可以通过线性内插从经子采样的集合上的预测信号生成,该线性内插是在每个方向上的单步线性内插。无论块形状或块大小如何,都可以先在水平方向上执行内插,并且然后在竖直方向上执行内插。
对于帧内模式的每个CU,指示是否可以应用MIP模式的标志被发送。如果要应用MIP模式,则可以用信号发送MIP模式(predModeIntra)。对于MIP模式,确定是否转置模式的转置标志(isTransposed)和确定哪个矩阵要被用于给定MIP模式的MIP模式ID(modeId),可以被导出如下
isTransposed=predModeIntra&1
modeId=predModeIntra>>1
等式12
MIP编解码模式可以通过考虑以下方面来与其他编解码工具协调:(1)针对大块上的MIP启用低频不可分离变换(LFNST)。在这里,使用平面模式的LFNST变换;(2)与针对传统帧内预测模式完全一样或至少类似地执行针对MIP的参考样本导出;(3)对于MIP预测中使用的上采样步骤,使用原始参考样本而不是经下采样的参考样本;(4)裁剪(clip)是在上采样之前而不是在上采样之后执行的;(5)无论最大变换大小如何,MIP可以被允许上至64×64。在一些方面,对于sizeId=0,MIP模式的数目可以是32,对于sizeId=1,可以是16,对于sizeId=2,可以是12。
在联合探索模型(JEM)-2.0中,帧内模式从HEVC中的35个模式扩展到67个,并且它们在编码器处被导出并且显式地被用信号发送给解码器。JEM-2.0中的帧内模式编解码花费了大量开销。例如,在所有帧内编解码配置中,帧内模式信令开销可能高达总比特率的5%到10%。该贡献提出了解码器侧帧内模式导出方法,以降低帧内模式编解码开销,同时保持预测准确度。为了降低帧内模式信令的开销,可以由视频解码器124、300、400在解码视频时使用解码器侧帧内模式导出(DIMD)方法。根据本公开的各方面,代替显式地用信号发送帧内模式,可以在编码器和解码器两者处从当前块的相邻重构的样本导出信息。由DIMD导出的帧内模式可以以两种方式被使用,例如:1)对于2N×2N个CU,当对应的CU级DIMD标志被开启时,DIMD模式被用作用于帧内预测的帧内模式;2)对于N×N个CU,DIMD模式被用来取代现存MPM列表中的一个候选,以提高帧内模式编解码的效率。
图20是基于模板的帧内模式导出的图解2000的示例,其中目标标示要为其估计帧内预测模式的当前块(块大小为N)。模板(由图20中的图案化区域来指示)指定一组已经被重构的样本,其被用来导出帧内模式。模板大小被标示为模板内延伸到目标块的上方和左侧的样本数目,即L。在一些实现中,模板大小为2(即L=2)可以被用于4×4和8×8块,并且模板大小为4(即L=4)可以被用于16×16和更大的块。模板的参考(由图20中的虚线区域来指示)可以指的是来自模板的上方和左侧开始的一组相邻样本,如JEM-2.0所定义的。与模板样本总是来自重构的区域不同,在对目标块进行编码/解码时,模板的参考样本可能还没有被重构。在这种情况下,利用JEM-2.0的现存参考样本替换算法,将不可用的参考样本替换为可用的参考样本。
对于每个帧内预测模式,DIMD计算重构的模板样本与其从模板的参考样本获得的预测样本之间的绝对差(SAD)。可以选择产生最小SAD的帧内预测模式作为目标块的最终帧内预测模式。
对于帧内2N×2N个CU,DIMD可以被用作一个附加帧内模式,其可以通过将DIMD帧内模式与最优普通帧内模式相比较来自适应地被选择(即,被明确地用信号发送)。针对每个帧内2N×2N CU用信号发送一个标志以指示DIMD的使用。如果标志是一,则可以使用由DIMD导出的帧内模式来预测CU;否则,不应用DIMD并且使用在比特流中明确被用信号发送的帧内模式来预测CU。当DIMD被启用时,色度分量可以重用与针对亮度分量所导出的帧内模式相同的帧内模式,即DM模式。
另外,对于每个经DIMD编码的CU,CU中的块可以自适应地选择以在PU级别或TU级别导出它们的帧内模式。具体地,当DIMD标志是一时,可以用信号发送另一CU级别的DIMD控制标志以指示执行DIMD的级别。如果该标志是零,则这可以指示DIMD在PU级别被执行,并且PU中的所有TU使用相同的导出的帧内模式用于其帧内预测;否则,如果DIMD控制标志是一,则这可以指示DIMD在TU级别被执行,并且PU中的每个TU导出其自己的帧内模式。
进一步地,当DIMD被启用时,角度方向的数目增加到129个,并且DC和平面模式仍然保持相同。为了适应角度帧内模式增加的粒度针对经DIMD编解码的CU的帧内内插滤波的精度从1/32像素增加到1/64像素。另外,为了使用经DIMD编解码的CU的导出的帧内模式作为用于相邻帧内块的MPM候选,经DIMD编解码的CU的那129个方向在它们被用作MPM之前可以被转换为“普通”帧内模式(即,65个角度帧内方向)。
在一些方面,用信号发送帧内N×N个CU的帧内模式。然而,为了提高帧内模式编解码的效率,从DIMD导出的帧内模式被用作用于预测CU中的四个PU的帧内模式的MPM候选。为了不增加MPM索引信令的开销,可以将DIMD候选放置在MPM列表中的第一位,并且可以移除最后的现存的MPM候选。此外,可以执行修剪操作,以使得如果DIMD候选是冗余的,则可以不将该DIMD候选添加到MPM列表中。
为了降低编码/解码复杂度,一种直接的快速帧内模式搜索算法被用于DIMD。首先,可以执行一个初始估计过程,来为帧内模式搜索提供良好的起点。具体地,可以通过从被允许的帧内模式中选择N个固定模式来创建初始候选列表。然后,可以针对所有候选帧内模式计算SAD,并且将SAD最小化的一个帧内模式可以被选择作为起始帧内模式。为了达成良好的复杂性/性能权衡,初始候选列表可以包括11个帧内模式,包括DC、平面和HEVC中定义的33个角度帧内方向(angular intra direction)的每第4个模式,即帧内模式0、1、2、6、10……30、34。
如果起始帧内模式是DC或平面,则其可以被用作DIMD模式。否则,基于起始帧内模式,然后可以应用一种精化(refinement)过程,其中通过一个迭代搜索来标识最佳帧内模式。在迭代搜索中,在每次迭代中,可以比较由给定搜索间隔分开的三个帧内模式的SAD值,并且将SAD最小化的帧内模式可以被维持。然后可以将搜索间隔减少到一半,并且从上次迭代所选择的帧内模式可以作为用于当前迭代的中心帧内模式。对于当前具有129个角度帧内方向的DIMD实现,在细化过程中可能会使用上至4次迭代来找到最佳DIMD内模式。
在一些示例中,可以避免在比特流中传输亮度帧内预测模式。这是通过使用先前被编码/被解码的像素以完全相同的方式在编码器和解码器处导出亮度帧内模式来完成的。该过程定义了一种被称为DIMD的新编解码模式,其选择在比特流中使用标志针对经帧内编解码的块而被用信号发送。DIMD可以在编码器处与其他编码模式竞争,包括经典的帧内编解码模式(其中帧内预测模式被编解码)。请注意,在一个示例中,DIMD可能仅适用于亮度。对于色度,经典的帧内编解码模式可以适用。如针对其他编解码模式(经典帧内、帧间、合并等)所完成的,率失真成本可以针对DIMD模式被计算,并且然后可以与其他模式的编解码成本相比较,以决定是否选择其作为用于当前块的最终编解码模式。
在解码器侧,如果存在的话,DIMD标志可以首先被解析。如果DIMD标志为真,则可以在重构过程中使用相同的先前被编码的相邻像素导出帧内预测模式。如果不为真,则帧内预测模式可以如经典帧内编解码模式一样从比特流被解析。
为了导出用于块的帧内预测模式,可以首先选择对其执行梯度分析的一组相邻像素。出于规范性的目的,这些像素可以在经解码/重构的像素池中。图21是可以基于帧内预测模式导出而对其执行梯度分析的一组被选择的像素的模板的图解2100的示例。如图21中所示,围绕当前块的模板由向左边的T个像素和向上方的T个像素来选择。例如,T可以具有为2的值。
接下来,对模板的像素执行梯度分析。这可以便于确定模板的主角度方向,可以假设该主角度方向具有很高的可能与当前块的主角度方向完全相同。因此,可以使用由以下矩阵定义的简单的3×3索贝尔梯度滤波器,,这些矩阵可以与模板进行卷积:
Figure BDA0003465368780000341
Figure BDA0003465368780000342
对于模板的每个像素,具有以当前像素为中心的3×3窗口的这两个矩阵中的每个矩阵都可以逐点相乘并且由其8个直接邻居组成,并且可以将结果求和。因此,可以分别在水平和竖直方向上获得与当前像素处的梯度相对应的两个值Gx(来自与Mx的乘法)和Gy(来自与My的乘法)。
图22是根据本公开的各方面的3×3索贝尔梯度滤波器与模板的卷积的图解2200的示例。在一些示例中,像素2210是当前像素。模板像素2220(包括当前像素2210)是可以对其进行梯度分析的像素。不可用像素2230是由于缺少一些邻居而不能对其进行梯度分析的像素。重构的像素2240是所考虑的模板之外的可用像素,被用于模板像素2220的梯度分析中。在重构的像素2240不可用的情况下(例如,由于块太接近图片的边界),使用不可用的重构的像素2240的所有模板像素2220的梯度分析不被执行。
对于每个模板像素2220,使用Gx和Gy计算梯度的强度(G)和取向(O)如下:
G=|Gx|+|Gy|和
Figure BDA0003465368780000351
请注意,建议快速实现atan函数。梯度的取向然后可以被转换为帧内角度预测模式,被用于对直方图进行索引(首先被初始化为零)。该帧内角度模式下的直方图值增加G。一旦模板中的所有模板像素2220都已经被处理,直方图就可以包括针对每个帧内角度模式的梯度强度的累积值。在直方图中显示最高峰值的模式可以被选择作为用于当前块的帧内预测模式。如果直方图中的最大值为0(意味着无法进行梯度分析,或者构成模板的区域是平坦的),则DC模式可以被选择作为用于当前块的帧内预测模式。
对于位于CTU顶部的块,位于模板顶部的像素的梯度分析不被执行。类似于跳过标志编解码,具体取决于左和上相邻块,使用三种可能的上下文对DIMD标志进行编解码。上下文0与左和上相邻块都未利用DIMD模式被编解码的情况对应,上下文1与仅一个相邻块利用DIMD被编解码的情况对应,并且上下文2与两个相邻块都是经DIMD编解码的情况对应。每个上下文的初始符号概率被设置为0.5。
与经典帧内模式编解码相比,DIMD提供的一个优点是,导出的帧内模式可以具有更高的精度,因为它不在比特流中被传输,所以无需附加成本即可进行更精确的预测。导出的帧内模式跨越129个角度模式,因此包括DC在内总共130个模式(例如,导出的帧内模式在本文所述的各方面中可能不是平面的)。经典的帧内编解码模式没有改变,即,预测和模式编解码仍然使用67个模式。
对宽角度帧内预测和简化的PDPC执行了必需的更改,以适应使用129种模式的预测。请注意,只有预测过程使用扩展的帧内模式,这意味着出于任何其他目的(例如决定是否过滤参考样本),模式可以被转换回67模式精度。
在DIMD模式中,在重构过程期间导出亮度帧内模式,恰好在块重构之前。这样做是为了避免在解析期间对重构的像素的依赖性。然而,通过这样做,对于块的色度分量以及对于相邻块的亮度分量,块的亮度帧内模式可能是未定义的。这可能会导致问题,因为对于色度,定义了固定的模式候选列表。通常,如果亮度模式等于色度候选中的一个色度候选,则可以用竖直对角线(VDIA_IDX)帧内模式取代该候选。如在DIMD中,亮度模式不可用,初始色度模式候选列表不被修改。
在其中亮度帧内预测模式将从比特流被解析的经典帧内模式中,使用相邻块的亮度帧内模式来构建MPM列表,如果这些块是使用DIMD被编解码的,则该列表可能不可用。在这种情况下,例如,在MPM列表构建期间,经DIMD编解码的块可以被视为帧间块(interblock),这意味着它们实际上被认为是不可用的。
熵编解码可以是一种在视频已经被约减为一系列语法元素之后在视频编码的最后阶段(和视频解码的第一阶段)使用的无损压缩形式。语法元素描述了在解码器处视频序列如何被重构。这包括预测方法(例如,空间或时间预测、帧内预测模式和运动向量)和预测误差,也称为残差。算术编解码是一种熵编解码,它可以通过将符号(即语法元素)有效地映射到具有非整数比特数的码字来达成接近于序列熵的压缩。上下文自适应二进制算术编解码(CABAC)涉及三个主要功能:二值化、上下文建模和算术编解码。二值化将语法元素映射到二进制符号(bin)。上下文建模估计bin的概率。最后,算术编解码根据所估计的概率来将bin压缩为比特。
VVC中使用了几种不同的二值化过程,诸如截断莱斯(TR)二值化过程、截断二进制二值化过程、k阶Exp-Golomb(EGk)二值化过程和定长(FL)二值化过程。
上下文建模提供了实现高编解码效率所需的准确概率估计。因此,它是高度自适应的,并且不同的上下文模型可以被用于不同的bin,并且该上下文模型的概率基于先前被编解码bin的值而被更新。具有相似分布的bin常常共享相同的上下文模型。可以基于语法元素的类型、语法元素中的bin位置(binIdx)、亮度/色度、相邻信息等等来选择用于每个bin的上下文模型。在每个bin之后可以发生上下文切换。
算术编解码可以基于递归区间划分。初始值为0到1的范围基于bin的概率而被划分为两个子区间。经编码的比特提供偏移,当被转换为二进制分数(fraction)时,该偏移选择两个子区间中的一个子区间,这指示经解码的bin的值。在每个经解码的bin之后,范围被更新为等于所选子区间,并且区间划分过程重复自身。范围和偏移具有有限的比特精度,因此只要范围低于某个值,就可以使用重新归一化以防止下溢。在每个bin被解码之后,重新归一化可以发生。可以使用估计概率(上下文编解码的)或假设为0.5的等概率(旁路编解码的)来完成算术编解码。对于旁路编解码的bin,将范围划分为子区间可以通过移位来完成,而查找表可以被用于上下文编解码的bin。
图23是具有大于67个帧内预测模式以捕获在自然视频中呈现的任意边缘方向的帧内模式编码的示意图2300。在一些示例中,定向帧内模式的数目可以从在VVC中使用的67个扩展到129个,而平面和DC模式保持相同。
在一个示例中,预定义IPM可以是具有比常规IPM更密集的方向的IPM(例如,图23中由虚线表示的IPM)。在一个示例中,N1个IPM可以是针对当前块的部分或全部MPM。在一个示例中,不在MPM中的一些预定义帧内预测模式也可以被包含在给定IPM候选集中。
在一个示例中,来自DC/平面/水平/竖直/对角右上/对角左下/对角左上模式的一个或多个IPM可以被包含在给定IPM集中。
在一个示例中,图23中由虚线标示的一个或多个IPM可以被包含在给定IPM集中。
在一个示例中,当由红色虚线标示的一个或多个IPM被包含在给定的IPM集合中时,Nl可以等于或大于N2。
在一个示例中,Nl可以等于或大于N2。
图24-图31图示了可以从一个或多个子模板形成的模板的示例。如下文进一步详细讨论的,可以针对特定块选择用于块的模板。例如,可以基于关于特定块的经解码信息或基于针对特定块的子模板的可用性来选择模板。尽管图示出了多个示例,但是可以基于子模板的不同组合来选择其他模板。
图24是包括左上子模板2420(模板-LA)的模板2400的示例的图解。可以针对块2410选择模板2400,块2410可以具有水平M个样本和竖直N个样本的维度。左上子模板2420可以包括位于块2410左侧并且位于块2410上方的左上相邻样本。左上子模板2420可以具有水平L1个样本和竖直L2个样本的维度。可以针对块2410、包括块2410的切片或包括块2410的图片定义L1和L2。
图25是包括左子模板2440(模板-L)和上子模板2430(模板-A)的模板2500的示例的图解。可以针对块2410选择模板2500,块2410可以具有水平M个样本和竖直N个样本的维度。左子模板2440可以包括位于块2410左侧的样本。左子模板2440可以与块2410的顶部边缘邻接。左子模板2440可以具有水平L1个样本和竖直N个样本的维度。上子模板2430可以包括位于块2410上方的样本。上子模板2430可以与块2410的顶部边缘邻接。上子模板2430可以具有水平M个样本和竖直L2个样本的维度。
图26是包括上子模板2430(模板-A)的模板2600的示例的图解。可以针对块2410选择模板2600,块2410可以具有水平M个样本和竖直N个样本的维度。上子模板2430可以包括位于块2410上方的样本。上子模板2430可以具有水平M个样本和竖直L2个样本的维度。
图27是包括左子模板(模板-L)的模板2700的示例的图解。可以针对块2410选择模板2700,块2410可以具有水平M个样本和竖直N个样本的维度。左子模板2440可以包括位于块2410左侧的样本。左子模板2440可以具有水平L1个样本和竖直N个样本的维度。
图28是包括左子模板2440(模板-L)和左下子模板2450(模板-LB)的模板2800的示例的图解。可以针对块2410选择模板2800,块2410可以具有水平M个样本和竖直N个样本的维度。左子模板2440可以包括位于块2410左侧的样本。左子模板2440可以具有水平L1个样本和竖直N个样本的维度。左下子模板2450可以包括位于块2410左侧并且位于块2410下方的样本。左下子模板2450可以具有水平L1个样本和竖直N个样本的维度。
图29是包括上子模板2430(模板-A)和右上子模板2460(模板-RA)的模板2900的示例的图解。可以针对块2410选择模板2900,块2410可以具有水平M个样本和竖直N个样本的维度。上子模板2430可以包括位于块2410上方的样本。上子模板2430可以具有水平M个样本和竖直L2个样本的维度。右上子模板2460可以包括位于块2410上方和并且位于块2410右侧的样本。右上子模板2460可以具有水平M个样本和竖直L2个样本的维度。
图30是包括左子模板2440、左下子模板2450、上子模板2430和右上子模板2460的模板3000的示例的图解。可以针对块2410选择模板3000,块2410可以具有水平M个样本和竖直N个样本的维度。上子模板2430可以包括位于块2410上方的样本。上子模板2430可以具有水平M个样本和竖直L2个样本的维度。右上子模板2460可以包括位于块2410上方并且右侧的样本。右上子模板2460可以具有水平M个样本和竖直L2个样本的维度。左子模板2440可以包括位于块2410左侧的样本。左子模板2440可以具有水平L1个样本和竖直N个样本的维度。左下子模板2450可以包括位于块2410左侧并且位于块2410下方的样本。左下子模板2450可以具有水平L1个样本和竖直N个样本的维度。
图31是包括左上子模板2420、左子模板2440、左下子模板2450、上子模板2430和右上子模板2460的模板3100的示例的图解。可以针对块2410选择模板3100,块2410可以具有水平M个样本和竖直N个样本的维度。左上子模板2420可以包括位于块2410左侧并且上方的样本。左上子模板2420可以具有水平L1个样本和竖直L2个样本的维度。上子模板2430可以包括位于块2410上方的样本。上子模板2430可以具有水平M个样本和竖直L2个样本的维度。右上子模板2460可以包括位于块2410上方并且右侧的样本。右上子模板2460可以具有水平M个样本和竖直L2个样本的维度。左子模板2440可以包括位于块2410左侧的样本。左子模板2440可以具有水平L1个样本和竖直N个样本的维度。左下子模板2450可以包括位于块2410左侧并且下方的样本。左下子模板2450可以具有水平L1个样本和竖直N个样本的维度。
图32是包括与块间隔开的左上子模板3220、左子模板3240、左下子模板3260、上子模板3230和右上子模板3260的模板3200的示例的图解。可以针对块2410选择示例模板3200,块2410可以具有水平M个样本和竖直N个样本的维度。与图24-图31中的子模板对照而言,图32的子模板可以与块2410间隔开。例如,左上子模板3220、左子模板3240和左下子模板3260可以与块2410水平地间隔开间隙3280。间隙3280可以具有L3个样本的水平维度。左上子模板2420、上子模板2430和右上子模板2460可以与块2410竖直地间隔开间隙3270。间隙3270可以具有L4个样本的竖直维度。在一个方面,子模板3220、3230、3240、3250、3260中的每个子模板可以具有与图24-图31中的对应子模板2420、2430、2440、2450、2460相同的维度。因此,在图32中,子模板3220、3230、3240、3250、3260的位置不同,但是子模板3220、3230、3240、3250、3260的大小可以与图24-图31中的相同。
图33是针对模板3300的模板参考样本3310的示例图解,模板3300包括左上子模板2420、左子模板2440和上子模板2430。可以针对块2410选择示例模板3300,块2410可以具有水平M个样本和竖直N个样本的维度。左上子模板2420可以包括位于块2410左侧并且上方的样本。左上子模板2420可以具有水平L1个样本和竖直L2个样本的维度。上子模板2430可以包括位于块2410上方的样本。上子模板2430可以具有水平M个样本和竖直L2个样本的维度。左子模板2440可以包括位于块2410左侧的样本。左子模板2440可以具有水平L1个样本和竖直N个样本的维度。模板参考样本3310可以是位于模板3300上方的单行样本和位于模板3300左侧的单列样本。该行样本可以具有2(L1+M)+1的长度。该列样本可以具有2(L2+N)+1的高度。
图34是针对包括左子模板2440和上子模板2430的模板2500的示例模板参考样本3410的图解3400。可以针对块2410选择示例模板2500,块2410可以具有M个样本的维度水平和竖直N个样本。上子模板2430可以包括位于块2410上方的样本。上子模板2430可以具有水平M个样本和竖直L2个样本的维度。左子模板2440可以包括位于块2410左侧的样本。左子模板2440可以具有水平L1个样本和竖直N个样本的维度。模板参考样本可以包括一条或多条(例如,行或列)样本。例如,模板参考样本3410可以包括位于模板2500上方的单行样本和位于模板2500左侧的单列样本。该行样本可以具有2(L1+M)+1的长度。该列样本可以具有2(L2+N)+1的高度。
图35是针对包括上子模板2430的模板2600的示例模板参考样本3510的图解3500。模板参考样本3510可以是位于模板2600上方的单行样本和位于模板2600左侧的单列样本。样本的行可以具有2M+1的长度。样本的列可以具有2(L2+N)+1的高度。
图36是针对包括左子模板2440的模板2700的示例模板参考样本3610的图解3600。模板参考样本3610可以是位于模板2700上方的单行样本和位于模板2700左侧的单列样本。该行样本可以具有2(L1+M)+1的长度。该列样本可以具有2N+1的高度。
图37是针对包括上子模板2430的模板2600的示例模板参考样本3710的图解3700。模板参考样本3710可以是位于模板2600上方的单行样本和位于模板2600左侧的单列样本。该行样本可以具有2(L1+M)+1的长度。该列样本可以具有2(L2+N)+1的高度。因为模板2600不包括左上子模板2420或左子模板2440,所以该列样本可以与模板2600间隔开宽度为L1的水平间隙3720。
图38是针对包括左子模板2440的模板2700的示例模板参考样本3810的图解3800。模板参考样本3810可以是位于模板2700上方的单行样本和位于模板2700左侧的单列样本。该行样本可以具有2(L1+M)+1的长度。该列样本可以具有2(L2+N)+1的高度。因为模板2700不包括左上子模板2420或上子模板2430,所以该行样本可以与模板2700间隔开高度为L2的竖直间隙3820。
图39是针对包括上子模板2430和左子模板2440的模板2500的示例模板参考样本3910的图解3900。模板参考样本3910可以包括位于模板2500左侧的单列样本。该列样本可以具有2(L2+N)+1的高度。代替单行模板参考样本,该行的一部分3920可以被移动到第二行中与左子模板2440邻接的位置3930。部分3920可以包括L1个样本。第一行中的其余部分可以具有2M+L1+1的长度。在一个方面,选择与模板内所包括的子模板邻接的模板参考样本可以改进模板的预测。
图40是针对包括上子模板2430和左子模板2440的模板2500的示例模板参考样本4010的图解4000。模板参考样本4010可以包括位于模板2500上方的单行样本。该行样本可以具有2(L1+M)+1的长度。代替单列模板参考样本,该列的一部分4020可以被移动到第二行中与上子模板2430邻接的位置4030。部分4020可以包括L2个样本。第一列中的其余部分可以具有2N+L2+1的高度。在一个方面,选择与模板内所包括的子模板邻接的模板参考样本可以改进模板的预测。在另一方面,部分3920和部分4020二者都可以分别被移动到位置3930和位置4030。
图41图示了用于执行视频解码的系统4100的示例。系统4100可以包括计算设备4102,其经由处理器4104和/或存储器4106对解码组件4108的、视频解码器124、视频解码器300或HEVC视频编码器和解码器400的执行来执行视频解码。解码组件4108可以接收编码比特流4146。解码组件4108可以执行解码操作(例如,熵解码)以确定可以被提供给可变模板帧内预测单元4110的块信息,可变模板帧内预测单元4110可以包括模板选择单元4120、IPM导出单元4130、最终预测子单元4140和转换单元4150中的一项或多项。
模板选择单元4120可以接收针对当前块的块信息。针对先前重构的块的块信息,包括其重构的样本,可以被存储在缓冲器4160中。模板选择单元4120可以针对当前块选择一个或多个子模板以形成用于DIMD的所选模板。一个或多个子模板可以从包括本文描述的示例子模板中的任何示例子模板的多个子模板中被选择。例如,在一个实现中,一个或多个子模板可以从左上子模板2420、上子模板2430、左子模板2440、左下子模板2450、以及右上子模板2460中被选择。所选模板可以是所选子模板的组合。模板选择单元4120可以基于针对当前块的经解码的信息来选择一个或多个子模板。模板选择单元4120可以确定针对当前块的多个子模板中的哪些子模版已经被重构。模板选择单元4120可以基于针对当前块的经解码的信息来确定所选模板的维度。模板选择单元4120可以将所选模板提供给IPM导出单元4130、4230。
IPM导出单元4130可以基于所选模板和当前块来确定使用多个候选IPM中的每个候选IPM来预测模板区域中的样本的成本。例如,IPM导出单元4130可以确定模板的重构的样本和候选IPM所预测的模板的预测样本之间的以下一项或多项:绝对变换差总和(SATD)、平方误差总和(SSE)、主观质量度量或结构相似性索引测量(SSIM)。在一些示例中,IPM导出单元4130可以分别确定每个子模板的预测样本。在一些示例中,IPM导出单元4130可以分开确定每个子模板的成本并且将成本求和以确定针对所选模板的最终成本。在一些示例中,IPM导出单元4130可以对所选模板中的样本进行下采样并且基于经下采样的的所选模板来计算成本。在一些示例中,IPM导出单元4130可以基于所选模板来确定与所选模板相邻的一条或多条模板参考样本。在一些示例中,IPM导出单元4130可以用以下中的一项来替换不可用的模板参考样本:最靠近的可用模板参考样本、基于已定义公式的值、或者被生成的值。
IPM导出单元4130可以基于成本从多个候选IPM中选择导出的IPM。例如,IPM导出单元4130可以选择最佳成本,该最佳成本取决于成本度量而可以是最低成本或最高成本。IPM导出单元4130可以将导出的IPM提供给最终预测子单元4140。
最终预测子单元4150可以基于至少一个IPM来确定当前视频块的最终预测子。例如,最终预测子单元4140可以使用导出的IPM利用帧内预测来预测当前块中的样本。例如,最终预测子单元4140可以使用上述技术中的任何技术来预测当前块中的样本。最终预测子单元4140可以将预测样本作为预测块提供给转换单元4150,转换单元4150可以将预测块与由残差解码单元4170确定的残差块组合(例如,求和)。重构的块可以被存储在缓冲器4160中以被用作用于预测其他块的参考样本。当所有块都被重构时,帧或图片可以从缓冲器4160被读出作为多个视频帧4142中的一个视频帧。
图42图示了用于执行视频编码的系统4200的示例。系统4200可以包括计算设备4202,其经由处理器4204和/或存储器4206对编码组件4210的、视频编码器114、视频编码器200或HEVC视频编码器和解码器400的执行来执行视频编码。系统4200可以接收多个视频帧4242作为输入并且输出经编码的比特流4246。在一个方面,编码组件4210可以包括以下至少一项:模板选择单元4220,用于在视频的当前视频块与比特流之间的转换期间从多个子模板构建针对当前视频块的至少一个模板集;IPM导出单元4230,用于基于成本计算来导出至少一个帧内预测模式(IPM);最终预测子单元4240,用于基于至少一个IPM来确定当前视频块的最终预测子。在示例中,编码组件4210还可以包括用于基于最终预测子来执行转换的转换单元4250。
图43是处理视频数据的示例方法4300的流程图。例如,方法4300可以被用于将视频编码为比特流或者将比特流解码为视频。视频可以包括多个帧,每个帧包括样本块。可以针对至少当前视频块来执行方法4300。方法4300可以由诸如包括可变模板帧内预测单元4110的系统4100的视频解码器或者诸如包括编码组件4210的系统4200的视频编码器来执行。
在框4310处,方法4300可以包括:在视频的当前视频块与视频的比特流之间的转换期间,从多个子模板构建针对当前视频块的至少一个模板集。一个或多个子模板可以从包括以下的多个子模板中选择:左子模板、上子模板、右上子模板、左下子模板和左上子模板。左子模板2440、3240(例如,模板-L)包括左相邻样本,上子模板2430、3230(例如,模板-A)包括上相邻样本,右上子模板2460、3260(例如,模板-RA)包括右上相邻样本,左下子模板2450、3250(例如,模板-LB)包括左下相邻样本,以及左上子模板2420、3220(例如,模板-LA)包括左上相邻样本。在一个方面,例如,模板选择单元4120可以选择一个或多个子模板以形成所选模板(例如,模板2400、2500、2600、2700、2800、2900、3000、3100、3200)。在一个方面,针对每个候选IPM执行:选择一个或多个子模板以形成所选模板。
在一个示例中,上子模板可以与当前块不邻接(例如,图32)。在一个示例中,选择单个子模板。例如,单个子模板可以指模板-L,或模板-A,或模板-RA,或模板-LB,或模板-LA。在一个示例中(例如,图27),可以选择模板-L。在一个示例中(例如,图26),可以选择模板-A。在一个示例中,可以选择多个子模板。例如(例如,图25),可以选择模板-L和模板-A的组合。在另一个示例中,可以选择模板-L、模板-A和模板-LA的组合。在一个示例中(例如,图28),可以选择模板-L和模板-LB的组合。在一个示例中(例如,图29),可以选择模板-A和模板-RA的组合。在一个示例中(例如,图30),可以选择模板-L、模板-LB、模板-A和模板-RA的组合。在一个示例中(例如,图31),可以选择模板-L、模板-LB、模板-A、模板-RA和模板-LA的组合。
在一个方面,在子框4312处,框4310可以可选地包括基于针对当前块的经解码的信息来选择一个或多个子模板。选择可以即时发生,也就是说,在解码过程期间针对每个块发生。在一个示例中,选择子模板可以取决于针对当前块的经解码的信息。例如,经解码的信息可以指的是块维度和/或块形状。在一个方面,模板-L可以不被用于宽块并且模板-A可以不被用于高块。例如,块宽度可以被标示为BW并且块高度可以被标示为BH。在一个示例中,当BW/BH>=T1时,模板-L可以不被用于块,其中T1是已配置的阈值。例如,T1可以是整数,诸如T1=4或T1=8,或者T1可以不是整数。在一个示例中,当BH/BW>=T2时,模板A可以不被用于块,其中T2是已配置的阈值。例如,T2可以是整数,诸如T2=4或T2=8,或者T2可以不是整数。在一个示例中,T1可以等于T2。在一个示例中,T1可以不等于T2。在一个示例中,T1可以小于T2。备选地,T1可以大于T2。在一个示例中,选择子模板可以取决于被用信号发送的语法元素。例如,经解码的语法元素可以指示一个或多个子模板。
在一个方面,在子框4314处,框4310可以可选地包括确定针对当前块的多个子模板中的哪些子模板已经被重构。在针对当前块的子模板已经被重构时,模板的重构的样本可以是可用的。在一个示例中,当一个或多个子模板(例如,2420、2430、2440、2450、2460)不可用时,可以选择其他模板。例如,子模板可能在图片边缘附近不可用。在一个示例中,在当前块左侧的子模板(例如,模板-L、模板-LA和/或模板-LB)不可用时,在当前块上方的子模板(例如,模板-A或/和模板-RA可以被选择。在一个示例中,在当前块上方的模板(例如,模板-A、模板-LA和/或模板-RA不可用时,在当前块左侧的模板(例如,模板-L或模板-LB)可以被选择。在一个方面,当所有模板都不可用时,DIMD可以不被应用于当前块和/或没有IPM可被导出以用于当前块。在另一方面,当所有模板都不可用时,可以使用预定义IPM。预定义IPM可以指的是DC、平面、水平模式或竖直模式。
在框4320处,方法4300可以可选地包括基于针对当前块的解码信息来确定所选模板的维度。例如,模板选择单元4120可以基于针对当前块的解码信息(例如,块维度,或/和块形状,或/和切片/图片类型)来确定所选模板的维度(例如,M、N、L1、L2)。如图24-图31中所图示,模板-L、模板-A、模板-RA、模板-LB、模板-LA的维度分别可以是L1×BH、BW×L2、BW’×L2、L1×BH’和L1×L2。BW’可以表示模板-RA的宽度,BH’可以表示模板-LB的高度。在一个示例中,BW’=BW或BH,并且BH’=BH或BW。在一个示例中,L1或/和L2可以是预定义值。在一个示例中,L1可以等于L2(即,L1=L2=V1,其中V1是整数,诸如V1=3、5、6、7或8)。在一个示例中,L1可以小于L2。在一个示例中,L1可以大于L2。在一个示例中,L1和/或L2的值可以取决于切片类型。例如,针对I切片的L1或/和L2的值可以不小于针对经帧间编码的切片(例如,P/B切片)的值。备选地,针对I切片的L1或/和L2的值可以大于针对经帧间编码的切片(例如,P/B切片)的值。在一个示例中,L1和/或L2可以取决于当前块的维度。例如,当BH小于或等于T1时,L1可以被设置为等于A1;当BH大于T1时,L1可以被设置为等于A2。在一些实现中,A1可以小于或等于A2。例如,A1=2且A2=4,或A1=1且A2=2。在一些实现中,A1可以大于A2。在一个示例中,当BW小于或等于T2时,L2可以被设置为等于B1;当BW大于T2时,L2可以被设置为等于B2。在一些实现中,B1可以小于或等于B2,诸如B1=2、B2=4或B1=1、B2=2。在一些实现中,B1可以大于B2。在一个示例中,当BW小于或等于已配置的阈值T3时,L1可以被设置为等于C1;当BW大于T3时,L1可以被设置为等于C2。在一个示例中,当BH小于或等于已配置的阈值T4时,L2可以被设置为等于D1;当BH大于T4时,L2可以被设置为等于D2。在一个示例中,当BW×BH小于或等于已配置的阈值T5时,L1可以被设置为等于E1,并且L2可以被设置为等于E2;当BW×BH大于T5时,L1可以被设置为等于E3,并且L2可以被设置为等于E4。在一个示例中,E1可以等于E2,或/和E3可以等于E4。在一个示例中,E1可以小于E2,或/和E3可以小于E4,诸如E1=2,E2=4,E3=2,E4=4,或E1=1,E2=2,E3=1,E4=2。在一个示例中,L1或/和L2可以由被用信号发送的语法元素来确定。
在框4330处,方法4300可以包括基于成本计算来导出至少一个帧内预测模式(IPM)。在一个方面,例如,IPM导出单元4130、4240可以基于所选模板和当前块来确定使用多个候选IPM中的每个候选IPM来预测模板区域中的样本的成本。例如,在子框4332处,框4330可以可选地包括确定模板的重构的样本和由候选IPM预测的模板的预测样本之间的以下一项:绝对变换差总和(SATD)、平方误差总和(SSE)、主观质量度量或结构相似性索引测量(SSIM)。例如,IPM导出单元4130、4230可以针对每个候选IPM确定模板的预测样本。在一个方面,因为所选模板的样本已经被重构,所以IPM导出单元4130、4230可以将模板的预测样本与模板的重构的样本相比较以确定成本。成本可以用D+lambda×R的形式被计算,其中D是失真的度量(诸如SAD、SATD、SSE等),R表示所考虑的比特数目,而lambda是预定义因子。在一个方面,在针对不同IPM选择了不同模板的情况下,成本可以通过除以针对每个IPM所使用的模板中的样本中的总数目而被归一化。IPM导出单元4130、4230可以选择具有最佳成本的候选IPM。当成本度量是SATD、SSE或SAD时,最佳成本可以是最低成本。当成本度量是主观质量度量或SSIM时,最佳成本度量可以是最高值。
例如,在子框4334处,框4330可以可选地包括单独地确定每个子模板的预测样本。
例如,在子框4336处,框4330可以可选地包括单独地确定每个子模板的成本并且对成本求和以确定所选模板的最终成本。在一个示例中,可以使用子模板的成本来得到最终成本。在一个示例中,可以在对每个子模板的成本求和时使用权重。在一个示例中,J=w1×J1+w2×J2+w3×J3+…+wM×JM,其中Ji和wi标示第i个模板的成本和权重,并且J标示最终成本。在一个示例中,模板-A或/和模板-L比其他模板具有更大的权重。在一个示例中,权重可以取决于当前块的块维度或/和块形状。在一个示例中,每个模板的成本可以通过除以模板中的样本数目来被归一化。
例如,在子框4338处,框4330可以可选地包括对所选模板中的样本进行下采样并且基于经下采样的的所选模板来计算成本。下采样可以指的是使用部分样本来计算成本。例如,可以先对所选模板用比例S进行下采样,并且经下采样的的模板中的样本可以被用来计算成本。在一个示例中,S=1/2或1/4。
例如,在子框4340处,框4330可以可选地包括基于所选模板来确定与所选模板相邻的一条或多条模板参考样本。在一个示例中,与所选模板相邻的一条或多条(例如,行或列)模板参考样本可以被使用。模板参考样本的示例在图33-图40中被图示。在一个示例中,与所选模板相邻的多条模板参考样本可以被使用。在一个示例中,与模板相邻的N条模板参考样本可以被使用来导出模板的预测,其中N是大于1的整数。在一个示例中,N条模板参考样本中的一条模板参考样本可以被使用。在一个示例中,要使用N条模板参考样本中的哪一条可以隐式地被导出。在一个示例中,要使用N条模板参考样本中的哪一条可以利用语法元素被用信号发送。在一个示例中,要使用N条模板参考样本中的哪一条可以从MRL中所使用的参考线的索引继承。在一个示例中,与模板相邻的N条模板参考样本首先被下采样为一条,并且经下采样的的那条可以被用作参考。在一个示例中,针对每个模板的模板参考样本的条数目可以不同。在一个示例中,模板参考样本的条数目可以取决于经解码的信息,诸如当前块是否位于CTU边界、当前块的维度或形状、或/和切片或图片类型。
在一个示例中,可以使用可用的模板参考样本来填充不可用的模板参考样本。在一个示例中,可以使用最靠近的可用模板参考样本来填充不可用的模板参考样本。在一个示例中,不可用的模板参考样本可以由相同的值填充。在一个示例中,不可用的模板参考样本可以填充有预定义的值V1,诸如V1=2^(比特深度-1),其中比特深度是样本的比特深度。例如,对于不同的颜色分量,比特深度可以不同。在一个示例中,可以根据与可用模板样本的距离而使用不同的值来填充不可用的模板样本。在一个示例中,不可用的模板参考样本可以由一些被生成的值来替换。例如,可以使用与HEVC或VVC中相同的参考样本替换过程来填充这些样本。
在框4350处,方法4300可以包括基于至少一个IPM来确定当前视频块的最终预测子。例如,最终预测子单元4140、4240可以基于至少一个IPM来确定当前视频块的最终预测子。例如,最终预测子单元4140、4240可以使用导出的IPM利用帧内预测来预测当前块中的样本。在一个方面,例如,最终预测子单元4140、4240可以使用导出的IPM利用帧内预测来预测当前块中的样本。例如,最终预测子单元4140、4240可以基于导出的IPM来确定参考样本的位置。参考样本可以位于所选模板内。
在框4360处,方法4300可以包括基于最终预测子来执行转换。例如,转换单元4250可以基于最终预测子来执行转换。
在一个方面,是否和/或如何应用以上公开的方法可以以序列级别、图片级别、切片级别或瓦块组级别来被用信号发送,诸如以序列报头、图片报头、SPS、VPS、DPS、DCI、PPS、APS、切片报头或瓦块组报头。在一个方面,是否和/或如何应用以上公开的方法可以在PU、TU、CU、VPDU、CTU、CTU行、切片、瓦块或子图片处被信号发送。在一个方面,是否和/或如何应用以上公开的方法可以取决于编解码信息,诸如块大小、颜色格式、单/双树分割、颜色分量、切片类型或图片类型。
以下条款描述了一些实施例和技术。
1.一种处理视频数据的方法,包括:
在视频的当前视频块与视频的比特流之间的转换期间,从多个子模板构建针对当前视频块的至少一个模板集;
基于成本计算,导出至少一个帧内预测模式(IPM);
基于至少一个IPM,确定当前视频块的最终预测子;以及
基于最终预测子来执行转换。
2.根据条款1所述的方法,其中多个子模板包括以下至少一项:左子模板、上子模板、右上子模板、左下子模板以及左上子模板。
3.根据条款1所述的方法,其中多个子模板包括当前视频块的非邻接样本。
4.根据条款1所述的方法,其中至少一个模板集包括单个子模板,并且其中单个子模板是以下中的一项:左子模板、上子模板、右上子模板、左下子模板或左上子模板。
5.根据条款1所述的方法,其中至少一个模板集包括以下任何一项:
a)左子模板和上子模板;
b)左子模板、上子模板和左上子模板;
c)左子模板和左下子模板;
d)上子模板和右上子模板;
e)左子模板、左下子模板、上子模板和右上子模板;或者
f)左子模板、左下子模板、上子模板、右上子模板和左上子模板。
6.根据条款1所述的方法,其中至少一个模板集基于针对当前块的编解码信息从多个子模板被选择,其中编解码信息包括块维度或块形状。
7.根据第6条所述的方法,其中至少一个模板集基于维度与预定义阈值之间的关系而从多个子模板被选择,并且其中BW表示当前视频块的块宽度,BH表示当前视频块的块高度。
8.根据条款7所述的方法,其中在BW除以BH大于或等于第一阈值的情况下左子模板不被选择。
9.根据条款8所述的方法,其中在BH除以BW大于或等于第二阈值的情况下上子模板不被选择。
10.根据条款1所述的方法,其中多个子模板中的一个子模版的维度基于以下中至少一项:
a)当前视频块的维度;
b)当前视频块的块形状;
c)当前视频块的切片类型;或
d)当前视频块的图片类型。
11.根据条款10所述的方法,其中多个子模板中的一个子模版的维度是以下中的一项:L1×BH、BW×L2、BW’×L2、L1×BH’或L1×L2,其中L1是高度,L2是宽度,BW和BH分别表示当前视频块的宽度和高度,分别地,BW’表示右上子模板的宽度并且BH’表示左下子模板的高度,并且其中BW’等于BW或BH,并且BH’等于BH或BW,并且L1或L2是预定义值。
12.根据条款11所述的方法,其中L1和L2的值取决于当前视频块的切片类型或者当前视频块的维度。
13.根据条款11所述的方法,其中L1和L2的值与在比特流中呈现的第一语法元素相关。
14.根据条款13所述的方法,其中从多个子模板构建至少一个模板集还与在比特流中呈现的第二语法元素相关。
15.根据条款1所述的方法,其中构建至少一个模板集是基于多个子模板的可用性。
16.根据条款15所述的方法,其中响应于多个子模板不可用,无模板集被构建并且无IPM被导出。
17.根据条款16所述的方法,其中当前视频块的最终预测子基于预定义IPM而被确定,并且其中预定义IPM是以下中的一项:DC模式、平面模式、水平模式或竖直模式。
18.根据条款1所述的方法,其中转换包括从比特流中解码当前视频块。
19.根据条款1所述的方法,其中转换包括将当前视频块编码到比特流中。
20.一种用于处理视频数据的装置,包括处理器和在其上具有指令的非瞬态存储器,其中指令在被处理器执行时使处理器:
在视频的当前视频块与视频的比特流之间的转换期间,从多个子模板构建针对当前视频块的至少一个模板集;
基于成本计算,导出至少一个帧内预测模式(IPM);
基于至少一个IPM,确定当前视频块的最终预测子;以及
基于最终预测子来执行转换。
21.一种非瞬态计算机可读记录介质,其存储由视频处理设备执行的方法所生成的视频的比特流,其中该方法包括:
在视频的当前视频块与视频的比特流之间的转换期间,从多个子模板构建针对当前视频块的至少一个模板集;
基于成本计算,导出至少一个帧内预测模式(IPM);
基于至少一个IPM,确定当前视频块的最终预测子;以及
基于最终预测子来生成比特流。
22.一种存储指令的非瞬态计算机可读存储介质,该指令使处理器:
在视频的当前视频块与视频的比特流之间的转换期间,从多个子模板构建针对当前视频块的至少一个模板集;
基于成本计算,导出至少一个帧内预测模式(IPM);
基于至少一个IPM,确定当前视频块的最终预测子;以及
基于最终预测子来执行转换。
23.一种处理视频数据的方法,包括:
在视频的当前视频块与视频的比特流之间的转换期间,从多个子模板构建针对当前视频块的至少一个模板集;
基于至少一个模板集的部分或全部样本来执行成本计算,其中成本计算还基于至少一个模板集的部分或全部的重构的样本与对应的预测样本之间的计算规则;
基于成本计算,导出至少一个帧内预测模式(IPM);
基于至少一个IPM,确定当前视频块的最终预测子;以及
基于最终预测子来执行转换。
24.根据条款23所述的方法,其中计算规则是以下规则中的一个规则:
1)绝对变换差总和(SATD)规则;
2)平方误差总和(SSE)规则;
3)绝对差总和(SAD)规则;
4)主观质量度量规则;
5)结构相似性索引测量(SSIM)规则。
25.根据条款23所述的方法,其中所述成本计算规则基于失真的度量加上已定义的加权因子乘以所考虑的比特数目,其中失真的度量是SAD、SATD和SSE之一。
26.根据条款23所述的方法,其中执行成本计算包括:
分别确定每个子模板的成本;以及
通过对每个子模板的成本求和来导出最终成本,其中每个子模板的成本具有对应的权重。
27.根据条款26所述的方法,其中上子模板或左子模板具有最大权重。
28.根据条款26所述的方法,其中相应权重取决于当前视频块的块维度或块形状。
29.根据条款26所述的方法,其中每个子模板的成本通过将每个子模板的成本除以每个子模板中的样本数目而被归一化。
30.根据条款23所述的方法,其中成本计算基于至少一个模板集的部分样本的下采样样本而被执行。
31.根据条款23所述的方法,其中针对预定义IPM选择相同的子模板。
32.如第23条所述的方法,其中针对不同的IPM选择不同的子模板。
33.一种用于处理视频数据的装置,包括处理器和在其上具有指令的非瞬态存储器,其中该指令在被处理器执行时使处理器:
在视频的当前视频块与视频的比特流之间的转换期间,从多个子模板构建针对当前视频块的至少一个模板集;
基于至少一个模板集的部分或全部样本来执行成本计算,其中成本计算还基于至少一个模板集的部分或全部的重构的样本与对应的预测样本之间的计算规则;
基于成本计算,导出至少一个帧内预测模式(IPM);
基于至少一个IPM,确定当前视频块的最终预测子;以及
基于最终预测子来执行转换。
34.一种存储由视频处理设备执行的方法所生成的视频比特流的非瞬态计算机可读记录介质,其中该方法包括:
在视频的当前视频块与视频的比特流之间的转换期间,从多个子模板构建针对当前视频块的至少一个模板集;
基于至少一个模板集的部分或全部样本来执行成本计算,其中成本计算还基于至少一个模板集的部分或全部的重构的样本与对应的预测样本之间的计算规则;
基于成本计算,导出至少一个帧内预测模式(IPM);
基于至少一个IPM,确定当前视频块的最终预测子;以及
基于最终预测子来执行转换。
35.一种存储指令的非瞬态计算机可读存储介质,该指令使处理器:
在视频的当前视频块与视频的比特流之间的转换期间,从多个子模板构建针对当前视频块的至少一个模板集;
基于至少一个模板集的部分或全部样本来执行成本计算,其中成本计算还基于至少一个模板集的部分或全部重构的样本与对应的预测样本之间的计算规则;
基于成本计算,导出至少一个帧内预测模式(IPM);
基于至少一个IPM,确定当前视频块的最终预测子;以及
基于最终预测子来执行转换。
36.一种处理视频的方法,其中视频包括多个帧,每个帧包括样本的块,该方法包括至少针对当前块:
在视频的当前块与视频的比特流之间的转换期间,选择针对当前块的所选模板;
确定使用多个候选帧内预测模式(IPM)中的每个IPM来预测模板区域中的样本的成本,其中确定使用多个候选IPM中的每个候选IPM来预测样本的成本包括:基于所选模板来确定与所选模板相邻的一条或多条模板参考样本;
基于成本从多个候选IPM中选择导出的IPM;以及
使用导出的IPM利用帧内预测来预测当前块中的样本;以及
基于预测来执行转换。
37.根据条款36所述的方法,其中一条或多条模板参考样本包括所选模板上方的水平行和所选模板左侧的竖直列。
38.根据条款36所述的方法,其中一条或多条模板参考样本包括N条平行行或列,其中N是大于1的整数。
39.根据条款38所述的方法,其中使用导出的IPM利用帧内预测来预测当前块中的样本包括选择N条中的一条。
40.根据条款39所述的方法,其中选择N条中的一条包括隐式地导出一条。
41.根据条款39所述的方法,其中选择N条中的一条与在比特流中呈现的语法元素相关。
42.根据条款39所述的方法,其中N条中的一条是从用于多参考线(MRL)的参考线的索引所继承的。
43.根据条款38所述的方法,还包括对一条或多条进行下采样以导出单个条。
44.根据条款38所述的方法,其中模板参考样本的条的数目基于所选模板。
45.根据条款44所述的方法,其中模板参考样本的条的数目基于当前块的经编解码的信息。
46.根据第36条所述的方法,其中确定一条或多条模板参考样本包括用可用参考样本替换不可用的模板参考样本。
47.根据条款46所述的方法,其中可用模板参考样本是最靠近的可用模板参考样本。
48.根据条款46所述的方法,其中可用模板参考样本是预定义值,或者是基于已定义公式的值。
49.根据条款48所述的方法,其中已定义公式基于颜色分量的比特深度。
50.根据条款48所述的方法,其中已定义公式基于与可用模板参考样本的距离。
51.根据条款46所述的方法,其中可用模板参考样本是基于参考样本替换过程而被生成的。
52.根据条款36所述的方法,还包括在序列级别、图片级别、切片级别或瓦块组级别接收指示是否或如何选择模板的信令。
53.根据条款36所述的方法,还包括以PU、TU、CU、VPDU、CTU、CTU行、切片、瓦块或子图片处接收指示是否或如何选择模板的信令。
54.根据条款36所述的方法,其中是否或如何选择模板取决于包括以下至少一项的经编解码的信息:块大小、颜色格式、单树或双树分割、颜色分量、切片类型或图片类型。
55.一种用于处理视频数据的装置,包括处理器和在其上具有指令的非瞬态存储器,其中该指令在由处理器执行时使处理器:
在视频的当前块与视频的比特流之间的转换期间,选择针对当前块的所选模板;
确定使用多个候选帧内预测模式(IPM)中的每个候选IPM来预测模板区域中的样本的成本,其中确定使用多个候选IPM中的每个候选IPM来预测样本的成本包括:基于所选模板来确定与所选模板相邻的一条或多条模板参考样本;
基于成本从多个候选IPM中选择导出的IPM;以及
使用导出的IPM利用帧内预测来预测当前块中的样本;以及
基于预测来执行转换。
56.一种存储由视频处理设备执行的方法所生成的视频比特流的非瞬态计算机可读记录介质,其中该方法包括:
在视频的当前块与视频的比特流之间的转换期间,选择针对当前块的所选模板;
确定使用多个候选帧内预测模式(IPM)中的每个候选IPM来预测模板区域中的样本的成本,其中确定使用多个候选IPM中的每个候选IPM来预测样本的成本包括:基于所选模板来确定与所选模板相邻的一条或多条模板参考样本;
基于成本从多个候选IPM中选择导出的IPM;
使用导出的IPM利用帧内预测来预测当前块中的样本;以及
基于预测来执行转换。
57.一种存储指令的非瞬态计算机可读存储介质,该指令使处理器:
在视频的当前块与视频的比特流之间的转换期间,选择针对当前块的所选模板;
确定使用多个候选帧内预测模式(IPM)中的每个候选IPM来预测模板区域中的样本的成本,其中确定使用多个候选IPM中的每个候选IPM来预测样本的成本包括:基于所选模板来确定与所选模板相邻的一条或多条模板参考样本;
基于成本从多个候选IPM中选择导出的IPM;
使用导出的IPM利用帧内预测来预测当前块中的样本;以及基于预测来执行转换。
虽然前述公开讨论了说明性方面和/或实施例,但是应当注意,在不脱离由所附权利要求限定的所描述的各方面和/或实施例的范围的情况下,可以在本文中进行各种改变和修改。此外,尽管所描述的各方面和/或实施例的元件可以以单数形式描述或要求保护,但是除非明确陈述限制为单数,否则复数形式也是可预期的。此外,除非另有陈述,否则任何方面和/或实施例的全部或一部分可以与任何其他方面和/或实施例的全部或一部分一起使用。
提供先前的描述以使得本领域普通技术人员能够实践本文描述的各个方面。对这些方面的各种修改对于本领域普通技术人员来说将是明显的,并且本文所定义的一般原理可以被应用于其他方面。权利要求并不旨在局限于本文所示出的各方面,而是应符合与权利要求的语言一致的全部范围,其中除非特别如此陈述,否则对单数形式的元素的引用并不旨在意指“一个且仅一个”,而是“一个或多个”。除非另有特别陈述,否则术语“一些”是指一个或多个。诸如“A、B或C中的至少一个”、“A、B或C中的一个或多个”、“A、B和C中的至少一个”、“A、B、C中的一个或多个”和“A、B、C或其任意组合”之类的组合包括A、B或C的任何组合,并且可以包括多个A、多个B或多个C。具体地,诸如“A、B或C中的至少一个”、“A、B或C中的一个或多个”、“A、B和C中的至少一个”、“A、B和C中的一个或多个”和“A、B、C或其任何组合”之类的组合可以是仅A,仅B,仅C,A和B,A和C,B和C,或A和B和C,其中任何此类组合可以包含一个或多个成员的A、B或C。本领域的普通技术人员已知的或稍后已知的本公开中描述的各个方面的元素的所有结构和功能等效物通过引用明确地并入本文并且旨在被权利要求所涵盖。此外,无论权利要求中是否明确引用了此类公开,本文所公开的任何内容均不旨在专供公众使用。“模块”、“机制”、“元件”、“设备”等词语可能不能代替“部件(means)”一词。如此,除非使用短语“部件,用于”明确叙述该元件,否则任何权利要求元素均不得被解释为部件加功能。

Claims (22)

1.一种处理视频数据的方法,包括:
在视频的当前视频块与所述视频的比特流之间的转换期间,从多个子模板构建针对所述当前视频块的至少一个模板集;
基于成本计算,导出至少一个帧内预测模式IPM;
基于所述至少一个IPM,确定所述当前视频块的最终预测子;以及
基于所述最终预测子来执行所述转换。
2.根据权利要求1所述的方法,其中所述多个子模板包括以下至少一项:左子模板、上子模板、右上子模板、左下子模板以及左上子模板。
3.根据权利要求1所述的方法,其中所述多个子模板包括所述当前视频块的非邻接样本。
4.根据权利要求1所述的方法,其中所述至少一个模板集包括单个子模板,并且其中所述单个子模板是以下中的一项:左子模板、上子模板、右上子模板、左下子模板、或者左上子模板。
5.根据权利要求1所述的方法,其中所述至少一个模板集包括以下任一项:
a)左子模板和上子模板;
b)左子模板、上子模板和左上子模板;
c)左子模板和左下子模板;
d)上子模板和右上子模板;
e)左子模板、左下子模板、上子模板和右上子模板;或者
f)左子模板、左下子模板、上子模板、右上子模板和左上子模板。
6.根据权利要求1所述的方法,其中所述至少一个模板集是基于针对所述当前视频块的编解码信息从所述多个子模板中被选择的,其中所述编解码信息包括所述当前视频块的块维度或者所述当前视频块的块形状。
7.根据权利要求6所述的方法,其中所述至少一个模板集是基于所述维度与预定义阈值之间的关系而从所述多个子模板中被选择的,并且其中BW表示所述当前视频块的块宽度,并且BH表示所述当前视频块的块高度。
8.根据权利要求7所述的方法,其中在所述BW除以所述BH大于或等于第一阈值的情况下,左子模板不被选择。
9.根据权利要求8所述的方法,其中在所述BH除以所述BW大于或等于第二阈值的情况下,上子模板不被选择。
10.根据权利要求1所述的方法,其中所述多个子模板中的一个子模版的维度基于以下至少一项:
a)所述当前视频块的维度;
b)所述当前视频块的块形状;
c)所述当前视频块的切片类型;或者
d)所述当前视频块的图片类型。
11.根据权利要求10所述的方法,其中所述多个子模板中的一个子模板的维度是以下中的一项:L1×BH、BW×L2、BW’×L2、L1×BH’或L1×L2,其中L1是高度,L2是宽度,BW和BH分别表示所述当前视频块的宽度和高度,分别地,BW’表示右上子模板的宽度并且BH’表示左下子模板的高度,并且其中BW’等于BW或BH,并且BH’等于BH或BW,并且L1或L2是预定义值。
12.根据权利要求11所述的方法,其中L1和L2的值取决于所述当前视频块的切片类型或者所述当前视频块的维度。
13.根据权利要求11所述的方法,其中L1和L2的值与在所述比特流中呈现的第一语法元素相关。
14.根据权利要求13所述的方法,其中从多个子模板构建至少一个模板集还与在所述比特流中呈现的第二语法元素相关。
15.根据权利要求1所述的方法,其中从多个子模板构建至少一个模板集还与在所述比特流中呈现的第二语法元素有关。
16.根据权利要求15所述的方法,其中响应于所述多个子模板不可用,无模板集被构建并且无IPM被导出。
17.根据权利要求16所述的方法,其中所述当前视频块的所述最终预测子基于预定义IPM被确定,并且其中所述预定义IPM是以下中的一项:DC模式、平面模式、水平模式或竖直模式。
18.根据权利要求1所述的方法,其中所述转换包括从所述比特流解码所述当前视频块。
19.根据权利要求1所述的方法,其中所述转换包括将所述当前视频块编码到所述比特流中。
20.一种用于处理视频数据的装置,包括处理器和在其上具有指令的非瞬态存储器,其中所述指令在由所述处理器执行时使所述处理器:
在视频的当前视频块与所述视频的比特流之间的转换期间,从多个子模板构建针对所述当前视频块的至少一个模板集;
基于成本计算,导出至少一个帧内预测模式IPM;
基于所述至少一个IPM,确定所述当前视频块的最终预测子;以及
基于所述最终预测子来执行所述转换。
21.一种非瞬态计算机可读记录介质,存储视频的比特流,所述视频的比特流由视频处理装置执行的方法所生成,其中所述方法包括:
在视频的当前视频块与所述视频的比特流之间的转换期间,从多个子模板构建针对所述当前视频块构建至少一个模板集;
基于成本计算,导出至少一个帧内预测模式IPM;
基于所述至少一个IPM,确定所述当前视频块的最终预测子;以及
基于所述最终预测子来生成所述比特流。
22.一种存储指令的非瞬态计算机可读存储介质,所述指令使处理器:
在视频的当前视频块与所述视频的比特流之间的转换期间,从多个子模板构建针对所述当前视频块的至少一个模板集;
基于成本计算,导出至少一个帧内预测模式IPM;
基于所述至少一个IPM,确定所述当前视频块的最终预测子;以及
基于所述最终预测子来执行所述转换。
CN202210028454.4A 2021-01-13 2022-01-11 用于解码器侧帧内模式导出的模板的使用 Pending CN114765688A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/148,383 2021-01-13
US17/148,383 US11388421B1 (en) 2021-01-13 2021-01-13 Usage of templates for decoder-side intra mode derivation

Publications (1)

Publication Number Publication Date
CN114765688A true CN114765688A (zh) 2022-07-19

Family

ID=82322243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210028454.4A Pending CN114765688A (zh) 2021-01-13 2022-01-11 用于解码器侧帧内模式导出的模板的使用

Country Status (2)

Country Link
US (2) US11388421B1 (zh)
CN (1) CN114765688A (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3962080A1 (en) * 2020-08-26 2022-03-02 Ateme Method and apparatus for image processing
US12069305B2 (en) * 2021-04-16 2024-08-20 Tencent America LLC Low memory design for multiple reference line selection scheme
US12015765B2 (en) * 2021-04-26 2024-06-18 Tencent America LLC Template matching based intra prediction
US11943432B2 (en) * 2021-04-26 2024-03-26 Tencent America LLC Decoder side intra mode derivation
US20220394269A1 (en) * 2021-06-03 2022-12-08 Qualcomm Incorporated Derived intra prediction modes and most probable modes in video coding
US20230049154A1 (en) * 2021-08-02 2023-02-16 Tencent America LLC Method and apparatus for improved intra prediction
US20230059794A1 (en) * 2021-08-23 2023-02-23 Mediatek Inc. Context-based adaptive binary arithmetic coding decoder capable of decoding multiple bins in one cycle and associated decoding method
WO2023043962A1 (en) * 2021-09-15 2023-03-23 Tencent America LLC Method and apparatus for improved signaling of motion vector difference
WO2024034861A1 (ko) * 2022-08-09 2024-02-15 현대자동차주식회사 템플릿 기반 예측을 이용하는 비디오 코딩을 위한 방법 및 장치
JP2024047922A (ja) * 2022-09-27 2024-04-08 シャープ株式会社 画像復号装置および画像符号化装置
EP4346202A1 (en) * 2022-09-27 2024-04-03 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture data
WO2024131801A1 (en) * 2022-12-20 2024-06-27 Mediatek Inc. Method and apparatus of intra prediction generation in video coding system
WO2024151060A1 (ko) * 2023-01-10 2024-07-18 엘지전자 주식회사 인트라 예측에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
WO2024149398A1 (en) * 2023-01-13 2024-07-18 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10341664B2 (en) * 2015-09-17 2019-07-02 Intel Corporation Configurable intra coding performance enhancements
WO2017192995A1 (en) * 2016-05-06 2017-11-09 Vid Scale, Inc. Method and system for decoder-side intra mode derivation for block-based video coding
US10397569B2 (en) * 2016-06-03 2019-08-27 Mediatek Inc. Method and apparatus for template-based intra prediction in image and video coding
CN110140355B (zh) * 2016-12-27 2022-03-08 联发科技股份有限公司 用于视频编解码的双向模板运动向量微调的方法及装置
US10602180B2 (en) * 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction
WO2019007490A1 (en) * 2017-07-04 2019-01-10 Huawei Technologies Co., Ltd. DECODER INTEGRATED MODE (DIMD) INTEGRATED DEVICE TOOL CALCULATION COMPLEXITY REDUCTION

Also Published As

Publication number Publication date
US20220224915A1 (en) 2022-07-14
US11388421B1 (en) 2022-07-12
US20220329826A1 (en) 2022-10-13
US11902537B2 (en) 2024-02-13

Similar Documents

Publication Publication Date Title
US11290736B1 (en) Techniques for decoding or coding images based on multiple intra-prediction modes
US11388421B1 (en) Usage of templates for decoder-side intra mode derivation
US11683474B2 (en) Methods and apparatuses for cross-component prediction
US11647198B2 (en) Methods and apparatuses for cross-component prediction
KR20210145754A (ko) 행렬 기반 인트라 예측에서의 산출
US11563957B2 (en) Signaling for decoder-side intra mode derivation
US11582460B2 (en) Techniques for decoding or coding images based on multiple intra-prediction modes
KR102403793B1 (ko) 휘도 샘플을 이용한 색차 블록의 화면 내 예측 방법 및 이러한 방법을 사용하는 장치
KR20190110960A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US11979554B2 (en) Intra prediction-based video signal processing method and device
KR20150140849A (ko) 참조 픽쳐 리스트 관리 방법 및 이러한 방법을 사용하는 장치
WO2022214028A1 (en) Method, device, and medium for video processing
KR20210058971A (ko) 교차성분 선형 모델을 이용한 비디오 신호 처리 방법 및 장치
WO2022218316A1 (en) Method, device, and medium for video processing
US10205952B2 (en) Method and apparatus for inter color component prediction
JPWO2020211807A5 (zh)
TWI821103B (zh) 在視訊編解碼系統中使用邊界匹配進行重疊塊運動補償的方法和裝置
CN118044182A (zh) 用于视频处理的方法、设备和介质
CN112237003B (zh) 用于对图像信号编码/解码的方法及其装置
TWI853402B (zh) 視訊編解碼方法及相關裝置
WO2024213139A1 (en) System and method for intra template matching
KR20210119916A (ko) 비디오 신호 처리 방법 및 장치
WO2024030926A1 (en) Method, apparatus, and medium for video processing
KR20240136982A (ko) 경계 밖 블록을 이용하는 비디오 신호 처리 방법 및 이를 위한 장치
CN118614065A (zh) 视频信号编码/解码方法和存储比特流的记录介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination