HDR视频相关标准-HDR vivid(二)

2024-05-24 06:52
文章标签 视频 相关 标准 hdr vivid

本文主要是介绍HDR视频相关标准-HDR vivid(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上文介绍了HDRvivid的一些技术。今天从全局角度来看看HDR视频的处理流程,HDR视频系统,即建立一个比SDR视频更大的色彩/亮度坐标体系,并改变系统的传输函数,以再现更大的色域(WCG)和更高的亮度动态范围。

菁彩 HDR技术的专业术语

ITU 定义了两种 HDR 播出格式:
PQ(Perceptual Quantization定义了EOTF,显示亮度绝对值
HLG(Hybrid-Log Gamma定义了OETF,显示亮度相对值
OETF( Opto-Electrical Transfer Function,光电转换特性) 摄像机中,被摄景物光亮度转换为电信号的特性
EOTF( Electro-Optical Transfer Function ,电光转换特性)监视器(电视机)中,电信号转换为显示光亮度的特性
OOTF( Opto-Optical Transfer Function,光光转换特性)
,艺术加工或调整,经过OETF/EOTF 抵消后遗留的特性;从摄像机到监视器(电视机)的拍摄/显示系统总特性。

菁彩 HDR技术优势

菁彩 HDR 主要有 5 大优势:
1)兼容性强。不具备菁彩 HDR 支持能力的存量显示设备(如手机,PAD,电视等)接收到菁彩 HDR 信号后,可直接将元数据丢弃,按 HDR10 格式进行显示。
2)一致性强。菁彩 HDR 采用动态元数据方案,根据不同显示终端的显示能力,分别生成适配不同亮度的映射曲线,使得同一画面在不同终端上的显示效果基本保持一致,最大化还原创作者意图。
3)灵活性高。除了支持自动化的动态元数据提取方案之外,菁彩 HDR 技术还支持根据创作意图,个性化地对元数据进行手动调整,形成属于自己的专属风格。
4)应用场景适应性好。菁彩 HDR 支持多种场景的应用需求,如网络视听、节目制播、短视频、游戏、教育、医疗等,且同时支持 PQ 和 HLG 格式。
5)开放性高。菁彩 HDR 是一个完全开放的标准,从标准代码到实施规范等全部资源均可通过指定渠道免费获取。

菁彩 HDR应用优势

菁彩 HDR 坚持技术标准与实际产业应用紧密结合的理念,坚持“高质量 HDR 呈现定义、完善的端到端标准、高效的制播工具以及产业应用友好”四大价值主张,促进技术标准方便、快捷地应用到产业,带来实际商业价值。
1)高质量 HDR 呈现定义
菁彩 HDR 技术标准公开、完整地阐述了菁彩 HDR 定义,从源头上确保高质量。在这里插入图片描述

2)完善的端到端标准
菁彩 HDR 标准体系已经完成端到端技术规范、应用集成规范、认证测试规范等,并持续进行标准演进,以实现快速、可持续、高质量的发展。
3)高效的制播工具
菁彩 HDR 技术提供高效制作工具,制作端不修改已有的 PQ(ST2084)和HLG HDR 制作流程,只增加动态元数据产生环节,提供自动化动态元数据生成工具和实现个性化创作意图的手动调节工具,采用符合调色习惯的图形界面。
4)友好的产业应用
作为中国主导的 HDR 标准,菁彩 HDR 拥有开放、安全、知识产权政策友好等应用优势。

端到端解决方案

在这里插入图片描述

为保证最优显示效果,准确把握每一个环节要点与要求,菁彩 HDR 构筑了端到端解决方案:
(1)源端输入为 PQ/HLG 格式的 HDR 视频;
(2)前处理模块可以基于HDR 视频进行分析,生成静态元数据与动态元数据;
(3)编码传输模块可以将 HDR 视频与元数据进行编码封装,输出菁彩 HDR 码流;
(4)解码模块可以对码流进行解码分析,得到 HDR解码视频与元数据;
(5)HDR 和 SDR 显示模块会结合元数据与目标显示终端参数,对 HDR视频进行相应的显示适配处理,并在显示终端上正确显示。

基于HEVC的端到端处理流程:

