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

环路滤波器块灵活分区的制作方法

2022-07-10 13:07:46 来源:中国专利 TAG:

环路滤波器块灵活分区
1.相关申请的交叉引用
2.本技术要求于2020年3月2日提交的美国临时申请第62/984,096号和于2020年10 月9日提交的美国申请第17/067,054号的优先权,这两个申请的公开内容通过引用整体并入本文。
技术领域
3.本公开的实施例涉及一组高级视频编解码技术。更具体地,本公开的实施例可以为环路滤波器块提供灵活的图片分区。


背景技术:

4.aomedia video 1(av1)是为因特网上的视频传输而设计的开放视频编码格式。它是由开放媒体联盟(aomedia)作为vp9的后继者开发的,该联盟是在2015年创立的包括半导体公司、视频点播提供商、视频内容制作商、软件开发公司和web浏览器供应商的联合企业。av1项目的许多组成部分来源于联盟成员先前的研究工作。个体贡献者在几年前开始实验技术平台:xiph/mozilla的daala于2010年公布代码,谷歌(google)的实验性 vp9进化项目vp10于2014年9月12日公布,并且思科(cisco)的thor于2015年8月 11日公布。建立在vp9的基本代码上,av1结合了附加的技术,其中的几种是以这些实验形式开发的。av1参考编解码器的第一个版本(版本0.1.0)于2016年4月7日公布。该联盟于2018年3月28日宣布了av1码流规范的发布,以及参考的基于软件的编码器和解码器。2018年6月25日,发布了规范的确认版本1.0.0。2019年1月8日发布了规范的确认版本1.0.0,其中包含勘误表1。av1码流规范包括参考视频编解码器。
5.itu-t vceg(q6/16)和iso/iec mpeg(jtc 1/sc 29/wg 11)在2013年公布了 h.265/hevc(高效率视频编解码)标准的版本1,2014年公布了其版本2,2015年公布了其版本3以及在2016年公布了其版本4。2015年,这两个标准组织共同形成了jvet(联合视频探索组),以探索开发超越hevc的下一视频编解码标准的潜力。2017年10月, jvet发布了关于具有超越hevc能力的视频压缩联合提案(cfp)。到2018年2月15日,分别提交了关于标准动态范围(sdr)的总共22个cfp响应、关于高动态范围(hdr)的 12个cfp响应和关于360个视频类别的12个cfp响应。2018年4月,所有收到的cfp响应都在122mpeg/第十次jvet会议中进行了评估。作为此次会议的成果,jvet正式启动了超越hevc的下一代视频编解码标准化过程。新标准被命名为通用视频编码(vvc),并且jvet被重命名为联合视频专家组。vtm(vvc测试模型)的当前版本是vtm 7。


技术实现要素:

