Patent Description:
In a network, such as a cellular or mobile network, a client device may stream media content to a media production entity. For instance, a professional video camera or a portable electronic device used to cover a live sporting, music, or news event may provide an audiovisual stream in an uplink transmission. Other devices also may live stream audiovisual content to a network, such as a wireless handheld device in the form of a smart phone, a tablet computer or similar device.

In these examples, the client device, as the source of the media stream, is conventionally configured to transmit data with the highest bit rate that the client can generate. Various problems arise with such an uplink media stream in situations where multiple client devices are streaming media content intended for a collaborative media production. One problem is that the network node adapting the streaming will assume that the streaming media content is only coming from the individual client, so each individual streaming link should be optimized individually.

<CIT> relates to the allocation of wireless resources, namely in adjusting the video quality and/or prioritizing different streams according to various inputs, for example, a rating of the video stream.

There exists a need to further improve streaming in situations where multiple clients are streaming data in a collaborative manner.

Disclosed are features that may enhance the quality of experience (QoE) of uplink media streaming services in situations where multiple client devices are streaming content intended for a collaborative production. The disclosed features may improve the QoE specifically when operating on a network where spectrum resources are shared among multiple users, for example in a wireless mobile or cellular network according to any appropriate set of standards such as those promulgated by 3GPP.

According to one aspect of the disclosure, a method of streaming data from an electronic device in a network includes determining that a data streaming session corresponds to an event, wherein the event has a plurality of data streaming sessions; registering the data streaming session to a network assistance service in response to determining that the streaming session corresponds to the event, wherein the network assistance service is configured to provide event-coordinated uplink network assistance data that is based on requirements of the plurality of data streaming sessions, and network resources available for the plurality of data streaming sessions; receiving event-coordinated uplink network assistance data from the network assistance service; and modifying at least one transmission characteristic of the data streaming session based on the event-coordinated uplink network assistance data.

According to one embodiment of the method, the network assistance service is hosted by a DASH-aware network element (DANE).

According to one embodiment of the method, the network assistance service is hosted by a framework for live uplink streaming (FLUS).

According to one embodiment of the method, modifying at least one transmission characteristic of the data streaming session involves at least one of selecting a media codec, selecting a media operating point, selecting a media quality, selecting a data rate, selecting a frame rate, selecting a resolution, selecting a compression level, pausing the data streaming session, or resuming the data streaming session.

According to one embodiment of the method, the method further includes transmitting a request for uplink network assistance for the data streaming session.

According to one embodiment of the method, the method further includes transmitting device-related information to the network assistance service.

According to one embodiment of the method, the device-related information comprises media quality levels available from the electronic device.

According to one embodiment of the method, the network assistance service is implemented in or connected to a base station.

According to one embodiment of the method, the method further includes streaming the data from the data streaming session to a media production element based on the event-coordinated uplink network assistance data.

According to one embodiment of the method, the data streaming session is registered to the network assistance service via a media production service on the network.

According to one embodiment of the method, the data streaming session is registered to the network assistance service via a media production service on a third party network.

According to one embodiment of the method, the method further includes receiving user confirmation, wherein registering the data streaming session to the network assistance service is performed in response to receiving the user confirmation.

According to one embodiment of the method, the method further includes receiving information about the event or network characteristics of the event from the network assistance service.

According to another aspect of the disclosure, a method of providing event-coordinated uplink network assistance by a network assistance service to a plurality of electronic devices during streaming of data from the plurality of electronic devices in a network includes defining an event; receiving a registration request from the plurality of electronic devices for a plurality of data streaming sessions corresponding to the event; registering the plurality of data streaming sessions to the event; determining event-coordinated uplink network assistance data based on requirements of the plurality of data streaming sessions and network resources available for the plurality of data streaming sessions; and transmitting the event-coordinated uplink network assistance data to at least one electronic device of the plurality of electronic devices.

According to one embodiment of the method, the event-coordinated uplink network assistance data comprises at least one of a recommended media codec, a recommended media operating point, a recommended media quality, a recommended data rate, a recommended frame rate, a recommended resolution, a recommended compression level, a pause data stream command, or a resume data stream command.

