Method, apparatus, device and medium for content preparation for 5G network
By defining the cascading content preparation process in the 5G media streaming architecture, the problem of missing processes in content preparation in the prior art is solved, and more efficient and accurate content preparation is achieved, improving the quality of media streaming service in the 5G network.
Patent Information
- Application Number
- CN202180016857.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-10-06
- Filing Date
- 2021-10-14
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2041-10-14
AI Technical Summary
The existing 5G media streaming architecture does not define the content missing process in the case of content preparation, resulting in insufficient content preparation efficiency and accuracy.
By defining the content preparation process as a cascading series of content preparation processes, each content preparation process is defined by a content preparation template that accepts one or more inputs, forming a complex workflow to process multimedia content.
It achieves more efficient and accurate content preparation, can handle complex inputs and outputs in multimedia content, and improves the quality of media streaming services in 5G networks.
Smart Images

Figure CN115486050B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. Provisional Patent Application No. 63 / 168,953 (filed on March 31, 2021) and U.S. Patent Application No. 17 / 495,339 (filed on October 6, 2021) in the U.S. Patent and Trademark Office, the entire contents of the above patent applications are incorporated herein by reference. Technical Field
[0003] The present disclosure relates generally to the field of data processing, and in particular to 5G networks. Background Art
[0004] 3GPP TS26.512 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 the distribution of content. Summary of the invention
[0005] Embodiments relate to methods, apparatus, devices, and computer-readable media for content preparation for 5G networks. According to one aspect, a method for content preparation for 5G networks is provided. The method may include identifying one or more cascaded content preparation processes. Defining inputs and outputs associated with the identified cascaded content preparation processes based on a content preparation template. Generating a workflow corresponding to the defined inputs and outputs based on two or more of the identified cascaded content preparation processes.
[0006] According to another aspect, a computer system for content preparation for a 5G network is provided. The computer system may include: one or more processors; one or more computer-readable memories; one or more computer-readable tangible storage devices; and program instructions, which are stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, whereby the computer system is capable of performing a method. The method may include identifying one or more cascading content preparation processes. Defining inputs and outputs associated with the identified cascading content preparation processes based on a content preparation template. Generating a workflow corresponding to the defined inputs and outputs based on two or more of the identified cascading content preparation processes.
[0007] According to another aspect, a computer-readable medium for content preparation for a 5G network is provided. The computer-readable medium may include one or more computer-readable storage devices and program instructions stored on at least one of the one or more tangible storage devices, and the program instructions may be executed by a processor. The program instructions may be executed by a processor to perform a method that may accordingly include identifying one or more cascaded content preparation processes. Inputs and outputs associated with the identified cascaded content preparation processes are defined based on a content preparation template. A workflow corresponding to the defined inputs and outputs is generated based on two or more of the identified cascaded content preparation processes. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] These and other objects, features and advantages will become apparent from the following detailed description of illustrative embodiments which is to be read in conjunction with the accompanying drawings. The various features of the drawings are not to scale as the illustrations are intended to facilitate clarity and understanding by those skilled in the art in conjunction with the detailed description. In the drawings:
[0009] Figure 1 illustrates a networked computer environment according to at least one embodiment;
[0010] Figure 2A is a diagram depicting a system for content preparation prior to downlink streaming according to at least one embodiment;
[0011] Figure 2B is a diagram of a cascaded content preparation process with multiple inputs according to at least one embodiment;
[0012] Figure 3 is an operational flow diagram illustrating steps performed by a program for content preparation for a 5G network according to at least one embodiment;
[0013] Figure 4 According to at least one embodiment Figure 1 A block diagram of the internal and external components of a computer and server depicted in;
[0014] Figure 5 According to at least one embodiment, Figure 1 A block diagram of an illustrative cloud computing environment of a computer system depicted in; and
[0015] Figure 6 According to at least one embodiment Figure 5 A block diagram of the functional layers of an illustrative cloud computing environment. DETAILED DESCRIPTION
[0016] Detailed embodiments of the claimed structures and methods are disclosed herein; however, it is understood that the disclosed embodiments are merely illustrative of the claimed structures and methods that may be implemented in various forms. However, these structures and methods may be implemented in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that the disclosure will be thorough and complete and will fully convey the scope to those skilled in the art. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the proposed embodiments.
[0017] Embodiments generally relate to the field of data processing, and more particularly to 5G networks. The exemplary embodiments described below provide systems, methods, and computer programs for content preparation, etc. for 5G networks. Therefore, some embodiments allow content preparation to be defined as a series of cascaded content preparation processes, thereby having the ability to improve the computing field, each content preparation process being defined by a content preparation template that accepts one or more inputs.
[0018] As mentioned above, 3GPP TS26.512 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 the distribution of content. The current 5G media streaming architecture defined in 3GPP TS26.501 only defines a common architecture for uplink and downlink media streaming. 3GPP TS26.512 defines the concept of a content preparation template (CPT), which is used to prepare received content for downlink streaming. However, 3GPP TS26.512 does not define a process for content missing in the case of content preparation. Therefore, it may be advantageous to define content preparation as a cascaded series of content preparation processes, each of which is defined by a content preparation template that accepts one or more inputs.
[0019] The 5G media streaming (5GMS) system may be a component of application functions, application servers, and interfaces from a 5G media streaming architecture that supports downlink media streaming services or uplink media streaming services or both. A 5GMS application provider may include a party that interacts with the functions of a 5GMS system and supplies 5GMS-aware applications that interact with the functions of a 5GMS system. A 5GMS-aware application may refer to an application in a user equipment (UE) provided by a 5GMS application provider, the application containing the service logic of a 5GMS application service and interacting with other 5GMS clients and network functions via interfaces and application programming interfaces (APIs) defined in the 5GMS architecture. A 5GMS client may refer to a UE function that is a 5GMS downlink (5GMSd) client or a 5GMS uplink (5GMSu) client or both.
[0020] 5GMSd client may refer to a UE function that includes at least a 5G media streaming player and a media session processor for downlink streaming, and the UE function can be accessed through a well-defined interface / API. 5GMSu client may refer to the initiator of a 5GMSu service that can be accessed through a well-defined interface / API. 5GMSu media streamer may refer to a UE function that is capable of uplinking streaming content to the Application Server (AS) function of a 5GMS application provider, and the UE function interacts with a 5GMSu aware application for media capture and subsequent streaming, and a media session processor for media session control.
[0021] Dynamic policy may refer to dynamic policy and charging control (PCC) rules for uplink or downlink application flows during a media session. An egest session may refer to an uplink media streaming session from a 5GMS AS toward a 5G MSu application provider. An ingest session may refer to a session used to upload media content to a 5GMSd AS. A policy template may refer to a set of (semi-static) policy or control function (PCF) / network exposure function (NEF) API parameters that are specific to a 5GMS application provider and the resulting PCC rules. A policy template ID may identify a desired policy template that is used by a 5GMSd application function (AF) to select an appropriate PCF / NEF API for the 5G system so that the PCF can compile the desired PCC rules. A media player entry may refer to a document or a pointer to a document that defines a media presentation (e.g., a media presentation description (MPD) for DASH or a uniform resource locator (URL) for a video clip file). A media streamer entry may refer to a pointer (e.g., in the form of a URL) that defines an entry point for an uplink media streaming session. A presentation entry may refer to a document or a pointer to a document that defines an application presentation, such as an HTML5 document.
[0022] A provisioning session may refer to a data structure provisioned by a 5GMSd application provider at an interface (M1d) that configures 5GMSd features associated with a set of 5GMSd-aware applications. A 5GMSd media player may refer to a UE function that is capable of playing back and rendering media presentations based on media playback entries and opening some basic controls (such as play, pause, seek, stop) to 5GMSd-aware applications. Server access information may refer to a set of parameters and addresses (including 5GMSd AF addresses and 5GMSd AS addresses) required to activate the reception of a streaming session. Service and content discovery may refer to functions and processes provided by a 5GMSd application provider to a 5GMS-aware application that enable end users to discover available streaming services and content provisioning and select specific services or content items for access. A service announcement may refer to a process that is performed between a 5GMS-aware application and a 5GMS application provider so that the 5GMS-aware application can obtain 5GMS service access information directly or in the form of a reference to 5GMS service access information.
[0023] A third-party player may refer to a portion of an application that uses the API to execute selected 5GMSd functions to play back media content. A third-party uplink streamer may refer to a portion of an application that uses the API to execute selected 5GMSd functions to capture and stream media content.
[0024] Various aspects are described herein with reference to flowchart illustrations and / or block diagrams of methods, devices (systems) and computer-readable media according to various embodiments. It should be understood that each block in the flowchart illustration and / or block diagram and the combination of blocks in the flowchart illustration and / or block diagram can be implemented by computer-readable program instructions.
[0025] Now refer to Figure 1 , a functional block diagram of a networked computer environment shows a content preparation system 100 (hereinafter "system") for content preparation for 5G networks. It should be understood that Figure 1 This only provides an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made based on design and implementation requirements.
[0026] System 100 may include computer 102 and server computer 114. Computer 102 may communicate with server computer 114 via communication network 110 (hereinafter "network"). Computer 102 may include processor 104 and software program 108 stored on data storage device 106 and capable of interfacing with a user and communicating with server computer 114. As will be described below with reference to Figure 4 As discussed, computer 102 may include internal components 800A and external components 900A, respectively, and server computer 114 may include internal components 800B and external components 900B, respectively. Computer 102 may be, for example, a mobile device, a phone, a personal digital assistant, a netbook, a laptop computer, a tablet computer, a desktop computer, or any type of computing device capable of running programs, accessing a network, and accessing a database.
[0027] As follows about Figure 5 and Figure 6 As discussed, the server computer 114 may also operate in a cloud computing service model such as software as a service (SaaS), platform as a service (PaaS), or infrastructure as a service (IaaS). The server computer 114 may also be located in a cloud computing deployment model such as a private cloud, a community cloud, a public cloud, or a hybrid cloud.
[0028] The server computer 114 that can be used for content preparation of 5G networks can run a content preparation program 116 (hereinafter referred to as "program") that can interact with the database 112. Figure 3 The content preparation program method is explained in more detail. In one embodiment, the computer 102 can operate as an input device including a user interface, and the program 116 can be primarily run on the server computer 114. In an alternative embodiment, the program 116 can be primarily run on one or more computers 102, and the server computer 114 can be used to process and store data used by the program 116. It should be noted that the program 116 can be a stand-alone program, or can be integrated into a larger content preparation program.
[0029] However, it should be noted that in some instances, the processing of program 116 may be shared in any ratio among computer 102 and server computer 114. In another embodiment, program 116 may operate on more than one computer, server computer, or some combination of computers and server computers, for example, may operate on multiple computers 102 in communication with a single server computer 114 across network 110. For example, in another embodiment, program 116 may operate on multiple server computers 114 in communication with multiple client computers across network 110. Alternatively, the program may operate on a network server in communication with the server and multiple client computers across the network.
[0030] The network 110 may include a wired connection, a wireless connection, a fiber optic connection, or some combination thereof. In general, the network 110 may be any combination of connections and protocols that will support communication between the computer 102 and the server computer 114. The network 110 may include various types of networks, such as, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, a telecommunications network such as a public switched telephone network (PSTN), a wireless network, a public switched network, a satellite network, a cellular network (e.g., a fifth generation (5G) network, a long term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a metropolitan area network (MAN), a private network, an ad hoc network, an intranet, a fiber-based network, etc., and / or a combination of these or other types of networks.
[0031] Figure 1 The number and arrangement of devices and networks shown are provided as examples. Figure 1 In addition 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 differently arranged devices and / or networks. Figure 1 Two or more of the devices shown in may be implemented in a single device, or Figure 1The single device shown in the system 100 may be implemented as multiple distributed devices. Additionally or alternatively, a group of devices (eg, one or more devices) of the system 100 may perform one or more functions described as being performed by another group of devices of the system 100.
[0032] Now refer to Figure 2A , depicting a diagram 200A of content preparation prior to downlink streaming. In the collaborative use case, the 5GMSd application provider requests content preparation for its stream prior to distribution. In the content preparation use case, the content is provided by the application provider via M2d. One option is to pull the content from the application provider using the HTTP pull-based ingestion protocol defined in 3GPP TS26.512. The content is then prepared for distribution as defined in the Content Preparation Template (CPT), and finally, the distribution occurs based on the Content Hosting Configuration Template (HCT), both of which are set by the application provider.
[0033] Each HCT may include one or more CPTs, each defined in its distribution configuration. However, an HCT should include only one ingestion configuration. Thus, each input media track requires an HCT and may have one or more CPTs, one CPT defined for each distribution configuration. A CPT may create one or more output tracks.
[0034] One of the most common use cases for multimedia streaming is when there is one audio track and one video track. If the CPT needs to create a manifest for that content, then the output of the two CPTs needs to be integrated with a single manifest for that audiovisual content.
[0035] In a content hosting configuration with multiple ingestions, multiple ingestion configurations (ICs) can be enabled for the HCT. In order for multiple ICs to be identified from each other, a unique identifier can be added to each IC. The scope of this uniqueness is in the parent HCT. For content preparation templates with multiple inputs, the id of the IC can be added to the content preparation template (CPT). This allows the CPT to have more than one input. Therefore, more complex content preparation can be performed based on multiple inputs. In order to cascade the content preparation output, the input of the content preparation can be defined as the output of another content preparation. This enables multiple content preparation processes to be cascaded, and even workflows to be created from two or more content preparation processes. For example, the input of the content preparation can be defined as the output of another content preparation. In order to achieve the above purpose, a unique ID can be defined for each input and output of each CPT. Then, the CPT input can be defined as the output of another CPT. The connection between two CPTs is defined using an ingestion configuration (IC). Therefore, the HCT can include an IC for connecting the output of the CPT to the input of another CPT.
[0036] Now refer to Figure 2B , depicts a diagram 200B of a cascaded content preparation process with multiple inputs. Content preparation processes (CPP) CPP1 and CPP2 are used for video processing and audio processing, respectively. Each of these processes can create one or more video / audio outputs stored in a cache / storage device. In order to create a single manifest for content describing both audio and video components, a third content preparation process CPP3 is used, which receives inputs to the third content preparation process CPP3 from CPP1 and CPP2 and provides outputs of the third content preparation process CPP3 to the cache / storage device.
[0037] Each content preparation process is defined by a content preparation template (CPT1, CPT2 and CPT3). CPT3 defines two inputs, and its inputs are associated with CPT1 output and CPT2 output respectively. CPT3 can create one or more manifests (in different formats such as DASH and HLS, or using different media codes and / or profiles).
[0038] Use the assigned id to associate an input of a content preparation template to the ingestion of another content preparation template or to an output.
[0039] Table 1 below may illustrate the definition of content hosting configuration resources:
[0040] Table 1
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048] Now refer to Figure 3 , depicts the following operational flow chart illustrating the steps of method 300 performed by a program for content preparation for a 5G network.
[0049] At 302, method 300 may include identifying one or more cascaded content preparation processes.
[0050] At 304 , method 300 may include defining inputs and outputs associated with the identified cascading content preparation process based on the content preparation template.
[0051] At 306 , method 300 may include generating a workflow corresponding to the defined inputs and outputs based on two or more of the identified cascading content preparation processes.
[0052] Understandably, Figure 3 This merely provides an illustration of one implementation and does not imply any limitation on how different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements.
[0053] Figure 4 According to the illustrative embodiment Figure 1 400 of the internal and external components of a computer depicted in FIG. It should be understood that Figure 4 This merely provides an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made based on design and implementation requirements.
[0054] Computer 102 ( Figure 1 ) and server computer 114 ( Figure 1 ) can include Figure 4Respective sets of internal components 800A, 800B and external components 900A, 900B are shown. Each set of internal components 800A and 800B includes: one or more processors 820, one or more computer-readable RAMs 822 and one or more computer-readable ROMs 824 on one or more buses 826; one or more operating systems 828; and one or more computer-readable tangible storage devices 830.
[0055] The processor 820 is implemented in hardware, firmware, or a combination of hardware and software. The processor 820 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or another type of processing component. In some implementations, the processor 820 includes one or more processors that can be programmed to perform functions. The bus 826 includes components that allow communication between internal components 800A, 800B.
[0056] One or more operating systems 828, software programs 108 ( Figure 1 ) and server computer 114 ( Figure 1 ) content preparation program 116 ( Figure 1 ) are stored on one or more of the respective computer-readable tangible storage devices 830 for execution by one or more of the respective processors 820 via one or more of the respective RAMs 822 (which typically include cache memories). Figure 4 In the illustrated embodiment, each of the computer-readable tangible storage devices 830 is a magnetic disk storage device of an internal hard drive. Alternatively, each of the computer-readable tangible storage devices 830 is a semiconductor storage device capable of storing computer programs and digital information, such as ROM 824, EPROM, flash memory, optical disk, magneto-optical disk, solid state disk, compact disk (CD), digital versatile disk (DVD), floppy disk, cassette, magnetic tape, and / or another type of non-transitory computer-readable tangible storage device.
[0057] Each set of internal components 800A, 800B also includes an R / W drive or interface 832 to read from and write to one or more portable computer readable tangible storage devices 936, such as CD-ROMs, DVDs, memory sticks, tapes, magnetic disks, optical disks, or semiconductor storage devices. Figure 1 ) and content preparation program 116 ( Figure 1) can be stored on one or more of the corresponding portable computer-readable tangible storage devices 936, can be read via the corresponding R / W drive or interface 832, and can be loaded into the corresponding hard disk drive 830.
[0058] Each set of internal components 800A, 800B also includes a network adapter or interface 836, such as a TCP / IP adapter card; a wireless Wi-Fi interface card; or a 3G, 4G or 5G wireless interface card or other wired or wireless communication link. Software Programs 108 ( Figure 1 ) and server computer 114 ( Figure 1 ) content preparation program 116 ( Figure 1 ) can be downloaded from an external computer to the computer 102 via a network (e.g., the Internet, a local area network or other, wide area network) and a corresponding network adapter or interface 836 ( Figure 1 ) and server computer 114. The software program 108 and the content preparation program 116 on the server computer 114 are loaded from the network adapter or interface 836 into the corresponding hard disk drive 830. The network may include copper wire, fiber optic, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers.
[0059] Each of the sets of external components 900A, 900B may include a computer display 920, a keyboard 930, and a computer mouse 934. External components 900A, 900B may also include touch screens, virtual keyboards, touch pads, pointing devices, and other human-machine interface devices. Each of the sets of internal components 800A, 800B also includes a device driver 840 for interfacing with the computer display 920, the keyboard 930, and the computer mouse 934. The device driver 840, the R / W driver or interface 832, and the network adapter or interface 836 include hardware and software (stored in the storage device 830 and / or ROM 824).
[0060] It is understood in advance that although the present disclosure includes detailed descriptions about cloud computing, the implementation of the teachings described herein is not limited to a cloud computing environment. Rather, some embodiments can be implemented in conjunction with any other type of computing environment now known or later developed.
[0061] Cloud computing is a service delivery model for enabling convenient and on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be quickly provisioned and released with minimal management effort or interaction with a service provider. The cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
[0062] Features are as follows:
[0063] On-demand self-service: Cloud consumers can unilaterally and automatically provision computing capabilities, such as server time and network storage, as needed, without requiring human interaction with the service provider.
[0064] Broad Network Access: Capabilities are available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin-client platforms or thick-client platforms (e.g., mobile phones, laptops, and PDAs).
[0065] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically allocated and reallocated based on demand. There is a sense of location independence, as consumers typically do not control or know the exact location of the resources provided, but may be able to specify the location at a higher level of abstraction (e.g., country, state, or data center).
[0066] Rapid elasticity: Capacity can be quickly and elastically provisioned (in some cases automatically) to quickly scale out, and capacity can be quickly released to quickly scale up (scale in). To the consumer, the capacity available for provisioning generally appears to be unlimited and can be purchased at any time and in any quantity.
[0067] Metered Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the utilized services.
[0068] The service model is as follows:
[0069] Software as a Service (SaaS): The capability provided to consumers is to use the provider's applications running on a cloud infrastructure. Applications can be accessed from a variety of client devices through a thin client interface such as a web browser (e.g., web-based email). Consumers do not manage or control the underlying cloud infrastructure including networks, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
[0070] Platform as a Service (PaaS): The capability provided to consumers is to deploy consumer-created or acquired applications onto the cloud infrastructure, where the applications are created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including networks, servers, operating systems, or storage, but has control over the deployed applications and possible configuration of the application hosting environment.
[0071] Infrastructure as a Service (IaaS): The capability provided to consumers is to provision processing, storage, networking, and other basic computing resources, where consumers can deploy and run arbitrary software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but have control over the operating system, storage, deployed applications, and possibly limited control over select networking components (e.g., host firewalls).
[0072] The deployment model is as follows:
[0073] Private cloud: Cloud infrastructure is operated solely for an organization. It can be managed by the organization or a third party and can exist on-premises or off-premises.
[0074] Community cloud: Cloud infrastructure is shared by some organizations and supports a specific community with shared concerns (e.g., mission, security requirements, policies, and compliance considerations). It can be managed by the organization or a third party and can exist on-premises or off-premises.
[0075] Public cloud: Cloud infrastructure available to the general public or large industry groups and owned by the organization that sells cloud services.
[0076] Hybrid cloud: A cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).
[0077] Cloud computing environments are service-oriented, focusing on statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure consisting of a network of interconnected nodes.
[0078] Reference Figure 5, depicts an illustrative cloud computing environment 500. As shown, the cloud computing environment 500 includes one or more cloud computing nodes 10, and local computing devices used by cloud consumers, such as, for example, personal digital assistants (PDAs) or cellular phones 54A, desktop computers 54B, laptop computers 54C, and / or automotive computer systems 54N, can communicate with the one or more cloud computing nodes 10. The cloud computing nodes 10 can communicate with each other. The cloud computing nodes 10 can be physically or virtually grouped (not shown) into one or more networks, such as a private cloud, community cloud, public cloud, or hybrid cloud, or a combination thereof, as described above. This allows the cloud computing environment 500 to provide infrastructure as a service, platform as a service, and / or software as a service, and cloud consumers do not need to maintain resources on local computing devices for these services. It should be understood that Figure 5 The types of computing devices 54A-54N shown in are intended to be illustrative only, and cloud computing node 10 and cloud computing environment 500 may communicate with any type of computerized device over any type of network and / or network addressable connection (eg, using a web browser).
[0079] Reference Figure 6 , showing a cloud computing environment 500 ( Figure 5 ) provides a set of functional abstraction layers 600. It should be understood in advance that Figure 6 The components, layers, and functions shown in are intended to be illustrative only, and the implementation is not limited thereto. As depicted in the figure, the following layers and corresponding functions are provided:
[0080] The hardware and software layer 60 includes hardware components and software components. Examples of hardware components include: mainframes 61; servers based on RISC (Reduced Instruction Set Computer) architecture 62; servers 63; blade servers 64; storage devices 65; and network and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0081] Virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 71 ; virtual storage 72 ; virtual networks 73 including virtual private networks; virtual applications and operating systems 74 ; and virtual clients 75 .
[0082] In one example, the management layer 80 may provide the following functionality. Resource provisioning 81 provides dynamic acquisition of computing resources and other resources for performing tasks in a cloud computing environment. Metering and pricing 82 provides cost inquiries when utilizing resources within a cloud computing environment, as well as bills or invoices for the consumption of these resources. In one example, these resources may include application software licenses. Security provides authentication for cloud consumers and tasks, as well as protection for data and other resources. User portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management so that the required service levels are met. Service level agreement (SLA) planning and fulfillment 85 provides pre-scheduling and acquisition of cloud computing resources, for which future demand is anticipated based on the SLA.
[0083] Workload layer 90 provides examples of functionality for which a cloud computing environment may be utilized. Examples of workloads and functionality that may be provided from this layer include: mapping and navigation 91; software development and lifecycle management 92; virtual classroom instructional delivery 93; data analytics processing 94; transaction processing 95; and content preparation 96. Content preparation 96 may define content preparation as a cascaded series of content preparation processes, each defined by a content preparation template that accepts one or more inputs.
[0084] Some embodiments may involve systems, methods and / or computer-readable media at any possible level of integrated technical detail. The computer-readable medium may include (one or more) computer-readable non-transitory storage media having computer-readable program instructions thereon for causing a processor to perform operations.
[0085] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as a punch card or a raised structure in a groove on which instructions are recorded, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium should not be interpreted as being a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated by a waveguide or other transmission medium (e.g., a light pulse passing through an optical fiber cable), or an electrical signal transmitted by a wire.
[0086] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device or to an external computer or external storage device via a network such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in a computer-readable storage medium in the corresponding computing / processing device.
[0087] The computer readable program code / instruction for performing the operation can be an assembly instruction, an instruction set architecture (ISA) instruction, a machine instruction, a machine-related instruction, a microcode, a firmware instruction, a state setting data, the configuration data of an integrated circuit system, or a source code or an object code written in any combination of one or more programming languages, the programming language including an object-oriented programming language (such as Smalltalk, C++, etc.) and a procedural programming language (such as "C" programming language or similar programming language). The computer readable program instruction can be executed completely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or completely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer by any type of network including a local area network (LAN) or a wide area network (WAN), or the connection can be carried out to an external computer (such as by using the Internet of an Internet service provider). In some embodiments, an electronic circuit system including, for example, a programmable logic circuit system, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuit system to perform various aspects or operations.
[0088] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a processor of a special-purpose computer, or a processor of other programmable data processing devices to produce a machine, so that the instructions executed by the processor of the computer or the processor of other programmable data processing devices create a device for implementing the functions / actions specified in one or more boxes of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, which can guide the computer, programmable data processing device, and / or other device to work in a specific manner, so that the computer-readable storage medium having the instructions stored therein includes an article of manufacture, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes of the flowchart and / or block diagram.
[0089] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing device, or other apparatus, so that a series of operational steps are performed on the computer, other programmable device, or other apparatus to produce a computer-implemented process, so that the instructions executed on the computer, other programmable device, or other apparatus implement the functions / actions specified in one or more boxes of the flowchart and / or block diagram.
[0090] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functions and operations of possible implementations of systems, methods and computer-readable media according to various embodiments. In this regard, each frame in the flowchart or block diagram may represent a part of a module, segment or instruction, and a part of the module, segment or instruction includes one or more executable instructions for implementing a specified logical function. The method, computer system and computer-readable medium may include additional frames, fewer frames, different frames or frames of different arrangements compared to those frames depicted in the accompanying drawings. In some alternative implementations, the functions indicated in the frame may not occur in the order indicated in the figure. For example, the two frames shown in succession can actually be executed simultaneously or substantially simultaneously, or the frame can sometimes be executed in the opposite order according to the functions involved. It will also be noted that each frame of the block diagram and / or flowchart illustration and the combination of frames in the block diagram and / or flowchart illustration can be implemented by a dedicated hardware-based system, and the dedicated hardware-based system performs a specified function or action or performs a combination of dedicated hardware and computer instructions.
[0091] It will be apparent that the systems and / or methods described herein may be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit these implementations. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code—it should be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.
[0092] Elements, actions or instructions used herein should not be interpreted as critical or necessary unless explicitly described as such. Moreover, as used herein, the articles "one" and "an" are intended to include one or more items, and can be used interchangeably with "one or more". In addition, as used herein, the term "group" is intended to include one or more items (e.g., related items, unrelated items, combinations of related items and unrelated items, etc.), and can be used interchangeably with "one or more". In the case of only one item being meant, the term "one" or similar language is used. In addition, as used herein, the terms "have", "have", "contain" etc. are intended to be open terms. In addition, unless otherwise expressly stated, the term "based on" is intended to mean "based at least in part on".
[0093] Descriptions of various aspects and embodiments have been presented for illustrative purposes, but these descriptions are not intended to be exhaustive or limited to the disclosed embodiments. Even if combinations of features are described 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 a manner that is not specifically described in the claims and / or disclosed in the specification. Although each dependent claim listed herein may be directly subordinate to only one claim, the disclosure of possible implementations includes the combination of each dependent claim with each other claim in the claim set. Without departing from the scope of the described embodiments, many modifications and changes will be obvious to those of ordinary skill in the art. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements compared to technologies found on the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.
Claims
1. A method for content preparation for a 5G media stream (5GMS) network, the method being executable by a processor, characterized in that: The method comprises: identifying one or more cascaded content preparation processes, each content preparation process being prepared for distribution by a content preparation template, the distribution occurring based on a content hosting configuration template; Defining configurations of inputs and outputs associated with the identified cascaded content preparation process based on a content preparation template, wherein a unique identifier is associated with the configurations of the inputs and outputs, the unique identifier corresponds to each of the inputs and outputs, and the content preparation template includes a plurality of configurations, each content hosting configuration template includes one or more content preparation templates, each content preparation template is defined in a distribution configuration, enabling a plurality of ingestion configurations for the content hosting configuration template, adding a unique identifier to the plurality of ingestion configurations, the unique identifier of the ingestion configuration can be added to the content preparation template, defining a unique identifier for each input and output of each content preparation template; and A workflow corresponding to the defined configuration of inputs and outputs is generated based on two or more of the identified cascaded content preparation processes, wherein an input to one of the two or more identified cascaded content preparation processes is an output of another of the two or more identified cascaded content preparation processes.
2. The method according to claim 1, characterized in that: The input is defined by an ingestion configuration with a defined address and protocol.
3. The method according to claim 1, characterized in that The output is defined by an ingestion configuration with a defined address and protocol.
4. The method according to claim 1, characterized in that Also includes: One or more of the audio input and the video input are processed by a content preparation process in the identified cascade of content preparation processes.
5. The method according to claim 4, characterized in that Also includes: A manifest for audiovisual content is generated based on providing audio and video outputs associated with the one or more audio and video inputs to a content preparation process of the identified cascaded content preparation processes.
6. The method according to claim 5, characterized in that The audio output and the video output correspond to different formats, different media codecs, or different profiles than the audio input and the video input.
7. A computer system for content preparation for a 5G media streaming (5GMS) network, characterized in that: The computer system comprises: One or more computer-readable non-transitory storage media configured to store computer program code; and One or more computer processors, wherein the one or more computer processors are configured to access the computer program code and operate according to instructions of the computer program code to implement the method according to any one of claims 1 to 6.
8. A non-transitory computer readable medium having stored thereon a computer program for content preparation for a 5G Media Streaming (5GMS) network, characterized in that: The computer program is configured to cause one or more computer processors to execute the method according to any one of claims 1-6.
Citation Information
Patent Citations
Methods and apparatus for packetized content delivery over a content delivery network
US20110107364A1
Method and apparatus for generating custom configured output
US7272616B1