Алгоритм применения избыточности данных для платформы облачных игр Loudplay Российский патент 2022 года по МПК G06F17/14 H04N21/20 A63F13/355 

Описание патента на изобретение RU2785897C1

Заявленная группа изобретений относится к области компьютерной техники и сетевых технологий, в частности к обработке задач в облачном сервисе.

В настоящее время большое количество людей сталкиваются с проблемой низкой производительности персонального компьютера при запуске новых компьютерных игр или ресурсоемких графических приложений, например для дизайна/CAD систем. Стоимость современного мощного компьютера составляет около 1000-1500$, и на многих развивающихся рынках является предметом роскоши. Апгрейд компьютера технически не всегда возможен и требует специальных знаний и наличия свободного времени.

Практически во всех сферах потребительской электроники борьба за производительность аппаратного обеспечения заканчивается. Это уже случилось в игровых приставках, происходит в смартфонах и в домашних компьютерах. Развитие сетей передачи данных ведет к смене модели потребления (от покупки локальной мощности на подписку на облачные ресурсы). Например, доступность передачи данных привела к активному развитию и удешевлению сервисов облачного хранения данных. Уже сейчас для потребителей не так важен большой внутренний объем памяти смартфона, так как есть облачные хранилища, куда можно загрузить свои видеозаписи и фотографии.

Главная аппаратная проблема пользовательских устройств на сегодняшний день - это работа с графическими вычислениями. Раньше переносу этого процесса в облако мешали ограничения в сети передачи данных. Сегодня эти проблемы решены в фиксированных широкополосных сетях передачи данных и мобильных сетях 5G.

Также происходит регулярная модернизация серверных графических карт, происходит активное развитие технологий виртуализации графических процессоров, разработка и внедрение новых алгоритмов передачи видеопотока, основанных на применении избыточности данных. В сравнении со стандартными протоколами, основанными на перезапросе потерянных данных применение избыточности, существенно повышает качество, плавность и стабильность видеопотока на сетях передачи данных с высокими потерями, например на сетях WIFI.

