IP Library Granted Patent US 12,069,121
Granted Patent B1
US 12,069,121 · App. 17/557,872 · Granted Aug 20, 2024

Adaptive video quality for large-scale video conferencing

Inventors: Gustavo Garcia (Madrid, ES); Badri Rajasekar (Walnut Creek, CA)
Assignee: RingCentral, Inc.
H04L65/75G06T3/4053H04N5/265H04N7/0127
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 12,069,121
App. No.
17/557,872
Granted
Aug 20, 2024
Kind
B1
Abstract

Media, methods, and systems are disclosed for adaptively adjusting video quality in a virtual event hosted by a virtual event hosting platform. A plurality of presenter video streams may be received at a video server. A change of state associated with a presenter video stream of the plurality of presenter video streams may be detected. In response to detecting the change of state, a change to a video display parameter for the presenter video stream may be requested by the video server. The video server may receive the updated presenter video stream from a presenter computing device associated with the presenter video stream. The video server may send updated presenter video stream to a plurality of presenter computing devices associated with the plurality of presenter video streams.

Claims (62)

1. A system for adaptively adjusting video quality in a virtual event hosted by a virtual event hosting platform, the system comprising:

a video server;

at least one processor; and

one or more non-transitory computer-readable media storing computer-executable instructions that when executed by the at least one processor, perform a method of adaptively adjusting the video quality in the virtual event hosted by the virtual event hosting platform, the method comprising:

receiving, at the video server, a plurality of presenter video streams associated with a plurality of presenter computing devices of a plurality of presenters, the plurality of presenter video streams forming the virtual event, wherein each presenter computing device is associated with a presenter video stream of the plurality of presenter video streams;

forwarding the plurality of presenter video streams to each of the plurality of presenter computing devices, the plurality of presenter video streams displayed according to a predefined video stream layout;

monitoring, by the video server, an audio activity level of the presenter video stream and a plurality of device states for the plurality of presenter computing devices, wherein the plurality of device states comprises a bandwidth availability, a processing load, and a battery level;

detecting, by the video server, a first change of at least one device state of the plurality of device states, the first change of the at least one device state associated with a presenter computing device of the plurality of presenter computing devices;

in response to detecting the first change of the at least one device state, automatically generating a request, by the video server, for the presenter computing device to apply a video super-resolution technique to the presenter video stream, wherein the video super-resolution technique is selected based at least in part on a number of presenter video streams for the virtual event;

responsive to a second detection that the audio activity level is below a predetermined threshold, suppressing at least a portion of audio data associated with the presenter video stream based on the audio activity level;

receiving, at the video server, an updated presenter video stream from the presenter computing device associated with the presenter video stream;

forwarding, from the video server, the updated presenter video stream to each presenter computing device according to the predefined video stream layout; and

responsive to a third detection of a second change of the at least one device state of the presenter computing device, automatically generating a second request, by the video server, for the presenter computing device to disable the video super-resolution technique.

2. The system of claim 1 , wherein the predefined video stream layout is associated with a presenter hierarchy.

3. The system of claim 2 , wherein the presenter hierarchy defines at least one of a video frame position in the predefined video stream layout or a presenter authorization level for the virtual event.

4. The system of claim 2 , wherein the method further comprises:

detecting a speaker from the plurality of presenter video streams; and

in response to detecting the speaker, promoting the speaker within the presenter hierarchy.

5. The system of claim 1 , wherein the method further comprises:

mixing, at the video server, the plurality of presenter video streams into a combined video stream for the virtual event; and

forwarding, from the video server, the combined video stream to a plurality of attendee computing devices associated with a plurality of attendees of the virtual event.

6. The system of claim 5 , wherein the method further comprises forwarding, from the video server, the updated presenter video stream as a part of the combined video stream to the plurality of attendee computing devices.

7. A computer-implemented method for adaptively adjusting video quality in a virtual event hosted by a virtual event hosting platform, the computer-implemented method comprising:

receiving a plurality of presenter video streams associated with a plurality of presenter computing devices of a plurality of presenters, the plurality of presenter video streams forming the virtual event, wherein each presenter computing device is associated with a presenter video stream of the plurality of presenter video streams;

forwarding the plurality of presenter video streams to each of the plurality of presenter computing devices, the plurality of presenter video streams displayed according to a predefined video stream layout;

monitoring an audio activity level of the presenter video stream and a plurality of device states for the plurality of presenter computing devices, wherein the plurality of device states comprises a bandwidth availability, a processing load, and a battery level;

detecting a first change of at least one device state of the plurality of device states, the first change of the at least one device state associated with a presenter computing device of the plurality of presenter computing devices;

in response to detecting the first change of the at least one device state, automatically generating a request for the presenter computing device to apply a video super-resolution technique to the presenter video stream, wherein the video super-resolution technique is selected based at least in part on a number of presenter video streams for the virtual event;

