RU2733488C1 - Method and system for displaying a cursor when broadcast a video stream - Google Patents

Method and system for displaying a cursor when broadcast a video stream Download PDF

Info

Publication number
RU2733488C1
RU2733488C1 RU2020111933A RU2020111933A RU2733488C1 RU 2733488 C1 RU2733488 C1 RU 2733488C1 RU 2020111933 A RU2020111933 A RU 2020111933A RU 2020111933 A RU2020111933 A RU 2020111933A RU 2733488 C1 RU2733488 C1 RU 2733488C1
Authority
RU
Russia
Prior art keywords
cursor
video stream
user
image
server
Prior art date
Application number
RU2020111933A
Other languages
Russian (ru)
Inventor
Максим Алексеевич Владыкин
Григорий Анатольевич Кириленко
Original Assignee
Общество с ограниченной ответственностью "Игровые решения" (ООО "Игровые решения")
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "Игровые решения" (ООО "Игровые решения") filed Critical Общество с ограниченной ответственностью "Игровые решения" (ООО "Игровые решения")
Priority to RU2020111933A priority Critical patent/RU2733488C1/en
Application granted granted Critical
Publication of RU2733488C1 publication Critical patent/RU2733488C1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance

Abstract

FIELD: computer equipment.
SUBSTANCE: method of displaying a cursor when broadcast a video stream comprises steps of: initiating transmission of a video stream from a server part to a user device; capturing a cursor image in a first OS; transmitting a cursor image and a video stream to a second OS on a user device, wherein the cursor image is transmitted separately from the video stream; obtained video stream and cursor image are displayed in second OS on user device; recording user input generating cursor position change and transmitting coordinates of changed cursor position to server part; generating a cursor image in the first OS in accordance with the changed coordinates and sending the cursor image to the second OS; receiving, on user device, corresponding frame of video stream and image of cursor with changed position; displaying a cursor image in a second OS in a broadcast video stream.
EFFECT: reduced delay and high accuracy of displaying cursor position during video stream broadcast due to reduced time between change of input device position and updating cursor position on user display device.
6 cl, 4 dwg

Description

ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY

[0001] Настоящее техническое решение относится к области компьютерной техники, в частности, к способу и системе для отображения курсора при транслировании видеопотока через сеть передачи данных.[0001] The present technical solution relates to the field of computer technology, in particular, to a method and system for displaying a cursor when broadcasting a video stream over a data network.

УРОВЕНЬ ТЕХНИКИLEVEL OF TECHNOLOGY

[0002] Сервисы потоковой передачи данных в настоящее время все больше развиваются в сфере игровой индустрии и предлагают конечным пользователям возможность осуществления игрового процесса с помощью облачной трансляции видеопотока на клиентские устройства, при непосредственном выполнении аппаратной обработки на сервере. Основной технической проблемой данной технологии является высокое требование к пропускной способности сети и стабильности сетевого соединения, что особенно важно для осуществления игрового процесса в динамических играх с поддержанием высокой частоты кадров, и обеспечением плавного управления с минимальными задержками со стороны пользователя.[0002] Streaming services are now increasingly evolving in the gaming industry and offer end users the ability to perform gameplay via cloud-based video streaming to client devices, while directly performing hardware processing on the server. The main technical problem of this technology is a high requirement for network bandwidth and network connection stability, which is especially important for the implementation of the gameplay in dynamic games with maintaining a high frame rate, and ensuring smooth control with minimal delays on the part of the user.

[0003] Из уровня техники известен способ синхронизации указателя на локальной машине пользователя при осуществлении удаленных презентаций через сеть передачи данных (US 9292108 В2, 22.03.2016). В известном решении изображение курсора захватывается на сервере и отправляется на клиент вместе с фоновым изображением, что приводит к возникновению сетевой задержки между движением мыши и отображением курсора. Общая задержка состоит из двух составляющих: задержка между отправкой координат мыши с клиента и отрисовкой курсора на сервере; задержка между отрисовкой курсора на сервере и отображением изображения с новой позицией курсора на клиенте.[0003] A method of synchronizing a pointer on a user's local machine when making remote presentations via a data network is known from the prior art (US 9292108 B2, 03.22.2016). In the known solution, the cursor image is captured on the server and sent to the client along with the background image, which results in a network delay between mouse movement and cursor display. The total delay consists of two components: the delay between sending the mouse coordinates from the client and drawing the cursor on the server; delay between rendering the cursor on the server and displaying the image with the new cursor position on the client.