В настоящее время известны различные способы и системы для реализации компьютерных игр для компьютеров различной мощности. Наиболее близким аналогам является сервис GeForce Now (см. https://gfii.ru/). Недостатком которого являются низакая стабильность подключения на плохих сетях, а также ограничения по количеству поддерживаемых игр и приложений.

Задачей представленной группы изобретений является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники с достижением технического результата в виде обеспечения возможности одновременного повышения плавности изображения и снижения времени задержки обработки графического изображения до 30%.

Для достижения вышеуказанного технического результата заявлена группа изобретений, включающая:

платформу виртуализации и стриминга приложений и компьютерных игр, включающую:

по меньшей мере один сервер, на котором запускается компьютерная игра или приложение, принимающий управляющие команды, относящиеся к игре или приложению, передаваемые от клиента, управляемого пользователем, и в ответ выполняющий программный код игры для визуализации последовательности видеоизображений в результате выполнения игры или приложения, при этом происходит непрерывная передача видеопотока в режиме реального времени в клиентское устройство,

при этом приложение или игра запускаются на сервере в среде виртуализации, которая позволяет разделить друг от друга пользовательские приложения и игры, исключив их взаимовлияние, кроме того, каждому пользователю среда виртуализации выделяет отдельный виртуальный компьютер, на котором пользователь работает с приложением или играет в игру, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере,

по меньшей мере один клиент, выполненный для по меньшей мере одного пользовательского устройства, представляющий собой приложение, которое принимает видеопоток, передающийся от сервера в режиме реального времени, декодирует его и отображает пользователю,

при этом клиент принимает управляющие команды от устройства ввода и передает их на сервер,

при этом клиент выполняет функции предварительного анализа состояния канала передачи данных от сервера до клиента и предварительного анализа мощности пользовательского компьютера для выдачи рекомендаций пользователю или автоматической настройки параметров видеопотока и параметров пользовательского устройства,

при этом после проведения анализа мощности пользовательского устройства и состояния канала передачи данных от клиента до сервера, генерируется оповещение пользователя о соответствии или предупреждение о несоответствии мощности пользовательского устройства или состояния канала передачи данных от клиента до сервера минимальным требованиям по качеству,

обеспечивающему игровой процесс или процесс работы с приложением, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере и выводятся рекомендации по настройке пользовательского видеопотока, пользовательского устройства для повышения качества игрового процесса или работы с приложением или производится автоматическая настройка параметров видеопотока и параметров пользовательского устройства для достижения лучшего качества игрового процесса или работы с приложением,

при этом при передаче данных видеопотока от сервера до клиента происходит упреждающая коррекция ошибок путем добавления к передаваемой информации такие дополнительные служебные данные, которые позволяют исправить ошибки без дополнительного запроса. Практическое применение показало, что добавление избыточности позволяет исправлять многократные пакеты ошибок.

На серверной стороне при кодировании данных видеопотока к блоку из m-символов прибавляется 2р проверочных символов. При вычислении каждого проверочного символа используются все m символов исходного блока, поэтому для ускорения процесса декодирования полученных данных на клиенте применяются преобразования Фурье.

Для обеспечения высокого качества стриминга на сетях с потерями применяется алгоритм изменения уровня избыточности, зависящий от длительности сессии, типа кадра, типа подключения и текущего состояния канала: запуск стриминг-сессии производится с параметром битрейта видеопотока, равном 10 Мбит/с. В течение первых 30 секунд сессии добавляется 100% избыточности, необходимые для стабилизации канала передачи данных. По истечению 30 секунд уровень избыточности в видеопотоке снижается до 20%, за исключением IDR-frame, избыточность на котором всегда остается на уровне 100%. Далее в зависимости от типа подключения клиента к сети передачи данных уровень избыточности зависит следующим образом:

1. Если уровень сигнала Wifi меньше 80% то к видеопотоку добавляется дополнительно 20% избыточности;

2. Если тип сигнала Wifi с частотой 2,4 ГТЦ, то к видеопотоку добавляется дополнительно 20% избыточности;

Далее в зависимости от показаний текущих потерь на канале (loss-rate) передачи данных происходит изменение значения избыточности:

1. При значении loss-rate = 1…3% к видеопотоку добавляется 20% избыточности;

2. При значении loss-rate = 4…5% к видеопотоку добавляется 40% избыточности;

3. При значении loss-rate = 6…10% к видеопотоку добавляется 60% избыточности;

4. При значении loss-rate = 11…20% к видеопотоку добавляется 100% избыточности;

5. При значении loss-rate = 21…30% к видеопотоку добавляется 150% избыточности;

6. При значении loss-rate = 31% и выше к видеопотоку добавляется 200% избыточности;

Также заявленная группа изобретений включает машинореализуемый способ виртуализации и стриминга приложений и компьютерных игр, содержащий этапы:

- по меньшей мере один пользователь запускает на своем пользовательском устройстве клиентское приложение, клиентское приложение отображает изображение, которое производится на сервере виртуализации, клиентское приложение проводит предварительный анализ состояния канала передачи данных от клиента до сервера, анализа мощности пользовательского компьютера для выдачи рекомендаций пользователю или автоматической настройки параметров видеопотока и параметров пользовательского устройства, при проведении анализа мощности пользовательского устройства и состояния канала передача данных от клиента до сервера, генерируется оповещение пользователя о соответствии или предупреждение о несоответствии мощности пользовательского устройства или состояния канала передачи данных от клиента до сервера минимальным требованиям по качеству, обеспечивающему игровой процесс или процесс работы с приложением, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере и выводятся рекомендации по настройке видеопотока пользовательского видеопотока, пользовательского устройства для повышения качества игрового процесса или работы с приложением или производится автоматическая настройка параметров видеопотока и параметров пользовательского устройства для достижения лучшего качества игрового процесса или работы с приложением, далее пользователь посредством ввода управляющих команд осуществляет управление компьютерной игрой или приложением, при этом команды от клиентского приложения до сервера передаются через канал передачи данных,

- по меньшей мере один сервер, на котором запускается компьютерная игра или приложение, принимает управляющие команды, относящиеся к игре или приложению, передаваемые от клиента, управляемого пользователем, и в ответ выполняет программный код игры для визуализации последовательности видеоизображений в результате выполнения игры или приложения, причем непрерывная передача видеопотока в режиме реального времени в клиентское устройство,

при этом приложение или игра запускается на сервере в среде виртуализации, которая позволяет разделить друг от друга пользовательские приложения и игры, исключив их взаимовлияние, кроме того каждому пользователю среда виртуализации выделяет отдельный виртуальный компьютер, на котором пользователь работает с приложением или играет в игру, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере,

причем прием, декодирование и отображение видеопотока для пользователя производится на клиентском приложении;

при этом при передаче данных видеопотока от сервера до клиента происходит упреждающая коррекция ошибок путем добавления к передаваемой информации такие дополнительные служебные данные, которые позволяют исправить ошибки без дополнительного запроса, причем

на серверной стороне при кодировании данных видеопотока к блоку из m-символов прибавляется 2р проверочных символов, при вычислении каждого проверочного символа используются все m символов исходного блока, поэтому для ускорения процесса декодирования полученных данных на клиенте применяются преобразования Фурье,

при этом применяется алгоритм изменения уровня избыточности, зависящий от длительности сессии, типа кадра, типа подключения и текущего состояния канала: запуск стриминг-сессии производится с параметром битрейта видеопотока, равном 10 Мбит/с, в течение первых 30 секунд сессии добавляется 100% избыточности, необходимые для стабилизации канала передачи данных, по истечению 30 секунд уровень избыточности в видеопотоке снижается до 20%, за исключением IDR-frame, избыточность на котором всегда остается на уровне 100%, далее в зависимости от типа подключения клиента к сети передачи данных уровень избыточности зависит следующим образом:

- Если уровень сигнала Wifi меньше 80% то к видеопотоку добавляется дополнительно 20% избыточности;

- Если тип сигнала Wifi с частотой 2,4 ГГЦ, то к видеопотоку добавляется дополнительно 20% избыточности;

далее в зависимости от показаний текущих потерь на канале (loss-rate) передачи данных происходит изменение значения избыточности:

- При значении loss-rate = 1…3% к видеопотоку добавляется 20% избыточности;

- При значении loss-rate = 4…5% к видеопотоку добавляется 40% избыточности;

- При значении loss-rate = 6…10% к видеопотоку добавляется 60% избыточности;

- При значении loss-rate = 11…20% к видеопотоку добавляется 100% избыточности;

- При значении loss-rate = 21…30% к видеопотоку добавляется 150% избыточности;

- При значении loss-rate = 31% и выше к видеопотоку добавляется 200% избыточности.

При этом пользовательское устройство представляет собой телефон, планшет, пк, телевизионную приставку с различными операционными системами. При этом устройство ввода представляет собой клавиатуру, мышку, игровые джойстики, манипуляторы, сенсорный экран. При этом захват и кодирование изображения видеоигры или приложения в транспортный видеопоток Н.264 или Н.265 производится с использованием графической карты, установленной в сервере, захват производится в памяти графической карты, кодирование производится с использованием чипа графической карты, функционалом которого является захват и упаковка изображения в транспортный видеопоток h.264 и h.265. При этом канал передачи данных от сервера к клиенту использует технологию мобильной передачи данных 4G или 5G. При этом запрос ключевого кадра (I-frame) в транспортном видеопотоке h.246 и h.265 клиентом на сервере производится только при первоначальном подключении или при возникновении больших потерь на канале передачи данных (40-60%). При этом по меньшей мере один сервер, на котором запускается компьютерная игра или приложение, принимающий управляющие команды, относящиеся к игре или приложению, передаваемые от клиента, управляемого пользователем, и в ответ выполняющий программный код игры для визуализации последовательности видеоизображений в результате выполнения игры или приложения, при этом приложение или игра запускаются на сервере в среде виртуализации, которая позволяет разделить друг от друга пользовательские приложения и игры, исключив их взаимовлияние, кроме того, каждому пользователю среда виртуализации выделяет отдельный виртуальный компьютер, на котором пользователь работает с приложением или играет в игру, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере, при этом по меньшей мере один сервер использован в архитектуре multi-access edge computing, при этом в архитектуре multi-access edge computing (МЕС) два или более серверов могут быть объединены с использованием системы software-defined storage (sds). При этом запускаемые приложения представляют собой ресурсоемкие приложения. При этом изменение параметров видеопотока (bitrate, fps и разрешение экрана) выполняются на основе прогноза нейросети, причем обучение нейросети производится на основе собираемых данных пользовательских сессий (производительность сервера, производительность сети передачи данных, производительность пользовательского устройства, тип игры) и субъективной оценки качества игрового процесса.

Заявленная платформа виртуализации и стриминга приложений и компьютерных игр отвечает следующим требованиям:

- регистрация новых пользователей, авторизация существующих пользователей;

- проверка соединения с несколькими игровыми серверами и выбор ближайшего игрового сервера;

- реализация демо-режима (доступ абонентов к игровой демо-сессии с ограничением по времени без предварительной оплаты);

- возможность выбора различных конфигураций сервера и выбора соответствующего тарифа. Оплата аренды облачного сервера.

- проверка качества соединения пользователя на всем интервале игровой сессии и, в случае минимально допустимого значения, уведомления об этом пользователя;

- поддержка функции адаптивного изменения параметров видеопотока, меняющего параметры видеопотока - битрейт (bitrate) и частоту кадров (FPS) трансляции в зависимости от возможностей интернет-подключения пользователя;

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

- поддержка статистики и анализа времени, проведенного пользователям в различных приложениях и играх;

- возможность гибкой модификации пользовательского интерфейса;

- обеспечение защиты от перехвата команд с пользовательского устройства;

- хранение данных пользователя (приложения, файлы, игры);

- обеспечение круглосуточного мониторинга технического состояния компонентов платформы;

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

- функционирование системы в режиме 24x7 и доступности не менее 99.97%.

На фиг. 1 под следующими обозначениями представлено описание модулей платформы:

поз. 1 - Серверная часть платформы;

поз. 2 - Система виртуализации серверной части платформы;

поз. 3 - Гостевая операционная система/виртуальная машина;

поз. 4 - Дисковое пространство для хранения данных гостевой операционной системы;

поз. 5 - Модуль, отвечающий за сбор и агрегацию статистических данных по работе платформы и продукта, а также отвечающий за мониторинг работоспособности технической части платформы и бизнес показателей продукта;

поз. 6 - Модуль биллинга и управления виртуальной инфраструктурой. Хранилище профилей клиентов и аутентификационных данных;

поз. 7 - Игровая витрина сервиса. Содержит описание сервиса для пользователей и вход в личный кабинет;

поз. 8 - Модуль, отвечающий за прием платежей от пользователей;

поз. 9 - Модуль, обеспечивающий разделение инфраструктуры от сети интернет;

поз. 10 - Игра или приложение, запущенное на гостевой виртуальной машине;

поз. 11 - Модуль захвата, энкодирования и стриминга изображения;

поз. 12 - Модуль перехвата сигналов управления, передающихся от клиентской части платформы;

поз. 13 - Клиентская часть платформы;

поз. 14 - Пользовательское устройство (ПК, планшет, смартфон, телевизионная приставка);

поз. 15 - Программное обеспечение, установленное на пользовательском устройстве, обеспечивающее авторизацию и аутентификацию клиента;

поз. 16 - Программное обеспечение, установленное на пользовательском устройстве, обеспечивающее прием видеопотока со стороны платформы, а также передачу сигналов управления на серверную часть;

поз. 17 - Регистрация и авторизация пользователей;

поз. 18 - Проверка параметров канала передачи данных;

поз. 19 - Передача видеопотока;

поз. 20 - Передача сигналов управления.

На фиг. 2 показана схема восстановления данных.

На фиг. 3 показана структура данных.

Используемая терминология.

Стриминг (англ. streaming) - передача изображения через сеть передачи данных. Виртуализация - предоставление набора вычислительных ресурсов или их логического объединения, абстрагированное от аппаратной реализации, и обеспечивающее при этом логическую изоляцию друг от друга вычислительных процессов, выполняемых на одном физическом ресурсе.

Примером использования виртуализации является возможность запуска нескольких операционных систем на одном компьютере: при том каждый из экземпляров таких гостевых операционных систем работает со своим набором логических ресурсов (процессорных, оперативной памяти, устройств хранения), предоставлением которых из общего пула, доступного на уровне оборудования, управляет хостовая операционная система - гипервизор. Также могут быть подвергнуты виртуализации сети передачи данных, сети хранения данных. Битрейт (от англ. bitrate) - количество бит, используемых для передачи/обработки данных в единицу времени. Битрейт принято использовать при измерении эффективной скорости передачи потока данных по каналу, то есть минимального размера канала, который сможет пропустить этот поток без задержек.

Похожие патенты RU2785897C1

название год авторы номер документа
Алгоритм согласования видеопотока для платформы облачных игр Loudplay 2020
  • Панферов Сергей Алексеевич
  • Стародубов Виталий Юрьевич
  • Магафуров Игорь Геннадьевич
RU2758985C1
АВТОМАТИЧЕСКОЕ СОЗДАНИЕ ПРЕДЛАГАЕМЫХ МИНИ-ИГР ДЛЯ ОБЛАЧНОЙ ИГРЫ НА ОСНОВЕ ЗАПИСАННОГО ИГРОВОГО ПРОЦЕССА 2013
  • Суба Миура Виктор Октав
  • Перри Дэвид
  • Диас Филиппе
  • Йонг Кельвин
  • Гэри Натан
RU2605840C2
МЕХАНИЗМЫ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ НА ОСНОВЕ КАМЕРЫ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ УСТАНОВЛЕННЫХ НА ГОЛОВЕ ДИСПЛЕЕВ 2014
  • Стэффорд Джеффри Роджер
RU2661857C2
СПОСОБ И СИСТЕМА ОТОБРАЖЕНИЯ КУРСОРА ПРИ ТРАНСЛЯЦИИ ВИДЕОПОТОКА 2020
  • Владыкин Максим Алексеевич
  • Кириленко Григорий Анатольевич
RU2733488C1
СИСТЕМА И СПОСОБ СЖАТИЯ МУЛЬТИПОТОКОВОГО ВИДЕО 2010
  • Перлман Стефен Г.
  • Ван Дер Лан Роджер
  • Коттер Тимоти
  • Ферман Скотт
  • Маккул Роберт
  • Бакли Ян
RU2528152C2
СЕРВЕР И СПОСОБ ДЛЯ ОСУЩЕСТВЛЕНИЯ КОМПЬЮТЕРНЫХ КОММУНИКАЦИЙ ДЛЯ АВТОМАТИЧЕСКОГО ВЫПОЛНЕНИЯ И УПРАВЛЕНИЯ СРАВНЕНИЕМ 2006
  • Лиалиамоу Элени
  • Анаплиотис Мариос
  • Пачнис Спиридон
RU2439836C2
СИСТЕМА И СПОСОБ УСКОРЕННОГО ПЕРЕКЛЮЧЕНИЯ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ 2010
  • Бакли Ян
  • Маккул Роберт
  • Ферман Скотт
  • Коттер Тимоти
  • Ван Дер Лан Роджер
  • Перлман Стефен Г.
RU2524850C2
СПОСОБ И СИСТЕМА ОЦЕНКИ ПРОПУСКНОЙ СПОСОБНОСТИ СЕТИ ПРИ ТРАНСЛИРОВАНИИ ВИДЕОСИГНАЛА 2020
  • Черников Кирилл Викторович
  • Соловьев Александр Сергеевич
  • Варанкин Иван Владимирович
RU2732786C1
СПОСОБ И УСТРОЙСТВО ВРЕМЕННОГО ДЕКОДЕРА 2010
  • Перлман Стефен Г.
  • Ван Дер Лан Роджер
  • Коттер Тимоти
  • Ферман Скотт
  • Маккул Роберт
  • Бакли Ян
RU2525441C2
СИСТЕМА И СПОСОБ СЖАТИЯ МУЛЬТИТИПОТОКОВОГО ВИДЕО С ИСПОЛЬЗОВАНИЕМ МНОЖЕСТВА ФОРМАТОВ КОДИРОВАНИЯ 2010
  • Перлман Стефен Г.
  • Ван Дер Лан Роджер
  • Коттер Тимоти
  • Ферман Скотт
  • Маккул Роберт
  • Бакли Ян
RU2524845C2

Иллюстрации к изобретению RU 2 785 897 C1

Реферат патента 2022 года Алгоритм применения избыточности данных для платформы облачных игр Loudplay

Изобретение относится к области вычислительной техники и сетевых технологий. Технический результат заключается в обеспечении возможности одновременного повышения плавности изображения и снижения времени задержки обработки графического изображения до 30%. Технический результат достигается за счет того, что при передаче данных видеопотока от сервера до клиента происходит упреждающая коррекция ошибок путем добавления к передаваемой информации таких дополнительных служебных данных, которые позволяют исправить ошибки без дополнительного запроса, причем на серверной стороне при кодировании данных видеопотока к блоку из m-символов прибавляется 2р проверочных символов, при вычислении каждого проверочного символа используются все m символов исходного блока, поэтому для ускорения процесса декодирования полученных данных на клиенте применяются преобразования Фурье, при этом применяется алгоритм изменения уровня избыточности, зависящий от длительности сессии, типа кадра, типа подключения и текущего состояния канала: запуск стриминг-сессии производится с параметром битрейта видеопотока, равным 10 Мбит/с, в течение первых 30 с сессии добавляется 100% избыточности, необходимые для стабилизации канала передачи данных, по истечении 30 с уровень избыточности в видеопотоке снижается до 20%, за исключением IDR-frame, избыточность на котором всегда остается на уровне 100%. 2 н. и 13 з.п. ф-лы, 3 ил.

Формула изобретения RU 2 785 897 C1

1. Платформа виртуализации и стриминга приложений и компьютерных игр, включающая по меньшей мере один сервер, на котором запускается компьютерная игра или приложение, принимающий управляющие команды, относящиеся к игре или приложению, передаваемые от клиента, управляемого пользователем, и в ответ выполняющий программный код игры для визуализации последовательности видеоизображений в результате выполнения игры или приложения,

при этом происходит непрерывная передача видеопотока в режиме реального времени в клиентское устройство,

при этом приложение или игра запускаются на сервере в среде виртуализации, которая позволяет разделить друг от друга пользовательские приложения и игры, исключив их взаимовлияние, кроме того, каждому пользователю среда виртуализации выделяет отдельный виртуальный компьютер, на котором пользователь работает с приложением или играет в игру, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере,

по меньшей мере один клиент, выполненный для по меньшей мере одного пользовательского устройства, представляющий собой приложение, которое принимает видеопоток, передающийся от сервера в режиме реального времени, декодирует его и отображает пользователю,

при этом клиент принимает управляющие команды от устройства ввода и передает их на сервер,

при этом клиент выполняет функции предварительного анализа состояния канала передачи данных от сервера до клиента и предварительного анализа мощности пользовательского компьютера для выдачи рекомендаций пользователю или автоматической настройки параметров видеопотока и параметров пользовательского устройства,

при этом после проведения анализа мощности пользовательского устройства и состояния канала передачи данных от клиента до сервера генерируется оповещение пользователя о соответствии или предупреждение о несоответствии мощности пользовательского устройства или состояния канала передачи данных от клиента до сервера минимальным требованиям по качеству, обеспечивающему игровой процесс или процесс работы с приложением, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере, и выводятся рекомендации по настройке пользовательского видеопотока, пользовательского устройства для повышения качества игрового процесса или работы с приложением или производится автоматическая настройка параметров видеопотока и параметров пользовательского устройства для достижения лучшего качества игрового процесса или работы с приложением,

при этом при передаче данных видеопотока от сервера до клиента происходит упреждающая коррекция ошибок путем добавления к передаваемой информации таких дополнительных служебных данных, которые позволяют исправить ошибки без дополнительного запроса, причем

на серверной стороне при кодировании данных видеопотока к блоку из m-символов прибавляется 2р проверочных символов, при вычислении каждого проверочного символа используются все m символов исходного блока, поэтому для ускорения процесса декодирования полученных данных на клиенте применяются преобразования Фурье,

при этом применяется алгоритм изменения уровня избыточности, зависящий от длительности сессии, типа кадра, типа подключения и текущего состояния канала: запуск стриминг-сессии производится с параметром битрейта видеопотока, равным 10 Мбит/с, в течение первых 30 с сессии добавляется 100% избыточности, необходимые для стабилизации канала передачи данных, по истечении 30 с уровень избыточности в видеопотоке снижается до 20%, за исключением IDR-frame, избыточность на котором всегда остается на уровне 100%, далее в зависимости от типа подключения клиента к сети передачи данных уровень избыточности зависит следующим образом:

если уровень сигнала Wi-Fi меньше 80%, то к видеопотоку добавляется дополнительно 20% избыточности;

если тип сигнала Wi-Fi с частотой 2,4 ГТЦ, то к видеопотоку добавляется дополнительно 20% избыточности;

далее в зависимости от показаний текущих потерь на канале (loss-rate) передачи данных происходит изменение значения избыточности:

- при значении loss-rate = 1…3% к видеопотоку добавляется 20% избыточности;

- при значении loss-rate = 4…5% к видеопотоку добавляется 40% избыточности;

- при значении loss-rate = 6…10% к видеопотоку добавляется 60% избыточности;

- при значении loss-rate = 11…20% к видеопотоку добавляется 100% избыточности;

- при значении loss-rate = 21…30% к видеопотоку добавляется 150% избыточности;

- при значении loss-rate = 31% и выше к видеопотоку добавляется 200% избыточности.

2. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1, отличающаяся тем, что пользовательское устройство представляет собой телефон, планшет, ПК, телевизионную приставку с различными операционными системами.

3. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1, отличающаяся тем, что устройство ввода представляет собой клавиатуру, мышку, игровые джойстики, манипуляторы, сенсорный экран.

4. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1, отличающаяся тем, что

- захват и кодирование изображения видеоигры или приложения в транспортный видеопоток Н.264 или Н.265 производится с использованием графической карты, установленной в сервере,

- захват производится из видеопамяти графической карты, кодирование производится с использованием чипа графической карты, функционалом которого является захват и упаковка изображения в транспортный видеопоток h.264 и h.265.

5. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1 или 4, отличающаяся тем, что канал передачи данных от сервера к клиенту использует технологию мобильной передачи данных 4G или 5G.

6. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1 или 4, отличающаяся тем, что запрос ключевого кадра (I-frame) в транспортном видеопотоке h.246 и h.265 клиентом на сервере производится только при первоначальном подключении или при возникновении больших потерь на канале передачи данных (40-60%).

7. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1 или 4, отличающаяся тем, что содержит

по меньшей мере один сервер, на котором запускается компьютерная игра или приложение, принимающий управляющие команды, относящиеся к игре или приложению, передаваемые от клиента, управляемого пользователем, и в ответ выполняющий программный код игры для визуализации последовательности видеоизображений в результате выполнения игры или приложения, при этом приложение или игра запускаются на сервере в среде виртуализации, которая позволяет разделить друг от друга пользовательские приложения и игры, исключив их взаимовлияние, кроме того, каждому пользователю среда виртуализации выделяет отдельный виртуальный компьютер, на котором пользователь работает с приложением или играет в игру, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере,

при этом по меньшей мере один сервер использован в архитектуре multi-access edge computing (МЕС),

при этом в архитектуре multi-access edge computing (МЕС) два или более серверов могут быть объединены с использованием системы software-defined storage (sds).

8. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1, отличающаяся тем, что запускаемые приложения представляют собой ресурсоемкие приложения.

9. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1, отличающаяся тем, что изменение параметров видеопотока (bitrate, fps и разрешение экрана) выполняется на основе прогноза нейросети, причем обучение нейросети производится на основе собираемых данных пользовательских сессий (производительность сервера, параметры сети передачи данных, производительность пользовательского устройства, тип игры) и субъективной оценки качества игрового процесса.

10. Машинореализуемый способ виртуализации и стриминга приложений и компьютерных игр по п. 1, содержащий этапы:

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

клиентское приложение проводит предварительный анализ состояния канала передачи данных от клиента до сервера, анализа мощности пользовательского компьютера для выдачи рекомендаций пользователю или автоматической настройки параметров видеопотока и параметров пользовательского устройства, при проведении анализа мощности пользовательского устройства и состояния канала передача данных от клиента до сервера,

генерируется оповещение пользователя о соответствии или предупреждение о несоответствии мощности пользовательского устройства или состояния канала передачи данных от клиента до сервера минимальным требованиям по качеству, обеспечивающему игровой процесс или процесс работы с приложением, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере, и выводятся рекомендации по настройке видеопотока пользовательского видеопотока, пользовательского устройства для повышения качества игрового процесса или работы с приложением или производится автоматическая настройка параметров видеопотока и параметров пользовательского устройства для достижения лучшего качества игрового процесса или работы с приложением,

далее пользователь посредством ввода управляющих команд осуществляет управление компьютерной игрой или приложением, при этом команды от клиентского приложения до сервера передаются через канал передачи данных,

- по меньшей мере один сервер, на котором запускается компьютерная игра или приложение, принимает управляющие команды, относящиеся к игре или приложению, передаваемые от клиента, управляемого пользователем, и в ответ выполняет программный код игры для визуализации последовательности видеоизображений в результате выполнения игры или приложения, причем непрерывная передача видеопотока в режиме реального времени в клиентское устройство,

при этом приложение или игра запускается на сервере в среде виртуализации, которая позволяет разделить друг от друга пользовательские приложения и игры, исключив их взаимовлияние, кроме того, каждому пользователю среда виртуализации выделяет отдельный виртуальный компьютер, на котором пользователь работает с приложением или играет в игру, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере,

причем прием, декодирование и отображение видеопотока для пользователя производится на клиентском приложении;

при этом при передаче данных видеопотока от сервера до клиента происходит упреждающая коррекция ошибок путем добавления к передаваемой информации таких дополнительных служебных данных, которые позволяют исправить ошибки без дополнительного запроса, причем

на серверной стороне при кодировании данных видеопотока к блоку из m-символов прибавляется 2р проверочных символов, при вычислении каждого проверочного символа используются все m символов исходного блока, поэтому для ускорения процесса декодирования полученных данных на клиенте применяются преобразования Фурье,

при этом применяется алгоритм изменения уровня избыточности, зависящий от длительности сессии, типа кадра, типа подключения и текущего состояния канала: запуск стриминг-сессии производится с параметром битрейта видеопотока, равным 10 Мбит/с, в течение первых 30 с сессии добавляется 100% избыточности, необходимые для стабилизации канала передачи данных, по истечении 30 с уровень избыточности в видеопотоке снижается до 20%, за исключением IDR-frame, избыточность на котором всегда остается на уровне 100%, далее в зависимости от типа подключения клиента к сети передачи данных уровень избыточности зависит следующим образом:

если уровень сигнала Wi-Fi меньше 80%, то к видеопотоку добавляется дополнительно 20% избыточности;

если тип сигнала Wi-Fi с частотой 2,4 ГГЦ, то к видеопотоку добавляется дополнительно 20% избыточности;

далее в зависимости от показаний текущих потерь на канале (loss-rate) передачи данных происходит изменение значения избыточности:

- при значении loss-rate = 1…3% к видеопотоку добавляется 20% избыточности;

- при значении loss-rate = 4…5% к видеопотоку добавляется 40% избыточности;

- при значении loss-rate = 6…10% к видеопотоку добавляется 60% избыточности;

- при значении loss-rate = 11…20% к видеопотоку добавляется 100% избыточности;

- при значении loss-rate = 21…30% к видеопотоку добавляется 150% избыточности;

- при значении loss-rate = 31% и выше к видеопотоку добавляется 200% избыточности.

11. Машинореализуемый способ виртуализации и стриминга приложений и компьютерных игр по п. 9, причем захват и кодирование изображения видеоигры или приложения в транспортный видеопоток Н.264 или Н.265 с использованием графической карты, установленной в сервере.

12. Машинореализуемый способ виртуализации и стриминга приложений и компьютерных игр по п. 9, причем пользовательское устройство представляет собой телефон, планшет, ПК, телевизионные приставки с различными операционными системами.

13. Машинореализуемый способ виртуализации и стриминга приложений и компьютерных игр по п. 9, причем устройство ввода представляет собой клавиатуру, мышку, игровые джойстики, манипуляторы, сенсорный экран.

14. Машинореализуемый способ виртуализации и стриминга приложений и компьютерных игр по п. 9, отличающийся тем, что запускаемые приложения представляют собой ресурсоемкие приложения.

15. Машинореализуемый способ виртуализации и стриминга приложений и компьютерных игр по п. 9, отличающийся тем, что изменение параметров видеопотока (bitrate, fps и разрешение экрана) выполняется на основе прогноза нейросети, причем обучение нейросети производится на основе собираемых данных пользовательских сессий (производительность сервера, параметры сети передачи данных, производительность пользовательского устройства, тип игры) и субъективной оценки качества игрового процесса.

Документы, цитированные в отчете о поиске Патент 2022 года RU2785897C1

Алгоритм согласования видеопотока для платформы облачных игр Loudplay 2020
  • Панферов Сергей Алексеевич
  • Стародубов Виталий Юрьевич
  • Магафуров Игорь Геннадьевич
RU2758985C1
US 20090289945 A1, 26.11.2009
US 20100329358 A1, 30.12.2010
US 20150156474 A1, 04.06.2015
US 20170221174 A1, 03.08.2017.

RU 2 785 897 C1

Авторы

Панферов Сергей Алексеевич

Стародубов Виталий Юрьевич

Магафуров Игорь Геннадьевич

Даты

2022-12-14Публикация

2021-12-28Подача