RESOURCE-ADAPTIVE VIDEO ENCODER SHARING IN MULTIPOINT CONTROL UNIT
First Claim
1. In a multimedia communications system, a method of allocating one or more of processor resources and memory resources of a multimedia communications server, the multimedia communications server including at least one video encoder, the multimedia communications system including a plurality of multimedia participant devices communicably coupleable to the multimedia communications server over at least one network, the method comprising:
- receiving, at the multimedia communications server, a request from a respective multimedia participant device to join a multimedia session, the request including one or more video encoder attributes;
determining, by the multimedia communications server using at least some of the one or more video encoder attributes, a first cost of sharing operations of a video encoder among the respective multimedia participant device and at least one other multimedia participant device participating in the multimedia session;
determining, by the multimedia communications server, a second cost of allocating one or more of the processor resources and the memory resources for implementing an additional video encoder for use with the respective multimedia participant device;
comparing the first cost with the second cost to obtain a comparison result; and
based at least upon the comparison result, performing, by the multimedia communications server, one of sharing the operations of the video encoder with the respective multimedia participant device, and allocating the one or more of the processor resources and the memory resources for implementing the additional video encoder for use with the respective multimedia participant device.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods of video conferencing, in which existing video encoders associated with a multipoint control unit (MCU) can be shared among conference participant devices, depending upon the availability of processor and/or memory resources for the MCU. In making decisions regarding the sharing of video encoders, the systems and methods take into account various parameters associated with potential conference participant devices and the total cost of the processor/memory resources for the MCU, to determine whether a video encoder of the MCU can be shared with, or allocated to, the respective conference participant devices. By determining whether to share or allocate a video encoder of the MCU, depending upon the available processor/memory resources for the MCU, the MCU can be made to operate with increased stability. The systems and methods can be applied to any application that sends the same content to multiple receivers, including announcement and video streaming applications.
41 Citations
30 Claims
-
1. In a multimedia communications system, a method of allocating one or more of processor resources and memory resources of a multimedia communications server, the multimedia communications server including at least one video encoder, the multimedia communications system including a plurality of multimedia participant devices communicably coupleable to the multimedia communications server over at least one network, the method comprising:
-
receiving, at the multimedia communications server, a request from a respective multimedia participant device to join a multimedia session, the request including one or more video encoder attributes; determining, by the multimedia communications server using at least some of the one or more video encoder attributes, a first cost of sharing operations of a video encoder among the respective multimedia participant device and at least one other multimedia participant device participating in the multimedia session; determining, by the multimedia communications server, a second cost of allocating one or more of the processor resources and the memory resources for implementing an additional video encoder for use with the respective multimedia participant device; comparing the first cost with the second cost to obtain a comparison result; and based at least upon the comparison result, performing, by the multimedia communications server, one of sharing the operations of the video encoder with the respective multimedia participant device, and allocating the one or more of the processor resources and the memory resources for implementing the additional video encoder for use with the respective multimedia participant device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A multimedia communications server for use in a multimedia communications system, the multimedia communications system including a plurality of multimedia participant devices communicably coupleable to the multimedia communications server over at least one network, the multimedia communications server comprising:
-
at least one video encoder; and a controller including at least one processor operative to execute at least one program out of at least one memory; to receive a request from a respective multimedia participant device to join a multimedia session, the request including one or more video encoder attributes; to determine, using at least some of the one or more video encoder attributes, a first cost of sharing operations of the at least one video encoder among the respective multimedia participant device and at least one other multimedia participant device participating in the multimedia session; to determine a second cost of allocating one or more of processor resources and memory resources for implementing an additional video encoder for use with the respective multimedia participant device; to compare the first cost with the second cost to obtain a comparison result; and based at least upon the comparison result, to perform one of sharing the operations of the video encoder with the respective multimedia participant device, and allocating one or more of the processor resources and the memory resources for implementing the additional video encoder for use with the respective multimedia participant device. - View Dependent Claims (15, 16)
-
-
17. In a multimedia communications system, a method of handling packet errors associated with multimedia content received at a respective one of a plurality of multimedia participant devices from a multimedia communications server, the multimedia communications server including at least one video encoder, the plurality of multimedia participant devices being communicably coupleable to the multimedia communications server over at least one network, the method comprising:
-
receiving, at the multimedia communications server, at least one report packet from a respective multimedia participant device, the at least one report packet containing packet error feedback information, the plurality of multimedia participant devices including the respective multimedia participant device participating in a multimedia session and sharing operations of the same video encoder; determining, at the multimedia communications server, whether the packet error feedback information includes one or more of a request for an intra-coded frame and an estimated available bandwidth of the respective multimedia participant device; in the event the packet error feedback information includes the request for the intra-coded frame, determining a first cost of sending the intra-coded frame to the plurality of multimedia participant devices participating in the multimedia session and sharing the operations of the same video encoder; in the event the packet error feedback information includes the estimated available bandwidth of the respective multimedia participant device, determining a second cost of adjusting an average bitrate employed in the multimedia session; and based at least upon one or more of the first cost and the second cost, performing, by the multimedia communications server, one or more of sending the intra-coded frame to the plurality of multimedia participant devices, and adjusting the average bitrate employed in the multimedia session. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A multimedia communications server for use in a multimedia communications system, the multimedia communications system including a plurality of multimedia participant devices communicably coupleable to the multimedia communications server over at least one network, the multimedia communications server comprising:
-
at least one video encoder; and a controller including at least one processor operative to execute at least one program out of at least one memory; to receive at least one report packet from a respective multimedia participant device, the at least one report packet containing packet error feedback information, the plurality of multimedia participant devices participating in a multimedia session and sharing operations of the same video encoder; to determine whether the packet error feedback information includes one or more of a request for an intra-coded frame and an estimated available bandwidth of the respective multimedia participant device; in the event the packet error feedback information includes the request for the intra-coded frame, to determine a first cost of sending the intra-coded frame to the plurality of multimedia participant devices participating in the multimedia session and sharing the operations of the same video encoder; in the event the packet error feedback information includes the estimated available bandwidth of the respective multimedia participant device, to determine a second cost of adjusting an average bitrate employed in the multimedia session; and based at least upon one or more of the first cost and the second cost, to perform one or more of sending the intra-coded frame to the plurality of multimedia participant devices and adjusting the average bitrate employed in the multimedia session.
-
-
30. The system of claim 46 wherein the at least one processor is further operative to execute the at least one program out of the at least one memory to determine the first cost of sending the intra-coded frame using a cost function of a plurality of cost factors, the plurality of cost factors including a number of additional bits required to encode a current frame using intra-coding as opposed to using inter-coding, and a total number of the plurality of multimedia participant devices sharing the operations of the at least one video encoder.
Specification