IP Library Granted Patent US 8,064,514
Granted Patent B2
US 8,064,514 · App. 11/277,535 · Granted Nov 22, 2011

System and method for dynamically adjusting bandwidth between multiple video streams of videoconference

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 8,064,514
App. No.
11/277,535
Granted
Nov 22, 2011
Kind
B2
Abstract

A videoconferencing unit includes first and second encoder that each encodes a video stream of frames and generates variables indicating changes between frames of the video streams. The unit also includes a controller operatively coupled to the first and second encoders. The controller compares the variables from the encoders and determines first and second bit rates for the first and second encoders based on the comparison. Then, the controller sets the first and second encoders to the first and second bit rates, respectively. Preferably, comparing the variables, determining the bit rates, and setting the bit rates are dynamically repeated as the unit operates. In addition, the dynamic repetition is preferably allowed or limited to one or more predetermined intervals of time.

Claims (67)

1. A videoconferencing unit, comprising:

a first encoder encoding a first video stream and generating first variables indicating changes occurring in the first video stream;

a second encoder encoding a second video stream and generating second variables indicating changes occurring in the second video stream; and

a controller operatively coupled to the first and second encoders and configured to:

compare the first and second variables from the first and second encoders,

determine first and second bit rates for the first and second encoders based on the comparison,

set the first and second encoders to the first and second determined bit rates respectively, and

repeatedly adjust the first and second bit rates for the first and second encoders,

wherein to repeatedly adjust the first and second bit rates, the controller is configured to:

calculate a difference between the first and second variables,

adjust the first and second bit rates at a first of at least two fixed intervals of time when the difference is less than a first of at least two predetermined values, and

adjust the first and second bit rates at a second of the at least two fixed intervals of time when the difference is greater than a second of the at least two predetermined values.

2. The unit of claim 1 , wherein to generate the first and second variables, the first and second encoders are each configured to:

calculate an absolute value of a difference between a current frame and a previous frame of the video stream for the encoder.

3. The unit of claim 1 , wherein to compare the first and second variables from the first and second encoders, the controller is configured to:

calculate a difference between the first and second variables as the comparison, and

determine whether the first or the second encoder needs a greater bit rate than the other encoder based on the difference.

4. The unit of claim 3 , wherein to determine whether the first or second encoder needs a greater bit rate, the controller is configured to determine whether the difference is at least greater or less than the at least one predetermined value.

5. The unit of claim 1 , wherein to determine the first and second bit rates for the first and second encoders based on the comparison, the controller is configured to:

determine that neither the first or second encoder needs a bit rate substantially greater than the other encoder; and

calculate new bit rate values for each of the encoders as approximately half of a total video rate.

6. The unit of claim 1 , wherein to determine the first and second bit rates for the first and second encoders based on the comparison, the controller is configured to:

calculate a first new bit rate value for one of the encoders as a product of a total video rate and a percentage; and

calculate a second new bit rate value for the other of the encoders as a sum of the total video rate minus the first new bit rate value.

7. The unit of claim 6 , wherein either the total video rate or the percentage comprises a fixed value or an adjustable value.

8. A videoconferencing method, comprising:

generating first variables indicating changes occurring in a first video stream;

generating second variables indicating changes occurring in a second video stream;

comparing with a videoconferencing unit the first and second variables;

allocating available bandwidth with the videoconferencing unit between bit rates for the first and second video streams based on the comparison; and

repeatedly adjusting the first and second bit rates with the videoconferencing unit by:

calculating a difference between the first and second variables,

adjusting the first and second bit rates at a first of at least two fixed intervals of time when the difference is less than a first of at least two predetermined values, and

adjusting the first and second bit rates at a second of the at least two fixed intervals of time when the difference is greater than a second of the at least two predetermined values.

9. The method of claim 8 , wherein generating the first and second variables comprises calculating absolute values of differences between current frames and previous frames of the video streams.

10. The method of claim 8 , wherein comparing the first and second variables comprises:

calculating a difference between the first and second variables as the comparison, and

determining whether the first or the second video stream needs a greater bit rate than the other video stream based on the difference.

11. The method of claim 10 , wherein determining whether the first or the second video stream needs a greater bit rate comprises determining whether the difference is at least greater or less than the at least one predetermined value.

