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

关于子块变换模式的分割的制作方法

2021-10-30 03:08:00 来源:中国专利 TAG:专利申请 提交 公开 专利法 内容

关于子块变换模式的分割
1.根据适用的专利法和/或巴黎公约的规则,本技术旨在及时要求2019年3月13日提交的国际专利申请pct/cn2019/077942、2019年4月12日提交的国际专利申请pct/cn2019/082428的优先权和权益。前述申请的全部公开内容通过引用并入作为本技术的公开内容的一部分。
技术领域
2.本专利文档涉及视频编解码技术、设备和系统。


背景技术:

3.尽管在视频压缩方面取得了进步,数字视频仍然占互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计对数字视频使用的带宽需求将继续增长。


技术实现要素:

4.公开了在数字视频的编码和解码期间使用基于子块的变换的各种技术。
5.在一个示例方面,公开了一种视频处理方法,包括:将子块残差编解码方案应用于当前视频块,其中当前视频块的残差被划分成多个子块,每个子块的尺寸为m*n,基于与多个子块中的每一个相关联的特性来确定具有非零系数的至少一个子块;基于推导的具有非零系数的至少一个子块,对当前视频块的残差进行编解码。
6.在另一个示例方面,公开了一种视频处理方法,包括:以特定划分图案将当前视频块的残差划分成n个子块;以及执行当前视频块和当前视频块的比特流表示之间的转换,其中n个子块包括采用在其中残差不被变换的变换跳过模式的k1个子块、对残差采用变换的k2个子块和具有零系数的n

k1

k2个子块,其中n、k1和k2是整数,并且k1>=0且k2>=0。
7.在又一个示例方面,公开了一种视频处理方法,包括:响应于变换跳过标志,确定变换跳过模式是否可应用于当前视频块的残差,其中变换跳过标志是隐式地确定的而不是信令通知的;以及基于该确定执行当前视频块和当前视频块的比特流表示之间的转换。
8.在又一示例方面,公开了一种视频处理方法,包括:通过使用第一变换矩阵来变换以子块变换模式编解码的当前视频块的残差,以生成一个或多个变换后的子块,其中当前视频块的残差被划分成多个子块,并且子块的子集具有非零系数;通过使用第二变换矩阵来变换具有非零系数的至少一个变换后的子块的至少一个区域,其中该至少一个区域位于该至少一个变换后的子块的特定位置,并且该第二变换矩阵不同于该第一变换矩阵;以及基于该变换执行当前视频块和当前视频块的比特流表示之间的转换。
9.在另一示例方面,公开了一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器运行时,使得处理器实施如上所述的方法。
10.在又一示例方面,公开了一种其上存储有程序代码的非暂时性计算机可读介质,该程序代码在被运行时使得处理器实施如上所述的方法。
11.在又一代表性方面,上述方法以处理器可运行代码的形式实现,并存储在计算机可读程序介质中。
12.在又一代表性方面,公开了一种被配置或可操作来执行上述方法的设备。该设备可以包括被编程来实施上述方法的处理器。
13.在再一代表性方面,视频解码器装置可以实施如本文所述的方法。
14.在附图、说明书和权利要求书中更详细地描述了所公开的技术的上述和其他方面和特征。
附图说明
15.图1示出了子块变换(sub

block transform,sbt)模式sbt

v和sbt

h的示例说明。
16.图2示出了子块变换模式sbt

q的示例说明。
17.图3示出了划分图案的示例。
18.图4是用于实施本文档中描述的可视媒体解码或可视媒体编码技术的硬件平台的示例的框图。
19.图5是视频处理的示例方法的流程图。
20.图6示出了在当前视频块转换期间使用的三角形分割的示例。
21.图7是视频处理的示例方法的流程图。
22.图8是视频处理的示例方法的流程图。
23.图9是视频处理的示例方法的流程图。
具体实施方式
24.由于对更高分辨率视频的需求日益增长,视频编解码方法和技术在现代技术中无处不在。视频编解码器典型地包括压缩或解压缩数字视频的电子电路或软件,并且正在不断改进以提供更高的编解码效率。视频编解码器将未压缩的视频转换为压缩格式,反之亦然。视频质量、用于表示视频的数据量(由比特率决定)、编码和解码算法的复杂性、对数据丢失和错误的敏感性、编辑的简易性、随机访问和端到端延迟(时延)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如高效视频编解码(high efficiency video coding,hevc)标准(也称为h.265或mpeg

h第2部分)、待定案的多功能视频编解码(versatile video coding,vvc)标准或其他当前和/或未来的视频编解码标准。
25.所公开的技术的实施例可以应用于现有的视频编解码标准(例如,hevc、h.265)和未来的标准,以提高运行时性能。在本文档中使用章节标题来增进描述的可读性,并且不以任何方式将讨论或实施例(和/或实施方式)仅限制于各个章节。
26.1.简要总结
27.本发明涉及视频编解码技术。具体地,它涉及视频编解码中的子块变换,尤其是对于屏幕内容编解码。它可以应用于现有的视频编解码标准(如hevc)、或待定案的标准(多功能视频编解码)。它也可以应用于未来的视频编解码标准或视频编解码器。
28.2.初步讨论
29.视频编解码标准主要是通过熟知的itu

t和iso/iec标准的发展而演变的。itu

