[go: up one dir, main page]

RU2785897C1 - Data redundancy application algorithm for the loudplay cloud gaming platform - Google Patents

Data redundancy application algorithm for the loudplay cloud gaming platform Download PDF

Info

Publication number
RU2785897C1
RU2785897C1 RU2021139414A RU2021139414A RU2785897C1 RU 2785897 C1 RU2785897 C1 RU 2785897C1 RU 2021139414 A RU2021139414 A RU 2021139414A RU 2021139414 A RU2021139414 A RU 2021139414A RU 2785897 C1 RU2785897 C1 RU 2785897C1
Authority
RU
Russia
Prior art keywords
video stream
game
application
redundancy
user
Prior art date
Application number
RU2021139414A
Other languages
Russian (ru)
Inventor
Сергей Алексеевич Панферов
Виталий Юрьевич Стародубов
Игорь Геннадьевич Магафуров
Original Assignee
Общество с ограниченной ответственностью "ЛП Технологии"
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "ЛП Технологии" filed Critical Общество с ограниченной ответственностью "ЛП Технологии"
Application granted granted Critical
Publication of RU2785897C1 publication Critical patent/RU2785897C1/en

Links

Images

Abstract

FIELD: computing technology.
SUBSTANCE: invention relates to the field of computing technology and network technologies. The technical result is achieved due to the forward error correction during the transmission of video stream data from the server to the client, performed by adding such additional service data to the transmitted information that allows errors to be corrected without an additional request, wherein when video stream data is being encoded, 2p verification characters are added on the server side to the block of m-characters; all m characters of the initial block are used in calculating each verification symbol, therefore, Fourier transforms are applied to accelerate the process of decoding the received data on the client; wherein a redundancy level changing algorithm depending on the duration of session, frame type, connection type, and the current state of the channel is applied; the streaming session is started with a video stream bitrate parameter equal to 10 Mbit/s; 100% redundancy is added during the first 30 seconds of the session, which is necessary to stabilise the data channel; and after 30 seconds, the redundancy level in the video stream is reduced to 20%, excluding the IDR-frame, the redundancy whereof is always maintained at 100%.
EFFECT: possibility of simultaneous increase in the smoothness of the image and up to a 30% reduction in the graphic image processing delay time.
15 cl, 3 dwg

Description

Заявленная группа изобретений относится к области компьютерной техники и сетевых технологий, в частности к обработке задач в облачном сервисе.The claimed group of inventions relates to the field of computer technology and network technologies, in particular to the processing of tasks in a cloud service.

В настоящее время большое количество людей сталкиваются с проблемой низкой производительности персонального компьютера при запуске новых компьютерных игр или ресурсоемких графических приложений, например для дизайна/CAD систем. Стоимость современного мощного компьютера составляет около 1000-1500$, и на многих развивающихся рынках является предметом роскоши. Апгрейд компьютера технически не всегда возможен и требует специальных знаний и наличия свободного времени.Currently, a large number of people are faced with the problem of low personal computer performance when running new computer games or resource-intensive graphic applications, such as design / CAD systems. The cost of a modern powerful computer is about $1000-1500 and is a luxury item in many emerging markets. Upgrading a computer is technically not always possible and requires special knowledge and free time.

Практически во всех сферах потребительской электроники борьба за производительность аппаратного обеспечения заканчивается. Это уже случилось в игровых приставках, происходит в смартфонах и в домашних компьютерах. Развитие сетей передачи данных ведет к смене модели потребления (от покупки локальной мощности на подписку на облачные ресурсы). Например, доступность передачи данных привела к активному развитию и удешевлению сервисов облачного хранения данных. Уже сейчас для потребителей не так важен большой внутренний объем памяти смартфона, так как есть облачные хранилища, куда можно загрузить свои видеозаписи и фотографии.In almost every area of consumer electronics, the battle for hardware performance is coming to an end. This has already happened in game consoles, it is happening in smartphones and in home computers. The development of data transmission networks leads to a change in the consumption model (from the purchase of local capacity to a subscription to cloud resources). For example, the availability of data transfer has led to the active development and reduction in the cost of cloud storage services. Already now, the large internal memory of the smartphone is not so important for consumers, since there are cloud storages where you can upload your videos and photos.

Главная аппаратная проблема пользовательских устройств на сегодняшний день - это работа с графическими вычислениями. Раньше переносу этого процесса в облако мешали ограничения в сети передачи данных. Сегодня эти проблемы решены в фиксированных широкополосных сетях передачи данных и мобильных сетях 5G.The main hardware problem of user devices today is the work with graphical computing. Previously, the transfer of this process to the cloud was hindered by restrictions in the data network. Today, these problems are solved in fixed broadband data networks and 5G mobile networks.

Также происходит регулярная модернизация серверных графических карт, происходит активное развитие технологий виртуализации графических процессоров, разработка и внедрение новых алгоритмов передачи видеопотока, основанных на применении избыточности данных. В сравнении со стандартными протоколами, основанными на перезапросе потерянных данных применение избыточности, существенно повышает качество, плавность и стабильность видеопотока на сетях передачи данных с высокими потерями, например на сетях WIFI.Server graphics cards are also regularly upgraded, GPU virtualization technologies are being actively developed, and new video stream transmission algorithms based on the use of data redundancy are being developed and implemented. Compared to standard protocols based on the re-request of lost data, the use of redundancy significantly improves the quality, smoothness and stability of the video stream on high-loss data networks, such as WIFI networks.

