视频编码中用于帧内分区的转换类型分配方法和装置与流程

文档序号:29305452发布日期:2022-03-19 15:54阅读:147来源:国知局
视频编码中用于帧内分区的转换类型分配方法和装置与流程
视频编码中用于帧内分区的转换类型分配方法和装置
1.【相关申请的交叉引用】
2.本发明要求2019.1.31日申请的美国临时专利申请no.62/799,127和2019.3.5日申请的美国临时专利申请62/813,810的优先权。以上美国临时专利申请之内容通过引用一并并入本案。
【技术领域】
3.本发明涉及使用isp(intra sub-partition,帧内子分区)模式的视频编解码的预测。特别地,本发明公开了用于isp模式的变换类型选择,以提高编解码性能或简化编解码过程。


背景技术:

4.高效视频编解码(hevc)是由视频编解码联合合作团队(jct-vc)开发的新的国际视频编解码标准。hevc基于混合的基于块的运动补偿的类似于dct的(hybrid block-based motion-compensated dct-like)变换编解码架构。压缩的基本单位称为编解码单位(cu),是2nx2n的正方形块,每个cu可以递归地分为四个较小的cu,直到达到预定义的最小大小。每个cu包含一个或多个预测单元(pu)。
5.为了在hevc中实现混合编解码架构的最佳编解码效率,每个pu有两种预测模式(帧内预测和帧间预测)。对于帧内预测模式,空间相邻的重构像素可用于生成方向预测。hevc中最多有35个方向。对于帧间预测模式,时间重构参考帧可用于生成运动补偿的预测。共有三种不同的模式,包括跳过、合并和帧间高级运动向量预测(amvp)模式
6.当在帧间amvp模式下对pu进行编解码时,利用传输的运动向量差(mvd)执行对运动补偿的预测,该运动向量差可与运动向量预测子(mvp)一起用于推导运动向量(mv)。为了在帧间amvp模式下确定mvp,高级运动向量预测(amvp)方案用于在包括两个空间mvp和一个时间mvp的amvp候选集中选择运动向量预测子。因此,在amvp模式下,需要对mvp的mvp索引和相应的mvd进行编码和传输。另外,在列表0(即l0)和列表1(即l1)的双向预测和单向预测中,指定帧间预测方向的帧间预测方向还应附带每个列表的参考帧索引被编码和传输。
7.当以跳过或合并模式对pu进行编解码时,跳过和合并模式利用运动推断方法,除了所选择的候选的合并索引,不发送运动信息。由于在跳过和合并模式下运动向量差(mvd)为零,因此跳过或合并编解码块的mv与运动向量预测子(mvp)相同(即mv=mvp+mvd=mvp)。因此,跳过或合并编解码块从位于同一位置的图片(co-located picture)中的空间相邻块(空间候选)或时间块(时间候选)获得运动信息。位于同一位置的图片是列表0或列表1中的第一个参考图片,在切片标头中发信。在跳过pu的情况下,残差信号也被省略。为了确定跳过和合并模式的合并索引,使用合并方案在包含四个空间mvp和一个时间mvp的合并候选集中选择运动向量预测子。
8.图1示出了用于为amvp和合并方案两者导出空间和时间mvp的相邻pu。在amvp中,左侧的mvp是a0、a1中的第一个可用的,顶部的mvp是b0、b1、b2中的第一个可用的,而时间mvp
是t
br
或t
ctr
中的第一个可用的(首先使用t
br
,如果t
br
不可用,则使用t
ctr
)。如果左mvp不可用,并且顶部mvp不是按比例缩放的mvp,则在b0,b1和b2之间存在按比例缩放的mvp时,可以导出第二个顶部mvp。amvp的mvp的列表大小为2。因此,在两个空间mvp和一个时间mvp的推导过程之后,只有前两个mvp可以包含在mvp列表中。如果在删除冗余后可用mvp的数量少于两个,则将零向量候选添加到候选列表。
9.对于跳过和合并模式,如图1所示,从a0、a1、b0和b1导出最多四个空间合并索引,并且从t
br
或t
ctr
导出一个时间合并索引(首先使用t
br
,如果t
br
不可用,则使用t
ctr
)。注意,如果四个空间合并索引中的任何一个都不可用,则位置b2然后用于导出合并索引作为替换。在四个空间合并索引和一个时间合并索引的推导过程之后,应用去除冗余来去除冗余合并索引。如果在删除冗余后可用的合并索引数小于五个,则将导出三种类型的附加候选并将其添加到候选列表中。
10.通过使用原始合并候选来创建其他双向预测合并候选。其他候选分为三种候选类型:
11.1.合并的双向预测合并候选(候选类型1)
12.2.按比例缩放的双向预测合并候选(候选类型2)
13.3.零向量合并/amvp候选(候选类型3)
14.在候选类型1中,通过组合原始合并候选来创建组合的双向预测合并候选。尤其是原始候选中的两个候选,具有mvl0(列表0中的运动向量)和refidxl0(列表0中的参考图片索引)或mvl1(列表1中的运动向量)和refidxl1(列表1中的参考图片索引),用于创建双向预测合并候选。图2示出了用于组合的双向预测合并候选的导出过程的示例。候选列表210对应于原始候选列表,其包括l0中的mvl0_a,ref0(231)和l1中的mvl1_b,ref(232)。可以通过组合l0和l1中的候选来形成双向预测mvp 233。
15.在候选类型2中,通过缩放原始合并候选来创建缩放的双向预测合并候选。特别地,原始候选中的一个候选(具有mvlx(列表x中的运动向量)和refidxlx(列表x中的参考图片索引),x可以为0或1)用于创建双向预测合并候选。例如,一个候选a是具有mvl0_a和ref0的列表0单向预测,首先将ref0复制到列表1中的参考索引ref0’。此后,通过使用ref0和ref0’缩放mvl0_a来计算mvl0’_a。然后,创建在列表0中具有mvl0_a和ref0以及在列表1中具有mvl0’_a和ref0’的双向预测合并候选,并将其添加到合并候选列表中。缩放的双向预测合并候选的推导过程的示例在图3中示出,其中候选列表310对应于原始候选列表,并且候选列表320对应于包括两个生成的双向预测mvp的扩展候选列表。
16.在候选类型3中,通过组合零向量和参考索引来创建零向量合并/amvp候选。图4a示出了用于添加零向量合并候选的示例,其中候选列表410对应于原始合并候选列表,而候选列表420通过添加零候选而对应于扩展的合并候选列表。图4b示出了用于添加零向量amvp候选的示例,其中候选列表430(l0)和432(l1)对应于原始amvp候选列表,并且通过添加零候选候选列表440(l0)和442(l1)对应于扩展的amvp候选。如果零向量候选不重复,则将其添加到合并/amvp候选列表。
17.当以帧内模式对pu进行编解码时,帧内预测方法仅利用与当前预测单元(pu)相邻的一个参考层(或线)和帧内预测模式之一来生成当前pu的预测子。与当前预测单元(pu)相邻的参考层是指用于帧内预测的参考l形重构样本。对于帧内预测模式,空间相邻的重构像
素可用于生成方向预测。hevc中最多有35个方向。在hevc中的全部35种帧内预测模式中,有3种模式被认为是用于在当前预测块中预测帧内预测模式的最可能模式(mpm)。选择了三种模式作为mpm集合。例如,mpm集合包括在左预测块和上方预测块中使用的帧内预测模式。如果两个相邻块中的帧内预测模式是相同的并且都是定向的,或者两个相邻块中只有一个可用并且在帧内预测中进行了编解码,并且同时此帧内预测模式是定向的,则紧邻该方向的两个相邻方向也用于mpm中。在mpm集合中还考虑了dc模式和平面模式以填充mpm中的可用点,尤其是在上方或顶部相邻块不可用或未在帧内预测中编解码,或者相邻块中的帧内预测模式并非定向的时。如果用于当前预测块的帧内预测模式是mpm集合中的模式之一,则使用1或2个比特子(bin)来表示是哪个。否则,它与mpm集合中的任何条目都不相同,它将被编解码为非mpm模式。总共有32个这样的非mpm模式,并且使用(5比特)固定长度编解码方法来发信该模式。33个方向如图5所示。在图5中,总共有33种定向模式(directional mode),因此使用h、v、v、该系统可以扩展到一般情况,其中水平和垂直模式表示为h和v模式。对于其他定向模式,它们可以表示为h+k或v+k模式,其中k=
±
1,
±
2等。例如,如果使用65个定向模式,则k的范围可以从
±
1到
±
16。
18.关于信令,在联合勘探测试模型(joint exploration test model,简写为jem)(j.chen等人,“algorithm description of joint exploration test model 7(jem 7)”,itu-t sg 16wp 3和iso/iec jtc 1/sc 29/wg 11,第7次会议:意大利都灵,2017年7月,文档:jvet-g1001)中,以下方法用于编码亮度分量的帧内预测模式。
19.·
mpm模式的编解码:从相邻模式中生成6种最可能模式(most probable mode,简写为mpm)的列表。如果预测模式是mpm列表中的模式之一,则使用截断的一元编解码(unary coding)。
20.·
非mpm模式的编解码:如果最佳预测模式不属于mpm列表,则使用固定长度代码或截断的二值化方法。
21.在jem测试模型中生成mpm列表
22.在jem中,包含在mpm列表中的模式分为三类:
23.·
相邻块的帧内模式(即,相邻帧内模式)
24.·
推导的帧内模式
25.·
默认帧内模式
26.使用五个相邻的帧内预测模式来形成mpm列表。图6显示了5个相邻模式的位置,即左(l)、上(a)、左下(bl)、右上(ar)和左上(al)。通过在mpm列表中插入5个相邻的帧内模式(intra mode)、平面模式和dc模式形成列表。修剪过程用于删除重复的模式,以便mpm列表中只能包含唯一的模式。包括初始模式的顺序为:左、上、平面、dc、左下、右上,然后左上。
27.如果mpm列表不完整(即列表中少于6个mpm候选),则添加派生模式(derived mode)。通过将-1或+1加到mpm列表中已包括的角度模式中,可以获得派生模式。这样的附加导出模式不是从非角度模式(non-angular mode)(即,dc或平面模式)生成的。
28.最后,如果mpm列表仍然不完整,则将默认模式按以下顺序添加到列表中:垂直、水平、模式2和对角线模式。作为此过程的结果,将生成6个mpm模式的唯一列表。
29.用于选择残差的61个非mpm的编解码如下进行。首先将61个非mpm分为两组:选定
模式集和未选定模式集。所选模式组包含16个模式,其余模式(即45个模式)分配给未选择模式组。当前模式所属的模式集在比特流中用标志指示。如果要指示的模式在所选模式集中,则将以4比特固定长度代码发信所选模式。
30.如果要指示的模式来自未选择的集合,则用截断的二进制代码来发信选择的模式。选定的模式集是通过对61种非mpm模式进行子采样生成的,如下所示:
31.选定的模式集={{0,4,8,12,12,20

60},以及
32.未选定的模式集={{1,2,3,5,6,7,9,10

59}。
33.为了改善变换,在jctvc-b024(c.yeo等人,“mode-dependent fast separable klt for block-based intra coding”,itu-t sg16 wp3和iso/iec jtc1/sc29/wg11的视频编解码联合协作小组(jct-vc),第2次会议:瑞士日内瓦,2010年7月21日至28日,文档:jctvc-b024)、jctvc-c108(a.saxena等人,“jointly optimal intra prediction and adaptive primary transform”,itu-t sg16 wp3和iso/iec jtc1/sc29/wg11的视频编解码联合协作小组(jct-vc),第3次会议:中国广州,2010年10月7日至15日,文件:jctvc-c108)、jctvc-e125(a.saxena等人,“ce7:mode-dependent dct/dstwithout 4*4 full matrix multiplication for intra prediction”,itu-t sg16 wp3和iso/iec jtc1/sc29/wg11的视频编解码联合协作小组(jct-vc),第5次会议:日内瓦,瑞士,2011年3月16-23日,文件:jctvc-e125)中,引入了离散正弦变换(dst)来与dct可替换地用于斜的帧内模式(oblique intra mode)。对于帧间预测的残差,dct-ii是当前hevc中使用的唯一变换。
34.然而,dct-ii并不是对于所有情况的最佳变换。在jctvc-g281(j.an等人,“non-ce7:boundary-dependent transform for inter-predicted residue”,itu-t sg16 wp3和iso/iec jtc1/sc29/wg11的视频编解码联合协作小组(jct-vc),第7次会议:瑞士日内瓦,2011年11月21-30日,文档:jctvc-g281)中,vii型离散正弦变换(dst-vii)和iv型离散余弦变换(dct-iv))被建议在某些情况下代替dct-ii。在jvet-d1001中(j.chen等人,“algorithm description of joint exploration test model 4”,itu-t sg16 wp3和iso/iec jtc1/sc29/wg11的联合视频探索小组(jvet),第四次会议:2016年10月15日至21日,中国成都,文件:jvet-d1001),还提出了自适应多变换(amt)方案用于帧内和帧间编解码块的残差编解码。除了hevc中的当前变换外,它还利用了dct/dst系列中的多个选定变换。新引入的变换矩阵是dst-vii、dct-viii、dst-i和/或dct-v。对于帧内残差编解码,由于不同帧内预测模式的残差统计不同,因此使用依赖于模式的变换候选选择过程。如表1所示,定义了三个变换子集,并根据帧内预测模式选择了变换子集,如表2所示。
35.表1:三个预定义的变换候选集
[0036][0037]
表2:为每个帧内预测模式选择的(h)水平和(v)垂直变换集
[0038][0039]
帧内子分区(isp)模式
[0040]
在jvet-m0102(s.de-lux
á
n-hern
á
ndez等人,“ce3:intra sub-partitions coding mode(tests 1.1.1and 1.1.2)”,itu-t sg16 wp3和iso/iec jtc1/sc29/wg11,第2次会议:marrakech,ma,2019年1月,文档:jvet-m0102)中,帧内子分区(isp)编解码模式是基于行的(line-based)帧内(line-based intra,简写为lip)编解码的更新版本,可纠正算法先前设计中与硬件有关的问题。isp工具根据块大小尺寸将亮度帧内预测的块垂直或水平划分为2或4个子分区,如表3所示。图7a和图7b显示了这两种可能性的示例。在图7a中,hxw块710被划分为两个h/2xw块720(即,水平分区)或两个hxw/2块730(即,垂直分区)。例如,该块可以是4
×
8块或8
×
4块。在图7b中,除了4x8、8x4和4x4块之外,hxw块710被划分为四个h/4xw块740(即,水平分区)或四个hxw/4块750(即,垂直分区)。所有子分区均满足具有至少16个样本的条件。
[0041]
表3:取决于块大小的子分区数
[0042]
块大小子分区数4
×
4未划分4
×
8及8
×
42其他情况4
[0043]
对于这些子分区中的每个,通过对由编解码器发送的系数进行熵解码,然后对其进行逆量化和逆变换,来生成残差信号。然后,对子分区进行帧内预测,最后通过将残差信号与预测信号相加来获得相应的重构样本。因此,每个子分区的重构值将可用于生成下一个分区的预测,该下一分区将重复该过程,依此类推。所有子分区共享相同的帧内模式
[0044]
基于帧内模式和所利用的分割,使用两种不同类别的处理顺序,其被称为正常顺序和反向顺序。按照正常顺序,要处理的第一个子分区是包含cu左上角样本,然后继续向下
(水平拆分)或向右(垂直拆分)的子分区。结果,用于生成子分区预测信号的参考样本仅位于线的左侧和上方。另一方面,反向处理顺序要么从包含cu左下角样本的子分区开始,然后继续向上,要么从包含cu右上角样本的子分区开始,然后向左继续。
[0045]
在jvet-m0102中可以找到該算法的更詳細的說明。
[0046]
在开发vvc软件中,用于已缩放变换系数(scaled transform coefficients)的变换过程可以描述如下。
[0047]
该过程的输入是:
[0048]

亮度位置(xtby,ytby),指定相对于当前图片的左上角亮度采样的当前亮度变换块的左上角采样,
[0049]

变量ntbw,指定当前变换块的宽度,
[0050]

变量ntbh,指定当前变换块的高度,
[0051]

变量cidx,指定当前块的颜色分量,
[0052]

缩放的变换系数(ntbw)x(ntbh)数组d[x][y],其中x=0..ntbw-1,y=0..ntbh-1。
[0053]
该过程的输出是残差样本的(ntbw)x(ntbh)数组r[x][y],其中x=0..ntbw-1,y=0..ntbh-1。
[0054]
变量implicitmtsenabled的导出如下:(当启用多重变换选择(表示为mts)时,implicitmtsenabled等于0表示用发信的变换索引确定变换类型,而implicitmtsenabled等于1表示利用隐式变换设置(例如类型设置、块设置、模式设置或以上设置的任意组合)确定变换类型。在某些情况下,implicitmtsenabled设置为1。以下是一个示例。
[0055]
·
如果sps_mts_enabled_flag等于1(这意味着启用了多个变换选择),并且满足以下条件之一,则将implicitmtsenabled设置为等于1:
[0056]

intrasubpartitionssplittype不等于isp_no_split(这意味着使用isp模式)
[0057]

cu_sbt_flag等于1,并且max(ntbw,ntbh)小于或等于32
[0058]

sps_explicit_mts_intra_enabled_flag和/或sps_explicit_mts_inter_enabled_flag等于0,并且cupredmode[xtby][ytby]等于mode_intra,并且不使用低频不可分变换(low frequency non-separable transform,简写为lfnst)和/或基于矩阵的帧内预测(matrixed-based intra prediction,简写为mip)。
[0059]
·
否则,implicitmtsenabled设置为等于0。
[0060]
implicitmtsenable的条件可以是上述条件的任何子集。
[0061]
指定水平变换内核的变量trtypehor和指定垂直变换内核的变量trtypever如下得出:
[0062]
trtypehor或trtypever的值等于0表示默认的变换类型,例如dct-ii。trtypehor或trtypever的值大于0表示从mts选择的变换类型。例如,trtypehor或trtypever的值等于1表示dst-vii,trtypehor或trtypever的值等于2表示dct-viii。
[0063]
·
如果cidx大于0(当前tb是色度tb),则trtypehor和trtypever设置为等于0。
[0064]
·
如果intrasubpartitionssplittype不等于isp_no_split并且lfnst_idx不等于0,则trtypehor和trtypever设置为等于0。
[0065]
·
否则,如果implicitmtsenabled等于1,则可以使用不同的方法来确定
trtypehor或trtypever。
[0066]
以下是一个示例。
[0067]

如果intrasubpartitionssplittype不等于isp_no_split,则根据intrapredmode在表6中指定trtypehor和trtypever。
[0068]

否则,如果cu_sbt_flag等于1,则根据cu_sbt_horizontal_flag和cu_sbt_pos_flag在表5中指定trtypehor和trtypever。
[0069]

否则,(sps_explicit_mts_intra_enabled_flag和sps_explicit_mts_inter_enabled_flag等于0),trtypehor和trtypever的得出如下:
[0070]
trtypehor=(ntbw》=4&&ntbw《=16&&ntbw《=ntbh)?1:0
ꢀꢀ
(1)
[0071]
trtypever=(ntbh》=4&&ntbh《=16&&ntbh《=ntbw)?1:0
ꢀꢀ
(2)
[0072]
否则,根据tu_mts_idx[xtby][ytby]在表4中指定trtypehor和trtypever.
[0073]
表4

trtypehor和trtypever的指定取决于tu_mts_idx[x][y](specification of trtypehor and trtypever depending on tu_mts_idx[x][y])
[0074][0075]
表5

trtypehor和trtypever的指定取决于cu_sbt_horizontal_flag和cu_sbt_pos_flag(specification of trtypehor and trtypever depending on cu_sbt_horizontal_flag and cu_sbt_pos_flag)
[0076]
cu_sbt_horizontal_flagcu_sbt_pos_flagtrtypehortrtypever0021011110121111
[0077]
表6

trtypehor和trtypever的指定取决于predmodeintra(specification of trtypehor and trtypever depending on predmodeintra)
[0078]
[0079][0080]
当开发新的编解码工具并将其用于变换时,可以选择多种变换类型,例如dct-ii、dst-vii或dst-viii,以提高编解码效率。对于水平和垂直变换,不是将dct-ii设置为默认变换模式(与其他变换模式相比,它用最短的码字指示),而是可以使用一些标准为水平变换和垂直变换选择默认变换类型,以用于帧间或帧内块。
[0081]
在vtm中,当以合并模式对cu进行编解码时,并且如果cu包含至少64个亮度样本(即cu宽度乘以cu高度等于或大于64),则发信附加标志,以指示是否将组合帧间/帧内预测(combined inter/intra prediction,简写为ciip)模式应用于当前cu。为了形成ciip预测,首先从两个附加语法元素中得出帧内预测模式。最多可以使用四种帧内预测模式dc、平面、水平或垂直。然后,使用常规帧内和帧间解码过程导出帧间预测和帧内预测信号。最后,对帧间和帧内预测信号进行加权平均以获得ciip预测。可以在jvet-l0100中找到该算法的更详细说明(m.-s.chiang等人,“ce10.1.1:multi-hypothesis prediction for improving amvp mode,skip or merge mode,and intra mode”,itu-t sg 16wp 3和iso/iec jtc 1/sc 29/wg 11,第12次会议:中国澳门,2018年10月,文档:jvet-l0100)。


技术实现要素:

[0082]
公开了一种用于视频编解码的预测的方法和装置。根据该方法,在视频编码器侧接收与当前图片中的当前块有关的输入数据,或者在视频解码器侧接收与包括当前图片中的当前块的压缩数据相对应的视频比特流。如果当前块使用帧内子分区(isp)模式,则执行以下步骤:将当前块水平或垂直划分为多个子块;根据包括统一设置或块设置的设置组,从候选变换集合中为多个子块中的每一个子块确定目标水平变换和目标垂直变换,其中,所述统一设置适用于特定的编解码模式、普通帧内模式或其他帧内相关模式,块设置会基于当前块的块宽度、块高度、块比率、块大小或其任意组合;将目标水平变换和目标垂直变换应用于多个子块中的每一个子块。
[0083]
还公开了用于视频编解码的另一种变换方法和装置。根据该方法,当不需要将/已被发信变换索引来选择目标水平变换和目标垂直变换时,根据统一设置,从候选变换集中确定针对当前块的目标水平变换和目标垂直变换,其中,统一设置包括两个或更多个帧内模式或帧内相关模式。然后将目标水平变换和目标垂直变换应用于当前块。
[0084]
在一个实施例中,目标水平变换和目标垂直变换属于包括dct-ii、dst-vii、dct-viii和翻转(flipped)dst-vii的任意组合的子集。例如,代表(目标水平变换,目标垂直变换)的一对对应于(dct-ii,dct-ii),(dst-vii,dct-ii),(dct-ii,dst-vii)或(dst-vii,dst-vii)。
[0085]
在一个实施例中,基于当前块的块宽度、块高度、块比率、块大小或其任意组合来确定目标水平变换和目标垂直变换。例如,当块宽度小于或等于块高度时,目标水平变换从dct-ii更改为另一种变换类型。在另一个示例中,当块宽度在[4,16]范围内,块宽度小于或等于块高度或两个块宽度都在[4,16]范围内并且块宽度小于或等于块高度时,目标水平变换从dct-ii更改为dst-vii。在又一个示例中,当块高度在[4,16]内,块高度小于或等于块宽度或两个块高度都在[4,16]之内,并且块高度小于或等于块宽度时,目标垂直变换从dct-ii更改为dst-vii。
[0086]
在一个实施例中,统一设置包括正常的帧内模式。候选变换集可以与用于普通帧内模式的普通变换集相同。对于目标水平变换和目标垂直变换,可以将候选变换集中的候选变换的最短码字设置为dst-vii。在另一个实施例中,isp模式使用与普通帧内模式相同的帧内预测模式列表。在另一个实施例中,isp模式使用普通帧内预测模式列表的子集作为其普通帧内模式列表。在又一实施例中,根据块宽度、块高度或块大小禁用isp模式。
[0087]
在一个实施例中,隐式地确定目标设置。在另一个实施例中,以cu(编解码单元)、ctu(编解码树单元)、切片、图块、图块组、sps(序列参数集)或pps(图片参数集)级别发信目标设置。
[0088]
在一个实施例中,设置组还包括模式设置,并且该模式设置是基于当前块所选的帧内预测模式。例如,所选择的帧内预测模式为一定向模式应且满足(定向模式%2==1)。在另一示例中,所选择的帧内预测模式为一定向模式应且满足(定向模式%2==0)。
【附图说明】
[0089]
图1示出了用于为amvp和合并方案两者导出空间和时间mvp的相邻pu。
[0090]
图2示出了用于组合的双向预测合并候选的推导过程的示例。
[0091]
图3示出了缩放的双向预测合并候选的推导过程的示例,其中左侧的候选列表对应于原始候选列表,而右侧的候选列表对应于扩展的候选列表,其包括生成的两个双向预测mvp。
[0092]
图4a示出了添加零向量合并候选的示例,其中左侧的候选列表与原始合并候选列表相对应,而右侧的候选列表通过添加零候选与扩展的合并候选列表相对应。
[0093]
图4b示出了用于添加零向量amvp候选的示例,其中顶部的候选列表对应于原始amvp候选列表(左侧的l0和右侧的l1),底部的候选列表通过添加零候选对应于扩展的amvp候选列表(左侧的l0和右侧的l1)。
[0094]
图5示了hevc(高效视频编解码)标准所使用的33方向帧内预测模式。
[0095]
图6示出了基于五个相邻帧内预测模式推导mpm(最可能模式)列表的示例,其中五个相邻模式的位置包括左(l)、上(a)、左下(bl)、右上方(ar)和左上方(al)。
[0096]
图7a示出了isp(帧内子分区)的示例,其中hxw块被划分为两个h/2xw块(即,水平分区)或两个hxw/2块(即,垂直分区)。
[0097]
图7b示出了isp(帧内子分区)的示例,其中hxw块被划分为四个h/4xw块(即,水平分区)或四个hxw/4块(即,垂直分区),除了4x8、8x4和4x4块。
[0098]
图8示出了根据本发明实施例的用于视频编解码的示例性预测的流程图,其中根据目标设置确定藉由isp(帧内子分区)划分的每个子块的水平和垂直变换,目标设置属于包括统一设置和/或块设置的设置组。
[0099]
图9示出了根据本发明实施例的用于视频编解码的另一示例性预测的流程图,其中,当统一设置包括两个或多个帧内模式或帧内相关模式时,当不需要将/被发信的变换索引来决定目标水平变换和目标垂直变换时,根据统一设置,从候选变换集中确定针对当前块的目标水平变换和目标垂直变换。
【具体实施方式】
[0100]
以下描述是实施本发明的最佳构想模式。进行该描述是为了说明本发明的一般原理,而不应被认为是限制性的。本发明的范围最好通过参考所附的权利要求来确定。
[0101]
在本发明中公开了改善或简化包含普通帧内模式和isp的帧内模式、包含ciip的帧内相关模式或三角预测单元模式(tpm)的不同方法。
[0102]
普通帧内模式是指通过使用dc、平面或由33或65个方向组成的定向模式之一,并参考与当前块紧邻或不紧邻的相邻块中的重构样本,来生成当前块的帧内预测。
[0103]
isp将基于子分区在子分区上应用帧内预测。对该子分区进行帧内预测,最后,通过将残差信号与预测信号相加来计算相应的重构样本。在一实施例中,用于isp模式的候选变换集与用于普通帧内模式的候选变换集相同。在另一实施例中,可以用候选变换集合中的最短码字表示的第一候选变换与普通帧内模式的不同。在另一个实施例中,对于垂直和水平变换类型,可以用候选变换集合中最短的码字表示的第一候选变换被设置为dst-vii。在另一个实施例中,当应用isp时,帧内预测模式列表与普通帧内模式的帧内预测模式列表相同。在另一个实施例中,当应用isp时,根据预定义规则,帧内预测模式列表是普通帧内模式的帧内预测模式列表的子集。例如,预定规则是从普通帧内模式的帧内预测模式列表中删除dc或平面模式。在另一示例中,预定规则是根据块宽度、块高度或块大小来减少帧内预
测模式列表中帧内预测模式的数量。
[0104]
在另一个实施例中,可以根据块宽度、块高度或块大小来禁用或限制isp模式。禁用isp时,不需要isp信令,可以略过isp的发信。当isp受约束时,将减少isp模式的组合,并且还可以减少用于发信isp模式的编解码比特子。例如,当块大小大于或小于阈值(例如,64、128、256、512、1024、2048或标准中指定的最小/最大变换块大小的平方)时,将禁用或限制isp模式。在另一个示例中,当块宽度或高度大于或小于阈值(例如,64、128、256、512、1024或标准中指定的最小/最大变换块大小)时,将禁用isp模式。在另一个示例中,当块的宽度或高度大于或小于阈值(例如,64、128、256、512、1024或标准中指定的最小/最大变换块大小)时,将禁用具有垂直或水平分区的isp模式。在另一示例中,当块的长边大于块的短边乘以阈值(例如64、128、256、512或1024)时,禁用isp模式。在另一示例中,当块的长边大于块的短边乘以阈值(例如64、128、256、512或1024)时,将禁用具有垂直或水平分区的isp模式。
[0105]
在开发名为vvc(通用视频编解码)的新兴新编解码标准时,应用了不同的设置来确定特定块长宽比或某些新工具(例如isp)的变换模式。在本发明中,公开了用于提高编解码效率的更有效的规则。此外,通过将现有规则扩展到一般情况来公开了一种扩展的规则,以简化为水平变换和垂直变换选择默认变换类型的过程。该规则可以取决于类型设置、模式设置、块设置、统一设置或以上任意组合。这些设置的含义将在后面详细说明。如果没有此规则,则使用dct-ii分配用于水平变换和垂直变换的默认变换类型。
[0106]
该规则的目的是允许更多的变换类型,用于在应用默认变换模式时增加多样性。它可以帮助加速编解码器处理。例如,在某些快速算法中,可以将应用默认变换模式的rd(速率失真)成本用于提前终止多个变换模式的跟随模式决策。当使用默认变换模式的成本有所改善时,不再需要尝试其他一些变换模式。在一个实施例中,除了dct-ii之外,该规则中使用的变换类型已经被支持,或者可以容易地从现有变换类型的内核中导出。因此,不需要额外的缓冲区来存储该规则中使用的变换模式的系数。
[0107]
类型设置是指该规则中使用的变换类型。在一个实施例中,可以从{dct-ii,dst-vii,dct-viii,翻转的dst-vii}的任何子集中选择默认变换类型,并且水平变换和垂直变换的变换类型可以是所选择的子集范围内的任何组合。例如,表示为(hor,ver)的组合可以是(dct-ii,dct-ii),(dst-vii,dct-ii),(dct-ii,dst-vii)或(dst-vii,dst-vii)。在另一实施例中,当在不需要将/已被发信的变换索引的情况下去选择目标水平或目标垂直变换时,使用类型设置。
[0108]
块设置意味着该规则根据当前块的块宽度、块高度、块比率或块大小来确定默认变换的变换类型。在一个实施例中,如果块宽度小于或等于块高度,则将水平变换的变换类型改变为其他变换类型,例如dst-vii、dct-viii或翻转的dst-vii;否则,将水平变换的变换类型设置为dct-ii。在另一个实施例中,如果块高度小于或等于块宽度,则将垂直变换的变换类型改变为其他变换类型,例如dst-vii、dct-viii或翻转的dst-vii;否则,将垂直变换的变换类型设置为dct-ii。在另一个实施例中,当在不需要将/已被发信的变换索引的情况下去选择目标水平或目标垂直变换时,使用块设置。
[0109]
在另一个实施例中,如果块宽度的长度在预定间隔内,则将水平变换的变换类型改变为其他变换类型,例如dst-vii、dct-viii或翻转的dst-vii;否则,将水平变换的变换
类型设置为dct-ii。在另一个实施例中,如果块高度的长度在预定间隔内,则将垂直变换的变换类型改变为其他变换类型,例如dst-vii、dct-viii或翻转的dst-vii;否则,将垂直变换的变换类型设置为dct-ii。可以任意组合以上建议的块设置方法。在另一个实施例中,可以将块设置应用于帧内和/或帧间块。在下面,显示了两个块设置示例,它们分别显示了间隔[4,16]中的块宽度或高度。请注意,可以将[4,16]更改为[4,8]或[4,32]。
[0110]
示例1.当块宽度在间隔[4,16]内和/或块宽度小于或等于块高度时,将用于水平变换的变换类型更改为dst-vii。
[0111]
示例2.当块高度在间隔[4,16]内和/或块高度小于或等于块宽度时,将垂直变换的变换类型更改为dst-vii。
[0112]
模式设置意味着该规则根据所选模式来确定默认的变换类型。在一个实施例中,该规则可以取决于帧内预测模式。例如,在预定的定向模式间隔中,将{定向模式%2==1}设置为一个组合,并将{定向模式%2==0}设置为另一组合。在另一实施例中,用于帧内预测模式(非角度的帧内预测模式,诸如平面或dc等帧内预测模式)的默认变换模式可以固定为一个定义的组合,例如(dct-ii,dct-ii)、(dst-vii,dst-vii)、(fdst-vii,fdst-vii)或(dct-viii,dct-viii)。在另一个实施例中,可以使用诸如块设置的其他设置来切换用于帧内预测模式的默认变换模式,该默认变换模式不是诸如平面或dc的定向模式。表7中显示了一个示例。
[0113]
在ciip的另一示例中,如果选择了水平或与水平相关的帧内预测模式,则当块宽度在[4、16]和/或块宽度小于或等于块高度时,将用于水平变换的变换类型改变为dst-vii;如果选择垂直或垂直相关的帧内预测模式,则当块高度在[4,16]内和/或块高度小于或等于块宽度时,将垂直变换的变换类型更改为dst-vii;如果选择了非角度帧内预测模式,则在以下示例中将展示变换类型选择。
[0114]
示例1.当块宽度在[4,16]内和/或块宽度小于或等于块高度时,将用于水平变换的变换类型更改为dst-vii。
[0115]
示例2.当块高度在[4,16]内和/或块高度小于或等于块宽度时,将垂直变换的变换类型更改为dst-vii。
[0116]
表7.水平变换和垂直变换的默认变换类型的示例。
[0117]
[0118][0119]
统一设置是将提议的变换设置应用于一种特定模式或一般情况。一般情况可以包括帧内块和/或帧内相关块,例如ciip块。在一个实施例中,isp当前使用的表7也可以应用于其他帧内模式,并且替换了其他帧内模式的现有变换设置。例如,当当前块是帧内编解码时,默认的变换类型是根据表7而不是现有的变换设置来确定的。在另一个实施例中,可以将任何建议的变换设置(例如,用于块设置的示例(1)或(2))应用于isp模式,并且替换isp的现有变换设置。例如,当当前块用isp编解码时,默认变换类型是根据任何提议的变换设置(例如,用于块设置的示例(1)或(2))而不是表7确定的。在另一个实施例中,任何提议的变换设置(例如,用于块设置的示例(1)或(2))也可以应用于ciip块)。在另一个实施例中,可以将两种现有的变换设置进行组合以建立用于分配默认变换模式的新规则。例如,块设置(例如,示例(1)或(2))可以与模式设置(例如,表7和表8)组合使用。此新规则可以应用于isp和/或其他帧内模式。在另一个实施例中,表7可以被用来确定ciip块的变换模式。在另一个实施例中,表8可以被用来确定ciip块的变换模式。
[0120]
表8.水平变换和垂直变换的默认变换类型的又一示例。
[0121][0122]
可以根据隐式规则或显式规则来确定以上的任何方法或任何组合。隐式规则可以取决于块的宽度、高度、面积、块大小的长宽比、颜色分量或图片类型。可以通过在cu、ctu、切片、图块、图块组、图片、sps(序列参数集)、pps(图片参数集)级别等发信标记来指示显式规则。上述任何方法或任何组合都可以适用于帧内或帧间或ciip模式。
[0123]
可以在编码器和/或解码器中实现任何前述提出的方法。例如,可以在编码器的变换模块和/或解码器的变换模块中实现任何所提出的方法。可替代地,任何提出的方法可以被实现为耦合到编码器的变换模块和/或解码器的变换模块的电路,以便提供变换模块所需的信息。例如,所提出的方法可以在编码器的帧间预测模块和/或解码器的帧间预测模块中实现。例如,所提出的方法可以在编码器的帧内预测模块和/或解码器的帧内预测模块中实现。
[0124]
上面的任何组合可以应用于诸如帧内模式、帧内相关模式、ciip或tpm的任何工具。
[0125]
图8示出了根据本发明实施例的用于视频编解码的示例性预测的流程图,其中,根据目标设置从候选变换集合为多个子块中的每一个子块确定目标水平变换和目标垂直变
换。流程图中所示的步骤以及本公开中的其他后续流程图可被实现为可在编码器侧和/或解码器侧的一个或多个处理器(例如,一个或多个cpu)上执行的程式代码。流程图中所示的步骤也可以基于硬件来实现,例如被布置为执行流程图中的步骤的一个或多个电子设备或处理器。根据该方法,在步骤810中,在视频编码器侧接收与当前图片中的当前块有关的输入数据,或者在视频解码器侧接收与包括当前图片中的当前块的压缩数据相对应的视频比特流。在步骤820中确定是否将帧内子分区(isp)模式用于当前块。如果将isp模式用于当前块(即,来自步骤820的“是”路径),则执行步骤830和850。执行。否则(即,来自步骤820的“否”路径),跳过步骤830和850。在步骤830,将当前块水平或垂直地分区为多个子块。在步骤840中,根据包括统一设置或块设置的设置组,从候选变换集合中为多个子块中的每一个子块确定目标水平变换和目标垂直变换,其中该统一设置适用于特定的编解码模式、普通帧内模式或其他帧内相关模式,并且块设置对应于当前块的块宽度、块高度、块比率、块大小或其任意组合。在步骤850中,将目标水平变换和目标垂直变换应用于多个子块中的每一个子块。
[0126]
图9示出了根据本发明实施例的用于视频编解码的另一示例性预测的流程图,其中,当统一设置包括两个或更多个帧内模式或帧内相关模式时,当不需要将/已被发信的变换索引来选择目标水平变换和目标垂直变换时,根据统一设置,从候选变换集中确定针对当前块的目标水平变换和目标垂直变换。根据该方法,在步骤910中,在视频编码器侧接收与当前图片中的当前块有关的输入数据,或者在视频解码器侧接收与包括当前图片中的当前块的压缩数据相对应的视频比特流。在步骤920中,当不需要将发信/已被发信的变换索引来选择目标水平变换和目标垂直变换时,根据统一设置,从候选变换集中确定针对当前块的目标水平变换和目标垂直变换,其中,统一设置包括两个或更多个帧内模式或帧内相关模式。在步骤930中,将目标水平变换和目标垂直变换应用于当前块。
[0127]
所示的流程图旨在说明根据本发明的视频编解码的示例。本领域技术人员可以在不脱离本发明的精神的情况下修改每个步骤、重新布置步骤、拆分步骤或组合步骤以实施本发明。在本公开中,已经使用特定的语法和语义来示出用于实现本发明的实施例的示例。技术人员可以通过用等效的语法和语义替换语法和语义来实践本发明,而不脱离本发明的精神。
[0128]
呈现以上描述是为了使本领域技术人员能够实践在特定应用及其要求的上下文中提供的本发明。对所描述的实施例的各种修改对于本领域技术人员将是显而易见的,并且本文中定义的一般原理可以应用于其他实施例。因此,本发明并不旨在限于所示出和描述的特定实施例,而是与与本文所公开的原理和新颖特征相一致的最广范围相一致。在以上详细描述中,示出了各种具体细节以便提供对本发明的透彻理解。然而,本领域技术人员将理解可以实施本发明。
[0129]
如上所述的本发明的实施例可以以各种硬件、软件代码或两者的组合来实现。例如,本发明的实施例可以是集成到视频压缩芯片中的一个或多个电路或集成到视频压缩软件中以执行本文所述的处理的程序代码。本发明的实施例还可以是将在数字信号处理器(dsp)上执行以执行本文描述的处理的程序代码。本发明还可涉及由计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(fpga)执行的许多功能。通过执行定义本发明所体现的特定方法的机器可读软件代码或固件代码,可以将这些处理器配置为执行根据本发
明的特定任务。可以以不同的程式语言和不同的格式或样式来开发软件代码解码或固件代码。也可以针对不同的目标平台来编译软件代码。但是,不同的编解码格式、软件代码的样式和语言以及配置代码以执行根据本发明的任务的其他手段将不脱离本发明的精神和范围。
[0130]
在不脱离本发明的精神或基本特征的情况下,本发明可以以其他特定形式来体现。所描述的示例在所有方面仅应被认为是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是前述描述来指示。落入权利要求等同含义和范围内的所有改变均应包含在其范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1