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

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

2022-08-28 06:11:52 来源:中国专利 TAG:

用于视频解码的方法和装置
1.相关申请的交叉引用
2.本技术要求于2021年4月19日提交的美国专利申请第17/234,507号“method and apparatus for video coding”的优先权权益,该美国专利申请要求于2020年10月2日提交的美国临时申请第63/087,042号“transformation scheme for l-shaped partition”的优先权权益。在先申请的全部公开内容通过引用整体并入本文。
技术领域
3.本公开内容描述了通常与视频解码有关的实施方式。


背景技术:

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


技术实现要素:

12.本公开内容的各方面提供了用于视频编码/解码的方法和装置。在一些示例中,用于视频解码的装置包括处理电路系统。处理电路系统根据经编码的视频比特流对与图片的非矩形分区的编码块相关联的变换系数进行解码。此外,处理电路系统基于变换系数来确定编码块的残差,以及基于编码块的残差来重建编码块的样本。
13.在一些实施方式中,处理电路系统基于变换系数中的第一变换系数来确定第一矩形子块的第一残差。第一矩形子块是非矩形分区的第一分区。此外,处理电路系统基于变换系数中的第二变换系数来确定第二矩形子块的第二残差。在示例中,第二矩形子块是非矩形分区的第二分区并且具有与第一矩形子块相同的大小。在另一示例中,第二矩形子块是非矩形分区的第二分区并且具有与第一矩形子块不同的大小。
14.在一些实施方式中,处理电路系统通过在第一方向上对变换单元执行逆变换来确定中间变换单元的中间变换系数。变换单元由变换系数形成。此外,处理电路系统通过在第二方向上对中间变换单元执行逆变换来确定编码块的残差。
15.在一些示例中,处理电路系统分别对变换单元的第一多个列执行第一逆变换操作。第一逆变换操作分别是第一点数的逆变换。此外,处理电路系统分别对变换单元的第二多个列执行第二逆变换操作。第二逆变换操作分别是第二点数的逆变换。处理电路系统分别对中间变换单元的第一多个行执行第三逆变换操作。第三逆变换操作分别是第三点数的逆变换。此外,处理电路系统分别对中间变换单元的第二多个行执行第四逆变换操作。第四逆变换操作分别是第四点数的逆变换。
16.在一些其他示例中,处理电路系统分别对变换单元的第一多个行执行第一逆变换操作。第一逆变换操作分别是第一点数的逆变换。处理电路系统分别对变换单元的第二多个行执行第二逆变换操作。第二逆变换操作分别是第二点数的逆变换。此外,处理电路系统
分别对中间变换单元的第一多个列执行第三逆变换操作。第三逆变换操作分别是第三点数的逆变换。然后,处理电路系统分别对中间变换单元的第二多个列执行第四逆变换操作。第四逆变换操作分别是第四点数的逆变换。
17.根据本公开内容的方面,处理电路可以通过对变换系数执行逆卡洛南-洛伊变换(klt)来确定编码块的残差。
18.根据本公开内容的另一方面,处理电路通过对变换系数执行二维逆变换来确定包括非矩形分区的矩形单元的第一残差,以及从矩形块的第一残差中选择编码块的残差。
19.在一些实施方式中,处理电路通过遵循包括非矩形分区的矩形单元的扫描顺序并且跳过非矩形分区之外的扫描位置来形成用于非矩形分区的变换单元。
20.本公开内容的各方面还提供了一种存储指令的非暂态计算机可读介质,所述指令在由用于视频解码的计算机执行时使计算机执行用于视频解码的方法。
附图说明
21.根据以下具体实施方式和附图,所公开主题的另外的特征、性质和各种优点将更加明显,在附图中:
22.图1是根据实施方式的通信系统(100)的简化框图的示意性图示。
23.图2是根据实施方式的通信系统(200)的简化框图的示意性图示。
24.图3是根据实施方式的解码器的简化框图的示意性图示。
25.图4是根据实施方式的编码器的简化框图的示意性图示。
26.图5示出了根据另一实施方式的编码器的框图。
27.图6示出了根据另一实施方式的解码器的框图。
28.图7示出了在视频编码格式示例中使用的分区技术的示例。
29.图8示出了在另一视频编码格式示例中使用的分区技术的示例。
30.图9a和图9b示出了在另一视频编码格式示例中使用的分区技术的示例。
31.图10a和图10b示出了垂直中心侧三叉树分区和水平中心侧三叉树分区的示例。
32.图11示出了作为来自块分区的分区中的一个分区的l形块。
33.图12示出了根据本公开内容的一些实施方式的l型分区树的示例。
34.图13示出了从当前深度的变换大小到下一深度的变换大小的大小映射的表。
35.图14示出了用于帧内编码块的变换分区的示例。
36.图15示出了用于帧间编码块的变换分区的示例。
37.图16示出了根据本公开内容的实施方式的用于l形分区的变换分区的示例。
38.图17示出了根据本公开内容的实施方式的用于l形分区的变换分区的示例。
39.图18示出了根据本公开内容的一些实施方式的用于l形分区的变换分区的两个示例。
40.图19示出了根据本公开内容的一些实施方式的用于l形分区的变换分区的示例。
41.图20示出了根据本公开内容的实施方式的变换大小调整的示例。
42.图21示出了根据本公开内容的实施方式的变换大小调整的示例。
43.图22示出了按水平变换和垂直变换的顺序应用二维变换的示例。
44.图23示出了按垂直变换和水平变换的顺序应用二维变换的示例。
45.图24示出了按水平变换和垂直变换的顺序应用二维变换的示例。
46.图25示出了按垂直变换和水平变换的顺序应用二维变换的示例。
47.图26示出了根据本公开内容的实施方式的l形分区的扫描顺序的示例。
48.图27示出了概述根据本公开内容的一些实施方式的处理示例的流程图。
49.图28是根据实施方式的计算机系统的示意性图示。
具体实施方式
50.图1示出了根据本公开内容的实施方式的通信系统(100)的简化框图。通信系统(100)包括可以经由例如网络(150)彼此通信的多个终端设备。例如,通信系统(100)包括经由网络(150)互连的第一对终端设备(110)和(120)。在图1示例中,第一对终端设备(110)和(120)执行数据的单向传输。例如,终端设备(110)可以对视频数据(例如,由终端设备(110)捕获的视频图片流)进行编码,以用于经由网络(150)传输至另一终端设备(120)。经编码的视频数据可以以一个或更多个经编码的视频比特流的形式传输。终端设备(120)可以从网络(150)接收经编码的视频数据,对经编码的视频数据进行解码以恢复视频图片,并且根据经恢复的视频数据显示视频图片。在媒体服务应用等中,单向数据传输可能是常见的。
51.在另一示例中,通信系统(100)包括第二对终端设备(130)和(140),第二对终端设备(130)和(140)执行例如在视频会议期间可能发生的经编码的视频数据的双向传输。为了数据的双向传输,在示例中,终端设备(130)和(140)中的每个终端设备可以对视频数据(例如,由终端设备捕获的视频图片流)进行编码,以用于经由网络(150)传输至终端设备(130)和(140)中的另一终端设备。终端设备(130)和(140)中的每个终端设备还可以接收由终端设备(130)和(140)中的另一终端设备传输的经编码的视频数据,并且可以对经编码的视频数据进行解码以恢复视频图片,并且可以根据经恢复的视频数据在可访问的显示设备上显示视频图片。
52.在图1示例中,终端设备(110)、(120)、(130)和(140)可以被示出为服务器、个人计算机和智能电话,但是本公开内容的原理可以不限于此。本公开内容的实施方式适用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议装备。网络(150)表示在终端设备(110)、(120)、(130)和(140)之间传送经编码的视频数据的任何数目的网络,包括例如有线连接(有线)和/或无线通信网络。通信网络(150)可以在电路交换信道和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。出于本讨论的目的,除非本文在下面有所说明,否则网络(150)的架构和拓扑对于本公开内容的操作来说可能是无关紧要的。
53.作为所公开主题的应用的示例,图2示出了在流式环境中视频编码器和视频解码器的放置。所公开主题可以等同地适用于其他支持视频的应用,包括例如视频会议、数字tv、在包括cd、dvd、记忆棒等的数字介质上存储压缩视频,等等。
54.流式系统可以包括捕获子系统(213),该捕获子系统(213)可以包括创建例如未压缩的视频图片流(202)的视频源(201),例如数字摄像装置。在示例中,视频图片流(202)包括由数字摄像装置拍摄的样本。被描绘为粗线以强调在与经编码的视频数据(204)(或经编码的视频比特流)进行比较时高的数据量的视频图片流(202)可以由包括耦接至视频源(201)的视频编码器(203)的电子设备(220)处理。视频编码器(203)可以包括硬件、软件或
coding)、具有或不具有上下文敏感性的算术编码等。解析器(320)可以基于与群组对应的至少一个参数从经编码的视频序列中提取视频解码器中的像素的子群组中的至少一个子群组的子群组参数集。子群组可以包括图片群组(gop)、图片、图块、切片、宏块、编码单元(cu)、块、变换单元(tu)、预测单元(pu)等。解析器(320)还可以从经编码的视频序列中提取诸如变换系数、量化器参数值、运动矢量等的信息。
59.解析器(320)可以对从缓冲存储器(315)接收到的视频序列执行熵解码/解析操作,从而创建符号(321)。
60.符号(321)的重建可能涉及多个不同的单元,这取决于经编码的视频图片或其一部分的类型(例如:帧间图片和帧内图片、帧间块和帧内块)以及其他因素。涉及哪些单元以及如何涉及可以通过由解析器(320)根据经编码的视频序列解析的子群组控制信息来控制。为了清楚起见,未描绘解析器(320)与下面多个单元之间的这样的子群组控制信息的流动。
61.除了已经提及的功能块之外,视频解码器(310)可以在概念上被细划分为如下所述的多个功能单元。在商业约束下操作的实际实现方式中,这些单元中的许多单元彼此紧密交互并且可以至少部分地彼此集成。然而,出于描述所公开主题的目的,概念上细划分为下面的功能单元是适当的。
62.第一单元是缩放器/逆变换单元(351)。缩放器/逆变换单元(351)从解析器(320)接收作为符号(321)的量化变换系数以及控制信息,包括要使用哪种变换、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(351)可以输出可以被输入到聚合器(355)中的包括样本值的块。
63.在一些情况下,缩放器/逆变换(351)的输出样本可以属于帧内编码块;即:不使用来自先前重建图片的预测信息但可以使用来自当前图片的先前重建部分的预测信息的块。这样的预测信息可以由帧内图片预测单元(352)提供。在一些情况下,帧内图片预测单元(352)使用从当前图片缓冲器(358)提取的周围已经重建的信息来生成与重建中的块具有相同大小和形状的块。当前图片缓冲器(358)对例如部分重建的当前图片和/或完全重建的当前图片进行缓冲。在一些情况下,聚合器(355)基于每个样本将帧内预测单元(352)已经生成的预测信息添加至由缩放器/逆变换单元(351)提供的输出样本信息。
64.在其他情况下,缩放器/逆变换单元(351)的输出样本可以属于帧间编码块和潜在运动补偿块。在这样的情况下,运动补偿预测单元(353)可以访问参考图片存储器(357)以提取用于预测的样本。在根据属于块的符号(321)对所提取的样本进行运动补偿之后,这些样本可以由聚合器(355)添加至缩放器/逆变换单元(351)的输出(在这种情况下被称为残差样本或残差信号),从而生成输出样本信息。参考图片存储器(357)内的运动补偿预测单元(353)从其提取预测样本的地址可以由运动矢量控制,运动矢量以符号(321)的形式可用于运动补偿预测单元(353),符号(321)可以具有例如x、y和参考图片分量。运动补偿还可以包括在子样本精确运动矢量在使用中时从参考图片存储器(357)提取的样本值的内插、运动矢量预测机制等。
65.聚合器(355)的输出样本可以在环路滤波器单元(356)中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,所述环路内滤波器技术由包括在经编码的视频序列(也称为经编码的视频比特流)中并且作为来自解析器(320)的符号(321)可用于环路
滤波器单元(356)的参数进行控制,但是视频压缩技术还可以响应于在对经编码的图片或经编码的视频序列的先前(在解码顺序上)部分进行解码期间获得的元信息,以及响应于先前重建的并经环路滤波的样本值。
66.环路滤波器单元(356)的输出可以是样本流,该样本流可以被输出至呈现设备(312)并且被存储在参考图片存储器(357)中以用于将来的帧间图片预测。
67.一旦完全重建,某些经编码的图片就可以被用作参考图片以用于将来的预测。例如,一旦与当前图片对应的经编码的图片被完全重建并且该经编码的图片已经被识别为参考图片(通过例如解析器(320)),当前图片缓冲器(358)就可以变为参考图片存储器(357)的一部分,并且可以在开始重建随后的经编码的图片之前重新分配新的当前图片缓冲器。
68.视频解码器(310)可以根据诸如itu-t h.265建议书的标准中的预定视频压缩技术来执行解码操作。在经编码的视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件两者的意义上,经编码的视频序列可以符合由正在使用的视频压缩技术或标准指定的语法。具体地,配置文件可以从视频压缩技术或标准中可用的所有工具中选择某些工具作为仅在配置文件下可用的工具。对于合规性,还可以要求经编码的视频序列的复杂度在由视频压缩技术或标准的级别限定的范围内。在一些情况下,级别限制了最大图片大小、最大帧速率、最大重建采样率(以例如每秒兆样本为单位进行测量)、最大参考图片大小等。在一些情况下,由级别设置的限制可以通过假设参考解码器(hrd)规范以及用于在经编码的视频序列中用信号通知的hrd缓冲器管理的元数据来进一步限定。
69.在实施方式中,接收器(331)可以接收附加(冗余)数据和经编码的视频。附加数据可以被包括作为经编码的视频序列的一部分。附加数据可以由视频解码器(310)用来对数据正确地进行解码以及/或者更准确地重建原始视频数据。附加数据可以是例如时间、空间或信噪比(snr)增强层、冗余切片、冗余图片、前向纠错码等形式。
70.图4示出了根据本公开内容的实施方式的视频编码器(403)的框图。视频编码器(403)包括在电子设备(420)中。电子设备(420)包括传输器(440)(例如,传输电路系统)。可以使用视频编码器(403)替代图2示例中的视频编码器(203)。
71.视频编码器(403)可以从视频源(401)(在图4示例中,其并不是电子设备(420)的一部分)接收视频样本,所述视频源(401)可以捕获要由视频编码器(403)编码的视频图像。在另一示例中,视频源(401)是电子设备(420)的一部分。
72.视频源(401)可以提供要由视频编码器(403)编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适的位深度(例如:8位、10位、12位
……
)、任何色彩空间(例如,bt.601y crcb、rgb
……
)以及任何合适的采样结构(例如y crcb 4:2:0、y crcb 4:4:4)。在媒体服务系统中,视频源(401)可以是存储先前准备的视频的存储设备。在视频会议系统中,视频源(401)可以是捕获本地图像信息作为视频序列的摄像装置。视频数据可以被提供为在按顺序观看时被赋予运动的多个单独的图片。图片自身可以被组织为空间像素阵列,其中,每个像素可以包括取决于使用中的采样结构、色彩空间等的一个或更多个样本。本领域技术人员可以容易地理解像素与样本之间的关系。下面的描述集中于样本。
73.根据实施方式,视频编码器(403)可以实时地或在应用所需的任何其他时间约束下对源视频序列的图片进行编码并将其压缩为经编码的视频序列(443)。施行适当的编码
速度是控制器(450)的一个功能。在一些实施方式中,控制器(450)控制如下所述的其他功能单元并且在功能上耦接至其他功能单元。为了清楚起见,没有描绘耦接。由控制器(450)设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值
……
)、图片大小、图片群组(gop)布局、最大运动矢量搜索范围等。控制器(450)可以被配置成具有其他合适的功能,这些功能属于针对某些系统设计优化的视频编码器(403)。
74.在一些实施方式中,视频编码器(403)被配置成在编码环路中进行操作。作为过于简化的描述,在示例中,编码环路可以包括:源编码器(430)(例如,负责基于要编码的输入图片和参考图片来创建符号,例如符号流);以及嵌入在视频编码器(403)中的(本地)解码器(433)。解码器(433)重建符号,以用于以与(远程)解码器也将创建的方式类似的方式创建样本数据(因为在所公开主题中考虑的视频压缩技术中,符号与经编码的视频比特流之间的任何压缩是无损的)。重建的样本流(样本数据)被输入至参考图片存储器(434)。由于符号流的解码产生与解码器位置(本地或远程)无关的比特精确结果,因此参考图片存储器(434)中的内容在本地编码器与远程编码器之间也是比特精确的。换句话说,编码器的预测部分“看到”的参考图片样本的样本值与解码器在解码期间使用预测时将“看到”的样本值完全相同。该参考图片同步性基本原理(以及在例如由于信道误差而无法保持同步性的情况下产生的漂移)也用于一些相关领域中。
[0075]“本地”解码器(433)的操作可以与已经在上面结合图3详细描述的“远程”解码器例如视频解码器(310)的操作相同。然而,还简要参照图3,当符号可用并且熵编码器(445)和解析器(320)可以无损地将符号编码/解码为经编码的视频序列时,包括缓冲存储器(315)和解析器(320)的视频解码器(310)的熵解码部分可能无法在本地解码器(433)中被完全实现。
[0076]
此时可以观察到,除了存在于解码器中的解析/熵解码之外的任何解码器技术也必定需要以基本上相同的功能形式存在于对应的编码器中。因此,所公开主题集中于解码器操作。编码器技术的描述可以简化,因为它们与全面描述的解码器技术相反。仅在某些区域中需要更详细的描述并且在下面提供了更详细的描述。
[0077]
在操作期间,在一些示例中,源编码器(430)可以执行运动补偿预测性编码,运动补偿预测性编码参考来自视频序列中被指定为“参考图片”的一个或更多个先前经编码的图片对输入图片进行预测性编码。以这种方式,编码引擎(432)对输入图片的像素块与可以被选作输入图片的预测参考的参考图片的像素块之间的差异进行编码。
[0078]
本地视频解码器(433)可以基于由源编码器(430)创建的符号对可以被指定为参考图片的图片的经编码的视频数据进行解码。编码引擎(432)的操作可以有利地是有损处理。当经编码的视频数据可以在视频解码器(图4中未示出)处解码时,重建的视频序列通常可以是具有一些误差的源视频序列的副本。本地视频解码器(433)复制可以由视频解码器对参考图片执行的解码处理,并且可以使重建的参考图片被存储在参考图片缓存(434)中。以这种方式,视频编码器(403)可以本地地存储重建的参考图片的副本,该副本与将由远端视频解码器获得的重建的参考图片具有公共内容(不存在传输误差)。
[0079]
预测器(435)可以针对编码引擎(432)执行预测搜索。也就是说,对于要编码的新图片,预测器(435)可以在参考图片存储器(434)中搜索可以用作用于新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如,参考图片运动矢量、块形状等。
预测器(435)可以基于样本块逐像素块操作以找到适当的预测参考。在一些情况下,如由预测器(435)获得的搜索结果所确定的,输入图片可以具有从参考图片存储器(434)中存储的多个参考图片提取的预测参考。
[0080]
控制器(450)可以管理源编码器(430)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群组参数。
[0081]
所有以上提及的功能单元的输出可以在熵编码器(445)中经受熵编码。熵编码器(445)可以根据诸如霍夫曼编码、可变长度编码、算术编码等的技术通过对由各种功能单元生成的符号进行无损压缩来将这些符号转换为经编码的视频序列。
[0082]
传输器(440)可以缓冲由熵编码器(445)创建的经编码的视频序列,从而为经由通信信道(460)进行传输做准备,该通信信道(460)可以是到将存储经编码的视频数据的存储设备的硬件/软件链路。传输器(440)可以将来自视频编码器(403)的经编码的视频数据与要传输的其他数据例如经编码的音频数据和/或辅助数据流(未示出源)进行合并。
[0083]
控制器(450)可以管理视频编码器(403)的操作。在编码期间,控制器(450)可以为每个经编码的图片指定特定的经编码的图片类型,这可能影响可以应用于相应图片的编码技术。例如,通常可以将图片指定为以下图片类型中之一:
[0084]
帧内图片(i图片)可以是可以在不将序列中的任何其他图片用作预测源的情况下进行编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新(“idr”)图片。本领域技术人员了解i图片的这些变体及其相应的应用和特征。
[0085]
预测性图片(p图片)可以是可以使用用至多一个运动矢量和参考索引来预测每个块的样本值的帧内预测或帧间预测进行编码和解码的图片。
[0086]
双向预测性图片(b图片)可以是可以使用用至多两个运动矢量和参考索引来预测每个块的样本值的帧内预测或帧间预测进行编码和解码的图片。类似地,多预测性图片可以使用多于两个参考图片和相关联的元数据以用于单个块的重建。
[0087]
源图片通常可以在空间上被细划分为多个样本块(例如,分别为4
×
4、8
×
8、4
×
8或16
×
16样本的块),并且逐块进行编码。可以参考其他(已经编码的)块对这些块进行预测性编码,所述其他(已经编码的)块通过应用于块的相应图片的编码分配来确定。例如,可以对i图片的块进行非预测性编码,或者可以参照同一图片的已经编码的块来对这些块进行预测性编码(空间预测或帧内预测)。可以参考一个先前经编码的参考图片经由空间预测或经由时间预测来对p图片的像素块进行预测性编码。可以参考一个或两个先前经编码的参考图片经由空间预测或经由时间预测来对b图片的块进行预测性编码。
[0088]
视频编码器(403)可以根据诸如itu-t h.265建议书的预定视频编码技术或标准来执行编码操作。在视频编码器(403)的操作中,视频编码器(403)可以执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测性编码操作。因此,经编码的视频数据可以符合由使用的视频编码技术或标准指定的语法。
[0089]
在实施方式中,传输器(440)可以传输附加数据和经编码的视频。源编码器(430)可以包括这样的数据作为经编码的视频序列的一部分。附加数据可以包括时间/空间/snr增强层、诸如冗余图片和切片的其他形式的冗余数据、sei消息、vui参数集片段等。
[0090]
视频可以按时间序列被捕获为多个源图片(视频图片)。帧内图片预测(通常被简化为帧内预测)利用给定图片中的空间相关性,而帧间图片预测利用图片之间的(时间或其
他)相关性。在示例中,被称为当前图片的正在编码/解码的特定图片被分割为块。在当前图片中的块类似于视频中先前编码的并且仍被缓冲的参考图片中的参考块时,可以通过被称为运动矢量的矢量对当前图片中的块进行编码。运动矢量指向参考图片中的参考块,并且在多个参考图片在使用中的情况下,运动矢量可以具有识别参考图片的第三维度。
[0091]
在一些实施方式中,双预测技术可以用于帧间图片预测中。根据双预测技术,使用两个参考图片,例如在解码顺序上均在视频中的当前图片之前(但在显示顺序上可能分别是过去和将来)的第一参考图片和第二参考图片。可以通过指向第一参考图片中的第一参考块的第一运动矢量和指向第二参考图片中的第二参考块的第二运动矢量来对当前图片中的块进行编码。可以通过第一参考块和第二参考块的组合来预测块。
[0092]
此外,合并模式技术可以用于帧间图片预测中以提高编码效率。
[0093]
根据本公开内容的一些实施方式,诸如帧间图片预测和帧内图片预测的预测以块为单位执行。例如,根据hevc标准,将视频图片序列中的图片被分割为编码树单元(ctu)以用于压缩,图片中的ctu具有相同的大小,例如64
×
64像素、32
×
32像素或16
×
16像素。通常,ctu包括三个编码树块(ctb),所述三个编码树块(ctb)是一个亮度ctb和两个色度ctb。每个ctu可以被递归地以四叉树拆分为一个或多个编码单元(cu)。例如,可以将64
×
64像素的ctu拆分为一个64
×
64像素的cu、或4个32
×
32像素的cu、或16个16
×
16像素的cu。在示例中,分析每个cu以确定用于cu的预测类型,例如,帧间预测类型或帧内预测类型。取决于时间和/或空间可预测性,将cu拆分为一个或更多个预测单元(pu)。通常,每个pu包括亮度预测块(pb)和两个色度pb。在实施方式中,译码(编码/解码)中的预测操作以预测块为单位来执行。使用亮度预测块作为预测块的示例,预测块包括像素值(例如,亮度值)的矩阵,例如8
×
8像素、16
×
16像素、8
×
16像素、16
×
8像素等。
[0094]
图5示出了根据本公开内容的另一实施方式的视频编码器(503)的图。视频编码器(503)被配置成接收视频图片序列中的当前视频图片内的样本值的处理块(例如,预测块),并且将处理块编码到作为经编码的视频序列的一部分的经编码的图片中。在示例中,使用视频编码器(503)替代图2示例中的视频编码器(203)。
[0095]
在hevc示例中,视频编码器(503)接收用于处理块例如8
×
8样本的预测块等的样本值的矩阵。视频编码器(503)使用例如率失真优化来确定是否使用帧内模式、帧间模式或双预测模式来对处理块进行最佳编码。当要以帧内模式对处理块进行编码时,视频编码器(503)可以使用帧内预测技术以将处理块编码到经编码的图片中;以及当要以帧间模式或双预测模式对处理块进行编码时,视频编码器(503)可以分别使用帧间预测技术或双预测技术以将处理块编码到经编码的图片中。在某些视频编码技术中,合并模式可以是帧间图片预测子模式,其中在不借助于预测器外部的经编码的运动矢量分量的情况下,从一个或更多个运动矢量预测器得出运动矢量。在某些其他视频编码技术中,可以存在适用于主题块的运动矢量分量。在示例中,视频编码器(503)包括其他部件,例如用于确定处理块的模式的模式决策模块(未示出)。
[0096]
在图5示例中,视频编码器(503)包括如图5所示耦接在一起的帧间编码器(530)、帧内编码器(522)、残差计算器(523)、开关(526)、残差编码器(524)、通用控制器(521)和熵编码器(525)。
[0097]
帧间编码器(530)被配置成:接收当前块(例如,处理块)的样本;将该块与参考图
片中的一个或更多个参考块(例如,先前图片和后续图片中的块)进行比较;生成帧间预测信息(例如,运动矢量、合并模式信息、根据帧间编码技术的冗余信息的描述);以及基于帧间预测信息使用任何合适的技术计算帧间预测结果(例如,预测的块)。在一些示例中,参考图片是基于经编码的视频信息进行解码的经解码的参考图片。
[0098]
帧内编码器(522)被配置成:接收当前块(例如,处理块)的样本;在一些情况下将该块与同一图片中已经编码的块进行比较;在变换之后生成量化系数;以及在一些情况下还生成帧内预测信息(例如,根据一个或更多个帧内编码技术的帧内预测方向信息)。在示例中,帧内编码器(522)还基于帧内预测信息和同一图片中的参考块来计算帧内预测结果(例如,预测的块)。
[0099]
通用控制器(521)被配置成确定通用控制数据并且基于通用控制数据来控制视频编码器(503)的其他部件。在示例中,通用控制器(521)确定块的模式,并且基于该模式向开关(526)提供控制信号。例如,当模式是帧内模式时,通用控制器(521)控制开关(526)以选择供残差计算器(523)使用的帧内模式结果,并且控制熵编码器(525)以选择帧内预测信息并且将帧内预测信息包括在比特流中;以及当模式是帧间模式时,通用控制器(521)控制开关(526)以选择供残差计算器(523)使用的帧间预测结果,并且控制熵编码器(525)以选择帧间预测信息并且将帧间预测信息包括在比特流中。
[0100]
残差计算器(523)被配置成计算接收到的块与选自帧内编码器(522)或帧间编码器(530)的预测结果之间的差(残差数据)。残差编码器(524)被配置成基于残差数据进行操作以对残差数据进行编码以生成变换系数。在示例中,残差编码器(524)被配置成将残差数据从空间域转换至频域并且生成变换系数。变换系数然后经受量化处理以获得量化变换系数。在各种实施方式中,视频编码器(503)还包括残差解码器(528)。残差解码器(528)被配置成执行逆变换并生成经解码的残差数据。经解码的残差数据可以合适地由帧内编码器(522)和帧间编码器(530)使用。例如,帧间编码器(530)可以基于经解码的残差数据和帧间预测信息来生成解码块,并且帧内编码器(522)可以基于经解码的残差数据和帧内预测信息来生成经解码的块。在一些示例中,对经解码的块进行适当处理以生成经解码的图片,并且经解码的图片可以在存储器电路(未示出)中缓冲并且用作参考图片。
[0101]
熵编码器(525)被配置成对比特流进行格式化以包括经编码的块。熵编码器(525)被配置成包括根据诸如hevc标准的合适标准的各种信息。在示例中,熵编码器(525)被配置成将通用控制数据、所选择的预测信息(例如,帧内预测信息或帧间预测信息)、残差信息和其他合适的信息包括在比特流中。注意,根据所公开主题,当以帧间模式或双预测模式的合并子模式对块进行编码时,不存在残差信息。
[0102]
图6示出了根据本公开内容的另一实施方式的视频解码器(610)的图。视频解码器(610)被配置成接收作为经编码的视频序列的一部分的经编码的图片,并且对经编码的图片进行解码以生成重建的图片。在示例中,使用视频解码器(610)替代图2示例中的视频解码器(210)。
[0103]
在图6示例中,视频解码器(610)包括如图6所示耦接在一起的熵解码器(671)、帧间解码器(680)、残差解码器(673)、重建模块(674)和帧内解码器(672)。
[0104]
熵解码器(671)可以被配置成根据经编码的图片来重建某些符号,这些符号表示构成经编码的图片的语法元素。这样的符号可以包括:例如,其中对块进行编码的模式(诸
如例如,帧内模式、帧间模式、双预测模式、后两者的合并子模式或另一子模式);可以分别标识供帧内解码器(672)或帧间解码器(680)进行预测所使用的某些样本或元数据的预测信息(诸如例如,帧内预测信息或帧间预测信息);呈例如量化变换系数形式的残差信息等。在示例中,当预测模式是帧间模式或双预测模式时,将帧间预测信息提供至帧间解码器(680);以及当预测类型是帧内预测类型时,将帧内预测信息提供至帧内解码器(672)。残差信息可以经受逆量化并且被提供至残差解码器(673)。
[0105]
帧间解码器(680)被配置成:接收帧间预测信息,以及基于帧间预测信息来生成帧间预测结果。
[0106]
帧内解码器(672)被配置成:接收帧内预测信息,以及基于帧内预测信息来生成预测结果。
[0107]
残差解码器(673)被配置成:执行逆量化以提取去量化变换系数,以及处理去量化变换系数以将残差从频域转换至空间域。残差解码器(673)还可能需要某些控制信息(以包括量化器参数(qp)),并且所述信息可以由熵解码器(671)提供(未描绘数据路径,因为这可能仅是低量控制信息)。
[0108]
重建模块(674)被配置成:在空间域中将由残差解码器(673)输出的残差与预测结果(视情况而定,由帧间预测模块或帧内预测模块输出)组合以形成重建的块,该重建的块可以是重建的图片的一部分,该重建的图片进而可以是重建的视频的一部分。注意,可以执行诸如解块操作等的其他合适的操作来提高视觉质量。
[0109]
注意,可以使用任何合适的技术来实现视频编码器(203)、(403)和(503)以及视频解码器(210)、(310)和(610)。在实施方式中,可以使用一个或更多个集成电路来实现视频编码器(203)、(403)和(503)以及视频解码器(210)、(310)和(610)。在另一实施方式中,可以使用执行软件指令的一个或更多个处理器来实现视频编码器(203)、(403)和(403)以及视频解码器(210)、(310)和(610)。
[0110]
本公开内容的各方面提供了用于非矩形分区例如l形分区等的变换方案。
[0111]
通常,图片被分割为块,并且块可以是用于各种处理例如编码、预测、变换等的单元。可以使用各种块分区技术。
[0112]
图7示出了由开放媒体联盟(aomedia)在视频编码格式vp9中使用的分区技术的示例。例如,图片(710)被分割为大小为64
×
64(例如,64个样本
×
64个样本)的多个块(720)。此外,4路分区树可以从64
×
64级别开始向下到较小的块,并且最低级别可以是4
×
4级别(例如,块大小为4个样本
×
4个样本)。在一些示例中,一些附加限制可以应用于8
×
8及以下的块。在图7示例中,可以使用第一路(721)、第二路(722)、第三路(723)和第四路(724)中的一个将64
×
64块(720)分割为较小的块。请注意,指定为r的分区(在第四路(724)中示出)称为递归分区,因为可以在较低的级别下重复相同的分区树,直到最低的4
×
4级别。
[0113]
图8示出了在针对通过因特网进行的视频传输而设计的视频编码格式aomedia video 1(av1)中使用的分区技术的示例。av1是作为vp9的继承者开发的。例如,图片(810)被分割为大小为128
×
128(例如,128个样本
×
128个样本)的多个块(820)。此外,10路分区结构可以从128
×
128开始向下到较小的块。在图8示例中,可以使用十路(821)至(830)中的一路将128
×
128块分割为较小的块。av1不仅将分区树扩展为10路结构,而且将最大尺寸(在vp9/av1用语中称为超级块)增加到从128
×
128开始。注意,10路结构包括vp9中不存在
的4:1/1:4矩形分区。在示例中,没有一个矩形分区可以被进一步细划分。此外,av1为使用低于8
×
8级别的分区增加了更大的灵活性,在这种意义上现在可以在某些情况下进行2
×
2色度帧间预测。
[0114]
在一些示例中,块分区结构被称为编码树。在示例(例如,hevc)中,编码树可以具有四叉树结构,其中每个拆分将较大的正方形块拆分为四个较小的正方形块。在一些示例中,将图片拆分为编码树单元(ctu),然后使用四叉树结构将ctu拆分为较小的块。根据四叉树结构,将编码树单元(ctu)拆分为编码单元(cu),以适应各种局部特征。可以在cu级别上做出关于是使用帧间图片(时间)预测还是帧内图片(空间)预测来对图片区域进行编码的决策。每个cu可以根据pu拆分类型被进一步拆分为一个、两个或四个预测单元(pu)。在一个pu内,应用相同的预测处理,并且基于pu将相关信息传输至解码器。
[0115]
在通过基于pu拆分类型应用预测处理获得残差块之后,可以根据另一四叉树结构将cu分割为变换单元(tu)。在hevc的示例中,存在包括cu、pu和tu的多个分区概念。在一些实施方式中,cu或tu可以仅为正方形形状,而pu可以是正方形或矩形形状。在一些实施方式中,可以将一个编码块进一步拆分为四个正方形子块,并且对每个子块即tu执行变换。可以使用称为残差四叉树(rqt)的四叉树结构将每个tu进一步递归地拆分为较小的tu。
[0116]
在一些示例(例如,hevc)中,在图片边界处,可以采用隐式四叉树拆分,使得块将保持四叉树拆分,直到大小适合图片边界。
[0117]
在一些示例(例如,vvc)中,块分区结构可以使用四叉树加二叉树(qtbt)块分区结构。qtbt结构可以去除多种分区类型的概念(cu、pu和tu概念),并且支持cu分区形状的更大灵活性。在qtbt块分区结构中,cu可以具有方形或矩形形状。
[0118]
图9a示出了通过使用图9b所示的qtbt块分区结构(920)进行分割的ctu(910)。ctu(910)首先通过四叉树结构进行分割。四叉树叶节点通过二叉树结构或四叉树结构进一步分割。在二叉树拆分中可以存在两种拆分类型,对称水平拆分(例如,在qtbt块分区结构(920)中标记为“0”)和对称垂直拆分(例如,在qtbt块分区结构(920)中标记为“1”)。无需进一步拆分的叶节点称为cu,cu可以用于预测和变换处理而无需任何进一步拆分。因此,cu、pu和tu在qtbt块分区结构中具有相同的块大小。
[0119]
在一些示例(例如,jem)中,cu可以包括不同颜色分量的编码块(cb)。例如,在4:2:0色度格式的p切片和b切片的情况下,一个cu包含一个亮度cb和两个色度cb。cu可以包括单一颜色分量的cb。例如,在i切片的情况下,一个cu仅包含一个亮度cb或仅包含两个色度cb。
[0120]
在一些实施方式中,针对qtbt块分区方案定义了以下参数:
[0121]

