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

用于基于矩阵的帧内预测的简化下采样的制作方法

2022-02-22 07:39:34 来源:中国专利 TAG:


1.本公开总体上涉及基于块的视频编码,并且更具体地,涉及在基于块的视频编码中使用的降低复杂度的基于矩阵的帧内预测。


背景技术:

2.高效率视频编码(hevc)是由国际电信联盟-电信(itu-t)和运动图像专家组(mpeg)标准化的基于块的视频编解码,利用时间预测和空间预测二者。使用来自当前图片内的帧内(i)预测来实现空间预测。根据先前解码的参考图片,在块级别上使用单向(p)或双向(b)帧间预测来实现时间预测。在编码器中,原始像素数据与预测像素数据之间的差(称为残差)在与也被熵编码的必要的预测参数(例如预测模式和运动矢量)一起发送之前,被变换到频域、被量化、然后被熵编码。解码器执行熵解码、逆量化和逆变换以获得残差,然后将残差与帧内预测或帧间预测相加,以重构图片。
3.mpeg和itu-t正在联合视频探索小组(jvet)内开发hevc的后继者。该开发中的视频编解码的名称为多功能视频编码(vvc)。在本提交时,当前版本的vvc草案规范是“多功能视频编码(草案5)”,jvet-n1001-v3。
4.基于矩阵的帧内预测是包括在当前版本的vvc草案中的一种编码工具。为了对宽度为w、高度为h的当前块的样本进行预测,基于矩阵的帧内预测(mip)取当前块左侧的一列h个重构相邻边界样本和当前块上方的一行w个重构相邻样本作为输入。通过对原始边界样本进行下采样以获得经缩减边界样本的集合,对经缩减边界样本进行矩阵乘法以获得预测块中的预测样本的子集,以及进行线性插值以获得预测块中的剩余预测样本,来导出经预测的样本。
5.通过对来自原始边界的样本进行平均来导出经缩减边界样本。导出平均值的过程需要加法和移位操作,这增加了解码器和编码器计算复杂度和时延,尤其是对于硬件实现。在当前版本的vvc中,由mip预测的块的最大尺寸为64
×
64。为了导出经缩减边界的一个样本,平均操作中使用的原始样本的最大数量为64/4=16。该平均操作的计算复杂度是16次加法和1次移位。
6.此外,当矩阵乘法产生经缩减预测块时,使用线性插值来获得剩余预测样本,该经缩减预测块包括最终预测块中的预测样本的子集。在这种情况下,中间经缩减边界用于对预测块的第一行和/或第一列中的预测样本进行插值。在这种情况下,从中间经缩减边界中导出上边界和/或左边界的经缩减边界样本。针对经缩减边界的该两步导出过程增加了编码器和解码器时延。
7.使用mip的另一缺点是经缩减边界中用作矩阵乘法单元(mmu)输入的边界样本未与mmu输出对齐。对边界样本进行平均的过程产生集中于两个原始边界样本之间并偏向某些mip输出的值。用于线性插值的边界样本也存在类似的问题。


技术实现要素:

