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

关于合并候选的运动估计区域的制作方法

2022-09-03 10:52:44 来源:中国专利 TAG:

关于合并候选的运动估计区域
1.相关申请
2.本技术要求于2019年12月24日提交的题为“motion estimation region for the merge candidates(关于合并候选的运动估计区域)”的第62/953,421号美国临时专利申请的优先权,其全部内容通过引用并入本文。
技术领域
3.本技术总体涉及视频编解码和压缩,并且更具体地,涉及关于改进对合并候选列表的构建的方法和装置。


背景技术:

4.各种电子设备(诸如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流设备等)都支持数字视频。电子设备通过实施如由mpeg-4、itu-t h.263、itu-t h.264/mpeg-4、part 10、高级视频编解码(avc)、高效视频编解码(hevc)和通用视频编解码(vvc)标准定义的视频压缩/解压缩标准来发送、接收、编码、解码和/或存储数字视频数据。视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测来减少或去除视频数据中固有的冗余。对于基于块的视频编解码,将视频帧分割为一个或多个条带,每个条带具有多个视频块,视频块也可被称为编码树单元(ctu)。每个ctu可包含一个编码单元(cu)或者递归地被拆分为更小的cu直到达到预定义的最小cu尺寸为止。每个cu(也称为叶cu)包含一个或多个变换单元(tu)并且每个cu还包含一个或多个预测单元(pu)。可以以帧内、帧间或ibc模式对每个cu进行编解码。视频帧的帧内编解码(i)条带中的视频块使用关于同一视频帧内的相邻块中的参考样点的空间预测来进行编码。视频帧的帧间编解码(p或b)条带中的视频块可使用关于同一视频帧内的相邻块中的参考样点的空间预测或关于其它先前参考视频帧和/或未来参考视频帧中的参考样点的时间预测。
5.基于先前已被编码的参考块(例如,相邻块)的空间预测或时间预测得出用于待编解码的当前视频块的预测块。找到参考块的过程可通过块匹配算法来完成。表示待编解码的当前块与预测块之间的像素差的残差数据被称为残差块或预测误差。根据残差块和指向参考帧中的形成预测块的参考块的运动矢量来对帧间编码块进行编码。确定运动矢量的过程通常被称为运动估计。根据帧内预测模式和残差块对帧内编码块进行编码。为了进一步压缩,将残差块从像素域变换到变换域(例如,频域),从而得出残差变换系数,残差变换系数然后可被量化。最初以二维阵列布置的量化的变换系数可被扫描以生成变换系数的一维矢量,然后被熵编码为视频比特流以实现甚至更大的压缩。
6.然后,将经编码的视频比特流保存于计算机可读存储介质(例如,闪存存储器)中,以由具有数字视频能力的另一电子设备访问或者有线或无线地直接发送到电子设备。然后,电子设备执行视频解压缩(其为与上文描述的视频压缩相反的过程),例如,通过对经编码的视频比特流进行解析来从比特流获得语法元素,并且至少部分地基于从比特流获得的
语法元素从经编码的视频比特流将数字视频数据重建为其原始格式,并且电子设备在电子设备的显示器上呈现重建的数字视频数据。
7.随着数字视频质量从高清变为4k
×
2k或甚至8k
×
4k,待编码/解码的视频数据量呈指数增长。在如何在保持解码视频数据的图像质量的同时能够更有效率地对视频数据进行编码/解码方面,是一个长久挑战。


技术实现要素:

