东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

西瓜视频是如何实现“端到端 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:453202

评论 1 条评论

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

【技术探讨】无线通信中如何排查电磁波干扰?

Geek_ab1536

云堡垒机是软件堡垒机吗?是一种产品吗?

行云管家

云计算 网络安全 堡垒机

低代码平台:业务开发“加速器”

这我可不懂

软件开发 低代码开发 JNPF

DBeaverUE for Mac v23.3.1旗舰激活版下载

iMac小白

Redis Desktop Manager for Mac:简单高效的Redis数据库管理工具

影影绰绰一往直前

一文总结现代 C++ 中的初始化

EquatorCoco

Java c++ 开发语言

低代码怎么火起来的?

高端章鱼哥

低代码 JNPF

ProVideoPlayer for mac(pvp3多屏播放软件)v3.3.1激活版

iMac小白

WiFi7-QCN9274, QCN6274 and QCN6224- What is the biggest difference?

wifi6-yiyi

qcn9274

GaussDB(for MySQL)剪枝功能,让查询性能提升70倍!

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟

每日一题:LeetCode-498. 对角线遍历

半亩房顶

Go 面试 算法 LeetCode 遍历

结合数据分析工具,深入挖掘淘宝API接口的商业价值

Noah

目前山西长治市正规等保测评机构叫什么名字?在哪里?

行云管家

等保 等保测评 长治

软件测试学习笔记丨Linux命令 sort排序

测试人

软件测试

2024年了,是谁还在学C++11?(没错,是我)

博文视点Broadview

通过 Footprint 的钱包地址属性解密身份和意图

Footprint Analytics

区块链 加密钱包

TDengine 签约海博思创,助力储能运维平台数据管理

TDengine

tdengine 时序数据库

FunPlus宣布与华为游戏中心达成鸿蒙生态合作

最新动态

预计算的时代该结束了

Braisdom

大数据 BI StarRocks BI 分析工具

Walrus 0.5发布:重构交互流程,打造开箱即用的部署体验

SEAL安全

GitHub 开源 平台工程 Walrus

在 Windows 平台下安装与配置 MySQL 5.7.36

小魏写代码

百度智能云千帆AppBuilder-应用API调用说明

AI大咚咚

人工智能 百度 AI #大模型 AI原生应用

独享资源与极速体验:韩国独立服务器带给您的优势!

一只扑棱蛾子

独立服务器

Tipard Video Converter Ultimate 10.2.52 视频格式转换

影影绰绰一往直前

程序员必备!10款实用便捷的Git可视化管理工具

不在线第一只蜗牛

git 程序员 可视化 实用工具

如何理解低代码?将会带来哪些价值?

互联网工科生

软件开发 低代码开发 JNPF

Photoshop 2024 破解版(ps 2024)正式版下载

影影绰绰一往直前

左耳听风 - 绩效考核「读书打卡 day 19」

Java 工程师蔡姬

读书笔记 程序员 个人成长 职业发展 绩效考核

【教程】iOS 手机抓包工具介绍及教程

雪奈椰子

软件测试学习笔记丨Selenium环境安装与使用

测试人

软件测试

Dynamic Wallpaper for Mac(精美的动态壁纸)v17.1免激活版

iMac小白

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