跳到主要内容

视频会议中的数字人:构建用于视频会议的实时对话头像 AI

· 阅读需 13 分钟
Tian Pan
Software Engineer

拥有面孔的语音智能体并非简单的“带脸的语音助手”。它是一个同步视频 AI 系统,当人类第一次看到口型落后于音频三帧,并下意识地(即使无法准确说出原因)判定屏幕上的东西是假的时候,这种差异就显现出来了。那些构建了 300 毫秒语音流水线,然后又在末尾强行塞入一个渲染模型的纯语音团队,刚刚继承了一个他们在路线图中未曾预料到的实时多模态问题。

这个门槛并不宽松。在音视频偏移低于约 45 毫秒时,观众会认为是完美同步。一旦音频领先超过 125 毫秒或音频滞后超过 45 毫秒,大脑就会将这种不匹配标记为错误,即使观众无法指出具体原因。在一个数字人必须同时倾听、思考、说话和渲染的对话循环中——且在你和用户之间还隔着网络——音频输出和渲染面孔之间没有任何余地来容纳拙劣的衔接。

当你将 AI 数字人集成到会议产品中时,这才是真正重要的标准。不是“在工作站录制的演示中看起来令人惊叹”,而是“在住宅 Wi-Fi 连接下,当 LLM 因为缓慢的工具调用而卡顿时,依然能保持同步”。那些成功做到的团队已经不再将数字人视为图形输出,而是将其视为一个恰好包含面孔的实时流。

延迟预算比语音预算更紧张

一个体面的语音智能体运行在 300 毫秒的响应预算内——当用户还在说话时,语音转文字(STT)就开始输出部分转录,语言模型在获得足够上下文后开始生成,文字转语音(TTS)在每个 Token 块到达时将其转化为音频,用户在说完话后的 300 毫秒内就能听到第一个词。组件级的详细拆解可以参考已发布的语音 AI 流水线分析:仅 TTS 本身贡献的首字节时间就不应超过 100–200 毫秒。

增加面孔并不会增加这个预算,反而会消耗它。数字人流水线现在必须渲染口型与 TTS 正在生成的音频相匹配的帧,而且必须在不产生足以破坏语音循环响应目标的音频缓冲的情况下完成。Tavus 的 Phoenix-4 发布其实时面部合成的延迟约为 600 毫秒,这让你对生产级系统实际交付的水平有了直观感受;Anam 的 CARA-3 报告在 25fps/720x480 下的中值延迟为 180 毫秒。较新的流式研究模型——在单个 GPU 上达到 16fps 的 JoyStreamer-Flash,以及通过潜空间修复保持 30+ fps 的 MuseTalk——才是那些能够被链接到对话循环中而不让用户等待两倍时间的幸存者。

大多数团队在结构选择上都犯了错:他们将语音和面部视为顺序流水线。语音结束,然后渲染面孔。这种模式对于预制视频没问题,但在会议中是致命的,因为数字人必须在完整句子生成之前就开始动嘴。有效的架构将渲染阶段视为流式 TTS 的流式消费者——音素流入视素表,视素表驱动面部解码器,每一帧视频在发出时都带有一个与其对应的音频采样绑定的呈现时间戳。

音视频同步已是成熟技术——直到你加入了生成帧

WebRTC 利用 RFC 3550 处理口型同步已有十年之久——RTCP 发送端报告携带与 RTP 时间戳配对的 NTP 时间戳,接收端重建音视频流之间的挂钟时间关系,渲染器将视频帧从属于音频时钟。音频中断比丢弃视频帧更容易被察觉,因此当网络出现抖动时,宁愿跳过视频也不愿让语音停顿。这是人与人通话中经过验证的成熟路径,直到其中一个流是由云端 GPU 上的神经网络逐帧生成时,情况发生了变化。

生成式视频打破了这些假设。编码器不再是以固定频率采集的摄像头,而是一个吞吐量随提示词复杂度、GPU 竞争以及前一帧潜状态复用程度而波动的模型。如果模型偶尔需要 80 毫秒而不是 33 毫秒来生成一帧,音频时钟会继续前进,而口型就会落后。解决办法不是放慢音频,因为用户会立刻察觉到;解决办法是设计系统,使帧生成与帧交付重叠并异步,并在两者之间设置一个小的抖动缓冲区。

生产级数字人系统大都趋向于类似的形态。D-ID 的流水线并行运行多个阶段,据报道其内部生成的视频达到 100fps,约为播放速度的四倍,这样偶尔的慢帧会被缓冲区吸收而不会导致衔接停顿。生成的帧进入本地队列,进行异步编码,并带上引用其应对齐音频的时间戳发出。当缓冲区健康时,系统流畅传输;当缓冲区耗尽时,选择是丢帧或在最后一帧好帧与下一帧之间进行插值——绝不延迟音频。

在生成负载下,另一件会崩溃的事是时钟漂移。WebRTC 对于摄像头画面可以很好地容忍发送端和接收端之间 0.1% 的漂移,因为摄像头和网卡共享硬件振荡器。但如果模型运行在 GPU pod 上,音频路径运行在 CPU pod 上,而网络出口又有自己的时钟——这三个时间基准的漂移速度之快,如果系统不定期根据 RTCP 发送端报告进行重新同步,一个五分钟的通话就会积累出明显的滞后。

离线评估中无法发现的失败模式

你用来评估数字人模型的评估集是在工作站上运行的,具有确定性的 GPU 调度,且不涉及网络延迟。在生产环境中,真正重要的失败模式是那些仅在实时条件下才会显现的模式,它们具有特定的特征:微妙、大多难以察觉,但又足够连贯,以至于人类观众在观看后会有一种“哪里不太对劲”的模糊感觉。

三帧的口型同步(lip-sync)漂移就是一个典型的例子。在 30 fps 的帧率下,三帧意味着 100 ms —— 这远超出了 45 ms 的“音频滞后于视频”的感知阈值,正好处于大脑能察觉到不匹配但又无法准确定位的区间。检测研究从相反的方向得出了同样的观察结果:像 LIPINC 以及最近关于嘴部不一致性的 vision-temporal-transformer 研究表明,识别口型同步深度伪造(deepfake)最可靠的信号,正是嘴部区域这种微小的时序漂移。如果鉴定模型能发现,人类也能发现,即使人类只能将结果描述为“感觉不对”。

其他在离线评估中无法发现的失败模式包括:

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates