В условиях, когда видео приобретает в Facebook все большую популярность, гигант социальных сетей решил провести серию технологических обновлений, связанных с демонстрацией панорамного видео с обзором на 360°, виртуальной реальности и потоковых трансляций.
Улучшения, анонсированные на конференции Video@Scale, которая проходила в офисах Facebook в Менло-Парк, выполнялись непосредственно командой Facebook, но любой желающий может получить на GitHub доступ к коду, осуществляющему панорамные преобразования.
Рост объемов и масштабов видео потребовал переработки всего стека инструментов, начиная от создания новой инфраструктуры, позволяющей справляться с увеличением нагрузки, и заканчивая совершенствованием технологий кодирования с целью оптимизации потоков и машинного обучения для лучшего понимания видеоконтента.
«И панорамное видео, и виртуальная реальность формируют иммерсивную среду, создающую ощущение присутствия, погружения и близости, – отметил сотрудник Facebook Евгений Кузяков. – Вполне естественно, что с появлением такого богатства и многообразия перед нами возник целый ряд новых, еще более сложных задач. Размеры файлов оказываются настолько велики, что это становится серьезным препятствием для доставки качественного панорамного видео и контента виртуальной реальности».
Чтобы преодолеть все эти трудности, в Facebook решили оптимизировать кодирование панорамного видео и виртуальной реальности, перейдя от схем с равными прямоугольниками к кубическому формату, позволяющему уменьшить размер файла. Панорамное видео для виртуальной реальности порождает файлы еще больших размеров и заставляет управлять потоками, не дожидаясь буферизации. Выяснилось, что при кодировании панорамного видео с пирамидальной геометрией размеры файла уменьшаются на 80%, а адаптация потокового битрейта с учетом условий просмотра помогает оптимизировать восприятие виртуальной реальности. Панорамное видео в Facebook представили в сентябре прошлого года.
Для улучшения потокового видео в Facebook предложили технологию, позволяющую кодировать панорамное видео высокой четкости и осуществлять его потоковую трансляцию, не прибегая к буферизации. Компания разработала движок потокового видео (streaming video engine, SVE) для перекодирования и переноса видеотрафика со своей старой системы. Вместо того чтобы манипулировать единым файлом, SVE разбивает видео на сегменты, добиваясь уменьшения задержки за счет параллельной их обработки.
С внедрением этой технологии компании удалось увеличить количество ежедневных просмотров видео с 1 млрд до 8 млрд без прерываний в работе сервиса. SVE обеспечивает десятикратное сокращение временного промежутка между началом загрузки видео и его воспроизведением и теперь обслуживает все новые видео Facebook и видео сервиса Facebook Messenger.
Тем временем команда Facebook Vision Understanding продолжает изучать возможности понимания видео с использованием неконтролируемых обучающих моделей. Вместо снабжения пометками объектов, сцен и действий помечаются отдельные вокселы. Работая с немаркированными данными, исследователи представили архитектуру искусственного интеллекта, способную автоматически распознавать, что происходит на видео, и прогнозировать, что случится дальше.