t制定了h.261和h.263,iso/iec制定了mpeg

1和mpeg

4可视化,并且这两个组织联合制定了
h.262/mpeg

2视频和h.264/mpeg

4高级视频编解码(advanced video coding,avc)和h.265/hevc标准。自h.262以来,视频编解码标准基于混合视频编解码结构,其中利用时域预测加变换编解码。为了探索hevc以外的未来视频编解码技术,vceg和mpeg于2015年联合成立了联合视频探索组(joint video exploration team,jvet)。此后,jvet采用了许多新方法,并将其放入名为联合探索模型(joint exploration model,jem)的参考软件中。2018年4月,vceg(q6/16)和iso/iec jtc1 sc29/wg11(mpeg)之间的联合视频专家组(jvet)成立,以致力于vvc标准,目标是与hevc相比比特率降低50%。
30.2.1多种变换选择(multiple transform selection,mts)
31.除了已经在hevc中使用的dct

ii之外,多种变换选择(mts)方案被用于帧间和帧内编解码块两者的残差编解码。它使用从dct8/dst7中选择的多个变换。新引入的变换矩阵是dst

vii和dct

viii。表2

1示出了选择的dst/dct的基本功能。
32.表2
‑1‑
针对n

点输入的dct

ii/viii和dstvii的变换基函数
[0033][0034]
为了保持变换矩阵的正交性,变换矩阵比hevc中的变换矩阵被更精确地量化。为了将变换系数的中间值保持在16比特范围内,在水平变换之后和垂直变换之后,所有系数都具有10比特。
[0035]
为了控制mts方案,在sps级别分别为帧内和帧间指定单独的使能标志。当在sps启用mts时,信令通知cu级别标志,以指示是否应用mts。这里,mts仅应用于亮度。当满足以下条件时,信令通知mts cu级别标志。
[0036]

宽度和高度都小于或等于32
[0037]

cbf标志等于1
[0038]
如果mts cu标志等于零,则在两个方向上应用dct2。然而,如果mts cu标志等于1,则另外信令通知其他两个标志,以分别指示水平和垂直方向的变换类型。变换和信令映射表如表2

2所示。在变换矩阵精度方面,使用8比特主变换核。因此,在hevc中使用的所有变换核保持不变,包括4

点dct

2和dst

7,8

点、16

点和32

点dct

2。此外,包括64

点dct

2,4

点dct

8,8

点、16

点、32

点dst

7和dct

8的其他变换核使用8比特主变换核。
[0039]
表2
‑2‑
变换和信令映射表
[0040][0041]
如在hevc中,块的残差可以用变换跳过模式编解码。为避免语法编解码的冗余,当cu级别的mts_cu_flag不等于0时,不信令通知变换跳过标志。当块宽度和高度都等于或小于4时,启用变换跳过。
[0042]
2.2jvet

m0140中的子块变换(subblock transform,sbt)
[0043]
对于cu_cbf等于1的帧间预测cu,可以信令通知cu_sbt_flag来指示是解码整个残差块还是解码残差块的子部分。在前一种情况下,将进一步解析帧间mts信息,以确定cu的变换类型。在后一种情况下,残差块的一部分用推断的自适应变换编解码,残差块的另一部分被清零。sbt不应用于组合帧间

帧内模式,因为几乎没有编解码增益可以获得。
[0044]
2.2.1子块tu平铺(tiling)
[0045]
当sbt用于帧间cu时,从比特流进一步解码sbt类型和sbt位置信息。如图1所示,有两种sbt类型和两种sbt位置。对于sbt

v(或sbt

h),tu宽度(或高度)可以等于cu宽度(或高度)的一半或cu宽度(或高度)的1/4,由另一个标志信令通知,引起2:2划分或1:3/3:1划分。2:2划分类似于二叉树(binary tree,bt)划分,而1:3/3:1划分类似于非对称二叉树(asymmetric binary tree,abt)划分。如果cu的一侧的亮度样点为8,则不允许沿该侧进行1:3/3:1划分。因此,一个cu最多有8种sbt模式。
[0046]
四叉树(quad

treeqt)划分进一步用于将一个cu划分为4个子块,并且还有一个子块有残差,如图2所示。这种sbt类型被称为sbt

q。
[0047]
sbt

v、sbt

h和sbt

q被允许用于宽度和高度都不大于maxsbtsize的cu。maxsbtsize以sps信令通知。对于hd和4k序列,编码器将maxsbtsize设置为64;对于其他较小的分辨率序列,maxsbtsize设置为32。
[0048]
2.2.2子块的变换类型
[0049]
在sbt

v和sbt

h中,位置相关变换应用于亮度变换块(色度tb始终使用dct

2)。sbt

h和sbt

v的两个位置与不同的核变换相关联。更具体地,每个sbt位置的水平和垂直变换如图1所规定。例如,sbt

v位置0的水平和垂直变换分别是dct

8和dst

7。当残差tu的一侧大于32时,相应的变换被设置为dct

2。因此,子块变换联合指定了tu平铺、cbf以及残差块的水平和垂直变换,对于块的主要残差在块的一侧的情况,这可以被认为是语法快捷方式。
[0050]
图1是子块变换模式sbt

v和sbt

h的示例说明
[0051]
图2是子块变换模式sbt

q的示例说明。
[0052]
2.3vvc中的子块变换
[0053]
对于cu_cbf等于1的帧间预测cu,即具有非零残差的cu,可以信令通知cu_sbt_flag以指示解码整个残差块还是解码残差块的子部分。在前一种情况下,将进一步解析帧间mts信息,以确定cu的变换类型。在后一种情况下,残差块的一部分用推断的自适应变换编解码,残差块的另一部分被清零。sbt不应用于组合帧间

帧内模式,因为几乎没有编解码增益可以获得。
[0054]
当sbt用于帧间cu时,从比特流进一步解码sbt类型和sbt位置信息。对于sbt

v(或sbt

h),tu宽度(或高度)可以等于cu宽度(或高度)的一半或cu宽度(或高度)的1/4,由另一个标志信令通知,引起2:2划分或1:3/3:1划分。2:2划分类似于二叉树(bt)划分,而1:3/3:1划分类似于非对称二叉树(abt)划分。如果cu的一侧的亮度样点为8,则不允许沿该侧进行1:3/3:1划分。因此,一个cu最多有8种sbt模式。
[0055]
在sbt

v和sbt

h中,位置相关变换应用于亮度变换块(色度tb始终使用dct

2)。sbt

h和sbt

v的两个位置与不同的核变换相关联。更具体地,每个sbt位置的水平和垂直变换如图1所规定。例如,sbt

v位置0的水平和垂直变换分别是dct

8和dst

7。当残差tu的一侧大于32时,相应的变换被设置为dct

2。因此,子块变换联合指定了tu平铺、cbf以及残差块的水平和垂直变换,对于块的主要残差在块的一侧的情况,这可以被认为是语法快捷方式。
[0056]
7.3.4.6编解码单元语法
[0057]
[0058]
[0059][0060]
7.3.4.10变换树语法
[0061][0062]
7.3.4.11变换单元语法
[0063]
[0064][0065]
3.由所公开的解决方案解决的示例问题
[0066]
sbt有以下问题:
[0067]
1)在变换跳过模式中,sbt不起作用。
[0068]
2)在sbt中,划分方向、划分位置和cu的哪个部分具有非零系数被显示地信令通知给解码器,这可能消耗许多比特。
[0069]
3)ibc模式或ciip(组合帧內

帧间预测)模式不允许sbt。
[0070]
4.技术和实施例的示例
[0071]
为了解决上述问题,本文档介绍了若干种方法。假设块的宽度和高度分别是w和h。
[0072]
以下详细的发明应被认为是用以解释一般概念的示例。这些发明不应狭义地解释。此外,这些发明可以以任何方式组合。
[0073]
1.以变换跳跃模式编解码的块的残差可以被划分成n(n>1)个子块,并且n个子块中只有k(0≤k≤n)个子块具有非零系数。
[0074]
a.在一个示例中,块可以被划分成尺寸为w/2*h或w*h/2的2个子块,如图3a和d所示。
[0075]
b.在一个示例中,块可以被划分成尺寸为w/4*h或3w/4*h的2个子块,如图3b和c所示。
[0076]
c.在一个示例中,块可以被划分成尺寸为w*h/4或w*3h/4的2个子块,如图3e和f所示。
[0077]
d.在一个示例中,块可以被划分成尺寸为w*h/4、w*2h/4和w*h/4的3个子块,如图3h所示。
[0078]
e.在一个示例中,块可以被划分成尺寸为w/4*h、2w/4*h和w/4*h的3个子块,如图3g所示。
[0079]
f.在一个示例中,块可以被划分成尺寸为w/2*h/2的4个子块,如图3i所示。
[0080]
g.在一个示例中,块可以被划分成尺寸为w*h/4的4个子块,如图3j所示。
[0081]
h.在一个示例中,块可以被划分成尺寸为w/4*h的4个子块,如图3k所示。
[0082]
图3示出了划分图案的示例。
[0083]
2.可以以vps/sps/pps/片组头/条带头/cu/块信令通知标志,以指示在变换跳过模式中是否采用sbt。
[0084]
a.在一个示例中,cu/块级sbt标志可以用cabac引擎编解码。
[0085]
i.在一个示例中,邻近或/和非相邻块的sbt标志可以用于推导在cabac中使用的上下文。
[0086]
ii.可替代地,在sbt标志的cabac编解码中可以使用一个固定的上下文。
[0087]
3.使用哪个划分图案可以显示地信令通知给解码器。
[0088]
a.可以信令通知第一语法元素以指示块是被划分成2个子块、3个子块还是4个子块等。
[0089]
i.如果块可以被划分成2个子块、3个子块或4个子块,则第一语法元素可能需要2比特。
[0090]
ii.可替代地,如果块只能划分成2个子块或4个子块,则只需要1比特。
[0091]
iii.可替代地,如果块只能划分成2个子块或3个子块,则只需要1比特。
[0092]
iv.可替代地,如果块只能划分成3个子块或4个子块,则只需要1比特。
[0093]
v.如果块可以被划分成2、3、

