Method for processing data streams from a conference session using a session server

FR3141778B1Active Publication Date: 2025-02-21STREAMWIDE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
FR2022011519
Authority / Receiving Office
FR · FR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-11-04
Publication Date
2025-02-21
Estimated Expiration
2042-11-04

Smart Images

  • Figure 00000017_0000
    Figure 00000017_0000
  • Figure 00000018_0000
    Figure 00000018_0000
  • Figure 00000019_0000
    Figure 00000019_0000
Patent Text Reader

Abstract

Examples illustrate a method for processing multimedia streams emitted by terminals participating in a conference and encapsulated according to an internet protocol for delivery to the session server, which distributes the multimedia streams to the recipient terminals participating in the conference. The method comprises: identifying the encoding codec implemented by each terminal participating in the conference; and when the session server receives a plurality of streams from a corresponding plurality of sending terminals participating in the conference, decoding data packets from the plurality of streams received from the sending terminals; mixing data packets from the received streams so that a mixed stream is transmitted to the recipient terminals; and encoding data packets from the mixed stream once for each group of recipient terminals implementing the same encoding / decoding codec. Abstract figure: [Fig. 4].
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Method for processing data streams of a conference session by a session server Technical field

[0001] The present disclosure relates to the field of data exchanges and flows transiting via networks using internet protocols in the context of conferences (audio and / or video). Prior art

[0002] Data exchanges via networks using internet protocols are widely used in the context of conferences between remote participants. In particular, several applications make it possible to hold conferences including numerous participants, who connect and participate in the conference via a suitable electronic device, or terminal.

[0003] A conference between several participants is generally managed, from the point of view of bandwidth and the different audio / video data streams to be processed and transmitted to the different participants, by a session server which centralizes all the processing and transmission of the data streams.

[0004] In this case, managing conferences and processing video and audio streams requires a lot of computing resources from the session server's processor. The resources required are all the more important as the number of participants increases.

[0005] The present disclosure improves this situation. Summary

[0006] In this regard, a method is proposed, implemented by a processor of a session server, for processing multimedia stream data packets of a conference session in which a plurality of terminals participate, the multimedia stream data packets being sent by at least one transmitting terminal among the terminals participating in the conference session, in which multimedia stream data packets transmitted by the terminals participating in the conference are encapsulated according to an internet protocol and are sent to the session server which distributes the multimedia streams to recipient terminals participating in the conference session, the method comprising: identify the encoding code implemented by each of the terminals participating in the conference; and - when the session server receives a plurality of media streams from of a corresponding plurality of transmitting terminals participating in the conference, decoding data packets of the plurality of multimedia streams received from the transmitting terminals; mixing received media stream data packets so that a mixed media stream is transmitted to the recipient terminals; and encode data packets of the mixed multimedia stream once for each group of destination terminals implementing the same encoding / decoding codec.

[0007] In one option, when the session server receives a single multimedia stream from a single transmitter terminal participating in the conference, the method further comprises a transfer of the single multimedia stream from the transmitter terminal, without decoding the data packets of the single multimedia stream, to the destination terminals implementing the same encoding / decoding code as that implemented by the transmitter terminal.

[0008] In one option, the data packets of the multimedia streams transmitted by the terminals participating in the conference are encrypted and the method further comprises: obtain the encryption key that each terminal applies to encrypt the data packets of the multimedia streams that it emits; and - when the session server receives a plurality of multimedia streams from a corresponding plurality of transmitting terminals participating in the conference, prior to decoding, decrypting data packets of the plurality of multimedia streams received from the transmitting terminals; after encoding, encrypt once only the mixed and encoded data packets of the multimedia stream of the terminals of the same group of destination terminals applying the same encryption key, and - when the session server receives a single multimedia stream from a transmitting terminal participating in the conference, transfer the single multimedia stream from the sending terminal, without decrypting data packets of this multimedia stream, to the destination terminals of each group of destination terminals implementing the same encoding / decoding code and applying the same encryption key as the sending terminal.

[0009] In one option, when the session server receives two multimedia streams from two different transmitter terminals participating in the conference and implementing the same encoding codec, the method further comprises a transfer of the multimedia stream received from one transmitter terminal to the other transmitter terminal, and vice versa, without mixing or decoding.

[0010] In an option in which the session server receives two media streams in originating from two different transmitting terminals participating in the conference implementing the same encoding code and also presenting the same encryption key, the transfers of multimedia streams from one transmitting terminal to the other transmitting terminal, and vice versa, are implemented without decryption by the session server.

