HDR Image encoding formats

HDR格式 使用8~16bit的整数数据是整个图象处理失真的关键点,所以我们对以往的运算方法做了以下二方面的重大改进: 1、使用16bit、32bit的数据来提高像素数据的精度。使用了更多的数据来保存像素特征之后,无论是像素的对比度还是像素可以体现的色彩数目都有了巨大的提高。 2、图象数据采用浮点数据。HDR真正的巨大变革来自于浮点数据的引入。我们可以采用浮点方式来处理和存放亮度数据,抛弃不准确的整数数据;同... 阅读详情

HDR图像的编码与存储是PBR、IBL中的一个重要问题。其主要是将scene-referred的颜色信息存储并保存后在渲染时进行使用,然后通过tone-mapping这样的操作将其映射到output-referred的R8G8B8的颜色值并输出到终端显示器上。当然,一般来说不需要直接存储并读取HDR图像,但如果要实现一些PBRT的效果或是一个自己的LightMap baker的话,那么HDR的存取就是必不可少的了。这里总结一下HDR的存储编码格式。

主要有以下三种格式:

  • HDR;对应的编码方式主要是RGBE/XYZE
  • TIFF;对应的编码方式主要是RGB/LogLuv24/LogLuv32
  • EXR;对应的编码方式主要是HalfRGB

1.    HDR格式

其编码方式为RGBE,即通过ldr的rgb值,配合一个该组值对应的exponent来还原最初的HDR颜色信息。在一个32bits的RGBE中,通常是R8G8B8E8的占位方式。假设场景中的原始scene-referred的颜色为RsGsBs,那么将其向RGBE的映射操作如下式所示:

对于由RsGsBs到RGB的还原对上述计算进行逆操作即可。

XYZE与RGBE类似,只不过其存储与编码的是XYZ空间中的颜色值,而不是RGB空间。由于XYZ空间中不需要存储负值(RGB与XYZ颜色空间的区别),因而使用上述only positive的方法来存储的话使用XYZE会比RGBE得到更大的色域,因为不会存储无效值。

2.    TIFF格式

基本的TIFF存储格式比较简单,直接使用3个32bits的RGB通道来存储原始的信息,因而永远是scene-referred的。但是这种方式太过于简单,占用空间太大并且无法进行有效的数据压缩(压缩算法对于3个float的数值压缩比不高),因而就有了基于其的改进方法,LogLuv24、LogLuv32。

LogLuv的方法是将一个颜色值转化为luminace(Y)及其对应的u、v值来存储,即Luv空间。Luv空间是RGB与XYZ之后的另外一个颜色空间,其与XYZ、RGB均可以进行相互转换,其空间内的颜色值具有的特点是可以直接通过Luv之间的欧氏距离而得到两个颜色之间的差异程度,因而在图像处理与识别中很有用。注意,这里的原始scene-referred空间为XYZ,因而在存储与解析时就涉及到XZY-Luv之间的转换(转换操作可以看这里);

  •  LogLuv24:一个颜色值用24bits进行存储,其中的bit分割为:L10、C14。其中的L10即中将Luminace值(即XYZ空间中的Y值)转化为一个log函数映射的10bits浮点数进行存储;C14为uv中的u值通过14bits进行保存的一个浮点数。这里由于只存储了uv中的一个值,因而另外v值需要通过一个uv查询表获得,这样就需要在LogLuv24的存储与解码时均需要使用这样的一个uv对应表来协助完成。

              

              

  • LogLuv32:一个颜色值通过32bits进行存储,其中的bit分配为:s1、L15、u8、v8。其中的s1为符号位,用来标识Luminace值的正负情况(当然,由XYZ空间转换过来的一定为正);L15为15个bit位的L值 ;u8、v8分别为两个byte表示的uv值,这里就不再需要查uv表了。

                        

              

3.    EXR格式

