Method, device, apparatus, and readable medium for content preparation for 5GMS network

By receiving and applying Content Preparation Templates (CPTs) in 5GMS networks to specify input and output CMAF track features and encoding parameters, the problem of the lack of content preparation templates in 5GMS networks is solved, improving the efficiency and quality of content preparation and streaming.

CN115699777BActive Publication Date: 2026-03-31TENCENT AMERICA LLC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-03
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

The lack of defined content preparation templates in existing 5GMS networks leads to non-standard and inefficient content preparation processes.

Method used

A content preparation method and apparatus are provided, which specify the characteristics and encoding parameters of input and output CMAF tracks by receiving a content preparation template (CPT) and perform content streaming using a 5GMS network.

Benefits of technology

It has enabled a standardized content preparation process in 5GMS networks, improving the efficiency and quality of content streaming.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115699777B_ABST
    Figure CN115699777B_ABST
Patent Text Reader

Abstract

A system, device and method for media processing and streaming. The method comprises receiving content to be prepared for a 5GMS network; receiving a content preparation template (CPT), wherein the CPT specifies input characteristics of an input common media application format (CMAF) track corresponding to the content, output characteristics of a set of output CMAF tracks corresponding to the content and encoding parameters corresponding to the set of output CMAF tracks; preparing the content according to the CPT; and streaming the prepared content to a media streaming client over the 5GMS network.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications

[0002] This application claims priority to U.S. Provisional Application No. 63 / 187,803, filed May 12, 2021, with the United States Patent and Trademark Office, the entire disclosure of which is incorporated herein by reference. Technical Field

[0003] Embodiments of this disclosure relate to media processing and streaming methods and systems, and more particularly to a method, apparatus, device, and non-transitory computer-readable medium for content preparation for 5GMS networks. Background Technology

[0004] The 3rd Generation Partnership Project (3GPP) TS26.512 (3rd Generation Partnership Project; Technical Specification Group Services and Systems Aspects; 5G Media Streaming (5GMS); Protocol (Revision 16), V1.1.0) defines the concept of content preparation templates to set up the processing of media streams before hosting content for streaming. 3GPP TS26.512 also defines content hosting configurations for distributing content. However, 3GPP TS26.512 does not define the format for content preparation templates.

[0005] The 5G media streaming architecture defined in 5GMS only defines the general architecture for uplink and downlink media streaming. Furthermore, 3GPP TS26.512 does not define any specific templates for content preparation. Summary of the Invention

[0006] According to one or more embodiments, a method for preparing content for a 5G media streaming (5GMS) network, executed by at least one processor, includes: receiving content to be prepared for the 5GMS network; receiving a content preparation template (CPT), wherein the CPT specifies input features of an input Common Media Application Format (CMAF) track corresponding to the content, output features of a set of output CMAF tracks corresponding to the content, and encoding parameters corresponding to the set of output CMAF tracks; preparing the content according to the CPT; and streaming the prepared content to a media streaming client via the 5GMS network.

[0007] According to one or more embodiments, an apparatus for content preparation for a 5GMS network includes: at least one memory configured to store program code; and at least one processor configured to read the program code and operate as instructed by the program code, the program code including: first receiving code configured to cause the at least one processor to receive content to be prepared for a 5GMS network; second receiving code configured to cause the at least one processor to receive a content preparation template (CPT), wherein the CPT specifies input features of an input Common Media Application Format (CMAF) track corresponding to the content, output features of a set of output CMAF tracks corresponding to the content, and encoding parameters corresponding to the set of output CMAF tracks; preparation code configured to cause the at least one processor to prepare the content according to the CPT; and streaming code configured to cause the at least one processor to stream the prepared content to a media streaming client via the 5GMS network.

[0008] According to one or more embodiments, a non-transitory computer-readable medium storage instruction includes: one or more instructions that, when executed by one or more processors in a device for content preparation for a 5GMS network, cause the one or more processors to: receive content to be prepared for a 5GMS network; receive a content preparation template (CPT), wherein the CPT specifies input features of an input Common Media Application Format (CMAF) track corresponding to the content, output features of a set of output CMAF tracks corresponding to the content, and encoding parameters corresponding to the set of output CMAF tracks; prepare the content according to the CPT; and stream the prepared content to a media streaming client via the 5GMS network.