[0011] In one option, the method comprises the following preliminary step: determining a utilization rate of the session server processor; and - when the utilization rate of the session server computer is greater than a predetermined utilization rate, manage each media stream received by the session server as a single media stream from a single sending terminal participating in the conference.

[0012] In one option, a media stream corresponds to an audio stream or a video stream.

[0013] In an option in which the multimedia streams correspond to audio streams, the The method may further comprise, prior to mixing the multimedia streams, a selection of a predetermined number of audio streams having the highest volumes among the audio data streams received from the transmitting terminals. In this option, the mixing of the multimedia streams corresponds to a mixing limited to the selected audio streams.

[0014] The method according to the present disclosure therefore makes it possible to save computing resources of a computer of a session server ensuring the distribution of the multimedia data streams of a conference session by cleverly aggregating the encoding operations, and possibly encryption, of the multimedia streams intended for terminals receiving similar streams (in particular implementing the same encoding) and possibly the same encryption key. The reduction in the load of the computer of the session server is therefore all the more significant the more participants there are in the conference session.

[0015] Furthermore, in examples, the method presented also provides that when the session server receives only one or only two multimedia streams during a determined time interval, the computer executes specific operations which allow its computing resources to be saved. The inventor has noted that, in practice in a conference session, only one or two participants intervene simultaneously for a large part of the time that the session lasts. Consequently, the specific operations proposed to deal with these particular situations are extremely advantageous and allow the computer to preserve computing resources almost throughout the conference session.

[0016] The application also relates to a session server comprising a computer configured to implement any of the methods presented herein. disclosure.

[0017] The application further relates to a computer program product comprising instructions for implementing any of the methods presented by the present disclosure when this program is executed by a computer.

[0018] Finally, the application relates to a non-transitory recording medium readable by a computer on which is recorded a program for implementing any of the methods presented by the present disclosure when this program is executed by a computer. Brief description of the drawings

[0019] Other characteristics, details and advantages will appear on reading the detailed description below, and on analyzing the attached drawings, in which: Fig.l

[0020] [Fig.l] schematically represents an example of a communication architecture in which a method for processing multimedia stream data packets of a conference session can be implemented. Fig. 2

[0021] [Fig.2] represents an example of a terminal. Fig. 3

[0022] [Fig.3] represents an example of a session server. Fig. 4

[0023] [Fig.4] represents an example of a method for processing multimedia stream data packets of a conference session. Description of the embodiments

[0024] There is now described with reference to [Fig.l] an example of communication architecture 1 in which a method of processing multimedia stream data packets of a conference session in which a plurality of terminals 2 participate can be carried out.

[0025] A multimedia stream may correspond to an audio data stream or a video data stream or a combination of both. The method for processing multimedia stream data packets presented with reference to [Fig. 4] may be applied to an audio data stream as well as to a video data stream except when the description of the present disclosure indicates otherwise. In particular, the operations shown in dotted lines in [Fig. 4] are advantageous but optional.

[0026] A data stream, or a stream, is defined in the present disclosure as corresponding to at least two successive data packets. An audio data stream, or audio stream, is defined as corresponding to at least two successive audio data packets. A video data stream, or video stream, is defined as cor- corresponding to at least two successive video data packets.

[0027] The communication architecture 1 comprises a session server 3 and a plurality of terminals 2. The plurality of terminals 2 participate in a conference session allowing them to exchange, in quasi-real time, multimedia streams between them. The multimedia streams transmitted by transmitting terminals 2 during the conference session are sent to the session server 3 which can distribute them to the recipient terminals 2 participating in the conference session.

[0028] A distribution is said to be direct between the session server 3 and a terminal 2 when the session server 3 directly sends the data packets of the data flow to this terminal 2. A distribution is said to be indirect between the session server 3 and a terminal 2 when the session server 3 sends the data packets of the data flow to an intermediate device, or relay, for example another server, before the data packets of the data flow are sent to the terminal.

[0029] It should be noted that a terminal 2 transmitting a first multimedia stream may, subsequently or simultaneously, be a terminal 2 receiving a second multimedia stream transmitted by another terminal 2 transmitting participating in the conference session.

[0030] The conference session can thus designate an audio conference in which terminals 2 can be brought to exchange, in quasi real time, audio streams via a session server 3.

