视频生成不是简单的“多画几张图”,而是要在三维空间(高度、宽度、时间)内维持像素的连贯性。
1. 核心变革:Space-Time Patches (时空切片)
在 DiT 中,我们将一张图切成一个个方块。在视频 DiT 中,我们处理的是一个视频序列(Frames)。
- 三维切块:模型不再只切 2D 的 Patch,而是切 Tubelets(小管子)。
- 假设一个视频有 16 帧,每帧 。
- 模型会切出 的时空块(即 2 帧时间长度,2x2 的空间大小)。
- 物理意义:每一个 Token 现在不仅包含了“哪里有颜色”,还包含了“这个颜色在两帧之间是怎么动的”。这让 Transformer 能够跨越时间去理解物体的运动轨迹。
2. 维度的升华:从 2D 到 3D 的架构适配
为了处理视频,DiT 的内部组件经历了“升维”改造:
A. 位置编码:3D RoPE (旋转位置编码)
CLIP 的绝对位置编码在视频中几乎无法使用,因为视频长度是变动的。
- 实现:将旋转编码拆分为 和 。
- 作用:它让模型知道“第 1 帧的左上角”和“第 10 帧的左上角”是同一个位置。如果没有 3D RoPE,视频里的物体会像瞬移一样乱跳。
B. 扩展的注意力机制 (Temporal Attention)
视频模型通常采用两种注意力组合方案:
- Full Spatio-Temporal Attention:所有帧的所有 Patch 互相看。效果最好,但计算量随视频长度成平方级爆炸。
- Factorized Attention (分解注意力):先做空间自注意力(修饰每一帧的画质),再做时间自注意力(对齐每一帧的动作)。这是目前平衡画质与长度的主流方案。
3. VAE 的进化:Causal VAE (因果变分自编码器)
在文生图中,VAE 是一张张压缩的。在视频中,为了节省空间并保持连贯,引入了 Causal VAE。
- 时间压缩:它不仅压缩长宽,还压缩时间维度。比如把 8 帧视频压缩成 1 个潜空间特征。
- 因果性:解码当前帧时,只参考之前的帧,不参考未来的帧。这模拟了现实世界的物理逻辑,保证了视频生成的实时性和逻辑性。
4. 训练与推理:从“降噪点”到“降噪流”
训练阶段 (Predicting Noise in Video)
- 加噪:给一段完整的视频潜向量序列同时加噪。
- 回归:DiT 预测整个视频序列中的噪声场。
- 约束:除了 MSE Loss,通常还会加入运动平滑度损失,防止画面闪烁(Flickering)。
推理阶段 (Autoregressive vs. One-shot)
- 短视频 (One-shot):直接一次性降噪生成 2-5 秒的视频。
- 长视频 (Autoregressive):生成前 2 秒,然后将其作为条件,接力生成后 2 秒。这是 Sora 能够生成 60 秒长视频的秘密——时空潜空间的接力采样。
📘 文生图 vs. 文生视频 技术规格对比
| 维度 | 文生图 (DiT) | 文生视频 (ST-DiT) |
|---|---|---|
| 基础 Token | 2D Patch (方块) | 3D Tubelet (时空管) |
| 位置编码 | 2D RoPE / 绝对编码 | 3D RoPE (分拆空间与时间) |
| 注意力核心 | 空间全局关联 | 时空因果关联 / 运动一致性 |
| VAE 作用 | 空间压缩 | 空间 + 时间 联合压缩 (Causal VAE) |
| 核心挑战 | 逻辑构图、语义对齐 | 时间一致性 (Consistency)、物理常识 |
💡 核心难点:为什么视频生成这么难?
- 算力黑洞:视频的 Token 数量是图像的数十倍,Attention 的计算复杂度是 ,显存压力极大。
- 物理模拟:模型必须在没有任何物理引擎的情况下,通过看视频学会“杯子摔碎了不能还原”、“水往低处流”等物理规律。
- 语义对齐:Prompt 需要描述“动作”而不只是“物体”。例如“一个人在跑步”,模型需要精准控制腿部肌肉的周期性形变。