[0009] According to one or more embodiments, an apparatus for content preparation for a 5GMS network is provided. The apparatus includes: a first receiving unit, a second receiving unit, a preparation unit, and a transmission unit. The first receiving unit is configured to receive content to be prepared for a 5GMS network. The second receiving unit is configured to receive a Content Preparation Template (CPT). The CPT specifies input features of an Input Common Media Application Format (CMAF) track corresponding to the content, output features of a set of CMAF tracks corresponding to the content, and encoding parameters corresponding to the set of output CMAF tracks. The preparation unit is configured to prepare the content according to the CPT. The transmission unit is configured to stream the prepared content to a media streaming client via the 5GMS network.

[0010] According to the technical solution of this disclosure, in a streaming scenario, a single Common Media Application Format (CMAF) track is provided as input, and a single unencrypted CMAF switch set is provided as output. Furthermore, the technical solution of this disclosure describes specific examples of input and output features in a content preparation template, thereby providing a specific template for content preparation. Attached Figure Description

[0011] 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:

[0012] Figure 1 This is a diagram of an environment in which the methods, apparatus and systems described herein can be implemented according to the embodiments.

[0013] Figure 2 yes Figure 1 A block diagram of example components of one or more devices.

[0014] Figure 3 This is a block diagram of a media architecture for media uplink streaming according to an implementation method.

[0015] Figure 4 This is a block diagram of a media architecture for media downlink streaming according to an implementation method.

[0016] Figure 5 This is a block diagram of a media architecture for media downlink streaming according to an implementation method.

[0017] Figure 6 This is a flowchart of an example process for content preparation for a 5GMS network according to an implementation method. Detailed Implementation

[0018] 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.

[0019] 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 embodiments, user equipment 110 may receive information from platform 120 and / or send information to platform 120.

[0020] 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. Thus, platform 120 can be easily and / or quickly reconfigured for different purposes.

[0021] In some implementations, as shown, platform 120 may be hosted in cloud computing environment 122. It is worth noting that while 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., it may be implemented outside of a cloud computing environment) or may be partially cloud-based.

[0022] 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 referred to as "computing resources 124").

[0023] 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.

[0024] For example, further Figure 1As 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 devices (“Virtualized Storage, VS”) 124-3, one or more hypervisors (“Hypervisor, HYP”) 124-4, etc.

[0025] 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.

[0026] 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 provide a complete system platform supporting the execution of a full 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.

[0027] Virtualized storage device 124-3 includes one or more storage systems and / or one or more devices that utilize virtualization technology within the 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 extraction (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 flexibility in how they manage 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.

[0028] 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.

[0029] 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.

[0030] Figure 1 The number and arrangement of devices and networks shown are provided as examples. In practice, with Figure 1 Compared 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 with different arrangements. 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.

[0031] 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 2As shown, device 200 may include bus 210, processor 220, memory 230, storage unit 240, input unit 250, output unit 260 and communication interface 270.

[0032] 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), Random 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.

[0033] 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 drives), compact discs (CDs), digital versatile discs (DVDs), floppy disks, cassette tapes, magnetic tapes, and / or other types of non-transitory computer-readable media and corresponding drives.

[0034] 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)).

