Local media rendering
Summary by NHIP
Multi-party call media rendering
The method delivers selected media streams from a multi-party call to a Client User Equipment for local audio or video rendering. Selection prioritizes streams based on client priority while ensuring the count does not exceed a maximum number determined by negotiated bandwidth or device capabilities.
Claim Score by NHIP
Abstract
The invention involves local media rendering of a multi-party call, performed by a Client User Equipment (1). The media is encoded by each party in the call, and sent as a media stream to a Media server (2), and the media server receives a request for media streams from each Client User Equipment, each media stream in the request associated with a client priority. The Media server selects the media streams to send to each Client User Equipment, based on the request, and further such that the number of streams does not exceed a determined maximum number, which is based e.g. on the available bandwidth.

Term
4.5 yearsleft in the term
Expires 27 March 2031, including 82 days of term adjustment.
- Priority and filed
- Granted
- Today
- Expires
20 claims: 4 independent, 16 dependent
- 1A method, in a Media Server in a telecommunication network, of delivering media streams received from a multi-party call to a participating Client User Equipment for local audio or video media rendering, the method comprising:determining a maximum number of media streams to be delivered simultaneously, based on a negotiation with the Client User Equipment;regularly receiving an updated request for media streams from the Client User Equipment, the request indicating a client priority for each media stream;selecting media streams from the request, the selection based on the client priority of the requested media streams, and on that the number of selected media streams shall not exceed the determined maximum number of media streams;and sending the selected media streams to the Client User Equipment for local rendering of the multi-party call, wherein the rendering is based on rendering information transmitted separately from the media streams.
- 7Broadest claimClaim Score 59, broad(NHIP)A method, in a Client User Equipment in a telecommunication network, of receiving media streams from a Media server for local rendering of audio or video media of a multi-party call, the method comprising:regularly sending an updated request for media streams to the Media server, the request indicating a client priority for each media stream;receiving media streams from the Media Server, the media streams selected by the Media server based on the client priority of the requested media streams, and further based on that the number of media streams shall not exceed a determined maximum number of media streams;and rendering the media streams of the multi-party call locally in the Client User Equipment, based on rendering information received separately from the media streams.
- 12A Media Server connectable to a telecommunication system and configured to deliver media streams received from a multi-party call to a participating Client User Equipment for local audio or video media rendering, the Media Server comprising:a determining circuit configured to determine a maximum number of media streams to be delivered simultaneously, based on a negotiation with the Client User Equipment;a receiving circuit configured to regularly receive an updated request for media streams from the Client User Equipment, the request indicating a client priority for each requested media stream;a selection circuit configured to select media streams from a received request, the selection based on the client priority of the requested media streams, and further based on that the number of selected media streams shall not exceed the determined maximum number of streams;and a sending circuit configured to send the selected media streams to the Client User Equipment for local rendering of a multi-party call, wherein the rendering is based on rendering information transmitted separately from the media streams.
- 17A Client User Equipment connectable to a telecommunication network and configured to receive media streams from a Media server for local rendering of audio or video media of a multi-party call, the Client User Equipment comprising:a requesting circuit configured to create a request for media streams, the request indicating a client priority for each media stream;a sending circuit configured to regularly send an updated request to the Media Server;a first receiving circuit configured to receive media streams from the Media server, the media streams selected by the Media Server based on the client priority of the requested media streams, and further based on that the number of received media streams shall not exceed a determined maximum number of media streams, and a rendering circuit configured to perform local rendering of media streams of the multi-party call, based on rendering information received separately from the media streams.
Independent claims4
56 paragraphs in 5 sections, as filed
TECHNICAL FIELD
The present invention relates to a method for a Media Server of delivering media streams to a Client User Equipment for local rendering, and a method for a Client User Equipment of receiving media streams for local rendering from a Media Server. The invention also relates to a Media Server and to a Client User Equipment.
BACKGROUND
Conventionally, a technical implementation of a multi-party call, e.g. a voice conference, would typically comprise a central mixing device for mixing the media streams originating from the participants in the conference into only one media stream per media type, to be delivered to every participating client. For a voice conference, this corresponds to one mono media stream or one artificial stereo media stream. One reason for delivering only one media stream to each participant was the limited access bandwidth.
However, in recent technologies, such as e.g. the VDSL2 (Very high speed Digital Subscriber Line 2), a much larger access bandwidth is available, which removes the bandwidth limitation, at least in applications with a low or moderate bandwidth requirement, such as e.g. a voice conference.
In order to provide true stereo or 3D (Three-Dimensional) positional audio to each participant in a multi-party call, a unique media stream has to be rendered for each client, based on the orientation and position of the client, and on the position and orientation of the other participants in the call. Thus, the central rendering framework needs information regarding the location and orientation of each participant, and has to implement one rendering engine for each client. Further, these rendering engines have to be constantly updated with the position and orientation for each participant. This is especially challenging in large and highly dynamic conference call, such as in virtual world gaming. In such an advanced audio mixing scenario, involving a large number of participants in a multi-party call, a central voice mixing will lead to complicated system architecture for the media rendering, requiring a very large processing capacity in the central voice mixing device.
In a conventional central rendering, a media server, typically a conference bridge comprising a mixer, handles basically everything, including audio processing, rendering of 3D positional audio, as well as the encoding of the created 3D positional audio signals for each client. The client user equipments belonging to each participant will only decode each respective encoded signal, and possibly present a GUI (Graphical User Interface) to the user. For each participating client user equipment, the conference bridge will create a 3D positional audio signal, which requires 3D positional audio rendering of the incoming voice signals from all the participants. Since a unique 3D positional audio signal is created for each participant, the number of output signals to encode will correspond to the number of participants.
Further, in a conventional central rendering, the latency in the positional information in highly interactive application may make a faithful voice rendering impossible, and thus deteriorate the user experience.
In a local rendering, on the contrary, the main task of the central media server is to decide which media streams of a multi-party call that should be redirected to which client user equipment for local rendering, such as e.g. the media streams from all the participants, or alternatively from only a few actively speaking participants. Upon receiving the selected media streams from the media server, the client user equipment of each participant will perform local media rendering. If no transcoding is needed in the media server, i.e. if all the client user equipments support the codecs of every other client user equipment, the media server only has to re-direct the incoming media streams, and not perform any encoding or audio rendering.
WO2009/092060 describes a system for rendering of the media locally in the client. A local rendering of 3D positional audio requires less processing capacity in the central device, i.e. a media server, and reduces the latency in the positional information. In the system described in WO2009/092060, each media stream contains the media data (i.e. the voice) and the positional information (i.e. the location and energy of the media component). Furthermore, WO2009/092060 discloses a per-participant “filter component” (see e.g. 111 in FIG. 1) that accesses the positional information and the media streams of all participants, as well as local information related to the participants. However, the implementation of the system is comparatively complicated.
SUMMARY
It is an object of the embodiments described hereinafter to address at least some of the issues outlined above, and this object and others are achieved by the method and the arrangement according to the appended independent claims, and by the embodiments according to the dependent claims.
According to a first aspect, a method is provided for a Media Server in a telecommunication network of delivering media streams received from a multi-party call to a participating Client User Equipment for local audio or video media rendering. The method comprises the Media server determining a maximum number of media streams to be delivered simultaneously, based on a negotiation with the Client User Equipment. Further, the Media server will regularly receive an updated request for media streams from the Client User Equipment, the request indicating a client priority for each media stream. The Media server will select media streams from the request based on the client priority of the requested media streams, and on that the number of selected media streams shall not exceed the determined maximum number of media streams, and send the selected media streams to the Client User Equipment for local rendering of the multi-party call.
According to a second aspect, a method is provided for a Client User Equipment in a telecommunication network of receiving media streams from a Media server for local rendering of audio or video media of a multi-party call. The method comprises the Client User Equipment regularly sending an updated request for media streams to the Media server, the request indicating a client priority for each media stream. Further, the Client User Equipment will receive media streams from the Media Server, the media streams selected by the Media server based on the client priority of the requested media streams, and on that the number of media streams shall not exceed a determined maximum number of media streams.
According to a third aspect, a Media server is provided that is connectable to a telecommunication system, and configured to deliver media streams received from a multi-party call to a participating Client User Equipment for local audio or video media rendering. The Media Server comprises a determining unit for determining a maximum number of media streams to be delivered simultaneously, based on a negotiation with the Client User Equipment, and a receiving unit for regularly receiving an updated request for media streams from the Client User Equipment, the request indicating a client priority for each requested media stream. Further, the Media server comprises a selection unit for selecting media streams from a received request, the selection based on the client priority of the requested media streams, and on that the number of selected media streams shall not exceed the determined maximum number of streams. The Media server also comprises a sending unit for sending the selected media streams to the Client User Equipment for local rendering of a multi-party call.
According to a fourth aspect, a Client User Equipment is provided that is connectable to a telecommunication network, and configured to receive media streams from a Media server for local rendering of audio or video media of a multi-party call. The Client User Equipment comprises a requesting unit for creating a request for media streams, the request indicating a client priority for each media stream, and a sending unit for regularly sending an updated request to the Media Server. The Client User Equipment further comprises a first receiving unit for receiving media streams from the Media server, the media streams selected by the Media Server based on the client priority of the requested media streams, and on that the number of received media streams shall not exceed a determined maximum number of media streams.
An advantage with exemplary embodiments is to provide a comparatively non-complicated local rendering of large and highly dynamic conferences, by utilizing low-cost and under-utilized client resources instead of costly central resources, and transmitting the media streams separately from other information.
BRIEF DESCRIPTION OF THE DRAWINGS
Exemplary embodiments of the invention will now be described in more detail, and with reference to the accompanying drawings, in which:
<figref idref="DRAWINGS">FIG. 1</figref> schematically illustrates an exemplary architecture for local media rendering;
<figref idref="DRAWINGS">FIG. 2</figref> is a flow diagram schematically illustrating an exemplary method for a Media Server;
<figref idref="DRAWINGS">FIG. 3</figref> is a flow diagram schematically illustrating an exemplary method for a Client User Equipment;
<figref idref="DRAWINGS">FIGS. 4 and 5</figref> schematically illustrates an exemplary Media Server, and
<figref idref="DRAWINGS">FIGS. 6 and 7</figref> schematically illustrates an exemplary Client User Equipment.
DETAILED DESCRIPTION
In the following description, the invention will be described in more detail with reference to certain embodiments and to accompanying drawings. For purposes of explanation and not limitation, specific details are set forth, such as particular scenarios, techniques, etc., in order to provide a thorough understanding of the present invention. However, it is apparent to one skilled in the art that the present invention may be practised in other embodiments that depart from these specific details.
Moreover, those skilled in the art will appreciate that the functions and means explained herein below may be implemented using software functioning in conjunction with a programmed microprocessor or general purpose computer, and/or using an application specific integrated circuit (ASIC). It will also be appreciated that while the current invention is primarily described in the form of methods and devices, the invention may also be embodied in a computer program product as well as in a system comprising a computer processor and a memory coupled to the processor, wherein the memory is encoded with one or more programs that may perform the functions disclosed herein.
A concept according to exemplary embodiments described hereinafter is to provide a highly dynamic local media rendering of a multi-party call, with the rendering information being transmitted separately from the media streams. According to an exemplary embodiment, the participating Client User Equipments receives rendering information, e.g. geographical properties, regarding other participating Client User Equipments located in the vicinity from a media application in a data server. Thereby, the Media server does not need to have this information.
Instead, each participating Client User Equipment requests the media server to deliver selected media-streams, typically from other participating Client User Equipments located within a reasonable distance. The request also includes a priority for each media stream, hereinafter denoted client priority, and the client priority may be based e.g. of the position of the “source” of the media stream, each source corresponding to another participating Client User Equipment. The Media server decides which media streams to deliver to each Client User Equipment, based e.g. on the client priority of the requested media streams, but the media streams may also be weighted and given a priority by the Media Server. This priority is based on one or more properties of the media stream, e.g. the signal strength, and is hereinafter denoted media priority. Further, the number of media streams must not exceed a maximum number of media streams that can be transmitted simultaneously to the Client User Equipment, and the maximum number is determined in a negotiation with a Client User Equipment, normally at the beginning of a session.
<figref idref="DRAWINGS">FIG. 1</figref> illustrates schematically an exemplary architecture for the above-described local rendering, comprising a number of Client User Equipments running a media application, which is controlled by a Data Server <b>3</b>. However, only one Client User Equipment <b>2</b> is illustrated in <figref idref="DRAWINGS">FIG. 1</figref>. In the Client User Equipment <b>2</b> is further illustrated a step of encoding <b>21</b> the media input by an end-user to the Client User Equipment, a step of rendering <b>22</b> media for output to the end-user, and a step of requesting <b>23</b> media streams from the Media server <b>1</b>, the request communicated to the Media Server in signal <b>515</b>. The media application includes media, such as e.g. real-time voice or video, and the media is served to the Clients by a Media Server <b>1</b>. The media that is included in the media application is rendered locally in the Client User Equipment, in step <b>22</b>, according to rendering information received from the Data Server in signal S<b>16</b>. The rendering information may comprise e.g. geographical properties of the participating Client User Equipments, since this information would be required for 3D-rendering.
As mentioned above, the Client User Equipment <b>2</b> and the Media Server <b>1</b> negotiates at the establishment of a session in order to determine a maximum number of media streams that may be transferred simultaneously from the Media Server to the Client User Equipment. This maximum number of media streams is determined based e.g. on the available bandwidth and/or on the capability of the Client User Equipment to process the received media streams. However, the determined number of media streams may be re-negotiated during the session, if this is required by the Media server or by the Client User Equipment.
During the session, the Client User Equipment continuously decides, in the requesting step <b>23</b>, which media streams it wishes to receive from the Media Server on the available media streams, based on request information (meta-data) associated with the media streams, i.e. with the source Client User Equipment of each media stream. The meta-data <b>31</b> is provided to the Client User Equipment <b>2</b> by the Data Server <b>3</b> in signal S<b>16</b>, but it may also be provided by an end-user (not illustrated in <figref idref="DRAWINGS">FIG. 1</figref>). Thus, the request information may comprise e.g. location information associated with the source Client User Equipment, as provided by the Data Server, a manual input by an end-user, application-specific information provided by the Data server, and/or a priority associated with each participating Client User Equipment, also provided by the Data Server. Based on the meta-data associated with each of the other participating Client User Equipments, which are the sources of the media streams, the Client User Equipment regularly sends an updated request, in signal S<b>15</b>, to the Media Server to receive selected media streams. The media stream may be indicated in the request e.g. as a listing of the identities of the sources, i.e. Client User Equipments, from which the Client User Equipments wishes to receive a media stream for local rendering. Further, the listing comprises a client priority associated with each media stream, the client priority indicating a weighting of the media stream, which is based on the above-described request information (meta-data).
The encoded media streams are received, in signal S<b>14</b>, by the Media server from all the participating Client User Equipments in a multi-party call, even though only one Client and one signal is illustrated in <figref idref="DRAWINGS">FIG. 1</figref>. Based on the request from a Client User Equipment, the Media Server <b>1</b> continuously decides, in the media selection step <b>11</b>, which media streams to deliver to each Client User Equipment, and to send, in signal S<b>13</b>, to the Client User Equipment <b>2</b> on the available media streams between the Media Server and the Client User Equipment. This decision by the Media Server is based on the client priority indicated in the request received in signal S<b>15</b> from the Client User Equipment, but it may also be based on a media priority determined by the Media server, in a media weighting step <b>12</b>. This media weighting could be based on one or more properties of the media stream, e.g. on the signals strength. Further, the selection of which media streams to deliver is also based on the determined maximum number of media streams that can be transmitted simultaneously to the Client User Equipment.
Thus, in <figref idref="DRAWINGS">FIG. 1</figref>, the media streams S<b>13</b> and S<b>14</b> are illustrated by unbroken lines, while the information signal S<b>15</b> and S<b>16</b> are illustrated by dashed lines, in order to emphasize that the media streams are transmitted separately from information that is required for a rendering of the media.
According to an exemplary embodiment, this Media Server may implement the selection by adding the media priority for each media stream to the corresponding client priority in the request received from the Client User Equipment, and selecting the media streams with the highest total priority, and also delimiting the number of media stream to not exceed the determined maximum number of media streams.
The source Client User Equipments may be identified in a request by an arbitrary global identifier, which is known to the Client User Equipment, e.g. by an SSRC in the RTP (Real-Time Protocol), and the request is communicated from the Client User Equipment to the Media server via a suitable protocol, e.g. an extension of the BFCP (Binary Floor Control Protocol).
The communication of the global identifier between the respective Client User Equipments is typically performed via the Data Server <b>3</b>.
<figref idref="DRAWINGS">FIG. 2</figref> is a flow diagram illustrating exemplary embodiments of a method for a Media Server <b>1</b> of delivering media streams from a multi-party call to a Client User Equipment <b>2</b> for local rendering. After the start of the session, in step <b>24</b>, the Media Server determines, in step <b>25</b>, a maximum number of media streams that can be transmitted simultaneously to the Client User Equipment. The determining is performed in a negotiation with the Client User Equipment, and may be based e.g. on the available bandwidth and on the capabilities of the Client User Equipment.
In step <b>26</b>, the Media server receives a request from the Client User Equipment, the request indicating media streams that the Client User Equipments wants to receive from the Media Server. Each media stream in the request is associated with a client priority indicating a weighting of the media stream, such that a media stream associated with a higher priority shall be selected for transmission to the Client User Equipment, before a media stream associated with a lower priority. The client priority indicated in the request may be based e.g. on geographical properties of the source Client User Equipments, on a priority received from the Data Server, on application-specific information, and/or on a selection by the end-user.
In step <b>27</b>, the Media Server decides which media streams to send to the Client User Equipment by selecting a number of streams from the request. The selection is based on the client priority of the media streams indicated in the request, and on that the number of media streams shall not exceed the determined maximum number of media streams that can be transmitted to the Client User Equipment. According to a further embodiment, the Media server performs a weighting of the media streams, e.g. based on the signal strength, and associates the weight with each media stream as a media priority, to be included in the decision. Next, in step <b>28</b>, the Media Server sends the selected media streams to the Client User Equipment.
Since the Client User Equipment regularly sends an updated request to the Media server, the steps <b>26</b>-<b>28</b> are repeated until the session is terminated, in step <b>29</b>.
<figref idref="DRAWINGS">FIG. 3</figref> is a flow diagram illustrating an exemplary embodiment of a method for a Client User Equipment of receiving a media stream from a Media server for local rendering.
After the start of the session, in step <b>32</b>, the Client User Equipment negotiates, in step <b>33</b>, with the Media server for determining a maximum number of media streams that it can receive simultaneously from the Media server, based e.g. the available bandwidth and on the capabilities of the Client User Equipment.
In step <b>34</b>, the Client User Equipment sends a request to the Media server, the request indicating media streams that the Client User Equipments wants to receive from the Media Server. Each media stream in the request is associated with a client priority indicating a weighting of the media stream, such that the Client User Equipment prefers to receive a media stream with a higher priority, before a media stream with a lower priority. The priority indicated in the request may be based e.g. on geographical properties of the source Client User Equipments, on a priority received from the Data Server, and/or on a selection by the end-user.
In step <b>35</b>, the Client User Equipment receives media streams from the Media server, as selected by the Media Server from the request. The selection is based on the client priority of the media streams indicated in the request, and on that the number of media streams shall not exceed the determined maximum number of media streams that can be transmitted simultaneously to the Client User Equipment. According to a further embodiment, the Media server performs a weighting of the media streams, e.g. based on the signal strength, and includes as a media priority in the decision.
Upon receiving the media streams, the Client User Equipment performs a local rendering of the media of the multi-party call, based on appropriate rendering information, such as e.g. the geographical properties of the source Client user Equipments, as received separately from the media streams as meta-data from the Data server <b>3</b>.
The Client User Equipment regularly sends an updated request to the Media server during the session, and the steps <b>34</b>-<b>36</b> are repeated until the session is terminated, in step <b>37</b>.
<figref idref="DRAWINGS">FIG. 4</figref> schematically illustrates a Media Server <b>1</b>, according to exemplary embodiments. The Media Server comprises a Determining unit <b>41</b> for determining a maximum number of media streams that can be delivered simultaneously to a Client User Equipment. The determining is performed in a negotiation with the Client User Equipment, and is based e.g. on the available bandwidth and/or on capabilities of the Client User Equipment.
Further, the Media server is provided with a communication unit for communicating with the Client User Equipment, the communication unit comprising a Receiving unit <b>42</b> for regularly receiving a request from the Client User Equipment, the request comprising an indication of the media streams that the Client User Equipment wants to receive, with each media stream associated with a client priority indicating a weighting of the media stream. The Receiving unit <b>42</b> may also be configured to receive the encoded media streams from the participating Client User Equipments. However, since the media streams are received separately from the requests, they are preferably received by a separate receiving unit (not illustrated in the figure).
Further, the Media Server comprises a Selecting unit <b>43</b> for selecting the media streams to send to the Client User Equipment from the request, the selection based on the client priority indicated in the request, and also taking into account that the number of transmitted media stream shall not exceed the determined maximum number of media streams. The above-mentioned communication unit also comprises a Sending unit <b>44</b> for sending the selected media streams to the Client User Equipment.
According to a further embodiment, the Selecting unit is also configured to base the selection of the media streams on a weighting of the media streams performed by the Media server, based on properties of the media streams, e.g. on the signal strength, and associated with each media stream as a media priority.
<figref idref="DRAWINGS">FIG. 5</figref> schematically illustrates an embodiment of the Media server, which is an alternative way of disclosing the embodiment illustrated in <figref idref="DRAWINGS">FIG. 4</figref>. The Media server <b>1</b> comprises a processing unit <b>51</b> which may be a single unit or a plurality of units. Furthermore, the Media server <b>1</b> comprises at least one computer program product <b>52</b> in the form of a non-volatile memory, e.g. an EEPROM (Electrically Erasable Programmable Read-Only Memory), a flash memory or a disk drive. The computer program product <b>52</b> comprises a computer program <b>53</b>, which comprises code means which when run on the Media server <b>1</b> causes the processing unit <b>51</b> in the Media server to perform the steps of the procedures described earlier in conjunction with <figref idref="DRAWINGS">FIG. 2</figref>.
Hence, in the embodiments illustrated in <figref idref="DRAWINGS">FIG. 5</figref>, the code means in the computer program <b>53</b> of the Media server <b>1</b> comprises a determining module <b>53</b><i>a</i>, a receiving module <b>53</b><i>b</i>, a selecting module <b>53</b><i>c</i>, and a sending module <b>53</b><i>d</i>. The modules <b>53</b><i>a</i>-<b>53</b><i>d </i>essentially perform the steps of the flow in <figref idref="DRAWINGS">FIG. 2</figref> to emulate the Media server described in <figref idref="DRAWINGS">FIG. 4</figref>. In other words, when the different modules <b>53</b><i>a</i>-<b>53</b><i>d </i>are run on the processing unit <b>51</b>, they correspond to the units <b>41</b>, <b>42</b>, <b>43</b> and <b>44</b> of <figref idref="DRAWINGS">FIG. 4</figref>, which are further explained above in connection with the description text associated with <figref idref="DRAWINGS">FIG. 4</figref>.
Although the code means in the embodiment disclosed above in conjunction with <figref idref="DRAWINGS">FIG. 5</figref> are implemented as computer program modules which when run on the Media Server <b>1</b> causes the node to perform the steps described above in conjunction with <figref idref="DRAWINGS">FIG. 2</figref>, one or more of the code means may in alternative embodiments be implemented at least partly as hardware circuits.
<figref idref="DRAWINGS">FIG. 6</figref> illustrates schematically a Client User Equipment, according to an exemplary embodiment. The Client User Equipment is provided with a Coding unit <b>61</b> for encoding the media, e.g. voice from a local user, and a Rendering unit <b>66</b> for rendering e.g. a multi-party call using media streams received from the Media server <b>1</b>, and rendering information received separately from the media streams. Thus, the Client User Equipment is provided with a first Receiving unit <b>65</b> for receiving media streams for the rendering from the Media server, the media streams selected by the Media server from a request received from the Client User Equipment. Accordingly, the Client User Equipment also comprises a Requesting unit <b>64</b> for creating a request to the Media server, the request indicating media streams that the Client User Equipment wants to receive, each media stream associated with a client priority for the media stream. The client priorities for each stream may be determined based e.g. on location information application-specific information, as received from a Data server <b>3</b>, but also on a selection by an end-user. An updated request is regularly sent to the Media server by a Sending unit <b>62</b>, which may also be used for sending the encoded media to the Media server. However, since the media streams are transmitted separately from the requests, the Client User Equipment is preferably provided with a separate sending unit for the media streams (not illustrated in the figure).
According to a further exemplary embodiment, the Client User Equipment comprises a second Receiving unit <b>63</b> for receiving meta-data from the Data server, separately from the media streams, such as e.g. geographical properties associated with other Client User Equipments participating in a multi-party call. The meta-data is used by the Requesting unit <b>64</b> for creating the request and for determining the client priorities of the requested media streams, but also by the Rendering unit <b>66</b> for performing the media rendering. Thus, the meta-data received from the Data server may be used by the Client User Equipment both as request information and as rendering information.
<figref idref="DRAWINGS">FIG. 7</figref> schematically illustrates an embodiment of the Client User Equipment <b>2</b>, which is an alternative way of disclosing the embodiment illustrated in <figref idref="DRAWINGS">FIG. 6</figref>. The Client User Equipment <b>2</b> comprises a processing unit <b>71</b> which may be a single unit or a plurality of units. Furthermore, the Client User Equipment <b>2</b> comprises at least one computer program product <b>72</b> in the form of a non-volatile memory, e.g. an EEPROM (Electrically Erasable Programmable Read-Only Memory), a flash memory or a disk drive. The computer program product <b>72</b> comprises a computer program <b>73</b>, which comprises code means which when run on the Client User Equipment <b>2</b> causes the processing unit <b>71</b> to perform the steps of the procedures described earlier in conjunction with <figref idref="DRAWINGS">FIG. 3</figref>.
Hence, in the embodiments illustrated in <figref idref="DRAWINGS">FIG. 7</figref>, the code means in the computer program <b>73</b> of the Client User Equipment <b>2</b> comprises a coding module <b>73</b><i>a</i>, a sending module <b>73</b><i>b</i>, a second receiving module <b>73</b><i>c</i>, a requesting module <b>73</b><i>d</i>, a first receiving module <b>73</b><i>e </i>and a rendering module <b>73</b><i>f</i>. The code means may thus be implemented as computer program code structured in computer program modules. The modules <b>73</b><i>a</i>-<b>73</b><i>f </i>essentially perform the steps of the flow in <figref idref="DRAWINGS">FIG. 3</figref> to emulate the Client User Equipment <b>2</b> described in <figref idref="DRAWINGS">FIG. 6</figref>. In other words, when the different modules <b>73</b><i>a</i>-<b>73</b><i>f </i>are run on the processing unit <b>71</b>, they correspond to the units <b>61</b>, <b>62</b>, <b>63</b>, <b>64</b>, <b>65</b>, and <b>66</b> of <figref idref="DRAWINGS">FIG. 6</figref>, which are further explained above in connection with the description text associated with <figref idref="DRAWINGS">FIG. 6</figref>.
Although the code means in the embodiment disclosed above in conjunction with <figref idref="DRAWINGS">FIG. 7</figref> are implemented as computer program modules which when run on the Client User Equipment <b>2</b> causes the node to perform the steps described above in conjunction with <figref idref="DRAWINGS">FIG. 3</figref>, one or more of the code means may in alternative embodiments be implemented at least partly as hardware circuits.
Thus, as implied above, it should be noted that the Media server <b>1</b>, as illustrated in <figref idref="DRAWINGS">FIGS. 4 and 5</figref>, and the Client User Equipment <b>2</b>, as illustrated in <figref idref="DRAWINGS">FIGS. 6 and 7</figref>, may be implemented by physical or logical entities using software functioning in conjunction with a programmed microprocessor or general purpose computer, and/or using an application specific integrated circuit (ASIC). They may further include suitable internal and external storage devices, as well as appropriate communication interfaces, including hardware and software capable of performing the necessary modulating, coding, filtering and the like, as well as demodulating and decoding to process such signals.
The above mentioned and described embodiments are only given as examples and should not be limiting to the present invention. Other solutions, uses, objectives, and functions within the scope of the invention as claimed in the accompanying patent claims should be apparent for the person skilled in the art.
Contents5
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
Every citation, both waysCites: the store holds 39 of 40
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US9560096B2 | Cited by | United States of America | Search report |
| US2004111472A1 | Cites | United States of America | Search report |
| JP2004187170A | Cites | Japan | Applicant |
| US2004236593A1 | Cites | United States of America | Applicant |
| US2005237377A1 | Cites | United States of America | Search report |
| JP2005341075A | Cites | Japan | Applicant |
| US2006291412A1 | Cites | United States of America | Search report |
| US2006291487A1 | Cites | United States of America | Search report |
| WO2008121032A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2008133555A1 | Cites | United States of America | Search report |
| WO2009046758A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2009052339A1 | Cites | United States of America | Search report |
| WO2009092060A2 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2010166159A1 | Cites | United States of America | Search report |
| US2010315484A1 | Cites | United States of America | Applicant |
| US2011051718A1 | Cites | United States of America | Search report |
| US2011252083A1 | Cites | United States of America | Search report |
| US2014009567A1 | Cites | United States of America | Search report |
| US6584493B1 | Cites | United States of America | Search report |
| US6731323B2 | Cites | United States of America | Search report |
| US6760749B1 | Cites | United States of America | Search report |
| US6775247B1 | Cites | United States of America | Search report |
| US6868444B1 | Cites | United States of America | Search report |
| US6894715B2 | Cites | United States of America | Search report |
| US7009971B2 | Cites | United States of America | Search report |
| US7225459B2 | Cites | United States of America | Search report |
| US7613137B2 | Cites | United States of America | Search report |
| US8739234B1 | Cites | United States of America | Search report |
| US20040111472A1 | Cites | United States of America | Search report |
| US20040236593A1 | Cites | United States of America | Applicant |
| US20050237377A1 | Cites | United States of America | Search report |
| US20060291412A1 | Cites | United States of America | Search report |
| US20060291487A1 | Cites | United States of America | Search report |
| US20080133555A1 | Cites | United States of America | Search report |
| US20090052339A1 | Cites | United States of America | Search report |
| US20100166159A1 | Cites | United States of America | Search report |
| US20100315484A1 | Cites | United States of America | Applicant |
| US20110051718A1 | Cites | United States of America | Search report |
| US20110252083A1 | Cites | United States of America | Search report |
| US20140009567A1 | Cites | United States of America | Search report |
| Sakate, H. et al. "Resource Management for Quality of Service Guarantees in Multi-party Multimedia Application." Sixth International Conference on Network Protocols, Proceedings, Oct. 13-16, 1998, pp. 189-196, Austin, TX, USA. | Non-patent | – | Applicant |
| Smith, P.J. et al. "Speaker Selection for Tandem-Free Operation VOIP Conference Bridges." IEEE Workshop Proceedings, Speech Coding, Oct. 6-9, 2002, pp. 120-122. | Non-patent | – | Applicant |
| Sakate, H. et al. “Resource Management for Quality of Service Guarantees in Multi-party Multimedia Application.” Sixth International Conference on Network Protocols, Proceedings, Oct. 13-16, 1998, pp. 189-196, Austin, TX, USA. | Non-patent | – | Applicant |
| Smith, P.J. et al. “Speaker Selection for Tandem-Free Operation VOIP Conference Bridges.” IEEE Workshop Proceedings, Speech Coding, Oct. 6-9, 2002, pp. 120-122. | Non-patent | – | Applicant |
16 members in 7 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 2011050003 | Sweden | W | |
| 2011050003 | Sweden | W | |
| PCTSE2011050003 | – | – | – |
| WO2011SE50003 | – | – | – |
Members16
| Document | Office | Kind | |
|---|---|---|---|
| WO2012093954A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2011353795A1 | Australia | A1 | |
| CN103283205A | China | A | |
| EP2661857A1 | European Patent Office (EPO) | A1 | |
| KR20130140836A | Republic of Korea | A | |
| US2014009567A1 | United States of America | A1 | |
| JP2014507837A | Japan | A | |
| US8994782B2This record | United States of America | B2 | |
| EP2661857A4 | European Patent Office (EPO) | A4 | |
| US2015237086A1 | United States of America | A1 | |
| JP5815739B2 | Japan | B2 | |
| AU2011353795B2 | Australia | B2 | |
| EP2661857B1 | European Patent Office (EPO) | B1 | |
| CN103283205B | China | B | |
| US9560096B2 | United States of America | B2 | |
| KR101718186B1 | Republic of Korea | B1 |
52 transactions on the USPTO file
Allowed without a rejection on record.
- Non-final rejections
- 0
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| Post Issue Communication - Certificate of CorrectionN423 | N423 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Email NotificationEML_NTR | EML_NTR | |
| Email NotificationEML_NTR | EML_NTR | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Notice of DO/EO Acceptance MailedM903 | M903 | |
| FITF set to NO - revise initial settingFTFI | FTFI | |
| Sent to Classification ContractorPGPC | PGPC | |
| Email NotificationEML_NTR | EML_NTR | |
| Additional Application Filing FeesADDFLFEE | ADDFLFEE | |
| Mail-Petition Decision - GrantedMPTGR | MPTGR | |
| Petition Decision - GrantedPTGR | PTGR | |
| Petition EnteredPET. | PET. | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Notice of DO/EO Missing Requirements MailedM905 | M905 | |
| 371 Completion Date371COMP | 371COMP | |
| Oath or Declaration Filed (Including Supplemental)C602 | C602 | |
| Incoming Letter Pertaining to the DrawingsLTDR | LTDR | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Preliminary AmendmentA.PE | A.PE | |
| A statement by one or more inventors satisfying the requirement under 35 USC 115, Oath of the ApplicOATHDECL | OATHDECL | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Cleared by OIPE CSRL194 | L194 | |
| Entity status set to undiscounted (initial default setting or status change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
6 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| Certificate of correctionCC | CC | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 08994782
- Publication, DOCDB
- 8994782
- Publication, EPODOC
- US8994782
- Application
- 13977074
- Application, DOCDB
- 201113977074
- Application, EPODOC
- US201113977074
Titles
- English
- Local media rendering
Patent term adjustment
- A delay
- +82 daysthe office missed an examination deadline
- Net adjustment
- 82 days
Classification
- CPC, 16
- H04L12/1881
- H04N7/147
- H04L65/765
- H04L65/403
- H04L47/2408
- H04M3/568
- H04N7/15
- H04M2201/18
- H04L65/4038
- H04L65/605
- H04L69/24
- H04L67/52
- H04L12/14
- H04L12/16
- H04L12/18
- H04L65/60
- IPC, 13
- H04N7 14
- H04L12 18
- H04L47 2408
- H04L65 403
- H04L65 4038
- H04L65 60
- H04L65 75
- H04L67 52
- H04L69 24
- H04M3 56
- H04N7 15
- H04L12 851
- H04L29 06
- USPC, 15
- 348014130
- 348014010
- 348014070
- 348014080
- 370252000
- 370260000
- 370328000
- 370352000
- 370401000
- 379088130
- 709203000
- 709204000
- 709223000
- 725097000
- 725098000