博客
关于我
环路滤波(四):LMCS
阅读量:537 次
发布时间:2019-03-09

本文共 1024 字,大约阅读时间需要 3 分钟。

LMCS(Luma Mapping with Chroma Scaling)是VVC(Versatile Video Codec)中的一项新增技术,通常被称为“环路重整形”(in-loop reshaper)。该技术在HDR(高动态范围)和SDR(标准动态范围)视频编码中发挥着重要作用。

LMCS主要包括两部分:

  • 基于自适应分段线性模型的环内亮度映射
  • 基于亮度的色度残差缩放
  • 基于分段线性模型的环内亮度映射

    在VVC中,LMCS用于调整输入信号的动态范围,以提高压缩效率。对于HDR图像,其动态范围通常很高(例如10比特),而显示设备的显色器通常支持8比特的动态范围。这意味着需要对亮度信号进行色调映射,以匹配显示设备的范围。

    LMCS通过定义一个前向映射函数(FwdMap)和对应的逆向映射函数(InvMap)来实现亮度调整。FwdMap是一个分段线性模型,分为16个均匀的区间。由于只需要传输前向映射函数,码流的传输效率相对较高。
    每个Tile组(tile group)可以独立使用不同的映射模型。Tile组会传输两个标志位:

    • 一个标志位用于表示当前Tile组是否使用分段线性映射模型;
    • 另一个标志位用于判断当前Tile组是否启用了LMCS功能。
      在实际操作中,每个Tile组需要根据上述标志位的值传输对应的映射参数。

    具体而言,分段线性模型将输入信号的10比特范围(0-1023)划分为16个等长度的子区间。以10比特为例,每个子区间默认包含64个码字(1024/16)。实际传输的码字数量会影响映射函数的缩放因子。

    每个分段区间由InputPivot和MappedPivot数组定义。Generate方法如下:

  • OrgCW = 64(参考词条)
  • 对于i = 0到15,InputPivot[i] = i * OrgCW
  • MappedPivot数组的值基于传输的码字数(SignalledCW[i])计算。
    通过预定义的映射表(LUT)或动态计算(on-the-fly computation),映射过程可以实现。
  • 基于亮度的色度残差缩放

    如果当前Tile组未启用Dual Tree Partition并且使用了LMCS功能,则需要一个额外的标志位控制是否启用基于亮度的色度残差缩放。此外,在色度块的大小小于等于4时也禁止使用基于亮度的色度缩放。

    色度残差缩放主要依赖于相邻亮度预测块的平均值,将色度残差与平均亮度值缩放以优化色彩恢复效果。

    转载地址:http://wraiz.baihongyu.com/

    你可能感兴趣的文章
    PHP删除指定目录下的所有文件和文件夹 | 删除指定文件
    查看>>
    php删除文件夹下面所有文件包括(删除文件夹)不删除文件夹
    查看>>
    React Collapse Pane 项目教程
    查看>>
    php判断ip黑名单程序代码
    查看>>
    php判断复选框是否被选中的方法
    查看>>
    PHP判断指定目录下是否存在文件
    查看>>
    php判断数组是否为空
    查看>>
    PHP判断数组是否有重复值、获取重复值
    查看>>
    springboot基于Web的社区留守儿童管理系统源码毕设+论文
    查看>>
    Springboot基于Redisson实现Redis分布式可重入锁【案例到源码分析】
    查看>>
    PHP利用正则表达式实现手机号码中间4位用星号(*)替换显示
    查看>>
    PHP加密与安全的最佳实践
    查看>>
    PHP加速器eaccelerator导致php-fpm进程卡死原因分析
    查看>>
    PHP区分 企业微信浏览器 | 普通微信浏览器 | 其他浏览器
    查看>>
    php原生代码怎么连表查询,PHP tp5中使用原生sql查询代码实例
    查看>>
    PHP去掉转义符
    查看>>
    php去除字符串开头或末尾的字符(例如逗号)
    查看>>
    php反射api
    查看>>
    PHP反射ReflectionClass、ReflectionMethod 入门教程
    查看>>
    PHP反射机制
    查看>>