[0031] The conference session can also designate a videoconference in which terminals 2 can be brought to exchange, in quasi real time, video streams, and possibly audio streams, via a session server 3.

[0032] During the conference session, the data packets of the multimedia streams transmitted by the terminals 2 are encapsulated according to an internet protocol. This protocol is notably defined in the RFC 791 standard.

[0033] In the example described here, the data streams exchanged by the terminals during the conference session are encapsulated according to an RTP (“Real-time Transport Protocol”) or SRTP (“Secure Real-time Transport Protocol”) protocol.

[0034] A data stream encapsulated according to an RTP protocol must be understood in the present application as a UDP (“User Datagram Protocol”) data stream arranged so as to comply with an RTP protocol, that is to say so as to comply with a protocol notably defined by the RFC 3550 standard. In particular, when an RTP data stream is encrypted so as to comply with an SRTP protocol, that is to say in accordance with the RFC 3711 standard, we speak of an SRTP data stream.

[0035] A multimedia stream transmitted by a transmitting terminal during the conference session is furthermore encoded by an encoding codec implemented by the transmitting terminal. Depending on the data type of the multimedia stream, audio and / or video, the codecs encoding are different.

[0036] In examples, an audio encoding codec may correspond to one of the following: GSM, iLBC, ITU, Speex, LPC, DoD CELP. In examples, a video encoding codec may correspond to one of the following: VP8, H264.

[0037] Thus, when a transmitting terminal 2 transmits a multimedia stream during the conference session, the data packets of this multimedia stream are encapsulated according to an internet protocol, are encoded by an encoding codec, are possibly encrypted by an encryption key, then are sent to the session server 3 which can, in turn, distribute them to the recipient terminals 2 participating in the conference session.

[0038] A terminal 2 may correspond to a fixed or mobile communication device.

[0039] An example of a terminal 2 is notably represented in [Fig.2].

[0040] In examples and as illustrated by [Fig.2], the terminal 2 may comprise a microphone 21, or be connected to a microphone 21 as a peripheral, to acquire an audio stream. The terminal 2 may comprise a camera 22, or be connected to a camera 22 as a peripheral, to acquire a video stream.

[0041] A session server 3 may for example correspond to a multimedia server (known by the English term “media server”).

[0042] As shown in [Fig.3], the session server 3 comprises a computer 31 configured to control the execution of any one of the embodiments of the method of the present disclosure. The session server 3 may comprise a memory 32 to which the computer 31 has access. The memory 32 may be configured to store the instructions (or code) executed by the computer 31, in particular for the implementation of the method. The memory 32 may also be configured to store multimedia stream data packets that the session server 3 receives from the transmitter terminals 2 participating in the conference session.

[0043] The computer 31 may for example be of the processor, microprocessor, microcontroller, FPGA, etc. type. The memory 32 may for example comprise a ROM (“Read-Only Memory”) memory, a RAM (“Random Access Memory”) memory, an EEPROM (“Electrically Erasable Programmable Read-Only Memory”) memory or any other type of suitable storage means. The memory may for example comprise optical, electronic or magnetic storage means.

[0044] A method for processing multimedia stream data packets of a conference session in which a plurality of terminals 2 participate is now described with reference to [Fig. 4]. This method is implemented by a computer 31 of a session server 3, for example as described above. The multimedia stream data packets are sent by at least one transmitting terminal 2 among the terminals 2 participating in the conference session.

[0045] As illustrated by operation 110, the method 100 comprises, here, an identification of the encoding code implemented by each of the terminals 2 participating in the conference. This involves determining with which encoding code each of the terminals 2 encodes the multimedia streams that it sends to the session server 3.

[0046] Then, when the session server 3 receives a plurality of multimedia streams from a corresponding plurality of transmitting terminals 2 participating in the conference, the method 100 also comprises the implementation of the operations 120, 130 and 140 described below. The reception of the plurality of multimedia streams by the session server 3 is, here, at least partly concomitant. This is for example, during an audio conference, the situation in which a plurality of participants in the audio conference speak at the same time and each of their terminals 2 sends an audio stream to the session server 3. The session server 3 therefore receives a plurality of audio streams, at least partly simultaneously. During a video conference, this is for example a plurality of participants in the video conference who have activated their camera and each terminal of which sends a video stream to the session server 3.The session server 3 therefore receives a plurality of video streams at least partly simultaneously. In other words, the operations 120, 130 and 140 are implemented when the session server 3 receives a plurality of multimedia streams from a corresponding plurality of transmitting terminals during the same time interval.

