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

相关文章

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

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g