8.本技术描述了与视频数据编码和解码相关的实施方式,并且更具体地,描述了与关于合并候选列表的构建的方法和装置相关的实施方式。
9.根据本技术的第一方面,一种对视频数据进行解码的方法包括:从比特流接收与编码单元对应的视频数据;从所述视频数据接收定义运动估计区域(mer)的第一语法元素;从所述视频数据接收多个第二语法元素,其中所述多个第二语法元素指示所述编码单元是否处于基于子块的时间运动矢量预测(sbtmvp)模式;根据确定所述编码单元处于所述sbtmvp模式:确定所述编码单元和用于确定所述编码单元的时间矢量的空间相邻块两者是否在同一mer内;并且根据确定所述编码单元和所述空间相邻块两者在同一mer内:将所述编码单元的所述时间矢量设置为零。
10.根据本技术的第二方面,一种对视频数据进行解码的方法包括:从比特流接收与编码单元对应的视频数据;从所述视频数据接收定义运动估计区域(mer)的第一语法元素;从所述视频数据接收多个第二语法元素,其中所述多个第二语法元素指示所述编码单元是否处于基于子块的时间运动矢量预测(sbtmvp)模式;根据确定所述编码单元处于所述sbtmvp模式:确定所述编码单元和用于确定所述编码单元的时间矢量的第一空间相邻块两者是否在同一mer内;并且根据确定所述编码单元和所述第一空间相邻块两者在同一mer内:选择在所述mer外部的第二空间相邻块作为对所述第一空间相邻块的替代,以确定所述编码单元的所述时间矢量。
11.根据本技术的第三方面,一种对视频数据进行解码的方法包括:从比特流接收与编码单元对应的视频数据;从所述视频数据接收定义运动估计区域(mer)的第一语法元素;从所述视频数据接收多个第二语法元素,其中所述多个第二语法元素指示所述编码单元是否处于合并模式;根据确定所述编码单元处于所述合并模式:接收针对所述编码单元的多个合并候选;确定所述编码单元和用于从所述多个合并候选确定第一合并候选的第一空间相邻块两者是否在同一mer内;并且根据确定所述编码单元和所述第一空间相邻块两者在同一mer内:从所述多个合并候选选择第二合并候选作为对所述第一合并候选的替代。
12.根据本技术的第四方面,一种对视频数据进行解码的方法包括:从比特流接收与编码单元对应的视频数据;从所述视频数据接收定义运动估计区域mer的第一语法元素;从所述视频数据接收多个第二语法元素,其中所述多个第二语法元素指示所述编码单元是否处于合并模式;根据确定所述编码单元处于所述合并模式:确定所述编码单元和用于确定合并候选的第一空间相邻块两者是否在同一mer内;并且根据确定所述编码单元和所述第一空间相邻块两者在同一mer内:选择在所述mer外部的第二空间相邻块作为对所述第一空间相邻块的替代作为所述合并候选。
13.在一些实施例中,合并模式是帧内块复制(ibc)合并。
14.在一些实施例中,合并模式是组合帧间和帧内预测(ciip)合并。
15.根据本技术的第五方面,一种电子装置包括一个或多个处理单元、存储器和存储在存储器中的多个程序。程序在被一个或多个处理单元执行时使电子装置执行如上文所描述的对视频数据进行解码的方法。
16.根据本技术的第六方面,一种非易失性计算机可读存储介质存储用于由具有一个或多个处理单元的电子装置执行的多个程序。程序在被一个或多个处理单元执行时使电子装置执行如上文所描述的对视频数据进行解码的方法。
附图说明
17.被包括以提供对实施方式的进一步理解并且被并入本文并构成说明书的一部分的附图示出了所描述的实施方式,并且与本说明书一起用于解释基本原理。相似的附图标记指代相应的部分。
18.图1是示出根据本公开的一些实施方式的示例性视频编码和解码系统的框图。
19.图2是示出根据本公开的一些实施方式的示例性视频编码器的框图。
20.图3是示出根据本公开的一些实施方式的示例性视频解码器的框图。
21.图4a至图4e是示出根据本公开的一些实施方式的如何将帧递归地分割为不同尺寸和形状的多个视频块的框图。
22.图5a和图5b是示出根据本公开的一些实施方式的vvc中的示例性基于子块的时间运动矢量预测(sbtmvp)过程的框图。
23.图6a和图6b是示出根据本公开的一些实施方式的示例性基于控制点的仿射运动模型的框图。
24.图7是示出根据本公开的一些实施方式的针对子块的示例性仿射运动矢量预测(amvp)的框图。
25.图8是示出根据本公开的一些实施方式的继承的仿射运动预测因子的示例性位置的框图。
26.图9是示出根据本公开的一些实施方式的示例性控制点运动矢量继承的框图。
27.图10是示出根据本公开的一些实施方式的用于构建的仿射合并模式的候选位置的示例性位置的框图。
28.图11是示出根据本公开的一些实施方式的用于导出时间矢量的空间相邻块的示例性位置的框图。
29.图12是示出根据本公开的一些实施方式的ibc空间候选的示例性位置的框图。
30.图13是示出根据本公开的一些实施方式的ibc空间候选的示例性位置的框图。
31.图14和图15是示出根据本公开的一些实施方式的非相邻空间候选的示例性位置的框图。
32.图16是示出根据本公开的一些实施方式的在当前编码单元/块与用于确定当前合并候选的空间相邻块在同一运动估计区域(mer)中时确定当前合并候选替代的示例性过程的流程图。
具体实施方式
33.现在将详细参照具体实施方式,在附图中示出具体实施方式的示例。在以下详细描述中,阐述了很多非限制性具体细节以便帮助理解本文呈现的主题。但是对于本领域普通技术人员将显而易见的是,在不脱离权利要求的范围的情况下,可使用各种替代方案,并且可在没有这些具体细节的情况下实践主题。例如,对于本领域普通技术人员将显而易见的是,本文呈现的主题可在具有数字视频能力的许多类型的电子设备上实现。
34.在一些实施例中,引入了对新导出的编解码工具的若干修改,以支持并行运动估计或者用于对位于同一并行运动估计区域(pmer)内的块的并行运动估计的更并行友好的设计。对于编码器和解码器两者,可在不同级隐式地预先确定pmer的尺寸。例如,pmer的尺寸可被固定为预定义尺寸(例如,32
×
32、64
×
64),或者pmer可被设置为编码树单元(ctu)尺寸或最大变换单元(tu)尺寸或虚拟管道数据单元(vpdu)尺寸。或者,可在不同级(例如,序列级、图片级、条带级、瓦片级、ctu级和/或块级)用信号发送附加语法元素,以指示pmer的尺寸(例如,宽度和高度)。还可在不同级(例如,序列级、图片级、条带级、瓦片级、ctu级和/或块级)用信号发送其他语法元素,以指示该方案是否被启用。
35.图1是示出根据本公开的一些实施方式的用于并行地对视频块进行编码和解码的示例性系统10的框图。如图1中所示,系统10包括源设备12,源设备12生成并编码稍后将由目标设备14进行解码的视频数据。源设备12和目标设备14可包括各种各样的电子设备中的任何电子设备,包括台式计算机或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、相机、显示器设备、数字媒体播放器、视频游戏机、视频流传输设备等。在一些实施方式中,源设备12和目标设备14配备有无线通信能力。
36.在一些实施方式中,目标设备14可经由链路16接收待解码的编码视频数据。链路16可包括能够将编码视频数据从源设备12移动到目标设备14的任何类型的通信介质或设备。在一个示例中,链路16可包括使源设备12能够实时地将编码视频数据直接发送到目标设备14的通信介质。编码视频数据可根据通信标准(诸如无线通信协议)被调制,并且被发送到目标设备14。通信介质可包括任何无线或有线通信介质,诸如射频(rf)频谱或一个或多个物理传输线。通信介质可形成基于分组的网络(例如,局域网、广域网或诸如互联网的全球网)的一部分。通信介质可包括路由器、交换机、基站或可有利于促进从源设备12到目标设备14的通信的任何其它装置。
37.在一些其它实施方式中,编码视频数据可从输出接口22被发送到存储设备32。随后,存储设备32中的编码视频数据可通过目标设备14经由输入接口28被访问。存储设备32可包括各种分布式或本地访问的数据存储介质中的任何数据存储介质,诸如硬盘驱动器、蓝光光盘、dvd、cd-rom、闪存存储器、易失性或非易失性存储器、或者用于存储编码视频数据的任何其它合适的数字存储介质。在另一示例中,存储设备32可对应于文件服务器或可保留由源设备12生成的编码视频数据的另一中间存储设备。目标设备14可从存储设备32经由流传输或下载来访问存储的视频数据。文件服务器可以是能够存储编码视频数据并且将编码视频数据发送到目标设备14的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、ftp服务器、网络附属存储(nas)设备或本地磁盘驱动器。目标设备14可通过适合于访问存储在文件服务器上的编码视频数据的任何标准数据连接来访问编码视频数据,标准数据连接包括无线信道(例如,wi-fi连接)、有线连接(例如,dsl、电缆调制解
调器等)或无线信道和有线连接两者的组合。编码视频数据从存储设备32的传输可以是流传输、下载传输或流传输和下载传输两者的组合。
38.如图1中所示,源设备12包括视频源18、视频编码器20和输出接口22。视频源18可包括诸如以下项的源或此类源的组合:视频捕获设备(例如,摄像机)、包含先前捕获的视频的视频存档、用于从视频内容提供者接收视频的视频馈入接口、和/或用于生成作为源视频的计算机图形数据的计算机图形系统。作为一个示例,如果视频源18是安全监控系统的摄像机,则源设备12和目标设备14可形成相机电话或视频电话。然而,本技术中所描述的实施方式通常可适用于视频编解码,并且可应用于无线和/或有线应用。
39.可由视频编码器20对捕获、预先捕获或计算机生成的视频进行编码。可经由源设备12的输出接口22直接将编码视频数据发送到目标设备14。还可(或可选地)将编码视频数据存储到存储设备32上以供稍后被目标设备14或其它设备访问,以用于解码和/或回放。输出接口22可进一步包括调制解调器和/或发送器。
40.目标设备14包括输入接口28、视频解码器30和显示器设备34。输入接口28可包括接收器和/或调制解调器,并且通过链路16接收编码视频数据。通过链路16通信传送或在存储设备32上提供的编码视频数据可包括由视频编码器20生成的各种语法元素以供视频解码器30在对视频数据进行解码时使用。此类语法元素可被包括在通信介质上发送、存储在存储介质上或存储在文件服务器上的编码视频数据内。
41.在一些实施方式中,目标设备14可包括显示器设备34,显示器设备34可以是集成显示器设备和被配置为与目标设备14通信的外部显示器设备。显示器设备34将解码视频数据显示给用户,并且可包括各种显示器设备中的任何显示器设备,诸如液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器或另一类型的显示器设备。
42.视频编码器20和视频解码器30可根据专有标准或行业标准(例如,vvc、hevc、mpeg-4、part 10、高级视频编解码(avc))或此类标准的扩展进行操作。应当理解,本技术不限于特定的视频编码/解码标准,并且可适用于其它视频编码/解码标准。通常认为源设备12的视频编码器20可被配置为根据这些当前标准或未来标准中的任何标准对视频数据进行编码。类似地,还通常认为目标设备14的视频解码器30可被配置为根据这些当前标准或未来标准中的任何标准对视频数据进行解码。
43.视频编码器20和视频解码器30可分别被实现为各种合适的编码器电路中的任何电路,诸如一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑、软件、硬件、固件或其任何组合。当部分地以软件实现时,电子设备可将用于软件的指令存储于合适的非易失性计算机可读介质中,并且使用一个或多个处理器执行硬件中的指令以执行本公开中所公开的视频编码/解码操作。视频编码器20和视频解码器30中的每一个可被包括在一个或多个编码器或解码器中,编码器或解码器中的任一个可被集成为相应设备中的组合式编码器/解码器(codec)的一部分。
44.图2是示出根据本技术中描述的一些实施方式的示例性视频编码器20的框图。视频编码器20可执行对视频帧内的视频块的帧内预测编码和帧间预测编码。帧内预测编码依赖于空间预测以减少或去除给定视频帧或图片内的视频数据中的空间冗余。帧间预测编码依赖于时间预测以减少或去除视频序列的相邻视频帧或图片内的视频数据中的时间冗余。
45.如图2中所示,视频编码器20包括视频数据存储器40、预测处理单元41、解码图片
缓冲器(dpb)64、加法器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41进一步包括运动估计单元42、运动补偿单元44、分割单元45、帧内预测处理单元46和帧内块复制(bc)单元48。在一些实施方式中,视频编码器20还包括用于视频块重建的反量化单元58、逆变换处理单元60和加法器62。去块滤波器(未示出)可位于加法器62与dpb 64之间以对块边界进行滤波以从重建视频去除块效应。除了去块滤波器之外,还可使用环路滤波器(未示出)来对加法器62的输出进行滤波。视频编码器20可采取固定或可编程硬件单元的形式,或者可分散在所说明的固定或可编程硬件单元中的一个或多个中。
46.视频数据存储器40可存储将由视频编码器20的组件进行编码的视频数据。视频数据存储器40中的视频数据可例如从视频源18获得。dpb 64是存储供视频编码器20(例如,以帧内或帧间预测编码模式)在对视频数据进行编码时使用的参考视频数据的缓冲器。视频数据存储器40和dpb 64可由各种存储器设备中的任何存储器设备形成。在各种示例中,视频数据存储器40可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
47.如图2中所示,在接收到视频数据之后,预测处理单元41内的分割单元45将视频数据分割为视频块。此分割还可包括根据与视频数据相关联的预定义的拆分结构(诸如四叉树结构)将视频帧分割为条带、瓦片(tile)或其它更大编码单元(cu)。视频帧可被划分为多个视频块(或被称为分区的视频块集合)。预测处理单元41可基于误差结果(例如,编解码速率和失真等级)为当前视频块选择多个可行预测编码模式之一,诸如多个帧内预测编码模式中的一个或多个帧间预测编码模式中的一个。预测处理单元41可将所得的帧内预测编码块或帧间预测编码块提供给加法器50以生成残差块,并且提供给加法器62以重建编码块以用于随后作为参考帧的一部分使用。预测处理单元41还将语法元素(诸如运动矢量、帧内模式指示符、分割信息和其它此类语法信息)提供给熵编码单元56。
48.为了选择用于当前视频块的合适的帧内预测编码模式,预测处理单元41内的帧内预测处理单元46可与和待编码的当前块在同一帧中的一个或多个相邻块相关地执行当前视频块的帧内预测编码以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44与一个或多个参考帧中的一个或多个预测块相关地执行当前视频块的帧间预测编码以提供时间预测。视频编码器20可执行多个编码遍次,例如,来为视频数据的每个块选择合适的编码模式。
49.在一些实施方式中,运动估计单元42通过根据视频帧序列内的预定模式生成运动矢量来确定用于当前视频帧的帧间预测模式,运动矢量指示当前视频帧内的视频块的预测单元(pu)相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成估计针对视频块的运动的运动矢量的过程。例如,运动矢量可指示当前视频帧或图片内的视频块的pu相对于与当前帧内正被编码的当前块(或其它编码单元)相关的参考帧内的预测块(或其它编码单元)的位移。预定模式可将序列中的视频帧指定为p帧或b帧。帧内bc单元48可以以与由运动估计单元42确定用于帧间预测的运动矢量类似的方式确定用于帧内bc编码的矢量(例如,块矢量),或可利用运动估计单元42确定块矢量。
50.在像素差方面,预测块是被认为与待编码视频块的pu紧密匹配的参考帧的块,像素差可由绝对差总和(sad)、平方差总和(ssd)或其它差度量确定。在一些实施方式中,视频编码器20可计算用于dpb 64中存储的参考帧的子整数像素位置的值。例如,视频编码器20
可对参考帧的四分之一像素位置、八分之一像素位置或其它分数像素位置的值进行插值。因此,运动估计单元42可相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精度的运动矢量。
51.运动估计单元42通过以下来计算针对帧间预测编码帧中的视频块的pu的运动矢量:将pu的位置与从第一参考帧列表(列表0)或第二参考帧列表(列表1)选择的参考帧的预测块的位置进行比较,第一参考帧列表和第二参考帧列表中的每一个标识存储在dpb 64中的一个或多个参考帧。运动估计单元42将计算的运动矢量发送到运动补偿单元44,然后发送到熵编码单元56。
52.由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动矢量提取或生成预测块。在接收到针对当前视频块的pu的运动矢量后,运动补偿单元44可在参考帧列表中的一个参考帧列表中定位运动矢量所指向的预测块,从dpb 64取回预测块,并且将预测块转发到加法器50。然后,加法器50通过从正被编码的当前视频块的像素值减去由运动补偿单元44提供的预测块的像素值来形成像素差值的残差视频块。形成残差视频块的像素差值可包括亮度差分量或色度差分量或两者。运动补偿单元44还可生成与视频帧的视频块相关联的语法元素以供视频解码器30在对视频帧的视频块进行解码时使用。语法元素可包括例如定义用于识别预测块的运动矢量的语法元素、指示预测模式的任何标记、或本文描述的任何其它语法信息。应注意,运动估计单元42和运动补偿单元44可高度集成,但出于概念目的而单独说明。
53.在一些实施方式中,帧内bc单元48可以以与上文结合运动估计单元42和运动补偿单元44所描述的方式类似的方式生成矢量并提取预测块,但是这些预测块在与正被编码的当前块的同一帧中,并且这些矢量被称为块矢量而非运动矢量。具体地,帧内bc单元48可确定将用于对当前块进行编码的帧内预测模式。在一些示例中,帧内bc单元48可例如在单独的编码遍次期间使用各种帧内预测模式来对当前块进行编码,并且通过率失真分析来测试它们的性能。接下来,帧内bc单元48可在各种测试的帧内预测模式中选择合适的帧内预测模式以使用并相应地生成帧内模式指示符。例如,帧内bc单元48可使用率失真分析针对各种测试的帧内预测模式计算率失真值,并且在测试的模式中选择具有最佳率失真特性的帧内预测模式作为合适的帧内预测模式来使用。率失真分析大体上确定编码块与被编码以生成编码块的原始未编码块之间的失真(或误差)量、以及用于生成编码块的比特率(即,比特数量)。帧内bc单元48可从针对各种编码块的失真和速率计算比率,以确定哪个帧内预测模式展现针对块的最佳率失真值。
54.在其它示例中,帧内bc单元48可全部或部分地使用运动估计单元42和运动补偿单元44来执行根据本文描述的实施方式的用于帧内bc预测的此类功能。在任一情况下,对于帧内块复制,在像素差方面,预测块可以是被认为与待编码的块紧密匹配的块,像素差可由绝对差总和(sad)、平方差总和(ssd)或其它差度量确定,并且预测块的识别可包括计算针对子整数像素位置的值。
55.无论预测块是来自根据帧内预测的同一帧还是来自根据帧间预测的不同帧,视频编码器20可通过从正被编码的当前视频块的像素值减去预测块的像素值来形成像素差值,从而形成残差视频块。形成残差视频块的像素差值可包括亮度分量差和色度分量差两者。
56.作为如上文所描述的由运动估计单元42和运动补偿单元44执行的帧间预测或由
帧内bc单元48执行的帧内块复制预测的替代方案,帧内预测处理单元46可对当前视频块进行帧内预测。具体地,帧内预测处理单元46可确定帧内预测模式以用于对当前块进行编码。为此,帧内预测处理单元46可例如在单独的编码遍次期间使用各种帧内预测模式来对当前块进行编码,并且帧内预测处理单元46(或在一些示例中,模式选择单元)可从测试的帧内预测模式中选择合适的帧内预测模式来使用。帧内预测处理单元46可将指示针对块选择的帧内预测模式的信息提供给熵编码单元56。熵编码单元56可将指示选择的帧内预测模式的信息编码到比特流中。
57.在预测处理单元41经由帧间预测或帧内预测确定针对当前视频块的预测块之后,加法器50通过从当前视频块减去预测块来形成残差视频块。残差块中的残差视频数据可被包括在一个或多个变换单元(tu)中并且提供给变换处理单元52。变换处理单元52使用变换(诸如离散余弦变换(dct)或概念上类似的变换)将残差视频数据变换为残差变换系数。
58.变换处理单元52可将所得变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步减小比特率。量化过程还可减小与系数中的一些或全部相关联的比特深度。可通过调整量化参数来修改量化程度。在一些示例中,量化单元54可随后执行对包括量化的变换系数的矩阵的扫描。可选地,熵编码单元56可执行扫描。
59.在量化之后,熵编码单元56使用例如上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编解码(cabac)、基于语法的上下文自适应二进制算术编解码(sbac)、概率区间分割熵(pipe)编解码或另一熵编解码方法或技术,将量化的变换系数熵编码成视频比特流。然后,编码的比特流可被发送到视频解码器30,或存档于存储设备32中以供稍后发送到视频解码器30或由视频解码器30取回。熵编码单元56还可对用于正被编码的当前视频帧的运动矢量和其它语法元素进行熵编码。
60.反量化单元58和逆变换处理单元60分别应用反量化和逆变换以在像素域中重建残差视频块以用于生成用于预测其它视频块的参考块。如上文指出的,运动补偿单元44可从存储在dpb 64中的帧的一个或多个参考块生成运动补偿预测块。运动补偿单元44还可将一个或多个插值滤波器应用于预测块以计算子整数像素值以用于在运动估计时使用。
61.加法器62将重建的残差块加到由运动补偿单元44生成的运动补偿预测块来生成参考块以存储在dpb 64中。然后,参考块可由帧内bc单元48、运动估计单元42和运动补偿单元44用作预测块以对后续视频帧中的另一视频块进行帧间预测。
62.图3是示出根据本技术的一些实施方式的示例性视频解码器30的框图。视频解码器30包括视频数据存储器79、熵解码单元80、预测处理单元81、反量化单元86、逆变换处理单元88、加法器90和dpb 92。预测处理单元81进一步包括运动补偿单元82、帧内预测处理单元84和帧内bc单元85。视频解码器30可执行与上文结合图2关于视频编码器20所描述的编码过程基本互逆的解码过程。例如,运动补偿单元82可基于从熵解码单元80接收的运动矢量生成预测数据,而帧内预测单元84可基于从熵解码单元80接收的帧内预测模式指示符生成预测数据。
63.在一些示例中,视频解码器30的单元可被分派任务以执行本技术的实施方式。此外,在一些示例中,本公开的实施方式可分散在视频解码器30的多个单元中的一个或多个单元中。例如,帧内bc单元85可单独地或与视频解码器30的其它单元(诸如,运动补偿单元82、帧内预测处理单元84和熵解码单元80)组合地执行本技术的实施方式。在一些示例中,
视频解码器30可不包括帧内bc单元85,并且帧内bc单元85的功能可由预测处理单元81的其它组件(诸如运动补偿单元82)执行。
64.视频数据存储器79可存储将由视频解码器30的其它组件进行解码的视频数据,诸如编码视频比特流。存储在视频数据存储器79中的视频数据可例如从存储设备32、从本地视频源(诸如相机)、经由视频数据的有线或无线网络通信,或通过访问物理数据存储介质(例如,闪存驱动器或硬盘)获得。视频数据存储器79可包括存储来自编码视频比特流的编码视频数据的编解码图片缓冲器(cpb)。视频解码器30的解码图片缓冲器(dpb)92存储参考视频数据以供视频解码器30(例如,以帧内或帧间预测编解码模式)在对视频数据进行解码时使用。视频数据存储器79和dpb 92可由各种存储器设备中的任何存储器设备形成,诸如动态随机存取存储器(dram)(包括同步dram(sdram))、磁阻式ram(mram)、电阻式ram(rram)或其它类型的存储器设备。出于说明性目的,视频数据存储器79和dpb 92在图3中描绘为视频解码器30的两个不同组件。但是对于本领域的技术人员将显而易见的是,视频数据存储器79和dpb 92可由同一存储器设备或单独存储器设备提供。在一些示例中,视频数据存储器79可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。
65.在解码过程期间,视频解码器30接收表示编码视频帧的视频块和相关联的语法元素的编码视频比特流。视频解码器30可在视频帧级和/或视频块级接收语法元素。视频解码器30的熵解码单元80对比特流进行熵解码以生成量化系数、运动矢量或帧内预测模式指示符、以及其它语法元素。然后,熵解码单元80将运动矢量和其它语法元素转发到预测处理单元81。
66.当视频帧被编码为帧内预测编码(i)帧或用于其它类型的帧中的帧内编码预测块时,预测处理单元81的帧内预测处理单元84可基于用信号发送的帧内预测模式和来自当前帧的先前解码块的参考数据来生成用于当前视频帧的视频块的预测数据。
67.当视频帧被编码为帧间预测编码(即,b或p)帧时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动矢量和其它语法元素生成针对当前视频帧的视频块的一个或多个预测块。预测块中的每一个可从参考帧列表中的一个参考帧列表内的参考帧生成。视频解码器30可基于存储在dpb 92中的参考帧使用默认构建技术来构建参考帧列表,列表0和列表1。
68.在一些示例中,当根据本文描述的帧内bc模式对视频块进行编解码时,预测处理单元81的帧内bc单元85基于从熵解码单元80接收的块矢量和其它语法元素生成针对当前视频块的预测块。预测块可在由视频编码器20定义的与当前视频块的同一图片的重建区域内。
69.运动补偿单元82和/或帧内bc单元85通过解析运动矢量和其它语法元素来确定针对当前视频帧的视频块的预测信息,然后使用该预测信息生成针对正被解码的当前视频块的预测块。例如,运动补偿单元82使用接收到的语法元素中的一些语法元素来确定用于对视频帧的视频块进行编解码的预测模式(例如,帧内预测或帧间预测)、帧间预测帧类型(例如,b或p)、用于针对帧的参考帧列表中的一个或多个的构建信息、用于帧的每个帧间预测编码视频块的运动矢量、用于帧的每个帧间预测编解码视频块的帧间预测状态、以及用于对当前视频帧中的视频块进行解码的其它信息。
70.类似地,帧内bc单元85可使用接收到的语法元素中的一些语法元素,例如标记,以
确定当前视频块是使用帧内bc模式预测的、帧的哪些视频块在重建区域内且应被存储在dpb 92中的构建信息、用于帧的每个帧内bc预测视频块的块矢量、用于帧的每个帧内bc预测视频块的帧内bc预测状态、以及用于对当前视频帧中的视频块进行解码的其它信息。
71.运动补偿单元82还可使用如由视频编码器20在视频块的编码期间使用的插值滤波器执行插值,以计算针对参考块的子整数像素的插值。在这种情况下,运动补偿单元82可从接收到的语法元素确定由视频编码器20使用的插值滤波器,并且使用这些插值滤波器来生成预测块。
72.反量化单元86使用由视频编码器20针对视频帧中的每个视频块计算的用于确定量化程度的相同的量化参数,对在比特流中提供且由熵解码单元80熵解码的量化的变换系数进行反量化。逆变换处理单元88将逆变换(例如,逆dct、逆整数变换或概念上类似的逆变换过程)应用于变换系数,以便在像素域中重建残差块。
73.在运动补偿单元82或帧内bc单元85基于矢量和其它语法元素生成针对当前视频块的预测块之后,加法器90通过将来自逆变换处理单元88的残差块与由运动补偿单元82和帧内bc单元85生成的对应预测块相加,来重建针对当前视频块的解码视频块。环路滤波器(未示出)可位于加法器90与dpb 92之间以进一步处理解码视频块。然后,将给定帧中的解码视频块存储在dpb 92中,dpb 92存储用于接下来的视频块的后续运动补偿的参考帧。dpb 92或与dpb 92分离的存储器设备还可存储解码视频以用于稍后呈现在显示器设备(例如,图1的显示器设备34)上。
74.在典型的视频编解码过程中,视频序列通常包括帧或图片的有序集合。每一帧可包括三个样点阵列,表示为sl、scb和scr。sl是亮度样点的二维阵列。scb是cb色度样点的二维阵列。scr是cr色度样点的二维阵列。在其它情况下,帧可以是单色的,因此仅包括亮度样点的一个二维阵列。
75.如图4a中所示,视频编码器20(或更具体地,分割单元45)通过首先将帧分割为编码树单元(ctu)的集合来生成帧的编码表示。视频帧可包括以光栅扫描顺序从左到右和从上到下连续排序的整数个ctu。每个ctu是最大的逻辑编码单元,并且由视频编码器20以序列参数集用信号发送ctu的宽度和高度,使得视频序列中的所有ctu具有128
×
128、64
×
64、32
×
32和16
×
16之一的相同尺寸。但是应当注意,本技术不一定限于特定尺寸。如图4b中所示,每个ctu可包括亮度样点的一个编码树块(ctb)、色度样点的两个对应编码树块、以及用于对编码树块的样点进行编解码的语法元素。语法元素描述编码像素块的不同类型的单元的性质以及可如何在视频解码器30处重建视频序列,包括帧间预测或帧内预测、帧内预测模式、运动矢量和其它参数。在单色图片或具有三个单独颜色平面的图片中,ctu可包括单个编码树块和用于对该编码树块的样点进行编解码的语法元素。编码树块可以是n
×
n样点块。
76.为实现更好的性能,视频编码器20可对ctu的编码树块递归地执行树分割,例如二叉树分割、三叉树分割、四叉树分割或两者的组合,并且将ctu划分为较小的编码单元(cu)。如图4c中所描绘的,首先将64
×
64ctu 400划分为四个较小的cu,每个cu具有32
×
32的块尺寸。在四个较小的cu中,将cu 410和cu 420分别划分为块尺寸为16
×
16的四个cu。将两个16
×
16的cu 430和cu 440分别进一步划分为块尺寸为8
×
8的四个cu。图4d描绘了示出如图4c中所描绘的ctu 400的分割过程的最终结果的四叉树数据结构,四叉树的每个叶节点与范
围从32
×
32到8
×
8的各个尺寸的一个cu对应。类似于图4b中描绘的ctu,每个cu可包括相同尺寸的帧的亮度样点的编码块(cb)和色度样点的两个对应编码块、和用于对编码块的样点进行编解码的语法元素。在单色图片或具有三个单独颜色平面的图片中,cu可包括单个编码块和用于对编码块的样点进行编解码的语法结构。应注意,图4c和图4d中所描绘的四叉树分割仅出于说明性目的,并且一个ctu可基于四叉树/三叉树/二叉树分割被拆分为cu以适应于变化的局部特性。在多类型树结构中,一个ctu被四叉树结构分割,并且每个四叉树叶cu可被二叉和三叉树结构进一步分割。如图4e所示,存在五种分割类型,即四元分割、水平二元分割、垂直二元分割、水平三元分割和垂直三元分割。
77.在一些实施方式中,视频编码器20可进一步将cu的编码块分割为一个或多个m
×
n预测块(pb)。预测块是被应用相同预测(帧间或帧内)的矩形(正方形或非正方形)样点块。cu的预测单元(pu)可包括亮度样点的预测块、色度样点的两个对应预测块和用于对预测块进行预测的语法元素。在单色图片或具有三个单独颜色平面的图片中,pu可包括单个预测块和用于对预测块进行预测的语法结构。视频编码器20可生成针对cu的每个pu的亮度预测块、cb预测块和cr预测块的预测亮度块、预测cb块和预测cr块。
78.视频编码器20可使用帧内预测或帧间预测来生成针对pu的预测块。如果视频编码器20使用帧内预测来生成pu的预测块,则视频编码器20可基于与pu相关联的帧的解码样点来生成pu的预测块。如果视频编码器20使用帧间预测来生成pu的预测块,则视频编码器20可基于除与pu相关联的帧之外的一个或多个帧的解码样点来生成pu的预测块。
79.在视频编码器20生成针对cu的一个或多个pu的预测亮度块、预测cb块和预测cr块之后,视频编码器20可通过从cu的原始亮度编码块减去cu的预测亮度块来生成针对cu的亮度残差块,使得cu的亮度残差块中的每个样点指示cu的预测亮度块之一中的亮度样点与cu的原始亮度编码块中的对应样点之间的差。类似地,视频编码器20可分别生成针对cu的cb残差块和cr残差块,使得cu的cb残差块中的每个样点指示cu的预测cb块之一中的cb样点与cu的原始cb编码块中的对应样点之间的差,并且cu的cr残差块中的每个样点可指示cu的预测cr块之一中的cr样点与cu的原始cr编码块中的对应样点之间的差。
80.此外,如图4c中所示,视频编码器20可使用四叉树分割将cu的亮度残差块、cb残差块和cr残差块分解成一个或多个亮度变换块、cb变换块和cr变换块。变换块是被应用相同变换的矩形(正方形或非正方形)样点块。cu的变换单元(tu)可包括亮度样点的变换块、色度样点的两个对应变换块和用于对变换块样点进行变换的语法元素。因此,cu的每个tu可与亮度变换块、cb变换块和cr变换块相关联。在一些示例中,与tu相关联的亮度变换块可以是cu的亮度残差块的子块。cb变换块可以是cu的cb残差块的子块。cr变换块可以是cu的cr残差块的子块。在单色图片或具有三个单独颜色平面的图片中,tu可包括单个变换块和用于对该变换块的样点进行变换的语法结构。
81.视频编码器20可将一个或多个变换应用于tu的亮度变换块以生成针对tu的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可将一个或多个变换应用于tu的cb变换块以生成针对tu的cb系数块。视频编码器20可将一个或多个变换应用于tu的cr变换块以生成针对tu的cr系数块。
82.在生成系数块(例如,亮度系数块、cb系数块或cr系数块)之后,视频编码器20可对系数块进行量化。量化通常是指变换系数被量化以可能减少用于表示变换系数的数据量从
而提供进一步压缩的过程。在视频编码器20对系数块进行量化之后,视频编码器20可对指示量化的变换系数的语法元素进行熵编码。例如,视频编码器20可对指示量化的变换系数的语法元素执行上下文自适应二进制算术编解码(cabac)。最后,视频编码器20可输出包括比特序列的比特流,比特序列形成编码帧和相关联数据的表示,比特流被保存于存储设备32中或被发送到目标设备14。
83.在接收到由视频编码器20生成的比特流之后,视频解码器30可解析比特流以从比特流获得语法元素。视频解码器30可至少部分地基于从比特流获得的语法元素来对视频数据的帧进行重建。对视频数据进行重建的过程通常与由视频编码器20执行的编码过程互逆。例如,视频解码器30可对与当前cu的tu相关联的系数块执行逆变换以重建与当前cu的tu相关联的残差块。视频解码器30还通过将针对当前cu的pu的预测块的样点加到当前cu的tu的变换块的对应样点,来重建当前cu的编码块。在重建针对帧的每个cu的编码块之后,视频解码器30可重建帧。
84.在一些实施例中,存在用信号发送预测模式的不同方式。在vvc中,每个cu可被编解码为跳过模式或非跳过模式。对于被编解码为非跳过模式的cu,进一步用信号发送语法元素以指示当前cu是被编解码为帧内模式、帧间模式、帧内块复制(ibc)模式还是调色板(plt)模式。这些模式在vvc规范中分别被称为“mode_intra”、“mode_inter”、“mode_ibc”和“mode_plt”。对于编解码为帧间模式的cu,预测信号可由来自不是当前图片的参考图片的像素生成。此外,针对被编解码为帧间模式的cu,进一步用信号发送一个标志以指示当前cu是否为合并模式。对于被合并模式编解码的cu,使用额外语法元素进一步用信号发送若干不同类型的合并模式。这些不同类型的合并模式包括常规合并模式、子块合并模式、利用mv差的合并模式(mmvd)、组合帧间和帧内预测(ciip)和三角形合并模式。在以下部分中示出了合并模式。
85.在一些实施例中,在vvc中,通过按顺序包括以下五种类型的候选来构建合并候选列表:来自空间相邻cu的空间mvp(即,运动矢量预测因子)、来自同位cu的时间mvp、来自fifo表的基于历史的mvp、成对平均mvp和零mv。
86.在vvc中,合并列表的大小在条带头中被用信号发送,并且合并列表的最大允许大小为6。对于在合并模式下编解码的每个cu,使用截断一元二值化(tu)对最佳合并候选的索引进行编码。合并索引的第一二进制位利用上下文被编解码,并且旁路编解码被用于其它二进制位。在本公开的以下上下文中,该扩展合并模式也被称为常规合并模式,因为其概念与hevc中使用的合并模式相同。
87.在一些实施例中,除了隐式导出的运动信息被直接用于当前cu的预测样点生成的合并模式之外,在vvc中引入利用运动矢量差的合并模式(mmvd)。在发送跳过标志和合并标志之后立即用信号发送mmvd标志,以指定是否将mmvd模式用于cu。
88.在mmvd中,在选择合并候选之后,通过用信号发送的mvd信息进一步细化该合并候选。另外的信息包括合并候选标志、用于指定运动幅度的索引和用于指示运动方向的索引。在mmvd模式中,合并列表中的前两个候选之一被选择用作运动矢量(mv)基础。用信号发送合并候选标志以指定使用哪个候选。
89.距离索引指定运动幅度信息并且指示距起始点的预定义偏移。将偏移与起始mv的水平分量或垂直分量相加。距离索引与预定义偏移的关系在表1中被指定。
[0090][0091]
表1:距离索引与预定义偏移的关系
[0092]
方向索引表示mvd相对于起始点的方向。方向索引可表示如表2所示的四个方向。应注意,mvd符号的含义可根据起始mv的信息而变化。当起始mv是单向预测mv或者在两个列表指向当前图片的同一侧(即,两个参考的poc均大于当前图片的poc,或均小于当前图片的poc)的情况下的双向预测mv时,表2中的符号指定与起始mv相加的mv偏移的符号。当起始mv是在两个mv指向当前图片的不同侧(即,一个参考的图片顺序计数(poc)大于当前图片的poc,且另一参考的poc小于当前图片的poc)的情况下的双向预测mv时,表2中的符号指定与起始mv的列表0mv分量相加的mv偏移的符号和针对列表1mv的符号具有相反值。
[0093]
方向索引00011011x轴

