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(二)
上文介绍了HDRvivid的一些技术。今天从全局角度来看看HDR视频的处理流程,HDR视频系统,即建立一个比SDR视频更大的色彩/亮度坐标体系,并改变系统的传输函数,以再现更大的色域(WCG)和更高的亮度动态范围。 菁彩 HDR技术的专业术语 …...
uniapp或微信小程序一些问题解决
1.按钮边框如何去除? 参考博主:微信小程序按钮去不掉边框_微信小程序button去掉边框-CSDN博客文章浏览阅读1k次。最近在学uni-app,顺便自己写个小程序。左上角放了个button,可边框怎么也去不掉…原来微信小程序的按钮要去掉边框要…...
最长递增子序列,交错字符串
第一题: 代码如下: int lengthOfLIS(vector<int>& nums) {//dp[i]表示以第i个元素为结尾的最长子序列的长度int n nums.size();int res 1;vector<int> dp(n, 1);for (int i 1; i < n; i){for (int j 0; j < i; j){if (nums[i]…...
力扣:344. 反转字符串
344. 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1: 输入:s ["…...
linux Inodes满导致数据库宕机
项目经理反馈集群环境中有个节点无法使用了需要支援下,同时发过来截图说明磁盘还是有空的。 登录系统后直接发现问题 orcl2:/home/oracledb2> sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Wed May 29 13:59:21 2024 Copyright (c) 1982,…...
【STL】C++ stack(栈) 基本使用
目录 一 stack常见构造 1 空容器构造函数(默认构造函数) 2. 使用指定容器构造 3 拷贝构造函数 二 其他操作 1 empty 2 size 3 top 4 push && pop 5 emplace 6 swap 三 总结 一 stack常见构造 1 空容器构造函数(默认构造…...
轻量级 K8S 环境 安装minikube
文章目录 操作系统DockerDocker CE 镜像源站使用官方安装脚本自动安装 (仅适用于公网环境)安装校验Docker代理docker permission denied while trying to connect to the Docker daemon socket minikubekubectl工具minikube dashboardminikube 基本命令参…...
市场巨变,移动开发行业即将迎来“第二春”?
随着鸿蒙生态的不断壮大,越来越多的企业开始加入其中,对鸿蒙OS开发工程师的需求也越来越迫切。 年初时还只有200个APP宣布加入鸿蒙生态,而最近华为也已经官宣,已经有4000多个应用加入鸿蒙,短短三个月就增加了20倍。 …...
DependencyCheck工具使用
1、工具下载地址 Releases jeremylong/DependencyCheck GitHub 2、工具使用 ./dependency-check.sh --disableRetireJS --disableNodeJS --project test -s /test/ -o /home/clog/test/report10 --noupdate...
oracle翻页查询的小坑记录
oracle的查询,因为能获取到查询结果的rownum,就想着直接在查询条件后面做翻页,而且首页确实是正常查询到了。后面才发现翻页是空的。。。 这是因为rownum排序是在查询结果才分配的。所以应该把查询结果作为子查询,在外查询应用排序…...
学习笔记——动态路由协议——OSPF(OSPF基本术语)
OSPF基本术语 1、链路状态(LS)与链路状态通告(LSA) 链路(LINK):路由器上的一个接口。 状态(State):描述接口以及其与邻居路由器之间的关系。 (1)链路状态(LS) OSPF是一种链路状态协议,所谓的链路状态,其实就是路由器的接口状态…...
子集和问题(回溯法)
目录 前言 一、算法思路 二、分析过程 三、代码实现 伪代码: C: 总结 前言 【问题描述】考虑定义如下的PARTITION问题中的一个变型。给定一个n个整数的集合X{x1,x2,…,xn}和整数y,找出和等于y的X的子集Y。 一、算法思路 基本思想&am…...
【NumPy】全面解析arange函数:高效创建数值范围数组
🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…...
[ C++ ] 深入理解模板( 初 阶 )
函数模板 函数模板格式 template <typename T1, typename T2,......,typename Tn> 返回值类型 函数名(参数列表){} 注意: typename是用来定义模板参数关键字,也可以使用class(切记:不能使用struct代替class) 函数模板的实例化 模板参数…...
UI自动化测试最佳设计模式POM
当使用Selenium进行UI自动化测试时,Page Object Model(POM)是一种最佳实践的设计模式。POM的核心思想是通过将页面封装成对象,使得测试代码更加清晰、可维护和可重用。 POM的主要组成部分包括页面对象类、元素定位方式和操作方法…...
朋友圈定时发送设置
人日常中不可缺少的一件事,同时也是企业用来触达客户的重要渠道,下面一起来了解下微信朋友圈怎么定时发送呢?...
Spark SQL 中DataFrame DSL的使用
在上一篇文章中已经大致说明了DataFrame APi,下面我们具体介绍DataFrame DSL的使用。DataFrame DSL是一种命令式编写Spark SQL的方式,使用的是一种类sql的风格语法。 文章链接: 一、单词统计案例引入 import org.apache.spark.sql.{DataFrame, SaveMod…...
qt 布局学习笔记
目录 qt下载地址: widget 宽高 管理信息列表源码 c版: pro文件: qt 设置水平布局,里面有两个按钮,每个按钮就变的很宽,怎么设置按钮的精确位置 设置固定大小: 使用弹性空间(…...
设计模式复习
一、模式所采用的关系(e.g.继承…) UML图例 二、各模式的特点、优缺点 1.创建型(5种创建型口诀: 抽象工厂 按照 工厂方法,建造 单例 原型) 将对象的使用和创建分离,使用对象时无需知道对象的创建细节&a…...
前后端开发入门全攻略:零基础学起
新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、前后端开发概览 二、后端开发基础:Flask框架入门 代码案例:Hel…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
c++第七天 继承与派生2
这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...
windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
