用于帧内串复制的方法和设备与流程

文档序号:32654734发布日期:2022-12-23 21:08阅读:62来源:国知局
用于帧内串复制的方法和设备与流程
用于帧内串复制的方法和设备
1.交叉引用
2.本技术要求于2021年10月14日提交的美国专利申请第17/450,935号“method and apparatus for intra string copy”的优先权的权益,该美国专利申请要求于2021年4月12日提交的美国临时申请第63/173,929号“string matching with reference location constraints”的优先权的权益。在先申请的全部公开内容通过引用整体并入本文。
技术领域
3.本技术描述了总体上涉及视频译码例如基于帧内串复制模式对视频中的区域中的块进行编码/解码的实施方式。


背景技术:

4.本文中提供的背景技术描述的目的在于从总体上呈现本技术的背景。就在此背景技术部分中描述目前署名的发明人的工作的程度而言,目前署名的发明人的工作以及在提交时可不被另外视为现有技术的描述的方面既没有被明确地也没有被隐含地承认为针对本技术的现有技术。
5.可以使用具有运动补偿的图片间预测来执行视频编码和解码。未经压缩的数字视频可以包括一系列图片,每个图片的空间大小为例如1920
×
1080个亮度样本以及相关联的色度样本。一系列图片可以具有固定的或可变的图片速率(也被非正式地称为帧速率),例如每秒60幅图片或60hz。未经压缩的视频具有特定的比特率要求。例如,每个样本8比特的1080p60 4:2:0视频(60hz帧速率的1920
×
1080亮度样本分辨率)需要接近1.5gbit/s的带宽。一小时的这样的视频需要超过600千兆字节(gbyte)的存储空间。
6.视频编码和解码的一个目的可以是通过压缩来降低输入视频信号的冗余度。压缩可以有助于降低上述带宽需求和/或存储空间需求,在一些情况下可以降低两个数量级或更多个数量级。可以采用无损压缩和有损压缩两者及其组合。无损压缩是指可以根据经压缩的原始信号重构原始信号的精确副本的技术。当使用有损压缩时,重构的信号可能与原始信号不同,但是原始信号与重构的信号之间的失真足够小,以使得重构的信号能够用于预期应用。在视频的情况下,广泛地采用有损压缩。容忍的失真量取决于应用;例如,某些消费者流媒体应用的用户可能比电视分发应用的用户容忍更高的失真。可实现的压缩比可以反映出:较高的可允许/可容忍的失真可以产生较高的压缩比。
7.视频编码器和解码器可以利用来自例如包括运动补偿、变换、量化和熵编码的若干大类的技术。
8.视频编解码器技术可以包括被称为帧内编码的技术。在帧内编码中,在不参考来自先前重构的参考图片的样本或其他数据的情况下表示样本值。在一些视频编解码器中,在空间上将图片细分为样本块。当所有的样本块都以帧内模式编码时,该图片可以是帧内图片。帧内图片及其派生(例如,独立解码器刷新图片)可以用于重置解码器状态,并且因此可以用作已编码视频比特流和视频会话中的第一图片或用作静止图像。帧内块的样本可以
经受变换,并且可以在熵编码之前对变换系数进行量化。帧内预测可以是在预变换域中使样本值最小化的技术。在一些情况下,变换之后的dc值越小,并且ac系数越小,在给定量化步长下表示熵编码之后的块所需的比特就越少。
9.例如从诸如mpeg-2代编码技术已知的传统帧内编码不使用帧内预测。然而,一些较新的视频压缩技术包括根据例如在空间上邻近并且在解码顺序上在先的数据块的编码/解码期间获得的元数据以及/或者周围样本数据进行尝试的技术。这样的技术此后被称为“帧内预测”技术。注意,在至少一些情况下,帧内预测仅使用来自重构中的当前图片的参考数据,而不使用来自参考图片的参考数据。
10.可以存在许多不同形式的帧内预测。当可以在给定视频编码技术中使用多于一种这样的技术时,可以在帧内预测模式中对使用的技术进行编码。在某些情况下,模式可以具有子模式和/或参数,并且这些子模式和/或参数可以被单独编码或被包括在模式码字中。针对给定模式、子模式和/或参数组合使用哪个码字可以对通过帧内预测的编码效率增益产生影响,并且因此用于将码字转换成比特流的熵编码技术也是如此。
11.帧内预测的某些模式随h.264引入、在h.265中被细化,并且在较新的编码技术诸如联合开发模型(joint exploration model,jem)、通用视频编码(versatile video coding,vvc)和基准集(benchmark set,bms)中被进一步细化。可以使用属于已经可用的样本的邻近样本值来形成预测块。根据方向将邻近样本的样本值复制到预测块中。对使用的方向的参考可以在比特流中被编码,或者其本身可以被预测。
12.参照图1,右下方描绘了从h.265的33个可能预测方向(对应于35个帧内模式中的33个角度模式)已知的九个预测方向的子集。箭头会聚的点(101)表示正被预测的样本。箭头表示对样本进行预测的方向。例如,箭头(102)指示根据右上方的与水平成45度角的一个或多个样本对样本(101)进行预测。类似地,箭头(103)指示根据样本(101)左下方的与水平成22.5度角的一个或多个样本对样本(101)进行预测。
13.仍然参照图1,在左上方描绘了4
×
4个样本的正方形块(104)(由黑体虚线指示)。正方形块(104)包括16个样本,每个样本均用“s”、其在y维度上的位置(例如,行索引)以及其在x维度上的位置(例如,列索引)来标记。例如,样本s21是y维度上(从顶部起)的第二个样本并且是x维度上(从左侧起)的第一个样本。类似地,样本s44是块(104)中在y维度和x维度两者上的第四个样本。由于块的大小是4
×
4个样本,因此s44在右下方。另外示出的是遵循类似的编号方案的参考样本。参考样本用r、其相对于块(104)的y位置(例如,行索引)和x位置(列索引)来标记。在h.264和h.265二者中,预测样本与重构中的块相邻;因此不需要使用负值。
14.帧内图片预测可以通过复制来自如由用信号指示的预测方向适当的相邻样本的参考样本值来工作。例如,假设已编码视频比特流包括下述信令,针对该块,该信令指示与箭头(102)一致的预测方向——即,根据在右上方的与水平成45度角的一个或多个预测样本来对样本进行预测。在这种情况下,根据同一参考样本r05对样本s41、s32、s23和s14进行预测。然后根据参考样本r08对样本s44进行预测。
15.在某些情况下,可以例如通过内插将多个参考样本的值进行组合以便计算参考样本;尤其是在方向不能被45度整除的情况下。
16.随着视频编码技术发展,可能的方向的数量也在增加。在h.264(2003年)中,可以
表示九个不同的方向。这在h.265(2013年)中增加到33个,并且在公开时jem/vvc/bms可以支持多达65个方向。已经进行了实验来识别最可能的方向,并且熵编码中的某些技术被用于以少量的比特表示这些可能的方向,从而接受对较不可能的方向的某些惩罚。此外,有时可以根据在相邻的已解码的块中使用的相邻方向来预测方向本身。
17.图2示出了示意图(201),其描绘根据jem的65个帧内预测方向以示出预测方向的数量随着时间而增加。
18.已编码视频比特流中表示方向的帧内预测方向比特的映射可以随着视频编码技术不同而不同;并且该映射的范围例如可以从预测方向的简单直接映射到帧内预测模式,到码字,到涉及最可能模式的复杂自适应方案以及类似技术。然而,在所有情况下,与某些其他方向相比,可能存在在统计上不太可能出现在视频内容中的某些方向。由于视频压缩的目标是减少冗余,因此在运转良好的视频编码技术中,与更有可能的方向相比,那些不太可能的方向将由更大数量的比特来表示。


技术实现要素:

