当前位置: 首页 > news >正文

视频名词浅析——HDR

视频名词浅析——HDR

https://zhuanlan.zhihu.com/p/38837135

视频名词浅析——HDR

如云般飘过

如云般飘过

调色师 / 剪辑师 / Mac重度用户/ 摄影爱好者

相信大家选购电视的时候经常会看到支持 HDR 标准的设备。

到底显示设备上的 HDR 指的是什么,对于作为观众的消费者,或者作为专业人士的调色师来说到底意味着什么。这篇文章会简单得阐述一下视频(显示器) HDR(High Dynamic Range,高动态范围)标准。

1 照片 HDR(色调映射)

要说明白什么是视频 HDR,首先就要从一个也是叫做 HDR 的东西说起——照片 HDR。

HDR 这个词对大家来说肯定不陌生,在手机和数码相机上都有拍摄 HDR 照片的设置。在大光比的拍摄环境下可以兼顾高光和暗部的细节。

iPhone HDR 设置界面

这里的照片 HDR 与显示器 HDR 是两种不同的技术,照片 HDR 的原理是拍摄的时候同时拍多张照片包括:较低曝光值、正常曝光值、较高曝光值。根据算法选取各个曝光值中的细节,合成出一张同时兼具高光和暗部细节的照片。

HDR 合成 [1]

这种基于多张照片合成的方法称为色调映射(Tone Mapping)。在部分手机上,由于算法的限制,会存在矫枉过正、对比度不自然的情况。

由于照片 HDR 合成只涉及到算法的合成,并未涉及光电转换,所以合成出来的照片还是处于 SDR(Standard Dynamic Range,标准动态范围)的标准。

 

2 SDR 与 HDR

所谓的 SDR(Standard Dynamic Range,标准动态范围) 就是被目前主流电视、显示器所接受的 Rec.709 标准,SDR 的主要参数如下:

  • EOTF(Electro-Optical Transfer Function,电光转换函数): BT.1886
  • 峰值亮度:ST-2080-1,100 nits
  • 色彩空间:Rec.709,sRGB
  • 分辨率:SD、HD、UHD

SDR 的掣肘之处在于峰值亮度仅为 100 nits(nits 为亮度单位 的简写,关于亮度单位在之前的文章 调色名词浅析——Gamma(伽玛)校正 人眼的感光特性一章中有对应的解释)。

SDR 的亮度范围在 0.117nits - 100nits 之间,色彩空间也仅支持到 sRGB(有关色彩空间的解释可以参考之前的文章:调色名词浅析——色彩空间与色域)。

这些标准其实都是来自 CRT(Cathode Ray Tube,阴极射线管) 时代的遗产。现代的显示设备已经可以提供更高的亮度以及更丰富的色彩空间了,只是为了兼容 CRT 才一直使用 SDR 的标准。

其实,自然界的光照远超 100nits 的标准,就拿拍摄的一朵花来说:

花朵各个部位的亮度,图片来自 [2]

在黄色花瓣部分最高亮度达到了 14700nits,显然一般的 SDR 标准显示器是没有办法完美还原这一亮度的。可见自然界比目前蓝光、影院再现的视频拥有更广的亮度范围,为了完美还原这些亮度,HDR 标准就应运而生了。

HDR 的主要参数如下:

  • EOTF 或 OETF:ST.2084(PQ) 或者 Hybrid Log-Gamma(混合编码,下文会详细说明)
  • 峰值亮度:可变,500nits - 10000nits
  • 色彩空间:P3 或者 Rec.2020
  • 分辨率:SD、HD、UHD

可见 HDR 显示具有更高的亮度和更广的色彩范围以及更高的色深,由于 OETF 的不同,HDR 与 SDR 不能互相兼容。

 

3 HDR 的分类

HDR 标准目前主要分为三类:

  • 杜比开发: Dolby Vision
  • 电视机制造联盟:HDR 10
  • 电视台主打: Hybrid Log-Gamma

这三个标准各有其特点,下面来一一说明。

 

3.1 Dolby Vision(杜比视界)

HDR 的标准是由杜比主导的,包括 OETF 曲线也是由杜比和 SMPTE 主导开发,杜比系的 OETF 曲线称为 PQ(Perceptual Quantizer,感知量化),同时也属于 SMTPE ST.2084 标准。PQ 规定峰值亮度为 10000nits,PQ 会将光信号量化成一个值对应到电信号中,当显示器亮度不够时,会切去高光信号来适配。

Dolby Vision 色域为 Rec.2020,最高支持 12bit 的色深。

Dolby Vision 拥有两层视频流,基础层(SDR 视频内容)和增强层(HDR 视频内容),如下图所示:

分别输出 SDR 和 HDR [3]

这种双层视频流使得 Dolby Vision 同时兼容 SDR 与 HDR 显示器。

值得一提的是,双层视频流中间还有一层艺术指导元数据,解码和编码过程如下:

双层视频流解码编码过程 [2]

可以看出,当显示器的峰值亮度未达到最高亮度时,算法会自动混合基础层和增强层,使得画面的高光部分不至于因为 PQ 的算法而被切去。这令 Dolby Vision 可以兼容各种亮度峰值的显示设备,更能在所有设备上体现出创作者的真实意图。

另外,Dolby Vision 是付费许可的。

 

3.2 HDR 10

HDR 10 是电视制造厂商联盟 Ultra HD Premium 为了有一个更开放的平台,并且不受 Dolby 制约而制作的 HDR 标准(可以节约专利费)。

