IP Library › Granted Patent US 11,012,479
Granted Patent B2
US 11,012,479 · App. 16/353,828 · Granted May 18, 2021

Methods for capturing and broadcasting user computer sessions and related computer program products

Inventors: Yann Dirson (Nanterre, FR); Grégory Gelly (Paris, FR)
Assignee: BLADE
H04L65/1069G06T1/20H04L65/4023H04L65/607
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,012,479
App. No.
16/353,828
Granted
May 18, 2021
Kind
B2
Abstract

Methods for capturing and broadcasting a user computer session may involve running the session on a host computer equipped with a graphics processing unit to prepare session display data. The capturing and broadcasting method implements the operations of repeatedly providing the display data prepared by the graphics processing unit to a first encoder and a second encoder to establish a primary video stream and a secondary video stream; then transmitting the primary video stream to the remote client associated with the computer session and transmitting the secondary video stream to a subscriber client.

Claims (22)

1. A method of capturing and broadcasting a user computer session, the session running on a host computer equipped with a graphics processing unit to prepare session display data, the capturing and broadcasting method implementing the following operations:

repeatedly providing display data prepared by the graphics processing unit to a first encoder presenting a first ceiling bit rate and establishing a primary video stream utilizing the first encoder;

transmitting the primary video stream to a remote client associated with the computer session;

repeatedly providing the same display data to a second, different encoder presenting a second ceiling bit rate different from the first ceiling bit rate and establishing a secondary video stream utilizing the second encoder; and

transmitting the secondary video stream to at least one subscriber client; and

wherein establishing a primary video stream utilizing the first encoder comprises in reference images into the primary video stream, and wherein establishing a secondary video stream utilizing the second encoder comprises introducing reference images into the secondary video stream, with the introduction of the reference images into the secondary video stream having a higher frequency than the introduction of the reference images into the primary video stream.

2. The method according to claim 1 , further comprising configuring the first encoder and the second encoder in response to user input received from the remote client.

3. The method according to claim 2 , wherein configuring the first encoder and the second encoder comprises defining the first ceiling bit rate and the second ceiling bit rate.

4. The method according to claim 2 , wherein configuring the first and second encoder comprises preconfiguring the first encoder and the second encoder before repeatedly providing the display data.

5. The method according to claim 2 , further comprising dynamically adjusting a bit rate of the primary video stream and/or a bit rate of the secondary video stream.

6. The method according to claim 1 , further comprising running a virtual machine on a server to provide the host computer.

7. The method according to claim 6 , wherein the graphics processing unit, the first encoder and the second encoder are carried by a graphics card of the server, and further comprising dedicating the graphics card entirely to the virtual machine.

8. The method according to claim 1 , further comprising successively capturing sound data, and transmitting the successive sound data to the remote client and/or the subscriber client.

9. The method according to claim 1 , further comprising receiving control data from the subscriber client, interpreting the control data to initiate and/or interrupt transmitting the secondary video stream to the subscriber client.

10. The method according to claim 1 , wherein repeatedly providing the display data to the first encoder and the second encoder comprises reading the display data from a buffer memory of the graphics processing unit.

11. The method according to claim 1 , further comprising transmitting the secondary video stream to a plurality of subscriber clients.

12. A computer program product embodied on a computer readable storage medium containing instructions that, when carried out on a host computer equipped with a graphics processing unit to prepare session display data, implements the following operations:

repeatedly providing display data prepared by the graphics processing unit to a first encoder presenting a first ceiling bit rate and establishing a primary video stream utilizing the first encoder;

transmitting the primary video stream to a remote client associated with the computer session;

repeatedly providing the same display data to a second, different encoder presenting a second ceiling bit rate different from the first ceiling bit rate and establishing a secondary video stream utilizing the second encoder; and

transmitting the secondary video stream to at least one subscriber client; and

wherein establishing a primary video stream utilizing the first encoder comprises introducing reference images into the primary video stream, and wherein establishing a secondary video stream utilizing the second encoder comprises introducing reference images into the secondary video stream, with the introduction of the reference images into the secondary video stream having a higher frequency than the introduction of the reference images into the primary video stream.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2021
From: BLADE
To: SHADOW
Reel/Frame 057903/0708 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2019
From: DIRSON, YANN; GELLY, GRÉGORY
To: BLADE
Reel/Frame 050590/0184 →
Priority Claims (1)
FR 1860640 · Nov 16, 2018 · national
Continuity (1)
Related Publication 20200162520A1 · May 21, 2020