19.本技术的各方面提供用于视频编码/解码的方法,例如基于帧内串复制的方法。
20.根据本技术的一方面,提供一种用于解码器的视频解码方法。在该方法中,可以从已编码视频比特流接收已编码区域中的块的已编码信息。已编码信息可以包括信令信息和与块相关联的语法元素,其中,语法元素中的每个语法元素可以包括一个或更多个二进制位(bin),块可以包括多个串,并且块可以通过串匹配模式进行编码。可以基于与块相关联的、允许通过上下文编码模式进行编码的二进制位的最大数目来确定阈值。可以确定语法元素中的第一语法元素的二进制位的数目。可以使用第一语法元素的一个或更多个二进制位以串匹配模式对块进行解码,其中,第一语法元素的二进制位的数目受指示针对上下文编码模式所允许的二进制位的最大数目的阈值限制。
21.在一些实施方式中,可以基于以下之一对第一语法元素进行编码:(i)当第一语法元素的二进制位的数目小于阈值时基于上下文编码模式;以及(ii)当第一语法元素的二进制位的数目等于或大于阈值时基于旁路编码模式。
22.在该方法中,多个串中的每个串可以包括一个或更多个样本。在示例中,串匹配模式可以包括帧内串复制(intra string copy,isc)模式。isc模式可以被配置成基于由串偏移矢量指示的相应参考串来重构块中的多个串中的每个串。在另一示例中,串匹配模式可以包括等值串(equal value string,evs)模式。evs模式可以被配置成通过复制在对应串上方的参考串的值、或者利用对应串的第一样本的值对该对应串中的其他样本的值进行设置,来重构块中的多个串中的每个串。
23.在实施方式中,为了确定阈值,可以确定平均阈值。该平均阈值可以指示块的样本中的每个样本中允许通过上下文编码模式进行编码的二进制位的平均数目。此外,可以将阈值确定为平均阈值与块中的样本的总数的乘积。
24.在一些示例中,可以基于以下之一来确定平均阈值:(i)在切片报头、图片报头和序列报头之一中用信号指示的已编码信息中的信令信息;以及(ii)预定义值。
25.在一些示例中,平均阈值可以包括1.125、1.25和1.75之一。
26.在一些示例中,基于该块以evs模式进行编码,平均阈值可以基于与块相关联的、
允许通过上下文编码模式进行编码的二进制位的最大数目。
27.在一些示例中,在块通过帧内预测模式、帧内块复制模式和帧间预测模式之一进行编码时,平均阈值可以基于与块相关联的、允许通过上下文编码模式进行编码的二进制位的最大数目。
28.在另一实施方式中,为了确定阈值,可以确定截止数。截止数可以基于以下之一:(i)在切片报头、图片报头和序列报头之一中用信号指示的已编码信息中的信令信息;以及(ii)预定义值。阈值还可以被确定为:(i)平均阈值与块中的样本的总数的乘积减去(ii)截止数。
29.截止数可以被设置为以下之一:第一语法元素的允许通过上下文编码模式进行编码的二进制位的最大数目;与通过串匹配模式进行编码的块相关联的语法元素之一的允许通过上下文编码模式进行编码的二进制位的最大数目;恒定值与平均阈值的乘积;以及与通过串匹配模式进行编码的块相关联的语法元素之一的允许通过上下文编码模式进行编码的二进制位的最大数目的一半。
30.根据本技术的另一方面,提供一种用于编码器的视频编码方法。在该方法中,可以接收与视频中的区域中的块相关联的语法元素。块可以以串匹配模式进行编码,语法元素中的每个语法元素可以包括一个或更多个二进制位,并且块可以包括多个串。可以基于与块相关联的、允许通过上下文编码模式进行编码的二进制位的最大数目来确定阈值。可以确定语法元素中的第一语法元素的二进制位的数目。可以使用第一语法元素的一个或更多个二进制位以串匹配模式对块进行编码,其中,第一语法元素的二进制位的数目受指示针对上下文编码模式所允许的二进制位的最大数量的阈值限制。
31.在一些实施方式中,基于以下之一对第一语法元素进行编码:(i)当第一语法元素的二进制位的数目小于阈值时基于上下文编码模式;以及(ii)当第一语法元素的二进制位的数目等于或大于阈值时基于旁路编码模式。
32.在该方法中,多个串中的每个串可以包括一个或更多个样本。在示例中,串匹配模式可以包括isc模式。isc模式可以被配置成基于由串偏移矢量指示的相应参考串来重构块中的多个串中的每个串。在另一示例中,串匹配模式可以包括evs模式。evs模式可以被配置成通过复制在对应串上方的参考串的值、或者利用对应串的第一样本的值对该对应串中的其他样本的值进行设置,来重构块中的多个串中的每个串。
33.在实施方式中,为了确定阈值,可以确定平均阈值。平均阈值可以指示块的样本中的每个样本中的允许通过上下文编码模式进行编码的二进制位的平均数目。此外,可以将阈值可以确定为平均阈值与块中的样本的总数的乘积。
34.在该方法中,可以输出包括信令信息的已编码比特流,其中,信令信息可以在切片报头、图片报头和序列报头之一中用信号指示,并且指示所确定的平均阈值。
35.在一些示例中,平均阈值可以包括1.125、1.25和1.75之一。
36.在一些示例中,基于该块以evs模式进行编码,平均阈值可以基于与块相关联的、允许通过上下文编码模式进行编码的二进制位的最大数目。
37.在一些示例中,在该块通过帧内预测模式、帧内块复制模式和帧间预测模式之一进行编码时,平均阈值可以基于与块相关联的、允许通过上下文编码模式进行编码的二进制位的最大数目。
38.在另一实施方式中,为了确定阈值,可以确定截止数。阈值可以被另外确定为:(i)平均阈值与块中的样本的总数的乘积减去(ii)截止数。
39.截止数可以被设置为以下之一:第一语法元素的允许通过上下文编码模式进行编码的二进制位的最大数目;与通过串匹配模式进行编码的块相关联的语法元素之一的允许通过上下文编码模式进行编码的二进制位的最大数目;恒定值与平均阈值的乘积;以及与通过串匹配模式进行编码的块相关联的语法元素之一的允许通过上下文编码模式进行编码的二进制位的最大数目的一半。
附图说明
40.根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将变得更加明显,并且在附图中:
41.图1是帧内预测模式的示例性子集的示意图。
42.图2是示例性帧内预测方向的图示。
43.图3是根据实施方式的通信系统(300)的简化框图的示意图。
44.图4是根据实施方式的通信系统(400)的简化框图的示意图。
45.图5是根据实施方式的解码器的简化框图的示意图。
46.图6是根据实施方式的编码器的简化框图的示意图。
47.图7示出了根据另一实施方式的编码器的框图。
48.图8示出了根据另一实施方式的解码器的框图。
49.图9示出了根据实施方式的帧内图片块补偿的示例性实施方式。
50.图10a至图10d示出了帧内图片块补偿的各种示例性实施方式。
51.图11示出了根据实施方式的空间合并候选的示例性位置。
52.图12示出了帧内串复制的示例性实施方式。
53.图13示出了根据本技术的一些实施方式的概述第一处理示例的流程图。
54.图14示出了根据本技术的一些实施方式的概述第二处理示例的流程图。
55.图15是根据实施方式的计算机系统的示意图。
具体实施方式
56.图3示出了根据本技术的实施方式的通信系统(300)的简化框图。通信系统(300)包括可以经由例如网络(350)彼此通信的多个终端装置。例如,通信系统(300)包括经由网络(350)互连的第一对终端装置(310)和(320)。在图3的示例中,第一对终端装置(310)和(320)执行数据的单向传输。例如,终端装置(310)可以对视频数据(例如,由终端装置(310)捕获的视频图片流)进行编码以经由网络(350)传输至另一终端装置(320)。已编码视频数据可以以一个或更多个已编码视频比特流的形式传输。终端装置(320)可以从网络(350)接收已编码视频数据,对该已编码视频数据进行解码以恢复视频图片,并且根据所恢复的视频数据显示视频图片。单向数据传输在媒体服务应用等中可以是常见的。
57.在另一示例中,通信系统(300)包括第二对终端装置(330)和(340),第二对终端装置(330)和(340)执行可能例如在视频会议期间发生的已编码视频数据的双向传输。对于数据的双向传输,在示例中,终端装置(330)和(340)中的每个终端装置可以对视频数据(例
如,由终端装置捕获的视频图片流)进行编码以经由网络(350)传输至终端装置(330)和(340)中的另一终端装置。终端装置(330)和(340)中的每个终端装置还可以接收由终端装置(330)和(340)中的另一终端装置传输的已编码视频数据,并且可以对该已编码视频数据进行解码以恢复视频图片,并且可以根据所恢复的视频数据在可访问的显示装置处显示视频图片。
58.在图3的示例中,终端装置(310)、(320)、(330)和(340)可以被示出为服务器、个人计算机和智能电话,但是本技术的原理可以不被这样限制。本技术的实施方式适用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议设备。网络(350)表示在终端装置(310)、(320)、(330)和(340)之间传送已编码视频数据的任何数量的网络,包括例如有线(连线的)和/或无线通信网络。通信网络(350)可以在电路交换信道和/或分组交换信道中交换数据。代表性的网络包括电信网络、局域网、广域网和/或因特网。出于本论述的目的,除非在下文中有所说明,否则网络(350)的架构和拓扑对于本技术的操作而言可能是无关紧要的。
59.作为所公开的主题的应用的示例,图4示出了视频编码器和视频解码器在流式传输环境中的布置。所公开的主题可以同样地适用于其他支持视频的应用,包括例如:视频会议;数字tv;在包括cd、dvd、存储棒等的数字介质上存储压缩视频等。
60.流式传输系统可以包括捕获子系统(413),捕获子系统(413)可以包括创建例如未经压缩的视频图片流(402)的视频源(401),例如数字摄像装置。在示例中,视频图片流(402)包括由数字摄像装置拍摄的样本。当与已编码视频数据(404)(或已编码视频比特流)比较时,被描绘为粗线以强调高数据量的视频图片流(402)可以由耦接至视频源(401)的包括视频编码器(403)的电子装置(420)进行处理。视频编码器(403)可以包括硬件、软件或其组合,以实现或实施如下更详细地描述的所公开的主题的各方面。当与视频图片流(402)比较时,被描绘为细线以强调较低数据量的已编码视频数据(404)(或已编码视频比特流(404))可以被存储在流式传输服务器(405)上以供将来使用。一个或更多个流式传输客户端子系统(例如图4中的客户端子系统(406)和(408))可以访问流式传输服务器(405)以检索已编码视频数据(404)的副本(407)和(409)。客户端子系统(406)可以包括例如电子装置(430)中的视频解码器(410)。视频解码器(410)对已编码视频数据的传入副本(407)进行解码,并且创建可以在显示器(412)(例如,显示屏)或另一呈现装置(未描绘)上呈现的传出视频图片流(411)。在一些流式传输系统中,可以根据某些视频编码/压缩标准对已编码视频数据(404)、(407)和(409)(例如,视频比特流)进行编码。这些标准的示例包括itu-t h.265建议书。在示例中,开发中的视频编码标准被非正式地称为通用视频编码(versatile video coding,vvc)。所公开的主题可以用于vvc的背景下。
61.注意,电子装置(420)和(430)可以包括其他部件(未示出)。例如,电子装置(420)可以包括视频解码器(未示出),并且电子装置(430)也可以包括视频编码器(未示出)。
62.图5示出了根据本技术的实施方式的视频解码器(510)的框图。视频解码器(510)可以被包括在电子装置(530)中。电子装置(530)可以包括接收器(531)(例如,接收电路系统)。视频解码器(510)可以用来代替图4的示例中的视频解码器(410)。
63.接收器(531)可以接收要由视频解码器(510)解码的一个或更多个已编码视频序列;在同一实施方式或另一实施方式中,一次接收一个已编码视频序列,其中,每个已编码
视频序列的解码独立于其他已编码视频序列。可以从信道(501)接收已编码视频序列,信道(501)可以是到存储已编码视频数据的存储装置的硬件/软件链路。接收器(531)可以接收已编码视频数据以及其他数据,例如可以被转发至其各自的使用实体(未描绘)的已编码音频数据和/或辅助数据流。接收器(531)可以将已编码视频序列与其他数据分开。为了防止网络抖动,缓冲存储器(515)可以耦接在接收器(531)与熵解码器/解析器(520)(此后称为“解析器(520)”)之间。在某些应用中,缓冲存储器(515)是视频解码器(510)的一部分。在其他应用中,缓冲存储器(515)可以在视频解码器(510)外部(未描绘)。在又一些其他应用中,在视频解码器(510)外部可以存在缓冲存储器(未描绘)以例如防止网络抖动,并且此外在视频解码器(510)内部可以存在另一缓冲存储器(515)以例如处理播出定时。当接收器(531)从具有足够带宽和可控性的存储/转发装置或从等时同步网络接收数据时,可以不需要缓冲存储器(515),或者缓冲存储器(515)可以较小。为了在诸如因特网的尽力型(best effort)分组网络上使用,可能需要缓冲存储器(515),缓冲存储器(515)可以相对较大并且可以有利地具有自适应大小,并且可以至少部分地在操作系统或视频解码器(510)外部的类似元件(未描绘)中实现。
64.视频解码器(510)可以包括解析器(520)以根据已编码视频序列来重构符号(521)。这些符号的类别包括用于管理视频解码器(510)的操作的信息,以及可能包括用于控制呈现装置例如呈现装置(512)(例如,显示屏)的信息,该呈现装置不是电子装置(530)的组成部分,但是可以耦接至电子装置(530),如图5所示。用于呈现装置的控制信息可以呈辅助增强信息(supplemental enhancement information,sei消息)或视频可用性信息(video usability information,vui)参数集片段(未描绘)的形式。解析器(520)可以对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可以符合视频编码技术或标准,并且可以遵循各种原理,包括可变长度编码、霍夫曼编码(huffman coding)、具有或不具有上下文敏感度的算术编码等。解析器(520)可以基于与群组对应的至少一个参数,从已编码视频序列中提取针对视频解码器中的像素的子群组中的至少一个子群组的子群组参数集。子群组可以包括:图片群组(group of pictures,gop)、图片、图块、切片、宏块、编码单元(coding unit,cu)、块、变换单元(transform unit,tu)、预测单元(prediction unit,pu)等。解析器(520)还可以从已编码视频序列中提取信息,诸如变换系数、量化器参数值、运动矢量等。
65.解析器(520)可以对从缓冲存储器(515)接收的视频序列执行熵解码/解析操作,从而创建符号(521)。
66.符号(521)的重构可以根据已编码视频图片或其一部分的类型(例如:帧间图片和帧内图片、帧间块和帧内块)以及其他因素而涉及多个不同的单元。涉及哪些单元以及涉及方式可以通过由解析器(520)从已编码视频序列解析的子群组控制信息来控制。为了简洁起见,未描绘解析器(520)与下文的多个单元之间的这样的子群组控制信息的流动。
67.除已经提及的功能块以外,可以在概念上将视频解码器(510)细分成如下文所描述的多个功能单元。在商业约束下操作的实际实现中,这些单元中的许多单元彼此紧密交互并且可以至少部分地彼此集成。然而,出于描述所公开主题的目的,在概念上细分成下文的功能单元是适当的。
68.第一单元是缩放器/逆变换单元(551)。缩放器/逆变换单元(551)从解析器(520)
接收作为符号(521)的经量化的变换系数以及控制信息,包括要使用哪种变换、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(551)可以输出包括样本值的块,所述样本值可以被输入到聚合器(555)中。
69.在一些情况下,缩放器/逆变换(551)的输出样本可以属于经帧内编码的块;即:不使用来自先前重构的图片的预测性信息但可以使用来自当前图片的先前重构部分的预测性信息的块。这样的预测性信息可以由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)使用从当前图片缓冲器(558)获取的周围已重构的信息生成大小和形状与重构中的块相同的块。例如,当前图片缓冲器(558)缓冲部分重构的当前图片和/或完全重构的当前图片。在一些情况下,聚合器(555)基于每个样本将帧内预测单元(552)已经生成的预测信息添加至如由缩放器/逆变换单元(551)提供的输出样本信息。
70.在其他情况下,缩放器/逆变换单元(551)的输出样本可以属于经帧间编码并且可能经运动补偿的块。在这样的情况下,运动补偿预测单元(553)可以访问参考图片存储器(557)以获取用于预测的样本。在根据属于块的符号(521)对所获取的样本进行运动补偿之后,这些样本可以由聚合器(555)添加至缩放器/逆变换单元(551)的输出(在这种情况下被称作残差样本或残差信号)以生成输出样本信息。参考图片存储器(557)内的运动补偿预测单元(553)从其获取预测样本的地址可以由运动矢量控制,所述运动矢量可以符号(521)的形式被运动补偿预测单元(553)获得,所述符号(521)可以具有例如x分量、y分量和参考图片分量。运动补偿还可以包括在使用子样本精确运动矢量时从参考图片存储器(557)获取的样本值的内插、运动矢量预测机制等。
71.聚合器(555)的输出样本可以在环路滤波器单元(556)中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,所述环路内滤波器技术由包括在已编码视频序列(也被称为已编码视频比特流)中且可作为来自解析器(520)的符号(521)被环路滤波器单元(556)获得的参数控制,但是环路内滤波器技术也可以对在对已编码图片或已编码视频序列的(按解码顺序的)先前部分进行解码期间获得的元信息进行响应,以及对先前重构并且经环路滤波的样本值进行响应。
72.环路滤波器单元(556)的输出可以是样本流,该样本流可以被输出至呈现装置(512)以及存储在参考图片存储器(557)中以用于将来的帧间图片预测。
73.一旦被完全重构,某些已编码图片就可以被用作参考图片以用于将来预测。例如,一旦与当前图片对应的已编码图片被完全重构,并且该已编码图片(通过例如解析器(520))被识别为参考图片,则当前图片缓冲器(558)可以变为参考图片存储器(557)的一部分,并且可以在开始重构随后的已编码图片之前重新分配新的当前图片缓冲器。
74.视频解码器(510)可以根据诸如itu-t h.265建议书的标准中的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件两者的意义上,已编码视频序列可以符合由所使用的视频压缩技术或标准指定的语法。具体地,配置文件可以从视频压缩技术或标准中可用的所有工具中选择某些工具作为仅在该配置文件下可供使用的工具。对于合规性,还需要已编码视频序列的复杂度处于由视频压缩技术或标准的级别限定的界限内。在一些情况下,级别限制最大图片大小、最大帧速率、最大重构采样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由级别设置的限制可以通过假设参考解码器
(hypothetical reference decoder,hrd)规范以及在已编码视频序列中用信号指示的hrd缓冲器管理的元数据来进一步限定。
75.在实施方式中,接收器(531)可以连同已编码视频一起接收附加(冗余)数据。附加数据可以被包括为已编码视频序列的一部分。附加数据可以被视频解码器(510)用于对数据进行适当解码以及/或者更准确地重构原始视频数据。附加数据可以呈例如时间、空间或信噪比(signal noise ratio,snr)增强层、冗余切片、冗余图片、前向纠错码等形式。
76.图6示出了根据本技术的实施方式的视频编码器(603)的框图。视频编码器(603)被包括在电子装置(620)中。电子装置(620)包括传输器(640)(例如,传输电路系统)。视频编码器(603)可以用来代替图4示例中的视频编码器(403)。
77.视频编码器(603)可以从视频源(601)(其并非图6示例中的电子装置(620)的一部分)接收视频样本,视频源(601)可以捕获要由视频编码器(603)进行编码的视频图像。在另一示例中,视频源(601)是电子装置(620)的一部分。
78.视频源(601)可以提供要由视频编码器(603)进行编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适的比特深度(例如:8比特、10比特、12比特
……
)、任何颜色空间(例如,bt.601y crcb、rgb
……
)和任何合适的采样结构(例如y crcb 4:2:0、y crcb4:4:4)。在媒体服务系统中,视频源(601)可以是存储先前准备的视频的存储装置。在视频会议系统中,视频源(601)可以是捕获本地图像信息作为视频序列的摄像装置。可以将视频数据提供为当按顺序观看时被赋予运动的多个单独的图片。图片本身可以被组织为空间像素阵列,其中,取决于所使用的采样结构、颜色空间等,每个像素可以包括一个或更多个样本。本领域技术人员可以容易理解像素与样本之间的关系。以下描述集中于样本。
79.根据实施方式,视频编码器(603)可以实时地或者在应用所需的任何其他时间约束下将源视频序列的图片编码并压缩成已编码视频序列(643)。施行适当的编码速度是控制器(650)的一个功能。在一些实施方式中,控制器(650)控制如下所述的其他功能单元并且在功能上耦接至其他功能单元。为简洁起见未描绘耦接。通过控制器(650)设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值
……
)、图片大小、图片组(group of picture,gop)布局、最大运动矢量搜索范围等。控制器(650)可以被配置成具有与针对特定系统设计而优化的视频编码器(603)相关的其他合适的功能。
80.在一些实施方式中,视频编码器(603)被配置成在编码环路中进行操作。作为极度简化的描述,在示例中,编码环路可以包括源编码器(630)(例如,负责基于要编码的输入图片和参考图片来创建符号,例如符号流)和嵌入在视频编码器(603)中的(本地)解码器(633)。解码器(633)以与(远程)解码器也创建样本数据的方式类似的方式重构符号以创建样本数据(因为在所公开的主题中所考虑的视频压缩技术中,符号与已编码视频比特流之间的任何压缩是无损的)。重构的样本流(样本数据)被输入至参考图片存储器(634)。由于符号流的解码产生与解码器位置(本地或远程)无关的比特精确结果,因此参考图片存储器(634)中的内容在本地编码器与远程编码器之间也是比特精确的。换句话说,编码器的预测部分将与解码器在解码期间使用预测时所“看到”的样本值完全相同的样本值“视为”参考图片样本。参考图片同步性的这种基本原理(以及在例如由于信道误差而无法维持同步性的情况下产生的漂移)也用于一些相关技术。
[0081]“本地”解码器(633)的操作可以与“远程”解码器例如已经在上面结合图5详细描述的视频解码器(510)的操作相同。然而,另外简要地参照图5,由于符号可用并且由熵编码器(645)和解析器(520)将符号编码/解码为已编码视频序列可以是无损的,因此可以不在本地解码器(633)中完全实现视频解码器(510)的包括缓冲存储器(515)和解析器(520)的熵解码部分。
[0082]
此时可以观察到,除了存在于解码器中的解析/熵解码之外的任何解码器技术也必定需要以基本上相同的功能形式存在于对应的编码器中。出于此原因,所公开的主题集中于解码器操作。可以简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术相反。仅在某些方面需要更详细的描述,并且在下文提供该描述。
[0083]
在一些示例中,在操作期间,源编码器(630)可以执行运动补偿预测编码,所述运动补偿预测编码参考来自视频序列的被指定为“参考图片”的一个或更多个先前已编码图片对输入图片进行预测性编码。以此方式,编码引擎(632)对输入图片的像素块与可以被选作该输入图片的预测参考的参考图片的像素块之间的差异进行编码。
[0084]
本地视频解码器(633)可以基于由源编码器(630)创建的符号,对可以被指定为参考图片的已编码视频数据进行解码。编码引擎(632)的操作可以有利地为有损处理。当已编码视频数据可以在视频解码器(图6中未示出)处被解码时,重构的视频序列通常可以是源视频序列的带有一些误差的副本。本地视频解码器(633)复制可以由视频解码器对参考图片执行的解码处理,并且可以使重构的参考图片存储在参考图片缓存(634)中。以此方式,视频编码器(603)可以在本地存储重构的参考图片的副本,该副本与将由远端视频解码器获得的重构参考图片具有共同内容(不存在传输错误)。
[0085]
预测器(635)可以针对编码引擎(632)执行预测搜索。也就是说,对于要被编码的新图片,预测器(635)可以在参考图片存储器(634)中搜索可以用作针对新图片的合适预测参考的样本数据(作为候选参考像素块)或特定元数据,例如参考图片运动矢量、块形状等。预测器(635)可以在逐样本块-像素块的基础上操作,以找到合适的预测参考。在一些情况下,如通过预测器(635)获得的搜索结果所确定的,输入图片可以具有从存储在参考图片存储器(634)中的多个参考图片取得的预测参考。
[0086]
控制器(650)可以管理源编码器(630)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群组参数。
[0087]
所有以上提及的功能单元的输出可以在熵编码器(645)中经受熵编码。熵编码器(645)通过根据诸如霍夫曼编码、可变长度编码、算术编码等的技术对由各种功能单元生成的符号进行无损压缩来将这些符号转换为已编码视频序列。
[0088]
传输器(640)可以缓冲由熵编码器(645)创建的已编码视频序列,从而为经由通信信道(660)进行传输做准备,通信信道(660)可以是到存储已编码视频数据的存储装置的硬件/软件链路。传输器(640)可以将来自视频编码器(603)的已编码视频数据与要传输的其他数据合并,所述其他数据例如是已编码音频数据和/或辅助数据流(未示出来源)。
[0089]
控制器(650)可以管理视频编码器(603)的操作。在编码期间,控制器(650)可以向每个已编码图片分配某一已编码图片类型,这可能影响可以应用于相应的图片的编码技术。例如,通常可以向图片分配以下图片类型之一:
[0090]
帧内图片(i图片),其可以是可以在不将序列中的任何其他图片用作预测源的情
unit,ctu)以用于压缩,图片中的ctu具有相同大小,例如64
×
64像素、32
×
32像素或16
×
16像素。一般来说,ctu包括三个编码树块(coding tree block,ctb),即一个亮度ctb和两个色度ctb。每个ctu可以被递归地以四叉树分成一个或多个编码单元(coding unit,cu)。例如,可以将64
×
64像素的ctu分成一个64
×
64像素的cu,或4个32
×
32像素的cu,或16个16
×
16像素的cu。在示例中,对每个cu进行分析以确定针对该cu的预测类型,例如帧间预测类型或帧内预测类型。根据时间和/或空间可预测性,将cu分成一个或更多个预测单元(prediction unit,pu)。通常,每个pu包括亮度预测块(prediction block,pb)和两个色度pb。在实施方式中,以预测块为单位来执行编解码(编码/解码)中的预测操作。使用亮度预测块作为预测块的示例,预测块包括诸如8
×
8像素、16
×
16像素、8
×
16像素、16
×
8像素等的像素的值(例如,亮度值)的矩阵。
[0100]
图7示出了根据本技术的另一实施方式的视频编码器(703)的图。视频编码器(703)被配置成接收视频图片序列中的当前视频图片内的样本值的处理块(例如,预测块),并且将处理块编码到作为已编码视频序列的一部分的已编码图片中。在示例中,视频编码器(703)用来代替图4示例中的视频编码器(403)。
[0101]
在hevc示例中,视频编码器(703)接收针对处理块例如8
×
8样本的预测块等的样本值的矩阵。视频编码器(703)使用例如率失真优化来确定是使用帧内模式、帧间模式还是双向预测模式对处理块进行最佳编码。在将以帧内模式对处理块进行编码的情况下,视频编码器(703)可以使用帧内预测技术将处理块编码到已编码图片中;以及在将以帧间模式或双向预测模式对处理块进行编码的情况下,视频编码器(703)可以分别使用帧间预测或双向预测技术将处理块编码到已编码图片中。在某些视频编码技术中,合并模式可以是帧间图片预测子模式,在帧间图片预测子模式下,从一个或更多个运动矢量预测器得出运动矢量,而无需借助于所述预测器外部的已编码运动矢量分量。在某些其他视频编码技术中,可以存在适用于对象块的运动矢量分量。在示例中,视频编码器(703)包括其他部件,例如,用于确定处理块的模式决策模块(未示出)。
[0102]
在图7的示例中,视频编码器(703)包括如图7所示的耦接在一起的帧间编码器(730)、帧内编码器(722)、残差计算器(723)、开关(726)、残差编码器(724)、通用控制器(721)以及熵编码器(725)。
[0103]
帧间编码器(730)被配置成:接收当前块(例如,处理块)的样本;将所述块与参考图片中的一个或更多个参考块(例如,先前图片与随后图片中的块)进行比较;生成帧间预测信息(例如,根据帧间编码技术的冗余信息、运动矢量、合并模式信息的描述);以及基于帧间预测信息使用任何合适的技术计算帧间预测结果(例如,预测块)。在一些示例中,参考图片是基于已编码视频信息进行解码的已解码参考图片。
[0104]
帧内编码器(722)被配置成:接收当前块(例如,处理块)的样本;在一些情况下将所述块与同一图片中已经编码的块进行比较;在变换之后生成量化系数,并且在一些情况下还生成帧内预测信息(例如,根据一个或更多个帧内编码技术的帧内预测方向信息)。在示例中,帧内编码器(722)还基于帧内预测信息和同一图片中的参考块来计算帧内预测结果(例如,预测块)。
[0105]
通用控制器(721)被配置成确定通用控制数据,并且基于通用控制数据来控制视频编码器(703)的其他部件。在示例中,通用控制器(721)确定块的模式,并且基于该模式将
控制信号提供至开关(726)。例如,当所述模式是帧内模式时,通用控制器(721)控制开关(726)选择帧内模式结果以供残差计算器(723)使用,并且控制熵编码器(725)选择帧内预测信息并将所述帧内预测信息包括在比特流中;以及当所述模式是帧间模式时,通用控制器(721)控制开关(726)选择帧间预测结果以供残差计算器(723)使用,并且控制熵编码器(725)选择帧间预测信息并将所述帧间预测信息包括在比特流中。
[0106]
残差计算器(723)被配置成计算所接收的块与选自帧内编码器(722)或帧间编码器(730)的预测结果之间的差(残差数据)。残差编码器(724)被配置成基于残差数据进行操作,以对残差数据进行编码,从而生成变换系数。在示例中,残差编码器(724)被配置成将残差数据从空间域转换到频域,并且生成变换系数。然后,变换系数经受量化处理以获得经量化的变换系数。在各种实施方式中,视频编码器(703)还包括残差解码器(728)。残差解码器(728)被配置成执行逆变换并且生成已解码残差数据。已解码残差数据可以由帧内编码器(722)和帧间编码器(730)适当地使用。例如,帧间编码器(730)可以基于已解码残差数据和帧间预测信息来生成已解码块,并且帧内编码器(722)可以基于已解码残差数据和帧内预测信息来生成已解码块。在一些示例中,适当处理已解码块以生成已解码图片,并且这些已解码图片可以缓冲在存储器电路(未示出)中并且用作参考图片。
[0107]
熵编码器(725)被配置成对比特流进行格式化以包括已编码块。熵编码器(725)被配置成包括根据合适的标准例如hevc标准的各种信息。在示例中,熵编码器(725)被配置成将通用控制数据、所选择的预测信息(例如,帧内预测信息或帧间预测信息)、残差信息和其他合适的信息包括在比特流中。注意,根据所公开的主题,当以帧间模式或双向预测模式的合并子模式对块进行编码时,不存在残差信息。
[0108]
图8示出了根据本技术的另一实施方式的视频解码器(810)的图。视频解码器(810)被配置成接收作为已编码视频序列的一部分的已编码图片,并且对已编码图片进行解码以生成重构的图片。在示例中,视频解码器(810)用来代替图4示例中的视频解码器(410)。
[0109]
在图8的示例中,视频解码器(810)包括如图8所示的耦接在一起的熵解码器(871)、帧间解码器(880)、残差解码器(873)、重构模块(874)以及帧内解码器(872)。
[0110]
熵解码器(871)可以被配置成根据已编码图片来重构某些符号,这些符号表示构成已编码图片的语法元素。这样的符号可以包括例如对块进行编码的模式(例如,帧内模式、帧间模式、双向预测模式、后两者的合并子模式或另一子模式)、可以标识分别供帧内解码器(872)或帧间解码器(880)使用以进行预测的某些样本或元数据的预测信息(例如,比如帧内预测信息或帧间预测信息)、呈诸如经量化的变换系数的形式的残差信息等。在示例中,当预测模式是帧间模式或双向预测模式时,将帧间预测信息提供给帧间解码器(880);以及当预测类型是帧内预测类型时,将帧内预测信息提供给帧内解码器(872)。残差信息可以经受逆量化并且被提供给残差解码器(873)。
[0111]
帧间解码器(880)被配置成:接收帧间预测信息,并且基于该帧间预测信息来生成帧间预测结果。
[0112]
帧内解码器(872)被配置成:接收帧内预测信息,并且基于该帧内预测信息来生成预测结果。
[0113]
残差解码器(873)被配置成:执行逆量化以提取经去量化的变换系数,并且对经去
量化的变换系数进行处理以将残差从频域转换到空间域。残差解码器(873)还可能需要某些控制信息(以包括量化器参数(quantizer parameter,qp)),并且该信息可以由熵解码器(871)提供(未描绘数据路径,因为这可能仅是少量控制信息)。
[0114]
重构模块(874)被配置成在空间域中将由残差解码器(873)输出的残差与预测结果(可能根据情况由帧间预测模块或帧内预测模块输出)进行组合以形成重构的块,重构的块可以是重构的图片的一部分,重构的图片又可以是重构的视频的一部分。注意,可以执行其他合适的操作例如去块操作等来改善视觉质量。
[0115]
注意,可以使用任何合适的技术来实现视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)。在实施方式中,可以使用一个或更多个集成电路来实现视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)。在另一实施方式中,可以使用执行软件指令的一个或更多个处理器来实现视频编码器(403)、(603)和(603)以及视频解码器(410)、(510)和(810)。
[0116]
来自不同图片的基于块的补偿可以被称为运动补偿。类似地,基于块的补偿也可以根据同一图片内的先前重构的区域来执行,这可以被称为帧内图片块补偿、当前图片参考(current picture referencing,cpr)或帧内块复制(intra block copy,ibc)。指示当前块与参考块之间的偏移的位移矢量可以被称为块矢量(block vector,bv)。不同于运动补偿中的运动矢量,其可以是任何值(在x或y方向为正或为负),块矢量可以具有几个约束。例如,要求当前块所参考(指向)的参考块可用并且已经被重构。此外,出于并行处理的考虑,排除作为图块边界或波前梯形边界的一些参考区域。
[0117]
可以通过显式模式或隐式模式对块矢量进行编码。在显式模式(在帧间编码中也称为amvp模式)下,可以用信号指示块矢量与块矢量的预测器之间的差。在隐式模式(合并模式)下,可以以与合并/跳过模式中的运动矢量类似的方式,从块矢量的预测器完全恢复块矢量。在一些实现方式中,块矢量的分辨率可以被限于整数位置。在其他系统或实现方式中,可以允许分辨率指向小数位置。
[0118]
可以通过用信号指示块级别标志例如ibc标志来在块级别处应用帧内块复制。在实施方式中,在当前块不是以合并模式被编码的情况下,可以用信号指示ibc标志。在另一实施方式中,可以通过参考索引方法来用信号指示ibc标志,在参考索引方法中,已解码的当前图片可以被视为参考图片。在hevc屏幕内容编码(screen content coding,scc)中,这样的参考图片(例如,已解码的当前图片)可以被置于参考图片列表的最后位置。在一些实施方式中,还可以将这样的特殊参考图片(例如,已解码的当前图片)与解码图片缓冲器(decoding picture buffer,dpb)中的其他时间参考图片一起管理。
[0119]
在一些实施方式中,帧内块复制可以被视为不同于帧内预测模式或帧间预测模式的第三模式。因此,可以将合并模式和amvp模式下的块矢量预测与常规帧间预测模式分离。例如,可以针对帧内块复制模式的合并模式定义单独的合并候选列表,其中合并候选列表中的条目均为块矢量。类似地,针对帧内块复制模式的amvp模式的块矢量预测列表可以仅包括块矢量。根据应用于上述两个列表的通用规则,在候选得出处理方面,这两个列表可以遵循与帧间合并候选列表或amvp预测器列表相同的逻辑。例如,可以针对帧内块复制访问hevc或vvc帧间合并模式下的5个空间相邻位置以得出针对帧内块复制的合并候选列表。
[0120]
图9中示出了帧内块复制的示例性实施方式。如图9所示,图片(900)可以包括多个
编码树单元(coding tree unit,ctu),例如第一ctu(902)和第二ctu(904)。当前块(906)可以定位在第一ctu(902)中,并且当前块(906)的参考块(908)可以定位在第二ctu(904)中。可以应用块矢量(910)来指示当前块(906)与参考块(908)之间的偏移。
[0121]
cpr模式(或ibc模式)的搜索范围可以被限制在当前ctu内,例如,如在vvc中所使用的。存储cpr模式的参考样本的有效存储器要求可以是1个ctu大小的样本。考虑到现有参考样本存储器存储当前64x64区域中的重构样本,需要另外3个64x64大小的参考样本存储器。基于上述事实,cpr模式的有效搜索范围可以被扩展到当前ctu的左ctu的一些部分,同时用于存储参考像素的总存储器需求可以保持不变(例如,1个ctu大小,总共4个64x64参考样本存储器)。
[0122]
图10a至图10d示出了cpr模式(或ibc模式)的示例性搜索范围,该示例性搜索范围被扩展到当前ctu的左ctu的一些部分,同时用于存储参考像素的总存储器需求可以保持不变。在图10a至图10b中,竖条的块(例如,图10a中的(1002))可以是当前编码区域,灰色区域中的样本可以是已编码样本,并且已划掉区域(以“x”标记)可以是不可用于参考的区域,因为在参考样本存储器中,已划掉区域已经被当前ctu中的编码区域代替。通常,在当前ctu中的当前编码区域(例如,64x64区域)开始编码/解码时,可以将存储左ctu中的并置区域中的参考样本的存储器位置清空,以存储当前区域的重构样本。因此,总体所需存储器可以保持为1个ctu大小。因此,左ctu中的已划掉区域可以指示那些区域不能再被使用,因为那些区域被从存储器中移除。
[0123]
如图10a至图10d所示,例如,当前ctu(1000a)可以包括4个编码区域(1002)、(1004)、(1006)和(1008),并且当前ctu(1000a)的左ctu(1000b)可以包括4个编码区域(1010)、(1012)、(1014)和(1016)。在图10a中,编码区域(1002)可以是通过ibc模式解码的当前编码区域。搜索范围可以包括左ctu(1000b)的编码区域(1012)、(1014)和(1016)。编码区域(1010)可以被排除,使得存储参考像素的总存储器需求可以保持为1个ctu大小、4个64x64参考样本存储器。在图10b中,编码区域(1004)可以是通过ibc模式解码的当前编码区域。搜索范围可以包括编码区域(1002)、(1014)和(1016),并且编码区域(1010)和(1012)可以被排除。在图10c中,编码区域(1006)可以是通过ibc模式解码的当前编码区域。搜索范围可以包括编码区域(1002)、(1004)和(1016),并且左ctu(1000b)中的编码区域(1010)、(1012)和(1014)可以被排除。类似地,在图10d中,编码区域(1008)可以是通过ibc模式解码的当前编码区域。搜索范围可以包括编码区域(1002)、(1004)和(1006),并且左ctu(1000b)中的编码区域均被排除,以保持总存储器需求不变。
[0124]
在图11中,示出了例如在hevc和vvc中的当前块(1101)的五个空间合并候选a0、a1、b0、b1和b2。根据图11所示的位置形成候选列表的顺序可以是:a0-》b0-》b1-》a1-》b2。
[0125]
基于历史的mvp(history-based mvp,hmvp)合并候选可以在空间运动矢量预测(motion vector prediction,mvp)和时间运动矢量预测(temporal motion vector prediction,tmvp)之后添加至合并列表。先前已编码的块的运动信息可以被存储在表中并用作当前cu的mvp,例如如在hmvp中所使用的。在编码/解码处理期间可以维持具有多个hmvp候选的表。当遇到新的ctu行时,可以重置(清空)该表。当遇到非子块帧间编码的cu时,可以将相关联的运动信息作为新的hmvp候选添加至该表的最后一个条目。
[0126]
hmvp表的大小s可以被设置为预定值。在实施方式中,hmvp表的大小s被设置为6,
这指示多达6个hmvp候选可以被添加至该表,例如,如在vtm3中所使用的。当新的运动候选被插入到表中时,可以利用受约束的先进先出(first-in-first-out,fifo)规则,其中首先应用冗余校验以发现在表中是否存在相同的hmvp。如果找到相同的hmvp,则可以将相同的hmvp从表中移除,并使之后的所有候选hmvp可以向前移动。
[0127]
hmvp候选可以用于构建合并候选列表。可以按顺序校验表中最新的若干hmvp候选,并在tmvp候选之后插入或添加至合并候选列表。此外,可以针对空间或时间合并候选对hmvp候选应用冗余校验。
[0128]
为了减少冗余校验操作的次数,可以引入以下简化:(a)用于合并列表生成的hmvp候选的数量可以被设置为(n《=4)?m:(8

n),其中,如果n小于或等于4,则hmvp候选的数量被设置为等于m,如果n大于4,则hmvp候选的数量被设置为等于8-n。n指示合并候选列表中现有候选的数量,m指示表中可用hmvp候选的数量。(b)一旦可用合并候选的总数达到合并候选的最大允许数目减1,则可以终止根据hmvp进行的合并候选列表构建处理。
[0129]
当作为与帧间模式分离的模式执行帧内块复制时,分离的历史缓冲器(也称为基于历史的矢量预测(history-based vector prediction,hbvp))可以用于存储先前编码的帧内块复制块矢量。作为与帧间预测分离的模式,可以将简化的块矢量得出处理应用于帧内块复制模式。类似的基于历史的块矢量预测器缓冲器可以用于执行bv预测。
[0130]
在hbvp中,可以建立hbvp缓冲器来记录先前经ibc编码的块的bv信息,该bv信息可以包括一些其他辅助信息,例如块大小、块位置等。基于所记录的信息,针对每个当前块,可以将hbvp中满足一定条件的bv分类成对应的类别。示例性条件可以包括以下中的一个或更多个:(1)类别0,已编码块的面积(例如,宽度*高度)大于或等于阈值(例如,64个像素);(2)类别1:bv的频率大于或等于恒定值,例如2;(3)类别2:已编码块坐标(例如左上角)在当前块的左边;(4)类别3:已编码块坐标(例如左上角)在当前块的上方;(5)类别4:已编码块坐标(例如左上角)在当前块的左上侧;(6)类别5:已编码块坐标(例如左上角)在当前块的右上侧;(7)类别6:已编码块坐标(例如左上角)在当前块的左下侧。针对每个类别,可以得出最近的已编码块的bv作为bv预测器候选。已编码块矢量预测器(coded block vector predictor,cbvp)列表可以通过按从0到6的顺序附加每个类别的bv预测器来构建。
[0131]
已编码块可以被划分成多个(例如,多于1个)连续串(或多个串),并且这些串中的每个串可以沿所定义的扫描顺序跟随先前串。扫描顺序可以是光栅扫描或遍历扫描。针对串中的每个串,可以用信号指示或推断串的长度和串偏移矢量(string offset vector,sv)。sv可以用于指示参考串来自参考区域中的位置。长度可以用于指示当前串/参考串的长度。可以在图12中示出帧内串匹配或帧内串复制(intra string copy,isc)模式的示例,其中可以使用光栅扫描顺序将具有8x8个样本的cu(1200a)划分成第一串(1202)和第二串(1204)。第一串(1202)可以包括前27个样本,并且第二串(1204)可以包括后36个样本。第一串(1202)和第二串(1204)的参考可以分别由串偏移矢量(string offset vector,sv)(1206)和(1208)来指示。图12中作为已重构区域的灰色区域例如(1200b)可以被用于参考。例如,(1200b)中的第一参考区域(1210)可以是第一串(1202)的参考区域,其可以由sv(1206)指示。(1200b)中的第二参考区域(1212)可以是第二串(1204)的参考区域,其可以由sv(1208)指示。如果当前块中的样本在参考区域中找不到匹配,则该样本可以被确定为逃逸样本或不匹配样本。可以用信号指示不匹配样本,并且不匹配样本的值可以被直接编码。
如图12所示,样本(1214)可以是具有不能通过参考样本预测的样本值的不匹配(或逃逸)样本。可以根据比特流直接用信号指示样本(1214)的样本值。
[0132]
为了使在ibc模式下使用的可用参考样本同步,在一些方法中,可以将用于串匹配的参考区域与用于ibc模式的参考区域对齐。因此,当前ctu的重构部分加上左ctu的具有相同参考样本可用性逻辑的一些区域同样可以应用于串匹配。
[0133]
可以使用上下文模型以基于上下文的自适应二进制算术编码(context-based adaptive binary arithmetic coding,cabac)对串匹配模式相关语法元素中的一些进行编码,其中语法元素中的每个语法元素可以包括多个二进制位。cabac可以包括上下文编码模式和旁路编码模式。在上下文编码模式下,可以通过编码器向二进制位中的每个二进制位分配概率模型。然后,可以将二进制位的值和相关联的概率模型发送至二进制算术编码器。在旁路编码模式下,二进制位中的每个二进制位可以被发送至旁路编码器以用于直接编码。这样的语法元素的示例可以包括isc_match_type(例如,当前串的匹配类型)、isc_next_remaining_pixel_in_cu(例如,当前编码单元中剩余的未解码样本的数量)、isc_pixel_match_type(例如,当前像素样本的匹配类型)和isc_sv_above_flag(指示当前cu的串矢量是否为(0,-1))等。在块中包括多个串或不匹配样本的情况下,经上下文编码的二进制位(例如,通过上下文编码模式编码的二进制位)的总数可能高,从实现的角度来看,这可能是不期望的。在本技术中,提供用于解决这样的问题的方法。
[0134]
在被称为evs(equal value string,等值串)模式的串复制模式的变型中,可以通过来自参考位置的同一值或通过直接来自比特流的同一值来预测串。在另一示例中,可以根据其上方的相邻串(例如,上方的副本)来预测串。在又一示例中,可以用信号指示不匹配样本。从而,诸如图12中所示的使用参考串的串匹配可以被称为“帧内串复制的普通子模式”,其可以应用串偏移矢量(例如,(1206)和(1208)),并且可以通过使用amvp或合并模式对串偏移矢量进行编码。而evs模式可以被称为isc的evs子模式。在evs子模式下,在示例中,可以通过复制串上方的参考串来预测串。在另一示例中,串中的所有其他样本可以具有与该串的第一样本相同的值。第一样本的值可以通过合适的预测模式例如帧内预测获得。在编码处理中,编码器可以提供第一信号以通知解码器串是否是通过isc编码的,并且然后提供第二信号以通知解码器串是否是通过evs子模式的普通子模式编码的。应该注意的是,evs子模式没有串偏移矢量。
[0135]
在本技术中,提供这样的实施方式:对串匹配模式相关语法元素施加一些约束使得以串匹配模式编码的块的经上下文编码的二进制位的数量可以被限制为目标数量。所提出的实施方式可以单独使用或以任何顺序组合使用。此外,术语块可以被解释为预测块、编码块或编码单元(coding unit,cu)。
[0136]
为了简单和清楚,可以基于isc的普通子模式来描述本技术的示例性实施方式。然而,本技术的示例性实施方式也可以应用于isc的evs子模式。
[0137]
在本技术中,目标可以被设置成使得每个样本的经上下文编码的二进制位(或通过上下文编码模式编码的二进制位)的平均数量小于或等于预定义阈值th_ave。换句话说,目标可以被设置成使得块中经上下文编码的二进制位的总数受到限制,并且该总数不可以超过预定义阈值th_ave乘以块中的样本的总数。在实施方式中,作为预定义阈值th_ave与块中的样本的总数的乘积的目标也可以被称为针对该块设置的最大允许数目。
[0138]
在块的编码处理期间,当先前编码的语法元素中的经上下文编码的二进制位的总数达到(例如,大于或等于)块的目标(或最大允许数目集合)时,可以使用旁路模式对与该块相关联的所有其他剩余语法元素进行编码,而不使用任何上下文。
[0139]
在一个实施方式中,th_ave可以被设置成固定常数,例如1.125、1.25、1.75等。
[0140]
在另一实施方式中,th_ave可以被设置成:具有相同大小并且以evs子模式编码的另一块可以具有的最大可能数目除以该另一块中的样本的数目。换句话说,isc模式下经上下文编码的二进制位(例如,通过上下文编码模式编码的二进制位)的数目可以被限制成使得:该数目不可以超过在对块以evs模式进行编码的情况下经上下文编码的二进制位的最大可能数目。
[0141]
在另一实施方式中,可以在比特流中例如在切片报头、图片报头或序列报头中用信号指示th_ave。在另一实施方式中,th_ave可以被预定义。
[0142]
在又一实施方式中,可以以如下方式设置th_ave:块中经上下文编码的二进制位的总数不可以超过在对块以任何其他模式例如帧内预测、帧间预测或ibc进行编码的情况下经上下文编码的二进制位的最大可能数目。这样的约束可以被设置成:在将帧内串复制模式与其他模式诸如ibc、帧间预测模式或帧内预测模式进行比较时,防止帧内串复制模式生成针对某个大小的块的最多数量的经上下文编码的二进制位。
[0143]
如以上所讨论的,在编码处理期间,语法元素可能包含多个经上下文编码的二进制位。对于语法元素中待编码的二进制位,从使用上下文编码模式到使用旁路编码模式的改变可以在整个语法元素被编码之后发生。在一些情况下,在对块的这样的语法元素进行编码之前,块中经上下文编码的二进制位的总数(或通过上下文编码模式编码的二进制位的总数)可能仍然低于针对该块设置的最大允许数目。在对语法元素进行编码之后,该总数可能会超过上限(或最大允许数目集合)。为了避免这种情况,可以使用可以是被称为cut_num的截止数的附加变量来确定是否应该使用旁路模式而不是最初分配的上下文编码模式对语法元素进行编码。更具体地,对于与块相关联的语法元素,如果在该语法元素之前的经上下文编码的二进制位的总数加上cut_num大于针对块设置的最大允许数目,则可以使用旁路模式对该语法元素进行编码。否则,如果在语法元素之前的经上下文编码的二进制位的总数加上cut_num等于或小于针对块设置的最大允许数目,则可以基于上下文编码模式应用最初分配的上下文对该语法元素进行编码。
[0144]
在实施方式中,cut_num可以被设置为固定值。该固定值可以是例如10或20。
[0145]
在实施方式中,cut_num可以被设置成当前语法元素的经上下文编码的二进制位的最大数目(或允许通过上下文编码模式进行编码的二进制位的最大数目)。
[0146]
在实施方式中,可以基于在isc模式下编码的块中的不同于当前语法元素的另一语法元素的经上下文编码的二进制位的最大数目来确定cut_num。因此,对于以帧内串复制模式编码的块中的任何其他语法元素,cut_num可以被设置成经上下文编码的二进制位的最大数目。
[0147]
在另一实施方式中,可以基于th_ave来确定cut_num。例如,可以将cut_num确定为th_ave的分数,例如th_ave的1/8、1/10或1/16。
[0148]
在实施方式中,对于以帧内串复制模式编码的块中的不同于当前语法元素的任何其他语法元素,可以根据经上下文编码的二进制位的最大数目来设置cut_num。例如,可以
将cut_num设置为不同于当前语法元素的另一语法元素的经上下文编码的二进制位的最大数目的一半。
[0149]
在实施方式中,可以用信号指示cut_num。可以在比特流中例如在切片报头、图片报头或序列报头中用信号指示cut_num。在又一实施方式中,cut_num可以是预定义数目。
[0150]
根据本技术的一些实施方式,图13示出了概述用于解码器的视频解码的第一处理(1300)的示例性流程图,图14示出了概述用于编码器的视频编码的第二处理(1400)的示例性流程图。在各种实施方式中,第一处理(1300)和第二处理(1400)可以由处理电路系统执行,处理电路系统例如终端装置(310)、(320)、(330)和(340)中的处理电路系统、执行视频编码器(403)的功能的处理电路系统、执行视频解码器(410)的功能的处理电路系统、执行视频解码器(510)的功能的处理电路系统、执行视频编码器(603)的功能的处理电路系统等。在一些实施方式中,第一处理(1300)和第二处理(1400)可以以软件指令实现,因此当处理电路系统执行软件指令时,处理电路系统分别执行第一处理(1300)和第二处理(1400)。
[0151]
如图13所示,处理(1300)在(s1301)处开始并进行至(s1310)。在(s1301)处,可以从已编码视频比特流接收已编码区域中的块的已编码信息。已编码信息可以包括信令信息和与块相关联的语法元素,其中语法元素中的每个语法元素可以包括一个或更多个二进制位,块可以包括多个串,并且块可以通过串匹配复制模式进行编码。
[0152]
在(s1320)处,可以基于与块相关联的、允许通过上下文编码模式进行编码的二进制位的最大数目来确定阈值。
[0153]
在(s1330)处,可以确定语法元素中的第一语法元素的二进制位的数目。
[0154]
在(s1340)处,可以使用第一语法元素的一个或更多个二进制位以串匹配模式对块进行解码,其中第一语法元素的二进制位的数目受指示针对上下文编码模式所允许的二进制位的最大数目的阈值限制。
[0155]
在处理(1300)中,可以基于以下之一对第一语法元素进行编码:(i)当第一语法元素的二进制位的数目小于阈值时基于上下文编码模式;以及(ii)当第一语法元素的二进制位的数目等于或大于阈值时基于旁路编码模式。
[0156]
在处理(1300)中,多个串中的每个串可以包括一个或更多个样本。在示例中,串匹配模式可以包括第一子模式,例如isc模式。isc模式可以被配置成基于由串偏移矢量指示的相应参考串来重构块中的多个串中的每个串。在另一示例中,串匹配模式可以包括第二子模式,例如evs模式。evs模式可以被配置成通过复制在对应串上方的参考串的至少一个值来重构块中的多个串中的每个串。例如,可以通过复制在对应串上方的参考串的值、或者利用对应串的第一样本的值对该对应串中的其他样本的值进行设置,来重构块中的多个串中的每个串。
[0157]
在实施方式中,为了确定阈值,可以确定平均阈值。该平均阈值可以指示块的样本中的每个样本中允许通过上下文编码模式进行编码的二进制位的平均数目。此外,可以将阈值确定为平均阈值与块中的样本的总数的乘积。
[0158]
在一些示例中,可以基于以下之一来确定平均阈值:(i)在切片报头、图片报头和序列报头之一中用信号指示的已编码信息中的信令信息;以及(ii)预定义值。
[0159]
在一些示例中,平均阈值可以包括1.125、1.25和1.75之一。
[0160]
在一些示例中,基于该块以evs模式进行编码,平均阈值可以基于与块相关联的、
允许通过上下文编码模式进行编码的二进制位的最大数目。
[0161]
在一些示例中,在块通过帧内预测模式、帧内块复制模式和帧间预测模式之一进行编码时,平均阈值可以基于与块相关联的、允许通过上下文编码模式进行编码的二进制位的最大数目。
[0162]
在另一实施方式中,为了确定阈值,可以确定截止数。截止数可以基于以下之一:(i)在切片报头、图片报头和序列报头之一中用信号指示的已编码信息中的信令信息;以及(ii)预定义值。阈值还可以被确定为:(i)平均阈值与块中的样本的总数的乘积减去(ii)截止数。
[0163]
截止数可以被设置为以下之一:第一语法元素的允许通过上下文编码模式进行编码的二进制位的最大数目;与通过串匹配模式进行编码的块相关联的语法元素之一的允许通过上下文编码模式进行编码的二进制位的最大数目;恒定值与平均阈值的乘积;以及与通过串匹配模式进行编码的块相关联的语法元素之一的允许通过上下文编码模式进行编码的二进制位的最大数目的一半。
[0164]
如图14所示,处理(1400)在(s1401)处开始并进行至(s1410)。在(s1410)处,可以接收与视频中的区域中的块相关联的语法元素。块可以以串匹配模式进行编码,语法元素中的每个语法元素可以包括一个或更多个二进制位,并且块可以包括多个串。
[0165]
在(s1420)处,可以基于与块相关联的、允许通过上下文编码模式进行编码的二进制位的最大数目来确定阈值。
[0166]
然后,处理(1400)可以进行至(s1430),在(s1430)处,可以确定语法元素中的第一语法元素的二进制位的数目。
[0167]
在(s1410)处,可以使用第一语法元素的一个或更多个二进制位以串匹配模式对块进行编码,其中第一语法元素的二进制位的数目受指示针对上下文编码模式所允许的二进制位的最大数目的阈值限制。
[0168]
在处理(1400)中,还可以基于以下之一对第一语法元素进行编码:(i)当第一语法元素的二进制位的数目小于阈值时基于上下文编码模式;以及(ii)当第一语法元素的二进制位的数目等于或大于阈值时基于旁路编码模式。
[0169]
在处理(1400)中,多个串中的每个串可以包括一个或更多个样本。在示例中,串匹配模式可以包括第一子模式,例如isc模式。isc模式可以被配置成基于由串偏移矢量指示的相应参考串来重构块中的多个串中的每个串。在另一示例中,串匹配模式可以包括第二子模式,例如evs模式。evs模式可以被配置成通过复制在对应串上方的参考串的至少一个值来重构块中的多个串中的每个串。例如,可以通过复制在对应串上方的参考串的值、或者利用对应串的第一样本的值对该对应串中的其他样本的值进行设置,来重构块中的多个串中的每个串。
[0170]
在实施方式中,为了确定阈值,可以确定平均阈值。平均阈值可以指示块的样本中的每个样本中的允许通过上下文编码模式进行编码的二进制位的平均数目。此外,可以将阈值确定为平均阈值与块中的样本的总数的乘积。
[0171]
在该方法中,可以输出包括信令信息的已编码比特流,其中信令信息可以在切片报头、图片报头和序列报头之一中用信号指示,并且指示所确定的平均阈值。
[0172]
在一些示例中,平均阈值可以包括1.125、1.25和1.75之一。
[0173]
在一些示例中,基于该块在evs模式下进行编码,平均阈值可以基于与块相关联的、允许通过上下文编码模式进行编码的二进制位的最大数目。
[0174]
在一些示例中,平均阈值可以基于与块相关联的、在该块通过帧内预测模式、帧内块复制模式和帧间预测模式之一进行编码的情况下允许通过上下文编码模式进行编码的二进制位的最大数目。
[0175]
在另一实施方式中,为了确定阈值,可以确定截止数。阈值还可以被确定为:(i)平均阈值与块中的样本的总数的乘积减去(ii)截止数。
[0176]
截止数可以被设置为以下之一:第一语法元素的允许通过上下文编码模式进行编码的二进制位的最大数目;与通过串匹配模式进行编码的块相关联的语法元素之一的允许通过上下文编码模式进行编码的二进制位的最大数目;恒定值与平均阈值的乘积;以及与通过串匹配模式进行编码的块相关联的语法元素之一的允许通过上下文编码模式进行编码的二进制位的最大数目的一半。
[0177]
应当注意,本技术中提供的方法可以单独使用或以任何顺序组合使用。此外,方法(或实施方式)、编码器和解码器各自可以通过处理电路系统(例如,一个或更多个处理器或一个或更多个集成电路)来实现。在一个示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。另外,术语块可以被解释为预测块、编码块或编码单元即cu。
[0178]
上述技术可以实现为使用计算机可读指令的计算机软件,并且物理存储在一个或更多个计算机可读介质中。例如,图15示出了适于实现所公开的主题的某些实施方式的计算机系统(1800)。
[0179]
可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,机器代码或计算机语言可以经受汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由一个或更多个计算机中央处理单元(central processing unit,cpu)、图形处理单元(graphics processing unit,gpu)等直接执行或者通过解译、微代码执行等执行。
[0180]
指令可以在各种类型的计算机或其部件上执行,包括例如个人计算机、平板计算机、服务器、智能电话、游戏装置、物联网装置等。
[0181]
图15中示出的用于计算机系统(1800)的部件本质上是示例性的,并且不旨在对实现本技术的实施方式的计算机软件的使用范围或功能提出任何限制。部件的配置也不应当被解释为具有与计算机系统(1800)的示例性实施方式中示出的部件中的任何一个部件或部件的组合有关的任何依赖性或要求。
[0182]
计算机系统1800可以包括某些人机接口输入装置。这样的人机接口输入装置可以对由一个或更多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、拍打)、视觉输入(例如:姿势)、嗅觉输入(未示出)的输入进行响应。人机接口装置还可以用于捕获不一定与人的意识输入直接有关的某些介质,例如,音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
[0183]
输入人机接口装置可以包括以下各项中的一个或更多个(每项仅描绘出一个):键盘(1801)、鼠标(1802)、触控板(1803)、触摸屏(1810)、数据手套(未示出)、操纵杆(1805)、麦克风(1806)、扫描仪(1807)、摄像装置(1808)。
[0184]
计算机系统(1800)还可以包括某些人机接口输出装置。这样的人机接口输出装置
可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感官。这样的人机接口输出装置可以包括:触觉输出装置(例如,通过触摸屏(1810)、数据手套(未示出)或操纵杆(1805)进行的触觉反馈,但是也可以存在不用作输入装置的触觉反馈装置);音频输出装置(例如:扬声器(1809)、头戴式耳机(未描绘));视觉输出装置(例如,屏幕(1810),包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕,每个均具有或不具有触摸屏输入能力,每个均具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘);全息显示器和烟罐(未描绘));以及打印机(未描绘)。
[0185]
计算机系统(1800)还可以包括人类可访问存储装置及其相关联的介质,例如包括具有cd/dvd等介质(1821)的cd/dvd rom/rw(1820)的光学介质、拇指驱动器(1822)、可移除硬盘驱动器或固态驱动器(1823)、传统磁介质(例如磁带和软盘(未描绘))、基于专用rom/asic/pld的装置(例如安全加密狗(未描绘))等。
[0186]
本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包含传输介质、载波或其他暂态信号。
[0187]
计算机系统(1800)还可以包括至一个或更多个通信网络(1855)的接口(1854)。网络可以是例如无线网络、有线网络、光网络。网络还可以是局域网、广域网、城域网、车载和工业网络、实时网络、延迟容忍网络等。网络的示例包括:局域网(例如以太网、无线lan),包括gsm、3g、4g、5g、lte等的蜂窝网络,包括有线电视、卫星电视和地面广播电视的电视有线连接或无线广域数字网络,包括can总线的车辆和工业网络等。某些网络通常需要附接至某些通用数据端口或外围总线(1849)(例如,计算机系统(1800)的usb端口)的外部网络接口适配器;其他的网络通常通过附接至如下所述的系统总线而集成到计算机系统(1800)的核中(例如,以太网接口到pc计算机系统,或蜂窝网络接口到智能电话计算机系统)。计算机系统(1800)可以使用这些网络中的任何网络与其他实体进行通信。这样的通信可以是仅单向接收的(例如,广播电视)、仅单向发送的(例如,到某些can总线装置的can总线)、或双向的(例如,使用局域数字网络或广域数字网络到其他计算机系统)。可以在如上面所描述的这些网络和网络接口中的每一个上使用某些协议和协议栈。
[0188]
上述人机接口装置、人类可访问存储装置和网络接口可以附接至计算机系统(1800)的核(1840)。
[0189]
核(1840)可以包括一个或更多个中央处理单元(central processing unit,cpu)(1841)、图形处理单元(graphics processing unit,gpu)(1842)、现场可编程门区域(field programmable gate area,fpga)(1843)形式的专用可编程处理单元、用于某些任务的硬件加速器(1844)、图形适配器(1850)等。这些装置以及只读存储器(rom)(1845)、随机存取存储器(1846)、内部大容量存储装置(例如,内部非用户可访问的硬盘驱动器、ssd等)(1847)可以通过系统总线(1848)进行连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(1848),以使得能够通过附加的cpu、gpu等进行扩展。外围装置可以直接地或通过外围总线(1849)附接至核的系统总线(1848)。在示例中,显示器(1810)可以连接至图形适配器(1850)。外围总线的架构包括pci、usb等。
[0190]
cpu(1841)、gpu(1842)、fpga(1843)和加速器(1844)可以执行某些指令,这些指令组合起来可以构成以上提及的计算机代码。该计算机代码可以被存储在rom(1845)或ram
(1846)中。暂态数据也可以被存储在ram(1846)中,而永久数据可以被存储在例如内部大容量存储装置(1847)中。可以通过使用缓存存储器来实现对存储装置中的任何存储装置的快速存储和检索,该缓存存储器可以与一个或更多个cpu(1841)、gpu(1842)、大容量存储装置(1847)、rom(1845)、ram(1846)等紧密关联。
[0191]
计算机可读介质上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是为本技术的目的而专门设计和构造的介质和计算机代码,或者它们可以具有计算机软件领域的技术人员公知和可用的类型。
[0192]
作为示例而非限制,具有架构的计算机系统(1800)并且特别是核(1840)可以提供作为处理器(包括cpu、gpu、fpga、加速器等)执行体现在一个或更多个有形计算机可读介质中的软件的结果而提供的功能。这样的计算机可读介质可以是与如上文介绍的用户可访问的大容量存储装置相关联的介质,以及具有非暂态性质的核(1840)的某些存储装置,例如核内大容量存储装置(1847)或rom(1845)。可以将实现本技术的各种实施方式的软件存储在这样的装置中并且由核(1840)执行。根据特定需求,计算机可读介质可以包括一个或更多个存储器装置或芯片。软件可以使核(1840)并且特别是其中的处理器(包括cpu、gpu、fpga等)执行本文中描述的特定处理或特定处理的特定部分,包括定义存储在ram(1846)中的数据结构以及根据由软件定义的处理修改这样的数据结构。另外地或可替选地,计算机系统可以提供作为硬连线或以其他方式体现在电路(例如:加速器(1844))中的逻辑的结果的功能,该逻辑可以代替软件操作或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在适当的情况下,提及软件可以包含逻辑,并且反之亦然。在适当的情况下,提及计算机可读介质可以包含存储用于执行的软件的电路(例如,集成电路(ic))、实施用于执行的逻辑的电路或上述两者。本技术包含硬件与软件的任何合适的组合。
[0193]
附录a:首字母缩略词
[0194]
jem:联合探索模型
[0195]
vvc:通用视频编码
[0196]
bms:基准集
[0197]
mv:运动矢量
[0198]
hevc:高效视频编码
[0199]
sei:补充增强信息
[0200]
vui:视频可用性信息
[0201]
gop:图片组
[0202]
tu:变换单元
[0203]
pu:预测单元
[0204]
ctu:编码树单元
[0205]
ctb:编码树块
[0206]
pb:预测块
[0207]
hrd:假设参考解码器
[0208]
snr:信噪比
[0209]
cpu:中央处理单元
[0210]
gpu:图形处理单元
[0211]
crt:阴极射线管
[0212]
lcd:液晶显示器
[0213]
oled:有机发光二极管
[0214]
cd:致密盘
[0215]
dvd:数字视频光盘
[0216]
rom:只读存储器
[0217]
ram:随机存取存储器
[0218]
asic:专用集成电路
[0219]
pld:可编程逻辑装置
[0220]
lan:局域网
[0221]
gsm:全球移动通信系统
[0222]
lte:长期演进
[0223]
canbus:控制器局域网总线
[0224]
usb:通用串行总线
[0225]
pci:外围部件互连
[0226]
fpga:现场可编程门区域
[0227]
ssd:固态驱动器
[0228]
ic:集成电路
[0229]
cu:编码单元
[0230]
虽然本技术已经描述了若干示例性实施方式,但是存在落入本技术的范围内的变更、置换和各种替代等同内容。因此将认识到,虽然本文中没有明确示出或描述,但是本领域技术人员能够设想实施本公开内容的原理并且因此在其精神和范围内的许多系统和方法。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1