WO2012120240A1 - Dispositif et procédé de mixage reparti de flux de données - Google Patents
Dispositif et procédé de mixage reparti de flux de données Download PDFInfo
- Publication number
- WO2012120240A1 WO2012120240A1 PCT/FR2012/050491 FR2012050491W WO2012120240A1 WO 2012120240 A1 WO2012120240 A1 WO 2012120240A1 FR 2012050491 W FR2012050491 W FR 2012050491W WO 2012120240 A1 WO2012120240 A1 WO 2012120240A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- stream
- incoming
- mixing
- outgoing
- data streams
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
- H04N7/152—Multipoint control units therefor
Definitions
- the invention relates to the field of transmission and mixing of data streams, in particular audio and video multimedia data streams in the context of audio and / or video teleconferences.
- Conventional teleconferencing systems are based on the transmission of data streams, both audio for audio and video for the image, between the different participants in such a teleconference.
- the different streams in question are managed by a multimedia conference server which organizes the videoconference on behalf of the speakers.
- This server thus receives the different streams of data from the participants in the videoconference, and processes these different streams by mixing them in order to build outgoing data streams to be sent back to the different participants.
- a central video-conference multimedia server can receive a number of video streams from the different participants, and can broadcast to them a single video stream in which these streams are mixed, by example as a video mosaic.
- the multimedia conference server above has limited mixing means in computing power, which prevents it from managing videoconferences with a number of participants exceeding the authorized capacity by these means of treatment. Multimedia conferencing servers are therefore not currently upgradeable.
- the current multimedia conference servers also require that all participants are supported on the same server, which is difficult to manage when a conference service is spread over several machines (farm, cloud, ...)
- the present invention aims to overcome the aforementioned drawbacks.
- the present invention proposes for this purpose a distributed data flow mixing device comprising a main multimedia server, able to receive at least one incoming data stream and to output at least one outgoing data stream, and at least one server secondary multimedia device, adapted to receive at least one incoming data stream and outputting at least one outgoing data stream,
- the main media server comprising a selection module arranged to select a plurality of data streams from the incoming data streams and a global mixing module arranged to mix the selected data streams to obtain an aggregated stream
- the secondary media server comprising a local mixing module arranged to mix at least two incoming data streams received by the secondary media server and selected by the selection module of the main multimedia server, in order to obtain an intermediate stream e incoming able to be used by the overall mixing module of the main multimedia server to obtain the aggregated stream.
- the primary and secondary multimedia servers respectively comprise a communication module arranged to transmit, from the selection module to the secondary multimedia server, a message designating the incoming data streams received by the secondary multimedia server which are selected by the selection module and for transmitting the incoming intermediate stream of the local mixer of the secondary multimedia server to the overall mixing module of the main multimedia server.
- the communication module of the main multimedia server is arranged to transmit the aggregated stream of the global mixing module of the main multimedia server to the communication module of each secondary multimedia server.
- the global mixing module is arranged to provide a data outgoing intermediate stream comprising the aggregated stream in which the incoming data intermediate stream provided by the secondary media server is removed
- the module of the main media server is arranged to transmit the aggregated stream of the overall mixing module of the main media server to the communication module of the secondary multimedia server
- the local mixing module of the secondary multimedia server is arranged to obtain each outgoing data stream. outputted from the secondary media server by mixing the outgoing data stream with the incoming data stream.
- each incoming data stream is associated with a outgoing data stream
- the local mixer of the secondary media server is arranged to remove from said outgoing data stream the incoming data stream associated with it.
- the main multimedia server further comprises a local mixing module arranged to mix at least two incoming data streams received by the main media server when said incoming data streams are selected by the selection module, which Allows you to further spread the computing load within the system.
- each local mixing module is further arranged to decode the incoming data streams and to encode the outgoing data streams, thereby allocating between several servers the computing load related to the coding of the data. data.
- the present invention further provides a distributed data flow mixing method implemented by a distributed mixing device comprising a main media server and at least one secondary media server, the method comprising the steps of:
- selecting a plurality of data streams from the incoming data streams when a plurality of incoming data streams received by the secondary media server are selected, mixing said incoming media streams received by the secondary media server and selected in the secondary media server to obtain an incoming data intermediate stream;
- this method comprises the steps of, for each secondary multimedia server:
- each incoming data stream is associated with an outgoing data stream
- the incoming data stream. associated with the outgoing data stream is removed from the outgoing data stream.
- the step of receiving the incoming data streams comprises decoding said incoming data streams and the step of providing the outgoing data streams comprises encoding said outgoing data flows, thereby distributing in addition between several servers the computation load related to the data encoding.
- the mixing device is a video data stream mixing device and the incoming and outgoing data streams are video data streams.
- the mixing device is an audio data stream mixing device and the incoming and outgoing data streams are audio data streams.
- the above selection of incoming data streams includes selecting a predefined number of incoming data streams having the highest sound level among all the incoming data streams, in order to ensure good sound quality in conference.
- the above selection of incoming data streams includes selecting a predetermined incoming data stream, in order to be able to impose a priority participant within a conference.
- FIG. 1 schematically illustrates a distributed data flow mixing device according to the present invention
- FIG. 2 illustrates the steps of a method of distributed mixing of data streams according to the present invention
- FIG. 3 illustrates a first embodiment of the distributed mixing device according to the present invention.
- FIG. 4 illustrates a first embodiment of the distributed mixing device according to the present invention.
- FIG. 1 is schematically illustrated a distributed data flow mixing device according to the present invention.
- This distributed data flow mixing device comprises, on the one hand, a main multimedia server 10 and, on the other hand, at least one secondary multimedia server 20.
- a main multimedia server 10 and, on the other hand, at least one secondary multimedia server 20.
- two secondary multimedia servers 20 and 30 are illustrated in Figure 1, but any number of secondary media servers may be employed knowing that the larger this number, the more the present invention produces its advantageous effect.
- any number of secondary media servers may be employed knowing that the larger this number, the more the present invention produces its advantageous effect.
- only the relationship between the main multimedia server 10 and the secondary multimedia server 20 is described in detail for the sake of brevity.
- the main multimedia server 10 is able to receive at least one incoming data stream and to output at least one outgoing data stream.
- the main multimedia server 10 receives three incoming data streams A, B and C coming respectively from three users and returns three outgoing data streams ⁇ ', ⁇ ' and C to these three users. three users, so that the incoming data stream A is associated with the outgoing data stream A ', etc.
- the secondary multimedia server 20 is able to receive at least one incoming data stream and to output at least one outgoing data stream.
- the secondary multimedia server 20 receives three incoming data streams D, E and F coming respectively from three users (different from the users communicating with the main server 10) and in return sends back three streams of data. outgoing data D ', E' and F 'to these three users, so that the incoming data stream D is associated with the outgoing data stream D', etc.
- the secondary multimedia server 30 receives three incoming data streams G, H, I coming respectively from three other users and returns respectively three outgoing data streams G ', H' and ⁇ to these three users.
- the main multimedia server also comprises a selection module 1 1 arranged to select a plurality of data streams from the incoming data streams.
- This selection module uses one or more selection criteria, which may take into account the behavior of the users.
- the selection module 1 1 of the incoming data streams can use a selection criterion corresponding to the selection of a predefined number of incoming data streams having the noise level. the highest among all incoming data streams.
- the four streams A, B, E and F are selected.
- An arbitrary selection criterion may also be used, for example by imposing the selection of a predetermined incoming data stream, which may be useful in cases where a priority data stream must be broadcast to the different participants.
- the aggregated flow S therefore comprises the four data streams A, B, E and F mixed together by the global mixing module.
- the secondary multimedia server 20 comprises, for its part, a local mixing module 21 (just like the secondary multimedia server 30 which includes a similar local mixing module 31) arranged to mix at least two of the incoming data streams received by the server.
- secondary multimedia when they are selected by the selection module of the main multimedia server, to obtain an incoming intermediate stream T.
- This incoming intermediate stream T can then be transmitted to the main multimedia server and is adapted to be used by the global mixing module of this main multimedia server to obtain the aggregated stream S.
- a first local mixing operation may take place at the secondary media server 20 (to obtain the incoming intermediate stream T) before a the second mixing operation takes place at the main multimedia server 10 (to obtain the aggregated stream S).
- Mixing different streams selected is distributed between the servers 10 and 20, which lighten the workload of the main multimedia server compared to a situation where he should take care of the mix alone.
- the main multimedia server 10 further comprises a communication module 15 and, similarly, the multimedia servers 20 and 30 respectively comprise communication modules 25 and 35. These communication modules are connected and arranged to communicate with each other in order to exchange data. data flow between, on the one hand, the servers 10 and 20 and, on the other hand, the servers 10 and 30.
- these communication modules 15 and 25 can be arranged to transmit, from the secondary multimedia server 20 to the main multimedia server, parameters for the selection of the incoming streams, such as, for example, the sound level of an incoming audio data stream. etc.
- These communication modules 15 and 25 are arranged to transmit, from the selection module 10 to the secondary multimedia server 20, an SLCT message designating the incoming data streams received by the secondary multimedia server that are selected by the selection module (here the flows E and F).
- These communication modules 15 and 25 are also arranged to transmit the incoming intermediate stream T of the local mixing module of the secondary multimedia server to the overall mixing module of the main multimedia server, so that the latter can use this intermediate stream T to build the stream aggregated S.
- the different outgoing data flows A 'to F' comprise the aggregated stream S as such, as is more particularly the case with the first embodiment illustrated below in FIG.
- the communication module 15 of the main multimedia server 10 is then arranged to transmit the aggregated stream S of the global mixing module of the main multimedia server to the communication module of each secondary multimedia server 20, 30, etc.
- the secondary multimedia server can then transmit outgoing flows D ', E' and F 'comprising, or even corresponding completely, the aggregated stream S.
- the communication module 15 of the main multimedia server 10 does not return the aggregated stream S as such to the different secondary multimedia servers 20, 30, as is more particularly the case with the first embodiment illustrated below. in figure 4.
- the global mixing module 13 is arranged to supply each secondary multimedia server with an outgoing intermediate stream T '.
- a outgoing intermediate stream is constructed respectively for each secondary media server associated with the main media server 10.
- Such outgoing intermediate stream T thus comprises the aggregated stream S in which the incoming data input stream T provided by the secondary media server concerned is removed.
- the term "withdrawn" means that the outgoing intermediate flow T 'does not include the incoming intermediate flow T, so that it does not include the individual incoming flows E and F constituting this incoming intermediate flow T.
- Such a withdrawal can consist in suppressing these individual incoming flows E and F in the aggregated flow S, by digital filtering passing all the individual flows of the aggregated signal S with the exception of these individual flows E and F.
- This withdrawal operation can alternatively consist in selecting the individual flows of the aggregate flow S different from these individual flows E and F and in building the outgoing intermediate flow T 'from these individual flows.
- the communication module 15 of the main multimedia server 10 is then arranged to transmit the outgoing intermediate stream T 'of the global mixing module 13 of the main multimedia server to the communication module 25 of the secondary multimedia server 20.
- the local mixing module 21 of the secondary multimedia server is then, for its part, arranged to obtain each outgoing data stream outputted from the secondary multimedia server (ie the outgoing flows D ', E' and F 'in FIG. 1). by mixing the outgoing intermediate stream T 'with the incoming intermediate stream T as constructed by the local mixing module 21.
- each incoming data stream A to F is respectively associated with an outgoing data stream A 'and F', it may be advantageous to ensure that for each outgoing data stream D 'to F' provided in output of the secondary multimedia server, the local mixing module 21 of the secondary multimedia server 20 is further arranged to remove from this outgoing data flow the incoming data stream that is associated with it if the latter is one of the incoming flows selected by the selection module 1 1.
- the incoming data stream E is selected by the selection module 1 1
- this incoming data stream E is found in all the outgoing data streams A 'to F' with the exception of the outgoing data stream E ' associated with it.
- the incoming data stream F is selected by the selection module 1 1, this incoming data stream F is found in all the outgoing data streams A 'to E', but not in the outgoing data stream F ' associated with it.
- the main multimedia server 10 may further comprise a local mixing module 17 arranged to mix at least two incoming data streams received by the main multimedia server when these incoming data streams are selected by the selection module 1 1, similarly to this which is performed by the local mixer 21 of one of the secondary multimedia server.
- a local mixing module 17 arranged to mix at least two incoming data streams received by the main multimedia server when these incoming data streams are selected by the selection module 1 1, similarly to this which is performed by the local mixer 21 of one of the secondary multimedia server.
- Incoming and outgoing data flows are presented in a specific format that allows multimedia servers to interact with other network elements during the conference and to optimize the transmission of data. term of data sizes and resistance to transmission errors.
- the TCP protocol can be used to transport these data streams, in order to properly manage the transmission errors that may affect them.
- Internal processing of media servers may not be compatible with the format specifically used for external data stream transmission, and it may be appropriate to convert incoming AF data streams to a format suitable for mixing when received by one of the multimedia servers and, conversely, convert the outgoing data stream A'-F 'in a format suitable for transmission over a network.
- each local mixing module 17, 21, 31 is advantageously further arranged for decoding the incoming data streams AF in a format suitable for mixing operations and for coding the outgoing data streams A'-F 'in a format suitable for data transmission.
- a format suitable for mixing operations internal to multimedia servers may be PCM format (for Inc. Code Modulation in English) and the TCP protocol can be used for the transmission of data streams outside the media servers.
- FIG. 2 illustrates the steps of a method of distributed mixing of data streams according to the present invention.
- This distributed mixing method 100 is implemented by a distributed mixing device as described above in relation to FIG. 1, that is to say comprising a main multimedia server 10 and at least one secondary multimedia server 20. .
- This method 100 comprises a step 1 10 of receiving at least one incoming data stream (for example three incoming data streams A, B, C) in the main multimedia server 10 and at least one incoming data stream (for example, three incoming data streams D, E, F) in the secondary multimedia server.
- at least one incoming data stream for example three incoming data streams A, B, C
- at least one incoming data stream for example, three incoming data streams D, E, F
- This step 1 may advantageously comprise a sub-step 1 for decoding the incoming data streams in order to convert them from an original format, suitable for data transmission, to a format suitable for mixing data streams. as described above, which also allows to distribute the effort in terms of decoding between several servers.
- the method continues with a step 120 of selecting a plurality of data streams (eg incoming data streams A, B, E, F) from the incoming data streams received by the different media servers.
- this selection is made according to one or more selection criterion (s), such as for example the selection of a number of streams having the largest sound volume or a predetermined arbitrary flow.
- the method continues with a step 130 of local mixing by the local mixer 21 of the multimedia server.
- secondary of these incoming data streams that are received by the secondary media server 20 and selected by the main media server 10, to obtain an incoming intermediate stream T which is then sent to the global mixing module 13 of the main multimedia server.
- the main multimedia server also has a local mixing module 17, a similar operation can also be practiced at the main multimedia server during this step 130 of local mixing.
- the local mixing step 130 further comprises the mixing, by this local mixing module 17 , of these flows incoming data received and selected by the main media server to obtain an incoming intermediate stream also subsequently sent to the global mixing module 13 of the main multimedia server.
- the method then continues with a step 140 of global mixing of the selected data streams, in particular by means of the incoming intermediate stream T, in the main multimedia server in order to obtain an aggregated stream S comprising all the data streams selected at the during step 120 of selection.
- This global mix therefore uses any incoming intermediate stream generated locally by one of the local mixer modules of a secondary media server (or the main media server when it has such a module) when a plurality of incoming data streams can be mixed locally.
- the method then ends with a step 150 of providing at least one outgoing data stream at the output of the main multimedia server (for example the outgoing data streams A ', B', and C associated therewith. respectively to the input streams A, B, C) and at least one outgoing data stream at the output of the secondary multimedia server (for example the outgoing data streams D ', E', F 'associated respectively with the input streams D , E, F), these different outgoing data streams being obtained from the aggregated stream S.
- the main multimedia server for example the outgoing data streams A ', B', and C associated therewith. respectively to the input streams A, B, C
- the secondary multimedia server for example the outgoing data streams D ', E', F 'associated respectively with the input streams D , E, F
- This step 150 may advantageously comprise a substep 155 of encoding outgoing data streams in order to convert them from an original format, more suitable for mixing data streams, to an external format, more suitable for the transmission of data. data flow as previously described, which also helps to spread the effort in coding between multiple servers.
- the aggregated data stream S obtained during step 140 is directly transmitted, as it is, to the secondary multimedia server to enable the provision, when of step 150, outgoing data stream (s) (here, flows D ', E', F ') comprising, or even corresponding completely to, this aggregated data stream S.
- outgoing data stream (s) here, flows D ', E', F '
- the aggregated data stream S is not directly transmitted from the main multimedia server to the secondary multimedia server, but an outgoing intermediate stream T 'is generated during the global mixing step 140, for each server secondary multimedia, from this aggregated data stream S to which the incoming intermediate stream T received from the secondary multimedia server in question is removed.
- an additional substep 151 of local mixing is then performed in step 150, at the secondary multimedia server, in order to mix the outgoing intermediate flow T 'with the incoming intermediate flow T to locally obtain the aggregated flow S. This makes it possible to distribute even more the mixing effort between the different servers.
- this sub-step 151 of local mixing it is also possible to remove, for each outgoing data flow, the incoming data flow associated with it (ie the incoming flow A for the outgoing flow A ', etc.) during that the latter is part of the selected streams, which is particularly suitable for audio conferences.
- FIG. 3 illustrates a first embodiment of the distributed mixing device according to the present invention.
- the data streams are video streams and this mixing device is a video mixing device more particularly adapted to videoconferences.
- This device comprises a main multimedia server 10 ', similar to the main multimedia server 10 described above, and a secondary multimedia server 20' similar to the secondary multimedia server 20 described above.
- the main multimedia server 10 'thus comprises a global video mixing module 13' (similar to the overall mixing module 13), a local video mixing module 17 '(similar to the local mixing module 17) and a communication module and selection 15 ', which corresponds to the communication modules 15 and selection 1 1 described above.
- the secondary multimedia server 20 ' comprises, for its part, a local video mixing module 21' and a communication and selection module 25 ', similar respectively to the modules 21 and 25 described above.
- the main multimedia server 10 receives three incoming video streams A, B, C on three separate input ports assigned respectively to a separate participant, and returns three outgoing video streams A', B ', C respectively allocated to each of these participants (and therefore respectively associated with an incoming video stream) on three separate output ports.
- the secondary multimedia server 20 'receives three incoming video streams D, E, F on three separate input ports assigned respectively to a separate participant, and returns three outgoing video streams E', D ', F' respectively allocated to each of these participants (and therefore respectively associated with an incoming video stream) on three separate output ports.
- the entire device illustrated in Figure 3 is capable of managing a video conference with six participants.
- the communication and selection module 25 uses a criterion of selection (for example, the selection of four video streams whose associated audio streams have the highest loudness, or the selection of four video streams conditioned to the order of arrival of participants in a video conference, or still the selection of a video stream whose associated audio stream has a sound volume exceeding a certain threshold indicative of the activity of the participant or the selection of video streams indicative of a movement) to select four video streams among the six received, and possibly decoded in a format suitable for stream mixing.
- a criterion of selection for example, the selection of four video streams whose associated audio streams have the highest loudness, or the selection of four video streams conditioned to the order of arrival of participants in a video conference, or still the selection of a video stream whose associated audio stream has a sound volume exceeding a certain threshold indicative of the activity of the participant or the selection of video streams indicative of a movement
- each server receives a plurality of selected incoming video streams
- the respective local mixers of these servers operate a local mix on the selected incoming video streams that these servers receive.
- the intermediate stream T is then transmitted by the communication module 25 'to the communication and control module 15' which is responsible for transmitting it to the global mixing module 13 ', which in addition receives the intermediate stream U obtained by the module local mix 17 '.
- the aggregated stream S obtained is broadcast to all the output ports of the multimedia servers 10 'and 20'.
- this broadcasting amounts to supplying, respectively on each of the three output ports, the output video streams A', B ', C comprising or wholly corresponding to the aggregated video stream S.
- the aggregated stream S is in fact directly provided on the three output ports of the server 10 ", after possibly being encoded with a format suitable for data transmission.
- this broadcast amounts to transmitting the aggregated flow S of the control and communication module 15' to the control and communication module 25 ', before obtaining the output video streams D ', E', F 'to supply respectively on the three output ports of the server 20', these video streams comprising, or corresponding in their entirety, the aggregated video stream S.
- the aggregated stream S is in fact directly provided on the three output ports of the server 20 ', after possibly being encoded with a format suitable for data transmission.
- the mixing operations mentioned above can consist in mixing the video data streams in a mosaic simultaneously presenting the selected video streams (here a mosaic of 4 images of the same size).
- the local mixing module 17 mixes the incoming flows A, B so as to make them appear in the opposite corners at the top right and bottom left of a mosaic of 4 images
- the local mixing module 21 mixes the incoming flows E, F so as to make them appear in the other opposite corners, at the top left and at the bottom right of a mosaic of 4 similar images.
- the location assigned to each incoming data stream selected in the mosaic dataset may be defined in advance by means of the control and selection module 15 'of the main server and communicated to the control and control module 25' of the secondary server so that this module instruct the local mixing module 21 'accordingly.
- the global mixing module 13 ' only has to superimpose the intermediate flows thus formed in order to obtain an aggregated flow S whose visual presentation corresponds to a mosaic of 4 corresponding images. to streams A, B, E, F that can be broadcast to the 6 participants in the videoconference.
- the layout of the mosaic can take various forms using one or more selection criterion (s).
- selection criterion s.
- an image can be reserved for a participant selected as being mandatory visible by a particular status, while the other three images can be used to display in real time the images corresponding to the images. participants speaking the loudest in their microphone, for example.
- FIG. 4 illustrates a second embodiment of the distributed mixing device according to the present invention.
- the data streams are audio streams and the mixing device is an audio mixing device more particularly suited to audio conferences.
- This mixing device may also be an audio / video mixing device, in which case FIG. 4 more specifically illustrates the audio operation of such a device, whether it is for example during an audio-only or audio / video conference.
- the aggregated stream S corresponding to the selected incoming data streams is not directly distributed to all participants, but is modified specifically for each participant to to avoid that the same participant receives an outgoing flow including the incoming flow that it sends to the device, if it is selected, which would generate deleterious echo phenomena.
- this device comprises a main multimedia server 10 ", similar to the main multimedia server 10 described above, and a secondary multimedia server 20" similar to the secondary multimedia server 20 described above.
- the main media server 10 "includes a global audio mixing module
- the secondary multimedia server 20 “comprises, for its part, a local audio mixing module 21” and a communication and selection module 25 “, respectively similar to the modules 21 and 25 described herein. -before.
- the local audio mixing modules 17 “and 21” respectively comprise preliminary mixing means 18 “and 22" which are arranged to mix the incoming audio streams selected by the communication and selection module 15 ", in order to obtain intermediate inward flows that can be used by the global audio mixing module 13 "to obtain the aggregated stream S.
- the local audio mixing modules 17 "and 21" also respectively comprise second final mixer means 19 "and 23" 'which are arranged to output the outgoing data streams from the outgoing intermediate flow T' and certain streams incoming data selected.
- the main multimedia server 10 "receives three incoming audio streams A, B, C on three separate input ports assigned respectively to a distinct participant, and returns three outgoing audio streams A ', B', C respectively assigned to each of these participants (and therefore respectively associated with an incoming video stream) on three separate output ports.
- the secondary multimedia server 20 "receives three incoming audio streams D, E, F on three separate input ports assigned respectively to a separate participant, and returns three outgoing audio streams E ', D', F 'respectively assigned to each of these participants (and therefore respectively associated with an incoming video stream) on three separate output ports.
- the communication and selection module 25 "uses a selection criterion, such as those mentioned above, to select four audio streams among the six received, and possibly decoded in a format suitable for mixing streams.
- the secondary multimedia server can send a message containing information about the sound levels of the incoming audio streams D, E, F so that the communication and selection module 25 ", which also has direct access to audio levels of the incoming audio streams A, B, C, can select the 4 incoming streams with the highest sound levels, here the flows A, B, E and F as an example.
- This information on the sound levels can be obtained by means of a specific element calculating the sound power of the incoming audio streams upon their reception, after their decoding for example.
- the respective preliminary local mixers of these servers operate a local mix on the selected incoming audio streams that these servers receive.
- the intermediate stream T is then transmitted by the communication module 25 "to the communication and control module 15" which is responsible for transmitting it to the global audio mixing module 13 ", which also receives the intermediate stream U obtained by the module 18 "pre-mix mixer.
- an outgoing intermediate stream is constructed by the global mixing module 13 "for each server by taking the aggregated video stream S and removing the intermediate stream U received from the server in question.
- an outgoing intermediate stream U is constructed from the aggregated stream S to which the elements of the incoming intermediate stream U received from the preliminary local mixing module 18 "are removed.
- the respective outgoing intermediate streams are then forwarded to the respective final server mixers for use in obtaining the outgoing data streams.
- the outgoing intermediate flow U " is therefore transmitted directly to the final mixing module 19" while the outgoing intermediate flow T "is transmitted, thanks to the communication and selection module 15" and the communication and control module 25 ", to the 23 "final mixing module.
- the final mixing module 19 "then builds the different output audio streams A ', B', C to be output from the main multimedia server 10" using the outgoing intermediate stream U "and the selected incoming data streams A and B but taking care to remove, for each output stream A ', B', C, the incoming data flow associated therewith.
- the final mixing module 23 "builds the different output audio streams D ', E', F 'to output the secondary media server 20" using the outgoing intermediate stream T' "and the incoming data streams selected E and B, but making sure to remove, for each output stream D ', E', F ', the incoming data flow associated therewith.
- the different outgoing audio streams include all incoming audio streams selected, with the possible exception of the incoming audio stream corresponding to the outgoing audio stream concerned, and this by means of mixing operations distributed between different mixing modules themselves distributed in different media servers.
- FIGS. 3 and 4 the relationship between a main media server and a single secondary media server has been described in FIGS. 3 and 4.
- the invention covers the case where any number of secondary multimedia server are connected to the same main media server. The more this number is important, the more mixing, decoding and coding of data streams will be distributed, and the more the invention will be effective.
- the present invention provides a scalable system to accommodate the increase in the number of potential participants in a teleconference. If this number evolves and exceeds the capacities of a distributed mixing device according to the present invention, it is sufficient to add one or more secondary multimedia server (s) in the device and connect them to the main multimedia server in order to absorb this increase in potential processing load, without having to replace the entire mixing device, which represents a certain advantage in terms of maintenance and cost.
- secondary multimedia server s
- Figures 3 and 4 show embodiments separately processing audio streams and video streams.
- a main server connected to one or more secondary server (s), these servers including both audio mixing modules as video mixing modules.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Dispositif et procédé de mixage réparti de flux de données L'invention concerne un dispositif de mixage réparti de flux de données comprenant un serveur multimédia principal (10), apte à recevoir au moins un flux de données entrant (A, B, C) et à fournir en sortie au moins un flux de données sortant (A', B', C'), et au moins un serveur multimédia secondaire (20), apte à recevoir au moins un flux de données entrant (D,E, F) et à fournir en sortie au moins un flux de données sortant (D', E', F'), le serveur multimédia principal comprenant un module de sélection (11) arrangé pour sélectionner une pluralité de flux de données (A,B,E, F) parmi les flux de données entrants et un module de mixage global (13) arrangé pour mixer les flux de données sélectionnés afin d'obtenir un flux agrégé (S) et le serveur multimédia secondaire comprenant un module de mixage local (21) arrangé pour mixer au moins deux flux de données entrants (E, F), reçus par le serveur multimédia secondaire et sélectionnés par le module de sélection du serveur multimédia principal, afin d'obtenir un flux intermédiaire entrant (T) apte à être utilisé par le module de mixage global du serveur multimédia principal afin d'obtenir le flux agrégé. L'invention concerne également un procédé de mixage réparti correspondant.
Description
Dispositif et procédé de mixage réparti de flux de données
L'invention concerne le domaine de la transmission et du mixage de flux de données, en particulier de flux de données multimédias audio et vidéo dans le cadre de téléconférences audio et/ou vidéo.
Les avancées des dernières années en matière de technologies de l'information combinées au besoin d'optimiser le temps de travail et de limiter les déplacements ont favorisé le développement récent des systèmes de téléconférence entre utilisateurs.
Les systèmes classiques de téléconférence se basent sur la transmission de flux de données, aussi bien audio pour le son que vidéo pour l'image, entre les différents participants à une telle téléconférence.
Afin de gérer au mieux ce type de téléconférences, les différents flux en question sont gérés par un serveur de conférence multimédia qui se charge d'organiser la vidéoconférence pour le compte des intervenants. Ce serveur reçoit ainsi les différents flux de données provenant des participants à la vidéoconférence, et traite ces différents flux en les mixant afin de construire des flux de données de sorties à envoyer en retour aux différents participants.
Ainsi, dans le cas des données vidéo, un serveur multimédia central de vidéoconférence peut recevoir un certain nombre de flux vidéos provenant des différents participants, et peux diffuser vers ceux-ci un unique flux de diffusion vidéo dans lesquels ces flux se retrouvent mixés, par exemple sous forme de mosaïque vidéo.
Afin de traiter les différents flux d'entrée et de sortie, le serveur de conférence multimédia ci-avant dispose de moyens de mixage limités en puissance de calcul, ce qui l'empêche de gérer des vidéoconférences avec un nombre de participants dépassant les capacités autorisées par ces moyens de traitement. Les serveurs de conférence multimédia ne sont donc pas actuellement évolutifs.
Les serveurs de conférence multimédia actuels imposent également que tous les participants soient pris en charge sur le même serveur, ce qui est difficile à gérer lorsqu'un service de conférence est reparti sur plusieurs machines (ferme, cloud, ...)
II existe donc un besoin de proposer un système de mixage de flux de données qui puisse être évolutif et disposant de capacités de calcul supérieures à celles des serveurs multimédias actuels. La présente invention a pour objet de remédier aux inconvénients précités.
La présente invention propose à cet effet un dispositif de mixage réparti de flux de données comprenant un serveur multimédia principal, apte à recevoir au moins un flux de données entrant et à fournir en sortie au moins un flux de données sortant, et au moins un serveur multimédia secondaire, apte à recevoir au moins un flux de données entrant et à fournir en sortie au moins un flux de données sortant, le serveur multimédia principal comprenant un module de sélection arrangé pour sélectionner une pluralité de flux de données parmi les flux de données entrants et un module de mixage global arrangé pour mixer les flux de données sélectionnés afin d'obtenir un flux agrégé, le serveur multimédia secondaire comprenant un module de mixage local arrangé pour mixer au moins deux flux de données entrants, reçus par le serveur multimédia secondaire et sélectionnés par le module de sélection du serveur multimédia principal, afin d'obtenir un flux intermédiaire entrant apte à être utilisé par le module de mixage global du serveur multimédia principal afin d'obtenir le flux agrégé.
Selon un mode de réalisation, les serveurs multimédia principal et secondaire comprennent respectivement un module de communication arrangés pour transmettre, du module de sélection au serveur multimédia secondaire, un message désignant les flux de données entrants reçus par le serveur multimédia secondaire qui sont sélectionnés par le module de sélection et pour transmettre le flux intermédiaire entrant du module de mixage local du serveur multimédia secondaire au module de mixage global du serveur multimédia principal.
Dans un mode de réalisation où les flux de données de sorties comprennent le flux agrégé, le module de communication du serveur multimédia principal est arrangé pour transmettre le flux agrégé du module de mixage global du serveur multimédia principal au module de communication de chaque serveur multimédia secondaire.
Selon un mode de réalisation, pour chaque serveur multimédia secondaire, le module de mixage global est arrangé pour fournir un flux intermédiaire sortant de données comprenant le flux agrégé dans lequel le flux intermédiaire entrant de données fourni par le serveur multimédia secondaire est retiré, le module de communication du serveur multimédia principal est arrangé pour transmettre le flux agrégé du module de mixage global du serveur multimédia principal au module de communication du serveur multimédia secondaire, et le module de mixage local du serveur multimédia secondaire est arrangé pour obtenir chaque flux de données sortant fourni en sortie du serveur multimédia secondaire en mixant le flux intermédiaire sortant de données avec le flux intermédiaire entrant de données.
Dans un mode de réalisation où chaque flux de données entrant est associé à un
flux de données sortant, pour chaque flux de données sortant fourni en sortie du serveur multimédia secondaire, le module de mixage local du serveur multimédia secondaire est arrangé pour retirer dudit flux de données sortant le flux de données en entrant qui lui est associé.
Selon un mode de réalisation, le serveur multimédia principal comprend en outre un module de mixage local arrangé pour mixer au moins deux flux de données entrants reçus par le serveur multimédia principal lorsque lesdits flux de données entrant sont sélectionnés par le module de sélection, ce qui permet de répartir encore plus la charge de calcul au sein du système.
Dans un mode de réalisation avantageux, chaque module de mixage local est arrangé en outre pour décoder les flux de données entrants et pour coder les flux de données sortants, ce qui permet de répartir en outre entre plusieurs serveurs la charge de calcul liée au codage de données.
La présente invention propose par ailleurs un procédé de mixage réparti de flux de données, mis en œuvre par un dispositif de mixage réparti comprenant un serveur multimédia principal et au moins un serveur multimédia secondaire, le procédé comprenant les étapes consistant à :
recevoir au moins un flux de données entrant dans le serveur multimédia principal et au moins un flux de données entrants dans le serveur multimédia secondaire ;
sélectionner une pluralité de flux de données parmi les flux de données entrants ; lorsque plusieurs flux de données entrants reçus par le serveur multimédia secondaire sont sélectionnés, mixer lesdits flux de données entrants reçus par le serveur multimédia secondaire et sélectionnés dans le serveur multimédia secondaire, afin d'obtenir un flux intermédiaire entrant de données ;
mixer les flux de données sélectionnés, au moyen du flux intermédiaire entrant de données, dans le serveur multimédia principal afin d'obtenir un flux agrégé ; et
fournir au moins un premier flux de données sortant en sortie du serveur multimédia principal et au moins un deuxième flux de données sortant en sortie du serveur multimédia secondaire, lesdits flux de données sortants étant obtenus à partir du flux agrégé.
Dans un mode de réalisation avantageux, ce procédé comprend les étapes consistant à, pour chaque serveur multimédia secondaire :
obtenir un flux intermédiaire sortant de données comprenant le flux agrégé dans lequel le flux intermédiaire entrant de données fourni par le serveur multimédia
secondaire est retiré,
transmettre ledit flux intermédiaire sortant de données audio du serveur multimédia principale au serveur multimédia secondaire, et
obtenir chaque flux de données sortant fourni en sortie du serveur multimédia secondaire en mixant le flux intermédiaire sortant de données avec le flux intermédiaire entrant de données.
Dans un mode de réalisation s'appliquant en particulier aux flux audio de données, où chaque flux de données entrant est associé à un flux de données sortant, pour chaque flux de données sortant fourni en sortie du serveur multimédia secondaire, le flux de données entrant associé au flux de données sortant est retiré dudit flux de données sortant.
Dans un mode de réalisation avantageux, l'étape de réception des flux de données entrants comprend le décodage desdits flux de données entrants et l'étape de fourniture des flux de données sortants comprend le codage desdits flux de données sortants, ce qui permet de répartir en outre entre plusieurs serveurs la charge de calcul liée au codage de données.
Selon un mode de réalisation, le dispositif de mixage est un dispositif de mixage de flux de données vidéo et les flux de données entrants et sortants sont des flux de données vidéo.
Selon un autre mode de réalisation, le dispositif de mixage est un dispositif de mixage de flux de données audio et les flux de données entrants et sortants sont des flux de données audio.
Dans un mode de réalisation particulier, la sélection ci-avant des flux de données entrants comprend la sélection d'un nombre prédéfini de flux de données entrants présentant le niveau sonore le plus élevé parmi l'ensemble des flux de données entrants, afin d'assurer une bonne qualité sonore en conférence.
Dans un autre mode de réalisation particulier, la sélection ci-avant des flux de données entrants comprend la sélection d'un flux de données entrant prédéterminé, afin de pouvoir imposer un participant prioritaire au sein d'une conférence.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés sur lesquels :
- la figure 1 illustre schématiquement un dispositif de mixage réparti de flux de données selon la présente invention ;
- la figure 2 illustre les étapes d'un procédé de mixage réparti de flux de données selon la présente invention ;
- la figure 3 illustre un premier mode de réalisation du dispositif de mixage réparti selon la présente invention ; et
- la figure 4 illustre un premier mode de réalisation du dispositif de mixage réparti selon la présente invention.
On se réfère tout d'abord à la figure 1 sur laquelle est illustré schématiquement un dispositif de mixage réparti de flux de données selon la présente invention.
Ce dispositif de mixage réparti de flux de données comprend, d'une part, un serveur multimédia principal 10 et, d'autre part, au moins un serveur multimédia secondaire 20. A titre purement illustratif, deux serveurs multimédias secondaires 20 et 30 sont illustrés sur la figure 1 , mais n'importe quel nombre de serveurs multimédias secondaires peut être employé sachant que plus ce nombre est grand, et plus la présente invention produit son effet avantageux. Dans la suite de la description, seule la relation entre le serveur multimédia principal 10 et le serveur multimédia secondaire 20 est décrite en détail dans un souci de concision.
Le serveur multimédia principal 10 est apte à recevoir au moins un flux de données entrant et à fournir en sortie au moins un flux de données sortant. Ainsi, dans l'exemple de la figure 1 , le serveur multimédia principal 10 reçoit trois flux de données entrants A,B et C provenant respectivement de trois utilisateurs et renvoie en retour trois flux de données sortants Α',Β' et C à ces trois utilisateurs, de sorte que le flux de données entrant A soit associé au flux de données sortant A', etc.
De façon similaire, le serveur multimédia secondaire 20 est apte à recevoir au moins un flux de données entrant et à fournir en sortie au moins un flux de données sortant. Ainsi, dans l'exemple de la figure 1 , le serveur multimédia secondaire 20 reçoit trois flux de données entrants D,E et F provenant respectivement de trois utilisateurs (différents des utilisateurs communiquant avec le serveur principal 10) et renvoie en retour trois flux de données sortants D',E' et F' à ces trois utilisateurs, de sorte que le flux de données entrant D soit associé au flux de données sortant D', etc.
Similairement, dans l'exemple de la figure 1 , le serveur multimédia secondaire 30 reçoit trois flux de données entrants G,H,I provenant respectivement de trois autres utilisateurs et renvoie respectivement en retour trois flux de données sortants G', H' et Γ à ces trois utilisateurs.
Le serveur multimédia principal comprend par ailleurs un module de sélection 1 1
arrangé pour sélectionner une pluralité de flux de données parmi les flux de données entrants. Ce module de sélection utilise un ou plusieurs critère(s) de sélection, lesquels peuvent tenir compte du comportement des utilisateurs.
Ainsi, lorsque les flux de données entrants sont des flux de données audio, le module de sélection 1 1 des flux de données entrants peut utiliser un critère de sélection correspondant à la sélection d'un nombre prédéfini de flux de données entrants présentant le niveau sonore le plus élevé parmi l'ensemble des flux de données entrants. Ainsi, dans le cas de la figure 1 où six flux de données entrants A-F sont reçus, et avec un critère sélectionnant les quatre flux présentant le volume sonore le plus élevés, les quatre flux A, B, E et F sont sélectionnés.
Un critère de sélection arbitraire peut également utilisé, par exemple en imposant la sélection d'un flux de données entrant prédéterminé, ce qui peut être utile dans les cas où un flux de données prioritaire doit absolument être diffusé aux différents participants.
Le serveur multimédia principal comprend en outre un module de mixage global 13 arrangé pour mixer les flux de données sélectionnés par le module de sélection 1 1 , afin d'obtenir un flux agrégé S, ce qui est représenté schématiquement sur la figure 1 par S=A+B+E+F. En d'autres termes, dans l'exemple de la figure 1 , le flux agrégé S comprend donc les quatre flux de données A, B, E et F mixés ensemble par le module de mixage global.
Le serveur multimédia secondaire 20 comprend, pour sa part, un module de mixage local 21 (tout comme le serveur multimédia secondaire 30 qui comprend un module de mixage local 31 similaire) arrangé pour mixer au moins deux des flux de données entrants reçus par le serveur multimédia secondaire, lorsque ceux-ci sont sélectionnés par le module de sélection du serveur multimédia principal, afin d'obtenir un flux intermédiaire entrant T. Ce flux intermédiaire entrant T peut alors être transmis au serveur multimédia principal et est apte à être utilisé par le module de mixage global de ce serveur multimédia principal afin d'obtenir le flux agrégé S.
Ainsi, dans la figure 1 , comme les flux de données entrants E et F sont sélectionnés par le module de sélection 1 1 , le flux intermédiaire entrant T est obtenu en mixant ces deux flux de données E et F (i.e. T=E+F).
On voit bien ici que, lorsque plusieurs flux de données entrant reçus par le serveur multimédia secondaire sont sélectionnés, une première opération de mixage local peut avoir lieu au niveau du serveur multimédia secondaire 20 (pour obtenir le flux intermédiaire entrant T) avant qu'une deuxième opération de mixage n'ait lieu au niveau du serveur multimédia principal 10 (pour obtenir le flux agrégé S). Le mixage des
différents flux sélectionnés est donc réparti entre les serveurs 10 et 20, ce qui permet d'alléger la charge de travail du serveur multimédia principal par rapport à une situation où il devrait s'occuper seul du mixage.
Le serveur multimédia principal 10 comprend en outre un module de communication 15 et, similairement, les serveurs multimédias 20 et 30 comprennent respectivement des modules de communication 25 et 35. Ces modules de communication sont connectés et arrangés pour communiquer entre eux afin d'échanger des flux de données entre, d'une part, les serveurs 10 et 20 et, d'autre part, les serveurs 10 et 30.
En particulier, ces modules de communication 15 et 25 peuvent être arrangés pour transmettre, du serveur multimédia secondaire 20 au serveur multimédia principal, des paramètres servant à la sélection des flux entrants, comme par exemple le niveau sonore d'un flux de données audio entrant, etc.
Ces modules de communication 15 et 25 sont arrangés pour transmettre, du module de sélection 10 au serveur multimédia secondaire 20, un message SLCT désignant les flux de données entrants reçus par le serveur multimédia secondaire qui sont sélectionnés par le module de sélection (ici les flux E et F).
Ces modules de communication 15 et 25 sont également arrangés pour transmettre le flux intermédiaire entrant T du module de mixage local du serveur multimédia secondaire au module de mixage global du serveur multimédia principal, afin que ce dernier puisse utiliser ce flux intermédiaire T pour construire le flux agrégé S.
Dans un premier cas, les différents flux de données sortants A' à F' comprennent le flux agrégé S tel quel, comme cela est plus particulièrement le cas avec le premier mode de réalisation illustré ci-après à la figure 3.
Dans ce cas, le module de communication 15 du serveur multimédia principal 10 est alors arrangé pour transmettre le flux agrégé S du module de mixage global du serveur multimédia principal au module de communication de chaque serveur multimédia secondaire 20, 30, etc. Le serveur multimédia secondaire peut alors émettre alors des flux sortants D', E' et F' comprenant, voire correspondant complètement, le flux agrégé S.
Dans un deuxième cas, le module de communication 15 du serveur multimédia principale 10 ne retourne pas le flux agrégé S tel quel aux différents serveurs multimédia secondaires 20,30, comme cela est plus particulièrement le cas avec le premier mode de réalisation illustré ci-après à la figure 4.
Dans cet autre cas, le module de mixage global 13 est arrangé pour fournir, à chaque serveur multimédia secondaire, un flux intermédiaire sortant T'. En particulier, un
flux intermédiaire sortant est construit respectivement pour chaque serveur multimédia secondaire associé au serveur multimédia principal 10. Un tel flux intermédiaire sortant T comprend ainsi le flux agrégé S dans lequel le flux intermédiaire entrant de données T fourni par le serveur multimédia secondaire concerné est retiré.
On entend ici par « retiré » le fait que le flux intermédiaire sortant T' ne comprenne pas le flux intermédiaire entrant T, donc qu'il ne comprenne pas les flux entrants individuels E et F constituant ce flux intermédiaire entrant T.
Un tel retrait peut consister à supprimer ces flux entrants individuels E et F dans le flux agrégé S, par un filtrage numérique laissant passer tous les flux individuels du signal agrégé S à l'exception de ces flux individuels E et F. Cette opération de retrait peut alternativement consister à sélectionner les flux individuels du flux agrégé S différents de ces flux individuels E et F et à construire le flux intermédiaire sortant T' à partir de ces flux individuels.
Le module de communication 15 du serveur multimédia principal 10 est alors arrangé pour transmettre le flux intermédiaire sortant T' du module de mixage global 13 du serveur multimédia principal au module de communication 25 du serveur multimédia secondaire 20.
Le module de mixage local 21 du serveur multimédia secondaire est alors, pour sa part, arrangé pour obtenir chaque flux de données sortant fourni en sortie du serveur multimédia secondaire (i.e. les flux sortants D', E' et F' dans la figure 1 ) en mixant le flux intermédiaire sortant T' avec le flux intermédiaire entrant T tel que construit par le module de mixage local 21 .
On voit bien dans ce dernier cas que, outre les opérations de mixage effectuées par le module de mixage local 21 sur les flux entrants et par le module de mixage global 13 sur les flux sélectionnés, une opération supplémentaire de mixage est effectuée par le module de mixage local 21 avec les flux intermédiaires entrant et sortant afin d'obtenir les flux de données sortants, ce qui permet d'alléger encore plus la charge de travail du serveur multimédia principal.
Dans la mesure où chaque flux de données entrant A à F est associé respectivement à un flux de données sortant A' et F', il peut être avantageux de veiller à ce que, pour chaque flux de données sortant D' à F' fourni en sortie du serveur multimédia secondaire, le module de mixage local 21 du serveur multimédia secondaire 20 soit arrangé en outre pour retirer de ce flux de données sortant le flux de données en entrant qui lui est associé si ce dernier fait partie des flux entrants sélectionnés par le module de sélection 1 1 .
Ainsi, lorsque le flux de données entrant E est sélectionné par le module de sélection 1 1 , ce flux de données entrant E se retrouve dans tous les flux de données sortants A' à F' à l'exception du flux de données sortant E' qui lui est associé. Similairement, lorsque le flux de données entrant F est sélectionné par le module de sélection 1 1 , ce flux de données entrant F se retrouve dans tous les flux de données sortants A' à E', mais pas dans le flux de données sortant F' qui lui est associé.
Ceci est particulièrement avantageux dans le cas de flux de données audio où il est inutile de renvoyer à un participant à une téléconférence le son de sa voix.
Le serveur multimédia principal 10 peut comprendre en outre un module de mixage local 17 arrangé pour mixer au moins deux flux de données entrants reçus par le serveur multimédia principal lorsque ces flux de données entrants sont sélectionnés par le module de sélection 1 1 , similairement à ce qui est effectué par le module de mixage local 21 d'un des serveur multimédia secondaires.
L'utilisation d'un tel module de mixage local 17 au sein du serveur multimédia principal 10 permet d'encore mieux répartir le mixage des différents flux entre plusieurs modules de mixage, et donc de mieux répartir la charge de calcul entre les différents modules 15,17 et 21 .
Les flux de données entrants et sortants sont présentés selon un format spécifique permettant, d'une part, aux serveurs multimédias d'interagir avec d'autres éléments du réseau lors de la conférence et, d'autre part, d'optimiser la transmission en terme de tailles de données et de résistance aux erreurs de transmission. A titre d'exemple, le protocole TCP peut être employé pour transporter ces flux de données, afin de bien gérer les erreurs de transmission pouvant les affecter.
Le traitement interne aux serveurs multimédias n'est pas forcément compatible avec le format spécifiquement employé pour la transmission externe des flux de données et il peut être approprié de convertir les flux de données entrants A-F dans un format approprié au mixage lorsqu'ils sont reçus par l'un des serveurs multimédia et, réciproquement, de convertir les flux de données sortants A'-F' dans un format approprié à la transmission sur un réseau.
Pour ce faire, chaque module de mixage local 17, 21 , 31 est avantageusement arrangé en outre pour décoder les flux de données entrants A-F dans un format approprié à des opérations de mixage et pour coder les flux de données sortants A'-F' dans un format approprié à la transmission de données.
Dans le cas de flux de données audio, un format approprié aux opérations de mixage internes aux serveurs multimédia peut être le format PCM (pour Puise Code
Modulation en anglais) et à le protocole TCP peut être employé pour la transmission des flux de données en dehors des serveurs multimédia.
On se réfère maintenant à la figure 2 qui illustre les étapes d'un procédé de mixage réparti de flux de données selon la présente invention.
Ce procédé 100 de mixage réparti est mis en œuvre par un dispositif de mixage réparti tel que décrit ci-avant en relation avec la figure 1 , c'est-à-dire comprenant un serveur multimédia principal 10 et au moins un serveur multimédia secondaire 20.
Ce procédé 100 comprend une étape 1 10 de réception d'au moins un flux de données entrant (par exemple trois flux de données entrants A, B, C) dans le serveur multimédia principal 10 et d'au moins un flux de données entrants (par exemple trois flux de données entrants D, E, F) dans le serveur multimédia secondaire.
Cette étape 1 10 peut comprendre avantageusement une sous-étape 1 15 de décodage des flux de données entrants afin de les convertir d'un format d'origine, approprié à la transmission de données, à un format approprié au mixage de flux de données, comme décrit précédemment, ce qui permet de répartir également l'effort en matière de décodage entre plusieurs serveurs.
Le procédé se poursuit par une étape 120 de sélection une pluralité de flux de données (par exemple les flux de données entrants A, B, E, F) parmi les flux de données entrants reçus par les différents serveurs multimédias. Comme évoqué précédemment, cette sélection se fait selon un ou plusieurs critère(s) de sélection, comme par exemple la sélection d'un certain nombre de flux présentant le volume sonore le plus important ou d'un flux arbitraire prédéterminé.
Lorsque plusieurs flux de données entrants reçus par le serveur multimédia secondaire sont sélectionnés (dans l'exemple présent, les flux E et F), le procédé se poursuit par une étape 130 de mixage local, par le module de mixage local 21 du serveur multimédia secondaire, de ces flux de données entrants qui sont reçus par le serveur multimédia secondaire 20 et sélectionnés par le serveur multimédia principal 10, afin d'obtenir un flux intermédiaire entrant T qui est envoyé ensuite au module de mixage global 13 du serveur multimédia principal.
Dans un mode de réalisation avantageux où le serveur multimédia principal dispose lui aussi d'un module de mixage local 17, une opération similaire peut également être pratiquée au niveau du serveur multimédia principal lors de cette étape 130 de mixage local. Ainsi, lorsque plusieurs flux de données entrants reçus par le serveur multimédia principal sont sélectionnés (dans l'exemple présent, les flux A et B), l'étape 130 de mixage local comprend en outre le mixage, par ce module de mixage local 17, de ces flux
de données entrants reçus et sélectionnés par le serveur multimédia principal afin d'obtenir un flux intermédiaire entrant lui aussi envoyé par la suite au module de mixage global 13 du serveur multimédia principal.
Le procédé se poursuit alors par une étape 140 de mixage global des flux de données sélectionnés, au moyen notamment du flux intermédiaire entrant T, dans le serveur multimédia principal afin d'obtenir un flux agrégé S comprenant l'ensemble des flux de données sélectionnés au cours de l'étape 120 de sélection. Ce mixage global utilise donc tout flux intermédiaire entrant généré localement par un des modules de mixage local d'un serveur multimédia secondaire (ou du serveur multimédia principal quand il dispose d'un tel module) lorsqu'une pluralité de flux de données entrants peuvent être mixés localement.
Une fois le flux agrégé S obtenu, le procédé se termine alors par une étape 150 de fourniture d'au moins un flux de données sortant en sortie du serveur multimédia principal (par exemple les flux de données sortants A', B', C associés respectivement aux flux d'entrée A, B, C) et au moins un flux de données sortant en sortie du serveur multimédia secondaire (par exemple les flux de données sortants D', E', F' associés respectivement aux flux d'entrée D, E, F), ces différents flux de données sortants étant obtenus à partir du flux agrégé S.
Cette étape 150 peut comprendre avantageusement une sous-étape 155 de codage des flux de données sortants afin de les convertir d'un format d'origine, plus approprié au mixage de flux de données, à un format externe, plus approprié à la transmission des flux de données comme décrit précédemment, ce qui permet de répartir également l'effort en matière de codage entre plusieurs serveurs.
Dans un premier mode de réalisation adapté à la diffusion d'un même flux vers différents participants, le flux de données agrégé S obtenu lors de l'étape 140 est directement transmis, tel quel, au serveur multimédia secondaire afin de permettre la fourniture, lors de l'étape 150, de(s) flux de données sortant(s) (ici, les flux D', E', F') comprenant, voire correspondant complètement, à ce flux de données agrégé S.
Dans un autre mode de réalisation, le flux de données agrégé S n'est pas directement transmis du serveur multimédia principal au serveur multimédia secondaire, mais un flux intermédiaire sortant T' est généré lors de l'étape de mixage global 140, pour chaque serveur multimédia secondaire, à partir de ce flux de données agrégé S auquel on retire le flux intermédiaire entrant T reçu du serveur multimédia secondaire en question.
Dans cet autre mode de réalisation, une sous-étape supplémentaire 151 de mixage local est alors effectuée lors de l'étape 150, au niveau du serveur multimédia secondaire,
afin de mixer le flux intermédiaire sortant T' avec le flux intermédiaire entrant T pour obtenir localement le flux agrégé S. Ceci permet de distribuer encore plus l'effort de mixage entre les différents serveurs.
Durant cette sous-étape 151 de mixage local, il est également possible de retirer, pour chaque flux de données sortant, le flux de données entrant qui lui est associé (i.e. le flux entrant A pour le flux sortant A', etc.) lors que ce dernier fait partie des flux sélectionnés, ce qui est particulièrement approprié aux conférences audio.
On se réfère maintenant à la figure 3 qui illustre un premier mode de réalisation du dispositif de mixage réparti selon la présente invention.
Dans ce premier mode de réalisation, les flux de données sont des flux vidéo et ce dispositif de mixage est un dispositif de mixage vidéo plus particulièrement adapté aux vidéoconférences.
Ce dispositif comprend un serveur multimédia principal 10', similaire au serveur multimédia principal 10 décrit précédemment, ainsi qu'un serveur multimédia secondaire 20' similaire au serveur multimédia secondaire 20 décrit précédemment.
Le serveur multimédia principal 10' comprend ainsi un module de mixage vidéo global 13' (similaire au module de mixage global 13), un module de mixage vidéo local 17' (similaire au module de mixage local 17) ainsi qu'un module de communication et de sélection 15', lequel correspond aux modules de communication 15 et de sélection 1 1 précédemment décrits. Le serveur multimédia secondaire 20' comprend, pour sa part, un module de mixage vidéo local 21 ' ainsi qu'un module de communication et de sélection 25', similaires respectivement aux modules 21 et 25 décrits ci-avant.
Le serveur multimédia principal 10' reçoit trois flux vidéo entrants A, B, C sur trois ports d'entrée distincts attribués respectivement à un participant distinct, et retourne trois flux vidéo sortants A', B', C attribués respectivement à chacun de ces participants (et donc associés respectivement à un flux vidéo entrant) sur trois ports de sortie distincts.
Similairement, le serveur multimédia secondaire 20' reçoit trois flux vidéo entrants D, E, F sur trois ports d'entrée distincts attribués respectivement à un participant distinct, et retourne trois flux vidéo sortants E', D', F' attribués respectivement à chacun de ces participants (et donc associés respectivement à un flux vidéo entrant) sur trois ports de sortie distincts.
Ainsi, l'ensemble du dispositif illustré à la figure 3 est capable de gérer une vidéoconférence comptant six participants.
Dans les faits, le module de communication et de sélection 25' utilise un critère de
sélection (à titre d'exemple, la sélection de quatre flux vidéo dont les flux audio associés présentent le plus fort volume sonore, ou la sélection de quatre flux vidéo conditionnée à l'ordre d'arrivée des participants dans une conférence vidéo, ou bien encore la sélection d'un flux vidéo dont le flux audio associé présente un volume sonore dépassant un certain seuil indicatif de l'activité du participant ou la sélection de flux vidéo indicatifs d'un mouvement) pour sélectionner quatre flux vidéos parmi les six reçus, et éventuellement décodés dans un format approprié au mixage de flux. Ici les flux A, B, E et F sont sélectionnés à titre d'exemple.
Dans la mesure où chaque serveur reçoit une pluralité de flux vidéo entrants sélectionnés, les modules de mixage local respectifs de ces serveurs opèrent un mixage local sur les flux vidéo entrants sélectionnés que ces serveurs reçoivent. En d'autres termes, le module 17' mixe les flux A et B afin d'obtenir un flux intermédiaire entrant U (où U=A+B) et le module 21 ' mixe les flux E et F afin d'obtenir un flux intermédiaire entrant T (où T=E+F).
Le flux intermédiaire T est ensuite transmis par le module de communication 25' au module de communication et de contrôle 15' qui se charge de le transmettre au module de mixage global 13', lequel reçoit par ailleurs le flux intermédiaire U obtenu par le module de mixage local 17'.
Le module de mixage global 13' peut alors mixer les différents flux entrants qu'il reçoit, c'est-à-dire les flux intermédiaire T et U dans le cas présent, afin d'obtenir un flux vidéo agrégé S comprenant l'ensemble des flux entrants sélectionnés (où S=T+T'=A+B+E+F).
Une fois le flux agrégé S obtenu, il est diffusé à l'ensemble des ports de sortie des serveurs multimédia 10' et 20'.
En ce qui concerne le serveur multimédia principal 10', cette diffusion revient à fournir respectivement, sur chacun des trois ports de sortie, les flux vidéo de sortie A', B', C comprenant, ou correspondant intégralement, au flux vidéo agrégé S. Sur la figure 3, le flux agrégé S est de fait directement fourni sur les trois ports de sortie du serveur 10", après avoir éventuellement été encodé avec un format approprié à la transmission de données.
En ce qui concerne le serveur multimédia secondaire 20', cette diffusion revient à transmettre le flux agrégé S du module de contrôle et de communication 15' au module de contrôle et de communication 25', avant d'en obtenir les flux vidéo de sortie D', E', F' à fournir respectivement sur les trois ports de sortie du serveur 20', ces flux vidéo comprenant, ou correspondant intégralement, au flux vidéo agrégé S. Ici aussi, sur la
figure 3, le flux agrégé S est de fait directement fourni sur les trois ports de sortie du serveur 20', après avoir éventuellement été encodé avec un format approprié à la transmission de données.
Dans le domaine de la vidéo, les opérations de mixage évoquées précédemment peuvent consister à mixer les flux de données vidéo au sein d'une mosaïque présentant simultanément les flux vidéos sélectionnées (ici une mosaïque de 4 images de même taille).
Ainsi, le module de mixage local 17' mixe les flux entrants A, B de façon à les faire apparaître dans les coins opposés en haut à droite et en bas à gauche d'une mosaïque de 4 images, et le module de mixage local 21 ' mixe les flux entrants E, F de façon à les faire apparaître dans les autres coins opposés, en haut à gauche et en bas à droite d'une mosaïque de 4 images similaire. L'emplacement attribué à chaque flux de données entrant sélectionné dans la mosaïque peut être défini au préalable au moyen du module de contrôle et de sélection 15' du serveur principal et communiqué au module de contrôle et de commande 25' du serveur secondaire afin que ce module instruise le module de mixage local 21 ' en conséquence.
Avec les flux de données entrants sélectionnés ainsi mixé, le module de mixage global 13' n'a plus qu'à superposer les flux intermédiaires ainsi formé afin d'obtenir un flux agrégé S dont la présentation visuelle correspond à une mosaïque de 4 images correspondant aux flux A, B, E, F qui peut être diffusé en sortie vers les 6 participants à la vidéoconférence.
La disposition de la mosaïque peut prendre diverses formes utilisant un ou plusieurs critère(s) de sélection. Ainsi, en reprenant le principe d'une mosaïque de 4 images, une image peut être réservée à un participant sélectionné comme étant obligatoire visible par un statut particulier, tandis que les trois autres images peuvent être utilisées pour afficher en temps réel les images correspondant aux participants parlant le plus fort dans leur micro, par exemple.
On se réfère maintenant à la figure 4 qui illustre un deuxième mode de réalisation du dispositif de mixage réparti selon la présente invention.
Dans ce deuxième mode de réalisation, les flux de données sont des flux audio et le dispositif de mixage est un dispositif de mixage audio plus particulièrement adapté aux conférences audio. Ce dispositif de mixage peut également être un dispositif de mixage audio/vidéo, auquel cas la figure 4 illustre plus spécifiquement le fonctionnement en audio d'un tel dispositif, que ce soit par exemple lors d'une conférence audio seulement ou audio/vidéo.
Ici, contrairement au mode de réalisation précédent concernant les vidéoconférences, le flux agrégé S correspondant aux flux de données entrants sélectionnés n'est pas directement diffusé à l'ensemble des participants, mais est modifié de façon spécifique, pour chaque participant, afin d'éviter qu'un même participant reçoive un flux sortant comprenant le flux entrant qu'il envoie au dispositif, si celui-ci est sélectionné, ce qui engendrerait des phénomènes d'échos délétères.
A ce titre, ce dispositif comprend un serveur multimédia principal 10", similaire au serveur multimédia principal 10 décrit précédemment, ainsi qu'un serveur multimédia secondaire 20" similaire au serveur multimédia secondaire 20 décrit précédemment.
Le serveur multimédia principal 10" comprend un module de mixage audio global
13" (similaire au module de mixage global 13), un module de mixage audio local 17" (similaire au module de mixage local 17), ainsi qu'un module de communication et de sélection 15", lequel correspond aux modules de communication 15 et de sélection 1 1 précédemment décrits. Le serveur multimédia secondaire 20" comprend, pour sa part, un module de mixage audio local 21 " ainsi qu'un module de communication et de sélection 25", respectivement similaires aux modules 21 et 25 décrits ci-avant.
Ici, les modules de mixage audio locaux 17" et 21 " comprennent respectivement des moyens de mixage préliminaire 18" et 22" qui sont arrangés pour mixer les flux audio entrants sélectionnés par le module de communication et de sélection 15", afin d'obtenir des flux entrants intermédiaires pouvant être utilisés par le module de mixage audio global 13" pour obtenir le flux agrégé S.
Les modules de mixage audio locaux 17" et 21 " comprennent également respectivement des deuxièmes moyens de mixage final 19" et 23"' qui sont arrangés pour fournir en sortie les flux de données sortants à partir du flux intermédiaire sortant T' et de certains flux de données entrants sélectionnés.
Ici encore, le serveur multimédia principal 10" reçoit trois flux audio entrants A, B, C sur trois ports d'entrée distincts attribués respectivement à un participant distinct, et retourne trois flux audio sortants A', B', C attribués respectivement à chacun de ces participants (et donc associés respectivement à un flux vidéo entrant) sur trois ports de sortie distincts.
Similairement, le serveur multimédia secondaire 20" reçoit trois flux audio entrants D, E, F sur trois ports d'entrée distincts attribués respectivement à un participant distinct, et retourne trois flux audio sortants E',D',F' attribués respectivement à chacun de ces participants (et donc associés respectivement à un flux vidéo entrant) sur trois ports de sortie distincts.
Dans les faits, le module de communication et de sélection 25" utilise un critère de sélection, tel que de ceux évoqués précédemment, pour sélectionner quatre flux audio parmi les six reçus, et éventuellement décodés dans un format approprié au mixage de flux.
A titre d'exemple, le serveur multimédia secondaire peut envoyer un message contenant des informations au sujet des niveaux sonore des flux audio entrants D, E, F afin que le module de communication et de sélection 25", lequel a par ailleurs directement accès aux niveaux sonores des flux audio entrants A, B, C, puisse sélectionner les 4 flux entrants présentant les niveaux sonores les plus élevés, ici les flux A, B, E et F à titre d'exemple.
Ces informations sur les niveaux sonores peuvent obtenir par le biais d'un élément spécifique calculant la puissance sonore des flux audio entrants lors de leur réception, après leur décodage par exemple.
Chaque serveur recevant une pluralité de flux audio entrants sélectionnés, les modules de mixage local préliminaires respectifs de ces serveurs opèrent un mixage local sur les flux audio entrants sélectionnés que ces serveurs reçoivent. En d'autres termes, le module 18" mixe les flux A et B afin d'obtenir un flux intermédiaire entrant U (où U=A+B) et le module 22" mixe les flux E et F afin d'obtenir un flux intermédiaire entrant T (où T=E+F).
Le flux intermédiaire T est ensuite transmis par le module de communication 25" au module de communication et de contrôle 15" qui se charge de le transmettre au module de mixage audio global 13", lequel reçoit par ailleurs le flux intermédiaire U obtenu par le module de mixage local préliminaire 18".
Le module de mixage audio global 13" peut alors mixer les différents flux entrants intermédiaires qu'il reçoit, c'est-à-dire les flux intermédiaire T et U dans le cas présent, afin d'obtenir un flux audio agrégé S comprenant l'ensemble des flux entrants sélectionnés (où S=T+T'=A+B+E+F).
Une fois le flux agrégé S obtenu, un flux intermédiaire sortant est construit, par le module de mixage global 13", pour chaque serveur en prenant le flux vidéo agrégé S et en retirant le flux intermédiaire U reçu du serveur en question.
Ainsi, en ce qui concerne le serveur multimédia principal 10", un flux intermédiaire sortant U" est construit à partir du flux agrégé S auquel on retire les éléments du flux intermédiaire entrant U reçu du module de mixage local préliminaire 18". En d'autres termes, le flux intermédiaire sortant U" vérifie U"=S-U, c'est-à-dire U"=E+F dans l'exemple de la figure 4.
En ce qui concerne le serveur multimédia secondaire, un flux intermédiaire sortant T" est construit à partir du flux agrégé S auquel on retire les éléments du flux intermédiaire entrant T reçu du module de mixage local préliminaire 22". En d'autres termes, le flux intermédiaire sortant T" vérifie T"=S-T, c'est-à-dire T"=A+B dans l'exemple de la figure 4.
Les flux intermédiaires sortants respectifs sont ensuite transmis aux modules de mixage final respectifs des serveurs, afin de servir à l'obtention des flux de données sortants. Le flux intermédiaire sortant U" est donc transmis directement au module de mixage final 19" tandis que le flux intermédiaire sortant T" est transmis, grâce au module de communication et de sélection 15" et au module de communication et de contrôle 25", au module de mixage final 23".
Le module de mixage final 19" construit alors les différents flux audio de sorties A', B', C à fournir en sortie du serveur multimédia principal 10" en utilisant le flux intermédiaire sortant U" et les flux de données entrants sélectionnés A et B, mais en veillant à retirer, pour chaque flux de sortie A', B', C, le flux entrant de données qui lui est associé.
En d'autres termes, le premier flux audio sortant A' vérifie A'=U'+(A+B)-A, c'est-à- dire A'=B+E+F dans l'exemple de la figure 4, le deuxième flux audio sortant B' vérifie B'=U'+(A+B)-B, c'est-à-dire B'=A+E+F dans l'exemple de la figure 4, et le troisième flux audio sortant C vérifie C'=U'+(B+A), c'est-à-dire C'=A+B+E+F=S dans l'exemple de la figure 4.
Similairement, le module de mixage final 23" construit les différents flux audio de sorties D', E', F' à fournir en sortie du serveur multimédia secondaire 20" en utilisant le flux intermédiaire sortant T'" et les flux de données entrants sélectionnés E et B, mais en veillant à retirer, pour chaque flux de sortie D', E', F', le flux entrant de données qui lui est associé.
En d'autres termes, le premier flux audio sortant D' vérifie D'=T'+(E+F), c'est-à-dire D'=A+B+E+F=S dans l'exemple de la figure 4, le deuxième flux audio sortant E' vérifie E'=T'+(E+F)-E, c'est-à-dire E'=A+B+F dans l'exemple de la figure 4, et le troisième flux audio sortant F' vérifie F'=U'+(E+F), c'est-à-dire F'=A+B+E dans l'exemple de la figure 4.
Ainsi, les différents flux audio sortants comprennent tous les flux audio entrants sélectionnés, à l'exception éventuelle du flux audio entrants correspondant au flux audio sortants concerné, et ce au moyen d'opérations de mixage réparties entre différents modules de mixage eux-mêmes distribués au sein de différents serveurs multimédias.
Bien entendu, l'invention n'est pas limitée aux exemples de réalisation ci-dessus
décrits et représentés, à partir desquels on pourra prévoir d'autres modes et d'autres formes de réalisation, sans pour autant sortir du cadre de l'invention.
En particulier, les différents modules utilisés par la présente invention sont indiqués comme étant séparés fonctionnellement sur les figures mais peuvent très bien être intégrés ensemble, au sein d'un même processeur de traitement par exemple, lors de leur réalisation physique.
De plus, par souci de concision, les relations entre un serveur multimédia principal et un seul serveur multimédia secondaire ont été décrites sur les figures 3 et 4. Il est cependant évident que l'invention couvre le cas où un nombre quelconque de serveur multimédia secondaires sont connectés à un même serveur multimédia principal. Plus ce nombre est important, plus les opérations de mixage, de décodage et de codage de flux de données seront réparties, et plus l'invention sera efficace.
En particulier, la présente invention permet d'offrir un système évolutif permettant de s'adapter à l'augmentation du nombre de participants potentiels à une téléconférence. Si ce nombre évolue et dépasse les capacités d'un dispositif de mixage réparti selon la présente invention, il suffit de rajouter un ou plusieurs serveur(s) multimédia secondaire(s) dans le dispositif et de les connecter au serveur multimédia principal afin d'absorber cette augmentation de charge de traitement potentielle, sans avoir à remplacer l'ensemble du dispositif de mixage, ce qui représente un avantage certain en termes de maintenance et de coût.
Par ailleurs, les figures 3 et 4 présentent des modes de réalisation traitant séparément les flux audio et les flux vidéo. Il est cependant bien évidemment possible de combiner le traitement des deux types de flux au sein d'un même dispositif de mixage réparti disposant d'un serveur principal connecté à un ou plusieurs serveur(s) secondaire(s), ces serveurs comprenant aussi bien des modules de mixage audio que des modules de mixage vidéo.
Claims
1 . Dispositif de mixage réparti de flux de données multimédia comprenant un serveur multimédia principal (10), apte à recevoir au moins un flux de données entrant (A, B, C) et à fournir en sortie au moins un flux de données sortant (Α', Β', C), et au moins un serveur multimédia secondaire (20), apte à recevoir au moins un flux de données entrant (D,E, F) et à fournir en sortie au moins un flux de données sortant (D', E', F'),
le serveur multimédia principal comprenant un module de sélection (1 1 ) arrangé pour sélectionner une pluralité de flux de données (Α,Β, E, F) parmi les flux de données entrants et un module de mixage global (13) arrangé pour mixer les flux de données sélectionnés afin d'obtenir un flux agrégé (S);
le serveur multimédia secondaire comprenant un module de mixage local (21 ) arrangé pour mixer les flux de données entrants (E, F), reçus par le serveur multimédia secondaire et sélectionnés par le module de sélection du serveur multimédia principal, afin d'obtenir un flux intermédiaire entrant (T) apte à être utilisé par le module de mixage global du serveur multimédia principal afin d'obtenir le flux agrégé.
2. Dispositif de mixage réparti selon la revendication 1 , caractérisé en ce que les serveurs multimédia principal et secondaire comprennent respectivement un module de communication (15,25) arrangés pour transmettre, du module de sélection au serveur multimédia secondaire, un message désignant les flux de données entrants reçus par le serveur multimédia secondaire qui sont sélectionnés par le module de sélection et pour transmettre le flux intermédiaire entrant (T) du module de mixage local du serveur multimédia secondaire au module de mixage global du serveur multimédia principal.
3. Dispositif de mixage réparti selon la revendication 2, dans lequel les flux de données de sorties comprennent le flux agrégé (S), caractérisé en ce que le module de communication du serveur multimédia principal est arrangé pour transmettre le flux agrégé du module de mixage global du serveur multimédia principal au module de communication de chaque serveur multimédia secondaire.
4. Dispositif de mixage réparti selon la revendication 2, caractérisé en ce que, pour chaque serveur multimédia secondaire :
le module de mixage global est arrangé pour fournir un flux intermédiaire sortant de données (T) comprenant le flux agrégé dans lequel le flux intermédiaire entrant de données (T) fourni par le serveur multimédia secondaire est retiré,
le module de communication du serveur multimédia principal est arrangé pour transmettre le flux agrégé du module de mixage global du serveur multimédia principal au module de communication du serveur multimédia secondaire, et
le module de mixage local du serveur multimédia secondaire est arrangé pour obtenir chaque flux de données sortant fourni en sortie du serveur multimédia secondaire en mixant le flux intermédiaire sortant de données (T) avec le flux intermédiaire entrant de données (T).
5. Dispositif de mixage réparti selon la revendication 4, dans lequel chaque flux de données entrant est associé à un flux de données sortant, caractérisé en ce que, pour chaque flux de données sortant fourni en sortie du serveur multimédia secondaire, le module de mixage local du serveur multimédia secondaire est arrangé pour retirer dudit flux de données sortant le flux de données entrant qui lui est associé.
6. Dispositif de mixage réparti selon l'une des revendications 1 à 5, caractérisé en ce que le serveur multimédia principal comprend en outre un module de mixage local (17) arrangé pour mixer au moins deux flux de données entrants reçus par le serveur multimédia principal lorsque lesdits flux de données entrant sont sélectionnés par le module de sélection.
7. Dispositif de mixage réparti selon l'une des revendications 1 à 6, caractérisé en ce chaque module de mixage local (17, 21 , 31 ) est arrangé en outre pour décoder les flux de données entrants et pour coder les flux de données sortants.
8. Procédé de mixage réparti de flux de données multimédia, mis en œuvre par un dispositif de mixage réparti comprenant un serveur multimédia principal et au moins un serveur multimédia secondaire, le procédé comprenant les étapes consistants à:
recevoir au moins un flux de données entrant (A, B, C) dans le serveur multimédia principal et au moins un flux de données entrants (D, E, F) dans le serveur multimédia secondaire ;
sélectionner dans le serveur multimédia principal une pluralité de flux de données (A, B, E, F) parmi les flux de données entrants ;
lorsque plusieurs flux de données entrants reçus par le serveur multimédia secondaire sont sélectionnés, mixer lesdits flux de données entrants reçus par le serveur multimédia secondaire et sélectionnés dans le serveur multimédia secondaire, afin d'obtenir un flux intermédiaire entrant de données (T),
mixer les flux de données sélectionnés, au moyen du flux intermédiaire entrant de données (T), dans le serveur multimédia principal afin d'obtenir un flux agrégé (S); et fournir au moins un premier flux de données sortant (Α', Β') en sortie du serveur multimédia principal et au moins un deuxième flux de données sortant (Ε', F') en sortie du serveur multimédia secondaire, lesdits flux de données sortants étant obtenus à partir du flux agrégé.
9. Procédé de mixage réparti selon la revendication 8, caractérisé en outre par les étapes consistant à, pour chaque serveur multimédia secondaire :
obtenir un flux intermédiaire (T) sortant de données comprenant le flux agrégé dans lequel le flux intermédiaire entrant de données (T) fourni par le serveur multimédia secondaire est retiré,
transmettre ledit flux intermédiaire sortant de données du serveur multimédia principale au serveur multimédia secondaire, et
obtenir chaque flux de données sortant fourni en sortie du serveur multimédia secondaire en mixant le flux intermédiaire sortant de données (T) avec le flux intermédiaire entrant de données (T).
10. Procédé de mixage réparti selon la revendication 9, dans lequel chaque flux de données entrant est associé à un flux de données sortant, caractérisé en ce que, pour chaque flux de données sortant fourni en sortie du serveur multimédia secondaire, le flux de données entrant associé au flux de données sortant est retiré dudit flux de données sortant.
1 1 . Procédé de mixage réparti selon l'une des revendications 8 à 10, caractérisé en ce que l'étape de réception des flux de données entrants comprend le décodage desdits flux de données entrants et l'étape de fourniture des flux de données sortants comprend le codage desdits flux de données sortants.
12. Dispositif ou procédé de mixage réparti selon l'une des revendications précédentes, caractérisé en ce que le dispositif de mixage est un dispositif de mixage de flux de données vidéo et les flux de données entrants et sortants sont des flux de données vidéo.
13. Dispositif ou procédé de mixage réparti selon l'une des revendications précédentes, caractérisé en ce que le dispositif de mixage est un dispositif de mixage de flux de données audio et les flux de données entrants et sortants sont des flux de données audio.
14. Dispositif ou procédé de mixage réparti selon la revendication précédente, caractérisé en ce que la sélection des flux de données entrants comprend la sélection d'un nombre prédéfini de flux de données entrants présentant le niveau sonore le plus élevé parmi l'ensemble des flux de données entrants.
15. Dispositif ou procédé de mixage réparti selon l'une des revendications précédentes, caractérisé en ce que la sélection des flux de données entrants comprend la sélection d'un flux de données entrant prédéterminé.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12714754.4A EP2684353A1 (fr) | 2011-03-10 | 2012-03-08 | Dispositif et procédé de mixage reparti de flux de données |
CN201280022608.3A CN103621064A (zh) | 2011-03-10 | 2012-03-08 | 用于数据流分布式混合的设备和方法 |
US14/004,031 US9363475B2 (en) | 2011-03-10 | 2012-03-08 | Device and method for the distributed mixing of data streams |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1151986 | 2011-03-10 | ||
FR1151986A FR2972587B1 (fr) | 2011-03-10 | 2011-03-10 | Dispositif et procede de mixage reparti de flux de donnees |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012120240A1 true WO2012120240A1 (fr) | 2012-09-13 |
Family
ID=44533540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2012/050491 WO2012120240A1 (fr) | 2011-03-10 | 2012-03-08 | Dispositif et procédé de mixage reparti de flux de données |
Country Status (5)
Country | Link |
---|---|
US (1) | US9363475B2 (fr) |
EP (1) | EP2684353A1 (fr) |
CN (1) | CN103621064A (fr) |
FR (1) | FR2972587B1 (fr) |
WO (1) | WO2012120240A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3035674A1 (fr) | 2014-12-19 | 2016-06-22 | Unify GmbH & Co. KG | Procédé de commande audio distribué, dispositif, système et produit logiciel |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE1022611A9 (nl) * | 2014-10-19 | 2016-10-06 | Televic Conference Nv | Toestel voor audio input/output |
US9665341B2 (en) | 2015-02-09 | 2017-05-30 | Sonos, Inc. | Synchronized audio mixing |
US10708320B2 (en) * | 2017-06-27 | 2020-07-07 | Atlassian Pty Ltd | Selective internal forwarding in conferences with distributed media servers |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6212547B1 (en) * | 1993-10-01 | 2001-04-03 | Collaboration Properties, Inc. | UTP based video and data conferencing |
EP2285106A2 (fr) | 2009-08-14 | 2011-02-16 | Radisys Canada ULC | Mixage de média distribué et conférence dans des réseaux IP |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8659636B2 (en) * | 2003-10-08 | 2014-02-25 | Cisco Technology, Inc. | System and method for performing distributed video conferencing |
NO318911B1 (no) * | 2003-11-14 | 2005-05-23 | Tandberg Telecom As | Distribuert sammensetting av sanntids-media |
US8370888B2 (en) * | 2004-06-22 | 2013-02-05 | University Of Southern California | Hydra: high-performance data recording architecture for streaming media |
US7953118B2 (en) * | 2006-12-08 | 2011-05-31 | Microsoft Corporation | Synchronizing media streams across multiple devices |
-
2011
- 2011-03-10 FR FR1151986A patent/FR2972587B1/fr active Active
-
2012
- 2012-03-08 US US14/004,031 patent/US9363475B2/en active Active
- 2012-03-08 EP EP12714754.4A patent/EP2684353A1/fr not_active Ceased
- 2012-03-08 WO PCT/FR2012/050491 patent/WO2012120240A1/fr active Application Filing
- 2012-03-08 CN CN201280022608.3A patent/CN103621064A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6212547B1 (en) * | 1993-10-01 | 2001-04-03 | Collaboration Properties, Inc. | UTP based video and data conferencing |
EP2285106A2 (fr) | 2009-08-14 | 2011-02-16 | Radisys Canada ULC | Mixage de média distribué et conférence dans des réseaux IP |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3035674A1 (fr) | 2014-12-19 | 2016-06-22 | Unify GmbH & Co. KG | Procédé de commande audio distribué, dispositif, système et produit logiciel |
US9973713B2 (en) | 2014-12-19 | 2018-05-15 | Unify Gmbh & Co. Kg | Distributed audio control method, device system, and software product |
US10129489B2 (en) | 2014-12-19 | 2018-11-13 | Unify Gmbh & Co. Kg | Distributed audio control method, device system, and software product |
US10334183B2 (en) | 2014-12-19 | 2019-06-25 | Unify Gmbh & Co. Kg | Distributed audio control method, device system, and software product |
US10455164B2 (en) | 2014-12-19 | 2019-10-22 | Unify Gmbh & Co. Kg | Distributed audio control method, device system, and software product |
Also Published As
Publication number | Publication date |
---|---|
US20130342639A1 (en) | 2013-12-26 |
FR2972587B1 (fr) | 2015-10-30 |
CN103621064A (zh) | 2014-03-05 |
US9363475B2 (en) | 2016-06-07 |
FR2972587A1 (fr) | 2012-09-14 |
EP2684353A1 (fr) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9300705B2 (en) | Methods and systems for interfacing heterogeneous endpoints and web-based media sources in a video conference | |
US20190373215A1 (en) | Provision of video conferencing services using a micro pop to extend media processing into enterprise networks | |
EP3127326B1 (fr) | Système et procédé associés à un système de conférence multimédia à topologie hybride | |
EP3694146B1 (fr) | Procédé de traitement de flux audiovidéo en conférence multipartite, dispositifs, système et programme correspondants | |
FR2896372A1 (fr) | Appareil terminal video, dispositif de reseau et procede pour une transmission de donnees video/audio | |
CN104580991A (zh) | 用于会议系统对会议会话的当前条件的实时适应的系统和方法 | |
US9723263B2 (en) | Audio processing of shared content | |
EP2684353A1 (fr) | Dispositif et procédé de mixage reparti de flux de données | |
WO2010072945A1 (fr) | Procédé et dispositif de traitement de données textuelles | |
WO2009080926A2 (fr) | Procede de codage d'un flux video echelonnable a destination d'utilisateurs de differents profils | |
US20150229487A1 (en) | Systems and methods for automatic translation of audio and video data from any browser based device to any browser based client | |
EP2103099B1 (fr) | Pont de conference mixte | |
EP1438853B1 (fr) | Systeme de videoconference | |
EP1568225A1 (fr) | Module, systeme et procede de traitement de signaux numeriques | |
EP3361746B1 (fr) | Systeme de gestion de flux media | |
EP2064855B1 (fr) | Procede de communication entre plusieurs terminaux | |
EP2271998B1 (fr) | Système de gestion d' événements | |
FR2896648A1 (fr) | Procede et systeme de conversation multimedia | |
EP1633144A1 (fr) | Procédé de gestion des conditions d accès à un flux vidéo par un routeur / DSLAM | |
WO2005057896A1 (fr) | Systeme de conferences multimedia | |
RU39030U1 (ru) | Система видеоконференцсвязи | |
EP2858327A1 (fr) | Procédé de mise en oeuvre d'une session de communication entre une pluralité de terminaux | |
EP1853050A1 (fr) | Serveur et procede de gestion de file d'attente de sessions | |
FR2972885A1 (fr) | Systeme de teleconference avec echange video sur reseau informatique | |
Kelly | Pervasive Video in the Enterprise |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12714754 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14004031 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REEP | Request for entry into the european phase |
Ref document number: 2012714754 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012714754 Country of ref document: EP |