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

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

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

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

  1. 为了提升用户体验,该方案在端到端的不同环节采用了以下独特技术:
  2. 为丰富HDR视频来源,设计独特的逆色调映射(Inverse Tone Mapping)算法,最大程度地实现了对现有SDR节目的HDR“还原”及向上兼容;
  3. 为提升普通SDR设备上的用户观看体验,设计特有的色调映射(tone mapping)算法,在SDR设备上获得与HDR尽可能接近的播放效果;
  4. 播放端高色彩还原渲染及低功耗解决方案,可支持高达4K分辨率和60fpsHDR视频流畅播放;
  5. 为安卓平台提供了国内首个通用HDR亮度管理方案,确保不同安卓机型都能有相对稳定的HDR观看体验。
  6. 火山引擎多媒体实验室“端到端HDR视频解决方案”流程图如下:

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

HDR转码

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

HDR的标准经过多年的发展,分化出了多种标准,如HDR10HDR10+Dolby VisionHLG,而西瓜视频等产品用户上传的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观看环境,进而提升用户的观看体验。

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

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

举报
评论 0