[0004] Существенным недостатком является большая задержка при применении данного решения для транслирования видеопотока, в котором происходит быстрая смена кадров и динамичное перемещения указателя, что приводит к потере плавности перемещения курсора и неточном отражении его позиции в ходе трансляции и получения изображения на клиентском устройстве.[0004] A significant drawback is a large delay when applying this solution for broadcasting a video stream, in which there is a fast frame change and dynamic movement of the pointer, which leads to a loss of smoothness of movement of the cursor and inaccurate reflection of its position during broadcast and image acquisition on the client device.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

[0005] Для решения существующей технической проблемы в части снижения задержки перемещения курсора при трансляции видеопотока в режиме онлайн, предлагается заявленное изобретение, реализующее новый принцип отслеживания и отрисовки курсора.[0005] To solve the existing technical problem in terms of reducing the delay in cursor movement when broadcasting a video stream online, the claimed invention is proposed that implements a new principle of tracking and drawing a cursor.

[0006] Техническим результатом является снижение задержки и повышение точности отображения позиции курсора при транслировании видеопотока, за счет сокращения времени между изменением положения устройства ввода и обновлением положения курсора на устройстве отображения пользователя.[0006] The technical result is to reduce the delay and improve the display accuracy of the cursor position when broadcasting a video stream, by reducing the time between changing the position of the input device and updating the cursor position on the user's display device.

[0007] Заявленный результат достигается за счет компьютерно-реализуемого способа отображения курсора при транслировании видеопотока, выполняемый с помощью процессора и содержащий этапы, на которых:[0007] The claimed result is achieved due to a computer-implemented method for displaying a cursor when broadcasting a video stream, performed using a processor and containing the steps at which:

- инициируют трансляцию видеопотока от серверной части устройству пользователя, при этом серверная часть осуществляет формирование видеопотока в первой операционной системе (ОС);- initiate the broadcast of the video stream from the server part to the user device, while the server part generates the video stream in the first operating system (OS);

- фиксируют изображение курсора в первой ОС;- fix the cursor image in the first OS;

- передают изображение курсора и видеопоток во вторую ОС на устройство пользователя, причем изображение курсора передается отдельно от видеопотока;- transmit the cursor image and the video stream to the second OS to the user's device, and the cursor image is transmitted separately from the video stream;

- отображают во второй ОС на устройстве пользователя получаемый видеопоток и изображение курсора, причем изображение курсора накладывается поверх видеопотока;- display in the second OS on the user's device the received video stream and the cursor image, the cursor image being superimposed on top of the video stream;

- фиксируют пользовательский ввод, генерирующий изменение положения курсора во второй ОС при транслировании кадра видеопотока на устройстве пользователя, и передают координаты измененного положения курсора на серверную часть;- fix the user input generating a change in the cursor position in the second OS when broadcasting a video stream frame on the user's device, and transmit the coordinates of the changed cursor position to the server part;

- принимают на серверной части координаты измененного положения курсора в видеопотоке на устройстве пользователя и формируют событие изменения положения курсора для первой ОС;- accept on the server side the coordinates of the changed position of the cursor in the video stream on the user's device and generate an event of changing the position of the cursor for the first OS;

- формируют изображение курсора в первой ОС в соответствии с координатами измененного положения курсора и передают изображение курсора во вторую ОС на устройство пользователя;- form a cursor image in the first OS in accordance with the coordinates of the changed cursor position and transmit the cursor image to the second OS to the user's device;

- принимают на устройстве пользователя соответствующий кадр видеопотока от серверной части и изображение курсора с измененным положением в соответствии с пользовательским вводом;- receive on the user's device the corresponding frame of the video stream from the server part and the image of the cursor with a changed position in accordance with user input;

- отображают изображение курсора во второй ОС в транслируемом видеопотоке.- display the cursor image in the second OS in the broadcast video stream.

[0008] В одном из частных вариантов осуществления способа, изображение курсора во второй ОС соответствует перемещению устройства ввода, подключенного к устройству пользователя.[0008] In one of the particular embodiments of the method, the cursor image in the second OS corresponds to the movement of the input device connected to the user device.

[0009] В другом частном варианте осуществления способа, устройство ввода выбирается из группы: манипулятор мышь, джойстик, стилус, сенсорный дисплей.[0009] In another particular embodiment of the method, the input device is selected from the group: mouse manipulator, joystick, stylus, touch display.

[0010] В другом частном варианте осуществления способа, устройство пользователя выбирается из группы: персональный компьютер, ноутбук, смартфон, планшет, игровая приставка.[0010] In another particular embodiment of the method, the user's device is selected from the group: personal computer, laptop, smartphone, tablet, game console.

