使用增强型插值滤波器的帧内预测的制作方法
未命名
09-01
阅读:125
评论:0

1.本技术涉及视频编解码(例如,包括视频数据的编码和/或解码)。例如,本技术的各方面涉及用于使用增强型插值滤波器进行帧内预测的系统和技术。
背景技术:
2.许多设备和系统允许处理和输出视频数据以供消费。数字视频数据包括大量数据以满足消费者和视频提供者的需求。例如,视频数据的消费者期望具有高保真度、分辨率、帧速率等的最高质量的视频。因此,所需用于满足这些需求的大量视频数据为处理和存储视频数据的通信网络和设备带来负担。
3.可以使用各种视频编解码技术来压缩视频数据。视频编解码根据一个或多个视频编解码标准而被进行。例如,视频编解码标准包括通用视频编解码(vvc)、高效视频编解码(hevc)、高级视频编解码(avc)、mpeg-2第2部分编解码(mpeg是移动图片专家组的缩写)等,以及专有视频编解码器/格式,诸如由联盟为开放媒体开发的aomedia video 1(av1)。视频编解码通常使用利用视频图像或序列中存在的冗余的预测方法(例如,帧间预测、帧内预测等)。视频编解码技术的目标是将视频数据压缩成使用较低比特率的形式,同时避免或最小化对视频质量的降级。随着不断发展的视频服务的出现,需要具有更高编解码效率的编码技术。
技术实现要素:
4.在一些示例中,描述了用于使用增强型插值滤波器来进行帧内预测的系统和技术,该增强型插值滤波器可以基于诸如块大小、帧内预测模式等信息来应用可变的类型和平滑度。根据至少一个说明性示例,提供了一种用于处理视频数据的方法。该方法包括:确定用于预测视频数据块的帧内预测模式;确定用于该视频数据块的平滑滤波器的类型,其中至少部分地基于将该视频数据块的宽度和该视频数据块的高度中的至少一者与第一阈值进行比较来确定该平滑滤波器的该类型;以及使用确定的该平滑滤波器的该类型以及该帧内预测模式,对该视频数据块进行帧内预测。
5.在另一示例中,提供了一种用于处理视频数据的装置,其包括至少一个存储器(例如,被配置为存储数据,诸如虚拟内容数据、一个或多个图像等)以及被耦合到该至少一个存储器的至少一个处理器(例如,以电路形式实施)。该一个或多个处理器被配置为并且可以:确定用于预测视频数据块的帧内预测模式;确定用于该视频数据块的平滑滤波器的类型,其中至少部分地基于将该视频数据块的宽度和该视频数据块的高度中的至少一者与第一阈值进行比较来确定该平滑滤波器的该类型;以及使用确定的该平滑滤波器的该类型以及该帧内预测模式,对该视频数据块进行帧内预测。
6.在另一示例中,提供了一种其上存储有指令的非暂时性计算机可读介质,该指令在由一个或多个处理器执行时使得该一个或多个处理器:确定用于预测视频数据块的帧内预测模式;确定用于该视频数据块的平滑滤波器的类型,其中至少部分地基于将该视频数
据块的宽度和该视频数据块的高度中的至少一者与第一阈值进行比较来确定该平滑滤波器的该类型;以及使用确定的该平滑滤波器的该类型以及该帧内预测模式,对该视频数据块进行帧内预测。
7.在另一示例中,提供了一种用于处理视频数据的装置。该装置包括:用于确定用于预测视频数据块的帧内预测模式的部件;用于确定用于该视频数据块的平滑滤波器的类型的部件,其中至少部分地基于将该视频数据块的宽度和该视频数据块的高度中的至少一者与第一阈值进行比较来确定该平滑滤波器的该类型;以及用于使用该平滑滤波器的所确定的该类型以及该帧内预测模式对该视频数据块进行帧内预测的部件。
8.在一些方面,该过程、装置和计算机可读介质还可以包括:至少部分地基于对该块的该宽度和该块的该高度中的至少一者大于该第一阈值的确定,使用第一平滑插值滤波器作为确定的平滑滤波器的该类型;以及使用该第一平滑插值滤波器,确定用于该视频数据块的帧内预测的参考像素。
9.在一些方面,该第一平滑插值滤波器包括6抽头高斯滤波器。
10.在一些方面,该过程、装置和计算机可读介质还可以包括:至少部分地基于确定该块的该宽度和该块的该高度中的至少一者不大于该第一阈值来使用第二平滑插值滤波器作为确定的平滑滤波器的该类型;以及使用该第二平滑插值滤波器,确定用于该视频数据块的帧内预测的参考像素。
11.在一些方面,该第二平滑插值滤波器包括4抽头高斯滤波器。
12.在一些方面,该过程、装置和计算机可读介质还可以包括:确定该帧内预测模式的角度方向与垂直帧内预测模式和水平帧内预测模式中的一者之间的最小偏移;以及基于将确定的该最小偏移与第二阈值进行比较来确定用于该视频数据块的平滑滤波器的该类型。
13.在一些方面,该过程、装置和计算机可读介质还可以包括:至少部分地基于对确定的该最小偏移大于该第二阈值的确定、以及对该帧内预测模式是与整数值参考像素位置相关联的整数角度模式的确定,将低通滤波器确定为平滑滤波器的该类型。
14.在一些方面,该低通滤波器在不进行插值的情况下进行参考像素平滑,该低通滤波器包括[1 2 1]滤波器。
[0015]
在一些方面,该过程、装置和计算机可读介质还可以包括:至少部分地基于对确定的该最小偏移大于该第二阈值的确定、以及对该帧内预测模式是与分数值参考像素位置相关联的分数角度模式的确定,将高斯滤波器确定为平滑滤波器的该类型。
[0016]
在一些方面,该高斯滤波器在不进行参考像素平滑的情况下进行平滑插值。
[0017]
在一些方面,基于对该块的该宽度和该块的该高度中的至少一者大于该第一阈值的确定,该高斯滤波器包括6抽头高斯滤波器。
[0018]
在一些方面,基于对该块的该宽度和该块的该高度中的至少一者不大于第一阈值的确定,该高斯滤波器包括4抽头高斯滤波器。
[0019]
在一些方面,该过程、装置和计算机可读介质还可以包括:至少部分地基于对确定的该最小偏移不大于该第二阈值的确定:使用插值滤波器作为确定的平滑滤波器的该类型,其中该插值滤波器包括4抽头立方(cubic)滤波器;以及在不应用参考像素平滑的情况下使用该插值滤波器对该视频数据块进行帧内预测。
[0020]
在一些方面,该过程、装置和计算机可读介质还可以包括:至少部分地基于对该帧
内预测模式是整数角度模式的确定、以及对确定的该最小偏移大于该第二阈值的确定,将低通滤波器确定为平滑滤波器的该类型。
[0021]
在一些方面,该过程、装置和计算机可读介质还可以包括:至少部分地基于对该块的该宽度和该块的该高度中的至少一者大于该第一阈值的确定来使用大抽头低通滤波器进行参考像素平滑,其中该大抽头低通滤波器应用比小抽头低通滤波器更大程度的参考像素平滑。
[0022]
在一些方面,该过程、装置和计算机可读介质还可以包括:至少部分地基于对该块的该宽度和该块的该高度中的至少一者不大于该第一阈值的确定来使用小抽头低通滤波器进行参考像素平滑,其中该小抽头低通滤波器应用比大抽头低通滤波器更小程度的参考像素平滑。
[0023]
在一些方面,该过程、装置和计算机可读介质还可以包括:至少部分地基于将该帧内预测模式的斜率与从该块的该宽度和该块的该高度中确定的一个或多个像素位置进行比较,确定该帧内预测模式为整数角度模式。
[0024]
在一些方面,该过程、装置和计算机可读介质还可以包括:确定该帧内预测模式的角度方向与垂直帧内预测模式或水平帧内预测模式之间的偏移小于第二阈值;以及基于确定该帧内预测模式的该角度方向与该垂直帧内预测模式或该水平帧内预测模式之间的该偏移小于该第二阈值,使用立方插值滤波器对该视频数据块进行帧内预测。
[0025]
在一些方面,该过程、装置和计算机可读介质还可以包括:使用弱插值滤波器进行参考线扩展,其中:在使用该立方插值滤波器进行该帧内预测之前,使用该弱插值滤波器进行该参考线扩展;以及该立方插值滤波器具有比该弱插值滤波器更高的截止(cutoff)频率,并且比该弱插值滤波器应用更大程度的平滑。
[0026]
在一些方面,该弱插值滤波器包含4抽头基于sinc的插值滤波器以及6位4抽头插值滤波器。
[0027]
在一些方面,在视频比特流中发信号通知平滑滤波器的该类型。
[0028]
在一些方面,针对预测块、编解码块、编解码树单元(ctu)、切片或序列的集合中的各个(individual ones)发信号通知平滑滤波器的该类型。
[0029]
在一些方面,该过程、装置和计算机可读介质还可以包括:在不使用在视频比特流中显式地发信号通知的信息的情况下基于该块的该宽度和该块的该高度中的至少一者来确定平滑滤波器的该类型。
[0030]
在一些方面,该过程、装置和计算机可读介质还可以包括:确定用于该视频数据块的残差数据块;以及使用该残差数据块以及基于对该视频数据块进行该帧内预测而被确定的预测性块,解码该视频数据块。
[0031]
在一些方面,该过程、装置和计算机可读介质还可以包括:生成包括与该视频数据块相关联的信息的经编码视频比特流。
[0032]
在一些方面,该过程、装置和计算机可读介质还可以包括:存储该经编码视频比特流(例如,在该装置的该至少一个存储器中)。
[0033]
在一些方面,该过程、装置和计算机可读介质还可以包括:发送该经编码视频比特流(例如,使用该装置的发送器)。
[0034]
在一些方面,上述装置中的每一者可以是以下或者以下的一部分:移动设备(例
如,移动电话或所谓的“智能电话”、平板计算机或其它类型的移动设备)、网络连接的可穿戴设备、扩展现实设备(例如,虚拟现实(vr)设备、增强现实(ar)设备或混合现实(mr)设备)、个人计算机、膝上型计算机、服务器计算机(例如,视频服务器或其它服务器设备)、电视、车辆(或车辆的计算设备或系统)、相机(例如,数字相机、互联网协议(ip)相机等)、多相机系统、机器人设备或系统、航空设备或系统、或者其他设备。在一些方面,该装置中的每一者可以包括用于捕获一个或多个图像或视频帧的至少一个相机。例如,该装置中的每一者可以包括用于捕获一个或多个图像和/或包括视频帧的一个或多个视频的相机(例如,rgb相机)或多个相机。在一些方面,该装置中的每一者可以包括用于显示一个或多个图像、视频、通知或其它可显示数据的显示器。在一些方面,该装置中的每一者可以包括发送器,其被配置为通过传输介质将一个或多个视频帧和/或语法数据发送到至少一个设备。在一些方面,该装置中的每一者可以包括一个或多个传感器。
[0035]
本发明内容不旨在识别所要求保护的主题的关键或必要特征,也不旨在孤立地用于确定所要求保护的主题的范围。应当通过参考本专利的整个说明书的适当部分、任何或所有附图和每个权利要求来理解主题。
[0036]
在参考以下说明书、权利要求书和附图时,前述连同其它特征和实施例将变得更加显而易见。
附图说明
[0037]
下面参考以下附图详细描述本技术的说明性实施例:
[0038]
图1是图示根据一些示例的编码设备和解码设备的示例的框图;
[0039]
图2a是图示根据一些示例的角度预测模式的示例的图;
[0040]
图2b是图示根据一些示例的通用视频编解码(vvc)中的定向帧内预测模式的示例的图;
[0041]
图3是图示根据一些示例的模式相关帧内平滑(mdis)过程的示例的图;
[0042]
图4是图示根据一些示例的参考线扩展的示例的图;
[0043]
图5是图示根据一些示例的基于块大小和帧内预测模式中的一者或多者的可切换高斯滤波的示例的图;
[0044]
图6是图示根据一些示例的用于使用增强型插值滤波器进行帧内预测的过程的示例的流程图;
[0045]
图7是图示根据一些示例的示例视频编码设备的框图;以及
[0046]
图8是图示根据一些示例的示例视频解码设备的框图。
具体实施方式
[0047]
以下提供本公开的某些方面和实施例。这些方面和实施例中的一些可以独立地应用,并且它们中的一些可以组合应用,这对于本领域技术人员是显而易见的。在以下描述中,出于解释的目的,阐述了具体细节以便提供对本技术的实施例的透彻理解。然而,显而易见,可以在没有这些具体细节的情况下实践各种实施例。附图和说明书并不旨在是限制性的。
[0048]
随后的描述仅提供示例性实施例,并且不旨在限制本公开的范围、适用性或配置。
相反,随后对示例性实施例的描述将为本领域技术人员提供实现示例性实施例的使能描述。应当理解,在不脱离如所附权利要求中所阐述的应用的精神和范围的情况下,可以对元件的功能和布置进行各种改变。
[0049]
数字视频数据可以包括大量数据,特别是由于对高质量视频数据的需求持续增长。例如,视频数据的消费者通常希望视频具有越来越高的质量、具有高保真度、分辨率、帧速率等。然而,满足这些需求所需的大量视频数据会给通信网络以及处理和存储视频数据的设备带来很大的负担。
[0050]
视频编解码设备实施视频压缩技术以有效地编码和解码视频数据。视频压缩技术可以包括应用不同的预测模式,包括空间预测(例如,帧内预测)、时间预测(例如,帧间预测)、层间预测(跨视频数据的不同层)和/或其他预测技术来减少或消除视频序列中固有的冗余。视频编码器可以将原始视频序列的每个图片划分成被称为视频块或编解码单元的矩形区(下面更详细地描述)。可以使用特定预测模式对这些视频块进行编码。
[0051]
可以将视频块以一种或多种方式划分成一个或多个较小块的组。块可以包括编解码树块、预测块、变换块和/或其他合适的块。除非以其他方式指定,对“块”的一般引用可以指代此类视频块(例如,编解码树块、编解码块、预测块、变换块或其他适当块或子块,如由普通技术人员将理解的那样。此外,这些块中的每一个在本文中还可以互换地称为“单元”(例如,编解码树单元(ctu)、编解码单元、预测单元(pu)、变换单元(tu)等)。在一些情况下,单元可以指示在比特流中被编码的编解码逻辑单元,而块可以指示过程所指向的视频帧缓冲器的一部分。
[0052]
对于帧间预测模式,视频编码器可以搜索与位于另一时间位置的帧(或图片)中的正被编码的块类似的块,其被称为参考帧或参考图片。视频编码器可以将搜索限制为从要被编码的块的某个空间位移。可以使用包括水平位移分量和垂直位移分量的二维(2d)运动矢量来定位最佳匹配。对于帧内预测模式,视频编码器可以使用基于来自相同图片内的先前经编码相邻块的数据的空间预测技术来形成经预测块。
[0053]
视频编码器可以确定预测误差。例如,可以将预测确定为正被编码的块中的像素值与经预测块中的像素值之间的差。预测误差也可以被称为残差。视频编码器还可以对预测误差应用变换(例如,离散余弦变换(dct)或其他合适的变换)来生成变换系数。在变换之后,视频编码器可以对变换系数进行量化。经量化变换系数和运动矢量可以使用语法元素来表示,并且与控制信息一起形成视频序列的经编解码表示。在一些示例中,视频编码器可以对经量化的变换系数和/或语法元素进行熵编码,由此进一步减少其表示所需的比特数目。
[0054]
在熵解码和解量化接收的比特流之后,视频解码器可以使用上述语法元素和控制信息来构造用于解码当前帧的预测性数据(例如,预测性块)。例如,视频解码器可以添加经预测块和经压缩预测误差。视频解码器可以通过使用经量化系数对变换基函数加权来确定经压缩预测误差。经重构帧与原始帧之间的差被称为重构误差。
[0055]
可以根据特定的视频编解码标准来进行视频编解码。视频编解码标准的示例包括但不限于itu-t h.261、iso/iec mpeg-1visual(视觉)、itu-t h.262或iso/iec mpeg-2visual、itu-t h.263、iso/iec mpeg-4visual、高级视频编解码(avc)或itu-t h.264(包括其可缩放视频编解码(svc)和多视图视频编解码(mvc)扩展)、高效率视频编解码(hevc)
或itu-t h.265(包括其范围和屏幕内容编解码)、3d视频编解码(3d-hevc)、多视图(mv-hevc)和可缩放(shvc)扩展、通用视频编解码(vvc)或itu-t h.266及其扩展、vp9、开放媒体联盟(aomedia)video(视频)1(av1)、基本视频编解码(evc)等。
[0056]
如上所描述,视频编码器可以将原始视频序列的每个图片划分为一个或多个更小的块或矩形区域,然后可以使用例如帧内预测(intra-frame)(或帧内预测(intra-frame prediction))对其进行编码,以去除原始视频序列固有的空间冗余。如果以帧内预测模式对块进行编码,那么基于先前经编码和经重构的块来形成预测块,该先前经编码和经重构的块在视频编码器和视频解码器两者中可以用以形成预测参考。例如,可以使用相邻的先前经编码的块的像素值来确定当前块(例如,当前被编码的或当前被解码的)内部的像素值的空间预测。这些像素值被用作参考像素。参考像素可以被组织成一个或多个参考像素线和/或参考像素组。在一些示例中,帧内预测可以被应用于块的亮度和色度分量两者。
[0057]
可以利用多种不同的帧内预测模式来提供不同的空间预测技术,以基于来自相同图像内的先前经编码的相邻块(例如,来自参考像素)的数据来形成经预测参考或经预测块。帧内预测模式可以包括平面和dc模式和/或定向帧内预测模式(也称为“常规帧内预测模式”)。在一些示例中,可以连同多个定向帧内预测模式一起使用单个平面帧内预测和单个dc帧内预测模式。帧内预测模式描述用于基于参考像素值计算正被编解码的区域中的像素值的不同变体或方法。在说明性示例中,hevc标准提供33个定向帧内预测模式。在另一说明性示例中,vvc和/或vvc测试模型5(vtm5)扩展了hevc定向帧内预测模式以提供总共93个定向帧内预测模式。
[0058]
在视频解码器处,对于每个经编码块的帧内预测模式的选择(例如,由视频编码器在生成经编码块时作出的帧内预测模式的选择)可以由解码器确定(例如,导出)或可以发信号通知给视频解码器。例如,在一些情况下,相邻块之间的帧内预测模式可以是相关的(例如,如果使用帧内预测模式2来预测两个相邻的先前经编码块,则当前块的最佳帧内预测模式也很可能是帧内预测模式2)。在一些示例中,对于每个当前块,视频编码器和视频解码器可以计算最可能的帧内预测模式。视频编码器还可以(例如,使用标志、模式参数、模式选择器等)向视频解码器发信号通知该帧内预测模式。
[0059]
在当前的vvc标准中,提供了93个定向帧内预测模式,如前所描述。每个帧内预测模式与不同的角度方向相关联,使得帧内预测模式是唯一且不重叠的。定向帧内预测模式可以被分类为整数角度模式或分数(非整数角度)模式。对于给定视频数据块,整数角度帧内预测模式在整数位置处具有参考像素,例如,整数角度帧内预测模式具有穿过位于当前经编解码块的周界处的参考像素的位置的斜率。相比之下,分数帧内预测模式在整数位置处不具有参考像素,而是具有穿过两个相邻参考像素之间某处的点的斜率(例如,分数位置i+f(i:整数部分,f:小数部分)处的像素的斜率穿过像素i和像素i+1)。
[0060]
根据vvc标准,可以基于帧内预测模式将一个或多个平滑滤波器和/或操作应用于参考像素。通过对参考像素进行平滑或滤波,可以获得更准确的帧内预测结果,因为帧内预测结果是从经平滑的参考像素中计算的。在一些示例中,可以针对分数帧内预测模式和整数(例如,整数斜率)帧内预测模式两者进行参考像素平滑。除了用于参考像素平滑的平滑滤波器之外,vvc标准还规定使用一个或多个插值滤波器。在一些示例中,可以通过直接平滑参考像素来进行平滑。在一些示例中,平滑操作可以与插值操作组合或结合插值操作进
行(例如,通过应用平滑插值滤波器)。
[0061]
例如,可以使用插值滤波器来进行针对分数帧内预测模式的插值。分数帧内预测模式具有非整数值斜率,并且因此与分数参考像素位置(例如,在相邻参考像素之间的位置处)相关联。因此,针对分数帧内预测模式的帧内预测可以在相邻参考像素的值之间进行插值,以计算用于分数参考像素位置的插值的值。在一些场景中,定向帧内预测模式的大部分可可以是分数(例如,非整数)模式。例如,在vvc标准中,帧内预测模式-14、-12、-10、-6、2、18、34、50、66、72、76、78和80可以是整数帧内预测模式(也称为“整数斜率模式”),93个定向帧内预测模式中的剩余模式是分数帧内预测模式。
[0062]
vvc标准规定对所有块大小使用固定的平滑度。例如,根据vvc标准,编解码设备(例如,视频编码设备和/或视频解码设备)可以针对所有块大小使用4抽头高斯插值滤波器和/或低通滤波器。在一些情况下,针对所有块大小使用固定平滑度(例如,针对所有块大小使用4抽头高斯插值滤波器和/或[1 2 1]低通滤波器)可能导致帧内预测性能的降低。例如,较大的块大小(例如,具有16个或更多个样本的宽度和/或高度的块)可以受益于比较小的块大小(例如,具有小于16个样本的宽度和/或高度的块)更高的平滑度。当根据vvc标准进行帧内预测时,可能遇到大的和小的块大小,因为vvc中的块划分方案基于不同的输入、参数和其它分析因子而允许不同的块大小。在一些情况下,较大的块大小可以与原始视频序列图像的已经包括相对平滑的边缘和/或相对少量的特征的部分相关联。小的块大小可以与原始视频序列图像中包含相对高数目的特征、方向等的部分相关联。
[0063]
因为较大块大小的创建通常与块内相对平滑的视频数据的存在相关联,所以在一些示例中,较大块大小的帧内预测可以受益于应用较高的平滑度,而较小块大小的帧内预测可以受益于应用较低的平滑度。
[0064]
如本文中更详细描述,本文描述了用于提供改进的帧内预测的系统、装置、方法和计算机可读介质(统称为“系统和技术”)。例如,如本文中更详细描述,该系统和技术可以使用多个平滑和/或插值滤波器来进行帧内预测,每个平滑和/或插值滤波器具有不同程度的平滑和/或滤波。根据一些方面,该系统和技术可以包括基于当前经编解码块的大小来选择一个或多个平滑和插值滤波器(以及相关联类型的平滑和/或相关联的平滑度)。例如,块的宽度和块的高度中的一者或多者可以与预定阈值进行比较,其中较小的块(例如,具有小于阈值的宽度和/或高度的块)比较大的块(例如,具有大于阈值的宽度和/或高度的块)接收不同的程度或平滑。
[0065]
在一些示例中,可以附加地或备选地基于正用于图片或图片的一部分(例如,块、切片等)的帧内预测模式来选择平滑和/或插值滤波器。特定帧内预测模式与平滑或插值滤波器之间的关系可以被提前确定和/或实时确定(例如,当图片、块、切片等正被编码或解码时)。在说明性示例中,可以将当前经编解码块的帧内预测模式与垂直帧内预测模式和水平帧内预测模式进行比较,以便确定当前块的帧内预测模式与垂直和水平帧内预测模式中的一者之间的最小距离(例如,角度距离或偏移)。可以将最小距离与预定阈值(在一些示例中,在vvc标准中定义)进行比较,以便确定是否应当对当前经编解码块应用平滑和/或滤波。在一些示例中,如本文所描述,具有块级别切换的参考像素的可变平滑可以提供增强型帧内预测,如下文将更深入地描述。
[0066]
将参考附图描述关于该系统和技术的进一步细节。
[0067]
图1是图示包括编码设备104和解码设备112的系统100的示例的框图。编码设备104可以是源设备的一部分,以及解码设备112可以是接收设备的一部分。源设备和/或接收设备可以包括电子设备,诸如移动或固定电话手持机(例如,智能电话、蜂窝电话等)、台式计算机、膝上型或笔记本计算机、平板计算机、机顶盒、电视机、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备、因特网协议(ip)相机或任何其他合适的电子设备。在一些示例中,源设备和接收设备可以包括用于无线通信的一个或多个无线收发器。本文所描述的编解码技术可以应用于各种多媒体应用中的视频编解码,包括流式视频传输(例如,通过因特网)、电视广播或传输、对存储在数据存储介质上的数字视频进行编码、对存储在数据存储介质上的数字视频进行解码、或者其它应用。如本文所使用的,术语编解码(coding)可以指编码和/或解码。在一些示例中,系统100可以支持单向或双向视频传输以支持诸如视频会议、视频流式传输、视频回放、视频广播、游戏和/或视频电话。
[0068]
编码设备104(或编码器)可以被用于使用视频编解码标准、格式、编解码器或协议来编解码视频数据以生成经编解码视频比特流。视频编解码标准和格式/编解码器的示例包括itu-t h.261、iso/iec mpeg-1visual、itu-th.262或iso/iec mpeg-2visual、itu-t h.263、iso/iec mpeg-4visual、itu-t h.264(也称为iso/iec mpeg-4avc)(包括其可缩放视频编解码(svc)和多视图视频编解码(mvc)扩展)、高效率视频编解码(hevc)或itu-t h.265、以及通用视频编解码(vvc)或itu-t h.266。存在hevc的各种扩展以处理多层视频编解码,包括范围和屏幕内容编解码扩展、3d视频编解码(3d-hevc)和多视图扩展(mv-hevc)以及可伸缩扩展(shvc)。hevc及其扩展已经由视频编解码联合协作小组(jct-vc)以及itu-t视频编解码专家组(vceg)和iso/iec运动图像专家组(mpeg)的三维视频编解码扩展开发联合协作小组(jct-3v)所开发。vp9、由开放媒体联盟(aomedia)开发的aomedia video 1(av1)和基本视频编解码(evc)是其他视频编解码标准,本文所描述的技术可以应用于这些标准。
[0069]
vvc是最新的视频编解码标准,由itu-t和iso/iec的联合视频专家组(jvet)所开发,以至少部分地实现超出hevc的大量压缩能力以用于广泛的应用。vvc规范在2020年7月完成并且由itu-t和iso/iec公布。vvc规范指定标准比特流和图片格式、高级别语法(hls)和编解码单元级别语法、解析过程、解码过程等。vvc还在附录中指定简档/层/级别(ptl)限制、字节流格式、假设参考解码器和补充增强信息(sei)。
[0070]
本文所描述的系统和技术可以应用于任何现有视频编解码器(例如,vvc、hevc、avc或其它合适的现有视频编解码器),和/或可以是用于正在开发的任何视频编解码标准和/或未来的视频编解码标准的有效编解码工具。例如,可以使用诸如vvc、hevc、avc和/或其扩展的视频编解码器来进行本文描述的示例。然而,本文所描述的技术和系统还可以适用于其它编解码标准、编解码器或格式,诸如mpeg、jpeg(或用于静止图像的其它编解码标准)、vp9、av1、其扩展、或者已经可用或尚未可用或开发的其它合适的编解码标准。例如,在一些示例中,编码设备104和/或解码设备112可以根据专有视频编解码器/格式(例如,av1、av1的扩展和/或av1的后继版本(例如,av2))或其它专有格式或行业标准来操作。因此,虽然可以参考特定视频编解码标准来描述本文描述的技术和系统,但是本领域普通技术人员将理解的是,该描述不应被解释为仅适用于该特定标准。
[0071]
参照图1,视频源102可以向编码设备104提供视频数据。视频源102可以是源设备
的一部分,或者可以是除了源设备之外的设备的一部分。视频源102可以包括视频捕获设备(例如,视频相机、相机电话、视频电话等)、包含所存储视频的视频存档、提供视频数据的视频服务器或内容提供者、从视频服务器或内容提供者接收视频的视频馈送接口、用于生成计算机图形视频数据的计算机图形系统、此类源的组合或者任何其他合适的视频源。
[0072]
来自视频源102的视频数据可以包括一个或多个输入图片或帧。图片或帧是静止图像,在某些情况下是视频的一部分。在一些示例中,来自视频源102的数据可以是并非视频的一部分的静止图像。在hevc、vvc和其它视频编解码规范中,视频序列可以包括一系列图片。图片可以包括三个样本阵列,分别表示为sl、scb和scr。sl是亮度样本的二维阵列,scb是cb色度样本的二维阵列,而scr是cr色度样本的二维阵列。色度样本在本文中还可以被称为“chroma(色度)”样本。像素可以指图片阵列中给定位置的所有三个分量(亮度和色度样本)。在其他情况下,图片可以是单色的,并且可以仅包括亮度样本的阵列,在这种情况下,术语像素和样本可以互换使用。关于为了说明的目的而在本文描述的涉及单个样本的示例技术,可以将相同的技术应用于像素(例如,针对图片阵列中的给定位置的所有三个样本分量)。关于为了说明的目的而在本文描述的涉及像素(例如,针对图片阵列中的给定位置的所有三个样本分量)的示例技术,可以将相同的技术应用于各个样本。
[0073]
编码设备104的编码器引擎106(或编码器)对视频数据进行编码以产生经编码视频比特流。在一些示例中,经编码视频比特流(或“视频比特流”或“比特流”)是一系列一个或多个经编解码视频序列。经编解码视频序列(cvs)包括的一系列访问单元(au),该一系列au从在基本层中具有随机访问点图片并且具有某些属性的au开始、直到在基本层中具有随机访问点图片并且具有某些属性的下一个au为止并且不包括该下一个au。例如,开始cvs的随机访问点图片的某些属性可以包括等于1的rasl标志(例如,norasloutputflag)。否则,随机访问点图片(rasl标志等于0)不开始cvs。接入单元(au)包括一个或多个经编解码图片和与共享相同输出时间的经编解码图片相对应的控制信息。图片的经编解码切片在比特流级别中被封装至被称为网络抽象层(nal)单元的数据单元中。例如,hevc视频比特流可以包括包含nal单元的一个或多个cvs。每个nal单元都有nal单元标头。在一个示例中,标头对于h.264/avc为一字节(除多层扩展之外)并且对于hevc为二字节。nal单元标头中的语法元素采用指定的比特,因此对各种系统和传输层、诸如传输流、实时传输(rtp)协议、文件格式等可见。
[0074]
在hevc标准中存在两类nal单元,包括视频编解码层(vcl)nal单元和非vcl nal单元。vcl nal单元包括经编解码图片数据的一个切片或切片条段(如下所描述),非vcl nal单元包括与一个或多个经编解码图片相关的控制信息。在一些情况下,nal单元可以被称为分组。hevc au包括包含经编解码图片数据的vcl nal单元和对应于经编解码图片数据的非vcl nal单元(如果有的话)。
[0075]
nal单元可以包含形成视频数据的经编解码表示的比特序列(例如,经编码视频比特流、比特流的cvs等),诸如视频中的图片的经编解码表示。编码器引擎106通过将每个图片划分成多个切片来生成图片的经编解码表示。一个切片独立于其它切片,使得该切片中的信息被编解码,而不依赖于来自相同图片内的其它切片的数据。切片包括一个或多个切片条段,包括独立的切片条段、以及依赖于先前切片条段的一个或多个依赖切片条段(如果存在)。这些切片被划分成亮度样本和色度样本的编解码树块(ctb)。亮度样本的ctb和色度
样本的一个或多个ctb、连同样本的语法,被称为编解码树单元(ctu)。ctu还可以被称为“树块”或“最大编解码单元”(lcu)。ctu是用于hevc编码的基本处理单元。ctu可以被划分成多个不同大小的编解码单元(cu)。cu包含被称为编解码块(cb)的亮度和色度样本阵列。
[0076]
亮度和色度cb可以被进一步划分为预测块(pb)。pb是使用相同运动参数来进行帧间预测或块内复制预测(当可用或能够使用时)的亮度分量或色度分量的样本块。亮度pb和一个或多个色度pb以及相关联的语法一起形成预测单元(pu)。对于帧间预测,在比特流中针对每个pu信令通知运动参数集合(例如,一个或多个运动矢量、参考索引等),并且用于亮度pb和一个或多个色度pb的帧间预测。运动参数也可以被称为运动信息。cb也可以被划分成一个或多个变换块(tb)。tb表示在其上应用残差变换(例如,在一些情况下相同的二维变换)对预测残差信号进行编解码的颜色分量的样本的方形块。变换单元(tu)表示亮度和色度样本的tb,以及相对应的语法元素。
[0077]
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在形状上可以是正方形或非正方形。
[0078]
根据hevc标准,可以使用变换单元(tu)来进行变换。tu可以因不同的cu而不同。tu基于给定cu内的pu的大小来调节tu的大小。tu可以与pu大小相同或比pu小。在一些示例中,可以使用被称为残差四叉树(rqt)的四叉树结构来将对应于cu的残差样本细分成更小的单元。rqt的叶节点可以对应于tu。与tu相关联的像素差值可以被变换以产生变换系数。变换系数可以由编码器引擎106量化。
[0079]
一旦视频数据的图片被划分成cu,编码器引擎106就使用预测模式来预测每个pu。从原始视频数据中减去预测单元或预测块以得到残差(如下所描述)。对于每个cu,可以使用语法数据在比特流内部用信号通知预测模式。预测模式可以包括帧内预测(或图片内预测)或帧间预测(或图片间预测)。帧内预测利用图片内的空间相邻样点之间的相关性。例如,使用帧内预测,从相同图片中的相邻图像数据预测每个pu,使用例如dc预测来找到pu的平均值,使用平面预测来使平面表面适合于pu,使用方向预测来从邻近数据外推,或使用任何其它合适类型的预测。帧间预测使用图片之间的时域相关性,以便推导出图像样本块的运动补偿的预测。例如,使用帧间预测,根据一个或多个参考图片(在输出次序中的当前图片之前或之后)中的图像数据使用运动补偿预测来预测每个pu。是使用图片间预测还是图片内预测来对图片区域进行编解码的决策可以例如在cu级别作出。
[0080]
编码器引擎106和解码器引擎116(在下文中更详细地描述)可以被配置为根据vvc操作。根据vvc,视频编解码器(诸如编码器引擎106和/或解码器引擎116)将图片划分为多个编解码树单元(ctu)(其中亮度样本的ctb和色度样本的一个或多个ctb连同样本的语法一起被称为ctu)。视频编解码器可以根据诸如四叉树-二叉树(qtbt)结构或多类型树(mtt)结构的树结构对ctu进行分割。qtbt结构移除了多种划分类型的概念,诸如对hevc的cu、pu
和tu之间的区分。qtbt结构包括两个级别,包括根据四叉树划分被划分的第一级别和根据二叉树划分被划分的第二级别。qtbt结构的根节点对应于ctu。二叉树的叶节点对应于编解码单元(cu)。
[0081]
在mtt划分结构中,可以使用四叉树划分、二叉树划分和一种或多种类型的三叉树划分来划分块。三叉树划分是其中块被分成三个子块的划分。在一些示例中,三重树划分将块划分成三个子块而非穿过中心来划分原始块。mtt中的划分类型(例如,四叉树、二叉树和三叉树)可以是对称的或不对称的。
[0082]
当根据av1编解码器操作时,编码设备104和解码设备112可以被配置为将视频数据编解码成块。在av1中,可以被处理的最大编解码块被称为超级块。在av1中,超级块可以是128
×
128亮度样本或64
×
64亮度样本。然而,在后继视频编解码格式(例如,av2)中,可以通过不同(例如,较大)亮度样本大小来界定超级块。在一些示例中,超级块是块四叉树的顶级别。编码设备104可以进一步将超级块划分成较小编解码块。编码设备104可以使用正方形或非正方形划分将超级块和其它编解码块分割成较小的块。非正方形块可以包括n/2xn、nxn/2、n/4xn和nxn/4块。编码设备104和解码设备112可以对每个编解码块进行单独的预测和变换过程。
[0083]
av1还定义视频数据的瓦片(tile)。瓦片是可以独立于其它瓦片而被编解码的超级块的矩形阵列。也就是说,编码设备104和解码设备112可以分别对瓦片内的编解码块进行编码和解码,而不使用来自其它瓦片的视频数据。然而,编码设备104和解码设备112可以跨瓦片边界进行滤波。瓦片的大小可以是均匀的或不均匀的。基于瓦片的编解码可以实现用于编码器和解码器实施方式的并行处理和/或多线程。
[0084]
在一些示例中,编码设备104和解码设备112可以使用单个qtbt或mtt结构来表示亮度和色度分量中的每一者,而在其它示例中,视频编解码器可以使用两个或两个以上qtbt或mtt结构,诸如用于亮度分量的一个qtbt或mtt结构和用于两个色度分量的另一qtbt或mtt结构(或用于相应色度分量的两个qtbt和/或mtt结构)。
[0085]
编码设备104和解码设备112可以被配置为使用每hevc的四叉树划分、qtbt划分、mtt划分或其它划分结构。
[0086]
在一些示例中,为图片的一个或多个切片(slice)指派切片类型。切片类型包括i切片、p切片和b切片。i切片(帧内、独立可解码)是仅由帧内预测进行编解码的图片的切片,并且因此是独立可解码的,因为i切片仅需要帧内的数据来预测该切片的任何预测单元或预测块。p切片(单向预测帧)是可以用帧内预测和单向帧间预测进行编解码的图片的切片。p切片内的每个预测单元或预测块都通过帧内预测或帧间预测被编解码。当帧间预测应用时,预测单元或预测块仅由一个参考图片来预测,并且因此参考样本仅来自一个帧的一个参考区域。b切片(双向预测性帧)是可以使用帧内预测以及使用帧间预测(例如,双向预测或单向预测)被编解码的图片的切片。b切片的预测单元或预测块可以从两个参考图片双向预测,其中每个图片贡献一个参考区域,并且两个参考区域的样本集合被加权(例如,用相等的权重或用不同的权重)以产生经双向预测块的预测信号。如上所描述,一个图像的切片被独立地编解码。在一些情况下,一个图片可以被编解码为仅一个切片。
[0087]
如上所描述,图片内预测利用图片内空间相邻样本之间的相关性。存在多个帧内预测模式(也称为“帧内模式”)。在一些示例中,亮度块的帧内预测包括35种模式,包括平面
模式、dc模式和33种角度模式(例如,对角线帧内预测模式和与对角线帧内预测模式相邻的角度模式)。编码设备104和/或解码设备112可以为每个块选择使预测块与待编码块之间的残差最小化的预测模式(例如,基于绝对误差和(sae)、绝对差和(sad)、绝对变换差和(satd)或其它相似度度量)。例如,sae可以通过取要编码的块中的每个像素(或样本)与用于比较的预测块中的对应像素(或样本)之间的绝对差来计算。对像素(或样本)的差求和以创建块相似性的度量,诸如差图像的l1范数、两个图像块之间的曼哈顿距离、或其它计算。使用sae作为示例,使用每个帧内预测模式的每个预测的sae指示预测误差的大小。与实际当前块具有最佳匹配的帧内预测模式由给出最小sae的帧内预测模式给出。
[0088]
帧内预测的35种模式如下表1所示被索引。在其他示例中,更多的帧内模式可以被定义,包括可能尚未由33个角度模式表示的预测角度。在其它示例中,与角度模式相关联的预测角度可以不同于hevc中使用的那些预测角度。
[0089]
帧内预测模式关联名称0intra_planar1intra_dc2..34intra_angular2..intra_angular34
[0090]
表1-帧内预测模式和关联名称的规范
[0091]
为了对nxn块进行平面预测,对于位于(x,y)的每个样本p
xy
,可以通过将双线性滤波器应用于四个特定的相邻经重构样本(用作帧内预测的参考样本)来计算预测样本值。四个参考样本包括右上经重构样本tr、左下经重构样本bl、以及位于当前样本的相同列(r
x,-1
)和行(r-1,y
)的两个经重构样本。平面模式可以公式化如下:
[0092]
p
xy
=((n-x1)*
·
l+(n-y1)*
·
t+x1*
·
r+y1*
·
b)/(2*n),
[0093]
其中x1=x+1、y1=y+1、r=tr并且b=bl。
[0094]
对于dc模式,利用相邻经重构样本的平均值来填充预测块。通常,平面模式和dc模式都用于对平滑变化和恒定的图像区域进行建模。
[0095]
对于hevc中包括33个不同预测方向的角度帧内预测模式,帧内预测过程可以描述如下。对于每个给定角度的帧内预测模式,可以相应地识别帧内预测方向;例如,帧内模式18对应于纯水平预测方向,并且帧内模式26对应于纯垂直预测方向。角度预测模式在图2a的示例图200a中示出。在一些编解码器中,可以使用不同数目的帧内预测模式。例如,除了平面和dc模式之外,可以定义93个角度模式,其中模式2指示-135
°
的预测方向,模式34指示-45
°
的预测方向,并且模式66指示45
°
的预测方向。在一些编解码器(例如,vvc)中,也可以定义超过-135
°
(小于-135
°
)和超过45
°
(大于45
°
)的角度;这些可以被称为宽角度帧内模式。尽管本文的描述是关于hevc中的帧内模式设计(即,具有35个模式),但所揭示的技术也可以应用于更多帧内模式(例如,由vvc或其它编解码器界定的帧内模式)。
[0096]
预测块的每个样本的坐标(x,y)沿特定的帧内预测方向(例如,角度帧内预测模式之一)被投影。例如,给定特定的帧内预测方向,首先将预测块的样本的坐标(x,y)沿帧内预测方向投影到相邻经重构样本的行/列。在(x,y)被投影到两个相邻经重构样本l和r之间的分数位置α的情况下;然后可以使用双抽头双线性插值滤波器来计算(x,y)的预测值,公式如下:
[0097]
p
xy
=(1-a)
·
l+a
·r[0098]
为避免浮点运算,在hevc中,上述计算可以使用整数算术来近似为:
[0099]
p
xy
=((32-a’)
·
l+a’·
r+16)》》5,
[0100]
其中a’是等于32*a的整数。
[0101]
在一些示例中,在帧内预测之前,使用2抽头双线性或3抽头(1,2,1)/4滤波器对相邻参考样本进行滤波,该2抽头双线性或3抽头(1,2,1)/4滤波器可以被称为帧内参考平滑或模式依赖帧内平滑(mdis)。当进行帧内预测时,给定帧内预测模式索引(predmodeintra)和块大小(ntbs),判定是否进行参考平滑处理以及使用哪个平滑滤波器。帧内预测模式索引是指示帧内预测模式的索引。
[0102]
图片间预测使用图片之间的时间相关性,以便导出图像样本块的被运动补偿了的预测。使用平移(translational)运动模型,由运动矢量(δx,δy)指示先前经解码的图片(参考图片)中的块的位置,其中δx指定参考块相对于当前块的位置的水平位移,δy指定参考块相对于当前块的位置的垂直位移。在一些情况下,运动矢量(δx,δy)可以是整数样本精度(也称为整数精度),在这种情况下,运动矢量指向参考帧的整数像素栅格(或整数像素采样栅格)。在一些情况下,运动矢量(δx,δy)可以具有分数采样精度(也称为分数像素精度或非整数精度),以更精确地捕捉底层对象的运动,而不限于参考帧的整数像素网格。运动矢量的精度可以由运动矢量的量化级别来表示。例如,量化级别可以是整数精度(例如,1像素)或分数像素精度(例如,1/4像素、1/2像素或其它子像素值)。当对应的运动矢量具有分数样本精度时,对参考图片进行插值以得出预测信号。例如,在整数位置可用的样本可以(例如,使用一个或多个插值滤波器)被滤波以估计分数位置处的值。先前经解码的参考图片由到参考图片列表的参考索引(refidx)指示。运动矢量和参考索引可以被称为运动参数。可以进行两种图片间预测,包括单向预测和双向预测。
[0103]
对于使用双向预测的帧间预测(也称为双向帧间预测),使用两个运动参数集合(δx0,y0,refidx0和δx1,y1,refidx1)来生成(来自相同的参考图片或可能来自不同的参考图片的)两个经运动补偿的预测。例如,对于双向预测,每个预测块使用两个经运动补偿的预测信号,并且生成b预测单元。两个经运动补偿的预测被组合以获得最终的经运动补偿的预测。例如,可以通过平均来组合两个经运动补偿的预测。在另一示例中,可以使用加权预测,在这种情况下,不同权重可以被应用于每个经运动补偿的预测。可以被用于双预测的参考图片被存储在分别表示为列表0和列表1的两个不同的列表中。可以在编码设备104处使用运动估计过程来导出运动参数。
[0104]
对于使用单向预测的帧间预测(也称为单向帧间预测),使用一个运动参数集合(δx0,y0,refidx0)来从参考图片生成经运动补偿的预测。例如,对于单向预测,每个预测块最多使用一个经运动补偿的预测信号,并且生成p个预测单元。
[0105]
pu可以包括与预测过程有关的数据(例如,运动参数或其它合适的数据)。例如,当使用帧内预测对pu进行编码时,pu可以包括描述pu的帧内预测模式的数据。作为另一示例,当使用帧间预测对pu进行编码时,pu可以包括定义用于pu的运动矢量的数据。定义pu的运动矢量的数据可以描述例如运动矢量的水平分量(δx)、运动矢量的垂直分量(δy)、运动矢量的分辨率(例如,整数精度、四分之一像素精度或八分之一像素精度)、运动矢量指向的参考图片、参考索引、运动矢量的参考图片列表(例如,列表0、列表1或列表c)、或其任何组合。
[0106]
av1包括用于对视频数据的编解码块进行编码和解码的两种通用技术。两种通用技术是帧内预测(例如,帧内预测或空间预测)和帧间预测(例如,帧间预测或时间预测)。在av1的上下文中,当使用帧内预测模式预测视频数据的当前帧的块时,编码设备104和解码设备112不使用来自视频数据的其它帧的视频数据。对于大多数帧内预测模式,视频编码设备104基于当前块中的样本值与从相同帧中的参考样本中生成的经预测值之间的差来对当前帧的块进行编码。视频编码设备104基于帧内预测模式来确定从参考样本中生成的经预测值。
[0107]
在使用帧内和/或帧间预测进行预测之后,编码设备104可以进行变换和量化。例如,在预测之后,编码器引擎106可以计算对应于pu的残差值。残差值可以包括正在被编解码的像素的当前块(pu)和用于预测当前块的预测块(例如,当前块的经预测版本)之间的像素差值。例如,在生成预测块(例如,发出帧间预测或帧内预测)之后,编码器引擎106可以通过从当前块减去由预测单元产生的预测块来生成残差块。残差块包括量化当前块的像素值与预测块的像素值之间的差的像素差值集合。在一些示例中,可以用二维块格式(例如,像素值的二维矩阵或阵列)来表示残差块。在这种示例中,残差块是像素值的二维表示。
[0108]
能够在进行预测之后剩余的任何残差数据使用块变换来变换,该块变换可以基于离散余弦变换、离散正弦变换、整数变换、小波变换、其它合适的变换函数、或其任何组合。在一些情况下,可以将一个或多个块变换(例如,大小32
×
32、16
×
16、8
×
8、4
×
4或其它合适的大小)应用于每个cu中的残差数据。在一些示例中,tu可以被用于由编码器引擎106实施的变换和量化过程。具有一个或多个pu的给定cu还可以包括一个或多个tu。如下文进一步详细描述的,可以使用块变换将残差值变换为变换系数,并且可以使用tu对其进行量化和扫描以产生用于熵编解码的串行化变换系数。
[0109]
在一些示例中,在使用cu的pu进行帧内预测性或帧间预测性编解码之后,编码器引擎106可以计算用于cu的tu的残差数据。pu可以包括空间域(或像素域)中的像素数据。tu可以包括应用块变换之后的变换域中的系数。如前所描述,残差数据可以对应于未编码图片的像素与对应于pu的预测值之间的像素差值。编码器引擎106可以形成包括用于cu的残差数据的tu,并且可以变换tu以产生用于cu的变换系数。
[0110]
编码器引擎106可以进行变换系数的量化。量化通过对变换系数进行量化来减少用于表示系数的数据量以提供进一步的压缩。例如,量化可以减少与这些系数中的一些或全部相关联的比特深度。在一个示例中,具有n比特值的系数可以在量化期间向下取整为m比特值,其中n大于m。
[0111]
一旦进行量化,经编解码视频比特流包括经量化变换系数、预测信息(例如,预测模式、运动矢量、块矢量等)、划分信息和任何其它合适的数据(例如,其它语法数据)。经编码视频比特流的不同元素可以由编码器引擎106熵编码。在一些示例中,编码器引擎106可以利用预定义扫描次序来扫描经量化变换系数以产生可以被熵编码的串行化矢量。在一些示例中,编码器引擎106可以进行自适应扫描。在对经量化变换系数进行扫描以形成矢量(例如,一维矢量)之后,编码器引擎106可以对该矢量进行熵编码。例如,编码器引擎106可以使用上下文自适应可变长度编解码、上下文自适应二进制算术编解码、基于语法的上下文自适应二进制算术编解码、概率间隔划分熵编解码、或其它合适的熵编码技术。
[0112]
编码设备104的输出110可以通过通信链路120将组成经编码视频比特流数据的
nal单元发出到接收设备的解码设备112。解码设备112的输入114可以接收nal单元。通信链路120可以包括由无线网络、有线网络或有线和无线网络的组合提供的信道。无线网络可以包括任何无线接口或无线接口的组合,并且可以包括任何合适的无线网络(例如,因特网或其它广域网、基于分组的网络、wifi
tm
、射频(rf)、uwb、wifi-direct、蜂窝、长期演进(lte)、wimax
tm
等)。有线网络可以包括任何有线接口(例如,光纤、以太网、电力线以太网、同轴电缆之上的以太网、数字信号线(dsl)等)。可以使用各种装备(诸如基站、路由器、接入点、网桥、网关、交换机等)来实施有线网络和/或无线网络。可以根据诸如无线通信协议之类的通信标准来调制经编码视频比特流数据,并且将其发送到接收设备。
[0113]
在一些示例中,编码设备104可以将经编码视频比特流数据存储在存储装置108中。输出110可以从编码器引擎106或者从存储装置108中检索经编码视频比特流数据。存储装置108可以包括多种分布式或本地访问的数据存储介质中的任何一种。例如,存储装置108可以包括硬盘驱动器、存储盘、闪存、易失性或非易失性存储器、或者用于存储经编码视频数据的任何其他合适的数字存储介质。存储装置108还可以包括用于存储参考图片以用于帧间预测的经解码图片缓冲器(dpb)。在另外的示例中,存储装置108可以对应于可以存储由源设备生成的经编码视频的文件服务器或另一中间存储设备。在这种情况下,包括解码设备112的接收设备可以经由流式传输或下载从存储设备中访问存储的视频数据。文件服务器可以是能够存储经编码视频数据并且将该经编码视频数据发送到接收设备的任何类型的服务器。示例文件服务器包括网页服务器(例如,用于网站)、ftp服务器、网络附连存储(nas)设备或者本地盘驱动器。接收设备可以通过任何标准数据连接(包括因特网连接)来访问经编码视频数据,并且可以包括适合于访问存储在文件服务器上的经编码视频数据的无线信道(例如,wi-fi连接)、有线连接(例如,dsl、电缆调制解调器等)、或两者的组合。来自存储装置108的经编码视频数据的传输可以是流传输、下载传输或其组合。
[0114]
解码设备112的输入114接收经编码视频比特流数据,并且可以将视频比特流数据提供到解码器引擎116、或提供到存储装置118以供稍后由解码器引擎116使用。例如,存储装置118可以包括用于存储用于帧间预测的参考图片的dpb。包括解码设备112的接收设备可以经由存储装置108接收要被解码的经编码视频数据。经编码视频数据可以根据诸如无线通信协议之类的通信标准而被调制,并且被发送至接收设备。用于发送的经编码视频数据的通信介质可以包括任何无线或有线通信介质,诸如射频(rf)频谱或者一条或多条物理传输线。通信介质可以形成基于分组的网络、诸如局域网、广域网或诸如因特网的全球网络的一部分。通信介质可以包括路由器、交换机、基站、或者可以用于促进从源设备到接收设备的通信的任何其它设备。
[0115]
解码器引擎116可以通过(例如,使用熵解码器)熵解码和提取组成经编码视频数据的一个或多个经编解码视频序列的元素来对经编码视频比特流数据进行解码。解码器引擎116可以重新缩放经编码视频比特流数据并且对其进行逆变换。残差数据被传递到解码器引擎116的预测阶段。解码器引擎116预测像素块(例如,pu)。在一些示例中,将预测加到逆变换的输出(残差数据)。
[0116]
解码设备112可以将经解码视频输出到视频目的地设备122,其可以包括显示器或其它输出设备以用于将经解码视频数据显示给内容的消费者。在一些方面,视频目的地设备122可以是包括解码设备112的接收设备的一部分。在一些方面,视频目的地设备122可以
是除接收设备以外的单独设备的一部分。
[0117]
在一些示例中,视频编码设备104和/或视频解码设备112可以分别与音频编码设备和音频解码设备集成。视频编码设备104和/或视频解码设备112还可以包括实施上述编解码技术所必需的其它硬件或软件,诸如一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑、软件、硬件、固件或其任何组合。视频编码设备104和视频解码设备112可以被集成为相应设备中的组合的编码器/解码器(编解码器)的一部分。下面参考图8描述了编码设备104的具体细节的示例。下面参考图9描述了解码设备112的具体细节的示例。
[0118]
图1所示的示例系统是可以在本文使用的一个说明性示例。用于使用本文中所描述的技术来处理视频数据的技术可以由任何数字视频编码和/或解码设备来进行。尽管通常通过视频编码设备或视频解码设备进行本公开的技术,但是该技术也可以由组合的视频编码器-解码器(通常称为“编解码器(codec)”)进行。此外,本公开的技术也可以由视频预处理器进行。源设备和接收设备仅仅是此类编解码设备的示例,其中源设备生成用于传输至接收设备的经编解码视频数据。在一些示例中,源设备和接收设备可以以基本上对称的方式进行操作,使得每个设备包括视频编码和解码组件。因此,示例系统可以支持视频设备之间的单向或双向视频传输,例如,用于视频流式传输、视频回放、视频广播或视频电话。
[0119]
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扩展对一个或多个增强层进行编解码。
[0120]
通常,层包括vcl nal单元集合和对应的非vcl nal单元集合。nal单元被分配特定的层id值。从层可以依赖于较低层的意义上讲,层可以是按层次的。层集合是指比特流内表示的自包含的层集合,意味着层集合内的层可以取决于解码过程中的层集合中的其它层,但不取决于用于解码的任何其它层。因此,层集合中的层可以形成可以表示视频内容的独立比特流。可以通过子比特流提取处理的操作从另一比特流获得层集合中的层的集合。层集合可以对应于解码器想要根据某些参数进行操作时要解码的层的集合。
[0121]
如先前所描述,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,可以针对给定切片识别活动参数集合。
[0122]
pps包括应用于给定图片中的所有切片的信息。在一些示例中,图片中的所有切片指代相同的pps。不同图片中的切片也可以指代相同的pps。sps包括应用于相同经编解码视频序列(cvs)或比特流中的所有图片的信息。如前所描述,经编解码视频序列是基本层中的随机访问点图片(例如,即时解码参考(idr)图片或中断链路访问(bla)图片,或其它适当的随机访问点图片)开始并且具有特定属性(如上所描述)直到并且不包括具有基本层中的随机访问点图片并且具有特定属性(或比特流的末尾)的下一au的一系列访问单元(au)。sps中的信息可以不随着经编解码视频序列内的图片发生变化。经编解码视频序列中的图片可以使用相同的sps。vps包括应用于经编解码视频序列或比特流内的全部层的信息。vps包括具有应用于整个经编解码视频序列的语法元素的语法结构。在一些实施例中,vps、sps或pps可以与经编码比特流一起在带内被发送。在一些实施例中,vps、sps或pps可以在与包含经编解码视频数据的nal单元不同的单独传输中在带外被发送。
[0123]
本公开一般可以涉及“发信号通知(signaling)”某些信息,诸如语法元素。术语“发信号通知”通常可以指代用于语法元素和/或用于对经编码视频数据进行解码的其它数据的值的通信。例如,视频编码设备104可以发信号通知比特流中的语法元素的值。一般来说,发信号通知是指在比特流中生成值。如上所描述,源设备102可以基本上实时地将比特流运送到目的地设备116,或非实时地将比特流运送到目的地设备116、诸如在将语法元素存储到存储装置112以供稍后由目的地设备116检索时可能发生。
[0124]
视频比特流还可以包括补充增强信息(sei)消息。例如,sei nal单元可以是视频比特流的一部分。在一些情况下,sei消息可以包含解码过程不需要的信息。例如,sei消息中的信息可以不是解码器解码比特流的视频图片所必要的,但是解码器可以使用此信息来改进图片的显示或处理(例如,经解码输出)。sei消息中的信息可以是嵌入的元数据。在一个说明性示例中,解码器侧实体可以使用sei消息中的信息以提高内容的可视性。在一些情况下,某些应用标准可能要求在比特流中存在这样的sei消息,使得质量的改进可以被带到符合应用标准的所有设备(例如,用于帧兼容平面立体3dtv视频格式的帧打包sei消息的载体(其中sei消息被携带用于视频的每个帧)、恢复点sei消息的处理、dvb中平移扫描(pan-scan)扫描矩形sei消息的使用、以及许多其它示例)。
[0125]
如上所描述,编码设备104可以通过使用帧内预测和/或帧内预测来对原始视频序列的图片的一个或多个块或矩形区域进行编码以移除空间冗余。解码设备112可以通过使用与编码设备104所使用的帧内预测模式相同的帧内预测模式来解码经编码块。帧内预测模式描述用于基于参考像素值计算正被编解码的区域中的像素值的不同变体或方法。在vvc标准中,可以基于帧内预测模式来选择一个或多个平滑滤波器和插值滤波器,并且随后将其应用于参考像素和/或当前块的帧内预测。在此方法中,对所有块大小应用用于帧内预测的平滑滤波器与插值滤波器之间的相同选择,例如,对所有可能块大小应用固定程度的平滑。在vvc标准中提供了不同的定向帧内预测模式。
[0126]
图2b示出了vvc中的定向帧内预测模式(也被称为“角度帧内预测模式”)的示例图200b。在一些示例中,平面和dc模式在vvc中保持与在hevc中相同。如图所示,偶数索引在2与66之间的帧内预测模式可以等效于33个hevc帧内预测模式,其中图2b的其余帧内预测模式表示vvc中的新添加的帧内预测模式。作为说明性示例,为了更好地捕捉在自然视频中呈现的任意边缘方向,vtm5(vvc测试模型5)中的定向帧内预测模式的数目从33个hevc方向增加到总共93个方向。在b.bross,j.chen,s.liu的“versatile video coding(draft 10)(多功能视频编解码(草案10)),”19th jvet meeting,teleconference,jul.2020,jvet-s2001(其在本文中以引用的方式全文并入并且用于所有目的)中更详细地描述了帧内预测模式。在一些示例中,在vvc标准中引入的较密集定向帧内预测模式可以应用于所有块大小以及亮度和色度帧内预测两者。在一些情况下,这些定向帧内预测模式可以与多个参考线(mrl)和/或与子帧内划分模式(isp)组合使用。在j.chen,y.ye,s.kim的“algorithm description for versatile video coding and test model 10(vtm10)(用于多功能视频编解码和测试模型10(vtm10)的算法描述),”19th jvet meeting,teleconference,jul.2020,jvet-s2002(其在本文中以引用的方式全文并入并且用于所有目的)中描述了进一步的细节。
[0127]
在一些示例中,可以利用依赖于模式的帧内平滑(mdis)来通过应用基于当前经编解码块的帧内预测模式的平滑滤波器和/或平滑类型来平滑帧内预测信号。图3是图示可以用于帧内预测的mdis过程300的示例的流程图。在说明性示例中,图3的示例mdis过程可以与vvc标准的mdis过程相同。示例mdis过程300可以用于选择特定插值滤波器和/或特定平滑滤波器以用于当前经编解码块的帧内预测。如下文将更深入地解释,在一些示例中,插值和/或平滑滤波器的选择可以至少部分地基于当前经编解码块的帧内预测模式。
[0128]
示例mdis过程300可以通过确定当前经编解码块的帧内预测模式是水平帧内预测模式还是垂直帧内预测模式而在操作302处开始。参照图2b所示的定向帧内预测模式,水平帧内预测模式被指示为模式18,并且垂直帧内预测模式被指示为模式50。响应于在操作302处确定帧内预测模式是水平模式还是垂直模式(例如,302的“是”输出),示例mdis过程可以前进到操作304。如图所示,操作304使得mdis过程结束而不进行参考像素平滑或应用插值滤波器。在一些示例中,可以针对水平和垂直帧内预测模式不进行平滑或插值,因为这两种模式的参考像素值可以在确定当前块的经预测像素值时被直接复制。
[0129]
如果帧内预测模式不是水平或垂直模式(例如,操作302的“否”输出),则示例mdis过程可以进行到确定当前块是否需要平滑。如图所示,可以在操作306处至少部分地基于当前块的帧内预测模式来确定是否应当针对当前块进行平滑。例如,可以使用帧内预测模式来计算最小距离mindistverhor,例如,其中mindistverhor是{|帧内预测模式号-垂直帧内预测模式号|,|帧内预测模式号-水平帧内预测模式号|}中的最小值。最小距离mindistverhor也可以被称为最小角度偏移和/或最小角度距离。在说明性示例中,垂直帧内预测模式号可以是50并且水平帧内预测模式号可以是18。因此,如果当前块的帧内预测模式号是30,则最小角度偏移可以被计算为min{|30-50|,|30-18|}=min{20,12}=12。
[0130]
在操作306中,然后可以将最小角度偏移mindistverhor与阈值intrahorverdistthres[ntbs]进行比较,该阈值在一些示例中可以是由vvc标准给出的预定阈值,例如通过将当前变换块大小ntbs作为索引提供给查找函数或查找表
intrahorverdistthres而被确定。如图3所示,如果最小角度偏移mindistverhoris不大于阈值intrahorverdistthres[ntbs],则操作306可以确定当前块不需要平滑,例如306的“否”输出。
[0131]
如果不需要平滑,则示例mdis过程然后可以从操作306进行到操作307,其被示出为在没有任何参考像素平滑的情况下应用插值滤波器。在一些示例中,由操作307应用的插值滤波器可以为立方插值滤波器,诸如图3中所示的4抽头(6位)立方插值滤波器。因为操作306确定不需要直接参考像素平滑,所以操作307可以仅应用4抽头立方插值滤波器——例如,因为在操作306中指示了帧内预测模式在距水平模式或垂直模式的阈值距离内的最小角度偏移,所以不进行参考像素平滑。
[0132]
如果操作306确定最小角度偏移mindistverhoris大于阈值intrahorverdistthres[ntbs],则操作306可以确定当前块需要平滑,例如“是”输出。响应于需要平滑的确定,可以在后续操作308中进一步分析用于当前块的帧内预测模式。
[0133]
在一些示例中,操作308可以分析用于当前块的帧内预测模式以确定其是整数倾斜帧内预测模式还是分数倾斜帧内预测模式(也被分别称为“整数角度模式”和“分数角度模式”)。如先前所提及,整数角度模式与当前块的特定整数值参考像素位置相关联,而分数角度模式不与其相关联。相反,分数角度模式与相邻整数值参考像素位置之间的某个中间(例如,分数)位置相关联。
[0134]
基于操作308确定用于当前块的帧内预测模式是整数角度模式(例如,308的“是”输出),然后操作308可以进行到操作309。如图所示,操作309可以进行参考像素平滑而不进行插值,例如,因为在一些情况下,确定对于整数角度模式不需要插值。例如,因为整数角度帧内预测模式可以直接利用参考像素值,所以仅进行参考像素平滑。在一些示例中,操作309的参考像素平滑可以通过应用低通滤波器(诸如[1 2 1]滤波器)来进行,该低通滤波器计算由参考像素值的两倍加上紧邻的左侧和右侧(或顶侧和底侧)参考像素位置的值所组成的总和的平均值。
[0135]
基于操作308确定当前块的帧内预测模式是分数角度模式(例如,非整数角度模式;308的“否”输出),然后在一些情况下,后续操作310可以计算用于与帧内预测模式相关联的分数参考像素位置的被插值的值。例如,操作310可以计算插值分数参考像素位置值,其可以基于从一个或多个相邻整数值参考像素位置获得的一个或多个参考像素值来计算。回想先前在操作306中确定应当进行平滑以用于当前块的帧内预测(例如,因为操作306确定最小角度偏移mindistverhor》阈值intrahorverdistthres[ntbs]),操作308的“否”输出可以对应于其中将平滑和插值两者应用于当前块的情形。
[0136]
在一些示例中并且如图3中所说明,可以在单个组合的步骤中(例如,通过应用平滑插值滤波器)进行平滑和插值操作。在说明性示例中,可以将平滑插值滤波器设置为高斯插值滤波器,其同时平滑生成的帧内预测信号并且插值分数参考像素位置值。平滑插值滤波器、诸如前述的高斯平滑插值滤波器可以在不进行直接参考像素平滑的情况下应用平滑。在一些示例中,平滑插值滤波器可以包括4抽头(6位)高斯插值滤波器,如操作310所示。
[0137]
注意,在图3的示例mdis过程300的上下文中,mdis过程(和vvc标准)不使用基于块大小或其它特性的可变平滑度。在一些示例中,本文所描述的系统和技术可以至少部分地基于包括(但不限于)当前块的帧内预测模式、当前块的大小、当前块的宽度,当前块的高度
等的因素来提供可变平滑度和/或插值。
[0138]
在一些情况下,视频编解码技术可以包括使用具有主参考线扩展(mrl)和/或子帧内划分模式(isp)中的一者或多者的定向帧内预测模式以便进行帧内预测。在说明性示例中,帧内预测可以包括使用一个或多个侧参考像素来扩展主参考像素线以用于帧内预测。
[0139]
图4图示了使用一个或多个侧参考像素的参考线扩展的示例图400。针对当前经编解码块405所描绘的是参考像素410的上侧线,其包括一系列计算的参考行扩展像素420。还示出了左侧参考像素集合430。对于垂直模式的帧内预测(例如,帧内预测模式≥34,不与特定垂直帧内预测模式50混淆),可以使用来自当前经编解码块405的左侧参考像素430中的一个或多个像素来扩展参考像素410的上侧线,例如,通过生成或以其它方式计算参考线扩展像素420的值。可以使用参考线扩展像素420的计算来扩展参考像素410的上侧线的长度以扩展超过当前块405的最左侧边缘,如图4中所说明。
[0140]
在当前的vvc标准中,可以通过识别左侧参考像素430中的最近邻居来扩展参考像素410的上侧线,其中将所识别的最近邻居的值设定为等于参考线扩展像素420中的至少一者的值。在说明性示例中,图4描绘了位于参考像素410的上侧线的参考线扩展像素420中的点p(例如,在423处指示)。上侧参考像素线410基于左侧参考像素430被扩展。在当前vvc标准中,参考线扩展处理通过确定左侧参考像素430中的哪一个是扩展参考线像素p/423的最近邻居、然后将扩展参考线像素p的值设置为等于左侧参考像素430中的所识别的最近邻居的值而进行。在图4的图示中,左侧参考像素430的列中的最近邻居被表示为x1,并且因此x1位置处的像素值被用于创建扩展参考线像素p(例如,423)。可以使用此方法将参考像素的上侧线410扩展到所需长度,并且随后使用由原始参考像素的上侧线410和参考线扩展像素420形成的扩展参考线进行帧内预测。在一些示例中,类似过程也可以应用于水平模式的帧内预测(例如,帧内预测模式》=34,不与特定水平帧内预测模式18混淆),其中将上侧参考线中的所识别的最近邻居像素的值投影以扩展左侧参考像素线。
[0141]
在jvet-d0119中已经提出了对vvc帧内预测过程的各种改进,其在x.zhao,v.seregin,m.karczewicz的“six tap intra interpolation filter(六抽头内插滤波器)”,4th jvet meeting,chengdu,cn,oct.2016,jvet-d0119(其在本文中以引用的方式全文并入并且用于所有目的)中被描述。例如,jvet-d0119提出通过引入以下两种方法来改进帧内预测过程:(1)使用6抽头(8位)立方插值代替如上所描述的4抽头(6位)立方插值来进行图3的示例mdis过程;以及(2)使用相同的4抽头(6位)立方插值(再一次,如以上关于图3的示例mdis过程所描述的)来进行关于图4所描述的示例参考线扩展,代替投影最近的邻居像素值。
[0142]
如先前所描述,在一些示例中,较大的块大小可以受益于在帧内预测期间应用较高的平滑度。然而,vvc针对所有块大小使用固定的平滑度(例如,4抽头高斯插值或[1 2 1]滤波),根据以上观察,这可能导致低效或更不高效的帧内预测。关于上文所论述的jvet-d0119,使用4抽头立方插值来扩展参考像素的一个或多个线(例如,上侧和/或左侧参考像素线)可能是有问题的,因为当使用经扩展参考线的(多个)经扩展部分进行帧内预测时,其可能导致过平滑,从而将不准确性和/或低效率引入到整个帧内预测过程。
[0143]
例如,在这种情况下可能发生过平滑,因为经扩展参考线的扩展像素经受至少两个不同的插值操作,每个插值操作引入一定程度的平滑和边缘退化。第一插值操作是4抽头
立方插值,以分别基于离左侧/上侧参考像素最近的相邻值来确定扩展的上侧/左侧参考像素线值。经扩展参考像素线的经插值参考像素值可以随后在用于当前块的帧内预测期间被包括于第二插值操作中,诸如关于图3的示例性mdis过程所描述的插值操作。例如,经扩展参考像素线的经插值参考像素值可以被用于4抽头立方插值、4抽头高斯平滑插值和/或低通[1 2 1]参考像素平滑中的一个或多个中,其每一者可能导致整个帧内预测过程中的过平滑。
[0144]
如先前所描述,本文描述了用于使用一个或多个增强型插值滤波器来进行帧内预测的系统和技术。该系统和技术可以由编码设备104、解码设备112,由编码设备104和解码设备112两者和/或由其它设备进行。本文描述的方面可以被独立地和/或以组合方式应用。在一些示例中,本文所描述的系统和技术可以被用于进行一个或多个帧内预测模式(例如,用于在应用帧内预测模式期间或与应用帧内预测模式一起使用的滤波)。
[0145]
在一些示例中,本文所描述的系统和技术可以提供具有块级别切换的可变程度的参考像素平滑。例如,各自具有不同平滑度的多个平滑滤波器和/或高斯插值滤波器(也称为“高斯平滑插值滤波器”)可以被用于在插值期间平滑参考像素。在一些情况下,可以在不同编解码级别(例如,每预测块、每编解码块、每ctu、每切片和/或在序列(例如,在sps中)级别)显式地发信号通知所确定的平滑滤波器和/或所确定的插值滤波器的选择。在一些示例中,所确定的平滑和/或插值滤波器的选择可以使用经解码信息被隐式地确定,该经解码信息可以包括但不限于块大小、预测模式、qp和/或cu级别模式标志(mrl、isp等),在该情况下不需要滤波器选择的显式信令。例如,在一些示例中,编码设备104和/或解码设备112可以基于当前经编解码块具有特定大小、具有大于阈值的宽度和/或高度、具有小于阈值的宽度和/或高度等的确定来隐式地确定或选择用于帧内预测中的平滑滤波器和/或插值滤波器。
[0146]
在一个说明性示例中,分数角度(例如,非整数角度)帧内预测模式的处理可以从vvc标准中所描述的方法扩展,以包括在应用较高平滑度的第一高斯平滑插值滤波器与应用较低平滑度的至少第二高斯平滑插值滤波器之间进行选择。如先前关于图3所讨论,由vvc标准所使用的方法针对所有分数角度帧内预测模式使用相同的4抽头高斯平滑插值滤波器,而不管当前经编解码块的大小如何。
[0147]
图5是图示用于进行可切换平滑和/或插值以至少基于当前块的帧内预测模式和当前块的大小来应用可变程度的帧内预测平滑的过程500的示例的示例图。在上文刚刚讨论的示例的上下文中,当前所揭示的用于使用增强型插值滤波器的帧内预测的系统和技术可以包括:对于分数角度帧内预测模式,在包括6抽头高斯平滑插值滤波器的第一滤波器与包括4抽头高斯平滑插值滤波器的第二滤波器之间进行选择。6抽头高斯平滑插值滤波器可以应用比4抽头高斯平滑插值滤波器更高的平滑度。在一些示例中,图5的4抽头高斯平滑插值滤波器可以与关于图3的示例vvc mdis过程300描述的4抽头高斯平滑插值滤波器相同或类似。在一些示例中,滤波、插值和/或平滑度选择过程可以取决于当前经编解码块的块大小而是隐式的,如图5中所见。
[0148]
在一些示例中,除了操作510(例如,将当前经编解码块的宽度和当前经编解码块的高度中的一者或多者与至少第一阈值t进行比较)和后续操作512(例如,响应于第一阈值t被超过,选择并且应用具有相对较高平滑度的6抽头高斯平滑插值滤波器)和514(例如,响应于第一阈值t未被超过,选择并且应用具有相对较低平滑度的4抽头高斯平滑插值滤波
器)之外,图5中所图示的用于具有块级别切换的参考像素的可变平滑度滤波和插值过程可以与图3的示例vvc mdis过程相同或类似。
[0149]
在操作502处,该过程可以确定当前经编解码块的帧内预测模式是水平帧内预测模式(例如,模式18)还是垂直帧内预测模式(例如,模式50)。如果帧内预测模式是水平模式或垂直模式,那么该过程在框504处确定不进行参考像素平滑(在图5中称为“参考像素(ref pel)平滑”)并且不进行插值滤波,如先前关于图3的示例mdis过程所描述。该过程接着可以继续以处理当前经编解码块,并且在不应用参考像素平滑或插值滤波的情况下进行帧内预测。
[0150]
在操作506处,该过程可以确定最小角度偏移mindistverhor是否大于阈值intrahorverdistthres[ntbs]。在一些情况下,mindistverhor和/或intrahorverdistthres[ntbs]中的一个或多个可以与以上关于图3的示例mdis过程讨论的对应变量值相同或相似。在说明性示例中,可以将角度偏移变量mindistverhor设定为等于min(abs(predmodeintra-50),abs(predmodeintra-18)),其中predmodeintra指示帧内预测模式号,50为垂直帧内预测模式号,并且18为水平帧内预测模式号。在一些情况下,predmodeintra可以被设定为等于ntrapredmodey[xcb][ycb]或intrapredmodec[xcb][ycb]。在一些示例中,对于当前经编解码的变换块大小ntbs的不同值,阈值变量intrahorverdistthres[ntbs]可以如以下表2中指定的那样给出:
[0151][0152]
表2-用于各种变换块大小ntbs的阈值变量intrahorverdistthres[ntbs]的规范
[0153]
在一些示例中,如果操作506确定角度偏移mindistverhor不大于阈值变量intrahorverdistthres[ntbs]的值(例如,mindistverhor≤intrahorverdistthres[ntbs]),那么该过程可以在操作507处确定不进行参考像素平滑,并且可以进一步确定将4抽头立方插值滤波器应用于当前经编解码块的帧内预测。例如,该过程可以应用4抽头立方滤波器来预测或插值一个或多个参考像素而不进行任何参考像素平滑。
[0154]
在操作506确定角度偏移mindistverhor大于阈值intrahorverdistthres[ntbs]的情况下,(例如,mindistverhor》intrahorverdistthres[ntbs]),该过程随后可以在操作508处确定在当前经编解码块的帧内预测模式中是否存在整数角度模式,如先前关于图3的示例mdis过程所描述的。
[0155]
在一个示例中,当操作508确定在当前经编解码块的帧内预测模式中存在整数角度模式时,那么该过程可以在操作509处确定使用低通滤波器进行参考像素平滑而不进行插值滤波。然后,在使用[1 2 1]滤波器进行参考像素平滑以平滑参考像素之后,该过程可以在操作509处终止。不进行插值,并且直接复制经平滑的参考像素以用于当前经编解码块的帧内预测。
[0156]
在一个示例中,当操作508确定在当前经编解码块的帧内预测模式中存在分数(例如,非整数)角度模式时,该过程可以进行到操作510,其可以确定块的宽度是否大于或等于阈值t和/或块的高度是否大于或等于阈值t。在一些示例中,操作510可以包括确定块的宽
度和块的高度中的哪个(哪些)大于或等于阈值t。在一些示例中,阈值t的值可以是预定值,例如16、32、64、或者一个或多个其他预定值。
[0157]
在操作510处块的宽度和块的高度被确定为大于或等于阈值t(例如,高度≥t&&宽度≥t)的情况下,该过程随后可以在操作512处确定不进行参考像素平滑,并且通过将6抽头高斯平滑插值滤波器应用于当前经编解码块的帧内预测而终止。例如,该过程可以应用6抽头高斯平滑插值滤波器来预测当前块的一个或多个像素而无需任何参考像素平滑。
[0158]
在块的宽度或块的高度不大于或等于阈值t(例如,高度《t和/或宽度《t)的情况下,该过程可以在操作514处确定不进行参考像素平滑,并且通过应用4抽头高斯平滑插值滤波器来终止。例如,该过程可以应用4抽头(6位)高斯平滑插值滤波器来预测当前经编解码块的一个或多个像素,而无需任何参考像素平滑。如先前所描述,操作514的4抽头高斯平滑插值滤波器可以应用比操作512的6抽头高斯平滑插值滤波器更小的平滑度,例如,因为响应于操作510确定当前经编解码块具有相对小的块大小而触发操作514。类似地,回想到6抽头高斯平滑插值滤波器应用更大的平滑度,并且与更小的块大小相比更大的块大小可以受益于更大的平滑,操作512的6抽头高斯平滑插值滤波器可以部分地响应于操作510确定当前经编解码块具有相对大的块大小而被触发。
[0159]
在一些情况下,可以使用[1 4 6 4 1]低通滤波器与双线性滤波器的一个或多个不同相位的卷积来导出在操作514中应用的示例6抽头高斯平滑插值滤波器。
[0160]
在一个说明性示例中,诸如对于其中操作508确定当前经编解码块的帧内预测模式为整数角度模式的情形,可以将图5中所描绘的操作509扩展为包括将较大抽头平滑滤波器(例如,[1 4 6 4 1]低通滤波器,未示出)与当前描绘为与操作509相关联地应用的较小[1 2 1]低通滤波器之间进行选择。在一些示例中,在较大抽头[1 4 6 4 1]滤波器与较小抽头[1 2 1]滤波器之间进行选择的选择标准可以以与操作510中实施的选择标准相同或相似的方式来进行。例如,可以将当前经编解码块的宽度和当前经编解码块的高度中的一者或多者与至少一个阈值进行比较,其中较大块(例如,被确定为大于或等于该阈值)具有应用于帧内预测的较大抽头[1 4 6 4 1]滤波器,并且较小块(例如,被确定为小于该阈值)具有应用于帧内预测的较小抽头[1 2 1]滤波器。在一些情况下,在操作509的整数角度参考像素平滑被扩展以基于当前经编解码块大小在不同抽头滤波器和/或平滑度之间进行选择的示例中,可以使用关于操作510描述的基于诸如块大小等因素的一个或多个相同或相似的显式和/或显式选择过程。
[0161]
在一些示例中,本文所描述的系统和技术可以针对参考线扩展进行弱滤波插值,例如,避免或最小化上文所论述的当参考线扩展基于4抽头立方插值并且随后在帧内预测期间经受另一插值时可能发生的过平滑问题。例如,代替使用4抽头立方滤波来插值参考线扩展像素的值(例如,基于垂直像素参考的最近相邻像素值插值),可以使用较弱的基于滤波器的插值来减少或减轻否则可能在扩展参考线的上下文中出现的可能的过平滑问题。通过利用较弱的插值来确定参考线扩展像素的值,剩余的帧内预测过程以及本文中所描述的其相关联的插值和平滑操作可以保持相同,而不引起上述过平滑问题。
[0162]
在一个说明性示例中,可以使用4抽头基于sinc的插值(例如,具有适当的开窗)来提供弱插值,以用于计算参考线扩展像素的被插值的值。在一些示例中,4抽头基于sinc的插值可以弱于立方插值,诸如4抽头立方插值(例如,具有较高截止频率)。在说明性示例中,
参考线扩展像素的弱插值可以被提供为6位4抽头弱滤波器,下文提供其示例(注意,位置(32-i)/32处的系数为i/32的镜像版本):
[0163]
{0,64,0,0},//0/32位置
[0164]
{-1,64,1,0},//1/32位置
[0165]
{-3,65,3,-1},//2/32位置
[0166]
{-3,63,5,-1},//3/32位置
[0167]
{-4,63,6,-1},//4/32位置
[0168]
{-5,62,9,-2},//5/32位置
[0169]
{-5,60,11,-2},//6/32位置
[0170]
{-5,58,13,-2},//7/32位置
[0171]
{-6,57,16,-3},//8/32位置
[0172]
{-6,55,18,-3},//9/32位置
[0173]
{-7,54,21,-4},//10/32位置
[0174]
{-7,52,23,-4},//11/32位置
[0175]
{-6,48,26,-4},//12/32位置
[0176]
{-7,47,29,-5},//13/32位置
[0177]
{-6,43,32,-5},//14/32位置
[0178]
{-6,41,34,-5},//15/32位置
[0179]
{-5,37,37,-5},//16/32位置
[0180]
该系统和技术允许使用增强型插值滤波器来进行预测(例如,帧内预测)。在一些示例中,本文所描述的系统和技术可以提供优于利用多个插值滤波器的其它技术的优点。例如,在一些情况下,可以在一个块、切片、瓦片和/或图片内应用例如具有不同插值滤波器抽头的多个插值滤波器。在一个示例中,插值滤波器类型和插值滤波器抽头(长度)可以取决于块的高度和/或宽度、块形状(宽度对高度的比率)、块区域大小、帧内预测模式和/或相邻经解码信息,包括(但不限于)经重构样本值和帧内预测模式等。在此类情况下,当帧内预测是类似垂直的角度帧内预测模式时,并且如果宽度小于或等于8或其它大小,则使用6抽头sextic插值滤波器;否则,使用4抽头高斯插值滤波器。当帧内预测是类似水平的帧内预测模式时,并且如果宽度小于或等于8或其它大小,则使用6抽头sextic插值滤波器,否则,使用4抽头高斯插值滤波器。在使用本文所描述的系统和技术的一个示例中,如果编解码块的宽度和高度大于或等于阈值t,那么使用6抽头高斯滤波器(并且不应用像素平滑);否则,使用4抽头高斯滤波器(并且不应用像素平滑)。
[0181]
图6是图示用于处理图像和/或视频数据的过程600的示例的流程图。在框602处,过程600可以包括确定用于预测视频数据块的帧内预测模式。
[0182]
在框604处,过程600可以包括确定用于该视频数据块的平滑滤波器的类型。例如,过程600可以至少部分地基于将该视频数据块的宽度和该视频数据块的高度中的至少一者与第一阈值进行比较来确定该平滑滤波器的该类型。在一些方面,在视频比特流中发信号通知平滑滤波器的该类型。在一些情况下,针对预测块、编解码块、编解码树单元(ctu)、切片或序列的集合中的各个发信号通知平滑滤波器的该类型。在框606处,过程600可以包括使用确定的该平滑滤波器的该类型以及该帧内预测模式,对该视频数据块进行帧内预测。
[0183]
在一些示例中,过程600可以包括至少部分地基于对该块的该宽度和该块的该高度中的至少一者大于该第一阈值的确定,使用第一平滑插值滤波器作为确定的平滑滤波器的该类型。在一个说明性示例中,该第一平滑插值滤波器包括6抽头高斯滤波器。在此类示例中,过程600还可以包括使用该第一平滑插值滤波器,确定用于该视频数据块的帧内预测的参考像素。
[0184]
在一些示例中,过程600可以包括至少部分地基于确定该块的该宽度和该块的该高度中的至少一者不大于(例如,小于)该第一阈值来使用第二平滑插值滤波器作为确定的平滑滤波器的该类型。在一个说明性示例中,该第二平滑插值滤波器包括4抽头高斯滤波器。在此类示例中,过程600还可以包括使用该第二平滑插值滤波器,确定用于该视频数据块的帧内预测的参考像素。
[0185]
在一些情况下,过程600可以包括确定该帧内预测模式的角度方向与垂直帧内预测模式和水平帧内预测模式中的一者之间的最小偏移。过程600还可以包括基于将确定的该最小偏移与第二阈值进行比较来确定用于该视频数据块的平滑滤波器的该类型。在一个示例中,过程600可以包括至少部分地基于对确定的该最小偏移大于该第二阈值的确定、以及对该帧内预测模式是与整数值参考像素位置相关联的整数角度模式的确定,将低通滤波器确定为平滑滤波器的该类型。在一个说明性示例中,该低通滤波器包括[1 2 1]滤波器,并且在不进行插值的情况下进行参考像素平滑。
[0186]
在另一示例中,过程600可以包括至少部分地基于对确定的该最小偏移大于该第二阈值的确定、以及对该帧内预测模式是与分数值参考像素位置相关联的分数角度模式的确定,将高斯滤波器确定为平滑滤波器的该类型。在一些情况下,该高斯滤波器在不进行参考像素平滑的情况下进行平滑插值。在一个说明性示例中,基于对该块的该宽度和该块的该高度中的至少一者大于该第一阈值的确定,该高斯滤波器包括6抽头高斯滤波器。在另一说明性示例中,基于对该块的该宽度和该块的该高度中的至少一者不大于该第一阈值的确定,该高斯滤波器包括4抽头高斯滤波器。
[0187]
在一些方面,过程600可以包括至少部分地基于对确定的该最小偏移不大于(例如,小于)该第二阈值的确定,使用插值滤波器作为确定的平滑滤波器的该类型。在一个说明性示例中,该插值滤波器包括4抽头立方滤波器。过程600还可以包括在不应用参考像素平滑的情况下使用该插值滤波器对该视频数据块进行帧内预测。
[0188]
在一些示例中,过程600可以包括至少部分地基于对该帧内预测模式是整数角度模式的确定、以及对确定的该最小偏移大于该第二阈值的确定,将低通滤波器确定为平滑滤波器的该类型。在一些情况下,过程600可以包括至少部分地基于对该块的该宽度、该块的该高度、或者该块的该宽度和该高度大于该第一阈值的确定来使用大抽头低通滤波器进行参考像素平滑。该大抽头低通滤波器应用比小抽头低通滤波器更大程度的参考像素平滑。在一些情况下,过程600可以包括至少部分地基于对该块的该宽度、该块的该高度、或者该块的该宽度和该高度不大于(例如,小于)该第一阈值的确定来使用小抽头低通滤波器进行参考像素平滑。该小抽头低通滤波器应用比大抽头低通滤波器更小程度的参考像素平滑。
[0189]
在一些情况下,过程600可以包括至少部分地基于将该帧内预测模式的斜率与从该块的该宽度和该块的该高度中确定的一个或多个像素位置进行比较,确定该帧内预测模
式为整数角度模式。
[0190]
在一些方面,过程600可以包括确定该帧内预测模式的角度方向与垂直帧内预测模式或水平帧内预测模式之间的偏移小于第二阈值。过程600还可以包括基于确定该帧内预测模式的该角度方向与该垂直帧内预测模式或该水平帧内预测模式之间的该偏移小于该第二阈值,使用立方插值滤波器对该视频数据块进行帧内预测。
[0191]
在一些示例中,过程600可以包括使用弱插值滤波器进行参考线扩展。在一些情况下,在使用该立方插值滤波器进行该帧内预测之前,使用该弱插值滤波器进行该参考线扩展。在一些情况下,该立方插值滤波器具有比该弱插值滤波器更高的截止频率,并且比该弱插值滤波器应用更大程度的平滑。在一些方面,该弱插值滤波器包含4抽头基于sinc的插值滤波器以及6位4抽头插值滤波器。
[0192]
在一些方面,过程600可以包括在不使用在视频比特流中显式地发信号通知的信息的情况下基于该块的该宽度、该块的该高度、或者该块的该宽度和该高度来确定平滑滤波器的该类型。
[0193]
在一些情况下,过程600可以由解码设备(例如,图1和图8的解码设备112)进行。例如,过程600还可以包括确定用于该视频数据块的残差数据块。过程600还可以包括使用该残差数据块以及基于对该视频数据块进行该帧内预测而被确定的预测性块,解码该视频数据块。
[0194]
在一些情况下,过程600可以由编码设备(例如,图1和图7的编码设备104)进行。例如,过程600可以包括生成包括与该视频数据块相关联的信息的经编码视频比特流。在一些示例中,过程600可以包括存储该经编码视频比特流(例如,在该装置的该至少一个存储器中)。在一些示例中,过程600可以包括发送该经编码视频比特流(例如,使用该装置的发送器)。
[0195]
在一些实施方式中,本文所描述的过程(或方法)可以由诸如图1所示的系统100等计算设备或装置来进行。例如,可以由图1和图8中所示的编码设备104、由另一视频源侧设备或视频传输设备、由图1和图9中所示的解码设备112、和/或由另一客户端侧设备(诸如播放器设备、显示器或任何其它客户端侧设备)来进行这些处理。在一些情况下,计算设备或装置可以包括处理器、微处理器、微型计算机或被配置为执行本文所描述过程的步骤的设备的其它组件。在一些示例中,计算设备或装置可以包括被配置为捕获包括视频帧的视频数据(例如,视频序列)的相机。在一些示例中,捕获该视频数据的相机或其他捕获设备与该计算设备分离,在这种情况下,该计算设备接收或获得捕获的该视频数据。该计算设备还可以包括被配置为通信该视频数据的网络接口。网络接口可以被配置为通信基于互联网协议(ip)的数据或其它类型的数据。在一些示例中,计算设备或装置可以包括用于显示输出视频内容、诸如视频比特流的图片的样本的显示器。
[0196]
可以相对于逻辑流程图来描述这些过程,逻辑流程图的操作表示可以用硬件、计算机指令或其组合来实施的操作序列。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行时,该计算机可执行指令执行所描述的操作。通常,计算机可执行指令包括执行特定功能或实施特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不意在被解释为限制性的,并且可以以任何顺序和/或并行地组合任何数目的所描述的操作以实施该过程。
[0197]
另外,该过程可以在配置有可执行指令的一个或多个计算机系统的控制下进行,并且可以被实施为代码(例如,可执行指令、一个或多个计算机程序、或者一个或多个应用),其由硬件或其组合在一个或多个处理器上共同执行。如上所描述,代码可以例如以包括可以由一个或多个处理器执行的多个指令的计算机程序的形式被存储在计算机可读或机器可读存储介质上。计算机可读或机器可读存储介质可以是非暂时性的。
[0198]
本文所讨论的编解码技术可以被实施于示例视频编码和解码系统(例如,系统100)中。在一些示例中,系统包括提供将由目的地设备在稍后时间解码的经编码视频数据的源设备。特别地,源设备通过计算机可读介质向目的地设备提供视频数据。源设备和目的地设备可以包括广泛的设备中的任何一种,包括台式计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、诸如所谓“智能”电话之类的电话手持设备、所谓的“智能”平板、电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输设备等。在一些情况下,源设备和目的地设备可以被装备以用于无线通信。
[0199]
目的地设备可以经由计算机可读介质接收待被解码的经编码视频数据。计算机可读介质可以包括能够将经编码视频数据从源设备移动到目的地设备的任何类型的介质或设备。在一个示例中,计算机可读介质可以包括通信介质以使得源设备实时地将经编码视频数据直接发送到目的地设备。可以根据通信标准(诸如无线通信协议)来调制经编码视频数据,并且将其发送到目的地设备。通信介质可以包括任何无线或有线通信介质,诸如射频(rf)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络的一部分,诸如局域网、广域网或诸如因特网的全球网络。通信介质可以包括路由器、交换机、基站或可以用于促进从源设备到目的地设备的通信的任何其他设备。
[0200]
在一些示例中,经编码数据可以从输出接口输出到存储设备。类似地,经编码数据可以通过输入接口从存储设备访问。存储设备可以包括各种分布式或本地接入的数据存储介质中的任何一种,诸如硬盘驱动器、蓝光光盘、dvd、cd-rom、闪存、易失性或非易失性存储器,或者用于存储经编码视频数据的任何其他合适的数字存储介质。在另一示例中,存储设备可以对应于文件服务器或可以存储由源设备生成的经编码视频的另一中间存储设备。目的地设备可以经由流式传输或下载来从存储设备访问所存储视频数据。文件服务器可以是能够存储经编码视频数据并且将此经编码视频数据发送至目的地设备的任何类型的服务器。示例文件服务器包括网页服务器(例如,用于网站)、ftp服务器、网络附连存储(nas)设备或者本地盘驱动器。目的地设备可以通过包括因特网连接的任何标准数据连接来访问经编码视频数据。这可以包括适合访问存储在文件服务器上的经编码视频数据的无线信道(例如,wi-fi连接)、有线连接(例如,dsl、电缆调制解调器等)或两者的组合。从存储设备发送经编码视频数据可以是流发送、下载发送或其组合。
[0201]
本公开的技术不必限于无线应用或设置。该技术可以应用于支持多种多媒体应用中的任一者的视频编解码,该多媒体应用诸如为空中电视广播、有线电视传输、卫星电视传输、因特网流式视频传输(诸如http之上的动态自适应流式传输(dash))、编码到数据存储介质上的数字视频、存储在数据存储介质上的数字视频的解码、或者其它应用。在一些示例中,系统可以被配置为支持单向或双向视频传输以支持诸如视频流式传输、视频回放、视频广播和/或视频电话的应用。
[0202]
在一个示例中,源设备包括视频源、视频编码器和输出接口。目的地设备可以包括
输入接口、视频解码器和显示设备。源设备的视频编码器可以被配置为应用本文中所揭示的技术。在其它示例中,源设备和目的地设备可以包括其它组件或布置。例如,源设备可以从外部视频源(诸如外部相机)接收视频数据。同样地,目的地设备可以与外部显示设备接口,而不是包括集成显示设备。
[0203]
上述示例系统仅仅是一个示例。用于并行处理视频数据的技术可以由任何数字视频编码和/或解码设备来进行。尽管本公开的技术通常由视频编码设备进行,但是这些技术也可以由视频编码器/解码器进行,其通常称为“codec(编解码器)”。此外,本公开的技术还可以由视频预处理器进行。源设备和目的地设备仅仅是此类编解码设备的示例,其中源设备生成经编解码视频数据以用于传输到目的地设备。在一些示例中,源设备和目的地设备可以以基本对称的方式操作,使得设备中的每一个包括视频编码和解码组件。因此,示例系统可以支持视频设备之间的单向或双向视频传输,例如,以用于视频流式传输、视频回放、视频广播或视频电话。
[0204]
视频源可以包括视频捕获设备,诸如摄像机、包含先前捕获的视频的视频档案、和/或从视频内容提供者接收视频的视频馈送接口。作为另一备选,视频源可以生成基于计算机图形的数据作为源视频,或者实况视频、存档视频和计算机生成的视频的组合。在一些情况下,如果视频源是摄像机,则源设备和目的地设备可以形成所谓的相机电话或视频电话。然而,如上文所提及的,本公开中所描述的技术一般而言可以适用于视频编解码,并且可以被应用于无线和/或有线应用。在每种情况下,捕获的、预先捕获的或计算机生成的视频可以由视频编码器编码。经编码视频信息随后可以通过输出接口被输出到计算机可读介质上。
[0205]
如上所描述,计算机可读介质可以包括诸如无线广播或有线网络传输的瞬态介质,或者诸如硬盘、闪存驱动器、压缩盘、数字视频盘、蓝光盘或其它计算机可读介质的存储介质(即,非暂时性存储介质)。在一些示例中,网络服务器(未图示)可以从源设备接收经编码视频数据并且例如经由网络传输将经编码视频数据提供到目的地设备。类似地,诸如盘冲压设施之类的介质生产设施的计算设备可以从源设备接收经编码视频数据,并且产生包含经编码视频数据的光盘。因此,在各种示例中,计算机可读介质可以被理解为包括各种形式的一个或多个计算机可读介质。
[0206]
目的地设备的输入接口从计算机可读介质接收信息。计算机可读介质的信息可以包括由视频编码器定义的语法信息,该语法信息也由视频解码器使用,其包括描述块和其他经编解码单元(例如,图片组(gop))的特性和/或处理的语法元素。显示设备向用户显示经解码视频数据,并且可以包括各种显示设备中的任何一种,诸如阴极射线管(crt)、液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器或另一类型的显示设备。已经描述了本技术的各种实施例。
[0207]
编码设备104和解码设备112的具体细节分别在图8和图9中示出。图8是图示可以实施本公开中所描述的技术中的一者或多者的示例编码设备104的框图。编码设备104可以例如生成本文所描述的语法结构(例如,vps、sps、pps或其他语法元素的语法结构)。编码设备104可以进行对视频切片内的视频块的帧内预测和帧间预测编解码。如先前所描述,帧内编码至少部分地依赖于空间预测以减少或移除给定视频帧或图片内的空间冗余。帧间编解码至少部分地依赖于时间预测来减少或移除视频序列的相邻或周围帧内的时间冗余。帧内
模式(i模式)可以指代若干基于空间的压缩模式中的任一个。诸如单向预测(p模式)或双向预测(b模式)的帧间模式可以指代若干基于时域的压缩模式中的任一个。
[0208]
编码设备104包括划分单元35、预测处理单元41、滤波器单元63、图片存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41包括运动估计单元42、运动补偿单元44和帧内预测处理单元46。对于视频块重建,编码设备104还包括逆量化单元58、逆变换处理单元60和求和器62。滤波器单元63旨在表示一个或多个环路滤波器,诸如去块滤波器、自适应环路滤波器(alf)和采样自适应偏移(sao)滤波器。尽管滤波器单元63在图8中被示出为环路内滤波器,但是在其它配置中,滤波器单元63可以被实现为后环路滤波器。后处理设备57可以对由编码设备104生成的经编码视频数据进行附加处理。在一些实例中,本公开的技术可以由编码设备104实施。然而,在其它实例中,本公开的技术中的一者或多者可以由后处理设备57实施。
[0209]
如图8中所示,编码设备104接收视频数据,并且划分单元35将该数据划分为视频块。划分还可以包括根据lcu和cu的四叉树结构划分成切片(slice)、切片条段(slice segment)、瓦片(tile)或其它较大单元,以及视频块(block)划分。编码设备104总体上图示了对待编码的视频切片内的视频块进行编码的组件。可以将切片分割为多个视频块(并且可能分割为称为瓦片的视频块集合)。预测处理单元41可以基于误差结果(例如,编解码率和失真级别等)为当前视频块选择多个可能的编解码模式中的一个,诸如多个帧内预测编解码模式中的一个或者多个帧间预测编解码模式中的一个。预测处理单元41可以将得到的经帧内或帧间编解码块提供给求和器50以生成残差块数据,并且提供给求和器62以重构用作参考图片的经编码块。
[0210]
预测处理单元41内的帧内预测处理单元46可以相对于与待编解码的当前块相同的帧或切片中的一个或多个相邻块进行当前视频块的帧内预测编解码以提供空间压缩。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考图片中的一个或多个预测性块来进行当前视频块的帧间预测性编解码以提供时域压缩。
[0211]
运动估计单元42可以被配置为根据视频序列的预定样式(pattern)来确定用于视频切片的帧间预测模式。预定样式可以将序列中的视频切片指定为p切片、b切片或gpb切片。运动估计单元42和运动补偿单元44可以是高度集成的,但是为了概念性目的而单独图示。由运动估计单元42进行的运动估计是生成运动矢量的过程,该运动矢量估计视频块的运动。例如,运动矢量可以指示当前视频帧或图片内的视频块的预测单元(pu)相对于参考图片内的预测性块的位移。
[0212]
预测性块是被发现在像素差方面与待编解码的视频块的pu紧密匹配的块,该像素差可以由绝对差之和(sad)、平方差之和(ssd)或其它差度量来确定。在一些示例中,编码设备104可以计算存储在图片存储器64中的参考图片的子整数像素位置的值。例如,编码设备104可以插值参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可以执行相对于全像素位置和分数像素位置的运动搜索,并且输出具有分数像素精度的运动矢量。
[0213]
运动估计单元42通过将pu的位置与参考图片的预测性块的位置进行比较,来计算经帧间编解码切片中的视频块的pu的运动矢量。可以从第一参考图片列表(列表0)或第二参考图片列表(列表1)中选择参考图片,每个参考图片列表识别存储在图片存储器64中的
一个或多个参考图片。运动估计单元42将计算出的运动矢量发出到熵编码单元56和运动补偿单元44。
[0214]
由运动补偿单元44进行的运动补偿可以涉及基于由运动估计确定的运动矢量来提取或生成预测性块,可能对子像素精度进行插值。在接收到当前视频块的pu的运动矢量后,运动补偿单元44可以在参考图片列表中定位运动矢量指向的预测性块。编码设备104通过从正被编解码的当前视频块的像素值中减去预测性块的像素值来形成残差视频块,从而形成像素差值。像素差值形成用于块的残差数据,并且可以包括亮度及色度差分量两者。求和器50表示进行该减法操作的一个或多个组件。运动补偿单元44还可以生成与视频块和视频切片相关联的语法元素以供解码设备112在对视频切片的视频块进行解码期间使用。
[0215]
帧内预测处理单元46可以对当前块进行帧内预测,作为由运动估计单元42和运动补偿单元44进行的帧间预测的备选,如上所描述。具体来说,帧内预测处理单元46可以确定用于对当前块进行编码的帧内预测模式。在一些示例中,帧内预测处理单元46可以使用各种帧内预测模式(例如,在单独的编码回合(pass)期间)来编码当前块,并且帧内预测处理单元46可以从所测试的模式中选择适当的帧内预测模式来使用。例如,帧内预测处理单元46可以使用针对各种测试的帧内预测模式的速率失真分析来计算速率失真值,并且可以在测试的模式中选择具有最佳速率失真特性的帧内预测模式。速率失真分析通常确定经编码块与被编码以产生该编码块的原始未编码块之间的失真(或误差)量,以及用于产生该经编码块的比特率(即,比特数目)。帧内预测处理单元46可以从用于各种经编码块的失真和速率中计算比率以确定哪一帧内预测模式呈现了用于该块的最佳速率失真值。
[0216]
在任何情况下,在为块选择帧内预测模式之后,帧内预测处理单元46可以向熵编码单元56提供指示为该块选择的帧内预测模式的信息。熵编码单元56可以对指示所选择的帧内预测模式的信息进行编码。编码设备104可以在所发送的比特流配置数据中包括用于各种块的编码上下文的定义以及用于每个上下文的最可能的帧内预测模式、帧内预测模式索引表和修改的帧内预测模式索引表的指示。比特流配置数据可以包括多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(也称为码字映射表)。
[0217]
在预测处理单元41经由帧间预测或帧内预测生成用于当前视频块的预测性块之后,编码设备104通过从当前视频块减去预测性块来形成残差视频块。残差块中的残差视频数据可以被包括在一个或多个tu中并且被应用于变换处理单元52。变换处理单元52使用变换(诸如离散余弦变换(dct)或概念上类似的变换)将残差视频数据变换成残差变换系数。变换处理单元52可以将残差视频数据从像素域转换为变换域,诸如频域。
[0218]
变换处理单元52可以将所得变换系数发出到量化单元54。量化单元54量化变换系数以进一步降低比特率。量化过程可以减少与一些或所有系数相关联的比特深度。可以通过调整量化参数来修改量化的程度。在一些示例中,量化单元54可以接着进行对包括经量化变换系数的矩阵的扫描。备选地,熵编码单元56可以进行该扫描。
[0219]
在量化之后,熵编码单元56对经量化变换系数进行熵编码。例如,熵编码单元56可以进行上下文自适应可变长度编解码(cavlc)、上下文自适应二进制算术编解码(cabac)、基于语法的上下文自适应二进制算术编解码(sbac)、概率区间划分熵(pipe)编解码或者另一熵编码技术。在由熵编码单元56进行熵编码之后,经编码比特流可以被发送到解码设备112,或者被存档以供稍后传输或由解码设备112检索。熵编码单元56还可以对正被编解码
的当前视频切片的运动矢量和其它语法元素进行熵编码。
[0220]
逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换以重构像素域中的残差块,以便稍后用作参考图片的参考块。运动补偿单元44可以通过将残差块添加到参考图片列表内的参考图片中的一者的预测性块来计算参考块。运动补偿单元44还可将一个或多个插值滤波器应用于经重构残差块以计算用于运动估计的子整数像素值。求和器62将重建残差块与由运动补偿单元44产生的经运动补偿的预测块相加以产生参考块以用于存储在图片存储器64中。该参考块可以被运动估计单元42和运动补偿单元44用作参考块以对后续的视频帧或图片中的块进行帧间预测。
[0221]
以此方式,图8的编码设备104表示被配置为进行本文中所描述的技术的视频编码器的示例。例如,编码设备104可以进行本文中所描述的技术中的任一者,包括本文中所描述的过程。在一些情况下,本公开的一些技术还可以由后处理设备57实施。
[0222]
图9是图示示例解码设备112的框图。解码设备112包括熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90、滤波器单元91以及图片存储器92。预测处理单元81包括运动补偿单元82和帧内预测处理单元84。在一些示例中,解码设备112可以进行与相对于图8的编码设备104所描述的编码回合大致相反的解码回合。
[0223]
在解码过程期间,解码设备112接收表示经编码视频切片的视频块和由编码设备104发出的相关联语法元素的经编码视频比特流。在一些实施例中,解码设备112可以从编码设备104接收经编码视频比特流。在一些实施例中,解码设备112可以从网络实体79接收经编码视频比特流,网络实体79诸如是服务器、媒体感知网络元件(manet)、视频编辑器/接合器、或者被配置为实施上述技术中的一个或多个的其他此类设备。网络实体79可以包括或不包括编码设备104。本公开中所描述的技术中的一些可以在网络实体79将经编码视频比特流发送到解码设备112之前由网络实体79实施。在一些视频解码系统中,网络实体79和解码设备112可以是单独设备的一部分,而在其他情况下,可以由包括解码设备112的相同设备9进行关于网络实体79描述的功能性。
[0224]
解码设备112的熵解码单元80对该比特流进行熵解码以生成经量化系数、运动矢量和其它语法元素。熵解码单元80将运动矢量和其它语法元素转发到预测处理单元81。解码设备112可以在视频切片级别和/或视频块级别上接收语法元素。熵解码单元80可以处理和解析一个或多个参数集合(诸如vps、sps和pps)中的固定长度语法元素和可变长度语法元素。
[0225]
当视频切片被编解码为经帧内编解码(i)切片时,预测处理单元81的帧内预测处理单元8可以基于发信号通知的帧内预测模式和来自当前帧或图片的先前经解码块的数据来生成用于当前视频切片的视频块的预测数据。当视频帧被编解码为帧间编解码(即,b、p或gpb)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动矢量和其他语法元素来产生用于当前视频切片的视频块的预测性块。可以从参考图片列表内的参考图片之一中产生预测性块。解码设备112可以使用基于存储在图片存储器92中的参考图片的默认构造技术来构造参考帧列表,即列表0和列表1。
[0226]
运动补偿单元82通过解析运动矢量和其它语法元素来确定用于当前视频切片的视频块的预测信息,并且使用该预测信息来产生正被解码的当前视频块的预测性块。例如,运动补偿单元82可以使用参数集合中的一个或多个语法元素来确定用于对视频切片的视
频块进行编解码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,b切片、p切片或gpb切片)、用于该切片的一个或多个参考图片列表的构造信息、用于该切片的每个经帧间编解码的视频块的运动矢量、用于该切片的每个经帧间编解码的视频块的帧间预测状态、以及用以对当前视频切片中的视频块进行解码的其它信息。
[0227]
运动补偿单元82还可以基于插值滤波器进行插值。运动补偿单元82可以使用编码设备104在视频块的编码期间使用的插值滤波器来计算用于参考块的子整数像素的被插值的值。在此情况下,运动补偿单元82可以根据所接收的语法元素确定由编码设备104所使用的插值滤波器,并且可以使用该插值滤波器来产生预测性块。
[0228]
逆量化单元86对在比特流中提供并且由熵解码单元80解码的经量化变换系数进行逆量化或解量化。逆量化过程可以包括使用由编码设备104针对视频切片中的每个视频块计算的量化参数来确定量化程度,以及同样地,确定应当应用的逆量化程度。逆变换处理单元88对变换系数应用逆变换(例如,逆dct或其它合适的逆变换)、逆整数变换或概念上类似的逆变换过程,以便在像素域中产生残差块。
[0229]
在运动补偿单元82基于运动矢量和其它语法元素生成用于当前视频块的预测性块之后,解码设备112通过将来自逆变换处理单元88的残差块与由运动补偿单元82生成的对应预测性块求和来形成经解码视频块。求和器90表示进行此求和操作的一个或多个组件。如果需要,环路滤波器(在编解码环路中或在编解码环路之后)还可以被用于平滑像素转变(smooth pixel transition),或以其它方式改进视频质量。滤波器单元91用于表示一个或多个环路滤波器,诸如去块滤波器、自适应环路滤波器(alf)和采样自适应偏移(sao)滤波器。尽管滤波器单元91在图9中被示出为环路内滤波器,但是在其它配置中,滤波器单元91可以被实现为后环路滤波器。然后,将给定帧或图片中的经解码视频块存储在图片存储器92中,图片存储器92存储用于后续运动补偿的参考图片。图片存储器92还存储经解码视频以用于稍后在显示设备上呈现,诸如图1所示的视频目的地设备122。
[0230]
以此方式,图9的解码设备112表示被配置为进行本文中所描述的技术的视频解码器的示例。例如,解码设备112可以进行本文所描述的技术中的任一者,包括本文所描述的过程。
[0231]
如本文所使用的,术语“计算机可读介质”包括但不限于便携式或非便携式存储设备,光学存储设备,以及能够存储、包含或携带(多个)指令和/或数据的各种其它介质。计算机可读介质可以包括其中可以存储数据并且不包括无线地传播或在有线连接上传播的载波和/或暂时性电子信号的非暂时性介质。非暂时性介质的示例可以包括但不限于磁盘或磁带、诸如致密碟(cd)或数字通用磁盘(dvd)等光存储介质、闪存、存储器或存储器设备。计算机可读介质上可以存储有代码和/或机器可执行指令,它们可以表示进程、函数、子程序、程序、例程、子例程、模块、软件包、类或者指令、数据结构或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容而被耦合到另一代码段或硬件电路。信息、实际参数、形式参数、数据等可以经由包括内存共享、消息传递、令牌传递、网络传输等任何合适的方式而被传递、转发或发送。
[0232]
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当提及时,非暂时性计算机可读存储介质明确地排除了诸如能量、载波信号、电磁波和信号本身的介质。
[0233]
在以上描述中提供了具体细节以提供对本文提供的实施例和示例的透彻理解。然而,本领域的普通技术人员将理解,可以在没有这些具体细节的情况下实践这些实施例。为了解释清楚起见,在一些情况下,本技术可以被呈现为包括单独的功能块,该单独的功能块包括以软件或者硬件和软件的组合体现的方法来包括设备、设备组件、步骤或例程的功能块。除了在附图中示出和/或本文描述的那些之外,可以使用附加组件。例如,电路、系统、网络、过程和其它组件可以被示出为框图形式的组件,以免在不必要的细节上混淆实施例。在其他实例中,可以在没有不必要的细节的情况下示出公知的电路、过程、算法、结构和技术,以避免混淆实施例。
[0234]
上面可以将各个实施例描述为被描绘为流程图、流程图表、数据流图、结构图或框图的过程或方法。尽管流程图可以将操作描述为顺序过程,但许多操作可以并行或者同时被执行。此外,可以重新安排操作的顺序。当过程的操作完成时,该过程终止,但可能具有未包括在图中的附加步骤。过程可以对应于方法、函数、过程、子例程、子程序等。当过程对应于函数时,其终止可以对应于函数返回到调用函数或主函数。
[0235]
可以使用计算机可执行指令来实施根据上述示例的过程和方法,该计算机可执行指令被存储在计算机可读介质中或可以从计算机可读介质获得。这样的指令可以包括,例如,致使或以其他方式配置通用计算机、专用计算机或处理设备进行特定功能或功能组的指令和数据。所使用的部分计算机资源可以通过网络访问。计算机可执行指令可以是例如二进制、中间格式指令,诸如汇编语言、固件、源代码等。可以被用于存储指令、所使用的信息和/或在根据所描述的示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、提供非易失性存储器的usb设备、网络存储设备等等。
[0236]
实施根据这些公开的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,并且可以采用各种形状因子中的任何一种。当以软件、固件、中间件或微码实施时,执行必要任务(例如,计算机程序产品)的程序代码或代码段可以被存储在计算机可读或机器可读介质中。处理器可以执行必要的任务。形状因子的典型示例包括膝上型计算机、智能电话、移动电话、平板设备或其他小形状因子的个人计算机、个人数字助理、机架式设备、独立设备等。本文描述的功能性也可以体现在外围设备或插入卡中。作为进一步的示例,此类功能性也可以在电路板上在单个设备中执行的不同芯片或不同过程当中实施。
[0237]
指令、用于传送这些指令的介质、用于执行这些指令的计算资源以及用于支持这些计算资源的其他结构是用于提供本公开中所描述的功能的示例部件。
[0238]
在前面的描述中,参考其特定实施例描述了本技术的各方面,但是本领域技术人员将认识到本技术不限于此。虽然本文已经详细描述了本技术的说明性实施例,但是应当理解,本发明得概念可以以其他方式以各种方式体现和采用,并且所附权利要求旨在被解释为包括除了由现有技术限制之外的这些变化。上述应用的各种特征和方面可以单独或联合使用。此外,在不脱离本说明书的更广泛的精神和范围的情况下,实施例可以在超出本文描述的那些环境和应用的任何数目的环境和应用中使用。因此,说明书和附图被认为是说明性的而不是限制性的。出于说明的目的,方法被以特定的次序描述。应理解,在备选实施例中,方法可以以与所描述的次序不同的次序来执行。
[0239]
本领域普通技术人员将理解,在不脱离本说明书的范围的情况下,本文使用的小
于(“《”)和大于(“》”)的符号或术语可以分别用小于或等于(“≤”)和大于或等于(“≥”)的符号代替。
[0240]
在组件被描述为“被配置为”进行某些操作的情况下,可以例如通过设计电子电路或其它硬件以进行该操作、通过编程可编程电子电路(例如,微处理器或其它合适的电子电路)以进行该操作、或者其任何组合来实施此类配置。
[0241]
短语“被耦合到”是指直接或间接地物理连接到另一组件的任何组件,和/或直接或间接地与另一组件通信(例如,通过有线或无线连接和/或其它合适的通信接口连接到另一组件)的任何组件。
[0242]
记载集合“中的至少一个”和/或集合中的“一个或多个”的权利要求语言或其它语言表示该集合中的一个成员或该集合中的多个成员(以任何组合)满足该权利要求。例如,记载“a和b中的至少一个”的权利要求语言是指a、b、或a和b。在另一示例中,记载“a、b和c中的至少一个”的权利要求语言是指a、b、c、或a和b、或a和c、或b和c、或a和b和c。语言集合“中的至少一个”和/或集合“中的一个或多个”并不将该集合限制为该集合中所列的项目。例如,记载“a和b中的至少一中”的权利要求语言可以表示a、b、或a和b,并且可以另外包括未在a和b的集合中列出的项目。
[0243]
结合本文所揭示的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可以被实施为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件和软件的这种可互换性,上文已就其功能性大体描述了各种说明性组件、块、模块、电路和步骤。将这种功能性实施为硬件还是软件取决于施加在整个系统上的特定的应用和设计约束。技术人员可以针对每个特定应用以不同的方式实施所描述的功能性,但是这种实施方式决定不应被解释为导致偏离本技术的范围。
[0244]
本文所描述的技术还可以以电子硬件、计算机软件、固件或其任何组合来实施。此类技术可在多种设备中的任一者中实施,诸如通用计算机、无线通信设备手持机、或者具有包括无线通信设备手持机和其它设备中的应用在内的多个用途的集成电路设备。描述为模块或组件的任何特征可以在集成逻辑设备中一起实施,或者单独地作为离散但可互操作的逻辑设备来实施。如果以软件实施,该技术可以至少部分地由包括程序代码的计算机可读数据存储介质来实现,该程序代码包括当被执行时执行一个或多个上述方法的指令。计算机可读数据存储介质可以形成计算机程序产品的一部分,其可以包括打包材料。计算机可读介质可以包括存储器或数据存储介质,诸如随机存取存储器(ram)(诸如同步动态随机存取存储器(sdram))、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器(eeprom)、快闪存储器、磁性或光学数据存储介质等。附加地或备选地,可以至少部分地由计算机可读通信介质来实施该技术,该计算机可读通信介质以指令或数据结构的形式携带或通信程序代码,并且该程序代码可以由计算机(诸如传播的信号或波)访问、读取和/或执行。
[0245]
程序代码可以由处理器执行,该处理器可包括一个或多个处理器,诸如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其它等效集成或离散逻辑电路。此类处理器可以被配置为执行本公开中所描述的技术中的任一个。通用处理器可以是微处理器,但是备选地,处理器可以是任何传统的处理器、控制器、微控制器或状态机。处理器还可以被实施为计算设备的组合,例如,dsp和微处
理器的组合、多个微处理器、与dsp内核结合的一个或多个微处理器、或者任何其他此类配置。因此,如本文所使用的术语“处理器”可以指代任何前述结构、前述结构的任何组合、或适用于实施本文描述的技术的任何其他结构或装置。另外,在一些方面中,本文所描述的功能性可以在专用软件模块或被配置用于编码和解码的硬件模块内提供,或者并入组合的视频编码器-解码器(codec)中。
[0246]
本公开的说明性示例包括:
[0247]
方面1:一种处理视频数据的方法,该方法包括:获得视频数据块;使用帧内预测模式处理该块;以及基于该块的宽度和高度中的至少一者来确定用于该块的插值滤波器的类型。
[0248]
方面2:方面1的方法,还包括:基于该块的该宽度和该块的该高度中的至少一者大于阈值的确定,确定用于该块的第一类型的插值滤波器;以及使用该第一类型的插值滤波器确定用于该块的参考像素。
[0249]
方面3:方面1的方法,其中该第一类型的插值滤波器包括6抽头高斯滤波器。
[0250]
方面4:方面1的方法,还包括:基于该块的该宽度和该块的该高度中的至少一者不大于阈值的确定,确定用于该块的第二类型的插值滤波器;以及使用该第二类型的插值滤波器确定用于该块的参考像素。
[0251]
方面5:方面4的方法,其中该第二类型的插值滤波器包括4抽头高斯滤波器。
[0252]
方面6:方面1至5中任一项的方法,其中插值滤波器的该类型在视频比特流中被显式地发信号通知。
[0253]
方面7:方面6的方法,其中针对每个预测块、编解码块、编解码树单元(ctu)、切片或序列被显式地发信号通知插值滤波器的该类型。
[0254]
方面8:方面1至5中任一项的方法,还包括:在不使用在视频比特流中被显式地发信号通知的信息的情况下,基于该块的该宽度和该块的该高度中的至少一者来确定插值滤波器的该类型。
[0255]
方面9:一种装置,包括:存储器,被配置为存储视频数据;以及处理器,被配置为:获得视频数据块;使用帧内预测模式处理该块;以及基于该块的宽度和高度中的至少一者来确定用于该块的插值滤波器的类型。
[0256]
方面10:方面9的装置,其中该处理器被配置为:基于该块的该宽度和该块的该高度中的至少一者大于阈值的确定,确定用于该块的第一类型的插值滤波器;以及使用该第一类型的插值滤波器确定用于该块的参考像素。
[0257]
方面11:方面9的装置,其中该第一类型的插值滤波器包括6抽头高斯滤波器。
[0258]
方面12:方面9的装置,其中该处理器被配置为:基于该块的该宽度和该块的该高度中的至少一者不大于阈值的确定,确定用于该块的第二类型的插值滤波器;以及使用该第二类型的插值滤波器确定用于该块的参考像素。
[0259]
方面13:方面12的装置,其中该第二类型的插值滤波器包括4抽头高斯滤波器。
[0260]
方面14:方面9至13中任一项的装置,其中插值滤波器的该类型在视频比特流中被显式地发信号通知。
[0261]
方面15:方面14的装置,其中针对每个预测块、编解码块、编解码树单元(ctu)、切片或序列显式地发信号通知插值滤波器的该类型。
[0262]
方面16:方面9至13中任一项的装置,其中该处理器被配置为:在不使用在视频比特流中被显式地发信号通知的信息的情况下,基于该块的该宽度和该块的该高度中的至少一者来确定插值滤波器的该类型。
[0263]
方面17:方面9至16中任一项的装置,其中该装置包括编码器。
[0264]
方面18:方面9至17中任一项的装置,其中该装置包括解码器。
[0265]
方面19:方面9至18中任一项的装置,其中该装置是移动设备。
[0266]
方面20:方面9至19中任一项的装置,其中该装置是扩展现实设备。
[0267]
方面21:方面9至20中任一项的装置,还包括:显示器,被配置为显示该视频数据。
[0268]
方面22:方面9至21中任一项的装置,还包括:相机,被配置为捕获一个或多个图片。
[0269]
方面23:一种计算机可读介质,该计算机可读介质上存储有指令,该指令在由处理器执行时进行方面1至22中任一项的方法。
[0270]
方面24:一种装置,包括用于进行方面1至22中任一项的操作的部件。
[0271]
方面25:一种处理视频数据的方法,该方法包括:获得视频数据块;使用帧内预测模式处理该块;以及基于该块的宽度和高度中的至少一者来确定用于该块的平滑滤波器的类型。
[0272]
方面26:方面25的方法,还包括:确定该帧内预测模式的角度是否为整数角度;其中确定平滑滤波器的该类型还基于确定该帧内预测模式的该角度为整数角度。
[0273]
方面27:方面25或26中任一项的方法,还包括:基于该块的该宽度和该块的该高度中的至少一者大于阈值的确定,确定用于该块的第一类型的平滑滤波器;以及使用该第一类型的平滑滤波器处理用于该块的至少一个经预测像素。
[0274]
方面28:方面27的方法,其中该第一类型的平滑滤波器包括[1 4 6 4 1]滤波器。
[0275]
方面29:方面25或26中任一项的方法,还包括:基于该块的该宽度和该块的该高度中的至少一者不大于阈值的确定,确定用于该块的第二类型的平滑滤波器;以及使用该第二类型的平滑滤波器处理用于该块的至少一个经预测像素。
[0276]
方面30:方面29的方法,其中该第二类型的平滑滤波器包括[1 2 1]滤波器。
[0277]
方面31:方面25至30中任一项的方法,其中在视频比特流中显式地发信号通知平滑滤波器的该类型。
[0278]
方面32:方面31的方法,其中针对每个预测块、编解码块、编解码树单元(ctu)、切片或序列显式地发信号通知插值滤波器的该类型。
[0279]
方面33:方面25至30中任一项的方法,还包括:在不使用在视频比特流中被显式地发信号通知的信息的情况下,基于该块的该宽度和该块的该高度中的至少一者来确定平滑滤波器的该类型。
[0280]
方面34:一种装置,包括:存储器,被配置为存储视频数据;以及处理器,被配置为:获得视频数据块;使用帧内预测模式处理该块;以及基于该块的宽度和高度中的至少一者来确定用于该块的平滑滤波器的类型。
[0281]
方面35:方面34的装置,其中该处理器被配置为:确定该帧内预测模式的角度是否为整数角度;其中确定平滑滤波器的该类型还基于确定该帧内预测模式的该角度为整数角度。
[0282]
方面36:方面34或35中任一项的装置,其中该处理器被配置为:基于该块的该宽度和该块的该高度中的至少一者大于阈值的确定,确定用于该块的第一类型的平滑滤波器;以及使用该第一类型的平滑滤波器处理用于该块的至少一个经预测像素。
[0283]
方面37:方面36的装置,其中该第一类型的平滑滤波器包括[1 4 6 4 1]滤波器。
[0284]
方面38:方面34或35中任一项的装置,其中该处理器被配置为:基于该块的该宽度和该块的该高度中的至少一者不大于阈值的确定,确定用于该块的第二类型的平滑滤波器;以及使用该第二类型的平滑滤波器处理用于该块的至少一个经预测像素。
[0285]
方面39:方面38的装置,其中该第二类型的平滑滤波器包括[1 2 1]滤波器。
[0286]
方面40:方面34至39中任一项的装置,其中平滑滤波器的该类型在视频比特流中被显式地发信号通知。
[0287]
方面41:方面40的装置,其中针对每个预测块、编解码块、编解码树单元(ctu)、切片或序列显式地发信号通知插值滤波器的该类型。
[0288]
方面42:方面34至39中任一项的装置,其中该处理器被配置为:在不使用在视频比特流中被显式地发信号通知的信息的情况下,基于该块的该宽度和该块的该高度中的至少一者来确定平滑滤波器的该类型。
[0289]
方面43:方面34至42中任一项的装置,其中该装置包括编码器。
[0290]
方面44:方面34至43中任一项的装置,其中该装置包括解码器。
[0291]
方面45:方面34至44中任一项的装置,其中该装置是移动设备。
[0292]
方面46:方面34至45中任一项的装置,其中该装置是扩展现实设备。
[0293]
方面47:方面34至46中任一项的装置,还包括:显示器,被配置为显示该视频数据。
[0294]
方面48:方面34至47中任一项的装置,还包括:相机,被配置为捕获一个或多个图片。
[0295]
方面49:一种计算机可读介质,该计算机可读介质上存储有指令,该指令在由处理器执行时进行方面25至48中任一项的方法。
[0296]
方面50:一种装置,包括用于进行方面25至48中任一项的操作的部件。
[0297]
方面51:一种计算机可读介质,该计算机可读介质上存储有指令,该指令在由处理器执行时进行方面1至22和方面25至48中任一项的方法。
[0298]
方面52:一种装置,包括用于进行方面1至22和方面25至48中任一项的操作的部件。
[0299]
方面53:一种用于处理视频数据的装置,包括:至少一个存储器;以及至少一个处理器,被耦合到该至少一个存储器并且被配置为:确定用于预测视频数据块的帧内预测模式;确定用于该视频数据块的平滑滤波器的类型,其中至少部分地基于将该视频数据块的宽度和该视频数据块的高度中的至少一者与第一阈值进行比较来确定该平滑滤波器的该类型;以及使用确定的该平滑滤波器的该类型以及该帧内预测模式,对该视频数据块进行帧内预测。
[0300]
方面54:方面53的装置,其中该至少一个处理器被配置为:至少部分地基于对该块的该宽度和该块的该高度中的至少一者大于该第一阈值的确定,使用第一平滑插值滤波器作为确定的平滑滤波器的该类型;以及使用该第一平滑插值滤波器,确定用于该视频数据块的帧内预测的参考像素。
[0301]
方面55:方面53至54中任一项的装置,其中该第一平滑插值滤波器包括6抽头高斯滤波器。
[0302]
方面56:方面55的装置,其中该至少一个处理器被配置为:至少部分地基于确定该块的该宽度和该块的该高度中的至少一者不大于该第一阈值,使用第二平滑插值滤波器作为确定的平滑滤波器的该类型;以及使用该第二平滑插值滤波器,确定用于该视频数据块的帧内预测的参考像素。
[0303]
方面57:方面56的装置,其中该第二平滑插值滤波器包括4抽头高斯滤波器。
[0304]
方面58:方面53至57中任一项的装置,其中该至少一个处理器被配置为:确定该帧内预测模式的角度方向与垂直帧内预测模式和水平帧内预测模式中的一者之间的最小偏移;以及基于将确定的该最小偏移与第二阈值进行比较来确定用于该视频数据块的平滑滤波器的该类型。
[0305]
方面59:方面58的装置,其中该至少一个处理器被配置为:至少部分地基于对确定的该最小偏移大于该第二阈值的确定、以及对该帧内预测模式是与整数值参考像素位置相关联的整数角度模式的确定,将低通滤波器确定为平滑滤波器的该类型。
[0306]
方面60:方面59的装置,其中该低通滤波器在不进行插值的情况下进行参考像素平滑,该低通滤波器包括[1 2 1]滤波器。
[0307]
方面61:方面58的装置,其中该至少一个处理器被配置为:至少部分地基于对确定的该最小偏移大于该第二阈值的确定、以及对该帧内预测模式是与分数值参考像素位置相关联的分数角度模式的确定,将高斯滤波器确定为平滑滤波器的该类型。
[0308]
方面62:方面61的装置,其中该高斯滤波器在不进行参考像素平滑的情况下进行平滑插值。
[0309]
方面63:方面61的装置,其中基于对该块的该宽度和该块的该高度中的至少一者大于该第一阈值的确定,该高斯滤波器包括6抽头高斯滤波器。
[0310]
方面64:方面61的装置,其中基于对该块的该宽度和该块的该高度中的至少一者不大于该第一阈值的确定,该高斯滤波器包括4抽头高斯滤波器。
[0311]
方面65:方面58的装置,其中该至少一个处理器被配置为:至少部分地基于对确定的该最小偏移不大于该第二阈值的确定:使用插值滤波器作为确定的平滑滤波器的该类型,其中该插值滤波器包括4抽头立方滤波器;以及在不应用参考像素平滑的情况下使用该插值滤波器对该视频数据块进行帧内预测。
[0312]
方面66:方面58的装置,其中该至少一个处理器被配置为:至少部分地基于对该帧内预测模式是整数角度模式的确定、以及对确定的该最小偏移大于该第二阈值的确定,将低通滤波器确定为平滑滤波器的该类型。
[0313]
方面67:方面67中任一项的装置,其中该至少一个处理器被配置为:至少部分地基于对该块的该宽度和该块的该高度中的至少一者大于该第一阈值的确定来使用大抽头低通滤波器进行参考像素平滑,其中该大抽头低通滤波器应用比小抽头低通滤波器更大程度的参考像素平滑。
[0314]
方面68:方面67的装置,其中该至少一个处理器被配置为:至少部分地基于对该块的该宽度和该块的该高度中的至少一者不大于该第一阈值的确定来使用小抽头低通滤波器进行参考像素平滑,其中该小抽头低通滤波器应用比大抽头低通滤波器更小程度的参考
像素平滑。
[0315]
方面69:方面53至68中任一项的装置,其中该至少一个处理器被配置为:至少部分地基于将该帧内预测模式的斜率与从该块的该宽度和该块的该高度中确定的一个或多个像素位置进行比较,确定该帧内预测模式为整数角度模式。
[0316]
方面70:方面53至69中任一项的装置,其中该至少一个处理器被配置为:确定该帧内预测模式的角度方向与垂直帧内预测模式或水平帧内预测模式之间的偏移小于第二阈值;以及基于确定该帧内预测模式的该角度方向与该垂直帧内预测模式或该水平帧内预测模式之间的该偏移小于该第二阈值,使用立方插值滤波器对该视频数据块进行帧内预测。
[0317]
方面71:方面70的装置,其中该至少一个处理器被配置为:使用弱插值滤波器进行参考线扩展,其中:在使用该立方插值滤波器进行该帧内预测之前,使用该弱插值滤波器进行该参考线扩展;以及该立方插值滤波器具有比该弱插值滤波器更高的截止频率,并且比该弱插值滤波器应用更大程度的平滑。
[0318]
方面72:方面71的装置,其中该弱插值滤波器包括4抽头基于sinc的插值滤波器以及6位4抽头插值滤波器。
[0319]
方面73:方面53至72中任一项的装置,其中平滑滤波器的该类型在视频比特流中被发信号通知。
[0320]
方面74:方面53至73中任一项的装置,其中针对预测块、编解码块、编解码树单元(ctu)、切片或序列的集合中的各个发信号通知平滑滤波器的该类型。
[0321]
方面75:方面53至74中任一项的装置,其中该至少一个处理器被配置为:在不使用在视频比特流中显式地发信号通知的信息的情况下,基于该块的该宽度和该块的该高度中的至少一者来确定平滑滤波器的该类型。
[0322]
方面76:方面53至75中任一项的装置,其中该至少一个处理器被配置为:确定用于该视频数据块的残差数据块;以及使用该残差数据块以及基于对该视频数据块进行该帧内预测而被确定的预测性块,解码该视频数据块。
[0323]
方面77:方面53至75中任一项的装置,其中该至少一个处理器被配置为:生成包括与该视频数据块相关联的信息的经编码视频比特流。
[0324]
方面78:方面77的装置,还包括:使得该经编码视频比特流被存储在该至少一个存储器中。
[0325]
方面79:方面77或78中任一项的装置,还包括:发送器,被配置为发送该经编码视频比特流。
[0326]
方面80:一种处理视频数据的方法,该方法包括:确定用于预测视频数据块的帧内预测模式;确定用于该视频数据块的平滑滤波器的类型,其中至少部分地基于将该视频数据块的宽度和该视频数据块的高度中的至少一者与第一阈值进行比较来确定该平滑滤波器的该类型;以及使用确定的该平滑滤波器的该类型以及该帧内预测模式,对该视频数据块进行帧内预测。
[0327]
方面81:方面80的方法,还包括:至少部分地基于对该块的该宽度和该块的该高度中的至少一者大于该第一阈值的确定,使用第一平滑插值滤波器作为确定的平滑滤波器的该类型;以及使用该第一平滑插值滤波器,确定用于该视频数据块的帧内预测的参考像素。
[0328]
方面82:方面81的方法,其中该第一平滑插值滤波器包括6抽头高斯滤波器。
[0329]
方面83:方面80至82中任一项的方法,还包括:至少部分地基于确定该块的该宽度和该块的该高度中的至少一者不大于该第一阈值,使用第二平滑插值滤波器作为确定的平滑滤波器的该类型;以及使用该第二平滑插值滤波器,确定用于该视频数据块的帧内预测的参考像素。
[0330]
方面84:方面83的方法,其中该第二平滑插值滤波器包括4抽头高斯滤波器。
[0331]
方面85:方面80至84中任一项的方法,还包括:确定该帧内预测模式的角度方向与垂直帧内预测模式和水平帧内预测模式中的一者之间的最小偏移;以及基于将确定的该最小偏移与第二阈值进行比较来确定用于该视频数据块的平滑滤波器的该类型。
[0332]
方面86:方面85的方法,还包括:至少部分地基于对确定的该最小偏移大于该第二阈值的确定、以及对该帧内预测模式是与整数值参考像素位置相关联的整数角度模式的确定,将低通滤波器确定为平滑滤波器的该类型。
[0333]
方面87:方面86的方法,其中该低通滤波器在不进行插值的情况下进行参考像素平滑,其中该低通滤波器包括[1 2 1]滤波器。
[0334]
方面88:方面85的方法,还包括:至少部分地基于对确定的该最小偏移大于该第二阈值的确定、以及对该帧内预测模式是与分数值参考像素位置相关联的分数角度模式的确定,将高斯滤波器确定为平滑滤波器的该类型。
[0335]
方面89:方面88的方法,其中该高斯滤波器在不进行参考像素平滑的情况下进行平滑插值。
[0336]
方面90:方面88的方法,其中基于对该块的该宽度和该块的该高度中的至少一者大于该第一阈值的确定,该高斯滤波器包括6抽头高斯滤波器。
[0337]
方面91:方面88的方法,其中基于对该块的该宽度和该块的该高度中的至少一者不大于该第一阈值的确定,该高斯滤波器包括4抽头高斯滤波器。
[0338]
方面92:方面85的方法,还包括:至少部分地基于对确定的该最小偏移不大于该第二阈值的确定:使用插值滤波器作为确定的平滑滤波器的该类型,其中该插值滤波器包括4抽头立方滤波器;以及在不应用参考像素平滑的情况下使用该插值滤波器对该视频数据块进行帧内预测。
[0339]
方面93:方面85的方法,还包括:至少部分地基于对该帧内预测模式是整数角度模式的确定、以及对确定的该最小偏移大于该第二阈值的确定,将低通滤波器确定为平滑滤波器的该类型。
[0340]
方面94:方面93的方法,还包括:至少部分地基于对该块的该宽度和该块的该高度中的至少一者大于该第一阈值的确定来使用大抽头低通滤波器应用参考像素平滑,其中该大抽头低通滤波器应用比小抽头低通滤波器更大程度的参考像素平滑。
[0341]
方面95:方面93的方法,还包括:至少部分地基于对该块的该宽度和该块的该高度中的至少一者不大于该第一阈值的确定来使用小抽头低通滤波器应用参考像素平滑,其中该小抽头低通滤波器应用比大抽头低通滤波器更小程度的参考像素平滑。
[0342]
方面96:方面80至95中任一项的方法,还包括:至少部分地基于将该帧内预测模式的斜率与从该块的该宽度和该块的该高度中确定的一个或多个像素位置进行比较,确定该帧内预测模式为整数角度模式。
[0343]
方面97:方面80至96中任一项的方法,还包括:确定该帧内预测模式的角度方向与
垂直帧内预测模式或水平帧内预测模式之间的偏移小于第二阈值;以及基于确定该帧内预测模式的该角度方向与该垂直帧内预测模式或该水平帧内预测模式之间的该偏移小于该第二阈值,使用立方插值滤波器对该视频数据块进行帧内预测。
[0344]
方面98:方面97的方法,还包括:使用弱插值滤波器进行参考线扩展,其中:在使用该立方插值滤波器进行该帧内预测之前,使用该弱插值滤波器进行该参考线扩展;以及该立方插值滤波器具有比该弱插值滤波器更高的截止频率,并且比该弱插值滤波器应用更大程度的平滑。
[0345]
方面99:方面98的方法,其中该弱插值滤波器包括4抽头基于sinc的插值滤波器以及6位4抽头插值滤波器。
[0346]
方面100:方面80至99中任一项的方法,其中平滑滤波器的该类型在视频比特流中被发信号通知。
[0347]
方面101:方面80至100中任一项的方法,其中平滑滤波器的该类型针对预测块、编解码块、编解码树单元(ctu)、切片或序列的集合中的各个被发信号通知。
[0348]
方面102:方面80至101中任一项的方法,还包括:在不使用在视频比特流中显式地发信号通知的信息的情况下,基于该块的该宽度和该块的该高度中的至少一者来确定平滑滤波器的该类型。
[0349]
方面103:方面80至102中任一项的方法,还包括:确定用于该视频数据块的残差数据块;以及使用该残差数据块以及基于对该视频数据块进行该帧内预测而被确定的预测性块,解码该视频数据块。
[0350]
方面104:方面80至102中任一项的方法,还包括:生成包括与该视频数据块相关联的信息的经编码视频比特流。
[0351]
方面105:方面104的方法,还包括:存储该经编码视频比特流。
[0352]
方面106:方面104或105中任一项的方法,还包括:发送该经编码视频比特流。
[0353]
方面107:一种计算机可读介质,该计算机可读介质上存储有指令,该指令在由处理器执行时进行方面53至106中任一项的方法。
[0354]
方面108:一种装置,包括用于进行方面53至106中任一项的操作的部件。
技术特征:
1.一种用于处理视频数据的装置,包括:至少一个存储器;以及至少一个处理器,被耦合到所述至少一个存储器并且被配置为:确定用于预测视频数据块的帧内预测模式;确定用于所述视频数据块的平滑滤波器的类型,其中至少部分地基于将所述视频数据块的宽度和所述视频数据块的高度中的至少一者与第一阈值进行比较来确定所述平滑滤波器的类型;以及使用所述确定的平滑滤波器的类型以及所述帧内预测模式,对所述视频数据块进行帧内预测。2.根据权利要求1所述的装置,其中所述至少一个处理器被配置为:至少部分地基于对所述块的所述宽度和所述块的所述高度中的至少一者大于所述第一阈值的确定,使用第一平滑插值滤波器作为确定的平滑滤波器的类型;以及使用所述第一平滑插值滤波器,确定用于所述视频数据块的帧内预测的参考像素。3.根据权利要求2所述的装置,其中所述第一平滑插值滤波器包括6抽头高斯滤波器。4.根据权利要求1所述的装置,其中所述至少一个处理器被配置为:至少部分地基于确定所述块的所述宽度和所述块的所述高度中的至少一者不大于所述第一阈值,使用第二平滑插值滤波器作为确定的平滑滤波器的类型;以及使用所述第二平滑插值滤波器,确定用于所述视频数据块的帧内预测的参考像素。5.根据权利要求4所述的装置,其中所述第二平滑插值滤波器包括4抽头高斯滤波器。6.根据权利要求1所述的装置,其中所述至少一个处理器被配置为:确定所述帧内预测模式的角度方向与垂直帧内预测模式和水平帧内预测模式中的一者之间的最小偏移;以及基于将确定的所述最小偏移与第二阈值进行比较来确定用于所述视频数据块的所述平滑滤波器的类型。7.根据权利要求6所述的装置,其中所述至少一个处理器被配置为:至少部分地基于对确定的所述最小偏移大于所述第二阈值的确定、以及对所述帧内预测模式是与整数值参考像素位置相关联的整数角度模式的确定,将低通滤波器确定为所述平滑滤波器的类型。8.根据权利要求7所述的装置,其中所述低通滤波器在不进行插值的情况下进行参考像素平滑,所述低通滤波器包括[1 2 1]滤波器。9.根据权利要求6所述的装置,其中所述至少一个处理器被配置为:至少部分地基于对确定的所述最小偏移大于所述第二阈值的确定、以及对所述帧内预测模式是与分数值参考像素位置相关联的分数角度模式的确定,将高斯滤波器确定为所述平滑滤波器的类型。10.根据权利要求9所述的装置,其中所述高斯滤波器在不进行参考像素平滑的情况下进行平滑插值。11.根据权利要求9所述的装置,其中基于对所述块的所述宽度和所述块的所述高度中的至少一者大于所述第一阈值的确定,所述高斯滤波器包括6抽头高斯滤波器。12.根据权利要求9所述的装置,其中基于对所述块的所述宽度和所述块的所述高度中
的至少一者不大于所述第一阈值的确定,所述高斯滤波器包括4抽头高斯滤波器。13.根据权利要求6所述的装置,其中所述至少一个处理器被配置为:至少部分地基于对确定的所述最小偏移不大于所述第二阈值的确定:使用插值滤波器作为确定的平滑滤波器的类型,其中所述插值滤波器包括4抽头立方滤波器;以及在不应用参考像素平滑的情况下使用所述插值滤波器对所述视频数据块进行帧内预测。14.根据权利要求6所述的装置,其中所述至少一个处理器被配置为:至少部分地基于对所述帧内预测模式是整数角度模式的确定、以及对确定的所述最小偏移大于所述第二阈值的确定,将低通滤波器确定为所述平滑滤波器的类型。15.根据权利要求14所述的装置,其中所述至少一个处理器被配置为:至少部分地基于对所述块的所述宽度和所述块的所述高度中的至少一者大于所述第一阈值的确定来使用大抽头低通滤波器进行参考像素平滑,其中所述大抽头低通滤波器应用比小抽头低通滤波器更大程度的参考像素平滑。16.根据权利要求14所述的装置,其中所述至少一个处理器被配置为:至少部分地基于对所述块的所述宽度和所述块的所述高度中的至少一者不大于所述第一阈值的确定来使用小抽头低通滤波器进行参考像素平滑,其中所述小抽头低通滤波器应用比大抽头低通滤波器更小程度的参考像素平滑。17.根据权利要求1所述的装置,其中所述至少一个处理器被配置为:至少部分地基于将所述帧内预测模式的斜率与从所述块的所述宽度和所述块的所述高度中确定的一个或多个像素位置进行比较,确定所述帧内预测模式为整数角度模式。18.根据权利要求1所述的装置,其中所述至少一个处理器被配置为:确定所述帧内预测模式的角度方向与垂直帧内预测模式或水平帧内预测模式之间的偏移小于第二阈值;以及基于确定所述帧内预测模式的所述角度方向与所述垂直帧内预测模式或所述水平帧内预测模式之间的所述偏移小于所述第二阈值,使用立方插值滤波器对所述视频数据块进行帧内预测。19.根据权利要求18所述的装置,其中所述至少一个处理器被配置为:使用弱插值滤波器进行参考线扩展,其中:在使用所述立方插值滤波器进行所述帧内预测之前,使用所述弱插值滤波器进行所述参考线扩展;以及所述立方插值滤波器具有比所述弱插值滤波器更高的截止频率,并且比所述弱插值滤波器应用更大程度的平滑。20.根据权利要求19所述的装置,其中所述弱插值滤波器包括4抽头基于sinc的插值滤波器以及6位4抽头插值滤波器。21.根据权利要求1所述的装置,其中在视频比特流中发信号通知所述平滑滤波器的类型。22.根据权利要求1所述的装置,其中所述平滑滤波器的类型针对预测块、编解码块、编解码树单元(ctu)、切片或序列的集合中的各个被发信号通知。
23.根据权利要求1所述的装置,其中所述至少一个处理器被配置为:在不使用在视频比特流中显式地发信号通知的信息的情况下,基于所述块的所述宽度和所述块的所述高度中的至少一者来确定所述平滑滤波器的类型。24.根据权利要求1所述的装置,其中所述至少一个处理器被配置为:确定用于所述视频数据块的残差数据块;以及使用所述残差数据块以及基于对所述视频数据块进行所述帧内预测而被确定的预测性块,解码所述视频数据块。25.根据权利要求1所述的装置,其中所述至少一个处理器被配置为:生成包括与所述视频数据块相关联的信息的经编码视频比特流。26.根据权利要求25所述的装置,还包括:使得所述经编码视频比特流被存储在所述至少一个存储器中。27.根据权利要求25所述的装置,还包括:发送器,被配置为发送所述经编码视频比特流。28.一种处理视频数据的方法,所述方法包括:确定用于预测视频数据块的帧内预测模式;确定用于所述视频数据块的平滑滤波器的类型,其中至少部分地基于将所述视频数据块的宽度和所述视频数据块的高度中的至少一者与第一阈值进行比较来确定所述平滑滤波器的类型;以及使用所述确定的平滑滤波器的类型以及所述帧内预测模式,对所述视频数据块进行帧内预测。29.根据权利要求28所述的方法,还包括:至少部分地基于对所述块的所述宽度和所述块的所述高度中的至少一者大于所述第一阈值的确定,使用第一平滑插值滤波器作为确定的平滑滤波器的类型;以及使用所述第一平滑插值滤波器,确定用于所述视频数据块的帧内预测的参考像素。30.根据权利要求29所述的方法,其中所述第一平滑插值滤波器包括6抽头高斯滤波器。31.根据权利要求28所述的方法,还包括:至少部分地基于确定所述块的所述宽度和所述块的所述高度中的至少一者不大于所述第一阈值,使用第二平滑插值滤波器作为确定的平滑滤波器的类型;以及使用所述第二平滑插值滤波器,确定用于所述视频数据块的帧内预测的参考像素。32.根据权利要求31所述的方法,其中所述第二平滑插值滤波器包括4抽头高斯滤波器。33.根据权利要求28所述的方法,还包括:确定所述帧内预测模式的角度方向与垂直帧内预测模式和水平帧内预测模式中的一者之间的最小偏移;以及基于将确定的所述最小偏移与第二阈值进行比较来确定用于所述视频数据块的所述平滑滤波器的类型。34.根据权利要求33所述的方法,还包括:至少部分地基于对确定的所述最小偏移大于所述第二阈值的确定、以及对所述帧内预
测模式是与整数值参考像素位置相关联的整数角度模式的确定,将低通滤波器确定为所述平滑滤波器的类型。35.根据权利要求34所述的方法,其中所述低通滤波器在不进行插值的情况下进行参考像素平滑,其中所述低通滤波器包括[1 2 1]滤波器。36.根据权利要求33所述的方法,还包括:至少部分地基于对确定的所述最小偏移大于所述第二阈值的确定、以及对所述帧内预测模式是与分数值参考像素位置相关联的分数角度模式的确定,将高斯滤波器确定为所述平滑滤波器的类型。37.根据权利要求36所述的方法,其中所述高斯滤波器在不进行参考像素平滑的情况下进行平滑插值。38.根据权利要求36所述的方法,其中基于对所述块的所述宽度和所述块的所述高度中的至少一者大于所述第一阈值的确定,所述高斯滤波器包括6抽头高斯滤波器。39.根据权利要求36所述的方法,其中基于对所述块的所述宽度和所述块的所述高度中的至少一者不大于所述第一阈值的确定,所述高斯滤波器包括4抽头高斯滤波器。40.根据权利要求33所述的方法,还包括:至少部分地基于对确定的所述最小偏移不大于所述第二阈值的确定:使用插值滤波器作为确定的平滑滤波器的类型,其中所述插值滤波器包括4抽头立方滤波器;以及在不应用参考像素平滑的情况下使用所述插值滤波器对所述视频数据块进行帧内预测。41.根据权利要求33所述的方法,还包括:至少部分地基于对所述帧内预测模式是整数角度模式的确定、以及对帧内预测模式和水平或垂直模式之间的确定的所述最小偏移大于所述第二阈值的确定,将低通滤波器确定为所述平滑滤波器的类型。42.根据权利要求41所述的方法,还包括:至少部分地基于对所述块的所述宽度和所述块的所述高度中的至少一者大于所述第一阈值的确定来使用大抽头低通滤波器应用参考像素平滑,其中所述大抽头低通滤波器应用比小抽头低通滤波器更大程度的参考像素平滑。43.根据权利要求41所述的方法,还包括:至少部分地基于对所述块的所述宽度和所述块的所述高度中的至少一者不大于所述第一阈值的确定来使用小抽头低通滤波器应用参考像素平滑,其中所述小抽头低通滤波器应用比大抽头低通滤波器更小程度的参考像素平滑。44.根据权利要求28所述的方法,还包括:至少部分地基于将所述帧内预测模式的斜率与从所述块的所述宽度和所述块的所述高度中确定的一个或多个像素位置进行比较,确定所述帧内预测模式为整数角度模式。45.根据权利要求28所述的方法,还包括:确定所述帧内预测模式的角度方向与垂直帧内预测模式或水平帧内预测模式之间的偏移小于第二阈值;以及基于对确定的所述偏移小于所述第二阈值的确定,使用立方插值滤波器对所述视频数据块进行帧内预测。
46.根据权利要求45所述的方法,还包括:使用弱插值滤波器进行参考线扩展,其中:在使用所述立方插值滤波器进行所述帧内预测之前,使用所述弱插值滤波器进行所述参考线扩展;以及所述立方插值滤波器具有比所述弱插值滤波器更高的截止频率,并且比所述弱插值滤波器应用更大程度的平滑。47.根据权利要求28所述的方法,其中在视频比特流中发信号通知所述平滑滤波器的类型。48.根据权利要求28所述的方法,还包括:在不使用在视频比特流中显式地发信号通知的信息的情况下,基于所述块的所述宽度和所述块的所述高度中的至少一者来确定所述平滑滤波器的类型。49.根据权利要求28所述的方法,还包括:确定用于所述视频数据块的残差数据块;以及使用所述残差数据块以及基于对所述视频数据块进行所述帧内预测而被确定的预测性块,解码所述视频数据块。50.根据权利要求28所述的方法,还包括:生成包括与所述视频数据块相关联的信息的经编码视频比特流。
技术总结
本文描述了用于使用用于帧内预测的增强型插值滤波器来处理视频数据的技术。例如,一种设备可以确定用于预测视频数据块的帧内预测模式。该设备可以确定用于该视频数据块的平滑滤波器的类型,其中至少部分地基于将该视频数据块的宽度和该视频数据块的高度中的至少一项与第一阈值进行比较来确定该平滑滤波器的该类型。该设备还可以使用该平滑滤波器的所确定的该类型以及该帧内预测模式,对该视频数据块进行帧内预测。据块进行帧内预测。据块进行帧内预测。
技术研发人员:B
受保护的技术使用者:高通股份有限公司
技术研发日:2021.12.20
技术公布日:2023/8/28
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/