8.一种用于预编码器或解码器的预测单元实现了用于对视频或静止图像进行编码或解码的mip。对当前块的输入边界样本进行下采样,以获得用于矩阵乘法和/或线性插值或二者的经缩减边界样本。在一个实施例中,以将经缩减边界样本与预测单元的矩阵乘法单元的输出对齐的方式执行下采样。在其他实施例中,通过在不进行平均的情况下从输入边界样本中选择样本来执行下采样,其将经缩减边界样本与预测单元的矩阵乘法单元的输出对齐,以降低编码器或解码器中的预测单元的复杂度和时延。
9.本公开的一个方面是提供使用于矩阵乘法或插值的经缩减边界样本能够与预测中的mmu的输出对齐,同时保持编码效率的技术。描述了用于对输入边界样本的集合进行下采样以产生在至少一个方向上与mmu输出对齐的经缩减边界样本的集合的各种技术。在一个实施例中,通过使用在垂直方向或水平方向上以mmu的输出为中心的滤波器对输入边界样本进行下采样,或者通过对以mmu的输出为中心的边界样本进行平均,来导出经缩减边界样本。在其他实施例中,通过选择与mmu的对应输出对齐的输入边界样本,在不进行平均的情况下导出经缩减边界样本。在一些实施例中,在进行平均或不进行平均的情况下生成的经缩减边界样本的一个集合可以用作mmu的输入,并且在进行平均或不进行平均的情况下生成的经缩减边界样本的第二不同的集合可以用于线性插值。
10.本公开的另一方面是通过减少用于导出一个经缩减边界样本的原始边界样本的数量来降低用于导出经缩减边界样本的计算复杂度。在一些实施例中,通过减少被平均以生成一个经缩减边界样本的输入边界样本的数量来实现计算复杂度的降低。例如,最坏的情况需要对16个输入边界样本进行读取和平均,以导出一个经缩减边界样本。该过程需要16次读取、15次加法(n-1)和1次移位。在该示例中,可以通过选择16个边界样本中的2个进行平均来降低计算复杂度,这需要2次读取、1次加法和1次移位。在另一实施例中,通过在不进行平均的情况下进行下采样来实现计算复杂度的降低。继续相同的示例,mip可以被配置为选择16个原始输入边界样本之一。在这种情况下,仅需要1次读取,无需加法或移位操作。
11.本公开的另一方面是通过避免针对用作mmu输入的经缩减边界样本的两步导出过程来降低时延。当矩阵乘法产生包括最终预测块中的预测样本的子集的经缩减预测块时,使用线性插值来获得剩余预测样本。在这种情况下,中间经缩减边界用于在经缩减预测块的第一行和/或第一列与上边界或左边界之间分别对预测样本进行插值。从中间经缩减边界中导出上边界和/或左边界的经缩减边界样本。针对经缩减边界的该两步导出过程增加了编码器和解码器时延。在本公开的实施例中,分别用于矩阵乘法和插值的经缩减边界样本在单个步骤中并行导出。
12.本公开的一个方面包括由基于矩阵的帧内预测的编码器或解码器实现的方法。该方法包括对输入边界样本的集合进行下采样以生成经缩减边界样本的集合,以及通过在乘法单元中对经缩减边界样本进行乘法来生成经缩减预测块。经缩减预测块包括预测块中的预测样本的子集。该方法还包括生成与乘法单元的相应输出对齐的插值边界样本的集合。该方法还包括通过使用插值边界样本的集合中的一个或多个边界样本和预测样本的经缩减集合进行线性插值,来生成预测块的一个或多个剩余预测样本。
13.本公开的另一方面包括被配置为执行基于矩阵的帧内预测的编码器或解码器。编码器/解码器被配置为对输入边界样本的集合进行下采样以生成经缩减边界样本的集合,
以及通过在乘法单元中对经缩减边界样本进行乘法来生成经缩减预测块。经缩减预测块包括预测块中的预测样本的子集。编码器/解码器还被配置为生成与乘法单元的相应输出对齐的插值边界样本的集合。编码器/解码器还被配置为通过使用插值边界样本的集合中的一个或多个边界样本和预测样本的经缩减集合进行线性插值,来生成预测块的一个或多个剩余预测样本。
14.本公开的另一方面包括被配置为执行基于矩阵的帧内预测的编码器或解码器。编码器/解码器包括下采样单元和块预测单元。下采样单元被配置为对图像中的当前块的输入边界样本的集合进行下采样,以生成1)经缩减边界样本的集合,用于输入乘法单元,和2)插值边界样本的集合,与乘法单元的相应输出对齐。块预测单元包括:乘法单元,被配置为对经缩减边界样本进行乘法,以生成预测块中的预测样本的子集;以及插值单元,被配置为通过使用插值边界样本的集合中的一个或多个边界样本和来自矩阵乘法单元的预测样本的经缩减集合进行线性插值,来生成剩余预测样本中的一个或多个。
15.本公开的另一方面包括被配置为执行基于矩阵的帧内预测的编码器或解码器。编码器/解码器包括接口电路和处理电路,接口电路被配置为实现视频信号和/或图像信号的输入和/或输出。处理电路被配置为对输入边界样本的集合进行下采样以生成经缩减边界样本的集合,并且通过在乘法单元中对经缩减边界样本进行乘法来生成经缩减预测块。经缩减预测块包括预测块中的预测样本的子集。处理电路还被配置为生成与乘法单元的相应输出对齐的插值边界样本的集合。处理电路还被配置为通过使用插值边界样本的集合中的一个或多个边界样本和预测样本的经缩减集合进行线性插值,来生成预测块的一个或多个剩余预测样本。
16.本公开的另一方面包括源设备或目的设备,包括根据前述三个段落中任一个的编码器和/或解码器。
17.本公开的又一方面包括用于被配置为执行基于矩阵的帧内预测的编码器或解码器的计算机程序。该计算机程序包括可执行指令,该可执行指令在由编码器/解码器中的处理电路执行时使编码器/解码器对输入边界样本的集合进行下采样,以生成经缩减边界样本的集合,以及通过在乘法单元中对经缩减边界样本进行乘法来生成经缩减预测块。经缩减预测块包括预测块中的预测样本的子集。该指令还使编码器/解码器生成与乘法单元的相应输出对齐的插值边界样本的集合。该指令还使编码器/解码器通过使用插值边界样本的集合中的一个或多个边界样本和预测样本的经缩减集合进行线性插值,来生成预测块的一个或多个剩余预测样本。
18.本公开的另一方面包括载体,其包含根据前述段落的计算机程序。载体是电信号、光信号、无线电信号和非暂时性计算机可读存储介质中的一种。
附图说明
19.图1示出了使用如本文所述的mip的示例性视频传输系统。
20.图2示出了被配置为实现如本文所述的mip的示例性编码器。
21.图3示出了被配置为实现如本文所述的mip的示例性解码器。
22.图4示出了针对4
×
4预测块的mip。
23.图5示出了针对8
×
4预测块的mip。
24.图6示出了针对4
×
16预测块的mip。
25.图7示出了针对8
×
8预测块的mip。
26.图8示出了针对16
×
8预测块的mip。
27.图9示出了针对16
×
16预测块的mip。
28.图10示出了输入mmu中的经缩减边界样本与mmu输出之间的未对齐。
29.图11示出了用于线性插值的经缩减边界样本与mmu输出之间的未对齐。
30.图12示出了由编码器或解码器中的预测单元实现的mip的方法。
31.图13示出了在不进行平均的情况下对输入边界样本进行下采样以导出用于垂直线性插值的上插值边界样本。
32.图14示出了在不进行平均的情况下对输入边界样本进行下采样以导出用于水平线性插值的左插值边界样本。
33.图15示出了在不进行平均的情况下对输入边界样本进行下采样以导出用于矩阵乘法的经缩减边界样本。
34.图16示出了在不进行平均的情况下对输入边界样本进行下采样以导出用于矩阵乘法的经缩减边界样本。
35.图17示出了在不进行平均的情况下对输入边界样本进行下采样以导出用于矩阵乘法和线性插值二者的经缩减边界样本。
36.图18示出了使用平均对输入边界样本进行一步下采样以导出用于矩阵乘法的经缩减边界样本。
37.图19示出了用于插值的经缩减边界样本与mmu输出之间的未对齐。
38.图20示出了下采样滤波器的移位以减少用于插值的经缩减边界样本与mmu输出之间的未对齐。
39.图21示出了与mmu输出对齐的下采样滤波器。
40.图22示出了根据一个实施例的mip的示例性方法。
41.图23示出了根据一个实施例的mip的另一示例性方法。
42.图24示出了根据一个实施例的mip的另一示例性方法。
43.图25示出了用于mip的示例性预测单元。
44.图26示出了被配置为执行如本文所述的mip的编码或解码设备。
具体实施方式
45.本技术要求2019年6月14日提交的美国申请no.62/861546的优先权,其公开内容通过引用整体并入本文。
46.将在如图1所示的视频传输系统10的上下文中说明本公开。本领域技术人员将理解,图1中的视频传输系统10在本文中用于说明本公开的原理的目的,并且本文中的技术不限于图1的视频传输系统10,而是更一般地适用于使用基于矩阵的帧内预测(mip)的任何基于块的视频传输系统。
47.视频传输系统10包括源设备20和目的设备40。源设备20生成编码视频用于传输到目的设备40。目的设备40从源设备20接收编码视频,对编码视频进行解码以获得输出视频信号,并且显示或存储输出视频信号。
48.源设备20包括图像源22、编码器24和发射机26。例如,图像源22可以包括视频捕获设备,如摄像机、回放设备或视频存储设备。在其他实施例中,图像源22可以包括被配置为产生计算机生成的视频的计算机或处理电路。编码器24从视频源22接收视频信号并生成编码视频信号用于传输。编码器24被配置为生成一个或多个经编码的块,如下文所述。编码器24在图2中更详细地示出。为了对当前块进行编码,编码器24使用来自存储在存储器38中的相邻块的边界样本。发射机26被配置为通过有线或无线信道15将经编码的块作为视频信号发送到目的设备30。在一个实施例中,发射机26包括被配置为根据长期演进(lte)或新无线电(nr)标准操作的无线收发机的一部分。
49.目的设备40包括接收机42、解码器44和输出设备46。接收机42被配置为接收由源设备20通过有线或无线信道15发送的视频信号中的经编码的块。在一个实施例中,接收机42是被配置为根据lte或nr标准操作的无线收发机的一部分。编码视频信号被输入到解码器44中,解码器44被配置为实现mip以对包含在编码视频信号内的一个或多个经编码的块进行解码,以生成再现由源设备20编码的原始视频的输出视频。解码器44在图3中更详细地示出。为了对当前块进行解码,解码器44使用来自存储在存储器58中的相邻块的边界样本。输出视频被输出到输出设备26。输出设备可以包括例如显示器、打印机或用于再现视频的其他设备或数据存储设备。
50.图2示出了根据实施例的示例性编码器24。编码器24包括被配置为执行mip的处理电路。编码器24的主要功能组件包括预测单元28、减法单元30、变换单元32、量化单元34、熵编码单元36、逆量化单元35、逆变换单元37和加法单元39。编码器24的组件可以由硬件电路、微处理器或它们的组合来实现。在操作中,将当前块输入减法单元30中,减法单元30从当前块中减去预测单元28输出的预测块,以获得残差块。残差块由变换单元32变换到频域,以获得二维频域残差系数块。频域残差系数然后由量化单元34量化并且由熵编码单元36进行熵编码,以生成编码视频块。经量化的残差系数还被输入逆量化单元35中,逆量化单元35进行反量化以重构频域残差系数。经重构的频域残差系数然后由逆变换单元37变换回时域,并通过加法单元39与预测单元28输出的预测块相加,以获得存储在存储器38中的重构块。存储在存储器38中的重构块提供由预测单元28用于mip的输入边界样本。
51.图3示出了被配置为执行如本文所述的帧内预测的示例性解码器44。解码器44包括熵解码单元48、逆量化单元50、逆变换单元52、预测单元54和加法单元56。熵解码单元48对当前块进行解码,以获得二维经量化残差系数块,并将语法信息提供给预测单元54。逆量化单元50执行逆量化以获得经反量化的残差系数,并且逆变换单元52对经反量化的残差系数执行逆变换,以获得对所发送的残差系数的估计。预测单元54执行如本文所述的帧内预测,以生成当前块的预测块。加法单元56将来自预测单元54的预测块与逆变换单元52输出的残差值相加,以获得输出视频。
52.编码器24或解码器44均被配置为执行帧内预测以对视频进行编码和解码。视频序列包括一系列图片,其中每个图片包括一个或多个分量。每个分量都可以被描述为样本值的二维矩形阵列。视频序列中的图片通常包括三个分量;一个亮度分量y(其中样本值为亮度值)和两个色度分量cb和cr(其中样本值为色度值)。通常,在每个维度上,色度分量的尺寸是亮度分量的1/2。例如,高清(hd)图片的亮度分量的大小可以是1920
×
1080,而色度分量可以具有960
×
540的尺寸。分量有时也被称为颜色分量。以下描述了对视频序列的编码
和解码有用的方法和装置。然而,应当理解,所描述的技术也可以用于静止图像的编码和解码。
53.hevc和多功能视频编码(vvc)是基于块的视频编码技术的示例。块是二维样本阵列。在视频编码中,每个分量被分割为块,编码视频比特流是一系列块。在视频编码中,通常将图片分割为覆盖特定区域的单元。每个单元包括组成该特定区域的所有块,并且每个块完全属于仅一个单元。hevc和vvc中的编码单元(cu)是这种单元的示例。编码树单元(ctu)是可以被分割为若干cu的逻辑单元。在hevc中,cu是正方形,即它们具有n
×
n个亮度样本的大小,其中n的值可以是64、32、16或8。在当前的h.266测试模型多功能视频编码(vvc)中,cu也可以是矩形,即具有n
×
m个亮度样本的大小,其中n与m不同。
54.空间预测和时间预测可用于消除编码视频序列中的冗余。帧内预测基于来自同一(当前)图片的先前解码块的样本的空间外推来预测图片中的块。帧内预测也可用于视频压缩,即静态视频的压缩,其中仅一个图片被压缩/解压缩。帧间预测通过使用先前解码图片的样本来预测块。本公开涉及帧内预测。
55.hevc和vvc中使用了帧内方向性预测。在hevc中,存在33个角度模式和总共35个模式。在vvc中,存在65个角度模式和总共67个模式。剩余两个模式,“平面”和“dc”是非角度模式。模式索引0用于平面模式,模式索引1用于dc模式。hevc的角度预测模式索引范围为2到34,vvc的角度预测模式索引范围为2到66。帧内方向性预测用于视频序列中的所有分量,即亮度分量y、色度分量cb和cr。
56.在本公开的示例性实施例中,编码器24处的预测单元28或解码器44处的预测单元54分别被配置为实现mip,以预测当前块的样本。mip是包括在当前版本的vvc草案中的编码工具。为了对宽度为w、高度为h的当前块的样本进行预测,mip取当前块左侧的一列h个重构相邻边界样本和当前块上方的一行w个重构相邻样本作为输入。经预测的样本以如下方式导出:
57.·
对于每个边界(bdry
top
和bdry
left
),通过取决于当前块尺寸,对输入边界进行平均来提取经缩减边界样本。所提取的经平均的边界样本被表示为经缩减边界bdry
red

58.·
以所提取的经平均的边界样本作为输入,执行矩阵向量乘法。输出是由经预测的样本值的集合组成的经缩减预测信号,其中每个经预测的样本与当前块中的位置相对应,并且其中位置的集合是当前块的所有位置的子集。输出的经缩减预测信号被命名为pred
red

59.·
通过线性插值,根据经缩减预测信号来生成当前块中不在该位置的集合中的剩余位置处的预测样本值,该线性插值是每个方向(垂直和水平)上的单步线性插值。预测信号包括块的所有预测样本值。
60.ο如果h》w,则取决于当前块尺寸,首先使用被命名为bdryred
left
或bdry
rediileft
的经缩减左边界样本来应用水平线性插值。在水平线性插值之后,使用原始上边界bdry
top
来应用垂直线性插值。
61.ο如果h≤w,则取决于当前块尺寸,首先使用被命名为bdry
redtop
或bdry
rediitop
的经缩减上边界样本来应用垂直线性插值。在垂直线性插值之后,使用原始左边界bdry
left
来应用水平线性插值。
62.·
通过对预测信号的每个样本进行裁剪,最终导出经预测的样本。在一些实施例
中,可以在插值之前,对经缩减预测块的样本进行裁剪。
63.图4示出了针对4
×
4块的mip的示例。给定4
×
4块,bdry
red
包含4个样本,该4个样本是从对每个边界的每两个样本进行平均导出的。pred
red
的尺寸为4
×
4,与当前块相同。因此,可以跳过水平和垂直线性插值。
64.图5示出了针对8
×
4块的mip的示例。给定8
×
4块,bdry
red
包含8个样本,该8个样本是从原始左边界及对上边界的每两个样本进行平均导出的。pred
red
的尺寸为4
×
4。剩余位置处的预测信号通过使用原始左边界bdry
left
进行水平线性插值来生成。
65.给定w
×
4块,其中w≥16,bdry
red
包含8个样本,该8个样本是从原始左边界及对上边界的每w/4个样本进行平均导出的。pred
red
的尺寸为8
×
4。剩余位置处的预测信号通过使用原始左边界bdry
left
执行水平线性插值来生成。
66.给定4
×
8块,bdry
red
包含8个样本,该8个样本是从对左边界的每两个样本进行平均及原始上边界导出的。pred
red
的尺寸为4
×
4。剩余位置处的预测信号通过使用原始上边界bdry
top
执行垂直线性插值来生成。
67.给定4
×
h块,其中h≥16,bdry
red
包含8个样本,该8个样本是从对左边界的每h/4个样本进行平均及原始上边界导出的。pred
red
的尺寸为4
×
8。剩余位置处的预测信号通过使用原始上边界bdry
top
执行进行垂直线性插值来生成。图6示出了针对4
×
16块的mip过程的示例。
68.给定8
×
8块,bdry
red
包含8个样本,该8个样本是从对每个边界的每两个样本进行平均导出的。pred
red
的尺寸为4
×
4。剩余位置处的预测信号首先通过使用经缩减上边界bdry
redtop
执行垂直线性插值,其次通过使用原始左边界bdry
left
执行水平线性插值生成。图7示出了针对8
×
8块的mip过程的示例。
69.给定w
×
8块,其中w≥16,bdry
red
包含8个样本,该8个样本是从对左边界的每两个样本进行平均及对上边界的每w/4个样本进行平均导出的。pred
red
的尺寸为8
×
8。剩余位置处的预测信号通过使用原始左边界bdry
left
执行水平线性插值来生成。图8示出了针对16
×
8块的mip过程的示例。
70.给定8
×
h块,其中h≥16,bdry
red
包含8个样本,该8个样本是从对左边界的每h/4个样本进行平均及对上边界的每两个样本进行平均导出的。pred
red
的尺寸为8
×
8。剩余位置处的预测信号通过使用原始上边界bdry
top
执行垂直线性插值来生成。
71.给定w
×
h块,其中w≥16且h≥16,bdry
red
包含8个样本,该8个样本以如下方式导出:
72.·
对于h≤w,首先,bdry
rediitop
包含8个样本,该8个样本是通过对上边界的每w/8个样本进行平均导出的。其次,bdry
red
包含8个样本,该8个样本是从对左边界的每h/4个样本进行平均及对bdry
redii
的每两个样本进行平均导出的。
73.·
对于h》w,首先,bdry
rediileft
包含8个样本,该8个样本是通过对左边界的每h/8个样本进行平均导出的。其次,bdry
red
包含8个样本,该8个样本是从对bdry
rediileft
的每两个样本及对上边界的每w/4个样本进行平均导出的。
74.pred
red
的尺寸为8
×
8。剩余位置处的预测信号使用线性插值以如下方式生成:
75.·
对于h≤w,首先使用经缩减上边界样本bdry
rediitop
进行垂直线性插值,其次使用原始左边界bdry
left
进行水平线性插值,经缩减上边界样本bdry
rediitop
是通过对上边界的每
w/8个样本进行平均导出的。
76.·
对于h》w,首先使用经缩减左边界样本bdry
rediileft
进行水平线性插值,其次使用原始上边界bdry
top
进行垂直线性插值,经缩减左边界样本bdry
rediileft
是通过对上边界的每h/8个样本进行平均导出的。
77.图9示出了针对16
×
16块的示例mip过程。
78.在当前版本的vvc中,针对亮度分量应用mip。
79.如上所述的mip过程具有多个缺点。经缩减边界bdry
red
样本是通过对来自原始边界bdry
left
和bdry
top
的样本进行平均导出的。样本平均需要加法操作和移位操作,这增加了解码器和编码器的计算复杂度和时延,尤其是对于硬件实现。在当前版本的vvc中,由mip预测的块的最大尺寸为64
×
64。为了导出bdry
red
的一个样本,平均操作中使用的原始样本的最大数量为64/4=16。该平均操作的计算复杂度是16次加法和1次移位。
80.此外,当矩阵乘法产生包括最终预测块中的预测样本的子集的经缩减预测块时,使用线性插值来获得剩余预测样本。
81.给定w
×
h块,其中w≥16且h≥16,经缩减边界bdry
red
样本分两步导出:
82.·
如果h≤w,则首先,bdry
rediitop
包含8个样本,该8个样本是通过对上边界的每w/8个样本进行平均导出的。其次,bdry
red
包含8个样本,该8个样本是通过对左边界的每h/4个样本进行平均及对bdry
rediitop
的每两个样本进行平均导出的。
83.·
如果h》w,则首先,bdry
rediileft
包含8个样本,该8个样本是通过对左边界的每h/8个样本进行平均导出的。其次,bdry
red
包含8个样本,该8个样本是通过对bdry
rediileft
的每两个样本及对上边界的每w/4个样本进行平均导出的。
84.中间经缩减边界bdry
rediitop
和bdry
rediileft
分别用于垂直线性插值和水平线性插值。经缩减边界bdry
red
的该两步导出过程增加了编码器和解码器时延。
85.使用mip的另一缺点在于用于输入mmu的经缩减边界样本未与mmu的输出对齐。对水平或垂直方向上的n个相邻边界样本进行平均以产生水平或垂直方向上的mmu输入,给出集中在序列中间的两个边界样本之间的mmu输入。例如,对8个边界样本进行平均产生集中于第四个样本和第五个样本之间的mmu输入。当mmu输出与预测块在垂直或水平方向上的密度相比稀疏时,输入位置更接近两个输出样本中的第一个,使得mmu输入偏向于第一个、第三个、第五个mmu输出等等。图10示出了在4
×
4mmu输入和8
×
8mmu输出的情况下用于线性插值的边界样本的未对齐问题。
86.类似的问题在用于线性插值的经缩减边界样本时出现。用于垂直方向上的线性插值的样本是根据对水平方向的n个边界样本进行平均确定的,并且用于水平方向上的线性插值的样本是根据对垂直方向的n个边界样本进行平均确定的。这给出了经滤波的边界样本,其集中在中间的两个边界样本之间,而不是在垂直方向上分别位于水平方向上的mmu输出处。图11示出了在8
×
8mmu输出的情况下用于线性插值的边界样本的未对齐问题。
87.本公开的一个方面在于提供使用于矩阵乘法或插值的经缩减边界样本能够与mmu的输出对齐,同时保持编码效率的技术。描述了用于对输入边界样本的集合进行下采样以产生在至少一个方向上与mmu输出对齐的经缩减边界样本的集合。在一个实施例中,通过使用在垂直或水平方向上以mmu的输出为中心的滤波器对输入边界样本进行下采样,或者通过对以mmu的输出为中心的边界样本进行平均,来导出经缩减边界样本。在其他实施例中,
通过在不进行平均的情况下,选择与mmu的对应输出对齐的输入边界样本来导出经缩减边界样本。在进行平均或不进行平均的情况下生成的经缩减边界样本可以用作mmu的输入或者用于线性插值。
88.本公开的另一方面在于通过减少用于导出一个经缩减边界样本的原始边界样本的数量来降低用于导出经缩减边界样本的计算复杂度。在一些实施例中,通过减少被平均以生成一个经缩减边界样本的输入边界样本的数量来实现计算复杂度的降低。例如,最坏的情况需要对16个输入边界样本进行读取和平均,以导出一个经缩减边界样本。该过程需要16次读取、15次加法(n-1)和1次移位。在该示例中,可以通过选择16个边界样本中的2个进行平均来降低计算复杂度,这需要2次读取、1次加法和1次移位。在另一实施例中,通过在不进行平均的情况下进行下采样来实现计算复杂度的降低。继续相同的示例,mip可以被配置为选择16个原始输入边界样本之一。在这种情况下,仅需要1次读取,无需加法或移位操作。
89.本公开的另一方面在于通过消除针对用作mmu的输入的经缩减边界样本的两步导出过程。当矩阵乘法产生经缩减预测块时,使用线性插值来获得剩余预测样本,经缩减预测块包括最终预测块中的预测样本的子集。在这种情况下,中间经缩减边界用于对预测块的第一行和/或第一列中的预测样本进行插值。上边界和/或左边界的经缩减边界样本从中间经缩减边界中导出。针对经缩减边界的该两步导出过程增加了编码器和解码器时延。在本公开的实施例中,分别用于矩阵乘法和插值的经缩减边界样本在单个步骤中并行导出。
90.图12示出了使用mip进行编码或解码的示例性方法100。编码器24/解码器44将当前cu的大小导出为宽度值w和高度值h,确定当前块是帧内预测块并导出当前块的预测模式(框105~115)。在解码器44处,这些确定基于解码比特流中的语法元素。接下来,编码器24/解码器44从宽度w和高度h中导出mipsizeid,并使用预测模式和mipsizeid作为表索引从矩阵向量查找表中确定当前块的矩阵向量(框120和125)。
91.一旦块大小和矩阵向量已知,编码器24/解码器44就确定了当前块的原始边界样本值(框130)。原始边界样本是来自当前块紧上方的最近相邻样本的w个样本和来自当前块紧左侧的最近相邻样本的h个样本。这些样本的值可以分别存储在编码器24的存储器38或解码器44的存储器58中。编码器24/解码器44确定经缩减边界bdry
red
的大小,并且如果需要,确定中间经缩减边界bdry
redii
的大小(框135)。编码器24/解码器44通过当前块的宽度w和高度h来确定经缩减预测信号pred
red
的尺寸(框140)。编码器24/解码器44还取决于当前块的宽度w和高度h来确定是应用垂直线性插值、水平线性插值还是二者(框145)。
92.对于矩阵乘法,编码器24/解码器44从原始边界样本中导出经缩减边界bdry
red
,如下文将更详细地描述(框150)。经缩减预测信号pred
red
然后根据矩阵向量和经缩减边界bdry
red
的矩阵乘法导出(框155)。在一些实施例中,如果由矩阵乘法生成的经缩减预测块pred
red
中的经预测样本的值超出预定范围,则可以对这些值进行裁剪。当执行线性插值时,编码器24/解码器44从原始边界样本中导出中间经缩减边界样本bdry
redii
(本文中也称为插值边界样本),并且基于其在框155中的确定来执行线性插值以导出预测块pred的剩余样本(框160和165)。在一些实施例中,如果在插值之前没有进行裁剪,如果由矩阵乘法生成的预测块pred中的经预测样本的值超出预定范围,则可能需要对这些值进行裁剪。
93.本领域技术人员将理解,在4
×
4预测块的最简单情况下,不需要线性插值,因此不
需要执行插值。
94.如果决定应用垂直线性插值和水平线性插值二者,则编码器24/解码器44需要确定执行垂直插值和水平插值的顺序。基于当前块的宽度w和高度h做出首先应用哪个方向的决定。如果决定首先应用垂直线性插值,则编码器24/解码器44通过当前块的宽度w和高度h来确定用于垂直线性插值的经缩减上边界bdry
rediitop
的大小,并从原始上边界样本中导出经缩减上边界bdry
rediitop
。如果决定首先应用水平线性插值,则编码器24/解码器44通过当前块的宽度w和高度h来确定用于水平线性插值的经缩减左边界bdry
rediileft
的大小,并从原始左边界样本中导出经缩减左边界bdry
rediileft

