Device and method for multistream bandwidth control in videoconferencing
First Claim
1. An apparatus comprising:
- a memory that stores executable instructions; and
a processor that executes the instructions in order todetermine, for plural received compressed video inputs received from one or more endpoints in a video conference, at least one motion vector included in each of the plural compressed video inputs,calculate, based on the determined motion vectors, a motion value corresponding to each of the plural compressed video inputs, the motion values representing a level of motion over several frames for each of the plural compressed video inputs, andallocate, based on the calculated motion values, a portion of a maximum aggregate bandwidth to the each of the compressed video inputs based on the corresponding motion value, wherein the aggregate bandwidth is constant and a distribution of the bandwidth among the compressed video inputs is variable as a function of the motion values.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, an apparatus includes a memory that stores executable instructions and a processor that executes the instructions. The processor may determine, for plural received compressed video inputs received from one or more endpoints in a video conference, at least one motion vector included in each of the plural compressed video inputs. The processor may calculate, based on the determined motion vectors, a motion value corresponding to each of the plural compressed video inputs, the motion values representing a level of motion over several frames for each of the plural compressed video inputs. The processor may allocate, based on the calculated motion values, bandwidth to the one or more endpoints in the video conference.
9 Citations
15 Claims
-
1. An apparatus comprising:
-
a memory that stores executable instructions; and a processor that executes the instructions in order to determine, for plural received compressed video inputs received from one or more endpoints in a video conference, at least one motion vector included in each of the plural compressed video inputs, calculate, based on the determined motion vectors, a motion value corresponding to each of the plural compressed video inputs, the motion values representing a level of motion over several frames for each of the plural compressed video inputs, and allocate, based on the calculated motion values, a portion of a maximum aggregate bandwidth to the each of the compressed video inputs based on the corresponding motion value, wherein the aggregate bandwidth is constant and a distribution of the bandwidth among the compressed video inputs is variable as a function of the motion values. - View Dependent Claims (2, 3, 4, 5, 14, 15)
-
-
6. An apparatus comprising:
-
a memory that stores executable instructions; and a processor that executes the instructions in order to; determine, for plural received compressed video inputs received from one or more endpoints in a video conference, at least one motion vector included in each of the plural compressed video inputs, calculate, based on the determined motion vectors, a motion value corresponding to each of the plural compressed video inputs, the motion values representing a level of motion over several frames for each of the plural compressed video inputs, and allocate, based on the calculated motion values, bandwidth to the one or more endpoints in the video conference, wherein the processor determines a maximum negotiated bandwidth, and allocates portions of the maximum negotiated bandwidth to the one or more endpoints, wherein the processor allocates the portions of the maximum negotiated bandwidth based on a cost function result, where a maximum boundary of the cost function is based on an encoding capacity of the one or more endpoints in the video conference and a number of concurrent video conferencing streams to be output.
-
-
7. A method comprising:
-
determining, by a processor for plural received compressed video inputs received from one or more endpoints in a video conference, at least one motion vector included in each of the plural compressed video inputs; calculating, by the processor based on the determined motion vectors, a motion value corresponding to each of the plural compressed video inputs, the motion values representing a level of motion over several frames for each of the plural compressed video inputs; and allocating, by the processor based on the calculated motion values, bandwidth to the one or more endpoints in the video conference based on a cost function result, where a maximum boundary of the cost function is based on an encoding capacity of the one or more endpoints in the video conference and a number of concurrent video conferencing streams to be output. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A non-transitory computer readable medium having instructions stored therein that when executed by a processor causes a computer to execute a method comprising:
-
determining, for plural received compressed video inputs received from one or more endpoints in a video conference, at least one motion vector included in each of the plural compressed video inputs; calculating, based on the determined motion vectors, a motion value corresponding to each of the plural compressed video inputs, the motion values representing a level of motion over several frames for each of the plural compressed video inputs; and allocating, based on the calculated motion values, bandwidth to the one or more endpoints in the video conference based on a cost function result, where a maximum boundary of the cost function is based on an encoding capacity of the one or more endpoints in the video conference and a number of concurrent video conferencing streams to be output. - View Dependent Claims (13)
-
Specification