6.在环路滤波过程中,图片被分区成几个相等大小的环路滤波块(除了最后一行/列中的那些块),这可能限制环路滤波性能。
7.本公开的实施例提供了对以上问题的解决方案。例如,根据实施例,环路滤波块可
以具有不同的大小,从而提高环路滤波性能。
8.根据实施例,提供了一种由至少一个处理器执行的视频编解码过程中的环路滤波方法,该方法包括:接收图像数据;分析该图像数据;将该图像数据灵活地分区成环路滤波块 (lfb);以及将环路滤波器应用于lfb。
9.根据实施例,可以执行灵活分区以允许同一帧中的第一行和第一列中的至少一个中的 lfb的尺寸小于同一帧内的其它lfb。
10.根据实施例,可以执行灵活分区以允许第一行中的lfb的尺寸具有比设置在同一帧中的lfb小的高度,所述同一帧中的lfb不设置在该同一帧中的最后一行和最后一列中的至少一个中。
11.根据实施例,可以执行灵活分区以允许第一列中的lfb的尺寸具有比设置在同一帧中的lfb小的宽度,所述同一帧中的lfb不设置在该同一帧中的最后一行和最后一列中的至少一个中。
12.根据实施例,可以执行灵活分区以允许第一行和第一列中的至少一个中的lfb的尺寸小于同一帧内的其它lfb,并且在同一帧内的最后一行和最后一列中不包括分区的剩余部分。
13.根据实施例,第一行中的lfb的高度和第一列中的lfb的宽度可以被硬编码。
14.根据实施例,该方法可以进一步包括提供一指示,用于指示第一行和第一列中的lfb 中的至少一个是否具有比同一帧的其他区域中的lfb小的尺寸。
15.根据实施例,可以使用单独的语法来指示第一行中的lfb的高度和第一列中的lfb 的宽度。
16.根据实施例,第一行中的lfb的高度可以与第一列中的lfb的宽度相同。
17.根据实施例,在同一帧内的最后一行和最后一列中可以不包括分区的剩余部分。
附图说明
18.图1是自适应环路滤波器(alf)形状的示意图。
19.图2a至图2d是下采样拉普拉斯计算的示意图。
20.图3是应用于亮度分量的修改的块分类的示意图。
21.图4是对虚拟边界处的一个或多个亮度分量应用自适应环路滤波(alf)的修改的示意图。
22.图5是lcu对齐的图片四叉树分割的示意图。
23.图6是以第z顺序编码的四叉树分割标志的示意图。
24.图7a和图7b描绘了cc alf的放置的示意图。
25.图8是色度样本相对于亮度样本的位置的示意图。
26.图9是8
×
8块的定向搜索的示意图。
27.图10是子空间投影的示意图。
28.图11是环路滤波块(lfb)分区的示意图。
29.图12是基于对称四叉树的环路滤波块(lfb)分区的示意图。
30.图13是基于非对称四叉树的环路滤波块(lfb)分区的示意图。
31.图14是环路滤波块(lfb)分区的示意图。
32.图15是基于对称四叉树的环路滤波块(lfb)分区的示意图。
33.图16是基于非对称四叉树的环路滤波块(lfb)分区的示意图。
34.图17是根据实施例的通信系统的框图。
35.图18是根据实施例的g-pcc压缩器和g-pcc解压缩器在环境中的布置的图。
36.图19是适用于实现实施例的计算机系统的图。
具体实施方式
37.本文中描述的实施例提供用于对图像数据进行编码和/或解码的方法和装置。
38.[自适应环路滤波]
[0039]
在vtm7中,应用了具有基于块的滤波器自适应的自适应环路滤波器(alf)。对于亮度分量,基于局部梯度的方向和活动性,为每个4
×
4块选择25个滤波器中的一个滤波器。
[0040]
[滤波器形状]
[0041]
在vtm7中,参考图1,使用两个菱形滤波器。7
×
7菱形形状应用于亮度分量,并且 5
×
5菱形形状应用于色度分量。
[0042]
[块分类]
[0043]
对于亮度分量,每个4
×
4块被分类成25个类别中的一个类别。分类索引c是基于其方向性d和量化活动值导出的。这在等式1(以下)中图示。
[0044]
等式1:
[0045][0046]
为了计算d和首先使用1-d拉普拉斯方程计算水平、垂直和两个对角线方向的梯度,如等式2-5(以下)所示。
[0047]
等式2:
[0048][0049]
等式3:
[0050][0051]
等式4:
[0052][0053]
等式5:
[0054][0055]
这里,索引i和j是指4
×
4块内左上样本的坐标,并且r(i,j)指示坐标(i,j)处的重建样本。
[0056]
为了降低块分类的复杂度,应用了下采样的1-d拉普拉斯算子计算。如图2中所示,相同的下采样位置用于所有方向的梯度计算。这里,图2a描绘了垂直梯度的下采样位置。图2b描绘了水平梯度的下采样位置。图2c和图2d描绘了对角线梯度的下采样位置。
[0057]
然后根据等式6(以下)设置水平方向和垂直方向的梯度的d最大值和最小值:
[0058]
[0059]
两个对角线方向的梯度的最大值和最小值根据等式7(以下)设定为:
[0060][0061]
为了导出方向性d的值,将这些值彼此进行比较并且与两个阈值进行t1和t2比较:
[0062]
步骤1:如果和两者为真,则将d设置为0。
[0063]
步骤2:如果从步骤3继续;否则从步骤4继续。
[0064]
步骤3:如果则将d设置为2;否则将d设置为1。
[0065]
步骤4:如果则将d设置为4;否则将d设置为3。
[0066]
根据等式8(以下)计算活动值a:
[0067][0068]
a在0到4(包含端值)的范围内被进一步量化,并且量化值被表示为
[0069]
对于图片中的色度分量,不应用分类方法,即对每个色度分量应用单组alf系数。
[0070]
[滤波器系数和限幅值的几何变换]
[0071]
在对每个4
×
4亮度块进行滤波之前,取决于为该块计算的梯度值,将诸如旋转翻转、对角线翻转和/或垂直翻转的几何变换应用于滤波器系数f(k,l)和对应的滤波器限幅值 c(k,l)。这相当于将这些变换应用于滤波器支持区域中的样本。其思想是通过对齐alf的方向性使应用alf的不同块更相似。
[0072]
引入三个几何变换,包括对角线翻转、垂直翻转和旋转翻转:在以下的等式9-11中。
[0073]
等式9:
[0074]
对角线:fd(k,l)=f(l,k),cd(k,l)=c(l,k),
[0075]
等式10:
[0076]
垂直翻转:fv(k,l)=f(k,k-l-1),cv(k,l)=c(k,k-l-1)
[0077]
等式11:
[0078]
旋转:fr(k,l)=f(k-l-1,k),cr(k,l)=c(k-l-1,k)
[0079]
这里,k是滤波器尺寸,并且0≤k,l≤k-1是系数坐标,使得位置(0,0)在左上角并且位置(k-1,k-1)在右下角。取决于为该块计算的梯度值,将变换应用于滤波器系数f (k,l)和限幅值c(k,l)。在下表中总结了变换和四个方向的四个梯度之间的关系。
[0080]
表1:为一个块计算的梯度和相应变换的映射。
[0081]
梯度值变换g
d2
《g
d1
并且gh《gv无变换g
d2
《g
d1
并且gv《gh对角线g
d1
《g
d2
并且gh《gv垂直翻转g
d1
《g
d2
并且gv《gh旋转
[0082]
[滤波器参数信令]
[0083]
在vtm7中,在aps中发信号通知alf滤波器参数。在一个aps中,可以用信号通知多达25组亮度滤波器系数和限幅值索引,以及多达8组色度滤波器系数和限幅值索引。为了减
少比特开销,可以合并亮度分量的不同分类的滤波器系数。在条带头中,可以用信号通知用于当前条带的aps的索引。在vtm7中,alf的信令是基于ctu的。
[0084]
从aps中解码的限幅值索引允许使用亮度分量和色度分量的限幅值表来确定限幅值。这些限幅值取决于内部比特深度。更准确地说,限幅值的表通过下式获得:
[0085]
等式12:
[0086]
alfclip={round(2
b-α*n
)for n∈[0..n-1]}
[0087]
这里,b等于内部比特深度,α是等于2.35的预定义常数值,并且n等于4,其是vvc 中允许的限幅值的数量。表2示出了等式12的输出:
[0088]
表2:取决于bitdepth和clipidx的规范alfclip
[0089][0090]
在条带头中,可以用信号通知多达7个aps索引,以指定用于当前条带的亮度滤波器组。可以在ctb级别进一步控制滤波过程。始终用信号通知标志以指示是否将alf应用于亮度ctb。亮度ctb可以从16个固定的滤波器组和aps中的滤波器组当中选择一个滤波器组。为亮度ctb用信号通知滤波器组索引,以指示应用哪个滤波器组。16个固定滤波器组在编码器和解码器中都是预定义和硬编码的。
[0091]
对于色度分量,在条带头中用信号通知aps索引以指示色度滤波器组正用于当前条带。在ctb级别,如果在aps中存在多于一个色度滤波器组,则为每个色度ctb用信号通知滤波器索引。
[0092]
利用等于128的范数来量化滤波器系数。为了限制乘法复杂度,应用码流一致性,使得非中心位置的系数值在-27到27-1(包含端值)的范围内。中心位置系数不在码流中用信号通知,并且被认为等于128。
[0093]
在vvc草案7中,限幅索引和值的语法和语义定义如下:
[0094]
alf_luma_clip_idx[sfidx][j]指定在乘以由sfidx指示的用信号通知的亮度滤波器的第 j个系数之前要使用的限幅值的限幅索引。码流一致性的要求是: alf_luma_clip_idx[sfidx][j]的值在0到3(包含端值)的范围内,其中 sfidx=0..alf_luma_num_filters_signalled_minus1并且j=0