According to one embodiment of the method, the method further includes receiving an assistance request from the at least one electronic device of the plurality of electronic devices, wherein the event-coordinated uplink network assistance data is transmitted in response to the request.

According to one embodiment of the method, the method further includes receiving device-related information from the at least one electronic device.

According to one embodiment of the method, the device-related information comprises media quality levels available from the at least one electronic device.

According to one embodiment of the method, the method further includes transmitting information about the event or network characteristics of the event to the at least one electronic device of the plurality of electronic devices.

According to one embodiment of the method, the method further includes receiving media optimization information from a media production service, wherein the event-coordinated uplink network assistance data is further determined based on the media optimization information.

According to one embodiment of the method, the media optimization information comprises a priority indication that indicates a priority of the at least one electronic device of the plurality of electronic devices.

Embodiments will now be described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout.

Described below, in conjunction with the appended figures, are various embodiments of systems and methods for conducting wireless radio communications that include event-coordinated network assistance for uplink streaming. The event-coordinated network assistance for uplink streaming may be carried out in an automated manner by the respective services on the network. The event-coordinated network assistance for uplink streaming may improve uplink streaming performance.

<FIG> is a schematic diagram of an exemplary network system <NUM> for implementing the disclosed techniques. It will be appreciated that the illustrated system is representative and other systems may be used to implement the disclosed techniques. The exemplary network system <NUM> includes a media production element <NUM> for data streamed by an uplink from an electronic device <NUM>. The media production element <NUM> typically will be a server, a component of a server, or other device located in and/or managed by a core network of a wireless mobile or cellular network operator. Clients for the received media stream also may be reachable via the operator's core network, or over a wider network such as the Internet.

The electronic device <NUM> transmits data and control signaling via a base station <NUM> or other access point that operates in accordance with a cellular or mobile device network protocol such as, but not limited to a protocol promulgated by the <NUM>rd Generation Project Partnership (3GPP). An exemplary base station <NUM> may be a long term evolution (LTE) base station, often referred to as an enhanced Node B (eNodeB or eNB), or a next generation Node B (gNB). The base station <NUM> services one or more electronic devices, including the electronic device <NUM>. The base station <NUM> may support communications between the electronic devices and a network medium <NUM> through which the electronic devices may communicate with other electronic devices, servers, which can be connected within the operator's core network, or via the Internet, etc. One device that the electronic device <NUM> may communicate with via the network medium <NUM> is the media production element <NUM>. It will be understood that other locations in the network architecture for the media production element <NUM> are possible. As an example of another location of the media production element <NUM>, the media production element <NUM> may be a server on the Internet for streaming services that are not managed by a wireless network operator.

The source of the streamed data may be any client or terminal of the base station <NUM>. An exemplary electronic device <NUM> that can be the source of the streamed data may be a user equipment (UE), as referred to in accordance with the general terminology adopted in 3GPP specifications. The electronic device <NUM> may be any kind of electronic device that provides a media stream via a wireless interface <NUM> (e.g., a 3GPP wireless modem). Exemplary electronic devices <NUM> include, but are not limited to, a smart phone, a tablet computer, a desktop or laptop computer, a video camera, etc. In the case of a video camera, the video camera may be included in a drone, may be operated by a person, may be an autonomous surveillance camera, etc. In one embodiment, the video camera may be a professional style camera used by a news or live event reporting organization. The electronic device <NUM> also may be the source of a contribution feed that is transmitted via an uplink, such as an outside-broadcast van or mobile studio that transmits a contribution feed as an aggregate of several cameras or other device feeds, or as a pre-produced edit and audio mix of an event being covered. In these contribution feed situations, a plurality of electronic devices may also be providing contribution feeds pertaining to the same event. The video camera may include the wireless interface <NUM> or may be operatively connected through a local interface to the wireless interface <NUM> using a cable or electrical connector, for example. In the case of a video camera operated by a news or live event reporting organization, the organization may make an arrangement with the operator of the mobile network to provide enhanced bandwidth capacity to support audiovisual content streaming. For example, the video camera may have access to multiple carriers in the network to deliver content using carrier aggregation. The wireless network could also provide sufficient bandwidth capacity for the media stream in a single carrier or channel.

