VR-приложения требуют значительных вычислительных ресурсов и большой пропускной способности сети, поскольку для отображения высококачественной графики в реальном времени необходима высокая частота кадров: обычно 90–120 кадров в секунду (для сравнения: в кино всего 24 кадра в секунду). Нужна также быстрая передача данных о действиях пользователей и состоянии объектов. Кроме того, важно минимизировать задержку, так как она вызывает дискомфорт у пользователей, особенно в многопользовательских сценариях. Облачные VR-приложения, которые обеспечивают доступ к виртуальным мирам через интернет, позволяют использовать VR на менее мощных устройствах. Однако их работа зависит от качества интернет-соединения — оно должно быть стабильным и быстрым, это критически важно. Существующие модели VR-приложений неточно оценивают необходимую пропускную способность сети для надежной передачи данных, из-за чего возникают задержки в видео, которые негативно сказываются на его качестве.
Ученые из Института проблем передачи информации им. А. А. Харкевича РАН (Москва) исследовали трафик облачных VR-приложений на популярной VR-гарнитуре Pico Neo 2 и предложили новую модель VR-приложения, которая точно оценивает необходимую пропускную способность сети для надежной передачи данных.
Авторы через Wi-Fi подключили VR-гарнитуру к компьютеру, который имитировал работу облачного VR-сервера. Затем через предустановленное на гарнитуре приложение Pico Streaming Assistant открывали игры, в частности игру The Lab.
Графическое резюме исследования. Источник: Дмитрий Банков.
Исследователи отследили потоки данных, предаваемых между гарнитурой и компьютером, и выяснили, что их можно разделить на два вида: с управляющей информацией (положение головы и пультов-контроллеров) и с мультимедийными данными (видеопотоки и звуковые потоки). Затем ученые проанализировали, равномерно ли передаются эти данные. Оказалось, что видеопотоки передаются парами, по одному для каждого глаза, и закодированы с помощью современного алгоритма кодирования HEVC. При этом для экономии трафика гарнитура передавала лишь ту часть VR-изображения, которая была видима пользователю. Авторы изучили размеры видеопотоков и интервалы времени между их отправкой и обнаружили, что эти интервалы довольно нестабильны и варьируются в пределах тысячных долей секунды, что заметно при частоте 90 кадров в секунду.
Исследователи предложили новую модель для работы VR-приложения, которая состоит из клиента и сервера. Клиент — это устройство, с помощью которого пользователь отправляет серверу запрос или команду. Сервер передает видеокадры, объем и время между отправкой которых регулирует клиент. Полученные видеокадры клиент помещает в «буфер» — область для хранения данных — и проигрывает с заданной одинаковой частотой. Периодически он отправляет на сервер «обратные» пакеты данных с информацией о положении пользователя. Получив их, сервер создает новый видеокадр. Модель также предусматривает, что передаются два видеопотока — по одному на каждый глаз, а также то, что между пакетами разных видеопотоков есть случайный сдвиг по времени.
Разработанная модель позволяет автоматически изменять степень детализации картинки, «включать» и «отключать» разные подробности моделирования. Например, можно сделать так, чтобы видеопоток был один, а не два, или чтобы кадры генерировались через одинаковые промежутки времени, а не через случайную задержку. Ученые сравнили получившуюся модель с широко используемой в современных VR-приложениях. Оказалось, что старая модель очень многим пренебрегает, например не учитывает, что VR-видеопоток состоит из двух параллельных видеопотоков. Она также рассматривает размеры кадров как случайные величины, имеющие заданные распределения, тогда как новая модель генерирует размеры кадров из заданного реального видеопотока. Из-за этого старая модель значительно недооценивает, какую пропускную способность сети необходимо иметь для того, чтобы обеспечить надежную доставку VR-трафика. Там, где новая модель сообщает, что нужна скорость передачи не менее 110 мегабит в секунду, старая считает, что достаточно 85. Качество картинки из-за этого падает.
«Мы определили, каким образом необходимо выбирать параметры кодирования видеопотоков VR и параметры их воспроизведения на VR-гарнитурах. Полученные результаты позволят улучшить качество VR-изображения, передаваемого в беспроводной сети, а также увеличить число пользователей VR-приложений, которых можно одновременно обслуживать в одной сети», — рассказывает руководитель проекта, Дмитрий Банков, кандидат технических наук, исполняющий обязанности старшего научного сотрудника лаборатории «Методы анализа и синтеза сетевых протоколов» Института проблем передачи информации им. А. А. Харкевича РАН.Если вы хотите стать героем публикации и рассказать о своем исследовании, заполните форму на сайте РНФ