Exr格式由ILM给出的HDR存储格式,现基本上已经成为影视产业中HDR应用的一个标准格式。其本质上是使用half格式的浮点数来存储RGB值,因而需要占用48bits的存储空间。Half的浮点存储格式即是S5E10M,没有太多好说的。关于exr格式的HDR编解码,现在有开源的的OpenExr可以用,其中还包含了对exr格式的压缩等操作,各种使用exr的引擎或renderer中使用的都是它,比如unity、blender、pbrt。

上述三种主流的HDR存储各有优劣,比如RRGE的读解析比较简单、LogLuv在图像识别中的应用比较方便,EXR的half存储与现在的GPUshader计算比较兼容等;同时它们也有不同的存储空间与编解析速度。但是,一般情况下,我们在引擎或项目中应用还是要根据具体情况来选用相应的格式。同时,理解HDR的不同存储,以及其背后的color space原理,将使得对于image based lighting的掌握会变得更加的容易。

瑞芯微Android固件修改实战:从解包到root提权完整流程(附工具包) 本文详细解析了瑞芯微Android固件深度定制全流程,涵盖从固件包解包、系统镜像修改到植入root提权与分区调整的实战步骤。通过工具链操作与原理剖析,指导开发者安全实现系统精简、权限获取及存储扩容,最终完成固件重新打包与刷机验证,适用于追求设备完全控制权的技术爱好者。 阅读详情

相关推荐

GROMACS+PLUMED联合安装避坑指南:为什么你的plumed patch总是失败?

本文深入解析GROMACS与PLUMED联合安装中补丁失败的常见原因,并提供详细的避坑指南。针对版本兼容性、环境配置和编译选项等关键问题,给出从源码选择、环境搭建到手动合并补丁的完整解决方案,帮助用户成功整合这两个强大的分子动力学工具,实现增强采样模拟。

weixin_29302047的博客 287

真实事件影视改编技术方案:从剧本数字化到后期制作全流程

影视制作技术涉及从前期策划到后期合成的完整流程,其核心原理是通过数字化手段将创意转化为视听作品。在技术价值层面,规范的制作流程能够显著提升作品质量与制作效率,特别是在真实事件改编这类对真实性要求极高的项目中。应用场景涵盖电影、电视剧、纪录片等多种影视形式,其中剧本数字化处理作为基础环节,通过OCR技术和自然语言处理实现原始材料的智能分析;而后期制作流程则依托专业的剪辑软件和特效工具,确保叙事真实性与艺术感染力的平衡。本文以真实事件改编项目为例,深入探讨了拍摄设备选型、色彩分级优化等关键技术要点,为从业者提供

weixin_34032792的博客 408

openEuler系统下安装Google Chrome浏览器全攻略(附依赖问题解决方案)

本文详细介绍了在openEuler系统上安装Google Chrome浏览器的完整指南,包括环境准备、多种安装方式、依赖问题解决方案及性能优化技巧。针对openEuler特有的软件生态和依赖管理机制,提供了实用的命令和配置方法,帮助用户克服安装过程中的常见障碍,实现流畅的Chrome使用体验。

hadoop5ranger的博客 1148

对HDR视频进行抽帧,保存为OpenEXR格式的文件

HDR视频处理-对HDR视频进行抽帧,保存为OpenEXR格式的文件HDR视频介绍使用ffmpeg对视频进行抽帧的问题OpenEXR格式的帧在mkv格式的HDR视频中提取OpenEXR格式的帧使用Picturenaut查看抽出的帧结语 最近实验室的项目在做 inverse tone mapping,需要制作SDR-HDR视频的数据集。一开始在抽帧的过程中遇到了很大的困难,经过多方调研终于整理出一套可以使用的方案,这里做下记录。 HDR视频介绍 HDR(High Dynamic Range)视频指的是具有高动

PedestrianZQZ的博客 3518

本地AI助手部署指南:DeepSeek Harness与Ollama集成实践

