LiveFoley: потоковое озвучивание видео с регулируемой задержкой и непрерывным VAE
LiveFoley генерирует звуки по поступающему видео, сохраняя длинный контекст изображения без ожидания полного будущего фрагмента. Вместо сжатия окна авторы сдвигают его целиком в прошлое, а частоту обновления выбирают отдельно. Это позволяет менять вычислительную нагрузку и задержку одним набором весов; важно, что лишь часть заявленных задержек измерена напрямую.
Метод. Замороженный Synchformer получает скользящее окно, заканчивающееся текущим кадром. Synchronizer согласует признаки для шагов 80, 160 и 320 мс. Авторегрессионная модель работает с частотой 12,5 Гц, а локальный диффузионный блок генерирует непрерывные акустические представления. Причинный VAE использует 64-мерные векторы: 25 Гц для моно 16 кГц и 50 Гц для стерео 48 кГц, по два или четыре вектора на шаг генерации. Это автоэнкодер скрытого представления, не дискретный кодек с указанным битрейтом. History LocDiT учитывает прошлые акустические фрагменты; дополнительный Future-Warmup заглядывает ещё на один шаг вперёд.
Результаты. Обучение использует около 2042 часов, 745 тысяч коротких видео. На VGGSound вариант 16 кГц получает FD по PaSST 92,48 и DeSync 0,50 против 197,68 и 0,67 у WorldSonus. Офлайн-MMAudio остаётся лучше по FD 74,16, то есть полного равенства по качеству нет. Измерение на A800 с симулятором подачи видео 25 кадров/с даёт 156 мс до первого воспроизводимого аудио: 80 мс ожидания и 76 мс обработки. Развёртка включает кодирование изображения, языковую модель, диффузию, VAE и накладные расходы.
Ограничения. Проверка длительных потоков использует ограниченный скользящий KV-кэш; она не отменяет накопления ошибок генерации. Поднабор строгого визуального согласования специально исключает речь и лица, поэтому его результаты не устанавливают качество синхронизации губ и фонем. Измерение порога заметности задержки основано на шести участниках и девяти клипах, а не универсальной физиологической границе. Задержки других режимов вычислены добавлением ожидания при предположении неизменного времени обработки, не измерены для каждого режима.
Фишка из статьи. Таблица 7 отделяет аппаратное измерение от экстраполяции. Ниже ожидание будущих кадров и будущего акустического фрагмента указано отдельно; все значения относятся к заявленной конфигурации A800.
| Режим | Ожидание видео / аудио, мс | Полная задержка, мс | Основание |
|---|---|---|---|
| History, шаг 1 | 80 / 0 | 156 | Измерено |
| History, шаг 2 | 160 / 0 | 236 | Расчёт при той же обработке |
| History, шаг 4 | 320 / 0 | 396 | Расчёт при той же обработке |
| Future-Warmup, шаг 1 | 80 / 80 | 236 | Расчёт при той же обработке |
Как это читать: 80 мс — алгоритмическое ожидание, а не вся задержка системы. Увеличение шага до четырёх сокращает число вызовов визуального кодировщика примерно вчетверо, но повышает задержку. Предварительно доступный текст может улучшить семантику, однако время получения такого текста внешней моделью здесь не включено. Именно эти границы измерения важнее общего обещания «незаметной задержки».
Источник. Оригинальное название: LiveFoley: Dynamic Real-Time Video-to-Audio Generation for Immersive Interactive Worlds. arXiv:2611.05988; полный текст PDF.