В настоящее время известны различные способы и системы для реализации компьютерных игр для компьютеров различной мощности. Наиболее близким аналогам является сервис GeForce Now (см. https://gfii.ru/). Недостатком которого являются низакая стабильность подключения на плохих сетях, а также ограничения по количеству поддерживаемых игр и приложений.Currently, various methods and systems are known for implementing computer games for computers of various capacities. The closest analogue is the GeForce Now service (see https://gfii.ru/). The disadvantage of which is the low stability of the connection on bad networks, as well as restrictions on the number of supported games and applications.

Задачей представленной группы изобретений является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники с достижением технического результата в виде обеспечения возможности одновременного повышения плавности изображения и снижения времени задержки обработки графического изображения до 30%.The objective of the presented group of inventions is to eliminate at least some of the disadvantages inherent in the prior art with the achievement of a technical result in the form of providing the possibility of simultaneously increasing the smoothness of the image and reducing the delay time for processing a graphic image by up to 30%.

Для достижения вышеуказанного технического результата заявлена группа изобретений, включающая:To achieve the above technical result, a group of inventions is claimed, including:

платформу виртуализации и стриминга приложений и компьютерных игр, включающую:platform for virtualization and streaming of applications and computer games, including:

по меньшей мере один сервер, на котором запускается компьютерная игра или приложение, принимающий управляющие команды, относящиеся к игре или приложению, передаваемые от клиента, управляемого пользователем, и в ответ выполняющий программный код игры для визуализации последовательности видеоизображений в результате выполнения игры или приложения, при этом происходит непрерывная передача видеопотока в режиме реального времени в клиентское устройство,at least one server running a computer game or application, receiving control commands related to the game or application transmitted from a client controlled by the user, and in response executing the game program code to render a sequence of video images as a result of executing the game or application, when this is a continuous transmission of the video stream in real time to the client device,

при этом приложение или игра запускаются на сервере в среде виртуализации, которая позволяет разделить друг от друга пользовательские приложения и игры, исключив их взаимовлияние, кроме того, каждому пользователю среда виртуализации выделяет отдельный виртуальный компьютер, на котором пользователь работает с приложением или играет в игру, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере,at the same time, the application or game is launched on the server in a virtualization environment, which allows you to separate user applications and games from each other, eliminating their mutual influence, in addition, the virtualization environment allocates a separate virtual computer to each user, on which the user works with the application or plays the game, in the same way as if the game or application were run on a high-powered personal computer,

по меньшей мере один клиент, выполненный для по меньшей мере одного пользовательского устройства, представляющий собой приложение, которое принимает видеопоток, передающийся от сервера в режиме реального времени, декодирует его и отображает пользователю,at least one client made for at least one user device, which is an application that receives a video stream transmitted from the server in real time, decodes it and displays it to the user,

при этом клиент принимает управляющие команды от устройства ввода и передает их на сервер,while the client receives control commands from the input device and transmits them to the server,

при этом клиент выполняет функции предварительного анализа состояния канала передачи данных от сервера до клиента и предварительного анализа мощности пользовательского компьютера для выдачи рекомендаций пользователю или автоматической настройки параметров видеопотока и параметров пользовательского устройства,at the same time, the client performs the functions of preliminary analysis of the state of the data transmission channel from the server to the client and preliminary analysis of the power of the user computer to issue recommendations to the user or automatically configure the parameters of the video stream and the parameters of the user device,

при этом после проведения анализа мощности пользовательского устройства и состояния канала передачи данных от клиента до сервера, генерируется оповещение пользователя о соответствии или предупреждение о несоответствии мощности пользовательского устройства или состояния канала передачи данных от клиента до сервера минимальным требованиям по качеству,at the same time, after analyzing the power of the user device and the state of the data transmission channel from the client to the server, a user notification is generated about compliance or a warning about the mismatch between the power of the user device or the state of the data transmission channel from the client to the server with the minimum quality requirements,

обеспечивающему игровой процесс или процесс работы с приложением, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере и выводятся рекомендации по настройке пользовательского видеопотока, пользовательского устройства для повышения качества игрового процесса или работы с приложением или производится автоматическая настройка параметров видеопотока и параметров пользовательского устройства для достижения лучшего качества игрового процесса или работы с приложением,that provides a game or application experience, similar to if the game or application would be launched on a high-performance personal computer and recommendations are displayed for setting up a user video stream, a user device to improve the quality of the game process or application experience, or automatically adjusting the video stream parameters and user settings devices to achieve the best quality of the game process or work with the application,

при этом при передаче данных видеопотока от сервера до клиента происходит упреждающая коррекция ошибок путем добавления к передаваемой информации такие дополнительные служебные данные, которые позволяют исправить ошибки без дополнительного запроса. Практическое применение показало, что добавление избыточности позволяет исправлять многократные пакеты ошибок.at the same time, when transmitting video stream data from the server to the client, forward error correction occurs by adding to the transmitted information such additional service data that allows errors to be corrected without an additional request. Practical application has shown that the addition of redundancy makes it possible to correct multiple bursts of errors.

На серверной стороне при кодировании данных видеопотока к блоку из m-символов прибавляется 2р проверочных символов. При вычислении каждого проверочного символа используются все m символов исходного блока, поэтому для ускорения процесса декодирования полученных данных на клиенте применяются преобразования Фурье.On the server side, when encoding video stream data, 2p parity symbols are added to the block of m-symbols. When calculating each check symbol, all m symbols of the source block are used, so Fourier transforms are used to speed up the process of decoding the received data on the client.

Для обеспечения высокого качества стриминга на сетях с потерями применяется алгоритм изменения уровня избыточности, зависящий от длительности сессии, типа кадра, типа подключения и текущего состояния канала: запуск стриминг-сессии производится с параметром битрейта видеопотока, равном 10 Мбит/с. В течение первых 30 секунд сессии добавляется 100% избыточности, необходимые для стабилизации канала передачи данных. По истечению 30 секунд уровень избыточности в видеопотоке снижается до 20%, за исключением IDR-frame, избыточность на котором всегда остается на уровне 100%. Далее в зависимости от типа подключения клиента к сети передачи данных уровень избыточности зависит следующим образом:To ensure high quality streaming on lossy networks, an algorithm for changing the redundancy level is used, depending on the session duration, frame type, connection type and current channel state: a streaming session is started with a video stream bitrate parameter of 10 Mbps. During the first 30 seconds of the session, 100% redundancy is added to stabilize the data link. After 30 seconds, the level of redundancy in the video stream is reduced to 20%, except for the IDR-frame, where the redundancy always remains at 100%. Further, depending on the type of client connection to the data network, the level of redundancy depends as follows:

1. Если уровень сигнала Wifi меньше 80% то к видеопотоку добавляется дополнительно 20% избыточности;1. If the Wifi signal level is less than 80%, then an additional 20% redundancy is added to the video stream;

2. Если тип сигнала Wifi с частотой 2,4 ГТЦ, то к видеопотоку добавляется дополнительно 20% избыточности;2. If the signal type is Wifi with a frequency of 2.4 GTZ, then an additional 20% redundancy is added to the video stream;

Далее в зависимости от показаний текущих потерь на канале (loss-rate) передачи данных происходит изменение значения избыточности:Further, depending on the indications of the current losses on the channel (loss-rate) of data transmission, the redundancy value changes:

1. При значении loss-rate = 1…3% к видеопотоку добавляется 20% избыточности;1. If loss-rate = 1…3%, 20% redundancy is added to the video stream;

2. При значении loss-rate = 4…5% к видеопотоку добавляется 40% избыточности;2. If loss-rate = 4…5%, 40% redundancy is added to the video stream;

3. При значении loss-rate = 6…10% к видеопотоку добавляется 60% избыточности;3. If loss-rate = 6…10%, 60% redundancy is added to the video stream;

4. При значении loss-rate = 11…20% к видеопотоку добавляется 100% избыточности;4. If loss-rate = 11…20%, 100% redundancy is added to the video stream;

5. При значении loss-rate = 21…30% к видеопотоку добавляется 150% избыточности;5. If loss-rate = 21…30%, 150% redundancy is added to the video stream;

6. При значении loss-rate = 31% и выше к видеопотоку добавляется 200% избыточности;6. If loss-rate = 31% and higher, 200% redundancy is added to the video stream;

Также заявленная группа изобретений включает машинореализуемый способ виртуализации и стриминга приложений и компьютерных игр, содержащий этапы:The claimed group of inventions also includes a machine-implemented method for virtualization and streaming of applications and computer games, comprising the following steps:

- по меньшей мере один пользователь запускает на своем пользовательском устройстве клиентское приложение, клиентское приложение отображает изображение, которое производится на сервере виртуализации, клиентское приложение проводит предварительный анализ состояния канала передачи данных от клиента до сервера, анализа мощности пользовательского компьютера для выдачи рекомендаций пользователю или автоматической настройки параметров видеопотока и параметров пользовательского устройства, при проведении анализа мощности пользовательского устройства и состояния канала передача данных от клиента до сервера, генерируется оповещение пользователя о соответствии или предупреждение о несоответствии мощности пользовательского устройства или состояния канала передачи данных от клиента до сервера минимальным требованиям по качеству, обеспечивающему игровой процесс или процесс работы с приложением, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере и выводятся рекомендации по настройке видеопотока пользовательского видеопотока, пользовательского устройства для повышения качества игрового процесса или работы с приложением или производится автоматическая настройка параметров видеопотока и параметров пользовательского устройства для достижения лучшего качества игрового процесса или работы с приложением, далее пользователь посредством ввода управляющих команд осуществляет управление компьютерной игрой или приложением, при этом команды от клиентского приложения до сервера передаются через канал передачи данных,- at least one user runs a client application on his user device, the client application displays an image that is produced on the virtualization server, the client application performs a preliminary analysis of the state of the data transmission channel from the client to the server, analysis of the power of the user computer to issue recommendations to the user or automatic configuration parameters of the video stream and parameters of the user device, when analyzing the power of the user device and the state of the data transmission channel from the client to the server, a user notification is generated about compliance or a warning about the inconsistency of the power of the user device or the state of the data transmission channel from the client to the server with the minimum quality requirements that provide game or application process, similar to if the game or application were run on a high-powered personal computer and output all recommendations on setting up the video stream of the user video stream, user device to improve the quality of the gaming process or work with the application, or the parameters of the video stream and the parameters of the user device are automatically configured to achieve the best quality of the gaming process or work with the application, then the user controls the computer game by entering control commands or application, while the commands from the client application to the server are transmitted via a data channel,

- по меньшей мере один сервер, на котором запускается компьютерная игра или приложение, принимает управляющие команды, относящиеся к игре или приложению, передаваемые от клиента, управляемого пользователем, и в ответ выполняет программный код игры для визуализации последовательности видеоизображений в результате выполнения игры или приложения, причем непрерывная передача видеопотока в режиме реального времени в клиентское устройство,- at least one server running a computer game or application receives control commands related to the game or application transmitted from a client controlled by the user, and in response executes the game program code to render a sequence of video images as a result of executing the game or application, moreover, continuous transmission of the video stream in real time to the client device,

при этом приложение или игра запускается на сервере в среде виртуализации, которая позволяет разделить друг от друга пользовательские приложения и игры, исключив их взаимовлияние, кроме того каждому пользователю среда виртуализации выделяет отдельный виртуальный компьютер, на котором пользователь работает с приложением или играет в игру, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере,at the same time, the application or game is launched on the server in a virtualization environment that allows you to separate user applications and games from each other, excluding their mutual influence, in addition, the virtualization environment allocates a separate virtual computer for each user, on which the user works with the application or plays the game, similarly that if the game or application were run on a high-powered personal computer,

причем прием, декодирование и отображение видеопотока для пользователя производится на клиентском приложении;moreover, the reception, decoding and display of the video stream for the user is performed on the client application;

при этом при передаче данных видеопотока от сервера до клиента происходит упреждающая коррекция ошибок путем добавления к передаваемой информации такие дополнительные служебные данные, которые позволяют исправить ошибки без дополнительного запроса, причемat the same time, when transmitting video stream data from the server to the client, forward error correction occurs by adding to the transmitted information such additional service data that allows you to correct errors without an additional request, and

на серверной стороне при кодировании данных видеопотока к блоку из m-символов прибавляется 2р проверочных символов, при вычислении каждого проверочного символа используются все m символов исходного блока, поэтому для ускорения процесса декодирования полученных данных на клиенте применяются преобразования Фурье,on the server side, when encoding video stream data, 2p check symbols are added to a block of m-symbols, when calculating each check symbol, all m symbols of the source block are used, therefore, Fourier transforms are used to speed up the process of decoding the received data on the client,

при этом применяется алгоритм изменения уровня избыточности, зависящий от длительности сессии, типа кадра, типа подключения и текущего состояния канала: запуск стриминг-сессии производится с параметром битрейта видеопотока, равном 10 Мбит/с, в течение первых 30 секунд сессии добавляется 100% избыточности, необходимые для стабилизации канала передачи данных, по истечению 30 секунд уровень избыточности в видеопотоке снижается до 20%, за исключением IDR-frame, избыточность на котором всегда остается на уровне 100%, далее в зависимости от типа подключения клиента к сети передачи данных уровень избыточности зависит следующим образом:at the same time, an algorithm for changing the redundancy level is applied, depending on the session duration, frame type, connection type and current channel state: the streaming session is started with a video stream bitrate parameter of 10 Mbps, 100% redundancy is added during the first 30 seconds of the session, necessary to stabilize the data transmission channel, after 30 seconds the level of redundancy in the video stream decreases to 20%, with the exception of the IDR-frame, where the redundancy always remains at 100%, then, depending on the type of client connection to the data transmission network, the level of redundancy depends in the following way:

- Если уровень сигнала Wifi меньше 80% то к видеопотоку добавляется дополнительно 20% избыточности;- If the Wifi signal level is less than 80%, then an additional 20% redundancy is added to the video stream;

- Если тип сигнала Wifi с частотой 2,4 ГГЦ, то к видеопотоку добавляется дополнительно 20% избыточности;- If the signal type is Wifi with a frequency of 2.4 GHz, then an additional 20% redundancy is added to the video stream;

далее в зависимости от показаний текущих потерь на канале (loss-rate) передачи данных происходит изменение значения избыточности:further, depending on the indications of the current losses on the channel (loss-rate) of data transmission, the redundancy value changes:

- При значении loss-rate = 1…3% к видеопотоку добавляется 20% избыточности;- If loss-rate = 1…3%, 20% redundancy is added to the video stream;

- При значении loss-rate = 4…5% к видеопотоку добавляется 40% избыточности;- If loss-rate = 4…5%, 40% redundancy is added to the video stream;

- При значении loss-rate = 6…10% к видеопотоку добавляется 60% избыточности;- If loss-rate = 6…10%, 60% redundancy is added to the video stream;

- При значении loss-rate = 11…20% к видеопотоку добавляется 100% избыточности;- If loss-rate = 11…20%, 100% redundancy is added to the video stream;

- При значении loss-rate = 21…30% к видеопотоку добавляется 150% избыточности;- If loss-rate = 21…30%, 150% redundancy is added to the video stream;

- При значении loss-rate = 31% и выше к видеопотоку добавляется 200% избыточности.- If loss-rate = 31% or higher, 200% redundancy is added to the video stream.

При этом пользовательское устройство представляет собой телефон, планшет, пк, телевизионную приставку с различными операционными системами. При этом устройство ввода представляет собой клавиатуру, мышку, игровые джойстики, манипуляторы, сенсорный экран. При этом захват и кодирование изображения видеоигры или приложения в транспортный видеопоток Н.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 и разрешение экрана) выполняются на основе прогноза нейросети, причем обучение нейросети производится на основе собираемых данных пользовательских сессий (производительность сервера, производительность сети передачи данных, производительность пользовательского устройства, тип игры) и субъективной оценки качества игрового процесса.In this case, the user device is a phone, tablet, PC, set-top box with various operating systems. In this case, the input device is a keyboard, mouse, game joysticks, manipulators, touch screen. In this case, the video game or application image is captured and encoded into the H.264 or H.265 transport video stream using a graphics card installed in the server, capture is performed in the memory of the graphics card, encoding is performed using a graphics card chip, the functionality of which is capture and packaging images to h.264 and h.265 transport video stream. At the same time, the data transmission channel from the server to the client uses 4G or 5G mobile data transmission technology. In this case, the request for a key frame (I-frame) in the h.246 and h.265 transport video stream by the client on the server is made only during the initial connection or when large losses occur on the data transmission channel (40-60%). At the same time, at least one server on which a computer game or application is launched, which receives control commands related to the game or application transmitted from the client controlled by the user, and in response executes the program code of the game to render a sequence of video images as a result of the execution of the game or application , while the application or game is launched on the server in a virtualization environment that allows you to separate user applications and games from each other, eliminating their mutual influence, in addition, the virtualization environment allocates a separate virtual computer to each user, on which the user works with the application or plays the game , similar to if the game or application were run on a high-powered personal computer, with at least one server used in a multi-access edge computing architecture, while in a multi-access edge computing (MEC) architecture, two or more servers can be combined using by the software-defined storage (sds) system. At the same time, the applications that are launched are resource-intensive applications. At the same time, the video stream parameters (bitrate, fps and screen resolution) are changed based on the forecast of the neural network, and the neural network is trained based on the collected data of user sessions (server performance, data transfer network performance, user device performance, game type) and a subjective assessment of the quality of the gaming process.