、n个子块,则可能需要更多的比特。
[0094]
b.可以信令通知第二语法元素以指示是垂直划分还是水平划分块。
[0095]
i.某些图案可能不需要这样的语法元素,例如,如果块被划分成尺寸为w/2*h/2的4个子块,则。
[0096]
c.如果块被划分成2个子块,则可以信令通知第三语法元素以指示划分位置。
[0097]
i.如果当前块只能被划分成尺寸相同的两个子块,则不需要第三语法元素。
[0098]
4.在变换跳过模式中哪些子块具有非零系数可以被显示地信令通知或者对于一些划分图案是预定义的。
[0099]
a.在一个示例中,显示地信令通知索引以指示哪些子块具有非零系数。
[0100]
b.在一个示例中,显示地信令通知索引以指示哪些子块具有零系数。
[0101]
c.在一个示例中,如果块被划分成尺寸为w/4*h或3w/4*h的2个子块,则可以不信令通知索引,并且只有w/4*h的子块可能具有非零系数。
[0102]
i.可替代地,只有3w/4*h的子块可能具有非零系数。
[0103]
d.在一个示例中,如果块被划分成尺寸为w*h/4或w*3h/4的2个子块,则可以不信令通知索引,并且只有w*h/4的子块可能具有非零系数。
[0104]
i.可替代地,只有w*3h/4子块可能具有非零系数。
[0105]
e.在一个示例中,如果块被划分成尺寸为w/4*h、2w/4*h和w/4*h的3个子块,则可以不信令通知索引,并且只有2w/4*h的子块可能具有非零系数。
[0106]
f.在一个示例中,如果块被划分成尺寸为w*h/4、w*2h/4和w*h/4的3个子块,则可以不信令通知索引,并且只有w*2h/4子块可能具有非零系数。
[0107]
5.在变换跳过模式中,对于sbt或/和sbt的一些或所有划分图案,可以隐式地推导哪些子块具有非零系数。
[0108]
a.在一个示例中,使用每个子块的预测样点为每个子块计算空域梯度,并且具有最高绝对空域梯度和(sum of absolute spatial gradient,sasg)的k(k≥1)个子块可能具有非零系数。
[0109]
b.在一个示例中,对于双向预测块,使用每个子块在两个方向上的预测样点为每个子块计算时域梯度,并且具有最高绝对时域梯度和(sum of absolute temporal gradient,satg)的k个子块可能具有非零系数。
[0110]
c.在一个示例中,对于双向预测块,为每个子块计算空域和时域梯度两者,并且具有最高绝对时域和空域梯度和(sum of absolute temporal and spatial gradient,satsg)的k个子块可能具有非零系数。
[0111]
d.可以使用水平方向或/和垂直方向或/和45度对角方向或/和135度对角方向的梯度来计算sasg。
[0112]
e.sasg或/和satg或/和satsg可仅针对某些预测样点进行计算。
[0113]
i.例如,可以为每n(n≥1)行的第m(1≤m≤n)行计算sasg或/和satg或/和satsg,例如,m=1和n=2。
[0114]
6.变换跳过模式中的sbt或/和sbt中的划分图案对于块是否有效可以取决于块的大小或/和块是否在图片边界。
[0115]
a.在一个示例中,如果w<t(例如,t=16),则块不可以被划分成尺寸为w/4*h和3w/4*h的子块
[0116]
b.在一个示例中,如果w<t(例如,t=16),则块不可以被划分成两个w/2*h的子块。
[0117]
c.在一个示例中,如果w<t(例如,t=16),则块不可以被划分成尺寸为w/4*h、2w/4*h和w/4*h的子块。
[0118]
d.在一个示例中,如果w<t(例如,t=16),则块不可以被划分成四个w/4*h的子块。
[0119]
e.在一个示例中,如果h<t(例如,t=16),则块不可以被划分成尺寸为w*h/4和w*3h/4的子块。
[0120]
f.在一个示例中,如果h<t(例如,t=16),则块不可以被划分成两个w*h/2的子块。
[0121]
g.在一个示例中,如果h<t(例如,t=16),则块不可以被划分成尺寸为w*h/4、w*
2h/4和w*h/4的子块。
[0122]
h.在一个示例中,如果h<t(例如,t=16),则块不可以被划分成四个w*h/4的子块。
[0123]
i.在一个示例中,如果w<t1或/和h<t2(例如,t1=t2=16),则块不可以被划分成四个w/2*h/2的子块。
[0124]
j.在一个示例中,如果w/h>t,则可以不允许水平划分图案或/和四划分图案(quad split pattern)。
[0125]
k.在一个示例中,如果h/w>t,则可以不允许垂直划分图案或/和四划分模式。
[0126]
l.对于不同的划分图案,t可以不同。
[0127]
m.在一个示例中,如果块在右边界或/和左边界,则可以不允许水平划分图案。
[0128]
n.在一个示例中,如果块位于右边界或/和左边界,则可以不允许垂直划分图案。
[0129]
o.在一个示例中,如果块位于下边界或/和上边界,则可以不允许水平划分图案。
[0130]
p.在一个示例中,如果块位于下边界或/和上边界,则可以不允许垂直划分图案。
[0131]
q.选择的划分图案的信令通知可以取决于块的允许的划分图案的数量。
[0132]
i.例如,如果一个块只有一个允许的划分图案,则不用比特来信令通知指示划分图案。
[0133]
r.这些约束可以取决于当前和/或邻近块的编解码信息。
[0134]
i.例如,在当前块是帧间编解码的或ibc编解码的时,上述项目中的t、t1和t2可以不同。
[0135]
s.约束可以取决于颜色分量。
[0136]
i.例如,对于y分量和cb或cr分量,上述项目中的t、t1和t2可以不同。
[0137]
t.约束可以取决于颜色格式。
[0138]
i.例如,对于4:2:0格式和4:4:4格式,上述项目中的t、t1和t2可以不同。
[0139]
u.约束可以取决于颜色表示。
[0140]
i.例如,对于ycbcr颜色表示和rgb颜色表示,上述项目中的t、t1和t2可以不同。
[0141]
7.提出了在sbt块中可以有多于一个的变换区域。
[0142]
a.图6示出了在sbt块中有两个变换区域的一些示例。
[0143]
8.对于块,sbt中允许的划分图案或/和sbt的使用可以取决于块的运动信息。
[0144]
a.在一个示例中,可以根据照明补偿的使用来决定对于块sbt的使用和/或sbt中允许的划分图案。
[0145]
i.在一个示例中,当一个块以照明补偿编解码时,可以禁用sbt。
[0146]
b.在一个示例中,对于块,sbt中允许的划分图案可以取决于该块是否以三角形模式编解码和/或是否以变换跳过模式编解码。
[0147]
c.在一个示例中,对于以三角形模式编解码的块,可能不允许sbt中的二元划分图案(binary split pattern),但是可以应用其他种类的划分图案。
[0148]
d.在一个示例中,其中每个三角形pu的一半被覆盖的划分图案,例如图6中所示的划分图案,可以被允许用于以三角形模式编解码的块。
[0149]
9.变换跳过模式中的sbt或/和sbt是否被允许取决于块的运动信息。
[0150]
a.在一个示例中,如果块以merge模式编解码,则可以不允许sbt。
[0151]
b.在一个示例中,如果块以merge模式编解码,并且merge索引小于或等于n(例如,
n=0),则可以不允许sbt。
[0152]
c.在一个示例中,如果块以amvp模式编解码,则可以不允许sbt。
[0153]
d.在一个示例中,如果块以仿射模式编解码,则可以不允许sbt。
[0154]
e.在一个示例中,如果块以ciip模式编解码,则可以允许sbt。
[0155]
f.在一个示例中,如果块以ibc模式编解码,则可以允许sbt。
[0156]
g.在一个示例中,如果块以加权预测模式编解码,则可以不允许sbt。
[0157]
h.在一个示例中,如果块以子块编解码模式(诸如atmvp)编解码,则可以不允许sbt。
[0158]
i.当允许sbt时,可以信令通知sbt的使用的指示。相反,当不允许sbt时,跳过信令通知sbt的使用的指示。
[0159]
10.块的残差可以被划分成m*n的子块,例如4*4的子块,并且可以为每个m*n的子块推导是否存在非零系数。
[0160]
a.在一个示例中,使用每个m*n的子块的预测样点为每个m*n的子块计算空域梯度,并且sasg>t的子块可能具有非零系数。
[0161]
b.在一个示例中,对于双向预测块,使用每个m*n的子块在两个方向上的预测样点为每个m*n的子块计算时域梯度,并且satg>t的子块可能具有非零系数。
[0162]
c.在一个示例中,对于双向预测块,为每个m*n的子块计算空域和时域梯度两者,并且sasg>t1或/和satg>t2或/和sasg satg>t3的子块可能具有非零系数。
[0163]
d.可以使用水平方向或/和垂直方向或/和45度对角方向或/和135度对角方向的梯度来计算sasg。
[0164]
e.sasg或/和satg或/和satsg可仅针对某些预测样点进行计算。
[0165]
i.例如,可以为每n(n≥1)行的第m(1≤m≤n)行计算sasg或/和satg或/和satsg,例如,m=1和n=2。
[0166]
f.可替代地,w1*h1的区域包含大多数这样的子块,即满足上述条件的子块,可能具有非零系数。
[0167]
i.例如,w1=w/2且h1=h/2。
[0168]
ii.例如,w1=w/4且h1=h
[0169]
iii.例如,w1=w/2且h1=h
[0170]
iv.例如,w1=w且h1=h/2。
[0171]
v.例如,w1=w且h1=h/4。
[0172]
11.块的残差可以被划分成n个子块,并且k1(k1≥0)个子块以变换跳过模式编解码,k2(k2≥0)个子块采用变换,并且其他子块仅具有零系数。
[0173]
a.在一个示例中,可以信令通知k1个子块或/和k2个子块的索引。
[0174]
b.在一个示例中,可以隐式地推导哪些子块采用变换跳过模式。例如,如果划分图案包含两个子块,则具有较大sasg或satg或sasg satg的子块可以以变换跳过模式编解码,而其他子块可以采用变换。
[0175]
12.可以不信令通知而隐式地推导变换跳过标志(例如,transform_skip_flag)。
[0176]
a.在一个示例中,如果sasg>t1或/和satg>t2或/和sasg satg>t3,则块可以以变换跳过模式编解码。
[0177]
i.可替代地,如果sasg>t1或/和satg>t2或/和sasg satg>t3,则块可以采用变换。
[0178]
b.在一个示例中,是否推导变换跳过标志可以取决于块的运动信息或模式。
[0179]
i.例如,变换跳过标志可以仅在帧间模式或/和帧内块复制模式中推导。
[0180]
ii.例如,仅当当前块仅是双向预测的时,才可以推导变换跳过标志。
[0181]
iii.例如,仅当存在多于k个非零系数时,才可以推导变换跳过标志。
[0182]
c.在一个示例中,当存在少于k个非零系数时,可以禁用变换跳过。
[0183]
13.还可以将二次变换应用于以sbt模式编解码的块。
[0184]
a.在一个示例中,用w*h表示块尺寸,它可以首先被主变换矩阵(诸如,dct

ii)变换,然后左上角的w’*h’的变换后的区域可以被其他变换矩阵进一步变换,其中条件(w'不等于w和h'不等于h)中的至少一个为真。
[0185]
14.可以根据关于块大小的规则启用提出的方法。
[0186]
a.在一个示例中,当w*h>=t1&&h>=t2时,例如t1=64和t2=8,可以启用提出的方法。
[0187]
b.在一个示例中,当块尺寸包含少于m*h个样点,例如32或64个亮度样点时,不允许提出的方法。
[0188]
c.在一个示例中,当块尺寸包含多于m*h个样点,例如32或64个亮度样点时,不允许提出的方法。
[0189]
d.可替代地,当块的宽度或/和高度的最小尺寸小于或不大于x时,不允许提出的方法。在一个示例中,x被设置为8。
[0190]
e.可替代地,当块的宽度>th1或>=th1和/或块的高度>th2或>=th2时,不允许提出的方法。在一个示例中,x被设置为64。
[0191]
i.例如,对mxm(例如,128x128)的块,禁用提出的方法。
[0192]
ii.例如,对nxm/mxn的块,禁用提出的方法,例如,其中n>=64,m=128。
[0193]
iii.例如,对nxm/mxn的块,禁用提出的方法,例如,其中n>=4,m=128。
[0194]
f.可替代地,当块的宽度<th1或<=th1和/或块的高度<th2或<=th2时,不允许提出的方法。在一个示例中,th1和/或th2被设置为8。
[0195]
图4是视频处理装置400的框图。装置400可以用于实施本文描述的方法中的一个或多个。装置400可以体现在智能电话、平板电脑、计算机、物联网(internet of things,iot)接收器等中。装置400可以包括一个或多个处理器402、一个或多个存储器404和视频处理硬件406。(多个)处理器402可以被配置为实施本文档中描述的一种或多种方法。存储器(多个存储器)404可以用于存储用于实施本文描述的方法和技术的代码和数据。视频处理硬件406可以用于以硬件电路实施本文档中描述的一些技术。
[0196]
图5是视频处理方法500的流程图。方法500包括:将子块残差编解码方案应用于(502)当前视频块,其中当前视频块的残差被划分成多个子块,每个子块的尺寸为m*n,基于与多个子块中的每一个相关联的特性来确定(504)具有非零系数的至少一个子块;基于推导的具有非零系数的至少一个子块,对当前视频块的残差进行编解码(506)。
[0197]
图7是视频处理方法700的流程图。方法700包括:以特定划分图案将当前视频块的残差划分成(702)n个子块;以及执行(704)当前视频块和当前视频块的比特流表示之间的转换,其中n个子块包括采用在其中残差不被变换的变换跳过模式的k1个子块、对残差采用
变换的k2个子块和具有零系数的n