responsive to a second detection that the audio activity level is below a predetermined threshold, suppressing at least a portion of audio data associated with the presenter video stream based on the audio activity level;

receiving an updated presenter video stream from the presenter computing device associated with the presenter video stream;

forwarding the updated presenter video stream to each presenter computing device according to the predefined video stream layout; and

responsive to a third detection of a second change of the at least one device state of the presenter computing device, automatically generating a second request for the presenter computing device to disable the video super-resolution technique.

8. The computer-implemented method of claim 7 , wherein the predefined video stream layout is associated with a presenter hierarchy.

9. The computer-implemented method of claim 8 , wherein the presenter hierarchy defines at least one of a video frame position in the predefined video stream layout or a presenter authorization level for the virtual event.

10. The computer-implemented method of claim 8 , further comprising:

detecting a speaker from the plurality of presenter video streams; and

in response to detecting the speaker, promoting the speaker within the presenter hierarchy.

11. The computer-implemented method of claim 7 , further comprising:

mixing the plurality of presenter video streams into a combined video stream for the virtual event; and

forwarding the combined video stream to a plurality of attendee computing devices associated with a plurality of attendees of the virtual event.

12. The computer-implemented method of claim 11 , further comprising:

forwarding the updated presenter video stream as a part of the combined video stream to the plurality of attendee computing devices.

13. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by at least one processor of a virtual event hosting platform, cause the virtual event hosting platform to perform operations comprising:

receiving a plurality of presenter video streams associated with a plurality of presenter computing devices of a plurality of presenters, the plurality of presenter video streams forming a virtual event, wherein each presenter computing device is associated with a presenter video stream of the plurality of presenter video streams;

forwarding the plurality of presenter video streams to each of the plurality of presenter computing devices, the plurality of presenter video streams displayed according to a predefined video stream layout;

monitoring an audio activity level of the presenter video stream and a plurality of device states for the plurality of presenter computing devices, wherein the plurality of device states comprises a bandwidth availability, a processing load, and a battery level;

detecting a first change of at least one device state of the plurality of device states, the first change of the at least one device state associated with a presenter computing device of the plurality of presenter computing devices;

in response to detecting the first change of the at least one device state, automatically generating a request for the presenter computing device to apply a video super-resolution technique to the presenter video stream, wherein the video super-resolution technique is selected based at least in part on a number of presenter video streams for the virtual event;

responsive to a second detection that the audio activity level is below a predetermined threshold, suppressing at least a portion of audio data associated with the presenter video stream based on the audio activity level;

receiving an updated presenter video stream from the presenter computing device associated with the presenter video stream;

forwarding the updated presenter video stream to each presenter computing device according to the predefined video stream layout; and

responsive to a third detection of a second change of the at least one device state of the presenter computing device, automatically generating a second request for the presenter computing device to disable the video super-resolution technique.

14. The one or more non-transitory computer-readable media of claim 13 , wherein the predefined video stream layout is associated with a presenter hierarchy.

15. The one or more non-transitory computer-readable media of claim 14 , wherein the presenter hierarchy defines at least one of a video frame position in the predefined video stream layout or a presenter authorization level for the virtual event.

16. The one or more non-transitory computer-readable media of claim 14 , wherein the computer-executable instructions further cause the virtual event hosting platform to perform operations comprising:

detecting a speaker from the plurality of presenter video streams; and

in response to detecting the speaker, promoting the speaker within the presenter hierarchy.

17. The one or more non-transitory computer-readable media of claim 13 , wherein the computer-executable instructions further cause the virtual event hosting platform to perform operations comprising:

mixing the plurality of presenter video streams into a combined video stream for the virtual event; and

forwarding the combined video stream to a plurality of attendee computing devices associated with a plurality of attendees of the virtual event.

18. The one or more non-transitory computer-readable media of claim 17 , wherein the computer-executable instructions further cause the virtual event hosting platform to perform operations comprising:

forwarding the updated presenter video stream as a part of the combined video stream to the plurality of attendee computing devices.

Assignments (5)
SECURITY INTEREST Recorded Nov 29, 2023
From: RINGCENTRAL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 065693/0745 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S STATE OF INCORPORATION PREVIOUSLY RECORDED AT REEL: 064878 FRAME: 0118. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Oct 11, 2023
From: HOPIN LTD
To: RINGCENTRAL FLORIDA, LLC
Reel/Frame 065217/0774 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2023
From: RINGCENTRAL FLORIDA, LLC
To: RINGCENTRAL, INC.
Reel/Frame 064900/0205 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2023
From: HOPIN LTD
To: RINGCENTRAL FLORIDA, LLC
Reel/Frame 064878/0118 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2021
From: GARCIA, GUSTAVO; RAJASEKAR, BADRI
To: HOPIN LTD
Reel/Frame 058448/0562 →
Cited By (2)
US 12,309,523 US 12,355,992