用于视频编码的方法和装置与流程

文档序号:23068571发布日期:2020-11-25 17:56阅读:89来源:国知局
用于视频编码的方法和装置与流程
援引并入本申请要求2018年9月28日提交的美国专利申请第16/147,503号“methodandapparatusforvideocoding”(现在是美国专利第10,284,866号)的优先权权益,其全部内容通过引用并入本文中,该美国专利申请要求2018年7月2日提交的美国临时申请第62/693,050号“methodsandapparatusforwideangularintrapredictioninvideocompression”的优先权权益。本公开内容描述了一般地与视频编码有关的实施方式。
背景技术
:本文中提供的上下文描述是为了一般地呈现本公开内容的上下文的目的。就本
背景技术
部分中描述的工作而言,目前指定的发明人的工作以及提交时否则不会有资格作为现有技术的描述的方面,既不明确地也不隐含地被承认为针对本公开内容的现有技术。可以使用具有运动补偿的图片间预测来执行视频编码和解码。未压缩的数字视频可以包括一系列图片,每个图片的空间维度为例如1920×1080亮度样本和相关联的色度样本。该一系列图片可以具有例如每秒60个图片或60hz的固定的或可变的图片速率(也被非正式地称为帧速率)。未压缩的视频具有显著的比特率要求。例如,每样本8比特的1080p604:2:0视频(60hz帧速率下1920×1080亮度样本分辨率)要求接近1.5gbit/s的带宽。一小时的这样的视频需要超过600gbyte的存储空间。视频编码和解码的目的之一是通过压缩来减少输入视频信号中的冗余。压缩可以帮助减少以上提及的带宽或存储空间要求,在一些情况下减少两个数量级或更多。可以采用无损和有损压缩两者及其组合。无损压缩是指可以从压缩的原始信号重建原始信号的精确副本的技术。当使用有损压缩时,重建的信号可能与原始信号不同,但是原始信号与重建的信号之间的失真足够小,以使重建的信号对于预期应用有用。在视频的情况下,有损压缩应用广泛。容忍的失真量取决于应用;例如,某些消费者流式应用的用户可能比电视贡献应用的用户容忍更高的失真。可达到的压缩比可以反映出:较高的可允许/可容忍失真可以产生较高的压缩比。视频编码器和解码器可以利用来自若干宽泛类别的技术,包括例如运动补偿、变换、量化和熵编码。视频编解码器技术可以被包括称为帧内编码的技术。在帧内编码中,在不参考来自先前重建的参考图片的样本或其他数据的情况下表示样本值。在一些视频编解码器中,图片在空间上被细分为样本块。当所有的样本块都以帧内模式编码时,该图片可以是帧内图片。帧内图片及其派生(例如独立解码器刷新图像)可以用于重置解码器状态,并且因此可以用作已编码的视频比特流和视频会话中的第一图片,或者用作静止图像。可以使帧内块的样本经受变换,并且可以在熵编码之前对变换系数进行量化。帧内预测可以是使预变换域中的样本值最小化的技术。在一些情况下,变换之后的dc值越小,并且ac系数越小,在给定量化步长下表示熵编码之后的块所需的比特就越少。诸如从例如mpeg-2代编码技术已知的常规帧内编码不使用帧内预测。然而,一些较新的视频压缩技术包括从例如在空间上相邻并且在解码顺序上在先的数据块的编码/解码期间获得的元数据以及/或者周围样本数据进行尝试的技术。此后,这样的技术被称为“帧内预测”技术。注意,在至少一些情况下,帧内预测仅使用来自重建中的当前图片的参考数据,而不使用来自参考图片的参考数据。可以存在许多不同形式的帧内预测。当可以在给定视频编码技术中使用一种以上这样的技术时,可以在帧内预测模式下对所使用的技术进行编码。在某些情况下,模式可以具有子模式和/或参数,并且子模式和/或参数可以被单独地编码或被包括在模式码字中。对于给定的模式/子模式/参数组合使用何种码字可以影响通过帧内预测引起的编码效率增益,并且因此熵编码技术可以用于将码字转换为比特流。特定模式的帧内预测通过h.264被引入,在h.265中被细化,并且在诸如联合勘探模型(jem)、通用视频编码(vvc)、基准集(bms)的较新编码技术中被进一步细化。可以使用属于已经可用的样本的相邻样本值来形成预测器块。根据方向将相邻样本的样本值复制到预测器块中。对使用中的方向的引用可以被编码在比特流中,或者其本身可以被预测。参照图1,在右下方描绘的是从h.265的35个可能的预测方向已知的9个预测方向的子集。箭头会聚的点(101)表示被预测的样本。箭头表示样本被预测的方向。例如,箭头(102)指示从右上方的与水平成45度角的一个或更多个样本对样本(101)进行预测。类似地,箭头(103)指示从样本(101)右下方的与水平成22.5度角的一个或更多个样本对样本(101)进行预测。仍然参照图1,在右上方描绘的是4×4个样本的正方形块(104)(由虚粗体线指示)。正方形块(104)包括16个样本,每个样本由“s”、其在y维度上的位置(例如,行索引)和其在x维度上的位置(例如,列索引)来标记。例如,样本s21是y维度上(从顶部起)的第二个样本和x维度上(从左侧起)的第一个样本。类似地,样本s44是块(104)中在y维度和x维度两者上的第四个样本。由于块的大小是4×4个样本,所以s44在右下方。进一步显示的是参考样本,其遵循类似的编号方案。参考样本由r、其相对于块(104)的y位置(例如,行索引)和x位置(列索引)来标记。在h.264和h.265两者中,预测样本与重建中的块相邻;因此不需要使用负值。帧内图片预测可以通过从由信号通知的预测方向占用的相邻样本复制参考样本值来运作。例如,假设编码视频比特流包括信令,针对该块,信令指示与箭头(102)一致的预测方向——即,根据右上方的与水平成45度角的一个或更多个预测样本来对样本进行预测。在这种情况下,根据同一r05对样本s41、s32、s23和s14进行预测。然后,根据r08预测样本s44。在某些情况下,多个参考样本的值可以例如通过插值来组合,以便计算参考样本;尤其是当方向不能被45度整除时。随着视频编码技术的发展,可能的方向的数量也在增加。在h.264(2003年)中,可以表示九个不同的方向。这在h.265(2013年)中增加到33个,并且在公开时jem/vvc/bms可以支持最多达65个方向。已经进行了实验来识别最可能的方向,并且熵编码中的某些技术被用于以少量的比特表示那些可能的方向,从而对较不可能的方向接受某些惩罚。此外,有时可以根据在相邻的已解码的块中使用的相邻方向来预测方向本身。图2是描绘根据jem的65个帧内预测方向以示出随着时间而增加的预测方向的数目的示意图201。编码视频比特流中表示方向的帧内预测方向比特的映射可以随着视频编码技术的不同而不同;并且例如可以从预测方向到帧内预测模式到码字的简单直接映射,到涉及最可能模式和类似技术的复杂自适应方案。本领域技术人员容易熟悉这些技术。然而,在所有情况下,均会存在统计上比某些其他方向更不可能出现在视频内容中的某些方向。由于视频压缩的目标是减少冗余,所以在工作良好的视频编码技术中,那些较不可能的方向与更可能的方向相比将通过更大的比特数来表示。技术实现要素:本公开内容的方面提供了用于视频编码的方法和装置。在一些示例中,装置处理电路。处理电路从编码的视频比特流解码第一块的预测信息。第一块是非正方形块,并且第一块的预测信息指示用于正方形块的第一组帧内预测模式中的第一帧内预测模式。然后,处理电路确定第一帧内预测模式在用于正方形块的第一组帧内预测模式中的对于非正方形块禁用的帧内预测模式的子集内,将第一帧内预测模式重新映射到用于非正方形块的第二组帧内预测模式中的第二帧内预测模式。第二组帧内预测模式不包括禁用的帧内预测模式的子集。此外,处理电路根据第二帧内预测模式重建第一块的至少一个样本。在一些示例中,处理电路确定与第二帧内预测模式相关联的帧内预测角度参数,以及根据帧内预测角度参数来重建第一块的至少一个样本。在示例中,第二帧内预测模式不包含在第一组帧内预测模式中。在一些示例中,处理电路基于第一块的形状确定第二组帧内预测模式。在一些实施方式中,处理电路计算第一块的纵横比,并且基于第一块的纵横比确定对于非正方形块禁用的帧内预测模式的子集。举例来说,当第一块的长边与短边的比率小于或等于2时,禁用的帧内预测模式的子集具有第一数量的禁用帧内预测模式,当该比率大于或等于4时,禁用的帧内预测模式的子集具有第二数量的禁用帧内预测模式,并且第二数量大于第一数量。此外,在一些实施方式中,处理电路确定第一块的宽度大于第一块的高度,并且检测到第一帧内预测模式在从第一组帧内预测模式的左下对角线方向模式开始的禁用的帧内预测模式的子集内。在另一实施方式中,处理电路确定第一块的高度大于第一块的宽度,并且检测到第一帧内预测模式在从第一组帧内预测模式的右上对角线方向模式开始的禁用的帧内预测模式的子集内。在一些实施方式中,处理电路确定第一块的宽度大于第一块的高度,并且向与第一帧内预测模式相关联的模式号添加值,以将第一帧内预测模式重新映射到第二帧内预测模式。在一些示例中,处理电路确定第一块的高度大于第一块的宽度,并且从与第一帧内预测模式相关联的模式号减去值,以将第一帧内预测模式转换为第二帧内预测模式。本公开内容的方面还提供了一种存储指令的非暂态计算机可读介质,该指令在由用于视频解码的计算机执行时使计算机执行用于视频编码的方法。附图说明根据以下详细描述和附图,所公开的主题的另外的特征、性质和各种优点将变得更加明显,在附图中:图1是根据h.265的帧内预测模式的子集的示意图示。图2是根据jem的帧内预测方向的图示。图3是根据实施方式的通信系统(300)的简化框图的示意图示。图4是根据实施方式的通信系统(400)的简化框图的示意图示。图5是根据实施方式的解码器的简化框图的示意图示。图6是根据实施方式的编码器的简化框图的示意图示。图7示出了根据另一实施方式的编码器的框图。图8示出了根据另一实施方式的解码器的框图。图9示出了说明广角模式的示例的示意图(900)。图10示出了将一些常规的帧内预测模式重新映射到广角模式的示例。图11示出了将一些常规的帧内预测模式重新映射到广角模式的另一示例。图12示出了说明常规的帧内预测方向和广角帧内预测方向的示意图。图13示出了概述根据本公开内容的实施方式的处理(1300)的流程图。图14是根据实施方式的计算机系统的示意图示。具体实施方式图3示出了根据本公开内容的实施方式的通信系统(300)的简化框图。通信系统(300)包括可以经由例如网络(350)彼此通信的多个终端设备。例如,通信系统(300)包括经由网络(350)互连的第一对终端设备(310)和(320)。在图3示例中,第一对终端设备(310)和(320)执行单向数据传输。例如,终端设备(310)可以对视频数据(例如,由终端设备(310)捕获的视频图片流)进行编码以用于经由网络(350)传输到另一终端设备(320)。经编码的视频数据可以以一个或更多个编码视频比特流形式传输。终端设备(320)可以从网络(350)接收已编码的视频数据,对已编码的视频数据进行解码以恢复视频图片,并且根据恢复的视频数据显示视频图片。单向数据传输在媒体服务应用等中可能是常见的。在另一实施方式中,通信系统(300)包括执行已编码的视频数据的双向传输的第二对终端设备(330)和(340),该双向传输可能例如在视频会议期间发生。对于双向数据传输,在示例中,终端设备(330)和(340)中的每个终端设备可以对视频数据(例如,由终端设备捕获的视频图片流)进行编码以用于经由网络(350)传输到终端设备(330)和(340)中的另一终端设备。终端设备(330)和(340)中的每个终端设备还可以接收由终端设备(330)和(340)中的另一终端设备传输的已编码的视频数据,并且可以对已编码的视频数据进行解码以恢复视频图片,并且可以根据所恢复的视频数据在可访问的显示设备处显示视频图片。在图3示例中,终端设备(310)、(320)、(330)和(340)可示为服务器、个人计算机和智能电话,但是本公开内容的原理可以不限于此。本公开内容的实施方式适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络(350)表示在终端设备(310)、(320)、(330)和(340)之间传送已编码的视频数据的任何数目的网络,包括例如有线(布线)和/或无线通信网络。通信网络(350)可以在回路交换和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。出于本论述的目的,除非在下文中有所说明,否则网络(350)的架构和拓扑对于本公开内容的操作来说可以是不重要的。图4示出了视频编码器和视频解码器在流式环境中的布置,作为所公开的主题的应用的示例。所公开的主题可以等同适用于其他支持视频的应用,包括例如视频会议,数字tv,在包括cd、dvd、存储棒等的数字介质上存储压缩视频等。流式系统可以包括捕获子系统(413),该捕获子系统可以包括诸如数字摄像装置的视频源(401),该视频源创建例如未压缩的视频图片流(402)。在示例中,视频图片流(402)包括由数字摄像装置拍摄的样本。视频图片流(402)可以由包括耦接至视频源(401)的视频编码器(403)的电子设备(420)处理,其中,视频图片流被描绘为粗线以强调与已编码的视频数据(404)(或已编码的视频比特流)进行比较时的高数据量。视频编码器(403)可以包括硬件、软件或其组合,以实现或实施如下更详细地描述的所公开的主题的各方面。已编码的视频数据(404)(或已编码的视频比特流(404))可以存储在流式服务器(405)上以供将来使用,其中,已编码的视频数据被描绘为细线以强调与视频图片流(402)进行比较时的较低数据量。一个或更多个流式客户端子系统——例如图4中的客户端子系统(406)和(408)——可以访问流式服务器(405)以检索已编码的视频数据(404)的副本(407)和(409)。客户端子系统(406)可以包括例如电子设备(430)中的视频解码器(410)。视频解码器(410)对经编码的视频数据的传入副本(407)进行解码,并且创建可以在显示器(412)(例如,显示屏)或其他呈现设备(未描绘)上呈现的传出视频图片流(411)。在一些流式系统中,可以根据某些视频编码/压缩标准对经编码的视频数据(404)、(407)和(409)(例如,视频比特流)进行编码。这些标准的示例包括itu-th.265建议书。在示例中,开发中的视频编码标准被非正式地称为通用视频编码或vvc。所公开的主题可以在vvc的上下文下使用。注意,电子设备(420)和(430)可以包括其他部件(未示出)。例如,电子设备(420)可以包括视频解码器(未示出),并且电子设备(430)也可以包括视频编码器(未示出)。图5示出了根据本公开内容的实施方式的视频解码器(510)的框图。视频解码器(510)可以被包括在电子设备(530)中。电子设备(530)可以包括接收器(531)(例如,接收电路)。视频解码器(510)可以用于代替图4示例中的视频解码器(410)。接收器(531)可以接收要由视频解码器(510)解码的一个或更多个已编码的视频序列;在同一实施方式或另一实施方式中,一次接收一个已编码的视频序列,其中每个已编码的视频序列的解码独立于其他已编码的视频序列。可以从信道(501)接收已编码的视频序列,信道(612)可以是到存储经编码的视频数据的存储设备的硬件/软件链路。接收器(531)可以接收带有其他数据的经编码的视频数据,其他数据例如为可以转发到其各自的使用实体(未描绘)的已编码音频数据和/或辅助数据流。接收器(531)可以将已编码的视频序列与其他数据分开。为了防止网络抖动,可以将缓冲存储器(515)耦接在接收器(531)与熵解码器/解析器(520)(此后称为“解析器(520)”)之间。在一些应用中,缓冲存储器(515)是视频解码器(510)的一部分。在其他应用中,缓冲存储器可以在视频解码器(510)的外部(未描绘)。在又一些其他应用中,可以存在视频解码器(510)的外部的缓冲存储器(未描绘)以例如防止网络抖动,并且另外存在视频解码器(510)的内部的另一缓冲存储器(515)以例如处理播出定时。当接收器(531)从具有足够带宽和可控性的存储/转发设备或从等同步网络(isosynchronousnetwork)接收数据时,可能不需要缓冲存储器(515),或者缓冲存储器(315)可以是小的。为了在诸如因特网的尽力服务分组网络上使用,可能需要缓冲存储器(515),缓冲存储器(315)可以相对较大并且可以有利地具有适应性大小,并且可以至少部分地在操作系统或视频解码器(510)的外部的类似元素(未描绘)中实现。视频解码器(510)可以包括解析器(520),以根据已编码的视频序列重建符号(521)。这些符号的类别包括用于管理视频解码器(510)的操作的信息,以及可能包括控制诸如呈现设备(512)(例如,显示屏)的呈现设备的信息,该呈现设备(512)不是电子设备(530)的组成部分,但是可以耦接至电子设备(530),如图5所示。用于呈现设备的控制信息可以是补充增强信息(sei消息)或视频可用性信息(vui)参数集片段(未描绘)的形式。解析器(520)可以对接收到的已编码的视频序列进行解析/熵解码。已编码的视频序列的编码可以根据视频编码技术或标准,并且可以遵循各种原理,包括可变长度编码、霍夫曼编码(huffmancoding)、具有或不具有上下文敏感性的算术编码等。解析器(520)可以基于与组相对应的至少一个参数、从已编码的视频序列提取用于视频解码器中的像素的子组中的至少一个子组的子组参数集合。子组可以包括:图片组(groupofpictures,gop)、图片、图块(tile)、切片、宏块、编码单元(codingunit,cu)、块、变换单元(transformunit,tu)、预测单元(predictionunit,pu)等。解析器(520)还可以从已编码的视频序列提取诸如变换系数、量化器参数值、运动矢量等的信息。解析器(520)可以对从缓冲存储器(515)接收的视频序列执行熵解码/解析操作,从而创建符号(521)。取决于已编码的视频图片或其一部分的类型(例如:帧间图片和帧内图片、帧间块和帧内块)以及其他因素,符号(521)的重建可以涉及多个不同单元。涉及哪些单元以及涉及的方式可以通过由解析器(520)从已编码的视频序列解析的子群组控制信息来控制。出于简洁起见,未描绘这样的子群组控制信息在解析器(520)与下面的多个单元之间的流动。除了已经提及的功能块以外,视频解码器(510)可以在概念上细分成如下文所描述的若干功能单元。在商业约束下操作的实际实现方式中,这些单元中的许多单元彼此紧密交互并且可以至少部分地集成到彼此。然而,出于描述所公开的主题的目的,概念上细分为下面的功能单元是适当的。第一单元是缩放器/逆变换单元(551)。缩放器/逆变换单元(551)从解析器(520)接收作为符号(521)的量化变换系数以及控制信息,包括使用哪种变换、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(551)可以输出包括样本值的可以输入到聚合器(555)中的块。在一些情况下,缩放器/逆变换(551)的输出样本可以涉及帧内编码块;即:不使用来自先前重建的图片的预测性信息、但可以使用来自当前图片的先前重建部分的预测性信息的块。这样的预测性信息可以由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)使用从当前图片缓冲器(558)取得的周围已重建的信息生成大小和形状与重建中的块相同的块。例如,当前图片缓冲器(558)缓冲部分重建的当前图片和/或完全重建的当前图片。在一些情况下,聚合器(555)在每个样本的基础上将帧内预测单元(552)已经生成的预测信息添加到由缩放器/逆变换单元(551)提供的输出样本信息。在其他情况下,缩放器/逆变换单元(551)的输出样本可以涉及帧间编码的并且潜在运动补偿的块。在这样的情况下,运动补偿预测单元(553)可以访问参考图片存储器(557)以取得用于预测的样本。在根据关于块的符号(521)对取得的样本进行运动补偿之后,这些样本可以由聚合器(555)添加到缩放器/逆变换单元(551)的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元(553)取得预测样本的参考图片存储器(557)内的地址可以由运动矢量控制,运动矢量可由运动补偿预测单元(553)获得,具有可以具有例如x、y和参考图片分量的符号(521)的形式。运动补偿还可以包括在使用子样本精确运动矢量时从参考图片存储器(557)提取的样本值的插值、运动矢量预测机制等。聚合器(555)的输出样本可以在环路滤波器单元(556)中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,但是视频压缩技术也可以响应于在对已编码的图片或已编码的视频序列的(按解码顺序的)先前部分进行解码期间获得的元信息,以及响应于先前重建并且经环路滤波的样本值,其中,环路内滤波器技术由包括在已编码的视频序列(也被称为已编码的视频比特流)中并且作为来自解析器(520)的符号(521)提供给环路滤波器单元(556)的参数控制。环路滤波器单元(556)的输出可以是样本流,其可以输出到呈现设备(512)以及存储在参考图片存储器(557)中以供在将来的图片间预测中使用。某些已编码的图片一旦被完全重建,就可以用作参考图片以用于将来预测。例如,一旦与当前图片对应的已编码图片被完全重建,并且已编码的图片(通过例如解析器(520))被识别为参考图片,则当前图片缓冲器(558)就可以变为参考图片存储器(557)的一部分,并且可以在开始重建随后的已编码图片之前重新分配新的当前图片缓冲器。视频解码器(510)可以根据诸如itu-th.265建议书的标准中的预定视频压缩技术执行解码操作。在已编码的视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件两者的意义上,已编码的视频序列可以符合由使用的视频压缩技术或标准指定的语法。具体地,配置文件可以从视频压缩技术或标准中可用的所有工具中选择某些工具作为根据该配置文件可供使用的仅有工具。对于合规性同样必要的可以是已编码的视频序列的复杂度在由视频压缩技术或标准的等级限定的界限内。在一些情况下,等级限制最大图片大小、最大帧速率、最大重建样本速率(以例如兆样本/秒为单位来度量)、最大参考图片大小等。在一些情况下,由等级设置的限制可以通过已编码的视频序列中用信号通知的用于hrd缓冲器管理的元数据以及假想参考解码器(hrd)规范被进一步限制。在实施方式中,接收器(531)可以连同已编码的视频一起接收附加(冗余)数据。附加数据可以被包括为已编码的视频序列的一部分。附加数据可以由视频解码器(510)使用来适当地对数据进行解码和/或更精确地重建原始视频数据。附加数据可以具有例如时间、空间或信噪比(snr)增强层、冗余切片、冗余图片、前向纠错码等形式。图6示出了根据本公开内容的实施方式的视频编码器(603)的框图。视频编码器(603)被包括在电子设备(620)中。电子设备(620)包括发送器(640)(例如,发送电路)。视频编码器(603)可以用于代替图4示例中的视频编码器(403)。视频编码器(603)可以从视频源(601)(视频源并非图6示例中的电子设备(620)的一部分)接收视频样本,该视频源可以捕获要由视频编码器(603)编码的视频图像。在另一示例中,视频源(601)是电子设备(620)的一部分。视频源(601)可以提供要由视频编码器(603)编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适的比特深度(例如:8比特、10比特、12比特等)、任何色彩空间(例如,bt.601ycrcb、rgb等)和任何合适的采样结构(例如ycrcb4:2:0、ycrcb4:4:4)。在媒体服务系统中,视频源(601)可以是存储先前已准备的视频的存储设备。在视频会议系统中,视频源(601)可以是捕获本地图像信息作为视频序列的摄像装置。可以将视频数据提供为在按次序观看时传达出运动的多个单独的图片。图片自身可以被组织为空间像素阵列,其中,取决于使用中的采样结构、色彩空间等,每个像素可以包括一个或更多个样本。本领域技术人员可以容易地理解像素与样本之间的关系。以下描述着眼于样本。根据实施方式,视频编码器(603)可以实时地或在由应用所要求的任何其他时间约束下,将源视频序列的图片编码和压缩成经编码的视频序列(643)。施行合适编码速度是控制器(650)的一个功能。在一些实施方式中,控制器(650)控制如下所述的其他功能单元并且在功能上耦接至其他功能单元。出于简洁起见,未描绘出耦接。由控制器(650)设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片组(gop)布局、最大运动矢量搜索范围等。控制器(650)可以被配置成具有其他合适的功能,这些功能涉及针对某些系统设计优化的视频编码器(603)。在一些实施方式中,视频编码器(603)被配置成在编码环路中进行操作。作为极度简化的描述,在示例中,编码环路可以包括源编码器(630)(例如,负责基于要编码的输入图片和参考图片创建诸如符号流的符号)以及嵌入在视频编码器(603)中的(本地)解码器(633)。解码器(633)以类似于(远程)解码器也将创建样本数据的方式重建符号以创建样本数据(因为在所公开的主题中考虑的视频压缩技术中,符号与已编码的视频比特流之间的任何压缩都是无损的)。将重建的样本流(样本数据)输入至参考图片存储器(634)。由于符号流的解码导致与解码器位置(本地或远程)无关的比特精确(bit-exact)结果,因此参考图片存储器(634)中的内容在本地编码器与远程编码器之间也是比特精确的。换言之,编码器的预测部分“看到”与在解码期间使用预测时解码器将“看到”的完全相同的样本值,作为参考图片样本。参考图片同步性(以及在例如由于信道误差而无法维持同步性的情况下产生的漂移)的该基本原理也用于一些相关领域。“本地”解码器(633)的操作可以与已经在上面结合图5已经详细描述的“远程”解码器(例如视频解码器(510))的操作相同。然而,还简要参照图5,由于符号可用并且熵编码器(645)和解析器(520)对符号向经编码的视频序列的编码/解码可以为无损,包括缓冲存储器(515)和解析器(520)的视频解码器(510)的熵解码部分可能无法完全在本地解码器(633)中实现。此时可以观察到,除了存在于解码器中的解析/熵解码之外任何解码器技术也必然需要以基本上相同的功能形式存在于对应的编码器中。出于该原因,所公开的主题着眼于解码器操作。由于编码器技术与全面地描述的解码器技术互逆,因此可以简化对编码器技术的描述。更详细的描述仅在某些领域中需要并且在下文中提供。在操作期间,在一些示例中,源编码器(630)可以执行运动补偿预测编码,其参考来自视频序列的被指定为“参考图片”的一个或更多个先前已编码图片对输入图片进行预测性编码。以此方式,编码引擎(632)对输入图片的像素块与可以被选作输入图片的预测参考的参考图片的像素块之间的差异进行编码。本地视频解码器(633)可以基于由源编码器(630)创建的符号对可以被指定为参考图片的图片的已编码的视频数据进行解码。编码引擎(632)的操作可以有利地是有损处理。当已编码的视频数据可以在视频解码器(图6中未示出)处被解码时,重建的视频序列通常可以是具有一些误差的源视频序列的副本。本地视频解码器(633)复制可以由视频解码器对参考图片执行的解码处理,并且可以使重建的参考图片存储在参考图片缓存(634)中。以该方式,视频编码器(603)可以本地地存储具有共同内容的重建的参考图片的副本,作为将由远端视频解码器获得的重建的参考图片(不存在传输误差)。预测器(635)可以针对编码引擎(632)执行预测搜索。即,对于要编码的新图片,预测器(635)可以在参考图片存储器(634)中搜索可以用作新图片的合适预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(635)可以在样本块逐像素块的基础上进行操作,以找到合适的预测参考。在一些情况下,如由预测器(635)获得的搜索结果所确定的,输入图片可以具有从参考图片存储器(634)中存储的多个参考图片提取的预测参考。控制器(650)可以管理源编码器(630)的编码操作,包括例如设置用于对视频数据进行编码的参数和子组参数。所有上述功能单元的输出可以在熵编码器(645)中经历熵编码。熵编码器(645)通过根据本领域技术人员已知的技术(例如霍夫曼编码、可变长度编码、算术编码等)对符号进行无损压缩,将由各种功能单元生成的符号转换为编码的视频序列。发送器(640)可以缓冲由熵编码器(645)创建的已编码的视频序列以准备用于经由通信信道(660)进行传输,该通信信道可以是通向将存储已编码的视频数据的存储设备的硬件/软件链路。发送器(640)可以将来自视频编码器(603)的已编码的视频数据与要传输的其他数据例如已编码的音频数据和/或辅助数据流(未示出源)进行合并。控制器(650)可以管理视频编码器(603)的操作。在编码期间,控制器(650)可以为每个已编码的图片分配可能影响可以应用于相应图片的编码技术的特定编码图片类型。例如,通常可以将图片分配为以下图片类型之一:帧内图片(i图片),其可以是可以在不将序列中的任何其他图片用作预测源的情况下被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(“idr”)图片。本领域技术人员了解i图片的那些变型及其相应的应用和特征。预测性图片(p图片),其可以是可以使用以下帧内预测或帧间预测进行编码和解码的图片,该帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。双向预测性图片(b图片),其可以是可以使用以下帧内预测或帧间预测进行编码和解码的图片,该帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可以使用多于两个参考图片和相关联的元数据以用于单个块的重建。源图片通常可以在空间上细分成多个样本块(例如,各自4×4、8×8、4×8或16×16个样本的块),并且被逐块地进行编码。这些块可以参考其他(已编码的)块被预测性地编码,其中所述其他块通过应用于块的相应图片的编码分配来确定。例如,i图片的块可以被非预测性地编码,或者这些块可以参考相同图片的已经编码的块被预测性地编码(空间预测或帧内预测)。p图片的像素块可以参考一个先前编码的参考图片经由空间预测或经由时间预测被预测性编码。b图片的块可以参考一个或两个先前编码的参考图片经由空间预测或经由时间预测被预测性地编码。视频编码器(603)可以根据诸如itu-th.265建议书的预定视频编码技术或标准执行编码操作。在其操作中,视频编码器(603)可以执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测性编码操作。因此,已编码的视频数据可以符合由正使用的视频编码技术或标准指定的语法。在实施方式中,发送器(640)可以与已编码的视频一起发送附加数据。源编码器(630)可以包括这样的数据作为已编码视频序列的一部分。附加数据可以包括时间/空间/snr增强层、诸如冗余图片和切片的其他形式的冗余数据、补充增强信息(sei)消息、视觉可用性信息(vui)参数集片段等。视频可以被捕获为时间序列中的多个源图片(视频图片)。帧内图片预测(通常缩写为帧内预测)利用给定图片中的空间相关性,而帧间图片预测利用图片之间的(时间或其他)相关性。在示例中,被称为当前图片的处于编码/解码中的特定图片被划分成块。在当前图片中的块类似于视频中先前已编码的并且仍被缓冲的参考图片中的参考块时,可以通过被称为运动矢量的矢量对当前图片中的块进行编码。运动矢量指向参考图片中的参考块,并且在使用多个参考图片的情况下,运动矢量可以具有识别参考图片的第三维度。在一些实施方式中,可以在帧间图片预测中使用双预测技术。根据双预测技术,使用按解码次序都在视频中的当前图片之前(但按显示次序可能分别在过去和将来)的诸如第一参考图片和第二参考图片的两个参考图片。可以通过指向第一参考图片中的第一参考块的第一运动矢量以及指向第二参考图片中的第二参考块的第二运动矢量对当前图片中的块进行编码。块可以通过第一参考块和第二参考块的组合来预测。此外,可以在帧间图片预测中使用合并模式技术以提高编码效率。根据本公开内容的一些实施方式,以块为单位执行诸如帧间图片预测和帧内图片预测的预测。例如,根据hevc标准,视频图片序列中的图片被划分成编码树单元(ctu)以用于压缩,图片中的ctu具有相同大小,诸如64×64像素、32×32像素或16×16像素。一般来说,ctu包括三个编码树块(ctb)——一个亮度ctb和两个色度ctb。每个ctu可以被递归地以四叉树分成一个或多个编码单元(cu)。例如,可以将64×64像素的ctu分成一个64×64像素的cu,或4个32×32像素的cu,或16个16×16像素的cu。在示例中,分析每个cu以确定用于cu的预测类型,例如帧间预测类型或帧内预测类型。取决于时间和/或空间可预测性,cu被分成一个或更多个预测单元(pu)。通常,每个pu包括亮度预测块(pb)和两个色度pb。在实施方式中,编码(编码/解码)中的预测操作以预测块为单位来执行。在使用亮度预测块作为预测块的示例的情况下,预测块包括像素值(例如,亮度值)的矩阵,例如8×8像素、16×16像素、8×16像素、16×8像素等。图7示出了根据本公开内容的另一实施方式的视频编码器(703)的图。视频编码器(703)被配置成接收视频图片序列中的当前视频图片内的样本值的处理块(例如,预测块),并且将处理块编码到作为编码视频序列的一部分的编码图片。在示例中,视频编码器(703)用于代替图4示例中的视频编码器(403)。在hevc示例中,视频编码器(703)接收用于处理块的样本值的矩阵,处理块例如为8×8样本的预测块等。视频编码器(703)使用例如率失真优化来确定是使用帧内模式、帧间模式还是双预测模式来最佳地编码处理块。当要在帧内模式下编码处理块时,视频编码器(703)可以使用帧内预测技术以将处理块编码到编码图片;以及当要在帧间模式或双预测模式下编码处理块时,视频编码器(703)可以分别使用帧间预测或双预测技术以将处理块编码到编码图片。在某些视频编码技术中,合并模式可以是帧间图片预测子模式,其中,在不借助于预测器外部的已编码运动矢量分量的情况下,根据一个或更多个运动矢量预测器得到运动矢量。在某些其他视频编码技术中,可以存在适用于主题块的运动矢量分量。在示例中,视频编码器(703)包括其他部件,例如用于确定处理块的模式的模式决策模块(未示出)。在图7示例中,视频编码器(703)包括如图7所示的耦接到一起的帧间编码器(730)、帧内编码器(722)、残差计算器(723)、开关(726)、残差编码器(724)、通用控制器(721)以及熵编码器(725)。帧间编码器(730)被配置成接收当前块(例如,处理块)的样本、将该块与参考图片中的一个或更多个参考块(例如,先前图片和后来图片中的块)进行比较、生成帧间预测信息(例如,根据帧间编码技术的冗余信息描述、运动矢量、合并模式信息)、以及基于帧间预测信息使用任何合适的技术计算帧间预测结果(例如,预测的块)。在一些示例中,参考图片是基于编码的视频信息被解码的解码的参考图片。帧内编码器(722)被配置成接收当前块(例如,处理块)的样本、在一些情况下将该块与同一图片中已编码的块进行比较、生成变换之后的量化系数、以及在一些情况下还生成帧内预测信息(例如,根据一个或更多个帧内编码技术的帧内预测方向信息)。通用控制器(721)被配置成确定通用控制数据,并且基于通用控制数据控制视频编码器(703)的其他部件。在示例中,通用控制器(721)确定块的模式,并且基于该模式将控制信号提供给开关(726)。例如,当模式是帧内模式时,通用控制器(721)控制开关(726)以选择帧内模式结果来供残差计算器(723)使用,并且控制熵编码器(725)以选择帧内预测信息并且将帧内预测信息包括在比特流中;以及当模式是帧间模式时,通用控制器(721)控制开关(726)以选择帧间预测结果来供残差计算器(723)使用,并且控制熵编码器(725)以选择帧间预测信息并将帧间预测信息包括在比特流中。残差计算器(723)被配置成计算所接收的块与选自帧内编码器(722)或帧间编码器(730)的预测结果之间的差异(残差数据)。残差编码器(724)被配置成基于残差数据进行操作以对残差数据进行编码从而生成变换系数。在示例中,残差编码器(724)被配置成对频域中的残差数据进行转换,并且生成变换系数。然后,变换系数经受量化处理以获得量化的变换系数。熵编码器(725)被配置成对比特流进行格式化以包括经编码的块。熵编码器(725)被配置成根据诸如hevc标准的合适标准包括各种信息。在示例中,熵编码器(725)被配置成在比特流中包括通用控制数据、选择的预测信息(例如,帧内预测信息或帧间预测信息)、残差信息和其他合适的信息。注意,根据所公开的主题,当在双预测模式或帧间模式的合并子模式下对块进行编码时,不存在残差信息。图8示出了根据本公开内容的另一实施方式的视频解码器(810)的图。视频解码器(810)被配置成接收作为编码视频序列的一部分的已编码图片,并且对已编码图片进行解码以生成重建的图片。在示例中,视频解码器(810)用于代替图4示例中的视频解码器(410)。在图8示例中,视频解码器(810)包括如图8所示耦接到一起的熵解码器(871)、帧间解码器(880)、残差解码器(873)、重建模块(874)以及帧内解码器(872)。熵解码器(871)可以被配置成根据已编码图片来重建某些符号,这些符号表示构成已编码图片的语法元素。这样的符号可以包括例如对块进行编码的模式(例如,帧内模式、帧间模式、双预测模式、合并子模式或另一子模式下的后两者)、可以识别分别供帧内解码器(872)或帧间解码器(880)使用以进行预测的某些样本或元数据的预测信息(例如,帧内预测信息或帧间预测信息)、具有例如量化变换系数的形式的残差信息等。在示例中,当预测模式是帧间或双预测模式时,将帧间预测信息提供给帧间解码器(880);以及当预测类型是帧内预测类型时,将帧内预测信息提供给帧内解码器(872)。残差信息可以经受逆量化并且被提供给残差解码器(873)。帧间解码器(880)被配置成接收帧间预测信息,并且基于帧间预测信息生成帧间预测结果。帧内解码器(872)被配置成接收帧内预测信息,并且基于帧内预测信息生成预测结果。残差解码器(873)被配置成执行逆量化以提取去量化变换系数,并且处理去量化变换系数以将残差从频域转换到空间域。残余解码器(873)还可能需要某些控制信息(以包括量化器参数qp),并且该信息可以由熵解码器(871)提供(未绘出数据路径,因为这可能仅是小量控制信息)。重建模块(874)被配置成在空间域中将由残差解码器(873)输出的残差与预测结果(由帧间预测模块或帧内预测模块输出,视情况而定)进行组合以形成重建块,该重建块可以是重建图片的一部分,该重建图片又可以是重建视频的一部分。注意到,可以执行诸如解块操作等的其他合适的操作来提高视觉质量。注意,可以使用任何合适的技术来实现视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)。在实施方式中,可以使用一个或更多个集成电路来实现视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)。在另一实施方式中,可以使用执行软件指令的一个或更多个处理器来实现视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)。根据本公开内容的一些方面,对于帧内预测,可以使用广角模式来压缩视频以及减少带宽或存储空间需求。图9示出了说明广角模式的示例的示意图(900)。通常,帧内预测在右上45度方向(对应于指向图9中34的箭头,其指示模式34)到左下方向的45度方向(对应于指向图9中2的箭头,其指示模式2)内,其被称为常规帧内预测模式。当应用35hevc帧内预测模式时,模式2被称为左下对角线模式,并且模式34被称为右上对角线模式。超出由常规帧内预测模式覆盖的预测方向范围的广角可以对应于广角帧内预测模式。在一些示例中,广角帧内预测方向与一个常规帧内预测方向相关联。例如,广角帧内预测方向及其相关联的帧内预测方向捕获相同的方向性,但是使用相对侧(左列或顶行)的参考样本。在示例中,通过发送针对具有可用广角“翻转模式”的相关联方向的1比特标志来用信号通知广角帧内预测模式。在图9示例中,具有指向35的箭头的第一方向是广角帧内预测方向,并且与具有指向03的箭头的第二方向相关联。因此,可以通过发送针对第二方向的1比特标志来用信号通知第一方向。在实施方式中,在33方向角度帧内预测的情况下,新模式的可用性限于最接近45度对角线右上模式(即,当应用35个常规帧内模式时的模式34)和左下模式(即,当应用35个常规帧内模式时的模式2)的10个方向模式。实际的样本预测处理遵循hevc或vvc中的预测处理。在图9示例中,示出了与模式2到模式34相关联的33个帧内预测方向。在示例中,当块的宽度大于块的高度时,与模式35和模式36相关联的方向可以用作广角帧内预测方向。然后,模式3和模式4可以具有额外的标志,其指示是使用所指示的模式还是使用模式35和模式36的翻转广角方向。在一些示例(例如,通用视频编码测试模型1(vtm1))中,以四叉树、二叉树和三叉树(qt+bt+tt)划分结构支持正方形块和非正方形块。当用于正方形块和非正方形块的帧内预测设计针对正方形块使用相同的帧内预测模式(例如,模式2到模式34)时,帧内预测模式(例如,图9示例中的模式2到模式34)对于非正方形块不是高效的。广角预测模式(例如,图9示例中的模式35和模式36)可以用于更高效地编码非正方形块。在一些示例中,广角帧内预测的信令取决于帧内预测模式。因此,当解析广角控制标志时,存在解析依赖问题(在解析处理中需要重建帧内预测模式)。在一些实施方式中,将用于正方形块的一些帧内预测模式重新映射到用于非正方形块的广角预测模式。在示例中,在重新映射处理中,从最初用于正方形块的一组帧内预测模式中移除用于正方形块的一些帧内预测模式,同时将相同数目的广角预测模式添加到该组帧内预测模式中,以形成用于某些非正方形块的新的一组帧内预测模式。因此,帧内预测模式组中的特定数目的模式被改变,而其他模式保持相同。在一些示例中,已经被改变的特定数目的模式取决于块形状,诸如块的纵横比。对于正方形块,可以将一组常规帧内预测模式用于帧内预测,并且该组常规帧内预测模式的模式数目可以是35个、67个等。对于非正方形块,可以从该组常规帧内预测模式中移除一些模式,并且可以将(与移除的模式)相同数目的广角模式与剩余的常规帧内预测模式相加以形成新的一组帧内预测模式。因此,在示例中,用于非正方形块和正方形块的用信号通知的模式索引相同,并且非正方形块和正方形块共享相同的模式编码算法。在35个常规帧内预测模式的情况下,添加的右上广角模式的索引是模式35、模式36、模式37、模式38等,并且添加的左下广角模式的索引是模式-1、模式-2、模式-3、模式-4等。图10和图11示出了将一些常规帧内预测模式重新映射到广角模式的两个示例。在图10中,模式2至模式34与图10所示的帧内预测方向相关联。模式2至模式34与模式0和模式1包括在一起以形成用于正方形块的一组常规帧内预测模式。在图10示例中,从该组常规帧内预测模式中移除模式2和模式3(如短划线所指示)。此外,添加了广角模式35和模式36(如点状虚线所示),其中模式35的方向与模式3的方向相反(如(1001)所示),并且模式36的方向与模式4的方向相反(如(1002)所示)。因此,模式4至模式36与模式0和模式1包括在一起以形成用于某些非正方形块的新的一组帧内预测模式。在图11中,移除模式33和模式34(如短划线所示),并且添加广角模式-1和模式-2(如点状虚线所示)。模式-1的方向与模式33的方向相反(如(1101)所示),并且模式-2的方向与模式32的方向相反(如(1102)所示)。因此,模式-2和模式-1以及模式2至模式32与模式0和模式1包括在一起以形成用于某些非正方形块的新的一组帧内预测模式。在一个实施方式,移除的常规模式与添加的广角模式之间的角距离大于90度且小于或等于180度。例如,当存在35个常规帧内预测模式,并且宽度大于高度时,移除模式2至模式5,并且添加广角模式35至模式38;当高度大于宽度时,移除模式31至模式34,并且添加模式-1至模式-4。在另一示例中,存在67个常规帧内预测模式,当宽度大于高度时,移除模式2至模式9,并且添加模式67至模式74;当高度大于宽度时,移除模式59至模式66,并且添加模式-1至模式-8。在替选实施方式中,移除的常规模式和增加的广角模式是在相反的方向上。例如,当存在35个常规帧内预测模式时,当宽度大于高度时,移除模式3至模式6,并且添加模式广角模式35至模式38;当高度大于宽度时,移除模式30至模式33,并且添加模式-1至模式-4。又例如,当存在67个常规帧内预测模式时,当宽度大于高度时,移除模式3至模式10,并且添加广角模式67至模式74;当高度大于宽度时,移除模式58至模式65,并且添加广角模式-1至模式-8。在替选实施方式中,当宽度大于高度时,移除左下方向的一些常规模式,并且添加相同数量的右上方向的广角模式。否则,当高度大于宽度时,移除右上方向的一些模式,并且添加相同数量的左下方向的广角模式。例如,当存在35个常规帧内预测模式并且宽度大于高度时,移除模式2至模式5,并且添加广角模式35至模式38;当高度大于宽度时,移除模式31至模式34,并且添加广角模式-1至模式-4。在替选实施方式中,对于所有非正方形块形状,被移除的常规帧内预测模式的数目是固定的。对于所有非正方形块,移除n个常规帧内预测模式,并且相应地添加n个广角模式。例如,当使用35个常规模式时,n可以是1至7,当使用67个常规模式时,n可以是2至14,以及当使用129个常规帧内预测模式时,n可以是4至28。在一个子实施方式中,n可以在高级语法元素中(例如在序列参数集(sps)、图片参数集(pps)、切片标头中)或作为用于图片的区域的公共语法元素或参数而被用信号通知。在一个示例中,当存在35个常规帧内预测模式时,移除4个常规帧内模式,并且当存在67个常规帧内预测模式时,移除8个常规帧内模式。在替选实施方式中,移除的常规帧内预测模式的数目取决于非正方形块的形状。在一些示例中,当宽度/高度<=2或者高度/宽度<=2(纵横比=宽度/高度,l<纵横比<=2,或者1/2<=纵横比<l)时,移除m个常规帧内预测模式。此外,当宽度/高度>=4或高度/宽度>=4(纵横比>=4或纵横比<=1/4)时,移除n个常规帧内预测模式。此外,在示例中,当2<纵横比<4,或者1/4<=纵横比<1/2时,移除p个常规帧内预测模式。在示例中,m不等于n。在一个示例中,当存在35个常规帧内预测模式时,m等于3并且n等于5,当存在67个常规帧内预测模式时,m等于6并且n等于10。p可以与m或n相同,或者可以与m或n均不同。在一个子实施方式中,m和n可以作为高级语法元素(例如在序列参数集(sps)、图片参数集(pps)、切片标头中),或作为用于图片的区域的公共语法元素或参数而被用信号通知。在另一示例中,所移除的常规帧内预测模式的数目取决于编码的信息,包含但不限于块宽度、块高度、以及块宽度与高度的比率、块区域大小。在替选实施方式中,移除的常规帧内预测模式从左下对角线模式(即,当应用35个模式时的模式2)或右上对角线模式(即,当应用35个模式时的模式34)开始,并且添加的广角模式从超过左下对角线模式或右上对角线模式的最近的角(即,模式1或模式35)开始。在一些示例中,移除的常规模式和添加的广角模式可以是连续的或非连续的。在一个示例中,当存在35个常规帧内预测模式并且宽度大于高度时,移除模式2至模式5,并且添加广角模式35至模式38。在另一示例中,当存在35个常规帧内预测模式并且宽度大于高度时,移除模式2至模式5,并且添加广角模式35、模式37、模式38以及模式39。在替选实施方式中,未使用/移除的常规帧内预测模式用于指示添加的广角模式。作为结果,仍然用信号通知未使用的常规帧内预测模式,但是这些未使用的常规帧内预测模式的含义被转换为添加的广角模式。例如,当宽度大于高度时,移除模式2,但是仍然将模式2用信号通知。对于一个非正方形块,当解码器解码模式2并且宽度大于高度时,解码器将模式2转换为模式35。在替选实施方式中,为了得到当前块的最可能模式(mpm),当相邻块的帧内预测超出当前块的帧内预测方向范围时,相邻块的模式将被映射到由当前块的帧内预测方向范围覆盖的最近方向。例如,如果当前块是正方形块,并且其左边的块是非正方形块,并且左边的块的模式号是35。模式35不被当前块的模式范围覆盖。因此,左边的块的模式被映射到由当前块的模式范围覆盖的最近模式34。在一些实施方式中,针对矩形块使用广角预测来执行帧内预测处理。帧内预测处理接收输入,例如帧内预测模式(由predmodeintra表示)、当前块的宽度(由nwidth表示)、块的高度(由nheight表示)、相邻样本(由p[x][y]表示,其中(x=-1,y=-1到nwidth+nheight-1)(x=0到nwidth+nheight-1,y=-1)、以及指定当前块的颜色分量的变量cidx。帧内预测处理可以生成预测样本predsamples[x][y],其中x=0到nwidth-1,y=0到nheight-1。在一些实施方式中,基于帧内预测模式predmodeintra与角度参数intrapredangle之间的映射来执行帧内预测处理。图12示出了说明43个帧内预测方向的示意图。43个帧内预测方向包括与常规帧内预测模式的模式2至模式34对应的33个常规帧内预测方向,并且包括延伸超过模式34的5个广角方向(如模式35至模式39所示)以及延伸超过模式2的5个广角方向(如模式-1至模式-5所示)。图12还示出了顶部标尺(顶标尺)和左侧标尺(左标尺)。在一些示例中,角度参数intrapredangle根据顶部标尺或左侧标尺被度量。表1指定了帧内预测模式predmodeintra与角度参数intrapredangle之间的映射表。表1predmodeintra-5-4-3-2-101234567891011intrapredangle11479604939-32262117139520-2predmodeintra1213141516171819202122232425262728intrapredangle-5-9-13-17-21-26-32-26-21-17-13-9-5-2025predmodeintra2930313233343536373839intrapredangle9131721263239496079114在示例中,输入中的帧内预测模式predmodeintra是被移除的常规帧内预测模式之一,并且输入中的帧内预测模式predmodeintra基于当前块的纵横比(nwidth/nheight)被转换成广角模式。例如,当nwidth/nheight=2并且2<=predmodeintra<=4时,predmodeintra←predmodeintra+33。具体地,当块的宽度nwidth是块的高度nheight的两倍时,从一组常规帧内预测模式中移除3个常规帧内预测模式(模式2、模式3和模式4),并且将3个广角模式(模式35、模式36和模式37)与剩余的常规帧内预测模式相加,以形成用于该块的新的一组帧内预测模式。当输入中的帧内预测模式predmodeintra对应于移除的模式之一时,帧内预测模式predmodeintra被转换为广角模式。此外,当nwidth/nheight>=4并且2<=predmodeintra<=6时,predmodeintra←predmodeintra+33。具体地,当块的宽度nwidth等于或大于块的高度nheight的四倍时,从一组常规帧内预测模式中移除5个常规帧内预测模式(模式2、模式3、模式4、模式5、模式6),并且将5个广角模式(模式35、模式36、模式37、模式38和模式39)与剩余的常规帧内预测模式相加,以形成用于该块的新的一组帧内预测模式。当输入中的帧内预测模式predmodeintra对应于移除的模式之一时,帧内预测模式predmodeintra被转换为广角模式。此外,当nheight/nwidth=2并且32<=predmodeintra<=34时,predmodeintra←predmodeintra-35。具体地,当块的高度nheight是块的宽度nwidth的两倍时,从一组常规帧内预测模式中移除3个常规帧内预测模式(模式34、模式33和模式32),并且将3个广角模式(模式-1、模式-2和模式-3)与剩余的常规帧内预测模式相加,以形成用于该块的新的一组帧内预测模式。当输入中的帧内预测模式predmodeintra对应于移除的模式之一时,帧内预测模式predmodeintra被转换为广角模式。此外,当nheight/nwidth>=4并且30<=predmodeintra<=34时,predmodeintra←predmodeintra-35。具体地,当块的高度nheight等于或大于块的宽度nwidth的四倍时,从一组常规帧内预测模式中移除5个常规帧内预测模式(模式34、模式33、模式32、模式32、模式30),并且将5个广角模式(模式-1、模式-2、模式-3、模式-4和模式-5)与剩余的常规帧内预测模式相加,以形成用于该块的新的一组帧内预测模式。当输入中的帧内预测模式predmodeintra对应于移除的模式之一时,帧内预测模式predmodeintra被转换为广角模式。然后,基于帧内预测模式predmodeintra,可以例如基于表1来确定相应的角度参数intrapredangle。然后,可以基于适当的视频编码标准(例如hevc标准)、基于角度参数intrapredangle计算预测样本predsamples[x][y]。在另一示例中,将65个常规帧内预测方向用于正方形块的帧内预测。65个常规帧内预测方向对应于作为常规帧内预测模式的模式2至模式66,例如图2中所示。模式2至模式66以及模式0(平面模式)和模式1(dc模式)形成用于正方形块的一组67个帧内预测模式。在一些实施方式中,移除一定数目的常规帧内预测模式,并且将相同数目的广角模式添加到用于矩形块的新的一组帧内预测模式,并且该数目取决于矩形块的纵横比。在一些实施方式中,针对矩形块(当前块)使用广角预测来执行帧内预测处理。帧内预测处理接收输入,例如帧内预测模式predmodeintra、当前块的宽度nwidth、块的高度nheight、相邻样本(由p[x][y]表示,其中(x=-1,y=-1到nwidth+nheight-1)(x=0到nwidth+nheight-1,y=-1)。帧内预测处理可以生成预测样本predsamples[x][y],其中x=0到nwidth-1,并且y=0到nheight-1。在示例中,将变量whratio限定为等于min(abs(log2(nwidth/nheight)),2)。当nwidth大于nheight但小于nheight的两倍时,whratio小于1。当nwidth等于nheight的两倍时,whratio等于一。当nwidth大于nheight的两倍但小于nheight的四倍时,whratio为在(1,2)范围内的值。当nwidth是nheight的四倍时,whratio等于2。当nwidth超过nheight的四倍时,whratio等于2。类似地,当nheight大于nwidth但小于nwidth的两倍时,whratio小于1。当nheight等于nwidth的两倍时,whratio等于一。当nheight大于nwidth的两倍但小于nwidth的四倍时,whratio为在(1,2)范围内的值。当nheight是nwidth的四倍时,whratio等于2。当nheight超过nwidth的四倍时,whratio等于2。因此,whratio是块的形状的函数,并且不依赖于块的取向。在示例中,输入中的帧内预测模式predmodeintra是被移除的常规帧内预测模式之一,并且输入中的帧内预测模式predmodeintra基于当前块的whratio被转换成广角模式。例如,当nwidth大于nheight但小于nheight的两倍时,whratio小于1,并且从一组常规帧内预测模式中移除6个常规帧内预测模式(模式2至模式7),并且将6个广角模式(模式67至模式72)与剩余的常规帧内预测模式相加,以形成用于块的新的一组帧内预测模式。当输入中的帧内预测模式predmodeintra对应于被移除的模式(大于或等于2且小于8)之一时,通过加上65将帧内预测模式predmodeintra转换为广角模式。此外,当nwidth等于或大于nheight的四倍时,从一组常规帧内预测模式中移除10个常规帧内预测模式(模式2至模式11),并且将10个广角模式(模式67至模式76)与剩余的常规帧内预测模式相加,以形成用于块的新的一组帧内预测模式。当输入中的帧内预测模式predmodeintra对应于被移除的模式(大于或等于2且小于12)之一时,通过加上65将帧内预测模式predmodeintra转换为广角模式。此外,当nheight大于nwidth但小于nwidth的两倍时,whratio小于1,并且从一组常规帧内预测模式中移除6个常规帧内预测模式(模式61至模式66),并且将6个广角模式(模式-1至模式-6)与剩余的常规帧内预测模式相加,以形成用于块的新的一组帧内预测模式。当输入中的帧内预测模式predmodeintra对应于被移除的模式(大于或等于61且小于67)之一时,通过减去67将帧内预测模式predmodeintra转换为广角模式。此外,当nheight等于或大于nwidth的四倍时,从一组常规帧内预测模式中移除10个常规帧内预测模式(模式57至模式66),并且将10个广角模式(模式-1至模式-10)与剩余的常规帧内预测模式相加,以形成用于块的新的一组帧内预测模式。当输入中的帧内预测模式predmodeintra对应于被移除的模式(大于或等于57且小于67)之一时,通过减去67将帧内预测模式predmodeintra转换为广角模式。然后,基于帧内预测模式predmodeintra,可以例如基于查找表来确定相应的角度参数intrapredangle。然后,可以基于适当的视频编码标准(例如hevc标准)基于角度参数intrapredangle计算预测样本predsamples[x][y]。图13示出了概述根据本公开内容的实施方式的处理(1300)的流程图。处理(1300)可以用于帧内模式下编码的块的重建,从而为重建中的块生成预测块。在各个实施方式中,处理(1300)由例如以下的处理电路执行:终端设备(310)、(320)、(330)和(340)中的处理电路;执行视频编码器(403)的功能的处理电路;执行视频解码器(410)的功能的处理电路;执行视频解码器(510)的功能的处理电路;执行帧内预测模块(552)的功能的处理电路;执行视频编码器(603)的功能的处理电路;执行预测器(635)的功能的处理电路;执行帧内编码器(722)的功能的处理电路;执行帧内解码器(872)的功能的处理电路等。在一些实施方式中,处理(1300)以软件指令实现,因此,当处理电路执行软件指令时,处理电路执行处理(1300)。处理在(s1301)处开始,并且进行至(s1310)。在(s1310)处,解码用于块的预测信息。在示例中,处理电路从编码视频比特流解码块的预测信息。在一些示例中,块为非正方形块并且块的预测信息指示第一帧内预测模式,所述第一帧内预测模式包括在用于正方形块的第一组帧内预测模式中。在(s1320)处,处理电路确定第一帧内预测模式是否在对于非正方形块禁用的帧内预测模式的子集内。当第一帧内预测模式在对于非正方形块禁用的帧内预测模式的子集内时,处理进行至(s1330);否则,处理进行至(s1350)。在(s1330)处,将第一帧内预测模式重新映射到用于非正方形块的第二组帧内预测模式中的第二帧内预测模式。第二帧内预测模式是广角帧内预测模式,其不在用于正方形块的第一组帧内预测模式中。第二组帧内预测模式不包括禁用的帧内预测模式的子集。在(s1340)处,根据第二帧内预测模式重建块的样本。在一些示例中,基于第二帧内预测模式,可以例如基于查找表来确定对应的角度参数。然后,可以根据适当的视频编码标准(例如hevc标准)基于角度参数来计算块的样本。然后,处理进行到s1399并终止。在(1350)处,根据第一帧内预测模式重建块的样本。在一些示例中,基于第一帧内预测模式,可以例如基于查找表来确定对应的角度参数。然后,可以根据适当的视频编码标准(例如hevc标准)基于角度参数来计算块的样本。然后,处理进行到s1399并终止。上述技术可以使用计算机可读指令被实现为计算机软件,并且物理地存储在一个或更多个计算机可读介质中。例如,图14示出了适于实现所公开的主题的某些实施方式的计算机系统(1400)。计算机软件可以使用任何合适的机器代码或计算机语言来编码,计算机软件可以经受汇编、编译、链接等机制以创建包括指令的代码,该指令可以由一个或更多个计算机中央处理单元(cpu)、图形处理单元(gpu)等直接执行或者通过解释、微代码执行等来执行。指令可以在各种类型的计算机或其部件上执行,包括例如个人计算机、平板电脑、服务器、智能电话、游戏设备、物联网设备等。图14中示出的用于计算机系统(1400)的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。部件的配置都不应当被解释为具有与计算机系统(1400)的示例性实施方式中示出的部件中的任何一个部件或部件的组合有关的任何依赖性或要求。计算机系统(1400)可以包括某些人机接口输入设备。这样的人机接口输入设备可以响应于由一个或更多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、拍打)、视觉输入(例如:姿势)、嗅觉输入(未绘出)实现的输入。人机接口设备还可以用于捕获不一定与人的有意识的输入直接有关的某些媒体,例如,音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。输入人机接口设备可以包括以下中的一个或更多个(每者仅绘出一个):键盘(1401)、鼠标(1402)、触控板(1403)、触摸屏(1410)、数据手套(未示出)、操纵杆(1405)、麦克风(1406)、扫描仪(1407)、摄像装置(1408)。计算机系统(1400)还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感觉。这样的人机接口输出设备可以包括触觉输出设备(例如,通过触摸屏(1410)、数据手套(未示出)或操纵杆(1405)实现的触觉反馈,但是也可以存在不充当输入设备的触觉反馈设备)、音频输出设备(例如:扬声器(1409)、头戴式耳机(未描绘))、视觉输出设备(例如:屏幕(1410),包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕,每一个具有或不具有触摸屏输入能力,每一个具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体输出的手段输出二维视觉输出或多于三维的输出;虚拟现实眼镜(未描绘)、全息显示器和烟罐(未描绘))以及打印机(未描绘)。计算机系统(1400)还可以包括人类可访问存储设备及其相关联的介质,例如包括具有cd/dvd等介质(1421)的cd/dvdrom/rw(1420)的光学介质、拇指驱动器(1422)、可移除硬盘驱动器或固态驱动器(1423)、遗留磁性介质(例如磁带和软盘(未描绘))、基于专用rom/asic/pld的设备(例如安全加密狗(未描绘))等。本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包含传输介质、载波或其他瞬时信号。计算机系统(1400)还可以包括到一个或更多个通信网络的接口。网络可以是例如无线的、有线的、光学的。网络还可以是本地的、广域的、城市的、车载的和工业的、实时的、延迟容忍的等等。网络的示例包括局域网,例如以太网、无线lan、蜂窝网络(包括gsm、3g、4g、5g、lte等)、电视有线或无线广域数字网络(包括有线电视、卫星电视和地面广播电视)、车载的和工业的(包括canbus)等。某些网络通常需要外部网络接口适配器,该外部网络接口适配器附接至某些通用数据端口或外围总线(1449)(例如,计算机系统(1400)的usb端口);其他网络通常通过附接至如下所述的系统总线(例如,到pc计算机系统的以太网接口或到智能电话计算机系统的蜂窝网络接口)而集成到计算机系统(1400)的核中。使用这些网络中的任何网络,计算机系统(1400)可以与其他实体进行通信。这样的通信可以是单向的、仅接收的(例如,广播电视)、单向仅发送的(例如,到某些canbus设备的canbus)、或双向的(例如,使用局域或广域数字网络到其他计算机系统)。可以在如上所述的这些网络和网络接口中的每一个上使用某些协议和协议栈。上述人机接口设备、人类可访问存储设备和网络接口可以附接至计算机系统(1400)的核(1440)。核(1440)可以包括一个或更多个中央处理单元(cpu)(1441)、图形处理单元(gpu)(1442)、现场可编程门区(fpga)(1443)形式的专用可编程处理单元、用于某些任务的硬件加速器(1444)等。这些设备,连同只读存储器(rom)(1445)、随机存取存储器(1446)、内部大容量存储装置(例如内部非用户可访问硬盘驱动器、ssd等)(1447),可以通过系统总线(1448)连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(1448),以使得能够由附加的cpu、gpu等进行扩展。外围设备可以直接地或通过外围总线(1449)附接至核的系统总线(1448)。外围总线的架构包括pci、usb等。cpu(1441)、gpu(1442)、fpga(1443)和加速器(1444)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在rom(1445)或ram(1446)中。过渡数据也可以存储在ram(1446)中,而永久数据可以存储在例如内部大容量存储装置(1447)中。可以通过使用缓存存储器来实现对存储设备中的任何存储设备的快速存储和检索,该缓存存储器可以与一个或更多个cpu(1441)、gpu(1442)、大容量存储装置(1447)、rom(1445)、ram(1446)等紧密相关联。计算机可读介质上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是为本公开内容的目的而专门设计和构造的介质和计算机代码,或者它们可以是计算机软件领域的技术人员公知和可用的类型的介质和计算机代码。作为示例而非限制,具有架构(1400)的计算机系统——特别是核(1440)——可以提供由于处理器(包括cpu、gpu、fpga、加速器等)执行实施在一个或更多个有形计算机可读介质中的软件而实现的功能。这样的计算机可读介质可以是与如以上所介绍的用户可访问大容量存储装置相关联的介质,以及具有非暂态性的核(1440)的某些存储装置,例如核内部大容量存储装置(1447)或rom(1445)。可以将实现本公开内容的各种实施方式的软件存储在这样的设备中并且由核(1440)执行。根据特定需要,计算机可读介质可以包括一个或更多个存储设备或芯片。软件可以使核(1440)——特别是其中的处理器(包括cpu、gpu、fpga等)——执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在ram(1446)中的数据结构以及根据由软件限定的处理修改这样的数据结构。另外地或作为替选,计算机系统可以提供由于逻辑硬连线而实现的或不然实施在电路(例如:加速器(1444))中的功能,该电路可以代替软件或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在适当的情况下,对软件的提及可以包含逻辑,反之对逻辑的提及也可以包含软件。在适当的情况下,对计算机可读介质的提及可以包含存储用于执行的软件的电路(例如,集成电路(ic))、实施用于执行的逻辑的电路或上述两者。本公开内容包含硬件和软件的任何合适的组合。附录a:首字母缩写词jem:联合勘探模型(jointexplorationmodel,jem)vvc:通用视频编码(versatilevideocoding,vvc)bms:基准集(benchmarkset,bms)hevc:高效视频编码(highefficiencyvideocoding,hevc)sei:补充增强信息(supplementaryenhancementinformation,sei)vui:视频可用性信息(videousabilityinformation,vui)gop:图片组(groupsofpictures,gop)tu:变换单元(transformunits,tu)pu:预测单元(predictionunit,pu)ctu:编码树单元(codingtreeunit,ctu)ctb:编码树块(codingtreeblock,ctb)pb:预测块(predictionblock,pb)hrd:假想参考解码器(hypotheticalreferencedecoder,hrd)snr:信噪比(signalnoiseratio,snr)cpu:中央处理单元(centralprocessingunit,cpu)gpu:图形处理单元(graphicsprocessingunit,gpu)crt:阴极射线管(cathoderaytube,crt)lcd:液晶显示器(liquid-crystaldisplay,lcd)oled:有机发光二极管(organiclight-emittingdiode,oled)cd:光盘(compactdisc,cd)dvd:数字视频光盘(digitalvideodisc,dvd)rom:只读存储器(read-onlymemory,rom)ram:随机存取存储器(randomaccessmemory,ram)asic:专用集成电路(application-specificintegratedcircuit,asic)pld:可编程逻辑设备(programmablelogicdevice,pld)lan:局域网(localareanetwork,lan)gsm:全球移动通信系统(globalsystemformobilecommunications,gsm)lte:长期演进(long-termevolution,lte)canbus:控制器局域网总线(controllerareanetworkbus,canbus)usb:通用串行总线(universalserialbus,usb)pci:外围部件互连(peripheralcomponentinterconnect,pci)fpga:现场可编程门区(fieldprogrammablegateareas,fpga)ssd:固态驱动器(solid-statedrive,ssd)ic:集成电路(integratedcircuit,ic)cu:编码单元(codingunit,cu)尽管本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的改变、置换和各种替换等效物。因此将认识到,本领域技术人员能够设想虽然本文中没有明确示出或描述但是实施了本公开内容的原理并且因此在其精神和范围内的许多系统和方法。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1