95.图12所示的帧内预测的方法可以由编码器24或解码器44执行。在编码器24中,从当前块中减去预测块24以导出残差,如图2所示。残差然后被编码以传输到目的设备40。在解码器44中,计算预测块24,并将预测块24与从源设备20接收的经解码的残差相加,以获得输出视频,如图3所示。
96.本公开的一些实施例通过使用简化的下采样方法在不进行平均的情况下导出中间经缩减边界样本来降低mip的复杂度。给定w
×
h块,当水平线性插值和垂直线性插值都应用于当前块时,编码器24/解码器44确定执行垂直线性插值和水平线性插值的顺序。如果h≤w,则首先对经缩减预测信号pred
red
应用垂直线性插值。用于垂直线性插值的经缩减上边界bdry
rediitop
样本是通过在不进行平均操作的情况下取原始上边界样本的每第k个样本导出的。如果h》w,则首先对经缩减预测信号pred
red
应用水平线性插值。用于水平线性插值的经缩减左边界bdry
rediileft
样本是通过在不进行平均操作的情况下取原始左边界样本的每第k个样本导出的。
97.数字k是下采样因子,它由当前块的宽度w和高度h确定。k的值可以等于2、4或8。例如,可以根据以下规则选择k值:
98.·
如果h≤w且w=8,则k=2。
99.·
如果h≤w且w》8,则k=w/8,其中w=16、32或64。
100.·
如果h》w,则k=h/8,其中h=16、32或64。
101.经缩减边界bdry
redii
样本导出过程如下。位置(xcb,ycb)指定当前图片的当前编码块的左上样本的位置。上边界样本的位置为(xt,yt),其中xt=xcb

xcb w-1,yt=ycb-1。左边界样本的位置为(xl,yl),其中xl=xcb-1,yl=ycb

ycb h-1。经缩减预测信号的尺寸为predw
×
predh。predw和predh的值可以以如下方式确定:
102.·
如果w≤8且h≤8,则predw=predh=4。
103.·
如果w》8且h=4,则predw=8,predh=4。
104.·
如果w=4且h》8,则predw=4,predh=8。
105.·
否则,predw=8,predh=8。
106.如果决定首先应用垂直线性插值,则将下采样因子k导出为等于(w/predw)。经缩减上边界bdry
rediitop
样本从原始上边界样本的每第k个样本中导出。原始上边界样本的第k个样本的位置(x,y)被指定为:
107.·
x=xcb n
×
k-1,其中n的范围从1到predw。
108.·
y=ycb-1。
109.如果决定首先应用水平线性插值,则将下采样因子k导出为等于(h/predh)。经缩
减左边界bdry
rediileft
样本从原始左边界样本的每第k个样本中导出。原始左边界样本的第k个样本的位置(x,y)被指定为:
110.·
x=xcb-1。
111.·
y=ycb n
×
k-1,其中n的范围从1到predh。
112.图13示出了用于在不进行平均的情况下导出用于垂直线性插值的插值边界样本的示例性下采样方法。给定w
×
h块,其中w=8且h=8,首先将垂直线性插值应用于经缩减预测信号pred
red
。经缩减预测信号的尺寸为predw
×
predh,其中predw=4且predh=4。通过取原始上边界样本的每第2个样本,导出用于垂直线性插值的4个经缩减上边界bdry
rediitop
样本,如图13所示:
113.给定w
×
h块,其中w≥16、h≥16,且h≤w,首先将垂直线性插值应用于经缩减预测信号pred
red
。经缩减预测信号的尺寸为predw
×
predh,其中predw=8且predh=8。从原始上边界样本的每第k(k=w/8)个样本中导出用于垂直线性插值的8个经缩减上边界bdry
rediitop
样本。如果h》w,则首先将水平线性插值应用于经缩减预测信号。经缩减预测信号的尺寸为predw
×
predh,其中predw=8且predh=8。从原始左边界样本的每第k(k=h/8)个样本中导出用于水平线性插值的8个经缩减左边界bdry
rediilef
样本。图14示出了针对16
×
32块的经缩减左边界的示例。
114.本公开的一些实施例使用简化的下采样方法来导出用于矩阵乘法的经缩减边界样本。给定w
×
h块,在当前块是基于矩阵的帧内预测块时,经缩减边界bdry
red
用于矩阵乘法。bdry
red
样本是在不进行平均操作的情况下从原始边界样本的每第l个样本中导出的。数字l是下采样因子,它由当前块的宽度w和高度h确定。针对左边界和上边界,数字l分别被进一步指定为l
left
和l
top
,其中:
115.·
当w等于h时,l
left
=l
top
116.·
当w≠h时,l
left
≠l
top
117.l的值可以等于1、2、4、8或16。例如,可以根据以下规则选择l的值:
118.·
如果w=4且h=4,则l
left
=l
top
=2。
119.·
如果w》4或h》4,
120.ο当h=4、8、16、32或64时,l
left
=h/4。
121.ο当w=4、8、16、32或64时,l
top
=w/4。
122.经缩减边界bdry
red
样本导出过程如下。位置(xcb,ycb)指定当前图片的当前编码块的左上样本的位置。上边界样本的位置为(xt,yt),其中xt=xcb