AI Agent作为当前人工智能领域的热门技术,通过模拟人类决策过程,能够自主规划、调用工具并执行复杂任务。其核心原理在于将大语言模型的推理能力与外部工具API相结合,形成可闭环的工作流。这种技术架构的价值在于显著提升了AI系统的实用性和自动化水平,使其从单纯的对话工具转变为能够解决实际问题的智能助手。在应用场景上,AI Agent广泛应用于代码生成、数据分析、自动化办公等领域。本文聚焦于如何通过DeepSeek Harness平台与Ollama本地模型的集成,实现隐私安全、离线可用的AI助手部署方案,特别

dengjuanshou7445的博客 474

从零到一:在RK3588 Android12上实战RTL8723DU WiFi蓝牙双模驱动移植

本文详细介绍了在RK3588 Android12系统上实战RTL8723DU WiFi蓝牙双模驱动移植的全过程。从驱动源码获取与修改、系统级集成与编译,到调试与性能优化,提供了完整的解决方案。特别针对USB接口适配、电源管理和蓝牙共存等关键问题给出了具体代码示例,帮助开发者快速完成驱动适配并提升设备稳定性。

weixin_28703489的博客 325

LogLuv Encoding for HDR

对于HDR的Buffer Format,个人还是认为用16f或者7e3比较好,RGBM,RGME,LogLuv个人都不是很喜欢,因为这么做的目的是什么呢,是降低带宽,节省显存,但是现在的显卡包括nv8600这样的显卡,省这么点带宽对性能的影响真的微乎其微,也许是我测试的是Deferred Shading,因为对于Deferred Shading来说HDR的Buffer只有在算Lighting之后才

Knight_snow的专栏 2396

stm32f103c8t6的中文字库

stm32的成熟中文字库,上手即用,操作简单

nbbskk的博客 3653

HDR图片以及色调映射(ToneMapping)

高动态范围(High-Dynamic Range,简称HDR),相应的,LDR(Low-Dynamic Range),也就是我们常见的8bit存储方式的图片.之前都是在介绍视频方面.但是在高动态图片(HDRI)方面也有一些少量应用, 目前常用的存储格式有三种:OpenEXR、RadianceRGBE、FloatTIFF. OpenEXR OpenEXR是由工业光魔(Industrial Light & Magic)开发的一种HDR标准。OpenEXR文件的扩展名为.exr,常...

qq26983255的博客 2万+

揭秘大厂智能生产调度AI系统架构:架构师拆解中台化设计3大优势

智能生产调度AI系统是基于AI算法(如遗传算法、强化学习、深度学习),结合生产数据(如订单、设备、库存、人员),自动生成最优生产计划与调度方案的系统。最大化设备利用率(减少停机时间);最小化生产周期(快速交付订单);优化库存水平(降低积压与短缺);提升准时交货率(满足客户需求)。维度传统调度系统智能调度AI系统决策逻辑规则引擎+人工经验AI算法(预测+优化)数据处理手工汇总+静态数据实时数据整合+动态更新适应能力固定场景(如单一产品、单一工厂)

AI Python 编程之道的博客 759

商品标签识别系统:基于YOLO系列的深度学习实现

随着零售行业的快速发展和自动化需求的增长,商品标签识别技术变得越来越重要。本文详细介绍了一个完整的商品标签识别系统,该系统基于YOLO系列目标检测算法(包括YOLOv5、YOLOv8和YOLOv10),采用PySide6构建用户界面,并提供完整的训练代码和数据集处理方案。该系统能够准确识别商品标签中的关键信息,如价格、条形码、生产日期等,为零售自动化、库存管理和智能结算提供技术支持。

YOLO 349

【FFmpeg如何判断HDR视频,SDR视频】

hdr视频

zhang_jun_ling的博客 4816

kaggle学习笔记-餐厅数据挖掘

