小红书技术REDtech

小红书 x vivo 首发!从相册到社交,一文读懂3D图片技术实践

Image

小红书与 vivo 联合打通了从相册拍摄到社交发布与消费的完整 3D 内容链路,本文分享双方在3D图生成、3D格式设计、跨平台渲染、首帧提速与功耗控制上的全链路技术实践。

Image

2025 年,苹果随 iOS 26 推出空间照片(Spatial Scene)能力,将 3D 影像体验带入消费级移动设备。这一新形态让小红书技术团队开始思考,在图片、视频、Live Photo 之外,3D 照片有潜力成为下一种媒体形态,为创作者打开全新的影像表达空间。小红书随即启动技术预研,验证了 3D 图片生成、压缩与渲染全链路的可行性,并在内部完成了完整的 3D 发布与渲染链路建设。与此同时,vivo 蓝图未来影像团队同样在探索如何让相册里的 3D 内容从本地走向社交,vivo 拥有相册生成 3D 图的能力,小红书拥有海量高质量的图文视频内容生态与完整的 3D 发布渲染链路。两个团队“一拍即合”,决定共同打通从 vivo 相册生成到小红书发布、分发与消费的完整 3D 内容链路。

然而,要让这条链路真正搭建起来面向用户,双方还需要共同面对以下技术挑战:

  • 传播链路缺失:3D 内容通常停留在设备本地或封闭生态内,缺少从生成、发布到浏览与分享的完整社交链路

  • 跨平台支持:3D 渲染能力需要同时覆盖 iOS 、安卓、鸿蒙,而三端在图形架构、设备能力和系统接口上差异显著,跨平台适配的工程复杂度极高

  • 移动端轻量化:3D 内容天然面临数据体积大、实时渲染成本高的问题,如何在保证体验的前提下将文件体积和计算开销压缩到移动端可接受的范围,是落地的关键

Image

为此,小红书与 vivo 共同合作设计了一条从 vivo 相册拍摄到小红书发布、分发与消费的完整 3D 内容链路。整条链路覆盖 3D 内容的生成、编码、上传、分发、解码与渲染各个环节,如下图所示:

Image

整条链路分为三个核心阶段:

  1. 3D 内容生成:用户在 vivo 相册中选取照片,由算法将 2D 图像转化为具备空间结构信息的 3D 产物,并完成压缩编码;

  2. 内容生产与分发:经由小红书发布链路完成上传与平台处理,播控按机型将 3D 资产分发到消费端;

  3. 端侧渲染展示:消费客户端完成 3D 数据解码与渲染,结合陀螺仪实现空间交互,用户转动手机即可感受画面中的空间层次变化。

链路的每一个阶段都面临各自的核心挑战,以下各节将依次介绍各环节的技术攻坚与工程实践。

Image

图片记录瞬间,视频记录时间,Live Photo 将两者结合,而3D 照片需要第四种定义:让单张照片拥有空间维度,用户轻轻转动手机时,前景、人物与背景呈现真实的空间层次。它需要重新组织影像信息与空间关系,根据用户视角实时生成对应画面。

要做到这一点,背后需要解决两个核心问题:如何把一张 2D 照片重建为可交互的三维空间数据,以及如何把这份数据压缩到能在移动端实时下载和渲染的体积。

3D Gaussian Splatting:面向空间照片的显式场景表示方法

3D Gaussian Splatting(3DGS)是一种面向新视角合成与实时渲染的三维场景表达技术,尤其适用于由多张普通照片或短视频重建可交互空间影像的应用场景。与以三角网格为核心的传统几何建模方法,以及以神经网络参数隐式表征场景的 NeRF(Neural Radiance Fields)不同,3DGS 采用大量可参数化的三维高斯基元,对场景中的几何结构、材质纹理、透明关系及视角相关外观进行显式描述。

每一个高斯基元可理解为分布于三维空间中的椭球体,其核心属性通常包括空间位置、尺度、旋转、透明度和颜色特征等。其中,颜色信息可通过球谐函数(Spherical Harmonics,SH)编码,以表征观察方向变化所带来的反射、明暗及色彩差异。大量高斯基元在空间中相互叠加,共同构成对真实场景连续外观的近似表达。