xcb w-1,yt=ycb-1。左边界样本的位置为(xl,yl),其中xl=xcb-1,yl=ycb

ycb h-1。经缩减边界bdry
red
的大小为lenw lenh,其中lenw指定来自原始上边界的经缩减边界样本的数量,lenh指定来自左边界的经缩减边界样本的数量。在当前版本的vvc中,lenw和lenh以如下方式确定:
123.·
如果w=h=4,则lenw=lenh=2。
124.·
如果w》4或h》4,则lenw=lenh=4。
125.将下采样因子l
top
导出为等于(w/lenw)。经缩减上边界bdry
redtop
样本是从原始上边界样本的每第l
top
个样本中导出的。原始上边界样本的第l
top
个样本的位置(x,y)被指定为:
126.·
x=xcb n
×
l
top-1,其中n的范围从1到lenw。
127.·
y=ycb-1。
128.将下采样因子l
left
导出为等于(h/lenh)。经缩减左边界bdry
redleft
样本是从原始左边界样本的每第l
left
个样本中导出的。原始左边界样本的第l
left
个样本的位置(x,y)被指定为:
129.·
x=xcb-1。
130.·
y=ycb n
×
l
left-1,其中n的范围从1到lenh。
131.图15示出了示例性下采样方法,用于针对w
×
h块,导出用于mmu的输入的经缩减边界样本,其中w=4且h=4。在该示例中,经缩减边界bdry
red
的大小为lenw lenh,其中lenw=2,lenh=2。从原始上边界样本的每第2个样本和原始左边界的每第2个样本中导出经缩减边界bdry
red
样本。
132.图16示出了示例性下采样方法,用于针对w
×
h块,导出用于mmu的输入的经缩减边界样本,其中w=32且h=16。在该示例中,经缩减边界bdry
red
的大小为lenw lenh,其中lenw=4,lenh=4。从原始上边界样本的每第8个样本和原始左边界样本的每第4个样本中导出经缩减边界样本。
133.给定w
×
h块,决定是否应用该方法以在不进行平均操作的情况下从原始边界样本的每第l个样本中导出用于矩阵乘法的经缩减边界bdry
red
是通过bdry
redleft
和bdry
redtop
的大小以及经缩减的经预测信号pred
red
的尺寸predw
×
predh确定的。
134.在该实施例中,当bdry
redleft
的大小=predh时,矩阵乘法不执行垂直上采样。替代地,bdry
redleft
的样本是在不进行平均操作的情况下从原始左边界样本的每第l
left
个样本中导出的。在当前版本的vvc中,在当前块为w
×
4块时,其中w》4,bdry
redleft
的大小等于predh。因此,在该实施例中,bdry
redleft
的样本是在不进行平均的情况下从原始左边界样本中导出的,其中l
left
=1。图5中示出了8
×
4块的一个示例。
135.在该实施例中,当bdry
redtop
的大小=predw时,矩阵乘法不执行水平上采样。替代地,bdry
redtop
的样本是在不进行平均操作的情况下从原始上边界样本的每第l
top
个样本中导出的。在当前版本的vvc中,在当前块为4
×
h块时,其中h》4,bdry
redtop
的大小等于predw。因此,在该实施例中,bdry
redtop
的样本是在不进行平均的情况下从原始上边界样本中导出的,其中l
top
=1。
136.本公开的一些实施例使用简化的下采样方法,其降低了计算边界样本的平均值所涉及的计算复杂度。给定w
×
h块,在当前块是基于矩阵的帧内预测块时,经缩减边界bdry
red
用于矩阵乘法。bdry
red
样本是通过对来自原始边界样本的每第m个样本的n个(其中n》1)样本进行平均导出的。
137.数字n是矩阵乘法上采样因子,它由经缩减的经预测信号pred
red
的尺寸(predw
×
predh)和经缩减边界bdry
red
的大小(lenw lenh)确定,其中predw、predh、lenw和lenh由当前块的宽度w和高度h确定。针对左边界和上边界,数字n分别被进一步指定为n
left
和n
top
,其中:
138.·
如果predh》lenh,则矩阵乘法执行垂直上采样,在这种情况下,n
left
=predh/lenh
139.·
如果predw》lenw,则矩阵乘法执行水平上采样,在这种情况下,n
top
=predw/lenw
140.在当前版本的vvc中,当矩阵乘法执行上采样时,所支持的上采样因子n为2。
141.数字m是下采样因子,它由当前块的宽度w和高度h确定。针对左边界和上边界,数字m分别被进一步指定为m
left
和m
top
,其中:
142.·mleft
=m
top
,其中w等于h
143.·mleft
≠m
top
,其中w≠h
144.m的值可以是1、2、4或8。例如,可以根据以下规则选择m值:
145.·
如果w=4且h=4,则m
left
=mtop=1。
146.·
如果w≥4,则m
left
=h/predh,其中h=8、16、32或64,predh=8。
147.·
如果w》8且h》4,则m
top
=w/predw,其中w=8、16、32或64,predw=8
148.经缩减边界bdry
red
样本导出过程如下。位置(xcb,ycb)指定当前图片的当前编码块的左上样本的位置。上边界样本的位置为(xt,yt),其中xt=xcb

xcb w-1,yt=ycb-1。左边界样本的位置为(xl,yl),其中xl=xcb-1,yl=ycb

ycb h-1。经缩减边界bdry
red
的大小为lenw lenh,其中lenw指定来自原始上边界的经缩减边界样本的数量,lenh指定来自左边界的经缩减边界样本的数量。经缩减预测信号pred
red
的尺寸为predw
×
predh,其中predw指定pred
red
的宽度样本,predh指定pred
red
的高度。lenw、lenh、predw和predh的值可以如下确定:
149.·
如果w=h=4,则lenw=lenh=2,predw=predh=4。
150.·
否则,如果w≤8且h≤8,则lenw=lenh=4,predw=predh=4。
151.·
否则,如果w=4且h》8,则lenw=lenh=4,predw=4,predh=8。
152.·
否则,如果w》8且h=4,则lenw=lenh=4,predw=8,predh=4。
153.·
否则,lenw=lenh=4,predw=predh=8。
154.将下采样因子m
top
导出为等于(w/predw)。经缩减上边界bdry
redtop
样本是通过对来自原始上边界样本的每第m
top
个样本的两个样本(x0,y0)和(x1,y1)进行平均导出的。针对原始上边界样本的第m
top
个样本的位置(x0,y0)和(x1,y1)被指定为:
155.·
x0=xcb (2
×
n-1)
×mtop-1
156.·
x1=xcb (2
×
n)
×mtop-1,其中n的范围从1到lenw。
157.·
y0=y1=ycb-1。
158.将下采样因子m
left
导出为等于(h/predh)。经缩减左边界bdry
redleft
样本是通过对来自原始左边界样本的每第m
left
个样本的两个样本(x0,y0)和(x1,y1)进行平均导出的。针对原始左边界样本的第l
left
个样本的位置(x0,y0)和(x1,y1)被指定为:
159.·
x0=x1=xcb-1。
160.·
y0=ycb (2
×
n-1)
×mleft-1
161.·
y0=ycb (2
×
n)
×mleft-1,其中n的范围从1到lenh。
162.给定w
×
h块,其中w=4且h=4,经缩减边界bdry
red
的大小为lenw lenh,其中lenw=2且lenh=2。经缩减边界bdry
red
样本与当前版本的vvc相同地导出,如图4所示。
163.图17示出了示例性下采样方法,用于针对w
×
h块,导出用于mmu的输入的经缩减边界样本,其中w=32且h=16。经缩减边界bdry
red
的大小为lenw lenh,其中lenw=4且lenh=4。经缩减预测信号的尺寸为predw
×
predh,其中predw=8且predh=8。经缩减边界bdry
red
样本是通过对来自原始上边界样本的每第4个样本的2个样本进行平均和对来自原始左边
界的每第2个样本的2个样本进行平均导出的,如图17所示。
164.本文描述的下采样技术除了降低计算复杂度之外,还提供了将用于矩阵乘法和线性插值的经缩减边界样本与mmu的输出对齐的有用的技术。在一些实施例中,当mmu输出在水平方向上稀疏时,利用水平地集中在两个mmu输出样本之间的低通滤波器,从用于mmu输入的水平边界中导出至少一个样本,并且当mmu输出在垂直方向上稀疏时,利用垂直地集中在两个mmu输出样本之间的滤波器,从用于mmu输入的水平边界中导出至少一个样本。当mmu输出每第二个样本

