B站画质补完计划(4):SDR2HDR 让观感如临其境 Part.1

背景

图1 SDR 和 HDR 的效果对比[1]

如上图所示,同样一个户外场景,缓缓拉开的HDR(High Dynamic Range,高动态范围) 格式所展现的画面不论是天空区域高亮云层中的层次感,还是近景区域的色彩表现力,都有着明显优势;而 SDR(Standard Dynamic Range,标准动态范围) 的画面则像是整体蒙上了一层灰,极大削弱了观看视频时的临场感。

表1 SDR 与 HDR 的定义

为什么 SDR 和 HDR 内容会在观感上有如此明显的差异,原因在于这两套内容系统在规格上的不同。虽然目前普及率非常高的 SDR 内容系统在内容创作、传输、显示的一整套链路中已经充分验证了其稳定性,创作者的意图能够被准确表达。但是如表1所示,出于控制内容大小和传输效率的考虑, SDR 在内容承载上受到了 8bit 采样位深的限制,伴随着较窄的亮度范围和 BT.709 色彩空间,对于极暗和极亮内容共存的场景就会显得力不从心,往往只能在细节上保其一,同时对于现实场景中的色彩保存会有较大的损失。

图2 BT.709 和 BT.2020 色彩空间[2]

而规格更高的 HDR 内容系统凭借着 10bit 及以上的采样位深,至少 1000nits 以上的峰值亮度定义,以及更大的 BT.2020 色彩空间,在同时保留现实场景中的亮暗部细节和纷繁的色彩上都有着显著的优势。

总的来说,HDR 内容系统在数据记录、传输和终端显示上不吝成本,从而提供更接近"身临其境"的观看体验。那么作为 SDR 的"完美升级版",看似很美好的 HDR 内容系统在应用中难道就没有缺点吗?答案是否定的,在内容链路的三个环节中,显示环节是 HDR 内容传播的最大阻碍,即使是早期的 HDR10 标准中定义的峰值亮度下限也达到了 1000nits,而现阶段的三大类显示设备,手机、显示器、电视机中,只有高端乃至旗舰机型才会具备 1000nits 以上的屏幕素质。

图3 HDR 内容通过色调映射即可适配参数较低的显示设备

(左下-映射前,右上-映射后)[3]

但是我们也不用过度担心显示侧的问题,即使当显示设备的亮度水平和色域达不到 HDR 内容在创作期间的设定值时,通过播放器或者系统的色调映射(Tone-mapping)操作即可将内容的亮度范围和色彩空间映射到显示设备可以正常显示的范围内,如图3所示。同时,目前我们已经看到 1000nits 以上的屏幕在手机设备中的普及率逐年增长,而市面上的 HDR 显示器产品也逐渐从 HDR400(峰值亮度 400nits) 标准过渡到了 HDR600。毕竟和分辨率从 480p 逐步迭代到 4k 的进程类似,只要消费者对画质有需求,上下游的链路迟早会跟进,只需静候佳音即可。

接下来我们聊聊创作侧,由于 HDR 显示设备普及度的历史原因,高质量的 HDR 内容依然非常匮乏,但是消费者尤其是拥有 HDR 显示设备的消费者对这类内容依旧有着非常大的需求。虽然原生 HDR 内容依然非常少(这里的原生特指从信息完整的母带创作而来的 HDR 内容),存世量占绝对优势的高质量 SDR 内容(这里主要指分辨率在 1080p 以上,码率较高细节保留较为完整的 SDR 内容),其实具备着二次创作成HDR内容的潜力,目前主要依赖专业调色师进行制作。

调色师如何创作HDR内容

从调色师的角度介绍下二次创作的流程:至少需要一套完善的调色设备,例如 Apple Pro Display XDR(峰值 1600nits 显示器)+ DaVinci Resolve Mini Panel(调色台)的组合。

图4 调色设备示意图[4]