HDR 10 是基于 Dolby Vision 而开发的,EOTF 曲线依旧为 PQ,色域为 Rec.2020;不过 HDR 10 的峰值亮度为 1000nits,而色深也只支持 10bit。

HDR 10 标准亦没有 Dolby Vision 的双层视频流,这意味着不兼容 SDR 的视频内容。当显示器的亮度不够时,由于 PQ 算法的特性,高光部分也会被切去。

简而言之,HDR 10 可以看作是 Dolby Vision 的简化标准,并被大多数电视所接受。

HDR 10 标准是免费许可的。

 

3.3 Hybrid Log-Gamma(HLG,混合编码)

HLG 标准是由 BBC 和 NHK 合作开发的,它简化了 HDR 的制作流程,更利于电视信号的传输。

HLG 的编码方式准确来说属于 OETF(Optical-Electro Transfer Function,光电转换函数),这种转换在拍摄过程中就已经在进行了,可以在拍摄过程中将高光信息保留。类似于 Log 视频的处理方法,函数曲线如下:

HLG 编码 [4]

HLG 可以有 1200% 的亮度范围,这个图像很像我之前文章提到过的 Log 视频的曲线。看曲线图不难发现,这种转换在信号强度 0.5 之前为 Gamma 曲线,之后为 Log 曲线,这种编码方式能更好得记录高光的范围,使之满足 HDR 的亮度范围。

HLG 对于广播电视的好处在于可以简化广播节目的制作流程。因为电视台的预算有限,且要满足24小时不间断播放,无法使用 PQ 编码来生成 HDR 图像,这样会浪费大量编码解码的时间。

同时,HLG 也拥有良好的兼容性,可以同时兼容 HDR 和 SDR 的播放标准。考虑到各家电视机的品种,鉴于 HLG 使用的依旧是 YUV 编码(PQ 为 RGB 编码),其甚至可以兼容到最早的 CRT 黑白电视系统。这种良好的兼容性显然是电视系统需要优先考虑的。

HLG 也为免费授权,目前索尼已经能够支持这一标准。

 

4 HDR 的优势

随着大家显示设备的更新换代,HDR 将进入各种场景,给观众和专业人士带来全新的视觉体验和创作灵感。下面就分两方面来说。

 

4.1 普通观众

HDR 技术给观众带来了更高的亮度范围、更多的颜色以及更好的细节显示,终于不用受制于 CRT 的标准。这对于观影体验来说是质的飞跃,普通观众在家也可以体验到更好的画质。

 

4.2 专业调色师

HDR 技术对于调色师来说是一项新的挑战,更高的亮度范围同时也意味着更高的饱和度,因为在 100nits 的亮度下,如果要再提高亮度就必须牺牲饱和度,HDR 下就没有这样的烦恼。

同时,更高的亮度范围意味着我们将拥有更多的高光细节以及明暗对比,调出的画面可以更有想象空间。

大家可以通过下面视频体会一下 SDR 和 HDR 的区别:

 

鉴于大家的显示器可能没达到 HDR 的标准,视频只是模拟一下观看的区别。

 


关于 HDR 的内容就写到这里,如有错误或遗漏,欢迎在评论区指正。

下篇准备好好写一下 OETF 函数,如果大家有其他内容想了解,也可以写在评论里。

没有微信公众号,只在专栏里写些东西,顺便自己也可以学习,欢迎关注。


 

参考资料:

[1] WikiPedia-HDRI | High-dynamic-range imaging

[2] 杜比视界(Dolby Vision)白皮书 | white-paper10_V2.pdf

[3] 杜比官网 | Dolby Vision - 超越 HDR 的显示技术

[4] BBC HLG 白皮书 | BBC Research & Development White Paper WHP 309

发布于 2018-07-09

 

 

 

 

 

 

相关文章:

  • 虚幻引擎学习之路:渲染模块之全局光照明
  • 我所理解的DirectX Ray Tracing
  • Unity 曲线插值(Hermite插值和Catmull_Rom插值)
  • 参数化曲线:Hermite Catmull-Rom Bezier
  • 贝塞尔曲线原理(简单阐述)
  • 插值与样条
  • Unity 打包因为资源没有 meta ,打包 assetbundle 的时候,导致资源没有打包进去
  • 深入理解color model(颜色模型)
  • LMS色彩空间
  • 计算机图形中的色彩概念
  • 网游帧同步的分析与设计
  • UE4网络同步思考(一)---经典同步方案
  • UE4网络同步(二)——深入同步细节
  • 2021-03-13
  • UE4中自定义用于sequence的变量和函数
  • Docker入门(二) - Dockerfile
  • Electron入门介绍
  • golang 发送GET和POST示例
  • go语言学习初探(一)
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • Javascript编码规范
  • JavaScript函数式编程(一)
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • Protobuf3语言指南
  • Redash本地开发环境搭建
  • Vue2.x学习三:事件处理生命周期钩子
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 区块链共识机制优缺点对比都是什么
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 温故知新之javascript面向对象
  • MPAndroidChart 教程:Y轴 YAxis
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • # centos7下FFmpeg环境部署记录
  • # Panda3d 碰撞检测系统介绍
  • #Linux(权限管理)
  • (1) caustics\
  • (python)数据结构---字典
  • (二)linux使用docker容器运行mysql
  • (九)One-Wire总线-DS18B20
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • *上位机的定义
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .net 流——流的类型体系简单介绍
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • @angular/cli项目构建--Dynamic.Form
  • @Autowired自动装配
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [20150904]exp slow.txt
  • [BZOJ 1032][JSOI2007]祖码Zuma(区间Dp)
  • [CF226E]Noble Knight's Path