[0011] В другом частном варианте осуществления способа, на устройстве пользователя изменение положения курсора фиксируется для второй ОС независимо от получаемого видеопотока.[0011] In another particular embodiment of the method, on the user's device, the change in the cursor position is fixed for the second OS, regardless of the received video stream.

[0012] Заявленное изобретение также реализуется за счет системы для отображения курсора при транслировании видеопотока, содержащая соединенные сетью передачи данных сервер и устройство пользователя, в которой:[0012] The claimed invention is also implemented through a system for displaying a cursor when broadcasting a video stream, comprising a server and a user device connected by a data transmission network, in which:

сервер выполнен с возможностьюthe server is configured

инициирования трансляции видеопотока устройству пользователя, при этом серверная часть осуществляет формирование видеопотока в первой операционной системе (ОС);initiating the broadcast of the video stream to the user's device, while the server part generates the video stream in the first operating system (OS);

фиксации изображения курсора в первой ОС;fixing the cursor image in the first OS;

передачи изображения курсора и видеопотока во вторую ОС на устройстве пользователя, причем изображение курсора передается отдельно от видеопотока;transmitting the cursor image and the video stream to a second OS on the user's device, the cursor image being transmitted separately from the video stream;

получения координат измененного положения курсора в видеопотоке во второй ОС на устройстве пользователя;obtaining coordinates of the changed position of the cursor in the video stream in the second OS on the user's device;

формирования события изменения положения курсора для первой ОС на основании полученных координат;generating an event of changing the position of the cursor for the first OS based on the obtained coordinates;

формирования изображения курсора в первой ОС в соответствии с упомянутым событием изменения его положения;forming an image of the cursor in the first OS in accordance with the mentioned event of changing its position;

передачи изображения курсора во вторую ОС на устройство пользователя;transferring the cursor image to the second OS to the user's device;

устройство пользователя выполнено с возможностьюthe user's device is configured

получения видеопотока от первой ОС;receiving a video stream from the first OS;

отображения курсора во второй ОС поверх получаемого видеопотока;displaying the cursor in the second OS over the received video stream;

фиксации пользовательского ввода, генерирующего изменение положения курсора во второй ОС при транслировании кадра видеопотока на устройстве пользователя;fixing user input generating a change in the cursor position in the second OS when broadcasting a video stream frame on the user's device;

передаче координат измененного положения курсора на сервер;transferring the coordinates of the changed position of the cursor to the server;

получения изображения курсора от второй ОС с измененным положением в соответствии с пользовательским вводом, зафиксированным для первой ОС;obtaining an image of the cursor from the second OS with a changed position in accordance with user input captured for the first OS;

накладывания полученного изображения с измененным положением курсора на соответствующий кадр видеопотока;superimposing the obtained image with the changed position of the cursor on the corresponding frame of the video stream;

отображения изображение курсора во второй ОС в транслируемом видеопотоке.displaying the cursor image in the second OS in the broadcast video stream.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF DRAWINGS

[0013] Фиг. 1 иллюстрирует общую схему взаимодействия вычислительных устройств.[0013] FIG. 1 illustrates a general diagram of the interaction of computing devices.

[0014] Фиг. 2 иллюстрирует блок-схемы выполнения заявленного способа.[0014] FIG. 2 illustrates flowcharts of the claimed method.

[0015] Фиг. 3 иллюстрирует пример формирования курсора в последовательности кадров.[0015] FIG. 3 illustrates an example of forming a cursor in a sequence of frames.

[0016] Фиг. 4 иллюстрирует пример вычислительного устройства, пригодного для реализации заявленного технического решения.[0016] FIG. 4 illustrates an example of a computing device suitable for implementing the claimed technical solution.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯCARRYING OUT THE INVENTION

[0017] Как показано на Фиг. 1 заявленное решение представляет собой вычислительную систему (100), включающую в себя сервер (110) и пользовательское устройство (120), соединяемые между собой сетью передачи данных (150), например, с помощью вычислительной сети Интернет.[0017] As shown in FIG. 1, the claimed solution is a computing system (100) including a server (110) and a user device (120), interconnected by a data transmission network (150), for example, using the Internet.

[0018] Сервер (110) и пользовательское устройство (120) осуществляют заданный функционал с помощью соответствующих ОС (111, 121) и программных приложений, установленных на устройствах (110, 120). Сервер (110) с помощью ОС (111) осуществляет формирование по запросу пользовательского устройства (110) видеопотока для его трансляции.[0018] The server (110) and the user device (120) implement the predetermined functionality using the corresponding OS (111, 121) and software applications installed on the devices (110, 120). The server (110), using the OS (111), generates, upon request of the user device (110), a video stream for its broadcast.

[0019] Технология передачи транслируемого видеопотока основывается на первичном его формировании на сервере (110) в его ОС (111) и последующем его захвате и покадровом транслировании в ОС (121) пользовательского устройства (120). В качестве игрового потока, в частности, может выступать компьютерная игра, управление которой осуществляется на устройстве пользователя (120) с помощью соответствующих средств ввода данных, например, манипулятор мышь, джойстик, сенсорный дисплей и т.п.[0019] The technology for transmitting the broadcast video stream is based on its initial formation on the server (110) in its OS (111) and its subsequent capture and frame-by-frame broadcast in the OS (121) of the user device (120). The game stream, in particular, can be a computer game, which is controlled on the user's device (120) using appropriate data input means, for example, a mouse, joystick, touch screen, etc.

[0020] Для реализации заявленного решения важно осуществлять разделение транслируемого видеопотока и изображения курсора при его перемещении на стороне пользователя, поскольку основное изменение потока игрового процесса обрабатывается на сервере (110) в ОС (111), в связи с чем необходимо формировать отдельное изображение указателя на основании координат изменения траектории его перемещения на устройстве пользователя (120) в ОС (121).[0020] To implement the claimed solution, it is important to separate the broadcast video stream and the cursor image when it moves on the user's side, since the main change in the game process flow is processed on the server (110) in the OS (111), and therefore it is necessary to form a separate image of the pointer to based on the coordinates of the change in the trajectory of its movement on the user's device (120) in the OS (121).

[0021] В качестве пользовательского устройства (120) может использоваться широкий класс устройств, например, персональный компьютер, ноутбук, смартфон, планшет, игровая приставка и т.п. Организация сети передачи данных (150) также является стандартизованным и широко известным из уровня техники решением, с применением технологий проводной и/или беспроводной связи, например, LAN, WAN, PAN, WLAN, GSM/3G/LTE/5G и т.п.[0021] A wide class of devices can be used as the user device (120), for example, a personal computer, laptop, smartphone, tablet, game console, and the like. The organization of a data transmission network (150) is also a standardized and widely known solution in the prior art, using wired and / or wireless communication technologies, for example, LAN, WAN, PAN, WLAN, GSM / 3G / LTE / 5G, etc.

[0022] На Фиг. 2 приведена блок-схема заявленного способа (200) формировании курсора. На первом этапе (201) пользователь с помощью клиентского приложения в ОС (121) устройства (120) для начала получения видеопотока инициирует запрос на его трансляцию от сервера (110). Запрос может осуществляться с помощью программного приложения (клиентского приложения) в ОС (121).[0022] FIG. 2 shows a block diagram of the claimed method (200) for forming a cursor. At the first stage (201), the user, using the client application in the OS (121) of the device (120), to start receiving the video stream, initiates a request for its broadcast from the server (110). The request can be made using a software application (client application) in the OS (121).

[0023] При инициировании трансляции видеопоток первоначально отображается в ОС (111) сервера (110) после чего выполняется его захвати передача через сеть (150) в ОС (121) на устройство пользователя (120).[0023] When the broadcast is initiated, the video stream is initially displayed in the OS (111) of the server (110), after which it is captured and transmitted via the network (150) to the OS (121) to the user device (120).

[0024] На этапе (202) в ОС (111) на сервере (110) активируется функция отслеживания изменения положения курсора в ОС (111) на основании манипуляций, осуществляемых со стороны пользователя (120), о чем будет указано подробнее далее.[0024] At step (202) in the OS (111) on the server (110), the function of tracking the change in the position of the cursor in the OS (111) is activated based on the manipulations performed by the user (120), which will be discussed in more detail below.

[0025] Первично выполняется захват положения курсора в ОС (111) на этапе (203) после чего на устройство пользователя (120) передается изображение курсора и видеопоток по отдельности (этап 204). Получаемый видеопоток отображается в ОС (121) устройства пользователя (120) (этап 205).[0025] Initially, the cursor position is captured in the OS (111) at step (203), after which the cursor image and the video stream are transmitted to the user device (120) separately (step 204). The resulting video stream is displayed in the OS (121) of the user device (120) (step 205).

[0026] Изображение курсора формируется и отображается в ОС (121) на устройстве (120) поверх видеопотока (этап 206). При изменении положения курсора в ОС (121) с помощью перемещения устройства ввода пользовательского устройства (120) ОС (121) фиксируется изменение пиксельных координат X/Y курсора на этапе (207). Формирование изображения курсора в ОС (121) на устройстве пользователя (120) осуществляется программным обеспечением независимо от поступающего видеопотока.[0026] A cursor image is generated and displayed in the OS (121) on the device (120) over the video stream (step 206). When changing the position of the cursor in the OS (121) by moving the input device of the user device (120), the OS (121) fixes the change in the pixel coordinates X / Y of the cursor at step (207). The formation of an image of the cursor in the OS (121) on the user's device (120) is carried out by the software independently of the incoming video stream.