The media production element <NUM> may include operational components for carrying out wireless communications and other functions of the media production element <NUM>. For instance, the media production element <NUM> may include a control circuit <NUM> that is responsible for overall operation of the media production element <NUM>, including controlling the media production element <NUM> to carry out the operations applicable to the media production element <NUM> and described in greater detail below. The control circuit <NUM> includes a processor <NUM> that executes code <NUM>, such as an operating system and/or other applications. The functions described in this disclosure document and applicable to the media production element <NUM> may be embodied as part of the code <NUM> or as part of other dedicated logical operations of the media production element <NUM>. The logical functions and/or hardware of the media production element <NUM> may be implemented in other manners depending on the nature and configuration of the media production element <NUM>. Therefore, the illustrated and described approaches are just examples and other approaches may be used including, but not limited to, the control circuit <NUM> being implemented as, or including, hardware (e.g., a microprocessor, microcontroller, central processing unit (CPU), etc.) or a combination of hardware and software (e.g., a system-on-chip (SoC), an application-specific integrated circuit (ASIC), etc.).

The code <NUM> and any stored data (e.g., data associated with the operation of the media production element <NUM>) may be stored on a memory <NUM>. The code <NUM> may be embodied in the form of executable logic routines (e.g., a software program) that are stored as a computer program product on a non-transitory computer readable medium (e.g., the memory <NUM>) of the media production element <NUM> and are executed by the processor <NUM>. The functions described as being carried out by the media production element <NUM> may be thought of as methods that are carried out by the media production element <NUM>.

The memory <NUM> may be, for example, one or more of a buffer, a flash memory, a hard drive, a removable media, a volatile memory, a non-volatile memory, a random access memory (RAM), or other suitable device. In a typical arrangement, the memory <NUM> includes a non-volatile memory for long term data storage and a volatile memory that functions as system memory for the control circuit <NUM>. The memory <NUM> is considered a non-transitory computer readable medium.

The media production element <NUM> includes communications circuitry that enables the media production element <NUM> to establish various communication connections. For instance, the media production element <NUM> may have a network communication interface <NUM> to communicate with the network medium <NUM>.

The electronic device <NUM> may include operational components for carrying out various functions of the electronic device <NUM> including wireless communications with the base station <NUM> and any other devices with which the electronic device <NUM> may communicate. One function of the electronic device <NUM> is network assisted uplink streaming and/or event-coordinated network assisted uplink streaming as will be described in greater detail. Among other components, the electronic device <NUM> may include a control circuit <NUM> that is responsible for overall operation of the electronic device <NUM>, including controlling the electronic device <NUM> to carry out the operations described in greater detail below. The control circuit <NUM> includes a processor <NUM> that executes code <NUM>, such as an operating system and/or other applications. The functions described in this disclosure document may be embodied as part of the code <NUM> or as part of other dedicated logical operations of the electronic device <NUM>. The logical functions and/or hardware of the electronic device <NUM> may be implemented in other manners depending on the nature and configuration of the electronic device <NUM>. Therefore, the illustrated and described approaches are just examples and other approaches may be used including, but not limited to, the control circuit <NUM> being implemented as, or including, hardware (e.g., a microprocessor, microcontroller, central processing unit (CPU), etc.) or a combination of hardware and software (e.g., a system-on-chip (SoC), an application-specific integrated circuit (ASIC), etc.).

The code <NUM> and any stored data (e.g., data associated with the operation of the electronic device <NUM>) may be stored on a memory <NUM>. The code <NUM> may be embodied in the form of executable logic routines (e.g., a software program) that are stored as a computer program product on a non-transitory computer readable medium (e.g., the memory <NUM>) of the electronic device <NUM> and are executed by the processor <NUM>. The functions described as being carried out by the electronic device <NUM> may be thought of as methods that are carried out by the electronic device <NUM>.

The electronic device <NUM> includes communications circuitry that enables the electronic device <NUM> to establish various communication connections. For instance, the electronic device <NUM> includes the wireless interface <NUM> over which wireless communications are conducted with the base station <NUM>. Other communications may be established with the electronic device <NUM>, such as Wi-Fi communications, wired connections, etc. The wireless interface <NUM> may include a radio circuit having one or more radio frequency transceivers (also referred to as a modem), at least one antenna assembly, and any appropriate tuners, impedance matching circuits, and any other components needed for the various supported frequency bands and radio access technologies.