[0047] As illustrated in [Fig.4], the method 100 comprises an operation 120 of decoding the data packets of the plurality of multimedia streams received from the transmitting terminals 2. Insofar as the encoding codec of the multimedia streams of the terminals 2 participating in the conference has been identified during the operation 110 of the method 100, the computer 31 of the session server 3 is able to decode the data packets of the multimedia streams received from the transmitting terminals 2 by implementing a decoding compatible with the encoding mode implemented by each of the transmitting terminals 2.

[0048] As illustrated in [Fig.4], the method 100 comprises an operation 130 of mixing the received (and decoded) multimedia stream data packets. In other words, the received streams are mixed with each other to form a single mixed stream. The recipient terminals 2 designate the terminals to which the mixed data stream is distributed by the session server 3.

[0049] As illustrated in [Fig.4], the method 100 comprises a single encoding operation 140 of the data packets of the mixed multimedia stream for each group of 2 recipient terminals implementing the same encoding / decoding codec. The computer 31 of the session server 3 therefore uses, only once per group of 2 recipient terminals implementing the same encoding / decoding codec, the encoding operation of the mixed stream. In other words, the mixed stream not yet encoded is duplicated into as many encoded mixed streams as there are groups of 2 recipient terminals using the same encoding / decoding codec.

[0050] Contrary to what is usually done, it is therefore no longer necessary to encode a stream as many times as there are destination terminals. The number of encoding operations is reduced and the resources required, in particular that of the computer 31 and the bandwidth of the networks, are therefore reduced.

[0051] In the methods of the prior art, the session servers are generally configured to implement a thread of execution (known as a "thread") composed of a plurality of instructions (in the form of lines of computer code) for each terminal participating in the conference session in order to distribute to each of the terminals the data packets intended for it. In these methods of the prior art, each thread of execution is duplicated for each destination terminal, including when the same stream with the same encoding is transmitted to several terminals. The method according to the present disclosure proposes, on the contrary, to carry out this encoding only once for all the destination terminals of a mixed stream operating with the same encoding, i.e. therefore sharing the same encoding operation.

[0052] In examples, a unique encoding 140 of the data packets of the mixed multimedia stream for each group of destination terminals implementing the same encoding / decoding comprises an execution: - a computer function encoding the mixed multimedia stream once with a determined encoding code shared by a group of recipient terminals; then - a plurality of execution threads for distributing the mixed and encoded stream, in which each execution thread of the plurality of execution threads is associated with a destination terminal 2 of the group of destination terminals and is configured to retrieve the mixed and encoded stream in order to distribute it to the destination terminal with which it is associated.

[0053] The method presented here therefore makes it possible to save encoding operations at the computer 31 of the session server 3 by using a single encoding of the mixed stream for each of the terminals receiving the mixed stream implementing the same encoding code.

[0054] In examples, when the session server 3 receives a single multimedia stream from a single transmitting terminal 2, the method 100 may comprise the implementation of an operation 220 described below. The reception of a single multimedia stream by the session server 3 designated here refers to a single multimedia stream transmitted by a single terminal participating in the conference session and received by the session server 3 in a determined time interval. This is for example, in an audio conference, the situation in which only one participant in the audio conference speaks while the other participants have muted their microphones. Session server 3 therefore receives a single audio stream during the specified time interval. In a video conference, for example, this is the situation in which a single participant in the video conference has activated their camera while the other participants have muted it. Session server 3 therefore receives a single video stream during the specified time interval.

[0055] Operation 220 corresponds to a transfer of the single multimedia stream from the sending terminal 2 to the receiving terminals 2 implementing the same encoding code as that implemented by the sending terminal 2. This transfer is carried out without decoding the data packets of the single multimedia stream.

[0056] These examples make it possible, in such a situation, to avoid the computer 31 of the session server 3 having to decode the multimedia stream transmitted by the sending terminal before distributing it to the destination terminals sharing the same encoding codec as the sending terminal. The computer 31 of the session server 3 therefore saves a decoding operation.

[0057] In examples, the data packets of the multimedia streams transmitted by the terminals participating in the conference session are encrypted. This makes it possible to protect the data exchanged by the participating terminals. This is a symmetric encryption system, i.e. the packets of a multimedia stream transmitted by a terminal participating in the conference are encrypted with the same encryption key as that used by this terminal to decrypt the multimedia streams that it receives.

