【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

西瓜视频是如何实现“端到端 HDR”的

Keith

  • 2021-08-26
  • 本文字数:2639 字

    阅读完需:约 9 分钟

西瓜视频是如何实现“端到端HDR”的

今年 6 月,西瓜视频宣布全面支持 HDR 视频功能,成为首个 HDR 技术覆盖全形态(手机、PC 和平板)、打通全环节(拍摄、编辑和消费)的视频平台。


HDR(High Dynamic Range,高动态范围 ) 视频,相比普通 SDR 视频拥有更高的色深、更广的动态范围和更强的色彩表现力,能显著提升视频画质。当西瓜用户拍摄、编辑、预览、上传和观看 HDR 视频时,字节跳动旗下火山引擎多媒体实验室的“端到端 HDR 视频解决方案”发挥了重要作用,该方案也已逐步开放给火山引擎的企业级客户。


近几年,众多厂商纷纷在不同终端设备上提供 HDR 技术,包括拍摄、播放的能力支持等。但是,HDR 技术的运营并不是单一的某个环节,而是从内容制作到传输再到设备显示的端到端技术。为了有效转码处理 HDR 格式相关视频内容,并在终端设备上完美呈现 HDR 的画面,火山引擎多媒体实验室打造了一套完整的解决方案,支持多种不同格式 HDR 视频内容从上传、转码、分发,最终到终端适配播放的能力。


为了提升用户体验,该方案在端到端的不同环节采用了以下独特技术:


一、为丰富 HDR 视频来源,设计独特的逆色调映射 (Inverse Tone Mapping) 算法,最大程度地实现了对现有 SDR 节目的 HDR“还原”及向上兼容;


二、为提升普通 SDR 设备上的用户观看体验,设计特有的色调映射(tone mapping)算法,在 SDR 设备上获得与 HDR 尽可能接近的播放效果;


三、播放端高色彩还原渲染及低功耗解决方案,可支持高达 4K 分辨率和 60fpsHDR 视频流畅播放;


四、为安卓平台提供了国内首个通用 HDR 亮度管理方案,确保不同安卓机型都能有相对稳定的 HDR 观看体验。


火山引擎多媒体实验室“端到端 HDR 视频解决方案”流程图如下:

下文将详细介绍该方案在 HDR 转码和播放环节的技术特点。

HDR 转码

对不同格式 HDR 源的转码支持


HDR 的标准经过多年的发展,分化出了多种标准,如 HDR10、HDR10+、Dolby Vision 及 HLG,而西瓜视频等产品用户上传的 HDR 视频还涉及不同的编码位深(8bit,10bit,12bit)和多种视频编码器标准,目前的转码工作流能够准确识别和兼容已知的所有 HDR 视频格式


为了更好地处理 HDR 这种高动态视频,字节跳动自研编码器 BVC 也做了大量针对性优化,包括但不限于 SIMD 实现,编码优化算法等,在计算复杂度和编码效率方面取得了一个较高的平衡。

由 SDR 生成 HDR 视频的算法处理


HDR 内容最早由电影节和广播电视公司生产,第一批 4K HDR 电影在 2015 年由福克斯电影公司推出,同年 Sony 在 SMPTE 会议上展示了他们的 HLG 视频,HDR 渲染在电子游戏领域的应用则要更早。直到最近几年,消费侧的 HDR 播放功能才开始慢慢普及开来,而在此之前,为了兼容主流播放设备,HDR 内容都不得不被转换为 SDR 进行传播。


因此,网络上存在大量原本是 HDR 格式的 SDR 内容,如电影片段、游戏画面,专业摄影作品等。对于这部分内容,技术团队利用算法对其进行了重制,使用了 inverse tone mapping 技术,将这些 SDR 视频还原为了原有的 HDR 格式,在用户的 HDR 设备上焕发了新生。



图:西瓜视频 SDR 及 HDR 效果对比

对于非 HDR 设备的兼容支持


当 HDR 视频在 SDR 设备上播放时,会发生黑屏(解码器不支持)或者色彩异常(播放器不支持)等诸多兼容性问题。为了保证还在使用 SDR 设备的用户体验,服务端必须进行向下兼容的转码处理,对于 HDR 源视频,技术团队使用了 tone mapping 算法,转换出相应的 SDR 版本并下发给这部分用户。


HDR 到 SDR 视频的转换,经历了亮度动态范围和色彩空间的压缩(BT.2020 到 BT.709)以及光电转换函数 EOTF 的变化,同时信号位深也由 10bit 降低到 8bit,视频信号可用的色阶数量减少了 75%(1024 到 256 个)。为了最大限度保留 HDR 视频中的暗部和亮部细节,同时保证色彩不失真,技术团队通过分析视频图像的亮度和色域分布等图像特征,动态调整不同场景下的转换参数,充分利用 8bit 信号的 256 个色阶来表现原本的 HDR 内容,保证 HDR 源视频中的画面能够尽量准确完好地呈现给 SDR 设备的用户。


考虑到传统的 SDR 标准基于 100nit 的最大亮度设计,而如今的智能手机屏幕亮度普遍高于这个数值。为了充分利用手机屏幕的亮度范围,在用户设备上呈现最佳的显示效果,需要给画面暗部细节分配更多的色阶,同时需要更高的画面整体对比度。因此在转换处理中,技术团队基于消费端的播放环境重新设计了 tone mapping 算法的参数,使得转换后的视频在普通 SDR 设备上也能呈现出与 HDR 尽可能接近的播放效果。