k1

k2个子块,其中n、k1和k2是整数,并且k1>=0且k2>=0。
[0198]
图8是视频处理方法800的流程图。方法800包括:响应于变换跳过标志,确定(802)变换跳过模式是否可应用于当前视频块的残差,其中变换跳过标志是隐式地确定的而不是信令通知的;以及基于该确定执行(804)当前视频块和当前视频块的比特流表示之间的转换。
[0199]
图9是视频处理方法900的流程图。方法900包括:通过使用第一变换矩阵来变换(902)以子块变换模式编解码的当前视频块的残差,以生成一个或多个变换后的子块,其中当前视频块的残差被划分成多个子块,并且子块的子集具有非零系数;通过使用第二变换矩阵来变换(904)具有非零系数的至少一个变换后的子块的至少一个区域,其中该至少一个区域位于该至少一个变换后的子块的特定位置,并且该第二变换矩阵不同于该第一变换矩阵;以及基于该变换执行(906)当前视频块和当前视频块的比特流表示之间的转换。
[0200]
以下章节以及第4章中的列表提供了所公开的技术的附加实施例和示例。
[0201]
在一方面,公开了一种视频处理方法,包括:
[0202]
将子块残差编解码方案应用于当前视频块,其中当前视频块的残差被划分成多个子块,每个子块的尺寸为m*n,基于与多个子块中的每一个相关联的特性来确定具有非零系数的至少一个子块;基于推导的具有非零系数的至少一个子块,对当前视频块的残差进行编解码。
[0203]
在一个示例中,与多个子块中的每一个相关联的特性包括多个子块中的每一个的空域梯度;并且基于与每个子块相关联的预测样点为多个子块中的每一个计算空域梯度,并且绝对空域梯度和(sasg)大于第一阈值t1的一个或多个子块被确定为具有非零系数。
[0204]
在一个示例中,如果当前视频块是双向预测块,则与多个子块中的每一个相关联的特性包括多个子块中的每一个的时域梯度。
[0205]
在一个示例中,基于两个方向上与每个子块相关联的预测样点,为多个子块中的每一个计算时域梯度,并且绝对时域梯度和(satg)大于第二阈值t2的一个或多个子块被确定为具有非零系数。
[0206]
在一个示例中,与多个子块中的每一个相关联的特性还包括多个子块中的每一个的空域梯度;并且基于两个方向上与每个子块相关联的预测样点,为多个子块中的每一个计算空域和时域梯度两者。
[0207]
在一个示例中,绝对空域梯度和(sasg)大于第三阈值t3的一个或多个子块被确定为具有非零系数。
[0208]
在一个示例中,绝对时域和空域梯度和(satsg)大于第四阈值t4的一个或多个子块被确定为具有非零系数。
[0209]
在一个示例中,通过使用特定方向上的空域梯度,为多个子块中的每一个计算绝对空域梯度和(sasg)。
[0210]
在一个示例中,特定方向包括水平方向、垂直方向、45度对角方向和135度对角方向中的一个。
[0211]
在一个示例中,与每个子块相关联的预测样点位于特定位置。
[0212]
在一个示例中,特定位置包括每q行的第p行。
[0213]
在一个示例中,p=1,q=2。
[0214]
在一个示例中,具有非零系数的一个或多个子块位于当前视频块中的矩形区域内。
[0215]
在一个示例中,矩形区域被确定为具有非零系数,并且具有如下尺寸之一:
[0216]
w/2*h/2;
[0217]
w/4*h;
[0218]
w/2*h;
[0219]
w*h/2;
[0220]
w*h/4,
[0221]
其中,w和h分别表示当前视频块的宽度和高度。
[0222]
在另一方面,公开了一种视频处理方法,包括:
[0223]
以特定划分图案将当前视频块的残差划分成n个子块;以及
[0224]
执行当前视频块和当前视频块的比特流表示之间的转换,
[0225]
其中n个子块包括采用在其中残差不被变换的变换跳过模式的k1个子块、对残差采用变换的k2个子块和具有零系数的n

