Video conferencing systems and respective methods
Patent Information
- Application Number
- EP2023730483
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-03-15
- Filing Date
- 2023-06-02
- Publication Date
- 2025-12-10
AI Technical Summary
Current video conferencing systems are limited by the number of participants and bandwidth slots due to the central server's CPU power and available bandwidth, restricting the number of active and passive participants in real-time video conferences.
A video conferencing system that distributes incoming data streams across multiple server nodes, allowing each node to compress and transmit single data streams with different bandwidths to a large number of participants, thereby increasing the theoretical limit of participants and supporting various bandwidths, with an optimization algorithm managing resource allocation.
This solution enables a practically limitless number of participants in a video conference, optimizing resource allocation and bandwidth distribution, and alleviating the central server's workload, allowing for efficient real-time video conferencing with diverse data sources.
Smart Images

Figure EP2023064790_19092024_PF_FP_ABST
Abstract
Description
[0001] Video Conferencing Systems and Respective Methods
[0002] The present invention relates to video conferencing systems as well as respective methods for improving various parameters of real time video conferences, especially regarding the number of participants, the number of bandwidths, and the number of input sources.
[0003] The terms “video conference” and “video conferencing” used herein is to be understood in a broad sense. Incoming data streams may comprise audio and video data from human participants of a video conference, but also from other data sources like pictures or films from, e.g., drones, surveillance cameras, internet data source, presentations, or any generic sensor data, etc., which may all be incorporated into a video conference according to the present invention.
[0004] The term “participant” used in this specification and in the attached claim set shall comprise also endpoints, wherein an endpoint is defined as an interface exposed by a communicating party of the video conference. A “participant” in the present sense in also a data source.
[0005] The term “other data sources” used herein is to be understood in a broad sense, and may comprise data communicated from a drone, a video camera, an internet data source, etc. In other words, such "other data sources” are data which are not being provided by the participants or their respective endpoint.
[0006] The term “data sources” used herein comprises the data from the participants of the video conference, which may be of all different kind, including for example videos and other data, - herein, for simplicity, a participant is also termed to be a data source (see above) - as well as data from “other data sources” not being provided by the participants. Video conferencing using single data streams are not regularly found in commercially offered video conferencing systems. Rather, the data from various data sources usually are distributed over several streams, wherein these several streams are sent to various parts of the screen of the participants. For example, audio and video data of a moderator of a video conference may be shown in the upper left part of a screen of each participant’s end device. In the upper right of the screen, a speaking participant may be shown. In the lower left, a graphic presentation may be depicted. In the lower right part of each screen, current data from a camera may be seen. Each of these four screen parts are provided, in common video conference systems, by a different stream from one or more servers. Other data shown on the screen of the participants may be real-time weather data, TV, real-time stock exchange data, etc.
[0007] This is in contrast to the single data stream video conferencing systems that are provided by the applicant. Here, all incoming data from various data sources, which may be permanently provided, are combined by a central server unit into one single data stream, which is transmitted to all participants, i.e. , all active and passive participants. A respective disclosure can be found in EP 2 498491 A1 , whose contents are incorporated herein by reference. An advantage of the single stream technology is the dynamic and variable incorporation of data of any type into the single data stream. A software routine in the central server unit, which may be called layout manager, is responsible for arranging the various data and possibly further data on the different areas of the screens of the participants.
[0008] One respective method described in US 10 178 145 B2 by the applicant discloses a method for adjusting data streams to respective resource loads of a plurality of first receiver units in audio-based and video-based real-time communication. A simplified scheme of the prior art video conferencing system is shown in FIG. 1. Here, incoming streams from multiple sources are combined by a software-implemented A / V-mixer (audio / video-mixer) of a central server unit into a single data stream, which is distributed - after respective coding, i.e., compressing (also called encoding) - with different bandwidths to active and passive participants of the video conference. Each active participant, being part of a limited number P of active participants, is connected to the best bandwidth slot provided by the central server unit. The limit for the active participants is dominated by the limited number N of available bandwidth slots, i.e., by the number of single streams with a compressed bandwidth the central server unit may provide. Passive participants of the video conference are allocated to the single data stream provided by the central user with a bandwidth that is closest to the resource load of the passive participants receiving device. The method disclosed in US 10 178 145 B2 enables the efficient participation of a big number of P participants to N bandwidth slots. However, the number of P participants is limited to the total bandwidth of the central server unit. Furthermore, the limit of the number of N bandwidth slots is the CPU power of the central server unit. Likewise, the number L of incoming streams is limited by the CPU power of the central server unit.
[0009] The present invention aims to provide solutions to one or more of the above limiting deficiencies.
[0010] Aspects and advantages of the invention are set forth below in the following description, or may be obvious from the description, or may be learned through practice of the invention.
[0011] The invention comprises three aspects for achieving the above goals. These three aspects may be embodied alone or in any combination via respective software routines. According to a first aspect of the invention, there is provided a video conferencing system for conducting a video conference in real time that includes:
[0012] - a central server unit configured to receive, in real time, a plurality of incoming data streams originating from participants and / or other data sources;
[0013] - the central server unit includes an A / V-mixer configured to combine, in real time, the incoming data streams into a first single data stream;
[0014] - the central server unit is configured to compress, in real time, the first single data stream to single data streams of different bandwidths;
[0015] - the central server unit is configured to send, in real time, each of at least some of the single data streams of different bandwidths to a different group of a plurality of server nodes, wherein the server nodes in each group are configured to receive, in real time, such respective stream;
[0016] - each of the server nodes configured to send, in real time, the received stream to a plurality of participants, either directly or indirectly via one or more further, downstream server nodes.
[0017] A respective method according to the first aspect of the invention is provided as well according to the features of claim 3.
[0018] According to the first aspect of the invention, each of at least some of the single data streams with a specific bandwidth is sent, in real time, to a plurality of server nodes, which form a respective group of server nodes. This does not exclude the possibility that at least one single data stream with a specific bandwidth is only sent to one server node. However, it is preferred that each of the single data streams with their different bandwidths is sent, in real time, to a plurality of server nodes, wherein each server node receives a single data stream of only one bandwidth.
[0019] Furthermore, each of the server nodes is configured to distribute, in real time, its received single data stream with the respective bandwidth to a plurality of participants, but not all participants. Thus, each of the server nodes is configured to send, in real time, its single data stream of one bandwidth to a preferably large number of participants. Accordingly, the number of participants, who can take part in the real-time video conference, is not limited anymore. Rather, if the number of server nodes is chosen high enough, a theoretically limitless number of participants can participate, in real time, in the video conference, wherein different bandwidths are supported by respective groups of server nodes. The interplay between the number of single data streams all having a different bandwidth provided by the central server unit and the number of “multiplying” server nodes enables such practically limitless incorporation of participants in real time. This almost unlimited number of real-time participants in a video conference is an essential aspect of the first aspect of the invention and sets it apart from other technologies like streaming.
[0020] The real-time distribution of the respective single data stream to participants may be a direct one, i.e. , without any detour, or indirectly, especially via one or more further, downstream server nodes. These server nodes may be configured to further manipulate the respective single data stream in real time before sending the resulting single data stream to participants, again in real time.
[0021] It is preferred that an optimization algorithm, preferably implemented in the central server unit, adapts, in real time, the number of bandwidths, and / or the number of server nodes and the mapping of the number of bandwidths to the number of server nodes, and / or the mapping of the number of server nodes to the number of participants. Doing so enables the real-time optimization and allocation of resources regarding the number of servers involved, the number of streams with different bandwidths provided by the central server unit and the number of participants. It should be mentioned that the A / V-mixer comprises a software routine, called layout manager, that provides commands how to incorporate, in real time, the various incoming data of the various data sources into the first single data stream and how to arrange the data on different areas of the screens of the participants. This task of the A / V-Mixer is also incorporated in the second and third aspect of the present invention described below.
[0022] Preferably, any incoming data from the participants to the central server are first being sent to the server node that is communicating with the participants. The respective server node then transmits the respective data, pre-selected or not, to the A / -mixer. The respective server node may also give the participant, who wants to transmit data, e.g., an audio and / or video input, to the A / V-mixer the permission to do so, possibly by a prior request of the participant.
[0023] Data from other data sources than the participants may be provided directly into the A / V-mixer, possibly upon a respective request by the central server unit. For example, the A / V-mixer of the central server unit may receive a respective data stream from an external IP camera. Alternatively, data, e.g., sensor data, images, etc., from an external data source may be received via an API (application programming interface) implemented in the central server unit and then processed in the A / V Mixer.
[0024] The mentioned real-time pre-selection of the incoming data at preferably each of the server nodes may be embodied in various ways. Preferably, the server nodes are each configured to select, in real time, the incoming data from the participants and other data sources according to at least one of the following criteria: preassigned priority, hierarchy, interactive methods like push-to-talk or virtual raised hand, amount of participation or advanced Al- based methods, etc. The data resulting from such configurations including their possible manipulations and finally received from the central server unit are labelled “incoming data streams originating from various data sources”. All steps in the video conferencing method and embodied in the video conferencing system of the first aspect of the invention - and as well for the second and the third aspect, see below - are performed in real time. This relates to the incoming data streams, the receiving, processing and transmitting in the A / V-mixer and the server nodes as well as the processing in all other software routines of possibly involved hardware.
[0025] The second aspect of the present invention addresses the problem of central server unit, according to the state of the art, being potentially overburdened by the generation of streams of different bandwidths, derived from the first single data stream combined in the A / -mixer. Therefore, it is desirable to relieve the central server from this task.
[0026] According to the second aspect of the invention, there is provided a video conferencing system that includes:
[0027] - a central server unit configured to receive, in real time, a plurality of incoming data streams originating from participants and / or other data sources;
[0028] - the central server unit including an A / V-mixer configured to combine, in real time, the incoming data streams into a first single data stream;
[0029] - the central server unit configured to send, in real time, the first single data stream, directly or indirectly via further, downstream server nodes, to a plurality of server nodes, wherein at least some of the server nodes are configured to receive, in real time, the first single data stream and compress, in real time, the received single data stream to one or more compressed single data streams;
[0030] - the respective server nodes configured to send, in real time, the respectively compressed single data stream or streams, directly or indirectly, to a plurality of participants. A respective method according to the second aspect of the invention is provided as well according to the features of claim 7.
[0031] As described before, first the AA / -mixer of the present invention provides, in real time, the first single data stream by combining a plurality of incoming data streams originating from various data sources. The first single data stream has a certain bandwidth, which is called master bandwidth herein. This first single data stream is then, in real time, sent to a plurality of server nodes. According to the second aspect of the present invention, each of at least some of the server nodes are configured to compress, in real time, the first single data stream - or a single data stream derived from the first single data stream, e.g., by one or more interposed node servers - to one or more compressed single data streams. Preferably, at least some of the respectively embodied server nodes compress the first single data stream (or respectively derived one) to single data streams of different bandwidths. Each of these compressed single data streams is then transmitted by the respective server node, directly or indirectly (e.g., by interposed further server nodes), to preferably a plurality of participants.
[0032] Thus, the second aspect of the invention addresses the previous drawback of the limited power of the CPU of the central server unit, which in turn has limited the number of bandwidth slots on the central server unit and therefore the number of participants. Now, a plurality of server nodes takes over the compression of the single data stream to single data streams of different bandwidths. Thus, by choosing a respective high number of server nodes for the compression step, a high number of single data streams with a plurality of different bandwidths might be realized, which in turn enables a very high number of participants to receive such respective single data stream, preferably adapted to their configuration. In other words, the server nodes distribute the single data streams to the “suitable” participants, typically many for whom the respective bandwidth represents a practicable optimum. A process or algorithm, preferably implemented in the central server unit, ensures that the suitable participants are assigned to the appropriate server nodes.
[0033] Thus, according to the second aspect of the invention, the generation of single data streams with a wide range of bandwidths is outsourced from the central server unit to various server nodes, thereby lifting the bandwidth limits of the central server unit.
[0034] According to an advantageous embodiment of the second aspect of the present invention, several server nodes are clustered in at least one server node cluster. The A / V-mixer provides the first single data stream of master bandwidth to a server node of each server node cluster. The respective server node in each server node cluster compresses the first single data stream to a single data stream having a bandwidth specific to the server node cluster, which is then distributed to several server nodes also being part of the respective server node cluster. Each of these several server nodes sends the single data stream with the respective bandwidth to preferably a plurality of participants.
[0035] In an alternative embodiment also including the server node cluster, the server nodes in each server node cluster are configured to compress, in real time, the first single data stream (or a single data stream derived from the first single data stream) into single data streams of identical bandwidth and to send out, in real time, the compressed single data streams, directly or indirectly (i.e. , via further downstream server nodes), to a plurality of participants.
[0036] Thus, in this further stage of scaling according to the second aspect of the invention, the central server unit, in real time, sends the first single data stream with its master bandwidth to several server node clusters each comprising a plurality of server nodes, wherein at least one server node of each server node cluster generates, in real time, a single data stream with a specific bandwidth. For example, such single data stream is then “multiplied” in each server node cluster, i.e. , send from the compressing server node to several distributing server nodes in the same server node cluster for distributing the single data stream to a plurality of participants. In another example, each of the server nodes in a server node cluster compresses the first single data stream to single data streams of the same or of different bandwidths, which are then sent by the server nodes, directly or indirectly, to a plurality of participants. In any case, the server node clusters with its respective plurality of server nodes enable the lifting of the previous limit posed by the available number of bandwidth slots at the central server unit.
[0037] As mentioned with respect to the first aspect of the invention, also in the second aspect of the present invention, preferably each of the server nodes, which may or may not be arranged in server node clusters, is configured to select the incoming data from the participants and other data sources according to one or more criteria, such as preassigned priority, hierarchy, interactive methods like push-to-talk or virtual raised hand, amount of participation or advanced Al-based methods, etc.
[0038] According to a third aspect of the invention, there is provided a video conferencing system for conducting a video conference in real time that includes:
[0039] - a plurality of software-embodied AA / -encoders, each AA / -encoder configured to receive, in real time, incoming data streams originating from different subgroups of participants and / or other data sources and to combine, in real time, the data streams into a respective subgroup data stream;
[0040] - a central server unit including a software-embodied A / V-mixer, the A / V-mixer configured to receive, in real time, the various subgroup data streams from the various A / V-encoders, wherein the A / V-mixer combines, in real time, the subgroup data streams into a first single data stream;
[0041] - the central server unit is further configured to send, in real time, the first single data stream or a single data stream derived from the first single data stream, directly or indirectly via further, downstream server nodes, to a plurality of participants.
[0042] A respective method according to the third aspect of the invention is provided as well according to the features of claim 11 .
[0043] The third aspect of the invention addresses the previous limits regarding the processing of incoming data. Previously, the CPU power of the central server unit has been limiting such processing. According to the third aspect, the plurality of AA / -encoders upstream of the A / -mixer receives and processes incoming data originating from different subgroups of data sources (preferably pre-selected from various server nodes as in the first and second aspects of the invention) into a respective subgroup data stream, which is then transmitted to the AA / -mixer for combining the subgroup data streams into a first single data stream. A subgroup may include one or more data sources (but called “subgroup of data sources” for the sake of simplicity).
[0044] It is preferred that each respective subgroup data stream of each A / V- encoder is processed by the A / V-mixer to be displayed on a different part of a screen of the participants. For example, a first A / V-encoder may provide a 3x3 matrix of 9 participants, where this 3x3 matrix is shown in the upper left field of a screen of a participant, which is, for example, partitioned in 2x2 fields. In the upper right field the moderator might be displayed, wherein the audio and video data may be provided by a second A / V-encoder. This second A / V-encoder may additionally process other data from the moderator or any other source for displaying it in the upper right field. The data to be displayed in each field are provided by subgroup single data streams in encoded form from the respective A / V-encoder to the A / V-mixer, which, from these subgroups, produces the first single data stream finally provided to each participant. Such transmittal to the participants may be done directly or indirectly, i.e. , with the interposition of a plurality of server nodes and / or server nodes clusters according to the first and second aspects of the invention.
[0045] The first, second, and third aspects of the present invention may be combined in various ways to even enlarge the scaling effect that each of the three aspects provide. Some of such possible combinations will be described below with reference to the drawings.
[0046] As apparent from the contents of the present disclosure, the presented methods are computer-implemented methods.
[0047] The invention also comprises respective computer programs which, when - as discussed herein - executed by a central server unit and / or at least one of a plurality of server nodes and / or at least one or a plurality of A / V-encoders, causes the central server unit and / or the at least one server node and / or at the least one A / V-encoder to execute one or more of the method steps disclosed herein and / or a method according to one or more of the appended method claims.
[0048] The invention likewise comprises a computer readable storage medium comprising a computer program, wherein the computer program, when - as discussed herein - executed by a central server unit and / or at least one of a plurality of server nodes and / or at least one or a plurality of A / V-encoders, causes the central server unit and / or the at least one server node and / or at the least one A / V-encoder to execute one or more of the method steps disclosed herein and / or a method according to one or more of the appended method claims.
[0049] The respective computer program may comprise one or more computing subprograms or routines, wherein one or more computing subprograms are executed by one entity, e.g., the central server unit, and one or more other computing subprograms are executed by another entity, e.g., at least one server node or at least one A / V-encoder. Such scenarios are comprised when using the term “computer program”.
[0050] Reference will now be made in detail to embodiments of the various aspects of the present invention, one or more examples of which are illustrated in the accompanying drawings.
[0051] FIG. 1 shows a schematic representation of a known system and a known method for providing participants with a single data stream;
[0052] FIG. 2 shows a schematic representation of a system and a method for providing a large number of participants with a single data stream according to the first aspect of the present invention;
[0053] FIG. 3 shows respective details of the embodiment of FIG. 2;
[0054] FIG. 4 shows a schematic representation of a system and a method for providing a large number of participants with a single data stream according to a first embodiment of the second aspect of the present invention;
[0055] FIG. 5 shows a schematic representation of a system and a method for providing a large number of participants with a single data stream according to a second embodiment of the second aspect of the present invention;
[0056] FIG. 6 shows a schematic representation of a system and a method for providing a large number of participants with a single data stream according to a third embodiment of the second aspect of the present invention; FIG. 7 shows a schematic representation of a system and a method for enabling the reception and processing of an increased number of data streams arriving at the A / V-mixer according to the third aspect of the present invention;
[0057] FIG. 8 shows a schematic representation of a system and a method with a combination of the first and third aspects of the present invention;
[0058] FIG. 9 shows a schematic representation of a system and a method with a combination of the second and third aspects of the present invention; and
[0059] FIG 10 shows a schematic representation of a system and a method with a combination of the first, second and third aspects of the present invention.
[0060] The detailed description uses numerical and letter designations to refer to features in the drawings. Like or similar designations in the drawings and description have been used to refer to like or similar parts of the invention. Each example is provided by way of explanation of the invention, not limitation of the invention. For instance, features illustrated or described as part of one embodiment may be used on another embodiment to yield a still further embodiment. Thus, it is intended that the present invention covers such modifications and variations as come within the scope of the appended claims and their equivalents which may all be incorporated into a video conference system according to the present invention.
[0061] As already described in the introductory part of the present disclosure, FIG. 1 shows a schematic representation of the real-time data flow and data processing in a video conferencing system 101 and respective method according to the prior art. A central server unit 140 includes a Multipoint Control Unit (MCU), which is a data distributor for video conferences. An MCU receives at various times and possibly permanently data streams 125 from multiple conference participants 110 and other data sources (not shown) and, depending on the configuration, processes them and sends them to all connected participants 110. An MCU may be implemented in hardware and / or software. In the present case and throughout herein, the MCU is a A / V-mixer 142 (audio / video mixer) that is embodied as software and combines various incoming data streams 125 into one single data stream. The term “data” includes audio data, video data, documents, presentations, and others.
[0062] According to the known system and method of FIG. 1 , the A / V-mixer 142 compresses (i.e. , encodes) the incoming streams 125 from the participants 110 and possibly other data sources (not shown) into a plurality of single data streams 155 with different bandwidths. Each of the single data streams 155 is then distributed to a plurality of participants 110 according to their needs and technical possibilities, as, e.g., described in above-mentioned US 10 178 145 B2.
[0063] FIGS. 2-10 relate to the various aspects of the present invention disclosed herein. All steps in the presently described video conference systems and the methods for conducting a video conference are performed in real time. This relates to the incoming data streams, the receiving, processing and transmitting in the A / V-mixer and the server nodes as well as the processing (incl. receiving and sending) in all other servers and software routines disclosed herein and / or necessary for the implementation of the systems and methods disclosed herein.
[0064] FIGS. 2 and 3 show a schematic representation of the data flow and data processing in a video conferencing system 1 according to the first aspect of the invention. Here, too, the A / V-mixer 42 embodied as software combines various incoming data streams 25 into one first single data stream (not explicitly shown in Fig. 2). Again, the term “data” comprises audio data, video data, documents, presentations, and others. For example, a server node 60 may receive data 25 from a webcam or a video-camera together with audio data from a microphone of a participant 10 (in this case, the participant 10 is regarded as a data source), but as well streams 25 from drones, live video feeds or meta data such as GPS locations, weather information or any other data feed. For simplicity, these latter listed data sources, which send their data via server nodes 60, are not shown in FIG. 2 and the other figures. The latter listed data like streams from drones, live feeds, meta data, etc. may also be provided without involving any server nodes 60; rather, these data are directly sent to the A / V-mixer 42 of the central server unit 40 (symbolized by the dot-dashed line in FIG. 2), possibly upon a respective request by the central server unit 40.
[0065] Incoming streams are provided by a plurality of M server nodes 1 , 2 ... M-1 , M, labelled herein with the reference numeral 60. The M server nodes 60 are embodied as data gateways for receiving all different audio and / or video streams 25 from participants 10 (and possibly other data sources) as shown symbolically for “participant 1” for then sending the streams 25 to the A / V- mixer 42. For simplicity reasons, the data flow between participants 10 and server nodes 60, which usually involves data transmission in both directions (see below), has been symbolized at other places by double-headed arrows instead of the single arrows with reference numerals 25 and 55. Likewise for simplicity, the “incoming streams for A / V mixer” are shown as a single line although it consists of a plurality of data streams 25 flowing to the central server unit 40 and its A / V-mixer 42.
[0066] Thus, the two-way communication between the respective server nodes 60 and the respective participants 10 is symbolized by the double-arrows between these entities 10, 60 at most places in the figures; only at some places the sending of the data streams 25 from a participant 10 to a server node 60, and data streams 55 from the same server node 60 to the same participant 10 has been shown explicitly as respective separate arrows.
[0067] Preferably, each of the server nodes 60 is configured to select the incoming data 25 from the participants 10 and other data sources 20 (not shown in the figures) according to one or more criteria, such as preassigned priority, hierarchy, interactive methods like push-to-talk or virtual raised hand, amount of participation or advanced Al-based methods, etc. The respective server nodes 60, thus, may decide by filtering and maybe further processing whether to forward the incoming data streams 25 fully or partly (or not at all) to the central server unit 40. The respective server node 60 may also give the participant 10, who wants to transmit data 25, e.g., an audio and / or video input, to the A / V-mixer 42 in the central server unit 40 the permission to do so, possibly by a prior request of the participant 10.
[0068] As mentioned, data streams 25 from other data sources 20 than the participants 10 are schematically also shown in FIG. 2. According to the embodiment shown in FIG. 2, data streams 25 from such other data sources 20 are provided directly into the A / V-mixer 42. For example, the A / V-mixer 42 of the central server unit 40 may receive a respective data stream 25 from an external IP camera. Alternatively, data streams 25, such as data from one or more sensors and / or image data provided from external data sources 20, may be received via an API (application programming interface) implemented in the central server unit 40 before processing these data in the A / V Mixer 42. In FIG. 2 the data streams 25 from other data sources 20 than the participants 10 are, for the sake of simplicity, shown as being provided to the “incoming streams for the A / V-mixer” (see dash-dotted line). The “other data sources” 20 are, likewise for the sake of simplicity, not shown in the other figures (with the exception of FIG. 8), but may be of course present in the embodiments of these figures too. The above-mentioned M server nodes 60 are also configured to receive the first single data stream composed by the A / V-mixer 42 or a single data stream derived from the first single data stream, especially a compressed single data stream 55 - via compression with a software routine in the A / V- mixer 42 - according to the first aspect of the invention, and sending this single data stream 55 to several participants 10 (for more detailed explanations, see below). In the context of the present invention, the terms “compressing” and “encoding” of a single data stream are used as equivalents to provide a single data stream 55 with a reduced bandwidth.
[0069] If the compression of the first single data stream into single streams 55 of different bandwidth is performed by the central server unit 40, in the respective embodiments depicted in the attached figures, the A / V-mixer 42 in the central server unit 40 is shown to perform this compression via respective software programs. Alternatively, said software programs might be located at a different part in the central server unit 40.
[0070] According to the above, out of the data steams 25 received from the M server nodes 60, the A / V-mixer 42 produces the first single data stream. This first single data stream, according to the first aspect of the invention and as shown in FIG. 2, is provided by the A / V-mixer 42 to the different server nodes 60 in different qualities, i.e. , with different bandwidths. More precisely, the A / V-mixer 42 produces a number of streams 55 with various bandwidths out of the first single data stream composed from the data streams 25 of the various data sources 10, 20. Thus, the A / V-mixer 42 produces and outputs single data streams 55 with different bandwidths, wherein each stream 55 with a different bandwidth is distributed via a respective bandwidth slot to a different group 62 of a respective plurality of server nodes 60 (the groups 62 are bordered by dashed lines in FIG. 2). Thus, the central server unit 40 sends the N single data streams 55 with different bandwidths via N bandwidth slots to the different groups 62 of respectively several M server nodes 60. The rationale behind this procedure is that, according to the first aspect of the invention, a server node 60 scales or increases the possible number of participants 10 because the central server unit 40 only had limited potential for sending the various compressed single data streams 55 to the participants 10. Due to the scaling, a respective server node 60 may distribute the single data stream 55 with the respective bandwidth received from the central server unit 40 to multiple participants 10 or video / audio endpoints. The number of participants 10 can be increased with an increased number of server nodes 60, wherein each server node 60 receives a single data stream 55 with a certain bandwidth from the A / V-mixer 42.
[0071] The respective M server nodes 60 send the received single data stream 55 with its specific bandwidth to participants 10, i.e. participants numbered 1 , 2, ... , P-1 , P, wherein the total number of participants is P. This number is not fixed but may vary over time. Participants may, for example, choose to join a video conference or to drop out. The number P of participants 10 may be, e.g., several 100,000s. Especially, the number P of participants 10 may be much higher than the number M of server nodes 60. For example, P may be 200,000, whereas M may be 500 meaning that, on average, a server node Mx supports, in the present example, 400 participants 10.
[0072] The invention in its first aspect is preferably embodied in software algorithms, which may be implemented in the central server unit 40, wherein the software algorithms provide for:
[0073] - adapting the number N of streams 55 with different bandwidths (being equal to the number of bandwidth slots) to the CPU power of the central server unit 40, and / or
[0074] - adapting the number M of server nodes 60 to the N streams 55 with different bandwidths (N bandwidths), and mapping, i.e., allocating, the N streams 55 to the M server nodes 60, and / or - mapping, i.e. , allocating, the M server nodes 60, subdivided in groups (see below), to the total P participants 10.
[0075] FIG. 3 shows a detail of the embodiment of FIG. 2. Specifically, FIG. 3 concentrates on just one stream 55 with a specific bandwidth, which is labeled here “bandwidth 1”. To recall, the bandwidth number (here “bandwidth 1”) stands for a certain quality of the single data stream 55. Thus, “bandwidth 1” has another quality than “bandwidth 2”, for example. The central server unit 40 sends the stream 55 with bandwidth 1 to M1 server nodes 60, which are numbered 1 , 2, ... M1 , wherein M1 stands for the number of server nodes 60 receiving the stream with bandwidth 1 . The number of participants 10, which receive the stream 55 with bandwidth 1 is labeled P1 , wherein P1 is greater than M1 . Thus, each of the M1 server nodes 60 sends the stream 55 with bandwidth 1 preferably to more than one participant 10. In FIG. 3, e.g., server node 1 sends the stream 55 to participant 1 and participant 2 and other participants (symbolized by the dashed arrow).
[0076] In short, FIG. 3 discloses that M1 server nodes 60 receive a single data stream 55 with a quality of bandwidth 1 from the A / V-mixer 42 via the central server unit 40. P1 participants 10 are assigned to and connect to M1 server nodes 60 to receive the stream 55 with bandwidth 1 .
[0077] Generally speaking, each server node M is assumed to be able to support a certain number of participants 10 with a stream 55 of a specific bandwidth, wherein the number of participants 10 shall be labeled here as PM. Several such server nodes 60 are assumed to provide a group of participants 10 with the same stream 55 of identical bandwidth, wherein the number of participants 10 in such group is generally higher than the number of server nodes 60 supporting the number of participants 10 in such group. In this notation, P1 is the number of participants 10, who all will receive the stream with bandwidth 1 from several different server nodes 60, wherein P1 may be divided in several subgroups of participants 10, each subgroup being supported by one of the specific server nodes 60. Looking, e.g., at server node 60 labelled “server node 1”, this server node 60 is able to send (i.e. , support) the stream 55 with bandwidth 1 to the subgroup with PM_N1 participants 10 of the group of participants P1 . Similarly, server node 60 labelled “server node 2” is able to equally support the subgroup with PM_N2 participants 10. The number P1 for all participants 10, who shall receive the stream 55 with bandwidth 1 , is obtained by adding the stream 50 from all M1 server nodes 1 ... M1 , i.e., server node 1 , server node 2, ... server node M1. The number of participants P1 is the sum of PM_N1 , PM_N2, ... PM_N. For the case that all server nodes PM_N1 , PM_N2, ... PM_N for bandwidth 1 support the same number of participants, the number of all participants 10 for bandwidth 1 is P1 = PM x M1 .
[0078] For all M server nodes 60 for all N bandwidths, M is the sum of all server nodes M1... MN, i.e., the sum of M1 (supporting bandwidth 1 ), M2 (supporting bandwidth 2), ... MN (supporting bandwidth N).
[0079] By the above setup, the total number P of participants 10 can be hugely increased. Possible limitations by the central server unit 40 for sending out single data streams 55 with different bandwidths are eliminated. Here, the allocation of a stream 55 with a certain bandwidth to a certain number of server nodes 60, which in turn provide a subgroup of participants 10 (with more participants 10 than server nodes 60) with such stream 55 enables an almost limitless number of participants 10 to be provided with the single data stream in form of streams 55 with different bandwidths.
[0080] It should be stressed that the configuration of the server nodes 60 - as well as the central server unit 40 with its A / V-mixer 42 - is also applicable for the second and third aspects of the present invention, which have been outlined above and will be explained further below with respect to the figures. The second aspect of the invention, which may be separately implemented or implemented together with the first and the third aspects of the present invention, is now explained with reference to FIGS. 4-6. Here, the focus is on enabling better bandwidth resolutions, especially to support all possible internet connections that may vary significantly in reality. In the prior art, the central server unit has only a limited power to generate a large number of single data streams with different bandwidths for distributing the streams to the participants. The second aspect of the invention aims to relieve the central sever unit 40 from this task. This is done by outsourcing this aspect to server nodes 60, which may be grouped or not grouped, as will be explained below.
[0081] In all embodiments discussed herein with respect to the second aspect of the present invention, the incoming streams 25 arriving at the A / V-mixer 42 have been indicated. As in the embodiments of FIG. 2 and 3, these streams 25 preferably originate from the participants 10, loT-sources, and / or webcams etc. and are first sent to the various server nodes 60, which again function as data gateways as described above. Some or all of these data gateways may be configured to pre-select the incoming streams 25 from the various sources 10, 20 and transmit only a part of it to the A / V-Mixer 42, which combines the incoming data streams 25 to the first single data stream 45.
[0082] As shown in FIG. 4, according to the first embodiment of the second aspect of the present invention, the A / V-mixer 42 sends out the first single data stream 45 with its original bandwidth, here called master bandwidth MB, originating from the composing, i.e. , combining, step performed by the A / V- mixer 42, to a plurality of server nodes 60. At least some of these server nodes 60 are configured to compress, in real time, the received first single data stream 45 to one or more compressed single data streams 55. In the embodiment shown in FIG. 4, server node 60 labelled “server node 1” compresses the first single data stream 45 of master bandwidth MB - via a respectively configured software routine 68 - to two single data streams 55 with different bandwidth 1.1 and bandwidth 1 .2, which are then each send to a plurality of participants 10. Similarly, server node 60 labelled “server node M” in FIG. 4 is embodied to compose a plurality of singe data streams 55 with respective compressed bandwidths M.1 , M.2, M.3, etc. up to a number of, e.g., 5 or 10 single data streams 55 of a different bandwidth each, which are then also distributed - directly or indirectly, e.g., by interposed server nodes - to various participants 10.
[0083] Server node 60 labelled “server node L” in FIG. 4 compresses the first single data stream 45 only to one single data stream 55 of one bandwidth L, whereas server node 60 labelled “server node 2” does not perform any compression, but sends out the first single data stream 45 as is to preferably a plurality of participants 10.
[0084] The various configurations of the server nodes 60 labelled “server nodes 1 , 2, ... , L, ... M” are disclosed to highlight the various possible embodiments of the second aspect of the present invention.
[0085] FIG. 5 shows a second embodiment of the second aspect of the present invention. Here, several server nodes 60 are combined into one server node cluster 70 each, wherein the number of server node clusters 70 has practically no limit. The task of providing various single data streams 55 with different bandwidths (as known from the prior art, see FIG. 1 ) is outsourced from the central server unit 40 to a plurality of server node clusters 70. In each respective cluster server node cluster 70, a server node 60 compresses (i.e. , encodes) the first single data stream 45 with its master bandwidth MB - via a respectively configured software routine 68 - to a single data stream 55 of a specific bandwidth, wherein preferably each server node cluster 70 is responsible for creating a compressed single data stream 55 with a specific different bandwidth different from the bandwidth provided by other server node clusters 70. Following such compression, the respective single data stream 55 of the respective bandwidth is distributed to the participants 10 by several server nodes 60 that are part of each server node cluster 70.
[0086] The plurality of server nodes 60 in each server node cluster 70 “multiplies” the single data stream 55 with the respective bandwidth, wherein each server node 60 sends such stream 55 to a plurality of participants 10. By doing so, various different bandwidth connections can be provided, and, thus, sufficient bandwidth resolutions to support many different kinds of internet connections with different bandwidths. The overall number of server node clusters 70 is preferably matched with the number of desired bandwidths.
[0087] In the exemplary embodiment according to FIG. 5, server node 6060 labelled “server node 1” in server node cluster 70 labelled “server node cluster 1” compresses the first single data stream 45 of master bandwidth MB to a single data stream 55 of bandwidth 1 , which is then distributed via server nodes 60 labelled “server nodes 1.1 , 1.2, 1.3, ...” to a plurality of participants 10. As before, each of these server nodes 1.1 , 1.2, 1.3, ... sends the single data stream 55 of bandwidth 1 to several participants 10. The same steps are performed by server node 60 labelled “server node X” in server node cluster 70 labelled “server node cluster X” as will be apparent to the skilled person when studying FIG. 5.
[0088] According to a third embodiment of the second aspect of the present invention as shown in FIG. 6, each server node cluster 70 comprises several server nodes 60, wherein each of the server nodes 60 in a server node cluster 70 compresses the first single data stream 45 of master bandwidth MB - via a respectively configured software routine 68 - to identical single data streams 55 each having the same bandwidth within the respective server node cluster 70. The bandwidths of the single data streams 55 created in different server node clusters 70 are different. For example, the server nodes 60 labelled “server nodes 1.1 , 1.2, ...” in server node cluster 70 labelled “server node cluster 1” in FIG. 6 compress the first single data stream 45 to single data streams 55 of identical bandwidth 1 , whereas the server nodes 60 labelled “server nodes X.1 , X.2, ...” in server node cluster 70 labelled “server node cluster X” compress the first single data stream 45 to single data streams 55 of identical bandwidth X, wherein bandwidth 1 and bandwidth X are different.
[0089] Each server node cluster 70 preferably comprises several server nodes 60, wherein the number of server nodes 60 is usually greater than 1 and may be different in the various server node clusters 70.
[0090] Preferably, each of the server node clusters 70 supports a specific bandwidth. For example, if X=6, server node cluster 70 labelled “server node cluster 1” may support a bandwidth of 50 kbit / s, server node cluster 70 labelled “server node cluster 2” the bandwidth of 250 kbit / s, the server node cluster 70 labelled “server node cluster 3” the bandwidth of 500 kbit / s, the server node cluster 70 labelled “server node cluster 4” the bandwidth of 1 ,5 Mbit / s, the server node cluster 70 labelled “server node cluster 5” the bandwidth of 3 Mbit / s, and the server node cluster 70 labelled “server node cluster 6” the bandwidth of 5 Mbit / s.
[0091] All participants 10 connected to a specific server node cluster 70 receive, via one of the server nodes 60 of the cluster 70, the stream 55 with the bandwidth supported by the specific server node cluster 70. If, for example, server node cluster 70 labelled “server node cluster 1” comprises 9 server nodes 60, each of the server nodes 60 sends out the stream 55 of the respective server node cluster 70 to different participants 10 connected to the specific cluster 70. Preferably, each server node 60 of a server node cluster 70 transmits the respective stream 55 to many participants 10. The number of server node clusters 70 may be in the dozens, hundreds or more. The number of server nodes 60 in a server node cluster 70 may also be large. A combination of the embodiments of FIG. 5 and 6 is also possible. Here, one or more server node clusters 70 comprise one server node 60 for compressing the first single data stream 45, which is then distributed by several server nodes 60 of the same server node cluster 70 to the participants 10. In addition, one or more other server node clusters 70 may have more than one server node 60 for the compression tasks, wherein the resulting single data stream 55 is distributed to a plurality of participants 10 by each bandwidth-compressing server node 60 in the respective cluster 70. It is also possible with such an embodiment that one or more server node clusters 70 include not only the bandwidth-compressing server nodes 60, but also downstream server nodes 60 as part of the respective server node cluster 70 as outlined above. In other words, each of the bandwidthcompressing server nodes 60 in a server node cluster 70 may be connected to a plurality of downstream server nodes 60 of the same cluster 70 for enlarging the distribution of the respective single data stream 55 to a plurality of participants 10.
[0092] As discussed, the second aspect of the invention aims to increase the number of bandwidths with which a single data stream can be transmitted to the participants of a video conference in the form of single data streams with different bandwidths provided by respective different server nodes and / or server node clusters made available in a respective high number.
[0093] FIGS. 7 and 8 show the third aspect of the present invention. The third aspect may be embodied alone or in combination with one or both of the first and second aspect of the invention. The third aspect of the invention aims to improve the incorporation of data provided to the A / V-mixer 42. One benefit is that the number of data sources 10, 20 (symbolized to the left in FIG. 7) to be included into a video conference can be increased.
[0094] In accordance with the embodiments shown in FIGS. 2-6, according to FIG.
[0095] 7, a software-embodied A / V-mixer 42, which may also be labeled as multipoint control unit (MCU), combines the incoming various data 25, which are preferably sent via various server nodes 60 (preferably with data preselection as described above), into a first single data stream. According to the third aspect, the A / V-mixer 42 defines a layout of several software- embodied fields 44, wherein each field 44 receives data from at least one different source 10, 20.
[0096] According to the exemplary and symbolically depicted embodiment in FIG. 7, the A / -mixer 42 defines a subdivision of a 2x2 layout of 4 fields 44 in total. Other subdivisions are also possible, as is indicated by the number “A” in the A / -mixer 42. If “A” is 8 or 49, for example, the layout is 2x4 or 7x7, respectively.
[0097] On their respective input side, each of the fields 44 is connected to and gets data from a different AA / -encoder 30 of a plurality of AA / -encoders. If the layout of the A / -mixer is 2x2, there are 4 upstream AA / -encoders 30. It is apparent that the number of AA / -encoders 30 is not fixed to a specific number and adapted to the number of fields 44 of the A / -mixer. In FIG. 7, the total number of A / V-encoders 30 is labeled as “A”. The software- embodied AA / -encoders 30 may run on the same or separate servers.
[0098] The task of each AA / -encoder 30 is to receive data 25 from different subgroups of participants 10 via the server nodes 60 and / or from other sources 20 (as in the embodiment shown in FIG. 2). It should be mentioned that the number of data sources 10, 20 is not correlated to the number of A / V-encoders 30. Preferably, the data sources 10, 20 of each subgroup are different from the sources 10, 20 of other subgroups. However, this does not have to be necessarily true; it is also possible that one or more sources 10, 20, but not all sources 10, 20, supply data 25 to two or more A / V-encoders 30. Each A / V-encoder 30 produces a different data stream 35 from the data streams 25 of its assigned participants 10 or other data sources 20, or, generally speaking, from data of its data sources 10, 20. The data stream 35 of each A / V-encoder 30 is then sent, via respective processing in the A / V- mixer 42, to the respectively assigned field 44 of the layout of the A / V-mixer 42. The A / V-mixer 42 combines the data streams 35 of each of its fields 44 into the first single data stream. Following that, the A / V-mixer 42 may compress the first single data stream to single data streams 55 of different bandwidths (as shown in FIG. 7) (if this third aspect of the invention is not combined with, e.g., the first and / or second aspects of the invention). Then, these single data streams 55 are distributed to a plurality of participants 10 as is known from the prior art. Here, the number of participants 10 is higher, and usually much higher, than the number of bandwidths N provided by the central server unit 40.
[0099] The third aspect of the invention thus allows, through the use of several upstream A / V-encoders 30, the distribution and processing of all possible input sources 10, 20 (participants P, loT-sources, drones, various streams, data sources, etc.) in large numbers.
[0100] The embodiment of FIG. 8 combines the first and third aspects of the present invention. Such a combination of the first and the third aspects of the invention may start from the embodiment of FIG. 7 with several A / V-encoders 30 being arranged upstream of the A / V-mixer 42. For the sake of simplicity, only one line for the incoming data streams 25 has been depicted in FIG. 8, which ends at A / V-encoder 30 labelled “A / V-encoder 1”; however, it is understood that, as in FIG. 7, there are several incoming data streams 25 that are provided to the plurality of A / V-encoders 30. To this embodiment, the feature of the M server nodes 60 as shown and described with respect to FIGS. 2 and 3 are added. Thus, the M server nodes 60 are interposed between the central server unit 40 providing the N single data streams 55 with the respective N bandwidths on the one side and the P participants 10 on the other side as shown in FIG. 2 and in more detail in FIG. 3. As shown in the embodiment of FIG. 8, each of the 1 ... M server nodes 60 sends their respective stream 55 with the specific bandwidth to P participants 10.
[0101] Likewise, the second aspect of the invention as shown in FIG. 2-6 and the third aspect of the invention as shown in FIG. 7 may be combined. A respective embodiment is shown in Fig. 9. Here, the plurality of AA / -encoders 30 of the third aspect, which send different data streams 35 each comprising data originating from a subgroup of data sources 10, 20 via the various server nodes 60 and / or other data sources 20, is located upstream of the A / V-mixer 42 (FIG. 7), while several server node clusters 70 labelled “server node clusters 1 ...X” according to the above-discussed second embodiment of the second aspect of the invention are located downstream of the A / V- mixer 42 (FIG. 5).
[0102] Likewise, the embodiment of the first (FIGS. 2-3), the second (FIGS. 4-6) and the third aspects (FIG. 7) of the invention may be combined. A respective exemplary embodiment is shown in Fig. 10. Here, a plurality of A / V-encoders 30 of the third aspect of the invention is again located upstream of the A / V- mixer 42 (FIG. 7). Each A / V-encoder 30 collects data from various subgroups of data sources 10, 20, especially participants 10 via server nodes 60 and / or other data sources 20. The A / V-encoders 30 send their respective data streams 35 to the A / V-mixer 42 in the central server unit 40, which combines the data streams 35 to a first single data stream 45.
[0103] In the upper half of FIG. 10, downstream of the central server unit 40, an embodiment similar to the third embodiment of the second aspect as shown in FIG. 6 is depicted (the third embodiment has been chosen to exemplify the possibilities of combinations of all embodiments disclosed herein; likewise, the first and / or second embodiments of the second aspect might have been implemented into the system shown in FIG. 10, in addition to or as an alternative to said third embodiment). In FIG. 10, one or more server node clusters 70 include several server nodes 60, wherein all server nodes 60 of a respective server node cluster 70 compress the first single data stream 45 to a specific single data stream 55 of a specific bandwidth; see above explanations for FIG. 6. For example, server nodes 60 labelled “server nodes 1.1 , 1.2, ...” of server node cluster 70 labelled “server node cluster 1” compress the first single data stream 45 to a single data stream 55 of bandwidth 1 . Following that, each server node 60 sends out the single data stream 55 it has produced to preferably a plurality of participants 10.
[0104] In the lower half of FIG. 10, downstream of the central server unit 40, the first aspect of the invention is embodied. The A / V-mixer 42 compresses the first single data stream to one or more single data streams 55 with a reduced bandwidth each and sends them to a plurality of server nodes 60, which each transmit the single data stream 55 to a plurality of participants 10 each (cf. with FIG. 2 and 3).
[0105] Thus, the embodiment shown in FIG. 10 discloses one of several possible combinations of the three aspects of the present invention.
[0106] It is preferred that an algorithm, preferably implemented in the central server unit 40 and / or distributed over server nodes 60, ensures that the existing hard- and software equipment of each participant 10 is taken into account for assigning the appropriate server nodes 60 or server node clusters 70 and its respective single data stream 55 of specific bandwidth to the participants 10.
[0107] All steps in the described video conference systems 1 and the methods for conducting a video conference of the three aspects of the present invention are performed in real time. This relates to the incoming data streams 25, the receiving, processing and transmitting in the A / V-mixer 42 and the server node 60 and server node clusters 70 as well as the processing (incl. receiving and sending) in all other server and software routines described herein. It should be mentioned, too, that in all embodiments and aspects of the invention disclosed herein there may be interposed hard- and / or software for processing the data and / or single data streams before transmitting them to the entities described herein.
[0108] This written description uses examples to disclose the invention and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the invention is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they include structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.
Claims
C l a i m s1 . A video conferencing system (1 ) for conducting a video conference in real time comprising:- a central server unit (40) configured to receive, in real time, a plurality of incoming data streams (25) originating from participants (10) and / or other data sources (20);- said central server unit (40) comprising an A / V-mixer (42) configured to combine, in real time, said incoming data streams (42) into a first single data stream;- said central server unit (40) configured to compress, in real time, said first single data stream to single data streams (55) of different bandwidths;- said central server unit (40) configured to send, in real time, each of at least some of the single data streams (55) of different bandwidths to a different group (62) of a plurality of server nodes (60), wherein the server nodes (60) in each group (62) are configured to receive, in real time, such respective stream (55);- each of the server nodes (60) configured to send, in real time, said received stream (55) to a plurality of participants (10), either directly or indirectly via one or more further, downstream server nodes.
2. The video conferencing system (1 ) according to claim 1 , wherein an optimization algorithm, preferably implemented in the central server unit (40), adapts, in real time:- the number of bandwidths, and / or- the total number of server nodes (60) and the mapping of the number of bandwidths to the total number of server nodes (60), and / or- the mapping of the total number of server nodes (60) to the total number of participants (10), and / or- the number of server nodes (60) in said groups (62) of server nodes (60), and / or- the number of said groups (62) of server nodes (60) and the mapping of the number of bandwidths to the number of groups (62) of server nodes (60).
3. A method for conducting a video conference in real time, the method comprising the steps of:- by a central server unit (40), receiving, in real time, a plurality of incoming data streams (25) originating from participants (10) and / or other data sources (20);- by an A / V-mixer (42) of said central server unit (40), combining, in real time, said incoming data streams (25) into a first single data stream;- by said central server unit (40), compressing, in real time, said first single data stream to single data streams (55) of different bandwidths;- by said central server unit (40), sending, in real time, each of at least some of the streams (55) of different bandwidths to a different group (62) of a plurality of server nodes (60);- by the server nodes (60) in each group (62), receiving, in real time, such respective stream (55) and sending, in real time, said received stream (55) to a plurality of participants (10), either directly or indirectly via one or more further, downstream server nodes (60).
4. The method according to claim 3, comprising at least one of the following steps of, by an optimization algorithm:- adapting, in real time, the number of bandwidths, and / or- adapting, in real time, the total number of server nodes (60) and mapping the number of bandwidths to the total number of server nodes (60), and / or- mapping, in real time, the number of server nodes (60) to thenumber of participants (10) ;- adapting the number of server nodes (60) in said groups (62) of server nodes (60), and / or- adapting the number of said groups (62) of server nodes (60) and mapping of the number of bandwidths to the number of groups (62) of server nodes (60).
5. A video conferencing system (1 ) for conducting a video conference in real time comprising:- a central server unit (40) configured to receive, in real time, a plurality of incoming data streams (25) originating from participants (10) and / or other data sources (20);- said central server unit (40) comprising an A / V-mixer (42) configured to combine, in real time, said incoming data streams (25) into a first single data stream (45);- said central server unit (40) configured to send, in real time, said first single data stream (45), directly or indirectly via further, downstream server nodes (60), to a plurality of server nodes (60), wherein at least some of said server nodes (60) are configured to receive, in real time, said first single data stream (45) and compress, in real time, said received single data stream (45) to one or more compressed single data streams (55);- the respective server nodes (60) configured to send, in real time, the respectively compressed single data stream or streams (55), directly or indirectly, to a plurality of participants (10).
6. The video conferencing system (1 ) according to claim 5, wherein several server nodes (60) are clustered in at least one server node cluster (70), wherein the server nodes (60) in each server node cluster (70) are configured to compress, in real time, said first single data stream (45) into single data streams (55) of identical bandwidth and to send out, in real time, said compressed single data streams (55),directly or indirectly via further, downstream server nodes (60), to a plurality of participants (10).
7. A method for conducting a video conference in real time, the method comprising the steps of:- by a central server unit (40), receiving, in real time, a plurality of incoming data streams (25) originating from participants (10) and / or other data sources (20);- by an A / V-mixer (42) being part of said central server unit (40), combining, in real time, said incoming data streams (25) into a first single data stream (45);- by said central server unit (40), sending, in real time, said first single data stream (45), directly or indirectly via further, downstream server nodes (60), to a plurality of server nodes (60),- by said server nodes (60), receiving, in real time, said first single data stream (45), wherein at least some of these server nodes (60) are configured to compress, in real time, said received single data stream (45) to one or more compressed single data streams (55);- by the respective server nodes (60), sending, in real time, the respectively compressed single data stream or streams (55), directly or indirectly, to a plurality of participants (10).
8. The method according to claim 7, comprising the steps of,- clustering several server nodes (60) in at least one server node cluster (70),- by the server nodes (60) in each server node cluster (70), compressing, in real time, said first single data stream (45) into single data streams (55) of identical bandwidth, and sending out, in real time, said compressed single data streams (55), directly or indirectly via further, downstream server nodes (60), to a plurality of participants (10).
9. A video conferencing system (1 ) for conducting a video conference in real time comprising:- a plurality of software-embodied A / V-encoders (30), each A / V- encoder (30) configured to receive, in real time, incoming data streams (25) originating from different subgroups of participants (10) and / or other data sources (20) and to combine, in real time, the data streams into a respective subgroup data stream (35);- a central server unit (40) comprising a software-embodied A / V- mixer (42), said A / V-mixer (42) configured to receive, in real time, the various subgroup data streams (35) from the various A / V-encoders (30), wherein said A / V-mixer (42) combines, in real time, the subgroup data streams (35) into a first single data stream (45);- said central server unit (40) further configured to send, in real time, the first single data stream (45) or a single data stream derived from said first single data stream, directly or indirectly via further, downstream server nodes (30), to a plurality of participants (10).
10. The video conferencing system (1 ) according to claim 9, wherein the A / V-mixer (42) is configured to process each respective subgroup data stream (35) of each A / V-encoder (30) for display on a different part (44) of a screen of the participants (10).
11. A method for conducting a video conference in real time, the method comprising the steps of:- by a plurality of software-embodied A / V-encoders (30), receiving, in real time, incoming data streams (25) originating from different subgroups of participants (10) and / or other data sources (20) and to provide, at their respective outputs and in real time, a combined data stream (35);- by a software-embodied A / V-mixer (42), which is part of a central server unit (40), receiving, in real time, the various subgroup data streams (35) from the various A / V-encoders (30);- by said A / V-mixer (42), combining, in real time, the various subgroup data streams (35) into a first single data stream (45);- by said central server unit (40), sending, in real time, said first single data stream (45) or a single data stream derived from said first single data stream, directly or indirectly via further, downstream server nodes (60), to a plurality of participants (10).
12. The method according to claim 11 , comprising the step of processing, by the A / V-mixer (42), each respective subgroup data stream (35) of each A / V-encoder (30) for display on a different part (44) of a screen of the participants (10).
13. A video conferencing system (1 ) for conducting a video conference in real time comprising the features of some or all of the preceding independent system claims, preferably with the features of some or all of its respective dependent claims.
14. A video conferencing system (1 ) according to claim 13, wherein at least some of the server nodes (60) are configured to receive, in real time, at least some of the incoming data streams from participants (10) and / or other data sources (20) and to send them, if applicable after processing, in real time to the central server unit (40).
15. A method for conducting a video conference in real time with the features of some or all of the preceding independent method claims, preferably with the features of some or all of its respective dependent claims.
16. The method according to claim 15, wherein the method further comprises:- by at least some of the server nodes (60), receiving at least some of the incoming data streams from participants (10) and / or otherdata sources (20) and sending them, if applicable after processing, to the central server unit (40).
17. A computer program which, when executed by a central server unit (40) and / or at least one of a plurality of server nodes (60) and / or at least one of a plurality of A / V-encoders (30), causes the central server unit (40) and / or the at least one server node (60) and / or the at least one A / V-encoder (30) to perform a method according to one or more of the preceding method claims.
18. A computer readable storage medium comprising a computer program, wherein the computer program, when executed by a central server unit (40) and / or at least one of a plurality of server nodes (60) and / or at least one of a plurality of A / V-encoders (30), causes the central server unit (40) and / or the at least one server node (60) and / or the at least one A / V-encoder (30) to perform a method according to one or more of the preceding method claims.