Other components of the electronic device <NUM> may include, but are not limited to, user inputs (e.g., buttons, keypads, touch surfaces, etc.), a display, a microphone, a speaker, a sensor, a jack or electrical connector, a rechargeable battery and power supply unit, a SIM card, a motion sensor (e.g., accelerometer or gyro), a GPS receiver, and any other appropriate components. In particular, the electronic device <NUM> may include a camera assembly <NUM> with all appropriate optical and electronic imaging components, as well as components such as a video processor, video and audio encoders, etc..

In some implementations the logic (e.g., as implemented by the control circuit <NUM>) that controls the wireless communication interface <NUM> is a so-called lower layer protocol architecture, and may include a physical layer, a medium access layer, a radio resource control layer, etc. This may be referred to as a modem entity of the electronic device <NUM>. Further, in some implementations, the logic controlling the video media client and corresponding video content encoding, and any related functions, is a so-called higher layer architecture, and may include an IP layer, an application layer, etc. This logic may be referred to as an application entity, and may include an uplink video streaming client. With this separation in layers, in some implementations, the wireless modem entity communication with the cellular base station <NUM> is separated logically from the application entity data communication carried out with the media production element <NUM>.

The network system <NUM> may include a network assistance device <NUM> that can provide network assistance services to any network element, including the electronic device <NUM> and/or the media production element <NUM> during uplink streaming. In an exemplary embodiment, the network assistance device <NUM> can be a DASH-aware network element (DANE). While DASH refers to dynamic adaptive streaming over hypertext transfer protocol (HTTP), the DANE may provide network assistance to uplink streaming that is carried out according to additional and/or other protocols, such as HTTP live streaming (HLS), real time transmission protocol (RTP), real time messaging protocol (RTMP), etc. In another exemplary embodiment, the network assistance device <NUM> can be implemented as part of a 3GPP framework for live uplink streaming (FLUS).

The network assistance device <NUM> may include operational components for carrying out various functions of the network assistance device <NUM> including providing uplink network assistance services to the electronic device <NUM> and/or media production element <NUM>. Among other components, the network assistance device <NUM> may include a control circuit <NUM> that is responsible for overall operation of the network assistance device <NUM>, including controlling the network assistance device <NUM> to carry out the operations described in greater detail below. The control circuit <NUM> includes a processor <NUM> that executes code <NUM>, such as an operating system and/or other applications. The functions described in this disclosure document may be embodied as part of the code <NUM> or as part of other dedicated logical operations of the network assistance device <NUM>. The logical functions and/or hardware of the network assistance device <NUM> may be implemented in other manners depending on the nature and configuration of the network assistance device <NUM>. Therefore, the illustrated and described approaches are just examples and other approaches may be used including, but not limited to, the control circuit <NUM> being implemented as, or including, hardware (e.g., a microprocessor, microcontroller, central processing unit (CPU), etc.) or a combination of hardware and software (e.g., a system-on-chip (SoC), an application-specific integrated circuit (ASIC), etc.).

The code <NUM> and any stored data (e.g., data associated with the operation of the network assistance device <NUM>) may be stored on a memory <NUM>. The code <NUM> may be embodied in the form of executable logic routines (e.g., a software program) that are stored as a computer program product on a non-transitory computer readable medium (e.g., the memory <NUM>) of the network assistance device <NUM> and are executed by the processor <NUM>. The functions described as being carried out by the network assistance device <NUM> may be thought of as methods that are carried out by the network assistance device <NUM>.

The network assistance device <NUM> includes communications circuitry that enables the network assistance device <NUM> to establish various communication connections. For instance, the network assistance device <NUM> includes a network interface <NUM> over which communications are conducted with the media production element <NUM>, the electronic device <NUM> and any other devices via the network medium <NUM>.

