HDR10与HLG视频编码参数调优与效果评估实战 - 第1节

一、HDR 到底是什么?

先问个问题:你手机拍夜景时,是不是经常暗部一团黑、亮灯一片白?

这就是标准动态范围(SDR)的局限。HDR,全称 High Dynamic Range,说白了就是让画面同时看清暗部和亮部。我最早接触 HDR 是在 2016 年做蓝光编码项目,当时客户要求「暗部要有细节,太阳不能过曝」。嗯,那会儿我才意识到,SDR 真的做不到。

一句话总结:HDR 不是调色滤镜,而是一套从采集、编码到显示的全链路技术标准。它让画面更接近人眼真实看到的亮度范围。

1.1 SDR vs HDR:差距在哪?

我习惯用一张表来对比,这样最直观:

对比项 SDR(标准动态范围) HDR(高动态范围)
峰值亮度 100 nit(典型) 1000~10000 nit
黑位亮度 0.1~0.5 nit 0.0005~0.005 nit
色域 BT.709(约 35% 可见色) BT.2020(约 75% 可见色)
位深 8-bit(256 级) 10-bit(1024 级)
电光转换函数 Gamma(BT.1886) PQ(ST.2084)或 HLG

你看,亮度差了 10~100 倍,色域翻了一倍多,位深多了 4 倍灰阶。这不是小修小补,是代际升级。

我的经验:做 SDR 转 HDR 时,最常踩的坑就是「拉高亮度就完事」。结果暗部噪点全出来了,高光还断层。HDR 的亮度扩展必须配合色域和位深一起调整,缺一不可。

二、HDR 三大核心技术指标

搞懂 HDR,你只需要抓住三个关键词:亮度、色域、位深。我当年面试新人,就问这三个,能讲清楚的基本都留下了。

2.1 亮度:从 100 到 10000 nit

SDR 的峰值亮度是 100 nit,也就是一张白纸在台灯下的亮度。HDR 呢?1000 nit 起步,高端显示器能到 10000 nit。你想想看,太阳表面亮度大约是 16 亿 nit,HDR 虽然还差得远,但已经能模拟「刺眼」的感觉了。

这里有个关键概念:电光转换函数(EOTF)。SDR 用 Gamma 曲线,HDR 用 PQ(Perceptual Quantizer,ST.2084)。

  • PQ 曲线:基于人眼视觉模型,亮度越高,需要的码字越少。说白了,暗部多分配码字,亮部少分配,这样 10-bit 就能覆盖 0~10000 nit。
  • HLG 曲线:兼容 SDR 显示器的折中方案,亮部用对数曲线,暗部用 Gamma。我做过一个直播项目,HLG 直接推流,SDR 电视也能看,兼容性确实好。

避坑指南:我曾经在编码时把 PQ 的峰值亮度设成 4000 nit,但客户显示器只有 1000 nit。结果画面整体偏暗,因为显示器把 4000 nit 映射到 1000 nit,中间调全压暗了。记住:编码时的 MaxFALL(最大帧平均亮度)和 MaxCLL(最大内容亮度)必须跟目标显示设备匹配。

2.2 色域:从 BT.709 到 BT.2020

色域就是颜色范围。BT.709 覆盖约 35% 的可见色,BT.2020 覆盖约 75%。差距有多大?

我举个例子:红色。BT.709 的红色偏橙,BT.2020 的红色更接近激光红。你在 SDR 显示器上看到的「红」,其实是被压缩过的。HDR 的 BT.2020 能还原出更饱和、更纯净的颜色。

但注意:BT.2020 是容器色域,不是内容色域。实际拍摄和制作时,通常用 DCI-P3(约 54% 可见色)作为工作色域,最后映射到 BT.2020 容器里。我习惯在编码时保留 P3 色域,用元数据告诉显示器「这是 P3 内容」,避免过度拉伸导致色块。

色域标准 覆盖可见色 典型用途
BT.709 ~35% SDR 电视、网络视频
DCI-P3 ~54% 数字影院、HDR 制作
BT.2020 ~75% HDR 容器、UHD 蓝光

2.3 位深:8-bit vs 10-bit vs 12-bit

位深决定了灰阶数量。8-bit 有 256 级,10-bit 有 1024 级,12-bit 有 4096 级。

为什么 HDR 需要 10-bit 起步?因为亮度范围大了,如果还用 8-bit,暗部相邻两个灰阶的亮度差会被人眼察觉,出现色带(banding)。我做过一个测试:在 1000 nit 显示器上播放 8-bit HDR 内容,天空渐变全是条纹,惨不忍睹。

10-bit 的 1024 级灰阶,配合 PQ 曲线的非线性分配,刚好能让人眼感觉不到跳变。12-bit 主要用于后期调色和母版制作,编码时一般下采样到 10-bit。

编码建议:HDR10 强制 10-bit,HLG 也推荐 10-bit。如果你用 8-bit 编码 HDR,相当于把法拉利装进夏利的油箱——跑不起来的。

三、HDR 知识体系总览

下面这张图是我自己梳理的 HDR 核心知识结构,帮你把零散概念串起来:

HDR 核心知识体系 HDR 核心知识体系 HDR 高动态范围 亮度(Luminance) 色域(Color Gamut) 位深(Bit Depth) 峰值亮度 黑位亮度 EOTF(PQ/HLG) BT.709 DCI-P3 BT.2020(容器) 8-bit(256级) 10-bit(1024级) 12-bit(4096级) 亮度 × 色域 × 位深 = HDR 画质 三者缺一不可,互相制约

你看,亮度、色域、位深是 HDR 的三根柱子。缺了任何一根,HDR 都立不起来。我见过不少项目,只堆亮度不管色域,结果画面亮是亮了,颜色却发白——那就是典型的「假 HDR」。

四、HDR10 与 HLG:两种主流方案

讲完基础概念,简单提一下两种主流 HDR 标准,后面章节会详细展开:

  • HDR10:基于 PQ 曲线,10-bit,静态元数据(MaxFALL、MaxCLL)。强制要求,所有 HDR 显示器都支持。我习惯用它做电影和高端流媒体。
  • HLG:基于 Hybrid Log-Gamma,兼容 SDR 显示器,不需要元数据。适合直播和广电场景。我做过一个体育赛事直播,HLG 直接推流,SDR 和 HDR 观众都能看,省心。

选型建议:如果你做的是点播内容(电影、剧集),选 HDR10;如果是直播或需要兼容老旧设备,选 HLG。两个都支持?那就都做,用元数据区分。