[0035] Communication interface 270 includes transceiver-like components (e.g., a 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.

[0036] 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 non-transitory computer-readable media such as memory 230 and / or storage unit 240. Computer-readable media are defined herein as non-transitory memory devices. Memory devices include memory space within a single physical storage device or memory space distributed across multiple physical storage devices.

[0037] 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.

[0038] Figure 2 The number and arrangement of components shown are provided as an example. In practice, with Figure 2Compared 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.

[0039] 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. 5GMS application providers can include those that interact with and provide 5GMS-aware applications that interact with the 5GMS system. 5GMS-aware applications can refer to applications in a User Equipment (UE) provided by a 5GMS application provider, containing the service logic of 5GMS application services, and interacting with other 5GMS clients and network functions via interfaces and application programming interfaces (APIs) defined in the 5GMS architecture. A 5GMS client can refer to a UE function that is a 5GMS downlink (5GMSd) client, a 5GMS uplink (5GMSUplink (5GMSu)) client, or both a 5GMS downlink client and a 5GMS uplink client.

[0040] 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.

[0041] Dynamic policies can refer to dynamic policy and charging control (PCC) rules used for uplink or downlink application flows during a media session. An outgoing session can refer to an uplink media streaming session from a 5GMS AS to a 5GMS Application Provider. An incoming 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 that document (e.g., a Media Presentation Description (MPD) for DASH (Dynamic Adaptive Streaming over Hypertext Transfer Protocol) or a Uniform Resource Locator (URL) for a video clip file). Media streamer entries can refer to a pointer to the entry point that defines an uplink media streaming session (e.g., in the form of a URL). Presentation entries can refer to a document that defines application presentation, such as an HTML5 document or a pointer to that document.

[0042] A provisioning 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 address and 5GMSd AS address) 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 provisioning 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 obtain 5GMS service access information directly or through reference to that information.

[0043] 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 utilize the selected 5GMSu functionality to capture and stream media content.

[0044] The 5G media streaming architecture defined in 3GPP TS26.501 (3rd Generation Partnership Project; Technical Specification Group Services and Systems Aspects; 5G Media Streaming (5GMS); General Description and Architecture (Revision 16), V16.3.1) only defines the general architecture for uplink and downlink media streaming. Furthermore, 3GPP TS26.512 defines the concept of a Content Preparation Template (CPT) to prepare received content for downlink streaming. However, 3GPP TS26.512 does not define any specific template for content preparation.

[0045] 5G media streaming architecture for downlink and uplink streaming Figure 3 and Figure 4 As shown in the image.

[0046] Figure 3This is a diagram of the media architecture 300 used for media uplink streaming. The 5G Media Streaming Uplink (5GMSu) application provider 301 can use 5GMSu for uplink streaming services. The 5GMSu application provider 301 can provide a 5GMSu-aware application 302 on the UE 303 to utilize the interfaces and APIs defined in 5GMSu to leverage the 5GMSu client 304 and network functions. The 5GMSu application server (AS) can be an AS dedicated to 5G media uplink streaming. The 5GMSu client 304 can be an internal function of the UE 303 dedicated to 5G media uplink streaming.

[0047] The 5GMSu Application Function (AF) 306 and 5GMSu AS 305 can be data network (DN) functions 307. Functions in a trusted DN can be trusted by the operator's network. Therefore, the AF in the trusted DN can communicate directly with all 5G core functions. Functions in an external DN can communicate only with 5G core functions via link 320 through the Network Exposure Function (NEF) 308.

[0048] Media architecture 300 can connect the internal functions of UE 303 and related network functions for 5G media uplink streaming. Therefore, media architecture 300 can include numerous functions. For example, the 5GMSu client 304 on UE 303 can be the initiator of 5GMSu services accessible via an interface / API. 5GMSu client 304 can include two sub-functions: a media session processor 309 and a media streamer 310. The media session processor 309 can communicate with the 5GMSu AF 306 to establish, control, and support the delivery of media sessions. The media session processor 309 can expose APIs that can be used by the 5GMSu-aware application 302. The media streamer 310 can communicate with the 5GMSu AS 305 to stream media content and provide services for media capture and streaming to the 5GMSu-aware application 302, and services for media session control to the media session processor 309. The 5GMSu awareness application 302 can control the 5GMSu client 304 by implementing external application or content service provider-specific logic and enabling the establishment of media sessions. The 5GMSu AS 305 can host 5G media functions. The 5GMSu application provider 301 can be an external application or content-specific media function that uses 5GMSu to stream media from the 5GMSu awareness application 302, such as media storage, consumption, transcoding, and redistribution. The 5GMSu AF 306 can provide various control functions to the media session processor 309 on the UE 303 and / or to the 5GMSu application provider 301. The 5GMSu AF 306 can relay or initiate requests for processing of different Policy or Charging Function (PCF) 311, or interact with other network functions.

