一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于视频编解码的方法和设备与流程

2022-07-10 09:59:36 来源:中国专利 TAG:

用于视频编解码的方法和设备
相关申请的交叉引用
1.本技术要求于2021年3月24日提交的美国专利申请第17/211,585号“method and apparatus for video coding”的优先权的权益,该美国专利申请要求于2020年4月16日提交的美国临时申请第63/011,119号,“adaptive max transform size control”的优先权的权益。在先申请的全部公开内容在此通过引用整体并入本文。
技术领域
2.本公开内容描述了总体上涉及视频编解码的实施方式。更具体地,提供了用于控制最大变换大小的实施方式。


背景技术:

3.本文中提供的背景描述是出于概括地呈现本公开内容的上下文的目的。就此背景部分中描述的工作的程度而言,目前署名的发明人的工作以及在提交时可以不被另外限定为现有技术的描述方面既没有明确地或隐含地承认为针对本公开内容的现有技术。
4.可以使用具有运动补偿的图片间预测来执行视频编码和解码。未压缩的数字视频可以包括一系列图片,每个图片的空间维度为例如1920
×
1080亮度样本和相关联的色度样本。所述一系列图片可以具有例如每秒60个图片或60hz的固定或可变的图片速率(也被非正式地称为帧速率)。未压缩的视频具有较高的比特率要求。例如,每个样本8比特的1080p60 4:2:0视频(60hz帧速率下的1920
×
1080亮度样本分辨率)需要接近1.5gbit/s的带宽。一小时这样的视频需要超过600千兆字节(gb)的存储空间。
5.视频编码和视频解码的一个目的可以是通过压缩来减少输入视频信号中的冗余。压缩可以有助于降低以上提及的带宽需求和/或存储空间需求,在一些情况下可以减少两个或更多个数量级。可以采用无损压缩、有损压缩两者以及它们的组合。无损压缩是指可以根据压缩的原始信号重建原始信号的精确副本的技术。当使用有损压缩时,重建的信号可能与原始信号不同,但是原始信号与重建的信号之间的失真足够小,使得重建的信号能够用于预期应用。在视频的情况下,有损压缩被广泛地采用。容忍的失真量取决于应用;例如,与电视分配应用的用户相比,某些消费者流式传输应用的用户可能容忍较高的失真。可实现的压缩比可以反映出:更高的可允许/可容忍的失真可以产生更高的压缩比。
6.视频编码器和视频解码器可以利用来自例如包括运动补偿、变换、量化和熵编码的若干大类的技术。
7.视频编解码器技术可以包括称为帧内编码的技术。在帧内编码中,在不参考来自先前重建的参考图片的样本或其他数据的情况下表示样本值。在一些视频编解码器中,图片在空间上被细分为样本块。当以帧内模式对所有的样本块进行编码时,该图片可以是帧内图片。帧内图片及其派生(例如,独立解码器刷新图片)可以用于重置解码器状态,并且因此可以用作已编码视频比特流和视频会话中的第一图片或用作静止图像。可以对帧内块的样本采用变换,并且可以在熵编码之前对变换系数进行量化。帧内预测可以是使预变换域
中的样本值最小化的技术。在一些情况下,变换之后的dc值越小,并且ac系数越小,在给定量化步长下表示熵编码之后的块所需的比特就越少。
8.诸如从例如mpeg-2代编码技术中已知的传统的帧内编码不使用帧内预测。然而,一些较新的视频压缩技术包括根据例如在对空间上邻近并且在解码顺序上在先的数据块进行编码/解码期间获得的元数据和/或周围样本数据进行尝试的技术。这样的技术此后被称为“帧内预测”技术。注意,在至少一些情况下,帧内预测仅使用来自重建中的当前图片的参考数据,而不使用来自参考图片的参考数据。
9.可以有许多不同形式的帧内预测。当可以在给定视频编码技术中使用多于一种这样的技术时,可以在帧内预测模式下对使用的技术进行编码。在某些情况下,模式可以具有子模式和/或参数,并且这些子模式和/或参数可以被单独编码或被包括在模式码字中。针对给定模式/子模式/参数组合使用何码字可以通过帧内预测对编码效率增益产生影响,并且因此可以对用于将码字转换成比特流的熵编码技术产生影响。
10.帧内预测的某些模式由h.264引入、在h.265中被细化,并且在诸如联合开发模型(joint exploration model,jem)、通用视频编码(versatile video coding,vvc)、和基准集(benchmark set,bms)的较新编码技术中被进一步细化。可以使用属于已经可用的样本的邻近样本值来形成预测器块。根据方向将邻近样本的样本值复制到预测器块中。对使用的方向的参考可以被编码在比特流中或者其本身可以被预测。


技术实现要素:

