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…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