[0049] Media architecture 300 may include many different interfaces. For example, link 321 may be associated with M1u, which may be a 5GMSu provisioning API exposed by 5GMSu AF 306 to provide access to and feedback from media architecture 300. Link 322 may be associated with M2u, which may be a 5GMSu publishing API exposed by 5GMSu AS 305 and used when a trusted DN such as DN 307 is selected to receive content for streaming services. Link 323 may be associated with M3u, which may be an internal API for exchanging information about content hosted on 5GMSu AS 305 within a trusted DN such as DN 307. Link 324 may be associated with M4u, which may be a media uplink streaming API exposed by 5GMSu AS 305 to media streamer 310 for streaming media content. Link 325 may be associated with M5u, which can be a media session processing API exposed by 5GMSuAF 306 to the media session processor for media session processing, control, and assistance, and includes appropriate security mechanisms such as authorization and authentication. Link 326 may be associated with M6u, which can be a UE 303 media session processing API exposed by media session processor 309 to 5GMSu sensing application 302 to utilize 5GMSu functionality. Link 327 may be associated with M7u, which can be a UE media streamer API exposed by media streamer 310 to 5GMSu sensing application 302 and media session processor 309 to utilize media streamer 310. Link 328 may be associated with M8u, which can be an application API for information exchange between 5GMSu sensing application 302 and 5GMSu application provider 301, such as providing service access information to 5GMSu sensing application 302.

[0050] Figure 4 This is a diagram of the media architecture 400 used for media downlink streaming. A 5G Media Streaming Downlink (5GMSd) application provider 401 can use 5GMSd for downlink streaming services. The 5GMSd application provider 401 can provide a 5GMSd-aware application 402 on the UE 403 to utilize the interfaces and APIs defined in 5GMSd to leverage the 5GMSd client 404 and network functions. The 5GMSd application server (AS) can be an AS dedicated to 5G media downlink streaming. The 5GMSd client 404 can be an internal function of the UE 403 dedicated to 5G media downlink streaming.

[0051] 5GMSd Application Function (AF) 406 and 5GMSd AS 405 can be Data Network (DN) functions 407. Functions in a Trusted DN can be trusted by the operator's network. Therefore, an AF in a Trusted DN can communicate directly with all 5G core functions. Functions in an External DN can communicate only with 5G core functions via Link 420 through Network Exposure Function (NEF) 408.

[0052] Media architecture 400 can connect the internal functions of UE 403 and related network functions for 5G media downlink streaming. Therefore, media architecture 400 can include numerous functions. For example, the 5GMSd client 404 on UE 403 can be a receiver of 5GMSd services accessible via an interface / API. The 5GMSd client 404 can include two sub-functions: a media session processor 409 and a media streamer 410. The media session processor 409 can communicate with the 5GMSd AS 406 to establish, control, and support the delivery of media sessions. The media session processor 409 can expose APIs that can be used by the 5GMSd-aware application 402. The media streamer 410 can communicate with the 5GMSd AS 405 to stream media content and provide services for media playback to the 5GMSd-aware application 402, and services for media session control to the media session processor 409. The 5GMSd-aware application 402 can control the 5GMSd client 404 by implementing external application or content service provider-specific logic and enabling the establishment of media sessions. The 5GMSd AS 405 can host 5G media functions. The 5GMSd application provider 401 can be an external application or content-specific media function that uses 5GMSd to stream media to the 5GMSd-aware application 402, such as media creation, encoding, and formatting. The 5GMSd AF 406 can provide various control functions to the media session processor 409 on the UE 403 and / or to the 5GMSd application provider 401. The 5GMSd AF 406 can relay or initiate requests for processing different Policy or Charging Function (PCF) 411, or interact with other network functions.