调色流程是在达芬奇软件中进行的,使用 HDR10 标准来作为 HDR 内容的处理和输出标准,以下是调色师专业视角下的调色思路:

  • 首先需要将整个 SDR 内容初步映射到 HDR10 标准范围,这一步通过 SDR2HDR 转换函数 来实现,例如达芬奇中现有的基于 BT.2390 的 SDR2HDR 算法。但是经由该算法转换后的内容,在高光处的饱和度以及部分颜色(比如红色)的表现会和 SDR 标准下相差比较大。因此还需要进行进一步的微调,直至内容整体在观感上能够和原始 SDR 内容基本对齐。
  • 完成了 HDR 初步映射后,调色师会先观察内容整体亮度,因为 HDR 标准并不只意味着亮,其实更多的是画面层次的提升。不过层次提升一定会带来观感上对比度的增大,虽然在画面清晰度上提升明显,但从影片主创团队的角度来看,这样的变化是对他们原本创意的一种破坏。为了平衡"尊重创意"和"提升清晰度"这两个目标,在这一步中,调色师需要重新在 HDR 画面中寻找新的曝光中心点,基于该点再对画面的 HDR 部分(指需要进行调整以体现 HDR 内容优势的画面内容)进行调整。
  • 完成基础调性确立后,接下来调色师会分内容地进行调整创作。首先是亮度层面,例如对于火焰、太阳、高光照等内容会将其亮度调至 600nits 以上水平,而对于缺乏光照的黑暗场景下的内容会适当调整亮度至可见水平,而对于字幕等不应该过亮的区域也会进行抑制。调整完亮度后,此时的 HDR 内容已经具有比较高的对比度和主观上的层次感。

调色师完成创作过程后,以 HDR10 的标准输出最终的 HDR 内容产物,我们称之为二创 HDR ,那么它和原生 HDR 内容都有哪些区别呢?首先不可否认的是 SDR 内容已经在亮度截断和量化过程中丢失了高亮内容的层次细节,以及部分暗部的结构信息,这些细节仅靠亮度和颜色调整是没有办法修复的,需要通过大规模神经网络模型结合大量数据才有机会修复。而调色师二创时能做到的是基于 SDR 保留下来的内容,借助 HDR 标准表达范围广的特点,将明暗对比和高低光差异还原到接近采集侧的水平,同时在颜色上引入一定程度的艺术风格化,就已经可以发挥出 HDR 内容标准的绝大部分优势。

"调色师分身"的设计初衷

通过调色师人工介入,利用优质 SDR 内容产出二创 HDR 的效率如何呢?根据我们的了解,纯人工调色的产出属于一个非常耗时的工作。如果能够复制调色师的调色思路,设计一个"调色师分身"系统,就可以通过批量化部署来快速产出二创 HDR 内容。

那么,如何设计这个系统呢?我们首先面临的问题是,系统的核心算法是否需要 "All in One",即单一分身能对所有内容的 SDR 视频都进行合适的二创。思考这个问题之前,还得先回到调色师的调色逻辑上。

调色师在二创时对于不同 SDR 内容的调色思路会有明显区别:例如,自然场景天然具有较广的光照范围,这时候可以把高光段提上去还原真实场景;而对于人文内容的室内场景,更侧重于低光段的内容表达,并不需要刻意去强调场景中光源的亮度。

图5 调色师在自然场景下可以给到 800nits 左右的高光

因此从调色原理上并不存在一套通用范式能够妥善处理所有类型的 SDR 内容,而是需要根据不同内容特点进行定制化处理。

表2 不同 SDR2HDR 方法的区别

回到分身系统的设计上,如表2所示,在调研了一些主流的 SDR2HDR 算法后,我们发现 AI 算法更契合"调色师分身"的角色,因为其具有场景自适应能力而不仅仅是遵循固定的转换范式。随之而来的问题是,单一 AI 模型有能力容纳调色师对于所有 SDR 内容类别的调色思路,即做到 "All in One" 吗?根据我们的调研,足量参数的大规模神经网络模型(例如 DiT),配合足量的 SDR-HDR 配对数据具有"学会"所有内容调色思路的可能性。

但是存在两个非常大的痛点:其一是更大的参数量和更复杂的计算范式意味着海量的算力消耗,很难在推理时做到高效处理,进一步导致批量进行二创 HDR 内容生产时庞大的算力成本,与我们设计"调色师分身"系统的初衷相违背;其二是收集到 "All in One" 所需要的各种内容类别的 SDR-HDR 数据对需要付出非常高昂的专业标注成本,同时如果阶段性地进行"收集-训练-收集-调整"的迭代模式,需要一直更新模型权重且存在着迭代过程中出现模型已覆盖品类的效果发生退化的风险。

综上所示,"All in One" 的思路实现难度极高且不具有落地可行性。而分内容品类定制多个轻量级模型的技术路线具有更高的确定性,更低的实际部署成本,以及更加敏捷的"标注一批数据,覆盖一个品类"的开发周期。

"调色师分身"的系统设计

图6 "调色师分身"系统流程图

我们整套"调色师分身"系统的流程如上图所示,在研发某个具体品类的算法时,首先需要调色师利用达芬奇等专业软件按照对应品类的内容特性对 SDR 内容进行二次 HDR 艺术创作,并导出符合 HDR10 标准的 HDR 二创原片,和对应的 SDR 原片一同给到训练侧作为训练的 SDR-HDR 数据对。

图7 轻量级 SDR2HDR 模型设计