In the illustrated embodiment, the network assistance device <NUM> is implemented as a server that is out-of-band of the media delivery path of the content transmitted over the uplink stream from electronic device <NUM> to media production element <NUM>. With an out-of-band architecture it is possible that the communication between the electronic device <NUM> and the network assistance device <NUM> is independent of communication between the electronic device <NUM> and the media production element <NUM>. Therefore, communications between the electronic device <NUM> and the network assistance device <NUM> may occur in a separate communication path and/or data link than the communication path and/or data link used for the uplink steam. As such, the network assistance device <NUM> may be provided at various locations in the network system <NUM>. For example, the network assistance device <NUM> may communicate with the electronic device <NUM> through the base station <NUM> as illustrated, through a different base station, or directly with the electronic device <NUM>. In another embodiment, the functionality of the network assistance device <NUM> may be made part of the media production element <NUM>.

The network system <NUM> also may include a third party media element <NUM>. Data streamed from the electronic device <NUM> to the media production element <NUM> (via the base station <NUM> and its uplink data path) may be delivered to the third party media element <NUM>. In one embodiment, the media production element <NUM> temporarily buffers the streamed data received from the electronic device <NUM> and delivers the data through the network medium <NUM> using an appropriate protocol, the details of which need not be discussed in detail for the purposes of this disclosure. In the case where the electronic device <NUM> is a video camera, the third party media element <NUM> may be part of a television studio that processes, stores and/or redistributes the audiovisual content received from the electronic device <NUM> to media players (e.g., TVs, smart phones, handheld devices, etc.). The content may be consumed by end users in a "tape-delayed" or "live" manner on the media players. In other situations, the third party media element <NUM> may be an end user device, or one of many end user devices that receive the media stream via a broadcast or multicast retransmission from the media production element <NUM> or other device (e.g., a retransmission server connected to the media production element <NUM>).

<FIG> is a high-level architectural diagram of an uplink network assistance system that can be implemented for event-coordinated uplink network assistance that shows some of the system's signal flows and may be referenced in connection with the following descriptions as a representative approach to event-coordinated uplink network assistance.

In one embodiment, to assist in providing an improved quality of experience for the uplink video streaming, a signaling path may be established for network assistance (NA). Therefore, to implement NA functions, a signaling approach between the electronic device <NUM> and the network assistance device <NUM> may be established. In one embodiment this NA signaling approach is established between the electronic device <NUM> NA client <NUM> and the network assistance device <NUM>. In a first direction, the network assistance device <NUM> can send event-coordinated uplink network assistance data to the NA client <NUM> of the electronic device <NUM> as described below. In a second direction, the NA client <NUM> of the electronic device <NUM> can send messages to the network assistance device <NUM>. Such messages can include an event registration request, a request for event-coordinated uplink network assistance data, or device-related information. For example, device-related information can include information about available media quality levels such as frame rates, video and audio resolutions, etc..

In one embodiment, the media production element <NUM> and an uplink client <NUM> of the electronic device share data paths. In a first direction, the media production element <NUM> can send messages to the uplink client <NUM> of the electronic device <NUM>. For example, the media production element <NUM> messages can include requests for segments of the media stream, pause or resume stream commands, among others. In a second direction, the uplink client <NUM> of the electronic device <NUM> can transmit the uplink media stream to the media production element <NUM>. In some embodiments, the media production element <NUM> can process the media stream from the electronic device <NUM> along with media streams from other electronic devices to create a combined media production. This combined media production can be transmitted to a third party media element <NUM>. Third party media element <NUM> can further edit, view, display, or publish the combined media production. It should be appreciated that the described communication paths and functions of the network assistance device <NUM> and the media production element <NUM> can exist interchangeably between the two elements, or the communication paths and functions can exist in a single element.

Certain events may involve multiple electronic devices simultaneously transmitting data in an area where there is a significant amount of electronic devices. In these situations, even if the wireless network may consist of multiple base stations, there is a high likelihood that the uplink data capacity is a limiting factor for the achievable uplink data rate on each of the electronic device to base station links. Also, due to the nature of wireless links causing channel fading, the achievable data rate in the uplink direction will vary over time as well even without considering the total uplink cell load. Using prior art systems, each connected electronic device would try to optimize its own transmission to create as high individual quality as possible without regard to any other electronic device, requiring as much uplink data capacity as available for each client.

