视频编解码的无损编解码的残差编解码选择的方法和装置与流程

文档序号:29364689发布日期:2022-03-23 04:28阅读:386来源:国知局
视频编解码的无损编解码的残差编解码选择的方法和装置与流程
视频编解码的无损编解码的残差编解码选择的方法和装置
1.交叉引用
2.本技术是要求2019年9月19日提交的申请号为62/902,433的美国临时专利申请案、2019年11月1日提交的申请号为62/929,156的美国临时专利申请案的优先权。上述列出的申请案内容以引用方式并入本文。
技术领域
3.本发明涉及用于视频编解码的基于块的dpcm(bdpcm)预测。特别地,本发明涉及提高bdpcm的效率的技术。


背景技术:

4.高效视频编解码(hevc)是由视频编码联合协作团队(jct-vc)开发的新的国际视频编解码标准。hevc基于混合的基于块的运动补偿类dct变换编码架构。压缩的基本单位称为编码单位(cu),是2nx2n的正方形块,每个cu可以递归拆分为四个较小的cu,直到达到预定义的最小大小。可以将每个图片划分为多个ctu(编码树单元),并且将每个ctu划分为一个或多个cu。对于彩色视频数据,每个cu可以包括对应于多个颜色分量的多个编码块(cb)。每个cu包含一个或多个预测单元(pu)。对于彩色视频数据,每个pu可以包括与多个颜色分量相对应的多个预测块(pb)。为了在hevc中获得混合编解码架构的最佳编解码效率,每个pu有两种预测模式(即帧内预测和帧间预测)。对于帧内预测模式,空间相邻的重构像素可用于生成方向预测。
5.在开发hevc标准之后,在itu-t sg 16wp 3和iso/iec jtc 1/sc 29/wg 11的联合视频探索小组(jvet)的指导下,正在开发另一种合并的视频编码标准,称为通用视频编码(vvc)。对vvc评估了各种新的编解码工具以及一些现有的编解码工具。
6.块dpcm(bdpcm)是vvc中包含的新编码工具。bdpcm(块差分脉冲编解码调制或基于块的增量脉冲编解码调制,block differential pulse coded modulation or block-based delta pulse code modulation),也称为rdpcm(残余块差分脉冲编解码调制,residual block-differential pulse coded modulation),在jvet-m0057中被提出(f.henry等,
““
ce8:bdpcm with horizontal/vertical predictor and independently decodable areas(test 8.3.1b)”)”,joint video experts team(jvet)of itu-t sg 16wp 3and iso/iec jtc 1/sc 29/wg 11,13th meeting:marrakech,ma,9

18jan.2019,document:jvet-m0057)使用重构的样本逐行地预测行或列。vvc支持bdpcm进行屏幕内容编码。在序列级别,在sps(sequence parameter set,序列参数集)中用信号通知bdpcm使能(enable)标志;仅当在sps中使能了变换跳过模式(transform skip mode)时,才会发出此标志。使能bdpcm时,如果cu大小在亮度采样方面小于或等于maxtssize x maxtssize,并且在cu进行帧内编码,则在cu级别发出标志信号,其中maxtssize是变换跳过模式会被允许的最大块大小。该标志指示是否使用常规帧内编码或bdpcm。如果使用bdpcm,则用信号通知bdpcm预测方向标志以指示预测是水平还是垂直。
7.然后,使用常规的水平或垂直帧内预测过程搭配未滤波的参考样本对块进行预测。对该残差进行量化,并且对每个量化的残差及其预测变量之间的差进行编码,其预测变量即对水平或垂直(取决于bdpcm预测方向)相邻位置的先前编码的残差。
8.在vtm-5.0中(j.chen,et al.,“algorithm description for versatile video coding and test model 5(vtm 5)”,joint video experts team(jvet)of itu-t sg 16wp 3and iso/iec jtc 1/sc 29/wg 11,14th meeting:geneva,ch,19

27mar.2019,document:jvet-n1002),屏幕内容视频编码会采用块dpcm模式。当当前cu是帧内编解码cu时,发信号标记intra_bdpcm_flag以指示是否应用了bdpcm。如果intra_bdpcm_flag为真,则发信号通知bdpcm预测方向标志intra_bdpcm_dir_flag,以确定该预测方向是水平方向(即,intra_bdpcm_dir_flag等于0)还是垂直方向(即,intra_bdpcm_dir_flag等于1)。当应用bdpcm模式时,不仅应用水平或垂直模式的帧内预测,而且还将水平或垂直方向dmcp应用于量化之后和量化之前的残差系数。bdpcm仅适用于亮度分量。


