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