在渲染阶段,系统将三维高斯基元投影至二维成像平面,并依据深度关系进行排序和 alpha 混合,形成最终图像。这一过程通常被称为“splatting(泼溅式投影)”。由于其渲染路径能够充分利用 GPU 的并行计算能力,3DGS 在保证较高视觉质量的同时,具备较好的实时渲染潜力,适合用于空间照片浏览、自由视角查看、沉浸式展示及轻量级三维内容创作等场景。

相较于需要长时间优化的神经辐射场方法,3DGS 通常具有更快的训练与重建效率;相较于传统网格模型,其对复杂纹理、半透明物体、细碎几何和非规则场景的表达成本更低。同时,由于高斯基元具有明确的空间位置和属性,系统可通过增删、筛选、变换或重参数化等方式对局部内容进行编辑,为后续的智能修复、场景重光照、对象移除和生成式内容编辑提供基础。

Image

高斯场景压缩:支撑空间照片移动端分发与实时加载

高斯场景数据规模较大,是 3D 空间照片走向移动端分发与跨平台应用时需要解决的关键问题。一个完整的 3DGS 场景通常包含数十万至数百万个高斯基元;每个基元均需记录位置、尺度、旋转、透明度及球谐颜色系数等属性。在高质量场景中,原始数据文件往往达到数百 MB 甚至更高,难以满足移动网络下快速下载、即时浏览和低内存运行的要求。

因此,面向空间照片应用的高斯压缩,需要在数据体积、解码速度、渲染性能和视觉质量之间进行系统平衡。典型技术路径主要包括以下三个方面:

  1. 几何属性压缩对高斯基元的位置、尺度和旋转等空间参数进行量化、预测编码或分块编码,利用相邻基元在空间分布上的相关性减少冗余数据。在保证场景整体轮廓和深度关系稳定的前提下,可显著降低几何信息的存储开销。

  2. 外观属性压缩对颜色、透明度及球谐系数等外观参数进行低比特量化、降阶表示或码本聚类。由于空间影像中的视觉感知通常以低频颜色和整体光照变化为主,可在可接受的视觉误差范围内适度削减高频视角相关信息,从而降低外观数据占比。

  3. 结构剪枝与层级表示对渲染贡献较低、空间高度重叠或在常见观察距离下难以感知的高斯基元进行筛除、合并或替换。同时,可构建多层级细节模型(Level of Detail,LOD),使终端设备能够依据网络条件、屏幕分辨率、计算能力和观看距离,动态加载不同精度的场景版本。

通过几何压缩、外观压缩与结构优化的协同设计,3DGS 场景可在尽可能维持空间层次、纹理细节和视角连续性的基础上,大幅降低传输与存储成本。在空间照片应用场景下,压缩后的高斯场景通常还需要与三维资产封装、流式传输机制及终端渲染能力相结合,针对不同应用场景和终端消费能力实现3D内容跨端浏览、低延迟加载与规模化分发的应用目标。

面向移动社交场景的新型3D格式

小红书与 vivo 共同设计了一种面向移动社交场景的新型 3D 内容格式。这种格式并非对传统图片的简单扩展,而是围绕移动端的存储、传输、解析和实时显示需求,对影像信息与空间信息进行重新组织——让设备无需加载庞大的三维场景,即可按移动端计算特点快速完成解析与画面生成。vivo 团队针对图文分发场景专项调整编码方案,小红书同步改造解码与渲染框架,双方共同攻坚文件体积压缩,将原始产物压缩至 4MB 左右,在体积、画质与渲染效率之间找到适合图文场景的平衡点。这一格式需具备三个关键属性:轻量化,控制体积保证传输速度;实时可交互,快速响应视角变化无明显卡顿;广泛兼容,适配不同芯片平台与操作系统,而非只服务于少数高端旗舰机型。

Image

内容生产与分发

