IP Library Granted Patent US 11,936,698
Granted Patent B2
US 11,936,698 · App. 17/581,299 · Granted Mar 19, 2024

Systems and methods for adaptive video conferencing

Inventors: Sourabh Khire (San Jose, CA); Nithin A. Prakash (San Jose, CA)
Assignee: Verizon Patent and Licensing Inc.
H04L65/403H04N19/14H04N19/42
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,936,698
App. No.
17/581,299
Granted
Mar 19, 2024
Kind
B2
Abstract

An illustrative video conference management system monitors an encoded video stream corresponding to an original real-time video stream of a video conference meeting. The video conference management system determines context data associated with one or more encoded video frames of the encoded video stream. The context data includes at least one of an encoder metric or a content attribute that indicates an encoding complexity level of the original real-time video stream. The video conference management system adjusts one or more encoded video streams corresponding to the original real-time video stream based on the context data. Corresponding methods and systems are also disclosed.

Claims (72)

1. A method comprising:

monitoring, by a video conference management system, an encoded video stream corresponding to an original real-time video stream of a video conference meeting;

determining, by the video conference management system, context data associated with one or more encoded video frames of the encoded video stream, the context data including at least one of an encoder metric or a content attribute that indicates an encoding complexity level of the original real-time video stream, wherein:

the one or more encoded video frames includes a first encoded video frame at a first timestamp and a second encoded video frame at a second timestamp subsequent to the first timestamp; and

the encoder metric is computed using a first weight value associated with the first encoded video frame and a second weight value associated with the second encoded video frame, the second weight value being higher than the first weight value; and

adjusting, by the video conference management system, one or more encoded video streams corresponding to the original real-time video stream based on the context data.

2. The method of claim 1 , wherein:

the one or more encoded video frames corresponds to a past time window that consecutively precedes an original video frame being encoded at a current timestamp.

3. The method of claim 1 , wherein the determining of the context data associated with the one or more encoded video frames includes:

determining the content attribute of one or more original video frames corresponding to the one or more encoded video frames; and

determining the encoder metric associated with one or more encoding operations of a video encoder to encode the one or more original video frames into the one or more encoded video frames.

4. The method of claim 1 , wherein the content attribute comprises one or more of:

an average sum of absolute differences (SAD) between two consecutive original video frames among one or more original video frames corresponding to the one or more encoded video frames; or

an average macroblock variance of an original video frame among the one or more original video frames.

5. The method of claim 1 , wherein the encoder metric comprises one or more of:

an average quantization parameter (QP) value associated with the one or more encoded video frames;

an average encode time associated with the one or more encoded video frames;

an encoding mode distribution associated with the one or more encoded video frames;

an average ratio between an average number of bits in one or more intra-frames (I frames) within a predefined time period and an average number of bits in one or more inter-frames (P frames) within the predefined time period; or

an average difference between a target bitrate and an output bitrate of a video encoder that encodes one or more original video frames into the one or more encoded video frames.

6. The method of claim 1 , wherein:

the encoded video stream generated by a video encoder implemented on an encoding device; and

the context data further comprises one or more of a network condition of a communication channel associated with the encoded video stream, an estimated bandwidth of the communication channel, a device capability of the encoding device, or a device state of the encoding device.

7. The method of claim 1 , wherein:

the context data further comprises a meeting context of the video conference meeting, the meeting context indicating a speaking status of one or more participants of the video conference meeting or a spotlight status of the one or more participants.

8. The method of claim 1 , wherein the adjusting of the one or more encoded video streams corresponding to the original real-time video stream includes:

determining, from the one or more encoded video streams corresponding to the original real-time video stream and based on the context data, a first encoded video stream corresponding to a first video quality level and a second encoded video stream corresponding to a second video quality level; and

enabling the first encoded video stream and disabling the second encoded video stream for a participant device associated with the encoded video stream.

9. The method of claim 8 , wherein the determining of the first encoded video stream and the second encoded video stream includes:

providing the context data as an input into a machine learning model; and

receiving, from the machine learning model, an output specifying at least one of the first encoded video stream or the second encoded video stream.

10. The method of claim 1 , wherein the adjusting of the one or more encoded video streams corresponding to the original real-time video stream includes:

adjusting, based on the context data, an encoder configuration parameter of a video encoder that encodes the original real-time video stream.