[0053] Media architecture 400 may include many different interfaces. For example, link 421 may be associated with M1d, which may be a 5GMSd provisioning API exposed by 5GMSd AF 406 to provide access to and feedback from media architecture 400. Link 422 may be associated with M2d, which may be a 5GMSd ingestion API exposed by 5GMSd AS 405, and used when a trusted DN such as DN 407 is selected to receive content for streaming services. Link 423 may be associated with M3d, which may be an internal API for exchanging information about content hosted on 5GMSd AS 405 within a trusted DN such as DN 407. Link 424 may be associated with M4d, which may be a media downlink streaming API exposed by 5GMSd AS 405 to media streamer 410 for streaming media content. Link 425 may be associated with M5d, and can be a media session processing API exposed by 5GMSdAF 406 to the media session processor for media session processing, control, and assistance, including appropriate security mechanisms such as authorization and authentication. Link 426 may be associated with M6d, and can be a UE 403 media session processing API exposed by media session processor 409 to 5GMSd-aware application 402 to utilize 5GMSd functionality. Link 427 may be associated with M7d, and can be a UE media player API exposed by media streamer 410 to 5GMSd-aware application 402 and media session processor 409 to utilize media streamer 410. Link 428 may be associated with M8d, and can be an application API for information exchange between 5GMSd-aware application 402 and 5GMSd application provider 401, such as providing service access information to 5GMSd-aware application 402.

[0054] Figure 5 This is a diagram of a media architecture 500 for media downlink streaming according to an implementation method. (See diagram for example.) Figure 5 As can be seen, media architecture 500 can be similar to media architecture 400, except that 5GMSd sensing applications 402, 5GMSd AF 406, and 5GMSd AS 405 can communicate with 5GMSd application provider 501. In an implementation, 5GMSd application provider 501 may be included in external DN 507 instead of trusted DN 407.

[0055] As mentioned above, 3GPP TS26.512 defines the concept of a content preparation template to prepare received content for downlink streaming, but does not define the format for the content preparation template.

[0056] According to the implementation, use cases for the implementations discussed herein may include the following streaming scenario: in this streaming scenario, a single Common Media Application Format (CMAF) track is provided as input, and a single unencrypted CMAF switch set is provided as output. For example, in the implementation, the following constraints can be used to generate CMAF streaming content:

[0057] 1. The input for content preparation can be a CMAF track.

[0058] 2. The output can be a set of CMAF tracks as part of a CMAF switching set.

[0059] 3. Input and output tracks can be unencrypted.

[0060] Content preparation parameters for CMAF encoding

[0061] In the implementation, one or more of the following parameters can be defined for the content preparation template:

[0062] 1. Enter the address / location of the CMAF segment.

[0063] 2. Output CMAF switching set information

[0064] a. Output parameters: Features that can be described in the listing, such as MPD or DASH. While these parameters are per-track, if one or more of these parameters are common to cross-tracks, they can be described as a single parameter. For example:

[0065] i. Container configuration file, codec / configuration file / level, bandwidth, container configuration file, maximum SAP cycle, starting from SAP

[0066] ii. Width, height, sample aspect ratio, frame rate

[0067] iii. Audio sampling rate and audio channel configuration

[0068] b. Encoding Parameters: Parameters not presented in the output list used to encode each track, such as bit rate control, motion search region and algorithm, CBR (Constant Bit Rate) / VBR (Variable Bit Rate) / capped VBR encoding, and the use of specific quality metrics. Encoding parameters may include:

[0069] i. Generic encoding parameters (which can be generic across codecs / configuration files / levels)

[0070] ii. Supplier-defined (implementation-specific) parameters

[0071] The following five examples, listed as Examples 1 through 5, provide examples for describing input and output features in a content preparation template according to an implementation method. Examples 1 and 2 relate to input features, and Examples 3 through 5 relate to output features.

[0072] Example 1 - CMAF Input Format Using DASH MPD Manifestations

[0073] According to Example 1, the input features can be defined by a DASH MPD manifest. The manifest can define the features of the CMAF tracks. In an implementation, the DASH MPD manifest can define the location of the CMAF segments when those segments are dumped using an HTTP fetch protocol.

[0074] Example 2 - CMAF Input Format using the new document format

[0075] Based on Example 2, a new document format using a format such as JavaScript Object Notation (JSON) can be used to describe the input CMAF segments. This solution can provide benefits when using the same format to describe the output CMAF format. This document format can be equivalent to the manifest format described in Example 1.

