请选择 进入手机版 | 继续访问电脑版

DCC2020:VVC中的LMCS

[复制链接]
欣荣 发表于 2021-1-1 10:33:17 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
​本文来自DCC2020论文《Luma Mapping with Chroma Scaling in Versatile Video Coding》

  LMCS(Luma Mapping with Chroma Scaling)主要包罗两部门,1)亮度映射,通过充分使用特定位深下的亮度值取值范围提高SDR和HDR视频的压缩效率;2)依赖亮度的色度缩放,主要用于控制亮度和色度分量的相对压缩效率。
LMCS编码工具

LMCS主要包罗两个部门:亮度映射(LM)、依赖亮度的色度缩放(CS)。


  • 亮度映射LM
LM的根本思想是在给定位深下充分使用亮度值的取值范围,这是因为一般的视频信号不会取完取值空间的所有值。比方ITU-R BT.2100-2(复兴BT2100可获取)中对10bit视频的亮度窄范围取值为64到940。LM在像素级举行操作。


  • 色度缩放CS
在VVC中,色度的QP依赖于对应亮度的QP,当使用LM之后映射域的亮度值和原始信号域的亮度值大概差别,所以对应色度QP大概不是最优的。所以LMCS中通过依赖亮度值的色度缩放解决这个问题。CS在色度块级举行操作。

Fig.1是LMCS的解码流程,上边是CS部门,下边是LM部门。蓝色框的操作是在映射域举行。黄色框包罗前向映射、逆映射、色度缩放操作。无色框表现在原始信号域的操作。
当开启LMCS功能后亮度分量解码过程如下:

  • 反量化和反变动,生成映射域的亮度残差值Y'res。
  • 将残差值Y‘res和对应的映射域预测值Y'pred相加得到映射域重建值Y'r。对于帧内预测,Y'pred完全通过映射域内的亮度值得到。对于帧间预测,需要将原始信号域的预测值Ypred映射为Y'pred。
  • 将重建值Y'res举行逆映射,然后举行环路滤波,效果送入DPB。
  • DPB中的像素值都是在原始信号域。
当开启LMCS功能后色度分量解码过程如下:

  • 反量化和反变动,生成映射域的色度残差值C_resscale。对于色度而言,映射操作即在编码过程中对色度残差举行缩放,缩放因子为cScaleInv,其倒数在编码过程中需要用到。对于同一个色度块cScaleInv是相同的。
  • 为了淘汰流水线延迟,cScaleInv使用当前VPDU的上边和/或左侧亮度像素重建值的均值avgY'r生成。
  • 为了低落复杂度,需要做出下面的限制。如果当前CU是帧间128x128、帧间128x64、帧间64x128,第一个VDPU的cScaleInv用于CU所有的色度块。别的,对于小于等4的色度块不举行缩放。
亮度映射操作

亮度映射通过一个前向映射函数FwdMap实现,其对应的逆向映射函数为InvMap。FwdMap是一个分段线性模子,需要在码流中传输,而InvMap不需要在码流中传输解码器可以通过FwdMap生成InvMap函数。
FwdMap分段线性模子通过下面方式得到:

  • 将特定位深视频信号的取值范围分别为16个等长的分段。比方,对于10bit信号分别为16个分段,每个分段包含64个码字。每个分段码字数量用OrgCW表现。
  • InputPivot=i*OrgCW,i=0,1...16表现原始信号域每个分段的枢轴点。
  • 在编码过程中可以盘算出映射域枢轴点MappedPivot。MappedPivot[i+1]-MappedPivot表现第i个分段在映射域亮度码字数量。
  • InputPivot和MappedPivot完全确定了FwdMap函数。
假设Y_pred是10bit亮度信号的预测值,其所属的分段i可由Y_pred右移6位得到。Y_pred在映射域对应的值Y'_pred可由下面方式盘算,

上式中等号右侧内容即为函数FwdMap(Y_pred)。
用于求得InputPivot和MappedPivot值的参数通过APS(adaptation parameter set)传输,aps_params_type值设置为1。视频序列有4个LMCS APS,但是一个图像仅使用一个LMCS APS。在图像头中有一个标志位表现当前图像是否使用LMCS,如果当前图像使用LMCS则图像头中aps_id表现当前图像使用的APS。
色度缩放操作

