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

    你可能感兴趣的文章
    netfilter应用场景
    查看>>
    netlink2.6.32内核实现源码
    查看>>
    Netpas:不一样的SD-WAN+ 保障网络通讯品质
    查看>>
    NetScaler的常用配置
    查看>>
    netsh advfirewall
    查看>>
    NETSH WINSOCK RESET这条命令的含义和作用?
    查看>>
    Netty WebSocket客户端
    查看>>
    netty 主要组件+黏包半包+rpc框架+源码透析
    查看>>
    Netty 异步任务调度与异步线程池
    查看>>
    Netty中集成Protobuf实现Java对象数据传递
    查看>>
    Netty事件注册机制深入解析
    查看>>
    Netty原理分析及实战(四)-客户端与服务端双向通信
    查看>>
    Netty客户端断线重连实现及问题思考
    查看>>
    Netty工作笔记0006---NIO的Buffer说明
    查看>>
    Netty工作笔记0007---NIO的三大核心组件关系
    查看>>
    Netty工作笔记0011---Channel应用案例2
    查看>>
    Netty工作笔记0013---Channel应用案例4Copy图片
    查看>>
    Netty工作笔记0014---Buffer类型化和只读
    查看>>
    Netty工作笔记0020---Selectionkey在NIO体系
    查看>>
    Vue踩坑笔记 - 关于vue静态资源引入的问题
    查看>>