Stream-DiffVSR: Low-Latency Streamable Video Super-Resolution via Auto-Regressive Diffusion¶
会议: ECCV2026
论文: ECCV 原文
PDF: 论文全文
项目: Stream-DiffVSR
领域: 视频生成 / 视频超分辨率
关键词: 视频超分辨率、自回归扩散、轨迹蒸馏、光流对齐、时序一致性
一句话总结¶
Stream-DiffVSR 用四步扩散去噪、光流对齐的历史输出引导和时序解码,逐帧恢复高清视频,在不读取未来帧的条件下取得 REDS4 LPIPS 0.099 与 RTX 4090 上 720p 首帧延迟 0.328 秒,但尚非通常意义的实时高清视频处理。
研究背景与动机¶
视频超分辨率要从低分辨率输入恢复高分辨率画面,难点不只是把单帧变清晰,还要避免细节在相邻帧之间跳动。 CNN 和 Transformer 方法可以较快地重建图像,但逐像素保真与感知细节并不总是一致:较高 PSNR 不意味着纹理一定更自然。 扩散模型的生成先验能补充逼真细节,然而 StableVSR、MGLD-VSR 等方法通常需要大量去噪步骤,而且会使用双向时序信息。 这使它们面临两种不同的等待:计算一个结果本身很慢,以及为了产生第一个结果必须先处理后续帧。
在直播、视频会议或交互式渲染中,平均每帧耗时不能单独描述体验。 即便一个分块模型的平均吞吐量不错,接收端也可能需要等整块数据到齐才能显示第一帧。 论文因此把每帧运行时间与首帧时间 TTFF 分开报告,并要求当前输出只能依赖当前输入与过去状态。 不过,完全逐帧独立地调用一个快速图像扩散模型也不够:上一帧生成的纹理没有进入下一帧,时间闪烁依然存在。
本文从已有 Stable Diffusion ×4 Upscaler 出发,将“减少去噪计算”和“让过去的信息进入当前重建”分别处理。 少步模型负责保留图像生成先验,历史高质量输出则先经过运动对齐,再进入潜空间去噪和 RGB 解码两个阶段。 这样既不用等待未来帧,也不把时序一致性完全寄托在某一个表示层上。 核心 idea:通过完整四步轨迹蒸馏压缩单帧计算,再把光流对齐的上一帧输出同时作为去噪条件和解码条件,以严格因果的数据流维持视频细节的连续性。
方法详解¶
整体框架¶
输入是一条低质量视频流,输出是逐帧产生的 ×4 超分辨率视频;模型不是从文本生成新视频,而是在输入画面约束下恢复细节。 当前时刻保留上一帧低质量输入和上一帧已经生成的高质量输出,后者承载历史纹理与累积时序信息。 图 4 使用相邻低质量帧的上采样版本估计运动,再把上一帧高质量结果变换到当前帧坐标系。 对齐后的历史 RGB 帧供自回归时序引导使用,其编码特征也供自回归时序解码器使用。 去噪器完成四步 DDIM 更新后,时序解码器生成当前 RGB 输出,并将结果留给下一时刻。
下图中虚线表示训练产生的参数依赖,实线表示逐帧推理的数据流;历史反馈不代表同一帧内部反复生成视频。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
Train["训练 LQ/HQ 对"] -.-> Rollout["四步轨迹蒸馏"]
Rollout -.->|冻结去噪器参数| ARTG["自回归时序引导<br/>ARTG"]
Current["当前 LQ 帧<br/>与初始潜变量"] --> ARTG
History["上一帧 HQ 输出<br/>与相邻 LQ 帧"] --> Warp["光流对齐<br/>历史 RGB 与编码特征"]
Warp --> ARTG
ARTG -->|四步去噪后的潜变量| Decoder["自回归时序解码<br/>TPM"]
Warp --> Decoder
Decoder --> Output["当前 HQ 输出"]
Output -->|下一时刻| History
关键设计¶
1. 四步轨迹蒸馏:让训练直接面对实际使用的短去噪链
基础模型是原本采用 50 步推理的 Stable Diffusion ×4 Upscaler,论文不通过更换 U-Net 架构实现加速。 它在每次训练迭代中运行完整的四步去噪过程,得到最终的干净潜变量,再对这个终点施加监督。 这与随机选一个中间扩散时间步进行训练不同:被优化的对象是部署时真正会经历的短轨迹及其最终输出。 这里的 rollout 首先指扩散去噪链的展开,不应仅凭名称将其等同于完整长视频上的自生成历史训练。 主文把更完整算法放在附录,因此没有充分依据补写跨视频时刻的梯度截断方式或历史采样比例。
终点监督同时考虑潜变量重建、解码后的 LPIPS 感知差异以及对抗损失。 潜变量项约束结果接近目标表示,感知项防止仅匹配数值却丢失视觉结构,对抗项鼓励生成自然细节。 这些损失并不是额外的推理步骤;训练结束后,线上只执行四步 DDIM 去噪和一次解码。 因此,加速的关键是让一个短轨迹本身学会恢复,而不是在运行时仍调用完整的 50 步模型。 表 11 进一步表明,对该系统增加采样步数不保证所有感知或时序指标单调改善。
2. 自回归时序引导:让上一帧细节参与当前潜变量的恢复
上一帧生成的高质量结果不能直接当成当前帧的静态模板,因为相机或物体可能已经移动。 ARTG 先借助相邻输入估计的光流对齐历史输出,再把对齐后的 RGB 内容作为 U-Net 去噪过程的时序条件。 在四次更新中,去噪器都能利用已经恢复的细节,而不是对当前帧重新进行一次完全独立的随机恢复。 这使同一物体的纹理具有跨帧延续的来源,同时仍由当前低质量输入约束本帧应出现的结构。
这个机制的因果性来自信息方向:当前帧只接收过去已经完成的输出,不调用未来高质量帧。 直接状态只需要上一帧,但上一帧本身受更早输出影响,因此历史信息可以递归传播。 与此同时,递归传播也意味着历史错误可能进入后续恢复,光流错位并不会因为使用扩散模型而自动消失。 论文在 ARTG 训练时冻结去噪 U-Net 和解码器,使用相邻 LQ/HQ 帧对训练新增的时序条件能力。 其损失仍结合潜变量重建、LPIPS 和对抗项,目标是加入时间信息而不破坏已学到的空间恢复能力。
3. 自回归时序解码:在恢复 RGB 细节时再次约束时间连续性
潜空间去噪已经参考历史,并不代表解码后的细纹理一定稳定;基础上采样器的潜表示仍只有目标空间分辨率的四分之一。 放大并映射到 RGB 的过程中,局部特征的差异可能再次表现为边缘抖动或纹理变化。 因此,论文把对齐后的上一帧送进冻结编码器,取其特征,与当前干净潜变量一起用于解码。 时序处理模块 TPM 插入解码器的空间卷积之后,在多个尺度融合当前特征与历史特征,而不是只在最终 RGB 上做平滑。
图 2 展示的 TPM 包含平均池化、拼接、一维卷积、激活、时序处理与特征拆分,随后进行带门控的融合和插值上采样。 其中当前分支乘以 \(1-\alpha\),历史分支乘以 \(\alpha\);门控控制模型依赖上一帧的程度。 用处理后的同尺度特征表示,图中的加权融合可写为:
这里是对图 2 融合操作的记号化说明,不是补写损坏的原文损失公式,也不表示简单地混合两张 RGB 图像。 主文说明门控参数可学习,但没有充分说明它是否按像素变化,不能将其直接解释为显式遮挡置信度。 TPM 的监督除重建、感知与对抗项外,还比较预测帧对和真实帧对的光流,以约束运动关系。 因此 ARTG 决定去噪时怎样利用过去,TPM 则约束这些潜变量转成像素时怎样保持一致,二者针对不同阶段。
一个完整示例¶
考虑连续输入的 ×4 超分辨率视频,其中镜头向右移动,同一处纹理在相邻帧中的位置随之变化。 第一帧尚无正常的历史高质量输出;作者将早期帧质量下降列为冷启动问题,但当前缓存没有给出初始化伪代码。 因此不能假定首帧一定复制输入、使用零状态或调用另一种恢复网络。 从已经得到第一帧 HQ 结果之后开始,第二帧到来时,用两帧 LQ 输入估计运动并对齐第一帧 HQ。 对齐历史引导第二帧的四步去噪,其编码特征同时参与 TPM 解码,最后得到第二帧 HQ。 第三帧沿用同一过程,但历史被替换成模型刚生成的第二帧,而不是测试集真实的第二帧 HQ。 这一差别解释了为什么在线推理既能够持续运行,又可能累积对齐错误或生成错误。 没有未来帧等待也不等于没有计算延迟:720p 在 RTX 4090 上仍需约 0.328 秒完成一帧。
损失函数 / 训练策略¶
按图 3,训练依次涉及去噪 U-Net 蒸馏、解码器 TPM 训练、冻结前两部分后训练 ARTG。 TPM 使用真实帧学习时序融合,其余权重保持固定;ARTG 再学习如何利用对齐的历史输出。 第 3.5 节也用“并行”描述 TPM 训练,至少可以确定这几个目标是分离优化,而非所有参数从头联合更新。 TPM 的像素重建项明确采用 SmoothL1,另外使用光流差异、LPIPS 与对抗监督。 U-Net 与 ARTG 的重建监督主要作用于最终潜变量,并通过解码输出计算感知和对抗项。 当前缓存的公式有明显抽取损坏,损失权重、精确范数写法及完整实现超参数不在本笔记中猜补。 图 3 图注把 TPM 和 ARTG 的目标写为式 (3) 与式 (6),但正文中式 (3) 属于 ARTG、式 (6) 属于 TPM;本笔记按正文模块描述理解其归属。 表 10 的联合训练结果为 LPIPS 0.124、tLP 17.816,分阶段训练为 0.099、4.265,支持解耦训练在该实验中的作用。
实验关键数据¶
主实验¶
下表选取原文表 2(第 10 页)的 REDS4 双三次下采样质量结果,以及表 3(第 11 页)同方法在 RTX 4090 上的效率结果。 输出为 720p,TTFF 按 100 帧序列测量;PSNR 越高越好,LPIPS、tLP、tOF 和时间越低越好。 tLP 是时间感知差异指标,tOF 是时间光流差异指标;表 2 分别以 100 倍和 10 倍缩放值报告,下面原样保留,不与未缩放指标混用。 主文未提供完整评测公式,因此这里不把它们进一步猜写成某一种具体实现。
| 方法 | 时序访问 | PSNR | LPIPS | tLP | tOF | 每帧时间(秒) | TTFF(秒) |
|---|---|---|---|---|---|---|---|
| BasicVSR++ | 双向 / 离线 | 32.386 | 0.132 | 9.017 | 2.490 | 0.098 | 9.8 |
| StableVSR | 双向 / 离线 | 27.928 | 0.102 | 5.755 | 2.742 | 46.2 | 4620 |
| MGLD-VSR | 双向 / 离线 | 26.53 | 0.151 | 18.139 | 5.910 | 43.6 | 218 |
| TMP | 单向 / 在线 | 30.672 | 0.194 | 10.424 | 2.480 | 0.041 | 0.041 |
| RealViformer | 单向 / 在线 | 26.763 | 0.129 | 11.261 | 4.037 | 0.099 | 9.9 |
| Stream-DiffVSR | 单向 / 在线 | 27.256 | 0.099 | 4.265 | 3.620 | 0.328 | 0.328 |
与 TMP 相比,LPIPS 从 0.194 降到 0.099,绝对降低 0.095,但 PSNR 和 tOF 更差,而且每帧计算更慢。 与 MGLD-VSR 相比,43.6/0.328 约为 132.9 倍每帧加速;这与 TTFF 的改善是不同量,不应混为一个加速指标。 表 4、5(第 11–12 页)在 Vimeo-90K-T 上报告 LPIPS 0.056、tLP 4.307、tOF 2.689 和 0.041 秒每帧,输出尺寸为 448×256,并非 720p。 表 6(第 12 页)的混合退化结果来自按 DOVE 退化管线在 REDS 上额外微调:本文 LPIPS 0.220,MGLD-VSR 为 0.246,不能把这项结果称为未经适配的泛化。
消融实验¶
第一张消融表取自原文表 9(第 13 页),实验范围为 REDS4;只保留能看清时序模块作用的指标。 “独立逐帧”同时禁用 ARTG 与 TPM;“TPM 不对齐”保留 TPM,但不对其历史输入进行光流对齐。
| 配置 | LPIPS | DISTS | tLP | tOF | TTFF(秒) |
|---|---|---|---|---|---|
| 独立逐帧 | 0.099 | 0.071 | 7.261 | 4.201 | 0.208 |
| 去掉 ARTG | 0.117 | 0.070 | 6.132 | 3.910 | 0.235 |
| 去掉 TPM | 0.116 | 0.078 | 12.847 | 4.639 | 0.300 |
| TPM 不对齐 | 0.122 | 0.082 | 12.846 | 5.689 | 0.320 |
| 完整模型 | 0.099 | 0.062 | 4.265 | 3.620 | 0.328 |
第二张消融表取自原文表 11(第 14 页),比较 Stream-DiffVSR 内部的 DDIM 步数,而不是直接比较四步本文与另一套 50 步基线系统。 第 4.3 节称该比较保持模型权重固定;图 7 同时另有微调四步版本的可视化标签,本表不据此额外推导训练配置。
| 去噪步数 | LPIPS | DISTS | tLP | tOF | 每帧时间(秒) |
|---|---|---|---|---|---|
| 50 | 0.102 | 0.068 | 18.798 | 3.826 | 3.460 |
| 10 | 0.122 | 0.072 | 9.990 | 3.625 | 0.718 |
| 1 | 0.138 | 0.076 | 9.899 | 3.882 | 0.106 |
| 4 | 0.099 | 0.062 | 4.265 | 3.620 | 0.328 |
关键发现¶
- 单帧 LPIPS 相同也可能有不同的视频稳定性:独立逐帧与完整模型同为 0.099,但 tLP 从 7.261 降至 4.265,说明仅看单帧感知质量会漏掉收益。
- 去掉 TPM 后 tLP 为 12.847,完整模型为 4.265;历史特征不对齐时也达到 12.846,说明解码端时序融合需要正确的运动对应。
- 四步比一步更慢,但 LPIPS 从 0.138 改善为 0.099;比 50 步更快且表中时序指标更好,支持在该模型内选择短而匹配训练的采样轨迹。
- 数据一致性提醒:第 9 页正文写 REDS4 tLP/tOF 为 4.198/3.638,而表 2、9、10、11 为 4.265/3.620,本笔记采用表值并保留冲突说明。
- 效率一致性提醒:表 1 为 3.05 FPS,表 9 完整模型为 3.408 FPS,却都报告 0.328 秒 TTFF;后者与每帧时间的倒数不一致,不能将两组 FPS 合并为统一测量。
亮点与洞察¶
- 首帧延迟是独立的设计目标。严格逐帧因果推理消除了等待后续帧的结构性开销,但仍须单独优化每帧计算。
- 时序信息在两个表示层发挥作用。潜空间条件约束生成内容,解码端融合约束高分辨率细节的落地,模块消融比单纯宣称“时序感知”更有解释力。
- 完整短轨迹训练让监督位置接近实际输出。可迁移的启发是优化部署轨迹的结果,而不是默认更多采样步骤必然带来更好的视频。
局限与展望¶
- 作者承认模型仍比 CNN、Transformer 方法更重,快速运动下光流可能引入伪影,最初几帧还有冷启动质量问题。
- 720p 的 0.328 秒每帧约对应 3.05 FPS,不能据此宣称满足 25/30 FPS 的实时直播或 AR/VR 显示预算;“低延迟”主要是相对既有扩散方法而言。
- 严格因果也意味着无法借助未来观测纠正当前遮挡。遮挡置信度、历史状态重置和长序列错误累积评测是读者提出的后续方向,并非本文已验证的模块。
- 真实退化实验经过额外微调,VideoLQ 又没有配对真值,因而无参考质量改善不能充分证明恢复内容忠实于原场景。
- 缓存只有主文与参考文献,没有附录算法和完整实验设置;部分公式损坏、图注式号及指标存在冲突,精确复现仍需回查原始补充材料。
相关工作与启发¶
- vs StableVSR / MGLD-VSR:二者代表较慢、依赖未来信息的扩散 VSR;本文改变了去噪预算与时序访问方式,但不能据 LPIPS 一项宣称所有保真和运动指标都更好。
- vs TMP:TMP 是直接的在线恢复对照,REDS4 上更快且 PSNR 更高;本文更强调生成式感知质量和较低 tLP,适用取舍不同。
- vs FlashVSR:分块流式与逐帧因果不能只用平均耗时比较;分块缓冲影响 TTFF,显存及速度还必须在相同 GPU 条件下比较。
- 联系 CausVid / Self Forcing:它们说明少步自回归扩散和训练时历史分布的重要性;本文针对受 LQ 视频约束的恢复任务,不能直接套用开放式视频生成的训练细节。
评分¶
- 新颖性: 4/5。将短轨迹蒸馏与潜空间、解码端双重因果条件结合,贡献主要在系统设计而非全新扩散理论。
- 实验充分度: 4/5。覆盖质量、首帧延迟、时序模块和训练策略,但数值冲突及长序列误差边界仍需进一步澄清。
- 写作质量: 3/5。动机与模块作用清楚,图注式号和多处报告不一致增加了核验负担。
- 价值: 4/5。为低等待的生成式视频恢复提供了可借鉴方案,但算力开销与实时部署要求仍有明显距离。