x’到来时,即mmuout(1)

x’mmuout(2),在一个方向上集中在两个mmu输出样本之间的滤波器的一个示例是[1 0 1]/2。这给出了集中在mmuout(1)和mmuout(2)之间的mmu输入。这可以被实现为(

a’

b’ 1)》》1,其中

a’与mmuout(1)对齐,并且

b’与mmuout(2)对齐。另一示例是[1 2 1]/4,其可以被实现为(

a’ 2*

c’

b’)》》2,其中

a’与mmuout(1)对齐,

b’与mmuout(2)对齐,并且

c’与介于mmuout(1)和mmuout(2)之间的样本对齐。
[0165]
在其他实施例中,可以通过使得如下方式选择用于平均的边界样本来获得对齐:被平均的所选择边界样本以mmu的输出为中心。
[0166]
类似的技术可用于导出用于插值的经缩减边界样本。因此,在一些实施例中,从与至少一个mmu输出样本水平对齐的水平边界样本中导出至少一个样本。经导出的样本用于在垂直方向上对介于mmu输出样本与经导出样本之间的样本进行插值。在其他实施例中,从垂直边界样本中导出至少一个样本,并且该至少一个样本在垂直方向上与至少一个mmu输出样本对齐。经导出的样本用于在水平方向上对介于mmu输出样本与经导出样本之间的样本进行插值。一个示例是使用大小为n=1的滤波器来导出边界样本。这与以下情况相对应:当在垂直方向上对样本进行插值时,复制在水平方向上与mmu输出对齐的边界样本,当在水平方向上对样本进行插值时,复制在垂直方向上与mmu输出对齐的边界样本。另一示例是使用大小为n=3、滤波器系数为[1 2 1]/4的滤波器来生成对齐的边界样本。这可以被实现为(

a’ 2*

c’

b’)》》2,其中

c’是用于插值的与mmu输出样本对齐的边界样本,并且

a’和

b’是与边界样本

c’距离相等的相邻边界样本。
[0167]
上述导出用于矩阵乘法和线性插值的经缩减边界样本的方法可以单独使用或组合使用。图18示出了示例,其中不进行平均的简化下采样用于导出用于线性插值和矩阵乘法二者的经缩减边界样本。在该示例中,当前块的尺寸为w
×
h,其中w=h=16。中间经缩减边界bdry
redii
的尺寸为8
×
8,经缩减边界bdry
red
的尺寸为4
×
4。bdry
rediitop
和bdry
redtop
的边界样本是在不进行平均的情况下从原始边界样本bdry
top
中同时并行导出的。在其他实施例中,平均可用于导出中间经缩减边界bdry
redii
、经缩减边界bdry
red
或这二者
[0168]
如前所述,在执行线性插值时,用于经缩减边界bdry
red
的两步导出过程增加了编码器24和解码器44的时延。作为示例,假设我们希望处理16
×
16块并且bdrytop的前一些样本为:
[0169]
bdry
top
=510,511,510,510,

[0170]
在现有技术中,前两个样本510和511将使用加法和移位进行平均:(510 511 1)>>1=1022>>1=511,其中>>表示向右算术移位。同样地,接下来的两个样本510和510将被平均为(510 510 1)>>1=1021>>1=510。因此,bdry
rediitop
的前两个样本会变为:
[0171]
bdry
rediitop
=511,510,

[0172]
bdry
rediitop
的前两个样本然后用于使用(511 510 1)>>1=1022>>1=511来计算bdry
redtop
。因此,bdry
redtop
中的第一个样本会变为:
[0173]
bdry
redtop
=511,

