首页 > 其他分享 >依靠HDR-VMAF,Netflix的HDR视频已全部实现动态优化

依靠HDR-VMAF,Netflix的HDR视频已全部实现动态优化

时间:2023-12-28 14:02:39浏览次数:25  
标签:DO 编码 HDR VMAF Netflix 比特率 质量


编者按:据11月30日Netflixtechblog显示,Netflix现已推出动态优化 HDR(高动态范围) 视频流功能。该功能使用了新的算法HDR-VMAF,提升了用户的观看体验。Netflix于2016年开始推出HDR视频,此后其提供的HDR影片数量一直持续增长。HDR视频可以提供更广泛的色彩和更高的对比度,从而提供更趋近真实的图像。受限于不同设备和网络条件的差异,HDR视频的播放质量会受到影响。

作者:Aditya Mavlankar, Zhi Li, Lukáš Krasula and Christos Bampis

编辑整理:可乐吨吨机

技术审校:李智(本文作者之一)

HDR-VMAF

由于 VMAF 仅限于标准动态范围 (SDR) 视频信号,Netflix缺少测量 HDR 视频多方法评估工具 ( VMAF ) 的系统能力。为了解决这一问题,Netflix开始着手开发基于VMAF的HDR变体:HDR-VMAF,它可以更准确地测量用户对HDR视频的质量评估。

该系统使用了一个称为Dynamic Optimizer(以下简称DO)的动态优化编码,基于实时反馈和机器学习算法来进行决策。

(注:HDR-VMAF 是 VMAF 的一个扩展,用于评估 HDR 视频的质量。HDR 视频使用更高的亮度范围和色域,因此需要使用专门的工具来评估其质量。)

在此之前,Netflix使用具有预定比特率的固定梯度进行 HDR 视频流的运作。2021年Q3-Q4对 HDR-DO 编码进行了 A/B 测试;2022 年初进一步改进梯形图生成算法;2022 年Q2开始回填现有的 HDR-DO 编码;到 2023 年 6 月,整个 HDR 目录进行了优化。

依靠HDR-VMAF,Netflix的HDR视频已全部实现动态优化_码率

图1为流量从固定比特率到 DO 编码的迁移

比特率与质量比较

HDR-VMAF被用来衡量HDR视频信号的感知质量,而与具体的容器格式无关(例如杜比视界Dolby Vision或 HDR10)。HDR-VMAF 专注于信号特征而非显示特征,因此它的流程中不包括显示映射(display mapping)。显示映射是显示器基于其自身特性(峰值亮度、黑色水平、色域等)以及基于内容特性和/或在比特流中信号的元数据所应用的特定色调映射。

HDR10和杜比视界有两个差异:①在编码之前对信号应用的预处理;②元数据在不同的显示器上指导显示映射。因此,HDR-VMAF将捕获①的效果,但忽略②的效果。在流式传输HDR内容的异构设备群体非常杂,显示能力差异很大——这一方面与不同会话之间的因素类似,比如周围光线、观看距离、设备上的图像放大算法等。“VMAF不包含显示映射”意味着分数是针对“理想显示器”计算的,该显示器能够展现视频信号所跨越的整个亮度范围和色域——因此不需要显示映射。在查看与这两种格式相关的速率与质量曲线之前,了解此背景非常有用。

下面展示了HDR目录中几个影片的比特率与质量示例。我们展示了两组数据。在每组中,我们都展示了杜比视界和HDR10的曲线。

第一组(图2)对应的是一集美食烹饪节目,其中包含了来自世界各地的快节奏场景。

依靠HDR-VMAF,Netflix的HDR视频已全部实现动态优化_比特率_02

依靠HDR-VMAF,Netflix的HDR视频已全部实现动态优化_音视频_03

图 2

第二组(图3)对应的是一部镜头动作相对较慢的电视连续剧。优化的编码是从由不同比特率、空间分辨率和编码方案对应的各种比特率-质量点形成的凸包中选择的。

依靠HDR-VMAF,Netflix的HDR视频已全部实现动态优化_码率_04

依靠HDR-VMAF,Netflix的HDR视频已全部实现动态优化_比特率_05

图 3

为了简洁起见,Netflix没有标注梯度点的空间分辨率,固定梯度在提高空间分辨率方面速度较慢,因此在两个连续的1080p点或两个连续的4K点之间的质量几乎持平。另一方面,随着比特率的增加,优化梯度呈现明显的质量提升。

固定梯度预设了4K比特率 — 8、10、12和16 Mbps — 最高不会超过16 Mbps。相比之下,"优化阶梯"采用一种更高级的策略,它旨在即使需要更高的比特率,也要为比特率阶梯的最高档位提供非常高水平的质量,并且会根据内容的复杂程度调整比特率,以满足最挑剔的观众的需求。

此外,即使优化梯度可以提供比固定梯度更高水平的视频质量,HDR-DO梯度所需要的存储空间平均只有固定比特率阶梯的58%。这是通过在比特率较高区域更高效地分配不同档位的比特率来实现的,毕竟,在相近的码率区间内设置多个编码质量档位(高比特率点)没有任何好处——例如,在固定阶梯度上,3个QHD(2560x1440)点放在6到7.5 Mbps范围内,然后是四个4K点,分别是8、10、12和16 Mbps。