[0027] На этапе (208) после изменения положения курсора в ОС (121) выполняется передача данных, содержащих координаты курсора, в которые он был перемещен, на сервер (110). На сервере (110) координаты курсора принимаются и фиксируются в ОС (111) для его последующей отрисовки в соответствующей позиции дисплея.[0027] At step (208), after changing the position of the cursor in the OS (121), data is transmitted containing the coordinates of the cursor to which it was moved to the server (110). On the server (110), the coordinates of the cursor are received and fixed in the OS (111) for its subsequent rendering in the corresponding display position.

[0028] По итогам формирования изображения курсора в ОС (111) на сервере (110) в соответствии с координатами измененного положения курсора, полученными от ОС (121) клиента, изображение курсора передается на устройство пользователя (120) для его отрисовки поверх транслируемого видеопотока в ОС (121).[0028] Following the formation of the cursor image in the OS (111) on the server (110) in accordance with the coordinates of the changed cursor position received from the client OS (121), the cursor image is transmitted to the user's device (120) to be drawn over the broadcast video stream in OS (121).

[0029] Процесс отслеживания изменения положения курсора итеративно повторяется при получении видеопотока в режиме онлайн и совершении манипуляций с помощью средства ввода на устройстве пользователя (120), приводящим к смещению курсора.[0029] The process of tracking the change in the position of the cursor is iteratively repeated when receiving a video stream in the online mode and performing manipulations using the input means on the user's device (120), leading to the movement of the cursor.

[0030] На Фиг. 3 представлен пример формирования изображения курсора в наборе кадров видеопотока. При старте передачи видеопотока первично передаваемый кадр (301) от сервера (110) передается на устройство пользователя (120) без изображения курсора (31). Изначально изображение курсора (31) фиксируется в заданном местоположении кадра (301) при последующей передаче в клиентское приложение. В данном примере кадр отображает графический интерфейс пользователя компьютерной игры, содержащий управляемого персонажа (310) и позицию изображения курсора (31).[0030] FIG. 3 shows an example of forming a cursor image in a set of frames of a video stream. At the start of the video stream transmission, the initially transmitted frame (301) from the server (110) is transmitted to the user device (120) without the cursor image (31). Initially, the cursor image (31) is fixed at a predetermined location of the frame (301) upon subsequent transmission to the client application. In this example, the frame displays the graphical user interface of the computer game, containing the controlled character (310) and the position of the cursor image (31).

[0031] При изменении положения курсора в одном из следующих кадров (302) из позиции (31) в (32) ОС (121) клиентского приложения осуществляется фиксация координат (X/Y) на пиксельной сетке на протяжении всей траектории его перемещения и динамическая их отправка на сервер (ПО). На Фиг. 3 в качестве примера приведен этап передачи координат конечной позиции (32) курсора, однако это не является ограничивающим примером реализации заявленного решения. Полученные координаты позиции (32) передаются на сервер (110) для их фиксации в ОС (111), в которой осуществляется захват кадров видеопотока и последующее формирование самого изображения курсора (33) в позиции, соответствующий координатам измененной позиции (32) ОС (121). Изображение курсора (33) формируется для следующего кадра (303) и передается отдельно от видеопотока на устройство пользователя (120), где впоследствии накладывается на следующий кадр (304).[0031] When changing the position of the cursor in one of the following frames (302) from position (31) in (32) OS (121) of the client application, the coordinates (X / Y) are fixed on the pixel grid throughout the entire trajectory of its movement and their dynamic sending to the server (software). FIG. 3 shows the step of transferring the coordinates of the end position (32) of the cursor as an example, but this is not a limiting example of the implementation of the claimed solution. The obtained coordinates of the position (32) are transmitted to the server (110) for their fixation in the OS (111), in which the frames of the video stream are captured and the subsequent formation of the cursor image itself (33) in the position corresponding to the coordinates of the changed position (32) of the OS (121) ... The cursor image (33) is formed for the next frame (303) and is transmitted separately from the video stream to the user device (120), where it is subsequently superimposed on the next frame (304).