k1

k2个子块,其中n、k1和k2是整数,并且k1>=0且k2>=0。
[0226]
在一个示例中,信令通知一索引以指示哪些子块采用变换跳过模式,或者指示哪些子块对残差采用变换。
[0227]
在一个示例中,根据特定划分图案隐式地确定哪些子块采用变换跳过模式。
[0228]
在一个示例中,如果n=2,则两个子块中的具有较大绝对空域梯度和(sasg)的子块被确定为采用变换跳过模式。
[0229]
在一个示例中,如果n=2,则两个子块中的具有较大绝对时域梯度和(satg)的子块被确定为采用变换跳过模式。
[0230]
在一个示例中,如果n=2,则两个子块中的具有较大绝对时域和空域梯度和(satsg)的子块被确定为采用变换跳过模式。
[0231]
在又一方面,公开了一种视频处理方法,包括:
[0232]
响应于变换跳过标志,确定变换跳过模式是否可应用于当前视频块的残差,其中变换跳过标志是隐式地确定的而不是信令通知的;以及
[0233]
基于该确定执行当前视频块和当前视频块的比特流表示之间的转换。
[0234]
在一个示例中,基于与当前视频块相关联的预测样点为当前视频块计算空域梯度,并且如果当前视频块的绝对空域梯度和(sasg)大于第一阈值t1,则隐式地确定变换跳过标志指示变换跳过模式可应用于当前视频块的残差。
[0235]
在一个示例中,如果当前视频块是双向预测块,则基于两个方向上与当前视频块相关联的预测样点,为当前视频块计算时域梯度。
[0236]
在一个示例中,如果当前视频块的绝对时域梯度和(satg)大于第二阈值t2,则确定变换跳过标志指示变换跳过模式可应用于当前视频块的残差。
[0237]
在一个示例中,基于与当前视频块相关联的预测样点,进一步为当前视频块计算空域梯度,并且如果当前视频块的绝对时域和空域梯度和(satsg)大于第三阈值t3,则确定变换跳过标志指示变换跳过模式可应用于当前视频块的残差。
[0238]
在一个示例中,基于与当前视频块相关联的预测样点,为当前视频块计算空域梯度,并且如果当前视频块的绝对空域梯度和(sasg)大于第四阈值t4,则确定变换跳过标志指示变换应用于当前视频块的残差。
[0239]
在一个示例中,如果当前视频块是双向预测块,则基于两个方向上与当前视频块相关联的预测样点,为当前视频块计算时域梯度。
[0240]
在一个示例中,如果当前视频块的绝对时域梯度和(satg)大于第五阈值t5,则确定变换跳过标志指示变换应用于当前视频块的残差。
[0241]
在一个示例中,基于与当前视频块相关联的预测样点,进一步为当前视频块计算空域梯度,并且如果当前视频块的绝对时域和空域梯度和(satsg)大于第六阈值t6,则确定变换跳过标志指示变换应用于当前视频块的残差。
[0242]
在一个示例中,是否隐式地确定变换跳过标志取决于当前视频块的编解码模式或运动信息。
[0243]
在一个示例中,如果当前视频块以帧间模式、帧内块复制(ibc)模式和双向预测模式中的至少一种编解码,则隐式地确定变换跳过标志。
[0244]
在一个示例中,如果当前视频块的残差具有多于k个非零系数,则隐式地确定变换跳过标志。
[0245]
在一个示例中,如果当前视频块的残差具有小于k个非零系数,则隐式地确定变换跳过标志指示变换跳过模式不可应用于当前视频块的残差。
[0246]
在又一方面,公开了一种视频处理方法,包括:
[0247]
通过使用第一变换矩阵来变换以子块变换模式编解码的当前视频块的残差,以生成一个或多个变换后的子块,其中当前视频块的残差被划分成多个子块,并且子块的子集具有非零系数;
[0248]
通过使用第二变换矩阵来变换具有非零系数的至少一个变换后的子块的至少一个区域,其中该至少一个区域位于该至少一个变换后的子块的特定位置,并且该第二变换矩阵不同于该第一变换矩阵;以及
[0249]
基于该变换执行当前视频块和当前视频块的比特流表示之间的转换。
[0250]
在一个示例中,特定位置包括至少一个变换后的子块的左上角位置。
[0251]
在一个示例中,至少一个区域的宽度和高度中的至少一个小于至少一个变换后的子块的宽度和高度。
[0252]
在一个示例中,是否启用该方法取决于当前视频块的块大小。
[0253]
在一个示例中,如果当前视频块的块大小满足:w*h>=t1,并且h>=t2,则启用该方法。
[0254]
在一个示例中,t1=64,t2=8。
[0255]
在一个示例中,如果当前视频块的块大小满足以下至少一个,则禁用该方法:
[0256]
当前视频块中包含的样点量小于第一阈值;
[0257]
当前视频块的高度和宽度的最小尺寸不大于第二阈值;
[0258]
当前视频块的高度不大于第三阈值;和
[0259]
当前视频块的宽度不大于第四阈值。
[0260]
在一个示例中,第一阈值等于32和64中的一个。
[0261]
在一个示例中,第二阈值等于8。
[0262]
在一个示例中,第三阈值和第四阈值中的至少一个等于8。
[0263]
在一个示例中,如果当前视频块的块大小满足以下至少一个,则禁用该方法:
[0264]
当前视频块中包含的样点量大于第五阈值;
[0265]
当前视频块的高度不小于第六阈值;和
[0266]
当前视频块的宽度不小于第七阈值。
[0267]
在一个示例中,第五阈值等于32和64中的一个。
[0268]
在一个示例中,第六阈值和第七阈值中的至少一个等于64。
[0269]
在一个示例中,如果当前视频块的尺寸为m
×
m、m
×
n或n x m,则禁用该方法,其中m=128,并且n=64或4。
[0270]
在一个示例中,该转换包括将当前视频块编码到视频的比特流表示,和从视频的比特流表示中解码当前视频块。
[0271]
在又一示例方面,公开了一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器运行时,使处理器实施如上所述的方法。
[0272]
在再一示例方面,公开了一种非暂时性计算机可读介质,其上存储有程序代码,该程序代码在被运行时使处理器实施如上所述的方法。
[0273]
根据前述内容,可以理解,本文已经出于说明的目的描述了本公开的技术的具体实施例,但是可以在不脱离本发明的范围的情况下做出各种修改。因此,除了由所附权利要求之外,本公开的技术不受限制。
[0274]
本专利文档中描述的主题和功能操作的实施方式可以在各种系统、数字电子电路或计算机软件、固件或硬件中实施,包括本说明书中公开的结构及其结构等同物、或者它们中的一个或多个的组合。本说明书中描述的主题的实施方式可以被实施为一个或多个计算机程序产品,即,编码在有形和非暂时性计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置运行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储器设备、实现机器可读传播信号的合成物,或者它们中的一个或多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
[0275]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其它单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其它程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。计算机程序可以被部署为在位于一个站点或分布在多个站点并通过通信网络互连的一个或多个计算机上执行。
[0276]
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该处理器运行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以实施为专用逻辑电路,例如,fpga
(现场可编程门阵列)或asic(专用集成电路)。
[0277]
举例来说,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或者被可操作地耦合以从一个或多个大容量存储设备接收数据或向其传送数据或两者兼有。然而,计算机不一定需要这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如,包括半导体存储器设备,例如,eprom、eeprom和闪存设备。处理器和存储器可以由专用逻辑电路来补充或并入专用逻辑电路。
[0278]
本说明书和附图仅被认为是示例性的,其中示例性意味着示例。如本文所使用的,“或”的使用旨在包括“和/或”,除非上下文另有明确指示。
[0279]
虽然本专利文档包含许多细节,但这些不应被解释为对任何发明或所要求保护的范围的限制,而是对特定发明的特定实施例所特有的特征的描述。本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实施。此外,尽管上述特征可以被描述为以某些组合起作用,甚至最初被要求这样来保护,但是在某些情况下,可以从所要求保护的组合中删除该组合中的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。
[0280]
类似地,尽管在附图中以特定顺序描述了操作,但这不应理解为要求以所示的特定顺序或顺序地执行这些操作,或者要求执行所有所示的操作,以获得期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应该理解为在所有实施例中都需要这种分离。
[0281]
仅描述了几个实施方式和示例,并且可以基于本专利文档中描述和图示的内容进行其它实施、增强和变化。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