3D 内容从生成到用户看到,需要经过发布、播控和分发三个环节的协同。发布侧支持创作者以接近普通图文的门槛发布 3D 照片,完成格式编码与内容上传。内容生产侧复用小红书既有图文发布和 AI P 图能力。创作者既可从 vivo 相册携带已生成、压缩的 3D 资产,也可由站内内容理解识别 3D 意图,通过 Agent 异步生成 3D图资产,并保留 2D 图用于展示和兼容回退。客户端上传 3D图后,发布网关校验素材、转换文件标识,将 3D 资产写入图片元数据并为笔记增加 3D 标签,再交由笔记中台持久化;发布及再编辑全程透传,使 3D 内容以接近普通图文的门槛完成生产,为播控提供标准资产。

Image

媒体播控系统根据用户设备的机型能力、系统版本和网络条件决定是否下发 3D 资产,不满足条件的设备自动回退为 2D 展示,保证所有用户都能正常浏览;播控也是灰度放量和快速止损的核心控制点,支持按机型、版本和实验维度灵活调整分发范围。涉及三个重要环节:

  1. 媒体播控分发 — 智能调度 · 精准分发综合机型画像、设备黑白名单、厂商适配、创作者主/客态等多维度信息实现差异化精准分发,并根据终端 GPU/CPU 规格与网络环境自适应下发多尺度、多分辨率内容。

  2. CDN 内容加速 — 边缘预热 · 极速触达通过多厂商 CDN 协同预热,在用户消费前主动将 3D 资源推送至最近边缘节点,解决冷启阶段首次加载慢的问题。

  3. 在离线图片实时处理 — 在离线协同 · 首帧提速引入在离线协同架构:离线预计算存量资源、在线实时处理增量请求,有效降低首次生成延迟,提升首帧体验。

Image

客户端侧支持贯穿 3D 内容体验的两个核心场景:

  • 发布预览——创作者在发布图文时,3D 渲染模块需要无缝接入现有的编辑渲染框架;编辑链路本身涉及滤镜、贴纸、文字等复杂纹理交互操作,3D 渲染在与这些层叠纹理并行处理时,既要保证实时响应不引入额外延迟,也要避免与编辑框架的渲染资源产生冲突。

  • 笔记消费——用户在信息流或笔记详情页快速滑动时,多张 3D 图片可能同时处于加载或渲染状态,如何在快速切换中做到首帧快速呈现、资源及时释放,同时将持续的陀螺仪响应和 GPU 渲染带来的功耗控制在合理范围内,以及跨平台多机型支持是消费场景的核心难点。

发布预览支持

编辑器支持3D渲染

3D 照片的发布预览,核心目标是在不改变编辑器既有渲染架构的前提下,让 3D 渲染能力无缝融入图文编辑流程。编辑器的渲染管线本质上是一套以纹理为媒介的多层合成系统,滤镜、贴纸、文字等效果各自输出为纹理,由合成器按层级混合;3D 渲染模块以相同方式作为新图层接入,在独立上下文中完成点云解码与视角变换,输出离屏纹理后统一参与合成。

针对接入过程中的核心问题,团队重点进行了以下设计:

  • 渲染层解耦:3D 模块与编辑框架共享同一张 FBO 作为最终输出目标,但各自维护独立的渲染状态与资源生命周期,不修改编辑器核心合成逻辑;用户在发布前叠加的滤镜、贴纸效果可直接作用于 3D 预览画面,与消费侧保持一致。

  • 显存资源隔离:为 3D 渲染模块分配独立显存配额,点云数据、着色器程序和中间纹理均在该配额内管理,不侵入编辑器资源池;显存紧张时,3D 模块优先释放非可见资源,保障编辑器核心功能不受影响。

  • 生命周期管理:用户退出编辑界面或切换图片时,立即释放当前 3D 资产的所有 GPU 资源,避免资源泄漏到后续编辑流程,消除潜在 OOM 风险。

  • Gaussian 数据纹理化组织:将位置、旋转、缩放、透明度及颜色等属性统一打包为 RGBA16F 纹理,降低大规模 Gaussian 数据的显存占用和访问带宽。

  • Instanced Rendering 批量光栅化:每个 Gaussian 仅提交一个基础 Quad,由 Vertex Shader 根据三维协方差、相机内参和视图矩阵计算二维屏幕协方差及椭圆覆盖范围;排序结果、属性与公共 Quad 相互解耦,模型切换或排序变化时只更新对应数据。

