Methods, devices, and media for instant content preparation in 5gms networks
By creating and updating content preparation templates in 5G networks, the problem of undefined content preparation in existing specifications is solved, enabling efficient collaboration and resource optimization for real-time content preparation.
Patent Information
- Application Number
- CN202180016871.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-10-14
- Filing Date
- 2021-10-15
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2041-10-15
AI Technical Summary
The existing 3GPP TS26.501 and TS26.512 specifications do not define the characteristics and usage process of content preparation templates, which makes it impossible to effectively perform real-time content preparation in 5G networks, affecting efficiency and computing resource utilization.
A method and apparatus are provided for creating a content preparation template through a 5GMS application provider, including instructions specifying content preparation and output, instantiating the content preparation template, coordinating uplink and downlink streaming, updating the content preparation template in response to user requests, and optimizing resource allocation and content processing.
It improves the efficiency of real-time content preparation in 5G networks, reduces computational overhead, and optimizes the use of network resources and bandwidth.
Smart Images

Figure CN115669000B_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to media processing and streaming methods and systems, and more specifically to content preparation in 5G networks. Background Technology
[0002] The 3rd Generation Partnership Project (3GPP) TS26.501 defines a general architecture for uplink and downlink streaming workflows. Furthermore, 3GPP TS26.512 defines the concept of content preparation templates. However, neither TS26.501 nor TS26.512 defines the characteristics of content preparation templates. Moreover, TS26.512 does not define or describe the process of using content preparation templates for content preparation; specifically, it does not define or describe how to use content preparation templates for on-the-spot content preparation. Summary of the Invention
[0003] This disclosure addresses one or more technical problems. It provides technical solutions that enable application providers to use content preparation templates to guide the definition, process, and preparation of content preparation. Implementations of this disclosure provide methods and workflows for content preparation, including collaborative scenarios for content preparation for uplink and downlink streaming.
[0004] While TS26.512 defines the concept of content preparation templates, this disclosure describes collaborative scenarios for content preparation for uplink and downlink streaming, including defining roles in the content preparation process and instantiating the content preparation process in a 5GMS network. Implementations of this disclosure also define how to use content preparation templates in multiple use cases to achieve real-time content preparation on 5G networks. Real-time content preparation improves efficiency and reduces the computational overhead of 5G networks and the devices therein.
[0005] This disclosure includes a method and apparatus for guiding real-time content preparation for a 5GMS network, executed by at least one processor of a 5G media streaming (5GMS) application provider. The method includes: creating a content preparation template by the 5GMS application provider, wherein the content preparation template includes first information specifying instructions for content preparation and second information specifying instructions for content output; establishing a first provisioning session with a 5GMS application function; updating the content preparation template; sending the updated content preparation template to the 5GMS application function; and receiving an update confirmation from the 5GMS application function, wherein the update confirmation indicates an update of the allocation of at least one of 5GMS content preparation resources and 5GMS content distribution resources.
[0006] According to the implementation method, the creation of a content preparation template is instantiated before the modified content is streamed from the 5GMS application server downlink to one or more user devices.
[0007] According to the implementation method, after the content is streamed from one or more user devices to the 5GMS application server via the uplink, the creation of the content preparation template is instantiated.
[0008] According to the implementation method, the creation of the content preparation template is instantiated after the content is uplinked and streamed to the 5GMS application server and before the modified content is downlinked and streamed to one or more user devices.
[0009] According to the implementation, updating the content preparation template includes at least one of the following: adding or removing the process associated with the allocation of at least one of the 5GMS content preparation resources and 5GMS content distribution resources.
[0010] According to the implementation, the content preparation template is updated in response to a request for content from one or more user devices before it is streamed downlink to one or more user devices.
[0011] According to the implementation, the content preparation template is updated in response to a request from the 5GMS application provider before uplink streaming to the 5GMS application provider.
[0012] According to an implementation, the method further includes broadcasting the availability of a content preparation service to one or more 5G sensing applications based on a first confirmation.
[0013] According to the implementation method, the method further includes: creating a content hosting configuration template, wherein the content hosting configuration template includes instructions for 5GMS third-party providers to optimize the delivery of media content through the 5G media streaming network; and sending the content hosting configuration template to the 5GMS application function.
[0014] According to an implementation, establishing a first pre-configuration session with a 5GMS application function includes: sending a content preparation template to the 5GMS application function in the first pre-configuration session; and receiving a first confirmation from the 5GMS application function, wherein the first confirmation indicates the allocation of at least one of 5GMS content preparation resources and 5GMS content distribution resources.
[0015] According to an implementation, the method further includes: establishing a second pre-configuration session with a second 5GMS application function; defining a resource request, wherein the resource request is based on the allocation of at least one of 5GMS content preparation resources and 5GMS content distribution resources; sending the resource request to the second 5GMS application function; and receiving a second confirmation from the second 5GMS application function, wherein the second confirmation indicates the allocation of 5GMS content preparation resources and 5GMS content distribution resources based on the resource request. Attached Figure Description
[0016] Further features, properties, and various advantages of the disclosed subject matter will become more apparent from the following detailed description and accompanying drawings, in which:
[0017] Figure 1 This is a diagram illustrating an environment in which the methods, apparatus, and systems described herein can be implemented according to embodiments.
[0018] Figure 2 yes Figure 1 A block diagram of example components of one or more devices.
[0019] Figure 3 This is a block diagram of a network architecture for media streaming according to an implementation method.
[0020] Figure 4 This is a block diagram illustrating an example process of content preparation guided by an application provider according to an implementation method.
[0021] Figure 5 This is a block diagram illustrating an example process of content preparation guided by an application provider according to an implementation method.
[0022] Figure 6 This is a block diagram of a network architecture for media streaming according to an implementation method.
[0023] Figure 7 This is a block diagram illustrating an example process of content preparation guided by an application provider according to an implementation method.
[0024] Figure 8 This is a block diagram illustrating an example process of content preparation guided by an application provider according to an implementation method.
[0025] Figure 9A This is a simplified flowchart illustrating an example process of content preparation guided by an application provider according to an implementation method.
[0026] Figure 9B This is a simplified flowchart illustrating an example process of content preparation guided by an application provider according to an implementation method. Detailed Implementation
[0027] The features discussed below can be used individually or in any order. Furthermore, implementations can be carried out by a processing circuitry (e.g., one or more processors or one or more integrated circuits) or a processing entity (e.g., one or more application providers, one or more application servers, or one or more application functions). In one example, one or more processors execute a program stored on a non-transitory computer-readable medium.
[0028] A 5G media streaming (5GMS) system can be a component of application functions, application servers, and interfaces from the 5G media streaming architecture, supporting downlink media streaming services, uplink media streaming services, or both. A 5GMS application provider can include a party that interacts with and provides 5GMS-aware applications that interact with the 5GMS system. A 5GMS-aware application can refer to an application in user equipment (UE) provided by a 5GMS application provider, containing service logic for 5GMS application services, and interacting with other 5GMS clients and network functions via application programming interfaces (APIs) and interfaces defined in the 5GMS architecture. A 5GMS client can refer to a UE function that is a 5GMS downlink (5GMSd) client, a 5GMS uplink (5GMSSu) client, or both.
[0029] A 5GMSd client can refer to a UE function that includes at least a 5G media streaming player and a media session processor for downlink streaming, and that can be accessed through a well-defined interface / API. A 5GMSu client can refer to an initiator of a 5GMSu service that can be accessed through a well-defined interface / API. A 5GMSu media streamer can refer to a UE function that enables uplink delivery of streaming media content to the application server (AS) function of a 5GMS application provider, and that interacts with both a 5GMSu-aware application for media capture and subsequent streaming and a media session processor for media session control.
[0030] Dynamic policies can refer to dynamic policies and charging control (PCC) rules used for uplink or downlink application flows during a media session. An egest session can refer to an uplink media streaming session from a 5GMS SAS to a 5GMS Application Provider. An ingest session can refer to a session that uploads media content to a 5GMSd AS. A policy template can refer to a set of (semi-static) Policy or Control Function (PCF) / Network Exposure Function (NEF) API parameters specific to the 5GMS Application Provider and the resulting PCC rules. A policy template ID identifies the desired policy template, used by the 5GMSd Application Function (AF) to select the appropriate PCF / NEF API for the 5G system, enabling the PCF to compile the desired PCC rules. Media player entries can refer to a document that defines media presentation or a pointer to a document (e.g., a media presentation description (MPD) for DASH or a uniform resource locator (URL) for a video clip file). Media streamer entries can refer to a pointer to an entry point that defines an uplink media streaming transmission (e.g., in the form of a URL). Presentation entries can refer to a document that defines application presentation (e.g., an HTML5 document) or a pointer to a document.
[0031] A pre-configured session can refer to a data structure provided by a 5GMSd application provider at the interface (M1d) that configures 5GMSd features associated with a set of 5GMSd-aware applications. A 5GMSd media player can refer to a UE function that enables playback and presentation of media based on media playback entries and provides basic controls to 5GMSd-aware applications, such as play, pause, search, and stop. Server access information can refer to a set of parameters and addresses (including 5GMSd AF and 5GMSd AS addresses) required to activate the reception of a streaming session. Service and content discovery can refer to the functions and processes provided by a 5GMSd application provider to a 5GMSd-aware application that enable end users to discover available streaming services and content offerings and select specific services or content items for access. Service notification can refer to a process between a 5GMSd-aware application and a 5GMSd application provider that allows the 5GMSd-aware application to directly obtain 5GMS service access information or obtain 5GMS service access information in the form of a reference to that information.
[0032] A third-party media player can refer to an application that uses the API to utilize the selected 5GMSD functionality to play back media content. A third-party uplink streamer can refer to an application that uses the API to run the selected 5GMSu functionality to capture and stream media content.
[0033] Figure 1 This is a diagram of an environment 100 in which the methods, apparatus, and systems described herein can be implemented according to the embodiments. For example... Figure 1 As shown, environment 100 may include user equipment 110, platform 120, and network 130. The devices in environment 100 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.
[0034] User equipment 110 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with platform 120. For example, user equipment 110 may include computing devices (e.g., desktop computers, laptop computers, tablet computers, handheld computers, smart speakers, servers, etc.), mobile phones (e.g., smartphones, cordless phones, etc.), wearable devices (e.g., smart glasses or smartwatches), or similar devices. In some implementations, user equipment 110 may receive information from platform 120 and / or send information to platform 120.
[0035] Platform 120 includes one or more devices as described elsewhere herein. In some implementations, platform 120 may include a cloud server or a group of cloud servers. In some implementations, platform 120 may be designed to be modular, allowing software components to be swapped in or out as needed. This allows platform 120 to be easily and / or quickly reconfigured for different purposes.
[0036] In some implementations, as shown, platform 120 may be hosted in cloud computing environment 122. It is worth noting that although the implementations described herein depict platform 120 as 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.
[0037] The cloud computing environment 122 includes the environment of the hosting platform 120. The cloud computing environment 122 can provide services such as computing, software, data access, and storage, without requiring end users (e.g., user equipment 110) to know the physical location and configuration of the systems and / or devices of the hosting platform 120. As shown, the cloud computing environment 122 may include a set of computing resources 124 (collectively referred to as "computing resources 124" and individually as "computing resources 124").
[0038] Computing resource 124 includes one or more personal computers, workstations, server devices, or other types of computing and / or communication devices. In some implementations, computing resource 124 may host platform 120. Cloud resources may include: computing instances executing in computing resource 124, storage devices provided in computing resource 124, data transmission devices provided by computing resource 124, etc. In some implementations, computing resource 124 may communicate with other computing resources 124 via wired connections, wireless connections, or a combination of wired and wireless connections.
[0039] For example, further Figure 1 As 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 machines, VMs”) 124-2, virtualized storage (“virtualized storage, VS”) 124-3, one or more hypervisors (“hypervisor, HYP”) 124-4, etc.
[0040] Application 124-1 includes one or more software applications that can be provided to or accessed by user device 110 and / or platform 120. Application 124-1 can 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, an application 124-1 may send information to or receive information from one or more other applications 124-1 via virtual machine 124-2.
[0041] Virtual machine 124-2 includes a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. Virtual machine 124-2 can be a system virtual machine or a process virtual machine, depending on the extent to which virtual machine 124-2 uses and corresponds to any real machine. A system virtual machine can be a complete system platform that supports the execution of a complete operating system (OS). A process virtual machine can execute a single program and can support a single process. In some implementations, virtual machine 124-2 can execute on behalf of a user (e.g., user device 110) and can manage the infrastructure of the cloud computing environment 122, such as data management, synchronization, or long-duration data transfer.
[0042] Virtualized storage 124-3 includes one or more storage systems and / or one or more devices that utilize virtualization technology within a storage system or device of computing resource 124. In some implementations, the type of virtualization within the context of the storage system may include block virtualization and file virtualization. Block virtualization can refer to the abstraction (or separation) of logical storage from physical storage, enabling access to the storage system regardless of physical storage or heterogeneous architecture. Separation allows storage system administrators greater flexibility in managing storage for end users. File virtualization eliminates the dependency between data accessed at the file level and the location where the file is physically stored. This enables performance optimization for storage usage, server consolidation, and / or non-disruptive file migration.
[0043] Hypervisor 124-4 can provide hardware virtualization technology that allows multiple operating systems (e.g., "guest operating systems") to run simultaneously on a host computer such as computing resource 124. Hypervisor 124-4 can present a virtual operating platform to the guest operating system and manage the execution of the guest operating system. Multiple instances of various operating systems can share virtualized hardware resources.
[0044] Network 130 includes one or more wired and / or wireless networks. For example, network 130 may include cellular networks (e.g., fifth-generation (5G) networks, long-term evolution (LTE) networks, third-generation (3G) networks, code division multiple access (CDMA) networks, etc.), public land mobile networks (PLMNs), local area networks (LANs), wide area networks (WANs), metropolitan area networks (MANs), telephone networks (e.g., public switched telephone networks (PSTNs)), private networks, ad hoc networks, intranets, the Internet, fiber-optic networks, etc., and / or combinations of these or other types of networks.
[0045] Figure 1 The number and arrangement of devices and networks shown are provided as examples. In practice, with Figure 1Compared to 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 devices and / or networks arranged differently. Furthermore, Figure 1 The two or more devices shown can be implemented within a single device, or Figure 1 The single device shown can be implemented as multiple distributed devices. Alternatively or alternatively, a group of devices in environment 100 (e.g., one or more devices) can perform one or more functions described as being performed by another group of devices in environment 100.
[0046] Figure 2 yes Figure 1 A block diagram of example components of one or more devices. Device 200 may correspond to user device 110 and / or platform 120. Figure 2 As shown, device 200 may include bus 210, processor 220, memory 230, storage unit 240, input unit 250, output unit 260 and communication interface 270.
[0047] Bus 210 includes components that allow communication between parts of device 200. Processor 220 is implemented in hardware, firmware, or a combination of hardware and software. Processor 220 is a central processing unit (CPU), graphics processing unit (GPU), accelerated processing unit (APU), microprocessor, microcontroller, digital signal processor (DSP), field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), or another type of processing unit. In some implementations, processor 220 includes one or more processors that can be programmed to perform functions. 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 processor 220.
[0048] Storage component 240 stores information and / or software related to the operation and use of device 200. For example, storage component 240 may include hard disks (e.g., magnetic disks, optical disks, magneto-optical disks, and / or solid-state disks), compact discs (CDs), digital versatile discs (DVDs), floppy disks, cartridge storage, magnetic tapes, and / or other types of non-transitory computer-readable media and corresponding drives.
[0049] Input component 250 includes components that allow device 200 to receive information, for example, via user input (e.g., a touchscreen display, keyboard, keypad, mouse, buttons, switches, and / or microphone). Alternatively or additionally, input component 250 may include sensors for sensing information (e.g., a global positioning system (GPS) component, accelerometer, gyroscope, and / or actuator). Output component 260 includes components that provide output information from device 200 (e.g., a display, speaker, and / or one or more light-emitting diodes (LEDs)).
[0050] Communication interface 270 includes transceiver-like components (e.g., transceiver and / or separate receiver and transmitter) that enable device 200 to communicate with other devices, for example, via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface 270 may allow device 200 to receive information from and / or provide information to another device. For example, 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.
[0051] Device 200 can perform one or more of the processes described herein. Device 200 can perform these processes in response to processor 220 executing software instructions stored in a non-transitory computer-readable medium (e.g., memory 230 and / or storage unit 240). Computer-readable medium is defined herein as a non-transitory memory device. Memory devices include memory space within a single physical storage device or memory space distributed across multiple physical storage devices.
[0052] Software instructions can be read into memory 230 and / or storage unit 240 from another computer-readable medium or from another device via communication interface 270. When executed, the software instructions stored in memory 230 and / or storage unit 240 can cause processor 220 to perform one or more processes described herein. Alternatively or alternatively, hardwired circuitry can be used in place of or in combination with software instructions to perform one or more processes described herein. Therefore, the implementations described herein are not limited to any particular combination of hardware circuitry and software.
[0053] Figure 2 The number and arrangement of components shown are provided as an example. In practice, with Figure 2 Compared to the components shown, device 200 may include additional components, fewer components, different components, or components arranged differently. Alternatively or additionally, a group of components of device 200 (e.g., one or more components) may perform one or more functions described as being performed by another group of components of device 200.
[0054] Figure 3 This is a diagram of a media architecture 300 for media streaming. In an implementation, media architecture 300 can be used to process media content after uplink streaming or before downlink streaming. A 5G media streaming uplink (5GMS) application provider 301 can use 5GMS for streaming services. The 5GMS application provider 301 can provide a 5GMS-aware application 302 on the UE 303 to utilize the interfaces and APIs defined in 5GMS to leverage the 5GMS client 304 and network functions. The 5GMS application server (AS) can be an application server dedicated to 5G media streaming. The 5GMS client 304 can be an internal function of the UE 303 dedicated to 5G media streaming.
[0055] 5GMS application function 306 and 5GMS application server 305 can be data network (DN) functions 307. Functions in a trusted data network can be trusted by the operator's network. Therefore, application functions in a trusted data network can communicate directly with all 5G core functions. Functions in an external data network may only be able to communicate with 5G core functions via link 320 through Network Exposure Function (NEF) 308.
[0056] Media architecture 300 can connect relevant network functions for 5G media uplink streaming and internal functions of UE 303. In some implementations, media architecture 300 can connect relevant network functions for 5G media downlink streaming and internal functions of UE 303. Therefore, media architecture 300 can include a variety of functions. For example, 5GMS client 304 on UE 303 can be an initiator of 5GMS services accessible via an interface / API. 5GMS client 304 can include two sub-functions, a media session handler (MSH) 309 and a media streamer 310. MSH 309 can communicate with 5GMS application function 306 to establish, control, and support the delivery of media sessions. MSH 309 can expose APIs that can be used by 5GMS-aware application 302. The media streamer 310 can communicate with the 5GMS application server 305 to stream media content and provide services for media capture and streaming to the 5GMS-aware application 302, and services for media session control to the MSH 309. The 5GMS-aware application 302 can control the 5GMS client 303 by implementing external application or content service provider-specific logic and enabling the establishment of media sessions. The 5GMS application server 305 can host 5G media functions. The 5GMS application provider 301 can be an external application or content-specific media function that uses 5GMS to stream media from the 5GMS-aware application 302, such as media storage, consumption, transcoding, and redistribution. The 5GMS application function 306 can provide various control functions to the MSH 309 on the UE 303 and / or to the 5GMS application provider 301. 5GMS application function 306 can relay or initiate requests for processing of different Policy or Charging Function (PCF) 311, or interact with other network functions.
[0057] Media architecture 300 may include many different interfaces. For example, link M1 may be a 5GMS configuration API exposed by 5GMS application function 306 to provide access to and feedback for media architecture 300. Link M2 may be a 5GMS publishing API exposed by 5GMS application server 305 and used when 5GMS application server 305 in a trusted data network such as data network 307 is selected to receive content for streaming services. Link M3 may be an internal API for exchanging content hosting information on 5GMS application server 305 within a trusted data network such as data network 307. Link M4 may be a media uplink streaming API exposed by 5GMS application server 323 to media streamer 310 for streaming media content. Link M5 may be a media session processing API exposed by 5GMS application function 305 to media session processor for media session processing, control, and assistance (including appropriate security mechanisms such as authorization and authentication). Link M6 can be a UE 303 media session processing API opened by MSH 309 to the 5GMS-aware application 302 to utilize 5GMS functionality. Link M7 can be a UE media streamer API opened by media streamer 310 to both the 5GMS-aware application 302 and MSH 309 to utilize media streamer 310. Link M8 can be an application API used for information exchange between the 5GMS-aware application 302 and the 5GMS application provider 301, such as providing service access information to the 5GMS-aware application 302.
[0058] Corresponding to Figures 4 to 5 as well as Figures 7 to 9B The implementation methods involve workflows, collaboration schemes, and processes related to 5GMS application providers processing media content across 5G networks.
[0059] In some implementations, 5GMS application providers can guide content processing across 5G networks by defining a content preparation process. As an example, a 5GMS application provider can guide content processing across 5G networks by defining a content preparation template and providing the template to 5GMS application functions or 5GMS application servers across the 5G network using network functions and APIs. The content preparation template (CPT) may include information and instructions for content preparation. In some implementations, the CPT includes information and instructions related to the output format of the media content. In some implementations, the CPT may include information that can be used for the allocation of content preparation resources or content distribution resources across the 5GMS network.
[0060] In some implementations, a 5GMS application provider can guide the content preparation process of its media stream by defining and providing a content preparation template before distributing the media stream to a UE. In some implementations, a 5GMS application provider can guide the content preparation process of a media stream from a 5GMS-aware application by defining and providing a content preparation template before receiving the media stream. In some implementations, before preparing uplink media streams from one or more UEs and before streaming them downlink to one or more UEs, a 5GMS application provider can guide the content preparation process of the media stream by defining a content preparation template and providing the content preparation template to one or more 5GMS application functions. As an example, a 5GMS application provider can define a content preparation template and provide it to a first 5GMS application function, thereby enabling the first 5GMS application function to communicate with a second 5GMS application function. The first and second 5GMS application functions can transmit and process the media content after the media stream is uploaded from a 5GMS-aware application and before the media content from the media stream is downloaded to another 5GMS-aware application.
[0061] In some implementations, the content preparation template created by the 5GMS application provider may be instantiated before the modified content is streamed downlink from the application server to one or more user devices. In some implementations, the content preparation template may be instantiated after the content is streamed uplink from one or more user devices to the application server. In some implementations, the content preparation template may be instantiated after the content is streamed uplink to the application server and before the modified content is streamed downlink to one or more user devices. The creation of the content preparation template by the 5GMS application provider in response to the uplink or downlink streaming of content ensures that resources are supplied only when needed, thereby improving the use of network resources, bandwidth, and storage.
[0062] In some implementations, a 5GMS application provider may establish a pre-configuration session with one or more 5GMS application functions. In some implementations, the 5GMS application provider may send a content preparation template to one or more 5GMS application functions during the pre-configuration session. In some implementations, the 5GMS application provider may establish a pre-configuration session with a 5GMS application function and then define and send the content preparation template. In some implementations, the 5GMS application provider may establish more than one pre-configuration session with more than one 5GMS application function.
[0063] In some implementations, a 5GMS application provider may receive an acknowledgment from a 5GMS application function after establishing a provisioning session with that function. The acknowledgment may include information related to resource discovery, allocation of content preparation resources, allocation of content distribution resources, uplink sessions with one or more other 5GMS application functions, or downlink sessions with one or more other 5GMS application functions. In some implementations, a 5GMS application server may determine information related to resource discovery, allocation of content preparation resources, and allocation of content distribution resources, and send it to the 5GMS application function.
[0064] In some implementations, a 5GMS application provider can send media content to a 5GMS application server, wherein the media content can be modified based on a content preparation template. In some implementations, a 5GMS application provider can receive partially modified media content from a 5GMS application server, wherein the media content can be modified based on a content preparation template. In some implementations, a 5GMS application provider can guide the transmission of media content from a first 5GMS application server to another 5GMS application server using information in or accompanying the content preparation template.
[0065] In some implementations, a 5GMS application provider may update a content preparation template and send the updated content preparation template to one or more 5GMS application functions. The 5GMS application provider may receive update confirmations from the 5GMS application functions, wherein the confirmations may indicate update information related to resource discovery, allocation of content preparation resources, allocation of content distribution resources, uplink sessions with one or more other 5GMS application functions, or downlink sessions with one or more other 5GMS application functions. In some implementations, the content preparation template update may be in response to a request for content from one or more user equipments before downlink streaming to one or more user equipments. As an example, a 5GMS application provider may update the content preparation template in response to a request for modified content from one or more UEs, 5GMS-aware applications, or 5GMS clients before downlink streaming to one or more UEs, 5GMS-aware applications, or 5GMS clients. In some implementations, the content preparation template update may be in response to a request from the application provider or one or more user equipments before uplink streaming to the application provider. As an example, a 5GMS application provider may update a content preparation template in response to a request from the 5GMS application provider before the content is streamed from the 5GMS application server to the 5GMS application provider via the uplink. In some implementations, updating the content preparation template may include adding or removing one or more processes associated with the allocation of content preparation resources and content distribution resources.
[0066] In some implementations, 5GMS application providers can create a hosting configuration template (HCT) and send it to 5GMS application functions during a provisioning session with the 5GMS application provider. The hosting configuration template may include instructions and information for third-party providers to optimize the delivery of media content over the 5G network. In some implementations, the 5GMS application server may allocate content preparation resources and content distribution resources based on the hosting configuration template.
[0067] In some implementations, 5GMS application providers may notify the availability of content preparation services based on acknowledgments from provisioning sessions. The availability of content preparation services may be determined based on resource discovery, allocation of content preparation resources, and allocation of content distribution resources, typically across the 5G network. In some implementations, 5GMS application providers may broadcast the availability of content preparation services to one or more 5GMS-aware applications on the 5G network. In some implementations, 5GMS application providers may broadcast the availability of content preparation services to one or more 5GMS devices on the 5G network.
[0068] In some implementations, a 5GMS application provider may establish a second provisioning session with another 5GMS application function. The second provisioning session may include a resource request based on the allocation of content preparation and content distribution resources. The 5GMS application provider may send the resource request to the second 5GMS application function and receive a second confirmation indicating the allocation of content preparation and distribution resources based on the resource request.
[0069] As an example, if a 5GMS application provider defines content preparation between downlink and uplink media streams, the 5GMS application provider can establish a first provisioning session with a first 5GMS application function and a second provisioning session with a second 5GMS application function. The first provisioning session may include the 5GMS application provider defining a content preparation template for the uplink-transmitted media stream. The second provisioning session may include defining resource requests based on information received from a first acknowledgment regarding the allocation of content preparation or content distribution resources. The 5GMS application provider may send the information received from the first acknowledgment regarding the allocation of content preparation or content distribution resources to the second 5GMS application function. The 5GMS application provider may receive a second acknowledgment from the second 5GMS application server, wherein the second acknowledgment indicates the allocation of content preparation and distribution resources based on the resource requests.
[0070] In some implementations, a 5GMS application provider can establish a first provisioning session with a first 5GMS application function, and the first 5GMS application function can establish a provisioning session with a second 5GMS application function. As an example, a 5GMS application provider can establish a provisioning session with an uplink 5GMS application function. The uplink 5GMS application function can establish a provisioning session with a downlink 5GMS application function. The two 5GMS application functions can communicate with each other, and their respective 5GMS application servers discover resources, allocate content preparation resources, and allocate content distribution resources. As another example, a 5GMS application provider can establish a provisioning session with a downlink 5GMS application function. The downlink 5GMS application function can establish a provisioning session with an uplink 5GMS application function. The two 5GMS application functions can communicate with each other, and their respective 5GMS application servers discover resources, allocate content preparation resources, and allocate content distribution resources. In some implementations, the respective 5GMS application servers can communicate with each other via API and transmit media content that can be modified using content preparation templates.
[0071] In some implementations, the 5GMS application server can discover resources for content processing. The 5GMS application server and 5GMS application functions can communicate regarding resource discovery and resource allocation based on content preparation templates. Content preparation templates sent by the 5GMS application provider can have a cascading effect, causing instantiation of content preparation and content resource allocation at the 5GMS application server when a 5GMS application function requests resources and media content as defined in the content preparation template by the 5GMS application provider.
[0072] In some implementations, processing a media stream may include one or more 5GMS application servers processing content based on a content preparation template. In some implementations, a 5GMS application server may receive media content from a 5GMS application provider and may partially modify the media content based on the content preparation template. In some implementations, a 5GMS application server may receive partially modified media content from a 5GMS application provider, wherein the media content is partially modified based on the content preparation template. In some implementations, a 5GMS application server may send media content or media streams received from a 5GMS-aware application or a 5GMS client to a 5GMS application provider, wherein the media content may be partially modified by components of the 5GMS network based on the content preparation template. In some implementations, a 5GMS application server may send media content or media streams received from a 5GMS-aware application or a 5GMS client to another 5GMS application server, and may partially modify the media content based on the content preparation template. As an example, a first 5GMS application server may process media content received from a UE or a 5GMS-aware application based on a content preparation template before sending the processed media content to a second 5GMS application server. As another example, a first 5GMS application server can send media content received from a UE or a 5GMS sensing application to a second 5GMS application server, which can process the media content based on a content preparation template.
[0073] Figure 4 Process 400 is illustrated, which may involve a call flow such as content preparation guided by a 5GMS application provider prior to downlink streaming of content to a 5G-aware application on a client UE. Process 400 can be performed using architecture 300 or any other desired architecture.
[0074] According to process 400, at operation 410, the 5GMS application provider 301 can initiate or establish a provisioning session with the 5GMS application function 306 using link M1. At operation 415, the 5GMS application provider 301 can create a content preparation template and send the content preparation template to the 5GMS application function 306 using link M1. In some embodiments, at operation 415, the 5GMS application provider 301 can use link M1 to request the 5GMS application function 306 to create one or more content preparation templates, which define instructions for content preparation and for content output format. At operation 420, the 5GMS application function 306 can communicate with the 5GMS application server 305, and the 5GMS application function 306 can use link M3 to request the 5GMS application server 305 to discover resources and allocate content preparation resources and content distribution resources based on the content preparation templates. At operation 425, 5GMS application function 306 can send an acknowledgment to 5GMS application provider 301, which indicates the successful creation of a content preparation template, containing information related to content preparation resources or containing information related to content distribution resources.
[0075] At operation 430, the 5GMS application provider 301 can create a content hosting configuration template and send it to the 5GMS application function 306 using link M1. In some implementations, at operation 430, the 5GMS application provider 301 can use link M1 to request the 5GMS application function 306 to create one or more content hosting configuration templates. At operation 435, the 5GMS application function 306 can use link M3 to request the 5GMS application server 305 to allocate content preparation resources and content distribution resources based on the content hosting templates. At operation 440, the 5GMS application function 306 can use link M1 to send an acknowledgment to the 5GMS application provider 301 indicating the successful creation of the content hosting configuration update, the allocation of content preparation resources, or the allocation of content distribution resources. At operation 445, the 5GMS application provider 301 uses link M2 to provide the 5GMS application server 305 with the media content to be partially modified.
[0076] At operation 450, service notifications or communications may exist between components and devices in the 5G network. At operation 455, 5GMS-aware application 302 may initiate a service request from 5GMS application provider 301 using link M8.
[0077] At operation 460, the 5GMS application provider 301 may update the content preparation template and send the updated content preparation template to the 5GMS application function 306. In some implementations, the update of the content preparation template may be in response to a request for content from one or more user equipments before downlink streaming to one or more user equipments. As an example, the 5GMS application provider 301 may update the content preparation template in response to a request for modified content or a service from the 5GMS sensing application 302 before downlink streaming to the 5GMS sensing application 302. In some implementations, updating the content preparation template may include adding or removing one or more processes associated with the allocation of content preparation resources and content distribution resources.
[0078] At operation 465, 5GMS application function 306 can communicate with 5GMS application server 305, and 5GMS application function 306 can use link M3 to request 5GMS application server 305 to discover resources, and allocate content preparation resources and content distribution resources based on the updated content preparation template. At operation 470, 5GMS application function 306 can send an update confirmation to 5GMS application provider 301, which indicates the successful creation of the content preparation template and contains information related to content preparation resources or information related to content distribution resources.
[0079] At operation 475, the 5GMS application provider 301 may send an indication to the 5GMS sensing application 302 confirming that it can provide the services requested by the 5GMS sensing application 302.
[0080] At operation 480, the 5GMS-aware application 302 and the 5GMS client 304 can communicate via the UE API using either link M7 or M8. At operation 485, the 5GMS client 304 can request or provide service access to the 5GMS application function 306. At operation 492, the 5GMS client 304 can request a media session with the 5GMS application function using link M5. At operation 494, the 5GMS application function 306 can request the start of a content preparation process from the 5GMS application server 305. At operation 495, if the content preparation process has not been instantiated previously, the 5GMS application server 305 can instantiate it. Therefore, the 5GMS application server 305 can instantiate and execute the content preparation process upon request or just before downlink streaming (i.e., immediately). This immediate processing improves the computational efficiency of the 5G network because no computation is performed before it is needed. At operation 496, the 5GMS application function 306 can receive confirmation of the instantiation of the content preparation process. At operation 498, partially or completely modified media content can be sent from the 5GMS application server 305 to the 5GMS client 304, wherein the 5GMS application server 305 partially or completely modifies the media content for downlink streaming based on a content preparation template. In some implementations, the 5GMS application server 305 can add new processes to content preparation and processing, and provide the requested content format based on available resources and distribution.
[0081] Figure 5 The diagram illustrates process 500, which may involve a call flow such as content preparation initiated by the 5GMS application provider before streaming content from a 5G-aware application uplink on a client UE to the 5GMS application provider 301. Process 500 can be performed using architecture 300 or any other desired architecture.
[0082] According to procedure 500, at operation 510, the 5GMS application provider 301 can initiate or establish a provisioning session with the 5GMS application function 306 using link M1. At operation 515, the 5GMS application provider 301 can create a content preparation template and send the content preparation template to the 5GMS application function 306 using link M1. In some embodiments, at operation 515, the 5GMS application provider 301 can use link M1 to request the 5GMS application function 306 to create one or more content preparation templates, which define instructions for content preparation and for content output format. At operation 520, the 5GMS application function 306 can communicate with the 5GMS application server 305, and the 5GMS application function 306 can use link M3 to request the 5GMS application server 305 to discover resources and allocate content preparation resources and content distribution resources based on the content preparation templates. At operation 525, 5GMS application function 306 can send an acknowledgment to 5GMS application provider 301 indicating the successful creation of a content preparation template, containing information related to content preparation resources or content distribution resources. At operation 530, 5GMS application provider 301 can broadcast the availability of the content preparation service to one or more 5GMS sensing applications on the 5G network.
[0083] In some implementations, at operation 530, the 5GMS-aware application 302 may initiate a service request from the 5GMS application provider 301 using link M8. In some implementations, the content preparation template update may be in response to a request from the application provider prior to uplink streaming to the application provider. As an example, the 5GMS application provider 301 may update the content preparation template in response to a request from the 5GMS application provider 301 prior to uplink streaming from the 5GMS application server 305 to the 5GMS application provider 301. The request may be in response to a request from another 5GMS application provider or for internal storage and network efficiency purposes. In some implementations, updating the content preparation template may include adding or removing one or more processes associated with the allocation of content preparation resources and content distribution resources.
[0084] At operation 535, the 5GMS application provider 301 can update the content preparation template and send the updated content preparation template to the 5GMS application function 306. At operation 540, the 5GMS application function 306 can communicate with the 5GMS application server 305, and the 5GMS application function 306 can use Link M3 to request the 5GMS application server 305 to discover resources, and allocate content preparation resources and content distribution resources based on the updated content preparation template. At operation 545, the 5GMS application function 306 can send an acknowledgment to the 5GMS application provider 301, indicating the successful creation of the content preparation template, containing information related to content preparation resources or containing information related to content distribution resources. At operation 550, the 5GMS application provider 301 can send an acknowledgment to the 5GMS-aware application 302, indicating that it can provide the services requested by the 5GMS-aware application 302.
[0085] At operation 560, the 5GMS-aware application 302 and the 5GMS client 304 can communicate via the UE API using either link M7 or M8. At operation 565, the 5GMS client 304 can request or provide service access to the 5GMS application function 306. At operation 570, the 5GMS client 304 can request a media session with the 5GMS application function using link M5. At operation 575, the 5GMS application function 306 can request the start of a content preparation process from the 5GMS application server 305. At operation 580, if the content preparation process has not been instantiated previously, the 5GMS application server 305 can instantiate it. Therefore, the 5GMS application server 305 can instantiate and execute the content preparation process upon request or immediately after downlink streaming (i.e., instantly). This instantaneous processing improves the computational efficiency of the 5G network because no computation is performed before it is needed. At operation 585, the 5GMS application function 306 can receive confirmation of the instantiation of the content preparation process. At operation 590, partially or completely modified media content can be sent from the 5GMS application server 305 to the 5GMS client 304, wherein the 5GMS application server 305 partially or completely modifies the media content for downlink streaming based on a content preparation template. In some implementations, the 5GMS application server 305 can add new processes to content preparation and processing, and provide the requested content format based on available resources and distribution.
[0086] At operation 595, the 5GMS application provider 301 uses link M2 to receive the requested media content to be partially modified from the 5GMS application server 305.
[0087] Figure 6This is a diagram of media streaming using media architecture 600. In implementations, media architecture 600 can be used to process media content requested by a 5GMS application provider for uplink resource streams from one or more UEs, and prior to downlink streaming to one or more other UEs. The 5G media streaming uplink (5GMS) application provider 301 can use 5GMS for streaming services. The 5GMS application provider 301 can provide a 5GMS-aware application 302 on UE 303 to utilize 5GMS client 304 and network functions using interfaces and APIs defined in 5GMS. In some implementations, the 5GMS application provider 301 can also provide a 5GMS-aware application 602 on UE 603 to utilize 5GMS client 604 and network functions using interfaces and APIs defined in 5GMS. The 5GMS application server (application server) can be an application server dedicated to 5G media streaming. The 5GMS client 304 may be an internal function of the UE 303 dedicated to 5G media streaming. In some implementations, the 5GMS client 604 may be an internal function of the UE 603 dedicated to 5G media streaming.
[0088] 5GMS application function 606 and 5GMS application server 605 can be functions of data network (DN) 610. Functions in trusted data network 610 can be trusted by the operator's network. Therefore, application functions in trusted data network can communicate directly with all 5G core functions. Functions in external data networks may only be able to communicate with 5G core functions via Network Exposure Function (NEF).
[0089] Media architecture 600 can connect relevant network functions for 5G media uplink streaming and internal functions of UE 603. In some implementations, media architecture 600 can connect relevant network functions for 5G media downlink streaming and internal functions of UE 603. Therefore, media architecture 600 can include a variety of functions. For example, a 5GMS client 604 on UE 603 can be an initiator of a 5GMS service accessible via an interface / API. A 5GMS-aware application 602 can control the 5GMS client 603 by implementing external application or content service provider-specific logic and enabling the establishment of media sessions. A 5GMS application server 605 can host 5G media functions. A 5GMS application provider 301 can be an external application or content-specific media function that uses 5GMS to stream media from the 5GMS-aware application 602, such as media storage, consumption, transcoding, and redistribution.
[0090] Media architecture 600 may include many different interfaces. For example, link M1 may be a 5GMS provisioning API exposed by 5GMS application functions 306 / 606 to provision the use of media architecture 600 and obtain feedback. Link M2 may be a 5GMS publishing API exposed by 5GMS application servers 305 / 605, and used when 5GMS application servers 305 / 606 in a trusted data network such as data network 610 are selected to receive content for streaming services. Link M3 may be an internal API for exchanging information about the content hosted on 5GMS application servers 305 / 605 between 5GMS application servers 305 / 605 and 5GMS application functions 306 / 606 within a trusted data network such as data network 610.
[0091] Link M4 can be a media uplink or downlink streaming API exposed by 5GMS application servers 305 / 605 to 5GMS clients 304 / 604 for streaming media content. Link M5 can be a media session processing API exposed by 5GMS application functions 306 / 606 to 5GMS clients 304 / 604 for media session processing, control, and assistance, including appropriate security mechanisms such as authorization and authentication. Link M8 can be an application API used for information exchange between 5GMS-aware applications 302 / 602 and 5GMS application providers 301, for example, to provide service access information to 5GMS-aware applications 302 / 602. Link I2 can be an internal API exposed by 5GMS application servers 305 / 605 to other 5GMS application servers 605 / 305 and used for communication with trusted data networks such as data network 610. Link I1 can be an internal API that is opened by 5GMS application function 306 / 606 to other 5GMS application functions 606 / 306 for communicating with trusted data networks such as data network 610.
[0092] Figure 7 Process 700 is illustrated, which can involve a compact call flow of content preparation, such as content preparation initiated by a 5GMS application provider requesting content, following uplink streaming of 5G-aware applications from a 5GMS UE but before downlink streaming of media content to the 5G-aware application on a client UE. Process 700 can be performed using architecture 600 or any desired architecture.
[0093] According to procedure 700, at operation 710, the 5GMS application provider 301 can initiate or establish a provisioning session with the downlink 5GMS application function 306 using link M1. The initiation and establishment of the provisioning session may include multiple sub-operations. The 5GMS application provider 301 can create a content preparation template and send it to the downlink 5GMS application function 306 using link M1. In some implementations, the 5GMS application provider 301 can use link M1 to request the downlink 5GMS application function 306 to create one or more content preparation templates, which define instructions for content preparation and content output format. The downlink 5GMS application function 306 can communicate with the downlink 5GMS application server 305, and the downlink 5GMS application function 306 can use link M3 to request the downlink 5GMS application server 305 to discover resources and allocate content preparation and content distribution resources based on the content preparation templates. Downlink 5GMS application function 306 can send an acknowledgment to 5GMS application provider 301 indicating the successful creation of a content preparation template, containing information related to content preparation resources or content distribution resources. In some embodiments, 5GMS application provider 301 can create a content hosting configuration template and send it to downlink 5GMS application function 306 using link M1. In some embodiments, 5GMS application provider 301 can use link M1 to request downlink 5GMS application function 306 to create one or more content hosting configuration templates. 5GMS downlink application function 306 can use link M3 to request downlink 5GMS application server 305 to allocate content preparation resources and content distribution resources based on the content hosting template. Downlink 5GMS application function 306 can use link M1 to send an acknowledgment to 5GMS application provider 301 indicating the successful creation of a content hosting configuration update, the allocation of content preparation resources, or the allocation of content distribution resources.
[0094] At operations 715 to 725, the 5GMS application provider 301 initiates and establishes a second pre-provisioning session with the uplink 5GMS application function 606. The initiation and establishment of the second pre-provisioning session may include multiple sub-operations. At operation 715, the 5GMS application provider 301 may create a content preparation template and send the content preparation template to the uplink 5GMS application function 606 using link M1. In some implementations, the 5GMS application provider 301 may use link M1 to request the uplink 5GMS application function 606 to create one or more content preparation templates, which define instructions for content preparation and for content output formatting. At operation 720, the uplink 5GMS application function 606 may communicate with the uplink 5GMS application server 605, and the uplink 5GMS application function 606 may use link M3 to request the uplink 5GMS application server 605 to discover resources and allocate content preparation resources and content distribution resources based on the content preparation templates. At operation 725, the uplink 5GMS application function 606 can send an acknowledgment to the 5GMS application provider 301, which indicates the successful creation of the content preparation template, containing information related to content preparation resources or information related to content distribution resources.
[0095] At operation 730, the 5GMS application provider 301 can broadcast the availability of content preparation services to one or more uplink 5GMS-aware applications 602 on the 5G network. At operation 735, the 5GMS-aware application 602 and the uplink 5GMS client 604 can communicate via the UE API using one of links M7 or M8. At operation 740, the uplink 5GMS client 604 can request or provide service access to or to the uplink 5GMS application function 606. At operation 745, the uplink 5GMS client 604 can request media session processing with the uplink 5GMS application function using link M5. At operation 750, the uplink 5GMS application server 605 receives uplink media streams from the uplink 5GMS client 604 using link M4. At operation 755, the downlink 5GMS application server 305 and the uplink 5GMS application server 605 can communicate with each other using the internal API via link I2. In some implementations, at operation 755, the downlink 5GMS application server 305 and the uplink 5GMS application server 605 can transmit or stream media content, which can be requested by a 5GMS-aware application 302 or modified by the downlink 5GMS application server 305 using a content preparation template. In some implementations, at operation 760, one or more downlink 5GMS-aware applications 302 can initiate a service request from a 5GMS application provider 301 using link M8.
[0096] At operation 765, 5GMS application provider 301 may initiate an optional update to the content preparation template. Operation 765 may include multiple sub-operations. In some implementations, service notifications or communications may exist between components and devices in the 5G network. 5GMS-aware application 302 may initiate a service request from 5GMS application provider 301 using link M8. 5GMS application provider 301 may update the content preparation template and send the updated content preparation template to downlink 5GMS application function 306. Downlink 5GMS application function 306 may communicate with downlink 5GMS application server 305, and downlink 5GMS application function 306 may use link M3 to request downlink 5GMS application server 305 to discover resources and allocate content preparation resources and content distribution resources based on the updated content preparation template. Downlink 5GMS application function 306 may send an acknowledgment to 5GMS application provider 301 indicating the successful creation of the updated content preparation template, containing information related to content preparation resources or containing information related to content distribution resources. The 5GMS application provider 301 can send an indication to the 5GMS sensing application 302 confirming that it can provide the services requested by the 5GMS sensing application 302.
[0097] At operation 770, the 5GMS application provider initiates and directs media content from the downlink 5GMS application server 305 to the 5GMS client 304 or the 5GMS sensing application 302 via downlink streaming. The initiation and directing of media content may include multiple sub-operations. In some implementations, the 5GMS sensing application 302 and the 5GMS client 304 may communicate via the UE API using one of links M7 or M8. The 5GMS client 304 may request or provide service access to the downlink 5GMS application function 306. The 5GMS client 304 may request a media session with the downlink 5GMS application function using link M5. The downlink 5GMS application function 306 may then request the start of a content preparation process from the downlink 5GMS application server 305. If the content preparation process has not been instantiated previously, the downlink 5GMS application server 305 may instantiate it. Therefore, the downlink 5GMS application server 305 may instantiate and execute the content preparation process upon request or just before downlink streaming (i.e., immediately). This real-time processing improves the computational efficiency of the 5G network because computation is not performed until needed. The downlink 5GMS application function 306 can then receive confirmation of the instantiation of the content preparation process. Partially or completely modified media content can be sent from the downlink 5GMS application server 305 to the 5GMS client 304, whereby the downlink 5GMS application server 305 partially or completely modifies the media content for downlink streaming based on a content preparation template. In some implementations, the downlink 5GMS application server 305 can add new processes to content preparation and processing and provide the requested content format based on available resources and distribution.
[0098] Figure 8 Procedure 800 is illustrated, which can involve a compact call flow of content preparation, such as content preparation initiated by a 5GMS application provider requesting content, following uplink streaming of 5G-aware applications from a 5GMS UE but before downlink streaming of media content to the 5G-aware application on a client UE. Procedure 800 can be performed using architecture 600 or any desired architecture. Operations 830 to 840 are similar to operations 760 to 770 in procedure 700.
[0099] According to procedure 800, at operation 810, 5GMS application provider 301 can initiate a combined pre-configuration session with both uplink 5GMS application function 606 and downlink 5GMS application function 306. Operation 800 can have multiple sub-operations.
[0100] 5GMS application provider 301 can use link M1 to initiate or establish a provisioning session with downlink 5GMS application function 306 and uplink 5GMS application function 606. In some embodiments, 5GMS application provider 301 can create content preparation templates and send them to downlink 5GMS application function 306 and uplink 5GMS application function 606 using link M1. In some embodiments, 5GMS application provider 301 can use link M1 to request the creation of one or more content preparation templates from downlink 5GMS application function 306 and uplink 5GMS application function 606, wherein the one or more content preparation templates define instructions for content preparation and for content output format. Downlink 5GMS application function 306 can communicate with downlink 5GMS application server 305, and downlink 5GMS application function 306 can use link M3 to request downlink 5GMS application server 305 to discover resources and allocate content preparation resources and content distribution resources based on content preparation templates. Similarly, uplink 5GMS application function 606 can communicate with uplink 5GMS application server 605, and uplink 5GMS application function 606 can use link M3 to request uplink 5GMS application server 605 to discover resources, and allocate content preparation resources and content distribution resources based on content preparation templates. Then, downlink 5GMS application function 302 and uplink 5GMS application function 606 can send an acknowledgment to 5GMS application provider 301, indicating the successful creation of the content preparation template, containing information related to content preparation resources or containing information related to content distribution resources.
[0101] At operation 815, 5GMS application provider 301 may broadcast the availability of content preparation service to one or more 5GMS aware applications on the 5G network. At operation 820, 5GMS application provider 301 may direct media content from uplink 5GMS aware application 602 to uplink streaming on uplink 5GMS client 604, which has already requested service from the 5G network. In some implementations, uplink streaming of media content may include multiple sub-operations. As an example, uplink 5GMS aware application 602 and uplink 5GMS client 604 may communicate via the UE API using one of links M7 or M8. Uplink 5GMS client 604 may request service access from or provide service access to uplink 5GMS application function 606. Uplink 5GMS client 604 may request media session processing with uplink 5GMS application function 606 using link M5. The uplink 5GMS application server 605 uses M4 to receive uplink media streams from the uplink 5GMS client 604.
[0102] At operation 825, the downlink 5GMS application server 305 and the uplink 5GMS application server 605 can communicate with each other using the internal API via Link I2. In some implementations, at operation 825, the downlink 5GMS application server 305 and the uplink 5GMS application server 605 can transmit or stream media content, which can be requested by the downlink 5GMS-aware application 302 or modified by the downlink 5GMS application server 305 using a content preparation template.
[0103] Figure 9A An exemplary flowchart illustrating process 900 is shown, which may involve a 5GMS application provider guiding a content preparation process to process media content streaming on a 5G network.
[0104] At point 910, the 5GMS application provider can create a content preparation template that includes first information and second information. In some implementations, the first information may include information about content preparation. As an example, the first information may include specific instructions for content preparation. In some implementations, the second information may include information about content output. As an example, the second information may include instructions specifying media content requirements and output formats. As an example, the 5GMS application provider 301 can create a preparation template that includes both first and second information.
[0105] In some implementations, the content preparation template created by the 5GMS application provider 301 can be instantiated before the modified content is streamed downlink from the 5GMS application server 305 to the 5GMS sensing application 302. In some implementations, the content preparation template created by the 5GMS application provider 305 can be instantiated after the content is streamed uplink from the 5GMS sensing application 302 to the 5GMS application server 305. In some implementations, the content preparation template created by the 5GMS application provider 301 can be instantiated after the content is streamed uplink from the 5GMS sensing application 302 to the 5GMS application server 305, and before the modified content is streamed downlink to the 5GMS sensing application 302. The creation of the content preparation template by the 5GMS application provider in response to uplink or downlink streaming of content ensures that resources are supplied only when needed, thereby improving the use of network resources, bandwidth, and storage.
[0106] At point 915, a 5GMS application provider can establish a first pre-configuration session with a 5GMS application function. As an example, 5GMS application provider 301 can use link M1 to establish a first pre-configuration session with 5GMS application function 306.
[0107] At point 920, the 5GMS application provider can send a content preparation template to the 5GMS application function. As an example, the 5GMS application provider 301 can use link M1 to establish a first provisioning session with the 5GMS application function 306 and send the content preparation template using link M1.
[0108] At point 925, the 5GMS application provider can receive a first confirmation from the 5GMS application function, including an instruction for the allocation of at least one of content preparation resources and content distribution resources. As an example, 5GMS application function 306 can send a first confirmation to 5GMS application provider 301, indicating the successful creation of a content preparation template, containing information related to either content preparation resources or content distribution resources.
[0109] At 930, the 5GMS application provider can update the content preparation template. In some implementations, the content preparation template update can be in response to a request for content from one or more user devices before downlink streaming to the user devices. As an example, 5GMS application provider 301 can update the content preparation template in response to a request for modified content from 5GMS sensing application 302 before downlink streaming to the 5GMS sensing application 302. In some implementations, the content preparation template update can be in response to a request from the application provider or one or more user devices before uplink streaming to the application provider. As an example, 5GMS application provider 301 can update the content preparation template in response to a request from 5GMS application provider 301 before uplink streaming from 5GMS application server 305 to 5GMS application provider 301. In some implementations, updating the content preparation template can include adding or removing one or more processes associated with the allocation of content preparation resources and content distribution resources.
[0110] At point 935, the 5GMS application provider can send the updated content preparation template to the 5GMS application function. As an example, 5GMS application provider 301 can send the updated content preparation template to 5GMS application function 306. At point 940, the 5GMS application provider can receive an update confirmation from the 5GMS application function. As an example, 5GMS application provider 301 can receive an update confirmation from 5GMS application function 306.
[0111] Figure 9BAn exemplary flowchart illustrating process 950 is shown, which may involve a 5GMS application provider guiding a content preparation process to process media content streaming on a 5G network. In some embodiments, process 950 may involve a 5GMS application provider establishing a second provisioning session with a second 5GMS application function. In some embodiments, the 5GMS application provider may initiate the establishment of a second provisioning session to modify or process media content after media content is uploaded by an uplink 5GMS-aware application associated with an uplink 5GMS client but before media content is downloaded by a downlink 5GMS-aware application associated with a downlink 5GMS client. As an example, when media content is processed after a 5GMS-aware application 602 associated with 5GMS client 604 uploads media content to the 5G network but before media content is downloaded by a 5GMS-aware application 302 associated with 5GMS client 304, the 5GMS application provider 301 may provision a second session with another 5GMS application function 606.
[0112] At point 960, a 5GMS application provider can establish a second pre-configured session with a second 5GMS application function. As an example, 5GMS application provider 301 can establish a second pre-configured session with a second 5GMS application function 606.
[0113] At point 965, a 5GMS application provider may define a resource request based on the allocation of at least one of content preparation resources and content distribution resources. As an example, a 5GMS application provider 301 may define a resource request based on the allocation of at least one of content preparation resources and content distribution resources as indicated by the first confirmation.
[0114] At point 970, a 5GMS application provider can send a resource request to a second 5GMS application function. As an example, 5GMS application provider 301 can send a resource request to a second 5GMS application function 606.
[0115] At point 975, the 5GMS application provider may receive a second confirmation from a second 5GMS application function, which includes an instruction for the allocation of content preparation resources and content distribution resources based on a resource request. As an example, 5GMS application provider 301 may receive a second confirmation from a second 5GMS application function 606, which indicates the allocation of content preparation resources and content distribution resources based on a resource request from 5GMS application provider 301.
[0116] although Figures 4 to 5 and Figures 7 to 9BExample operations of processes 400, 500, 700, 800, 900, and 950 in the embodiments are shown, but 400, 500, 700, 800, 900, and 950 may include... Figures 4 to 5 and Figures 7 to 9B The operations described herein are those that, compared to other operations, fewer operations, different operations, or different arrangements. In embodiments, any operation of processes 400, 500, 700, 800, 900, and 950 may be combined or arranged in any quantity or order as desired. In embodiments, two or more operations of processes 400, 500, 700, 800, 900, and 950 may be executed in parallel. The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit implementations to the exact forms disclosed. Modifications and variations may be made based on the foregoing disclosure, or modifications and variations may be derived from the practice of implementation.
[0117] As used herein, the term “component” is intended to be interpreted broadly as hardware, firmware, or a combination of hardware and software.
Claims
1. A method for real-time content preparation for 5G media streaming 5GMS, characterized in that, The method includes: A content preparation template is created by a 5GMS application provider, wherein the content preparation template includes first information specifying instructions for content preparation and second information specifying instructions for content output; Establishing a pre-provisioning session with more than one 5GMS application function; including sending the content preparation template to the 5GMS application function in an established first pre-provisioning session with the 5GMS application function; and receiving a first confirmation from the 5GMS application function, wherein the first confirmation indicates the allocation of at least one of 5GMS content preparation resources and 5GMS content distribution resources. Update the content preparation template; the update of the content preparation template is in response to a request for content from one or more user devices before downlink streaming to one or more user devices; or, the update of the content preparation template is in response to a request from the 5GMS application provider before uplink streaming to the 5GMS application provider. Send the updated content preparation template to the 5GMS application function; and Receive update confirmation from the 5GMS application function, wherein the update confirmation indicates the allocation of an update to at least one of the 5GMS content preparation resources and the 5GMS content distribution resources.
2. The method according to claim 1, characterized in that, Before streaming the modified content from the 5GMS application server downlink to one or more user devices, the creation of the content preparation template is instantiated.
3. The method according to claim 1, characterized in that, After the content is streamed from one or more user devices to the 5GMS application server via the uplink, the creation of the content preparation template is instantiated.
4. The method according to claim 1, characterized in that, The creation of the content preparation template is instantiated after the content is uplinked to the 5GMS application server and before the modified content is downlinked to one or more user devices.
5. The method according to claim 1, characterized in that, The update of the content preparation template includes at least one of the following: adding or removing the process associated with the allocation of at least one of the 5GMS content preparation resources and the 5GMS content distribution resources.
6. The method according to claim 1, characterized in that, The method further includes: Based on the first confirmation, the availability of the content preparation service for broadcasting to one or more 5G sensing applications is confirmed.
7. The method according to claim 1, characterized in that, The method further includes: Create a content hosting configuration template, wherein the content hosting configuration template includes instructions for 5GMS third-party providers to optimize the delivery of media content through the 5G media streaming network; and Send the content hosting configuration template to the 5GMS application function.
8. The method according to claim 1, characterized in that, The 5GMS application function includes a first 5GMS application function, and the method further includes: Establish a second pre-configured session with the second 5GMS application function; Define a resource request, wherein the resource request is based on the allocation of at least one of the 5GMS content preparation resources and the 5GMS content distribution resources; In the second pre-configured session, the resource request is sent to the second 5GMS application function; and Receive a second confirmation from the second 5GMS application function, wherein the second confirmation indicates the allocation of the 5GMS content preparation resources and the 5GMS content distribution resources based on the resource request.
9. An apparatus for real-time content preparation for 5G media streaming 5GMS networks, characterized in that, The device includes: At least one memory, the at least one memory being configured to store program code; and At least one processor, the at least one processor being configured to read the program code and execute the method as instructed by the program code as described in any one of claims 1-8.
10. A non-transitory computer-readable medium storing instructions, characterized in that, The instructions include one or more instructions that, when executed by one or more processors, cause the one or more processors to perform the method as described in any one of claims 1-8.