[0032] На Фиг. 4 представлен общий пример вычислительного компьютерного устройства (400), которое может применяться для реализации вычислительных устройств, входящих в настоящее изобретение. На базе устройства (400) может выполняться устройство пользователя (120) и сервер (110). Компоненты устройства (400), как правило, сопряжены посредством общей шины передачи данных.[0032] FIG. 4 illustrates a general example of a computing computing device (400) that may be used to implement computing devices included in the present invention. The device (400) can be used as a basis for a user device (120) and a server (110). The components of the device (400), as a rule, are interfaced through a common data bus.

[0033] В общем случае устройство (400) содержит такие компоненты, как: один или более процессоров (401), по меньшей мере одну оперативную память (402), средство постоянного хранения данных (403), интерфейсы ввода/вывода (404), средство В/В (405), средства сетевого взаимодействия (406).[0033] In general, the device (400) contains components such as: one or more processors (401), at least one random access memory (402), persistent data storage (403), input / output interfaces (404), I / O means (405), networking means (406).

[0034] Процессор (401) устройства выполняет основные вычислительные операции, необходимые для функционирования устройства (400) или функционала одного или более его компонентов. Процессор (401) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (402).[0034] The processor (401) of the device performs the basic computational operations necessary for the operation of the device (400) or the functionality of one or more of its components. The processor (401) executes the necessary machine-readable instructions contained in the main memory (402).

[0035] Память (402), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал. Средство хранения данных (403) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средство (403) позволяет выполнять долгосрочное хранение различного вида информации, например, истории обработки запросов (логов), идентификаторов пользователей, звуковые файлы и т.п.[0035] Memory (402), as a rule, is made in the form of RAM and contains the necessary program logic to provide the required functionality. The data storage medium (403) can be performed in the form of HDD, SSD disks, raid array, network storage, flash memory, optical information storage devices (CD, DVD, MD, Blue-Ray disks), etc. The tool (403) allows for long-term storage of various types of information, for example, the history of processing requests (logs), user IDs, sound files, etc.

[0036] Интерфейсы (404) представляют собой стандартные средства для подключения и работы различного вида устройств (400), например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, Fire Wire и т.п.Выбор интерфейсов (404) зависит от конкретного исполнения устройства (400), которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук и т.п.[0036] Interfaces (404) are standard means for connecting and operating various types of devices (400), for example, USB, RS232, RJ45, LPT, COM, HDMI, PS / 2, Lightning, Fire Wire, etc. interfaces (404) depends on the specific implementation of the device (400), which can be a personal computer, mainframe, server cluster, thin client, smartphone, laptop, etc.

[0037] В качестве средств В/В данных (405) может использоваться: клавиатура, джойстик, дисплей (сенсорный дисплей), проектор, тачпад, манипулятор мышь, трекбол, световое перо, динамики, микрофон и т.п.[0037] As I / O data means (405), a keyboard, joystick, display (touchscreen display), projector, touchpad, mouse, trackball, light pen, speakers, microphone, etc. can be used.

[0038] Средства сетевого взаимодействия (406) выбираются из устройства, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средства (406) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.[0038] Networking means (406) are selected from a device that provides network reception and transmission of data, for example, Ethernet card, WLAN / Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFID module, GSM modem, etc. .P. The tool (406) provides the organization of data exchange via a wired or wireless data transmission channel, for example, WAN, PAN, LAN, Intranet, Internet, WLAN, WMAN or GSM.

[0039] В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.[0039] In the present application materials, the preferred disclosure of the implementation of the claimed technical solution was presented, which should not be used as limiting other, particular embodiments of its implementation, which do not go beyond the claimed scope of legal protection and are obvious to specialists in the relevant field of technology.

Claims (31)

