当前位置: 首页 > news >正文

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,可边框怎么也去不掉…原来微信小程序的按钮要去掉边框要…...

最长递增子序列,交错字符串

第一题&#xff1a; 代码如下&#xff1a; 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. 反转字符串 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1&#xff1a; 输入&#xff1a;s ["…...

linux Inodes满导致数据库宕机

项目经理反馈集群环境中有个节点无法使用了需要支援下&#xff0c;同时发过来截图说明磁盘还是有空的。 登录系统后直接发现问题 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 空容器构造函数&#xff08;默认构造函数&#xff09; 2. 使用指定容器构造 3 拷贝构造函数 二 其他操作 1 empty 2 size 3 top 4 push && pop 5 emplace 6 swap 三 总结 一 stack常见构造 1 空容器构造函数&#xff08;默认构造…...

轻量级 K8S 环境 安装minikube

文章目录 操作系统DockerDocker CE 镜像源站使用官方安装脚本自动安装 &#xff08;仅适用于公网环境&#xff09;安装校验Docker代理docker permission denied while trying to connect to the Docker daemon socket minikubekubectl工具minikube dashboardminikube 基本命令参…...

市场巨变,移动开发行业即将迎来“第二春”?

随着鸿蒙生态的不断壮大&#xff0c;越来越多的企业开始加入其中&#xff0c;对鸿蒙OS开发工程师的需求也越来越迫切。 年初时还只有200个APP宣布加入鸿蒙生态&#xff0c;而最近华为也已经官宣&#xff0c;已经有4000多个应用加入鸿蒙&#xff0c;短短三个月就增加了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的查询&#xff0c;因为能获取到查询结果的rownum&#xff0c;就想着直接在查询条件后面做翻页&#xff0c;而且首页确实是正常查询到了。后面才发现翻页是空的。。。 这是因为rownum排序是在查询结果才分配的。所以应该把查询结果作为子查询&#xff0c;在外查询应用排序…...

学习笔记——动态路由协议——OSPF(OSPF基本术语)

OSPF基本术语 1、链路状态(LS)与链路状态通告(LSA) 链路(LINK)&#xff1a;路由器上的一个接口。 状态(State)&#xff1a;描述接口以及其与邻居路由器之间的关系。 (1)链路状态(LS) OSPF是一种链路状态协议&#xff0c;所谓的链路状态&#xff0c;其实就是路由器的接口状态…...

子集和问题(回溯法)

目录 ​​​​ 前言 一、算法思路 二、分析过程 三、代码实现 伪代码&#xff1a; C&#xff1a; 总结 前言 【问题描述】考虑定义如下的PARTITION问题中的一个变型。给定一个n个整数的集合X{x1,x2,…,xn}和整数y&#xff0c;找出和等于y的X的子集Y。 一、算法思路 基本思想&am…...

【NumPy】全面解析arange函数:高效创建数值范围数组

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…...

[ C++ ] 深入理解模板( 初 阶 )

函数模板 函数模板格式 template <typename T1, typename T2,......,typename Tn> 返回值类型 函数名(参数列表){} 注意&#xff1a; typename是用来定义模板参数关键字&#xff0c;也可以使用class(切记&#xff1a;不能使用struct代替class) 函数模板的实例化 模板参数…...

UI自动化测试最佳设计模式POM

当使用Selenium进行UI自动化测试时&#xff0c;Page Object Model&#xff08;POM&#xff09;是一种最佳实践的设计模式。POM的核心思想是通过将页面封装成对象&#xff0c;使得测试代码更加清晰、可维护和可重用。 POM的主要组成部分包括页面对象类、元素定位方式和操作方法…...

朋友圈定时发送设置

人日常中不可缺少的一件事&#xff0c;同时也是企业用来触达客户的重要渠道&#xff0c;下面一起来了解下微信朋友圈怎么定时发送呢&#xff1f;...

Spark SQL 中DataFrame DSL的使用

在上一篇文章中已经大致说明了DataFrame APi,下面我们具体介绍DataFrame DSL的使用。DataFrame DSL是一种命令式编写Spark SQL的方式&#xff0c;使用的是一种类sql的风格语法。 文章链接&#xff1a; 一、单词统计案例引入 import org.apache.spark.sql.{DataFrame, SaveMod…...

qt 布局学习笔记

目录 qt下载地址&#xff1a; widget 宽高 管理信息列表源码 c版&#xff1a; pro文件&#xff1a; qt 设置水平布局&#xff0c;里面有两个按钮&#xff0c;每个按钮就变的很宽&#xff0c;怎么设置按钮的精确位置 设置固定大小&#xff1a; 使用弹性空间&#xff08;…...

设计模式复习

一、模式所采用的关系&#xff08;e.g.继承…&#xff09; UML图例 二、各模式的特点、优缺点 1.创建型&#xff08;5种创建型口诀: 抽象工厂 按照 工厂方法&#xff0c;建造 单例 原型&#xff09; 将对象的使用和创建分离&#xff0c;使用对象时无需知道对象的创建细节&a…...

前后端开发入门全攻略:零基础学起

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、前后端开发概览 二、后端开发基础&#xff1a;Flask框架入门 代码案例&#xff1a;Hel…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献&#xff1a; stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下&#xff0c;文章也主…...

xmind转换为markdown

文章目录 解锁思维导图新姿势&#xff1a;将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件&#xff08;ZIP处理&#xff09;2.解析JSON数据结构3&#xff1a;递归转换树形结构4&#xff1a;Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...

Python的__call__ 方法

在 Python 中&#xff0c;__call__ 是一个特殊的魔术方法&#xff08;magic method&#xff09;&#xff0c;它允许一个类的实例像函数一样被调用。当你在一个对象后面加上 () 并执行时&#xff08;例如 obj()&#xff09;&#xff0c;Python 会自动调用该对象的 __call__ 方法…...

RabbitMQ 各类交换机

为什么要用交换机&#xff1f; 交换机用来路由消息。如果直发队列&#xff0c;这个消息就被处理消失了&#xff0c;那别的队列也需要这个消息怎么办&#xff1f;那就要用到交换机 交换机类型 1&#xff0c;fanout&#xff1a;广播 特点 广播所有消息​​&#xff1a;将消息…...