以最简单的Y’CbCr 4:2:0的HDR10(正式名称为HDR10 Media Profile)为例,它的内容包括:
在这里插入图片描述
基于HEVC的端到端处理流程如下图所示:
在这里插入图片描述
首先进行OETF电光转换处理,HDR10使用的OETF是PQ曲线,它定义在ST2084:2014-SMPTE中。OETF处理,本质上是模拟电压/电平(量化比特)资源的分配方案,模拟电平和量化值的关系如下:
在这里插入图片描述
在HDR的技术标准ITU-R.BT2100中,建议了2种不同的传输函数,其中PQ定义了EOTF,显示亮度的绝对值,OETF = OOTF + Inverse EOTF,一个使用PQ的HDR系统模型如下图所示
在这里插入图片描述
HLG定义了OETF,显示亮度的相对值,且EOTF = Inverse OETF + OOTF,一个使用HLG的HDR系统模型如下图所示
在这里插入图片描述

实际上,OETF,EOTF,OOTF这三者之间是互相关联的,比如OETF和EOTF互为逆变换,而OETF+EOTF处理=OOTF,只要知道任意两个,就可以提出第三个

一般OETF存在于摄像机中,用于将自然/景物光亮度转换为电信号,而EOTF存在于显示器(电视机)中,用于将电信号转换为显示光亮度,OOTF则是处于艺术加工或画面调整环节,是从摄像机到显示器的拍摄/显示系统总特性。如下图所示:
在这里插入图片描述

从OETF和EOTF曲线上来看,它们的关系如下所示

在这里插入图片描述

理论上所有对数伽玛OETF/EOTF都可以用于HDR视频的制作/播放中,但目前行业里被广泛接受的两种OETF/EOTF是PQ(ST2084)和HLG(ARIB STD B67),HDR10所用的PQ(ST2084)具体公式如下
在这里插入图片描述

采集/编辑端对HDR视频的处理
HDR的端到端系统处理步骤包括:
(1)浮点类型线性光RGB经过OETF的处理以后,得到10bit的非线性R’G’B’ 4:4:4;
(2)使用BT.2020标准里面的矩阵系数,将R’G’B’转成10bit的Y’CbCr 4:4:4,具体转换公式如下:
在这里插入图片描述
(3)10bit的Y’CbCr 4:4:4进行浮点转定点(量化)处理;
(4)色度分量降采样,获取10bit的Y’CbCr 4:2:0;
注意:浮点定点化以及色度降采样这一步目前没有标准去规定具体的公式,有一些灵活性。比如色度降采样常用算法有:FAST, MEAN, BRIGHT, BRIGHT MEAN和FILTER等。
(5)10bitY’CbCr 4:2:0送到HEVC编码器进行压缩编码。
注意 :在编码的时候设置profile为main10,并将色域和传输函数等信息写到VUI对应的语法元素中(HEVC编码HRD视频的VUI语法),最终得到HDR视频的HEVC码流。

端到端系统中的解码端处理流程,则是以上采集/编辑过程的反处理,最后将得到含有失真的浮点类型的HDR线性光像素RGB,如果此时显示器刚好支持HDR视频特性(高动态,宽色域,宽位深),那么就可以考虑直接显示画面内容,否则可能需要HDR到SDR的tone mapping处理。
参考文献:https://www.csmpte.com/download/CHAL1396264998772200/20161024/2016102407052574568.pdf
Norkin A.Fast algorithm for HDR video pre-processing[C]//Picture Coding Symposium. IEEE, 2016.
SMPTE ST 2084: “High Dynamic Range Electro-Optical Transfer
Function of Mastering Reference Displays”

这篇关于HDR视频相关标准-HDR vivid(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/997690

相关文章

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

C++ Primer 标准库vector示例详解

《C++Primer标准库vector示例详解》该文章主要介绍了C++标准库中的vector类型,包括其定义、初始化、成员函数以及常见操作,文章详细解释了如何使用vector来存储和操作对象集合,... 目录3.3标准库Vector定义和初始化vector对象通列表初始化vector对象创建指定数量的元素值

Java如何获取视频文件的视频时长

《Java如何获取视频文件的视频时长》文章介绍了如何使用Java获取视频文件的视频时长,包括导入maven依赖和代码案例,同时,也讨论了在运行过程中遇到的SLF4J加载问题,并给出了解决方案... 目录Java获取视频文件的视频时长1、导入maven依赖2、代码案例3、SLF4J: Failed to lo

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