1. Компьютерно-реализуемый способ отображения курсора при транслировании видеопотока, выполняемый с помощью процессора и содержащий этапы, на которых:1. A computer-implemented method of displaying a cursor when broadcasting a video stream, performed using a processor and containing stages at which: инициируют трансляцию видеопотока от серверной части устройству пользователя, при этом серверная часть осуществляет формирование видеопотока в первой операционной системе (ОС);initiate the broadcast of the video stream from the server side to the user device, while the server side generates the video stream in the first operating system (OS); фиксируют изображение курсора в первой ОС;fix the cursor image in the first OS; передают изображение курсора и видеопоток во вторую ОС на устройство пользователя, причем изображение курсора передается отдельно от видеопотока;transmitting the cursor image and the video stream to the second OS to the user device, the cursor image being transmitted separately from the video stream; отображают во второй ОС на устройстве пользователя получаемый видеопоток и изображение курсора, причем изображение курсора накладывается поверх видеопотока;displaying the received video stream and the cursor image in the second OS on the user's device, the cursor image being superimposed over the video stream; фиксируют пользовательский ввод, генерирующий изменение положения курсора во второй ОС при транслировании кадра видеопотока на устройстве пользователя и передают координаты измененного положения курсора на серверную часть;fixing user input generating a change in the position of the cursor in the second OS when broadcasting a frame of the video stream on the user's device and transmitting the coordinates of the changed position of the cursor to the server part; принимают на серверной части координаты измененного положения курсора в видеопотоке на устройстве пользователя и формируют событие изменения положения курсора для первой ОС;take on the server side coordinates of the changed position of the cursor in the video stream on the user's device and generate an event of changing the position of the cursor for the first OS; формируют изображение курсора в первой ОС в соответствии с координатами измененного положения курсора и передают изображение курсора во вторую ОС на устройство пользователя;forming a cursor image in the first OS in accordance with the coordinates of the changed cursor position and transmitting the cursor image to the second OS to the user device; принимают на устройстве пользователя соответствующий кадр видеопотока от серверной части и изображение курсора с измененным положением в соответствии с пользовательским вводом;receive on the user's device the corresponding frame of the video stream from the server part and the image of the cursor with a changed position in accordance with the user input; отображают изображение курсора во второй ОС в транслируемом видеопотоке.display the cursor image in the second OS in the broadcast video stream. 2. Способ по п.1, характеризующийся тем, что изображение курсора во второй ОС соответствует перемещению устройства ввода, подключенного к устройству пользователя.2. The method according to claim 1, characterized in that the cursor image in the second OS corresponds to the movement of the input device connected to the user device. 3. Способ по п.2, характеризующийся тем, что устройство ввода выбирается из группы: манипулятор, мышь, джойстик, стилус, сенсорный дисплей. 3. The method according to claim 2, characterized in that the input device is selected from the group: manipulator, mouse, joystick, stylus, touch display. 4. Способ по п.1, характеризующийся тем, что устройство пользователя выбирается из группы: персональный компьютер, ноутбук, смартфон, планшет, игровая приставка. 4. The method according to claim 1, characterized in that the user's device is selected from the group: personal computer, laptop, smartphone, tablet, game console. 5. Способ по п.2, характеризующийся тем, что на устройстве пользователя изменение положения курсора фиксируется для второй ОС независимо от получаемого видеопотока.5. The method according to claim 2, characterized in that, on the user's device, the change in the cursor position is fixed for the second OS, regardless of the received video stream. 6. Система для отображения курсора при транслировании видеопотока, содержащая соединенные сетью передачи данных сервер и устройство пользователя, в которой:6. A system for displaying a cursor when broadcasting a video stream, containing a server and a user device connected by a data transmission network, in which: сервер выполнен с возможностьюthe server is configured инициирования трансляции видеопотока устройству пользователя, при этом серверная часть осуществляет формирование видеопотока в первой операционной системе (ОС);initiating the broadcast of the video stream to the user's device, while the server part generates the video stream in the first operating system (OS); фиксации изображения курсора в первой ОС;fixing the cursor image in the first OS; передачи изображения курсора и видеопотока во вторую ОС на устройстве пользователя, причем изображение курсора передается отдельно от видеопотока;transmitting the cursor image and the video stream to a second OS on the user's device, the cursor image being transmitted separately from the video stream; получения координат измененного положения курсора в видеопотоке во второй ОС на устройстве пользователя;obtaining coordinates of the changed position of the cursor in the video stream in the second OS on the user's device; формирования события изменения положения курсора для первой ОС на основании полученных координат;generating an event of changing the position of the cursor for the first OS based on the obtained coordinates; формирования изображения курсора в первой ОС в соответствии с упомянутым событием изменения его положения;forming an image of the cursor in the first OS in accordance with the mentioned event of changing its position; передачи изображения курсора во вторую ОС на устройство пользователя;transferring the cursor image to the second OS to the user's device; устройство пользователя выполнено с возможностьюthe user's device is configured получения видеопотока от первой ОС; receiving a video stream from the first OS; отображения курсора во второй ОС поверх получаемого видеопотока; displaying the cursor in the second OS over the received video stream; фиксации пользовательского ввода, генерирующего изменение положения курсора во второй ОС при транслировании кадра видеопотока на устройстве пользователя; fixing user input generating a change in the cursor position in the second OS when broadcasting a video stream frame on the user's device; передачи координат измененного положения курсора на сервер; transferring coordinates of the changed cursor position to the server; получения изображения курсора от второй ОС с измененным положением в соответствии с пользовательским вводом, зафиксированным для первой ОС;obtaining an image of the cursor from the second OS with a changed position in accordance with user input captured for the first OS; накладывания полученного изображения с измененным положением курсора на соответствующий кадр видеопотока;superimposing the obtained image with the changed position of the cursor on the corresponding frame of the video stream; отображения изображения курсора во второй ОС в транслируемом видеопотоке.displaying the cursor image in the second OS in the broadcast video stream.
RU2020111933A 2020-03-24 2020-03-24 Method and system for displaying a cursor when broadcast a video stream RU2733488C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2020111933A RU2733488C1 (en) 2020-03-24 2020-03-24 Method and system for displaying a cursor when broadcast a video stream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2020111933A RU2733488C1 (en) 2020-03-24 2020-03-24 Method and system for displaying a cursor when broadcast a video stream