图:普通 SDR 设备播放 HDR 视频的效果(右图应用了 Tone Mapping 算法)

HDR 播放

兼容性及高性能优化


西瓜视频等产品使用字节跳动自研播放器,在 Android 和 iOS 上均支持 HDR10/HLG 等多种 HDR 格式,通过机型数据探测出具备 HDR 播放能力的设备,并进行分发、播放支持,在不同机型上都能有稳定的 HDR 画质表现。


值得一提的是,该播放器在 Android 上还具备 HDR 回退 SDR 的渲染能力,在不支持真 HDR 的 Android 机型上,可使用 Tone Mapping 将 HDR 转到 SDR 渲染,保证用户终端播放画质的最优显示。在 iOS 端则使用异步初始化技术,极大地缩短了 HDR 视频的起播时长,进一步提升视频播放体验。


在保证极致色彩体验及低功耗的情况下,字节播放器可支持高达 4K 分辨率和 60fps 流畅播放。

HDR 亮度自适应方案


为了给用户充分展现 HDR 内容,西瓜视频在移动端播放视频时,需要充分利用设备屏幕的高动态范围。根据动态范围的定义,屏幕的动态范围由最大亮度和最低亮度(黑位)的比值决定。当人们在一块 OLED 屏幕上观看 HDR 视频时,由于其黑位是固定值,视频的动态范围完全由屏幕的最大亮度决定。因此,为了让用户观看 HDR 内容时感受到比 SDR 视频更高的动态范围,需要调高屏幕亮度来做到这一点。


目前主流的安卓设备厂商缺乏统一的亮度管理方案。为此,火山引擎多媒体实验室提出了国内首个安卓端通用 HDR 亮度管理方案,在实验室测定了不同初始亮度下的最佳 HDR 观看亮度曲线,并集成到了西瓜视频安卓端 APP,在不同机型和不同初始亮度下播放 HDR 视频时自适应地调整当前屏幕亮度,保证了不同安卓机型都能够有相对稳定的 HDR 观看环境,进而提升用户的观看体验。

关于火山引擎多媒体实验室


实验室致力于研究、探索多媒体领域的前沿技术,参与国际、国内多媒体方向的标准化工作,为多媒体内容分析、处理、压缩、传输、创新交互等领域提供软硬件解决方案。目前多媒体实验室所提供的众多创新算法已经广泛应用在了抖音、西瓜视频等产品的点播、直播、实时通信、图片等多媒体业务,并向火山引擎的企业级客户提供技术服务。

2021-08-26 15:453214

评论 1 条评论

发布
用户头像
是如何判断哪些设备不支持HDR显示的呢?
2022-08-26 10:47 · 广东
回复
没有更多了
发现更多内容

一念三年,心机流转|靠谱点评

无量靠谱

What's new in dubbo-go v1.5.6

阿里巴巴云原生

开发者 云原生 dubbo 中间件 Go 语言

Dubbo 入门简介

青年IT男

dubbo

Dubbo 四大角色

青年IT男

dubbo

把黄金圣衣交给圣斗士:HDC.Cloud 2021的硬核春天

脑极体

MySQL事务机制是如何实现的?

冰河

MySQL 事务 Binlog Redo Log Undo Log

postman的url编码问题

箭上有毒

4月日更

Python基础语法和数据类型最全总结

华为云开发者联盟

Python

身边的最优化问题

PeterOne

人工智能 算法

Dubbo 服务配置

青年IT男

dubbo

Dubbo 直连提供者

青年IT男

dubbo

稻盛和夫的管理绝活:阿米巴经营模式

石云升

团队建设 28天写作 职场经验 管理经验 4月日更

2021最全网页视频下载攻略 【建议收藏】

科技猫

软件 工具 网站 分享 视频处理

Dubbo 服务注册与发现

青年IT男

dubbo

小白也能看懂的操作系统之内存

程序猿阿星

操作系统 内存 内存管理 内存优化

几个快速提升工作效率的小工具(Listary等)分享一下(强烈建议收藏)

码农飞哥

Dubbo 服务启动检查

青年IT男

dubbo

区块链电子发票的多维创新与变革效应

CECBC

电子税务

如何运用“区块链”,让档案数据管理更安全

CECBC

数据安全

Redis 持久化

叶佳欣

redis持久化

聪明人的训练(二十五)

Changing Lin

4月日更

截图软件Snipaste超好用的贴图功能,在别的软件也能拥有 | 窗口置顶工具

彭宏豪95

效率 工具 windows 4月日更 窗口置顶

2.7w字!Java基础面试题/知识点总结!(2021 最新版)

JavaGuide

Java 面试

Leveldb解读之四:Compaction

Jowin

leveldb

Dubbo快速入门

青年IT男

dubbo

区块链链接能源:到底是乌托邦愿景还是未来蓝图?

CECBC

能源

Dubbo 集群容错

青年IT男

dubbo

源中瑞区块链BaaS平台搭建,为企业开发应用提供技术支撑

源中瑞-龙先生

区块链 源中瑞 Baas

ISO/IEC 5055:软件代码质量的标尺

华为云开发者联盟

软件 代码质量 源代码 ISO/IEC 软件质量模型

KubeFed集群联邦

ilinux

Kubernetes 容器 云原生 kubernetes联邦

前端架构演进 - 从单体到微前端(理论篇)

Teobler

大前端 架构演进

西瓜视频是如何实现“端到端HDR”的_编程语言_InfoQ精选文章