[0058] In the examples in which the data packets of the multimedia streams transmitted by the terminals participating in the conference are encrypted, the method 100 may comprise the implementation of an operation 111.

[0059] Operation 111 corresponds to obtaining the encryption key that each terminal applies to encrypt the data packets of the multimedia streams that it transmits.

[0060] In the examples in which the data packets of the multimedia streams transmitted by the terminals participating in the conference are encrypted, and when the session server 3 receives a plurality of multimedia streams from a corresponding plurality of transmitting terminals participating in the conference, the method 100 may comprise the implementation of the operations 119 and 141. In other words, the method 100 may comprise the implementation of the operations 119 and 141 when the session server 3 receives a plurality of encrypted multimedia streams from a corresponding plurality of transmitting terminals during the same time interval.

[0061] Operation 119 is performed prior to the decoding of the data packets of the plurality of multimedia streams received from the transmitting terminals performed in operation 120. Operation 119 corresponds to a decryption of the data packets of the plurality of multimedia streams received from the transmitting terminals.

[0062] Operation 141 is carried out after the unique encoding of the data packets of the mixed multimedia stream for each group of destination terminals implementing the same encoding codec (operation 140). Operation 141 corresponds to a unique encryption (understand “in one go”) of the mixed and encoded data packets of the multimedia stream of the terminals of the same group of destination terminals applying the same encryption key.

[0063] Thus, in an embodiment in which the multimedia streams are encrypted, the method 100 proposes a single encryption of the mixed and encoded multimedia stream for the terminals of a group of destination terminals which share the same encryption key. On the contrary, in the methods of the prior art, each thread of execution associated with a destination terminal comprises instructions for carrying out an encoding and an encryption so that the encryption is generally implemented as many times as there are destination terminals. In this embodiment, the method according to the present disclosure proposes on the contrary to carry out the encryption only once for the destination terminals of the same mixed and encoded stream which share the same encryption key.The computer 31 of the session server 3 therefore saves encryption operations each time there are several destination terminals which share the same encoding code and the same encryption key among the destination terminals of the mixed stream.

[0064] In the examples in which the data packets of the multimedia streams transmitted by the terminals participating in the conference are encrypted, and when the session server 3 receives a single multimedia stream from a transmitting terminal participating in the conference, the method 100 may further comprise the execution of an operation 220'. In other words, the method 100 may comprise the implementation of the operation 220' when a single encrypted multimedia stream is received by the session server 3 during a determined time interval.

[0065] Operation 220' corresponds to a transfer of the single multimedia stream from the sending terminal to the destination terminals implementing the same encoding code and applying the same encryption key as the sending terminal. This transfer is implemented without decrypting or decoding the data packets of this multimedia stream.

[0066] These examples make it possible for the computer of the session server 3 to avoid decrypting the multimedia stream before distributing it to the recipient terminals of the conference session sharing the same encoding code and the same encryption key as the sending terminal. The computer 31 of the session server 3 therefore saves a decryption operation in addition to the decoding operation described above.

[0067] In examples, when the session server receives two multimedia streams from two different transmitting terminals participating in the conference and implementing the same encoding codec, the method 100 can further implement an operation 150. In other words, the method 100 can comprise implementing the operation 150 when two multimedia streams transmitted by two transmitting terminals implementing the same encoding codec are received by the session server 3 during the same time interval.

[0068] Operation 150 corresponds to the transfer of the multimedia stream received from one transmitting terminal to the other transmitting terminal, and vice versa, without mixing or decoding. Thus, the computer 31 of the session server 3 transfers the multimedia stream from the first transmitting terminal to the second transmitting terminal and transfers the multimedia stream from the second transmitting terminal to the first transmitting terminal, without mixing or decoding operation.

[0069] Indeed, the transmitting terminals do not necessarily receive the same mixed stream as the terminals which are only recipients. In the methods of the prior art, processing of the multimedia stream distributed to the terminals which are both transmitters and recipients is usually carried out in order to suppress (filter) their own transmitted multimedia stream, in order to avoid echo effects and so that the person speaking hears themselves in return. Such processing is applied independently of the number of simultaneous transmitting terminals (two or more than two). During an audio conference, several participants in the audio conference who speak at the same time do not necessarily want to hear their own voice echoed. For this purpose, only the voice of the other participants is transmitted to them.Session server 3 therefore sends them a mixed audio stream including the voice of the other participants without their own voice, that is to say, it sends them a mixed audio stream including the streams of the transmitting terminals with the exception of their own audio stream.