11.本公开内容的各方面提供用于视频编码/解码的方法和设备。在一些示例中,用于视频解码的设备包括接收电路系统和处理电路系统。
12.根据本公开内容的一个方面,提供了一种用于在解码器中进行视频解码的方法。在该方法中,可以从已编码区域的已编码视频比特流中确定第一信令信息和第二信令信息。第一信令信息可以指示在第一预测模式下已编码区域的第一最大变换大小,以及第二信令信息可以指示在第二预测模式下已编码区域的第二最大变换大小。此外,可以基于第一信令信息和第二信令信息确定变换信令信息是否包括在已编码视频比特流中。变换信令信息可以指示是否对已编码区域应用自适应颜色变换(act)。随后可以基于变换信令信息对已编码区域进行解码。
13.在该方法中,当第一信令信息为第一值时,第一信令信息可以指示已编码区域的第一最大变换大小为64个样本。当第二信令信息为第一值时,第二信令信息可以指示已编码区域的第二最大变换大小为64个样本。
14.在该方法中,已编码视频比特流还可以包括划分信令信息,其中,划分信令信息可以指示二元树划分是否被应用于已编码区域。
15.在一些实施方式中,可以基于以下中之一来确定变换信令信息是否包括在已编码视频比特流中:(i)第一信令信息指示在第一预测模式下已编码区域的第一最大变换大小为32个样本并且划分信令信息指示二元树划分未被应用于已编码区域,以及(ii)第二信令信息指示在第二预测模式下已编码区域的第二最大变换大小为32个样本。
16.在一些实施方式中,可以基于划分信令信息指示二元树划分被应用于已编码区域来确定第一信令信息。
17.在一些实施方式中,可以划分信令信息基于指示二元树划分被应用于已编码区域来确定第一信令信息和第二信令信息。
18.在一些实施方式中,基于划分信令信息指示二元树划分未被应用于已编码区域,第一最大变换大小可以等于第二最大变换大小。
19.在该方法中,可以通过序列参数集、图片参数集和切片标头之一中的语法元素来指示第一信令信息和第二信令信息。
20.根据本公开内容的另一方面,提供了一种用于解码器的视频解码的方法。在该方法中,可以从已编码区域的已编码视频比特流中接收第一信令信息和第二信令信息,第一信令信息可以指示在第一划分模式下已编码区域的第一最大变换大小。第二信令信息可以指示在第二划分模式下已编码区域的第二最大变换大小。此外,可以从已编码视频比特流中确定变换信令信息,其中,变换信令信息可以指示是否对已编码区域应用自适应颜色变换(act)。后续可以基于变换信令信息对已编码区域进行解码。
21.该方法中,当第一信令信息为第一值时,第一信令信息可以指示已编码区域的第一最大变换大小为64个样本,以及当第二信令信息为第一值时,第二信令信息可以指示已编码区域的第二最大变换大小为64个样本。
22.在一些实施方式中,可以基于第二信令信息指示在第二划分模式下已编码区域的第二最大变换大小为32个样本来确定变换信令信息。
23.在一些实施方式中,可以基于第二划分模式被应用并且变换信令信息指示对已编码区域应用act,确定已编码区域的最大变换大小为32个样本。
24.在一些实施方式中,可以基于以下中之一来确定已编码区域的最大变换大小为64个样本:(i)第二划分模式未被应用,以及(ii)变换信令信息指示未对已编码区域应用act。
25.在一些示例中,包括接收电路系统和处理电路系统的用于视频解码的设备被配置成执行上述方法中的一种或多种。
附图说明
26.根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将更加明显,在附图中:
27.图1是根据实施方式的通信系统(100)的简化框图的示意图。
28.图2是根据实施方式的通信系统(200)的简化框图的示意图。
29.图3是根据实施方式的解码器的简化框图的示意图。
30.图4是根据实施方式的编码器的简化框图的示意图。
31.图5示出了根据另一实施方式的编码器的框图。
32.图6示出了根据另一实施方式的解码器的框图。
33.图7a示出了通过使用四叉树加二叉树(quad-tree plus binary tree,qtbt)的示例性块划分。
34.图7b示出了通过使用qtbt的示例性块划分的对应树表示。
35.图8a示出了竖直的中心侧三叉树划分。
36.图8b示出了水平的中心侧三叉树划分。
37.图9示出了根据实施方式的用于执行颜色空间变换的示例性编码器。
38.图10示出了根据实施方式的用于将比特流转换为残差信号的示例性解码器。
39.图11示出了概述根据本公开内容的一些实施方式的第一处理示例的流程图。
40.图12示出了概述根据本公开内容的一些实施方式的第二处理示例的流程图。
41.图13是根据实施方式的计算机系统的示意图。
具体实施方式
42.图1示出了根据本公开内容的实施方式的通信系统(100)的简化框图。通信系统(100)包括可以经由例如网络(150)彼此通信的多个终端装置。例如,通信系统(100)包括经由网络(150)互连的第一对终端装置(110)和(120)。在图1的示例中,第一对终端装置(110)和(120)执行单向数据传输。例如,终端装置(110)可以对视频数据(例如,由终端装置(110)捕获的视频图片流)进行编码以用于经由网络(150)传输至另一终端装置(120)。已编码视频数据可以以一个或更多个已编码视频比特流形式传输。终端装置(120)可以从网络(150)接收已编码视频数据、对已编码视频数据进行解码以恢复视频图片并且根据所恢复的视频数据显示视频图片。单向数据传输在媒体服务应用等中可以是常见的。
43.在另一实施方式中,通信系统(100)包括执行已编码视频数据的双向传输的第二对终端装置(130)和(140),该双向传输可能例如在视频会议期间发生。对于双向数据传输,在示例中,终端装置(130)和(140)中的每个终端装置可以对视频数据(例如,由终端装置捕获的视频图片流)进行编码,以用于经由网络(150)传输至终端装置(130)和(140)中的另一终端装置。终端装置(130)和(140)中的每个终端装置还可以接收由终端装置(130)和(140)中的另一终端装置传输的已编码视频数据,并且可以对该已编码视频数据进行解码以恢复视频图片,并且可以根据所恢复的视频数据在可访问的显示装置处显示视频图片。
44.在图1的示例中,终端装置(110)、(120)、(130)和(140)可以被示出为服务器、个人计算机和智能电话,但是本公开内容的原理可以不限于此。本公开内容的实施方式适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议装备。网络(150)表示在终端装置(110)、(120)、(130)和(140)之间传送已编码视频数据的任何数目的网络,包括例如有线(连线的)和/或无线通信网络。通信网络(150)可以在电路交换信道和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。出于本讨论的目的,除非在下文中有所说明,否则网络(150)的架构和拓扑对于本公开内容的操作来说可能是无关紧要的。
45.作为所公开的主题的应用的示例,图2示出了视频编码器和视频解码器在流式传输环境中的放置方式。所公开的主题可以同样适用于其他支持视频的应用,包括例如视频会议、数字tv、在包括cd、dvd、记忆棒等的数字介质上存储压缩视频等。
46.流式传输系统可以包括捕获子系统(213),捕获子系统(213)可以包括视频源(201)例如数字摄像装置,视频源(201)创建例如未压缩的视频图片流(202)。在示例中,视频图片流(202)包括由数字摄像装置拍摄的样本。视频图片流(202)被描绘为粗线以强调当与已编码视频数据(204)(或已编码视频比特流)进行比较时的高数据量,视频图片流(202)可以由耦接至视频源(201)的包括视频编码器(203)的电子装置(220)处理。视频编码器(203)可以包括硬件、软件或其组合,以实现或实施如下更详细地描述的所公开的主题的各方面。已编码视频数据(204)(或已编码视频比特流(204))被描绘为细线以强调当与视频图
片流(202)进行比较时的较低数据量,已编码视频数据(204)可以存储在流式传输服务器(205)上以供将来使用。一个或更多个流式传输客户端子系统(例如图2中的客户端子系统(206)和(208))可以访问流式传输服务器(205)以检索已编码视频数据(204)的副本(207)和(209)。客户端子系统(206)可以包括例如电子装置(230)中的视频解码器(210)。视频解码器(210)对已编码视频数据的传入副本(207)进行解码,并且创建可以在显示器(212)(例如,显示屏)或另一呈现装置(未描绘)上呈现的传出视频图片流(211)。在一些流式传输系统中,可以根据某些视频编码/压缩标准对已编码视频数据(204)、(207)和(209)(例如,视频比特流)进行编码。这些标准的示例包括itu-t h.265建议书。在示例中,开发中的视频编码标准被非正式地称为通用视频编码(versatile video coding,vvc)。所公开的主题可以用于vvc的上下文中。
47.注意,电子装置(220)和(230)可以包括其他部件(未示出)。例如,电子装置(220)可以包括视频解码器(未示出),并且电子装置(230)也可以包括视频编码器(未示出)。
48.图3示出了根据本公开内容的实施方式的视频解码器(310)的框图。视频解码器(310)可以被包括在电子装置(330)中。电子装置(330)可以包括接收器(331)(例如,接收电路系统)。视频解码器(310)可以用于代替图2的示例中的视频解码器(210)。
49.接收器(331)可以接收要由视频解码器(310)解码的一个或更多个已编码视频序列;在同一实施方式或另一实施方式中,一次接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其他已编码视频序列。可以从信道(301)接收已编码视频序列,信道(301)可以是到存储已编码视频数据的存储装置的硬件/软件链路。接收器(331)可以接收已编码视频数据以及其它数据,例如,可以被转发到其各自的使用实体(未描绘)的已编码音频数据和/或辅助数据流。接收器(331)可以将已编码视频序列与其他数据分开。为了防止网络抖动,缓冲存储器(315)可以耦接在接收器(331)与熵解码器/解析器(320)(此后称为“解析器(320)”)之间。在某些应用中,缓冲存储器(315)是视频解码器(310)的一部分。在其他应用中,缓冲存储器(315)可以在视频解码器(310)的外部(未描绘)。在又一些其他应用中,在视频解码器(310)的外部可以有缓冲存储器(未描绘)以例如防止网络抖动,并且在视频解码器(310)的内部可以另外有另一缓冲存储器(315)例如以处理播出定时。当接收器(331)从具有足够带宽和可控性的存储/转发装置或从等时同步网络接收数据时,可能不需要缓冲存储器(315),或者缓冲存储器(315)可以是小的。为了在诸如因特网的最优分组网络上使用,可能需要缓冲存储器(315),缓冲存储器(315)可以相对较大并且可以有利地具有自适应性大小,并且可以至少部分地在操作系统或视频解码器(310)的外部的类似元件(未描绘)中实现。
50.视频解码器(310)可以包括解析器(320),以根据已编码视频序列重建符号(321)。这些符号的类别包括用于管理视频解码器(310)的操作的信息,以及控制诸如呈现装置(312)(例如,显示屏)的呈现装置的潜在信息,该呈现装置(312)不是电子装置(330)的一体部分,而是可以耦接至电子装置(330),如图3所示。用于(一个或多个)呈现装置的控制信息可以是辅助增强信息(supplemental enhancement information,sei消息)或视频可用性信息(video usability information,vui)参数集片段(未描绘)的形式。解析器(320)可以对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可以根据视频编码技术或视频编码标准进行,并且可以遵循各种原理,包括可变长度编码、霍夫曼编码
(huffman coding)、具有或不具有上下文灵敏度的算术编码等。解析器(320)可以基于与群组对应的至少一个参数,从已编码视频序列中提取用于视频解码器中的像素的子群组中的至少一个子群组的子群组参数集。子群组可以包括图片群组(group of pictures,gop)、图片、图块(tile)、切片(slice)、宏块、编码单元(coding unit,cu)、块、变换单元(transform unit,tu)、预测单元(prediction unit,pu)等。解析器(320)还可以从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等。
51.解析器(320)可以对从缓冲存储器(315)接收的视频序列执行熵解码/解析操作,从而创建符号(321)。
52.取决于已编码视频图片或已编码视频图片的一部分的类型(诸如:帧间图片和帧内图片、帧间块和帧内块)以及其他因素,符号(321)的重建可能涉及多个不同单元。涉及哪些单元以及涉及方式可以通过由解析器(320)从已编码视频序列解析的子群组控制信息来控制。为了简洁起见,未描绘在解析器(320)与下面的多个单元之间的这样的子群组控制信息流。
53.除了已经提及的功能块之外,视频解码器(310)可以在概念上细分为如下所述的多个功能单元。在商业约束下运行的实际实现方式中,这些单元中的许多单元彼此紧密交互并且可以至少部分地彼此集成。然而,出于描述所公开的主题的目的,概念上细分为下面的功能单元是适当的。
54.第一单元是缩放器/逆变换单元(351)。缩放器/逆变换单元(351)从解析器(320)接收作为(一个或多个)符号(321)的量化变换系数以及控制信息,包括使用何变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(351)可以输出包括可以输入到聚合器(355)中的样本值的块。
55.在一些情况下,缩放器/逆变换单元(351)的输出样本可以属于帧内编码块;即:不使用来自先前重建的图片的预测性信息但可以使用来自当前图片的先前重建部分的预测性信息的块。这样的预测性信息可以由帧内图片预测单元(352)提供。在一些情况下,帧内图片预测单元(352)使用从当前图片缓冲器(358)获取的周围已重建的信息生成大小和形状与正在重建的块相同的块。例如,当前图片缓冲器(358)缓冲部分重建的当前图片和/或完全重建的当前图片。在一些情况下,聚合器(355)以每个样本为基础将帧内预测单元(352)已经生成的预测信息添加至如由缩放器/逆变换单元(351)提供的输出样本信息。
56.在其他情况下,缩放器/逆变换单元(351)的输出样本可以属于已帧间编码并且可能经运动补偿的块。在这样的情况下,运动补偿预测单元(353)可以访问参考图片存储器(357)以获取用于预测的样本。在根据属于该块的符号(321)对所获取的样本进行运动补偿之后,可以由聚合器(355)将这些样本添加至缩放器/逆变换单元(351)的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元(353)从其获取预测样本的参考图片存储器(357)内的地址可以由运动矢量控制,运动矢量以符号(321)的形式供运动补偿预测单元(353)使用,符号(321)可以具有例如x、y和参考图片分量。运动补偿还可以包括在使用子样本精确运动矢量时,如从参考图片存储器(357)获取的样本值的插值、运动矢量预测机制等。
57.聚合器(355)的输出样本可以在环路滤波器单元(356)中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,环路内滤波器技术由包括在已编码视频序列
(也被称为已编码视频比特流)中并且作为来自解析器(320)的符号(321)可用于环路滤波器单元(356)的参数来控制,但是视频压缩技术也可以响应于在对已编码图片或已编码视频序列的先前(按解码顺序的)部分进行解码期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。
58.环路滤波器单元(356)的输出可以是样本流,样本流可以输出至呈现装置(312)以及存储在参考图片存储器(357)中以用于将来帧间图片预测。
59.一旦完全重建,某些已编码图片就可以用作参考图片以用于将来预测。例如,一旦与当前图片对应的已编码图片被完全重建,并且已编码图片(通过例如解析器(320))被识别为参考图片,则当前图片缓冲器(358)就可以变为参考图片存储器(357)的一部分,并且可以在开始重建随后的已编码图片之前重新分配新的当前图片缓冲器。
60.视频解码器(310)可以根据例如itu-t h.265建议书的标准中的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法以及如视频压缩技术或标准中记录的配置文件两者的意义上,已编码视频序列可以符合由所使用的视频压缩技术或标准指定的语法。具体地,配置文件可以从视频压缩技术或标准中可用的所有工具中选择某些工具作为仅在所述配置文件下可使用的工具。对于合规性,还要求已编码视频序列的复杂度处于由视频压缩技术或标准的层级限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建采样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设置的限制可以通过假想参考解码器(hypothetical reference decoder,hrd)规范以及用于在已编码视频序列中用信号通知的hrd缓冲器管理的元数据来进一步限定。
61.在实施方式中,接收器(331)可以连同已编码视频一起接收附加(冗余)数据。附加数据可以被包括为(一个或多个)已编码视频序列的一部分。附加数据可以由视频解码器(310)使用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可以是例如时间、空间或信噪比(signal noise ratio,snr)增强层、冗余切片、冗余图片、前向纠错码等形式。
62.图4示出了根据本公开内容的实施方式的视频编码器(403)的框图。视频编码器(403)被包括在电子装置(420)中。电子装置(420)包括传输器(440)(例如,传输电路系统)。视频编码器(403)可以用于代替图2的示例中的视频编码器(203)。
63.视频编码器(403)可以从视频源(401)(视频源(401)不是图4的示例中的电子装置(420)的一部分)接收视频样本,视频源(401)可以捕获要由视频编码器(403)编码的(一个或多个)视频图像。在另一示例中,视频源(401)是电子装置(420)的一部分。
64.视频源(401)可以提供要由视频编码器(403)编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适的比特深度(例如:8比特、10比特、12比特、
……
)、任何色彩空间(例如,bt.601y crcb、rgb、
……
)和任何合适的采样结构(例如,y crcb 4:2:0、y crcb4:4:4)。在媒体服务系统中,视频源(401)可以是存储先前准备的视频的存储装置。在视频会议系统中,视频源(401)可以是捕获本地图像信息作为视频序列的摄像装置。可以将视频数据提供为当按顺序观看时被赋予运动的多个单独的图片。图片自身可以被组织为空间像素阵列,其中,取决于所用的采样结构、色彩空间等,每个像素可以包括一个或更多个样本。本领域技术人员可以很容易理解像素与样本之间的关系。以下描述
侧重于样本。
65.根据实施方式,视频编码器(403)可以实时地或者在如由应用要求的任何其他时间约束下将源视频序列的图片编码并压缩成已编码视频序列(443)。施行适当的编码速度是控制器(450)的一个功能。在一些实施方式中,控制器(450)控制如下文所描述的其它功能单元且在功能上耦接至所述其它功能单元。为了简洁起见,未描绘耦接。通过控制器(450)设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值、
……
)、图片大小、图片群组(gop)布局、最大运动矢量搜索范围等。控制器(450)可以被配置成具有其他合适的功能,这些功能属于针对某些系统设计优化的视频编码器(403)。
66.在一些实施方式中,视频编码器(403)被配置成在编码环路中进行操作。作为超简单化的描述,在示例中,编码环路可以包括源编码器(430)(例如,负责基于待编码的输入图片和(一个或多个)参考图片创建符号,例如符号流)和嵌入于视频编码器(403)中的(本地)解码器(433)。解码器(433)重建符号以以类似于(远程)解码器也将创建样本数据的方式创建样本数据(因为在所公开的主题中考虑的视频压缩技术中,符号与已编码视频比特流之间的任何压缩是无损的)。将重建的样本流(样本数据)输入至参考图片存储器(434)。由于符号流的解码产生与解码器位置(本地或远程)无关的比特精确结果,因此参考图片存储器(434)中的内容在本地编码器与远程编码器之间也是比特精确的。换言之,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时“看到”的样本值完全相同。该参考图片同步性基本原理(以及在例如由于信道误差而无法维持同步性的情况下产生的漂移)也用于一些相关领域。
[0067]“本地”解码器(433)的操作可以与已经在上面结合图3详细描述的“远程”解码器例如视频解码器(310)的操作相同。然而,还简要参照图3,由于符号可用并且由熵编码器(445)和解析器(320)将符号编码/解码为已编码视频序列可以为无损的,因此可以不完全在本地解码器(433)中实现包括缓冲存储器(315)和解析器(320)的视频解码器(310)的熵解码部分。
[0068]
此时可以观察到,除了存在于解码器中的解析/熵解码之外的任何解码器技术也必定需要以基本上相同的功能形式存在于对应的编码器中。因此,所公开的主题着眼于解码器操作。由于编码器技术与全面地描述的解码器技术互逆,因此可以简化对编码器技术的描述。下面仅在某些区域中需要并且提供更详细的描述。
[0069]
在操作期间,在一些示例中,源编码器(430)可以执行运动补偿预测性编码,该运动补偿预测性编码参考来自视频序列中被指定为“参考图片”的一个或更多个已先前编码图片对输入图片进行预测性编码。以此方式,编码引擎(432)对输入图片的像素块与可以被选作输入图片的(一个或多个)预测参考的(一个或多个)参考图片的像素块之间的差异进行编码。
[0070]
本地视频解码器(433)可以基于由源编码器(430)创建的符号对可以被指定为参考图片的图片的已编码视频数据进行解码。编码引擎(432)的操作可以有利地是有损处理。当已编码视频数据可以在视频解码器(图4中未示出)处被解码时,重建的视频序列通常可以是具有一些误差的源视频序列的副本。本地视频解码器(433)复制可以由视频解码器对参考图片执行的解码处理,并且可以使重建的参考图片存储在参考图片缓存(434)中。以此方式,视频编码器(403)可以在本地存储重建的参考图片的副本,副本与将由远端视频解码
器获得的重建的参考图片具有共同内容(不存在传输误差)。
[0071]
预测器(435)可以针对编码引擎(432)执行预测搜索。即,对于要编码的新图片,预测器(435)可以在参考图片存储器(434)中搜索可以用作用于新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(435)可以基于样本块逐像素块操作,以找到适当的预测参考。在一些情况下,如由预测器(435)获得的搜索结果所确定的,输入图片可以具有从存储在参考图片存储器(434)中的多个参考图片取得的预测参考。
[0072]
控制器(450)可以管理源编码器(430)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群组参数。
[0073]
可以在熵编码器(445)中对所有上述功能单元的输出进行熵编码。熵编码器(445)通过根据诸如霍夫曼编码、可变长度编码、算术编码等的技术对由各种功能单元生成的符号进行无损压缩,以将符号转换成已编码视频序列。
[0074]
传输器(440)可以缓冲如由熵编码器(445)创建的(一个或多个)已编码视频序列,从而为经由通信信道(460)进行传输做准备,通信信道(460)可以是到将存储已编码视频数据的存储装置的硬件/软件链路。传输器(440)可以将来自视频编码器(403)的已编码视频数据与要传输的其他数据例如已编码音频数据和/或辅助数据流(未示出源)进行合并。
[0075]
控制器(450)可以管理视频编码器(403)的操作。在编码期间,控制器(450)可以为每个已编码图片分配某些编码图片类型,这可能影响可以应用于相应的图片的编码技术。例如,通常可以将图片分配为以下图片类型之一:
[0076]
帧内图片(i图片)可以是可以在不将序列中的任何其他图片用作预测源的情况下进行编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(independent decoder refresh,“idr”)图片。本领域技术人员了解i图片的这些变型及其相应的应用和特征。
[0077]
预测性图片(p图片)可以是可以使用帧内预测或帧间预测进行编码和解码的图片,该帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
[0078]
双向预测性图片(b图片)可以是可以使用帧内预测或帧间预测进行编码和解码的图片,该帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可以使用多于两个参考图片和相关联元数据以用于单个块的重建。
[0079]
源图片通常可以在空间上细分成多个样本块(例如,分别为4
×
4、8
×
8、4
×
8或16
×
16样本的块),并且逐块进行编码。可以参考其他(已编码的)块对这些块进行预测性编码,所述其他块是通过应用于块的相应图片的编码分配而确定的。例如,可以对i图片的块进行非预测性编码,或者可以参考同一图片的已编码的块对i图片的块进行预测性编码(空间预测或帧内预测)。可以参考一个先前已编码的参考图片经由空间预测或经由时间预测对p图片的像素块进行预测性编码。可以参考一个或两个先前已编码的参考图片经由空间预测或经由时间预测对b图片的块进行预测性编码。
[0080]
视频编码器(403)可以根据诸如itu-t h.265建议书的预定的视频编码技术或标准执行编码操作。在其操作中,视频编码器(403)可以执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可以符合由所使用的
视频编码技术或标准指定的语法。
[0081]
在实施方式中,传输器(440)可以连同已编码视频一起传输附加数据。源编码器(430)可以包括有这样的数据作为已编码视频序列的一部分。附加数据可以包括时间/空间/snr增强层、其他形式的冗余数据例如冗余图片和切片、sei消息、vui参数集片段等。
[0082]
视频可以在时间序列中被捕获为多个源图片(视频图片)。帧内图片预测(通常被简化为帧内预测)利用给定图片中的空间相关性,而帧间图片预测利用图片之间的(时间或其他)相关性。在示例中,编码/解码中的特定图片(其被称为当前图片)被划分为块。在当前图片中的块类似于视频中先前已编码且仍被缓冲的参考图片中的参考块时,可以通过被称作运动矢量的矢量对当前图片中的块进行编码。运动矢量指向参考图片中的参考块,并且在使用多个参考图片的情况下,该运动矢量可以具有识别参考图片的第三维度。
[0083]
在一些实施方式中,可以将双向预测技术用于帧间图片预测中。根据双向预测技术,使用两个参考图片,例如按解码顺序均在视频中的当前图片之前(但按显示顺序可能分别是过去和将来)的第一参考图片和第二参考图片两者。可以通过指向第一参考图片中的第一参考块的第一运动矢量以及指向第二参考图片中的第二参考块的第二运动矢量对当前图片中的块进行编码。可以通过第一参考块和第二参考块的组合来预测该块。
[0084]
此外,可以在帧间图片预测中使用合并模式技术以提高编码效率。
[0085]
根据本公开内容的一些示例,以块为单位执行诸如帧间图片预测和帧内图片预测的预测。例如,根据高效视屏编码(high efficiency video coding,hevc)标准,将视频图片序列中的图片划分为编码树单元(coding tree unit,ctu)以用于压缩,图片中的ctu具有相同的大小,例如64
×
64像素、32
×
32像素或16
×
16像素。通常,ctu包括三个编码树块(coding tree block,ctb),所述三个编码树块是一个亮度ctb和两个色度ctb。每个ctu可以被递归地以四叉树分割成一个或多个编码单元(cu)。例如,可以将64
×
64像素的ctu分割成一个64
×
64像素的cu,或4个32
×
32像素的cu,或16个16
×
16像素的cu。在示例中,对每个cu进行分析以确定用于cu的预测类型,例如帧间预测类型或帧内预测类型。取决于时间和/或空间可预测性,将cu分割为一个或更多个预测单元(pu)。通常,每个pu包括亮度预测块(prediction block,pb)和两个色度pb。在实施方式中,以预测块为单位来执行译码(编码/解码)中的预测操作。使用亮度预测块作为预测块的示例,预测块包括像素的值(例如,亮度值)的矩阵,例如8
×
8像素、16
×
16像素、8
×
16像素、16
×
8像素等。
[0086]
图5示出了根据本公开内容的另一实施方式的视频编码器(503)的图。视频编码器(503)被配置成接收视频图片序列中的当前视频图片内的样本值的处理块(例如,预测块),并且将处理块编码至作为已编码视频序列的一部分的已编码图片中。在示例中,视频编码器(503)用于代替图2示例中的视频编码器(203)。
[0087]
在hevc示例中,视频编码器(503)接收用于处理块的样本值的矩阵,处理块为诸如8
×
8样本的预测块等。视频编码器(503)使用例如率失真优化来确定是使用帧内模式、帧间模式还是双预测模式对处理块最佳地编码。在将以帧内模式对处理块进行编码的情况下,视频编码器(503)可以使用帧内预测技术将处理块编码至已编码图片中;而在将以帧间模式或双向预测模式对处理块进行编码的情况下,视频编码器(503)可以分别使用帧间预测或双向预测技术将处理块编码至已编码图片中。在某些视频编码技术中,合并模式可以是帧间图片预测子模式,其中,在不借助一个或更多个运动矢量预测器外的已编码运动矢量
分量的情况下根据所述一个或更多个运动矢量预测器得出运动矢量。在某些其他视频编码技术中,可以存在适用于主题块的运动矢量分量。在示例中,视频编码器(503)包括其他部件,例如,用于确定处理块的模式的模式决策模块(未示出)。
[0088]
在图5示例中,视频编码器(503)包括如图5所示的耦接在一起的帧间编码器(530)、帧内编码器(522)、残差计算器(523)、开关(526)、残差编码器(524)、通用控制器(521)和熵编码器(525)。
[0089]
帧间编码器(530)被配置成:接收当前块(例如,处理块)的样本,将该块与参考图片中的一个或更多个参考块(例如,先前图片和之后图片中的块)进行比较,生成帧间预测信息(例如,根据帧间编码技术的冗余信息描述、运动矢量、合并模式信息),以及基于帧间预测信息使用任何合适的技术计算帧间预测结果(例如,已预测的块)。在一些示例中,参考图片是基于已编码的视频信息进行解码的已解码参考图片。
[0090]
帧内编码器(522)被配置成:接收当前块(例如,处理块)的样本,在一些情况下将该块与同一图片中已经编码的块进行比较,在变换之后生成量化系数,以及在一些情况下还生成帧内预测信息(例如,根据一个或更多个帧内编码技术的帧内预测方向信息)。在示例中,帧内编码器(522)还基于帧内预测信息和同一图片中的参考块计算帧内预测结果(例如,已预测的块)。
[0091]
通用控制器(521)被配置成:确定通用控制数据,并且基于通用控制数据来控制视频编码器(503)的其他部件。在示例中,通用控制器(521)确定块的模式,并且基于该模式将控制信号提供至开关(526)。例如,当该模式是帧内模式时,通用控制器(521)控制开关(526)选择帧内模式结果供由残差计算器(523)使用,并且控制熵编码器(525)选择帧内预测信息且将帧内预测信息包括在比特流中;以及当该模式是帧间模式时,通用控制器(521)控制开关(526)选择帧间预测结果供由残差计算器(523)使用,并且控制熵编码器(525)选择帧间预测信息且将帧间预测信息包括在比特流中。
[0092]
残差计算器(523)被配置成:计算所接收的块与选自帧内编码器(522)或帧间编码器(530)的预测结果之间的差(残差数据)。残差编码器(524)被配置成基于残差数据进行操作以对残差数据进行编码从而生成变换系数。在示例中,残差编码器(524)被配置成将残差数据从空间域转换至频域并且生成变换系数。变换系数然后经受量化处理以获得量化的变换系数。在各种实施方式中,视频编码器(503)还包括残差解码器(528)。残差解码器(528)被配置成执行逆变换并生成已解码残差数据。已解码残差数据可以被帧内编码器(522)和帧间编码器(530)适当地使用。例如,帧间编码器(530)可以基于已解码残差数据和帧间预测信息生成解码块,并且帧内编码器(522)可以基于已解码残差数据和帧内预测信息生成已解码块。适当处理已解码块以生成已解码图片,并且在一些示例中,已解码图片可以缓冲在存储器电路(未示出)中并且用作参考图片。
[0093]
熵编码器(525)被配置成对比特流进行格式化以包括已编码块。熵编码器(525)被配置成包括根据诸如hevc标准的合适的标准的各种信息。在示例中,熵编码器(525)被配置成在比特流中包括通用控制数据、选择的预测信息(例如,帧内预测信息或帧间预测信息)、残差信息和其它合适的信息。注意,根据所公开的主题,当在帧间模式或双预测模式的合并子模式下对块进行编码时,不存在残差信息。
[0094]
图6示出了根据本公开内容的另一实施方式的视频解码器(610)的图。视频解码器
(610)被配置成接收作为已编码视频序列的一部分的已编码图片,并且对已编码图片进行解码以生成重建的图片。在示例中,视频解码器(610)用于代替图2示例中的视频解码器(210)。
[0095]
在图6的示例中,视频解码器(610)包括如图6所示耦接在一起的熵解码器(671)、帧间解码器(680)、残差解码器(673)、重建模块(674)和帧内解码器(672)。
[0096]
熵解码器(671)可以被配置成根据已编码图片来重建表示构成已编码图片的语法元素的某些符号。这样的符号可以包括例如对块进行编码的模式(诸如例如,帧内模式、帧间模式、双预测模式、后两者的合并子模式或另一子模式)、可以分别识别供帧内解码器(672)或帧间解码器(680)进行预测所使用的某些样本或元数据的预测信息(诸如例如,帧内预测信息或帧间预测信息)、呈例如量化的变换系数的形式的残差信息等。在示例中,当预测模式是帧间模式或双预测模式时,将帧间预测信息提供给帧间解码器(680);以及当预测类型是帧内预测类型时,将帧内预测信息提供给帧内解码器(672)。残差信息可以经受逆量化并且被提供给残差解码器(673)。
[0097]
帧间解码器(680)被配置成接收帧间预测信息,并且基于帧间预测信息生成帧间预测结果。
[0098]
帧内解码器(672)被配置成接收帧内预测信息,并且基于帧内预测信息生成预测结果。
[0099]
残差解码器(673)被配置成执行逆量化以提取去量化的变换系数,并且对去量化的变换系数进行处理以将残差从频域转换至空间域。残差解码器(673)还可能需要某些控制信息(以包括量化器参数(quantizer parameter,qp)),且该信息可以由熵解码器(671)提供(未描绘数据路径,因为这可能仅仅是低量控制信息)。
[0100]
重建模块(674)被配置成在空间域中组合由残差解码器(673)输出的残差与预测结果(由帧间预测模块或帧内预测模块输出,视情况而定)以形成重建的块,该重建的块可以是重建的图片的一部分,该重建的图片又可以是重建的视频的一部分。注意,可以执行诸如解块操作等其他合适的操作来提高视觉质量。
[0101]
注意,可以使用任何合适的技术来实现视频编码器(203)、(403)和(503)以及视频解码器(210)、(310)和(610)。在实施方式中,可以使用一个或更多个集成电路来实现视频编码器(203)、(403)和(503)以及视频解码器(210)、(310)和(610)。在另一实施方式中,可以使用执行软件指令的一个或更多个处理器来实现视频编码器(203)、(403)和(403)以及视频解码器(210)、(310)和(610)。
[0102]
本公开内容的各方面提供除了hevc(高效视频编码)以外的下一代视频编码的技术,例如通用视频编码(vvc)。例如,可以提供用于控制(i)最大变换大小以及(ii)最大变换大小与变换划分方案(例如,子块变换(sub-block transform,sbt)和帧内子划分(intra sub-partitioning,isp))之间的交互的方案。
[0103]
在hevc中,编码树单元(ctu)可以通过使用四叉树结构而被分割为多个编码单元(cu),该四叉树结构被表示为适应于各种局部特性的编码树。在cu层级处可以做出关于是使用帧间图片(时间)预测还是帧内图片(空间)预测来对图片区域进行编码的决策。每个cu可以进一步根据预测单元(pu)分割类型被分割为一个、两个或四个pu。在一个pu内,可以应用相同的预测过程,并且可以基于pu将相关信息传输至解码器。在通过应用基于pu分割类
型的预测处理获得残差块之后,可以根据另一四叉树结构(如cu的编码树)将cu划分为变换单元(tu)。hevc结构的一个关键特征是hevc可以具有多个划分概念,包括cu、pu和tu。在hevc中,cu或tu可以仅为正方形形状,而pu可以是用于帧间预测块的正方形或矩形形状。在hevc中,一个编码块可以进一步被分割为四个正方形子块,并且可以对每个子块(即tu)执行变换。每个tu可以被进一步递归地(使用四叉树分割)分割为较小的tu,其被称为残差四叉树(residual quad-tree,rqt)。
[0104]
在图片边界处,hevc可以采用隐式四叉树分割,使得块可以保持四叉树分割,直到大小适合图片边界。
[0105]
在vvc中,提出了使用四叉树(quad-tree,qt)加二叉树(binary tree,bt)的块划分结构。qtbt结构可以去除多种划分类型的概念。例如,qtbt结构可以去除cu、pu和tu概念的分离,并且支持cu划分形状更加灵活。在qtbt块结构(或qtbt结构)中,cu可以具有正方形或矩形形状。如图7a和图7b所示,ctu可以首先由四叉树结构划分。四叉树叶节点可以进一步由二叉树结构进行划分。在二叉树分割中,存在两种分割类型,对称水平分割和对称竖直分割。二叉树叶节点可以称为cu,并且该分割可以用于预测和变换处理,无需任何进一步的划分。因此,cu、pu和tu在qtbt编码块结构中可以具有相同的块大小。在实验软件联合开发模型(jem)中,cu有时可以包括不同颜色分量的编码块(cb)。例如,在4:2:0色度格式的p切片和b切片的情况下,一个cu可以包含一个亮度cb和两个色度cb。一个cu有时可以包括单个分量的cb。例如,在i切片的情况下,一个cu可以仅包含一个亮度cb或仅包含两个色度cb。
[0106]
在一些实施方式中,对于qtbt划分方案可以定义以下参数:(1)ctu大小是指四叉树的根节点大小,其与hevc中的概念相同。(2)minqtsize是指允许的最小四叉树叶节点大小;(3)maxbtsize是指允许的最大二叉树根节点大小;(4)maxbtdepth是指允许的最大二叉树深度;以及(5)minbtsize是指允许的最小二叉树叶节点大小。
[0107]
在qtbt划分结构(或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)。否则,叶四叉树节点可以通过二叉树进一步划分。因此,四叉树叶节点也可以是二叉树的根节点,并且四叉树叶可以具有为0的二叉树深度。当二叉树深度达到maxbtdepth(例如,4)时,不考虑进一步分割。当二叉树节点的宽度等于minbtsize(例如,4)时,不考虑进一步水平分割。类似地,当二叉树节点的高度等于minbtsize时,不考虑进一步竖直分割。在不需要任何进一步划分的情况下,可以通过预测和变换处理来进一步处理二叉树的叶节点。在jem中,最大ctu大小可以是256
×
256亮度样本。
[0108]
图7a示出了通过使用qtbt进行块划分的示例,并且图7b示出了对应树表示。实线可以指示四叉树分割,并且虚线可以指示二叉树分割。在二叉树的每个分割(例如,非叶)节点中,可以用信号发送一个标志来指示使用哪种分割类型(例如,水平分割或竖直分割),其中0可以指示水平分割,并且1可以指示竖直分割。对于四叉树分割,不需要指示分割类型,
因为四叉树分割总是水平地且竖直地分割块以产生具有相等大小的4个子块。
[0109]
此外,qtbt方案(或qtbt结构)可以对亮度和色度提供灵活性以具有单独qtbt结构。当前,对于p切片和b切片,一个ctu中的亮度ctb和色度ctb共享同一qtbt结构。然而,对于i切片,亮度ctb以qtbt结构被划分为cu,而色度ctb以另一qtbt结构被划分为色度cu。因此,i切片中的cu可以包括亮度分量的编码块或两个色度分量的编码块,以及p切片或b切片中的cu可以包括所有三种颜色分量的编码块。
[0110]
在hevc中,针对小块的帧间预测受到限制以减少运动补偿的存储器存取,使得对于4
×
8块和8
×
4块不支持双预测,并且对于4
×
4块不支持帧间预测。如在jem-7.0中实现的qtbt中,这些限制被去除。
[0111]
在vcc中,还提出了多类型树(multi-type-tree,mtt)结构。mtt是比qtbt更灵活的树结构。在mtt中,除了四叉树和二叉树以外,还引入了水平和竖直中心侧三叉树,例如,如图8a和图8b所示。图8a是竖直中心侧三叉树划分,并且图8b是水平中心侧三叉树划分。三叉树划分的主要益处包括:(a)三叉树划分可以补充四叉树和二叉树划分。三叉树划分能够捕获位于块中心的对象,而四叉树和二叉树总是沿块中心分割。(b)所提出的三叉树的划分的宽度和高度总是2的幂,使得不需要附加变换。两级树的设计主要是通过降低复杂度来激发。理论上,遍历树的复杂度是td,其中t表示分割类型的数目,以及d是树的深度。
[0112]
在hevc中,初级变换可以是4点、8点、16点和32点dct-2,并且变换核矩阵可以使用8位整数(即,8位变换核)来表示。较小dct-2的变换核矩阵可以是较大dct-2的一部分,如下所示。4
×
4变换8
×
8变换16
×
16变换
32
×
32变换
[0113]
dct-2核表现出对称/反对称特性。因此,支持所谓的“部分蝶形”实现方式以减少操作计数(乘法、加法/减法、移位)的数目,并且可以使用部分蝶形来获得矩阵乘法的相同结果。
[0114]
在vvc中,除了与hevc相同的4点、8点、16点和32点dct-2变换之外,还可以包括附加的2点和64点dct-2。在vvc中限定的64点dct-2核可以被示出为以下64
×
64矩阵:
其中,{aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu、bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck}={64,83,36,89,75,50,18,90,87,80,70,57,43,25,9,90,90,88,85,82,78,73,67,61,54,46,38,31,22,13,4,91,90,90,90,88,87,86,84,83,81,79,77,73,71,69,65,62,59,56,52,48,44,41,37,33,28,24,20,15,11,7,2}
[0115]
除了已经在hevc中采用的dct-2和4
×
4dst-7以外,已经在vvc中使用自适应多变换(adaptive multiple transform,amt,增强多变换(enhanced multiple transform,emt)或者多变换选择(multiple transform selection,mts))方案用于帧间编码块和帧内编码块两者的残差编码。mts可以使用除了hevc中的当前变换以外的多个从dct/dst族中选
择的变换。新引入的变换矩阵为dst-7、dct-8。表1示出了所选择的dst/dct的基函数。表1:用于n点输入的dct-2、dst-7和dct-8的变换基函数
[0116]
vvc中的初级变换矩阵与8位表示一起使用。amt应用于其中宽度和高度两者都小于或等于32的cu,并且是否应用amt可以由称为mts_flag的标志进行控制。当mts_flag等于0时,仅dct-2被应用于对残差进行编码。当mts_flag等于1时,使用2个二进制位进一步用信号通知索引mts_idx以指定根据表2要使用的水平变换和竖直变换,其中,值1意味着使用dst-7并且值2意味着使用dct-8。表2:取决于mts_idx[x][y][cidx]的trtypehor和trtypever的规范mts_idx[xtby][ytby][cidx]trtypehortrtypever-1000111212123022dst-7的变换核是由基向量组成的矩阵,也可以表示为如下:4点dst-7:{a,b,c,d}{c,c,0,-c}{d,-a,-c,b}{b,-d,c,-a}其中,{a,b,c,d}={29,55,74,84}。8点dst-7:{a,b,c,d,e,f,g,h,}{c,f,h,e,b,-a,-d,-g,}{e,g,b,-c,-h,-d,a,f,}{g,c,-d,-f,a,h,b,-e,}
{h,-a,-g,b,f,-c,-e,d,}{f,-e,-a,g,-d,-b,h,-c,}{d,-h,e,-a,-c,g,-f,b,}{b,-d,f,-h,g,-e,c,-a,}其中,{a,b,c,d,e,f,g,h}={17,32,46,60,71,78,85,86}。16点dst-7:{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,}{c,f,i,1,o,o,l,i,f,c,0,-c,-f,-i,-1,-o,}{e,j,o,m,h,c,-b,-g,-l,-p,-k,-f,-a,d,i,n,}{g,n,l,e,-b,-i,-p,-j,-c,d,k,o,h,a,-f,-m,}{i,o,f,-c,-l,-l,-c,f,o,i,0,-i,-o,-f,c,l,}{k,k,0,-k,-k,0,k,k,0,-k,-k,0,k,k,0,-k,}{m,g,-f,-n,-a,l,h,-e,-o,-b,k,i,-d,-p,-c,j,}{o,c,-l,-f,i,i,-f,-l,c,o,0,-o,-c,l,f,-i,}{p,-a,-o,b,n,-c,-m,d,l,-e,-k,f,j,-g,-i,h,}{n,-e,-i,j,d,-o,a,m,-f,-h,k,c,-p,b,l,-g,}{l,-i,-c,o,-f,-f,o,-c,-i,l,0,-l,i,c,-o,f,}{j,-m,c,g,-p,f,d,-n,i,a,-k,l,-b,-h,o,-e,}{h,-p,i,-a,-g,o,-j,b,f,-n,k,-c,-e,m,-l,d,}{f,-l,o,-i,c,c,-i,o,-l,f,0,-f,l,-o,i,-c,}{d,-h,l,-p,m,-i,e,-a,-c,g,-k,o,-n,j,-f,b,}{b,-d,f,-h,j,-l,n,-p,o,-m,k,-i,g,-e,c,-a,}其中,{a,b,c,d,e,f,g,h,i,j,k,1,m,n,o,p}={9,17,25,33,41,49,56,62,66,72,77,81,83,87,89,90}。32点dst-7:{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,e,f,}{c,f,i,l,o,r,u,x,a,d,f,c,z,w,t,q,n,k,h,e,b,-a,-d,-g,-j,-m,-p,-s,-v,-y,-b,-e,}{e,j,o,t,y,d,d,y,t,o,j,e,0,-e,-j,-o,-t,-y,-d,-d,-y,-t,-o,-j,-e,0,e,j,o,t,y,d,}{g,n,u,b,d,w,p,i,b,-e,-l,-s,-z,-f,-y,-r,-k,-d,c,j,q,x,e,a,t,m,f,-a,-h,-o,-v,-c,}{i,r,a,c,t,k,b,-g,-p,-y,-e,-v,-m,-d,e,n,w,f,x,o,f,-c,-l,-u,-d,-z,-q,-h,a,j,s,b,}{k,v,f,u,j,-a,-l,-w,-e,-t,-i,b,m,x,d,s,h,-c,-n,-y,-c,-r,-g,d,o,z,b,q,f,-e,-p,-a,}{m,z,z,m,0,-m,-z,-z,-m,0,m,z,z,m,0,-m,-z,-z,-m,0,m,z,z,m,0,-m,-z,-z,-m,0,m,z,}{o,d,t,e,-j,-y,-y,-j,e,t,d,o,0,-o,-d,-t,-e,j,y,y,j,-e,-t,-d,-o,0,o,d,
t,e,-j,-y,}{q,e,n,-c,-t,-b,-k,f,w,y,h,-i,-z,-v,-e,l,c,s,b,-o,-f,-p,a,r,d,m,-d,-u,-a,-j,g,x,}{s,a,h,-k,-d,-p,c,v,x,e,-n,-f,-m,f,y,u,b,-q,-c,-j,j,b,r,-a,-t,-z,-g,l,e,o,-d,-w,}{u,w,b,-s,-y,-d,q,a,f,-o,-c,-h,m,e,j,-k,-f,-l,i,d,n,-g,-b,-p,e,z,r,-c,-x,-t,a,v,}{w,s,-d,-a,-o,h,e,k,-l,-d,-g,p,z,c,-t,-v,a,x,r,-e,-b,-n,i,f,j,-m,-c,-f,q,y,b,-u,}{y,o,-j,-d,-e,t,t,-e,-d,-j,o,y,0,-y,-o,j,d,e,-t,-t,e,d,j,-o,-y,0,y,o,-j,-d,-e,t,}{a,k,-p,-v,e,f,f,-u,-q,j,b,a,-z,-l,o,w,-d,-e,-g,t,r,-i,-c,-b,y,m,-n,-x,c,d,h,-s,}{c,g,-v,-n,o,u,-h,-b,a,d,f,-w,-m,p,t,-i,-a,b,e,e,-x,-l,q,s,-j,-z,c,f,d,-y,-k,r,}{e,c,-b,-f,y,i,-v,-l,s,o,-p,-r,m,u,-j,-x,g,a,-d,-d,a,f,b,-c,-e,z,h,-w,-k,t,n,-q,}{f,-a,-e,b,d,-c,-c,d,b,-e,-a,f,z,-g,-y,h,x,-i,-w,j,v,-k,-u,l,t,-m,-s,n,r,-o,-q,p,}{d,-e,-y,j,t,-o,-o,t,j,-y,-e,d,0,-d,e,y,-j,-t,o,o,-t,-j,y,e,-d,0,d,-e,-y,j,t,-o,}{b,-i,-s,r,j,-a,-a,c,-h,-t,q,k,-z,-b,d,-g,-u,p,l,-y,-c,e,-f,-v,o,m,-x,-d,f,-e,-w,n,}{z,-m,-m,z,0,-z,m,m,-z,0,z,-m,-m,z,0,-z,m,m,-z,0,z,-m,-m,z,0,-z,m,m,-z,0,z,-m,}{x,-q,-g,e,-j,-n,a,-c,-u,t,d,-b,m,k,-d,f,r,-w,-a,y,-p,-h,f,-i,-o,z,-b,-v,s,e,-c,l,}{v,-u,-a,w,-t,-b,x,-s,-c,y,-r,-d,z,-q,-e,a,-p,-f,b,-o,-g,c,-n,-h,d,-m,-i,e,-l,-j,f,-k,}{t,-y,e,o,-d,j,j,-d,o,e,-y,t,0,-t,y,-e,-o,d,-j,-j,d,-o,-e,y,-t,0,t,-y,e,o,-d,j,}{r,-c,k,g,-y,v,-d,-n,f,-o,-c,u,-z,h,j,-b,s,-a,-q,d,-l,-f,x,-w,e,m,-e,p,b,-t,a,-i,}{p,-f,q,-a,-o,e,-r,b,n,-d,s,-c,-m,c,-t,d,1,-b,u,-e,-k,a,-v,f,j,-z,w,-g,-i,y,-x,h,}{n,-b,w,-i,-e,s,-f,r,-d,-j,x,-a,m,a,-o,c,-v,h,f,-t,e,-q,c,k,-y,z,-l,-b,p,-d,u,-g,}{l,-x,c,-q,e,g,-s,e,-v,j,b,-n,z,-a,o,-c,-i,u,-f,t,-h,-d,p,-b,y,-m,a,k,-w,d,-r,f,}
{j,-t,d,-y,o,-e,-e,o,-y,d,-t,j,0,-j,t,-d,y,-o,e,e,-o,y,-d,t,-j,0,j,-t,d,-y,o,-e,}{h,-p,x,-f,y,-q,i,-a,-g,o,-w,e,-z,r,-j,b,f,-n,v,-d,a,-s,k,-c,-e,m,-u,c,-b,t,-l,d,}{f,-1,r,-x,d,-c,w,-q,k,-e,-a,g,-m,s,-y,e,-b,v,-p,j,-d,-b,h,-n,t,-z,f,-a,u,-o,i,-c,}{d,-h,l,-p,t,-x,b,-f,c,-y,u,-q,m,-i,e,-a,-c,g,-k,o,-s,w,-a,e,-d,z,-v,r,-n,j,-f,b,}{b,-d,f,-h,j,-l,n,-p,r,-t,v,-x,z,-b,d,-f,e,-c,a,-y,w,-u,s,-q,o,-m,k,-i,g,-e,c,-a,}其中,{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,e,f}={4,9,13,17,21,26,30,34,38,42,45,50,53,56,60,63,66,68,72,74,77,78,80,82,84,85,86,88,88,89,90,90}。4点dct-8:{a,b,c,d,}{b,0,-b,-b,}{c,-b,-d,a,}{d,-b,a,-c,}其中,{a,b,c,d}={84,74,55,29}。8点dct-8:{a,b,c,d,e,f,g,h,}{b,e,h,-g,-d,-a,-c,-f,}{c,h,-e,-a,-f,g,b,d,}{d,-g,-a,-h,c,e,-f,-b,}{e,-d,-f,c,g,-b,-h,a,}{f,-a,g,e,-b,h,d,-c,}{g,-c,b,-f,-h,d,-a,e,}{h,-f,d,-b,a,-c,e,-g,}其中,{a,b,c,d,e,f,g,h}={86,85,78,71,60,46,32,17}。16点dct-8:{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,}{b,e,h,k,n,0,-n,-k,-h,-e,-b,-b,-e,-h,-k,-n,}{c,h,m,-p,-k,-f,-a,-e,-j,-o,n,i,d,b,g,l,}{d,k,-p,-i,-b,-f,-m,n,g,a,h,o,-l,-e,-c,-j,}{e,n,-k,-b,-h,0,h,b,k,-n,-e,-e,-n,k,b,h,}{f,0,-f,-f,0,f,f,0,-f,-f,0,f,f,0,-f,-f,}{g,-n,-a,-m,h,f,-o,-b,-l,i,e,-p,-c,-k,j,d,}{h,-k,-e,n,b,0,-b,-n,e,k,-h,-h,k,e,-n,-b,}{i,-h,-j,g,k,-f,-l,e,m,-d,-n,c,o,-b,-p,a,}
{j,-e,-o,a,-n,-f,i,k,-d,-p,b,-m,-g,h,l,-c,}{k,-b,n,h,-e,0,e,-h,-n,b,-k,-k,b,-n,-h,e,}{l,-b,i,o,-e,f,-p,-h,c,-m,-k,a,-j,-n,d,-g,}{m,-e,d,-1,-n,f,-c,k,o,-g,b,-j,-p,h,-a,i,}{n,-h,b,-e,k,0,-k,e,-b,h,-n,-n,h,-b,e,-k,}{o,-k,g,-c,b,-f,j,-n,-p,l,-h,d,-a,e,-i,m,}{p,-n,l,-j,h,-f,d,-b,a,-c,e,-g,i,-k,m,-o,}其中,{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p}={90,89,87,83,81,77,72,66,62,56,49,41,33,25,17,9}。32点dct-8:{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,e,f,}{b,e,h,k,n,q,t,w,z,c,f,-e,-b,-y,-v,-s,-p,-m,-j,-g,-d,-a,-c,-f,-i,-l,-o,-r,-u,-x,-a,-d,}{c,h,m,r,w,b,0,-b,-w,-r,-m,-h,-c,-c,-h,-m,-r,-w,-b,0,b,w,r,m,h,c,c,h,m,r,w,b,}{d,k,r,y,f,-a,-t,-m,-f,-b,-i,-p,-w,-d,c,v,o,h,a,g,n,u,b,-e,-x,-q,-j,-c,-e,-l,-s,-z,}{e,n,w,f,-y,-p,-g,-c,-l,-u,-d,a,r,i,a,j,s,b,-c,-t,-k,-b,-h,-q,-z,e,v,m,d,f,o,x,}{f,q,b,-a,-p,-e,-g,-r,-c,z,o,d,h,s,d,-y,-n,-c,-i,-t,-e,x,m,b,j,u,f,-w,-l,-a,-k,-v,}{g,t,0,-t,-g,-g,-t,0,t,g,g,t,0,-t,-g,-g,-t,0,t,g,g,t,0,-t,-g,-g,-t,0,t,g,g,t,}{h,w,-b,-m,-c,-r,0,r,c,m,b,-w,-h,-h,-w,b,m,c,r,0,-r,-c,-m,-b,w,h,h,w,-b,-m,-c,-r,}{i,z,-w,-f,-l,-c,t,c,o,f,-q,-a,-r,e,n,d,u,-b,-k,-g,-x,y,h,j,a,-v,-e,-m,-d,s,b,p,}{j,c,-r,-b,-u,z,g,m,f,-o,-e,-x,w,d,p,-e,-l,-h,-a,t,a,s,-b,-i,-k,-d,q,c,v,-y,-f,-n,}{k,f,-m,-i,-d,o,g,b,-q,-e,-z,s,c,x,-u,-a,-v,w,b,t,-y,-d,-r,a,f,p,-c,-h,-n,e,j,l,}{l,-e,-h,-p,a,d,t,-w,-a,-x,s,e,b,-o,-i,-f,k,m,-d,-g,-q,z,c,u,-v,-b,-y,r,f,c,-n,-j,}{m,-b,-c,-w,r,h,0,-h,-r,w,c,b,-m,-m,b,c,w,-r,-h,0,h,r,-w,-c,-b,m,m,-b,-c,-w,r,h,}{n,-y,-c,-d,i,s,-t,-h,e,d,x,-o,-m,z,b,c,-j,-r,u,g,-f,-e,-w,p,l,-a,-a,-b,k,q,-v,-f,}{o,-v,-h,c,a,d,-g,-w,n,p,-u,-i,b,b,e,-f,-x,m,q,-t,-j,a,c,f,-e,-y,l,r,-s,-k,z,d,}
{p,-s,-m,v,j,-y,-g,b,d,-e,-a,-f,c,c,-f,-z,i,w,-l,-t,o,q,-r,-n,u,k,-x,-h,a,e,-d,-b,}{q,-p,-r,o,s,-n,-t,m,u,-l,-v,k,w,-j,-x,i,y,-h,-z,g,a,-f,-b,e,c,-d,-d,c,e,-b,-f,a,}{r,-m,-w,h,b,-c,0,c,-b,-h,w,m,-r,-r,m,w,-h,-b,c,0,-c,b,h,-w,-m,r,r,-m,-w,h,b,-c,}{s,-j,-b,a,-c,-i,t,r,-k,-a,b,-d,-h,u,q,-l,-z,c,-e,-g,v,p,-m,-y,d,-f,-f,w,o,-n,-x,e,}{t,-g,0,g,-t,-t,g,0,-g,t,t,-g,0,g,-t,-t,g,0,-g,t,t,-g,0,g,-t,-t,g,0,-g,t,t,-g,}{u,-d,b,n,-k,-e,g,-r,-x,a,-y,-q,h,-f,-j,o,a,-c,v,t,-e,c,m,-l,-d,f,-s,-w,b,-z,-p,i,}{v,-a,w,u,-b,x,t,-c,y,s,-d,z,r,-e,a,q,-f,b,p,-g,c,o,-h,d,n,-i,e,m,-j,f,l,-k,}{w,-c,r,b,-h,m,0,-m,h,-b,-r,c,-w,-w,c,-r,-b,h,-m,0,m,-h,b,r,-c,w,w,-c,r,b,-h,m,}{x,-f,m,-e,-q,b,-t,-b,j,-i,a,u,-c,p,f,-n,e,-w,-y,g,-l,d,r,-a,s,c,-k,h,-z,-v,d,-o,}{y,-i,h,-x,-z,j,-g,w,a,-k,f,-v,-b,l,-e,u,c,-m,d,-t,-d,n,-c,s,e,-o,b,-r,-f,p,-a,q,}{z,-1,c,-q,e,u,-g,h,-v,-d,p,-b,m,-a,-y,k,-d,r,-f,-t,f,-i,w,c,-o,a,-n,b,x,-j,e,-s,}{a,-o,c,-j,v,f,-t,h,-e,q,-c,-y,m,-a,l,-x,-d,r,-f,g,-s,e,w,-k,b,-n,z,b,-p,d,-i,u,}{b,-r,h,-c,m,-w,0,w,-m,c,-h,r,-b,-b,r,-h,c,-m,w,0,-w,,m,-c,h,-r,b,b,-r,h,-c,m,-w,}{c,-u,m,-e,d,-l,t,-b,-d,v,-n,f,-c,k,-s,a,e,-w,o,-g,b,-j,r,-z,-f,x,-p,h,-a,i,-q,y,}{d,-x,r,-l,f,-a,g,-m,s,-y,e,c,-w,q,-k,e,-b,h,-n,t,-z,f,b,-v,p,-j,d,-c,i,-o,u,-a,}{e,-a,w,-s,o,-k,g,-c,b,-f,j,-n,r,-v,z,-d,-f,b,-x,t,-p,l,-h,d,-a,e,-i,m,-q,u,-y,c,}{f,-d,b,-z,x,-v,t,-r,p,-n,l,-j,h,-f,d,-b,a,-c,e,-g,i,-k,m,-o,q,-s,u,-w,y,-a,c,-e,}其中,{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,e,f}={90,90,89,88,88,86,85,84,82,80,78,77,74,72,68,66,63,60,56,53,50,45,42,38,34,30,26,21,17,13,9,4}。
[0117]
在vvc中,最大变换大小可以指定为64长度(例如,64
×
64块)或32长度(例如,32
×
32块),并且可以在序列参数集(sequence parameter set,sps)中用信号通知该选择。sps
中的相关语法和语义可以在表3中描述如下:表3:用于最大变换大小选择的序列参数集rbsp
[0118]
如表3所示,可以应用最大变换大小标志(例如,sps_max_luma_transform_size_64_flag)来指示最大变换大小。最大变换大小标志(例如,sps_max_luma_transform_size_64_flag)等于1可以指定亮度样本中的最大变换大小等于64。最大变换大小标志(例如,sps_max_luma_transform_size_64_flag)等于0可以指定亮度样本中的最大变换大小等于32。
[0119]
另外,当ctbsizey小于64时,sps_max_luma_transform_size_64_flag的值可以等于0。变量mintblog2sizey、maxtblog2sizey、mintbsizey、和maxtbsizey可以如以下式(1)至式(4)得出:mintblog2sizey=2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式1)maxtblog2sizey=sps_max_luma_transform_size_64_flag?6:5
ꢀꢀꢀꢀ
(式2)mintbsizey=1<<mintblog2sizey
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式3)maxtbsizey=1<<maxtblog2sizey
ꢀꢀꢀꢀ
(式4)
[0120]
在一些实施方式中,为了对rgb视频内容进行有效编码,例如在vvc中,可以采用环路内颜色变换来处理图像块的不同特性。由于颜色变换可以自适应地用于不同cu,作为编码工具的颜色变换可以被称为自适应颜色变换(adaptive color transform,act)。在一些示例中,act可以在剩余域中操作。可以用信号通知cu级标志以指示act的使用。
[0121]
例如,屏幕内容通常在rgb颜色空间中被捕获。对于rgb颜色空间中的图像块,通常不同颜色分量之间可能存在很强的相关性,使得颜色空间转换对于去除颜色间分量冗余是有用的。然而,对于屏幕内容,可能存在许多包含不同特征具有非常饱和的颜色的图像块,这导致颜色分量之间的相关性较低。对于这些块,在rgb颜色空间中直接编码可能更有效。因此,颜色空间转换可以自适应地应用于具有不同特性的图像块。
[0122]
在示例中,可以如以下式(5)执行前向act颜色变换(例如,在编码器处执行的变换)以将rgb颜色空间中的图像块转换至ycocg颜色空间:
[0123]
可以如以下式(6)执行后向act颜色变换(例如,在解码器处执行的逆变换):
[0124]
图9示出了用于执行颜色空间变换的示例性编码器(1100)。例如,编码器(1100)的部件可以通过处理电路系统(例如,一个或更多个处理器)、软件或其组合来实现。
[0125]
在图9中,在应用颜色空间变换之前执行预测。例如,可以对当前块执行帧间预测或帧内预测以产生残差信号。残差信号可以被提供给前向颜色空间变换单元(1102)以执行前向变换,例如式(5)中的变换。前向颜色空间变换的输出可以被提供至交叉分量预测(cross component prediction,ccp)单元(1104)。(ccp)单元(1104)的输出可以被提供至变换(transform,t)单元(1106)以执行诸如离散余弦变换(dct)类型的变换以生成变换系数。变换单元(1106)的输出可以被提供至量化器(quantizer,q)(1108)以产生量化系数。量化系数可以被提供至熵编码器单元(1110)以将量化系数的二进制位转换为比特流中的比特。熵编码器单元(1110)可以接收与当前块相关联的帧内预测模式或运动矢量(motion vector,mv)信息,并且将该信息熵编码至比特流中。
[0126]
编码器(1100)还可以包括用于重建残差信号的部件。例如,量化的系数可以被提供至逆量化器(inverse quantizer,iq)单元(1112)。逆量化器单元(iq)的输出可以被提供至逆变换(inverse transform,it)单元(1114)。逆变换(it)单元(1114)的输出可以被提供至逆ccp单元(1116)。逆ccp单元(1116)的输出可以被提供至逆颜色空间变换单元(1118),在逆颜色空间变换单元(1118)中可以执行逆颜色变换例如式(6)中所示的变换以生成重建的残差信号。
[0127]
图10示出了用于将比特流转换为残差信号的示例性解码器(1200)。例如,解码器(1200)的部件可以通过处理电路系统(例如,一个或更多个处理器)、软件或其组合来实现。
[0128]
图10所示的比特流可以是图9的示例中的由熵编码器(1110)产生的比特流。比特流可以被提供至熵解码器单元(1202)。熵解码器单元(1202)的输出可以被提供至逆量化器
(iq)单元(1204)。逆量化器单元(iq)(1204)的输出可以被提供至逆变换(it)单元(1206)。逆变换(it)单元(1206)的输出可以被提供至逆ccp单元(1208)。逆ccp单元(1208)的输出可以被提供至逆颜色空间变换单元(1210),在逆颜色空间变换单元(1210)中,可以执行逆颜色变换例如式(6)中所示的变换以产生残差信号。可以执行帧内预测或帧间预测以生成预测块,该预测块与残差信号组合以重建当前块。
[0129]
如上所述,图9和图10中所示的部件可以以由处理器执行的软件或由电路系统例如被设计成执行每个单元的功能的专用集成电路来实现。
[0130]
在一些实施方式中,当在sps中启用act时,例如在vcc中,最大变换大小可以限制为32长度(例如,32
×
32块或32个样本)。也就是说,如果最大变换大小被用信号通知为64长度(例如,64
×
64块或64个样本),则可能不会应用act,并且可能不会用信号通知用于启用act的相关sps标志。可以在表4中示出相关语法。表4:用于基于最大变换大小的act实现的语法
sps_palette_enabled_flagu(1)if(chromaarraytype==3&&!sps_max_luma_transform_size_64_flag) sps_act_enabled_flagu(1)
[0131]
例如,在vvc中,当应用二元树时不应用act,这可以在表5中指出。表5:用于在划分模式下实现act的语法
[0132]
例如,在vvc中,在sps中,用信号通知最大变换大小。然而,当应用act时,对于二元树编码切片(例如,通过二元树划分模式进行编码的切片的块),最大变换大小可以仅是32长度,但是在二元树编码切片中可能不使用act。这可能会限制二元树编码切片的编码性能。
[0133]
在表6中示出的当前公开内容的实施方式中,应用于帧内切片和帧间切片的最大变换大小可以分别用信号通知给解码器。在示例中,帧内切片可以包括通过帧内预测模式进行编码的切片。帧间切片可以包括通过帧内预测模式和帧间预测模式之一或其组合进行编码的块。例如,块的第一部分可以通过帧间预测模式进行编码,并且块的第二部分可以通过帧内预测模式进行编码。帧间切片也可以包括全部通过帧内预测模式进行编码的块,或者全部通过帧间预测模式进行编码的块。表6:用于实现act的序列参数集rbsp语法
[0134]
如表6中所示,可以用信号通知单独标志例如帧内切片的最大变换大小标志(例如,sps_intra_max_luma_transform_size_64_flag)和帧间切片的最大变换大小标志(例如,sps_inter_max_luma_transform_size_64_flag)。例如,在亮度样本中,最大变换大小标志可以指示最大变换大小。例如,最大变换大小标志可以指示最大变换大小是第一最大值还是第二最大值。帧内切片的最大变换大小标志(例如,sps_intra_max_luma_transform_size_64_flag)等于1可以指定亮度样本中的帧内切片的最大变换大小等于64(例如,64
×
64块)。帧内切片的最大变换大小标志(例如,sps_intra_max_luma_transform_size_64_flag)等于0可以指定亮度样本中的帧内切片的最大变换大小等于32(例如,32
×
32块)。此外,帧间切片的最大变换大小标志(例如,sps_inter_max_luma_transform_size_64_flag)等于1可以指定亮度样本中的帧间切片的最大变换大小等于64(例如,64
×
64块)。帧间切片的最大变换大小标志(例如,sps_inter_max_luma_transform_size_64_flag)等于0可以指定亮度样本中的帧间切片的最大变换大小等于32(例如,32
×
32块)。
[0135]
仍然参照表6,可以用信号通知划分模式标志(例如,qtbtt_dual_tree_intra_flag)和act使能标志(例如,sps_act_enabled_flag)。划分模式标志(例如,qtbtt_dual_tree_intra_flag)可以指示二元树划分模式是否应用于帧内切片。act使能标志(例如,sps_act_enabled_flag)可以指示act是否应用于帧间切片中的帧内切片。如表6所示,当帧内切片的最大变换大小标志(例如,sps_intra_max_luma_transform_size_64_flag)等于0,并且划分模式标志(例如,qtbtt_dual_tree_intra_flag)等于0,或帧间切片的最大变换
大小标志(例如,sps_inter_max_luma_transform_size_64_flag)等于0时,可以用信号通知act使能标志(例如,sps_act_enabled_flag)。
[0136]
在实施方式中,仅当划分模式标志(例如,qtbtt_dual_tree_intra_flag)被编码为真(或为第一值),例如指示二元树划分模式被应用时,可以对帧内切片的最大变换大小(例如,sps_intra_max_luma_transform_size_64_flag)进行编码。
[0137]
在实施方式中,仅当划分模式标志(例如,标志qtbtt_dual_tree_intra_flag)被编码为真时,可以分别用信号通知应用于帧内切片和帧间切片的最大变换大小。如果划分模式标志(例如,qtbtt_dual_tree_intra_flag)不为真,则用信号通知最大变换大小并在帧内切片与帧间切片之间共享。
[0138]
在编码比特流的各个部分例如sps、切片标头或图片标头(picture header,ph)中,可以用信号通知最大变换大小。
[0139]
在一些实施方式中,可以分别用信号通知应用于二元树编码切片的最大变换大小以及用于单个树编码切片的最大变换大小。可以在表7中示出相关语法。表7:用于act实现的序列参数集rbsp语法
[0140]
如表7所示,可以用信号通知二元树编码切片的最大变换大小标志(例如,sps_dt_max_luma_transform_size_64_flag)和单个树编码切片的最大变化大小标志(例如,sps_st_max_luma_transform_size_64_flag)。例如在亮度样本中,最大变换大小标志可以指示最大变换大小。例如,最大变换大小标志可以指示最大变换大小是第一最大值还是第二最大值。二元树编码切片的最大变换大小标志(例如,sps_dt_max_luma_transform_size_64_flag)等于1可以指定应用于亮度样本中的二元树树编码切片的最大变换大小等于64(例如,64
×
64块)。二元树编码切片的最大变换大小标志(例如,sps_dt_max_luma_transform_size_64_flag)等于0可以指定应用于亮度样本中的二元树编码切片的最大变换大小等于32(例如,32
×
32块)。单个树编码切片的最大变换大小标志(例如,sps_st_max_luma_transform_size_64_flag)等于1可以指定应用于亮度样本中的单个树编码切片的最大变换大小等于64。单个树编码切片的最大变换大小标志(例如,sps_st_max_luma_transform_size_64_flag)等于0可以指定应用于亮度样本中的单个树编码切片的最大变换大小等于32。
[0141]
仍参照表7,当色度阵列类型为3(例如,平面模式),并且单个树编码切片的最大变换大小标志(例如,sps_st_max_luma_transform_size_64_flag)等于0时,可以用信号通知act使能标志(例如,sps_act_enabled_flag)。
[0142]
在一些实施方式中,最大变换大小不仅可以基于例如在sps标头中的最大变换大小参数(例如,sps_st_max_luma_transform_size_64_flag或sps_dt_max_luma_
transform_size_64_flag)来确定而且也基于树类型(或划分树类型)以及是否使用自适应颜色变换(act)的条件来确定。在示例中,当sps标头中的act信号被使能(例如,sps_act_enabled_flag为真)并且当前树类型是单个树时,当前切片中应用的最大变换大小可以限制为32点变换(例如,32
×
32块)。否则,可以在当前切片中应用64点变换(例如,64
×
64块)。可以如下在式(7)至(10)中示出该示例。
[0143]
如式(7)至(10)所示,当最大变换大小标志(例如,sps_max_luma_transform_size_64_flag)等于1时,亮度样本中的最大变换大小等于64。当最大变换大小标志(例如,dsps_max_luma_transform_size_64_flag)等于0时,亮度样本中的最大变换大小等于32。当y方向的编码单元大小(例如,ctbsizey)小于64时,最大变换大小标志(例如,sps_max_luma_transform_size_64_flag)的值可以等于0。另外,变量mintblog2sizey、maxtblog2sizey、mintbsizey和maxtbsizey可以得出式(7)至式(10)如下:mintblog2sizey=2
ꢀꢀ
(式7)maxtblog2sizey=sps_max_luma_transform_size_64_flag?6:5
ꢀꢀ
(式8)mintbsizey=1<<mintblog2sizey
ꢀꢀ
(式9)
[0144]
如式(10)所示,当树类型为单个树且act使能标志(例如,sps_act_enabled_flag)为真时,亮度样本中的最大变换大小等于32。否则,如果树类型不是单个树,或者act使能标志不为真,则亮度样本中的最大变换大小等于64。
[0145]
在另一实施方式中,如表8所示,可以在sps中独立地用信号通知act使能标志(例如,sps_act_enabled_flag)。因此,与表7相比,可以用信号通知act使能标志(例如,sps_act_enabled_flag),并且独立于最大变换大小标志(例如,sps_st_max_luma_transform_size_64_flag)。表8:用于act实现的序列参数集rbsp语法
[0146]
上述方法可以单独使用或以任何顺序组合使用。在本公开内容中,高级语法元素可以指视频参数集(video parameter set,vps)、sps、图片参数集(picture parameter set,pps)、切片标头、图块标头和图块组标头之一。ctu标头可以指为每个ctu用信号通知的语法元素(例如,作为标头信息)。在本公开内容中,变换大小可以指最大变换宽度和/高度,或最大变换单元区域大小。
[0147]
图11和图12示出了概述根据本公开内容的实施方式的处理(1300)和(1400)的流程图。可以在已编码视频比特流的解码处理期间使用处理(1300)和(1400)。在各种实施方式中,处理(1300)和(1400)可以由诸如以下的处理电路系统执行:终端装置(110)、(120)、(130)和(140)中的处理电路系统、执行视频编码器(203)的功能的处理电路系统、执行视频解码器(210)的功能的处理电路系统、执行视频解码器(310)的功能的处理电路系统、执行视频编码器(403)的功能的处理电路系统、执行解码器(1200)的功能的处理电路系统、执行编码器(1100)的功能的处理电路系统等。在一些实施方式中,处理(1300)和(1400)可以以软件指令实现,因此,在处理电路系统执行软件指令时,该处理电路系统分别执行处理(1300)和(1400)。
[0148]
如图11中所示,处理(1300)在(s1301)处开始并且进行至(s1310)。
[0149]
在(s1310)处,可以从已编码区域的已编码视频比特流中确定第一信令信息和第二信令信息。第一信令信息可以指示在第一预测模式下已编码区域的第一最大变换大小,以及第二信令信息可以指示在第二预测模式下已编码区域的第二最大变换大小。
[0150]
在(s1320)处,可以基于第一信令信息和第二信令信息来确定变换信令信息是否包括在已编码视频比特流中。例如,当(i)第一信令信息指示在第一预测模式下已编码区域的第一最大变换大小是第一数量的样本(例如,32个样本)且划分信令信息指示二元树划分未被应用于已编码区域,或者(ii)第二信令信息指示在第二预测模式下已编码区域的第二最大变换大小是第二数量的样本(例如,32个样本)时,变换信令信息可以被包括在已编码视频比特流中。否则,变换信令信息可能不包括在已编码视频比特流中。变换信令信息可以指示是否对已编码区域应用自适应颜色变换(act)。
[0151]
在(s1330)处,随后可以基于变换信令信息对已编码区域进行解码。
[0152]
在处理(1300)中,当第一信令信息为第一值时,第一信令信息可以指示在第一预测模式下已编码区域的第一最大变换大小为诸如64个样本的值。当第二信令信息为第一值时,第二信令信息可以指示在第二预测模式下已编码区域的第二最大变换大小为诸如64个样本的值。
[0153]
在处理(1300)中,已编码视频比特流还可以包括划分信令信息,其中划分信令信息可以指示二元树划分是否被应用于已编码区域。
[0154]
在一些实施方式中,可以基于以下中之一来确定变换信令信息是否包括在已编码视频比特流中:(i)第一信令信息指示在第一预测模式下已编码区域的第一最大变换大小是第一数量的样本(例如,32个样本)并且划分信令信息指示二元树划分未被应用于已编码区域,以及(ii)第二信令信息指示在第二预测模式下已编码区域的第二最大变换大小是第二数量的样本(例如,32个样本)。
[0155]
在一些实施方式中,可以基于划分信令信息指示二元树划分被应用于已编码区域来确定第一信令信息。
[0156]
在一些实施方式中,可以基于划分信令信息指示二元树划分被应用于已编码区域来确定第一信令信息和第二信令信息。
[0157]
在一些实施方式中,基于划分信令信息指示二元树划分未被应用于已编码区域,第一最大变换大小可以等于第二最大变换大小。
[0158]
在该方法中,可以通过序列参数集、图片参数集和切片标头之一中的语法元素来
指示第一信令信息和第二信令信息。
[0159]
如图12中所示,处理(1400)在(s1401)处开始并且进行至(s1410)。
[0160]
在(s1410)处,可以从已编码区域的已编码视频比特流中接收第一信令信息和第二信令信息。第一信令信息可以指示在第一划分模式下已编码区域的第一最大变换大小。第二信令信息可以指示在第二划分模式下已编码区域的第二最大变换大小。
[0161]
在(s4320)处,可以从已编码视频比特流中确定变换信令信息,其中变换信令信息可以指示是否对已编码区域应用自适应颜色变换(act)。
[0162]
在(s1430)处,随后可以基于变换信令信息对已编码区域进行解码。
[0163]
在处理(1400)中,当第一信令信息为第一值时,第一信令信息可以指示已编码区域的第一最大变换大小为64个样本,并且当第二信令信息为第一值时,第二信令信息可以指示已编码区域的第二最大变换大小为64个样本。
[0164]
在一些实施方式中,可以基于第二信令信息指示在第二划分模式下已编码区域的第二最大变换大小为32个样本来确定变换信令信息。
[0165]
在一些实施方式中,基于第二划分模式被应用以及变换信令信息指示对已编码区域应用act,可以确定已编码区域的最大变换大小为32个样本。
[0166]
在一些实施方式中,可以基于以下中之一来确定已编码区域的最大变换大小为64个样本:(i)第二划分模式未被应用,以及(ii)变换信令信息指示未对已编码区域应用act。
[0167]
可以使用计算机可读指令将上述技术实现为计算机软件,并且将其物理地存储在一个或更多个计算机可读介质中。例如,图13示出了适于实现所公开的主题的某些实施方式的计算机系统(1500)。
[0168]
可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,可以对任何合适的机器代码或计算机语言进行汇编、编译、链接等机制以创建包括指令的代码,这些指令可以由一个或更多个计算机中央处理单元(central processing unit,cpu)、图形处理单元(graphics processing unit,gpu)等直接执行或者通过解译、微代码执行等执行。
[0169]
指令可以在各种类型的计算机或其部件——包括例如个人计算机、平板计算机、服务器、智能电话、游戏装置、物联网装置等上执行。
[0170]
图13中示出的用于计算机系统(1500)的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能范围提出任何限制。部件的配置也不应当被解释为具有与计算机系统(1500)的示例性实施方式中示出的部件中的任何一个部件或部件的组合有关的任何依赖性或要求。
[0171]
计算机系统1500可以包括某些人机接口输入装置。这样的人机接口输入装置可以响应于对由一个或更多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、拍打)、视觉输入(例如:姿势)、嗅觉输入(未描绘)进行的输入。人机接口装置还可以用于捕获不一定与人类有意识的输入直接相关的某些媒体,例如,音频(诸如:语音、音乐、环境声音)、图像(诸如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(诸如:二维视频、包括立体视频的三维视频)。
[0172]
输入人机接口装置可以包括以下中的一个或更多个(每者仅描绘了一个):键盘(1501)、鼠标(1502)、触控板(1503)、触摸屏(1510)、数据手套(未示出)、操纵杆(1505)、麦克风(1506)、扫描仪(1507)、摄像装置(1508)。
[0173]
计算机系统(1500)还可以包括某些人机接口输出装置。这样的人机接口输出装置可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感官。这样的人机接口输出装置可以包括触觉输出装置(例如,通过触摸屏(1510)、数据手套(未示出)或操纵杆(1505)的触觉反馈,但是也可以存在不用作输入装置的触觉反馈装置)、音频输出装置(例如:扬声器(1509)、头戴式耳机(未描绘))、视觉输出装置(例如,屏幕(1510),包括阴极射线管(cathode ray tube,crt)屏幕、液晶显示器(liquid crystal display,lcd)屏幕、等离子屏幕、有机发光二极管(organic light-emitting diode,oled)屏幕,每个均具有或不具有触摸屏输入能力,每个均具有或不具有触觉反馈能力——其中的一些屏幕可以能够通过诸如立体图形输出的方式输出二维视觉输出或三维以上输出、虚拟现实眼镜(未描绘)、全息显示器和烟罐(未描绘))以及打印机(未描绘)。
[0174]
计算机系统(1500)还可以包括人类可访问的存储装置及其相关联的介质,例如包括具有cd/dvd等介质(1521)的cd/dvd只读存储器(read only memory,rom)/读写(read write,rw)(1520)的光学介质、拇指驱动器(1522)、可移动硬盘驱动器或固态驱动器(1523)、诸如磁带和软盘(未描绘)的遗留磁性介质、基于专用rom/专用集成电路(application specific integrated circuit,asic)/可编程逻辑器件(programmable logic device,pld)的装置例如安全加密狗(未描绘)等。
[0175]
本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包含传输介质、载波或其他瞬态信号。
[0176]
计算机系统(1500)还可以包括到一个或更多个通信网络的接口。网络可以例如是无线的、有线的、光学的。网络还可以是局域网、广域网、城域网、车载和工业网络、实时网络、延迟容忍网络等。网络的示例包括局域网例如以太网、无线局域网(local area network,lan)、蜂窝网络(包括全球移动通信系统(global system for mobile communications,gsm)、第三代(the third generation,3g)、第四代(the fourth,generation,4g)、第五代(the fifth generation,5g)、长期演进(long term evolution,lte)等)、电视有线或无线广域数字网络(包括有线电视、卫星电视和地面广播电视)、车载的和工业的(包括控制器局域网(controller area network,can)总线)等。某些网络通常需要外部网络接口适配器,该外部网络接口适配器附接至某些通用数据端口或外围总线(1549)(诸如例如,计算机系统(1500)的usb(universal serial bus,usb)端口);其他网络通常通过附接至如下所描述的系统总线(例如,到pc计算机系统的以太网接口或到智能电话计算机系统的蜂窝网络接口)而集成到计算机系统(1500)的核中。使用这些网络中的任何网络,计算机系统(1500)可以与其他实体进行通信。这样的通信可以是单向仅接收的(例如,广播电视)、单向仅发送的(例如,到某些can总线装置的can总线)、或双向的(例如,使用局域数字网络或广域数字网络到其他计算机系统)。可以在如上所述的这些网络和网络接口中的每个网络和网络接口上使用某些协议和协议栈。
[0177]
以上提及的人机接口装置、人类可访问存储装置和网络接口可以附接至计算机系统(1500)的核(1540)。
[0178]
核(1540)可以包括一个或更多个中央处理单元(cpu)(1541)、图形处理单元(gpu)(1542)、现场可编程门阵列(field programmable gate area,fpga)(1543)形式的专用可编程处理单元、用于某些任务的硬件加速器(1544)等。这些装置,连同只读存储器(rom)
(1545)、随机存取存储器(1546)、诸如内部非用户可访问硬盘驱动器、固态驱动器(solid-state drive,ssd)等的内部大容量存储装置(1547)可以通过系统总线(1548)连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(1548),以使得能够通过附加的cpu、gpu等进行扩展。外围装置可以直接地或通过外围总线(1549)附接至核的系统总线(1548)。外围总线的架构包括外围部件互连(peripheral component interconnect,pci)、usb等。
[0179]
cpu(1541)、gpu(1542)、fpga(1543)和加速器(1544)可以执行某些指令,这些指令可以组合起来构成以上提及的计算机代码。该计算机代码可以被存储在rom(1545)或ram(1546)中。瞬态数据也可以被存储在ram(1546)中,而永久数据可以被存储在例如内部大容量存储装置(1547)中。可以通过使用缓存存储器来实现对存储装置中的任何存储装置的快速存储和检索,该缓存存储器可以与一个或更多个cpu(1541)、gpu(1542)、大容量存储装置(1547)、rom(1545)、ram(1546)等紧密关联。
[0180]
计算机可读介质可以在其上具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是针对本公开内容的目的而专门设计和构建的介质和计算机代码,或者介质和计算机代码可以是计算机软件领域的技术人员公知且可获得的类型。
[0181]
作为示例而通过非限制的方式,具有架构的计算机系统(1500),并且特别是核(1540)可以由于处理器(包括cpu、gpu、fpga、加速器等)执行体现在一个或更多个有形计算机可读介质中的软件而提供功能。这样的计算机可读介质可以是与如以上所介绍的用户可访问的大容量存储装置,以及核(1540)的具有非暂态性的某些存储装置,例如,核内部大容量存储装置(1547)或rom(1545)相关联的介质。实现本公开内容的各种实施方式的软件可以存储在这样的装置中并且由核(1540)执行。根据特定需要,计算机可读介质可以包括一个或更多个存储装置或芯片。软件可以使核(1540)并且特别是其中的处理器(包括cpu、gpu、fpga等)执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在ram(1546)中的数据结构以及根据由软件限定的处理来修改这些数据结构。另外地或作为替选,计算机系统可以由于硬连线或以其他方式体现在电路(例如:加速器(1544))中的逻辑而提供功能,该逻辑可以代替软件或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在合适的情况下,所涉及的软件可以涵盖逻辑,反之,所涉及的逻辑也可以涵盖软件。在合适的情况下,所涉及的计算机可读介质可以涵盖存储用于执行的软件的电路(例如,集成电路(integrated circuit,ic))、实施用于执行的逻辑的电路、或上述两者。本公开内容包含硬件和软件的任何合适的组合。附录a:缩写:hevc:高效视频编码hdr:高动态范围sdr:标准动态范围vvc:通用视频编码jvet:联合视频探索组mpm:最可能模式waip:广角帧内预测cu:编码单元
pu:预测单元isp:帧内子划分sbt:子块变换cbf:编码块标志
[0182]
尽管本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的改变、置换和各种替代等同物。因此将理解,本领域技术人员能够设想虽然本文中没有明确示出或描述但是体现本公开内容的原理并且因此在本公开内容的精神和范围内的许多系统和方法。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献