Image

性能优化

3DGS 场景通常包含数十万甚至上百万个 Gaussian,每个都要完成数据读取、空间变换、协方差投影、透明度计算和 Alpha 混合,性能瓶颈集中在顶点计算量、片元 Overdraw、显存带宽与加载耗时上。

渲染性能

  • 协方差计算化简:重新推导数学表达式,将通用矩阵构造、矩阵乘法和转置化简为对称矩阵点乘,只计算实际需要的六个协方差元素,显著降低单个 Gaussian 的 ALU 指令量,在几十万 Gaussian 场景下放大为可观的整帧收益。

  • 早期裁剪:针对高斯重叠带来的大面积 Overdraw,在执行高开销指数函数和透明混合之前,提前剔除椭圆外部及贡献度低于显示精度的远尾片元,重点降低人物轮廓、头发及复杂背景区域的片元压力。

  • 硬件双线性合成:GS 结果采用硬件双线性采样,一次纹理读取完成低分辨率渲染结果的插值输出,替代多次 texelFetch 与手动插值;结合离屏分辨率控制,从源头减少实际光栅化像素数。

  • 收益:高端设备可达到 60 FPS,中端 Android 设备渲染帧率从 30 FPS 提升至 45 FPS,单帧耗时从 33.3ms 降至 22.2ms。

数据加载

  • 多段并行解码:构建“串行解析切片、多段并行解码、一次性统一合并”的加载路径,最多四个并行任务执行 Draco 解码,兼顾多核利用与中低端设备的瞬时内存压力。

  • 一次性合并:预统计 Gaussian 总数、一次性申请目标空间统一合并,首段直接作为最终容器,其余分段合并后立即释放;包围盒、中心点、深度范围统一在合并后计算一次,消除随分段数量增长的重复遍历。

  • 选择算法替代排序:深度分位数计算使用 nth_element 替代完整排序,平均复杂度从 O(N logN) 降至 O(N)。

  • 收益:模型加载耗时从约 1s 降至 300ms,提升约 3.3 倍。

内存

  • 加载峰值控制:限制同时解码的分段数量,避免所有分段并发导致临时内存成倍增长;合并阶段预分配容量并通过所有权转移复用首段内存,GPU 上传完成后及时回收 CPU 缓冲。

  • 常驻显存压缩:RGBA16F 数据纹理 + R32UI 排序索引 + 紧凑离屏缓冲格式,结合离屏分辨率控制减少中间纹理尺寸。

  • 退出即回收:退出场景时统一回收 Texture、Framebuffer、Renderbuffer 和 Buffer,避免重复进入造成资源残留。

  • 收益:3DGS 场景内存增量从约 200MB 降至 100MB,下降 50%。

交互优化

  • 主体中心旋转:根据模型纹理和数据的空间分布,自适应选择前景主体的旋转中心,结合场景尺度和旋转幅度避免远景点对旋转整体产生过度影响,结合惯性与弹性动效确保模型即能“丝滑跟手”,又能“立体自然”。

  • 实时数据链路:将交互动效内核与渲染管线解耦,并线处理相机位姿与视图加载,在减少数据积压和线程阻塞的同时确保数据稳定可靠。

  • 动态性能调节:综合分析交互运动轨迹、机型渲染能力、单帧耗时和温控表现,动态决策模型采样频率、预览帧率和渲染精度;大幅削减稳定场景中无效的高斯排序、消除数据重传和低效渲染,提升传感器更新和场景变化时触发渲染的关键帧命中效率。

图文笔记消费

跨平台设计3D播放器

小红书现有播放器围绕图文、视频和 Live Photo 构建,无法承载 3D 内容的交互渲染需求。为此,小红书设计了全新的 3D 播放器,其内核是专为 3D 图渲染打造的跨平台渲染引擎,覆盖资产解码、空间计算管线到陀螺仪交互响应的全链路环节。Android 端创新引入 Vulkan 图形接口,相比 OpenGL ES 拥有更高渲染上限和更低驱动开销;iOS 端在数据解码与点云处理层与 Android 共用同一套架构,渲染层则针对平台图形能力单独优化,在兼顾跨平台可维护性的同时充分发挥各端硬件特性。