技术实现要素:

9.公开了一种视频编解码的方法和设备。根据该方法,在视频编码器侧接收与当前图片中的当前块有关的输入数据,或者在视频解码器侧接收包括当前块的压缩数据。在视频比特流中有关残差编解码类型的高层级的第一语法在编码器侧用信号发送或在解码器侧进行解析。基于包括第一语法的值的信息来确定当前块的目标编解码模式。根据目标编解码模式,当前块在编码器侧被编码或在解码器侧被解码。高层级可以对应于切片头或图片头。
10.在一个实施例中,第一语法指示变换跳过块的残余编解码类型或dpcm块的残余编解码类型。此外,残差编解码类型是变换跳过系数编码或常规系数编码,并且第一语法指示是使用变换跳过系数编解码还是常规系数编解码。在另一实施例中,第一语法包括分别用于亮度分量和色度分量的两个独立的残差编解码类型标志。
11.在一个实施例中,当用信号发送第一语法以指示变换跳过块的残差编解码类型,亦使用信号发送单独的语法以指示dpcm块的残差编解码类型。在另一实施例中,不管指示变换跳过系数编解码模式的第二语法是真还是假,第一语法被发信号通知或解析,针对当前块发信号通知第二语法。
附图说明
12.图1示出了根据本发明实施例的示例性视频编码的流程图,其中用信号发送语法以指示是使用变换跳过系数编解码还是使用常规系数编解码。
13.图2示出了根据本发明实施例的示例性视频解码的流程图,其中语法被解析以指示是使用变换跳过系数编解码还是使用常规系数编解码。
具体实施方式
14.以下描述是实施本发明的最佳构想实施例。进行该描述是为了说明本发明的一般原理,而不应被认为是限制性的。本发明的范围通过参考所附的请求保护范围来确定。
15.在vtm-5.0中,bdpcm仅适用于cu的亮度分量,其大小小于或等于32x32。在一个实
施例中,即使当cu尺寸大于32或64或最大tu尺寸时,当使能无损模式(lossless mode)或使能cu_transquant_bypass_flag时,也可以用信号发送intra_bdpcm_flag。例如,可以如表1或表2所示修改语法。
16.表1
[0017][0018]
表2
[0019][0020]
在上表中,修改后的文本以斜体显示。
[0021]
在一个实施例中,当使能了bdpcm时(例如,intra_bdpcm_flag为真),bdpcm也被应用于色度分量。亮度和色度分量共享相同的bdpcm语法。
[0022]
在另一个实施例中,当使能无损模式或使能cu_transquant_bypass_flag时,可以将bdpcm模式应用于色度分量。如果intra_bdpcm_dir_flag等于1或0,或者等于0或1,则对于色度cb,帧内预测模式/方向等于垂直或水平。对于色度残差,dpcm的残差编解码也与垂直或水平方向dpcm一起编码。在一个实施例中,当禁用cu_transquant_bypass_flag时,如果intra_bdpcm_flag为真,则仅将bdpcm应用于亮度分量;而当使能了cu_transquant_bypass_flag时,如果intra_bdpcm_flag为真,则将bdpcm应用于亮度和色度分量。
[0023]
在另一个实施例中,bdpcm可以应用于色度分量。可以发信号通知或解析一种或多种单独的色度bdpcm语法,以指示bdpcm是否应用于色度分量。色度bdpcm语法不与亮度分量共享。当应用色度bdpcm时,也会用信号发送或解析bdpcm方向。如果chroma_intra_bdpcm_dir_flag等于1或0,或者等于0或1,则对于色度cb,帧内预测模式/方向等于垂直或水平。对于色度残差,还使用以dpcm编解码的残差对垂直或水平方向dpcm进行编码。色度bdpcm用于色度帧内cu。该语法可以在cclm(cross-component linear mode,跨组件线性模式)语法和常规色度帧内模式语法之前插入,如下所示。如果应用了色度bdpcm,则将跳过cclm和常规色度帧内模式的语法。根据chroma_intra_bdpcm_dir_flag将色度帧内预测设置为一些预定义值或派生值(例如,水平或垂直方向)。
[0024]
表3
[0025][0026]
同样,修改后的文本在上表中以斜体显示。仅当使能无损模式或使能cu_transquant_bypass_flag时,才能应用色度bdpcm模式。例如,cu_transquant_bypass_flag可以处于使能状态。
[0027]
表4
[0028][0029]
可以发信号通知或解析色度bdpcm使能标志的一个或多个序列(sequence)/图片(picture)/切片(slice)/碎片(tile)/碎片组(tile-group)/砖块(brick)/sps/pps(picture parameter set,图片参数集)/aps(adaptation parameter set,自适应参数集)层级语法。当高层级语法指示色度bdpcm禁用时,无法应用色度bdpcm模式。
[0030]
在另一个实施例中,当使能双树(dual tree)并且使能无损模式或使能cu_transquant_bypass_flag时,可以将bdpcm模式应用于色度cu中的色度分量。例如,可以如表5或表6所示修改语法。在另一个实施例中,色度dpcm也可以应用于单树和双树。
[0031]
表5
[0032][0033]
表6
[0034][0035]
在另一个实施例中,当应用无损模式(例如,当cu_transquant_bypass_flag为真)并且色度帧内预测模式等于水平或垂直方向时,可以隐式地(implicitly)应用色度bdpcm。应用水平或垂直方向残差dpcm。可以通过高层级语法在序列/图片/切片/碎片/碎片组/砖块/sps/pps/aps级中使能此功能。
[0036]
在另一实施例中,为了提高帧间切片中的无损模式编解码效率,当以帧间模式或非帧内模式(例如,帧间模式和帧内bc模式)对cu进行编解码时,也可以应用bdpcm。帧间模式bdpcm可以应用于每个cu大小,或者可以将cu大小限制为小于预定义/信号通知的大小或大于预定义/信号通知的大小。可以用信号通知inter_bdpcm_flag和inter_bdpcm_dir_flag,以用于非跳过帧内模式编解码的cu(例如,合并模式或amvp/帧内模式)。当inter_bdpcm_flag为真时,根据inter_bdpcm_dir_flag(例如,水平方向为0,垂直方向为1),用垂直或水平方向dpcm对残差进行编解码。在一实施例中,仅将残差dmcm或bdpcm应用在亮度分量上。在另一个实施例中,将残差dmcm或bdpcm应用在亮度和色度分量上。在另一实施例中,仅当使能无损模式时或使能用cu_transquant_bypass_flag时,或者当应用切片/图片/碎片/碎片组/砖块/序列层级无损或变换-量化旁路模式(transquant bypass mode)时,才应用帧间bdpcm。在另一个实施例中,当使能无损模式或使能cu_transquant_bypass_flag时,bdpcm也可以应用于分量。当使能无损模式或cu_transquant_bypass_flag时,可以应用bdpcm模式以减少相邻系数之间的冗余。当使能无损模式或cu_transquant_bypass_flag时,可以将bdpcm应用于非帧内模式残差编解码(例如,帧间模式或帧内块复制模式)。可以用信号通知bdpcm_flag和bdpcm_dir。如果在非帧内模式应用bdpcm,则执行残差层级dpcm。例如,在逆量化和逆变换之前执行残差dpcm。bdpcm也可以应用于色度分量。
[0037]
当一个或多个颜色分量具有至少一个非零系数时,可以在tu层级用信号发送帧间/ibc(帧间区块复制)残差bdpcm语法。在另一示例中,当当前编解码的颜色分量具有至少一个非零系数时,可以在tb层级上用信号发送/解析帧间/ibc残差bdpcm语法。在另一示例中,当当前编码的亮度分量具有至少一个非零系数时,可以针对亮度分量以tb层级用信号/解析出帧间/ibc残差bdpcm语法。在另一示例中,当当前cu中的tu/tb具有至少一个非零系数时,可以在cu层级别用信号/解析帧间/ibc残差bdpcm语法。例如,当root_cbf不为零时,可以在root_cbf之后发信号通知帧间/ibc残差bdpcm语法。root_cbf对应于编解码区块标记,该标记指示当前块中是否存在至少一个非零系数,包括亮度分量和色度分量。帧间/ibc bdpcm的语法可能受cu/tu/tb大小限制。例如,仅当当前cu或tu或tb大小小于阈值和/或大于阈值时才用信号通知/解析/应用。例如,仅当当前cu或tu或tb大小小于每个颜色分量的最大tb大小时,才发出信号/解析/应用该信号。
[0038]
在另一个实施例中,为了提高编码效率,当应用bdpcm时,将常规残差编解码(非变换跳过残差编解码)应用于残差系数编解码。在另一个实施例中,为了提高无损模式下的编
码效率,当应用无损模式时(或cu_transquant_bypass_flag为1),将常规残差编码(即,非变换跳过(non-transform-skip)残差编码)应用于bdpcm模式中的残差系数编解码。当未应用无损模式时(或cu_transquant_bypass_flag为0),将变换跳过残差编解码应用于bdpcm模式编解码。在另一实施例中,一个或多个序列/图片/切片/碎片/碎片组/砖块/sps/pps/aps层级语法可用于确定哪种类型的残差系数编解码方法(例如,常规或变换跳过系数编解码)用于bdpcm模式,而无论是否应用无损模式。在另一实施例中,一个或多个序列/图片/切片/碎片/碎片组/砖块/sps/pps/aps层级语法可用于确定哪种类型的残差系数编解码方法(例如,常规或变换跳过系数编解码)用于无损模式下的bdpcm模式。如果未在无损模式下对cu进行编码(例如,cu_transquant_bypass_flag等于0),则将变换跳过残差编解码应用于bdpcm模式编码。
[0039]
在另一个实施例中,当使能无损模式时或当使能cu_transquant_bypass_flag时,系数编解码使用变换跳过系数编解码。在另一实施例中,当使能无损模式时或使能cu_transquant_bypass_flag时,系数编解码使用非变换跳过系数编解码。在另一个实施例中,当使能无损模式时或当使能cu_transquant_bypass_flag时,仍会发出变换跳过模式标志的信号。如果变换跳过模式标志为假,则系数编解码使用非变换跳过系数编解码;如果变换跳过模式标志为真,则系数编解码使用变换跳过系数编解码。变换跳过标志用于选择残差编解码方法。在一个实施例中,可以以tb级,tu级或cu级发信号通知变换跳过标志。如果以tb层级发出信号,则当颜色分量的cbf(编码块标志)为真时发出变换跳过标志信号。在一个示例中,当使能bdpcm(包括亮度bdpcm和/或色度bdpcm)时,将变换跳过标记推断为1。在另一实施例中,当使能bdpcm(包括亮度bdpcm和/或色度bdpcm)时,仍会用信号通知/解析转换跳过标志。信号通知/解析标志用于选择bdpcm编码块的残余编解码方法。在另一个示例中,当使能了bdpcm时,不发出变换跳过模式标志的信号。将常规系数编解码应用于bdpcm编码块。
[0040]
在另一实施例中,对于bdpcm编码块,用信号通知/解析一个或多个序列/图片/切片/碎片/碎片组/砖块/sps/pps/vps/图片头或aps层级语法来确定哪种系数编解码方法应用于bdpcm模式和/或色度bdpcm模式。例如,可以在pps中用信号通知pps_bdpcm_residual_coding_flag或在sps中用信号通知sps_bdpcm_residual_coding_flag来指示是否将常规系数编解码方法或变换跳过系数编解码方法用于bdpcm和/或色度bdpcm模式。
[0041]
色度bdpcm模式的编解码模式可以独立地用信号发送。例如,如果使能了色度bdpcm,则发出pps_bdpcm_chroma_residual_coding_flag和/或sps_bdpcm_chroma_residual_coding_flag信号。当未应用/使能bdpcm时,不会发出/解析这种语法。在另一个示例中,当未应用/使能bdpcm或未应用变换跳过模式时,不会发出/解析这种语法。在另一个示例中,当未应用/使能bdpcm时,或未应用变换跳过模式时或未应用变换-量化旁通模式时,不会发出/解析这种语法。
[0042]
在另一个实施例中,可以在不知道是否使能亮度bdpcm或色度bdpcm工具的情况下以序列/图片/切片/平铺/平铺组/砖组/砖块/sps/pps/图片标题或aps级别用信号发送亮度bdpcm和/或色度bdpcm的编码模式选择语法。例如,可以在pps中用信号发送pps_bdpcm_residual_coding_flag和/或pps_bdpcm_chroma_residual_coding_flag,或者即使在sps中禁用bdpcm时,ssp_bdpcm_residual_coding_flag和/或slice_bdpcm_chroma_residual_
coding_flag也可以在切片标头中用信号发送通知。当sps_bdpcm_enabled_flag和/或sps_bdpcm_chroma_enabled_flag为否时,可以发出信号。它防止了pps/切片标头和sps之间的语法信令依赖性。
[0043]
在另一个实施例中,当使能cu_transquant_bypass_flag时,使能用于bdpcm的系数方法选择。如果未使能cu_transquant_bypass_flag,则将应用转换跳过模式编码。在另一个实施例中,当允许以信号方式发送cu_transquant_bypass_flag时(例如,transquant_bypass_enabled_flag为真),以信号通知/解析用于bdpcm的系数方法选择的高层级语法。如果未用信号通知/解析用于bdpcm的系数方法选择的高层级语法,则应用变换跳过模式编码。
[0044]
在另一个实施例中,当使能bdpcm且使能变换跳过模式时,用信号通知/解析用于bdpcm的系数方法选择的高层级语法。在另一个示例中,可以使用另一种语法来选择系数编码方法。例如,用信号通知/解析一种语法(或一个标志)residual_coding_type以选择系数编码方法。如果标志为1(或0),则使用非变换的跳过系数编码。否则(即,标志等于0(或1)),则使用变换跳过系数编码。当cu_transquant_bypass_flag为真时,或当整个切片/块/砖块/序列/图片使用变换-量化旁通编码时,可以用信号通知residual_coding_type。在另一示例中,当cu_transquant_bypass_flag为真时,可以在切片/平铺/砖块/序列/图片级别级别/图片标题中用信号发送residual_coding_type,以确定系数编码方法。在另一个示例中,可以在切片/平铺/砖块/序列/图片级别级别/图片标题中用信号发送residual_coding_type,以确定系数编码方法,而不论cu_transquant_bypass_flag是真还是假。
[0045]
在另一个实施例中,即使使用bdpcm模式,也可以用信号通知/解析residual_coding_type。当应用bdpcm模式时,可以应用非变换跳过残差编码。在一个示例中,以任一种方式,都跳过该变换(例如,无需发信号通知mts(多重变换选择)语法)。转换跳过模式标志仅用于选择系数编码/解析方法。
[0046]
在另一个示例中,当应用bdpcm时,未应用residual_coding_type。可以采用以上提出的方法。例如,bdpcm使用变换跳过残差编码进行编码,或者使用常规系数编码进行编码,或者通过一种或多种高层级语法进行控制。在另一实施例中,残差编解码类型仅应用于未被以bdpcm模式编码的cu或tu。在一个示例中,当选择了residual_coding_type时,将所选的残差编码方法应用于亮度和色度分量。在另一示例中,当选择了residual_coding_type时,所选择的残差编码方法仅应用于亮度。色度始终使用常规系数编码。
[0047]
在一个示例中,当一个或多个颜色分量具有至少一个非零系数时,可以在tu层级上用信号发送/解析残差编解码类型。在另一示例中,当当前编码的颜色分量具有至少一个非零系数(例如,颜色分量或tb的cbf等于1)时,可以在tb层级上用信号通知/解析residual_coding_type。在另一示例中,当当前编码的亮度分量具有至少一个非零系数时,可以针对亮度分量以tb层级用信号通知/解析residual_coding_type。在另一示例中,当当前cu中的tu/tb具有至少一个非零系数时,可以在cu层级中用信号通知/解析residual_coding_type。当root_cbf不为零时,可以在root_cbf之后发信号通知residual_coding_type。在另一示例中,当当前cu中的tu/tb具有至少一个非零系数时,可以在cu层级中用信号通知/解析residual_coding_type。可以在root_cbf之后针对帧间cu或非帧内cu(调色板模式除外)发信号通知残差编解码类型。可以在帧内cu的tu或tb层级上用信号发送残差编
解码类型。在另一个示例中,可以在对于帧内cu具有非零系数的第一tu或tb层级中用信号发送residual_coding_type。它仅在一个cu中发出信号/解析一次。
[0048]
在另一示例中,当当前cu中的tu/tb具有至少一个非零系数时,可以在cu层级上用信号发送/解析残差编解码类型。如果当前cu不是帧内编码cu,则root_cbf不为零时,可以在root_cbf之后发信号通知residual_coding_type。如果当前cu是帧内编码cu,则可以在残差编解码的开始处用信号通知residual_coding_type。在另一示例中,当当前cu中的tu/tb具有至少一个非零系数时,可以在cu层级中用信号通知/解析residual_coding_type。如果当前cu不是帧内编码cu且应用了无损模式(例如cu_transquant_bypass_flag等于1),则root_cbf不为零时,可以在root_cbf之后发信号标明残差编解码类型。如果当前cu是帧内编码的cu并且当应用无损模式时(例如,cu_transquant_bypass_flag等于1),则可以在残差编解码的开始处用信号发送residual_coding_type。在一个示例中,当cu/tu/tb大小大于最大变换跳过tu/tb大小时,将残差编解码类型推断为常规系数编解码模式。
[0049]
在一个实施例中,可以用信号通知/解析残差编解码类型使能标志的一个或多个序列/图片/切片/平铺/平铺组/砖块/sps/pps/vps/aps级/图片标题语法。当使能高层级别残差编解码类型使能标记时,可以用信号通知/解析出cu/tu/tb级残差编解码类型标记/语法。当不支持变换跳过(transform skip)功能时(例如,sps_transform_skip_enabled_flag为假),可以跳过并推断高层级残差编解码类型使能标记为禁用。在另一示例中,当无损模式或transquant_bypass_enabled_flag为真时,可以用信号/解析残差编解码类型使能标记的一个或多个序列/图片/切片/平铺/平铺组/砖块/sps/pps/vps/aps级/图片头语法。
[0050]
对于无损模式编码,不像变换后的系数那样将系数分组在tb的右上角,tb信令的最后有效系数位置(last significant coefficient position)无济于事,并且可能降低编码效率。在一个实施例中,当选择或使用常规系数编解码模式并且当前cu/tu/tb以无损模式或变换-量化旁通模式(tranquant bypass mode)编码时,不用信号通知/解析tb的最后有效系数位置。当当前cu/tu/tb没有以无损模式或变换-量化旁通模式编码时,将发信号通知/解析tb的最后有效系数位置。当以常规系数编解码对bdpcm模式进行编解码时,不发信号通知最后位置也可以应用于bdpcm模式。
[0051]
当没有用信号通知最后有效位置时,从tb的最后扫描位置开始系数扫描。最后一个cg(系数组)的编码组有效标志需要被发信号。如果最后cg的编码组有效标志不为零,则需要发信号通知最后系数的有效标志。tb的最后位置可以设置为等于tb大小。cg从包含tb大小-1的扫描索引的cg开始。
[0052]
在另一个实施例中,可以将最后位置设置为tb大小

