博客
关于我
环路滤波(四):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/

    你可能感兴趣的文章
    nodejs 创建HTTP服务器详解
    查看>>
    nodejs 发起 GET 请求示例和 POST 请求示例
    查看>>
    NodeJS 导入导出模块的方法( 代码演示 )
    查看>>
    nodejs 开发websocket 笔记
    查看>>
    nodejs 的 Buffer 详解
    查看>>
    NodeJS 的环境变量: 开发环境vs生产环境
    查看>>
    nodejs 读取xlsx文件内容
    查看>>
    nodejs 运行CMD命令
    查看>>
    Nodejs+Express+Mysql实现简单用户管理增删改查
    查看>>
    nodejs+nginx获取真实ip
    查看>>
    nodejs-mime类型
    查看>>
    NodeJs——(11)控制权转移next
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    nodejs与javascript中的aes加密
    查看>>
    nodejs中Express 路由统一设置缓存的小技巧
    查看>>
    nodejs中express的使用
    查看>>
    Nodejs中搭建一个静态Web服务器,通过读取文件获取响应类型
    查看>>
    Nodejs中的fs模块的使用
    查看>>
    NodeJS使用淘宝npm镜像站的各种姿势
    查看>>