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

用于视频编解码的块划分方法与流程

2022-03-19 22:44:58 来源:中国专利 TAG:

用于视频编解码的块划分方法
相关申请的交叉引用
1.本公开要求2019年8月15日提交的美国临时申请第62/887,039号和2019年9月23日提交的美国临时申请第62/903,970号的优先权,两者均通过引用其全文并入本文。
技术领域
2.本公开总体上涉及视频处理,并且更具体地,涉及用于使用三角形划分或几何划分来执行运动预测的方法和系统。


背景技术:

3.视频是一组采集视觉信息的静态图像(或“帧”)。为了减少存储内存和传输带宽,可以在存储或传输前压缩视频并在显示前解压缩。压缩流程通常称为编码,解压缩流程通常称为解码。有多种使用标准化视频编码技术的视频编码格式,最常见的是基于预测、变换、量化、熵编码和环路内滤波。视频编码标准,如高效视频编码(hevc/h.265)标准、通用视频编码(vvc/h.266)标准、avs标准等,规定了具体的视频编码格式,由标准化组织制定。随着越来越多的视频标准采用先进的视频编码技术,新的视频编码标准的编码效率也越来越高。


技术实现要素:

4.本发明实施例提供了一种视频内容的处理方法。该方法可以包括:沿着划分边缘将与图像相关联的多个块划分为第一分区和第二分区;对所述多个块进行帧间预测,以生成所述第一分区的第一预测信号和第二分区的第二预测信号;将与所述划分边缘相关联的边缘块的第一预测信号和第二预测信号混合。
5.本发明实施例提供了一种视频内容处理系统。该系统可以包括:存储一组指令的存储器;以及至少一个处理器,其被配置为执行该组指令以使得系统执行:沿划分边缘将与图像相关联的多个块划分为第一分区和第二分区;对所述多个块进行帧间预测,以生成第一分区的第一预测信号和第二分区的第二预测信号;将与所述划分边缘相关联的边缘块的第一预测信号和第二预测信号混合。
6.本公开的实施例提供了一种存储可由计算机系统的至少一个处理器执行的指令集的非暂时性计算机可读介质,其中所述指令集的执行使计算机系统执行一种方法,该方法包括:沿着划分边缘将与图像相关联的多个块划分为第一分区和第二分区;对所述多个块进行帧间预测,以生成第一分区的第一预测信号和第二分区的第二预测信号;将与所述划分边缘相关联的边缘块的第一预测信号和第二预测信号混合。
附图说明
7.本公开的实施例和各个方面在以下详细描述和附图中示出。图中所示的各种特征未按比例绘制。
8.图1示出了与本公开的实施例一致示例性视频序列的结构。
9.图2a示出了与本公开的实施例一致的混合视频编解码系统的示例性编码流程的示意图。
10.图2b示出了与本公开的实施例一致的混合视频编解码系统的另一示例性编码流程的示意图。
11.图3a示出了与本公开的实施例一致的混合视频编解码系统的示例性解码流程的示意图。
12.图3b示出了与本公开的实施例一致的混合视频编解码系统的另一示例性解码流程的示意图。
13.图4是与本公开实施例一致的用于对视频进行编码或解码的示例性装置的框图。
14.图5示出了与本公开的实施例一致的基于三角形划分的示例性帧间预测。
15.图6示出了与本公开的实施例一致的用于将合并索引与运动矢量相关联的示例性表格。
16.图7示出了与本公开的实施例一致的示例性色度权重图和示例性亮度权重样本。
17.图8示出了与本公开的实施例一致的用于存储位于单向预测或双向预测区域中的运动矢量的4
×
4子块的示例。
18.图9示出了与本公开的实施例一致的合并模式的示例性语法结构。
19.图10示出了与本公开的实施例一致的合并模式的另一示例性语法结构。
20.图11示出了与本公开的实施例一致的示例性几何划分。
21.图12示出了与本公开的实施例一致的用于dis[]的示例性查找表。
[0022]
图13示出了与本公开的实施例一致的用于geofilter[]的示例性查找表。
[0023]
图14示出了与本公开的实施例一致的用于angleidx和distanceidx的示例性查找表。
[0024]
图15a示出了与本公开的实施例一致的用于stepdis的示例性查找表。
[0025]
图15b示出了与本公开的实施例一致的用于stepdis的另一个示例性查找表。
[0026]
图15c示出了与本公开的实施例一致的当几何划分子模式的总数被设置为140时的angleidx和distanceidx的示例性查找表。
[0027]
图15d示出了与本公开的实施例一致的当几何划分子模式的总数设置为108时的angleidx和distanceidx的示例性查找表。
[0028]
图15e示出了与本公开的实施例一致的当几何划分子模式的总数设置为80时用于angleidx和distanceidx的示例性查找表。
[0029]
图15f示出了与本公开的实施例一致的当几何划分子模式的总数设置为64时用于angleidx和distanceidx的示例性查找表。
[0030]
图16示出了与本公开的实施例一致的几何划分模式的示例性语法结构。
[0031]
图17a示出了与本公开的实施例一致的几何划分模式的另一示例性语法结构。
[0032]
图17b示出了与本公开的实施例一致的几何划分模式的又一示例性语法结构。
[0033]
图18示出了与本公开的实施例一致的帧间预测块的示例性子块变换。
[0034]
图19示出了与本公开的实施例一致的统一语法结构的示例。
[0035]
图20示出了与本公开的实施例一致的统一语法结构的另一个示例。
[0036]
图21示出了与本公开的实施例一致的统一语法结构的又一个示例
[0037]
图22a示出了与本公开的实施例一致的用于包括三角形和几何划分的angleidx和distanceidx的示例性查找表。
[0038]
图22b示出了与本公开的实施例一致的用于包括三角形和几何划分的angleidx和distanceidx的另一个示例性查找表。
[0039]
图23图示了与本公开的实施例一致的允许仅划分较大块尺寸的角度的示例。
[0040]
图24示出了与本公开的实施例一致的用于包括三角形和几何划分的angleidx和distanceidx的又一示例性查找表。
[0041]
图25示出了与本公开的实施例一致的用于包括三角形和几何分区的angleidx和distanceidx的又一示例性查找表。
[0042]
图26示出了与本公开的实施例一致的dis[]的示例性查找表。
[0043]
图27示出了与本公开的实施例一致的示例性编码单元语法结构。
[0044]
图28示出了与本公开的实施例一致的sbt和geo划分的示例。
[0045]
图29示出了与本公开的实施例一致的另一示例性编码单元语法结构。
[0046]
图30示出了与本公开的实施例一致的当几何划分子模式的总数被设置为80时的angleidx和distanceidx的示例性查找表。
[0047]
图31示出了与本公开的实施例一致的当几何划分子模式的总数被设置为64时angleidx和distanceidx的示例性查找表。
[0048]
图32示出了与本公开的实施例一致的rho[]的示例性查找表。
[0049]
图33示出了与本公开的实施例一致的每个块的每个操作的数量表。
[0050]
图34示出了与本公开的实施例一致的用于rhosubblk[]的示例性查找表。
[0051]
图35a示出了与本公开的实施例一致的角度135
°
的示例性掩码。
[0052]
图35b示出了与本公开的实施例一致的45
°
角的示例性掩码。
[0053]
图36a示出了与本公开的实施例一致的角度135
°
的示例性掩码。
[0054]
图36b示出了与本公开的实施例一致的45
°
的示例性掩码。
[0055]
图37示出了与本公开的实施例一致的不同块形状的三角形划分模式的示例性角度。
[0056]
图38示出了与本公开的实施例一致的当几何划分子模式的总数设置为140时的angleidx和distanceidx的示例性查找表。
[0057]
图39是与本公开的实施例一致的用于处理视频内容的示例性方法的流程图。
具体实施方式
[0058]
现在将详细参考示例性实施例,其示例在附图中示出。以下描述均参照附图,除非另有说明,否则不同附图中的相同数字表示相同或相似的元件。在示例性实施例的以下描述中阐述的实施方式不代表与本发明一致的所有实施方式。相反,它们仅仅是与所附权利要求中记载的与本发明相关的方面一致的装置和方法的示例。除非另有特别说明,否则术语“或”涵盖所有可能的组合,除非不可行。例如,如果声明一个组件可以包括a或b,那么,除非另外明确说明或不可行,否则该组件可以包括a、或b、或a和b。作为第二个例子,如果声明一个组件可能包括a、b或c,然后,除非另有明确说明或不可行,否则组件可能包括a、或b、或
c、或a和b、或a和c、或b和c、或a和b和c。
[0059]
视频编码系统通常用于压缩数字视频信号,例如以减少与此类信号相关联的存储空间消耗或减少传输带宽消耗。随着高清(hd)视频(例如分辨率为1920
×
1080像素)在视频压缩的各种应用中越来越受欢迎,例如在线视频流、视频会议或视频监控,开发可以提高视频数据压缩效率的编码工具的需求不断增加。
[0060]
例如,视频监控应用在许多应用场景(例如,安全、交通、环境监控等)中的应用越来越广泛,并且监控设备的数量和分辨率不断快速增长。很多视频监控应用场景更喜欢向用户提供高清视频来采集更多的信息,高清视频中每帧有更多的像素来采集这些信息。然而,高清视频位流可能具有高比特率,需要高带宽传输和大存储空间。例如,平均分辨率为1920
×
1080的监控视频流可能需要高达4mbps的带宽才能进行实时传输。另外,视频监控一般是7
×
24连续监控,如果要存储视频数据,这对存储系统是一个很大的挑战。因此,高清视频的高带宽、大存储需求成为其在视频监控中大规模部署的主要制约因素。
[0061]
视频是按时间顺序排列的一组静态图像(或“帧”)以存储视觉信息。视频采集设备(例如相机)可用于按时间序列采集和存储这些图像,视频播放设备(例如电视、计算机、智能手机、平板电脑、视频播放器或任何具有显示功能的终端用户终端都可以用于按时间顺序显示此类图像。此外,在一些应用中,视频采集设备可以将采集到的视频实时传输到视频播放设备(例如带显示器的电脑),用于监控、会议、直播等。
[0062]
为了减少此类应用所需的存储空间和传输带宽,视频可以在存储和传输之前进行压缩,并在显示之前进行解压缩。压缩和解压缩可以通过处理器(例如,通用计算机的处理器)或专用硬件执行的软件来实现。压缩模块一般称为“编码器”,解压模块一般称为“解码器”。编码器和解码器可以统称为“编解码器”。编码器和解码器可以实现为多种合适的硬件、软件中的任何一种,或其组合。例如,编码器和解码器的硬件实现可以包括电路,例如一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑、或其任何组合。编码器和解码器的软件实现可以包括程序代码、计算机可执行指令、固件或固定在计算机可读介质中的任何合适的计算机实现算法或流程。视频压缩和解压缩可以通过各种算法或标准来实现,例如mpeg-1、mpeg-2、mpeg-4、h.26x系列等。在某些应用中,编解码器可以从第一个编码标准解压缩视频,并使用第二个编码标准重新压缩解压缩的视频,在这种情况下,编解码器可以称为“转码器”。
[0063]
视频编码流程可以识别并保留可用于重建图像的有用信息,而忽略重建的不重要信息。如果被忽视的、不重要的信息不能完全重建,这样的编码流程可以被称为“有损”。否则,它可以被称为“无损”。大多数编码流程都是有损的,这是减少所需存储空间和传输带宽的一种权衡。
[0064]
正被编码的图像(称为“当前图像”)的有用信息包括相对于参考图像(例如,先前编码和重建的图像)的变化。这种变化可以包括像素的位置变化、亮度变化或颜色变化,其中位置变化是最受关注的。代表一个对象的一组像素的位置变化可以反映该对象在参考图像和当前图像之间的运动。
[0065]
在不参考另一图像(即,它是它自己的参考图像)的情况下编码的图像被称为“i图像”。使用先前图像作为参考图像编码的图像被称为“p图像”。使用先前图像和未来图像作为参考图像(即,参考是“双向的”)编码的图像被称为“b图像”。
[0066]
如前所述,使用高清视频的视频监控面临着高带宽和大存储需求的挑战。为了解决这些挑战,可以降低编码视频的比特率。在i-、p-和b-图像中,i-图像的比特率最高。由于大多数监控视频的背景几乎是静态的,因此降低编码视频整体比特率的一种方法是使用更少的i-图像进行视频编码。
[0067]
然而,使用更少的i-图像的改进可能是微不足道的,因为i-图像通常在编码视频中不占优势。例如,在典型的视频位流中,i-、b-和p-图像的比例可以是1:20:9,其中i-图像可以占总比特率的不到10%。换句话说,在本示例中,即使去除了所有的i-图像,降低的比特率也不会超过10%。
[0068]
图1图示了与本公开的实施例一致的示例视频序列100的结构。视频序列100可以是实况视频或已被采集和存档的视频。视频100可以是真实视频、计算机生成视频(例如,计算机游戏视频)或其组合(例如,具有增强现实效果的真实视频)。视频序列100可以从视频采集设备(例如,照相机)、包含先前采集的视频的视频档案(例如,存储在存储设备中的视频文件)或视频提供接口(例如,视频广播收发器)从视频内容提供商接收视频。
[0069]
如图1所示,视频序列100可以包括沿时间轴在时间上排列的一系列图像,包括图像102、104、106和108。图像102-106是连续的,并且在图像106和108之间有更多的图像。在图1中,图像102是i图像,其参考图像是图像102本身。图像104是p图像,其参考图像是图像102,如箭头所示。图像106是b图像,其参考图像是图像104和108,如箭头所示。在一些实施例中,图像(例如,图像104)的参考图像可以不紧接在该图像之前或之后。例如,图像104的参考图像可以是图像102之前的图像。需要说明的是,图像102-106的参考图像仅为示例,本公开不限制作为图1所示的示例的参考图像的实施例。
[0070]
由于编解码任务的计算复杂性,视频编解码器通常不会一次对整个图像进行编码或解码。相反,他们可以将图像分成基本段,并逐段对图像进行编码或解码。这种基本段在本公开中被称为基本处理单元(“bpu”)。例如,图1中的结构110示出了视频序列100的图像(例如,图像102-108中的任一个)的示例结构。在结构110中,图像被分成4
×
4个基本处理单元,其边界用虚线表示。在一些实施例中,基本处理单元在一些视频编码标准(例如,mpeg系列、h.261、h.263或h.264/avc)中可称为“宏块”,或在一些其他视频编码标准(例如,h.265/hevc或h.266/vvc)中称为“编码树单元”(“ctu”)。图像中的基本处理单元可以具有可变大小,例如128
×
128、64
×
64、32
×
32、16
×
16、4
×
8、16
×
32,或者任意形状和大小的像素。可以基于编码效率和要保持在基本处理单元中的细节水平的平衡来为图像选择基本处理单元的大小和形状。
[0071]
基本处理单元可以是逻辑单元,其可以包括存储在计算机存储器中(例如,在视频帧缓冲区中)的一组不同类型的视频数据。例如,彩色图像的基本处理单元可以包括表示非彩色亮度信息的亮度分量(y)、表示颜色信息的一个或多个色度分量(例如,cb和cr)以及相关联的语法元素,其中亮度和色度分量可以具有与基本处理单元相同的大小。在一些视频编码标准(例如,h.265/hevc或h.266/vvc)中,亮度和色度分量可以称为“编码树块”(“ctb”)。对基本处理单元执行的任何操作都可以对其亮度和色度分量中的每一个重复执行。
[0072]
视频编码具有多个操作阶段,其示例将在图2a-2b和3a-3b中详述。对于每一阶段,基本处理单元的大小仍然可能太大而无法处理,因此可以进一步划分成本公开中称为“基
本处理子单元”的段。在一些实施例中,基本处理子单元在一些视频编码标准(例如,mpeg系列、h.261、h.263或h.264/avc)中可以被称为“块”,或者在一些其他视频编码标准(例如,h.265/hevc或h.266/vvc)中被称为“编码单元”(“cu”)。基本处理子单元可以具有与基本处理单元相同的尺寸或比基本处理单元更小。与基本处理单元类似,基本处理子单元也是逻辑单元,其可以包括存储在计算机存储器(例如,在视频帧缓冲区中)的一组不同类型的视频数据(例如,y,cb,cr,和相关联的语法元素)。对基本处理子单元执行的任何操作都可以对其亮度和色度分量中的每一个重复执行。应当注意,这种划分可以根据处理需要进行到更深层次。还需要注意的是,不同的阶段可以使用不同的方案来划分基本处理单元。
[0073]
例如,在模式决策阶段(其示例将在图2b中详述),编码器可以决定使用什么预测模式(例如,图像内预测或图像间预测)用于基本处理单元,基本处理单元可能太大而无法做出决策。编码器可以将基本处理单元拆分为多个基本处理子单元(例如,h.265/hevc或h.266/vvc中的cu),并为每个单独的基本处理子单元决定预测类型。
[0074]
对于另一示例,在预测阶段(其示例将在图2a中详述),编码器可以在基本处理子单元(例如,cu)的级别执行预测操作。但是,在某些情况下,基本处理子单元仍然可能太大而无法处理。编码器可以进一步将基本处理子单元拆分为更小的段(例如,在h.265/hevc或h.266/vvc中称为“预测块”或“pb”),在这些级别上可以执行预测操作。
[0075]
对于另一示例,在变换阶段(其示例将在图2a中详述),编码器可执行用于残差基本处理子单元(例如,cu)的变换操作。但是,在某些情况下,基本处理子单元仍然可能太大而无法处理。编码器可以进一步将基本处理子单元拆分为更小的段(例如,在h.265/hevc或h.266/vvc中称为“变换块”或“tb”),在该级别上变换操作可以执行。需要说明的是,相同的基本处理子单元在预测阶段和变换阶段的划分方案可以不同。例如,在h.265/hevc或h.266/vvc中,同一cu的预测块和变换块可以具有不同的大小和数量。
[0076]
在图1的结构110中,基本处理单元112进一步分为3
×
3个基本处理子单元,其边界用虚线表示。同一图像的不同基本处理单元可以以不同方案划分为基本处理子单元。
[0077]
在一些实施方式中,为了向视频编码和解码提供并行处理和容错能力,可以将图像划分为多个区域进行处理,使得对于图像的一个区域,编码或解码流程可以不取决于来自该图像任何其他区域的信息。换句话说,图像的每个区域都可以独立处理。通过这样做,编解码器可以并行处理图像的不同区域,从而提高编码效率。并且,当一个区域的数据在处理流程中损坏或在网络传输丢失时,编解码器可以正确编码或解码同一图像的其他区域,而不依赖于损坏或丢失的数据,从而提供了容错能力。在一些视频编码标准中,一张图像可以被划分为不同类型的区域。例如,h.265/hevc和h.266/vvc提供两种类型的区域:“slices”和“tiles”。还应注意,视频序列100的不同图像可具有用于将图像划分为多个区域的不同分区方案。
[0078]
例如,在图1中,结构110被分成三个区域114、116和118,其边界在结构110内部被示为实线。区域114包括四个基本处理单元。区域116和118中的每一个包括六个基本处理单元。需要说明的是,图1中的结构110的基本处理单元、基本处理子单元和区域仅为示例,本公开不限制其实施例。
[0079]
图2a图示了与本公开的实施例一致的示例编码流程200a的示意图。例如,编码流程200a可由编码器执行。如图2a所示,根据流程200a编码器可将视频序列202编码成视频位
流228。类似于图1中的视频序列100,视频序列202可以包括按时间顺序排列的一组图像(称为“原始图像”)。类似于图1中的结构110,视频序列202的每个原始图像可由编码器划分为基本处理单元、基本处理子单元或区域进行处理。在一些实施例中,编码器可以针对视频序列202的每个原始图像在基本处理单元级别上执行流程200a。例如,编码器可以以迭代方式执行流程200a,其中编码器可以在流程200a的一次迭代中对基本处理单元进行编码。在一些实施例中,编码器可以针对视频序列202的每个原始图像的区域(例如,区域114-118)并行地执行流程200a。
[0080]
在图2a中,编码器可以将视频序列202的原始图像的基本处理单元(称为“原始bpu”)提供至预测阶段204以生成预测数据206和预测bpu208。编码器可以从原始bpu中减去预测bpu以生成残差bpu 210。编码器可以将残差bpu 210提供至变换阶段212和量化阶段214以生成量化变换系数216。编码器可以将预测数据206和量化变换系数216提供至二进制编码阶段226以生成视频位流228。组件202、204、206、208、210、212、214、216、226和228可以称为“前向路径”。在流程200a期间,在量化阶段214之后,编码器可以将量化变换系数216提供至逆量化阶段218和逆变换阶段220以生成重建残差bpu 222。编码器可以将重建残差bpu 222添加到预测bpu 208以生成预测参考224,其在预测阶段204中用于流程200a的下一次迭代。流程200a的组件218、220、222和224可以被称为“重建路径”。重建路径可用于确保编码器和解码器使用相同的参考数据进行预测。
[0081]
编码器可以迭代地执行流程200a以对原始图像的每个原始bpu(在前向路径中)进行编码并且生成预测参考224以用于对原始图像的下一个原始bpu(在重建路径中)进行编码。在对原始图像的所有原始bpu进行编码后,编码器可以继续对视频序列202中的下一个图像进行编码。
[0082]
参考流程200a,编码器可以接收由视频采集设备(例如,照相机)生成的视频序列202。这里使用的术语“接收”可以指接收、输入、获取、检索、获取、读取、访问或以任何方式输入数据的任何动作。
[0083]
在预测阶段204,在当前迭代中,编码器可以接收原始bpu和预测参考224,并且执行预测操作以生成预测数据206和预测bpu 208。可以从流程200a的先前迭代的重建路径生成预测参考224。预测阶段204的目的是通过提取预测数据206来减少信息冗余,预测数据206可用于从预测数据206和预测参考224中将原始bpu重建为预测bpu 208。
[0084]
理想地,预测bpu 208可以与原始bpu相同。然而,由于非理想的预测和重建操作,预测bpu 208通常与原始bpu略有不同。为了记录这种差异,在生成预测bpu 208之后,编码器可以将其从原始bpu中减去以生成剩余的bpu 210。例如,编码器可以从原始bpu的像素值(例如,灰度值或rgb值)中减去预测bpu 208中对应的像素值。残差bpu 210的每个像素具有残差值,作为原始bpu和预测bpu 208的对应像素之间相减的结果。与原始bpu相比,预测数据206和残差bpu 210可以具有更少的位,但是它们可用于重建原始bpu,而不会显着降低质量。因此,原始bpu被压缩。
[0085]
为了进一步压缩残差bpu 210,在变换阶段212,编码器可以通过将残差bpu 210分解成一组二维“基本模式”来减少它的空间冗余,每个基本模式与“变换系数”相关联。基本模式可以具有相同的大小(例如,残差bpu 210的大小)。每个基本模式可以代表残差bpu 210的变化频率(例如,亮度变化的频率)分量。基本模式不可以从任何其他基本模式的任何
组合(例如,线性组合)再现。换言之,分解可以将残差bpu 210的变化分解到频域中。这种分解类似于函数的离散傅里叶变换,其中基本模式类似于离散傅里叶变换的基本函数(例如三角函数),并且变换系数类似于与基本函数相关联的系数。
[0086]
不同的变换算法可以使用不同的基本模式。可以在变换阶段212使用各种变换算法,例如离散余弦变换、离散正弦变换等。变换阶段212处的变换是可逆的。即,编码器可以通过变换的逆运算(称为“逆变换”)来恢复残差bpu 210。例如,为了恢复残差bpu 210的像素,逆变换可以是将基本模式的对应像素的值乘以各自相关联的系数并将乘积相加以产生加权和。对于视频编码标准,编码器和解码器都可以使用相同的变换算法(因此具有相同的基本模式)。因此,编码器可以仅记录变换系数,解码器可以根据这些系数重建残差bpu 210,而无需从编码器接收基本模式。与残差bpu 210相比,变换系数可以具有更少的位,它们可以用于重建残差bpu 210而不会显着降低质量。因此,残差bpu 210被进一步压缩。
[0087]
编码器可以在量化阶段214进一步压缩变换系数。在变换流程中,不同的基本模式可以表示不同的变化频率(例如,亮度变化频率)。由于人眼通常更擅长识别低频变化,因此编码器可以忽略高频变化的信息,而不会导致解码质量显着下降。例如,在量化阶段214,编码器可以通过将每个变换系数除以整数值(称为“量化参数”)并将商四舍五入为其最接近的整数来生成量化变换系数216。经过这样的操作,高频基础模式的一些变换系数可以被转换为零,而低频基础模式的变换系数可以被转换为更小的整数。编码器可以忽略零值量化变换系数216,通过该零值量化变换系数进一步压缩变换系数。量化流程也是可逆的,其中量化变换系数216可以在量化的逆操作(称为“逆量化”)中重建为变换系数。
[0088]
因为编码器在舍入操作中忽略这种除法的余数,所以量化级214可能是有损的。通常,量化阶段214可能在流程200a中产生最多的信息损失。信息损失越大,量化变换系数216需要的位越少。为了获得不同程度的信息损失,编码器可以使用量化参数或量化流程的任何其他参数的不同值。
[0089]
在二进制编码阶段226,编码器可以使用二进制编码技术对预测数据206和量化变换系数216进行编码,例如熵编码、可变长度编码、算术编码、霍夫曼编码、上下文自适应二进制算术编码,或任何其他无损或有损压缩算法。在一些实施例中,除了预测数据206和量化变换系数216之外,编码器可以在二进制编码阶段226编码其他信息,例如,在预测阶段204使用的预测模式、预测操作的参数、在变换阶段212变换类型,量化流程的参数(例如,量化参数)、编码器控制参数(例如,比特率控制参数)等。编码器可以使用二进制编码级226的输出数据来生成视频位流228。在一些实施例中,视频位流228可以被进一步打包以用于网络传输。
[0090]
参考流程200a的重建路径,在逆量化阶段218,编码器可以对量化的变换系数216执行逆量化以生成重建的变换系数。在逆变换阶段220,编码器可以基于重建的变换系数生成重建残差bpu 222。编码器可以将重建残差bpu 222添加到预测bpu 208以生成将在流程200a的下一次迭代中使用的预测参考224。
[0091]
应当注意,可以将流程200a的其他变化用于编码视频序列202。在一些实施例中,流程200a的阶段可以由编码器以不同的顺序执行。在一些实施例中,流程200a的一个或多个阶段可以组合成单个阶段。在一些实施例中,流程200a的单个阶段可以分成多个阶段。例如,变换阶段212和量化阶段214可以组合成单个阶段。在一些实施例中,流程200a可以包括
附加阶段。在一些实施例中,流程200a可以省略图2a中的一个或多个阶段。
[0092]
图2b图示了与本公开的实施例一致的另一示例编码流程200b的示意图。流程200b可以修改自流程200a。例如,流程200b可由符合混合视频编码标准(例如,h.26x系列)的编码器使用。与流程200a相比,流程200b的前向路径额外包括模式决策阶段230并将预测阶段204分为空间预测阶段2042和时间预测阶段2044。流程200b的重建路径额外包括环路滤波阶段232和缓冲区234。
[0093]
通常,预测技术可以分为两种类型:空间预测和时间预测。空间预测(例如,图像内预测或“帧内预测”)可以使用来自同一图像中一个或多个已编码的相邻bpu的像素来预测当前bpu。也就是说,空间预测中的预测参考224可以包括相邻的bpu。空间预测可以减少图像固有的空间冗余。时间预测(例如,图像间预测或“帧间预测”)可以使用来自一个或多个已编码图像的区域来预测当前bpu。即,时间预测中的预测参考224可以包括编码图像。时间预测可以减少图像固有的时间冗余。
[0094]
参考流程200b,在前向路径中,编码器在空间预测阶段2042和时间预测阶段2044执行预测操作。例如,在空间预测阶段2042,编码器可以执行帧内预测。对于正被编码的图像的原始bpu,预测参考224可以包括在同一图像中已经被编码(在前向路径中)和重建(在重建路径中)的一个或多个相邻bpu。编码器可以通过对相邻的bpu插值来生成预测的bpu 208。插值技术可以包括例如线性外推或内插、多项式外推或内插等。在一些实施例中,编码器可以在像素级别执行插值,例如通过对预测bpu 208的每个像素的对应像素进行插值。用于插值的相邻bpu可以从各个方向相对于原始bpu定位,例如在垂直方向(例如,在原始bpu的顶部)、水平方向(例如,到原始bpu的左侧)、对角线方向(例如,到左下、右下、左上、右上),或使用的视频编码标准中定义的任何方向。对于帧内预测,预测数据206可以包括例如所使用的相邻bpu的位置(例如坐标)、所使用的相邻bpu的大小、插值的参数、所使用的相邻bpu相对于原始的方向bpu等。
[0095]
对于另一示例,在时间预测阶段2044,编码器可以执行帧间预测。对于当前图像的原始bpu,预测参考224可以包括已经编码(在前向路径中)和重建(在重建路径中)的一个或多个图像(称为“参考图像”)。在一些实施例中,参考图像可以是由bpu编码和重建bpu。例如,编码器可以将重建残差bpu 222添加到预测bpu 208以生成重建bpu。当生成同一图像的所有重建bpu时,编码器可以生成重建图像作为参考图像。编码器可以执行“运动估计”的操作,以在参考图像的范围(称为“搜索窗口”)中搜索匹配区域。搜索窗口在参考图像中的位置可以根据原始bpu在当前图像中的位置来确定。例如,搜索窗口可以以参考图像中与当前图像中的原始bpu具有相同坐标的位置为中心,并且可以向外延伸预定距离。当编码器在搜索窗口中识别出(例如,通过使用像素递归算法、块匹配算法等)与原始bpu相似的区域时,编码器可以将这样的区域确定为匹配区域。匹配区域可以具有与原始bpu不同的尺寸(例如,小于、等于、大于或处于不同的形状)。因为参考图像和当前图像在时间线上是时间分离的(例如,如图1所示),可以认为匹配区域随着时间的推移“移动”到原始bpu的位置。编码器可以将这种运动的方向和距离记录为“运动向量”。当使用多个参考图像时(例如,如图1中的图像106),编码器可以搜索匹配区域并为每个参考图像确定其相关联的运动向量。在一些实施例中,编码器可以为各个匹配参考图像的匹配区域的像素值分配权重。
[0096]
运动估计可用于识别各种类型的运动,例如平移、旋转、缩放等。对于帧间预测,预
测数据206可以包括例如匹配区域的位置(例如坐标)、与匹配区域相关联的运动矢量、参考图像的数量、与参考图像相关联的权重等。
[0097]
为了生成预测bpu 208,编码器可以执行“运动补偿”的操作。运动补偿可用于基于预测数据206(例如,运动向量)和预测参考224重建预测bpu 208。例如,编码器可根据运动向量移动参考图像的匹配区域,其中编码器可以预测当前图像的原始bpu。当使用多个参考图像时(例如,如图1中的图像106),编码器可以根据各个运动矢量和匹配区域的平均像素值移动参考图像的匹配区域。在一些实施例中,如果编码器已将权重分配给各个匹配参考图像的匹配区域的像素值,则编码器可以将移动的匹配区域的像素值的加权和相加。
[0098]
在一些实施例中,帧间预测可以是单向的或双向的。单向帧间预测可以在与当前图像相同的时间方向上使用一个或多个参考图像。例如,图1中的图像是单向帧间预测图像,其中参考图像(即,图像102)在图像104之前。双向帧间预测可以在相对于当前图像的两个时间方向使用一个或多个参考图像。例如,图1中的图像106是双向帧间预测图像,其中参考图像(即图像104和108)相对于图像104在两个时间方向上。
[0099]
继续参考流程200b的前向路径,在空间预测2042和时间预测阶段2044之后,在模式决策阶段230,编码器可以选择用于流程200b的当前迭代预测模式(例如,帧内预测或帧间预测之一)。例如,编码器可以执行率失真优化技术,其中编码器可以根据候选预测模式的比特率和候选预测模式下重建参考图像的失真来选择预测模式以最小化成本函数的值。根据选择的预测模式,编码器可以生成对应的预测bpu 208和预测数据206。
[0100]
在流程200b的重建路径中,如果在前向路径中选择了帧内预测模式,则在生成预测参考224(例如,当前图像中已经编码和重建的当前bpu)之后,编码器可以直接将预测参考224提供至空间预测阶段2042以供稍后使用(例如,用于当前图像的下一个bpu的插值)。如果在前向路径中选择了帧间预测模式,则在生成预测参考224(例如,其中所有bpu已被编码和重建的当前图像)之后,编码器可以将预测参考224提供到环路滤波阶段232,在该阶段编码器可以将环路滤波器应用于预测参考224以减少或消除由帧间预测引入的失真(例如,块状伪影)。编码器可以在环路滤波阶段232应用各种环路滤波技术,例如去块、样本自适应偏移、自适应环路滤波等。被环路滤波的参考图像可以存储在缓冲区234(或“解码图像缓冲区”)中以供以后使用(例如,用作视频序列202的未来图像的帧间预测参考图像)。编码器可以在缓冲区234中存储一个或多个参考图像以在时间预测阶段2044使用。在一些实施例中,编码器可以在二进制编码阶段226对环路滤波器的参数(例如,环路滤波器强度)、连同量化变换系数216、预测数据206和其他信息进行编码。
[0101]
图3a示出了与本公开的实施例一致的示例解码流程300a的示意图。流程300a可以是对应于图2a中的压缩流程200a的解压流程。在一些实施例中,流程300a可以类似于流程200a的重建路径。解码器可根据流程300a将视频位流228解码为视频流304。视频流304可以与视频序列202非常相似。然而,由于压缩和解压缩流程(例如,图2a-2b中的量化阶段214)中的信息丢失,通常,视频流304与视频序列202不完全相同。类似于图2a-2b中的流程200a和200b,解码器可以在基本处理单元(bpu)级别为视频位流228中编码的每个图像执行流程300a。例如,解码器可以迭代方式执行流程300a,其中解码器可以解码流程300a的一次迭代中的基本处理单元。在一些实施例中,解码器可以对在视频位流228中编码的每个图像的区域(例如,区域114-118)并行地执行流程300a。
[0102]
在图3a,解码器可以将与编码图像的基本处理单元(称为“编码bpu”)相关联的视频位流228的一部分提供至二进制解码阶段302。在二进制解码阶段302,解码器可以解码该部分转换成预测数据206和量化变换系数216。解码器可以将量化变换系数216提供至逆量化阶段218和逆变换阶段220以生成重建残差bpu 222。解码器可以将预测数据206提供到预测阶段204以生成预测bpu 208。解码器可以将重建残差bpu 222添加到预测的bpu 208以生成预测参考224。在一些实施例中,预测参考224可以存储在缓冲区中(例如,计算机存储器中的解码图像缓冲区)。解码器可以将预测参考224提供到预测阶段204以在流程300a的下一次迭代中执行预测操作。
[0103]
解码器可以迭代地执行流程300a以对编码图像的每个编码bpu进行解码并且生成预测参考224以用于对编码图像的下一个编码bpu进行编码。在对编码图像的所有编码bpu进行解码后,解码器可以将图像输出到视频流304以供显示,并继续解码视频位流228中的下一个编码图像。
[0104]
在二进制解码阶段302,解码器可以执行编码器使用的二进制编码技术(例如,熵编码、可变长度编码、算术编码、霍夫曼编码、上下文自适应二进制算术编码或任何其他无损压缩算法)的逆操作。在一些实施例中,除了预测数据206和量化变换系数216之外,解码器可以在二进制解码阶段302解码其他信息,例如预测模式、预测操作的参数、变换类型、量化过程参数(例如,量化参数)、编码器控制参数(例如,比特率控制参数)等。在一些实施例中,如果视频位流228以分组的形式通过网络传输,则解码器可以在将视频位流228发送到二进制解码阶段302之前对其进行解包。
[0105]
图3b示出了与本公开的实施例一致的另一示例解码流程300b的示意图。流程300b可以修改自流程300a。例如,流程300b可由符合混合视频编码标准(例如,h.26x系列)的解码器使用。与流程300a相比,流程300b额外地将预测阶段204划分为空间预测阶段2042和时间预测阶段2044,并且额外地包括环路滤波阶段232和缓冲区234。
[0106]
在流程300b中,对于要解码的编码图像(称为“当前图像”)的编码基本处理单元(称为“当前bpu”),由解码器从二进制解码阶段解码302解码的预测数据206可以包括各种类型的数据,这取决于编码器使用什么预测模式对当前bpu进行编码。例如,如果编码器使用帧内预测来编码当前bpu,则预测数据206可以包括指示帧内预测的预测模式指示符(例如,标志值)、帧内预测操作的参数等。帧内预测操作的参数可以包括例如用作参考的一个或多个相邻bpu的位置(例如,坐标)、相邻bpu的大小、插值参数、相邻bpu相对于原始bpu的方向等。又例如,如果编码器使用帧间预测来对当前bpu进行编码,则预测数据206可以包括指示帧间预测预测模式指示符(例如,标志值)、帧间预测操作的参数等。帧间预测操作的参数可以包括例如与当前bpu相关联的参考图像的数量、分别与参考图像相关联的权重、各个参考图像中一个或多个匹配区域的位置(例如,坐标)、分别与匹配区域相关联的一个或多个运动矢量等。
[0107]
基于预测模式指示符,解码器可以决定是在空间预测阶段2042执行空间预测(例如,帧内预测)还是在时间预测阶段2044执行时间预测(例如,帧间预测)。执行所述空间预测或时间预测的细节在图2b中描述,以下不再赘述。在执行所述空间预测或时间预测之后,解码器可以生成预测bpu 208。解码器可以将预测bpu 208和重建残差bpu 222相加以生成预测参考224,如图3a中所述。
[0108]
在流程300b中,解码器可以将预测参考224提供到空间预测阶段2042或时间预测阶段2044,用于在流程300b的下一次迭代中执行预测操作。例如,如果在空间预测阶段2042使用帧内预测对当前bpu进行解码,则在生成预测参考224(例如,解码的当前bpu)之后,解码器可以直接将预测参考224提供到空间预测阶段2042以供以后使用(例如,用于对当前图像的下一个bpu插值)。如果在时间预测阶段2044使用帧间预测对当前bpu进行解码,则在生成预测参考224(例如,其中所有bpu已被解码的参考图像)之后,编码器可以将预测参考224发送到环路滤波阶段232以减少或消除失真(例如,块状伪影)。解码器可以以图2b中描述的方式将环路滤波器应用于预测参考224。经环路滤波的参考图像可以存储在缓冲区234(例如,计算机存储器中的解码图像缓冲区)中以供以后使用(例如,用作视频位流228的未来编码图像的帧间预测参考图像)。解码器可以将一个或多个参考图像存储在缓冲区234中以在时间预测阶段2044使用。在一些实施例中,当预测数据206的预测模式指示符指示使用帧间预测来编码当前bpu时,预测数据可以进一步包括环路滤波器的参数(例如,环路滤波器强度)。
[0109]
图4是与本公开的实施例一致的用于对视频进行编码或解码的示例装置400的框图。如图4所示,装置400可以包括处理器402。当处理器402执行本技术所描述的指令时,装置400可以成为用于视频编码或解码的专用机器。处理器402可以是能够操纵或处理信息的任何类型的电路。例如,处理器402可以包括任意数量的中央处理单元(或“cpu”)、图形处理单元(或“gpu”)、神经处理单元(“npu”)、微控制器单元(“mcu”)、光学处理器、可编程逻辑控制器、微控制器、微处理器、数字信号处理器、知识产权(ip)核、可编程逻辑阵列(pla)、可编程阵列逻辑(pal)、通用阵列逻辑(gal)、复杂可编程逻辑器件(cpld)、现场可编程门阵列(fpga)、片上系统(soc)、专用集成电路(asic)等的任何组合。在一些实施例中,处理器402还可以是被分组为单个逻辑组件的一组处理器。例如,如图4所示,处理器402可以包括多个处理器,包括处理器402a、处理器402b和处理器402n。
[0110]
装置400还可以包括被配置为存储数据(例如,一组指令、计算机代码、中间数据等)的存储器404。例如,如图4所示,存储的数据可以包括程序指令(例如,用于实现流程200a、200b、300a或300b中的阶段的程序指令)和用于处理的数据(例如,视频序列202、视频位流228或视频流304)。处理器402可以访问用于处理的程序指令和数据(例如,通过总线410),并且执行程序指令以对用于处理的数据执行操作或操纵。存储器404可以包括高速随机存取存储设备或非易失性存储设备。在一些实施例中,存储器404可以包括任意数量的随机存取存储器(ram)、只读存储器(rom)、光盘、磁盘、硬盘驱动器、固态驱动器、闪存驱动器、安全数字(sd)卡、记忆棒、紧凑型闪存(cf)卡等的任何组合。存储器404也可以是被分组为单个逻辑组件的一组存储器(图4中未示出)。
[0111]
总线410可以是在装置400内部的组件之间传输数据的通信设备,例如内部总线(例如,cpu-内存总线)、外部总线(例如,通用串行总线端口、外围组件高速互连端口)或等。
[0112]
为了便于解释而不引起歧义,在本公开中,处理器402和其他数据处理电路统称为“数据处理电路”。数据处理电路可以完全实现为硬件,也可以实现为软件、硬件或固件的组合。此外,数据处理电路可以是单个独立模块或者可以完全或部分地组合到装置400的任何其他组件中。
[0113]
装置400还可包括网络接口406以提供与网络(例如,因特网、内联网、局域网、移动
通信网络等)的有线或无线通信。在一些实施例中,网络接口406可以包括任意数量的网络接口控制器(nic)、射频(rf)模块、转发器、收发器、调制解调器、路由器、网关、有线网络适配器、无线网络适配器、蓝牙适配器、红外适配器、近场通信(“nfc”)适配器、蜂窝网络芯片等的任意组合。
[0114]
在一些实施例中,可选地,装置400还可包括外围接口408以提供到一个或多个外围设备的连接。如图4所示,外围设备可以包括但不限于光标控制设备(例如鼠标、触摸板或触摸屏)、键盘、显示器(例如阴极射线管显示器、液晶显示器)显示器或发光二极管显示器)、视频输入设备(例如,照相机或耦合到视频档案的输入接口)等。
[0115]
应当注意,视频编解码器(例如,执行流程200a、200b、300a或300b的编解码器)可以实现为装置400中的任何软件或硬件模块的任何组合。例如,流程200a、200b、300a或300b的一些或全部阶段可以实现为装置400的一个或多个软件模块,例如可以加载到存储器404中的程序指令。又例如,流程200a、200b、300a、或300b的一些或全部阶段可以被实现为装置400的一个或多个硬件模块,例如专用数据处理电路(例如,fpga、asic、npu等)。
[0116]
本公开提供了用于在运动预测中使用的块划分方法。本公开的方法可由编码器或解码器执行。
[0117]
三角形划分模式支持帧间预测。三角形划分模式可以应用于8
×
8或更大的块并且以三角形跳过或合并模式编码。三角形跳过/合并模式与常规合并模式、mmvd模式、组合帧间和帧内预测(ciip)模式或子块合并模式并行地用信号通知。
[0118]
当使用三角形划分模式时,可以使用对角线分割或反对角线分割(图5)将块均匀地分割成两个三角形分区。块中的每个三角形分区使用其自身的运动进行帧间预测。每个分区只允许单向预测。换言之,每个分区具有一个运动向量和一个参考索引。应用单向预测运动约束以确保与传统双向预测相同,每个块只需要两个运动补偿预测。每个分区的单向预测运动直接从为扩展合并预测构建的合并候选列表中导出,并且根据下面描述的流程从列表中的给定合并候选中选择单向预测运动。
[0119]
如果三角形划分模式用于当前块,则进一步用信号通知指示三角形划分(对角线或反对角线)方向和两个合并索引(每个分区一个)的标志。在预测了每个三角形分区之后,使用具有自适应权重的混合处理来调整沿对角线或反对角线边缘的样本值。这是整个块的预测信号,可以像其他预测模式一样对整个块应用变换和量化的流程。需要注意的是,不能将子块变换(sbt)模式应用于使用三角形划分模式编码的块。使用三角形划分模式预测的块的运动场可以存储在4
×
4子块中。
[0120]
下面描述三角形划分模式的单向预测候选列表构造。
[0121]
给定合并候选索引,单向预测运动向量从为扩展合并预测构建的合并候选列表中导出,如图6所示。对于列表中的候选,将其lx(l0或l1)运动向量用作用于三角形划分模式的单向预测运动向量,其中x等于合并候选索引值的奇偶性(即,x=0或1)。这些运动矢量在图6中用“x”标记。当对应的lx运动矢量不存在时,将扩展合并预测候选列表中同一候选的l(1-x)运动矢量作为三角形划分模式的单向预测运动矢量。
[0122]
下面将描述沿三角形分区边的混合。
[0123]
在使用自己的运动预测每个三角形分区后,将两个预测信号混合以导出对角线边缘或反对角线边缘周围的样本。在混合流程中使用以下权重:
[0124]
{7/8,6/8,5/8,4/8,3/8,2/8,1/8}为亮度,{6/8,4/8,2/8}为色度,如图图7中所示。
[0125]
使用三角形划分模式预测的块内每个亮度和色度样本的权重使用以下等式计算:-比率-如果从第一方向(例如,从左上角到右下角)分割块,则分割方向splitdir设置为0。否则,如果从第二方向(例如,从右上角到左下角)分割块,则splitdir设置为1。0。否则,如果从第二方向(例如,从右上角到左下角)分割块,则splitdir设置为1。其中sampleweight
l
代表亮度样本的权重图,sampleweightc代表色度样本的权重图,(x,y)代表亮度/色度样本的位置,(cuw
l
,cuh
l
)表示亮度样本中的块宽度和高度,(cuwc,cuhc)表示色度样本中的块宽度和高度。
[0126]
然后,下面将描述三角形划分模式下的运动场存储。
[0127]
以三角形划分模式编码的块的运动矢量存储在4
×
4子块中。根据每个4
×
4子块的位置,存储单向预测或双向预测运动矢量。将mv1和mv2分别表示为图5中分区1和分区2的单向预测运动向量。如果4
×
4子块位于单向预测区域中,则为该4
×
4子块存储mv1或mv2。否则,如果4
×
4子块位于双向预测区域内,则存储双向预测运动矢量。双向预测运动矢量根据以下流程从mv1和mv2中导出。
[0128]
1、如果mv1和mv2来自不同的参考图像列表(一个来自l0,另一个来自l1),则将mv1和mv2简单地组合以形成双向预测运动向量。
[0129]
2、否则,如果mv1和mv2来自同一列表,则不存储双向预测运动,仅存储单向预测运动mv2。
[0130]
需要说明的是,当对4
×
4子块内的所有样本进行加权时,认为该4
×
4子块在双向预测区域内。否则,4
×
4子块被认为在单向预测区域中。双向预测区域(即阴影区域)和单向预测区域的示例在图8中示出。
[0131]
可以使用等式确定4
×
4子块是否位于双向预测区域中:-比率-如果块从左上角到右下角分割,则分割方向splitdir设置为0。否则,如果块从右上角到左下角分割,则splitdir设置为1。-变量-如果cuw
l
》cuh
l
且splitdir=0,-若则4
×
4子块位于双向预测区域;-否则,4
×
4子块位于单向预测区域;-如果cuw
l
≤cuh
l
且splitdir=0,-若则4
×
4子块位于双向预测区域;-否则,4
×
4子块位于单向预测区域;-如果cuw
l
》cuh
l
且splitdir=1,-若则4
×
4子块位于双向预测区域;-否则,4
×
4子块位于单向预测区域;-如果cuw
l
≤cuh
l
且splitdir=1,-若则4
×
4子块位于双向预测区域;-否则,4
×
4子块位于单向预测区域;其中(x,y)表示4
×
4子块左上角亮度样本的位置,(cuw
l
,cuh
l
)表示亮度样本中的块宽度和块高度。
[0132]
下面描述三角形划分模式的示例性语法结构。
[0133]
在图9-10中分别示出合并模式的示例性语法结构。图中显示的ciip标志用于指示是否使用三角形划分模式对块进行预测。
[0134]
符合本公开的几何划分方式描述如下。
[0135]
在所公开的实施例中,几何划分模式也可以用于对视频内容进行编码。在几何划分模式下,一个块被分割为两个分区,两个分区可以是矩形或非矩形的形状,如图11所示。然后这两个分区用其自己的运动矢量进行帧间预测。单向预测运动使用与参考图6的上述描述相同流程导出。在预测每个几何分区后,类似于三角形划分模式中使用的流程,使用具有自适应权重的混合处理来调整沿分区边缘的样本值。这是整个块的预测信号,可以像其他预测模式一样对整个块应用变换和量化流程。需要注意的是,sbt模式可以应用于使用几何划分模式编码的块。最后,使用几何划分模式预测的块的运动场可以存储在4
×
4子块中。几何划分模式的好处在于它为运动补偿提供了更灵活的划分方法。
[0136]
几何划分模式仅适用于宽高均大于等于8且max(width,height)/min(width,height)之比小于等于4、并且以几何跳过或合并模式编码的块。几何划分模式与常规合并模式、mmvd模式、ciip模式、子块合并模式或三角形划分模式并行地为每个块发信号通知。当几何划分模式用于当前块时,指示使用140个划分方法(32个量化角度 5个量化距离)中的哪一个用于分割当前块的几何划分模式索引和两个合并索引被进一步用信号通知。需要说明的是,取决于不同的设置,几何划分子模式的总数可以是140(16量化角度 9量化距离)、108(16量化角度 7量化距离)、80(12量化角度 7量化距离)和64(10个量化角度 7个量化距离)中的一种。
[0137]
下面将讨论沿几何分区边缘的混合。在使用自身的运动预测每个几何分区后,将混合流程应用于两个预测信号以在分区边缘周围导出样本。在一些实施例中,使用以下等式计算每个亮度样本的权重。
distfromline=((x<<1) 1)
×
dis[displacementx] ((y<<1) 1)
×
dis[diaplacementy]-rhodistscaled=min((abs(distfromline))>>4,14)sampleweight
l
[x][y]=distfromline≤0?geofilter[distscaled]:8-geofilter[distscaled]其中(x,y)代表每个亮度样本的位置,dis[]和geofilter[]是两个查找表,如图12-13中的表12和表13a-13b分别所示。
[0138]
参数位移x、位移y和rho计算如下:displacementx=angleidxdisplacementt=(displancementx numangles>>2)%numanglesrho=distanceidx
×
stepsize
×
scalestep cuw
×
dis[displacementx] cuh
×
dis[displacementy]stepsize=stepdis 64scalestep=(widx≥hidx)?(1<<hidx):(1<<widx)widx=log2(cuw)-3hidx=log2(cuh)-3whratio=(widx≥hidx)?(widx-hidx):(hidx-widx)anglen=(widx≥hidx)?8-anglen:anglen其中(cuw,cuh)是亮度样本中的块宽度和高度,numangles设置为32,angleidx和distanceidx从图14的表14中导出。并且stepdis从图15a的表15a中导出。
[0139]
在一些实施例中,参数displacementx,displacementy和rho还可以计算如下。displacementx=angleidxdisplacementt=(displancementx numangles>>2)%numanglesrho=distanceidx
×
(stepsize<<scalestep) dis[displacementx]<<widx dis[displacementy]<<hidxstepsize=stepdis 77scalestep=(widx≥hidx)?hidx-3:widx-3widx=log2(cuw)hidx=log2(cuh)whratio=(widx≥hidx)?(widx-hidx):(hidx-widx)其中(cuw,cuh)是亮度样本中的块宽度和高度,numangles设置为32,stepdis来自图15b的表15b。当几何划分子模式的总数分别设置为140、108、80和64时,angleidx和distanceidx从图15c-15f的表15c、表15d、表15e和表15f导出。
[0140]
色度样本的权重来自每个2
×
2亮度子块的左上角亮度样本权重中子采样,例如,对于yuv 4:2:0视频格式。
[0141]
下面将描述几何划分模式下的运动场存储。
[0142]
以几何划分模式编码的块的运动矢量存储在4
×
4子块中。对于每个4
×
4子块,存储单向预测或双向预测运动矢量。双向预测运动的推导流程与上述流程相同。为了确定对4
×
4子块存储单向预测还是双向预测运动矢量,提出了两种方法。
[0143]
在第一种方法中,对于4
×
4的子块,将其4个角的样本权重值相加。如果总和小于阈值2且大于阈值1,则为该4
×
4子块存储双向预测运动矢量。否则,存储单向预测运动矢量。阈值1和阈值2分别设置为32>>(((log2(cuw) log2(cuh))>>1)-1)和32-threshold1。
[0144]
在第二种方法中,使用以下等式根据其位置确定为该4
×
4子块存储哪个运动矢量。rho
subblk
=3
×
dis[displacementx] 3
×
dis[displacementy]distfromline
subblk
=((x
subblk
<<3) 1)
×
dis[displacementx] ((y
subblk
<<3) 1)
×
dis[displacementy]-rho rho
subblk
motionmask[x
subblk
][y
subblk
]=abs(distfromline
subblk
)《256?2:(distfromline
subblk
≤0?0:1)其中(x
subblk
,y
subblk
)表示每个4
×
4子块的位置。变量dis[],displacementx,displacementy和rho与上述变量相同。当motionmask[x
subblk
][y
subblk
]的值等于2时,为该4
×
4子块存储双向预测运动矢量。否则,为这个4
×
4子块存储单向预测运动矢量。
[0145]
几何划分模式的三个示例性语法结构分别在图16-17b中示出。
[0146]
在一些实施例中,可以使用子块变换。在子块变换中,一个残差块被分成两个残差子块,如图18所示。仅对两个残差子块中的一个进行编码。对于另一个残差子块,将残差设置为等于0。
[0147]
对于具有残差的帧间预测块,用信号发送cu级别标志以指示是否应用子块变换。当使用子块变换模式时,用信号发送参数以指示残差块是对称还是不对称方式,是在水平方向还是垂直方向分割为两个子块。
[0148]
三角形划分和几何划分模式是提高运动补偿编码效率的两种划分方法。三角形划分可以看作是几何划分的一个子集。然而,在目前的实现中,几何划分模式的语法结构、混合流程和运动场存储与三角形划分模式不同。例如,下面这两种模式的处理是不同的。
[0149]
1、对于以合并模式编码的块,用信号发送两个标志(包括三角形划分模式标志和几何划分模式标志)。此外,对于宽或高等于4的块可以应用三角形划分模式。但是,不能对这些块应用几何划分模式。
[0150]
2、三角形划分模式下编码的亮度样本权重的计算公式与几何划分模式下的亮度样本权重计算不同。此外,三角形划分模式编码的色度样本的权重是单独计算的,而几何划分模式编码的色度样本的权重是从相应的亮度样本中二次采样得到的。
[0151]
3、以三角形划分或几何划分模式编码的块的运动矢量都存储在4
×
4子块中。并且根据每个4
×
4子块的位置,存储单向预测或双向预测运动矢量。然而,对于三角形划分模式和几何划分模式,为4
×
4子块选择单向预测或双向预测运动矢量的流程是不同的。
[0152]
4、sbt模式在三角形划分模式的情况下是不允许的,但它可以应用于几何划分模式。
[0153]
因为三角形划分模式可以看作是几何划分模式的一个子集,可以统一三角形划分和几何划分模式中使用的所有流程。
[0154]
为了统一三角形划分和几何划分模式的语法,可以只使用一个标志来指示一个块是否被分成两个分区。当块的大小大于或等于64个亮度样本时,会发出标志信号。当标志为真时,进一步发信号通知划分模式索引以指示使用哪种划分方法来分割块。
[0155]
在一个实施例中,当块没有使用子块合并、常规合并和mmvd模式编码时,发送标志(例如,图19-20中的ciip标志)信号。
[0156]
在另一个实施例中,在合并语法结构的开始处用信号通知标志(例如,图21中的三角形/几何标志)。
[0157]
当块被分割成两个分区时,划分模式索引被进一步用信号通知以指示使用哪种分区方法。
[0158]
在一个实施例中,两个三角形划分模式(例如,从左上角到右下角或从右上角到左下角分割块)被置于划分模式列表的前面,然后是几何划分模式。换句话说,当划分模式索引等于0或1时,使用三角形划分模式进行分割块。否则,使用几何划分模式分割块。
[0159]
在另一个实施例中,三角形划分模式被视为几何划分模式之一,如图22a的表22a所示,例如,当划分模式索引等于19时,从左上角到右下角分割块。作为另一个例子,划分模式索引58表示从右上角到左下角分割块。
[0160]
在又一个实施例中,三角形划分模式也被视为几何划分模式之一,如图22b的表22所示,当划分模式索引等于10时,从左上角到右下角分割块。此外,划分模式索引为24表示该块从右上角到左下角被分割。
[0161]
注意,块的划分模式的数量可以取决于块大小和/或块形状。
[0162]
在一个实施例中,如果块的宽度或高度等于4,或者max(宽度,高度)/min(宽度,高度)的比率大于4,则块仅允许两种划分模式。否则,允许142种划分模式。
[0163]
在另一个实施例中,当块的大小大于阈值时,减少划分模式的数量。例如,当一个块的大小大于1024个亮度样本时,只允许24个量化角度和4个量化距离。
[0164]
在又一实施例中,当块形状是窄而高或宽而平坦时,划分模式的数量减少。例如,当max(width,height)/min(width,height)的比值大于2时,只允许24个量化角度和4个量化距离。此外,仅可允许沿较大维度划分块的角度,如图23所示。对于宽扁块,虚线所示的3个角度是不允许的,只有实线所示的角度是允许的。
[0165]
在又一实施例中,当块的大小大于阈值并且块形状是窄而高或宽而平坦时,可以减少划分模式的数量。例如,当一个块的大小大于1024个亮度样本并且max(width,height)/min(width,height)的比值大于2时,只允许24个量化角度和4个量化距离。这可以进一步与图23所示的限制相结合。
[0166]
角度索引和距离索引的查找表可以改变。
[0167]
在一个实施例中,划分模式索引被使用距离索引一阶而不是角度索引一阶,如图24的表24所示。
[0168]
在另一个实施例中,划分模式索引顺序与划分方法的出现率有关。较高出现率的
划分方法放在查找表的前面。图25的表25中示出了一个示例。25。距离为0的角度索引0、4、8和12有更高的概率用于划分块。
[0169]
如前所述,三角形划分模式可以应用于大小大于或等于64个亮度样本的块。但是,几何划分模式可以应用于宽度和高度均大于或等于8且max(width,height)/min(width,height)之比小于或等于4的块。可以统一三角形划分和几何划分模式对块大小和块形状的限制。
[0170]
在一个实施例中,三角形划分模式和几何划分模式都可以应用于宽度和高度均大于或等于8且max(width,height)/min(width,height)小于或等于4的块。
[0171]
在另一个实施例中,三角形划分模式和几何划分模式都可以应用于大小大于或等于64个亮度样本的块。
[0172]
在又一个实施例中,三角形划分模式和几何划分模式都可以应用于大小大于或等于64个亮度样本且max(width,height)/min(width,height)小于或等于4的块。
[0173]
本发明实施例还提供了一种统一三角形划分模式和几何划分模式的权重计算流程的方法。
[0174]
在一个实施例中,将三角形划分的亮度样本的权重计算流程替换为几何划分模式中使用的流程(在上述混合处理中所描述的),并具有以下两个修改:
[0175]
1、dis[]中的值被替换为图26的表26中的值。
[0176]
2、widx=log2(cuw)-2 and hidx=log2(cuh)-2。
[0177]
另外,对于三角形划分模式编码的块,如果块从左上角到右下角进行分割,则angleidx和distanceidx分别设置为4和0。否则(例如,块从右上角到左下角分割),angleidx和distanceidx分别设置为12和0。
[0178]
在另一个实施例中,对于三角形划分模式和几何划分模式,色度样本的权重从每个2
×
2亮度子块的左上角亮度样本的权重中二次采样。
[0179]
在又一个实施例中,对于三角形划分模式和几何划分模式,色度样本的权重是使用与用于以几何划分模式编码的亮度样本相同的流程来计算的。
[0180]
在本公开中,还可以统一三角形划分模式和几何划分模式中使用的运动场存储流程。
[0181]
在一实施例中,将三角形划分模式的运动场存储替换为几何划分模式的运动场存储。即,将位于4
×
4子块的4个角的4个亮度样本的权重相加。如果总和小于阈值2且大于阈值1,则可以为这个4
×
4子块存储双向预测运动矢量。否则,存储单向预测运动矢量。阈值1和阈值2分别设置为
32
>>(((log2(cuw) log2(cuh))>>1)-1)和32-threshold1。
[0182]
在另一个实施例中,对于使用三角形划分模式或几何划分模式编码的块,检查每个亮度样本的权重。如果亮度样本的权重不等于0或8,则该亮度样本被视为加权样本。如果对4
×
4子块中的所有亮度样本进行加权,则为4
×
4子块存储双向预测运动。否则,存储单向预测运动。
[0183]
为了协调sbt和几何划分模式之间的交互与sbt和三角形划分模式之间的交互,在本公开中可以禁用几何划分模式的sbt。sbt和几何划分模式的结合可能会在一个块内产生两个相交边界,这可能会导致主观质量问题。
[0184]
在一个实施例中,当使用几何分区时,cu_sbt_flag不被发信号通知,如图27的表
27所示。相关语法在图27中以斜体和灰色突出显示。
[0185]
在另一个实施例中,根据geo划分模式禁用部分sbt划分模式。当一条sbt划分边与geo划分边相交时,这种sbt划分方式是不允许的。否则,允许使用sbt划分模式。图28示出了sbt划分模式和geo划分模式的示例。进一步地,可以使用角度和距离索引来确定geo划分边和sbt划分边之间是否存在交集。在一个例子中,当当前块的角度索引为0(即垂直划分边缘)时,不能对当前块应用水平sbt划分。此外,sbt语法可以修改为图29的表29,以斜体和灰色强调其变化。
[0186]
几何划分模式将一个块分割成两个几何形状分区,每个几何分区用自己的运动向量进行运动补偿。几何划分模式提高了帧间预测的预测精度。然而,它可能在以下几个方面变得复杂。
[0187]
在第一方面,几何划分子模式的总数是巨大的。因此,在实际实现中不可能存储所有用于混合权重和运动场存储的掩码。在140个子模式的情况下,存储掩码所需的总位数为:-对于混合权重:对于混合权重:-对于运动场存储:对于运动场存储:对于运动场存储:对于运动场存储:
[0188]
在第二方面,如果不存储它们,而是动态计算掩码,则计算复杂度增加。计算用于混合权重和运动场存储的掩码的等式很复杂。更具体地说,乘法(
×
)、移位(《《)、加法( )和比较运算的数量是巨大的。假设一个大小为w
×
h的块,每个块的每个操作数为:-乘法:5 2
×w×
h 2
×
(w
×
h/16);-移位:4 3
×

×
高 2
×
(宽
×
高/16);-加成:8 6
×

×
高 5
×
(宽
×
高/16);-比较:4 2
×w×
h 2
×
(w
×
h/16)。
[0189]
详情见下表
[0190]
此外,还需要内存来存储四个预先计算好的表,它们是dis[]、geofilter[]、stepdis[],以及一个angleidx和distanceidx的查找表。每个表的大小如下
[0191]
第三个方面,在当前的几何划分模式设计中,45
°
/135
°
和distanceidx 0的组合总是被禁止的,因为它们假设vvc中的三角形划分模式支持这些划分选项。但是,对于非正方形块,三角形划分模式下的划分角度不是45
°
或135
°
,如下表所示。因此,对于非正方形块,排除这两个划分角是没有意义的。宽度:高度 比率1:11:21:41:81:16三角形 角度 1135
°
116.5
°
104
°
97.1
°
93.6
°
三角形 角度 245
°
63.5
°
76
°
82.9
°
86.4
°
宽度:高度 比率 2:14:18:116:1三角形 角度 1 153.4
°
166
°
172.9
°
176.4
°
三角形 角度 2 26.6
°
14
°
7.1
°
3.6
°
[0192]
在第四个方面,由于几何划分模式不支持角度和距离的某些组合,例如使用distanceidx 0进行水平分割或使用distanceidx 0进行垂直分割(这是为了避免二叉树划分的冗余),因此查找表用于导出每个几何划分子模式的角度和距离。如果去掉角度和距离的组合限制,可能不需要查找表。
[0193]
第五方面,三角形划分模式和几何划分模式中使用的混合流程、运动场存储和语法结构不统一,这意味着这两种模式在软件和硬件实现需要两种逻辑。此外,存储三角形模式掩码所需的总位数为:-对于混合权重:对于混合权重:-对于运动场存储:对于运动场存储:-motionmask[x
subblk
][y
subblk
]=g_motionmask[a%n][x
subblk
offsetxmotion][y
subblk
offsetymotion]
[0203]
存储预定义掩码所需的位数如下:对于混合权重:对于混合权重:对于运动场存储:对于运动场存储:
[0204]
此外,可以使用以下简化等式即时计算掩码:distfromline=(((x offsetx)<<1) 1)
×
dis[displacementx] (((y offsety)<<1) 1)
×
dis[displacementy]-rho[displacementx]distscaled=min((abs(distfromline) 4)>>3,26)sampleweight
l
[x][y]=distfromline≤0?geofilter[distscaled]:8-geofilter[distscaled]其中(x,y)表示每个亮度样本的位置,dis[]和geofilter[]是分别在表12和表13中所示两个查找表,rho[]是图32的表32中所示的查找表。
[0205]
参数displacementx和displacementy计算如下:displacementx=angleidx%16displacementy=(displancementx numangles>>2)%numangles
[0206]
其中numangles设置为32。当几何划分子模式的总数分别设置为140、108、80和64时,angleidx从表15c、表15d、表15e和表15f中导出。也可以从表22b、表30和表31中所示的查找表中导出angleidx。distfromline
subblk
=(((x
subblk
offsetxmotion)<<3) 1)
×
dis
[displacementx] (((y
subblk
offsetymotion)<<3) 1)
×
dis[displacementy]-rho
subblk
[displacementx]motiomask[x
subblk
][y
subblk
]=abs(distfromline
subblk
)<256?2:(distfromline
subblk
≤0?0:1)
[0207]
假设一个大小为w
×
h的块,每个块的每个操作的数量为:-乘法:4 2
×w×
h 2
×
(w
×
h/16);-移位:9 3
×w×
h 2
×
(w
×
h/16);-加法:7 8
×w×
h 6
×
(w
×
h/16);-比较:6 2
×w×
h 2
×
(w
×
h/16)。
[0208]
图33的表33中列出了每个块的每个操作的数量的细节。
[0209]
内存需要存储五个预先计算的表,它们是dis[]、geofilter[]、rho[]、rhosubblk[]以及angleidx和distanceidx的查找表。rhosubblk[]的查找表在图34中说明。每个表的大小如下:
[0210]
所提出方法的计算复杂度与原始几何设计的计算复杂度相似。更具体地说,与原始几何设计相比。-对于一个w
×
h块,乘法运算次数增加了1-对于一个w
×
h块,移位操作次数增加了5-对于一个w
×
h块,比较操作次数增加了2-对于一个w
×
h块,加法运算次数增加了2
×w×
h (w
×
h/16)-1-内存使用量增加了17位
[0211]
用于计算掩码的等式可以进一步简化如下:-变量angleidx a和distanceidx d是从使用几何划分索引k的查找表中获得的。查找表的示例在表15c、表15d、表22b、表30和表31中示出。-当使用表15c、表15d和表22b导出angleidx和distanceidx时,变量n(第一组和第二组中的掩码数量)设置为16。另一方面,当分别使用表30和表31导出angleidx和
[0215]
色度样本的混合权重从亮度样本的权重中二次采样。即,将每个对应的2
×
2亮度子块的左上角亮度样本的权重用作yuv 4:2:0视频格式的色度样本的权重。
[0216]
另一方面,运动场存储的掩码推导如下:
[0217]
变量offsetxmotion和offsetymotion计算如下:变量offsetxmotion和offsetymotion计算如下:变量offsetxmotion和offsetymotion计算如下:
[0218]
存储预定义掩码所需的位数如下:对于混合权重:对于运动场存储:对于运动场存储:
[0219]
在第三实施例中,第一组和第二组中的预定义掩码可以使用上述等式来计算。第一组和第二组的掩码数都是nreduced,其中n
reduced
=(n>>1) 1,n为几何划分模式支持的角度数。对于0和nreduced-1之间的角度,它们的掩码是直接从第一组和第二组的掩码中裁剪出来的。另一方面,nreduced和n-1之间角度的掩码是从第一组和第二组的掩码中裁剪出来的,并在垂直方向上翻转。根据本技术的实施例,图36示出了角度135
°
的掩码的示例,图
36b示出了角度为45
°
的掩码的示例。
[0220]
对于大小为w
×
h且几何划分索引设置为k的块,用于亮度样本混合权重的掩码如下:
[0221]
变量angleidxa和distanceidxd是使用几何划分索引k从查找表中获得的。查找表的示例在表15c、表15d、表22b、表30和表31中示出。
[0222]
变量offsetx和offsety可以计算如下:变量offsetx和offsety可以计算如下:变量offsetx和offsety可以计算如下:
[0223]
色度样本的混合权重从亮度样本的权重中二次采样。即,将每个对应的2
×
2亮度子块的左上的亮度样本的权重用作yuv 4:2:0视频格式的色度样本的权重。
[0224]
另一方面,运动场存储的掩码推导如下:
[0225]
变量offsetxmotion和offsetymotion可以计算如下:变量offsetxmotion和offsetymotion可以计算如下:变量offsetxmotion和offsetymotion可以计算如下:
[0226]
存储预定义掩码所需的位数如下:对于混合权重:对于运动场存储:对于运动场存储:
[0227]
注意,在前述实施例中,可以修改用于偏移推导和色度权重推导的方法。
[0228]
偏移推导的不同方法如下所示。与上述实施例相比,差异以斜体和粗体突出显示。
[0229]
可以修改偏移推导的等式以保证当distanceidx不为0时偏移不等于0。在一个示例中,变量offsetx和offsety计算如下。例中,变量offsetx和offsety计算如下。
[0230]
偏移推导可以基于几何划分模式中支持的距离的数量。在一个例子中,当支持7个距离时,变量offsetx和offsety的计算如下(与第一实施例中的方法相同)。offsetx和offsety的计算如下(与第一实施例中的方法相同)。
[0231]
在另一个例子中,当支持9个距离时,变量offsetx和offsety计算如下:在另一个例子中,当支持9个距离时,变量offsetx和offsety计算如下:
[0232]
偏移推导可以基于划分角度。在一个例子中,对于从135
°
到225
°
和从315
°
到45
°
的角度,在垂直方向上添加偏移量。否则,对于从45
°
到135
°
和225
°
到315
°
的角度,在水平方向添加偏移量。变量offsetx和offsety计算如下。添加偏移量。变量offsetx和offsety计算如下。
[0233]
色度样本的权重可以直接从第一组掩码g_sampleweight
l
[]中导出。对于大小为w
×
h且几何划分索引设置为k的块,用于色度样本混合权重的掩码导出如下。-色度块大小为w
’×h’‑
变量angleidx a和distanceidx d是使用几何划分索引k从查找表中获得。查找
表的示例在表15c、表15d、表22b、表30和表31中示出。-变量offsetxchroma和offsetychroma计算如下。变量offsetxchroma和offsetychroma计算如下。-sampleweightc[x][y]=g-sampleweight
l
[a%n][x offsetxchroma][y offsetychroma]其中(x,y)表示每个色度样本的位置。
[0234]
第一组预定义掩码的大小可能不是256
×
256。其大小可取决于最大块大小和最大移位偏移。假设最大块大小为s,支持的距离数为nd,每个距离的移位偏移定义如下:offset=(d
×
s)>>o。然后,预定义掩码的宽度和高度可以计算如下:s ((((n
d-1)>>1)
×
s)>>o)<<1
[0235]
在一个示例中,变量s、nd和o分别设置为128、9和4。预定义掩码的大小设置为192
×
192。在另一个示例中,变量s、nd和o分别设置为128、7和3。预定义掩码的大小设置为224
×
224。
[0236]
在一些实施例中,与裁剪方法相同,第一和第二组掩码是预定义的。第一组掩码g_sampleweight
l
可能包含多个大小为256
×
256的掩码,这些掩码用于导出每个块的混合权重。第二组掩码g_motionmask[]可能包含几个大小为64
×
64的掩码,这些掩码用于为每个块导出用于运动场存储的掩码。对于方形块,与裁剪方法相同,其掩码从第一组和第二组中的一个掩码中裁剪得到。对于非方形块,其掩码从第一组和第二组中的一个掩码中裁剪,然后进行上采样流程。
[0237]
在一个实施例中,可以使用上述等式计算第一组和第二组中的预定义掩码。第一组和第二组的掩码数量均为n,其中n设置为几何划分模式支持的角度数。第一组和第二组中索引为n的第n个掩码表示角度为n的掩码,其中n的范围为0到n-1。对于大小为w
×
h且几何划分索引设置为k的块,用于亮度样本混合权重的掩码导出如下。-变量angleidx a和distanceidx d是使用几何划分索引k从查找表中获得的。查找表的示例在表15c、表15d、表22b、表30和表31中示出。-变量minsize设置为min(w,h)-变量ratiowh和ratiohw分别设置为log2(max(w/h,1))和log2(max(h/w,1))-变量偏移x和偏移y可以计算如下:变量偏移x和偏移y可以计算如下:sampleweight
l
[x][y]=g_sampleweight
l
[a%n][(x>>ratiowh) offsetx][(y>>ratiohw) offsety]
[0238]
色度样本的混合权重是从亮度样本的权重中子采样的。即,将每个对应的2
×
2亮
度子块的左上亮度样本的权重用作yuv 4:2:0视频格式的色度样本的权重。
[0239]
另一方面,运动场存储的掩码推导如下:-变量minsubblk设置为min(w,h)>>2-变量offsetxmotion和offsetymotion可以计算如下:变量offsetxmotion和offsetymotion可以计算如下:motionmask[x
subblk
][y
subblk
]=g-motionmask[a%n][(x
subblk
>>ratiowh) offsetxmotion][(y
subblk
>>ratiohw) offsetymotion]
[0240]
在另一个实施例中,第一组和第二组中的预定义掩码可以使用上述等式来计算。第一组和第二组的掩码数都是n
reduced
,其中n
reduced
=(n>>1) 1、n为几何划分模式支持的角度数。对于大小为w
×
h且几何划分索引设置为k的块,用于亮度样本混合权重的掩码导出如下。-变量angleidx a和distanceidx d是使用几何划分索引k从查找表中获得的。查找表的示例在表15c、表15d、表22b、表30和表31中示出。-变量minsize设置为min(w,h)-变量ratiowh和ratiohw分别设置为log2(max(w/h,1))和log2(max(h/w,1))-变量offsetx和offsety可以计算如下:offsetx和offsety可以计算如下:offsetx和offsety可以计算如下:
[0241]
色度样本的混合权重是亮度样本的权重的二次采样。即,将每个对应的2
×
2亮度子块的左上亮度样本的权重用作yuv 4:2:0视频格式的色度样本的权重。
[0242]
另一方面,运动场存储的掩码推导如下:-变量minsubblk设置为min(w,h)》》2-变量offsetxmotion和offsetymotion可以计算如下:
‑‑
[0243]
在第三实施例中,可以使用上述等式计算第一组和第二组中的预定义掩码。第一组和第二组的掩码数都是n
reduced
,其中n
reduced
=(n>>1) 1,n为几何划分模式支持的角度数。对于大小为w
×
h且几何分区索引设置为k的块,用于混合亮度样本权重的掩码导出如下。-变量angleidx a和distanceidx d是使用几何分区索引k从查找表中获得的。查找表的示例在表15c、表15d、表22b、表30和表31中示出。-变量minsize设置为min(w,h)-变量ratiowh和ratiohw分别设置为log2(max(w/h,1))和log2(max(h/w,1))-变量offsetx和offsety可以计算如下:变量offsetx和offsety可以计算如下:变量offsetx和offsety可以计算如下:
[0244]
色度样本的混合权重是亮度样本的权重的二次采样。即,将每个对应的2
×
2亮度子块的左上亮度样本的权重用作yuv 4:2:0视频格式的色度样本的权重。
[0245]
另一方面,运动场存储的掩码推导如下:-变量minsubblk设置为min(w,h)》》2-变量offsetxmotion和offsetymotion可以计算如下:
‑‑‑
[0246]
需要注意的是,上述用于偏移和色度权重推导的不同方法也可以应用于本文。
[0247]
在几何划分模式的原始设计中,始终排除跨块中心以135
°
或45
°
划分块的组合。主要目的是从几何划分模式中去除三角形划分模式的冗余划分选项。然而,对于使用三角形划分模式编码的非正方形块,划分角既不是135
°
也不是45
°
。因此,可以基于块形状可选择地排除两个角度。
[0248]
在本公开的一些实施例中,被排除的两个角度基于块形状而改变。对于方形块,排除135
°
和45
°
,这与原始几何划分设计相同。对于其他块形状,排除的角度列于图37的表37中。例如,对于一个大小为8
×
16的块(即宽高比为1比2),排除112.5
°
和67.5
°
的角度,即
angleidx 10和angleidx6。那么,几何划分索引的查找表被修改为图38的表38。表38中与排除的角度相关的部分在图38中以灰色突出显示。
[0249]
注意,该实施例可以与本公开中的其他实施例组合。例如,可以使用三角形划分模式的方法计算使用排除角的混合权重和运动场存储的掩码。对于其他角度,使用裁剪方法导出掩码。
[0250]
如前所述,三角形划分和几何模式中使用的混合流程、运动场存储和语法结构并不统一。在本公开中,提出统一所有流程。
[0251]
在一个实施例中,上述提出的裁剪方法用于三角形和几何划分模式的混合和运动场存储的流程中。此外,删除了每个几何划分子模式的角度和距离查找表。第一组和第二组掩码是预定义的并且可以分别使用上述等式来计算。第一组和第二组的掩码数都是预定义的,并且可以使用上述的等式分别计算。第一和第二组掩码的数量均为n
reduced
,其中n
reduced
=(n>>1) 1,n为几何划分模式支持的角度数。让nd表示几何划分模式下支持的距离数。因此,几何划分子模式的总数是n
×
nd。在一个示例中,n和nd分别设置为8和7。在另一个例子中,n和nd分别设置为12和7。在其他示例中,n和nd分别设置为偶数和奇数。
[0252]
对于大小为w
×
h且几何划分索引设置为k的块,用于亮度样本混合权重的掩码导出如下。-变量n
halfd
设置为nd》》1。-变量angleidx a和distanceidx d分别设置为k%n和k/n。-变量offsetx和offsety计算如下:变量offsetx和offsety计算如下:变量offsetx和offsety计算如下:
[0253]
色度样本的混合权重是从亮度样本的权重中的二次采样。即,将每个对应的2
×
2亮度子块的左上亮度样本的权重用作yuv 4:2:0视频格式的色度样本的权重。
[0254]
另一方面,运动场存储的掩码推导如下:-变量offsetxmotion和offsetymotion计算如下:变量offsetxmotion和offsetymotion计算如下:变量offsetxmotion和offsetymotion计算如下:
[0255]
存储预定义掩码所需的位数为(256
×
256)
×
((n>>1) 1)
×
4 (64
×
64)
×
((n>
>1) 1)
×
2。2。
[0256]
在另一个实施例中,上述提出的裁剪方法用于三角形和几何划分模式的混合和运动场存储的流程中。此外,删除了每个几何划分子模式的角度和距离查找表。第一组和第二组掩码是预定义的并且可以分别使用上述等式来计算。第一组和第二组的掩码数都是n
reduced
,其中n
reduced
=(n>>1) 1,n为几何划分模式支持的角度数。让nd表示几何划分模式下支持的距离数。因此,几何划分子模式的总数为n
×
nd。
[0257]
对于大小为w
×
h且几何划分索引设置为k的块,用于亮度样本混合权重的掩码如下:变量n
halfd
设置为nd》》1。变量angleidx a和distanceidx d分别设置为k%n和k/n。变量offsetx和offsety计算如下:offsetx和offsety计算如下:offsetx和offsety计算如下:
[0258]
色度样本的混合权重是从亮度样本的权重中二次采样的。即,将每个对应的2
×
2亮度子块的左上亮度样本的权重用作yuv 4:2:0视频格式的色度样本的权重。
[0259]
另一方面,运动场存储的掩码如下导出。-变量offsetxmotion和offsetymotion计算如下:
[0260]
在第三实施例中,上述所提出的上采样方法用于三角形和几何划分模式的混合和运动场存储流程中。此外,删除了每个几何划分子模式的角度和距离查找表。第一组和第二组掩码是预定义的并且可以分别使用上述等式来计算。第一组和第二组的掩码数都是n
reduced
,其中n
reduced
=(n>>1) 1,n为几何划分模式支持的角度数。让nd表示几何划分模式下支持的距离数。因此,几何划分子模式的总数是n
×
nd。对于大小为w
×
h且几何划分索引设置为k的块,用于亮度样本混合权重的掩码导出如下。-变量n
halfd
设置为nd>>1。-变量angleidx a和distanceidx d分别设置为k%n和k/n。-变量minsize设置为min(w,h)-变量ratiowh和ratiohw分别设置为log2(max(w/h,1))和log2(max(h/w,1))-变量偏移计算如下:-offset=((256-minsize)>>1) d>n
halfd
?((d-n
halfd
)
×
minsize)>>3:-((d
×
minsize)>>3)
[0261]
色度样本的混合权重是从亮度样本的权重中二次采样的。即,将每个对应的2
×
2亮度子块的左上亮度样本的权重用作yuv 4:2:0视频格式的色度样本的权重。
[0262]
另一方面,运动场存储的掩码推导如下:-变量minsubblk设置为min(w,h)>>2-变量offsetmotion的计算如下:-offsetmotion=((64-minsubblk)>>1) d>n
halfd
?((d-n
halfd
)
×
minsize)>>5:-((d
×
minsize)>>5)
[0263]
图39是根据本公开的一些实施例的用于处理视频内容的示例性方法3900的流程图。在一些实施例中,方法3900可由编解码器(例如,使用图2a-2b中的编码流程200a或200b的编码器或使用图3a-3b中的解码流程300a或300b的解码器)来执行。例如,编解码器可被实现为用于对视频序列进行编码或转码的装置(例如,装置400)的一个或多个软件或硬件组件。在一些实施例中,视频序列可以是未压缩的视频序列(例如,视频序列202)或被解码的压缩的视频序列(例如,视频流304)。在一些实施例中,视频序列可以是监控视频序列,其可以由与装置的处理器(例如,处理器402)相关联的监控设备(例如,图4中的视频输入设
备)采集。视频序列可以包括多张图像。该装置可以在图像级别执行方法3900。例如,该设备可以在方法3900中一次处理一张图像。又例如,该设备可以在方法3900中一次处理多张图像。方法3900可以包括以下步骤。
[0264]
在步骤3902,多个块可以沿着划分边缘被划分成第一分区和第二分区。
[0265]
多个块是与图像相关联的第一块的子块。可以理解,一个图像可以与多个块(包括第一块)相关联,并且每个块可以被划分为多个子块。第一块可以与色度块和亮度块相关联。因此,多个块(例如,子块)中的每一个可以与色度子块和亮度子块相关联。可以确定多个块(例如,子块)的划分模式,并且可以基于划分模式对多个块(例如,子块)进行划分。分区可以提供对第一块的帧间预测的改进。示例性划分模式可以包括三角形划分模式或几何划分模式。
[0266]
如上所述,可以根据至少一个指示信号来确定划分模式。例如,返回参考图19,提供第一指示信号(例如,子块合并标志)、第二指示信号(例如,常规合并/mmvd标志)和第三指示信号(例如,ciip标志)以确定用于第一块的划分模式。如图19所示,可以根据第一指示信号(例如,子块合并标志)来确定第一块是否使用子块合并模式进行编码。响应于确定第一块不是采用子块合并模式编码,可以根据第二指示信号(例如,常规合并/mmvd标志)确定第一块是采用常规模式还是具有运动矢量差(mmvd)的合并模式进行编码。响应于第一块不是使用常规模式或mmvd编码的确定,可以使用ciip标志来确定第一块是否使用ciip编码。
[0267]
在一些实施例中,在根据第三指示信号确定第一块是否使用ciip编码之前,步骤3902还可以包括:确定第一块的大小是否满足给定条件;响应于确定第一块的大小满足给定条件,生成第三指示信号,或者响应于确定第一块的大小不满足给定条件,确定使用ciip模式对第一块进行编码。给定条件可以包括:第一块的宽度和高度均大于或等于8;宽度和高度之间的较大值与宽度和高度之间的较小值之比小于或等于4。
[0268]
然后,响应于第一块不是使用ciip模式编码的确定,可以确定第一块的划分模式是三角形划分模式或几何划分模式中的一个。
[0269]
当确定第一块的划分方式为三角形划分模式或几何划分模式之一时,还可以根据划分模式索引、角度索引或距离索引确定目标划分方式。然后,可以确定目标划分方式对应的划分边。
[0270]
通常,划分模式(三角形划分模式或几何划分模式)可以与多种划分方式相关联,并且划分模式索引可以指示多种划分方式中的划分方式的数量。划分模式索引可以与角度索引和距离索引相关联。角度索引可以指示划分模式索引对应的给定划分方式的分区边缘的角度,距离索引可以指示划分边缘与第一块的中心之间的距离。
[0271]
在一些实施例中,查找表(例如,图22a的表22a或图22b的表22b)可以包括与多种划分方式相关联的多个划分模式索引、多个角度索引和多个距离索引。给定划分模式索引(例如,k),可以确定与划分方式相关联的角度索引和距离索引。这样就可以根据划分模式索引在查找表中确定目标划分方式。
[0272]
在多种划分方式中,查找表可以包括与第一划分模式索引相关联的第一划分方式和与第二划分模式索引相关联的第二划分方式,并且第一和第二划分方式针对三角形划分模式。例如,参考图22b的22b表,当划分模式索引“10”与将块从左上角到右下角划分相关联时。并且,划分模式索引“24”与将块从右上角到左下角划分相关联。
[0273]
在步骤3904,可以对多个块执行帧间预测以生成用于第一分区的第一预测信号和用于第二分区的第二预测信号。可以将第一运动向量应用于第一分区以生成第一预测信号(例如,第一分区的运动向量),并且可以将第二运动向量应用于第二分区以生成第二预测信号(例如,第二分区的运动向量)。第一和第二预测信号可以存储在4
×
4子块中。
[0274]
在步骤3906,可以将与划分边缘相关联的边缘块的第一和第二预测信号混合。由于在对第一块应用帧间预测之前已经对第一块进行了划分,因此可以混合第一块的分区以完成该块的编码。在一些实施例中,可以混合与划分边相关联的边缘块。可以理解,每个划分的块的预测信号是相同的。为了混合与划分边缘相关联的边缘块的第一和第二预测信号,可以确定每个边缘块的权重。
[0275]
在一些实施例中,可以生成一组掩码用于确定混合权重。例如,第一组掩码(例如,g_sampleweight
l
[])可以包含多个掩码,每个掩码的大小为256
×
256,掩码用于导出每个块的混合权重。可以将一组掩码的数量(即n个)设置为几何划分模式中支持的多个角度的数量。例如,参考图22b的表22b,几何划分模式支持的角度数为64,因此,掩码数为16。可以基于块大小、目标划分方式的角度值和目标划分方式的距离值来确定第一偏移量(例如,offsetx)和第二偏移量(例如,offsety)。例如,可以使用以下等式来确定大小为w
×
h的块的offsetx和offsety。的offsetx和offsety。其中a和d分别是角度索引和距离索引。可以使用划分模式索引k从查找表(例如,图22b的表22b)获得角度索引a和距离索引d。因此,基于查找表的角度索引的数量确定一组掩码的数量,根据目标划分方式对应的查找表的角度索引确定目标划分方式的角度值,根据目标划分方式对应的查找表的距离索引确定目标划分方式的距离值。
[0276]
角度索引a用于确定是在水平方向还是垂直方向进行分割。在角度索引a是从图22b中的表22b的查找表导出的情况下,当角度索引a等于8或24时,块被水平分割。另一方面,当角度索引等于0或16时,块被垂直分割。因此,条件水平分割(非垂直分割h≥w)等价于a%16==8 or(a%16!=0 and h≥w)。
[0277]
作为另一示例,可以使用以下等式对具有w
×
h大小的块确定offsetx和offsety。h大小的块确定offsetx和offsety。其中n
halfd
为几何划分模式支持的距离数的一半,根据划分模式索引k可以确定角度索引a和距离索引标d。例如,a=k%n,d=k/n。这样,目标划分方式的角度值根据划分模式索引和几何划分模式支持的角度数量得以确定,目标划分方式的距离值是根据划分模式索引和几何划分模式支持的角度数量而确定。
[0278]
基于一组掩码(例如,g_sampleweight
l
[]),可以使用可以确定的第一和第二偏移量(offsetx和offsety)来生成边缘子块的多个混合权重。
[0279]
在一些实施例中,可以在不使用该组掩码的情况下确定第一偏移量(例如,offsetx)和第二偏移量(例如,offsety),并且可以即时确定混合权重。例如,可以使用以下等式计算每个边缘块的权重:个边缘块的权重:displacementx=angleidxdisplacementy=(displancementx numangles>>2)%numangles,其中,numangles设置为32
[0280]
位于(x,y)位置的亮度样本的权重(例如,sampleweight
l
[x][y])可以计算如下:weightidx=(((x offsetx)<<1) 1)*dislut[displacementx] (((y offsety)<<1) 1))*dislut[displacementy]partflip=(angleidx>=13&&angleidx<=27)?0:1weightidxl=partflip?32 weightidx:32-weightidxsampleweight
l
[x][y]=clip3(0,8,(weightidxl 4)>>3)
[0281]
因为第一块包括色度块和亮度块,所以多个混合权重可以包括用于边缘块的多个亮度权重和用于边缘块的多个色度权重。在多个色度权重中,基于与色度权重对应的2
×
2子块的左上角的亮度权重来确定色度权重。例如,参照图7,2
×
2亮度子块的左上角的亮度权重可以用作色度块的色度权重。
[0282]
因此,混合与分割边缘相关联的边缘块的第一和第二预测信号可以进一步包括:混合第一和第二预测信号以根据边缘块的多个亮度权重确定边缘块的亮度值;混合第一及第二预测信号以根据边缘区块的多个色度权重确定边缘块的色度值。
[0283]
在一些实施例中,还提供了一种包括多个指令的非暂时性计算机可读存储介质,并且该多个指令可以由用于执行上述方法的设备(例如所公开的编码器和解码器)来执行。非暂时性介质的常见形式包括例如软盘、软盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、cd-rom、任何其他光学数据存储介质、任何带有孔洞图案的物理介质、ram、prom和eprom、flash-eprom或任何其他闪存、nvram、缓存、寄存器、任何其他内存芯片或盒式磁带,以及它们的网络版本。该设备可以包括一个或多个处理器(cpu)、输入/输出接口、网络接口和/或存储器。
[0284]
可以使用以下条款进一步描述实施例:1、一种视频内容处理方法,包括:沿着划分边缘将与图像相关联的多个块划分成第一分区和第二分区;对所述多个块进行帧间预测,以生成所述第一分区的第一预测信号和所述第二分区的第二预测信号;和将与所述划分边缘相关联的边缘块的所述第一和第二预测信号混合。2、根据条款1所述的方法,其中,沿划分边缘划分多个块还包括:确定所述多个块的划分模式;和基于所述划分模式对所述多个块进行分区。
3、根据条款2所述的方法,其中所述多个块是第一块的子块,并且确定所述多个块的划分模式还包括:根据第一指示信号确定所述第一块是否使用子块合并模式编码;响应于确定所述第一块不是采用子块合并模式编码,根据第二指示信号确定所述第一块是采用常规模式还是具有运动矢量差的合并模式(mmvd)进行编码;响应于确定所述第一块不是使用常规模式或mmvd之一编码,根据第三指示信号确定所述第一块是否使用组合帧间和帧内预测(ciip)模式编码;和响应于确定所述第一块不是使用ciip方式编码,确定所述多个块的划分模式为三角形划分模式或几何划分模式中的一种。4、根据条款2或3所述的方法,其中,沿着划分边缘划分所述多个块还包括:根据划分模式索引、角度索引或距离索引确定目标划分方式;和确定所述目标划分方式对应的划分边缘。5、根据条款4的方法,进一步包括:生成一组掩码;根据所述第一块的大小、目标划分方式的角度值和目标划分方式的距离值确定第一偏移量和第二偏移量;和基于该组掩码,使用所述第一偏移量和第二偏移量生成多个混合权重。6、根据条款5的方法,其中根据所述几何划分模式支持的角度数量确定所述组掩码的数量,根据所述划分模式索引和所述几何划分模式所支持的角度数量确定所述目标划分方式的角度值,根据所述划分模式索引和所述几何划分模式所支持的角度数确定所述目标划分方式的距离值。7、根据条款5或6所述的方法,其中根据所述划分模式索引、角度索引或距离索引确定所述目标划分方式还包括:根据查找表确定所述目标划分方式,其中所述查找表包括与多个划分方式相关联的多个划分模式索引、多个角度索引以及多个距离索引。8、根据条款7的方法,其中根据所述查找表的角度索引的数量确定所述组掩码的数量,根据所述目标划分方式对应的所述查找表的一角度索引所述确定目标划分方式的角度值,根据所述目标划分方式对应的所述查找表的距离索引确定所述目标划分方式的距离值。9、根据条款7或8所述的方法,其中所述查找表包括:在所述多种划分方式中,与第一划分模式索引相关联的第一划分方式和与第二划分模式索引相关联的第二划分方式,所述第一划分方式和第二划分方式与所述三角形划分方式相对应。10、根据条款9所述的方法,其中所述第一划分模式索引等于10,并且与所述第一划分模式索引相关联的所述第一划分方式对应于从块的左上角到右下角分割块;所述第二划分模式索引等于24,并且与所述第二划分模式索引相关联的所述第二划分方式对应于从块的右上角到左下角分割块。11、根据条款5-10中任一项的方法,其中所述多个混合权重包括用于边缘块的多个亮度权重和用于边缘块的多个色度权重,并且将与划分边缘相关联的边缘块的所述第一和第二预测信号混合还包括:
根据所述边缘子块的多个亮度权重确定所述边缘块的亮度值;和根据所述边缘子块的多个色度权重确定所述边缘子块的色度值。12、根据条款11所述的方法,其中,在所述多个色度权重中,基于与一色度权重对应的2
×
2块的左上角的亮度权重来确定所述色度权重。13、根据条款4的方法,进一步包括:根据所述第一块的大小、目标划分方式的角度值和目标划分方式的距离值确定所述第一偏移量和第二偏移量;和使用所述第一和第二偏移量为所述第一块中的亮度样本生成多个混合权重。14、根据条款13的方法,其中所述第一偏移量和第二偏移量使用以下等式确定:14、根据条款13的方法,其中所述第一偏移量和第二偏移量使用以下等式确定:,其中w代表所述第一块的宽度,h代表所述第一块的高度,a代表所述目标划分方式的角度值,d代表所述目标划分方式的距离值。15、根据条款3-14任一项所述的方法,其中,在根据所述第三指示信号确定第一块是否采用组合帧间和帧内预测(ciip)模式编码之前,该方法还包括:确定所述第一块的大小是否满足给定条件;和响应于确定所述第一块的大小满足给定条件,生成所述第三指示信号,或响应于确定所述块的大小不满足给定条件,确定所述块采用ciip方式编码。16、根据条款15的方法,其中所述给定条件包括:所述第一块的宽度和高度均大于或等于8;和所述宽度和高度之间的较大值与宽度和高度之间的较小值之比小于或等于4。17、一种视频内容处理系统,包括:存储器,所述存储器存储一组指令;和至少一个处理器,所述至少一个处理器被配置为执行该组指令以使系统执行:沿着划分边缘将与图像相关联的多个块划分成第一分区和第二分区;对所述多个块进行帧间预测,以生成所述第一分区的第一预测信号和所述第二分区的第二预测信号;和将与所述划分边缘相关联的边缘块的第一和第二预测信号混合。18、根据条款17所述的系统,其中在沿着所述划分边缘划分所述多个块时,所述至少一个处理器被配置为执行所述组指令以使得所述系统进一步执行:确定所述多个块的划分模式;和基于所述划分模式对所述多个块进行划分。19、根据条款18所述的系统,其中所述多个块是第一块的子块,并且在确定所述多个块的划分模式时,所述至少一个处理器被配置为执行所述组指令以使所述系统进一步执行:
根据第一指示信号确定所述第一块是否采用子块合并方式编码;响应于确定所述第一块不是采用子块合并模式编码,根据第二指示信号确定所述第一块是采用常规模式还是具有运动矢量差的合并模式(mmvd)中的一种进行编码;响应于确定所述第一块不是采用常规模式或mmvd之一编码,根据第三指示信号确定所述第一块是否采用组合帧间和帧内预测(ciip)模式编码;和响应于确定第一块不是采用ciip方式编码,确定所述多个块的划分模式为三角形划分方式或几何划分方式中的一种。20、一种非暂时性计算机可读介质,其上存储有指令集,所述指令集可由计算机系统的至少一个处理器执行的指令,其中所述指令集的执行使所述计算机系统执行一种方法,所述方法包括:沿着划分边缘将与图像相关联的多个块分割成第一分区和第二分区;对所述多个块进行帧间预测,以生成第一分区的第一预测信号和第二分区的第二预测信号;和将与所述划分边缘相关联的边缘块的第一和第二预测信号混合。
[0285]
需要说明的是,本文中“第一”、“第二”等关系术语仅用于区分一个实体或操作与另一个实体或操作,并不要求或暗示这些实体或操作之间存在任何实际关系或顺序。此外,词语“包含”、“拥有”、“包含”和“包括”以及其他类似形式的含义是等同的,并且是开放式的,因为在这些词语中任何一个之后的一个或多个项目并不意味着是此类项目的详尽清单,或者仅限于列出的项目。
[0286]
如本文所用,除非另有特别说明,否则术语“或”涵盖所有可能的组合,除非不可行。例如,如果声明一个数据库可能包含a或b,那么,除非另有明确说明或不可行,否则该数据库可能包含a,或b,或a和b。作为第二个例子,如果声明一个数据库可能包含a、b或c,然后,除非另有明确说明或不可行,否则数据库可能包含a、或b、或c、或a和b、或a和c、或b和c、或a和b和c。
[0287]
应当理解,上述实施例可以通过硬件、或软件(程序代码)、或硬件和软件的组合来实现。如果通过软件实现,它可以存储在上述计算机可读介质中。该软件在由处理器执行时可以执行所公开的方法。本公开中描述的计算单元和其他功能单元可以通过硬件、或软件、或硬件和软件的结合来实现。本领域普通技术人员也可以理解,上述模块/单元中的多个可以组合为一个模块/单元,上述每个模块/单元还可以进一步划分为多个子模块/子单位。
[0288]
在前述说明书中,已经参考许多具体细节描述了实施例,这些具体细节可以随实施方式而变化。可以对所描述的实施例进行某些修改和修改。考虑到本文公开的本发明的说明书和实践,其他实施例对于本领域技术人员来说是显而易见的。说明书和实施例仅被认为是示例性的,本发明的真正范围和精神由所附权利要求指示。图中所示的步骤顺序也旨在仅用于说明目的,并不旨在限于任何特定的步骤顺序。因此,本领域技术人员可以理解,在实现相同方法的同时,可以以不同的顺序执行这些步骤。
[0289]
在附图和说明书中,已经公开了示例性实施例。然而,可以对这些实施例进行许多变化和修改。因此,尽管使用了特定术语,但它们仅用于一般和描述性意义,而不是为了限制目的。
再多了解一些

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

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

相关文献