Image

渲染与功耗优化

在信息流连续浏览场景下,3D 内容的解码速度和持续渲染带来的发热与功耗,是直接影响用户体验的两个核心难点。针对图文消费场景团队重点进行了以下优化:

  • GPU 管线针对性优化:对 3D模型大规模splat 光栅化的带宽敏感特性,以 Vulkan 为统一底层,通过 ASurfaceControl + AHardwareBuffer 直连 SurfaceFlinger、绕过 EGL/GLES,acquire fence 由合成器异步等待,实现 CPU/GPU/合成三级流水并行;并针对 Adreno、Mali、HVGR 差异化的 tiling 与压缩策略,定制 buffer usage 与内存访问模式,使渲染效率在各档 Android 机型上均逼近 GPU 理论上限,平均渲染帧率可达到60FPS。

  • 数据加载优化:针对 3D 模型体积大、解压计算密集的特点,构建“内存对象直传 + 多段并行解码”的快速加载路径:解析阶段直接产出结构化模型数据并零拷贝移交给上传阶段,省去中间字节流的多次序列化/反序列化开销;模型多段数据由串行改为并行解码,充分利用多核算力;首帧渲染完成后即释放 CPU 侧中间缓存;配合场景切换时复用底层渲染上下文与管线,显著压缩冷启动与切图的加载耗时以及内存峰值,安卓端加载耗时降幅达 60%。

  • 图形管线缓存 + NEON SIMD 加速:持久化 GPU 编译产物(Shader Cache),渲染启动时直接命中缓存跳过重编译;同时针对 ARM 平台的数据预处理路径引入 NEON SIMD 并行加速,8 像素并行处理。两项优化联合上线后,中高端机型首帧耗时降低 20%~30%。

  • 渲染生命周期管控:动静结合——画面静止时自动降低渲染触发频率避免 GPU 无效唤醒;3D 内容滚出可见区域后立即暂停渲染与陀螺仪响应,彻底消除后台持续消耗。

经过上述优化,在信息流持续浏览场景下设备温升可控制在合理范围内,流畅体验与功耗效率取得较好平衡。

消费资源管理与机型适配

  • 渲染 Core 生命周期管理与模型热替换:多图滑动切页原本每张都要“销毁—重建”,重复付出初始化、编译与内存申请开销。团队重构为“复用实例、按需换模型”的热替换机制——切图时保留渲染 Core 与图形管线,仅替换新模型资源,切换首帧速度从数百毫秒压缩至毫秒级,滑动几乎无感

  • 合成层状态归一:跨机型合成器实现存在差异,切换/退出场景时若不显式复位显示层的可见性、缓冲与几何/背景色,部分机型上会出现残留黑层、缩放异常或抖动。在关键生命周期节点加入状态归一处理,并同步复位首帧标记与传感器基准,彻底消除机型差异带来的视觉异常

  • 渲染精度分档:引入渲染分辨率参数化配置,按机型性能档位动态调整渲染精度,由合成器侧完成缩放呈现,在保证观感的同时显著降低中低端设备的 GPU 压力,将可用机型范围向下沉市场延展

  • 性能准出压测体系:建立覆盖各档位代表机型的 3D 图性能压测体系,每次迭代上线前完成全量跑测,帧率、耗时、内存、发热与稳定性等指标可量化验证,提升安卓机型覆盖率至 85+%,iOS 机型覆盖率 90+%

  • 预加载优化:结合用户滑动速度与下一篇笔记的曝光概率,提前预判并预下载即将进入视野的 3D 图模型资源,减少滑动到位后的等待感,实现更快的首帧呈现

  • 内存精细化管理:图片移出可视区域、大图(完整模型)与小图(缩略图)切换时主动做内存回收与降级处理,避免多张高精度模型同时驻留导致内存压力过大,控制整体内存消耗