Заявленная платформа виртуализации и стриминга приложений и компьютерных игр отвечает следующим требованиям:The declared platform for virtualization and streaming of applications and computer games meets the following requirements:

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

- проверка соединения с несколькими игровыми серверами и выбор ближайшего игрового сервера;- checking the connection with several game servers and selecting the nearest game server;

- реализация демо-режима (доступ абонентов к игровой демо-сессии с ограничением по времени без предварительной оплаты);- implementation of a demo mode (subscribers' access to a game demo session with a time limit without prepayment);

- возможность выбора различных конфигураций сервера и выбора соответствующего тарифа. Оплата аренды облачного сервера.- the ability to select different server configurations and select the appropriate tariff. Cloud server rental.

- проверка качества соединения пользователя на всем интервале игровой сессии и, в случае минимально допустимого значения, уведомления об этом пользователя;- checking the quality of the user's connection throughout the entire interval of the game session and, in the case of the minimum allowable value, notifying the user about it;

- поддержка функции адаптивного изменения параметров видеопотока, меняющего параметры видеопотока - битрейт (bitrate) и частоту кадров (FPS) трансляции в зависимости от возможностей интернет-подключения пользователя;- support for the function of adaptive change of video stream parameters, which changes the parameters of the video stream - bitrate (bitrate) and frame rate (FPS) of the broadcast, depending on the user's Internet connection capabilities;

- возможность запуска любых приложений и игр по облачной технологии, трансляцию соответствующего видеопотока на устройство пользователя;- the ability to launch any applications and games using cloud technology, broadcast the corresponding video stream to the user's device;

- поддержка статистики и анализа времени, проведенного пользователям в различных приложениях и играх;- support for statistics and analysis of the time spent by users in various applications and games;

- возможность гибкой модификации пользовательского интерфейса;- the possibility of flexible modification of the user interface;

- обеспечение защиты от перехвата команд с пользовательского устройства;- providing protection against interception of commands from the user device;

- хранение данных пользователя (приложения, файлы, игры);- storage of user data (applications, files, games);

- обеспечение круглосуточного мониторинга технического состояния компонентов платформы;- ensuring round-the-clock monitoring of the technical condition of the platform components;

- заявленная технология обеспечивает минимальную задержку, незаметную для конечного игрока;- the claimed technology provides a minimum delay, imperceptible to the end player;

- функционирование системы в режиме 24x7 и доступности не менее 99.97%.- functioning of the system in 24x7 mode and availability of at least 99.97%.

На фиг. 1 под следующими обозначениями представлено описание модулей платформы:In FIG. 1, under the following symbols, a description of the platform modules is presented:

поз. 1 - Серверная часть платформы;pos. 1 - Server part of the platform;

поз. 2 - Система виртуализации серверной части платформы;pos. 2 - Virtualization system of the server part of the platform;

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

поз. 4 - Дисковое пространство для хранения данных гостевой операционной системы;pos. 4 - Disk space for storing guest operating system data;

поз. 5 - Модуль, отвечающий за сбор и агрегацию статистических данных по работе платформы и продукта, а также отвечающий за мониторинг работоспособности технической части платформы и бизнес показателей продукта;pos. 5 - The module responsible for collecting and aggregating statistical data on the operation of the platform and the product, as well as monitoring the performance of the technical part of the platform and business indicators of the product;

поз. 6 - Модуль биллинга и управления виртуальной инфраструктурой. Хранилище профилей клиентов и аутентификационных данных;pos. 6 - Billing and virtual infrastructure management module. Storage of client profiles and authentication data;

поз. 7 - Игровая витрина сервиса. Содержит описание сервиса для пользователей и вход в личный кабинет;pos. 7 - Game showcase of the service. Contains a description of the service for users and the entrance to the personal account;

поз. 8 - Модуль, отвечающий за прием платежей от пользователей;pos. 8 - Module responsible for accepting payments from users;

поз. 9 - Модуль, обеспечивающий разделение инфраструктуры от сети интернет;pos. 9 - Module that provides separation of infrastructure from the Internet;

поз. 10 - Игра или приложение, запущенное на гостевой виртуальной машине;pos. 10 - Game or application running on a guest virtual machine;

поз. 11 - Модуль захвата, энкодирования и стриминга изображения;pos. 11 - Module for capturing, encoding and streaming images;

поз. 12 - Модуль перехвата сигналов управления, передающихся от клиентской части платформы;pos. 12 - Module for intercepting control signals transmitted from the client part of the platform;

поз. 13 - Клиентская часть платформы;pos. 13 - Client part of the platform;

поз. 14 - Пользовательское устройство (ПК, планшет, смартфон, телевизионная приставка);pos. 14 - User device (PC, tablet, smartphone, set-top box);

поз. 15 - Программное обеспечение, установленное на пользовательском устройстве, обеспечивающее авторизацию и аутентификацию клиента;pos. 15 - Software installed on the user device, providing authorization and authentication of the client;

поз. 16 - Программное обеспечение, установленное на пользовательском устройстве, обеспечивающее прием видеопотока со стороны платформы, а также передачу сигналов управления на серверную часть;pos. 16 - Software installed on the user device, which provides the reception of a video stream from the platform, as well as the transmission of control signals to the server part;

поз. 17 - Регистрация и авторизация пользователей;pos. 17 - Registration and authorization of users;

поз. 18 - Проверка параметров канала передачи данных;pos. 18 - Checking the parameters of the data transmission channel;

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

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

На фиг. 2 показана схема восстановления данных.In FIG. 2 shows the scheme of data recovery.

На фиг. 3 показана структура данных.In FIG. 3 shows the data structure.

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

Стриминг (англ. streaming) - передача изображения через сеть передачи данных. Виртуализация - предоставление набора вычислительных ресурсов или их логического объединения, абстрагированное от аппаратной реализации, и обеспечивающее при этом логическую изоляцию друг от друга вычислительных процессов, выполняемых на одном физическом ресурсе.Streaming (English streaming) - image transmission through a data network. Virtualization is the provision of a set of computing resources or their logical association, abstracted from the hardware implementation, and at the same time providing logical isolation from each other of computing processes running on one physical resource.

Примером использования виртуализации является возможность запуска нескольких операционных систем на одном компьютере: при том каждый из экземпляров таких гостевых операционных систем работает со своим набором логических ресурсов (процессорных, оперативной памяти, устройств хранения), предоставлением которых из общего пула, доступного на уровне оборудования, управляет хостовая операционная система - гипервизор. Также могут быть подвергнуты виртуализации сети передачи данных, сети хранения данных. Битрейт (от англ. bitrate) - количество бит, используемых для передачи/обработки данных в единицу времени. Битрейт принято использовать при измерении эффективной скорости передачи потока данных по каналу, то есть минимального размера канала, который сможет пропустить этот поток без задержек.An example of the use of virtualization is the ability to run multiple operating systems on one computer: while each of the instances of such guest operating systems works with its own set of logical resources (processor, RAM, storage devices), the provision of which from a common pool available at the hardware level is controlled by host operating system - hypervisor. Data transmission networks and storage networks can also be virtualized. Bitrate (from the English. bitrate) - the number of bits used to transmit / process data per unit of time. It is customary to use bitrate when measuring the effective transmission rate of a data stream over a channel, that is, the minimum size of a channel that can pass this stream without delay.

Claims (57)

1. Платформа виртуализации и стриминга приложений и компьютерных игр, включающая по меньшей мере один сервер, на котором запускается компьютерная игра или приложение, принимающий управляющие команды, относящиеся к игре или приложению, передаваемые от клиента, управляемого пользователем, и в ответ выполняющий программный код игры для визуализации последовательности видеоизображений в результате выполнения игры или приложения,1. Platform for virtualization and streaming of applications and computer games, including at least one server that runs a computer game or application that receives control commands related to the game or application transmitted from a client controlled by the user, and in response executes the program code of the game to render a sequence of video images resulting from the execution of a game or application, при этом происходит непрерывная передача видеопотока в режиме реального времени в клиентское устройство,at the same time, there is a continuous transmission of the video stream in real time to the client device, при этом приложение или игра запускаются на сервере в среде виртуализации, которая позволяет разделить друг от друга пользовательские приложения и игры, исключив их взаимовлияние, кроме того, каждому пользователю среда виртуализации выделяет отдельный виртуальный компьютер, на котором пользователь работает с приложением или играет в игру, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере,at the same time, the application or game is launched on the server in a virtualization environment, which allows you to separate user applications and games from each other, eliminating their mutual influence, in addition, the virtualization environment allocates a separate virtual computer to each user, on which the user works with the application or plays the game, in the same way as if the game or application were run on a high-powered personal computer, по меньшей мере один клиент, выполненный для по меньшей мере одного пользовательского устройства, представляющий собой приложение, которое принимает видеопоток, передающийся от сервера в режиме реального времени, декодирует его и отображает пользователю,at least one client made for at least one user device, which is an application that receives a video stream transmitted from the server in real time, decodes it and displays it to the user, при этом клиент принимает управляющие команды от устройства ввода и передает их на сервер,while the client receives control commands from the input device and transmits them to the server, при этом клиент выполняет функции предварительного анализа состояния канала передачи данных от сервера до клиента и предварительного анализа мощности пользовательского компьютера для выдачи рекомендаций пользователю или автоматической настройки параметров видеопотока и параметров пользовательского устройства,at the same time, the client performs the functions of preliminary analysis of the state of the data transmission channel from the server to the client and preliminary analysis of the power of the user computer to issue recommendations to the user or automatically configure the parameters of the video stream and the parameters of the user device, при этом после проведения анализа мощности пользовательского устройства и состояния канала передачи данных от клиента до сервера генерируется оповещение пользователя о соответствии или предупреждение о несоответствии мощности пользовательского устройства или состояния канала передачи данных от клиента до сервера минимальным требованиям по качеству, обеспечивающему игровой процесс или процесс работы с приложением, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере, и выводятся рекомендации по настройке пользовательского видеопотока, пользовательского устройства для повышения качества игрового процесса или работы с приложением или производится автоматическая настройка параметров видеопотока и параметров пользовательского устройства для достижения лучшего качества игрового процесса или работы с приложением,at the same time, after analyzing the power of the user device and the state of the data transmission channel from the client to the server, a user notification is generated about compliance or a warning about the inconsistency of the power of the user device or the state of the data transmission channel from the client to the server with the minimum quality requirements that ensure the gaming process or the process of working with application, just as if the game or application were run on a high-performance personal computer, and recommendations are displayed to configure the user's video stream, user device to improve the quality of the game process or application experience, or the video stream parameters and user device parameters are automatically adjusted to achieve the best quality of the gaming experience. process or work with the application, при этом при передаче данных видеопотока от сервера до клиента происходит упреждающая коррекция ошибок путем добавления к передаваемой информации таких дополнительных служебных данных, которые позволяют исправить ошибки без дополнительного запроса, причемat the same time, when transmitting video stream data from the server to the client, forward error correction occurs by adding to the transmitted information such additional service data that allows you to correct errors without an additional request, and на серверной стороне при кодировании данных видеопотока к блоку из m-символов прибавляется 2р проверочных символов, при вычислении каждого проверочного символа используются все m символов исходного блока, поэтому для ускорения процесса декодирования полученных данных на клиенте применяются преобразования Фурье,on the server side, when encoding video stream data, 2p check symbols are added to a block of m-symbols, when calculating each check symbol, all m symbols of the source block are used, therefore, Fourier transforms are used to speed up the process of decoding the received data on the client, при этом применяется алгоритм изменения уровня избыточности, зависящий от длительности сессии, типа кадра, типа подключения и текущего состояния канала: запуск стриминг-сессии производится с параметром битрейта видеопотока, равным 10 Мбит/с, в течение первых 30 с сессии добавляется 100% избыточности, необходимые для стабилизации канала передачи данных, по истечении 30 с уровень избыточности в видеопотоке снижается до 20%, за исключением IDR-frame, избыточность на котором всегда остается на уровне 100%, далее в зависимости от типа подключения клиента к сети передачи данных уровень избыточности зависит следующим образом:at the same time, an algorithm for changing the redundancy level is applied, depending on the session duration, frame type, connection type and current channel state: the streaming session is started with the video stream bitrate parameter equal to 10 Mbps, 100% redundancy is added during the first 30 seconds of the session, necessary to stabilize the data transmission channel, after 30 s the redundancy level in the video stream decreases to 20%, with the exception of the IDR-frame, the redundancy in which always remains at 100%, then, depending on the type of client connection to the data network, the level of redundancy depends in the following way: если уровень сигнала Wi-Fi меньше 80%, то к видеопотоку добавляется дополнительно 20% избыточности;if the Wi-Fi signal level is less than 80%, then an additional 20% redundancy is added to the video stream; если тип сигнала Wi-Fi с частотой 2,4 ГТЦ, то к видеопотоку добавляется дополнительно 20% избыточности;if the signal type is Wi-Fi with a frequency of 2.4 GTZ, then an additional 20% redundancy is added to the video stream; далее в зависимости от показаний текущих потерь на канале (loss-rate) передачи данных происходит изменение значения избыточности:further, depending on the indications of the current losses on the channel (loss-rate) of data transmission, the redundancy value changes: - при значении loss-rate = 1…3% к видеопотоку добавляется 20% избыточности;- with loss-rate = 1…3%, 20% redundancy is added to the video stream; - при значении loss-rate = 4…5% к видеопотоку добавляется 40% избыточности;- with loss-rate = 4…5%, 40% redundancy is added to the video stream; - при значении loss-rate = 6…10% к видеопотоку добавляется 60% избыточности;- with loss-rate = 6…10%, 60% redundancy is added to the video stream; - при значении loss-rate = 11…20% к видеопотоку добавляется 100% избыточности;- with loss-rate = 11…20%, 100% redundancy is added to the video stream; - при значении loss-rate = 21…30% к видеопотоку добавляется 150% избыточности;- with loss-rate = 21…30%, 150% redundancy is added to the video stream; - при значении loss-rate = 31% и выше к видеопотоку добавляется 200% избыточности.- with loss-rate = 31% and higher, 200% redundancy is added to the video stream. 2. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1, отличающаяся тем, что пользовательское устройство представляет собой телефон, планшет, ПК, телевизионную приставку с различными операционными системами.2. The platform for virtualization and streaming of applications and computer games according to claim 1, characterized in that the user device is a phone, tablet, PC, set-top box with various operating systems. 3. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1, отличающаяся тем, что устройство ввода представляет собой клавиатуру, мышку, игровые джойстики, манипуляторы, сенсорный экран.3. The platform for virtualization and streaming of applications and computer games according to claim 1, characterized in that the input device is a keyboard, mouse, game joysticks, manipulators, touch screen. 4. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1, отличающаяся тем, что4. Platform for virtualization and streaming of applications and computer games according to claim 1, characterized in that - захват и кодирование изображения видеоигры или приложения в транспортный видеопоток Н.264 или Н.265 производится с использованием графической карты, установленной в сервере,- capturing and encoding an image of a video game or application into an H.264 or H.265 transport video stream is performed using a graphics card installed in the server, - захват производится из видеопамяти графической карты, кодирование производится с использованием чипа графической карты, функционалом которого является захват и упаковка изображения в транспортный видеопоток h.264 и h.265.- capture is made from the video memory of the graphic card, encoding is performed using a graphic card chip, the functionality of which is to capture and pack the image into the h.264 and h.265 transport video stream. 5. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1 или 4, отличающаяся тем, что канал передачи данных от сервера к клиенту использует технологию мобильной передачи данных 4G или 5G.5. Platform for virtualization and streaming of applications and computer games according to claim 1 or 4, characterized in that the data transmission channel from the server to the client uses 4G or 5G mobile data transmission technology. 6. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1 или 4, отличающаяся тем, что запрос ключевого кадра (I-frame) в транспортном видеопотоке h.246 и h.265 клиентом на сервере производится только при первоначальном подключении или при возникновении больших потерь на канале передачи данных (40-60%).6. The platform for virtualization and streaming of applications and computer games according to claim 1 or 4, characterized in that the request for a key frame (I-frame) in the h.246 and h.265 transport video stream by the client on the server is made only upon initial connection or when large losses on the data transmission channel (40-60%). 7. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1 или 4, отличающаяся тем, что содержит7. Platform for virtualization and streaming of applications and computer games according to claim 1 or 4, characterized in that it contains по меньшей мере один сервер, на котором запускается компьютерная игра или приложение, принимающий управляющие команды, относящиеся к игре или приложению, передаваемые от клиента, управляемого пользователем, и в ответ выполняющий программный код игры для визуализации последовательности видеоизображений в результате выполнения игры или приложения, при этом приложение или игра запускаются на сервере в среде виртуализации, которая позволяет разделить друг от друга пользовательские приложения и игры, исключив их взаимовлияние, кроме того, каждому пользователю среда виртуализации выделяет отдельный виртуальный компьютер, на котором пользователь работает с приложением или играет в игру, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере,at least one server running a computer game or application, receiving control commands related to the game or application transmitted from a client controlled by the user, and in response executing the game program code to render a sequence of video images as a result of executing the game or application, when In this case, the application or game is launched on a server in a virtualization environment that allows you to separate user applications and games from each other, excluding their mutual influence, in addition, the virtualization environment allocates a separate virtual computer for each user, on which the user works with the application or plays the game, similarly that if the game or application were run on a high-powered personal computer, при этом по меньшей мере один сервер использован в архитектуре multi-access edge computing (МЕС),wherein at least one server is used in multi-access edge computing (MEC) architecture, при этом в архитектуре multi-access edge computing (МЕС) два или более серверов могут быть объединены с использованием системы software-defined storage (sds).however, in a multi-access edge computing (MEC) architecture, two or more servers can be combined using a software-defined storage (sds) system. 8. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1, отличающаяся тем, что запускаемые приложения представляют собой ресурсоемкие приложения.8. The platform for virtualization and streaming of applications and computer games according to claim 1, characterized in that the applications being launched are resource-intensive applications. 9. Платформа виртуализации и стриминга приложений и компьютерных игр по п. 1, отличающаяся тем, что изменение параметров видеопотока (bitrate, fps и разрешение экрана) выполняется на основе прогноза нейросети, причем обучение нейросети производится на основе собираемых данных пользовательских сессий (производительность сервера, параметры сети передачи данных, производительность пользовательского устройства, тип игры) и субъективной оценки качества игрового процесса.9. The platform for virtualization and streaming of applications and computer games according to claim 1, characterized in that the change in the parameters of the video stream (bitrate, fps and screen resolution) is performed based on the forecast of the neural network, and the training of the neural network is based on the collected data of user sessions (server performance, data network parameters, user device performance, game type) and a subjective assessment of the quality of the gameplay. 10. Машинореализуемый способ виртуализации и стриминга приложений и компьютерных игр по п. 1, содержащий этапы:10. A machine-implemented method for virtualizing and streaming applications and computer games according to claim 1, comprising the steps: - по меньшей мере один пользователь запускает на своем пользовательском устройстве клиентское приложение, клиентское приложение отображает изображение, которое производится на сервере виртуализации,- at least one user runs a client application on his user device, the client application displays an image that is produced on the virtualization server, клиентское приложение проводит предварительный анализ состояния канала передачи данных от клиента до сервера, анализа мощности пользовательского компьютера для выдачи рекомендаций пользователю или автоматической настройки параметров видеопотока и параметров пользовательского устройства, при проведении анализа мощности пользовательского устройства и состояния канала передача данных от клиента до сервера,the client application conducts a preliminary analysis of the state of the data transmission channel from the client to the server, analyzes the power of the user computer to issue recommendations to the user or automatically configures the parameters of the video stream and the parameters of the user device, when analyzing the power of the user device and the state of the data transmission channel from the client to the server, генерируется оповещение пользователя о соответствии или предупреждение о несоответствии мощности пользовательского устройства или состояния канала передачи данных от клиента до сервера минимальным требованиям по качеству, обеспечивающему игровой процесс или процесс работы с приложением, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере, и выводятся рекомендации по настройке видеопотока пользовательского видеопотока, пользовательского устройства для повышения качества игрового процесса или работы с приложением или производится автоматическая настройка параметров видеопотока и параметров пользовательского устройства для достижения лучшего качества игрового процесса или работы с приложением,a notification is generated to the user about compliance or a warning about the mismatch of the power of the user device or the state of the data transmission channel from the client to the server with the minimum quality requirements that ensure the game process or the process of working with the application, similar to if the game or application would be run on a high-powered personal computer, and recommendations are displayed on how to configure the video stream of the user's video stream, the user's device to improve the quality of the game process or work with the application, or the parameters of the video stream and the parameters of the user device are automatically adjusted to achieve the best quality of the game process or work with the application, далее пользователь посредством ввода управляющих команд осуществляет управление компьютерной игрой или приложением, при этом команды от клиентского приложения до сервера передаются через канал передачи данных,further, the user, by entering control commands, controls the computer game or application, while the commands from the client application to the server are transmitted via a data transmission channel, - по меньшей мере один сервер, на котором запускается компьютерная игра или приложение, принимает управляющие команды, относящиеся к игре или приложению, передаваемые от клиента, управляемого пользователем, и в ответ выполняет программный код игры для визуализации последовательности видеоизображений в результате выполнения игры или приложения, причем непрерывная передача видеопотока в режиме реального времени в клиентское устройство,- at least one server running a computer game or application receives control commands related to the game or application transmitted from a client controlled by the user, and in response executes the game program code to render a sequence of video images as a result of executing the game or application, moreover, continuous transmission of the video stream in real time to the client device, при этом приложение или игра запускается на сервере в среде виртуализации, которая позволяет разделить друг от друга пользовательские приложения и игры, исключив их взаимовлияние, кроме того, каждому пользователю среда виртуализации выделяет отдельный виртуальный компьютер, на котором пользователь работает с приложением или играет в игру, аналогично тому, если игра или приложение запускались бы на высокомощном персональном компьютере,at the same time, the application or game is launched on the server in a virtualization environment, which allows you to separate user applications and games from each other, eliminating their mutual influence, in addition, the virtualization environment allocates a separate virtual computer for each user, on which the user works with the application or plays the game, in the same way as if the game or application were run on a high-powered personal computer, причем прием, декодирование и отображение видеопотока для пользователя производится на клиентском приложении;moreover, the reception, decoding and display of the video stream for the user is performed on the client application; при этом при передаче данных видеопотока от сервера до клиента происходит упреждающая коррекция ошибок путем добавления к передаваемой информации таких дополнительных служебных данных, которые позволяют исправить ошибки без дополнительного запроса, причемat the same time, when transmitting video stream data from the server to the client, forward error correction occurs by adding to the transmitted information such additional service data that allows you to correct errors without an additional request, and на серверной стороне при кодировании данных видеопотока к блоку из m-символов прибавляется 2р проверочных символов, при вычислении каждого проверочного символа используются все m символов исходного блока, поэтому для ускорения процесса декодирования полученных данных на клиенте применяются преобразования Фурье,on the server side, when encoding video stream data, 2p check symbols are added to a block of m-symbols, when calculating each check symbol, all m symbols of the source block are used, therefore, Fourier transforms are used to speed up the process of decoding the received data on the client, при этом применяется алгоритм изменения уровня избыточности, зависящий от длительности сессии, типа кадра, типа подключения и текущего состояния канала: запуск стриминг-сессии производится с параметром битрейта видеопотока, равным 10 Мбит/с, в течение первых 30 с сессии добавляется 100% избыточности, необходимые для стабилизации канала передачи данных, по истечении 30 с уровень избыточности в видеопотоке снижается до 20%, за исключением IDR-frame, избыточность на котором всегда остается на уровне 100%, далее в зависимости от типа подключения клиента к сети передачи данных уровень избыточности зависит следующим образом:at the same time, an algorithm for changing the redundancy level is applied, depending on the session duration, frame type, connection type and current channel state: the streaming session is started with the video stream bitrate parameter equal to 10 Mbps, 100% redundancy is added during the first 30 seconds of the session, necessary to stabilize the data transmission channel, after 30 s the redundancy level in the video stream decreases to 20%, with the exception of the IDR-frame, the redundancy in which always remains at 100%, then, depending on the type of client connection to the data network, the level of redundancy depends in the following way: если уровень сигнала Wi-Fi меньше 80%, то к видеопотоку добавляется дополнительно 20% избыточности;if the Wi-Fi signal level is less than 80%, then an additional 20% redundancy is added to the video stream; если тип сигнала Wi-Fi с частотой 2,4 ГГЦ, то к видеопотоку добавляется дополнительно 20% избыточности;if the signal type is Wi-Fi with a frequency of 2.4 GHz, then an additional 20% redundancy is added to the video stream; далее в зависимости от показаний текущих потерь на канале (loss-rate) передачи данных происходит изменение значения избыточности:further, depending on the indications of the current losses on the channel (loss-rate) of data transmission, the redundancy value changes: - при значении loss-rate = 1…3% к видеопотоку добавляется 20% избыточности;- with loss-rate = 1…3%, 20% redundancy is added to the video stream; - при значении loss-rate = 4…5% к видеопотоку добавляется 40% избыточности;- with loss-rate = 4…5%, 40% redundancy is added to the video stream; - при значении loss-rate = 6…10% к видеопотоку добавляется 60% избыточности;- with loss-rate = 6…10%, 60% redundancy is added to the video stream; - при значении loss-rate = 11…20% к видеопотоку добавляется 100% избыточности;- with loss-rate = 11…20%, 100% redundancy is added to the video stream; - при значении loss-rate = 21…30% к видеопотоку добавляется 150% избыточности;- with loss-rate = 21…30%, 150% redundancy is added to the video stream; - при значении loss-rate = 31% и выше к видеопотоку добавляется 200% избыточности.- with loss-rate = 31% and higher, 200% redundancy is added to the video stream. 11. Машинореализуемый способ виртуализации и стриминга приложений и компьютерных игр по п. 9, причем захват и кодирование изображения видеоигры или приложения в транспортный видеопоток Н.264 или Н.265 с использованием графической карты, установленной в сервере.11. A computer-implemented method for virtualizing and streaming applications and computer games according to claim 9, wherein capturing and encoding an image of a video game or application into an H.264 or H.265 transport video stream using a graphics card installed in the server. 12. Машинореализуемый способ виртуализации и стриминга приложений и компьютерных игр по п. 9, причем пользовательское устройство представляет собой телефон, планшет, ПК, телевизионные приставки с различными операционными системами.12. A machine-implemented method for virtualizing and streaming applications and computer games according to claim 9, wherein the user device is a phone, tablet, PC, set-top boxes with various operating systems. 13. Машинореализуемый способ виртуализации и стриминга приложений и компьютерных игр по п. 9, причем устройство ввода представляет собой клавиатуру, мышку, игровые джойстики, манипуляторы, сенсорный экран.13. A computer-implemented method for virtualizing and streaming applications and computer games according to claim 9, wherein the input device is a keyboard, mouse, game joysticks, manipulators, touch screen. 14. Машинореализуемый способ виртуализации и стриминга приложений и компьютерных игр по п. 9, отличающийся тем, что запускаемые приложения представляют собой ресурсоемкие приложения.14. A machine-implemented method for virtualizing and streaming applications and computer games according to claim 9, characterized in that the applications being launched are resource-intensive applications. 15. Машинореализуемый способ виртуализации и стриминга приложений и компьютерных игр по п. 9, отличающийся тем, что изменение параметров видеопотока (bitrate, fps и разрешение экрана) выполняется на основе прогноза нейросети, причем обучение нейросети производится на основе собираемых данных пользовательских сессий (производительность сервера, параметры сети передачи данных, производительность пользовательского устройства, тип игры) и субъективной оценки качества игрового процесса.15. A machine-implemented method for virtualizing and streaming applications and computer games according to claim 9, characterized in that the video stream parameters (bitrate, fps and screen resolution) are changed based on the neural network prediction, and the neural network is trained based on the collected user session data (server performance , data network parameters, user device performance, game type) and a subjective assessment of the quality of the gameplay.
RU2021139414A 2021-12-28 Data redundancy application algorithm for the loudplay cloud gaming platform RU2785897C1 (en)

Publications (1)

Publication Number Publication Date
RU2785897C1 true RU2785897C1 (en) 2022-12-14

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090289945A1 (en) * 2008-05-22 2009-11-26 Natan Peterfreund Centralized streaming game server
US20100329358A1 (en) * 2009-06-25 2010-12-30 Microsoft Corporation Multi-view video compression and streaming
US20150156474A1 (en) * 2012-02-23 2015-06-04 Square Enix Holdings Co., Ltd. Moving image distribution server, moving image playback apparatus, control method, and recording medium
US20170221174A1 (en) * 2016-01-29 2017-08-03 Dzung Dinh Khac Gpu data sniffing and 3d streaming system and method
RU2758985C1 (en) * 2020-06-19 2021-11-08 Общество с ограниченной ответственностью "ЛП Технологии" Video stream matching algorithm for the cloud gaming platform loudplay

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090289945A1 (en) * 2008-05-22 2009-11-26 Natan Peterfreund Centralized streaming game server
US20100329358A1 (en) * 2009-06-25 2010-12-30 Microsoft Corporation Multi-view video compression and streaming
US20150156474A1 (en) * 2012-02-23 2015-06-04 Square Enix Holdings Co., Ltd. Moving image distribution server, moving image playback apparatus, control method, and recording medium
US20170221174A1 (en) * 2016-01-29 2017-08-03 Dzung Dinh Khac Gpu data sniffing and 3d streaming system and method
RU2758985C1 (en) * 2020-06-19 2021-11-08 Общество с ограниченной ответственностью "ЛП Технологии" Video stream matching algorithm for the cloud gaming platform loudplay

Similar Documents

Publication Publication Date Title
US11012338B2 (en) Network adaptive latency reduction through frame rate control
Hong et al. Placing virtual machines to optimize cloud gaming experience
CN111135569A (en) Cloud game processing method and device, storage medium and electronic equipment
CN113117326B (en) Frame rate control method and device
CN113434300B (en) Data processing method and related device
US9363187B2 (en) Jitter buffering system and method of jitter buffering
CN108721898B (en) Frame rate determination method and apparatus, storage medium, and electronic apparatus
RU2758985C1 (en) Video stream matching algorithm for the cloud gaming platform loudplay
US20220226736A1 (en) Selection of virtual server for smart cloud gaming application from multiple cloud providers based on user parameters
WO2024037110A9 (en) Data processing method and apparatus, device, and medium
WO2021236533A1 (en) Content adaptive encoding
CN109889576A (en) A game theory-based optimization method for mobile cloud game resources
Kämäräinen et al. Towards pervasive and mobile gaming with distributed cloud infrastructure
EP4444438A1 (en) Network storage game allocation based on artificial intelligence
RU2785897C1 (en) Data redundancy application algorithm for the loudplay cloud gaming platform
CN107426624A (en) Video game realization method and system, television terminal, cloud server, medium
US20170093674A1 (en) Real-Time End-To-End Latency Monitoring
US12088817B2 (en) Data coding method and apparatus, and computer-readable storage medium
CN111913768A (en) Virtualized cloud desktop and construction method thereof
Huang et al. On the performance comparisons of native and clientless real-time screen-sharing technologies
KR102526963B1 (en) Method and Apparatus for Changing VMI Service Image Quality
US20120110587A1 (en) Methods and apparatuses for accumulating and distributing processing power
Sreenibha Reddy Performance Metrics Analysis of GamingAnywhere with GPU accelerated NVIDIA CUDA
WO2023022717A1 (en) Adjustments of remote access applications based on workloads
Cai et al. Cloud Gaming