Media production element <NUM> operates a media production service and can be configured to combine multiple live media streams of an event, when the multiple live media streams are being streamed by multiple electronic devices. The media production element <NUM> combines media content from a plurality of the streaming electronic devices when they are registered to be within the same streaming event. The media production element <NUM> can produce a combined live video stream or a combined media production using selections and combinations of the streamed content provided by the multiple electronic devices. In these embodiments, the network assistance device <NUM> can determine event-coordinated uplink network assistance data with the goal of prioritizing resource allocation to clients/electronic devices <NUM> that currently are used for the combined media production, and assign less resources to those that are not currently used. Rather than optimizing individual links, the event-coordinated uplink network assistance data is determined by taking the aggregated capacity and the production needs of the media production element <NUM> into account.

Example network architectures of various embodiments are provided in <FIG>. In general, several different architectures can be used to implement the different functions of network assistance and media production, and it should be appreciated that the functions can be implemented as separate nodes or within any other node.

Turning now to <FIG>, the network assistance device <NUM> and the media production element <NUM> are implemented on nodes located on the operator network, but separate from the base station <NUM> (e.g. eNB, or gNB). Both the network assistance device <NUM> and the media production element <NUM> can be in communication with the base station <NUM> and/or directly with the electronic device <NUM>. Network assistance device <NUM> and media production element <NUM> can communicate and provide functionality to the base station <NUM> and also to a second base station <NUM>. Base station <NUM> and second base station <NUM> may or may not provide service to electronic devices corresponding to the same event.

Turning now to <FIG>, the network assistance device <NUM> may be implemented in or connected to the base station <NUM> (e.g. eNB, or gNB), and therefore have information about the scheduling load or other indications of the available uplink transmission capacity. In certain embodiments, the network assistance device <NUM> can be implemented in or connect to a second base station <NUM>, which may or may not provide service to electronic devices corresponding to the same event.

Turning now to <FIG>, the network assistance device <NUM> may be implemented in or connected to the base station <NUM> as described above with respect to <FIG>. Further, the media production element <NUM> may be implemented in or connected to a third party media element <NUM>. In these embodiments, the media production element <NUM> is not a part of the operator network and can be integrated with the third party media element <NUM>.

Regardless of the network architecture arrangement, the event-coordinated uplink network assistance systems and methods can function as described below. A media streaming client <NUM>, residing in a transmitting device (e.g. electronic device <NUM>), can establish an uplink media streaming session to belong to a certain event. Further, one or more additional streaming clients at the event can also establish an uplink media streaming session to belong to the event. Examples of such events are concerts, sports events and news events. This event registration can be accomplished with a network function, for example, with a network assistance device <NUM> for video streaming. In one example, the network assistance device <NUM> can be a DASH aware network element (DANE), where the video streaming session could be initiated. In another example, the network assistance device <NUM> can be a part of a 3GPP framework for live uplink streaming (FLUS). In certain embodiments, the event registrations, creating links between the media streaming electronic devices to the network assistance device <NUM>, can be performed directly between media streaming electronic devices and the network assistance device <NUM>. For example, this event registration process can be performed using DNS lookup to identify the IP address of the relevant network assistance device <NUM>, or indirectly via another node such as the media production element <NUM>.

In certain embodiments, the network assistance device <NUM> and the media production element <NUM> may be defined as different entities, but they could as well be the same network entity, meaning, for example, that a registration performed with respect to a network assistance device <NUM> directly and this network assistance device <NUM> may also include a media production element <NUM>.

When the electronic device <NUM> is registered/initiated into an event, the electronic device <NUM> will be able to receive event-coordinated uplink network assistance data that is specific to the event, from the network assistance device <NUM>. This event specific information can include information related to its own streaming session, and can also include information related to the total event in which multiple electronic devices can be connected. Such information could include but is not limited to information about the number of electronic devices registered to the event, the total allocated network resources for the event, or information related to the radio link performance on its established link compared to other client-to-network links. Such information can be provided regularly by the network assistance server in a request-response fashion, where the electronic device <NUM> receives event information from the network assistance device <NUM> based on requesting the information. The information may also be "pushed" to the electronic device <NUM> from the network assistance device <NUM>, that is, be delivered without an explicit request from the electronic device <NUM>. When the electronic device <NUM> receives such event specific information it may adapt its transmissions of content in order to optimize the overall combined media production and/or to optimize the wireless network load and/or to reduce the energy consumption in the electronic device <NUM>.

In certain embodiments, the event-coordinated uplink network assistance data is shared once during the registration. In other embodiments, the event-coordinated uplink network assistance data can be shared multiple times. For example the network assistance device <NUM> can transmit assistance information with a certain periodicity, or the network assistance device <NUM> can respond with assistance information upon receiving information requests from an electronic device <NUM>. The event-coordinated uplink network assistance data could provide the electronic device <NUM> with additional information for the streaming session that enables an improved streaming performance for the individual electronic device <NUM> and for the total group of electronic devices also registered to the event. For example, the electronic device <NUM> may use the event-coordinated uplink network assistance data to adapt its transmission during the streaming event. Such adaptation could be to increase or decrease the streaming video resolution and/or frame rate, selecting a media codec, selecting a media operating point, selecting a media quality, selecting a data rate, selecting a compression level, pausing the data streaming session, or resuming the data streaming session. The event-coordinated uplink network assistance data may depend on the number of connected electronic devices, e.g. within a given geographic area or connected to a certain base station, or registered to a certain event. As a benefit for the electronic device <NUM>, this may reduce the device energy consumption during streaming. In certain embodiments, another incentive to register to the event production could be to gain access to the final combined media production, and/or receive a revenue share if the combined media production is published.

Further, while the electronic device <NUM> is registered and active in a streaming event, the event-coordinated uplink network assistance data received by the electronic device <NUM> can also include uplink transmission commands or recommendations from the network assistance device <NUM> coordinating the event. Such uplink transmission commands or recommendations can be received as part of a request-response procedure. Specifically, the transmission commands or recommendations are executed to coordinate multiple uplink streaming electronic devices to produce a combined media production. Such coordination could consist of providing the electronic device <NUM> with requests/recommendations on its streaming transmissions, in order to enable the network assistance device <NUM>, media production element <NUM>, and/or third party media element <NUM> to optimize the combined media production. In certain situations, not all uplink media streams registered to an event are individually as important, and therefore some of the uplink media streams can, for example, at certain times be reduced in its media rate or paused. However, for the media production in the third party media element <NUM> or the media production element <NUM>, it is still important to see as many media streams as possible in order to quickly respond to changes in the media streams. The media production element <NUM> or third party media element <NUM> can transmit media optimization information to the network assistance device <NUM> to instruct the network assistance device <NUM> the priority level of each media stream. The network assistance device <NUM> can continuously coordinate the quality levels, pause, or resume for each stream to give the media production element <NUM> or the third party media element <NUM> the best possible input for the production, but still reduce the network load.

Certain embodiments also include electronic device <NUM> to network assistance device <NUM> information sharing. In these embodiments, the electronic device <NUM> can provide device-related information to the network assistance device <NUM>. The device-related information can include information about the electronic device's <NUM> available media quality levels. This can include available frame rates, video resolutions, audio resolutions, etc. This information can be provided to the network assistance device <NUM> so that the network assistance device <NUM> can select or recommend between available media quality levels. This communication can occur when the electronic device <NUM> registers its uplink data stream to the network assistance device <NUM> as part of an event.

In addition to providing requests/recommendations to the electronic device <NUM> regarding its streaming transmissions, the network assistance device <NUM> can request, from other network functions including radio access functions, suitable priority in scheduling and/or other network resource allocation. For example, if a network assistance device <NUM> detects that electronic devices registered to an event require additional resources, e.g. radio access capacity, in order to provide media streams of an acceptable quality as determined by the media production element <NUM>, resources can be diverted from other traffic. In other embodiments a network assistance device <NUM> may provide information indicative of a priority for a given electronic device <NUM> to other network functions. In this manner, network assistance device <NUM> can affect prioritization of certain events' data streams over other events' data streams or over other unrelated traffic in the network. Also, network assistance device <NUM> may affect prioritization of data related to certain electronic devices compared to other electronic devices. In certain embodiments the network assistance device <NUM> or any other network function may provide information to an electronic device <NUM> participating in an event about intended or given network priority or a change of network priority. Such information provided to the electronic device <NUM> may indicate to the electronic device <NUM> whether the event participation affects the data priority for the device within the network. Such information may be indicative of a time period for such priority change, e.g. during how long time a change in priority is valid.

The combined media production can be constructed by selecting segments provided by the media streams from different electronic devices over time. In certain embodiments, the media production element <NUM> constructs the combined media production. In other embodiments, the third party media element <NUM> constructs the combined media production. The media production element <NUM> and/or third party media element <NUM> can assign priorities to individual streams based on whether the individual stream is currently being used as part of the combined media production, whether the stream may be used in the near future as part of the combined media production, or whether the individual stream is not currently needed. Such priorities can be communicated to the network assistance device <NUM> so that the network assistance device <NUM> can use these priorities in determining the event-coordinated uplink network assistance data to be sent to the corresponding electronic device <NUM>. In an example, if the segments currently selected for the combined media production are being transmitted from one electronic device <NUM> at a given point of time, the network assistance device <NUM> can during that time instruct one or more other electronic devices to transmit uplink segments in medium to low quality and or frame rate since it may want to select any of these electronic devices for an upcoming media segment. Further, the network function may instruct one or more other electronic devices to pause the streaming or not to transmit uplink media segments for a given period of time, since the network assistance device <NUM> may currently not consider any of their uplink media segments to be important or suitable for use in the combined media production. The selection of quality/rate levels and/or transmission pauses can be decided based on both the media production element's <NUM> prioritization of media streams and estimations or measurements of the uplink capacity as a whole.

Turning now to <FIG>, an embodiment of a method for streaming data from an electronic device at an event is described. At reference numeral <NUM>, the electronic device <NUM> determines that a data streaming session corresponds to an event, wherein the event has a plurality of data streaming sessions. At reference numeral <NUM>, the electronic device <NUM> registers the data streaming session to a network assistance service hosted on a network assistance device <NUM> in response to determining that the streaming session corresponds to the event. The network assistance service is configured to provide event-coordinated uplink network assistance. At reference numeral <NUM>, the electronic device <NUM> receives event-coordinated uplink network assistance data from the network assistance service. At reference numeral <NUM>, the electronic device <NUM> modifies at least one transmission characteristic of the data streaming session based on the event-coordinated uplink network assistance data.

Turning now to <FIG>, an embodiment for providing event-coordinated uplink network assistance by a network assistance service to a plurality of electronic devices is described. At reference numeral <NUM>, the network assistance device <NUM> defines an event. The event can correspond to a real-life event such as a sporting event, a concert, a dramatic performance, or a news event, among others. At reference numeral <NUM>, the network assistance device <NUM> receives a registration request from a plurality of electronic devices for a plurality of data streaming sessions corresponding to the event. At reference numeral <NUM>, the network assistance device <NUM> registers the plurality of data streaming sessions to the event. At reference numeral <NUM>, the network assistance device <NUM> determines event-coordinated uplink network assistance data based on requirements of the plurality of data streaming sessions and network resources available for the plurality of data streaming sessions. The event-coordinated uplink network assistance data is determined with the goal of optimizing the combined media production by providing higher priority streams at higher qualities while also keeping the total resource usage within the limitations of the available resources. The event-coordinated uplink network assistance data can include at least one of a recommended media codec, a recommended media operating point, a recommended media quality, a recommended data rate, a recommended frame rate, a recommended resolution, a recommended compression level, a pause data stream command, or a resume data stream command. At reference numeral <NUM>, the network assistance device <NUM> transmits the event-coordinated uplink network assistance data to at least one electronic device <NUM> of the plurality of electronic devices.

Claim 1:
A method of streaming data from an electronic device (<NUM>) in a network based on event-coordinated uplink network assistance data received from a network assistance device, comprising:
determining that a data streaming session corresponds to a real-life event, wherein a plurality of data streaming sessions pertain to the real-life event;
registering the data streaming session to a network assistance service hosted by the network assistance device in response to determining that the streaming session corresponds to the real-life event, wherein the network assistance service is configured to provide event-coordinated uplink network assistance data that is based on requirements of the plurality of data streaming sessions, and network resources available for the plurality of data streaming sessions;
receiving the event-coordinated uplink network assistance data from the network assistance device; and
modifying at least one transmission characteristic of the data streaming session based on the event-coordinated uplink network assistance data.