[0076] Example 3 - CMAF output format using extended manifest format

[0077] According to Example 3, a standard manifest format can be used for output parameters. In implementations, the manifest format can be extended to carry coded parameters, such as general parameters and vendor-specific parameters.

[0078] In implementations, the MPD format can be used, and descriptors can be added to the adapter set and / or to the representation used for encoding parameters. For example, two types of descriptors can be added:

[0079] 1. A generic encoding descriptor for each codec, which carries generic parameters.

[0080] 2. A vendor-specific descriptor that carries vendor-defined parameters.

[0081] Because the MPD basic and supplementary descriptor syntax allows for different scheme Uniform Resource Identifiers (URIs), the above features can be represented using the same descriptor data type and by qualifying a specific scheme identifier.

[0082] Example 4 - CMAF output format using a manifest with an externally encoded document

[0083] Based on Example 4, a standard listing can be used to describe the output parameters, and a separate document can be used to describe the encoding parameters.

[0084] For example, the following elements can be used:

[0085] 1. MPD format used for output parameters

[0086] 2. A JSON array containing an array of objects, including a representation id indicating the encoding parameters used for the representation, referencing the MPD in Example 1. The encoding parameters may include a set of generic parameters and may also be extended using vendor-specific parameters within the object, which can be identified by a URI identifier specific to any particular vendor.

[0087] Example 5 - CMAF output format for documents using both qualifying manifests and encoding parameters

[0088] Based on Example 5, a new document can be used to describe both the manifest and the encoded parameters. An example of this solution could be a JSON array that can include array elements of objects, each containing the following information:

[0089] 1. Commonly used output parameters in the list

[0090] 2. General encoding parameters

[0091] 3. Encoder-specific parameters with vendor-specific identifiers (e.g., URIs).

[0092] In implementation, the Content Protection Information Exchange Format (CPIX) according to DASH-IF (ETSI (European Telecommunications Standards Institute, ETSI) TS (Technical Specification, TS) 103 799 V1.1.1, Publicly Available Specification, PAS; DASH-IF Content Protection Information Exchange Format) can be used. For example, the CPIX format can be extended to carry the required additional parameters.

[0093] Create a content preparation template by combining input and output descriptions.

[0094] In this implementation, all input, output, and encoding information can be provided as a content preparation template. Therefore, the following solution is possible for the entire template.

[0095] For example, in one implementation, the content preparation template may include a single MPD. The MPD may include an adapter set having an input representation of the description input according to Example 1, and an adapter set having multiple input representations of the description output track according to Example 3.

[0096] As another example, in an implementation, the content preparation template may include a document containing two MPDs, and may also include additional documents. For example, the content preparation template may include an MPD input according to the description of Example 1, and one of the following: an MPD containing output parameters and encoding parameters according to the description of Example 3; or an MPD output according to the description of Example 4 and a document describing the encoding parameters.

[0097] As another example, in an implementation, the content preparation template may include a single JSON document. The JSON document may include an item representing the input as described in Example 2, and an array of objects as described in Example 5, each of which describes an output and encoding parameters for that output.

[0098] Therefore, implementations may relate to a method for defining a CMAF content preparation template using a single MPD, in which an adapter set defines input features and an adapter set defines output features, wherein each representation represents an output and encoding parameters are added using basic / supplementary descriptors.

[0099] Furthermore, implementations may involve a method for qualifying a CMAF content preparation template using a JSON document having the following three objects: an MPD for qualifying the input; an MPD for qualifying the output; and a JSON array object, wherein each object element has a reference to an id represented in the output MPD and encoding parameters for that output.

[0100] Alternatively, the implementation may involve a method for defining a CMAF content preparation template using a JSON document having the following three objects: an object for defining input features in the JSON; and an array object, wherein each element is an object describing the output and encoding parameters for that output.

