聊聊Realsee Space HDR

聊聊Realsee Space HDR

💡 原文中文,约4800字,阅读约需12分钟。
📝

内容提要

如视团队介绍Space HDR技术:其伽罗华P4相机采集多曝光RAW数据以保留完整亮度信息。此前Web端仅能输出SDR,现借助Ultra HDR的底图加增益图方案存储,并用WebGPU重写渲染引擎,使HDR亮度真正显示在浏览器屏幕上,同时处理转动、缩放、切换视点时的增益同步。该技术已应用于贝壳、美团等VR看房看店场景,并开源了panorama-viewer工具。

🔎

延伸解读

HDR 不只是拍照:全链路缺一不可

文章强调,真正的 HDR 需要采集、存储、传输、展示全链路支持。手机拍照的 HDR 只是采集环节,若存储或展示环节不支持,最终看到的仍是 SDR。这解释了为何许多号称 HDR 的照片在网页上依然亮部过曝、暗部死黑。如视的 Space HDR 正是补全了展示环节,让 RAW 中记录的亮度信息能真正呈现在浏览器屏幕上。

兼容性策略:底图加增益图的巧妙设计

为兼顾不支持 HDR 的设备,Space HDR 采用 Ultra HDR 方案:一张普通 JPEG SDR 底图,加上记录亮度关系的增益图和元数据。普通解码器只看到 SDR 底图,支持 HDR 的设备则能恢复高动态范围。这种设计类似协议升级中的可选附加包,既保证旧设备正常显示,又让新设备获得 HDR 效果,降低了部署门槛。

全景场景的特殊挑战:动态同步增益

与静态照片不同,全景图需要用户转动、缩放、切换视点,每次操作都会对底图和增益图重新采样。文章指出,两张图必须保持方向与位置对应,缩放采样至少用双线性方式,否则增益会错位。此外,颜色纹理需解码到线性光,而增益纹理不能做同样处理,否则亮度关系出错。切换视点时还需分别判断 HDR 可用性,不能硬套同一增益。这些细节决定了 HDR 全景的最终效果。

WebGPU 是关键:突破 WebGL 的亮度截断

过去基于 WebGL 的渲染引擎输出 8bit sRGB 颜色,值被限制在 0 到 1,超过 1 的亮度会被截断,导致 HDR 数据无法真正显示。文章解释,这不是打补丁能解决的,必须更换图形后端。WebGPU 从 Chrome 129 起支持 rgba16float 浮点格式和扩展色调映射,让浮点亮度不截断地落到屏幕。如视因此用半年重写渲染引擎,并加入动态检测与回退机制,确保旧设备上效果一致。

❓

Q&A

Space HDR 技术是什么?它解决了什么问题?

Space HDR 是如视团队开发的一项技术,旨在将高动态范围(HDR)图像真正显示在浏览器屏幕上。它解决了过去 Web 端只能输出 SDR 图像,导致 HDR 照片在网页上显示时亮部和暗部细节丢失的问题。通过采集多曝光 RAW 数据、使用 Ultra HDR 存储方案,并用 WebGPU 重写渲染引擎,实现了从采集到展示的全链路 HDR 支持。

如视的伽罗华相机如何采集 HDR 数据?

伽罗华 P4 相机在拍摄时,每个角度都会拍摄 5 张不同曝光的 RAW 数据(传感器原始输出,未经压缩),从而保留完整的亮度层次。它通过激光扫描和彩色镜头模组,在约 16 秒内转一圈,拍摄 5-6 个角度,最终合成一张 24K 全景图。

Space HDR 在存储时采用了什么方案?

Space HDR 采用了 Ultra HDR 的思路:使用一张兼容性最好的 JPEG SDR 底图,加上增益图(gain map)和解释增益的元数据。普通解码器只能看到 SDR 底图,支持增益图的设备才能恢复 HDR 效果。这样既保证了兼容性,又能将数百 MB 的完整光照数据压缩成浏览器和手机端能实时承载的轻量格式。

为什么 Space HDR 需要用 WebGPU 重写渲染引擎?

因为旧的 WebGL 画布输出 8bit sRGB 颜色,值范围被限制在 0 到 1,超过 1 的亮度会被截断,无法显示“比白色更亮”的 HDR 效果。而 WebGPU 从 Chrome 129 起支持 rgba16float 浮点格式和 extended 色调映射模式,能让 HDR 的浮点亮度不截断地输出到屏幕,因此必须更换图形后端。

在浏览器中如何判断当前环境是否支持 HDR 显示?

可以通过 CSS 媒体查询 `dynamic-range: high` 来检测。如果用户关闭了 HDR、设备能力不匹配,或者实际运行的是 WebGL 2,系统就会自动退回 SDR 底图显示,确保旧设备上的效果与现行版本一致,不会出错。

Space HDR 技术目前有哪些实际应用场景?

Space HDR 已应用于贝壳的 VR 看房(如新房板块)、美团的餐厅预订等场景,帮助用户更真实地判断房间采光、餐厅氛围等空间信息。此外,途家、阿里等平台也在接入中。该技术还适用于展厅展馆、文物保护、犯罪现场记录等领域。

如视开源的 panorama-viewer 工具是什么?有什么功能?

panorama-viewer 是一个基于 three.js WebGPU 的全景查看器开源工具。用户可以直接拖入 Ultra HDR JPEG 文件,工具会读取底图、增益图和元数据,在 GPU 上恢复影像,并提供实时调节的显示增益滑块,让用户直观看到 HDR 带来的额外亮度信息。

🏷️

标签

➡️

继续阅读