分析Zomato数据集的基本思想是为了公平地了解影响在班加罗尔不同地方建立不同类型餐厅的因素,每个餐厅的总评级,班加罗尔是这样一个城市,拥有超过12,000家餐厅,餐厅供应来自世界各地的菜肴。每天都有新的餐馆开业,这个行业还没有饱和,需求也在与日俱增。然而,尽管需求不断增加,新餐馆却很难与老牌餐馆竞争。大多数餐厅都供应同样的食物。班加罗尔是印度的IT之都。这里的大多数人主要依靠餐馆的食物,因为他们没有时间自己做饭。由于对餐馆的需求如此巨大,因此研究一个地方的人口统计学就变得很重要。

优快云XXCQ的博客 1862

在 Rust 里处理图片有多省心?image 库 13 种格式编解码与图像处理实战指南

你有没有遇到过这种场景:产品要上架一批商品图,运营给的是 JPG,但详情页需要 WebP 压缩图、列表页要 PNG 缩略图,偶尔还有一两张诡异的 BMP 老图——而你的后端偏偏是用 Rust 写的,网上翻了一圈,发现每个格式都要单独找 crate,签名还不统一,光是适配就够喝一壶。 **gh_mirrors/ima/image** 就是来解决这个问题的:它是 Rust 生态里最主流的图像处理库,

gitblog_01146的博客 422

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Godot 图像格式加载扩展指南:深入理解 ImageFormatLoader 与自定义图片格式支持