针对 SDR 转 HDR 任务存在的高计算复杂度瓶颈,我们提出了一种创新的轻量化神经网络结构。该网络由三个协同工作的模块构成:全局信息网络、映射网络和局部增强网络。

全局信息网络以降采样后的 SDR 帧作为输入,经过运算得到与画面整体内容相关的全局信息,用以指导映射网络和局部增强网路对内容进行自适应处理。

映射网络以原分辨率的 SDR 帧作为输入,借助全局信息网络提供的全局信息,利用小卷积核对画面内容进行处理使之初步映射至 HDR10 标准下的颜色空间和亮度范围。

训练过程中,除了对模型预测 HDR 结果和调色师创作后的 HDR 版本进行 L1 loss 计算之外,我们还提出了一个时序一致性损失函数。其定义如下:

训练过程中每个训练轮次都会输入一个 SDR 画面帧序列到模型,其中\hat{H}_i代表模型预测得到的 HDR 画面帧序列,H_i代表对应的原始 HDR 画面帧序列。该损失函数期望令模型预测的 HDR 画面帧序列内部的帧间差距,同原始 HDR 画面帧序列内部的帧间差距尽可能地接近,从而促使模型输出的 HDR 画面帧间差距尽可能小,来保证时序上的稳定性。

总结与展望

以上,我们介绍了用于 SDR2HDR 的"调色师分身"系统的设计初衷以及基本的算法逻辑,但这还不是全部,实际应用过程中我们还遇到并解决了非常多的效果细节问题,将会在后续篇章中进行介绍。同时,在多个细分内容品类的分身模型上线后,对于如何减少人工挑选效果最佳模型带来的工作量,使系统达到根据不同内容自动选择最合适模型的这一目标,我们也结合了多模态大模型探索了系统级别的 "All in One" 决策方案,这也会在未来的篇章中进行分享。

哔哩哔哩多媒体实验室 (bilibili mlab)是一支技术驱动的年轻队伍,具备完善的多媒体技术能力,以极致卓越的多媒体体验为目标,通过对自研视频编码器、高效转码策略、视频图像分析与处理、画质评价等技术的持续打磨和算法创新,提出了诸多高质量的多媒体解决方案,从系统尺度提升了整个多媒体系统的性能和效率。

1\] 素材来源:因公众号暂不支持 HDR 视频或图片的展示,对比图为模拟适宜观看条件下的 SDR 视频和 HDR 视频显示差异的 SDR 图片,体验真实 HDR 效果可以在支持 HDR 的显示设备上访问 B站(*[www.bilibili.com/](https://link.juejin.cn?target=https%3A%2F%2Fwww.bilibili.com%2F "https://www.bilibili.com/")* )的 HDR 内容。 \[2\] 图片来源:*[www.videoproc.com/resource/hi...](https://link.juejin.cn?target=https%3A%2F%2Fwww.videoproc.com%2Fresource%2Fhigh-dynamic-range.htm "https://www.videoproc.com/resource/high-dynamic-range.htm")*\*\* \[3\] 图片来源:*[skylum.com/hans/blog/w...](https://link.juejin.cn?target=https%3A%2F%2Fskylum.com%2Fhans%2Fblog%2Fwhat-is-tone-mapping "https://skylum.com/hans/blog/what-is-tone-mapping")* \[4\] 图片来源:*[www.blackmagicdesign.com/cn/products...](https://link.juejin.cn?target=http%3A%2F%2Fwww.blackmagicdesign.com%2Fcn%2Fproducts%2Fdavinciresolve%2Fpanels "http://www.blackmagicdesign.com/cn/products/davinciresolve/panels")* -End- 作者丨星澜、Kaixii、domo、老丁、古铁、天落

相关推荐
GetcharZp4 天前
Go语言实现屏幕截取+实时推流
后端·音视频开发
哔哩哔哩技术1 个月前
2025 B站春晚直播——流媒体技术助力直播体验提升与玩法创新
音视频开发
hepherd1 个月前
iOS - 音频: Core Audio - 播放
swift·音视频开发
音视频牛哥1 个月前
跨越技术藩篱,低延迟RTMP与RTSP播放器的战略意义
音视频开发·视频编码·直播
音视频牛哥1 个月前
流转时光,极致传输:大牛直播SDK跨平台RTMP播放模块的超低延迟之道
音视频开发·视频编码·直播
David凉宸1 个月前
视频融合 hls流如何对接
前端·音视频开发
音视频牛哥1 个月前
跨平台轻量级RTSP服务模块:一切源自一场小而美的坚持
音视频开发·视频编码·直播
音视频牛哥1 个月前
跨平台RTSP播放器之快于心稳于骨,毫秒之间见真章
音视频开发·视频编码·直播