广义样本偏移的自适应应用的制作方法-j9九游会真人

文档序号:35756938发布日期:2023-10-16 23:00阅读:322来源:国知局
广义样本偏移的自适应应用通过引用并入1.本技术基于并且要求于2022年10月31日提交的题为“adaptiveapplicationofgeneralizedsampleoffset”的美国非临时申请第17/977,160号、于2021年11月17日提交的题为“adaptiveapplicationofgeneralizedsampleoffset”的美国临时申请第63/280,503号以及于2021年12月13日提交的题为“adaptiveapplicationofgeneralizedsampleoffset”的美国临时申请号63/289,139号的优先权的权益,以上美国非临时申请和美国临时申请中的每一个的内容通过引用其整体并入本文中。
技术领域
:2.本公开内容描述了一组高级视频编码技术。更具体地,所公开的技术涉及交叉分量样本偏移(cross-componentsampleoffset,ccso)、局部样本偏移(localsampleoffset,lso)和广义样本偏移(generalizedsampleoffset,gso)。
背景技术
::3.本文中提供的背景描述是出于总体上呈现本公开内容的背景的目的。就该
背景技术
:部分中描述的工作的程度而言,目前署名的发明人的工作以及在提交申请时可能不被另外限定为现有技术的描述的方面既没有明确地也没有隐含地被承认为本公开内容的现有技术。4.可以使用带运动补偿的帧间图片预测执行视频编码和视频解码。未压缩的数字视频可以包括一系列图片,每个图片具有例如1920×1080个亮度样本和相关联的全色度样本或子采样色度样本的空间维度。该系列图片可以具有固定的或可变的图片速率(替选地被称为帧速率),例如每秒60个图片或者每秒60帧。未压缩的视频对于流式传输或数据处理具有特定的比特率要求。例如,在每颜色通道每像素8比特下色度子采样为4:2:0、帧速率为60帧/秒以及像素分辨率为1920×1080的视频需要接近1.5gbit/s的带宽。一小时的这样的视频需要多于600千兆字节的存储空间。5.视频编码和解码的一个目的可以是通过压缩减少未压缩的输入视频信号中的冗余。压缩可以帮助减少前述带宽和/或存储空间要求,在一些情况下减少两个数量级或更多。可以采用无损压缩和有损压缩两者及其组合。无损压缩是指可以经由解码过程根据经压缩的原始信号来重构原始信号的准确副本的技术。有损压缩是指原始视频信息在编码过程中没有完全保留并且在解码过程中也不能完全恢复的编码/解码过程。当使用有损压缩时,重构信号可能与原始信号不相同,但是原始信号与重构信号之间的失真足够小,而使得尽管有一些信息损失,重构信号对于预期应用也是有用的。在视频的情况下,在许多应用中广泛地采用有损压缩。容许的失真量取决于应用。例如,某些消费者视频流式传输应用的用户可以比电影或电视广播应用的用户容忍更高的失真。可以选择或调整特定编码算法可实现的压缩比以反映各种失真容限:较高的可容忍的失真通常允许产生较高的损失和较高的压缩比的编码算法。6.视频编码器和解码器可以利用来自若干宽泛类别和步骤的技术,包括例如运动补偿、傅里叶变换、量化和熵编码。7.视频编解码器技术可以包括被称为帧内编码的技术。在帧内编码中,在不参考来自先前重构的参考图片的样本或其他数据的情况下表示样本值。在一些视频编解码器中,图片在空间上被细分为样本块。当所有的样本块都以帧内模式编码时,该图片可以被称为帧内图片。帧内图片及其派生诸如独立解码器刷新图片可以用于重置解码器状态,并且因此可以用作已编码视频比特流和视频会话中的第一图片或者用作静止图像。可以使帧内预测后的块的样本变换到频域中,并且可以在熵编码之前对所生成的变换系数进行量化。帧内预测表示使样本值在预变换域中最小化的技术。在一些情况下,变换之后的dc值越小,并且ac系数越小,在给定量化步长下表示熵编码之后的块所需的比特就越少。8.诸如从例如mpeg-2代编码技术已知的传统帧内编码不使用帧内预测。然而,一些较新的视频压缩技术包括试图基于例如在编码/解码期间获得的在空间上邻近并且在解码顺序上先于正被帧内编码或解码的数据块的元数据和/或周围样本数据来对块编码/解码的技术。这样的技术在下文中被称为“帧内预测”技术。注意,在至少一些情况下,帧内预测仅使用来自重构中的当前图片的参考数据,而不使用来自其他参考图片的参考数据。9.可以存在许多不同形式的帧内预测。当在给定视频编码技术中可以使用多于一种的这样的技术时,使用的技术可以被称为帧内预测模式。在特定编解码器中可以提供一种或更多种帧内预测模式。在某些情况下,模式可以具有子模式和/或可以与各种参数相关联,并且视频块的模式/子模式信息以及帧内编码参数可以被单独地编码或被共同包括在模式码字中。针对给定模式、子模式、和/或参数组合要使用的码字可以通过帧内预测对编码效率增益产生影响,并且因此可以对用于将码字转换成比特流的熵编码技术产生影响。10.帧内预测的某种模式由h.264引入、在h.265中被细化,并且在诸如联合开发模型(jointexplorationmodel,jem)、通用视频编码(versatilevideocoding,vvc)、和基准集(benchmarkset,bms)的较新编码技术中被进一步细化。通常,对于帧内预测,可以使用已经变得可用的邻近样本值来形成预测器块。例如,可以将沿特定方向和/或线的邻近样本的特定集合的可用值复制到预测器块中。可以将对使用中的方向的参考编码在比特流中,或者可以自己预测对使用的方向的参考。11.参照图1a,右下方描绘的是在h.265的33个可能帧内预测器方向(对应于h.265中指定的35个帧内模式的33个角模式)中指定的九个预测器方向的子集。箭头会聚的点(101)表示被预测的样本。箭头表示邻近样本被用于预测101处的样本的方向。例如,箭头(102)指示根据右上方的与水平方向成45度角的邻近的一个或多个样本对样本(101)进行预测。类似地,箭头(103)指示根据样本(101)的左下方的与水平方向成22.5度角的邻近的一个或多个样本对样本(101)进行预测。12.仍然参照图1a,在左上方描绘的是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两者中,使用与重构中的块相邻地邻近的预测样本。13.块104的帧内图片预测可以通过根据用信令通知的预测方向从邻近的样本复制参考样本值开始。例如,假设已编码视频比特流包括以下信令,针对该块104,该信令指示箭头(102)的预测方向,即,根据右上方的与水平方向成45度角的一个或多个预测样本来对样本进行预测。在这种情况下,根据同一参考样本r05对样本s41、s32、s23和s14进行预测。然后,根据参考样本r08来预测样本s44。14.在某些情况下,可以例如通过插值将多个参考样本的值进行组合以便计算参考样本;尤其是在方向不能以45度均匀划分的情况下。15.随着视频编码技术的继续发展,可能的方向的数目也在增加。例如,在h.264(2003年)中,对于帧内预测,九个不同的方向可用。这在h.265(2013年)中增加到33个,并且在本公开内容时jem/vvc/bms可以支持最多达65个方向。已经进行了实验研究来帮助识别最适合的帧内预测方向,并且熵编码中的某些技术被用于以少量的比特编码那些最适合的方向,接受用于方向的一些比特惩罚。此外,有时可以根据在已解码的邻近块的帧内预测中使用的邻近方向来预测方向本身。16.图1b示出了根据jem描绘65个帧内预测方向的示意图(180),以说明预测方向的数目在随着时间发展的各种编码技术中增加。17.已编码视频比特流中将表示帧内预测方向的比特映射至预测方向的方式可以随着视频编码技术的不同而不同;并且该映射可以例如从预测方向到帧内预测模式到码字的简单直接映射变化到复杂自适应方案,复杂自适应方案涉及最可能模式和类似技术。然而,在所有情况下,可能存在与某些其他方向相比在统计上较不可能出现在视频内容中的某些帧内预测方向。由于视频压缩的目标是减少冗余,因此在运作良好的视频编码技术中,那些较不可能的方向与更可能的方向相比将通过更大数目的比特来表示。18.帧间图片预测或帧间预测可以基于运动补偿。在运动补偿中,在由运动矢量(此后被称为mv(motionvector))指示的方向上进行空间移位之后,可以使用来自先前重构的图片或其一部分(参考图片)的样本数据来预测新重构的图片或图片部分(例如,块)。在一些情况下,参考图片可以与当前重构中的图片相同。mv可以具有两个维度x和y,也可以具有三个维度,第三维度是使用中的参考图片的指示(类似于时间维度)。19.在一些视频压缩技术中,可以从其他mv例如以下其他mv预测适用于样本数据的某些区域的当前mv,这些其他mv与样本数据的在空间上相邻于正重构的区域的其他区域有关并且在解码顺序上先于该当前mv。这样做可以通过依赖于移除相关mv中的冗余而大幅减少对mv进行编码所需的数据量,从而增加压缩效率。mv预测可以有效地工作,例如,由于在对从摄像装置导出的输入视频信号(被称为自然视频)进行编码时,存在比单个mv所适用的区域大的区域沿相似的方向移动的统计可能性,并且因此在一些情况下可以使用从邻近区域的mv导出的相似运动矢量来进行预测。这导致针对给定区域的实际mv与从周围mv预测的mv相似或相同。这样的mv又可以在熵编码之后以小于直接对邻近mv进行编码而不是从邻近mv预测的情况下使用的比特数来表示。在一些情况下,mv预测可以是从原始信号(即样本流)导出的信号(即mv)的无损压缩的示例。在其他情况下,例如由于从若干周围mv计算预测器时的舍入误差,mv预测本身可以是有损的。20.在h.265/hevc(highefficiencyvideocoding,hevc)(itu-t(internationaltelecommunicationunion-telecommunicationstandardizationsector,itu-t)h.265建议书,“highefficiencyvideocoding”,2016年12月)中描述了各种mv预测机制。在h.265指定的多种mv预测机制中,下面描述的是在下文中被称为“空间合并”的技术。21.具体地,参照图2,当前块(201)包括在运动搜索过程期间已由编码器发现的样本,根据已产生空间偏移的相同大小的先前块可预测所述样本。代替对mv直接编码,可以使用与被表示为a0、a1和b0、b1、b2(分别对应202到206)五个周围样本中的任一样本相关联的mv,根据与一个或更多个参考图片相关联的元数据例如根据最新(按解码次序)参考图片的元数据中导出mv。在h.265中,mv预测可以使用邻近块也正在使用的相同参考图片的预测器。22.开放媒体联盟视频1(aomediavideo1,av1)是设计用于通过因特网进行视频传输的开放视频译码格式。av1是通过构建于vp9的代码库上并且结合附加技术作为vp9的继承者开发的。av1比特流规范包括参考视频编解码器,例如h.265或高效率视频编码(highefficiencyvideocoding,hevc)标准或通用视频编码(vvc)。技术实现要素:23.本公开内容的实施方式提供了交叉分量样本偏移(ccso)、局部样本偏移(lso)和广义样本偏移(gso)的方法和装置。自适应环路滤波(adaptiveloopfiltering,alf)使用第一颜色分量的重构样本作为输入(例如,y或cb或cr)。对于ccso,将输出应用在第二颜色分量上,该第二颜色分量是第一颜色分量的不同颜色分量。对于lso,将输出应用在第一颜色分量上。对于gso,可以通过考虑并置的(或当前的)样本的相邻样本之间的差量值以及还考虑并置的(或当前的)样本的级别值来针对ccso和lso使组合的alf一般化。可以基于包括在已编码视频流中的语法值来针对帧启用ccso、lso或gso中的至少一个。24.在一个实施方式中,一种方法包括:接收已编码视频流,该已编码视频流包括指示是否在块级别处对已编码视频流中的帧应用样本偏移滤波过程的语法元素;基于语法元素是预定义值,确定针对帧启用广义样本偏移(gso)、局部样本偏移(lso)或交叉分量样本偏移(ccso)中的至少一个;以及通过在块级别处应用gso、lso或ccso中的至少一个,对已编码视频流进行解码。25.在另一实施方式中,一种用于对视频流进行解码的装置包括:存储器,其存储多个指令;以及处理器,其被配置成执行多个指令,并且在执行多个指令时,该处理器被配置成:接收已编码视频流,该已编码视频流包括指示是否在块级别处对已编码视频流中的帧应用样本偏移滤波过程的语法元素;基于语法元素是预定义值,确定在块级别处针对帧启用广义样本偏移(gso)、局部样本偏移(lso)或交叉分量样本偏移(ccso)中的至少一个;以及通过在块级别处应用gso、lso或ccso中的至少一个,对已编码视频流进行解码。26.在另一实施方式中,一种非暂态计算机可读存储介质,其存储能够由处理器执行的多个指令,其中,多个指令在由处理器执行时被配置成使处理器:接收已编码视频流,该已编码视频流包括指示是否在块级别处对已编码视频流中的帧应用样本偏移滤波过程的语法元素;基于语法元素是预定义值,确定针对帧启用广义样本偏移(gso)、局部样本偏移(lso)或交叉分量样本偏移(ccso)中的至少一个;以及通过在块级别处应用gso、lso或ccso中的至少一个,对已编码视频流进行解码。27.在一些其他实施方式中,公开了一种用于处理视频信息的设备。该设备可以包括被配置成执行以上方法实现方式中的任一个的电路系统。28.本公开内容的各方面还提供了一种非暂态计算机可读介质,其存储有指令,所述指令在由计算机执行以用于视频解码和/或编码时使计算机执行用于视频解码和/或编码的方法。附图说明29.根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将更加明显,在附图中:30.图1a示出了帧内预测方向性模式的示例性子集的示意图。31.图1b示出了示例性帧内预测方向的图示。32.图2示出了一个示例中用于运动矢量预测的当前块及其周围的空间合并候选的示意图。33.图3示出了根据示例实施方式的通信系统(300)的简化框图的示意图。34.图4示出了根据示例实施方式的通信系统(400)的简化框图的示意图。35.图5示出了根据示例实施方式的视频解码器的简化框图的示意图。36.图6示出了根据示例实施方式的视频编码器的简化框图的示意图。37.图7示出了根据另一示例实施方式的视频编码器的框图。38.图8示出了根据另一示例实施方式的视频解码器的框图。39.图9示出了根据本公开内容的示例实施方式的编码块划分的方案;40.图10示出了根据本公开内容的示例实施方式的编码块划分的另一方案。41.图11示出了根据本公开内容的示例实施方式的编码块划分的另一方案。42.图12示出了根据示例划分方案将基本块划分成编码块的示例;43.图13示出了示例三叉树划分方案;44.图14示出了示例四叉树二叉树编码块划分方案;45.图15示出了根据本公开内容的示例实施方式的用于将编码块划分成多个变换块以及变换块的编码顺序的方案;46.图16示出了根据本公开内容的示例实施方式的用于将编码块划分成多个变换块以及变换块的编码顺序的另一方案;47.图17示出了根据本公开内容的示例实施方式的用于将编码块划分成多个变换块的另一方案;48.图18示出了示例自适应环路滤波器(adaptiveloopfilter,alf)形状;49.图19a示出了垂直梯度的拉普拉斯(laplacian)计算中的子采样位置;50.图19b示出了水平梯度的拉普拉斯计算中的子采样位置;51.图19c示出了对角线梯度的拉普拉斯计算中的子采样位置;52.图19d示出了另一对角线梯度的拉普拉斯计算中的子采样位置;53.图20示出了虚拟边界处的修改的块分类的示例;54.图21示出了虚拟边界处的亮度分量的修改的自适应环路滤波的示例;55.图22示出了最大编码单元(largestcodingunit,lcu)对准的图片四叉树分割的示例;56.图23示出了以z顺序编码的四叉树分割标志的示例;57.图24示出了交叉分量自适应环路滤波器(cross-componentadaptiveloopfilter,cc-alf)放置的示例;58.图25示出了菱形滤波器的示例;59.图26示出了色度样本相对于亮度样本的示例位置;60.图27示出了方向搜索的示例;61.图28示出了子空间投影的示例;62.图29示出了滤波器支持区域的示例;63.图30示出了示例环路滤波线路;64.图31示出了交叉分量样本偏移(ccso)的示例输入;65.图32示出了交叉分量样本偏移(ccso)中的示例滤波器形状;66.图33示出了示例像素模式;67.图34示出了根据本公开内容的示例实施方式的方法的流程图;68.图35示出了根据本公开内容的示例实施方式的另一方法的流程图;以及69.图36示出了根据本公开内容的示例实施方式的计算机系统的示意图。具体实施方式70.贯穿说明书和权利要求书,术语可以具有在上下文中建议或暗示的超出明确陈述的含义的具有细微差别的含义。如本文所使用的短语“在一个实施方式中”或“在一些实施方式中”不一定是指相同的实施方式,并且如本文所使用的短语“在另一实施方式中”或“在其他实施方式中”不一定是指不同的实施方式。同样,如本文所使用的短语“在一个实现方式中”或“在一些实现方式中”不一定是指相同的实现方式,并且如本文所使用的短语“在另一实现方式中”或“在其他实现方式中”不一定是指不同的实现方式。例如,意指所要求保护的主题包括示例性实施方式/实现方式的整体或部分的组合。71.通常,术语可以至少部分地从上下文中的用法来理解。例如,如本文中所使用的诸如“和”、“或”或“和/或”的术语可以至少部分地取决于使用这样的术语的上下文而包括各种各样的含义。通常,如果“或”用于关联列表,例如a、b或c,则“或”旨在表示a、b和c,这里以包含的意义使用;以及a、b或c,这里以排他的意义使用。此外,至少部分地取决于上下文,如本文所使用的术语“一个或更多个”或“至少一个”可以用于以单数意义描述任何特征、结构或特性,或者可以用于以复数意义描述特征、结构或特性的组合。类似地,术语例如“一”、“一个”或“该”同样可以被理解成传达单数用法或传达复数用法,这至少部分地取决于上下文。此外,术语“基于”或“由......确定”可以被理解为不一定旨在传达排他的因素集合,并且可以替代地允许存在不一定明确描述的附加因素,这同样至少部分地取决于上下文。72.图3示出了根据本公开内容的实施方式的通信系统(300)的简化框图。通信系统(300)包括多个终端设备,多个终端设备可以经由例如网络(350)彼此通信。例如,通信系统(300)包括经由网络(350)互连的第一对终端设备(310)和(320)。在图3的实施方式中,第一对终端设备(310)和(320)执行单向数据传输。例如,终端设备(310)可以对视频数据(例如由终端设备(310)捕获的视频图片流)进行编码以经由网络(350)传输到另一终端设备(320)。已编码视频数据以一个或更多个已编码视频比特流的形式传输。终端设备(320)可以从网络(350)接收已编码视频数据,对已编码视频数据进行解码以恢复视频图片,并根据恢复的视频数据显示视频图片。单向数据传输可以在媒体服务应用等中实现。73.在另一示例中,通信系统(300)包括执行已编码视频数据的双向传输的第二对终端设备(330)和(340),所述双向传输可以例如在视频会议应用期间实现。对于数据的双向传输,终端设备(330)和终端设备(340)中的每个终端设备可以对视频数据(例如,由终端设备捕获的视频图片流)进行编码,以经由网络(350)传输至终端设备(330)和终端设备(340)中的另一终端设备。终端设备(330)和终端设备(340)中的每个终端设备还可以接收由终端设备(330)和终端设备(340)中的另一终端设备传输的已编码视频数据,并且可以对已编码视频数据进行解码以恢复视频图片,并且可以根据恢复的视频数据在可访问的显示设备上显示视频图片。74.在图3的示例中,终端设备(310)、(320)、(330)和(340)可以被实现为服务器、个人计算机和智能电话,但本公开内容的基本原理的适用性可以不限于此。本公开内容的实施方式可以在台式计算机、膝上型计算机、平板计算机、媒体播放器、可穿戴计算机、专用视频会议设备等中实现。网络(350)表示在终端设备(310)、(320)、(330)和(340)之间传送已编码视频数据的任何数目或类型的网络,包括例如有线(连线的)和/或无线通信网络。通信网络(350)可以在电路交换信道、分组交换信道和/或其他类型的信道中交换数据。代表性的网络包括电信网络、局域网、广域网和/或因特网。出于本讨论的目的,除非在本文中有明确解释,否则网络(350)的架构和拓扑对于本公开内容的操作来说可能是无关紧要的。75.作为用于所公开的主题的应用的示例,图4示出了视频编码器和视频解码器在视频流式传输环境中的放置。所公开的主题可以同样地适用于其他视频应用,包括例如视频会议、数字tv、广播、游戏、虚拟现实、在包括cd、dvd、存储棒等的数字介质上存储压缩视频。76.视频流式传输系统可以包括视频捕获子系统(413),视频捕获子系统(413)可以包括视频源(401)例如数字摄像装置,用于创建未压缩的视频图片或图像流(402)。在示例中,视频图片流(402)包括由视频源401的数字摄像装置记录的样本。视频图片流(402)被描绘为粗线以强调当与已编码视频数据(404)(或已编码视频比特流)比较时的高数据量,该视频图片流(402)可以由耦接至视频源(401)的包括视频编码器(403)的电子设备(420)来处理。视频编码器(403)可以包括硬件、软件或其组合以实现或实施如下更详细地描述的所公开的主题的各方面。已编码视频数据(404)(或已编码视频比特流(404))被描绘为细线以强调与未压缩的视频图片流(402)相比时的较低数据量,已编码视频数据(404)可以被存储在流式传输服务器(405)上以供将来使用或直接存储至下游视频设备(未示出)。一个或更多个流式传输客户端子系统,例如图4中的客户端子系统(406)和(408),可以访问流式传输服务器(405)以读取已编码视频数据(404)的副本(407)和(409)。客户端子系统(406)可以包括例如电子设备(430)中的视频解码器(410)。视频解码器(410)对传入的已编码视频数据的副本(407)进行解码,并且创建未经压缩并且可以在显示器(412)(例如,显示屏)或另一呈现设备(未描绘)上呈现的输出视频图片流(411)。视频解码器410可以被配置成执行本公开内容中描述的各个功能中的一些或全部。在一些流式传输系统中,可以根据某些视频编码/压缩标准对已编码视频数据(404)、(407)和(409)(例如,视频比特流)进行编码。这些标准的示例包括itu-th.265建议书。在示例中,开发中的视频编码标准被非正式地称为通用视频编码(vvc)。所公开的主题可以在vvc和其他视频编码标准的背景下使用。77.注意,电子设备(420)和(430)可以包括其他部件(未示出)。例如,电子设备(420)可以包括视频解码器(未示出),并且电子设备(430)也可以包括视频编码器(未示出)。78.图5示出了根据下面本公开内容的任何实施方式的视频解码器(510)的框图。视频解码器(510)可以包括在电子设备(530)中。电子设备(530)可以包括接收器(531)(例如,接收电路系统)。可以使用视频解码器(510)代替图4示例中的视频解码器(410)。79.接收器(531)可以接收要由视频解码器(510)解码的一个或更多个已编码视频序列。在相同实施方式或另一实施方式中,可以一次解码一个已编码视频序列,其中每个已编码视频序列的解码独立于其他已编码视频序列。每个视频序列可以与多个视频帧或图像相关联。可以从信道(501)接收已编码视频序列,信道(501)可以是到存储已编码视频数据的存储设备或发送已编码视频数据的流式传输源的硬件/软件链路。接收器(531)可以接收已编码视频数据及其他数据例如可以被转发至其各自的处理电路系统(未描绘)的已编码音频数据和/或辅助数据流。接收器(531)可以将已编码视频序列与其他数据分开。为了防止网络抖动,可以在接收器(531)与熵解码器/解析器(520)(在下文中被称为“解析器(520)”)之间设置缓冲器存储器(515)。在某些应用中,缓冲器存储器(515)可以被实现为视频解码器(510)的一部分。在其他应用中,缓冲器存储器(515)可以在视频解码器(510)外部并与视频解码器(510)分开(未描绘)。在另外其他应用中,在视频解码器(510)外部可以存在缓冲器存储器(未描绘)以例如对抗网络抖动,并且另外地在视频解码器(510)内部可以存在另外的缓冲器存储器(515)以例如处理回放时序。在接收器(531)正在从具有足够带宽和可控性的存储/转发设备或从等同步网络接收数据时,可以不需要缓冲器存储器(515),或者缓冲器存储器(515)可以是小的。为了在诸如因特网的尽力型(besteffort)分组网络上使用,可能需要具有足够大小的缓冲器存储器(515),并且缓冲器存储器(515)的大小可以相对大。这样的缓冲器存储器可以被实现为具有自适应大小,并且可以至少部分地在操作系统或视频解码器(510)外部的类似元件(未描绘)中实现。80.视频解码器(510)可以包括解析器(520)以根据已编码视频序列来重构符号(521)。这些符号的类别包括用于管理视频解码器(510)的操作的信息以及可能包括用于控制呈现设备例如显示器(512)(例如,显示屏幕)的信息,该呈现设备可以是或可以不是电子设备(530)的组成部分但是可以与电子设备(530)耦接,如图5中所示出的。用于呈现设备的控制信息可以呈辅助增强信息(sei(supplementalenhancementinformation,sei)消息)或视频可用性信息(videousabilityinformation,vui)参数集片段(未描绘)的形式。解析器(520)可以对由解析器(520)接收到的已编码视频序列进行解析/熵解码。已编码视频序列的熵编码可以根据视频编码技术或标准进行,并且可以遵循各种原理,包括可变长度编码、霍夫曼编码(huffmancoding)、具有或不具有上下文敏感度的算术编码等。解析器(520)可以基于与子组对应的至少一个参数,从已编码视频序列中提取针对视频解码器中的像素子组中的至少一个子组的子组参数集。子组可以包括图片组(groupofpictures,gop)、图片、图块(tile)、切片(slice)、宏块、编码单元(codingunit,cu)、块、变换单元(transformunit,tu)、预测单元(predictionunit,pu)等。解析器(520)还可以从已编码视频序列中提取诸如变换系数(例如,傅里叶变换系数)、量化器参数值、运动矢量等的信息。81.解析器(520)可以对从缓冲器存储器(515)接收到的视频序列执行熵解码/解析操作,以创建符号(521)。82.取决于编码视频图片或其部分的类型(例如:帧间图片和帧内图片、帧间块和帧内块)以及其他因素,符号(521)的重构可以涉及多个不同处理或功能单元。涉及的单元以及涉及的方式可以通过由解析器(520)从已编码视频序列解析的子组控制信息控制。为了清楚起见,未描绘这样的子组控制信息在解析器(520)与下面的多个处理或功能单元之间的流动。83.除了已经提及的功能块,视频解码器(510)可以在概念上细分成如下所述的多个功能单元。在商业约束下运行的实际实现中,这些功能单元中的许多单元彼此紧密交互并且可以至少部分地彼此集成。然而,出于清楚描述所公开的主题的各个功能的目的,在以下公开内容中采用概念上细分成功能单元。84.第一单元可以包括缩放器/逆变换单元(551)。缩放器/逆变换单元(551)可以从解析器(520)接收作为符号(521)的量化变换系数以及控制信息,包括指示使用哪种逆变换、块大小、量化因子/参数、量化缩放矩阵等的信息。缩放器/逆变换单元(551)可以输出包括可以输入至聚合器(555)中的样本值的块。85.在一些情况下,缩放器/逆变换(551)的输出样本可以从属于经帧内编码的块,即不使用来自先前重构的图片的预测性信息,而是可以使用来自当前图片的先前重构的部分的预测性信息的块。这样的预测性信息可以由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)可以使用已经重构并且存储在当前图片缓冲器(558)中的周围块信息来生成大小和形状与正在重构的块相同的块。例如,当前图片缓冲器(558)对部分重构的当前图片和/或完全重构的当前图片进行缓冲。在一些实现方式中,聚合器(555)可以基于每个样本将帧内预测单元(552)已经生成的预测信息添加至如由缩放器/逆变换单元(551)提供的输出样本信息。86.在其他情况下,缩放器/逆变换单元(551)的输出样本可以从属于经帧间编码的且可能经过运动补偿的块。在这种情况下,运动补偿预测单元(553)可以访问参考图片存储器(557)以获取用于帧间图片预测的样本。在根据属于该块的符号(521)对所获取的样本进行运动补偿之后,可以由聚合器(555)将这些样本添加至缩放器/逆变换单元(551)的输出(单元551的输出可以被称作残差样本或残差信号),以生成输出样本信息。可以通过运动矢量来控制运动补偿预测单元(553)获取预测样本的参考图片存储器(557)内的地址,所述运动矢量以符号(521)的形式可以用于运动补偿预测单元(553),所述符号(521)可以具有例如x分量、y分量(移位)和参考图片分量(时间)。运动补偿还可以包括当使用子样本精确运动矢量时如从参考图片存储器(557)中获取的样本值的插值,并且还可以与运动矢量预测机制等相关联。87.聚合器(555)的输出样本可以经受环路滤波器单元(556)中的各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,环路内滤波器技术由已编码视频序列(也被称为已编码视频比特流)中包括的且可以作为来自解析器(520)的符号(521)被环路滤波器单元(556)获得的参数控制,但是也可以对在对已编码图片或已编码视频序列的先前(按解码次序)部分进行解码期间获得的元信息进行响应,以及对先前重构的且经环路滤波的样本值进行响应。几种类型的环路滤波器可以以各种顺序被包括为环路滤波器单元556的一部分,这将在下文中进一步详细描述。88.环路滤波器单元(556)的输出可以是样本流,该样本流可以被输出至呈现设备(512)以及存储在参考图片存储器(557)中,以用于将来的帧间图片预测。89.某些已编码图片一旦完全重构,就可以被用作参考图片以用于将来帧间图片预测。例如,一旦与当前图片对应的已编码图片被完全重构并且该已编码图片(通过例如解析器(520))被标识为参考图片,则当前图片缓冲器(558)就可以成为参考图片存储器(557)的一部分,并且可以在开始重构随后的已编码图片之前重新分配新的当前图片缓冲器。90.视频解码器(510)可以根据在诸如itu-th.265建议书的标准中采用的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件(profile)两者的意义上,已编码视频序列可以符合由所使用的视频压缩技术或标准指定的语法。具体地,配置文件可以从视频压缩技术或标准中可用的所有工具中选择某些工具作为在该配置文件下可供使用的仅有工具。为了符合标准,已编码视频序列的复杂度处于由视频压缩技术或标准的级别限定的界限内。在一些情况下,级别会限制最大图片大小、最大帧速率、最大重构样本率(以例如每秒兆样本为单位进行测量)、最大参考图片大小等。在一些情况下,由级别设置的限制可以通过假想参考解码器(hypotheticalreferencedecoder,hrd)规范以及在已编码视频序列中用信令通知的hrd缓冲器管理的元数据来进一步限定。91.在一些示例实施方式中,接收器(531)可以随着已编码视频一起接收附加(冗余)数据。附加数据可以被包括为已编码视频序列的一部分。由视频解码器(510)可以使用附加数据对数据进行适当解码以及/或者更准确地重构原始视频数据。附加数据可以为以下形式:例如时间、空间或信噪比(signalnoiseratio,snr)增强层、冗余切片、冗余图片、前向纠错码等。92.图6示出了根据本公开内容的示例实施方式的视频编码器(603)的框图。视频编码器(603)可以包括在电子设备(620)中。电子设备(620)还可以包括发送器(640)(例如,传输电路系统)。可以使用视频编码器(603)代替图4示例中的视频编码器(403)。93.视频编码器(603)可以从可以捕获要由视频编码器(603)编码的视频图像的视频源(601)(在图6示例中其不是电子设备(620)的一部分)接收视频样本。在另一示例中,视频源(601)可以实现为电子设备(620)的一部分。94.视频源(601)可以提供要由视频编码器(603)编码的呈数字视频样本流的形式的源视频序列,该数字视频样本流可以具有任何合适的比特深度(例如:8比特、10比特、12比特、…任何颜色空间(例如,bt.601ycrcb、rgb、xyz......)以及任何合适的采样结构(例如,ycrcb4:2:0、ycrcb4:4:4)。在媒体服务系统中,视频源(601)可以是能够存储先前准备的视频的存储设备。在视频会议系统中,视频源(601)可以是捕获本地图像信息作为视频序列的摄像装置。视频数据可以被提供为在顺序观看时被赋予运动的多个单独图片或图像。图片自身可以被组织为空间像素阵列,其中,取决于所用的采样结构、颜色空间等,每个像素可以包括一个或更多个样本。本领域技术人员可以容易理解像素与样本之间的关系。以下描述侧重于样本。95.根据一些示例实施方式,视频编码器(603)可以实时地或在应用所要求的任何其他时间约束下将源视频序列的图片编码和压缩成已编码视频序列(643)。施行适当的编码速度构成控制器(650)的一个功能。在一些实施方式中,控制器(650)可以在功能上耦接至如下所述的其他功能单元并且控制其他功能单元。为了清楚起见,未描绘该耦接。由控制器(650)设置的参数可以包括速率控制相关参数(图片跳过、量化器、速率失真优化技术的λ值......)、图片大小、图片组(gop)布局、最大运动矢量搜索范围等。控制器(650)可以被配置成具有其他合适的功能,所述其他合适的功能涉及针对特定系统设计优化的视频编码器(603)。96.在一些示例实施方式中,视频编码器(603)可以被配置成在编码环路中进行操作。作为极度简化的描述,在示例中,编码环路可以包括源编码器(630)(例如,负责基于要编码的输入图片和参考图片创建符号,例如符号流)和嵌入在视频编码器(603)中的(本地)解码器(633)。解码器(633)以与(远程)解码器将创建样本数据的方式类似的方式重构符号以创建样本数据,尽管嵌入的解码器633是在不进行熵编码的情况下对源编码器630的编码视频流进行处理(因为在所公开的主题中考虑的视频压缩技术中,符号与熵编码中的已编码视频比特流之间的任何压缩都是无损的)。重构的样本流(样本数据)被输入至参考图片存储器(634)。由于符号流的解码导致与解码器位置(本地或远程)无关的比特精确(bit-exact)结果,因此参考图片存储器(634)中的内容在本地编码器与远程编码器之间也是比特精确的。换言之,编码器的预测部分“看到”的参考图片样本与解码器在解码期间使用预测时将“看到”的样本值完全相同。参考图片同步性的这种基本原理(以及在例如由于信道误差而无法维持同步性的情况下产生偏移)也被用于提高编码质量。[0097]“本地”解码器(633)的操作可以与“远程”解码器例如视频解码器(510)的操作相同,在上面已经结合图5对视频解码器(510)进行了详细描述。然而,还简要地参照图5,由于符号可用并且由熵编码器(645)将符号编码成已编码视频序列以及由解析器(520)对符号进行解码可以是无损的,因此视频解码器(510)的包括缓冲器存储器(515)和解析器(520)的熵解码部分可以不在编码器中的本地解码器(633)中完全实现。[0098]此时可以观察到的是,除了存在于解码器中的解析/熵解码之外的任何解码器技术也必须以基本上相同的功能形式存在于相应的编码器中。出于该原因,所公开的主题有时会侧重于解码器操作,这与编码器的解码部分有关。因此可以简化对编码器技术的描述,因为编码器技术与全面描述的解码器技术相反。下面仅在某些区域或方面中提供对编码器的更详细描述。[0099]在一些示例实现方式中,在操作期间,源编码器(630)可以执行运动补偿预测编码,运动补偿预测编码参考来自视频序列的被指定为“参考图片”的一个或更多个先前编码的图片对输入图片进行预测性编码。以这样的方式,编码引擎(632)对输入图片的像素块与参考图片的像素块之间的颜色通道中的差异(或残差)进行编码,所述参考图片可以被选择为所述输入图片的预测参考。术语“残差”及其形容词形式“残差的”可以互换使用。[0100]本地视频解码器(633)可以基于由源编码器(630)创建的符号对可以被指定为参考图片的图片的已编码视频数据进行解码。编码引擎(632)的操作可以有利地为有损过程。当可以在视频解码器(图6中未示出)处对已编码视频数据进行解码时,重构的视频序列通常可以是源视频序列的其中具有一些错误的副本。本地视频解码器(633)复制可以由视频解码器对参考图片执行的解码过程,并且可以使重构的参考图片存储在参考图片缓存(634)中。以这样的方式,视频编码器(603)可以在本地存储重构的参考图片的副本,所述副本与将由远端(远程)视频解码器获得的重构的参考图片具有共同内容(不存在传输误差)。[0101]预测器(635)可以针对编码引擎(632)执行预测搜索。也就是说,对于要编码的新图片,预测器(635)可以在参考图片存储器(634)中搜索样本数据(作为候选参考像素块)或特定元数据例如参考图片运动矢量、块形状等,这些数据可以用作针对新图片的合适预测参考。预测器(635)可以基于样本块逐像素块进行操作,以找到适当的预测参考。在一些情况下,如由预测器(635)获得的搜索结果所确定的,输入图片可以具有从参考图片存储器(634)中存储的多个参考图片取得的预测参考。[0102]控制器(650)可以管理源编码器(630)的编码操作,包括例如对用于对视频数据进行编码的参数和子组参数的设置。[0103]对所有以上提及的功能单元的输出可以在熵编码器(645)中经受熵编码。熵编码器(645)通过根据诸如霍夫曼编码、可变长度编码、算术编码等的技术对由各种功能单元生成的符号进行无损压缩来将这些符号转换为已编码视频序列。[0104]发送器(640)可以缓冲由熵编码器(645)创建的已编码视频序列,来为经由通信信道(660)进行传输做准备,通信信道(660)可以是到将存储已编码视频数据的存储设备的硬件/软件链路。发送器(640)可以将来自视频编码器(603)的已编码视频数据与要传输的其他数据例如已编码音频数据和/或辅助数据流(未示出源)合并。[0105]控制器(650)可以管理视频编码器(603)的操作。在编码期间,控制器(650)可以向每个已编码图片分配某种已编码图片类型,这可能影响可以应用于相应图片的编码技术。例如,通常可以将图片分配为以下图片类型中之一:[0106]帧内图片(i图片),其可以是可以在不将序列中的任何其他图片用作预测源的情况下编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(independentdecoderrefresh,“idr”)图片。本领域技术人员了解i图片的那些变型及其各自的应用和特征。[0107]预测性图片(p图片),其可以是可以使用利用至多一个运动矢量和参考索引来预测每个块的样本值的帧间预测或帧内预测进行编码和解码的图片。[0108]双向预测性图片(b图片),其可以是可以使用利用至多两个运动矢量和参考索引来预测每个块的样本值的帧间预测或帧内预测进行编码和解码的图片。类似地,多预测性图片可以使用多于两个参考图片和相关联的元数据以用于重构单个块。[0109]源图片通常可以在空间上细分成多个样本编码块(例如,各自为4×4、8×8、4×8或16×16个样本的块),并且逐块进行编码。可以参考通过应用于块的相应图片的编码分配确定的其他(已编码的)块对这些块进行预测性编码。例如,可以对i图片的块进行非预测性编码,或者可以参考相同图片的已编码块对i图片的块进行预测性编码(空间预测或帧内预测)。可以参考一个先前已编码参考图片经由空间预测或经由时间预测对p图片的像素块进行预测性编码。可以参考一个或两个先前已编码参考图片经由空间预测或经由时间预测对b图片的块进行预测性编码。为了其他目的,源图片或中间处理过的图片可以被细分为其他类型的块。编码块和其他类型的块的划分可以遵循或不遵循相同的方式,下文将进一步详细说明。[0110]视频编码器(603)可以根据预定视频编码技术或标准例如itu-th.265建议书执行编码操作。在视频编码器(603)的操作中,视频编码器(603)可以执行各种压缩操作,包括利用输入视频序列中的时间冗余和空间冗余的预测性编码操作。因此,已编码视频数据可以符合由正使用的视频编码技术或标准指定的语法。[0111]在一些示例实施方式中,发送器(640)可以随着已编码视频一起传输附加数据。源编码器(630)可以将这样的数据包括为已编码视频序列的一部分。附加数据可以包括时间/空间/snr增强层、其他形式的冗余数据例如冗余图片和切片、sei消息、vui参数集片段等。[0112]可以按时间序列将视频捕获为多个源图片(视频图片)。帧内图片预测(通常简化为帧内预测)利用给定图片中的空间相关性,而帧间图片预测利用图片之间的时间或其他相关性。例如,可以将被称为当前图片的正在被编码/解码的特定图片划分成块。在当前图片中的块与视频中先前已编码且仍被缓冲的参考图片中的参考块类似时,可以通过被称作运动矢量的矢量对当前图片中的块进行编码。运动矢量指向参考图片中的参考块,并且在使用多个参考图片的情况下,运动矢量可以具有标识参考图片的第三维度。[0113]在一些示例实施方式中,双向预测技术可以用于帧间图片预测。根据这样的双向预测技术,使用两个参考图片,例如按解码次序均在视频中的当前图片之前(但按显示次序可能分别在过去和将来)的第一参考图片和第二参考图片。可以通过指向第一参考图片中的第一参考块的第一运动矢量和指向第二参考图片中的第二参考块的第二运动矢量对当前图片中的块进行编码。可以通过第一参考块和第二参考块的组合来共同预测该块。[0114]此外,可以在帧间图片预测中使用合并模式技术以提高编码效率。[0115]根据本公开内容的一些示例实施方式,诸如帧间图片预测和帧内图片预测的预测以块为单位执行。例如,将视频图片序列中的图片划分成编码树单元(codingtreeunit,ctu)以用于压缩,图片中的ctu具有相同大小,例如64×64像素、32×32像素或16×16像素。一般来说,ctu可以包括三个并行编码树块(codingtreeblock,ctb):一个亮度ctb和两个色度ctb。每个ctu可以被递归地以四叉树分割成一个或多个编码单元(cu)。例如,可以将64×64像素的ctu分割成一个64×64像素的cu,或4个32×32像素的cu。32×32块中的一个或更多个中的每一个还可以被分割成4个16×16像素的cu。在一些示例实施方式中,在编码期间可以对每个cu进行分析以确定各种预测类型中该cu的预测类型,例如帧间预测类型或帧内预测类型。取决于时间和/或空间可预测性,可以将cu分割成一个或更多个预测单元(predictionunit,pu)。通常,每个pu包括亮度预测块(predictionblock,pb)和两个色度pb。在实施方式中,以预测块为单位来执行编码(编码/解码)中的预测操作。可以以各种空间模式执行将cu分割成pu(或不同颜色通道的pb)。亮度或色度pb例如可以包含例如8×8像素、16×16像素、8×16像素、16×8像素等的样本的值(例如,亮度值)的矩阵。[0116]图7示出了根据本公开内容的另一示例实施方式的视频编码器(703)的图。视频编码器(703)被配置成接收视频图片序列中的当前视频图片内的样本值的处理块(例如,预测块),并且将处理块编码至作为已编码视频序列的一部分的已编码图片中。可以使用示例视频编码器(703)代替图4示例中的视频编码器(403)。[0117]例如,视频编码器(703)接收用于处理块例如8×8样本的预测块等的样本值的矩阵。视频编码器(703)然后使用例如率失真优化(rate-distortionoptimization,rdo)来确定是使用帧内模式、帧间模式还是双向预测模式来对处理块进行最佳编码。在确定要以帧内模式对处理块进行编码的情况下,视频编码器(703)可以使用帧内预测技术来将处理块编码至已编码图片中;而在确定要以帧间模式或双向预测模式对处理块进行编码的情况下,视频编码器(703)可以分别使用帧间预测或双向预测技术来将处理块编码至已编码图片中。在一些示例实施方式中,可以使用合并模式作为帧间图片预测子模式,其中,在不借助于预测器外部的编码运动矢量分量的情况下从一个或更多个运动矢量预测值得出运动矢量。在一些其他示例实施方式中,可以存在适用于对象块的运动矢量分量。因此,视频编码器(703)可以包括图7中未明确示出的部件,诸如用于确定处理块的预测模式的模式决策模块。[0118]在图7的示例中,视频编码器(703)包括如图7中的示例布置所示的耦接在一起的帧间编码器(730)、帧内编码器(722)、残差计算器(723)、开关(726)、残差编码器(724)、通用控制器(721)以及熵编码器(725)。[0119]帧间编码器(730)被配置成:接收当前块(例如,处理块)的样本;将所述块与参考图片中的一个或更多个参考块(例如,按显示顺序的先前图片中的块和随后图片中的块)进行比较;生成帧间预测信息(例如,运动矢量、合并模式信息、根据帧间编码技术的冗余信息的描述);以及基于帧间预测信息使用任何合适的技术来计算帧间预测结果(例如,预测的块)。在一些示例中,参考图片是基于编码视频信息使用嵌入在图6的示例编码器620中的解码单元633(被示出为图7的残差解码器728,如下面进一步详细描述的)来解码的解码参考图片。[0120]帧内编码器(722)被配置成:接收当前块(例如,处理块)的样本;将所述块与同一图片中已经编码的块进行比较;以及在变换之后生成量化系数;以及在一些情况下还生成帧内预测信息(例如,根据一个或更多个帧内编码技术的帧内预测方向信息)。帧内编码器(722)可以基于帧内预测信息和同一图片中的参考块计算帧内预测结果(例如,预测的块)。[0121]通用控制器(721)可以被配置成确定通用控制数据并且基于通用控制数据来控制视频编码器(703)的其他部件。在示例中,通用控制器(721)确定块的预测模式,并且基于该预测模式向开关(726)提供控制信号。例如,在预测模式是帧内模式的情况下,通用控制器(721)控制开关(726)选择帧内模式结果以供残差计算器(723)使用,并且控制熵编码器(725)选择帧内预测信息并将该帧内预测信息包括在比特流中;以及在块的预测模式是帧间模式的情况下,通用控制器(721)控制开关(726)选择帧间预测结果以供残差计算器(723)使用,并且控制熵编码器(725)选择帧间预测信息并将该帧间预测信息包括在比特流中。[0122]残差计算器(723)可以被配置成计算接收到的块与从帧内编码器(722)或帧间编码器(730)选择的针对块的预测结果之间的差(残差数据)。残差编码器(724)可以被配置成对残差数据进行编码以生成变换系数。例如,残差编码器(724)可以被配置成将残差数据从空间域转换至频域以生成变换系数。然后,变换系数经受量化处理以获得经量化的变换系数。在各种示例实施方式中,视频编码器(703)还包括残差解码器(728)。残差解码器(728)被配置成执行逆变换并且生成已解码残差数据。已解码残差数据可以适当地由帧内编码器(722)和帧间编码器(730)使用。例如,帧间编码器(730)可以基于已解码残差数据和帧间预测信息生成解码块,并且帧内编码器(722)可以基于已解码残差数据和帧内预测信息生成解码块。适当处理解码块以生成解码图片,并且这些解码图片可以在存储器电路(未示出)中缓冲并用作参考图片。[0123]熵编码器(725)可以被配置成将比特流格式化以包括已编码块并且执行熵编码。熵编码器(725)被配置成在比特流中包括各种信息。例如,熵编码器(725)可以被配置成包括通用控制数据、所选的预测信息(例如,帧内预测信息或帧间预测信息)、残差信息和比特流中的其他合适的信息。当在帧间模式或双向预测模式的合并子模式下对块进行编码时,不存在残差信息。[0124]图8示出了根据本公开内容的另一实施方式的示例视频解码器(810)的图。视频解码器(810)被配置成接收作为已编码视频序列的一部分的已编码图片,并且对已编码图片进行解码以生成重构图片。在示例中,可以使用视频解码器(810)代替图4示例中的视频解码器(410)。[0125]在图8的示例中,视频解码器(810)包括如图8的示例布置中所示的耦接在一起的熵解码器(871)、帧间解码器(880)、残差解码器(873)、重构模块(874)和帧内解码器(872)。[0126]熵解码器(871)可以被配置成根据已编码图片来重构某些符号,这些符号表示构成已编码图片的语法元素。这样的符号可以包括:例如对块进行编码的模式(例如,帧内模式、帧间模式、双向预测模式、合并子模式中或者另一子模式)、可以标识某些样本或者分别由帧内解码器(872)或帧间解码器(880)使用以进行预测的元数据的预测信息(例如,帧内预测信息或帧间预测信息)、呈例如经量化的变换系数的形式的残差信息等。在示例中,当预测模式是帧间模式或双向预测模式时,帧间预测信息被提供给帧间解码器(880);以及当预测类型是帧内预测类型时,帧内预测信息被提供给帧内解码器(872)。残差信息可以经受逆量化并且被提供给残差解码器(873)。[0127]帧间解码器(880)可以被配置成接收帧间预测信息并基于帧间预测信息生成帧间预测结果。[0128]帧内解码器(872)可以被配置成接收帧内预测信息并基于帧内预测信息生成预测结果。[0129]残差解码器(873)可以被配置成执行逆量化以提取去量化的变换系数,并且处理所述去量化的变换系数以将残差从频域转换至空间域。残差解码器(873)还可以利用某些控制信息(以包括量化器参数(quantizerparameter,qp)),所述控制信息可以由熵解码器(871)提供(由于这可能仅是小数据量控制信息,因此未描绘数据路径)。[0130]重构模块(874)可以被配置成在空间域中组合由残差解码器(873)输出的残差与预测结果(在这种情况下可以由帧间预测模块或帧内预测模块输出)以形成重构的块,该重构的块形成重构的图片的一部分作为重构的视频的一部分。注意,还可以执行其他合适的操作例如去块操作等来提高视觉质量。[0131]注意,可以使用任何合适的技术来实现视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)。在一些示例实施方式中,可以使用一个或更多个集成电路来实现视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)。在另一实施方式中,可以使用执行软件指令的一个或更多个处理器来实现视频编码器(403)、(603)和(603)以及视频解码器(410)、(510)和(810)。[0132]转到用于编码和解码的块划分,一般划分可以从基本块开始,并且可以遵循预定义的规则集、特定模式、划分树或任何划分结构或方案。划分可以是分层的和递归的。在按照下面描述的示例划分过程或其他过程中的任何过程或者示例划分过程和其他过程的组合对基本块进行分割或划分之后,可以获得最终的一组分区或编码块。这些分区中的每一个可以处于划分分层中的各种划分级别中之一,并且可以具有各种形状。分区中的每一个可以被称为编码块(cb)。对于以下进一步描述的各种示例划分实现方式,每个所得到的cb可以具有任何允许的大小和划分级别。这样的分区被称为编码块,这是因为它们可以形成如下单元,针对这些单元可以进行一些基本的编码/解码决策并且可以在已编码视频比特流中优化、确定和用信令通知编码/解码参数。最终分区中的最高或最深级别表示树的编码块划分结构的深度。编码块可以是亮度编码块或色度编码块。每个颜色的cb树结构可以称为编码块树(codingblocktree,cbt)。[0133]所有颜色通道的编码块可以统称为编码单元(cu)。所有颜色通道的分层结构可以统称为编码树单元(ctu)。ctu中的各种颜色通道的划分模式或结构可以相同或不同。[0134]在一些实现方式中,用于亮度通道和色度通道的划分树方案或结构可以不必相同。换言之,亮度通道和色度通道可以具有各自的编码树结构或模式。此外,亮度通道和色度通道使用相同的还是不同的编码划分树结构以及要使用的实际编码划分树结构可以取决于正在被编码的切片是p切片、b切片还是i切片。例如,对于i切片,色度通道和亮度通道可以具有单独的编码划分树结构或编码划分树结构模式,而对于p切片或b切片,亮度通道和色度通道可以共享相同的编码划分树方案。当应用单独的编码划分树结构或模式时,通过一个编码划分树结构将亮度通道划分为cb,并且可以通过另一编码划分树结构将色度通道划分为色度cb。[0135]在一些示例实现方式中,可以将预定划分模式应用于基本块。如图9所示,示例4路划分树可以从第一预定义级别(例如,64×64块级别或其他大小,作为基本块大小)开始,并且基本块可以向下分层划分到预定义的最低级别(例如,4×4级别)。例如,基本块可以经受由902、904、906和908指示的四个预定义的划分选项或模式,其中被指定为r的划分被允许用于递归划分,因为图9中所示的相同划分选项可以以较低规模重复,直到最低级别(例如,4×4级别)。在一些实现方式中,可以对图9的划分方案应用附加限制。在图9的实现方式中,可以允许矩形划分(例如1:2/2:1的矩形划分),但不允许它们是递归的,而允许正方形划分是递归的。如果需要,遵循图9的递归情况下的划分生成最终的一组编码块。可以进一步限定编码树深度以指示自根节点或根块起的分割深度。例如,根节点或根块(例如,64×64块)的编码树深度可以被设置为0,并且在根块按照图9被进一步分割一次之后,编码树深度增加1。对于以上方案,从64×64基本块到4×4的最小划分的最大或最深级别将是4(从级别0开始)。这样的划分方案可以应用于颜色通道中的一个或更多个。每个颜色通道可以遵循图9的方案独立地进行划分(例如,可以在每个分层级别针对颜色通道中的每一个独立地确定预定义模式中的划分模式或选项)。替选地,颜色通道中的两个或更多个可以共享图9的相同的分层模式树(例如,可以在每个分层级别针对两个或更多个颜色通道选择预定义模式中的相同划分模式或选项)。[0136]图10示出了允许递归划分以形成划分树的另一示例预定义划分模式。如图10所示,可以预先定义示例10路划分结构或模式。根块可以在预定义级别处开始(例如,从128×128级别或64×64级别的基本块开始)。图10的示例划分结构包括各种2:1/1:2和4:1/1:4矩形划分。图10的第二行中被指示为1002、1004、1006和1008的具有3个子分区的划分类型可以被称为“t型”划分。“t型”划分1002、1004、1006和1008可以被称为左t型、顶t型、右t型和底t型。在一些示例实现方式中,不允许进一步细分图10的矩形划分。可以进一步限定编码树深度以指示自根节点或根块起的分割深度。例如,根节点或根块(例如,128×128块)的编码树深度可以被设置为0,并且在根块按照图10被进一步分割一次之后,编码树深度增加1。在一些实现方式中,仅1010中的全正方形划分可以被允许遵循图10的模式递归划分到划分树的下一级别。换言之,对于t型模式1002、1004、1006和1008内的正方形划分,可能不允许递归划分。如果需要,遵循图10的递归情况下的划分过程生成最终的一组编码块。这样的方案可以应用于一个或更多个颜色通道。在一些实现方式中,可以对8×8级别以下的划分的使用增加更多的灵活性。例如,在某些情况下可以使用2×2色度帧间预测。[0137]在编码块划分的一些其他示例实现方式中,可以使用四叉树结构来将基本块或中间块分割成四叉树分区。这样的四叉树分割可以被分层地和递归地应用于任何正方形形状的划分。基本块或中间块或分区是否被进一步四叉树分割可以适于基本块或中间块/分区的各种局部特性。可以进一步使图片边界处的四叉树划分适配。例如,可以在图片边界处执行隐含四叉树分割,使得块将保持四叉树分割直到大小适合图片边界。[0138]在一些其他示例实现方式中,可以使用来自基本块的分层二叉树划分。对于这样的方案,可以将基本块或中间级别块划分成两个分区。二叉树划分可以是水平的或垂直的。例如,水平二叉树划分可以将基本块或中间块分割成相等的右分区和左分区。同样,垂直二叉树划分可以将基本块或中间块划分成相等的上分区和下分区。这样的二叉树划分可以是分层的和递归的。可以在基本块或中间块中的每一个处作出二叉树划分方案是否应当继续的决策,并且如果方案进一步继续,则作出应当使用水平二叉树划分还是垂直二叉树划分的决策。在一些实现方式中,进一步的划分可以在预定义的最低划分大小处(在一个或两个维度中)停止。替选地,一旦到达距基本块的预定义划分级别或深度,就可以停止进一步的划分。在一些实现方式中,可以限制划分的纵横比。例如,划分的纵横比可以不小于1:4(或大于4:1)。这样,具有4:1的垂直与水平纵横比的垂直条划分可以仅进一步被垂直二叉树划分成各自具有2:1的垂直与水平纵横比的上分区和下分区。[0139]在又一些其他示例中,可以使用三叉树划分方案来划分基本块或任何中间块,如图13所示。三叉树模式可以如图13的1302所示垂直实现,或者如图13的1304所示水平实现。虽然图13中的示例分割比率(垂直地或水平地)被示为1:2:1,但是也可以预定义其他比率。在一些实现方式中,可以预定义两个或更多个不同的比率。这样的三叉树划分方案可以用于补充四叉树或二叉树划分结构,因为这样的三叉树划分能够在一个连续的划分中捕获位于块中心的对象,而四叉树和二叉树总是沿块中心进行分割,并且因此会将对象分割成分离的分区。在一些实现方式中,示例三叉树的划分的宽度和高度总是2的幂以避免附加变换。[0140]以上划分方案可以在不同的划分级别处以任何方式组合。作为一个示例,可以组合上述四叉树和二叉树划分方案以将基本块划分成四叉树-二叉树(quadtree-binary-tree,qtbt)结构。在这样的方案中,基本块或中间块/分区可以是四叉树分割或二叉树分割,在指定的情况下,则服从一组预定义条件。在图14中示出了特定示例。在图14的示例中,基本块首先被四叉树分割成四个分区,如1402、1404、1406和1408所示。此后,所得到的分区中的每一个被四叉树划分成四个另外的分区(例如1408),或者在下一级别处(水平地或垂直地)被二叉树分割成两个另外的分区(例如1402或1406,例如两者均是对称的),或者不分割(例如1404)。对于正方形形状的划分,可以递归地允许二叉树或四叉树分割,如1410的整体示例划分模式和1420中的对应树结构/表示所示,其中实线表示四叉树分割,并且虚线表示二叉树分割。可以将标志用于每个二叉树分割节点(非叶二叉树划分)以指示二叉树分割是水平的还是垂直的。例如,如1420所示,与1410的划分结构一致,标志“0”可以表示水平二叉树分割,并且标志“1”可以表示垂直二叉树分割。对于四叉树分割划分,不需要指示分割类型,因为四叉树分割总是水平地且竖直地分割块或分区以产生具有相等大小的4个子块/分区。在一些实现方式中,标志“1”可以表示水平二叉树分割,并且标志“0”可以表示垂直二叉树分割。[0141]在qtbt的一些示例实现方式中,四叉树和二叉树分割规则集可以由以下预定义参数和与其相关联的对应函数来表示:–ctu大小:四叉树的根节点大小(基本块的大小)–minqtsize:允许的最小四叉树叶节点大小–maxbtsize:允许的最大二叉树根节点大小–maxbtdepth:允许的最大二叉树深度–minbtsize:允许的最小二叉树叶节点大小在qtbt划分结构的一些示例实现方式中,可以将ctu大小设置为128×128亮度样本以及两个对应的64×64色度样本块(当考虑并使用示例色度子采样时),可以将minqtsize设置为16×16,可以将maxbtsize设置为64×64,可以将minbtsize(对于宽度和高度两者)设置为4×4,并且可以将maxbtdepth设置为4。四叉树划分首先可以应用于ctu以生成四叉树叶节点。四叉树叶节点的大小可以为从其允许的最小大小16×16(即,minqtsize)到128×128(即,ctu大小)。如果节点为128×128,则由于大小超过maxbtsize(即,64×64),因此不会首先通过二叉树进行分割。否则,不超过maxbtsize的节点可以通过二叉树进行划分。在图14的示例中,基本块为128×128。根据预定义规则集,基本块仅可以是四叉树分割。基本块的划分深度为0。所得到的四个分区中的每一个为64×64——不超过maxbtsize,在级别1处可以进一步是四叉树或二叉树分割。过程继续。当二叉树深度达到maxbtdepth(即,4)时,可以不考虑进一步的分割。当二叉树节点具有等于minbtsize(即,4)的宽度时,可以不考虑进一步的水平分割。类似地,当二叉树节点具有等于minbtsize的高度时,不考虑进一步的竖直分割。[0142]在一些示例实现方式中,以上qtbt方案可以被配置成支持亮度和色度具有相同的qtbt结构或分离的qtbt结构的灵活性。例如,对于p切片和b切片,一个ctu中的亮度ctb和色度ctb可以共享相同的qtbt结构。然而,对于i切片,可以通过qtbt结构将亮度ctb划分成cb,并且可以通过另一qtbt结构将色度ctb划分成色度cb。这意味着cu可以用于指代i切片中的不同颜色通道,例如,i切片可以由亮度分量的编码块或两个色度分量的编码块组成,并且p切片或b切片中的cu可以由所有三个颜色分量的编码块组成。[0143]在一些其他实现方式中,qtbt方案可以用上述三叉树方案来补充。这样的实现方式可以称为多类型树(multi-type-tree,mtt)结构。例如,除了节点的二叉树分割之外,可以选择图13的三叉树划分模式中的一个。在一些实现方式中,仅正方形节点可以经受三叉树分割。可以使用附加标志来指示三叉树划分是水平的还是垂直的。[0144]诸如qtbt实现方式和由三叉树分割补充的qtbt实现方式的两级或多级树的设计可能主要由复杂度降低来推动。理论上,遍历树的复杂度是td,其中t表示分割类型的数目,d是树的深度。可以通过使用多种类型(t)同时减小深度(d)来进行折衷。[0145]在一些实现方式中,cb可以被进一步划分。例如,出于编码和解码过程期间进行帧内预测或帧间预测的目的,还可以将cb划分为多个预测块(predictionblock,pb)。换言之,可以将cb进一步分割成不同的子分区,在子分区中可以进行单独的预测决策/配置。并行地,出于描绘执行视频数据的变换或逆变换的级别的目的,还可以将cb划分为多个变换块(transformblock,tb)。将cb划分为pb和tb的方案可以相同或者可以不同。例如,每个划分方案可以基于例如视频数据的各种特性使用其自己的过程来执行。在一些示例实现方式中,pb划分方案和tb划分方案可以是独立的。在一些其他示例实现方式中,pb划分方案和tb划分方案与边界可以是相关的。在一些实现方式中,例如,可以在pb划分之后对tb进行划分,并且特别地,在划分编码块后确定每个pb之后,然后可以将该pb进一步划分为一个或更多个tb。例如,在一些实现方式中,可以将pb分割为一个、两个、四个或其他数目的tb。[0146]在一些实现方式中,为了将基本块划分为编码块并且进一步划分为预测块和/或变换块,可以对亮度通道和色度通道进行不同处理。例如,在一些实现方式中,将编码块划分为预测块和/或变换块对于亮度通道可以是允许的,而这种将编码块划分为预测块和/或变换块对于色度通道可能是不允许的。在这样的实现方式中,亮度块的变换和/或预测因此可以仅在编码块级别别下执行。对于另一示例,针对亮度通道和色度通道的最小变换块大小可以不同,例如,用于亮度通道的编码块与色度通道相比较可以被允许划分为更小的变换块和/或预测块。对于又一示例,将编码块划分为变换块和/或预测块的最大深度在亮度通道与色度通道之间可以不同,例如,用于亮度通道的编码块与色度通道相比较可以被允许划分为更深的变换块和/或预测块。对于具体示例,可以将亮度编码块划分为可以由向下进行多达2个级别的递归划分来表示的多个大小的变换块,并且可以允许诸如正方形、2:1/1:2和4:1/1:4的变换块形状以及从4×4到64×64的变换块大小。然而,对于色度块,可能仅允许针对亮度块指定的最大可能变换块。[0147]在用于将编码块划分为pb的一些示例实现方式中,pb划分的深度、形状和/或其他特性可以取决于pb是帧内编码还是帧间编码。[0148]将编码块(或预测块)划分为变换块可以在各种示例方案中实现,包括但不限于递归地或非递归地进行四叉树分割和预定义模式分割,并且另外考虑了对编码块或预测块的边界处的变换块。通常,所产生的变换块可以在不同的分割级别处,可以不具有相同的大小,并且可以不需要形状为正方形(例如,它们可以是具有一些允许的大小和纵横比的矩形)。下面关于图15、图16和图17进一步详细描述另外的示例。[0149]然而,在一些其他实现方式中,经由以上划分方案中的任一种获得的cb可以用作用于预测和/或变换的基本或最小编码块。换言之,不执行进一步的分割以用于执行帧间预测/帧内预测目的和/或用于变换目的。例如,从以上qtbt方案获得的cb可以直接用作用于执行预测的单元。具体地,这样的qtbt结构去除了多个划分类型的概念,即,去除了cu、pu和tu的分离,并且支持如上所述的cu/cb划分形状的更多灵活性。在这样的qtbt块结构中,cu/cb可以具有正方形或矩形形状。这样的qtbt的叶节点被用作用于预测和变换处理的单元,而无需任何进一步的划分。这意味着cu、pu和tu在这样的示例qtbt编码块结构中具有相同的块大小。[0150]可以以任何方式组合以上各种cb划分方案以及cb到pb和/或tb(不包括pb/tb划分)的进一步划分。提供以下具体实现方式作为非限制性示例。[0151]下面描述编码块和变换块分割的具体示例实现方式。在这样的示例实现方式中,可以使用递归四叉树分割或上述预定义分割模式(例如,图9和图10中的那些)将基本块分割成编码块。在每个级别处,特定分区的进一步四叉树分割是否应当继续可以由本地视频数据特性来确定。所得到的cb可以在不同的四叉树分割级别处,并且可以具有不同的大小。可以在cb级别(或cu级别,对于所有三色通道)处作出关于是使用帧间图片(时间)预测还是帧内图片(空间)预测来对图片区域进行编码的决策。可以根据预定义的pb分割类型将每个cb进一步分割成一个、两个、四个或其他数目的pb。在一个pb内,可以应用相同的预测过程,并且可以基于pb将相关信息发送至解码器。在通过基于pb分割类型应用预测过程获得残差块之后,可以根据与用于cb的编码树类似的另一四叉树结构将cb划分成tb。在该特定实现方式中,cb或tb可以但不必限于正方形形状。此外,在该特定示例中,对于帧间预测,pb可以为正方形或矩形形状,而对于帧内预测,pb可以仅为正方形。可以将编码块分割成例如四个正方形形状的tb。可以将每个tb进一步递归地(使用四叉树分割)分割成较小的tb,所述较小的tb称为残差四叉树(residualquadtree,rqt)。[0152]下面进一步描述将基本块划分成cb、pb和或tb的另一示例实现方式。例如,不是使用诸如图9或图10所示的多个划分单元类型,而是可以使用具有嵌套的多类型树的四叉树,该嵌套的多类型树使用二叉树和三叉树分割分段结构(例如,如上所述的qtbt或具有三叉树分割的qtbt)。可以放弃cb、pb和tb的分离(即,将cb划分为pb和/或tb,以及将pb划分成tb),除非当需要具有对于最大变换长度而言太大的大小的cb时,其中,这样的cb可能需要进一步分割。该示例划分方案可以被设计成支持cb划分形状的更多灵活性,使得预测和变换两者可以在cb级别上执行,而无需进一步划分。在这样的编码树结构中,cb可以具有正方形或矩形形状。具体地,可以首先通过四叉树结构划分编码树块(ctb)。然后,可以通过嵌套的多类型树结构进一步划分四叉树叶节点。在图11中示出了使用二叉树或三叉树分割的嵌套的多类型树结构的示例。具体地,图11的示例多类型树结构包括四种分割类型,所述四种分割类型被称为垂直二叉树分割(split_bt_ver)(1102)、水平二叉树分割(split_bt_hor)(1104)、垂直三叉树分割(split_tt_ver)(1106)和水平三叉树分割(split_tt_hor)(1108)。然后,cb对应于多类型树的叶。在该示例实现方式中,除非cb对于最大变换长度而言太大,否则该分段被用于预测和变换处理两者,而无需任何进一步的划分。这意味着,在大多数情况下,cb、pb和tb在具有嵌套的多类型树编码块结构的四叉树中具有相同的块大小。例外发生在最大支持变换长度小于cb的颜色分量的宽度或高度的情况下。在一些实现方式中,除了二叉树或三叉树分割之外,图11的嵌套模式可以进一步包括四叉树分割。[0153]在图12中示出了针对一个基本块的具有块划分(包括四叉树、二叉树和三叉树分割选项)的嵌套的多类型树编码块结构的四叉树的一个特定示例。更详细地,图12示出了基本块1200被四叉树分割成四个正方形分区1202、1204、1206和1208。针对四叉树分割分区中的每一个作出进一步使用图11的多类型树结构和四叉树进行进一步的分割的决策。在图12的示例中,分区1204未被进一步分割。分区1202和分区1208均采用另一四叉树分割。对于分区1202,第二级别四叉树分割的左上分区、右上分区、左下分区和右下分区分别采用第三级别的四叉树分割、图11的水平二叉树分割1104、无分割和图11的水平三叉树分割1108。分区1208采用另一四叉树分割,并且第二级别四叉树分割的左上分区、右上分区、左下分区和右下分区分别采用图11的垂直三叉树分割1106的第三级别分割、无分割、无分割和图11的水平二叉树分割1104。1208的第三级别左上分区的子分区中的两个子分区分别根据图11的水平二叉树分割1104和水平三叉树分割1108被进一步分割。分区1206采用遵循图11的垂直二叉树分割1102的第二级别分割模式而分成两个分区,这两个分区根据图11的水平三叉树分割1108和垂直二叉树分割1102被进一步分割成第三级别。根据图11的水平二叉树分割1104,对上述第三级别分区中的一个分区进一步应用第四级别分割。[0154]对于上述具体示例,最大亮度变换大小可以为64×64,并且最大支持色度变换大小可以不同于亮度,例如可以为32×32。即使以上图12中的示例cb通常不被进一步分割成更小的pb和/或tb,在亮度编码块或色度编码块的宽度或高度大于最大变换宽度或高度时,也可以将亮度编码块或色度编码块在水平方向和/或垂直方向上自动分割以满足该方向上的变换大小限制。[0155]在以上用于将基本块划分成cb的特定示例中,并且如上所述,编码树方案可以支持亮度和色度具有单独的块树结构的能力。例如,对于p切片和b切片,一个ctu中的亮度ctb和色度ctb可以共享相同的编码树结构。例如,对于i切片,亮度和色度可以具有单独的编码块树结构。当应用单独的块树结构时,可以通过一个编码树结构将亮度ctb划分为亮度cb,并且通过另一编码树结构将色度ctb划分为色度cb。这意味着i切片中的cu可以包括亮度分量的编码块或两个色度分量的编码块,而p切片或b切片中的cu总是包括所有三个颜色分量的编码块,除非视频是单色的。[0156]当编码块进一步被划分成多个变换块时,其中的变换块可以按各种顺序或扫描方式而排列在比特流中。下面进一步详细描述用于将编码块或预测块划分为变换块以及变换块的编码顺序的示例实现方式。在一些示例实现方式中,如上所述,变换划分可以支持多种形状的变换块,例如1:1(正方形)、1:2/2:1和1:4/4:1,其中变换块大小的范围从例如4×4到64×64。在一些实现方式中,如果编码块小于或等于64×64,则变换块划分可以仅应用于亮度分量,使得对于色度块,变换块大小与编码块大小相同。另外,如果编码块宽度或高度大于64,则亮度编码块和色度编码块两者可以分别被隐含地分割成多个min(w,64)×min(h,64)和min(w,32)×min(h,32)变换块。[0157]在变换块划分的一些示例实现方式中,对于帧内编码块和帧间编码块两者,可以将编码块进一步划分成具有多至预定义数目的级别(例如,2个级别)的划分深度的多个变换块。变换块划分深度和大小可以是相关的。对于一些示例实现方式,以下在表1中示出了从当前深度的变换大小到下一深度的变换大小的映射。表1:变换划分大小设置[0158]基于表1的示例映射,对于1:1正方形块,下一级别变换分割可以创建四个1:1正方形子变换块。变换划分可以在例如4×4处停止。因此,当前深度的4×4的变换大小对应于下一深度的4×4的相同大小。在表1的示例中,对于1:2/2:1非正方形块,下一级别变换分割将创建两个1:1正方形子变换块,而对于1:4/4:1非正方形块,下一级别变换分割将创建两个1:2/2:1子变换块。[0159]在一些示例实现方式中,对于帧内编码块的亮度分量,可以针对变换块划分应用附加限制。例如,对于每个级别的变换划分,可以将所有子变换块限制为具有相等的大小。例如,对于32×16编码块,级别1变换分割创建两个16×16子变换块,级别2变换分割创建八个8×8子变换块。换言之,第二级别分割必须应用于所有第一级别子块,以将变换单元保持为相等大小。图15中示出了按照表1进行的帧内编码正方形块的变换块划分的示例、以及由箭头指示的编码顺序。具体地,1502示出了正方形编码块。在1504中示出了根据表1的到4个大小相等的变换块的第一级别分割,其中,编码顺序由箭头指示。在1506中示出了根据表1的所有第一级别大小相等的块到16个大小相等的变换块的第二级别的分割,其中,编码顺序由箭头指示。[0160]在一些示例实现方式中,对于帧间编码块的亮度分量,可以不应用针对帧内编码的以上限制。例如,在第一级别的变换分割之后,子变换块中的任何一个可以以更高一个级别被进一步独立地分割。因此,所得到的变换块可以具有或可以不具有相同的大小。图16中示出了将帧间编码块分割为变换块以及变换块的编码顺序的示例。在图16的示例中,根据表1将帧间编码块1602分割成两个级别处的变换块。在第一级别处,帧间编码块被分割为四个大小相等的变换块。然后,四个变换块中仅一个变换块(而非所有的变换块)被进一步分割为四个子变换块,从而得到具有两种不同大小的总共7个变换块,如1604所示。这7个变换块的示例编码顺序由图16的1604中的箭头示出。[0161]在一些示例实现方式中,对于色度分量,可以对变换块应用一些附加限制。例如,对于色度分量,变换块大小可以与编码块大小一样大,但是不小于预定义大小例如8×8。[0162]在一些其他示例实现方式中,对于其宽度(w)或高度(h)大于64的编码块,亮度编码块和色度编码块两者可以分别被隐含地分割为多个min(w,64)×min(h,64)和min(w,32)×min(h,32)变换单元。此处,在本公开内容中,“min(a,b)”可以返回a与b之间的较小值。[0163]图17还示出了用于将编码块或预测块划分为变换块的另一替选示例方案。如图17所示,代替使用递归变换划分,可以根据编码块的变换类型将预定义的一组划分类型应用于编码块。在图17所示的特定示例中,可以应用6个示例划分类型中的一个划分类型,以将编码块分割为各种数目的变换块。这样的生成变换块划分方案可以应用于编码块或预测块。[0164]更详细地,图17的划分方案提供了任何给定变换类型的多达6个示例划分类型(变换类型是指例如诸如adst等的初级变换的类型)。在该方案中,可以基于例如率失真成本向每个编码块或预测块分配变换划分类型。在示例中,可以基于编码块或预测块的变换类型来确定分配给编码块或预测块的变换划分类型。特定变换划分类型可以对应于变换块分割大小和模式,如由图17所示的6个变换划分类型所示出的。可以预定义各种变换类型与各种变换划分类型之间的对应关系。以下示出了其中大写的标签指示可以基于率失真成本而分配给编码块或预测块的变换划分类型的示例:·partition_none:分配等于块大小的变换大小。·partition_split:分配为块大小的1/2宽度和块大小的1/2高度的变换大小。·partition_horz:分配具有与块大小相同的宽度和块大小的1/2高度的变换大小。·partition_vert:分配具有块大小的1/2宽度和与块大小相同的高度的变换大小。·partition_horz4:分配具有与块大小相同的宽度和块大小的1/4高度的变换大小。·partition_vert4:分配具有块大小的1/4宽度和与块大小相同的高度的变换大小。[0165]在以上示例中,如图17所示的变换划分类型针对经划分的变换块全部包含均匀的变换大小。这仅是示例,而不是限制。在一些其他实现方式中,针对特定划分类型(或模式)下的经划分的变换块,可以使用混合变换块大小。[0166]然后,从以上任何一个划分方案中获得的pb(或cb,在不被进一步划分为预测块时也被称为pb)可以成为经由帧内预测或帧间预测进行编码的单独块。对于用于当前pb的帧间预测,可以生成当前块与预测块之间的残差,对残差进行编码,并将残差包括在已编码比特流中。[0167]可以例如在单参考模式或复合参考模式下实现帧间预测。在一些实现方式中,跳过标志可以首先包括在当前块的比特流中(或在更高级别处),以指示当前块是否是帧间编码的并且不被跳过。如果当前块是帧间编码的,则另一标志可以进一步包括在比特流中,作为指示单参考模式或复合参考模式是否用于当前块的预测的信号。对于单参考模式,可以使用一个参考块来生成当前块的预测块。对于复合参考模式,可以使用两个或更多个参考块,以例如通过加权平均来生成预测块。复合参考模式可以称为多于一个参考模式、两个参考模式或多个参考模式。可以使用一个或多个参考帧索引以及另外使用指示参考块与当前块之间在位置上例如在水平像素和垂直像素中的移位的相应的一个或多个运动矢量来识别一个或多个参考块。例如,针对当前块的帧间预测块可以从被参考帧中的一个运动矢量识别为单参考模式下的预测块的单参考块生成,而对于复合参考模式,预测块可以通过两个参考帧中的由两个参考帧索引和两个对应的运动矢量指示的两个参考块的加权平均来生成。可以以各种方式将运动矢量编码并包括在比特流中。[0168]在一些实现方式中,编码或解码系统可以维护解码图片缓冲器(decodedpicturebuffer,dpb)。一些图像/图片可以保持在dpb中以等待显示(在解码系统中),并且dpb中的一些图像/图片可以用作参考帧以使得能够进行帧间预测(在解码系统或编码系统中)。在一些实现方式中,dpb中的参考帧可以被标记为用于正在被编码或解码的当前图像的短期参考或长期参考。例如,短期参考帧可以包括下述帧,所述帧用于对当前帧中的块或按照解码顺序与当前帧最接近的预定义数目(例如,2)个后续视频帧中的块进行帧间预测。长期参考帧可以包括dpb中的下述帧,所述帧可以用于对按照解码顺序与当前帧相距多于预定义数目个帧的帧中的图像块进行预测。关于用于短期参考帧和长期参考帧的这种标签的信息可以被称为参考图片集(referencepictureset,rps),并且可以被添加到已编码比特流中的每个帧的头。可以通过图片顺序计数器(pictureordercounter,poc)来识别已编码视频流中的每个帧,所述帧根据回放顺序以绝对方式进行编号或者与例如从i帧开始的图片组相关。[0169]在一些示例实现方式中,可以基于rps中的信息来形成包含用于帧间预测的短期参考帧和长期参考帧的标识的一个或更多个参考图片列表。例如,针对单向帧间预测可以形成单个图片参考列表,表示为l0参考(或参考列表0),而针对双向帧间预测可以形成两个图片参考列表,表示为l0(或参考列表0)和l1(或参考列表1)以用于两个预测方向中的每一个。包括在l0列表和l1列表中的参考帧可以以各种预定义方式进行排序。l0列表和l1列表的长度可以用信令通知在视频比特流中。单向帧间预测可以在单参考模式下进行,或者当在复合预测模式下用于通过加权平均生成预测块的多个参考在要预测的块的同一侧时在复合参考模式下进行。双向帧间预测可以仅在复合模式下进行,因为双向帧间预测涉及至少两个参考块。[0170]自适应环路滤波器[0171]在通用视频编码(vvc)中,应用了具有基于块的滤波器自适应的自适应环路滤波器(alf)。对于亮度分量,基于局部梯度的方向和活动性,为每个4×4块选择许多滤波器中的一个滤波器。在一个示例中,可以存在25个滤波器以供选择。[0172]图18示出了示例自适应环路滤波器(adaptiveloopfilter,alf)形状。具体地,图18示出了两个菱形滤波器形状。7×7菱形形状应用于亮度分量,并且5×5菱形形状应用于色度分量。[0173]可以按如下针对不同的示例计算块分类。对于亮度分量,每个4×4块被分类成25个类中的一个。分类索引c基于其方向性d和活动性的量化值而得出,如下:为了计算d和首先使用1-d拉普拉斯来计算水平方向、垂直方向和两个对角线方向的梯度:向的梯度:向的梯度:向的梯度:其中,索引i和j指的是4×4块内的左上样本的坐标,r(i,j)指示坐标(i,j)处的重构样本。[0174]为了降低块分类的复杂度,可以应用子采样的1-d拉普拉斯计算。如图19a至图19d中所示,相同的子采样位置可以用于所有方向的梯度计算。图19a示出了垂直梯度的拉普拉斯计算中的子采样位置。图19b示出了水平梯度的拉普拉斯计算中的子采样位置。图19c示出了对角线梯度的拉普拉斯计算中的子采样位置。图19d示出了另一对角线梯度的拉普拉斯计算中的子采样位置。[0175]然后将水平方向和垂直方向的梯度的d最大值和最小值设置为:将两个对角线方向的梯度的最大值和最小值设置为:为了得出方向性d的值,将这些值彼此进行比较并利用两个阈值t1和t2进行比较。步骤1.如果和两者为真,则将d设置为0。步骤2.如果则从步骤3继续;否则,从步骤4继续。步骤3.如果则将d设置为2;否则将d设置为1。步骤4.如果则将d设置为4;否则将d设置为3。将活动性值a计算为:a被进一步量化到0到4的范围,包括0和4,并且量化值被表示为对于图片中的色度分量,不应用分类方法。换言之,可以针对每个色度分量应用单组alf系数。[0176]可以存在滤波器系数和限幅值的几何变换。在对每个4×4亮度块进行滤波之前,根据针对该块计算的梯度值,可以对滤波器系数f(k,l)和对应滤波器限幅值c(k,l)应用诸如旋转或对角翻转和垂直翻转的几何变换。这可以相当于将这些变换应用于滤波器支持区域中的样本。这可以通过将应用了alf的不同块的方向性对准来使不同块更均匀。三个几何变换可以包括对角线、垂直翻转和旋转:对角线:fd(k,l)=f(l,k),cd(k,l)=c(l,k)ꢀꢀ(9)垂直翻转:fv(k,l)=f(k,k-l-1),cv(k,l)=c(k,k-l-1)ꢀꢀ(10)旋转:fr(k,l)=f(k-l-1,k),cr(k,l)=c(k-l-1,k)ꢀꢀ(11)其中,k是滤波器的大小,并且0≤k,l≤k-1是系数坐标,使得位置(0,0)在左上角处,并且位置(k-1,k-1)在右下角处。根据针对该块计算的梯度值,将变换应用于滤波器系数f(k,l)和限幅值c(k,l)。在下表2中总结了变换与四个方向的四个梯度之间的关系。梯度值变换gd2<gd1且gh<gv不变换gd2<gd1且gv<gh对角线gd1<gd2且gh<gv垂直翻转gd1<gd2且gv<gh旋转表2-针对一个块计算的梯度与变换的映射[0177]在vvc中,在自适应参数集(adaptionparameterset,aps)中用信令通知alf滤波器参数。在一个aps中,可以使用多组亮度滤波器系数和限幅值索引。例如,可以存在25组亮度滤波器。此外,可以用信令通知多组色度滤波器系数和限幅值索引。在一个示例中,可以存在可以用信令通知的多达8组色度滤波器系数和限幅值索引。为了减少比特开销,可以合并亮度分量的不同分类的滤波器系数。在切片头中,可以用信令通知用于当前切片的aps的索引。alf的信令可以是基于编码树单元(ctu)的。[0178]根据aps解码的限幅值索引允许使用亮度和色度的限幅值的表来确定限幅值。这些限幅值可能取决于内部比特深度。更准确地,限幅值的表可以通过下式来获得:alfclip={round(2b-α*n)forn∈[0..n-1]}ꢀꢀꢀ(12)在b等于内部位深度的情况下,α是等于2.35的预定义常数值,n等于4,其在一个实施方式中是vvc中允许的限幅值的数目。表3示出了等式(12)的输出。表3-规格alfclip取决于bitdepth和clipidx[0179]在一个切片头示例中,可以用信令通知多达7个aps索引以指定用于当前切片的亮度滤波器组。可以在编码树块(ctb)级别处进一步控制滤波过程。可以用信令通知标志以指示是否将alf应用于亮度ctb。在一个示例中,亮度ctb可以在16个固定滤波器组和来自aps的滤波器组中选择滤波器组。针对亮度ctb用信令通知滤波器组索引以指示应用哪个滤波器组。16个固定滤波器组可以在编码器和解码器两者中被预定义和硬编码。对于色度分量,在切片头中用信令通知aps索引以指示用于当前切片的色度滤波器组。在ctb级别,如果在aps中存在多于一个的色度滤波器组,则为每个色度ctb用信令通知滤波器索引。滤波器系数可以用等于128的范数进行量化。为了限制乘法复杂度,应用比特流一致性,使得非中心位置的系数值可以在-27至27-1的范围内,包括端值。在比特流中未用信令通知中心位置系数,并且中心位置系数被认为等于128。[0180]在vvc示例中,限幅索引和限幅值的语法和语义可以定义为如下:alf_luma_clip_idx[sfidx][j]指定在与由sfidx指示的用信令通知的亮度滤波器的第j个系数相乘之前使用的限幅值的限幅索引。比特流一致性的要求可以是,具有sfidx=0..alf_luma_num_filters_signalled_minus1和j=0..11的alf_luma_clip_idx[sfidx][j]的值应当在0至3的范围内,包括0和3。根据等于bitdepthy的bitdepth组和等于alf_luma_clip_idx[alf_luma_coeff_delta_idx[filtidx]][j]的clipidx组,如表3指定的得出具有元素alfclipl[adaptation_parameter_set_id][filtidx][j]的亮度滤波器限幅值alfclipl[adaptation_parameter_set_id],其中,filtidx=0..numalffilters-1,j=0..11。alf_chroma_clip_idx[altidx][j]指定在乘以具有索引altidx的替选色度滤波器的第j个系数之前使用的限幅值的限幅索引。比特流一致性的要求是:具有altidx=0..alf_chroma_num_alt_filters_minus1、j=0..5的alf_chroma_clip_idx[altidx][j]的值应当在0至3的范围内,包括0和3。根据等于bitdepthc的bitdepth组和等于alf_chroma_clip_idx[altidx][j]的clipidx组,如表3指定的得出具有元素alfclipc[adaptation_parameter_set_id][altidx][j]的色度滤波器限幅值alfclipc[adaptation_parameter_set_id][altidx],其中,altidx=0..alf_chroma_num_alt_filters_minus1,j=0...5。[0181]可以在以下示例中执行滤波过程。在解码器侧,当针对ctb启用alf时,对cu内的每个样本r(i,j)进行滤波,从而得到样本值r′(i,j):r′(i,j)=r(i,j) ((∑k≠0∑l≠0f(k,l)×k(r(i k,j l)-r(i,j),c(k,l)) 64)>>7)ꢀꢀꢀ(13)其中,f(k,l)表示已解码的滤波器系数,k(x,y)是限幅函数,并且c(k,l)表示已解码的限幅参数。变量k和l在与之间变化,其中,l表示滤波长度。限幅函数k(x,y)=min(y,max(-y,x)),其对应于函数clip3(-y,y,x)。通过结合这种限幅函数,如jvet-n0242中首先提出的那样,这种环路滤波方法变成非线性过程,被称为非线性alf。通过使用与表3中的限幅值的索引对应的golomb编码方案,在“alf_data”语法元素中对所选择的限幅值进行编码。该编码方案可以与滤波器索引的编码方案相同。[0182]可以存在用于行缓冲器缩减的虚拟边界滤波过程。为了减少alf的行缓冲器要求,可以对水平ctu边界附近的样本应用修改的块分类和滤波。因此,如图20所示,虚拟边界可以通过将水平ctu边界移动“n”个样本而定义为线。图20示出了虚拟边界处的修改的块分类的示例。在该示例中,对于亮度分量,n等于4,并且对于色度分量,n等于2。[0183]将修改的块分类应用于如图20中描绘的亮度分量。对于虚拟边界上方的4×4块的一维(1d)拉普拉斯梯度计算,仅使用虚拟边界上方的样本。类似地,对于虚拟边界下方的4×4块的一维拉普拉斯梯度计算,仅使用虚拟边界下方的样本。通过考虑一维拉普拉斯梯度计算中使用的减少数目的样本,对活动值a的量化进行缩放。[0184]图21示出了虚拟边界处的亮度分量的修改的自适应环路滤波的示例。对于滤波处理,虚拟边界处的对称填充操作可以被用于亮度分量和色度分量两者。如图21所示,当正被滤波的样本位于虚拟边界下方时,可以对位于虚拟边界上方的相邻样本进行填充。也可以对在另一侧的对应样本对称地填充。[0185]图22示出了最大编码单元(lcu)对准的图片四叉树分割的示例。为了增强编码效率,可以使用基于编码单元同步图片四叉树的自适应环路滤波器。亮度图片可以被分割成几个多级四叉树分区,并且每个分区边界与最大编码单元(lcu)的边界对准。每个分区具有其自己的滤波过程,并且因此可以被称为滤波器单元(filterunit,fu)。二次(pass)编码流程可以包括以下内容。在第一次时,决定每个fu的四叉树分割模式和最佳滤波器。在决策过程期间,由ffde估计滤波失真。根据所决定的所有fu的四叉树分割模式和所选择的滤波器,对重构图片进行滤波。在第二通时,执行cu同步alf开/关控制。根据alf开/关结果,通过重构图片部分地恢复第一经滤波的图片。[0186]可以采用自顶向下的分割策略,以通过使用率失真标准将图片分成多级四叉树分区。每个分区可以被称为滤波器单元。分割过程使四叉树分区与lcu边界对准。fu的编码顺序遵循z字扫描顺序。例如,在图22中,图片被分割成10个fu,并且编码顺序为fu0、fu1、fu2、fu3、fu4、fu5、fu6、fu7、fu8和fu9。[0187]图23示出了以z字顺序编码的四叉树分割标志的示例。为了指示图片四叉树分割模式,可以按z字顺序编码和发送分割标志。图23示出了与图22对应的四叉树分割模式。基于率失真标准从两个滤波器组中选择每个fu的滤波器。第一组具有针对当前fu新得出的1/2对称正方形形状滤波器和菱形形状滤波器。第二组来自时延滤波器缓冲器;时延滤波器缓冲器存储先前针对先前图片的fu得出的滤波器。针对当前fu,选择这两个组之中具有最小率失真成本的滤波器。类似地,如果当前fu不是最小fu并且可以被进一步分割成4个子fu,则计算这4个子fu的率失真成本。通过递归地比较分割情况和非分割情况下的率失真成本,可以决定图片的四叉树分割模式。在一个示例中,最大四叉树分割级别可以是2,这意味着fu的最大数目是16。在四叉树分割决策期间,可以重新使用用于得出在底部四叉树级别的16个fu(最小fu)的维纳(wiener)系数的相关值。其余的fu可以根据在底部四叉树级别的16个fu的相关性导出其维纳滤波器。因此,仅可以存在一次帧缓冲器访问以用于得出所有fu的滤波器系数。在决定四叉树分割模式后,为了进一步减少滤波失真,执行cu同步alf开/关控制。通过比较滤波失真和非滤波失真,叶cu可以在其局部区域中显式地切换alf开/关。可以通过根据alf开/关结果重新设计滤波器系数来进一步提高编码效率。然而,重新设计过程可能需要附加的帧缓冲器访问。在修改的编码器设计中,在cu同步alf开/关决策之后可能没有重新设计过程,以使帧缓冲器访问的次数最小化。[0188]交叉分量自适应环路滤波器(cc-alf)[0189]图24示出了交叉分量自适应环路滤波器(cc-alf)放置的示例。cc-alf可以利用亮度样本值来细化每个色度分量。图24示出了cc-alf相对于其他环路滤波器的放置。[0190]图25示出了菱形形状滤波器的示例。cc-alf可以通过针对每个色度分量对亮度通道应用来自图25的线性菱形形状滤波器来进行操作。滤波器系数在aps中发送,在一个示例中按210的因子缩放,并四舍五入以用于固定点表示。滤波器的应用受可变块大小的控制,并且通过为每个样本块接收到的上下文编码标志用信令通知滤波器的应用。对于每个色度分量,在切片级别接收块大小以及cc-alf启用标志。在一个示例中,支持以下块大小(在色度样本中)16×16、32×32、64×64。[0191]cc-alf的示例语法可以包括:cc-alf相关语法的语义可以包括:alf_ctb_cross_component_cb_idc[xctb》》ctblog2sizey][yctb》》ctblog2sizey]等于0指示交叉分量cb滤波器未应用于亮度位置(xctb,yctb)的cb颜色分量样本块。alf_cross_component_cb_idc[xctb》》ctblog2sizey][yctb》》ctblog2sizey]不等于0指示第alf_cross_component_cb_idc[xctb》》ctblog2sizey][yctb》》ctblog2sizey]个交叉分量cb滤波器应用于亮度位置(xctb,yctb)的cb颜色分量样本块。alf_ctb_cross_component_cr_idc[xctb》》ctblog2sizey][yctb》》ctblog2sizey]等于0指示交叉分量cr滤波器未应用于亮度位置(xctb,yctb)的cr颜色分量样本块。alf_cross_component_cr_idc[xctb》》ctblog2sizey][yctb》》ctblog2sizey]不等于0指示第alf_cross_component_cr_idc[xctb》》ctblog2sizey][yctb》》ctblog2sizey]个交叉分量cr滤波器应用于亮度位置(xctb,yctb)的cr颜色分量样本块。[0192]色度采样格式[0193]图26示出了色度样本相对于亮度样本的示例位置。图26示出了当chroma_format_idc等于1(4:2:0色度格式)并且chroma_sample_loc_type_top_field或chroma_sample_loc_type_bottom_field等于可变chromaloctype的值时左上色度样本的指示的相对位置。由左上4:2:0色度样本表示的区域(被描绘为在其中心处具有大红色点的大正方形)相对于由左上亮度样本表示的区域(被描绘为在其中心处具有小点的小正方形)被示出。由相邻亮度样本表示的区域被描绘为在其中心处具有小阴影灰色点的小阴影灰色正方形。[0194]定向增强特征[0195]环路内约束定向增强滤波器(constraineddirectionalenhancementfilter,cdef)的一个目标是滤除编码伪影,同时保留图像的细节。在hevc中,样本自适应偏移(sampleadaptiveoffset,sao)算法可以通过为不同类别的像素定义信号偏移来实现类似的目标。与sao不同,cdef是非线性空间滤波器。滤波器的设计被限制为易于矢量化(即,可通过simd操作实现),而其他非线性滤波器(如中值滤波器和双边滤波器)不是这种情况。cdef设计源自以下观察。编码图像中振铃伪影的量趋于与量化步长大小大致成比例。细节量是输入图像的属性,但是经量化图像中所保留的最小细节也趋于与量化步长成比例。对于给定的量化步长,振铃的幅度通常小于细节的幅度。[0196]cdef的工作原理是:识别每个块的方向,然后沿着所识别的方向进行自适应滤波,并且沿着与所识别的方向旋转45度的方向进行较小程度地自适应滤波。明确地用信令通知滤波器强度,这允许对模糊进行高度控制。针对滤波器强度设计有效的编码器搜索。cdef基于两个先前提出的环路内滤波器,并且组合滤波器被用于新兴的av1编解码器。[0197]图27示出了方向搜索的示例。方向搜索仅在去块滤波器之后对重构的像素进行操作。由于这些像素对于解码器可用,因此方向不需要信令。该搜索在8×8的块上操作,所述8×8的块足够小以充分地处理非直边缘,而足够大以可靠地估计在应用于经量化的图像时的方向。在8×8区域上具有恒定的方向也使滤波器的矢量化更容易。对于每个块,我们通过使量化块与最近的完美定向块之间的平方差之和(sumofsquareddifferences,ssd)最小化来确定与块中的模式最匹配的方向。完美定向块是沿着一个方向上的线的所有像素具有相同值的块。图27是对8×8块的方向搜索的一个示例。[0198]可能存在非线性的低通定向滤波器。识别方向的一个原因是沿着该方向对准滤波器抽头以减少振铃同时保留定向边缘或模式。然而,仅定向滤波有时不能充分地减少振铃。还可以期望对不沿主方向的像素使用滤波器抽头。为了降低模糊的风险,这些额外的抽头会被更适当地处理。为此,cdef定义了初级抽头和次级抽头。完整的2dcdef滤波器可以表示为:其中,d是阻尼参数,s(p)和s(s)分别是初级抽头和次级抽头的强度,以及round(·)从零进行四舍五入,wk是滤波器权重,以及f(d,s,d)是对经滤波像素与每个相邻像素之间的差进行操作的约束函数。对于小的差,f(d,s,d)=d,使滤波器行为类似于线性滤波器。当差较大时,f(d,s,d)=0,这实际上忽略了滤波器抽头。[0199]环路恢复[0200]提出了一组环路内恢复方案,用于视频编码后去块,以在传统去块操作之外一般地去噪和提高边缘质量。这些方案以适当大小的图块为单位在帧内可切换。所描述的具体方案基于可分离对称维纳滤波器和具有子空间投影的双自导滤波器。因为内容统计在帧内可能显著变化,所以这些工具被集成在可切换框架内,其中可以在帧的不同区域中触发不同的工具。[0201]可以存在用作恢复工具的可分离的对称维纳滤波器。劣化的帧中的每个像素可以被重构为其周围w×w窗口内的像素的非因果滤波版本,其中,对于整数r而言,w=2r 1是奇数。如果以列矢量化形式的w2×1元素矢量f来表示2d滤波器抽头,则直接lmmse优化致使滤波器参数由f=h-1m给出,其中h=e[xxt]是x的自协方差,x是像素周围w×w窗口中的w2个样本的列矢量化版本,并且m=e[yxt]是x与要估计的标量源样本y的互相关。编码器可以根据去块帧和源中的实现来估计h和m,并将结果滤波器f发送至解码器。然而,这将不仅在传输w2个抽头时引起大量的比特率成本,而且不可分离滤波将使解码变得异常复杂。因此,对f的性质施加若干附加的约束。首先,f被约束为可分离的,使得滤波可以实现为可分离的水平和垂直w-抽头卷积。其次,水平滤波器和垂直滤波器中的每一个被约束为对称的。第三,假设水平滤波器系数和垂直滤波器系数两者之和为1。[0202]可以存在用于图像滤波的具有子空间投影的对偶式自导滤波,其中,局部线性模型为:y=fx gꢀꢀ(15)该局部线性模型被用于根据未经滤波的样本x来计算经滤波的输出y,其中,f和g是基于经滤波的像素附近的引导图像和劣化图像的统计信息确定的。如果引导图像与劣化图像相同,则所得到的所谓自导式滤波具有边缘保持平滑的效果。提出的自导滤波的具体形式取决于两个参数:半径r和噪声参数e,并列举如下:1.获得每像素周围(2r 1)×(2r 1)窗中的像素的均值μ和方差σ2。这可以基于积分成像通过盒式滤波来有效地实现。2.针对每个像素的计算:f=σ2/(σ2 e);g=(1-f)μ3.将针对每个像素的f和g计算为该像素周围3×3窗口中的f值的平均值和g值的平均值以供使用。滤波可以由r和e控制,其中r越大意味着空间方差越大,以及e越大意味着范围方差越大。[0203]图28示出了子空间投影的示例。在图28中示意性地示出了子空间投影的原理。即使恢复体(restoration)x1、x2均不靠近源y,只要它们沿正确的方向稍微移动,适当的乘法器{α,β}就可以使它们更加靠近源y。[0204]交叉分量样本偏移(ccso)[0205]环路滤波方法可以包括交叉分量样本偏移(ccso),以减少重构样本的失真。在ccso中,考虑到第一颜色分量的经处理的输入重构样本,使用非线性映射来得出输出偏移,并且在提出的ccso的滤波过程中,输出偏移被添加在另一个颜色分量的重构样本上。[0206]图29示出了滤波器支持区域的示例。输入的重构样本来自位于滤波器支持区域的第一颜色分量。如图29所示,滤波器支持区域包括四个重构样本:p0、p1、p2、p3。四个输入重构样本在竖直方向和水平方向上呈十字形。第一颜色分量中的中心样本(用c表示)和第二颜色分量中的要滤波的样本是并置的。在处理输入重构样本时,应用以下步骤:■步骤1:首先计算p0至p3与c之间的差量值,其被表示为m0、m1、m2和m3。■步骤2:对差量值m0至m3进行进一步量化,经量化的值被表示为d0、d1、d2、d3。基于以下量化过程,经量化的值可以是-1、0、1:a.如果m《-n,d=-1;ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(16)b.如果-n《=m《=n,d=0;ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(17)c.如果m》n,d=1.ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(18)其中,n被称为量化步长,n的示例值为4、8、12、16。[0207]变量d0至d3可以用于识别非线性映射的一个组合。在该示例中,ccso具有四个滤波器抽头d0至d3,并且每个滤波器抽头可以具有三个经量化值中的一个,因此总共存在3^4=81种组合。表4(下面)示出了81个示例组合,最后一列表示每个组合的输出偏移值。示例偏移值是整数,例如0、1、-1、3、-3、5、-5、-7。组合d0d1d2d3偏移0-1-1-1-1s01-1-1-10s12-1-1-11s23-1-10-1s34-1-100s45-1-101s56-1-11-1s67-1-110s78-1-111s89-10-1-1s910-10-10s1011-10-11s1112-100-1s1213-1000s1314-1001s1415-101-1s1516-1010s1617-1011s1718-11-1-1s1819-11-10s1920-11-11s2021-110-1s2122-1100s2223-1101s2324-111-1s2425-1110s2526-1111s26270-1-1-1s27280-1-10s28290-1-11s29300-10-1s30310-100s31320-101s32330-11-1s33340-110s34350-111s353600-1-1s363700-10s373800-11s3839000-1s39400000s40410001s4142001-1s42430010s43440011s444501-1-1s454601-10s464701-11s4748010-1s48490100s49500101s5051011-1s51520110s52530111s53541-1-1-1s54551-1-10s55561-1-11s56571-10-1s57581-100s58591-101s59601-11-1s60611-110s61621-111s626310-1-1s636410-10s646510-11s6566100-1s66671000s67681001s6869101-1s69701010s70711011s717211-1-1s727311-10s737411-11s7475110-1s75761100s76771101s7778111-1s78791110s79801111s80表4-由d0至d3识别的样本组合[0208]按如下应用ccso的最终滤波过程:f'=clip(f s),ꢀꢀꢀ(19)其中,f是要滤波的重构样本,并且s是从表4检索的输出偏移值,经滤波的样本值f’被进一步限幅到与比特深度相关联的范围。[0209]局部样本偏移(lso)是另一示例偏移实施方式。在lso中,应用了ccso中的类似滤波方法,但是输出偏移被应用于颜色分量,该颜色分量是与重构样本被用作滤波过程的输入的颜色分量相同的颜色分量。[0210]在替选实施方式中,简化的ccso设计可以被采用到av2即cwg-b022的avm的参考软件中。[0211]图30示出了示例环路滤波线路。ccso是在环路滤波线路中与cdef并行执行的环路滤波过程,即输入与cdef相同,并且输出应用于cdef滤波的样本,如图30所示。注意,ccso可以仅应用于色度颜色分量。[0212]图31示出了交叉分量样本偏移(ccso)的示例输入。ccso滤波器被应用于色度重构样本,该色度重构样本被表示为rc。rc的并置的亮度重构样本被表示为rl。在图31中示出了ccso滤波器的示例。在ccso中,使用了一组3抽头滤波器。位于三个滤波器抽头处的输入亮度重构样本包括中心的rl以及两个相邻的样本p0和p0。[0213]给定pi和rl,其中i=0,1,应用以下步骤来处理输入样本:-首先计算pi与rl之间的差量值,其被表示为mi-使用以下量化过程,将差量值mi量化为di:-当m小于-qccso时,将di设置为-1-当m在-qccso与qccso之间包括-qccso和qccso时,将di设置为0-当m大于qccso时,将di被设置为等于1。在以上步骤中,qccso被称为量化步长,qccso可以是8、16、32、64。[0214]在计算d0和d1之后,使用ccso的查找表(look-uptable,lut)得出偏移值(表示为s)。在表5中示出了ccso的lut。使用d0和d1的每个组合来识别lut中的行,以检索偏移值。偏移值是整数,包括0、1、-1、3、-3、5、-5和-7。表5:ccso中使用的查找表(lut)[0215]最后,按如下将ccso的得出的偏移应用于色度颜色分量:rc'=clip(rc s),ꢀꢀꢀ(20)其中,rc是要被ccso滤波的重构样本,并且s是从lut检索到的得出偏移值,经滤波的样本值rc'被进一步限幅到由比特深度指定的范围中。[0216]图32示出了交叉分量样本偏移(ccso)中的示例滤波器形状。如图32所示,在ccso中,存在六种可选的滤波器形状,其被表示为fi,i=1、......、6。这六种滤波形状在帧级别处可切换,并且通过使用3位固定长度代码的语法ext_filter_support用信令通知选择。[0217]可以在帧级别和块级别处执行交叉分量样本偏移(ccso)的信令。在帧级别处,信号可以包括:·指示是否应用ccso的1位标志·指示对ccso滤波器形状的选择的3位的语法ext_filter_support·指示量化步长的选择的2位的索引·在lut中使用的9个3位偏移值在128×128色度块级别处,用信令通知标志以指示是否启用ccso滤波器。[0218]样本自适应偏移(sao)[0219]在hevc中,通过使用切片头中给定的偏移值,将样本自适应偏移(sao)应用于去块滤波器之后的重构信号。对于亮度样本,编码器决定sao滤波器是否被应用于当前切片。如果启用sao,则当前图片允许递归分割成四个子区域,并且每个区域可以选择如表6所示的六种sao类型之一。sao将重构像素分类为类别,并且通过向当前区域中的每个类别的像素添加偏移来减小失真。使用边缘属性来进行sao类型1至4中的像素分类,并且使用像素强度来进行sao类型5至6中的像素分类。表6-sao类型的规格[0220]带偏移(bandoffset,bo)将区域的所有像素分类为多个带,其中每个带包含相同强度间隔的像素。强度范围被等分为从零到最大强度值(例如,对于8比特像素,为255)的32个间隔,并且每个间隔具有偏移。接下来,32个带被分为两组。一组由中心的16个带组成,而另一组由其余的16个带组成。仅发送一个组中的偏移。关于bo中的像素分类操作,每个像素的最高五位可以直接用作带索引。[0221]图33示出了示例像素模式。考虑到边缘定向信息,边缘偏移(edgeoffset,eo)使用四个1维(1-d)3像素模式进行像素分类,如图33所示。图片的每个区域可以选择一个模式,以通过将每个像素与其两个相邻像素进行比较,将像素分类为多个类别。该选择将作为边信息在比特流中发送。表7示出了eo的像素分类规则。边信息在比特流中发送。表7示出了eo的像素分类规则。表7-边缘偏移(eo)的像素分类规则[0222]解码器侧的sao可以独立于lcu进行操作,使得可以节省行缓冲器。为了实现这一点,当选择90度模式、135度模式和45度分类模式时,可以不对每个lcu中的顶部行和底部行的像素进行sao处理。当选择0度模式、135度模式和45度模式时,可以不对每个lcu中的最左列和最右列的像素进行sao处理。[0223]下面的表8示出了如果未从相邻ctu合并参数则可能需要针对ctu用信令通知的示例语法:表8-样本自适应偏移vlc语法[0224]交叉分量样本偏移(ccso)和局部样本偏移(lso)可以利用要滤波的像素的值来选择一个颜色分量上的偏移值。然而,进一步扩展用于偏移选择的那些输入可能显著地增加ccso和lso的信令的开销,这可能限制/降低编码性能,尤其是对于较小的分辨率序列。[0225]如所描述的,ccso被定义为如下滤波过程,该滤波过程使用第一颜色分量的重构样本作为输入(例如,y或cb或cr),并且输出被应用于作为第一颜色分量的不同颜色分量的第二颜色分量。在图29中示出了ccso的示例滤波器形状。lso是如下滤波过程,该滤波过程使用第一颜色分量的重构样本作为输入(例如,y或cb或cr),并且将输出应用于相同的第一颜色分量。因此,lso与ccso之间的差异是不同的输入。[0226]如下面所描述并在图34中说明的,通过不仅考虑如在ccso和lso中考虑的并置的(或当前)样本的相邻样本之间的差量值而且还考虑并置的(或当前)样本本身的级别值来呈现ccso和lso的一般化设计。[0227]图34示出了根据本公开内容的示例实施方式的方法的流程图。在框3402中,对来自已编码视频比特流的当前图片中的当前分量的重构样本的已编码信息进行解码。已编码信息指示要应用于重构样本的样本偏移滤波器。在一个示例中,样本偏移滤波器可以包括两种类型的偏移值,即梯度偏移(gradientoffset,go)和带偏移(bo)。在框3404中,选择偏移类型以与样本偏移滤波器一起使用。在框3406中,基于第一重构样本和所选择的偏移类型来确定样本偏移滤波器的输出值。在框3408中,基于样本偏移滤波器的输出值和重构样本,确定当前分量的重构样本的经滤波样本值。下面描述进一步的实施方式。[0228]广义样本偏移(gso)方法可以包括ccso和lso的两种类型的偏移值,包括梯度偏移(go)和带偏移(bo)。偏移类型的选择可以用信令通知,或隐含地得出。[0229]在一个实施方式中,梯度偏移可以是使用不同颜色分量的并置样本与相邻样本之间的差量值(在ccso的情况下)或相邻样本与要滤波的当前样本之间的差量值(在ccso或lso的情况下)得出的偏移。[0230]在一个实施方式中,带偏移可以是使用不同颜色分量的并置样本或要滤波的当前样本的值得出的偏移。带可以用于确定偏移值。在一个示例中,不同颜色分量的并置样本或要滤波的当前样本的值可以表示为变量v,并且使用v》》s得出bo值,其中,》》指示右移操作,s是指定使用相同带偏移的样本值的间隔的预定义值。在一个示例中,s的值可以针对不同的颜色分量而变化。在另一示例中,不同颜色分量的并置样本或要滤波的当前样本的值被表示为变量v,并且使用预定义的查找表得出带索引bi,其中,查找表的输入是v,并且输出值是带索引bi,并且使用带索引bi得出bo值。[0231]在一个实施方式中,当应用(例如,同时使用)go和bo的组合时,偏移是使用以下得出的:1)不同颜色分量的并置样本与相邻样本之间的差量值(在ccso的情况下)或要滤波的当前样本与相邻样本之间的差量值(在ccso或lso的情况下);以及2)不同颜色分量的并置样本或要滤波的当前样本的值。[0232]在一个实施方式中,用信令通知对go或bo的应用。可以在高级语法中应用该信令。作为几个示例,该信令可以包括vps、pps、sps、切片头、图片头、帧头、超级块头、ctu头、图块头。[0233]在另一实施方式中,无论在块级别中用信令通知go或bo,所述块级别包括但不限于编码单元(块)级别、预测块级别、变换块级别或滤波单元级别。该示例包括在块级别处用信令通知以识别go或bo。[0234]在另一实施方式中,使用标志用信令通知go或bo。首先用信令通知标志以指示是否对一个或多个颜色分量应用lso和/或ccso,然后用信令通知另一标志以指示是否应用go或bo。例如,首先用信令通知标志以指示是否对一个或多个颜色分量应用lso和/或ccso,然后用信令通知另一标志以指示是否与bo联合应用go,其中无论是否应用了go,始终应用bo。在另一示例中,首先用信令通知标志以指示是否对一个或多个颜色分量应用lso和/或ccso,然后用信令通知另一标志以指示是否与go联合应用bo,其中无论是否应用了bo,始终应用go。[0235]在一些实施方式中,可以得出用于确定是否使用go或bo或其组合的信号。可以使用已编码信息隐含地得出信号,已编码信息包括但不限于当前颜色分量和/或不同颜色分量的重构样本、当前块是帧内编码还是帧间编码、当前图片是否是关键(或帧内)图片、当前样本(或块)是否通过特定预测模式(例如,特定帧内或帧间预测模式、变换选择模式、量化参数)被编码。[0236]如所描述的,lso可以类似于ccso,但是输出偏移被应用于颜色分量,该颜色分量是与重构样本被用作滤波过程的输入的颜色分量相同的颜色分量。gso是考虑两种类型的偏移值的一般化设计,包括梯度偏移(go)和带偏移(bo),梯度偏移考虑并置的或当前样本的相邻样本之间的差量值,带偏移(bo)考虑当前样本本身的级别值。[0237]此外,信令方面ccso、lso和gso可以分类为帧级别和块级别。在帧级别处,ccso、lso和/或gso的启用可以用信令通知(例如通过使用1位标志),以及/或者lut的偏移值可以用信令通知(例如通过每个使用3位)。在块级别处,对于m×n块,用信令通知标志以指示当前块的ccso、lso和/或gso的启用。在各种实施方式中,m和n的值各自可以包括但不限于16、32、64、128或256。如本文中所使用的,术语块是指帧的区域。[0238]下面描述gso的适应性应用。[0239]如所描述的,ccso被定义为滤波过程,该滤波过程使用第一颜色分量的重构样本作为输入(例如,y或cb或cr),并且将输出应用于作为与第一颜色分量不同的颜色分量的第二颜色分量。在图29中示出了ccso的示例滤波器形状。此外,lso是如下滤波过程,该滤波过程使用第一颜色分量的重构样本作为输入(例如,y或cb或cr),并且将输出应用于相同的第一颜色分量。gso是如下滤波过程,该滤波过程可以被视为ccso和lso的一般化设计,并且利用如在ccso和lso中的并置(或当前)样本的相邻样本之间的差量值,并且还考虑了当前样本的级别值。在gso中使用两种类型的偏移值,即:梯度偏移(go),其对应于并置或当前样本的相邻样本之间的差量值;以及带偏移(bo),其对应于当前样本本身的级别值。[0240]图35示出了根据本公开内容的示例实施方式的方法3500的流程图。示例方法3500可以由被配置成对视频流进行解码的诸如上述的视频解码器(510)或视频解码器(810)的装置执行。图35的方法中的至少一些动作可以由诸如图5中的环路滤波器(556)的环路滤波器执行。[0241]在框3502处,接收已编码视频流(例如,比特流)。已编码视频流包括语法元素,该语法元素指示是否在块级别处对已编码视频流中的帧应用样本偏移滤波过程。在框3504处,基于语法元素是预定义值,确定在块级别处针对帧启用gso、lso或ccso中的至少一个。该预定义值可以是多个预定义值中的一个。多个预定义值中的每一个可以指示是否启用特定样本偏移过程(gso、lso或ccso)或两个或更多个样本偏移过程的特定组合(gso、lso、ccso中的两个或更多个)。因此,在一些实施方式中,在框3504处,确定至少gso为启用。此外或替选地,确定至少lso为启用。此外或替选地,确定至少ccso为启用。在框3506处,可以通过在块级别处应用gso、lso或ccso中的至少一个来对已编码视频流进行解码。例如,在框3506处应用的gso、lso或ccso中的至少一个可以对应于或基于在框3504处被确定为启用的gso、lso和/或ccso。也就是说,如果在框3504处确定启用gso,则可以在框3506处应用gso;如果在框3504处确定启用lso,则可以在框3506处应用lso;以及如果在框3504处确定启用ccso,则可以在框3506处应用ccso。对于方法3500的至少一些实施方式,已编码视频流中的帧的块大小对于对应帧中的亮度分量和色度分量是不同的。[0242]在一些实施方式中,在框3506处应用gso、lso或ccso中的至少一个包括应用gso,其中亮度分量的第一块大小与色度分量的第二块大小相同或小于色度分量的第二块大小。例如,与色度分量相比,应用gso的粒度对亮度分量而言更精细。作为示例,当色度的m×n为128×128时,用于亮度gso的m×n为128×128或更小。m和n的值可以包括但不限于16、32、64、128或256。[0243]在一些实施方式中,方法3500还可以包括:在用信令通知具有第二块大小的色度分量的第二块级别标志时,接收指示具有第一块大小的亮度分量的第一块级别标志的信号,第一块大小与色度分量的第二块大小相同或小于色度分量的第二块大小。例如,与色度分量相比,用信令通知块级别标志的粒度对于亮度分量而言更精细。作为示例,当针对128×128大小的块用信令通知色度分量的标志时,针对128×128更小的块大小用信令通知块级别标志。[0244]在一些实施方式中,指示是否例如对于对块的应用启用或禁用ccso、lso或gso中的一个的块级别标志也可以指示是否针对该块启用或禁用ccso、lso或gso中的另一个。例如,指示针对块的色度分量启用ccso的块级别标志也可以指示针对块的亮度分量启用lso。同样地,指示针对块的亮度分量启用lso的块级别标志也可以指示针对该块的色度分量启用ccso。作为示例,指示是否针对块启用或应用ccso的块级别标志可以取决于指示是否针对该块启用或应用lso的块级别标志,以及/或者指示是否针对块应用lso的块级别标志可以取决于指示是否针对块应用ccso的块级别标志。此外或替选地,指示针对块是应用ccso还是应用lso的块级别标志可以用作用信令通知块级别标志以指示是否针对块分别应用lso或ccso的上下文。[0245]在一些实施方式中,方法3500还可以包括:在高级语法中接收指示用于gso的应用的色度分量或亮度分量中的至少一个的粒度的信号,其中,高级语法包括:视频参数集(vps)、图片参数集(pps)、序列参数设置(sps)、自适应参数集(aps)、帧头、切片头、图片头、图块头、超级块头或编码树单元(ctu)头。例如,可以在高级语法中用信令通知对亮度分量和/或色度分量应用gso的粒度,该高级语法包括但不限于vps、pps、sps、aps、帧头、切片头、图片头、图块头、超级块头和/或ctu头。[0246]在一些实施方式中,语法元素是或包括高级语法,通过高级语法启用gso,并且方法3500还可以包括:接收包括附加的高级语法的信号以指示用于带偏移的带的最大数目。例如,当通过高级语法启用gso时,用信令通知附加高级语法以指示用于bo的带的最大数目。对于这些实施方式中的一些实施方式,高级语法包括但不限于vps、pps、sps、aps、帧头、切片头、图片头、图块头、超级块头和/或ctu头。[0247]在一些实施方式中,块级别标志针对块启用了gso,并且方法3500还可以包括:接收包括附加高级语法的信号,以指示用于块中的带偏移(bo)的带的数目。例如,当块级别标志针对块启用gso时,用信令通知附加的块级别语法以指示该块中用于bo的带的数目。在这些实施方式中的一些实现方式中,该块中的用于带偏移的带的数目小于在帧级别处用信令通知的带的数目。例如,在块级别处用于bo的带的数目始终小于或等于在帧级别处用信令通知的最大带数目。此外或替选地,语法元素是或包括高级语法,并且方法3500还可以包括:接收包括标志的信号,以指示是否对当前块应用高级语法中指定的单个带或最大数目的带。例如,用信令通知标志,以指示是否针对当前块应用高级语法中指定的单个带或最大数目的带。[0248]本公开内容中的实施方式可以单独使用或以任何顺序组合。此外,方法(或实施方式)、编码器和解码器中的每一个可以通过处理电路系统(例如,一个或更多个处理器或者一个或更多个集成电路)实现。在一个示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。术语块可以包括预测块、编码块或编码单元即cu。本公开内容中的实施方式可以应用于亮度块或色度块。[0249]上述技术可以被实现为使用计算机可读指令并物理地存储在一个或更多个计算机可读介质中的计算机软件。例如,图36示出了适合于实现所公开的主题的某些实施方式的计算机系统(3600)。[0250]计算机软件可以使用任何合适的机器代码或计算机语言来编码,所述机器代码或计算机语言可以经过汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由一个或更多个计算机中央处理单元(centralprocessingunit,cpu)、图形处理单元(graphicsprocessingunit,gpu)等直接执行或者通过解释、微代码执行等来执行。[0251]指令可以在各种类型的计算机或其部件(包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等)上执行。[0252]图36所示的用于计算机系统(3600)的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。部件的配置也不应被解释为具有与计算机系统(3600)的示例性实施方式中所示的部件中的任何一个或其组合相关的任何依赖性或要求。[0253]计算机系统(3600)可以包括某些人机接口输入设备。这样的人机接口输入设备可以对由一个或更多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、拍打)、视觉输入(例如:手势)、嗅觉输入(未描绘)的输入作出响应。人机接口设备还可以用于捕获不一定与人的有意识输入直接相关的某些媒体,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(例如二维视频,包括立体视频的三维视频)。[0254]输入人机接口设备可以包括以下各项中的一个或更多个(每项仅描绘一个):键盘(3601)、鼠标(3602)、触控板(3603)、触摸屏(3610)、数据手套(未示出)、操纵杆(3605)、麦克风(3606)、扫描仪(3607)、摄像装置(3608)。[0255]计算机系统(3600)还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道刺激一个或更多个人类用户的感官。这样的人机接口输出设备可以包括:触觉输出设备(例如,通过触摸屏(3610)、数据手套(未示出)或操纵杆(3605)进行的触觉反馈,但是也可以存在不用作输入设备的触觉反馈设备);音频输出设备(例如:扬声器(3609)、头戴式耳机(未描绘));视觉输出设备(例如,屏幕(3610),包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕,每个屏幕具有或不具有触摸屏输入能力,每个屏幕具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘);全息显示器和发烟器(未描绘));以及打印机(未描绘)。[0256]计算机系统(3600)还可以包括人类可访问存储设备及其相关联的介质,例如包括具有cd/dvd等介质(3621)的cd/dvdrom/rw(3620)的光学介质、拇指驱动器(3622)、可移除硬盘驱动器或固态驱动器(3623)、传统磁性介质例如磁带和软盘(未描绘)、基于专用rom/asic/pld的设备例如安全加密狗(未描绘)等。[0257]本领域技术人员还应当理解,结合目前公开的主题使用的术语“计算机可读介质”不包含传输介质、载波或其他瞬态信号。[0258]计算机系统(3600)还可以包括到一个或更多个通信网络(3655)的接口(3654)。网络可以例如是无线网络、有线网络、光网络。网络还可以为局域网、广域网、城域网、车载和工业网络、实时网络、延迟容忍网络等。网络的示例包括:局域网例如以太网;无线lan(localareanetwork,lan);包括gsm、3g、4g、5g、lte等的蜂窝网络;包括线缆tv、卫星tv和地面广播tv的tv有线或无线广域数字网络;包括can总线的车辆和工业网络等。某些网络通常需要附接至某些通用数据端口或外围总线(3649)(例如,计算机系统(3600)的usb(universalserialbus,usb)端口)的外部网络接口适配器;其他的网络通常通过如下所述(例如,到pc计算机系统的以太网接口或到智能电话计算机系统的蜂窝网络接口)附接至系统总线而集成到计算机系统(3600)的核中。计算机系统(3600)可以使用这些网络中的任何网络与其他实体进行通信。这样的通信可以是仅单向接收的(例如,广播tv)、仅单向发送的(例如,至某些can总线设备的can总线)、或双向的,例如,到使用局域数字网络或广域数字网络至其他计算机系统。可以在如上所述的那些网络和网络接口中的每一个上使用某些协议和协议栈。[0259]上述人机接口设备、人可访问的存储设备和网络接口可以附接至计算机系统(3600)的核(3640)。[0260]核(3640)可以包括一个或更多个中央处理单元(cpu)(3641)、图形处理单元(gpu)(3642)、呈现场可编程门区(fieldprogrammablegateareas,fpga)(3643)形式的专用可编程处理单元、用于某些任务的硬件加速器(3644)、图形适配器(3650)等。这些设备以及只读存储器(random-accessmemory,rom)(3645)、随机存取存储器(3646)、内部大容量存储装置(例如,内部非用户可访问硬盘驱动器、ssd等)(3647)可以通过系统总线(3648)连接。在一些计算机系统中,系统总线(3648)可以以一个或更多个物理插头的形式访问,以使得能够通过额外的cpu、gpu等实现扩展。外围设备可以直接地或通过外围总线(3649)附接至核的系统总线(3648)。在示例中,屏幕(3610)可以连接至图形适配器(3650)。外围总线的架构包括pci(peripheralcomponentinterconnect/interface,pci)、usb等。[0261]cpu(3641)、gpu(3642)、fpga(3643)和加速器(3644)可以执行某些指令,这些指令组合起来可以构成之前提及的计算机代码。该计算机代码可以存储在rom(3645)或ram(randomaccessmemory,ram)(3646)中。过渡数据也可以存储在ram(3646)中,而永久数据可以存储在例如内部大容量存储装置(3647)中。可以通过使用高速缓冲器存储器来实现对存储器设备中的任何存储器设备的快速存储和检索,该高速缓冲器存储器可以与一个或更多个cpu(3641)、gpu(3642)、大容量存储装置(3647)、rom(3645)、ram(3646)等紧密相关联。[0262]计算机可读介质在其上可以具有用于执行各种计算机实现的操作的计算机代码。这些介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,或者他们可以具有计算机软件领域的技术人员公知且可用的类型。[0263]作为非限制示例,具有架构的计算机系统(3600)——特别是核(3640)——可以提供由于处理器(包括cpu、gpu、fpga、加速器等)执行在一个或更多个有形计算机可读介质中实现的软件而提供的功能。这样的计算机可读介质可以是如下介质,所述介质与如上所介绍的用户可访问大容量存储装置、以及具有非暂态性质的核(3640)的某些存储装置例如核内部大容量存储装置(3647)或rom(3645)相关联。实现本公开内容的各种实施方式的软件可以存储在这样的设备中并由核(3640)执行。根据特定需要,计算机可读介质可以包括一个或更多个存储器设备或芯片。软件可以使核(3640)并且特别是其中的处理器(包括cpu、gpu、fpga等)执行本文描述的特定过程或特定过程的特定部分,包括定义存储在ram(3646)中的数据结构,并根据软件定义的过程修改这样的数据结构。此外或作为替选方案,计算机系统可以由于逻辑硬连线或以其他方式体现在电路中而提供功能(例如:加速器(3644)),其可以代替软件或与软件一起操作以执行本文中描述的特定过程或特定过程的特定部分。在适当的情况下,提及的软件可以包括逻辑,反之,提及的逻辑也可以包括软件。在适当的情况下,对计算机可读介质的引用可以包括存储用于执行的软件的电路(例如,集成电路(integratedcircuit,ic))、实施用于执行的逻辑的电路或上述两者。本公开内容包括硬件和软件的任何合适的组合。[0264]尽管本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的改变、置换和各种替换等效物。因此将认识到,本领域技术人员将能够设想出许多系统和方法,这些系统和方法尽管未在本文中明确示出或描述,但是体现了本公开内容的原理并因此在本公开内容的精神和范围内。附录a:首字母缩略词alf:自适应环路滤波器amvp:高级运动矢量预测aps:自适应参数集asic:专用集成电路av1:开放媒体联盟视频1av2:开放媒体联盟视频2bcw:具有cu级别权重的双向预测bm:双边匹配bms:基准集canbus:控制器局域网总线cc-alf:交叉分量自适应环路滤波器ccso:交叉分量样本偏移cd:致密盘cdef:约束定向增强滤波器cdf:累积密度函数cfl:根据亮度分量预测色度分量ciip:组合帧内帧间预测cpu:中央处理单元crt:阴极射线管ctb:编码树块ctb:编码树块ctu:编码树单元ctu:编码树单元cu:编码单元dmvr:解码器侧运动矢量细化dpb:已解码图片缓冲器dps:解码参数集dvd:数字视频光盘fpga:现场可编程门区gbi:广义双向预测gop:图片组gpu:图形处理单元gsm:全球移动通信系统hdr:高动态范围hevc:高效率视频编码hrd:假设参考解码器ibc(或intrabc):帧内块复制ic:集成电路isp:帧内子分区jem:联合探索模型jvet:联合视频探索组lan:局域网lcd:液晶显示器lcu:最大编码单元lr:环路恢复滤波器lso:局部样本偏移lte:长期演进mmvd:具有运动矢量差的合并模式mpm:最可能模式mv:运动矢量mv:运动矢量mvd:运动矢量差mvd:运动矢量差mvp:运动矢量预测器oled:有机发光二极管pb:预测块pci:外围部件互连pdpc:位置相关预测组合pld:可编程逻辑设备poc:图片顺序计数pps:图片参数集pu:预测单元pu:预测单元ram:随机存取存储器rom:只读存储器rps:参考图片集sad:绝对差之和sao:样本自适应偏移sb:超级块scc:屏幕内容编码sdp:半解耦划分sdr:标准动态范围sdt:半解耦树sei:辅助增强信息snr:信噪比sps:序列参数设置ssd:固态驱动器sst:半分离树tm:模板匹配tu:变换单元tu:变换单元usb:通用串行总线vps:视频参数集vui:视频可用性信息vvc:通用视频编码waip:广角帧内预测当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
网站地图