20.09.2024
Подписывайтесь на Telegram-канал по ссылке

Создана модель VR-приложения, которая точно оценивает необходимую величину пропускной способности сети

How to Model Cloud VR

Приложения виртуальной реальности требуют значительных вычислительных ресурсов и большой пропускной способности сети, поскольку для отображения высококачественной графики в реальном времени необходима высокая частота кадров: обычно 90–120 кадров в секунду (для сравнения: в кино всего 24 кадра в секунду). Нужна также быстрая передача данных о действиях пользователей и состоянии объектов. Кроме того, важно минимизировать задержку, так как она вызывает дискомфорт у пользователей, особенно в многопользовательских сценариях. Облачные VR-приложения, которые обеспечивают доступ к виртуальным мирам через интернет, позволяют использовать VR на менее мощных устройствах. Однако их работа зависит от качества интернет-соединения — оно должно быть стабильным и быстрым, это критически важно.

Существующие модели VR-приложений неточно оценивают необходимую пропускную способность сети для надёжной передачи данных, из-за чего возникают задержки в видео, которые негативно сказываются на его качестве. Учёные из России предложили новую модель VR-приложения, которая точно оценивает необходимую величину пропускной способности сети для надёжной передачи данных. Авторы через Wi-Fi подключили VR-гарнитуру к компьютеру, который имитировал работу облачного VR-сервера. Затем через предустановленное на гарнитуре приложение они открывали игры. Результаты исследования опубликованы в журнале IEEE Open Journal of the Communications Society.

Учёные отследили потоки данных, предаваемых между гарнитурой и компьютером, и выяснили, что их можно разделить на два вида: с управляющей информацией (положение головы и пультов-контроллеров) и с мультимедийными данными (видеопотоки и звуковые потоки). Затем исследователи проанализировали, равномерно ли передаются эти данные. Оказалось, что видеопотоки передаются парами, по одному для каждого глаза, и закодированы с помощью современного алгоритма кодирования HEVC. При этом для экономии трафика гарнитура передавала лишь ту часть VR-изображения, которая была видима пользователю. Авторы изучили размеры видеопотоков и интервалы времени между их отправкой и обнаружили, что эти интервалы довольно нестабильны и варьируются в пределах тысячных долей секунды, что заметно при частоте 90 кадров в секунду.

Исследователи предложили новую модель для работы VR-приложения, которая состоит из клиента и сервера. Клиент — это устройство, с помощью которого пользователь отправляет серверу запрос или команду. Сервер передаёт видеокадры, объём и время между отправкой которых регулирует клиент. Полученные видеокадры клиент помещает в «буфер» — область для хранения данных — и проигрывает с заданной одинаковой частотой. Периодически он отправляет на сервер «обратные» пакеты данных с информацией о положении пользователя. Получив их, сервер создаёт новый видеокадр. Модель также предусматривает, что передаются два видеопотока — по одному на каждый глаз, а также то, что между пакетами разных видеопотоков есть случайный сдвиг по времени.

Разработанная модель позволяет автоматически изменять степень детализации картинки, «включать» и «отключать» разные подробности моделирования. Например, можно сделать так, чтобы видеопоток был один, а не два, или чтобы кадры генерировались через одинаковые промежутки времени, а не через случайную задержку. Учёные сравнили получившуюся модель с широко используемой в современных VR-приложениях. Оказалось, что старая модель очень многим пренебрегает, например не учитывает, что VR-видеопоток состоит из двух параллельных видеопотоков. Она также рассматривает размеры кадров как случайные величины, имеющие заданные распределения, тогда как новая модель генерирует размеры кадров из заданного реального видеопотока. Из-за этого старая модель значительно недооценивает, какую пропускную способность сети необходимо иметь для того, чтобы обеспечить надёжную доставку VR-трафика. Там, где новая модель сообщает, что нужна скорость передачи не менее 110 мегабит в секунду, старая считает, что достаточно 85. Качество картинки из-за этого падает.