n/an/ay轴n/an/a

[0094]
表2:由方向索引指定的mv偏移的符号
[0095]
在一些实施例中,在vvc中,组合的基于子块的合并列表被用于基于子块的合并模式的信令,其中,组合的基于子块的合并列表包含基于子块的时间运动矢量预测(sbtmvp)候选和仿射合并候选两者。在下文中,它被称为子块合并模式。通过序列参数集(sps)标志启用/禁用sbtmvp模式。如果启用sbtmvp模式,则添加sbtmvp预测因子作为基于子块的合并候选的列表的第一个条目,并且随后是仿射合并候选。基于子块的合并列表的大小在sps中被用信号发送,并且基于子块的合并列表的最大允许大小在vvc中为5。
[0096]
用于sbtmvp中的子cu尺寸被固定为8
×
8,并且如针对仿射合并模式所做,sbtmvp模式仅适用于宽度和高度两者均大于或等于8的cu。
[0097]
额外sbtmvp合并候选的编码逻辑与其它合并候选的编码逻辑相同,即,对于前向预测帧(p)或双向预测帧(b)条带中的每个cu,执行额外率失真(rd)检查以决定是否使用sbtmvp候选。
[0098]
在一些实施例中,vvc支持基于子块的时间运动矢量预测(sbtmvp)方法。类似于hevc中的时间运动矢量预测(tmvp),sbtmvp使用同位图片中的运动场来改进针对当前图片中的cu的运动矢量预测和合并模式。由tmvp使用的同一同位图片被用于sbtmvp。sbtmvp与tmvp的不同之处在于以下两个主要方面。首先,tmvp预测cu级的运动,而sbtmvp预测子cu级的运动;其次,tmvp从同位图片中的同位块(同位块是相对于当前cu的右下块或中心块)提取时间运动矢量,而sbtmvp在从同位图片提取时间运动信息之前应用运动偏移,其中运动偏移是从来自当前cu的空间相邻块之一的运动矢量获得。
[0099]
图5a和图5b是示出根据本公开的一些实施方式的vvc中的示例性sbtmvp过程的框图。在一些实施例中,通过应用来自空间相邻者的时间矢量(或称为运动偏移)并且缩放来自相应同位子cu的运动信息来导出子cu运动场。
[0100]
图5a和图5b中示出了sbtmvp过程。sbtmvp用两个步骤预测当前cu内的子cu的运动
矢量。在第一步骤中,检查图5a中的空间相邻者a1。如果a1具有使用同位图片作为其参考图片的运动矢量,则将此运动矢量选择为待应用的运动偏移。如果没有识别到这样的运动,则将运动偏移设置为(0,0)。
[0101]
在第二步骤中,应用在步骤1中识别的运动偏移(即,与当前块的坐标相加),以从同位图片获得子cu级运动信息(运动矢量和参考索引),如图5b所示。图5b中的示例假设运动偏移被设置为块a1的运动。接着,对于每个子cu,其在同位图片中的对应块(覆盖中心样点的最小运动网格)的运动信息被用于导出子cu的运动信息。在识别出同位子cu的运动信息之后,以与hevc的tmvp过程类似的方式将其转换为当前子cu的运动矢量和参考索引,其中应用时间运动缩放以将时间运动矢量的参考图片与当前cu的参考图片对齐。
[0102]
在vvc中,组合的基于子块的合并列表被用于基于子块的合并模式的信令,其中,组合的基于子块的合并列表包含sbtmvp候选和仿射合并候选两者。通过序列参数集(sps)标志启用/禁用sbtmvp模式。如果启用sbtmvp模式,则添加sbtmvp预测因子作为基于子块的合并候选的列表的第一个条目,并且随后是仿射合并候选。基于子块的合并列表的大小在sps中被用信号发送,并且基于子块的合并列表的最大允许大小在vvc中为5。
[0103]
用于sbtmvp中的子cu尺寸被固定为8
×
8,并且如针对仿射合并模式所做,sbtmvp模式仅适用于宽度和高度两者均大于或等于8的cu。
[0104]
额外sbtmvp合并候选的编码逻辑与其它合并候选的编码逻辑相同,即,对于p或b条带中的每个cu,执行额外rd检查以决定是否使用sbtmvp候选。
[0105]
在一些实施例中,在hevc中,仅平移运动模型被应用于运动补偿预测(mcp)。而在现实世界中,存在许多类型的运动,例如,放大/缩小、旋转、投影运动和其他不规则运动。在vvc中,基于块的仿射变换运动补偿预测被应用。
[0106]
图6a和图6b是示出根据本公开的一些实施方式的示例性基于控制点的仿射运动模型的框图。图6a示出了4参数仿射模型。图6b示出了6参数仿射模型。
[0107]
如图6a和图6b所示,块的仿射运动场被两个控制点运动矢量(4参数)v0和v1或三个控制点运动矢量(6参数)v0、v1和v2的运动信息描述。
[0108]
对于4参数仿射运动模型,块中样点位置(x,y)处的运动矢量被导出为:
[0109][0110]
对于6参数仿射运动模型,块中样点位置(x,y)处的运动矢量被导出为:
[0111][0112]
其中(mv
0x
,mv
0y
)是左上角控制点的运动矢量,(mv
1x
,mv
1y
)是右上角控制点的运动矢量,并且(mv
2x
,mv
2y
)是左下角控制点的运动矢量。w是块的宽度,h是块的高度。
[0113]
图7是示出根据本公开的一些实施方式的针对子块的示例性仿射运动矢量预测(amvp)的框图。为了简化运动补偿预测,应用基于块的仿射变换预测。为了导出每个4
×
4亮度子块的运动矢量,根据以上等式计算每个子块的中心样点的运动矢量(如图7中所示),并且将其四舍五入到1/16分数精度。然后,应用运动补偿插值滤波器以利用所导出的运动矢
量生成每个子块的预测。色度分量的子块尺寸也被设置为4
×
4。4
×
4色度子块的mv被计算为四个对应的4
×
4亮度子块的mv的平均值。
[0114]
如针对平移运动帧间预测所做,还存在两种仿射运动帧间预测模式:仿射合并模式和amvp模式。
[0115]
在一些实施例中,仿射合并预测模式(af_merge模式)可被应用于宽度和高度都大于或等于8的cu。在此模式中,基于空间相邻cu的运动信息生成当前cu的控制点运动矢量(cpmv)。可存在至多五个cpmv预测因子(cpmvp)候选,并且用信号发送索引以指示用于当前cu的索引。以下三种类型的cpmvp候选被用于形成仿射合并候选列表:(1)从相邻cu的cpmv外推出的继承的仿射合并候选;(2)使用相邻cu的平移mv导出的构建的仿射合并cpmvp;(3)零mv。
[0116]
图8是示出根据本公开的一些实施方式的继承的仿射运动预测因子的示例性位置的框图。在vvc中,存在从相邻块的仿射运动模型导出的最多两个继承的仿射候选,一个来自左侧相邻cu,且一个来自上方相邻cu。候选块在图8中示出。对于左侧的预测因子,扫描顺序是a0-》a1,并且对于上方的预测因子,扫描顺序是b0-》b1-》b2。仅选择来自每一侧的第一个继承的候选。在两个继承的候选之间不执行裁剪检查。当识别到相邻仿射cu时,其控制点运动矢量被用于导出当前cu的仿射合并列表中的cpmvp候选。
[0117]
图9是示出根据本公开的一些实施方式的示例性控制点运动矢量继承的框图。如图9中所示,如果相邻左下方块a在仿射模式下被编解码,则获得包含块a的cu的左上角、右上角和左下角的运动矢量v2、v3和v4。当块a用4参数仿射模型被编解码时,根据v2和v3计算当前cu的两个cpmv。在块a用6参数仿射模型被编解码的情况下,根据v2、v3和v4计算当前cu的三个cpmv。
[0118]
图10是示出根据本公开的一些实施方式的用于构建的仿射合并模式的候选位置的示例性位置的框图。通过对每个控制点的相邻平移运动信息进行组合来构造构建的仿射候选。关于控制点的运动信息是从图10中所示的指定空间相邻者和时间相邻者导出的。cpmvk(k=1,2,3,4)表示第k个控制点。对于cpmv1,按顺序检查b2-》b3-》a2块,并使用第一可用块的mv。同样地,通过按顺序检查b1-》b0块来导出cpmv2。通过按顺序检查a1-》a0块来导出cpmv3。如果tmvp可用,则将其用作cpmv4。
[0119]
在获得四个控制点的mv之后,基于那些运动信息来构建仿射合并候选。控制点mv的以下组合被用于按顺序构建:
[0120]
{cpmv1,cpmv2,cpmv3},{cpmv1,cpmv2,cpmv4},{cpmv1,cpmv3,cpmv4},{cpmv2,cpmv3,cpmv4},{cpmv1,cpmv2},{cpmv1,cpmv3}
[0121]
3个cpmv的组合可被用于构建6参数仿射合并候选,并且2个cpmv的组合可被用于构建4参数仿射合并候选。为了避免运动缩放过程,如果控制点的参考索引不同,则丢弃控制点mv的相关组合。
[0122]
在检查完继承的仿射合并候选和构建的仿射合并候选之后,如果列表仍然未满,则将零mv插入到列表的末尾。
[0123]
在一些实施例中,在vvc中,当cu在合并模式下被编解码时,如果cu包含至少64个亮度样点(即,cu宽度乘以cu高度等于或大于64),且如果cu宽度和cu高度两者都小于128个亮度样点,则用信号发送额外标志以指示是否将组合帧间/帧内预测(ciip)模式应用于当
前cu。如其名称所示,ciip预测将帧间预测信号与帧内预测信号进行组合。使用应用于常规合并模式的相同帧间预测过程来导出ciip模式下的帧间预测信号p
inter
;并且利用平面模式在常规帧内预测处理之后导出帧内预测信号p
intra
。然后,使用加权平均对帧内预测信号和帧间预测信号进行组合,其中如下根据顶部相邻块和左侧相邻块(如图10所示的块a1和b1)的编解码模式计算权重值:
[0124]
如果顶部相邻者可用并且被帧内编解码,则将isintratop设置为1,否则将isintratop设置为0;
[0125]
如果左侧相邻者可用并且被帧内编码,则将isintraleft设置为1,否则将isintraleft设置为0;
[0126]
如果(isintraleft isintraleft)等于2,则将wt设置为3;
[0127]
否则,如果(isintraleft isintraleft)等于1,则将wt设置为2;
[0128]
否则,将wt设置为1。
[0129]
ciip预测形成如下:
[0130][0131]
在一些实施例中,在vvc中,引入新的三角形分割模式用于帧间预测。三角形分割模式仅被应用于8
×
8或更大并且在跳过模式或合并模式下被编解码的cu。对于满足这些条件且合并标志为开启的cu,用信号发送cu级标志以指示是否应用三角形分割模式。
[0132]
当使用此模式时,使用对角线拆分或反对角线拆分,将cu均匀拆分成两个三角形分区。cu中的每个三角形分区使用其自己的运动进行帧间预测;对于每个分区仅允许单向预测,即,每个分区具有一个运动矢量和一个参考索引。应用单向预测运动约束以确保在三角形预测模式下,cu仅需要两个运动补偿预测,这与常规双向预测相同。
[0133]
如果cu级标志指示当前cu是使用三角形分割模式被编解码,则用信号发送标志以指示三角形分割方向(即,对角线或反对角线)。然后,分别针对两个分区中的每一个用信号发送索引,以指示用于每个三角形分区的合并运动矢量候选。在预测每个三角形分区之后,使用具有自适应权重的混合处理来调整沿着对角线或反对角线边缘的样点值。在预测过程之后,变换和量化过程将被应用于整个cu。值得一提的是,使用三角形分割模式预测的cu的运动场以4
×
4为单位进行存储。
[0134]
在一些实施例中,帧内块复制(ibc)是在hevc关于屏幕内容编解码(scc)的扩展简档中采用的工具。众所周知,它显著提高了屏幕内容视频材料的编解码效率。特别地,ibc可从当前图片的重建区域高效地生成预测因子。在块级用信号发送ibc模式。在编码器处执行块匹配(bm),以找到针对每个cu的最佳块矢量(或运动矢量)。这里,块矢量被用于指示从当前块到已经在当前图片内重建的参考块的位移。经ibc编解码的cu的亮度块矢量具有整数精度。对于某些视频格式(诸如420),色度块矢量可通过舍入运算从亮度块矢量导出,其结果也为整数精度。当与amvr(自适应运动矢量分辨率)组合时,ibc模式可在1像素运动矢量精度与4像素运动矢量精度之间切换。除帧内预测模式或帧间预测模式之外,经ibc编解码的cu还被视为第三预测模式。ibc模式适用于宽度和高度均小于或等于64个亮度样点的cu。
[0135]
在cu级,ibc模式利用标志被用信号发送,并且其可如下被用信号发送为ibc amvp模式或ibc跳过/合并模式:
[0136]
ibc跳过/合并模式:合并候选索引被用于指示列表中来自相邻候选ibc编解码块的块矢量中的哪一个用于预测当前块。合并列表由至多两个空间候选(a1和b1)和至多两个hmvp候选组成。
[0137]
对于小于或等于4
×
4的经ibc编解码的cu,仅使用hmvp候选来构建ibc合并候选列表。
[0138]
在ibc amvp模式中,块矢量差按照与运动矢量差相同的方式被编解码。块矢量预测方法使用两个候选作为预测因子,并且使用与ibc合并列表相同的构建过程来构建ibc amvp候选列表。
[0139]
在一些实施例中,在基于历史的运动矢量预测(hmvp)中,hmvp候选被定义为先前编码块的运动信息。在编码/解码过程期间维持具有多个hmvp候选的表(在本文档的其余部分中称为历史mv表)。当遇到新条带或每个ctu行的第一个ctu时,表被清空。每当存在非子块帧间编解码cu时,将相关联运动信息添加到表的最后条目作为新hmvp候选。在vvc中,hmvp表大小被设置为6,其指示可将至多6个基于历史的mvp(hmvp)候选添加到表。当将新的运动候选插入到表时,利用受约束的先进先出(fifo)规则,其中首先应用冗余检查(即mv裁剪)以找到表中是否存在相同的hmvp。如果找到,则从表中去除相同的hmvp,并且之后将所有hmvp候选向前(朝向第一个条目)移动。值得注意的是,存储在最后一个条目中的mvp是最新的mvp,并且存储在第一个条目中的mvp是最旧的mvp。
[0140]
如先前章节中所说明的,hmvp候选可在tmvp候选之后被用于合并候选列表构建过程中。表中的hmvp候选以从hmvp表中的最后一个条目到第一个条目的顺序被检查。对前两个hmvp候选应用冗余检查,其中这两个hmvp候选中的每一个与左侧空间合并候选a1和上方空间合并候选b1进行比较。换句话说,当插入hmvp候选时,相同mv候选检查的次数至多4次。一旦可用合并候选的总数达到最大允许的合并候选减1,就终止来自hmvp的合并候选列表构建过程。
[0141]
hmvp候选也可被用于amvp候选列表构建过程中。表中的hmvp候选以从hmvp表中的第一个条目到最后一个条目的顺序被检查,并且在tmvp候选之后被插入到候选列表。冗余检查不被应用于hmvp候选。
[0142]
如先前章节中所说明的,hmvp候选可被用于ibc合并候选列表构建过程以及ibc amvp列表构建中。表中的hmvp候选以从hmvp表中的最后一个条目到第一个条目的顺序被检查,并且在tmvp候选之后被插入到候选列表。对第一个hmvp候选应用冗余检查,并且所检查的hmvp候选仅需要与左侧空间合并候选和上方空间合并候选进行比较。换句话说,当插入hmvp候选时,相同mv候选检查的次数至多2次。
[0143]
在一些实施例中,使用用于并行运动估计的运动估计区域(mer)。为了加速编码过程,可并行地执行运动估计,由此同时导出针对给定区域内的所有预测单元的运动矢量。从空间邻域导出合并候选可能干扰并行处理,这是因为一个预测单元无法从邻近pu导出运动参数,直到其相关联的运动估计完成为止。为了减轻编解码效率与处理延迟之间的权衡,hevc定义了运动估计区域(mer),其尺寸使用“log2_parallel_merge_level_minus2”语法元素在图片参数集中被用信号发送。当定义mer时,落入同一区域中的合并候选被标记为不可用,因此不在列表构建中考虑。
[0144]
在一些实施例中,构建合并候选列表的方式引入了相邻块之间的相依性。特别是
在嵌入式编码器实现中,相邻块的运动估计阶段通常并行执行或至少以流水线执行来增加吞吐量。对于amvp,这不是大问题,因为mvp仅被用于对由运动搜索找到的mv进行差分编解码。然而,针对合并模式的运动估计阶段将通常仅由候选列表构建以及基于代价函数选择哪个候选的决策组成。由于上述相邻块之间的依赖性,相邻块的合并候选列表不能被并行生成,并且表现出了并行编码器设计的瓶颈。因此,引入了使合并相关模式更并行友好的几种方法。在下面的部分中,pmer的宽度和高度分别表示为w和h。
[0145]
用于并行运动估计区域(pmer)的sbtmvp
[0146]
在本公开的第一实施例中,当用于导出sbtmvp的tv的相邻块的位置位于与当前块相同的pmer内时,从空间块导出的tv被认为不可用,并且使用默认tv(例如,零矢量)。
[0147]
在本公开的第二实施例中,用于导出sbtmvp的时间矢量(tv)的空间相邻块的导出被修改以导出预定义的并行运动估计区(pmer)外部的块。可利用不同的方案来定位用于tv导出的空间相邻块。下面示出了几个示例。实施例不限于所示示例。将相邻块的位置导出为包含位于下面所示的位置之一处的样点的块。在所示出的示例中,当前亮度编码块的左上样点相对于当前图片的左上亮度样点的位置被表示为(xcb,ycb);位置(xa0,ya0)、(xa1,ya1)、(xa2,ya2)、(xb0,yb0)、(xb1,yb1)、(xb2,yb2)是被相邻块覆盖的样点位置;两个变量cbwidth和cbheight指定亮度编码块的宽度和高度。
[0148]
1)(xa0,ya0)=(xcb/w*w-1,ycb cbheight)
[0149]
2)(xa0,ya0)=(xcb/w*w-1,(ycb cbheight)/h*h)
[0150]
3)(xa1,ya1)=(xcb/w*w-1,ycb cbheight-1)
[0151]
4)(xa1,ya1)=(xcb/w*w-1,(ycb cbheight)/h*h-1)
[0152]
5)(xa2,ya2)=(xcb/w*w-1,ycb)
[0153]
6)(xa2,ya2)=(xcb/w*w-1,ycb/h*h)
[0154]
7)(xb0,yb0)=(xcb cbwidth,ycb/h*h-1)
[0155]
8)(xb0,yb0)=((xcb cbwidth)/w*w,ycb/h*h-1)
[0156]
9)(xb1,yb1)=(xcb cbwidth-1,ycb/h*h-1)
[0157]
10)(xb1,yb1)=((xcb cbwidth)/w*w-1,ycb/h*h-1)
[0158]
11)(xb2,yb2)=(xcb/w*w-1,ycb/h*h-1)
[0159]
12)(xb2,yb2)=(xcb/w*w-1,ycb-1)
[0160]
13)(xb2,yb2)=(xcb-1,ycb/h*h-1)
[0161]
图11是示出根据本公开的一些实施方式的用于导出tv的空间相邻块的示例性位置的框图。图11示出了用于导出针对cu 6的sbtmvp的tv的相邻块a1根据使用上面等式1导出的位置而位于mer外部的示例。在当前vvc中,用于导出针对cu 6的sbtmvp的tv的空间块取决于cu 5的重建。因此,这种依赖性对于并行运动搜索是有问题的。
[0162]
在本公开的第三实施例中,用于导出针对sbtmvp的时间矢量(tv)的空间相邻块被修改为当前块的上边界处的块。对于一些硬件编码器设计,位于当前块的上方位置的相邻块(例如,图10中的块b0、b1和b2)的mv已经被重建并且可用。因此,与使用当前块左侧的相邻块(例如,块a1)相比,从上方相邻块导出时间矢量对于并行运动估计具有较少问题。可利用不同的方案来定位用于tv导出的一个空间相邻块。下面示出了几个示例。实施例不限于所示示例。相邻块的位置被导出为包含位于下面所示的位置之一处的样点的块:
[0163]
1)(xb0,yb0)=(xcb cbwidth,ycb-1)
[0164]
2)(xb1,yb1)=(xcb cbwidth-1,ycb-1)
[0165]
3)(xb2,yb2)=(xcb-1,ycb-1)
[0166]
在本公开的第四实施例中,hmvp表的第一个条目中的hmvp候选被用于导出针对sbtmvp的tv。
[0167]
在本公开的第五实施例中,从同位图片中的块导出的时间运动矢量被用于导出针对sbtmvp的tv。
[0168]
用于mer的ibc合并
[0169]
在本公开的第六实施例中,当用于导出ibc合并候选的相邻块的位置位于与当前块相同的pmer内时,所导出的ibc合并候选被视为不可用。
[0170]
图12是示出根据本公开的一些实施方式的ibc空间候选的示例性位置的框图。图12是根据预定义顺序检查两个相邻块(a1,b1)以导出针对当前块(cu1)的ibc合并候选的示例。由于所有相邻的两个块都位于不同的pmer中,因此两个相邻块被认为可用。
[0171]
图13是示出根据本公开的一些实施方式的ibc空间候选的示例性位置的框图。在如图13所示的另一示例中,cu5的相邻块a1位于不同的mer中,因此它被认为可用。相邻块b1位于同一mer内,并且被认为不可用。
[0172]
在本公开的第七实施例中,用于导出ibc合并候选的空间相邻块的导出被修改以导出在预定义的并行运动估计区域(pmer)外部的块。相邻块的位置被导出为包含位于下面所示的位置之一处的样点的块:
[0173]
1)(xa0,ya0)=(xcb/w*w-1,ycb cbheight)
[0174]
2)(xa0,ya0)=(xcb/w*w-1,(ycb cbheight)/h*h)
[0175]
3)(xa1,ya1)=(xcb/w*w-1,ycb cbheight-1)
[0176]
4)(xa1,ya1)=(xcb/w*w-1,(ycb cbheight)/h*h

1)
[0177]
5)(xa2,ya2)=(xcb/w*w-1,ycb)
[0178]
6)(xa2,ya2)=(xcb/w*w-1,ycb/h*h)
[0179]
7)(xb0,yb0)=(xcb cbwidth,ycb/h*h-1)
[0180]
8)(xb0,yb0)=((xcb cbwidth)/w*w,ycb/h*h-1)
[0181]
9)(xb1,yb1)=(xcb cbwidth-1,ycb/h*h-1)
[0182]
10)(xb1,yb1)=((xcb cbwidth)/w*w-1,ycb/h*h-1)
[0183]
11)(xb2,yb2)=(xcb/w*w-1,ycb/h*h-1)
[0184]
12)(xb2,yb2)=(xcb/w*w-1,ycb-1)
[0185]
13)(xb2,yb2)=(xcb-1,ycb/h*h-1)
[0186]
图14和图15是示出根据本公开的一些实现方式的非相邻空间候选的示例性位置的框图。在如图14和图15中所示的一个示例中,位于紧邻pmer区域的上方边界的空间相邻块被用于导出ibc合并候选。在示例中,使用上面的位置等式9。
[0187]
在图15中,位于紧邻合并区域的左侧边界的空间相邻块被用于导出ibc合并候选。在示例中,使用上面的位置等式3。
[0188]
在本公开的第八实施例中,当将hmvp候选插入到ibc合并候选列表中时,按照从hmvp表中的第一个条目到最后一个条目的顺序检查表中的hmvp候选。
[0189]
用于并行运动估计区域(pmer)的ciip
[0190]
在本公开的第九实施例中,当用于导出针对ciip编码块的权重(例如,wt)的相邻块的位置与当前块位于相同的pmer内时,该相邻块被认为不可用。
[0191]
在本公开的第十实施例中,用于导出针对ciip编码块的权重的空间相邻块的导出被修改以导出在预定义的并行运动估计区域(pmer)外部的块。可利用不同的方案来定位用于权重确定的空间相邻块。下面示出了几个示例。实施例不限于所示示例。将相邻块的位置被导出为包含位于下面所示的位置之一处的样点的块。在所示的示例中,当前亮度编码块的左上方样点相对于当前图片的左上方亮度样点的位置被表示为(xcb,ycb);位置(xa0,ya0)、(xa1,ya1)、(xa2,ya2)、(xb0,yb0)、(xb1,yb1)、(xb2,yb2)是被相邻块覆盖的样点位置;两个变量cbwidth和cbheight指定亮度编码块的宽度和高度。
[0192]
1)(xa0,ya0)=(xcb/w*w-1,ycb cbheight)
[0193]
2)(xa0,ya0)=(xcb/w*w-1,(ycb cbheight)/h*h)
[0194]
3)(xa1,ya1)=(xcb/w*w-1,ycb cbheight-1)
[0195]
4)(xa1,ya1)=(xcb/w*w-1,(ycb cbheight)/h*h-1)
[0196]
5)(xa2,ya2)=(xcb/w*w-1,ycb)
[0197]
6)(xa2,ya2)=(xcb/w*w-1,ycb/h*h)
[0198]
7)(xb0,yb0)=(xcb cbwidth,ycb/h*h-1)
[0199]
8)(xb0,yb0)=((xcb cbwidth)/w*w,ycb/h*h-1)
[0200]
9)(xb1,yb1)=(xcb cbwidth-1,ycb/h*h-1)
[0201]
10)(xb1,yb1)=((xcb cbwidth)/w*w-1,ycb/h*h-1)
[0202]
11)(xb2,yb2)=(xcb/w*w-1,ycb/h*h-1)
[0203]
12)(xb2,yb2)=(xcb/w*w-1,ycb-1)
[0204]
13)(xb2,yb2)=(xcb-1,ycb/h*h-1)
[0205]
图16是示出根据本公开的一些实施方式的示例性过程1600的流程图,通过该过程1600,视频编解码器实现在当前编码单元/块和用于确定当前合并候选的空间相邻块在同一运动估计区域(mer)中时确定当前合并候选替代的技术。为便于描述,将过程1600描述为由视频解码器(例如,图3的视频解码器30)执行。
[0206]
第一实施例:
[0207]
在一些实施例中,视频解码器30从比特流接收与编码单元对应的视频数据(1610),然后从视频数据接收定义运动估计区域(mer)的第一语法元素(1620)。
[0208]
视频解码器30从视频数据接收多个第二语法元素,多个第二语法元素指示编码单元是否处于基于子块的时间运动矢量预测(sbtmvp)模式(1630)。
[0209]
在一些实施例中,多个第二语法元素包括指示编码单元是否处于子块合并模式的第三语法元素和指示使用哪个基于子块的合并候选来重建编码单元的第四语法元素。第三语法元素是“merge_subblock_flag”,并且第四语法元素是“merge_subblock_idx”。
[0210]
根据确定编码单元处于子块合并模式,视频解码器30接收针对编码单元的从相邻块导出的多个基于子块的合并候选。每个子块合并候选由多个相邻块构建。相邻块包括空间相邻块和时间相邻块。在一些实施例中,多个基于子块的合并候选包括sbtmvp候选和仿射合并候选两者。
[0211]
根据确定编码单元处于sbtmvp模式,视频解码器30确定编码单元和用于确定编码单元的时间矢量的空间相邻块两者是否在同一mer内(1640)。
[0212]
根据确定空间相邻块为sbtmvp候选,编码单元处于sbtmvp模式。
[0213]
根据确定编码单元和空间相邻块两者在同一mer内,视频解码器30将编码单元的时间矢量设置为零(1650)。
[0214]
第二实施例:
[0215]
在一些实施例中,视频解码器30从比特流接收与编码单元对应的视频数据,然后从视频数据接收定义运动估计区域(mer)的第一语法元素。视频解码器30从视频数据接收多个第二语法元素,其中多个第二语法元素指示编码单元是否处于基于子块的时间运动矢量预测(sbtmvp)模式。根据确定编码单元处于sbtmvp模式,视频解码器30确定编码单元和用于确定编码单元的时间矢量的第一空间相邻块两者是否在同一mer内。根据确定编码单元和第一空间相邻块两者在同一mer内,视频解码器30选择在mer外部的第二空间相邻块作为对第一空间相邻块的替代,以确定编码单元的时间矢量。
[0216]
在一些实施例中,在mer外部的第二空间相邻块是在第一空间相邻块的左侧位置处的空间相邻块。
[0217]
在一些实施例中,在mer外部的第二空间相邻块是在第一空间相邻块的上方位置处的空间相邻块。
[0218]
在一些实施例中,在mer外部的第二空间相邻块是在第一空间相邻块的左上方置处的空间相邻块。
[0219]
第三实施例:
[0220]
在一些实施例中,视频解码器30从比特流接收与编码单元对应的视频数据。然后视频解码器30从视频数据接收定义运动估计区(mer)的第一语法元素。视频解码器30从视频数据接收多个第二语法元素,其中多个第二语法元素指示编码单元是否处于合并模式。根据确定编码单元处于合并模式,视频解码器30接收针对编码单元的多个合并候选,并且确定编码单元和用于从多个合并候选确定第一合并候选的第一空间相邻块两者是否在同一mer内。根据确定编码单元和第一空间相邻块两者在同一mer内,视频解码器30从多个合并候选选择第二合并候选作为对第一合并候选的替代。
[0221]
在一些实施例中,合并模式是帧内块复制(ibc)合并。
[0222]
在一些实施例中,合并模式是组合帧间和帧内预测(ciip)合并。
[0223]
第四实施例:
[0224]
在一些实施例中,视频解码器30从比特流接收与编码单元对应的视频数据。然后视频解码器30从视频数据接收定义运动估计区(mer)的第一语法元素。视频解码器30从视频数据接收多个第二语法元素,其中多个第二语法元素指示编码单元是否处于合并模式。根据确定编码单元处于合并模式,视频解码器30确定编码单元和用于确定合并候选的第一空间相邻块两者是否在同一mer内。根据确定编码单元和第一空间相邻块两者在同一mer内,视频解码器30选择在mer外部的第二空间相邻块作为对第一空间相邻块的替代作为合并候选。
[0225]
在一些实施例中,在mer外部的第二空间相邻块是在针对相邻mer的编码块的合并候选位置之一处的空间相邻块。
[0226]
在一个或多个示例中,所描述的功能可以以硬件、软件、固件或其任何组合实施。如果以软件实施,则功能可作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输,并且由基于硬件的处理单元执行。计算机可读介质可包括计算机可读存储介质,其对应于诸如数据存储介质的有形介质,或对应于包括促进将计算机程序从一处传送到另一处(例如,根据通信协议)的任何介质的通信介质。以此方式,计算机可读介质通常可对应于(1)非易失性的有形计算机可读存储介质、或(2)通信介质,诸如信号或载波。数据存储介质可以是可由一个或多个计算机或一个或多个处理器访问以取回用于实现本技术中描述的实现方式的指令、代码和/或数据结构的任何可用介质。计算机程序产品可包括计算机可读介质。
[0227]
在本文的实施方式的描述中使用的术语仅用于描述特定实施方式的目的,并不旨在限制权利要求的范围。如在实施方式的描述和所附权利要求中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,如本文使用的术语“和/或”是指并且涵盖相关联的所列项目中的一个或多个的任何和所有可能的组合。将进一步理解,术语“包括”和/或“包括