[0070] However, the case of two (and not more than two) multimedia streams originating from two different transmitting terminals is particular insofar as a mixing of the two multimedia streams intended for a specific transmitting terminal among the two transmitting terminals may correspond to mixing the two streams of the transmitting terminals, then to deleting (filtering) the multimedia stream of the specific terminal. According to embodiments of the present disclosure, such a result may be obtained by identifying the situation in which only two terminals are transmitting simultaneously, then by transferring the multimedia stream received from one transmitting terminal to the other transmitting terminal, and vice versa, without mixing or decoding when these terminals share the same encoding codec.In fact, each of the transmitting terminals is capable of decoding the stream of the other transmitting terminal since they share the same encoding codec and it is not necessary to send them a mixed multimedia stream since the mixed multimedia stream which will be sent to them actually corresponds to the multimedia stream of the other terminal. transmitter. Session server 3 therefore saves a decoding, mixing, and encoding operation for each of the two multimedia streams of the transmitting terminals.

[0071] In examples, when the session server 3 receives two encrypted multimedia streams from two different transmitting terminals participating in the conference, implementing the same encoding codec, and applying the same encryption key, the method 100 may further include an operation 150'. In other words, the method 100 may comprise the implementation of the operation 150' when two encrypted multimedia streams transmitted by two transmitting terminals implementing the same encoding codec and applying the same encryption key are received by the session server 3 during the same time interval.

[0072] Operation 150' corresponds to a transfer of the multimedia stream received from one transmitting terminal to the other transmitting terminal, and vice versa, without mixing, decoding, or decryption. The computer 31 of the session server 3 therefore saves a decryption, decoding, mixing, encoding and encryption operation for each of the two multimedia streams of the transmitting terminals.

[0073] In examples, and as shown in [Fig.4], the method 100 may comprise an operation 115 of determining a utilization rate of the calculator 31 of the session server 3.

[0074] In examples in which a utilization rate of the computer 31 of the session server is determined to be greater than a determined utilization rate, the method 100 may comprise a management of each multimedia stream received by the session server 3 as a single multimedia stream originating from a single transmitting terminal participating in the conference. Consequently, in these examples, a multimedia stream received by the session server 3 is transferred to the terminals receiving this multimedia stream without mixing with the other streams received by the session server and without decoding this stream for the recipient terminals which share the same encoding codec as the transmitting terminal. The computer 31 of the session server 3 therefore saves a decoding, mixing and encoding operation for each of the terminals receiving this stream sharing the same encoding codec as the transmitting terminal.

[0075] Furthermore, when it is an encrypted multimedia stream, this multimedia stream is transferred to the terminals receiving this multimedia stream without mixing with the other streams received by the session server 3 and without decoding or decryption of this stream for the recipient terminals which share the same encoding codec and apply the same encryption key as the sending terminal. The computer 31 of the session server 3 therefore saves a decryption, decoding, mixing, encoding and encryption operation for each of the terminals receiving this stream. sharing the same encoding codec and applying the same encryption key as the sending terminal. In other words, the distribution of the computing load between session server 3 and terminals 2 is made flexible and adaptable according to the current load of session server 3.

[0076] These examples therefore make it possible to reduce the computing resources of the computer 31 of the session server 3 engaged when the utilization rate of its computer 31 is high in order to limit the risk of altering the distribution of the multimedia streams, which would be detrimental to the participants in the conference session.

[0077] In examples in which the multimedia streams correspond to audio streams, the method 100 may further comprise the execution of an operation 125 prior to the execution of the mixing operation 130 of the plurality of multimedia streams received by the session server 3. The operation 125 corresponds to a selection of a predetermined number of audio streams having the highest (sound) volumes among the audio data streams received from the transmitting terminals. In these examples, the mixing of the multimedia streams of the operation 130 is limited to the audio streams selected during the operation 125. This makes it possible to distribute to the destination terminals a mixed stream composed only of the audio streams having the highest volumes, in particular to filter the quietest audio streams, which may for example correspond to ambient or parasitic noise around the participants who remain silent without having deactivated their microphone.

