4. HLG技术原理:相对亮度曲线、兼容SDR显示、无元数据需求、场景亮度映射

HLG,全称Hybrid Log-Gamma。这名字起得挺直白——混合了对数曲线和伽马曲线。

我第一次接触HLG是在一次直播项目里。客户要求同时覆盖SDR机顶盒和HDR电视,又不愿意上元数据方案。我当时想,这不就是HLG的典型场景吗?

好,咱们今天就把HLG的底牌翻一遍。

4.1 相对亮度曲线:一半对数,一半伽马

HLG的曲线设计很巧妙。它把整个亮度范围分成两段:

  • 暗部:用伽马曲线(类似SDR),保证黑位稳定
  • 亮部:用对数曲线(类似PQ),压缩高光细节

公式长这样:

E' = sqrt(3 * E)         当 0 ≤ E ≤ 1/12
E' = a * ln(12 * E - b) + c  当 1/12 < E ≤ 1

其中a、b、c是标准定义的常数。你不用记,知道原理就行。

为什么这么分?

暗部用伽马,是为了兼容SDR显示。你想想看,SDR电视的伽马值大约是2.2,HLG暗部曲线跟它几乎重合。这意味着暗部画面在SDR电视上不会发灰。

亮部用对数,是为了扩展动态范围。对数曲线能把1000nit甚至更高亮度压缩进10bit码值里。我实测过,HLG在600nit以上的高光过渡比SDR平滑得多。

核心差异: PQ是亮度映射(0-10000nit固定对应0-1023码值),HLG是相对亮度映射(峰值亮度由显示设备决定)。

4.2 兼容SDR显示:向下兼容的秘诀

HLG最大的卖点,就是不需要元数据也能兼容SDR。

怎么做到的?

秘密在OOTF(光电转换函数)里。HLG标准定义了一个显示端OOTF,它根据显示设备的峰值亮度自动调整映射曲线。

具体流程:

  1. 编码端:只做OETF(光电转换),不指定峰值亮度
  2. 传输端:信号里没有元数据,只有视频码流
  3. 解码端:SDR电视按伽马2.2显示,HDR电视按HLG OOTF显示

我做过一个测试:同一段HLG素材,同时输出到SDR监视器和HDR监视器。SDR那边画面正常,只是高光稍微压缩;HDR那边高光细节全在。两台设备都没做额外处理。

避坑指南: 我曾经在后期调色时把HLG素材直接套了SDR LUT,结果暗部发灰、高光过曝。后来才意识到,HLG的OOTF是在显示端完成的,调色时应该用HLG参考监视器,而不是SDR监视器。

4.3 无元数据需求:简化工作流

HLG不需要元数据,这意味着:

  • 传输更简单:HDMI 2.0就能跑,不需要HDMI 2.0a的静态元数据支持
  • 剪辑更省心:Premiere、DaVinci里直接当常规素材处理,不用额外设置
  • 分发更兼容:老设备也能显示,只是效果差一点

我参与过一个体育直播项目,信号从现场到演播室再到播出,中间经过5次切换。如果用PQ+元数据,每次切换都得重新解析元数据,万一丢了一帧元数据,画面就崩了。HLG完全没这问题,信号流里只有视频,干净利落。

特性 PQ + 静态元数据 HLG
元数据需求 必须(SMPTE ST 2086) 无
HDMI版本要求 2.0a及以上 2.0即可
剪辑兼容性 需特殊设置 原生支持
直播适用性 低(元数据易丢失) 高
SDR兼容性 需色调映射 原生兼容

4.4 场景亮度映射:显示设备说了算

HLG的场景亮度映射,说白了就是:编码端不决定最终亮度,显示设备自己决定。

举个例子:

你拍了一段HLG素材,场景里有太阳(实际亮度10000nit)、人脸(100nit)、阴影(1nit)。编码时,HLG把这三个亮度映射到0-1的归一化信号里。

到了显示端:

  • SDR电视(100nit峰值):太阳被压缩到100nit,人脸约50nit,阴影约0.5nit
  • HDR电视(1000nit峰值):太阳映射到800nit,人脸约80nit,阴影约0.8nit
  • 专业监视器(2000nit峰值):太阳映射到1500nit,人脸约120nit,阴影约1nit

你会发现,不同设备看到的亮度不同,但相对关系保持一致。这就是“相对亮度”的含义。

注意: HLG的峰值亮度没有上限。理论上,显示设备峰值多高,HLG就能映射多高。但实际中,HLG的编码范围只覆盖到约12倍于SDR峰值(即1200nit左右)。超过这个范围的高光,会被截断或压缩。

我个人习惯在HLG素材里保留10%-15%的高光余量。比如场景最亮处是1000nit,我按800nit来曝光。这样即使显示设备峰值更高,也不会出现高光断层。

4.5 HLG知识体系总览

下面这张图把HLG的核心逻辑串起来了:

HLG技术原理总览 场景亮度输入 HLG OETF编码 暗部:伽马曲线 | 亮部:对数曲线 无元数据传输 SDR显示设备 伽马2.2 OOTF → 100nit峰值 HDR显示设备 HLG OOTF → 峰值亮度自适应 核心逻辑:编码端只做OETF,显示端根据设备能力做OOTF映射

这张图把HLG的完整链路画清楚了。从场景亮度输入,到HLG OETF编码,再到无元数据传输,最后分叉到SDR和HDR显示设备。每个环节各司其职,没有多余的步骤。

嗯,这就是HLG的精髓——用最简单的信号链路,实现最广泛的设备兼容。我做了这么多年编码,HLG是我见过最“务实”的HDR方案。它不追求极致画质,但追求“在哪都能看”。