1,但是需要用信号发送/解析最后系数的有效标志和/或最后cg的有效标志。规格更改如下,其中更改以斜体显示。
[0053]
表7
[0054]
[0055][0056]
在表7中,last_sig_coeff_x_prefix指定变换块内按扫描顺序排列的最后有效系数的列(column)位置的前缀。last_sig_coeff_x_prefix的值应在0到(log2zotbwidth《《1)-1之间的范围内。
[0057]
当不存在last_sig_coeff_x_prefix时,可以如下推断。
[0058]

如果cu_transquant_bypass_flag[x0][y0]等于1,则推断为(log2zotbwidth《《1)-1。
[0059]

否则,推断为0。
[0060]
在以上陈述中,last_sig_coeff_y_prefix指定变换块内扫描顺序中最后有效系
数的行位置的前缀。last_sig_coeff_y_prefix的值应在0到(log2zotbheight《《1)-1之间的范围内。
[0061]
当不存在last_sig_coeff_y_prefix时,可以如下推断:
[0062]

如果cu_transquant_bypass_flag[x0][y0]等于1,则推断为(log2zotbheight《《1)-1。
[0063]

否则,推断为0。
[0064]
在另一实施例中,用于使得不发信号通知常规系数编解码的最后一个位置的一个或多个序列/图片/切片/平铺平铺组/砖块/sps/pps/vps/aps级/图片标头语法可以以信号通知。当用于指示不发信号通知最后位置的高层级使能标志被使能时,跳过常规系数编解码的最后位置。在另一示例中,当指示不发信号通知最后位置的高层级使能标记被使能并且以无损模式或变换-量化旁路模式对cu/tu/tb进行编解码时,跳过常规系数编码的最后位置。在一个实施例中,当满足一些条件时,可以应用跳过最后位置信令。条件可以包括块大小,预测类型和/或cu_transquant_bypass_flag。在一个实施例中,当应用无损模式时,可以用信号通知用于指示不发信号通知最后位置的高层级语法。
[0065]
在另一个实施例中,当使能高层级残差编码类型使能标记时,可以用信号发送或解析高层级亮度bdpcm,或色度bdpcm或帧间bdpcm使能标记。如果使能了高层级残差编解码类型使能标志并且使能了亮度bdpcm/色度bdpcm/帧间bdpcm使能标志,则无论cu大小或tu/tb大小、或最大变换跳过tu/tb大小如何,都可以以信号通知/解析亮度bdpcm/色度bdpcm/帧间bdpcm使能标志。即使cu/tu/tb大小大于最大转换跳过tu/tb大小,也可以应用。在另一个示例中,可以在cu/tu/tb大小小于64时应用。
[0066]
在一个实施例中,当使能无损模式或变换-量化旁通模式并且使用常规系数编解码方法时,系数可以旋转180度(或者应用反向扫描)。在另一实施例中,用信号发送一个或多个序列/图片/切片/平铺/平铺组/砖块/sps/pps/vps/aps级别/图片头语法,以指示是否将系数旋转应用于常规系数编解码。在另一实施例中,当cu/tu/tb以无损模式或变换-量化旁路模式编码时,发信号通知一个或多个序列/图片/切片/平铺/平铺组/砖块/sps/pps/vps/aps-级别/图片头语法,以指示是否将系数旋转应用于常规系数编解码。在一个实施例中,系数旋转仅应用于帧内编码的cu/tu/tb。在另一实施例中,仅将系数旋转应用于尺寸/宽度/高度小于阈值(例如4、8或16)的帧内编码的cu/tu/tb。
[0067]
如上所述,用于变换跳过块和/或亮度/色度bdpcm编解码的系数编解码选择(例如,使用变换跳过模式系数编解码方法或使用常规(即,非变换跳过)系数编解码方法)可以在切片头或图片头处用信号通知/解析。在一实施例中,用于变换跳过块和bdpcm块的系数编解码选择可以是不同的。例如,可以在图片头处发信号通知ph_ts_coef_coding_mode_flag和ph_bdpcm_coef_coding_mode_flag,以确定用于变换跳过块和bdpcm块的系数编码方法。值1(或0)表示使用变换跳过模式系数编解码方法,值0(或1)表示使用常规(非变换跳过)系数编解码方法。在另一个示例中,这两个标志可以是slice_ts_coef_coding_mode_flag和slice_bdpcm_coef_coding_mode_flag,它们在切片头中用信号通知/解析。
[0068]
在另一个实施例中,对于用于ts模式的系数编解码方法,可以将两个不同的标志用于亮度和色度分量,并在切片头和/或图片头处用信号通知/解析。例如,可以在图片头处发信号通知ph_luma_ts_coef_coding_mode_flag和ph_chroma_ts_coef_coding_mode_
flag,以确定用于亮度和色度变换跳过的块的系数编解码方法。在另一个示例中,这两个标志可以是在切片头中用信号通知/解析的slice_luma_ts_coef_coding_mode_flag和slice_chroma_ts_coef_coding_mode_flag。
[0069]
在另一个实施例中,对于用于bdpcm模式的系数编解码方法,可以将两个不同的标志用于亮度和色度分量,并在切片头和/或图片头处用信号通知/解析。例如,可以在图片头处发信号通知ph_luma_bdpcm_coef_coding_mode_flag和ph_chroma_bdpcm_coef_coding_mode_flag,以确定亮度和色度bdpcm块的系数编解码方法。在另一个示例中,这两个标志可以是slice_luma_bdpcm_coef_coding_mode_flag和slice_chroma_bdpcm_coef_coding_mode_flag,它们在slice头中用信号发送/解析。
[0070]
在另一实施例中,对于这些系数编码选择标志,可以首先在sps/pps/vps/aps/图片头/切片头用信号发送default_coef_coding_flag。如果该标志为真(或假),则跳过上述标志(例如,用于ts/bdpcm的标志,用于亮度/色度ts/bdpcm的标志)。变换跳过系数编解码方法用于ts和/或bdpcm块。否则(即default_coef_coding_flag为false(或true)),将发出上述标志的信号。
[0071]
在另一实施例中,对于这些系数编解码选择标志,可以首先在sps/pps/vps/aps/图片头/切片头用信号发送default_coef_coding_flag或ts_coef_coding_for_ts_bdpcm_flag。如果该标志为真(或假),则跳过上述标志(例如,用于ts/bdpcm的标志,用于亮度/色度ts/bdpcm的标志)。变换跳过系数编解码方法用于ts和/或bdpcm块。否则(default_coef_coding_flag为假(或真)),将发信号/解析另一个refular_coef_coding_flag或regular_coef_coding_for_ts_bdpcm_flag或non_ts_coef_coding_for_ts_bdpcm_flag来指示是否将常规系数编解码用于ts和/或bdpcm块。如果该标志为真(或假),则ts和bdpcm块均使用常规系数编解码。否则,将发出上述标志的信号。
[0072]
在又一个实施例中,可以在sps,pps,vps或aps处发信号通知上述标记。在又一个实施例中,可以首先在sps,pps,vps或aps处用信号发送上述标志,并且可以在图片头和/或切片头处覆盖上述标志。在又一个实施例中,可以首先在sps,pps,vps或aps处用信号发送上述标记,并且可以在sps,pps,vps或aps处用信号发送一种或多种语法以指示是否可以在图片头和/或切片头位置重写所发送的数据。
[0073]
在一个示例中,当cu的qp小于或等于4时,或者当cu的qp等于4时,或者当cu不具有任何非零系数时,选择变换跳过模式,则可以禁用环路滤波器(包括db,sao,alf,双边滤波器和/或hadamard滤波器)。在另一示例中,当cu的qp小于或等于4、或cu的qp等于4时,环路滤波器(包括db,sao,alf,双边滤波器和/或哈达玛滤波器)可以被禁用。
[0074]
可以在编码器和/或解码器中实现任何上述提议的方法。例如,可以在编码器的重塑模块或残差缩放/重塑模块或无损编码模式,和/或解码器的重塑模块或残差缩放/重塑模块或无损编码模式中实现任何所提出的方法。可替代地,任何所提出的方法可以被实现为耦合到编码器的重塑模块或残差缩放/重塑模块,或耦合到解码器的残差无损缩放/重塑模块或无损编码模式的电路,以提供重塑模块或残差缩放/重塑模块或无损编解码模式所需的信息。
[0075]
视频编码器必须遵循前述语法设计以便生成合法的比特流,并且仅当解析过程符合前述语法设计时,视频解码器才能够正确地解码比特流。当在位流中跳过语法时,编码器
和解码器应将语法值设置为推断值,以确保编码和解码结果匹配。
[0076]
图1示出了根据本发明的实施例的示例性视频编码的流程图,其中用信号发送语法以指示是使用变换跳过系数编解码还是使用常规系数编解码。流程图中所示的步骤以及本公开中的其他后续流程图可被实现为可在编码器侧和/或解码器侧的一个或多个处理器(例如,一个或多个cpu)上执行的程序代码。流程图中所示的步骤也可以基于硬件来实现,例如被布置为执行流程图中的步骤的一个或多个电子设备或处理器。根据该方法,在步骤110中接收与当前图片中的当前块有关的输入数据。在步骤120中,在视频比特流中以高层级用信号通知与残差编解码类型有关的第一语法。在步骤130中,基于包括第一语法的值的信息来决定当前块的目标编解码模式。在步骤140中,根据目标编解码模式对当前块进行编码。
[0077]
图2示出了根据本发明实施例的示例性视频解码的流程图,其中语法被解析以指示是使用变换跳过系数编解码还是常规系数编解码。根据该方法,在步骤210中,接收包括当前图片中的当前块的压缩数据。在步骤220中,在视频比特流中以高层级解析关于残差编解码类型的第一语法。在步骤230中,基于包括第一语法的值的信息来决定当前块的目标编解码模式。在步骤240中,根据目标编解码模式对当前块进行解码。
[0078]
所示的流程图旨在说明根据本发明的视频编解码的示例。本领域技术人员可以修改每个步骤,重新布置步骤,拆分步骤或组合步骤以实践本发明,而不背离本发明的精神。在本公开中,已经使用特定的语法和语义来说明用于实现本发明的实施例的示例。技术人员可以通过用等效的语法和语义替换语法和语义来实践本发明,而不脱离本发明的精神。
[0079]
呈现以上描述是为了使本领域普通技术人员能够实践在特定应用及其要求的上下文中提供的本发明。对所描述的实施例的各种修改对于本领域技术人员将是显而易见的,并且本文中定义的一般原理可以应用于其他实施例。因此,本发明不旨在限于所示出和描述的特定实施例,而是与符合本文公开的原理和新颖特征的最广范围相一致。在以上详细描述中,示出了各种具体细节以便提供对本发明的透彻理解。然而,本领域技术人员将理解可以实施本发明。
[0080]
如上所述的本发明的实施例可以以各种硬件,软件代码或两者的组合来实现。例如,本发明的实施例可以是集成到视频压缩芯片中的一个或多个电路,或者是集成到视频压缩软件中以执行本文所述处理的程序代码。本发明的实施例还可以是要在数字信号处理器(dsp)上执行以执行本文描述的处理的程序代码。本发明还可以包括由计算机处理器,数字信号处理器,微处理器或现场可编程门阵列(fpga)执行的许多功能。这些处理器可以被配置为通过执行定义本发明所体现的特定方法的机器可读软件代码或固件代码来执行根据本发明的特定任务。可以以不同的编程语言和不同的格式或样式来开发软件代码或固件代码。也可以为不同的目标平台编译软件代码。然而,不同的代码格式,软件代码的样式和语言以及配置代码以执行根据本发明的任务的其他手段将不脱离本发明的精神和范围。
[0081]
在不脱离本发明的精神或基本特征的情况下,本发明可以以其他特定形式实施。所描述的示例在所有方面仅应被认为是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是前述描述来指示。落在权利要求的等同含义和范围内的所有改变均应包含在其范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1