12. The method of claim 8 , wherein comparing the first and second variables comprises:

determining that neither the first or second video streams needs a bit rate substantially greater than the other video stream; and

calculating new bit rate values for each of the video streams as approximately half of a total video rate.

13. The method of claim 8 , wherein allocating available bandwidth between bit rates for the first and second video streams based on the comparison comprises:

setting one of the video streams to a first bit rate value calculated as a percentage of the available bandwidth; and

setting the other of the video streams to a second bit rate value calculated as a sum of the available bandwidth minus the first bit rate value.

14. The method of claim 13 , wherein either the available bandwidth or the percentage comprises a fixed value or an adjustable value.

15. An electronically readable medium having instructions encoded thereon executable by a videoconferencing unit for performing a videoconferencing method, the method comprising:

generating first variables indicating changes occurring in a first video stream;

generating second variables indicating changes occurring in a second video stream;

comparing the first and second variables;

allocating available bandwidth between bit rates for the first and second video streams based on the comparison; and

repeatedly adjusting the first and second bit rates with the videoconferencing unit by:

calculating a difference between the first and second variables,

adjusting the first and second bit rates at a first of at least two fixed intervals of time when the difference less than a first of at least two predetermined values, and

adjusting the first and second bit rates at a second of the at least two fixed intervals of time when the difference is greater than a second of the at least two predetermined values.

16. The medium of claim 15 , wherein generating the first and second variables comprises calculating absolute values of differences between current frames and previous frames of the video streams.

17. The medium of claim 15 , wherein comparing the first and second variables comprises:

calculating a difference between the first and second variables as the comparison, and

determining whether the first or the second video stream needs a greater bit rate than the other video stream based on the difference.

18. The medium of claim 17 , wherein determining whether the first or the second video stream needs a greater bit rate comprises determining whether the difference is at least greater or less than the at least one predetermined value.

19. The medium of claim 15 , wherein comparing the first and second variables comprises:

determining that neither the first or second video streams needs a bit rate substantially greater than the other video stream; and

calculating new bit rate values for each of the video streams as approximately half of a total video rate.

20. The medium of claim 15 , wherein allocating available bandwidth between bit rates for the first and second video streams based on the comparison comprises:

setting one of the video streams to a first bit rate value calculated as a percentage of the available bandwidth; and

setting the other of the video streams to a second bit rate value calculated as a sum of the available bandwidth minus the first bit rate value.

21. The medium of claim 20 , wherein either the available bandwidth or the percentage comprises a fixed value or an adjustable value.

Assignments (9)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 22, 2023
From: POLYCOM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 064056/0894 →
RELEASE OF PATENT SECURITY INTERESTS Recorded Aug 30, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: PLANTRONICS, INC.; POLYCOM, INC.
Reel/Frame 061356/0366 →
SECURITY AGREEMENT Recorded Jul 5, 2018
From: PLANTRONICS, INC.; POLYCOM, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 046491/0915 →
RELEASE OF SECURITY INTEREST Recorded Jul 3, 2018
From: MACQUARIE CAPITAL FUNDING LLC
To: POLYCOM, INC.
Reel/Frame 046472/0815 →
RELEASE OF SECURITY INTEREST Recorded Jul 3, 2018
From: MACQUARIE CAPITAL FUNDING LLC
To: POLYCOM, INC.
Reel/Frame 047247/0615 →
GRANT OF SECURITY INTEREST IN PATENTS - SECOND LIEN Recorded Sep 27, 2016
From: POLYCOM, INC.
To: MACQUARIE CAPITAL FUNDING LLC, AS COLLATERAL AGENT
Reel/Frame 040168/0459 →
RELEASE OF SECURITY INTEREST Recorded Sep 27, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: POLYCOM, INC.; VIVU, INC.
Reel/Frame 040166/0162 →
GRANT OF SECURITY INTEREST IN PATENTS - FIRST LIEN Recorded Sep 27, 2016
From: POLYCOM, INC.
To: MACQUARIE CAPITAL FUNDING LLC, AS COLLATERAL AGENT
Reel/Frame 040168/0094 →
SECURITY AGREEMENT Recorded Dec 9, 2013
From: POLYCOM, INC.; VIVU, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 031785/0592 →