11。
[0095]
带有元素alfclipl[adaptation_parameter_set_id][filtidx][j](其中,filtidx= 0

numalffilters-1and j=0

11)的亮度滤波器限幅值 alfclipl[adaptation_parameter_set_id]如表2所指定的来导出,取决于被设置为等于 bitdepthy的bitdepth和被设置为等于 alf_luma_clip_idx[alf_luma_coeff_delta_idx[filtidx]][j]的clipidx。
[0096]
alf_chroma_clip_idx[altidx][j]指定在将可选色度滤波器的第j个系数乘以altidx的索引之前要使用的限幅值的限幅索引。码流一致性的要求是alf_chroma_clip_idx[altidx][j](其中altidx=0..alf_chroma_num_alt_filters_minus1,j=0..5)的值在0到3(包含端值)的范围内。
[0097]
带有元素alfclipc[adaptation_parameter_set_id][altidx][j](其中altidx= 0..alf_chroma_num_alt_filters_minus1,j=0..5)的色度滤波器限幅值 alfclipc[adaptation_parameter_set_id][altidx]如表所指定的来导出,取决于被设置为等于 bitdepthc的bitdepth和被设置为等于alf_chroma_clip_idx[altidx][j]的clipidx。
[0098]
[滤波过程]
[0099]
在解码器侧处,当针对ctb启用alf时,对cu内的每个样本r(i,j)进行滤波,从而产生如下等式13中所示的样本值r

(i,j):
[0100]r′
(i,j)=r(i,j) ((∑
k≠0

l≠0
f(k,l)
×
k(r(i k,j l)-r(i,j),c(k,l)) 64)>>7)
[0101]
这里,f(k,l)表示已解码滤波器系数,k(x,y)是限幅函数,并且c(k,l)表示已解码限幅参数。变量k和l在与之间变化,其中,l表示滤波器长度。限幅函数k(x,y)= min(y,max(-y,x)),其对应于函数clip3(-y,y,x)。通过结合该限幅函数,如在jvet-n0242 中首次提出的,该环路滤波方法变成非线性过程,称为非线性alf。通过使用与表2中的限幅值的索引相对应的golomb编码方案,在“alf_data”语法元素中对所选择的限幅值进行编码。该编码方案与用于滤波器索引的编码方案相同。
[0102]
[用于行缓冲区再现的虚拟边界滤波过程]
[0103]
在vtm7中,为了降低alf的行缓冲区要求,对水平ctu边界附近的样本采用修改的块分类和滤波。为此目的,如图3中所示,通过移动具有“n”个样本的水平ctu边界,将虚拟边界定义为一条线。在图3中,对于亮度分量,n等于4,并且对于色度分量,n等于2。
[0104]
如图3所图示,将修改的块分类应用于亮度分量。对于4
×
4块的1d拉普拉斯梯度计算,在虚拟边界中,仅使用虚拟边界以上的样本。类似地,对于虚拟边界以下的4
×
4块的 1d拉普拉斯梯度计算,仅使用虚拟边界以下的样本。相应地,通过考虑在1d拉普拉斯梯度计算中使用的减少数量的样本来缩放活动值a的量化。
[0105]
对于滤波处理,虚拟边界处的对称填充操作用于亮度分量和色度分量。如图4中所示,当被滤波的样本位于虚拟边界以下时,位于虚拟边界以上的相邻样本被填充。同时,在另一侧的对应样本也被对称地填充。
[0106]
[lcu对齐的图片四叉树分割]
[0107]
为了提高编解码效率,在jctvc-c143中提出了基于编码单元同步图片四叉树的自适应环路滤波器。这里,亮度图片被分割成几个多级四叉树分区,并且每个分区边界与最大
编码单元(lcu)的边界对齐。每个分区具有其自己的滤波过程,并且因此可以被称为滤波单元(fu)。
[0108]
如下描述了2次(2-pass)编码流。在第一次中,确定每个fu的四叉树分割模式和最佳滤波器。在决策过程期间由ffde估计滤波失真。根据所确定的所有fu的四叉树分割模式和所选择的滤波器,对重建的图片进行滤波。在第二次中,执行cu同步alf开/关控制。根据alf开/关结果,第一滤波图片由重建的图片部分地恢复。
[0109]
采用自上向下的分割策略,利用率失真准则将图片划分成多级四叉树分区。每个分区被称为滤波单元。分割过程将四叉树分区与lcu边界对齐。fu的编码顺序遵循z扫描顺序。例如,如图5中所示,图片被分割成10个fu,并且编码顺序是fu0、fu1、fu2、 fu3、fu4、fu5、fu6、fu7、fu8和fu9。
[0110]
为了指示图片四叉树分割模式,分割标志被编码并且以z顺序发送。图6示出了对应于图5的四叉树分割模式。
[0111]
基于率失真准则从两个滤波器组中选择每个fu的滤波器。第一组具有为当前fu新导出的1/2对称正方形和菱形滤波器。第二组来自时延滤波器缓冲器;时延滤波器缓冲器存储先前为先前图片的fu推导的滤波器。为当前fu选择这两组中具有最小率失真代价的滤波器。类似地,如果当前fu不是最小fu并且可以被进一步分割成4个子fu,则计算4个子fu的率失真代价。通过递归地比较分割和非分割情况的率失真代价,可以确定图片四叉树分割模式。
[0112]
在jctvc-c143中,最大四叉树分割级别是2,这意味着fu的最大数目是16。在四叉树分割决策期间,可以重新使用用于导出在底部四叉树级的16个fu(最小fu)的维纳(wiener)系数的相关值。剩余的fu可以从底部四叉树级处的16个fu的相关性中导出其维纳滤波器。因此,仅存在一次帧缓冲器访问用于导出所有fu的滤波器系数。
[0113]
在确定四叉树分割模式之后,为了进一步减小滤波失真,执行cu同步alf开/关控制。通过比较滤波失真和非滤波失真,叶cu可以在其局部区域中显式地开启/关闭alf。可以通过根据alf开/关结果重新设计滤波器系数来进一步改进编解码效率。然而,重新设计过程需要附加的帧缓冲器访问。在所提出的cs-pqalf编码器设计中,在cu同步 alf开/关决策之后不存在重新设计过程以最小化帧缓冲器访问的次数。
[0114]
[跨分量自适应环路滤波器(cross-component adaptive loop filter]
[0115]
在jvet-o0636中,提出了跨分量自适应环路滤波器(cc-alf)。cc-alf利用亮度样本值来细化每个色度分量。图7a图示了cc-alf相对于其它环路滤波器的布置。
[0116]
cc-alf通过对每个色度分量的亮度通道应用线性菱形滤波器(图7b)来操作。滤波器系数在aps中被发送,以因子2
10
缩放,并且被四舍五入用于定点表示。滤波器的应用是在可变块大小上控制的,并且是通过为每个样本块接收的上下文编码标志来发信号通知的。在条带级为每个色度分量接收块大小以及cc-alf使能标志。在贡献中,支持以下块大小(在色度样本中)16
×
16、32
×
32、64
×
64。
[0117]
下面描述在jvet-p1008中提出的cc-alf的语法改变。
[0118]
表3:jvet-p1008中提出的cc-alf的语法改变
[0119][0120]
cc-alf相关语法的语义描述如下:
[0121]
当alf_ctb_cross_component_cb_idcalf_ctb_cross_component_cb_idc[xctb》》ctblog2sizey][yctb》》ctblog2sizey]等于0时,这指示不将跨分量cb滤波器应用于亮度位置(xctb,yctb)处的cb颜色分量样本块。当 alf_cross_component_cb_idc[xctb》》ctblog2sizey][yctb》》ctblog2sizey]不等于0时,这指示将第alf_cross_component_cb_idc[xctb》》ctblog2sizey][yctb》》ctblog2sizey] 个跨分量cb滤波器应用于亮度位置(xctb,yctb)处的cb颜色分量样本块。
[0122]
当alf_ctb_cross_component_cr_idc[xctb》》ctblog2sizey][yctb》》ctblog2sizey]等于0时,这指示不将跨分量cr滤波器应用于亮度位置(xctb,yctb)处的cr颜色分量样本块。当alf_cross_component_cr_idc[xctb》》ctblog2sizey][yctb》》ctblog2sizey]不等于0时,这表示将第 alf_cross_component_cr_idc[xctb》》ctblog2sizey][yctb》》ctblog2sizey]个跨分量cr 滤波器应用于亮度位置(xctb,yctb)处
的cr颜色分量样本块。
[0123]
[色度样本的位置]
[0124]
图8图示了当chroma_format_idc等于1(4:2:0色度格式)并且 chroma_sample_loc_type_top_field或chroma_sample_loc_type_bottom_field等于变量 chromaloctype的值时左上色度样本的指示的相对位置。由左上4:2:0色度样本(描绘为在其中心处具有大红点的大红色正方形)表示的区域相对于由左上亮度样本(描绘为在其中心处具有小黑点的小黑色正方形)表示的区域示出。由相邻亮度样本表示的区域被描绘为在其中心处具有小灰点的小灰色正方形。作为对符号的解释,“x”表示亮度样本顶部;正方形表示亮度样本底部。并且椭圆形形状、三角形形状和菱形形状表示色度样本类型。
[0125]
[约束定向增强滤波器]
[0126]
环内约束定向增强滤波器(cdef)的主要目的是滤除编码伪像,同时保留图像的细节。在hevc中,样本自适应偏移(sao)算法通过为不同类别的像素定义信号偏移来实现类似的目标。与sao不同,cdef是非线性空间滤波器。滤波器的设计被限制为易于向量化 (即,可利用simd操作来实现),这对于诸如中值滤波器和双边滤波器的其它非线性滤波器来说不是这种情况。
[0127]
cdef设计源自以下观察结果。已编码图像中的振铃效应的量倾向于与量化步长大致成比例。细节的量是输入图像的属性,但是保留在量化图像中的最小细节也倾向于与量化步长成比例。对于给定的量化步长,振铃的幅度通常小于细节的幅度。
[0128]
cdef通过识别每个块的方向,并且然后沿着所识别的方向自适应地滤波,并且沿着从所识别的方向旋转45度的方向较小程度地滤波来工作。显式地用信号通知滤波强度,这允许对模糊化进行高度控制。为滤波强度设计有效的编码器搜索。cdef基于两个先前提出的环内滤波器,并且组合滤波器被用于新兴的av1编解码器。
[0129]
[方向搜索]
[0130]
方向搜索紧跟在去块滤波器之后对重建的像素进行操作。由于这些像素可用于解码器,因此方向不需要信令。搜索在8
×
8块上进行操作,8
×
8块足够小以充分处理非直线边缘,同时足够大以在应用于量化图像时可靠地估计方向。在8
×
8区域上具有恒定方向也使得滤波器的向量化更容易。对于每个块,我们通过使量化块与最接近的完全定向块(perfectlydirectional block)之间的平方差之和(ssd)最小化来确定与块中的图案最佳匹配的方向。完全定向块是其中沿一个方向上的线的所有像素具有相同值的块。图9展示8
×
8块的方向搜索的示例。
[0131]
[非线性低通定向滤波器]
[0132]
识别方向的主要原因是沿着该方向对齐滤波器抽头,以减少振铃,同时保持定向边缘或图案。然而,单独的定向滤波有时不能充分地减少振铃。还期望在不沿着主方向的像素上使用滤波器抽头。为了降低模糊化的风险,这些额外的抽头被更保守地处理。由于这个原因,cdef定义了主抽头和次抽头。完整的2-d cdef滤波器在以下等式14中表示:
[0133][0134]
这里,d是阻尼参数,s
(p)
和s
(s)
分别是主抽头和次抽头的强度,并且round(
·
)舍入远离零的关系,wk是滤波器权重,并且f(d,s,d)是对滤波后的像素与每个相邻像素之间的差进行操作的约束函数。对于小的差值,f(d,s,d)=d,使得滤波器表现得像线性滤波器。当差值大时,f(d,s,d)=0,这有效地忽略了滤波器抽头。
[0135]
[av1中的环路恢复]
[0136]
提出了一组环内恢复方案,用于在视频编解码后去块中使用,以在传统去块操作之外总体上去噪和提高边缘质量。这些方案可在每适当大小的图块的帧内切换。所描述的特定方案基于可分离的对称维纳滤波器,具有子空间投影的双自引导滤波器和域变换递归滤波器。因为内容统计可以在帧内显著变化,所以这些工具被集成在可切换帧内,其中可以在帧的不同区域中触发不同的工具。
[0137]
[可分离的对称的维纳滤波器]
[0138]
已经证明有前景的一种恢复工具是维纳滤波器。降质帧中的每个像素可以被重建为w
ꢀ×
w窗口内的像素的非因果滤波版本,其中,w=2r 1对于整数r是奇数。如果2d滤波器抽头以列矢量化形式由w2×
1元素矢量f表示,则直接的lmmse优化导致滤波器参数由f=h-1
m给出,其中,h=e[xx
t
]是x的自协方差,w2样本在像素周围的w
×
w窗口中的列矢量化版本,并且m=e[yx
t
]是要估计的x与标量源样本y的互相关性。编码器可以根据去块帧和源中的实现来估计h和m,并且将结果滤波器f发送到解码器。然而,这不仅会在发送w2抽头时引起相当大的比特率成本,而且不可分离的滤波会使解码过于复杂。因此,对f的性质施加了几个附加约束。首先,f被约束为可分离的,使得滤波可以实现为可分离的水平和垂直w抽头卷积。其次,每个水平滤波器和垂直滤波器被约束为对称的。第三,假设水平滤波器系数和垂直滤波器系数的总和为1。
[0139]
[具有子空间投影的双自引导滤波]
[0140]
引导滤波是最近使用局部线性模型的图像滤波范例之一。示例在等式15中示出:
[0141]
y=fx g
[0142]
这里,线性模型用于计算来自未滤波样本x的滤波输出y,其中f和g基于滤波像素附近的降质图像和引导图像的统计来确定。如果引导图像与降质图像相同,则所得到的所谓的自引导滤波具有边缘保持平滑化的效果。我们提出的自引导滤波的具体形式取决于两个参数:半径r和噪声参数e被列举如下:
[0143]
获得每像素周围的(2r 1)
×
(2r 1)个窗口中的像素的均值μ和方差σ2。这可以通过基于积分成像的箱式滤波来有效地实现。
[0144]
为每个像素计算:f=σ2/(σ2 e);g=(1-f)μ
[0145]
将每个像素的f和g计算为像素周围的3
×
3窗口中的f值和g值的平均值,以供使用。
[0146]
滤波由r和e控制,其中较高的r意味着较高的空间方差,并且较高的e意味着较高的范围方差。
[0147]
子空间投影的原理在图10中示意性地图示。即使廉价的恢复x1、x2中没有一个接近源y,适当的乘法器{α,β}可以使它们更接近源,只要它们在正确的方向上稍微移动。
[0148]
[域变换递归滤波器]
[0149]
域变换是仅使用1-d操作的边缘保留图像滤波的最近方法,其可能比其它边缘感知处理方法快得多。使用递归滤波实体,其中处理步骤包括水平的从左到右和从右到左递归1 阶滤波,随后是垂直的从上到下和从下到上滤波,在几次(通常是3次)迭代上进行。从像素的局部水平梯度和局部垂直梯度以及迭代索引获得滤波器抽头。
[0150]
[联合分量滤波(jcf)]
[0151]
在先前的idf p20us056中提出了联合分量滤波(jcf)方法,该方法使用来自多个颜色分量的重建样本作为输入,并且将输出应用于多个颜色分量。
[0152]
环路滤波包括但不限于alf、sao、去块、cdef、ccalf、lr和jcf。环路滤波块 (lfb)是指其上应用了环路滤波过程的单元。lfb可以是来自图片级四叉树分割的块(例如,如上文所论述),或ctu,或较小的块,比如4
×
4或8
×
8。
[0153]
本文公开的实施例可以单独使用或以任何顺序组合使用。进一步地,每个实施例(例如,编码器和/或解码器)可以由处理电路(例如,一个或多个处理器或一个或多个集成电路)来实现。例如,一个或多个处理器可以执行存储在非易失性计算机可读介质中的程序。
[0154]
现在将描述某些实施例。从图片的左上角开始,传统的环路滤波方法将图片分区成几个相等大小的lfb,除了最后一行/列中的lfb之外,最后一行/列中的lfb是分区的剩余部分。即,最后一行/列中的lfb可以具有与图片的其它区域中的那些lfb不同的大小。
[0155]
如以上所描述的,lfb是环路滤波块,其可以不同于编码树单元(ctu),编码树单元也可以被称为超级块(sb)。例如,lfb可以被用于与环路滤波相关联的过程,诸如滤波和训练滤波器系数。虽然ctu/sb可以被用作lfb,但是通常lfb不能用作ctu/sb。
[0156]
在一些实施例中,可以使用ctu或sb的底层分区可以进一步被分区成更小的lfb, lfb又可以受环路滤波的影响。这可以在提高环路滤波输出的精度方面提供有益效果。
[0157]
本文中公开了一种lfb的灵活分区(fplfb),其允许帧内的第一行/列中的lfb的尺寸小于其它lfb。
[0158]
更具体地,帧内的第一行中的lfb的高度和/或第一列中的lfb的宽度可以小于其它 lfb(除了最后一行/列中的lfb之外)的高度和/或宽度。最后一行和/或最后一列中的lfb 的尺寸也可以更小,即,分区的剩余部分的尺寸可以更小。
[0159]
在一个实施例中,当lfb具有固定的m*n大小时,第一行和第一列中的lfb可以具有k*l、k*n或m*l大小,其中m和n是小于图片宽度和高度的正整数,并且k和l是小于 m和n的正整数。图11描绘了当第一行/列和最后一行/列具有较小的lfb时的lfb分区的示例。
[0160]
在一个示例中,所提出的公开可以应用于ccalf的信令和处理,其中ctu是用于滤波的基本单位,即ctu大小是m*n。
[0161]
在另一示例中,所提出的公开内容可以应用于以4
×
4亮度lfb作为输入的alf分类过程。
[0162]
在另一示例中,所提出的公开可以应用于采用8
×
8亮度lfb作为输入的cdef边缘方向推导过程。
[0163]
在另一示例中,所提出的公开可以应用于jcf的信令和处理。
[0164]
如上面简要讨论的,图11示出了lfb分区示例,其中第一行/列和最后一行/列具有 m*n值的较小lfb(以灰色示出),其可以包括32
×
32、64
×
64、128
×
128。
[0165]
在一个实施例中,当lfb基于四叉树分割时,第一行和/或第一列中的lfb具有比相同四叉树分割级中的其它lfb小的尺寸。
[0166]
在实施例中,首先确定第一行中的lfb的高度和第一列中的lfb的宽度,然后执行对称四叉树分割。第一行/列中的lfb具有比四叉树区域中的lfb小的尺寸。图12描绘了当第一行/列和最后一行/列具有较小的lfb时基于对称四叉树的lfb分区的示例。这里,没有填充的lfb指示基于对称四叉树的分区,并且填充有灰色填料的lfb具有比基于四叉树的lfb小的尺寸。
[0167]
在实施例中,从帧的左上角开始执行非对称四叉树分割。图13描绘了非对称四叉树分割的示例。这里,没有填充的lfb指示基于非对称四叉树的分区,并且在最后一行/列中填充灰色的lfb是图片级四叉树分区的剩余部分。
[0168]
在实施例中,所提出的方法被应用于基于四叉树的
[0169]
根据实施例,仅第一行和/或第一列可以具有较小的lfb,并且在最后一行/列中不允许分区的剩余部分。图14描绘了当仅第一行和第一列具有较小的lfb时的lfb分区的示例。图15描绘了当仅第一行/列具有较小的lfb时基于对称四叉树的lfb分区的示例。图 16描绘了非对称四叉树分割的示例。
[0170]
根据实施例,不同的环路滤波器可以使用不同的fplfb方案。
[0171]
在一个实施例中,去块、cdef和lr可以具有不同的fplfb方案。
[0172]
在一个实施例中,去块、alf、ccalf和sao可以具有不同的fplfb方案。
[0173]
根据实施例,不同的颜色分量可以使用不同的fplfb方案。
[0174]
在实施例中,y、cb和cr可以具有不同的fplfb方案。
[0175]
在实施例中,r、g和b可以具有不同的fplfb方案。
[0176]
根据实施例,第一行中的lfb的高度和第一列中的lfb的宽度可以在任何参数集(例如,包括dps、vps、sps、pps、aps等的高级语法)、条带头、图块/图块组头或sei消息中用信号通知。
[0177]
根据实施例,第一行和第一列中的lfb的尺寸可以是硬编码的。
[0178]
在一个示例中,第一行中的lfb的高度可以是32,并且第一列中的lfb的宽度可以是32,并且图片中的其余lfb可以是128
×
128(包括最后一行和最后一列中的lfb)。
[0179]
根据实施例,可以每序列或每图片用信号通知二进制标志,以指示第一行lfb是否具有较小的尺寸;如果是,则可以用信号通知单独的语法以指示第一行的高度。可以每序列或每图片用信号通知另一个二进制标志,以指示lfb的第一列是否具有较小的尺寸。如果是,则可以用信号通知单独的语法以指示第一列的宽度。
[0180]
在一个示例中,在sps中用信号通知两个二进制标志(lfb_first_row_smaller和 lfb_first_column_smaller),以指示第一行和第一列中的lfb是否具有较小的尺寸。如果是,则用信号通知lfb_first_row_height和lfb_first_column_width以指示第一行的高度
和第一列的宽度。
[0181]
根据实施例,可以用信号通知一个单独的语法来指示第一行的高度,并且可以用信号通知另一个单独的语法来指示第一列的宽度。
[0182]
根据实施例,用信号通知一个单独的语法以指示第一行的高度和第一列的宽度。也就是说,第一行的高度和第一列的宽度可以相同。
[0183]
根据实施例,可以使用单独的语法来用信号通知特定的环路滤波分区,例如,第一行和最后一行的高度和/或第一列和最后一列的宽度,该单独的语法不同于用于用信号通知编码树单元(ctu)的分区的语法,编码树单元也可以被称为超级块(sb)(即,下层分区)。环路滤波分区可以与下层ctu和sb分区相同或不同。在一些实施例中,可以采用环路滤波分区来使用下层ctu和sb分区。
[0184]
同样根据本公开,环路滤波技术和环路滤波分区可以被应用于包括按照传统分区方案分区的ctb/sb的帧。
[0185]
例如,可以修改传统的分区方案,使得第一行和/或第一列具有与根据传统分区方案分配的尺寸不同的(例如更小)尺寸。这将增加所应用的环路滤波的总精度。现在将描述实施例可以在其中运行的环境。
[0186]
图17是根据实施例的通信系统1700的框图。通信系统1700可以包括经由网络1750 互连的至少两个终端1710和1720。对于数据的单向传输,第一终端1710可以对本地位置处的数据进行编码以经由网络1750传输到第二终端1720。第二终端1720可以从网络1750 接收第一终端1710的已编码数据,对已编码数据进行解码并且显示已解码数据。单向数据传输在媒体服务应用等中可能是常见的。
[0187]
图17进一步图示了第二对终端1730和1740,这些终端被提供用于支持例如在视频会议期间可能发生的已编码数据的双向传输。对于数据的双向传输,每个终端1730或1740 可以对在本地位置捕获的数据进行编码,以便经由网络1750传输到另一个终端。每个终端 1730或1740还可以接收由另一终端发送的已编码数据,可以对该已编码数据进行解码,并且可以在本地显示设备上显示已解码数据。
[0188]
在图17中,终端1710-1740可以被图示为服务器、个人计算机和智能电话,但是实施例的原理不限于此。实施例应用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议设备。网络1750表示在终端1710-1740当中传送已编码数据的任何数量的网络,包括例如有线和/或无线通信网络。通信网络1750可以在电路交换和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。为了本讨论的目的,网络1750 的体系结构和拓扑对于实施例的操作可能是不重要的,除非在下文中解释。
[0189]
图18是根据实施例的g-pcc压缩器1803和g-pcc解压缩器1810在环境中的布置图。所公开的主题可以等同地应用于其他使能的应用,包括例如视频会议、数字tv、在包括cd、dvd、记忆棒等的数字介质上存储压缩数据等。
[0190]
流系统1800可以包括捕获子系统1813,该捕获子系统1813可以包括源1801,例如数码照相机,其创建例如未压缩数据1802。具有较高数据量的数据1802可以由联接到源 1801的g-pcc压缩器1803处理。g-pcc压缩器1803可以包括硬件、软件或其组合,以实现或实施如下面更详细描述的所公开的主题的各方面。具有较低数据量的已编码数据 1804可以存储在流服务器1805上供将来使用。一个或多个流客户端1806和1808可以访问流服务器
1805以检索已编码数据1804的副本1807和1809。客户机1806可以包括g
‑ꢀ
pcc解压缩器1810,该g-pcc解压缩器1810对已编码数据的输入副本1807进行解码并且创建可以在显示器1812或其它呈现设备(未描绘)上呈现的输出数据1811。在一些流系统中,已编码数据1804、1807和1809可以根据视频编码/压缩标准来编码。这些标准的示例包括由mpeg为g-pcc开发的那些标准。
[0191]
以上描述的技术可以在适于压缩/解压缩的视频编码器和/或解码器中实现。编码器和/ 或解码器可以以硬件、软件或其任何组合来实现,并且软件(如果有的话)可以存储在一个或多个非易失性计算机可读介质中。例如,方法(或实施例)、编码器和解码器中的每一个可以由处理电路(例如,一个或多个处理器或一个或多个集成电路)来实现。在一个示例中,一个或多个处理器执行存储在非易失性计算机可读介质中的程序。
[0192]
以上描述的技术可以被实现为使用计算机可读指令并且物理地存储在一个或多个计算机可读介质中的计算机软件。例如,图19示出了适于实现本公开的某些实施例的计算机系统900。
[0193]
计算机软件可以使用任何合适的机器代码或计算机语言来编码,该机器代码或计算机语言可以经过汇编、编译、链接或类似机制以创建包括可以由计算机中央处理单元(cpu)、图形处理单元(gpu)等直接或通过解释、微代码执行等执行的指令的代码。
[0194]
这些指令可以在各种类型的计算机或其部件上执行,包括(例如)个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
[0195]
图19中所示的用于计算机系统900的部件是示例,并且不旨在对实现本公开的实施例的计算机软件的使用范围或功能提出任何限制。部件的配置也不应被解释为对计算机系统900的非限制性实施例中图示的任何一个部件或其组合具有任何依赖性或要求。
[0196]
计算机系统900可以包括某些人机接口输入设备。这样的人机接口输入设备可以响应于一个或多个人类用户通过例如触觉输入(诸如:击键、滑动、数据手套运动)、音频输入(诸如:语音、拍打)、可视输入(诸如:手势)、嗅觉输入(未描绘)。人机接口设备还可以用于捕获不一定与人的有意识输入直接相关的某些媒体,诸如音频(诸如:语音、音乐、环境声音)、图片(诸如:扫描图片,从静止图像照相机获得的摄影图片)、视频 (诸如二维视频、包括立体视频的三维视频)。
[0197]
输入人机接口设备可以包括以下中的一个或多个(每种仅描绘了其中的一个):键盘 901、鼠标902、触控板903、触摸屏910、数据手套、操纵杆905、麦克风906、扫描仪907、照相机908。
[0198]
计算机系统900还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感觉。这样的人机接口输出设备可以包括触觉输出设备(例如通过触摸屏910、数据手套或操纵杆905的触觉反馈,但是也可以存在不用作输入设备的触觉反馈设备)。例如,这样的设备可以是音频输出设备(诸如:扬声器909、耳机(未示出))、视觉输出设备(诸如用于包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕的屏幕910,每个屏幕具有或不具有触摸屏输入能力,每个屏幕具有或不具有触觉反馈能力,其中一些屏幕能够通过诸如立体输出的手段输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘)、全息显示器和烟雾罐(未示出)和打印机(未示出)。
[0199]
计算机系统900还可以包括人类可访问的存储设备及其相关联的介质,诸如光学介质 (其包括具有cd/dvd的cd/dvd rom/rw 920等介质921)、拇指驱动器922、可移动硬盘驱动器或固态驱动器923、诸如磁带和软盘(未示出)的传统磁性介质、诸如安全软件狗(未示出)的基于专用rom/asic/pld的设备等。
[0200]
本领域技术人员还应该理解,结合当前公开的主题使用的术语“计算机可读介质”不包含传输介质、载波或其它易失性信号。
[0201]
计算机系统900还可以包括到一个或多个通信网络的接口。网络可以例如是无线的、有线的、光学的。网络可以进一步是本地的、广域的、大城市的、车载的以及工业的、实时的、延迟容忍的等等。网络的示例包括局域网,诸如以太网、无线lan、包括gsm、 3g、4g、5g、lte等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络、包括canbus的车辆和工业网络等。某些网络通常需要附接到某些通用数据端口或外围总线949(诸如,计算机系统900的usb端口)的外部网络接口适配器;其它网络通常通过附接到如下所描述的系统总线而集成到计算机系统900的内核中(例如以太网接口集成到pc计算机系统中或蜂窝网络接口集成到智能电话计算机系统中)。使用这些网络中的任何一个,计算机系统900可以与其它实体通信。这种通信可以是单向的、仅接收的(例如,广播tv)、仅单向发送的(例如,canbus到某些canbus设备),或双向的(例如到使用局域数字网络或广域数字网络的其它计算机系统)。这样的通信可以包括到云计算环境955的通信。可以在如以上所描述的那些网络和网络接口中的每一个上使用某些协议和协议栈。
[0202]
上述人机接口设备、人可访问的存储设备和网络接口954可以附接到计算机系统900 的内核940。
[0203]
内核940可以包括一个或多个中央处理单元(cpu)941、图形处理单元(gpu)942、现场可编程门阵列(fpga)943形式的专用可编程处理单元、用于某些任务的硬件加速器 944等。这些设备连同只读存储器(rom)945、随机存取存储器946、诸如内部非用户可访问硬盘驱动器、ssd等的内部大容量存储装置947可以通过系统总线948连接。在一些计算机系统中,系统总线948可以以一个或多个物理插头的形式来访问,以实现由附加cpu、 gpu等进行的扩展。外围设备可以直接附接到内核的系统总线948,或者通过外围总线949 附接到该内核的系统总线。外围总线的体系结构包括pci、usb等。图形适配器950可以被包括在内核940中。
[0204]
cpu 941、gpu 942、fpga 943和加速器944可以执行某些指令,这些指令的组合可以构成前述计算机代码。该计算机代码可以存储在rom 945或ram 946中。过渡数据也可以存储在ram 946中,而永久数据可以存储在例如内部大容量存储装置947中。可以通过使用高速缓冲存储器来启用对任何存储器设备的快速存储和检索,该高速缓冲存储器可以与一个或多个cpu 941、gpu 942、大容量存储装置947、rom 945、ram 946等紧密相关联。
[0205]
计算机可读介质上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是为了本公开的目的而专门设计和构造的那些,或者它们可以是计算机软件领域的技术人员公知和可用的类型。
[0206]
作为示例而非作为限制,具有体系结构(900)并且特别是内核(940)的计算机系统可以提供作为执行包含在一个或多个有形的计算机可读介质中的软件的一个或多个处理器(包括cpu、gpu、fpga、加速器等)的结果的功能。这样的计算机可读介质可以是与如上所
介绍的用户可访问大容量存储装置相关联的介质,以及具有非易失性性质的内核 940的某些存储装置(诸如内核内部大容量存储装置947或rom 945)。实现本公开的各种实施例的软件可以存储在这样的设备中并且由内核940执行。根据特定需要,计算机可读介质可以包括一个或多个存储器设备或芯片。软件可以使内核940并且特别是其中的处理器(包括cpu、gpu、fpga等)执行本文中描述的特定过程或特定过程的特定部分,包括定义存储在ram 946中的数据结构,并且根据软件定义的过程修改这样的数据结构。此外或作为替代方案,该计算机系统可以提供作为逻辑硬连线或以其他方式体现在电路中的结果的功能(例如:加速器944),其可以代替软件或与软件一起操作以执行本文中描述的特定过程或特定过程的特定部分。适当时,对软件的引用可以包含逻辑,反之亦然。适当时,对计算机可读介质的引用可以包含存储用于执行的软件的电路(诸如集成电路 (ic))、包含用于执行的逻辑的电路,或两者。本公开包含硬件和软件的任何合适的组合。
[0207]
虽然本公开已经描述了几个非限制性实施例,但是存在落入本公开的范围内的改变、置换和各种替代等同物。因此,应当理解,本领域技术人员将能够设计出虽然未在本文中明确示出或描述但体现本公开的原理并且因此在本公开的精神和范围内的许多系统和方法。
再多了解一些

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

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

相关文献