需要注意的是,固定梯度编码使用了固定时长的组间画面(GoP),但由于场景转换边界没有与瞬时解码器刷新(IDR)帧对齐,因此存在一些效率上的损失。而DO编码是基于拍摄内容的,因此IDR帧与拍摄边界是对齐的。这意味着每当视频中的场景发生变化,IDR帧会被放置在这些切换点上,使得编码效率得到提高,减少不必要的数据。

对于特定的码率-质量操作点,DO的处理过程有助于在不同的拍摄内容之间分配比特,同时最大化整体目标函数。同样,得益于DO框架,在给定的码率-质量操作点内,难以编码的画面可以并且确实会在编解码器的限制下使比特率暴增。

HDR-VMAF会开源吗?

作者们致力于支持开源。然而,目前HDR-VMAF依旧为Netflix量身定制。此外,当前版本在算法上有一些限制,专家们正在努力改进。当HDR-VMAF正式发布时,在感知质量预测上会有更高的准确性,让“开箱即用”更加简单。



标签:DO,编码,HDR,VMAF,Netflix,比特率,质量
From: https://blog.51cto.com/u_13530535/9014129

相关文章

  • 软件测试/测试开发|selenium NoSuchDriverException问题解决
    前言我们在使用selenium进行web自动化测试时,有时候会遇到NoSuchDriverException的问题,这个异常通常是由于WebDriver无法找到指定的浏览器驱动而引起的。在这篇文章中,我们将讨论NoSuchDriverException的原因以及如何解决这个问题。NoSuchDriverException是什么?NoSuchDriverExce......
  • 软件测试/测试开发|selenium NoSuchDriverException问题解决
    前言我们在使用selenium进行web自动化测试时,有时候会遇到NoSuchDriverException的问题,这个异常通常是由于WebDriver无法找到指定的浏览器驱动而引起的。在这篇文章中,我们将讨论NoSuchDriverException的原因以及如何解决这个问题。NoSuchDriverException是什么?NoSuchDriverException......
  • Vue3 读取Hdr 文件转Image显示
    import{decodeRGBE}from'@derschmale/io-rgbe';//引入io-rgbe//读取Hdr文件constReadHdrFile=(buffer:ArrayBufferLike&{BYTES_PER_ELEMENT?:undefined;})=>{consthdri=decodeRGBE(newDataView(buffer))constdata=hdri.data;......
  • Netflix 技术堆栈(CI/CD 管道)
    让我们探索Netflix世界一流的持续交付管道背后的工具和技术。*规划:NetflixEngineering使用JIRA进行项目规划,使用Confluence进行文档编制。*编码:Java是后端服务的主要语言。*在适当的情况下使用其他语言。*构建:Gradle是主要的构建工具。*自定义Gradle插件......
  • SpringCloud复习:(1)netflix包里的DiscoveryClient类
    DiscoveryClient类实现了EurekaClient接口它的主要作用:服务注册,服务续约,服务下线,获取服务列表。initScheduledTasks方法用来开启定时任务来完成上述功能。上图中的代码用来从服务器定期(默认30秒)拉取服务列表(ScheduledExecutorService的应用场景)其中TimedSupervisorTask这个Run......
  • 2.7 HDR与LDR
    一、基本概念HDR=HighDynamicRange(自然界动态范围)LDR=LowDynamicRange(显示器动态范围)动态范围=最高亮度/最低亮度LDR8位精度单通道0-1拾色器、一般图片、电脑屏幕HDR远高于8位的精度单通道可超过1HDRI、真实世界二、为什么需要HDR1.为了更好的色彩,更高的动态范围和更丰富......
  • Netflix之Ribbon
    一、负载均衡1、背景当系统面临大量的用户访问,负载过高的时候,通常会增加服务器数量来进行横向扩展(集群),多个服务器的负载需要均衡,以免出现服务器负载不均衡,部分服务器负载较大,部分服务器负载较小的情况。通过负载均衡,使得集群中服务器的负载保持在稳定高效的状态,从而提高整个系统......
  • Netflix之Actuator
    一、Actuator简介监控应用,上报状态信息二、开启监控<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>三、端点SpringBoot2.0的Actuator默认只暴露了health和info端点1、......
  • Netflix之Eureka
    一、Eureka简介1、背景传统应用中,组件之间的调用,通过有规范的约束的接口来实现,从而实现不同模块间良好的协作。但是被拆分成微服务后,每个微服务实例的网络地址都可能动态变化,数量也会变化,使得原来硬编码的地址失去了作用。需要一个中心化的组件来进行服务的登记和管理。2、注册......
  • Netflix之Zuul
    一、什么是ZuulZuul是Netflix开源的微服务网关,核心是一系列过滤器。这些过滤器可以完成以下功能。所有微服务的入口。进行分发。身份认证和安全。拦截不合法请求。监控。更加全面收集请求。动态路由。动态将请求分发到不同的后端集群。压力测试。可以逐渐增加对后端的流量,......