ctu大小:四叉树的根节点大小,例如与hevc中相同的概念。
[0122]

minqtsize:允许的最小四叉树叶节点大小。
[0123]

maxbtsize:允许的最大二叉树根节点大小。
[0124]

maxbtdepth:允许的最大二叉树深度。
[0125]

minbtsize:允许的最小二叉树叶节点大小。
[0126]
在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的二叉树深度。
[0127]
当二叉树深度达到maxbtdepth(即4)时,不再考虑进一步的拆分。当二叉树节点的宽度等于minbtsize(即4)时,不再考虑进一步的水平拆分。类似地,当二叉树节点的高度等于minbtsize时,不再考虑进一步的垂直拆分。二叉树的叶节点通过预测和变换处理被进一步处理而无需任何进一步的分区。在实施方式中,最大ctu大小为256
×
256亮度样本。
[0128]
在图9a和图9b中,实线指示四叉树拆分并且虚线指示二叉树拆分。在二叉树的每个拆分(即,非叶)节点中,用信号通知指示使用哪种拆分类型(即,水平或垂直)的一个标记。例如,0指示水平拆分,并且1指示垂直拆分。对于四叉树拆分,不需要指示拆分类型,因为四叉树拆分可以将块既水平又垂直地进行拆分,以产生大小相等的4个子块。
[0129]
在一些实施方式中,qtbt块分区方案支持亮度和色度具有单独qtbt块分区结构的灵活性。例如,对于p切片和b切片,一个ctu中的亮度块和色度块共享相同的qtbt块分区结构。然而,对于i切片,亮度ctb通过qtbt块分区结构被分割为cu,并且色度块通过另一qtbt块分区结构被分割为色度cu。因此,i切片中的cu由亮度分量的编码块或两个色度分量的编码块组成,并且p切片或b切片中的cu由所有三个颜色分量的编码块组成。
[0130]
在一些示例(例如,hevc)中,限制小块的帧间预测以减少运动补偿的内存访问。例如,4
×
8和8
×
4块不支持双预测,并且4
×
4块不支持帧间预测。
[0131]
此外,在一些示例(例如,vcc)中,使用多类型树(mtt)块分区结构。mtt块分区结构是比qtbt块分区结构更灵活的树结构。在mtt中,除了四叉树分区和二叉树分区以外,可以使用水平中心侧三叉树分区和垂直中心侧三叉树分区。
[0132]
图10a示出了垂直中心侧三叉树分区的示例,以及图10b示出了水平中心侧三叉树分区的示例。三叉树分区可以补充四叉树分区和二叉树分区。例如,三叉树分区能够捕获位于块中心的对象,而四叉树和二叉树可以沿块中心进行拆分。通过三叉树进行的分区的宽度和高度是2的幂,使得不需要附加的变换分区。
[0133]
块分区的设计主要是为了降低复杂度。理论上,遍历树的复杂度为td,其中,t表示拆分类型的数目,并且d表示树的深度。
[0134]
根据本公开内容的一些方面,可以在块分区中使用非矩形形状分区,例如l形分区等。例如,编码单元或编码块可以具有l形。
[0135]
图11示出了作为来自块分区的分区中的一个分区的l形块(1100)。例如,替代使用矩形块分区,l型分区可以将块拆分为一个或更多个l形分区和一个或更多个矩形分区。如图11所示,l形(或l型)分区可以由四个参数限定,这四个参数被称为宽度、较短宽度、高度和较短高度。l形分区(1100)可以被合适地旋转或翻转。
[0136]
图12示出了根据本公开内容的一些实施方式的l型分区树的示例(1210)、(1220)、(1230)和(1240)。在(1210)、(1220)、(1230)和(1240)的示例中,矩形块可以被分割为两个分区,包括一个l形分区(用“1”示出)和一个矩形分区(用“0”示出)。
[0137]
在一些示例(例如,av1)中,可以执行变换块分区以生成变换块。对于帧内编码块和帧间编码块两者,编码块可以被进一步分割为多个变换单元,其中分区深度高达2个级别
(两个深度)。在示例中,使用从当前深度到下一深度的1-1大小映射。
[0138]
图13示出了从当前深度的变换大小到下一深度的变换大小的大小映射的表。注意,表中的数字指的是样本的数目。例如,最后一行指示,当当前深度的变换单元大小为64个样本乘以16个样本并且变换单元被进一步拆分时,则下一深度的变换单元大小为32个样本乘以16个样本。
[0139]
在一些示例中,帧内编码块和帧间编码块可以使用不同的变换分区技术。
[0140]
图14示出了用于帧内编码块的变换分区的示例。对于帧内编码块,以所有变换块具有相同大小的方式进行变换分区,并且按光栅扫描顺序对变换块进行编码。例如,可以(例如,使用四叉树分区)将帧内编码块(1410)分割为四个相同大小的变换块,如由(1420)所示。在另一示例中,可以(例如,使用两个深度的四叉树分区)将帧内编码块(1410)分割为16个相同大小的块,如由(1430)所示。变换块可以按图14中箭头线所示的光栅扫描顺序进行编码。
[0141]
对于帧间编码块,可以以递归方式进行变换单元分区,其中分区深度高达2个级别(2个深度)。帧间编码块中的变换分区可以支持不同的形状,例如,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)变换块的倍数。
[0142]
图15示出了用于帧间编码块的变换分区的示例。例如,在第一变换分区深度处,(例如,使用四叉树分区)将帧内编码块(1510)分割为四个相同大小的变换块a、b、c和d。然后,在第二变换分区深度处,(例如,使用四叉树分区)将变换块b分割为四个变换块b1、b2、b3和b4。变换块可以按光栅扫描顺序例如以a、b1、b2、b3、b4、c和d的顺序进行编码,如图15中的箭头线所示。
[0143]
注意,当编码块是l形分区时,并且在预测之后,残差可以具有l形并且残差块可以被称为l形残差块。在以下变换方案的描述中,可以使用l形分区来限定处理单元的几何属性,并且处理单元可以是残差块、变换系数块、中间变换系数块等中的任一个。本公开内容的各方面提供了用于非矩形形状的残差块例如l形残差块等的变换方案。
[0144]
还应当注意,在以下描述中,虽然针对l形分区对变换方案进行了说明,但是变换方案可以合适地用于其他非矩形块上,
[0145]
根据本公开内容的方面,对于l形分区(例如,l形编码块),可以将变换应用于整个l形残差块。在一些实施方式中,可以将可分离的二维变换应用于整个l形残差块。在一些实施方式中,可以将不可分离的变换应用于整个l形残差块。在一些实施方式中,合适地调整l形残差块以形成矩形残差块,并且可以将变换应用于矩形残差块。
[0146]
根据本公开内容的另一方面,l形分区(例如,l形残差块、l形变换系数块)可以进一步拆分为多个变换单元,例如多个矩形形状的变换单元。然后,可以分别对变换单元例如多个矩形形状的变换单元执行变换。
[0147]
在一些实施方式中,可以在比特流中用信号通知l形分区是否被拆分。在示例中,序列级别标记用于指示针对当前序列中的l形分区是否允许进一步拆分。当序列级别标记指示不允许对当前序列进行进一步拆分时,则将变换应用于序列中的整个l形残差块中的
每一个。当序列级别标记指示允许对当前序列进一步拆分时,可以使用编码块级别标记来用信号通知是否对当前l形编码块应用进一步拆分。
[0148]
根据本公开内容的方面,可以将l形编码块分割为两个或更多个矩形子块,例如至少两个正方形或非正方形的矩形子块。矩形子块可以用作变换单元。然后,可以将用于矩形块的变换方案应用于每个矩形子块的残差。
[0149]
在一些实施方式中,可以将l形编码块分割为3个相同大小的矩形变换单元。矩形变换单元可以是正方形或非正方形的矩形。此外,在一些示例中,每个变换单元可以单独拆分或不拆分。
[0150]
图16示出了根据本公开内容的实施方式的用于l形分区的变换分区的示例。在图16中,l形块(1600)(例如,编码单元)被分割为三个矩形块(1601)至(1603)(例如,变换单元)。分区(也被称为变换拆分)由虚线表示。在示例中,三个矩形块(1601)至(1603)可以是三个变换单元。
[0151]
在实施方式中,对于l形分区的帧内编码块,l形分区内的所有变换单元具有相同的大小。使用图16作为示例,l形块(1600)是帧内编码块,并且矩形块(1601)至(1603)具有正方形形状并且具有相同的大小。
[0152]
在另一实施方式中,对于l形分区的帧间编码块,变换单元可以被单独地进一步拆分为较小的变换单元。
[0153]
图17示出了根据本公开内容的实施方式的用于l形分区的变换分区的示例。在图17中,l形块(1700)被分割为三个矩形块(1701)至(1703)。分区(也被称为变换拆分)由虚线表示。此外,矩形块(1701)和(1703)没有被进一步拆分,但是矩形块(1702)被进一步拆分为四个矩形块a至d。然后,在示例中,块(1701)、(1703)和a至d可以是变换单元。在示例中,块(1701)、(1703)和a至d可以具有正方形形状。
[0154]
在一些实施方式中,可以将l形编码块分割为具有不同大小和/或纵横比的多个变换单元。在示例中,可以将l形编码块分割为两个变换单元,例如正方形的变换单元和非正方形的矩形变换单元。此外,可以单独决定每个变换单元的进一步拆分。
[0155]
图18示出了根据本公开内容的一些实施方式的用于l形分区的变换分区的两个示例。在图18中,通过由虚线表示的垂直拆分将l形块(1810)分割为两个矩形块(1811)和(1812)。在示例中,块(1811)和(1812)中的至少一个例如(1811)具有正方形形状。此外,在图18中,通过由虚线表示的水平拆分将l形块(1820)分割为两个矩形块(1821)和(1822)。在示例中,块(1821)和(1822)中的至少一个例如(1821)具有正方形形状。
[0156]
在实施方式中,当变换单元具有正方形形状时,可以单独决定变换单元的进一步拆分,并且不能对非正方形的矩形变换单元应用进一步拆分。
[0157]
在另一实施方式中,可以单独决定正方形的变换单元和非正方形的矩形变换单元两者的进一步拆分。
[0158]
在一些实施方式中,仅当l形编码单元是帧间编码块时,才可以将l形编码块分割为一个正方形的变换单元和一个非正方形的矩形变换单元。
[0159]
在一些实施方式中,可以将l形编码块分割为3个正方形或非正方形的矩形变换单元。3个变换单元的大小可以相同,或者可以不同。此外,可以单独决定每个变换单元的进一步拆分。
[0160]
图19示出了根据本公开内容的一些实施方式的用于l形分区的变换分区的示例。在图19中,通过由虚线表示的垂直拆分和水平拆分将l形块(1910)分割为三个矩形块(1911)、(1912)和(1913)。
[0161]
注意,l形编码块的残差可以具有与编码块相同的l形,并且可以被称为l形残差块。在以下描述中,l形分区可以用于指代l形残差块。本公开内容的一些方面还提供了如下技术:对l形残差块使用可分离的变换例如包括水平变换和垂直变换的可分离的二维变换,而无需进一步将l形残差块拆分为矩形块。当对l形分区执行可分离的二维变换时,对于l形残差块的不同行/列,变换大小可以不同。
[0162]
在实施方式中,当对l形分区的每一行的残差样本(也被称为输入样本)进行水平变换时,根据行中残差样本(输入样本)的数目来调整变换大小。例如,变换大小与相应行的残差样本的数目相同。
[0163]
图20示出了根据本公开内容的实施方式的变换大小调整的示例。在图20中,l形变换单元(2000)包括分别被称为row1至row8的8行。row1至row4中的每一行包括8个样本,并且row5至row8中的每一行包括4个样本。在示例中,可以对前四行(row1至row4)中的每一行执行8点变换,并且可以对最后四行row5至row8中的每一行执行4点变换。
[0164]
在另一实施方式中,当对l分区的每一列的残差样本(也被称为输入样本)进行垂直变换时,根据列中残差样本的数目来调整变换大小。例如,变换大小与相应列的残差样本的数目相同。
[0165]
图21示出了根据本公开内容的实施方式的变换大小调整的示例。在图21中,l形变换单元(2100)包括分别被称为col1至col8的8列。col1至col4中的每一列包括8个样本,并且col5至col8中的每一列包括4个样本。在示例中,对前四列col1至col4中的每一列执行8点变换,并且对最后四列col5至col8中的每一列执行4点变换。
[0166]
根据本公开内容的方面,可以通过顺序地执行水平变换和垂直变换例如按水平变换和垂直变换的顺序、或者按垂直变换和水平变换的顺序来执行针对l形分区的二维变换。
[0167]
在一些实施方式中,按水平变换和垂直变换的顺序执行二维变换。当将水平变换应用于l形的残差块时,对于k个样本(k为正整数)的行,确定行中的k个变换系数。注意,对于不同的行,变换系数的数目可以不同。在应用水平变换之后,行的变换系数被合适地对准到变换系数块中,然后可以将垂直变换应用于变换系数块。在实施方式中,行的变换系数向左对准,并且变换系数块具有与残差块相同的形状。
[0168]
图22示出了按水平变换和垂直变换的顺序应用二维变换的示例。在图22示例中,将水平变换应用于l形的残差块(2210)。具体地,l形残差块(2210)包括分别被称为row1至row8的8行。row1至row4中的每一行包括8个残差样本,并且row5至row8中的每一行包括4个残差样本。在示例中,可以对前四行row1至row4中的每一行执行8点变换,以确定前四行row1至row4中的每一行中的8个变换系数;以及可以对最后四行row5至row8中的每一行执行4点变换,以确定最后四行row5至row8中的每一行中的4个变换系数。
[0169]
然后,将row1至row8的变换系数向左对准,以形成与残差块(2210)具有相同l形的变换系数块(2220)。然后,将垂直变换应用于l形的变换系数块(2220)。具体地,l形变换系数块(2220)包括分别被称为col1至col8的8列。col1至col4中的每一列包括8个变换系数样本,并且col5至col8中的每一列包括4个变换系数样本。在示例中,可以对前四列col1至
col4中的每一列执行8点变换,以确定前四列col1至col4中的每一列中的8个最终变换系数;以及可以对最后四列col5至col8中的每一列执行4点变换,以确定最后四列col5至col8中的每一列中的4个最终变换系数。
[0170]
在一些实施方式中,按垂直变换和水平变换的顺序执行二维变换。当将垂直变换应用于l形的残差块时,对于k个样本(k为正整数)的列,确定列中的k个变换系数。注意,对于不同的列,列的变换系数的数目可以不同。在应用垂直变换之后,列的变换系数可以被合适地对准到变换系数块中,然后可以将水平变换应用于变换系数块。在实施方式中,列的变换系数与顶部对准,并且变换系数块具有与残差块相同的形状。
[0171]
图23示出了按垂直变换和水平变换的顺序应用二维变换的示例。在图23示例中,将垂直变换应用于l形的残差块(2310)。具体地,l形残差块(2310)包括分别被称为col1至col8的8列。col1至col4中的每一列包括8个残差样本,并且col5至col8中的每一列包括4个残差样本。在示例中,可以对前四列col1至col4中的每一列执行8点变换,以确定前四列col1至col4中的每一列中的8个变换系数;以及可以对最后四列col5至col8中的每一列执行4点变换,以确定最后四列col5至col8中的每一列中的4个变换系数。
[0172]
然后,将col1至col8的变换系数与顶部对准以形成具有与残差块(2310)相同的l形的变换系数块(2320)。然后,将水平变换应用于l形的变换系数块(2320)。具体地,l形变换系数块(2320)包括分别被称为row1至row8的8行。row1至row4中的每一行包括8个变换系数样本,并且row5至row8中的每一行包括4个变换系数样本。在示例中,可以对前四行row1至row4中的每一行执行8点变换,以确定前四行row1至row4中的每一行中的8个最终变换系数;以及可以对最后四行row5至row8中的每一行执行4点变换,以确定最后四行row5至row8中的每一行中的4个最终变换系数。
[0173]
根据本公开内容的方面,对于二维变换,在第一变换之后,变换系数可以以其他合适的方式对准,以形成具有与残差块不同形状的变换系数块,然后可以将第二变换应用于变换系数块以确定最终变换系数。
[0174]
在示例中,按水平变换和垂直变换的顺序执行二维变换。当将水平变换应用于l形的残差块时,对于k个样本(k为正整数)的行,确定行中的k个变换系数。注意,对于不同的行,变换系数的数目可以不同。在应用水平变换之后,行的变换系数被合适地对准(例如,基于能量曲线相似性以获得更好的编码效率)到变换系数块中,然后可以将垂直变换应用于变换系数块。在示例中,具有较小数目的变换系数的行的变换系数与具有较大数目的变换系数的行的变换系数的所选择位置(例如,奇数位置或偶数位置)对准。
[0175]
图24示出了按水平变换和垂直变换的顺序应用二维变换的示例。在图24示例中,将水平变换应用于l形的残差块(2410)。具体地,l形残差块(2410)包括分别被称为row1至row8的8行。row1至row4中的每一行包括8个残差样本,并且row5至row8中的每一行包括4个残差样本。在示例中,可以对前四行row1至row4中的每一行执行8点变换,以确定前四行row1至row4中的每一行中的8个变换系数;以及可以对最后四行row5至row8中的每一行执行4点变换,以确定最后四行row5至row8中的每一行中的4个变换系数。
[0176]
然后,将row5至row8的变换系数对准到row1至row4的奇数列位置,以形成具有与残差块(2410)不同形状的变换系数块(2420)。然后,将垂直变换应用于非矩形形状的变换系数块(2420)。具体地,变换系数块(2420)包括分别被称为col1至col8的8列。奇数列col1、
col3、col5和col7中的每一个包括8个变换系数样本,并且偶数列col2、col4、col6和col8中的每一列包括4个变换系数样本。在示例中,可以对奇数列col1、col3、col5和col7中的每一列执行8点变换,以确定奇数列col1、col3、col5和col7中的每一列中的8个最终变换系数;以及可以对偶数列col2、col4、col6和col8中的每一列执行4点变换,以确定偶数列col2、col4、col6和col8中的每一列中的4个最终变换系数。
[0177]
在一些实施方式中,按垂直变换和水平变换的顺序执行二维变换。当将垂直变换应用于l形的残差块时,对于k个样本(k为正整数)的列,确定列中的k个变换系数。注意,对于不同的列,列的变换系数的数目可以不同。在应用垂直变换之后,列的变换系数被合适地对准(例如,基于能量)到变换系数块中,然后可以将水平变换应用于变换系数块。在示例中,具有较小数目的变换系数的列的变换系数与具有较大数目的变换系数的列的变换系数的所选择位置(例如,奇数位置或偶数位置)对准。
[0178]
图25示出了按垂直变换和水平变换的顺序应用二维变换的示例。在图25示例中,将垂直变换应用于l形的残差块(2510)。具体地,l形残差块(2510)包括分别被称为col1至col8的8列。col1至col4中的每一列包括8个残差样本,并且col5至col8中的每一列包括4个残差样本。在示例中,可以对前四列col1至col4中的每一列执行8点变换,以确定前四列col1至col4中的每一列中的8个变换系数;以及可以对最后四列col5至col8中的每一列执行4点变换,以确定最后四列col5至col8中的每一列中的4个变换系数。
[0179]
然后,将col5至col8的变换系数对准到col1至col4的奇数行位置,以形成具有与残差块(2510)不同形状的变换系数块(2520)。然后,将水平变换应用于l形的变换系数块(2520)。具体地,l形变换系数块(2520)包括分别被称为row1至row8的8行。奇数行row1、row3、row5和row7中的每一行包括8个变换系数样本,并且偶数行row2、row4、row6和row8中的每一行包括4个变换系数样本。在示例中,可以对奇数行row1、row3、row5和row7中的每一行执行8点变换,以确定奇数行row1、row3、row5和row7中的每一行中的8个最终变换系数;以及可以对偶数行row2、row4、row6和row8中的每一行执行4点变换,以确定偶数行row2、row4、row6和row8中的每一行中的4个最终变换系数。
[0180]
在一些实施方式中,矩形形状的变换系数的扫描技术可以被合适地调整,以用于在熵编码期间扫描非矩形形状的变换系数。例如,当对具有水平方向上的最大w样本和垂直方向上的最大h样本的l分区的变换系数执行熵编码时,首先得出w
×
h矩形块的扫描顺序。然后,沿扫描顺序,如果扫描位置指向l分区外部的样本位置,则可以跳过扫描位置,并且扫描继续到下一扫描位置。系数扫描过程直到l分区的所有样本都已经被扫描完才结束。
[0181]
图26示出了根据本公开内容的实施方式的l形分区(2600)的扫描顺序的示例。在图26示例中,首先得出针对8
×
8块的之字形扫描顺序(2610),然后通过跳过l形分区外部的样本来得出l形分区的扫描顺序。在图26示例中,l形分区中的实际扫描位置用实线示出,并且l形分区外部的跳过位置用虚线示出。
[0182]
在一些实施方式中,在l分区上的二维变换中使用不可分离的变换。在实施方式中,不可分离的变换可以是klt。使用图26中的l形分区作为示例,l形分区(2600)包括48个样本,并且48个样本可以形成48个元素的矢量,然后可以对矢量执行klt变换以生成例如48个变换系数。
[0183]
在一些实施方式中,当对l形分区执行二维变换时,可以执行填充以在l形分区外
部的位置处添加附加样本,然后所添加的样本和l形分区中的样本可以形成虚拟矩形块。此外,可以将用于矩形块的2d变换技术应用于虚拟矩形块,以得出该l分区的变换系数。
[0184]
在实施方式中,使用l形分区中的现有样本来得出附加样本。
[0185]
在另一实施方式中,使用预定义值来得出附加样本。
[0186]
图27示出了概述根据本公开内容的实施方式的处理(2700)的流程图。处理(2700)可以用于块的重建,以生成针对重建中的块的预测块。在各种实施方式中,处理(2700)由如下处理电路系统来执行:例如,终端设备(110)、(120)、(130)和(140)中的处理电路系统、执行视频编码器(203)的功能的处理电路系统、执行视频解码器(210)的功能的处理电路系统、执行视频解码器(310)的功能的处理电路系统、执行视频编码器(403)的功能的处理电路系统等。在一些实施方式中,处理(2700)以软件指令来实现,因此当处理电路系统执行软件指令时,处理电路系统执行处理(2700)。处理从(s2701)处开始并进行至(s2710)。
[0187]
在(s2710)处,根据经编码的视频比特流,对与图片的非矩形分区的编码块相关联的变换系数进行解码。
[0188]
在一些实施方式中,在编码器侧,可以通过遵循包括非矩形分区的矩形单元的扫描顺序并且跳过非矩形分区之外的位置来扫描非矩形分区的变换单元中的变换系数。因此,在解码器侧,可以通过遵循包括非矩形分区的矩形单元的扫描顺序并且跳过非矩形分区之外的位置来形成用于非矩形分区的变换单元。
[0189]
在(s2720)处,基于变换系数来确定编码块的残差。
[0190]
根据本公开内容的一些方面,在编码器侧通过将非矩形分区进一步分割为两个或更多个矩形分区来生成变换系数,然后在解码器侧,可以基于变换系数来分别确定针对各个矩形分区的残差。在一些实施方式中,在解码器侧,基于变换系数中的第一变换系数来确定第一矩形子块的第一残差。第一矩形子块是非矩形分区的第一分区。此外,基于变换系数中的第二变换系数来确定第二矩形子块的第二残差。第二矩形子块是非矩形分区的第二分区。第二矩形子块可以具有与第一矩形子块相同的大小,或者可以具有与第一矩形子块不同的大小。在一些实施方式中,可以根据变换系数确定多于两个的矩形子块的残差。在一些示例中,矩形子块可以具有正方形形状。
[0191]
根据本公开内容的一些其他方面,在编码器侧通过对整个非矩形部分执行变换来生成变换系数,然后在解码器侧,将逆变换合适地应用于变换系数以确定残差。
[0192]
在一些实施方式中,编码器侧应用可分离的二维变换。在一些示例中,在解码器侧,通过在第一方向上对变换单元执行逆变换来确定中间变换单元的中间变换系数。变换单元由变换系数形成。然后,通过在第二方向上对中间变换单元执行逆变换来确定编码块的残差。在一些示例中,中间变换单元和变换单元可以具有与非矩形分区相同的形状和大小。在一些其他示例中,可以在编码器侧执行对准以实现更好的编码效率,因此,在解码器侧,可以在逆变换之前执行重新对准。
[0193]
在一些示例中,第一方向是垂直方向,并且第二方向是水平方向。例如,分别对变换单元的第一多个列执行第一逆变换操作。第一逆变换操作分别是第一点数的逆变换,例如示例中的8点逆变换。分别对变换单元的第二多个列执行第二逆变换操作。第二逆变换分别是第二点数的逆变换,例如示例中的4点逆变换。此外,分别对中间变换单元的第一多个行执行第三逆变换操作。第三逆变换操作分别是第三点数的逆变换,例如示例中的8点逆变
换。然后分别对中间变换单元的第二多个行执行第四逆变换操作。第四逆变换操作分别是第四点数的逆变换,例如示例中的4点逆变换。
[0194]
在一些示例中,第一方向是水平方向,并且第二方向是垂直方向。例如,分别对变换单元的第一多个行执行第一逆变换操作。第一逆变换操作分别是第一点数的逆变换,例如示例中的4点逆变换。分别对变换单元的第二多个行执行第二逆变换操作。第二逆变换分别是第二点数的逆变换,例如示例中的8点逆变换。此外,分别对中间变换单元的第一多个列执行第三逆变换操作。第三逆变换操作分别是第三点数的逆变换,例如示例中的4点逆变换。分别对中间变换单元的第二多个列执行第四逆变换操作。第四逆变换操作分别是第四点数的逆变换,例如示例中的8点逆变换。
[0195]
根据本公开内容的另一方面,在编码器侧通过对整个非矩形部分进行卡洛南-洛伊变换(karhunen-loeve transform,klt)来生成变换系数,然后在解码器侧,可以将逆卡洛南-洛伊变换(klt)合适地应用于变换系数以确定残差。
[0196]
根据本公开内容的另一方面,在编码器侧,可以执行填充以将附加样本添加至编码块,以形成包括非矩形分区的矩形单元,然后可以对矩形单元执行变换。因此,在一些实施方式中,在解码器侧,可以通过对变换系数执行二维逆变换来确定包括非矩形分区的矩形单元的第一残差,然后可以从矩形单元的第一残差中选择编码块的残差。
[0197]
在(s2730)处,基于残差来重建编码块的样本。例如,可以执行编码块的合适预测,然后将残差合适地添加至预测。然后,处理进行至s2799并终止。
[0198]
上面所描述的技术可以实现为使用计算机可读指令并且物理地存储在一个或更多个计算机可读介质中的计算机软件。例如,图28示出了适合于实现所公开主题的某些实施方式的计算机系统(2800)。
[0199]
可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,所述任何合适的机器代码或计算机语言可能经受汇编、编译、链接等机制来创建代码,所述代码包括可以由一个或更多个计算机中央处理单元(cpu)、图形处理单元(gpu)等直接执行或者通过解译、微代码执行等来执行的指令。
[0200]
指令可以在各种类型的计算机或其部件上被执行,所述各种类型的计算机或其部件包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
[0201]
图28中示出的用于计算机系统(2800)的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。部件的配置也不应当被解释为具有与计算机系统(2800)的示例性实施方式中示出的部件中的任何一个部件或部件的组合有关的任何依赖性或要求。
[0202]
计算机系统(2800)可以包括某些人机接口输入设备。这样的人机接口输入设备可以响应于由一个或更多个人类用户通过例如触觉输入(例如:键击、挥击、数据手套移动)、音频输入(例如:语音、拍手)、视觉输入(诸如:手势)、嗅觉输入(未描绘)进行的输入。人机接口设备还可以用于捕获不一定与人类的意识输入直接有关的某些媒体,例如,音频(例如:语音、音乐、环境声音)、图像(例如:扫描的图像、从静态图像摄像装置获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
[0203]
输入人机接口设备可以包括以下中的一个或更多个(描绘的每个中的仅一个):键盘(2801)、鼠标(2802)、触控板(2803)、触摸屏(2810)、数据手套(未示出)、操纵杆(2805)、
麦克风(2806)、扫描仪(2807)、摄像装置(2808)。
[0204]
计算机系统(2800)还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感觉。这样的人机接口输出设备可以包括触觉输出设备(例如,通过触摸屏(2810)、数据手套(未示出)或操纵杆(2805)进行的触觉反馈,但是也可以存在不用作输入设备的触觉反馈设备)、音频输出设备(例如:扬声器(2809)、头戴式耳机(未描绘))、视觉输出设备(例如屏幕(2810),包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕,每个屏幕具有或不具有触摸屏输入能力,每个屏幕具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出、虚拟现实眼镜(未描绘)、全息显示器和烟罐(未描绘))以及打印机(未描绘)的方式输出二维视觉输出或多于三维的输出。
[0205]
计算机系统(2800)还可以包括人类可访问的存储设备及其相关联的介质,例如,包括具有cd/dvd等介质(2821)的cd/dvd rom/rw(2820)的光学介质、拇指驱动器(2822)、可移除硬盘驱动器或固态驱动器(2823)、诸如磁带和软盘(未描绘)的遗留磁性介质、基于专用rom/asic/pld的设备例如安全加密狗(未描绘)等。
[0206]
本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其他瞬态信号。
[0207]
计算机系统(2800)还可以包括到一个或更多个通信网络的接口。网络可以例如是无线的、有线连接的、光学的。网络还可以是局域的、广域的、城域的、车辆和工业的、实时的、延时容忍的等等。网络的示例包括:诸如以太网的局域网;无线lan;包括gsm、3g、4g、5g、lte等的蜂窝网络;包括有线电视、卫星电视和地面广播电视的电视有线连接或无线广域数字网络;包括canbus的车辆和工业网络等。某些网络通常需要附接至某些通用数据端口或外围总线(2849)(诸如,例如计算机系统(2800)的usb端口)的外部网络接口适配器;其他通常通过如下所述(例如,到pc计算机系统中的以太网接口或到智能电话计算机系统中的蜂窝网络接口)附接至系统总线而集成到计算机系统(2800)的核中。使用这些网络中的任何网络,计算机系统(2800)可以与其他实体进行通信。这样的通信可以是单向的、仅接收的(例如,广播电视)、单向仅发送的(例如,到某些canbus设备的canbus)、或双向的(例如使用局域数字网络或广域数字网络到其他计算机系统)。可以在如上面所描述的这些网络和网络接口中的每个网络和网络接口上使用某些协议和协议栈。
[0208]
上述人机接口设备、人类可访问的存储设备和网络接口可以附接至计算机系统(2800)的核(2840)。
[0209]
核(2840)可以包括一个或更多个中央处理单元(cpu)(2841)、图形处理单元(gpu)(2842)、现场可编程门阵列(fpga)(2843)形式的专用可编程处理单元、用于某些任务的硬件加速器(2844)等。这些设备连同只读存储器(rom)(2845)、随机存取存储器(2846)、诸如内部非用户可访问硬盘驱动器、ssd等的内部大容量存储装置(2847)可以通过系统总线(2848)连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(2848),以使得能够通过附加的cpu、gpu等实现扩展。外围设备可以直接地或通过外围总线(2849)附接至核的系统总线(2848)。外围总线的架构包括pci、usb等。
[0210]
cpu(2841)、gpu(2842)、fpga(2843)和加速器(2844)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以被存储在rom(2845)或ram(2846)
中。过渡数据也可以被存储在ram(2846)中,而永久数据可以被存储在例如内部大容量存储装置(2847)中。可以通过使用缓存存储器来实现对存储器设备中的任何存储器设备的快速存储和检索,所述缓存存储器可以与一个或更多个cpu(2841)、gpu(2842)、大容量存储装置(2847)、rom(2845)、ram(2846)等紧密地相关联。
[0211]
计算机可读介质上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以具有计算机软件领域的技术人员公知且可用的类型。
[0212]
作为示例而非通过限制的方式,具有图28所示的架构的计算机系统(2800)——特别是核(2840)——可以由于处理器(包括cpu、gpu、fpga、加速器等)执行体现在一个或更多个有形计算机可读介质中的软件而提供功能。这样的计算机可读介质可以是与如以上所介绍的用户可访问的大容量存储装置相关联的介质,以及具有非暂态性质的核(2840)的某些存储装置,例如,核内部大容量存储装置(2847)或rom(2845)。实现本公开内容的各种实施方式的软件可以被存储在这样的设备中并且由核(2840)执行。根据特定需要,计算机可读介质可以包括一个或更多个存储器设备或芯片。软件可以使核(2840)——特别是其中的处理器(包括cpu、gpu、fpga等)——执行本文中描述的特定处理或特定处理的特定部分,包括限定被存储在ram(2846)中的数据结构以及根据由软件限定的处理来修改这样的数据结构。另外地或作为替选,计算机系统可以由于逻辑硬连线或以其他方式体现在电路(例如:加速器(2844))中而提供功能,该电路可以替代软件或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在适当的情况下,提及的软件可以包括逻辑,反之,提及的逻辑也可以包括软件。在适当的情况下,提及的计算机可读介质可以包括存储用于执行的软件的电路(例如,集成电路(ic))、体现用于执行的逻辑的电路或上述两者。本公开内容包含硬件和软件的任何合适的组合。
[0213]
附录a:缩略词
[0214]
jem:联合探索模型
[0215]
vvc:通用视频编码
[0216]
bms:基准集
[0217]
mv:运动矢量
[0218]
hevc:高效视频编码
[0219]
sei:辅助增强信息
[0220]
vui:视频可用性信息
[0221]
gop:图片群组
[0222]
tu:变换单元
[0223]
pu:预测单元
[0224]
ctu:编码树单元
[0225]
ctb:编码树块
[0226]
pb:预测块
[0227]
hrd:假设参考解码器
[0228]
snr:信噪比
[0229]
cpu:中央处理单元
[0230]
gpu:图形处理单元
[0231]
crt:阴极射线管
[0232]
lcd:液晶显示器
[0233]
oled:有机发光二极管
[0234]
cd:光盘
[0235]
dvd:数字视频光盘
[0236]
rom:只读存储器
[0237]
ram:随机存取存储器
[0238]
asic:专用集成电路
[0239]
pld:可编程逻辑器件
[0240]
lan:局域网
[0241]
gsm:全球移动通信系统
[0242]
lte:长期演进
[0243]
canbus:控制器局域网总线
[0244]
usb:通用串行总线
[0245]
pci:外围部件互连
[0246]
fpga:现场可编程门阵列ssd:固态驱动器
[0247]
ic:集成电路
[0248]
cu:编码单元
[0249]
tsm:变换跳过模式
[0250]
ibc:帧内块复制
[0251]
dpcm:差分脉冲编码调制
[0252]
bdpcm:基于块的dpcm
[0253]
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的变更、排列和各种替代等同物。因此,应当理解,本领域技术人员将能够设计出许多系统和方法,虽然这些系统和方法未在本文中明确示出或描述,但是体现了本公开内容的原理并因此在本公开内容的精神和范围内。
再多了解一些

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

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

相关文献