动效与交互优化

  • 动态坐标系构建:基于陀螺仪+加速度计实时姿态数据,建立设备物理姿态到虚拟相机视角的映射坐标系,将用户“晃动手机”的物理角度实时转换为 3D 场景内的视角旋转量

  • 横滚/俯仰双向弹簧阻尼模型:通过横滚和俯仰两个方向分别引入弹簧阻尼系统,避免陀螺仪角度到视角旋转的生硬直接映射,让转动带有"惯性回弹"的自然过渡感,而不是跟手抖动

  • 跨设备与跨模型一致性适配:不同机型陀螺仪灵敏度、用户握持习惯存在差异,交互层做归一化映射和阻尼参数适配,保证同一套弹簧模型在不同设备、不同 3D 模型上手感一致,不会有的机型转动过灵敏、有的迟钝

  • 视差与景深联动渲染:视角旋转的同时同步驱动前景/背景视差位移和景深虚化变化,让画面转动不只是"平移",而是有真实的空间纵深感——这是区别于普通图文平面交互的核心体验点

  • 边界保护与自动回弹:设置视角旋转角度上下限,防止过度旋转导致画面拉伸失真或穿模;用户停止操作时视角自动平滑回弹到默认展示角度,避免停留在奇怪视角

Image

技术迭代让发布门槛持续降低,带动创作者 3D 图文供给快速增长,用户首次在信息流体验到「转动手机画面就动」的新奇感,停留与互动明显提升,也吸引了品牌官方号和达人开始在小红书分享 3D 图文。

Image
Image

小红书团队

小红书多媒体技术团队:我们是小红书多媒体技术部,一支深耕多媒体算法与工程的技术团队,业务覆盖点播(追求「零首帧、高画质、无卡顿」的沉浸观看)、直播(从超低延迟连麦到大型赛事保障)、实时音视频 RTC(攻克弱网对抗与音质优化的前沿阵地)以及图片(从极致压缩到语义级增强,让每张图片成为可被理解、可交互的视觉资产),是公司海量图片、点播、直播与实时音视频业务背后的核心引擎力量。

加入多媒体团队:在这里,你能从算法到网络、从端到云打通完整的多媒体技术链路,借助 AI 重新定义全栈 / PE 工程师的价值边界,与资深专家一起打磨最难的问题。如果你在音视频编解码 / 网络传输 / 图像处理 / AI 大模型 / 端侧推理任一方向上有“超能力”。

欢迎投递:小红书招聘

小红书内容智能与生成团队:内容智能与生成团队(智创团队)是公司面向未来内容形态与通用智能的重要技术引擎,团队在内容理解、视觉与多模态、图像生成与编辑、语音理解与生成、Omni Model、特效渲染与影音体验等方向长期对标行业 SOTA,同时强调模型能力在复杂真实业务中的可用性与规模化落地。

小红书社区工程发布团队:发布团队是小红书内容创作与发布全链路的核心工程团队,负责相册、拍摄、图文编辑、视频编辑、发布等笔记生产全流程,团队在传统应用技术开发之外,深度融合图像处理、音视频处理与上传网络优化等跨领域技术能力,围绕素材采集、编辑制作到分发上传的端到端链路持续打磨,致力于为用户提供更快、更流畅的发布体验。

小红书社区工程组消费团队:社区工程组平台消费团队负责小红书首页/Feed/图文/视频等C端内容业务,致力于通过持续的业务探索、深度性能优化、架构升级与体验打磨,推动移动端产品体验的极致化,通过内容分发和内容互动,每天服务上亿用户的内容社区,持续提供内容场景的更优的创新体验,并持续探索将 AI 转化为自然内容延伸形体的方式,定义下一代内容消费体验。

vivo团队

vivo蓝图未来影像团队:聚焦影像 AI,负责 3D、AIGC、多模态等技术方向的研究与产品落地,在 3D 重建、生成与编辑方向拥有深厚积累,此前已落地空间照片、空间视频、空间壁纸等项目,持续探索从二维影像到三维内容的生成、理解、表达与端侧呈现,推动空间影像技术从前沿研究走向规模化产品应用。

Image