[0078] The method according to the present disclosure therefore makes it possible to save computing resources of a computer 31 of a session server 3 ensuring the distribution of the multimedia data streams of a conference session by cleverly aggregating the encoding operations, and possibly encryption, of the multimedia streams intended for terminals receiving similar streams (in particular implementing the same encoding) and possibly the same encryption key. The reduction in the load of the computer 31 of the session server 3 is therefore all the more significant the more participants there are in the conference session.

[0079] Furthermore, in examples, the method presented also provides that when the session server 3 receives only one or only two multimedia streams during a determined time interval, the computer 31 executes specific operations which make it possible to save its computing resources. The inventor has noted that, in practice in a conference session, only one or two participants intervene simultaneously for a large part of the time that the session lasts. Consequently, the specific operations proposed to deal with these particular situations are extremely advantageous and allow the computer to preserve computing resources almost throughout the conference session.

Claims

Claims

1. Method, implemented by a processor of a session server, for processing multimedia stream data packets of a conference session in which a plurality of terminals participate, the multimedia stream data packets being sent by at least one transmitting terminal among the terminals participating in the conference session, in which multimedia stream data packets transmitted by the terminals participating in the conference are encapsulated according to an internet protocol and are sent to the session server which distributes the multimedia streams to recipient terminals participating in the conference session, the method comprising: identify (110) the encoding code implemented by each of the terminals participating in the conference; and • when the session server receives a plurality of multimedia streams from a corresponding plurality of transmitting terminals participating in the conference, decoding (120) data packets of the plurality of multimedia streams received from the transmitting terminals; mixing (130) received multimedia stream data packets so that a mixed multimedia stream is transmitted to the destination terminals; and encoding (140) once only data packets of the mixed multimedia stream for each group of destination terminals implementing the same encoding / decoding codec.

2. The method of claim 1, further comprising: • when the session server receives a single multimedia stream from a single transmitting terminal participating in the conference, transferring (220) the single multimedia stream from the sending terminal, without decoding the data packets of the single multimedia stream, to the destination terminals implementing the same encoding / decoding code as that implemented by the sending terminal.

3. Method according to claims 1 or 2, in which the data packets of the multimedia streams transmitted by the terminals participating in the conference are encrypted, the method further comprising: obtaining (111) the encryption key that each terminal applies to encrypt the data packets of the multimedia streams that it transmits; and • when the session server receives a plurality of multimedia streams from a corresponding plurality of transmitting terminals participating in the conference, prior to decoding (120), decrypting (119) data packets of the plurality of multimedia streams received from the transmitting terminals;after encoding (140), encrypt (141) once only the mixed and encoded data packets of the multimedia stream of the terminals of the same group of destination terminals applying the same encryption key, and • when the session server receives a single multimedia stream from a sending terminal participating in the conference, transfer the single multimedia stream from the sending terminal, without decrypting data packets of this multimedia stream, to the destination terminals of each group of destination terminals implementing the same encoding / decoding code and applying the same encryption key as the sending terminal.;

4. Method according to any one of claims 1 or 2, in which • when the session server receives two multimedia streams from two different transmitter terminals participating in the conference and implementing the same encoding codec, the method further comprises: transferring (150) the multimedia stream received from one transmitter terminal to the other transmitter terminal, and vice versa, without mixing or decoding.

5. Method according to claim 4 combined with claim 3, in which the two different transmitting terminals participating in the conference also have the same encryption key, and in in which transfers of media streams from one sending terminal to the other sending terminal, and vice versa, are implemented without decryption by the session server.

6. Method according to claim 2, in which the method comprises the following preliminary step: determining (115) a utilization rate of the processor of the session server; and • when the utilization rate of the calculator (31) of the session server (3) is greater than a predetermined utilization rate, managing each multimedia stream received by the session server as a single multimedia stream originating from a single transmitting terminal participating in the conference.

7. A method according to any preceding claim, wherein a media stream corresponds to an audio stream or a video stream.

8. Method according to the preceding claim, in which the multimedia streams correspond to audio streams, the method further comprising, prior to mixing the multimedia streams: selecting (125) a predetermined number of audio streams having the highest volumes among the audio data streams received from the transmitting terminals; and in which the mixing of the multimedia streams corresponds to a mixing limited to the selected audio streams.

9. Session server (3) comprising a computer (31) configured to implement any one of the methods according to claims 1 to R

10. 1 a O. Computer program product comprising instructions for implementing any one of the methods according to claims 1 to 8 when this program is executed by a computer.