的”当在本说明书中使用时,指定存在所陈述的特征、元件和/或组件,但不排除存在或添加一个或多个其它特征、元件、组件和/或其群组。
[0228]
还将被理解,尽管本文可使用术语第一、第二等来描述各种元件,但是这些元件不应受这些术语的限制。这些术语仅用于将一个元件与另一个元件区分开。例如,在不脱离实施方式的范围的情况下,第一电极可被称为第二电极,并且类似地,第二电极可被称为第一电极。第一电极和第二电极都是电极,但它们不是相同的电极。
[0229]
贯穿本说明书对单数或复数形式的“一个示例”、“示例”、“示例性示例”等的引用表示结合示例描述的一个或多个特定特征、结构或特性被包括在本公开的至少一个示例中。因此,贯穿本说明书在各个地方以单数或复数形式出现的短语“在一个示例中”或“在示例中”、“在示例性示例中”等不一定都指代相同的示例。此外,一个或多个示例中的特定特征、结构或特性可以以任何合适的方式组合。
[0230]
本技术的描述已经出于说明和描述的目的被呈现,并且不旨在穷举或限于所公开的形式的发明。受益于在前面的描述和相关联的附图中呈现的教导,许多修改、变化和替代实施方式对于本领域普通技术人员将是显而易见的。选择和描述实施例是为了最好地解释本发明的原理、实际应用,并且使本领域的其它技术人员能够理解本发明的各种实施方式,并且最好地利用基本原理和具有适合于预期的特定用途的各种修改的各种实施方式。因此,将理解,权利要求的范围不限于所公开的实施方式的具体示例,并且修改和其它实施方式旨在被包括在所附权利要求的范围内。
再多了解一些

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

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

相关文献