本指南以 Godot 官方类参考 [ImageFormatLoader](https://link.gitcode.com/i/22a0757a3faf88dcec148cfddf01381b) 为核心,系统讲解 Godot 引擎中图像格式加载的基础架构:`ImageFormatLoader` 是何种角色、`LoaderFlags` 三个加载标志各自的语义、以及如何通过 `ImageFormatL

gitblog_00151的博客 485

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LeetCode 112 路径总和(Path Sum)深度解析:多语言 DFS 递归实现与边界处理

本文围绕 doocs/leetcode 开源仓库中 LeetCode 112「路径总和」的官方题解展开,完整讲解「判断二叉树中是否存在一条从根节点到叶子节点、节点值之和等于 `targetSum` 的路径」这一经典树形 DFS 问题。你将掌握递归下降累加与差值递减两种核心编码范式,看到 Python3、Java、C++、Go、TypeScript、Rust、JavaScript 七种语言的仓库级参

gitblog_00449的博客 380

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

bgfx 官方工具链完全指南:geometryc / shaderc / texturec 实战与源码解析

本篇技术指南围绕 bgfx 官方文档 [docs/tools.rst](https://link.gitcode.com/i/8aa9d26e77086d31dbf189d76c578ecf) 展开,系统讲解 bgfx 自带五大命令行工具——几何体编译器(geometryc)、几何体查看器(geometryv)、跨平台着色器编译器(shaderc)、纹理编译器(texturec)与纹理查看器(te

gitblog_01064的博客 495

赛博朋克动画制作技术解析:从视觉风格到工业化流程

动画制作技术是现代数字内容创作的核心领域,其原理基于计算机图形学与视觉艺术的高度融合。通过色彩管理、卡通渲染、资产管道等关键技术,动画工业实现了从概念设计到最终成片的标准化生产流程。在技术价值层面,这些工具和方法不仅提升了制作效率,更保证了视觉风格的一致性。特别是在赛博朋克这类视觉风格鲜明的作品中,ACES色彩空间和USD资产格式的应用尤为关键。应用场景涵盖影视动画、游戏CG、虚拟制作等多个领域,而《赛博朋克:边缘行者》的制作实践正是这些技术的集中体现,展示了2D/3D混合动画在渲染农场和分布式计算支持下的

weixin_30924087的博客 432

jetson-inference 相机流与多媒体实战指南:从 CSI/V4L2 到 WebRTC/RTP/RTSP 的统一视频采集与输出

本文是 jetson-inference(Hello AI World 系列)中关于相机流与多媒体(Camera Streaming and Multimedia)的完整技术指南。文章围绕项目统一的流式资源 URI 体系与 `videoSource`/`videoOutput` API,系统讲解 MIPI CSI、V4L2 摄像头、WebRTC、RTP、RTSP、视频文件、图像文件与图像序列的采集

gitblog_00294的博客 37

VRCX VRChat好友管理工具快速上手指南

好友一多,谁什么时候加的、上次在哪见面、那张截图是在哪个世界拍的,全得靠记忆。VRCX 是一款 VRChat 好友管理工具:实时追踪好友在线状态与所在房间,把好友历史、活动日志存在本地,还能往游戏截图里写入世界信息,适合好友列表长、经常换世界活动、想把社交记录沉淀下来的玩家。 ## 🎯 它解决什么问题,适合谁用 VRCX 是外部伴侣应用,通过 VRChat 官方 API 取数,支持 Wind

gitblog_00743的博客 468

AW EDID Editor工具使用

摘要: 本文介绍了使用AW EDID Editor工具为RK628H(HDMI→MIPI)适配10:16竖屏(800x1280分辨率,8英寸,驱动IC为ILI9881C)的EDID配置过程。关键步骤包括: 基础设置:填写供应商/产品ID,选择EDID 1.3版本(兼容基础需求)。 信号类型:明确选择数字信号(Digital),关闭模拟信号相关选项以避免冲突。 物理参数:设置屏幕尺寸为11×17厘米(匹配8英寸面板比例),Gamma值设为标准2.20。 功能支持:开启RGB 4:4:4色彩格式、sRGB色域及

qq_35484691的博客 588

HDR文件格式简介及其读写函数

转载自:http://blog.youkuaiyun.com/zzzGoogle/article/details/1615691 1、HDR简介 HDR的全称是High-DynamicRange(高动态范围)。在此,我们先解释一下什么是DynamicRange(动态范围),动态范围是指图像中所包含的从“最亮”至“最暗”的比值,也就是图像从“最亮”到“最暗”之间灰度划分的等级数;动态范围越大,所能表示的层次

Image Processing for Computer Graphics and Vision 1万+

HDR相关标准-HLG/HDR10/HDR10+/DOLBY VISION

杜比视界HDR参数_qq26983255的博客-优快云博客_pq和hlghttps://blog.youkuaiyun.com/qq26983255/article/details/119830337?spm=1001.2014.3001.5502 HDR到底是什么?_相见不如怀念-优快云博客一,定义SDR (Standard Dynamic Range), 标准动态范围HDR (High Dynamic Range), 高动态范围HLG:HLG的全称是Hybrid Log Gamma,它是由英国BBC和日本NH

6717

windows下读取.exr图像

由于最近需要读取HDR图像所以找了一个很好用的工具 openEXR配置太复杂,并且用不到那些功能,先试试这个 Luminance HDR github的开源项目

weixin_45764003的博客 3539

B站自研色彩空间转换引擎

色彩空间是一种数学模型,用于描述和表示颜色的方式。

bilibili_TC的博客 2464

在Three.js中,EXRExporter API通常用于将场景导出为EXR(OpenEXR)格式的图像。

demo案例在Three.js中, API通常用于将场景导出为EXR(OpenEXR)格式的图像。下面是对其入参、出参、方法和属性的详细解释:入参(输入参数):出参(输出参数):方法:属性:在Three.js中,要使用 API,你需要按照以下步骤进行调用: 准备场景和相机: 确保你已经创建了要导出的场景对象和相机对象,并将它们准备好传递给导出方法。配置选项(可选): 如果需要,你可以配置导出选项。例如,你可以设置导出的图像分辨率、是否包含深度信息等。将选项对象传递给导出方法。调用导出方法: 调用方法,将

小豆包 1775
上一篇: Unity Notes之发布包精简
下一篇: 低帧速下判断移动物体到达目标位置
BugRunner
博客等级 码龄17年 791粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值