[0101] Figure 6 This is a flowchart of an example process 600 for content preparation used in media streaming networks such as 5GMS networks. Figure 6 One or more processing blocks can be executed by 5GMSd AF 406. In some implementations, Figure 6One or more processing blocks may be executed by another device or group of devices separate from or including the 5GMSd AF 406, such as the 5GMSu AF 306, the 5GMSu application provider 301, the 5GMSu application provider 401, or other elements of DN 307, DN 407 and external DN 507.

[0102] like Figure 6 As shown, the process 600 may include receiving content to be prepared for a media streaming network, such as a 5GMS network (block 602).

[0103] like Figure 6 As further shown, the process 600 may include receiving a Content Preparation Template (CPT), wherein the CPT specifies the input features of the input Common Media Application Format (CMAF) track corresponding to the content, the output features of a set of output CMAF tracks corresponding to the content, and the encoding parameters corresponding to the set of output CMAF tracks (block 604).

[0104] like Figure 6 As further shown, processing 600 may include preparing content based on a content preparation template (block 606).

[0105] like Figure 6 As further shown, processing 600 may include streaming the prepared content to a media streaming client via a media streaming network, such as a 5GMS network (block 608).

[0106] In an implementation, the CPT may include a Media Presentation Description (MPD) based on Dynamic Adaptive Streaming over Hypertext Transfer Protocol (DASH), the MPD including a first adapter set and a second adapter set, wherein the first adapter set corresponds to input features, and wherein the second adapter set corresponds to output features and encoding parameters.

[0107] In an implementation, the first adaptation set may include representations corresponding to input features, and the second adaptation set may include multiple representations corresponding to a set of output CMAF tracks and at least one additional descriptor corresponding to encoding parameters.

[0108] In an implementation, the CPT may include a first Dynamic Adaptive Streaming over Hypertext Transfer Protocol (DASH) Media Presentation Description (MPD) corresponding to the input features and a second DASH MPD corresponding to the output features and encoding parameters.

[0109] In an implementation, the second DASH MPD may include an adapter set that includes multiple representations corresponding to a set of output CMAF tracks and at least one additional descriptor corresponding to the encoding parameters.

[0110] In an implementation, the second DASH MPD may include an adapter set comprising: multiple representations corresponding to a set of output CMAF tracks, and a JavaScript Object Notation (JSON) object specifying a representation identifier that identifies a representation in the first MPD, wherein the representation corresponds to encoding parameters.

[0111] In an implementation, the CPT may include a JavaScript Object Notation (JSON) document, which includes a first JSON object corresponding to the input features and an array of JSON objects corresponding to the output features and encoding parameters.

[0112] Although Figure 6 An example block for handling 600 is shown, but in some implementations, it is different. Figure 6 Compared to the blocks depicted, processing 600 may include additional blocks, fewer blocks, different blocks, or blocks with different arrangements. Alternatively or concurrently, two or more blocks of processing 600 may be executed in parallel.

[0113] Furthermore, the proposed methods can 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.

[0114] The above-mentioned techniques can be implemented as computer software using computer-readable instructions and physically stored in one or more computer-readable media.

[0115] The embodiments of this disclosure can be used individually or in any combination in any order. Furthermore, each of the embodiments (and methods thereof) can 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 on a non-transitory computer-readable medium.

[0116] The foregoing disclosure provides explanations and descriptions, but is not intended to be exhaustive or to limit the implementation to the exact form disclosed. Modifications and variations can be made based on the above disclosure, or modifications and variations can be derived from practical implementation.

[0117] As used in this article, the term "component" is intended to be interpreted broadly as hardware, firmware, or a combination of hardware and software.

[0118] Even when 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. While each listed dependent claim may directly refer to only one claim, the disclosure of possible implementations includes combinations of each dependent claim with every other claim in the claim set.

[0119] Unless explicitly stated otherwise, the elements, actions, or instructions used herein should not be construed as critical or essential elements, actions, or instructions. Furthermore, 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.” Additionally, 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.” Where only one item is referred to, the term “one” or similar language is used. Furthermore, as used herein, the terms “having,” “possessing,” “with,” etc., are intended to be open-ended terms. Furthermore, unless explicitly stated otherwise, the phrase “based on” is intended to mean “at least partially based on.”

Claims