色度缩放对于一个色度块的所有残差值都使用同一个缩放因子。编码器使用的缩放因子为C_scale,对应的解码器使用其倒数举行逆缩放C_scaleInv。在编码端C_resScale = C_res * C_scale = C_res / C_scaleInv,在解码端C_res = C_resScale / C_scale = C_resScale * C_scaleInv。
各分段内部C_scaleInv值是相同的,可由分段内映射域码字数量和色度缩放偏移值deltaCRS(通过LMCS APS传输)求得。首先盘算当前VPDU上方和/或左侧邻域重建像素的均匀值avgY'r。然后盘算avgY'r所属的分段i。最后盘算第i个分段对应的C_scaleInv,

示例

下面有两个示例演示如何求得LMCS的参数。第一个示例是针对SDR和HDR HLG视频,通过PSNR评价压缩效果。第二个示例针对HDR PQ视频,通过加权PSNR(wPSNR)评价压缩效果。
示例1:SDR和HDR HLG视频的LMCS参数估计

其根本原理是给平展区域分配更多的码字,非平展区域更少的码字。LMCS参数估计分为下面4步。
1、初始化时为每个有效分段分配相同数量的码字。


  • 对于不是10bit的信号归一化到10bit。
  • 将码字范围[0,1023]匀称分别为16个分段。
  • 确定有效分段数量,有效指的是该分段中大部门亮度值在图像中出现了。比方,对于10bit窄范围信号,[0,63]和[941,1023]无法取到,则第0和15个分段是无效的,一共有14个有效分段。
  • 对每个有效分段按下面方式分配相同数量的码字。

2、基于图像统计效果调解码字数量。


  • 对于图像中的每个亮度像素,盘算以其为中心winSize x winSize邻域内的空域方差pxlVar。此中winSize=Floor(min(width,height)/240)-2+1。width,height是图像宽高。
  • 对于16个分段,盘算每个的pxlVar均匀对数,binCnt是第i个分段像素数量。



  • 盘算所有分段binVar的均值meanVar,和每个分段对应的归一化值normVar=binVar/ meanVar。
  • 调解码字,将更多码字分配给noreVar小的分段,

此中delta1=round(10xhist),delta2=round(20xhist)。hist是第i个分段像素数相对于所有像素数的百分比,剪切到[0,0.4]制止太过的码字分配。
3、调解码字数量到最大码字数量。
如果分配的码字数量凌驾允许的最大数量,从第一分段开始,逐渐淘汰分配给每个分段的码字数,直到分配的码字总数便是允许的码字总数。
4、设置rate、slice和色度自适应参数。


  • 当编码使用的QP较小(小于便是22)时允许使用rate自适应以保留更多图像细节。当开启rate自适应且有效分段数量小于16时,分配给每个分段的码字数量为66。
  • slice自适应使得上面步调2、3只能在IRAP图像上举行。可以根据以下选项对slice举行LMCS激活:1)对所有帧内和子序列帧间slices;2)仅对TemporalID=0的子序列的图像的slices;3)仅对子序列帧间slices。对某些视频,其映射域图像的均匀方差会大于原始像素域均匀方差,且差值凌驾预界说阈值,此时对帧内slices禁用LMCS压缩效果会更好,大概仅对TemporalID=0的图像的slices使用LMCS。
  • 色度自适应可以根据图像亮度和色度分量的相对均匀空域方差决定是否使用色度残差的缩放。如果色度分量和亮度分量的均匀空域方差比值凌驾预界说阈值则不举行色度残差的缩放。
示例2:HDR PQ视频的LMCS参数估计

本示例针对HDR PQ内容提供了一个固定的映射函数,该函数通过luma dQP( luma-dependent quantization adaptation method)建模。luma dQP基于均匀亮度值为每个CTU生成局部delta QP(dQP)。

HDR PQ视频使用wPSNR作为客观评价指标,wPSNR通过wSSE(ܻY)盘算得到,

HDR PQ的LMCS映射函数通过下面步调得到:
1、盘算映射曲线的斜率:

如果信号是窄范围,对于10bit视频的Y值取值为[0,63]和[940,1023]时斜率设为0。
2、对映射函数斜率积分,Y=0,1...maxY-1,

3、通过将F[Y]归一化到[0,maxY]得到look-up table,FwdLUT[Y]

4、盘算每个分段码字数量

实验效果

实验基于VTM6.0平台,设置为RA。实验效果如下:


感兴趣的请关注微信公众号Video Coding


来源:https://blog.csdn.net/Dillon2015/article/details/111938739
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )