Method and apparatus for dynamic policy selection for media uplink streaming in a 5g media streaming network
By receiving and processing media entry point and operation point parameters on the 5GMS client, selecting and sending service descriptions, and selecting dynamic policies based on service operation point parameters, the problem of lack of dynamic policy selection for uplink streaming in the 5GMS architecture is solved, and flexible and efficient streaming session establishment is achieved.
Patent Information
- Application Number
- CN202480004462.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-01
- Filing Date
- 2024-05-15
- Publication Date
- 2025-05-30
AI Technical Summary
The existing 5G media streaming architecture does not provide a dynamic policy selection solution for service operation points in uplink streaming.
Receive media entry point and operation point parameters through the 5GMS client, determine multiple available service descriptions, send these service descriptions to the 5GMS application, receive the selected service description, and select dynamic policies based on the service operation point parameters associated with the selected service description, and finally establish an uplink streaming session with the 5GMS application function.
The dynamic policy selection for media uplink streaming in 5GMS network is realized, and the technical gap in the lack of dynamic policy selection in uplink streaming is solved, and the flexibility and efficiency of streaming is improved.
Smart Images

Figure CN120077625A_ABST
Abstract
Description
Cross - Reference to Related Applications
[0001] This application claims the benefit of priority to U.S. Provisional Application No. 63 / 466,615, filed on May 15, 2023, and U.S. Application No. 18 / 651,973, filed on May 1, 2024, in the United States Patent and Trademark Office. The disclosures of the above - mentioned U.S. Provisional Application and U.S. Application are hereby incorporated by reference in their entirety. Technical Field
[0002] This disclosure generally relates to fifth - generation (5G) media streaming (5GMS), and in particular, to a method for dynamic policy selection for media uplink streaming in a 5GMS network. th Generation, 5G) media streaming (5G Media Streaming, 5GMS), and particularly, to a method for dynamic policy selection for media uplink streaming in a 5GMS network. Background Art
[0003] 3GPP (The 3rd Generation Partnership Project, 3GPP) 26.501 defines a general 5GMS media architecture. Such an architecture defines how a client can stream content from a 5GMS application provider in a streaming format through the 5GMS architecture for both downlink and uplink.
[0004] 3GPP has defined the use of dynamic policies for downlink streaming. In particular, recent work items have involved using service operation points for this application. However, it does not provide a solution for using service operation points in uplink streaming.
[0005] The architecture provides an entry point for the format by means of service access information provided by M8 or M5. The entry point is a document that defines the streaming format or a pointer to the document. Recently, 3GPP has considered supporting the use of service - operation - point - based dynamic policies for downlink streaming. However, the uplink streaming scenario has not been addressed. Summary of the Invention
[0006] According to one or more embodiments, a method includes: receiving, by a fifth-generation media streaming (5GMS) client for an uplink streaming session, a media entry point and one or more operation point parameters; determining, by the 5GMS client, a plurality of available service descriptions of the media entry point; sending, from the 5GMS client to a 5GMS application, the plurality of available service descriptions; receiving, by the 5GMS client from the 5GMS application, a selected service description from the plurality of available service descriptions; selecting, by the 5GMS client, a dynamic policy based on a plurality of service operation point parameters associated with the selected service description; sending, by the 5GMS client to a 5GMS application function (AF), the dynamic policy and the plurality of service operation point parameters associated with the selected service description; and establishing an uplink streaming session with the 5GMS AF.
[0007] According to one or more embodiments, a user equipment (UE) includes: at least one memory configured to store program code; and at least one processor configured to read the program code and operate as indicated by the program code, the program code including: first reception code configured to cause the at least one processor to: receive, by a fifth-generation media streaming (5GMS) client for an uplink streaming session, a media entry point and one or more operation point parameters; determination code configured to cause the at least one processor to: determine, by the 5GMS client, a plurality of available service descriptions of the media entry point; first transmission code configured to cause the at least one processor to: send, from the 5GMS client to a 5GMS application, the plurality of available service descriptions; second reception code configured to cause the at least one processor to: receive, by the 5GMS client from the 5GMS application, a selected service description from the plurality of available service descriptions; selection code configured to cause the at least one processor to: select, by the 5GMS client, a dynamic policy based on a plurality of service operation point parameters associated with the selected service description; second transmission code configured to cause the at least one processor to: send, by the 5GMS client to a 5GMS application function (AF), the dynamic policy and the plurality of service operation point parameters associated with the selected service description; and establishment code configured to cause the at least one processor to: establish an uplink streaming session with the 5GMS client.
[0008] According to one or more embodiments, a non-transitory computer-readable medium has instructions stored therein that, when executed by a processor, cause the processor to perform a method comprising the following operations: receiving, by a fifth-generation media streaming (5GMS) client for an uplink streaming session, a media entry point and one or more operation point parameters; determining, by the 5GMS client, multiple available service descriptions for the media entry point; sending, from the 5GMS client to a 5GMS application, the multiple available service descriptions; receiving, by the 5GMS client from the 5GMS application, a selected service description from the multiple available service descriptions; selecting, by the 5GMS client, a dynamic policy based on multiple service operation point parameters associated with the selected service description; sending, by the 5GMS client to a 5GMS application function (AF), the dynamic policy and the multiple service operation point parameters associated with the selected service description; and establishing an uplink streaming session with the 5GMS AF. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Additional features, properties, and various advantages of the disclosed subject matter will become more apparent from the following detailed description and the accompanying drawings, in which:
[0010] Figure 1 is a diagram of an environment in which the methods, apparatuses, and systems described herein can be implemented, according to an embodiment.
[0011] Figure 2 is Figure 1 a block diagram of example components of one or more devices.
[0012] Figure 3 is a diagram of a media architecture for media uplink streaming, according to an embodiment.
[0013] Figure 4 is a call flow for an uplink for operation point processing, according to an embodiment.
[0014] Figure 5 is a flowchart of an example process for an uplink for operation point processing. DETAILED DESCRIPTION
[0015] Example embodiments are described in detail below with reference to the accompanying drawings. The same reference numerals in different drawings may identify the same or similar elements.
[0016] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the exact forms disclosed. Modifications and variations can be made in light of the above disclosure, or can be obtained from practice of the implementations. In addition, one or more features or components of one embodiment can be incorporated into another embodiment (or one or more features of another embodiment) or combined with another embodiment (or one or more features of another embodiment). Additionally, in the flowcharts and descriptions of operations provided below, it should be understood that one or more operations can be omitted, one or more operations can be added, one or more operations can be performed simultaneously (at least in part), and the order of one or more operations can be switched.
[0017] It will be apparent that the systems and / or methods described herein can be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specific control hardware or software code used to implement these systems and / or methods does not limit the implementations. Accordingly, the operations and behavior of the systems and / or methods are described herein without reference to specific software code—it should be understood that the software and hardware can be designed to implement the systems and / or methods based on the description herein.
[0018] Even though particular combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features can be combined in ways not specifically recited in the claims and / or not disclosed in the specification. Although each dependent claim listed below can directly refer to only one claim, the disclosure of possible implementations includes the combination of each dependent claim with every other claim in the claim set.
[0019] Unless expressly so described, elements, acts, or instructions used herein should not be construed as critical or essential. Additionally, as used herein, the articles “a” and “an” are intended to include one or more items and can be interchanged with “one or more.” The term “one” or similar language is used when it is intended that there be only one item. Further, as used herein, the terms “has,” “have,” “having,” “include,” “including,” etc. are intended to be open-ended terms. Additionally, unless otherwise expressly stated, the phrase “based on” is intended to mean “at least partially based on.” Moreover, expressions such as “at least one of [A] and [B]” or “at least one of [A] or [B]” should be understood to include only A, only B, or both A and B.
[0020] Throughout the specification, references to "one embodiment", "an embodiment", or similar language mean that a particular feature, structure, or characteristic described in connection with the indicated embodiment is included in at least one embodiment of the present solution. Thus, the phrases "in one embodiment", "in an embodiment", and similar language throughout the specification may, but do not necessarily, all refer to the same embodiment.
[0021] Furthermore, the described features, advantages, and characteristics of the present disclosure may be combined in any suitable manner in one or more embodiments. Based on the description herein, those skilled in the relevant art will recognize that the present disclosure may be practiced without one or more specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the present disclosure.
[0022] Figure 1 is a diagram of an environment 100 according to an embodiment in which the methods, apparatuses, and systems described herein may be implemented. As Figure 1 shown, the environment 100 may include a user device 110, a platform 120, and a network 130. The devices of the environment 100 may be interconnected via a wired connection, a wireless connection, or a combination of a wired connection and a wireless connection.
[0023] The user device 110 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with the platform 120. For example, the user device 110 may include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a smart speaker, a server, etc.), a mobile phone (e.g., a smartphone, a wireless phone, etc.), a wearable device (e.g., a pair of smart glasses or a smart watch), or a similar device. In some implementations, the user device 110 may receive information from the platform 120 and / or send information to the platform 120.
[0024] The platform 120 includes one or more devices as described elsewhere herein. In some implementations, the platform 120 may include a cloud server or a group of cloud servers. In some implementations, the platform 120 may be designed to be modular such that software components can be swapped in or out according to specific needs. Thus, the platform 120 can be easily and / or quickly reconfigured for different uses.
[0025] In some implementations, as shown, platform 120 may be hosted in a cloud computing environment 122. It should be noted that although the implementations described herein describe platform 120 as being hosted in cloud computing environment 122, in some implementations, platform 120 may not be cloud-based (i.e., may be implemented outside of a cloud computing environment) or may be partially cloud-based.
[0026] Cloud computing environment 122 includes an environment that hosts platform 120. Cloud computing environment 122 may provide services such as computing, software, data access, storage, etc., which do not require an end user (e.g., user device 110) to know the physical location and configuration of the systems and / or devices that host platform 120. As shown, cloud computing environment 122 may include a set of computing resources 124 (collectively referred to as "computing resources 124" and individually referred to as "computing resource 124").
[0027] Computing resources 124 include one or more personal computers, workstation computers, server devices, or other types of computing and / or communication devices. In some implementations, computing resources 124 may host platform 120. Cloud resources may include: computing instances executed in computing resources 124, storage devices provided in computing resources 124, data transmission devices provided by computing resources 124, etc. In some implementations, computing resources 124 may communicate with other computing resources 124 via a wired connection, a wireless connection, or a combination of a wired connection and a wireless connection.
[0028] As Figure 1 further shown, computing resources 124 include a set of cloud resources, such as one or more applications ("Application, APP") 124-1, one or more virtual machines ("Virtual Machine, VM") 124-2, virtualized storage ("Virtualized Storage, VS") 124-3, one or more hypervisors ("Hypervisor, HYP") 124-4, etc.
[0029] Application 124-1 includes one or more software applications that may be provided to user device 110 and / or platform 120 or may be accessed by user device 110 and / or platform 120. Application 124-1 may eliminate the need to install and execute software applications on user device 110. For example, application 124-1 may include software associated with platform 120 and / or any other software that can be provided via cloud computing environment 122. In some implementations, one application 124-1 may send information to / receive information from one or more other applications 124-1 via virtual machine 124-2.
[0030] The virtual machine 124-2 includes a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. The virtual machine 124-2 can be a system virtual machine or a process virtual machine, depending on the usage and correspondence of the virtual machine 124-2 to any real machine. The system virtual machine can provide a complete system platform that supports the execution of a complete operating system (OS). The process virtual machine can execute a single program and can support a single process. In some implementations, the virtual machine 124-2 can execute on behalf of a user (e.g., the user device 110) and can manage the infrastructure of the cloud computing environment 122, such as data management, synchronization, or long-duration data transfer.
[0031] The virtualized storage device 124-3 includes one or more storage systems and / or one or more devices that use virtualization technology within the storage system or device of the computing resources 124. In some implementations, within the context of a storage system, the types of virtualization can include block virtualization and file virtualization. Block virtualization can refer to the abstraction (or separation) of logical storage from physical storage, such that the storage system can be accessed without considering the physical storage or heterogeneous structure. The separation can allow the administrator of the storage system flexibility in how the administrator manages the storage for end users. File virtualization can eliminate the dependence between the data accessed at the file level and the location where the file is physically stored. This can enable optimizing the performance of storage usage, server consolidation, and / or seamless file migration.
[0032] The hypervisor 124-4 can provide hardware virtualization technology that allows multiple operating systems (e.g., “guest operating systems”) to execute simultaneously on a host computer such as the computing resources 124. The hypervisor 124-4 can present a virtual operating platform to the guest operating systems and can manage the execution of the guest operating systems. Multiple instances of various operating systems can share the virtualized hardware resources.
[0033] Network 130 includes one or more wired networks and / or wireless networks. For example, network 130 may include a cellular network (e.g., a fifth-generation (5G) network, a Long-Term Evolution (LTE) network, a third-generation (3G) network, a Code Division Multiple Access (CDMA) network, etc.), a Public Land Mobile Network (PLMN), a Local Area Network (LAN), a Wide Area Network (WAN), a Metropolitan Area Network (MAN), a telephone network (e.g., a Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber-optic-based network, etc., and / or a combination of these or other types of networks.
[0034] Figure 1 The number and arrangement of the devices and networks shown are provided as an example. In practice, compared with Figure 1 the devices and / or networks shown, there may be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks. Additionally, Figure 1 two or more of the devices shown may be implemented within a single device, or Figure 1 the single device shown may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (e.g., one or more devices) of environment 100 may perform one or more functions described as being performed by another set of devices of environment 100.
[0035] Figure 2 is Figure 1 a block diagram of example components of one or more of the devices. Device 200 may correspond to user device 110 and / or platform 120. As Figure 2 shown, device 200 may include a bus 210, a processor 220, a memory 230, a storage component 240, an input component 250, an output component 260, and a communication interface 270.
[0036] The bus 210 includes components that permit communication among the components of the device 200. The processor 220 is implemented in hardware, firmware, or a combination of hardware and software. The processor 220 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or another type of processing component. In some implementations, the processor 220 includes one or more processors that can be programmed to perform functions. The memory 230 includes random access memory (RAM), read only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) that stores information and / or instructions for use by the processor 220.
[0037] The storage component 240 stores information and / or software related to the operation and use of the device 200. For example, the storage component 240 can include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cassette tape, a magnetic tape, and / or another type of non-transitory computer-readable medium, as well as a corresponding drive.
[0038] The input component 250 includes components that permit the device 200 to receive information, such as via a user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and / or a microphone). Additionally or alternatively, the input component 250 can include sensors for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and / or an actuator). The output component 260 includes components that provide output information from the device 200 (e.g., a display, a speaker, and / or one or more light-emitting diodes (LEDs)).
[0039] The communication interface 270 includes transceiver-like components (e.g., a transceiver and / or separate receivers and transmitters) that enable the device 200 to communicate with other devices, for example, via a wired connection, a wireless connection, or a combination of a wired connection and a wireless connection. The communication interface 270 may allow the device 200 to receive information from and / or provide information to another device. For example, the communication interface 270 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, etc.
[0040] The device 200 may perform one or more of the processes described herein. The device 200 may perform these processes in response to the processor 220 executing software instructions stored by a non-transitory computer-readable medium such as the memory 230 and / or the storage component 240. The computer-readable medium is defined herein as a non-transitory memory device. The memory device includes a memory space within a single physical storage device or a memory space distributed across multiple physical storage devices.
[0041] Software instructions may be read into the memory 230 and / or the storage component 240 from another computer-readable medium or from another device via the communication interface 270. The software instructions stored in the memory 230 and / or the storage component 240, when executed, may cause the processor 220 to perform one or more of the processes described herein. Additionally or alternatively, hardwired circuitry may be used in place of or in combination with the software instructions to perform one or more of the processes described herein. Accordingly, the implementations described herein are not limited to any particular combination of hardware circuitry and software.
[0042] Figure 2 The number and arrangement of the components shown are provided as an example. In practice, compared to the Figure 2 components shown, the device 200 may include additional components, fewer components, different components, or components arranged differently. Additionally or alternatively, a set of components of the device 200 (e.g., one or more components) may perform one or more functions described as being performed by another set of components of the device 200.
[0043] The 5G Media Streaming (5GMS) system can be an assembly of application functions, application servers, and interfaces from the 5G media streaming architecture, which supports downlink media streaming services or uplink media streaming services, or both downlink media streaming services and uplink media streaming services. The 5GMS application provider can include a party that interacts with the functions of the 5GMS system and provides 5GMS-aware applications that interact with the functions of the 5GMS system. The 5GMS-aware application can refer to an application in a User Equipment (UE) provided by the 5GMS application provider, which contains the service logic of the 5GMS application service and interacts with other 5GMS clients and network functions via the interfaces and Application Programming Interfaces (APIs) defined in the 5GMS architecture. The 5GMS client can refer to the following UE function, which is either a 5GMS downlink (5GMSd) client or a 5GMS uplink (5GMSu) client, or both a 5GMS downlink client and a 5GMS uplink client.
[0044] The 5GMSd client can refer to the following UE function, which at least includes a media session processor for downlink streaming and a 5G media streaming player, and can be accessed through a clearly defined interface / API. The 5GMSu client can refer to the initiator of the 5GMSu service that can be accessed through a clearly defined interface / API. The 5GMSu media flusher can refer to the following UE function, which enables the uplink delivery of streaming media content to the application server (AS) function of the 5GMS application provider and interacts with both the 5GMSu-aware application for media capture and subsequent streaming and the media session processor for media session control.
[0045] Dynamic policy may refer to dynamic policy and charging control (PCC) rules for uplink or downlink application flows during a media session. An egest session may refer to an uplink media streaming session from a 5GMS AS toward a 5GMSu application provider. An ingest session may refer to a session that uploads media content to a 5GMSd AS. A policy template may refer to a set of (semi-static) policy or control function (PCF) / network exposure function (NEF) API parameters that are specific to the 5GMS application provider and also the generated PCC rules. A policy template ID may identify the desired policy template, which the 5GMSd application function (AF) uses to select the appropriate PCF / NEF API for the 5G system so that the PCF can compile the desired PCC rules. A media player entry may refer to a document defining a media presentation or a pointer to such a document (e.g., a Media Presentation Description (MPD) of DASH (Dynamic Adaptive Streaming over HTTP, DASH) or a Uniform Resource Locator (URL) of a video clip file). A media streamer entry may refer to a pointer (e.g., in the form of a URL) defining an entry point for an uplink media streaming session. A presentation entry may refer to a document defining an application presentation, such as an HTML5 (Hyper Text Markup Language 5, HTML5) document or a pointer to such a document.
[0046] A provisioned session may refer to a data structure provided by a 5GMSd application provider at an interface (M1d) that configures 5GMSd features related to a set of 5GMSd-aware applications. A 5GMSd media player may refer to a UE function that enables playback and rendering of media presentations based on media play entries and opens some basic controls such as play, pause, seek, and stop to 5GMSd-aware applications. Server access information may refer to a set of parameters and addresses (including 5GMSd AF addresses and 5GMSd AS addresses) required to activate the reception of a streaming session. Service and content discovery may refer to functions and processes provided by a 5GMSd application provider to a 5GMS-aware application that enable end users to discover available streaming services and content offerings and select specific services or content items for access. Service announcements may refer to a process conducted between a 5GMS-aware application and a 5GMS application provider that enables a 5GMS-aware application to obtain the information directly or in the form of a reference to 5GMS service access information.
[0047] A third party player may refer to a portion of an application that uses the API to exploit selected 5GMSd functionality to playback media content. A third party uplink streamer may refer to a portion of an application that uses the API to exploit selected 5GMSu functionality to capture and stream media content.
[0048] Figure 3 300 is a diagram of a media architecture for media streaming according to an embodiment. A 5GMS application provider 301 may use 5GMS for uplink streaming services. In one or more examples, the streaming service may be a real-time video streaming session using a social media platform. The 5GMS application provider 301 may be implemented as a server. The 5GMS application provider 301 may provide a 5GMS-aware application 302 on a UE 303 to utilize a 5GMS client 304 and network functions using interfaces and APIs defined in 5GMS. A 5GMS application server (AS) 305 may be an AS dedicated to 5G media uplink streaming. The 5GMS client 304 may be an internal function of the UE 303 dedicated to 5G media streaming.
[0049] The 5GMS Application Function (AF) 306 and the 5GMS AS 305 can be Data Network (DN) 307 functions. The 5GMS AF 306 can be implemented as a server. The functions in the trusted DN can be trusted by the operator network. Thus, the AF in the trusted DN can communicate directly with some or all of the 5G core functions. The functions in the external DN can communicate with the 5G core functions only via the Network Exposure Function (NEF) 308 using the link 320. The NEF 308 facilitates secure access to the open network services and capabilities of the 5G network.
[0050] The media architecture 300 can connect the relevant network functions for 5G media streaming and the internal functions of the UE 303. Thus, the media architecture 300 can include many functions. For example, the 5GMS client 304 on the UE 303 can be the initiator of the 5GMS services that can be accessed through the interface / API. The 5GMS client 304 can include two sub-functions: the media session processor 309 and the media flusher 310. The media session processor 309 can communicate with the 5GMS AF 306 to establish, control, and support the delivery of the media session. The media session processor 309 can expose the API that can be used by the 5GMS-aware application 302. The media flusher 310 can communicate with the 5GMS AS 305 to stream the media content, and provide services to the 5GMS-aware application 302 for media capture and streaming and to the media session processor 309 for media session control. The 5GMS-aware application 302 can control the 5GMS client 304 by implementing the logic specific to the external application or content service provider and enabling the establishment of the media session. For example, the 5GMS AS 305 can host the 5G media functions and can be implemented as a Content Delivery Network (CDN). The 5GMS application provider 301 can be an external application or content-specific media function (such as media storage, consumption, transcoding, and redistribution) that streams media from the 5GMS-aware application 302 using the 5GMS. The 5GMS AF 306 can provide various control functions to the media session processor 309 on the UE 303 and / or to the 5GMS application provider 301. The 5GMS AF 306 can relay or initiate requests processed by different Policy Control Functions (PCF) 311, or interact with other network functions.
[0051] The media architecture 300 may include many different interfaces. For example, the link 321 may be related to M1, where M1 may be a 5GMS provisioning API opened by the 5GMS AF 306 to provision the use of the media architecture 300 and obtain feedback. The link 322 may be related to M2, where M2 may be a 5GMS publishing API opened by the 5GMS AS 305 and used when the 5GMS AS 305 in a trusted DN such as the DN 307 is selected to receive content for streaming services. The link 323 may be related to M3, where M3 may be an internal API for exchanging information about content hosted on the 5GMS AS 305 within a trusted DN such as the DN 307. The link 324 may be related to M4, where M4 may be a media link streaming API opened by the 5GMS AS 305 to the media streamer 310 to stream media content. The link 325 may be related to M5, where M5 may be a media session handling API opened by the 5GMS AF 305 to the media session processor for media session handling, control, and assistance - also including appropriate security mechanisms (e.g., authorization and authentication). The link 326 may be related to M6, where M6 may be a UE 303 media session handling API opened by the media session processor 309 to the 5GMS-aware application 302 to utilize 5GMS capabilities. The link 327 may be related to M7, where M7 may be a UE media streamer API opened by the media streamer 310 to the 5GMS-aware application 302 and the media session processor 309 to utilize the media streamer 310. The link 328 may be related to M8, where M8 may be an application API for exchanging information between the 5GMS-aware application 302 and the 5GMS application provider 301, for example, to provide service access information to the 5GMS-aware application 302. The UE 303 may also be implemented in a self-contained manner such that the interfaces M6 326 and M7 327 are not opened.
[0052] Figure 3 The architecture shown in FIG. defines how a client can stream content from a 5GMS application provider through the 5GMS architecture using a streaming format. The architecture provides an entry point for this format by means of service access information provided by M8 or M5. The entry point is a document that defines the streaming format or a pointer to the document. Recently, 3GPP has considered using one or more formats to add multiple entry points for the same service. In this case, the service operation information includes information about these entry points. The client selects a format and uses the corresponding entry point to start streaming the content.
[0053] Embodiments of the present disclosure relate to dynamic policy selection for media streaming in a 5G network.
[0054] According to one or more embodiments, service operation points are added to the streaming access parameters for uplink streaming, as shown in Table 1. Table 1
[0055] This addition allows one or more media streaming parameters to be provided to the client as part of the service access information, enabling the client to associate the service description of the media entry point with a pre-provisioned policy template.
[0056] Figure 4 An example call flow 400 for using service descriptions and service operation points in an uplink 5G media streaming service according to one or more embodiments is shown. In one or more examples, the 5GMSu-aware application corresponds to the 5GMS-aware application 302, the 5GMSu client corresponds to the 5GMS client 304, the 5GMSu AF corresponds to the 5GMS AF 306, the 5GMSu AS corresponds to, and the 5GMSu application provider corresponds to the 5GMS application provider 301.
[0057] In operation 402, a policy template is pre-provisioned and various configurations are performed in the 5GMSu AF.
[0058] In operation 404, the 5GMSu-aware application obtains service access information via M8u through the 5GMSu application provider or via M5u through the 5GMSu client and the 5GMSu AF. Table 2 shows example parameters of the service access information: Table 2
[0059] In operation 406, the 5GMSu client obtains the media entry point from the 5GMSu AS.
[0060] In operation 408, the 5GMSu client processes the media entry point and finds the available service description.
[0061] In operation 410, the 5GMSu client notifies the 5GMSu application about the available service description.
[0062] In operation 412, the 5GMSu application selects the service description and notifies the 5GMSu client.
[0063] In operation 414, the 5GMSu client selects a dynamic policy based on the service operation point parameters associated with the service description, correlating the two using an identifier. Table 3 shows example parameters of the dynamic policy call configuration. Table 3
[0064] In operation 416, the 5GMSu configures its capture and encoding according to the selected service description.
[0065] In operation 418, a transport session is established for uplink streaming.
[0066] In operation 420, the media is uplink streamed.
[0067] As shown in this call flow, the service operation points provided in the service access information enable the 5GMSu client to associate the selected service description in the selected media entry point with a dynamic policy template having a corresponding service operation point, and then request the dynamic policy template from the 5GMS AF.
[0068] Table 4 shows example parameters when network assistance based on 5GMSu AF is activated for an uplink streaming session. Table 4
[0069] Figure 5 is a flowchart of an example process 500 for operation point handling of an uplink media streaming session.
[0070] The process can start at operation S502, in which one or more media entry points and one or more operation point parameters are received. In one or more examples, the one or more operation point parameters can be received as service access information via the M8u interface by the 5GMS application provider or via the M5u interface by the 5GMS AF.
[0071] The process proceeds to operation S504, in which the service description for each of the one or more media entry points is determined. For example, the determination of the service description can be performed according to operation 408.
[0072] The process proceeds to operation S506, in which a selection of the service description is received. For example, in operation 410, the 5GMSu client sends the available service descriptions to the 5GMSu-aware application. In response, in operation 412, the 5GMSu client receives the selected service description. The selected service description can be associated with at least one of the one or more received operation point parameters.
[0073] The process proceeds to operation S508, in which a selection of a dynamic policy is sent. For example, in operation 414, the 5GMSu client may identify a dynamic policy based on the selected service description and at least one operation point parameter associated with the selected service description. The dynamic policy may be sent to the 5GMSu AF, and in response, the 5GMSu client may receive a dynamic policy template for configuring the uplink media session.
[0074] In operation S510, the process sends media content in the uplink media streaming session. For example, after the dynamic policy template is received and the uplink media streaming session is configured based on the dynamic policy template, the 5GMSu client may start sending content to the 5GMSu AF.
[0075] The proposed method may be implemented by processing circuitry (e.g., one or more processors or one or more integrated circuits). In one example, one or more processors execute a program stored in a non-transitory computer-readable medium to perform one or more of the proposed methods.
[0076] The techniques described above may be implemented as computer software using computer-readable instructions and physically stored on one or more computer-readable media.
[0077] Embodiments of the present disclosure may be used alone or in any order of combination. Additionally, each of the embodiments (and their methods) may be implemented by processing circuitry (e.g., one or more processors or one or more integrated circuits). In one example, one or more processors execute a program stored in a non-transitory computer-readable medium.
[0078] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the exact forms disclosed. Modifications and variations may be made in light of the above disclosure, or may be obtained from practice of the implementations.
[0079] As used herein, the term component is intended to be broadly construed as hardware, firmware, or a combination of hardware and software.
[0080] Even though combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and / or not disclosed in the specification. While each of the dependent claims listed below may directly depend on only one claim, the disclosure of possible implementations includes combinations of each dependent claim with every other claim in the claim set.
[0081] Elements, acts, or instructions used herein are not to be construed as critical or essential, unless explicitly described as such. Further, as used herein, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." Further, as used herein, the term "group" is intended to include one or more items (e.g., related items, unrelated items, combinations of related and unrelated items, etc.) and may be used interchangeably with "one or more." The term "one" or similar language is used when only one item is intended. Further, as used herein, the terms "has," "have," "having," etc. are intended to be open-ended terms. Further, unless otherwise explicitly stated, the phrase "based on" is intended to mean "at least partially based on."
Claims
1. A method performed by at least one processor, the method comprising: receiving, by a fifth generation media streaming (5GMS) client for an uplink streaming session, a media entry point and one or more operation point parameters; Determining, by the 5GMS client, a plurality of available service descriptions of the media entry point; Sending the plurality of available service descriptions from the 5GMS client to the 5GMS application; Receiving, by the 5GMS client from the 5GMS application, a selected service description from the plurality of available service descriptions; Selecting, by the 5GMS client, a dynamic policy based on a plurality of service operation point parameters associated with the selected service description; Sending the dynamic policy and the plurality of service operation point parameters associated with the selected service description to a 5GMS application function (AF) via the 5GMS client; and Establishing the uplink streaming session with the 5GMS AF.
2. The method according to claim 1, further comprising: A dynamic policy template is received from the 5GMS AF through the 5GMS client, wherein the dynamic policy template has a service description corresponding to the selected service and a service operation point parameter corresponding to at least one service operation point parameter from the plurality of service operation point parameters.
3. The method according to claim 2, further comprising: The uplink streaming session is configured based on the received dynamic policy template.
4. The method according to claim 2, wherein: The selection of the dynamic policy is associated with a template identifier identifying the dynamic policy template.
5. The method according to claim 1, wherein: One or more operation points are received from the application provider via the M8 interface as part of the service access information.
6. The method according to claim 1, wherein: One or more operation points are received from the 5GMS Application Server (AS) via the M5 interface as part of the service access information.
7. The method according to claim 1, wherein: The media entry point is the endpoint of the 5GMS application server (AS).
8. The method according to claim 1, wherein: The media entry point is a link to a document downloaded from a 5GMS Application Server (AS) containing one or more parameters for the uplink media streaming session.
9. The method according to claim 1, wherein: The plurality of service operation point parameters specify a bit rate for the uplink media streaming session.
10. The method according to claim 1, wherein: The plurality of service operation points specify a target delay for the uplink media streaming session.
11. A user equipment (UE), comprising: at least one memory configured to store program code; as well as at least one processor configured to read the program code and operate as instructed by the program code, the program code comprising: a first receiving code configured to cause the at least one processor to: receive, by a fifth generation media streaming (5GMS) client for an uplink streaming session, a media entry point and one or more operating point parameters; A determination code is configured to cause the at least one processor to perform the following operations: determining, by the 5GMS client, a plurality of available service descriptions of the media entry point; A first sending code, wherein the first sending code is configured to cause the at least one processor to perform the following operations: sending the plurality of available service descriptions from the 5GMS client to the 5GMS application; A second receiving code, wherein the second receiving code is configured to cause the at least one processor to perform the following operations: receiving, by the 5GMS client, from the 5GMS application, a selected service description from the multiple available service descriptions; selecting code configured to cause the at least one processor to perform the following operations: selecting, by the 5GMS client, a dynamic policy based on a plurality of service operation point parameters associated with the selected service description; a second sending code, wherein the second sending code is configured to cause the at least one processor to perform the following operations: sending the dynamic policy and the plurality of service operation point parameters associated with the selected service description to a 5GMS application function (AF) through the 5GMS client; and Establishing code, the establishing code is configured to cause the at least one processor to perform the following operations: establishing the uplink streaming session with the 5GMS client.
12. The UE according to claim 11, wherein: The program code also includes: A third receiving code, wherein the third receiving code is configured to cause the at least one processor to perform the following operations: receiving a dynamic policy template from the 5GMS AF through the 5GMS client, wherein the dynamic policy template has a service description corresponding to the selected service and a service operation point parameter corresponding to at least one service operation point parameter from the multiple service operation point parameters.
13. The UE according to claim 12, wherein: The program code also includes: Configuration code is configured to cause the at least one processor to configure the uplink streaming session based on the received dynamic policy template.
14. The UE according to claim 12, wherein: The selection of the dynamic policy is associated with a template identifier identifying the dynamic policy template.
15. The UE according to claim 11, wherein: One or more operation points are received from the application provider via the M8 interface as part of the service access information.
16. The UE according to claim 11, wherein: One or more operation points are received from the 5GMS Application Server (AS) via the M5 interface as part of the service access information.
17. The UE according to claim 11, wherein: The media entry point is the endpoint of the 5GMS application server (AS).
18. The UE according to claim 11, wherein: The media entry point is a link to a document downloaded from a 5GMS Application Server (AS) containing one or more parameters for the uplink media streaming session.
19. The UE according to claim 11, wherein: The plurality of available service operation point parameters specify a bit rate for the uplink media streaming session.
20. A non-transitory computer readable medium having instructions stored therein, which when executed by a processor cause the processor to perform a method comprising: receiving, by a fifth generation media streaming (5GMS) client for an uplink streaming session, a media entry point and one or more operation point parameters; Determining, by the 5GMS client, a plurality of available service descriptions of the media entry point; Sending the plurality of available service descriptions from the 5GMS client to the 5GMS application; Receiving, by the 5GMS client from the 5GMS application, a selected service description from the plurality of available service descriptions; Selecting, by the 5GMS client, a dynamic policy based on a plurality of service operation point parameters associated with the selected service description; Sending the dynamic policy and the plurality of service operation point parameters associated with the selected service description to a 5GMS application function (AF) via the 5GMS client; and Establishing the uplink streaming session with the 5GMS AF.