[0174]
现在,由于时延,我们希望在一步中计算bdry
redtop
。然而,直接的实现是将bdry
top
中的前四个数与用于舍入的常量2相加,然后移位两步:
[0175]
one_step_bdry
redtop
=(510 511 510 510 2)>>2=2043>>2=510
[0176]
然而,该计算的结果one_step_bdry
redtop
=510并没有给出与上述计算bdry
redtop
=511的两步方法相同的结果。该错误将导致解码器中的漂移,这是不期望的。
[0177]
因此,在本公开的一个实施例中,bdry
redtop
根据以下公式计算:
[0178]
alt_one_step_bdryredtop=(510 511 510 510 3)>>2=2044>>2=511。
[0179]
与首先计算aa=(a b 1)>>1和bb=(b c 1)>>1然后是第二步骤aaa=(aa bb 1)>>1相比,该方法减少了时延。
[0180]
该方法的不同之处在于,总和是通过加3而不是加2来计算的,以产生与两步方法相同的行为。可以用简单的示例来证明一步方法的等效性。假设bdry
top
中的前四个边界样本分别表示为a、b、c和d,并且bdry
rediitop
中的前两个边界样本分别表示为aa和bb。在该示例中,aa=(a b 1)>>1且bb=(c d 1)>>1。bdry
redtop
中的第一个样本表示为aaa,被计算为(aa bb 1)>>2。如下面的表1所示,当a、b、c和d的值中仅一个值等于1且其他值等于0时,将值2与a、b、c和d的总和相加,即((a b c d 2)>>2)产生错误,而加3,即(a b c d 3)>>2产生正确的结果。
[0181]
表1:平均方法的比较
[0182]
[0183][0184]
在一个实施例中,用于插值的边界样本和mmu输出之间的未对齐以不同的方式解决。执行平均而不是取单个样本。然而,通过改变选择用于平均的样本,可以减少或消除未对齐。如图19所示,现有技术使用四抽头滤波器来获得一个样本进行垂直上采样。从图19中可以看出,被平均的样本的中心(示为线)与用于mmu输出的红色像素之间存在严重未对齐。在该示例中,如图20所示,可以通过选择不同的样本进行平均来减少未对齐。如图20所示,通过将被选择用于平均的边界样本向右移位一步,被平均的样本的中心(线)与mmu输出样本(示为红色像素)之间的未对齐被减少到边界样本宽度的一半。然而,在最后一个样本处,我们不能再使用四个样本。因此,在一个实施例中,这里,我们仅对两个样本进行平均。备选方案是对该最后一个位置使用先前的平均布置,这将导致该样本的较大未对齐。
[0185]
在另一实施例中,如图21所示,在平均中使用奇数个样本,以便消除经平均的样本的中心与mmu输出样本之间的未对齐。该实施例使用了以mmu输出为中心的三抽头滤波器(被示为括号)。
[0186]
用于mip边界样本下采样过程的当前vvc草案文本(参考jvet-n1001-v6)如下:
[0187]
8.4.5.2.3mip边界样本下采样过程
[0188]
该过程的输入是:
[0189]-变量ntbs,指定变换块大小,
[0190]-参考样本refs[x],其中x=0..ntbs-1,
[0191]-变量boundarysize,指定经下采样的边界大小,
[0192]-标志needupsbdry,指定是否需要中间边界样本进行上采样,
[0193]-变量upsbdrysize,指定用于上采样的边界大小。
[0194]
该过程的输出是经缩减边界样本reds[x](其中x=0..boundarysize-1)和上采样边界样本upsbdrys[x](其中x=0..upsbdrysize-1)。
[0195]
上采样边界样本upsbdrys[x]以如下方式导出,其中x=0..upsbdrysize-1:
[0196]-如果needupsbdry等于真(true)且upsbdrysize小于ntbs,则以下适用:
[0197]
udwn=ntbs/upsbdrysize
ꢀꢀꢀ
(8-74)
[0198][0199]-否则(upsbdrysize等于ntbs),将upsbdrys[x]设置为等于refs[x]。
[0200]
经缩减边界样本reds[x]以如下方式导出,其中x=0..boundarysize-1:
[0201]-如果boundarysize小于upsbdrysize,则以下适用:
[0202]
bdwn=upsbdrysize/boundarysize
ꢀꢀꢀ
(8-76)
[0203][0204]-否则(boundarysize等于upsbdrysize),将reds[x]设置为等于upsbdrys[x]。
[0205]
基于当前草案文本的以下修改文本实现了本公开的实施例。删除的文本用删除线示出,添加的文本用粗体字指示。
[0206]
8.4.5.2.3mip边界样本下采样过程
[0207]
该过程的输入是:
[0208]-变量ntbs,指定变换块大小,
[0209]-参考样本refs[x],其中x=0..ntbs-1,
[0210]-变量boundarysize,指定经下采样的边界大小,
[0211]-标志needupsbdry,指定是否需要中间边界样本进行上采样,
[0212]-变量upsbdrysize,指定用于上采样的边界大小。
[0213]
该过程的输出是经缩减边界样本reds[x](其中x=0..boundarysize-1)和上采样边界样本upsbdrys[x](其中x=0..upsbdrysize-1)。
[0214]
上采样边界样本upsbdrys[x]以如下方式导出,其中x=0..upsbdrysize-1:
[0215]-如果needupsbdry等于真(true)且upsbdrysize小于ntbs,则以下适用:
[0216]
udwn=ntbs/upsbdrysize
ꢀꢀꢀ
(8-74)
[0217][0218]
upsbdrys[x]=refs[x*udwn udwn

1]
ꢀꢀꢀ
(8-75)
[0219]-否则(upsbdrysize等于ntbs),将upsbdrys[x]设置为等于refs[x]。
[0220]
经缩减边界样本reds[x]以如下方式导出,其中x=0..boundarysize-1:
[0221][0222]-如果boundarysize小于ntbs,则以下适用:
[0223]
bdwn=ntbs/boundarysize
ꢀꢀꢀ
(8-76)
[0224]
bdwnhalf=bdwn/2
ꢀꢀꢀ
(8-77)
[0225]
reds[x]=(refs[x*bdwn bdwnhalf

1] refs[x*bdwn bdwn

1] 1)》》1(8-78)
[0226]-否则(boundarysize等于ntbs),将reds[x]设置为等于refs[x]。
[0227]
图22示出了由编码器24或解码器44实现的mip的示例性方法200。当mip应用于当前块时,编码器24/解码器44对图像块的输入边界样本的集合进行下采样,以生成经缩减边界样本的集合,经缩减边界样本在至少一个方向上与mmu的相应输出对齐(框210)。编码器24/解码器44然后使用经缩减边界样本生成当前块的预测块(框220)。
[0228]
在方法200的一些实施例中,对当前块的输入边界样本的集合进行下采样包括:针对经缩减边界样本的集合中的一个或多个经缩减边界样本中的每个经缩减边界样本,使用以乘法单元64的相应输出为中心的滤波器,对输入边界样本进行下采样,以获得经缩减边界样本。
[0229]
在方法200的一些实施例中,对当前块的输入边界样本的集合进行下采样包括:针对经缩减边界样本的集合中的一个或多个经缩减边界样本中的每个经缩减边界样本,对以乘法单元64的相应输出为中心的多个输入边界样本进行平均,以获得经缩减边界样本。
[0230]
在方法200的一些实施例中,对当前块的输入边界样本的集合进行下采样包括:针对经缩减边界样本的集合中的一个或多个经缩减边界样本中的每个经缩减边界样本,对来自每m个输入边界样本的n个输入边界样本进行平均,以获得经缩减边界样本,其中m》n》1且m是下采样因子。
[0231]
在方法200的一些实施例中,对当前块的输入边界样本的集合进行下采样包括:针对经缩减边界样本的集合中的端样本,从输入边界样本的集合中选择输入边界样本中在水平方向或垂直方向上与乘法单元64的端输出对齐的一个输入边界样本。
[0232]
在方法200的一些实施例中,对当前块的输入边界样本的集合进行下采样包括:针对经缩减边界样本的集合中的一个或多个经缩减边界样本中的每个经缩减边界样本,选择输入边界样本中与乘法单元64的输出中的相应一个输出对齐的一个输入边界样本作为经缩减边界样本。
[0233]
在方法200的一些实施例中,使用经缩减边界样本生成当前块的预测块包括:将经缩减边界样本输入乘法单元64,以及通过对输入乘法单元64的经缩减边界样本进行乘法,来生成包括预测样本的经缩减集合的经缩减预测块。
[0234]
在方法200的一些实施例中,使用经缩减边界样本生成当前块的预测块还包括:通过使用预测样本的经缩减集合进行线性插值,来生成预测块的剩余样本。
[0235]
在方法200的一些实施例中,使用经缩减边界样本生成当前块的预测块还包括:生成插值边界样本的集合,以及通过使用插值边界样本的集合中的一个或多个边界样本和预测样本的经缩减集合进行线性插值,来生成剩余预测样本中的一个或多个。
[0236]
在方法200的一些实施例中,生成插值边界样本的集合包括:对当前块的输入边界样本的集合进行下采样,以获得插值边界样本的集合。
[0237]
在方法200的一些实施例中,对当前块的输入边界样本的集合进行下采样,以获得插值边界样本的集合包括:针对插值边界样本的集合中的一个或多个边界样本中的每个边界样本,对以乘法单元64的相应输出为中心的奇数个输入边界样本进行平均,以获得边界样本。
[0238]
在方法200的一些实施例中,对当前块的输入边界样本的集合进行下采样,以获得插值边界样本的集合包括:针对插值边界样本的集合中的一个或多个边界样本中的每个边界样本,从输入边界样本的集合中选择输入边界样本中与乘法单元64的输出之一对齐的一个输入边界样本。
[0239]
在方法200的一些实施例中,对图像中的当前块的输入边界样本的集合进行下采样包括:使用单步导出过程将输入边界样本的集合中的边界样本的数量减少到原数量的1/2n,以获得边界样本的经缩减集合。
[0240]
在方法200的一些实施例中,单步导出过程包括:针对经缩减边界样本的经缩减集合中的每个经缩减边界样本,将2n个边界样本的值加上2
n-1
以获得总和,以及将总和右移n位。
[0241]
在方法200的一些实施例中,使用经缩减边界样本生成当前块的预测块包括:生成包括预测样本的经缩减集合的经缩减预测块,以及通过使用经缩减样本的集合中的边界样本中的相应边界样本进行线性插值,来生成预测块的一个或多个剩余预测样本。
[0242]
在方法200的一些实施例中,经缩减边界样本包括在垂直方向上与乘法单元64的输出对齐的经缩减上边界样本。
[0243]
在方法200的一些实施例中,经缩减边界样本包括在水平方向上与乘法单元64的输出对齐的经缩减左边界样本。
[0244]
方法200的一些实施例还包括通过从当前块中减去预测块来生成残差块,并且对残差块进行编码以用于传输到目的设备。
[0245]
方法200的一些实施例还包括对图像信号进行解码,以获得当前块的残差块,并且将预测块与残差块组合以生成当前块。
[0246]
图23示出了由编码器24或解码器44实现的mip的示例性方法300。当mip应用于当前块时,编码器24/解码器44在不进行平均的情况下对图像块的输入边界样本的集合进行下采样,以生成经缩减边界样本的集合(框310)。编码器24/解码器44然后使用经缩减边界样本来生成当前块的预测块(框320)。
[0247]
方法300的一些实施例还包括:在不进行平均的情况下对图像中的当前块的输入边界样本的集合进行下采样,以生成经缩减边界样本的集合,以及使用经缩减边界样本生成当前块的预测块。
[0248]
在方法300的一些实施例中,对当前块的输入边界样本的集合进行下采样包括:针对经缩减边界样本的集合中的一个或多个经缩减边界样本中的每个经缩减边界样本,选择输入边界样本中与乘法单元64的输出中的相应输出对齐的一个输入边界样本作为经缩减边界样本。
[0249]
在方法300的一些实施例中,使用经缩减边界样本生成当前块的预测块包括:将经缩减边界样本输入乘法单元64,以及通过对输入乘法单元64的经缩减边界单元进行乘法,来生成包括预测样本的经缩减集合的经缩减预测块。
[0250]
在方法300的一些实施例中,使用经缩减边界样本生成当前块的预测块还包括:通过使用预测样本的经缩减集合进行线性插值来生成预测块的剩余样本。
[0251]
在方法300的一些实施例中,使用经缩减边界样本生成当前块的预测块还包括:生成插值边界样本的集合,以及通过使用插值边界样本的集合中的一个或多个边界样本和预测样本的经缩减集合进行线性插值,来生成剩余预测样本中的一个或多个。
[0252]
在方法300的一些实施例中,生成插值边界样本的集合包括:对当前块的输入边界样本的集合进行下采样,以获得插值边界样本的集合。
[0253]
在方法300的一些实施例中,对当前块的输入边界样本的集合进行下采样,以获得插值边界样本的集合包括:针对插值边界样本的集合中的一个或多个边界样本中的每个边界样本,从输入边界样本的集合中选择输入边界样本中与乘法单元64的输出之一对齐的一个输入边界样本。
[0254]
在方法300的一些实施例中,对图像中的当前块的输入边界样本的集合进行下采样包括:使用单步导出过程将输入边界样本的集合中的边界样本的数量减少到原数量的1/2n,以获得边界样本的经缩减集合。
[0255]
在方法300的一些实施例中,单步导出过程包括:针对经缩减边界样本的经缩减集合中的每个经缩减边界样本,将2n个边界样本的值加上2
n-1
以获得总和,以及将总和右移n位。
[0256]
在方法300的一些实施例中,使用经缩减边界样本生成当前块的预测块包括:生成包括预测样本的经缩减集合的经缩减预测块,以及通过使用经缩减边界样本的集合中的边界样本中的相应边界样本进行线性插值,来生成预测块中的一个或多个剩余预测样本。
[0257]
在方法300的一些实施例中,经缩减边界样本包括在垂直方向上与乘法单元64的输出对齐的经缩减上边界样本。
[0258]
在方法300的一些实施例中,经缩减边界样本包括在水平方向上与乘法单元64的输出对齐的经缩减左边界样本。
[0259]
方法300的一些实施例还包括通过从当前块中减去预测块来生成残差块,以及对残差块进行编码以用于传输到目的设备。
[0260]
方法300的一些实施例还包括对图像信号进行解码以获得当前块的残差块,以及将预测块与残差块组合,以生成当前块。
[0261]
图24示出了由编码器24或解码器44实现的mip的示例性方法400。编码器24/解码器44对输入边界样本的集合进行下采样,以生成经缩减边界样本的集合(框410)并且通过在乘法单元64中对经缩减边界样本进行乘法,来生成经缩减预测块(框420)。经缩减预测块包括预测块中的预测样本的子集。编码器24/解码器44还生成与乘法单元64的相应输出对
齐的插值边界样本的集合(框430),以及通过使用插值边界样本的集合中的一个或多个边界样本和预测样本的经缩减集合进行线性插值,来生成预测块的一个或多个剩余预测样本(框440)。
[0262]
在方法400的一些实施例中,对当前块的输入边界样本的集合进行下采样包括:针对经缩减边界样本的集合中的一个或多个经缩减边界样本中的每个经缩减边界样本,使用以乘法单元64的相应输出为中心的滤波器对输入边界样本进行下采样,以获得经缩减边界样本。
[0263]
在方法400的一些实施例中,对当前块的输入边界样本的集合进行下采样包括:针对经缩减边界样本的集合中的一个或多个经缩减边界样本中的每个经缩减边界样本,对以乘法单元64的相应输出为中心的多个输入边界样本进行平均,以获得经缩减边界样本。
[0264]
在方法400的一些实施例中,对当前块的输入边界样本的集合进行下采样包括:针对经缩减边界样本的集合中的一个或多个经缩减边界样本中的每个经缩减边界样本,对来自每m个输入边界样本的n个输入边界样本进行平均以获得经缩减边界样本,其中m》n》1且m是下采样因子。
[0265]
在方法400的一些实施例中,对当前块的输入边界样本的集合进行下采样包括:针对经缩减边界样本的集合中的端样本,从输入边界样本的集合中选择输入边界样本中在水平方向或垂直方向上与乘法单元64的端输出对齐的一个输入边界样本。
[0266]
在方法400的一些实施例中,对当前块的输入边界样本的集合进行下采样包括:针对经缩减边界样本的集合中的一个或多个经缩减边界样本中的每个经缩减边界样本,选择输入边界样本中与乘法单元64的输出中的相应一个输出对齐的一个输入边界样本作为经缩减边界样本。
[0267]
在方法400的一些实施例中,生成插值边界样本的集合包括:对当前块的输入边界样本的集合进行下采样,以获得插值边界样本的集合。
[0268]
在方法400的一些实施例中,对当前块的输入边界样本的集合进行下采样,以获得插值边界样本的集合包括:针对插值边界样本的集合中的一个或多个边界样本中的每个边界样本,对以乘法单元64的相应输出为中心的奇数个输入边界样本进行平均,以获得边界样本。
[0269]
在方法400的一些实施例中,对当前块的输入边界样本的集合进行下采样,以获得插值边界样本的集合包括:针对插值边界样本的集合中的一个或多个边界样本中的每个边界样本,从输入边界样本的集合中选择输入边界样本中与乘法单元64的输出之一对齐的一个输入边界样本。
[0270]
在方法400的一些实施例中,对图像中的当前块的输入边界样本的集合进行下采样包括:使用单步导出过程将输入边界样本的集合中的边界样本的数量减少到原数量的1/2n,以获得边界样本的经缩减集合。
[0271]
在方法400的一些实施例中,单步导出过程包括:针对经缩减边界样本的集合中的每个经缩减边界样本,将2n个边界样本的值加上2
n-1
以获得总和,以及将总和右移n位。
[0272]
方法400的一些实施例还包括:通过从当前块中减去预测块,来生成残差块;以及
[0273]
对残差块进行编码,以用于传输到目的设备。
[0274]
在方法400的一些实施例中,插值边界样本包括在垂直方向上与乘法单元64的输
出对齐的经缩减上边界样本。
[0275]
在方法400的一些实施例中,插值边界样本包括在水平方向上与乘法单元64的输出对齐的经缩减左边界样本。
[0276]
方法400的一些实施例还包括对图像信号进行解码,以获得当前块的残差块,以及将预测块与残差块组合,以生成当前块。
[0277]
图25示出了示例性mip单元60,其可以分别用作编码器24中的预测单元28或解码器44中的预测单元54。mip单元60包括下采样单元62、mmu 64和插值单元66。mmu 64和插值单元66在本文中统称为块预测单元68。下采样单元62被配置为对输入边界样本进行下采样以导出用于矩阵乘法、线性插值或二者的经缩减边界样本。在一个实施例中,执行下采样使得导出的边界样本在至少一个方向上与mmu 64的输出对齐。在另一实施例中,在不进行平均的情况下执行用于矩阵乘法、线性插值或二者的下采样。mmu 64被配置为将经缩减边界bdry
red
乘以矩阵向量,以导出预测块pred或经缩减预测块pred
red
。在mmu 64的输出包括经缩减预测块pred
red
的情况下,插值单元666被配置为执行线性插值以导出pred中的剩余预测样本。
[0278]
图26示出了编码设备500,其被配置为执行本文描述的编码、解码或二者。编码设备500包括接口电路510、处理电路520和存储器530。接口电路510实现视频信号和图像信号的输入和/或输出。输入信号可以包括经编码或未经编码的视频信号或图像信号。类似地,输出信号可以包括未经编码或经编码的视频信号或图像信号。处理电路520可以包括一个或多个微处理器、硬件、固件或其组合,其被配置为使用如本文所述的mip来执行视频编码和/或解码以从输入信号产生输出信号。
[0279]
在示例性实施例中,处理电路530被配置为对输入边界样本的集合进行下采样,以生成经缩减边界样本的集合,以及通过在乘法单元中对经缩减边界样本进行乘法,来生成经缩减预测块。经缩减预测块包括预测块中的预测样本的子集。处理电路530还被配置为生成与乘法单元的相应输出对齐的插值边界样本的集合。处理电路530还被配置为通过使用插值边界样本的集合中的一个或多个边界样本和预测样本的经缩减集合进行线性插值,来生成预测块的一个或多个剩余预测样本。
[0280]
存储器530包括易失性存储器和非易失性存储器二者,用于存储处理电路530进行操作所需的计算机程序代码和数据。存储器530可以包括用于存储数据的任何有形的非暂时性计算机可读存储介质,包括电、磁、光、电磁或半导体数据存储设备。存储器530存储包括可执行指令的计算机程序540,所述可执行指令配置处理电路530以实现本文所述的方法100~400。在这方面,计算机程序可以包括与上述装置或单元相对应的一个或多个代码模块。通常,计算机程序指令和配置信息被存储在非易失性存储器中,例如rom、可擦除可编程只读存储器(eprom)或闪存。在操作期间生成的临时数据可以被存储在易失性存储器中,例如随机存取存储器(ram)。在一些实施例中,用于配置本文所述的处理电路530的计算机程序540可以被存储在可拆卸存储器中,例如便携式光盘、便携式数字视频盘或其他可拆卸介质。计算机程序540还可以体现在诸如电信号、光信号、无线电信号或计算机可读存储介质之类的载体中。
[0281]
本领域技术人员还将理解,本文的实施例还包括对应的计算机程序。计算机程序包括指令,所述指令当在装置的至少一个处理器上执行时使装置执行上述任何相应处理。
在这方面,计算机程序可以包括与上述装置或单元相对应的一个或多个代码模块。
[0282]
在示例性实施例中,计算机程序包括可执行指令,所述可执行指令在由编码器24/解码器44中的处理电路执行时使编码器24/解码器44对输入边界样本的集合进行下采样,以生成经缩减边界样本的集合,以及通过在乘法单元中对经缩减边界样本进行乘法,来生成经缩减预测块。经缩减预测块包括预测块中的预测样本的子集。该指令还使编码器24/解码器44生成与乘法单元的相应输出对齐的插值边界样本的集合。该指令还使编码器24/解码器44通过使用插值边界样本的集合中的一个或多个边界样本和预测样本的经缩减集合进行线性插值,来生成预测块的一个或多个剩余预测样本。
[0283]
实施例还包括包含这样的计算机程序的载体。该载体可以包括电信号、光信号、无线电信号或计算机可读存储介质中的一种。
[0284]
在这方面,本文的实施例还包括非暂时性计算机可读(存储或记录)介质上存储的计算机程序产品,且该计算机程序产品包括指令,该指令在由装置的处理器执行时使装置如上所述地执行。
[0285]
实施例还包括计算机程序产品,其包括程序代码部分,当由计算设备执行所述计算机程序产品时,所述程序代码部分执行本文中任何实施例的步骤。该计算机程序产品可以存储在计算机可读记录介质上。
[0286]
本公开的实施例提供用于在不牺牲编码效率的情况下降低mip的计算复杂度和时延的技术。与现有技术相比,本文描述的技术对编码性能的影响可忽略不计。当使用mip时,实施例还减少了边界样本与mmu输出之间的未对齐。
再多了解一些

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

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

相关文献