Американские разработчики создали алгоритм для устройств виртуальной реальности, позволяющий значительно экономить трафик и улучшать качество 360-градусных видео. Алгоритм предсказывает повороты головы пользователя и скачивает только те части видео, которые будут находиться в поле зрения, рассказывают разработчики в статье, представленной на конференции MobiCom 2018.
Одно из преимуществ шлемов виртуальной реальности перед обычными мониторами при просмотре видео заключается в том, что при повороте головы пользователь видит на экране измененное изображение, благодаря чему у него появляется чувство погружения в мир на экране. При этом разрешение таких роликов обычно в четыре раза больше обычных, а минимальной комфортной скоростью обновления для VR-устройств считается 60 кадров в секунду. Из-за этого многие беспроводные сети текущего поколения не могут обеспечить потоковую передачу VR-видео высокого качества в реальном времени.
В качестве решения этой проблемы разработчики предлагали передавать не все изображение, а лишь его часть, находящуюся в кадре, но пока такие алгоритмы обладают заметными недостатками. К примеру, они могут рассчитывать поле зрения для одного кадра, но при резком повороте пользователь увидит вместо нужного изображения пустую область. Разработчики из Индианского университета в Блумингтоне и AT&T Labs под руководством Виджая Гопалакришнана (Vijay Gopalakrishnan) создали более надежный алгоритм, который предсказывает возможные траектории движения головы пользователя и скачивает части будущих кадров, которые будут их покрывать.
Разработчики реализовали прототип системы в виде Android-приложения для работы со смартфоном, вставляемым в VR-шлем. Приложение отслеживает повороты головы вокруг трех осей и после этого предсказывает траекторию движения на секунду вперед с помощью линейной регрессии и на более долгий срок с помощью метода регуляризации Тихонова. После расчета траектории алгоритм вычисляет поле зрения, которое будет реально задействовано в ближайшие моменты, причем делает это с небольшим превышением на случай ошибочного прогноза. После этого алгоритм формирует запрос к серверу, в котором содержатся нужные области видео (из сетки размером 4 × 6), а также качество, рассчитанное исходя из количества нужных областей и скорости работы сети.
Авторы обучили алгоритм на данных, собранных во время просмотра 130 добровольцами десяти 360-градусных роликов с YouTube продолжительностью в несколько минут. Во время тестирования на реальных сетях стандарта LTE алгоритм уменьшил необходимую пропускную способность канала на 35 процентов, а также увеличил качество изображения на 22 процента.
В сфере виртуальной реальности есть множество других технологических препятствий, мешающих распространению VR-устройств. Например, одна из них заключается в том, что пользователь может видеть перед собой бесконечный виртуальный мир, но на самом деле, как правило, при этом он находится в сильно ограниченной по размеру комнате. Классическое решение этой проблемы заключается в том, что шлем отслеживает положение стен и предупреждает пользователя, но недавно американские исследователи предложили необычный метод, позволяющий человеку практически бесконечно ходить по комнате, не замечая стен. Они научились отслеживать резкие непроизвольные движения глаз (саккады) и в этот момент немного поворачивать изображение, заставляя человека двигаться в нужном направлении в реальном мире. Благодаря этому человек рефлекторно меняет направление ходьбы, но при этом не замечает искажений изображения.
Григорий Копиев