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,它根据显示设备的峰值亮度自动调整映射曲线。
具体流程:
- 编码端:只做OETF(光电转换),不指定峰值亮度
- 传输端:信号里没有元数据,只有视频码流
- 解码端: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和HDR显示设备。每个环节各司其职,没有多余的步骤。
嗯,这就是HLG的精髓——用最简单的信号链路,实现最广泛的设备兼容。我做了这么多年编码,HLG是我见过最“务实”的HDR方案。它不追求极致画质,但追求“在哪都能看”。