Publications (1)

Publication Number Publication Date
RU2733488C1 true RU2733488C1 (en) 2020-10-01

Family

ID=72926688

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020111933A RU2733488C1 (en) 2020-03-24 2020-03-24 Method and system for displaying a cursor when broadcast a video stream

Country Status (1)

Country Link
RU (1) RU2733488C1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140179440A1 (en) * 2012-12-26 2014-06-26 David Perry Systems and Methods for Managing Video Game Titles and User Play Metrics for Video Game Titles Executing on a Game Cloud System
RU2015122884A (en) * 2012-11-16 2017-01-10 Сони Компьютер Энтертейнмент Америка Ллк SYSTEMS AND METHODS OF CLOUD PROCESSING AND COVERAGE OF THE CONTENT ON THE STREAM VIDEO FRAMES OF REMOTE PROCESSED APPLICATIONS
US20170123649A1 (en) * 2015-10-28 2017-05-04 Rabbit, Inc. Remote Desktop Controlled by Touch Device
US20170178400A1 (en) * 2015-12-22 2017-06-22 Dassault Systemes Hybrid streaming
KR102050068B1 (en) * 2018-06-14 2019-11-28 (주)시스윈일렉트로닉스 Image delay elimnation apparatus of mouse for remote control system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2015122884A (en) * 2012-11-16 2017-01-10 Сони Компьютер Энтертейнмент Америка Ллк SYSTEMS AND METHODS OF CLOUD PROCESSING AND COVERAGE OF THE CONTENT ON THE STREAM VIDEO FRAMES OF REMOTE PROCESSED APPLICATIONS
US20140179440A1 (en) * 2012-12-26 2014-06-26 David Perry Systems and Methods for Managing Video Game Titles and User Play Metrics for Video Game Titles Executing on a Game Cloud System
US20170123649A1 (en) * 2015-10-28 2017-05-04 Rabbit, Inc. Remote Desktop Controlled by Touch Device
US20170178400A1 (en) * 2015-12-22 2017-06-22 Dassault Systemes Hybrid streaming
KR102050068B1 (en) * 2018-06-14 2019-11-28 (주)시스윈일렉트로닉스 Image delay elimnation apparatus of mouse for remote control system

Similar Documents

Publication Publication Date Title
US11582284B2 (en) Optimization of publication of an application to a web browser
US11726736B2 (en) System to facilitate interaction during a collaborative screen sharing session
US9131021B2 (en) Dynamic screen sharing for optimal performance
EP3198409B1 (en) Partitioned application presentation across devices
WO2015027912A1 (en) Method and system for controlling process for recording media content
US9201755B2 (en) Real-time, interactive measurement techniques for desktop virtualization
WO2021057448A1 (en) Information display method and apparatus
US20160219126A1 (en) Virtual desktop providing method and virtual desktop providing server thereof
US20190251961A1 (en) Transcription of audio communication to identify command to device
WO2016197590A1 (en) Method and apparatus for providing screenshot service on terminal device and storage medium and device
US10269377B2 (en) Detecting pause in audible input to device
US20170289230A1 (en) Streaming content adjustment based on camera feedback
US8516143B2 (en) Transmitting data within remote application
WO2023221406A1 (en) Method and apparatus for operating deep learning compiler, and electronic device
WO2023273562A1 (en) Video playback method and apparatus, electronic device, and medium
RU2733488C1 (en) Method and system for displaying a cursor when broadcast a video stream
US9400757B2 (en) Automatically changing application priority as a function of a number of people proximate to a peripheral device
WO2015039585A1 (en) Method and device for testing software reliability
JP2017184175A (en) Information generation program, information generation method, and information generation device
CN113676746B (en) Method, apparatus, device and medium for detecting live broadcast jitter
WO2024045026A1 (en) Display method, electronic device, display device, screen mirroring device and medium
KR20220031871A (en) Apparatus and method for remote connection
KR20200056557A (en) Apparatus, system, and method for remote connection
CN116880789A (en) Screen expansion method, device, equipment and storage medium