1. A method of content preparation for a 5G media streaming (5GMS) network performed by at least one processor, the method comprising: The method comprises: receiving content to be prepared for the 5GMS network; receiving a content preparation template (CPT), wherein the CPT comprises a dynamic adaptive streaming over hypertext transfer protocol (DASH) media presentation description (MPD) specifying input characteristics of an input common media application format (CMAF) track corresponding to the content, output characteristics of a set of output CMAF tracks corresponding to the content, and a plurality of encoding parameters corresponding to the set of output CMAF tracks, wherein the MPD comprises at least one additional descriptor containing a uniform resource identifier (URI) corresponding to at least one encoding parameter of the plurality of encoding parameters, the URI being a vendor-specific descriptor; or wherein the CPT comprises a JavaScript Object Notation (JSON) object specifying a representation identifier, the representation identifier identifying a representation included in the MPD corresponding to the input characteristics, the representation corresponding to the plurality of encoding parameters, the encoding parameters including parameters extended using an object-internal vendor-specific parameter; preparing the content according to the CPT; and streaming the prepared content to a media streaming client over the 5GMS network.

2. The method of claim 1, wherein, The DASH MPD comprises a first adaptation set and a second adaptation set, wherein the first adaptation set corresponds to the input characteristics, and wherein the second adaptation set corresponds to the output characteristics and the plurality of encoding parameters.

3. The method of claim 2, wherein, The first adaptation set comprises a representation corresponding to the input characteristics, and The second adaptation set comprises a plurality of representations corresponding to the set of output CMAF tracks.

4. The method of claim 1, wherein, The DASH MPD comprises a first DASH MPD corresponding to the input characteristics and a second DASH MPD corresponding to the output characteristics and the plurality of encoding parameters.

5. The method of claim 4, wherein, The second DASH MPD comprises an adaptation set comprising a plurality of representations corresponding to the set of output CMAF tracks.

6. The method of claim 4, wherein, The second DASH MPD comprises an adaptation set comprising a plurality of representations corresponding to the set of output CMAF tracks and a JavaScript Object Notation (JSON) object specifying a representation identifier, the representation identifier identifying a representation in the first DASH MPD, wherein the representation corresponds to the plurality of encoding parameters.

7. The method of claim 1, wherein, The CPT comprises a JavaScript Object Notation (JSON) document comprising a first JSON object corresponding to the input characteristics and an array of JSON objects corresponding to the output characteristics and the plurality of encoding parameters.

8. An apparatus for content preparation for a 5G media streaming (5GMS) network, the apparatus comprising: The device comprises: at least one memory configured to store program code; and at least one processor configured to read the program code to perform the method of any one of claims 1 to 7.

9. A non-transitory computer readable medium storing instructions, the instructions comprising: One or more instructions that, when executed by one or more processors in a device for content preparation for a 5G media streaming (5GMS) network, cause the one or more processors to perform the method of any one of claims 1 to 7.

10. An apparatus for content preparation for a 5G media streaming (5GMS) network, the apparatus comprising: The apparatus comprises: a first receiving unit configured to receive content to be prepared for the 5GMS network; a second receiving unit configured to receive a content preparation template (CPT), wherein the CPT comprises a dynamic adaptive streaming over hypertext transfer protocol (DASH) media presentation description (MPD) specifying input characteristics of an input common media application format (CMAF) track corresponding to the content, output characteristics of a set of output CMAF tracks corresponding to the content, and a plurality of encoding parameters corresponding to the set of output CMAF tracks, wherein the MPD comprises at least one additional descriptor containing a uniform resource identifier (URI) corresponding to at least one encoding parameter of the plurality of encoding parameters, the URI being a vendor-specific descriptor; or wherein the CPT comprises a JavaScript Object Notation (JSON) object specifying a representation identifier, the representation identifier identifying a representation corresponding to the input characteristics included in the MPD, the representation corresponding to the plurality of encoding parameters, the encoding parameters including parameters extended using an object-internal vendor-specific parameter; a preparation unit configured to prepare the content according to the CPT; and a transmission unit configured to stream the prepared content to a media streaming client over the 5GMS network.