11. The method of claim 10 , wherein the adjusting of the encoder configuration parameter of the video encoder includes:

providing the context data as an input into a machine learning model; and

receiving, from the machine learning model, an output specifying a value of the encoder configuration parameter.

12. The method of claim 1 , wherein the adjusting of the one or more encoded video streams corresponding to the original real-time video stream includes:

providing the context data as an input into a machine learning model;

receiving, from the machine learning model, a stream score representing the encoding complexity level of the original real-time video stream and a feasibility level of an encoding device to encode the original real-time video stream; and

adjusting the one or more encoded video streams corresponding to the original real-time video stream based on the stream score.

13. A system comprising:

a memory storing instructions; and

a processor communicatively coupled to the memory and configured to execute the instructions to:

monitor an encoded video stream corresponding to an original real-time video stream of a video conference meeting;

determine context data associated with one or more encoded video frames of the encoded video stream, the context data including at least one of an encoder metric or a content attribute that indicates an encoding complexity level of the original real-time video stream; and

adjust one or more encoded video streams corresponding to the original real-time video stream based on the context data; wherein the adjusting of the one or more encoded video streams corresponding to the original real-time video stream includes:

providing the context data as an input into a machine learning model;

receiving, from the machine learning model, a stream score representing the encoding complexity level of the original real-time video stream and a feasibility level of an encoding device to encode the original real-time video stream; and

adjusting the one or more encoded video streams corresponding to the original real-time video stream based on the stream score.

14. The system of claim 13 , wherein:

the one or more encoded video frames corresponds to a past time window that consecutively precedes an original video frame being encoded at a current timestamp.

15. The system of claim 13 , wherein the determining of the context data associated with the one or more encoded video frames includes:

determining the content attribute of one or more original video frames corresponding to the one or more encoded video frames; and

determining the encoder metric associated with one or more encoding operations of a video encoder to encode the one or more original video frames into the one or more encoded video frames.

16. The system of claim 13 , wherein the adjusting of the one or more encoded video streams corresponding to the original real-time video stream includes:

determining, from the one or more encoded video streams corresponding to the original real-time video stream and based on the context data, a first encoded video stream corresponding to a first video quality level and a second encoded video stream corresponding to a second video quality level; and

enabling the first encoded video stream and disabling the second encoded video stream for a participant device associated with the encoded video stream.

17. The system of claim 13 , wherein the adjusting of the one or more encoded video streams corresponding to the original real-time video stream includes:

adjusting, based on the context data, an encoder configuration parameter of a video encoder that encodes the original real-time video stream.

18. A non-transitory computer-readable medium storing instructions that, when executed, direct a processor of a video conference management system to:

monitor an encoded video stream corresponding to an original real-time video stream of a video conference meeting;

determine context data associated with one or more encoded video frames of the encoded video stream, the context data including at least one of an encoder metric or a content attribute that indicates an encoding complexity level of the original real-time video stream; and

adjust one or more encoded video streams corresponding to the original real-time video stream based on the context data, wherein the adjusting of the one or more encoded video streams corresponding to the original real-time video stream includes:

determining, from the one or more encoded video streams corresponding to the original real-time video stream and based on the context data, a first encoded video stream corresponding to a first video quality level and a second encoded video stream corresponding to a second video quality level; and

enabling the first encoded video stream and disabling the second encoded video stream for a participant device associated with the encoded video stream.

19. The non-transitory computer-readable medium of claim 18 , wherein:

the one or more encoded video frames includes a first encoded video frame at a first timestamp and a second encoded video frame at a second timestamp subsequent to the first timestamp; and

the encoder metric is computed using a first weight value associated with the first encoded video frame and a second weight value associated with the second encoded video frame, the second weight value being higher than the first weight value.

20. The non-transitory computer-readable medium of claim 18 , wherein the adjusting of the one or more encoded video streams corresponding to the original real-time video stream further includes:

providing the context data as an input into a machine learning model;

receiving, from the machine learning model, a stream score representing the encoding complexity level of the original real-time video stream and a feasibility level of an encoding device to encode the original real-time video stream; and

adjusting the one or more encoded video streams corresponding to the original real-time video stream based on the stream score.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2022
From: KHIRE, SOURABH; PRAKASH, NITHIN A.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 058726/0847 →
Continuity (1)
Related Publication 20230247069A1 · Aug 3, 2023
Cited By (1)
US 12,395,632