Method and apparatus for facilitating use of a streaming manifest including profile indication

By generating streaming manifests that include profile instructions, the problem of wasted resources and storage space under different streaming media formats is solved, and unified encoding and seamless playback of streaming media are achieved.

CN116582701BActive Publication Date: 2025-12-12QUALCOMM INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310688162.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-18
Filing Date
2020-03-19
Publication Date
2025-12-12
Estimated Expiration
2040-03-19

AI Technical Summary

Technical Problem

In the existing technology, different streaming clients of streaming media require additional resources and storage space to convert and store content due to the use of different streaming formats, and CMAF does not provide an effective manifest structure to express structural relationships.

Method used

By generating a streaming manifest that includes profile instructions, the structure of the first streaming format is mapped to the structure of the second streaming format, providing profile signals to ensure correct playback of content and reducing transcoding and additional storage requirements.

Benefits of technology

It achieves unified encoding and storage of streaming media, reduces waste of resources and storage space, and ensures seamless playback for different streaming clients.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116582701B_ABST
    Figure CN116582701B_ABST
Patent Text Reader

Abstract

The present disclosure relates to methods and apparatuses for facilitating use of a streaming manifest including a profile signal for content encoded based on a packaging format. An example method disclosed herein includes identifying a structure associated with a first media, where the first media is associated with a first streaming format. The example method also includes generating a streaming manifest for the first media, where the streaming manifest maps the structure associated with the first media to a structure associated with a second streaming format; and including an indication with the streaming manifest, where the indication identifies a streaming profile used to map the structure.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a continuation of application number 202080020214.9, filed March 19, 2020, entitled “Methods and Apparatus to Facilitate Using a Streaming Manifest Including a Profile Indication,” which claims the benefit of U.S. Provisional Application Serial No. 62 / 821,216, filed March 20, 2019, entitled “Methods and Apparatus to Facilitate Using a Streaming Manifest Including a Profile Signal for CMAF Content,” and U.S. Patent Application No. 16 / 822,613, filed March 18, 2020, entitled “Methods and Apparatus to Facilitate Using a Streaming Manifest Including a Profile Indication,” the entire contents of which are expressly incorporated by reference herein.

[0002] Cross Reference to Related Applications

[0003] This application claims the benefit of U.S. Provisional Application Serial No. 62 / 821,216, filed March 20, 2019, entitled “Methods and Apparatus to Facilitate Using a Streaming Manifest Including a Profile Signal for CMAF Content,” and U.S. Patent Application No. 16 / 822,613, filed March 18, 2020, entitled “Methods and Apparatus to Facilitate Using a Streaming Manifest Including a Profile Indication,” the entire contents of which are expressly incorporated by reference herein. TECHNICAL FIELD

[0004] The present disclosure relates generally to media systems, and more specifically to one or more techniques for using a streaming manifest including a profile indication for content encoded based on a streaming or encapsulation format. BACKGROUND

[0005] In streaming media, media to be streamed can be structured into accessible, addressable content using a streaming format (e.g., an encapsulation format). The addressable content can be stored on a server for access by a streaming client for playback. However, a streaming client can operate based on a second streaming format having a different structure than a first streaming format, and different streaming clients can utilize different structures. Storing content for access using different streaming formats in different structures uses additional resources to convert the content to the different structures, and uses additional storage space to store the content multiple times in the different structures.

[0006] Common Media Application Format (CMAF) as defined in ISO / IEC 23000-19 is an example of an encapsulation format. CMAF defines structural relationships of CMAF tracks, CMAF fragments, CMAF segments, and other CMAF structures (or functionalities), but does not provide manifest for expressing the structural relationships. CMAF also does not provide manifest for using CMAF for streaming purposes. SUMMARY

[0007] The following presents a simplified summary of one or more aspects in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.

[0008] The technology disclosed herein provides a Dynamic Adaptive Streaming over HTTP (DASH) profile for Common Media Application Format (CMAF) content as defined in ISO / IEC 23000-19. When CMAF content (e.g., media such as audio, video, images, etc.) can be delivered with DASH structures, it is desirable that the CMAF content be delivered without modification and / or transcoding of the CMAF content. Thus, it can be beneficial to provide a mapping of CMAF content to DASH structures to provide consistency, e.g., to content authors that generate CMAF content for streaming delivery and / or to media playback platform developers that consume the CMAF content.

[0009] In some aspects of the disclosure, methods, computer-readable media, and apparatuses are provided. In one example, an apparatus disclosed herein identifies a structure associated with first media. In some examples, the first media can be associated with an encapsulation format. The example apparatus also generates a streaming manifest for the first media. In some examples, the streaming manifest can map the structure associated with the first media to a structure associated with a streaming format. The example apparatus also includes a profile indication (such as a profile signal) in the streaming manifest. In some examples, the profile indication can identify a streaming profile for mapping the structure associated with the first media to the structure associated with the streaming format.

[0010] In some aspects of the disclosure, methods, computer-readable media, and apparatuses are provided. In one example, an apparatus disclosed herein performs operations of identifying a structure associated with a first media, wherein the first media is associated with a first streaming format; generating a streaming manifest for the first media, wherein the streaming manifest maps the structure associated with the first media to a structure associated with a second streaming format; and including an indication with the streaming manifest, wherein the indication identifies a streaming profile used to map the structure associated with the first media to the structure associated with the second streaming format.

[0011] In some aspects, the mapping of the structure associated with the first media to the structure associated with the second streaming format can be based on a set of information included in the streaming profile.

[0012] In some aspects, the set of information can be a set of rules.

[0013] In some aspects, the streaming manifest can be used to create a media presentation, and wherein segments of the media presentation conform to the streaming format.

[0014] In some aspects, the indication can be a profile signal.

[0015] In some aspects, the indication can be in the streaming manifest.

[0016] In some aspects, the first streaming format can be at least one of an encapsulation format, a packaging format, or a common media application format (CMAF).

[0017] In some aspects, the streaming manifest can correspond to a dynamic adaptive streaming over HTTP (DASH) media presentation description (MPD), the streaming profile can correspond to a DASH profile, or the streaming MPD can correspond to a DASH MPD.

[0018] In some aspects, the streaming manifest can correspond to at least one of a HTTP live streaming (HLS) manifest, the streaming profile can correspond to an HLS profile, or the streaming MPD can correspond to an HLS MPD.

[0019] In some aspects, the streaming profile can correspond to a set of constraints used to map the structure associated with the first media to the structure associated with the streaming format.

[0020] In some aspects, the identifying the structure associated with the first media can be based on using a second streaming manifest that includes a second profile signal.

[0021] In some aspects of the disclosure, methods, computer-readable media, and apparatuses are provided. In one example, an apparatus disclosed herein performs operations of receiving, at a streaming client, a streaming manifest associated with playback of streaming media, wherein the streaming manifest is associated with a first streaming format and the streaming media is associated with a second streaming format, wherein the streaming manifest maps structures associated with the first streaming format to structures associated with the second streaming format; receiving, at the streaming client, an indication with the streaming manifest, the indication identifying a streaming profile for mapping the structures associated with the first streaming format to the structures associated with the second streaming format; identifying structures associated with the streaming media based on the streaming manifest, the streaming profile, and the indication; and performing playback of the streaming media based on the identified structures associated with the streaming media, wherein the playback of the streaming media is in accordance with playback rules associated with the second streaming format.

[0022] In some aspects, the mapping of the structures associated with the first streaming format to the structures associated with the second streaming format can be based on a set of information included in the streaming profile.

[0023] In some aspects, the set of information can be a set of rules.

[0024] In some aspects, the indication can be a profile signal

[0025] In some aspects, the indication can be in the streaming manifest.

[0026] In some aspects, the first streaming format can be at least one of an encapsulation format, a packaging format, or a common media application format (CMAF).

[0027] In some aspects, the streaming manifest can correspond to a dynamic adaptive streaming over HTTP (DASH) media presentation description (MPD), the streaming profile can correspond to a DASH profile, or the streaming MPD can correspond to a DASH MPD.

[0028] In some aspects, the streaming manifest can correspond to an HTTP live streaming (HLS) manifest, the streaming profile can correspond to an HLS profile, or the streaming MPD can correspond to an HLS MPD.

[0029] In some aspects, the streaming profile can correspond to a set of constraints for mapping the structures associated with the first streaming format to the structures associated with the second streaming format.

[0030] In some aspects, the identifying the structures associated with the first streaming format can be based on using a second streaming manifest that includes a second profile signal.

[0031] To the accomplishment of the foregoing and related ends, one or more aspects comprise the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative features of the one or more aspects. These features are indicative, however, of but a few of the various ways in which the principles of various aspects can be employed, and this description is intended to include all such aspects and their equivalents. BRIEF DESCRIPTION OF DRAWINGS

[0032] Figure 1 is a block diagram illustrating an example system in accordance with the techniques of this disclosure.

[0033] Figure 2 is a block diagram illustrating an example system in accordance with the techniques of this disclosure using CMAF as a first streaming format and DASH as a streaming format.

[0034] Figure 3 An example CMAF content model is illustrated.

[0035] Figure 4 An example flow diagram of an example method in accordance with the techniques of this disclosure is illustrated.

[0036] Figure 5 An example flow diagram of another example method in accordance with the techniques of this disclosure is illustrated. DETAILED DESCRIPTION

[0037] This disclosure describes techniques for generating a streaming manifest that includes or is associated with a profile to stream content encoded in a first streaming format, such as an encapsulation format. Examples disclosed herein provide a profile that defines how content encoded in the first streaming format can be consistently mapped to the structure of a different second streaming format in a unique way, such that the construction of the first streaming format is maintained in the manifest. The profile disclosed herein also provides a media playback client with a guarantee that the content included in the manifest follows the construction of the first streaming format (and how the first streaming format construction is defined) to enable proper playback of the content based on the first streaming format construction, such as continuous play, seamless switching of tracks in a switching set, etc. In some examples, the profile disclosed herein also enables conversion of content encoded in the first streaming format advertised in the manifest to other streaming manifests without the need to parse addressable resources.

[0038] The techniques described herein allow media to be encoded and stored once, but accessed by multiple streaming clients using multiple different streaming formats, thereby reducing resources for encoding and storing media, and reducing storage space.

[0039] Common Media Application Format (CMAF) is used as an example of the first streaming format, and Dynamic Adaptive Streaming over Hypertext Transfer Protocol (DASH) is used as an example of the second streaming format. However, these are merely examples, and the present disclosure is not limited thereto.

[0040] The detailed description set forth below, in connection with the appended drawings, is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein can be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts can be practiced without these specific details. In some instances, well-known structures and components are shown in block diagram form, in order to avoid obscuring such concepts.

[0041] Various aspects of systems, apparatuses, computer program products, and methods are described more fully below with reference to the accompanying drawings. This disclosure can, however, be embodied in many different forms and should not be construed as limited to any specific structure or function presented throughout this disclosure. Rather, these aspects are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. Based on the teachings herein, one skilled in the art should appreciate that the scope of the disclosure is intended to cover any aspect of the systems, apparatuses, computer program products, and methods disclosed herein, whether implemented independently of, or combined with, other aspects of the disclosure. For example, an apparatus can be implemented or a method can be practiced using any number of the aspects set forth herein. In addition, the scope of the disclosure is intended to cover such an apparatus or method which is practiced using other structure, functionality, or structure and functionality in addition to or other than the various aspects of the disclosure set forth herein. Any aspect disclosed herein can be implemented by one or more elements of a claim.

[0042] While various aspects are described herein, many variations and permutations of these aspects fall within the scope of the disclosure. While some potential benefits and advantages of aspects of the disclosure are mentioned, the scope of the disclosure is not intended to be limited to particular benefits, uses, or objectives. Rather, aspects of the disclosure are intended to be broadly applicable to different wireless technologies, system configurations, networks, and transmission protocols, some of which are illustrated by way of example in the appended drawings and description below. The detailed description and drawings are merely illustrative of the disclosure, rather than limiting, the scope of the disclosure being defined by the appended claims and their equivalents.

[0043] Several aspects are presented with reference to various apparatus and methods. These apparatus and methods are described in the following detailed description and illustrated in the accompanying drawings by various blocks, components, circuits, processes, algorithms, etc. (collectively referred to as "elements"). These elements can be implemented using electronic hardware, computer software, or any combination thereof. Whether such elements are implemented as hardware or software depends on the particular application and design constraints imposed on the overall system.

[0044] By way of example, an element, or any portion of an element, or any combination of elements can be implemented with a "processing system" that includes one or more processors (which can also be referred to as processing units). Examples of processors include image signal processors (ISPs), central processing units (CPUs), graphics processing units (GPUs), image processors, video processors, microprocessors, microcontrollers, application processors, digital signal processors (DSPs), reduced instruction set computing (RISC) processors, systems on a chip (SoC), baseband processors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure. One or more processors in the processing system can execute software. Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software components, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. The term application can refer to software. As described herein, one or more techniques can refer to an application (e.g., software) configured to perform one or more functions. In such examples, the application can be stored on a memory (e.g., on-chip memory of a processor, system memory, or any other memory). Hardware (such as a processor) described herein can be configured to execute the application. For example, the application can be described as including code that, when executed by the hardware, causes the hardware to perform one or more techniques described herein. As an example, the hardware can access the code from memory and execute the code accessed from memory to perform one or more techniques described herein. In some examples, a component is identified in the present disclosure. In such examples, the component can be hardware, software, or a combination thereof. The component can be a separate component or a subcomponent of a single component.

[0045] Accordingly, in one or more examples described herein, the functions described can be implemented in hardware, software, or any combination thereof. If implemented in software, the functions can be stored on or encoded as one or more instructions or code on a computer-readable medium. Computer-readable media includes computer storage media. Storage media can be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise a random-access memory (RAM), a read-only memory (ROM), an electrically erasable programmable ROM (EEPROM), compact disk ROM (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, combinations of the aforementioned types of computer-readable media, or any other medium that can be used to store computer executable code in the form of instructions or data structures that can be accessed by a computer.

[0046] As used herein, the term computer-readable medium is expressly defined to include any type of computer- readable storage device and / or storage disk and to exclude propagating signals and transmission media. As used herein, “computer-readable medium,” “machine-readable medium,” and “computer- readable storage” are used interchangeably.

[0047] As used herein, a manifest (sometimes referred to as a media presentation description (MPD)) is a file (e.g., an extensible markup language (XML) document) containing information about content encoded based on a first streaming format. For example, a manifest can include information about media segments, their relationships, references to addressable resources, and / or other information to facilitate, e.g., finding resources (e.g., on an HTTP server and / or in a cache) to facilitate real-time playback of content. As used herein, a profile is a set of constraints (sometimes referred to as “rules” or “constructs”) that indicate that content provided in a manifest is content that conforms to constructs based on a first streaming format, including track constraints (e.g., CMAF track constraints), switch set constraints (e.g., CMAF switch set constraints), selection set constraints (e.g., CMAF selection set constraints), and presentation constraints (e.g., CMAF presentation constraints), among other constraints. A profile that is with a manifest indicates or is added to a manifest (e.g., in a profile parameter of a manifest) to indicate that streaming content (e.g., a media presentation) also conforms to the first streaming format and that the manifest follows the constraints included in the profile. As used herein, streaming of content encoded based on a first streaming format can refer to distribution of content and / or playback of content.

[0048] Although some of the descriptions below may focus on DASH structures (e.g., DASH profiles, DASH manifests, etc.), it should be understood that the concepts described herein can be applied to other similar areas, such as HLS (HTTP Real-Time Streaming) structures.

[0049] Figure 1 This is a block diagram illustrating an example system 100 according to the technology described herein. Example system 100 includes an encoder 102, a manifest generator 104, a content delivery network (CDN) server 106, a manifest server 108, a first device 130, and a second device 140. The first device 130 includes a streaming client 131, a parser 132, and a media profile decoder 134. The second device 140 includes a streaming client 141, a parser 142, and a media profile decoder 144.

[0050] In the shown Figure 1 In the example, encoder 102 acquires data (e.g., media) and generates addressable content according to a first streaming format. The first streaming format can be an encapsulation format or a packaged format. Encoder 102 can be an average bitrate (ABR) encoder. The addressable content contains data in a packaged form, such as being stored as a separate file for future playback by a device. For example, the first streaming format could be CMAF. Encoder 102 sends the addressable content to CDN server 106, and CDN server 106 stores the addressable content. Encoder 102 also sends the addressable content to manifest generator 104.

[0051] The manifest generator 104 generates a manifest based on the addressable content and the second streaming format. For example, the second streaming format can be DASH, and the manifest can be a DASH MPD. The manifest generator 104 includes a profile. The profile includes information (e.g., rules and / or constraints) that determines how a structure according to the first streaming format should be mapped to a structure according to the second streaming format, and the manifest is generated according to the profile's information. The manifest includes a mapping of the structure of the addressable content (e.g., the structure of the first streaming format) to the structure of the second streaming format according to the profile. The mapping can be a data model or a form that structures arbitrary files of the addressable content to conform to the streaming profile. For example, the manifest can be a file that identifies a particular structure of the addressable content (e.g., by an identifier or addressable location of the structure) as corresponding to a particular structure according to the second streaming format. The manifest generator 104 can send the manifest to the manifest server 108, and the manifest server 108 can store the manifest. The manifest generator 104 can also send a profile indication (e.g., a profile signal) to the manifest server 108. The profile indication can identify the profile used to generate the manifest. The profile indication can be included as part of the manifest or can be sent with the manifest. The manifest server 108 can store the profile indication as part of the manifest or in association with the manifest.

[0052] The manifest generator 104 can include a processor 105. The processor 105 can be a component of a server of a content delivery network. The processor 105 can execute software stored on a memory that, when executed by the processor 105, causes the processor 105 to perform the various functions of the manifest generator 104 described above.

[0053] The second manifest generator 116 can generate a second manifest based on the manifest generated by the manifest generator 104. The second manifest can be based on a third streaming format that is different from the second streaming format used to generate the original manifest. The second manifest generator 116 can receive the manifest and the profile indication from the manifest server 108. The second manifest generator 116 can then determine the profile used to generate the manifest based on the profile indication, and determine the addressable content based on the manifest and the profile. The second manifest generator 116 can then generate a second manifest based on a second profile (e.g., rules or constraints) having different information that maps the structure of the addressable content to a structure of the third streaming format. The second manifest can be stored with a second profile indication that identifies the second profile.

[0054] The second manifest generator 116 can include a processor 117. The processor 117 can be a component of a server of a content delivery network. The processor 117 can execute software stored on a memory that, when executed by the processor 117, causes the processor 117 to perform the various functions of the second manifest generator 116 described above.

[0055] The first device 130 and the second device 140 can be devices that play back streaming media, such as a computer, a phone, or a television. The first device 130 and the second device 140 can use different streaming formats to play back content. For example, the first device 130 can be an Android smartphone, and the second device 140 can be an iOS smartphone.

[0056] The first device 130 can play back data (e.g., media) encoded by the encoder 102. The streaming client 131 can be a client for a second streaming format. The streaming client 131 can receive (e.g., retrieve) a manifest and a profile indication from the manifest server 108. The streaming client 131 can also receive (e.g., retrieve) addressable content from the CDN server 106. The streaming client 131 can determine a profile used to generate the manifest based on the profile indication. The streaming client 131 can then stream portions of the addressable content that are still encoded based on the first streaming format using the second streaming format based on the manifest. The streaming client 131 can provide the streamed portions of the addressable content to the parser 132. The parser 132 can decode the addressable content to retrieve the original data and pass the data to the media profile decoder 134 for playback.

[0057] The first device 130 can include a processor 136. The processor 136 can execute software stored on a memory that, when executed by the processor 136, causes the processor 136 to perform the various functions of the streaming client 131, the parser 132, and the media profile decoder 134 described above.

[0058] The second device 140 can play back data (e.g., media) encoded by the encoder 102. The streaming client 141 can be a client for a third streaming format. The streaming client 141 can receive (e.g., retrieve) a second manifest and a second profile indication from the second manifest generator 116 (e.g., through a second manifest server). The streaming client 141 can also receive (e.g., retrieve) addressable content from the CDN server 106. The streaming client 141 can determine a second profile used to generate the second manifest based on the second profile indication. The streaming client 141 can then stream portions of the addressable content that are still encoded based on the first streaming format using the third streaming format based on the second manifest. The streaming client 141 can provide the streamed portions of the addressable content to the parser 142. The parser 142 can decode the addressable content to retrieve the original data and pass the data to the media profile decoder 144 for playback.

[0059] The second device 140 may include a processor 146. The processor 146 may execute software stored in memory, which, when executed by the processor 146, causes the processor 146 to perform the various functions of the streaming client 141, parser 142, and media profile decoder 144 described above.

[0060] In the example shown, the brief instructions included with the manifest enable system 100 to uniquely describe, maintain, and recover the structure of addressable content, still encoded based on the first streaming format. By doing so, the manifest can be used to recover addressable content, as well as to create other manifests without parsing segments of the addressable content. As a result, the techniques disclosed herein can enable late (or downstream) conversion of manifests to another second streaming format (e.g., by clients 131, 141).

[0061] Figure 2 This is a block diagram illustrating an example system 200 using CMAF as a first streaming format and DASH as a second streaming format according to the technology of this disclosure. Example system 200 includes an ABR encoder / CMAF packer 202, a DASH MPD generator 204, a CDN server 206, an MPD server 208, a DASH client 210, a CMAF parser 212, a CMAF media profile decoder 214, an HLS CMAF manifest generator 216, an HLS client 218, an any CMAF manifest generator 220, and a streaming client 222.

[0062] In the example shown Figure 2 In the example, DASH MPD generator 204 generates a DASH MPD based on CMAF content (e.g., CMAF addressable resources provided by ABR encoder / CMAF packer 202). Example DASH MPD generator 204 creates a manifest based on the CMAF content. The manifest (e.g., a DASH manifest) maps the CMAF content to a DASH structure. DASH MPD generator 204 also includes a profile (e.g., a DASH profile) and a profile signal in the manifest. The profile includes a set of rules for mapping the CMAF content to the DASH structure. The profile also includes a profile signal indicating (or guaranteeing) that the CMAF content associated with the DASH MPD is mapped to the DASH structure based on the set of rules (or constraints) identified by the profile. Therefore, DASH MPD generator 204 outputs a DASH MPD that consistently maps the corresponding CMAF content to the DASH structure in such a way that any CMAF construction is maintained within the DASH MPD.

[0063] For example, the DASH MPD generator 204 can identify a structure associated with the first media (e.g., CMAF content). In some examples, the CMAF content is associated with a first streaming format (e.g., a CMAF format). The example DASH MPD generator 204 can then generate a streaming manifest (e.g., a DASH manifest) for the CMAF content. In some examples, the DASH manifest maps the structure associated with the CMAF content to a structure associated with a DASH format. In some examples, the mapping of the structure associated with the CMAF content to the structure associated with the DASH format is based on a streaming profile (e.g., a DASH profile). The example DASH MPD generator 204 can also include a profile signal in the DASH manifest, where the profile signal identifies the streaming profile (e.g., the DASH profile) used to map the structure associated with the CMAF content to the structure associated with the DASH format. The example DASH MPD generator 204 can also generate a streaming MPD (e.g., a DASH MPD) based on the DASH manifest and including addressable resources associated with the CMAF content.

[0064] The DASH MPD can then be provided to the CDN server 206 and / or the MPD server 208. The CDN server 206 and / or the MPD server 208 can implement the provision of the CMAF content to a viewer. As in the illustrated example, the MPD server 208 provides the DASH MPD to the DASH client 210. The DASH client 210 accesses the DASH MPD and attempts to playback the corresponding content. In the illustrated example, because the DASH MPD includes the profile and the profile signal provided by the DASH MPD generator 204, the DASH client 210 is able to determine what constitutes the CMAF construction of the DASH MPD to implement proper playback of the CMAF content associated with the DASH MPD. For example, the DASH client 210 can use the rules of the profile to map the DASH structure to the CMAF content. The DASH client 210 can then provide the CMAF content to the CMAF parser 212 and the CMAF media profile decoder 214 to implement proper playback of the CMAF content.

[0065] While the above example generates a DASH manifest and profile that maps CMAF content to a DASH structure, in other examples, the system 200 can facilitate mapping CMAF content to additional or alternative streaming formats. For example, in some examples, the DASH MPD generator can be an HLS MPD generator and / or another streaming MPD generator.

[0066] In some examples, once the CMAF content has been mapped to the DASH structure, the system 200 can implement conversion of the DASH MPD to another streaming format. For example, in the illustrated example of a DASH to HLS conversion, the system 200 includes an HLS CMAF manifest generator 216 and any CMAF manifest generator 220. In the illustrated example, the HLS CMAF manifest generator 216 generates an HLS manifest that facilitates conversion of the DASH MPD to an HLS MPD without accessing the CMAF content referenced by the DASH MPD. For example, the HLS CMAF manifest generator 216 can create an HLS manifest that includes an HLS profile that maps the DASH structure of the DASH MPD to an HLS structure defined by the HLS profile. Figure 2

[0067] Additionally or alternatively, the any CMAF manifest generator 220 can generate a manifest based on another streaming format that facilitates conversion of the DASH MPD to another streaming format MPD without accessing the CMAF content referenced by the DASH MPD. For example, the any CMAF manifest generator 220 can create another streaming format manifest that includes another streaming profile that maps the DASH structure of the DASH MPD to a structure associated with the other streaming format and defined by the streaming profile.

[0068] The respective MPD output by the HLS CMAF manifest generator 216 and / or the any CMAF manifest generator 220 can then be provided to a respective media playback client (e.g., the HLS client 218 and / or the streaming client 222). The respective media playback client then maps the respective structure of the corresponding MPD to the CMAF content, which is then provided to the CMAF parser 212 and the CMAF media profile decoder 214 to enable proper playback of the CMAF content.

[0069] In the illustrated example, the profile signal included in the DASH MPD can enable the system 200 to uniquely describe, maintain, and recover the CMAF construct. By doing so, the DASH MPD can be used to recover the CMAF, as well as create other manifests without parsing the segments of the CMAF content. As a result, the techniques disclosed herein can enable late (or downstream) conversion (e.g., by the clients 210, 218, 222) of the DASH MPD to another streaming format (e.g., an HLS MPD, etc.).

[0070] ​By including the profiles and profile signals in the DASH MPD, the techniques disclosed herein can enable content to be generated (e.g., by the DASH MPD generator 204) once, and then enable downstream systems of the access system 200 to convert the DASH MPD to another streaming format, such as HTTP Live Streaming (HLS). Thus, for example, edge caches and / or proxies of end devices that include streaming clients (e.g., the DASH client 210, the HLS client 218, and / or the streaming client 222) can be enabled.

[0071] In some aspects, other streaming formats can additionally or alternatively be used to map CMAF content to a corresponding structure. In certain such examples, providing the profile signals in the corresponding profiles enables simple conversion of the streaming content at the manifest level.

[0072] CMAF content model

[0073] In this section, a CMAF content model will be described as an example of a content model for a first streaming format.

[0074] Figure 3 An example content model 300 for a first streaming format is shown. The example content model 300 can be used for CMAF. In the illustrated example, the CMAF content model 300 can provide a content model of the DASH MPD generator 204 that is assumed to be communicated to from the CMAF packager 202. The example CMAF content model 300 can be based on terminology defined in ISO / IEC 23000-19, and can also follow ISO / IEC 23000-19. Figure 2

[0075] The example CMAF content model 300 includes CMAF presentations, CMAF selection sets, CMAF switching sets, CMAF tracks, CMAF headers, CMAF chunks, CMAF fragments, CMAF segments, sample decoding times and sample presentation times, and other elements.

[0076] As used herein, a media sample is media data in a CMAF track that is associated with a single decoding start time and duration.

[0077] CMAF addressable objects include CMAF track structures, CMAF chunk structures, CMAF fragment structures, and CMAF segment structures. Generally, CMAF fragments and CMAF chunks can be embedded into segments. Further, in DASH structures, segments are addressable times (e.g., units with assigned URLs).

[0078] ​A CMAF presentation timing model includes one or more timelines associated with authoring, playing, and / or rendering of CMAF tracks within a presentation. In some examples, each CMAF track can be a sequence of timed samples. Each sample can include a decoding time, and can also have a composition (display) time offset. An edit list can be used to override the implicit direct mapping of the media timeline to the timeline of the entire movie. The movie timeline can be used to synchronize CMAF tracks in a CMAF presentation, and can also act as a synchronization source for playback in HTML 5 media elements and media sources.

[0079] In some examples, each CMAF track can have an assigned anchor wall clock time (e.g., Coordinated Universal Time (UTC) time). The wall clock time can be used to associate the relative presentation time of the track with the wall clock time, e.g., by expressing the time at which the corresponding sample was captured, encoded, and / or packetized.

[0080] Thus, as described above, a CMAF presentation timing model can include three timelines (e.g., decoding time, presentation time, and wall clock time), and each of the respective timelines can be signaled.

[0081] In the illustrated example, the decoding time of each CMAF chunk can be provided as a "baseMediaDecodeTime" in a "TrackFragmentBaseMediaDecodeTimeBox" parameter. The "baseMediaDecodeTime" provides the decoding time of the first sample in the CMAF chunk, and the remaining decoding times are derived by the sample durations in the "traf" box.

[0082] In the illustrated example, the presentation time of each CMAF sample in a CMAF fragment can be determined by the decoding time of the sample, and (if present) the composition offset (in the sample table) and / or the track edit list (in the track header). The earliest presentation time in a CMAF fragment can be used to facilitate synchronization and / or switching. It should be appreciated that, in some examples, the earliest presentation time of a CMAF fragment can not be the presentation time of the first sample of the CMAF fragment.

[0083] In the illustrated example, the wall clock time can be mapped from a particular decoding time via a "ProducerReferenceTimeBox" ("prtf") parameter.

[0084] In the illustrated example, each CMAF track k (k = 1,..., K) in a CMAF switch set can be defined via a CMAF header (e.g., CH[k], k = 1,..., K) and CMAF fragments (e.g., CF[k,i], i = 1, 2, 3,... N) in the CMAF track. A CMAF fragment can include a position (i) in the CMAF track, an earliest presentation time (tf[k,i]), a CMAF fragment duration (e.g., df[k,i] = tf[k,i+1] - tf[k,i]), a wall clock time assigned to the earliest presentation time of the CMAF fragment (e.g., twc[k,i]), and / or a CMAF chunk (e.g., CC[k,i,j], j = 1, 2, 3,..., C[i]). A CMAF chunk can include a position (j) in the fragment, an earliest decoding time (e.g., tc[k,i,j]), and / or a chunk duration in the decoding time (e.g., dc[k,i,j]).

[0085] In some examples, a CMAF track can include an edit list EL[k] that can be present in a CMAF header describing the difference between the composition time and the presentation in the CMAF presentation for that track.

[0086] In some examples, a CMAF track can include an earliest presentation time of a first fragment (e.g., presentation time offset (tf[k,i=1]).

[0087] In some examples, a duration of a CMAF track can be defined as td[k].

[0088] In some examples, a CMAF track can be assigned a media profile, e.g., including a CMAF media profile brand. The media profile can additionally or alternatively include a proper Multipurpose Internet Mail Extensions (MIME) type string providing, e.g., a media type, codec parameters, and / or a profile.

[0089] In some examples, a CMAF track can include samples (sample[k,s]) with s = 1,..., S, each having a nominal presentation time T[k,s].

[0090] In the illustrated example, a CMAF switch set can be defined based on, e.g., a set of CMAF tracks that meet the conditions for defining a CMAF switch. In some examples, a CMAF switch set can contain a single CMAF header for all CMAF tracks, or a separate CMAF header for each CMAF track. In some examples, a CMAF switch set can include a main CMAF header CH*, which can be a single header or a main CMAF header (CH*) assigned to the switch set.

[0091] Based on the definition of a CMAF switching set, it should be understood that in some examples, all CMAF tracks in a switching set can conform to one media profile.

[0092] In some examples, there can be one CMAF header that can be used to initialize the playback of a switching set. This header can be referred to as the main CMAF header (CH*).

[0093] In some examples, a CMAF header for each track in a switching set can be defined such that appending it to a source buffer does not cause re-initialization of the decoding and rendering platform.

[0094] In some examples, each CMAF track in a switching set can have the same number of CMAF segments.

[0095] In some examples, the earliest decoding time of each CMAF segment at the same position (i) in different CMAF tracks of a CMAF switching set can be the same.

[0096] In some examples, the earliest presentation time of each CMAF segment at the same position (i) in different CMAF tracks of a CMAF switching set can be the same.

[0097] In some examples, the segment duration of each CMAF segment at the same position in different CMAF tracks or a CMAF switching set can be the same.

[0098] Although the above definitions can apply to CMAF segments, they can not apply to CMAF tiles.

[0099] DASH profile for CMAF content

[0100] In this section, the mapping of CMAF content (such as the CMAF content model 300 described above) to DASH structures will be described as an example of mapping of structures of a first streaming format to structures of a second streaming format, and to illustrate the content of a profile.

[0101] As described above in connection with Figure 2 CMAF content can be generated independently of the manifest format, and the structural relationship of CMAF tracks can be defined. To distribute CMAF content in DASH, the example DASH profile disclosed herein defines a canonical mapping of CMAF structures to DASH structures. With this mapping, content can conform to any CMAF constraints as well as any DASH constraints.

[0102] In the illustrated example, the DASH profile is identified by the Uniform Resource Name (URN) "urn:mpeg:dash:profile:cmaf:2019". The profile parameter can exist at different levels in the MPD. However, other techniques for identifying a DASH profile in a manifest can additionally or alternatively be used, or the DASH profile can be included with the manifest but not within the manifest.

[0103] The disclosed mapping is not merely mapping CMAF content into DASH, but also mapping enabling the distribution of CMAF generated content in DASH.

[0104] If the example DASH profile applies to a representation, it should be understood that for the representation, each media segment of the representation can conform to a CMAF addressable media object (e.g., as defined in ISO / IEC 23000-19 clause 7.3.3).

[0105] For the representation, in some examples, each initialization segment (if present) can conform to a CMAF header (e.g., as defined in ISO / IEC 23000-19 clause 7.3.2.1). In some examples, the representation can conform to a CMAF track (as defined in ISO / IEC 23000-19, clause 7.3.2.2). In some examples, if the "@startsWithSAP" parameter is present and has a value of 1 or 2, each DASH segment can conform to a CMAF segment. In some examples, the "@timecale" parameter can be set to the time scale of the CMAF track. In some examples, if a SegmentTimeline element exists for the representation, for each CMAF segment (i), where i = 1, 2, 3,... N, an entry in the S element can exist, where the "@t" parameter can be set to the earliest presentation time (tf[k,i]) and the "@d" parameter can be set to the CMAF segment duration (df[k,i]). Further, if a chunk mode is used, the "@k" parameter can be set to the number of chunks in that CMAF segment (C[k,i]), and / or a compact representation of the segment timeline can be applied. In some examples, if a "@duration" attribute exists for the representation, and the value of the attribute is referred to as "dur", for each CMAF segment (i), where i = 1, 2, 3,... N, (((i-1)+0.5)*dur <= tf[k,i] <= (i+0.5)*dur). In some examples, if the media is contained in a self-initialization segment, (1) a segment index can exist, and / or (2) each CMAF segment can be mapped to a subsegment.

[0106] In the illustrated example, if the example DASH profile applies to the adaptation set, it should be appreciated that for the adaptation set, the "@contentType" parameter can be set to the "hdlr" type of the CMAF main header of the switching set (e.g., vide -> video, soun -> audio, subt -> text, etc.). In some examples, the "@mimeType" parameter can be set to "application / switching" and the "@profile" parameter can be set to the profile of the switching set. <contenttype>"mp4profiles='cmfc'". In some examples, the "@segmentProfiles" parameter can be set such that: (1) for file mode, no segment profiles are set, (2) for tile mode, "cmfs" and "cmff" apply, and (3) for chunk mode, "cmfs", "cmff", and "cmfl" apply. For an adaptive set, in some examples, the "@codecs" parameter can be set to the sample entry of the CMAF main header. In some examples, if the content is protected, a "ContentProtection" element can be present and can be set as appropriate. In some examples, if the "@contentType" parameter is video, (1) a "maxWidth" parameter can be set to the width in the CMAFTrackHeaderBox parameter of the CMAF main header, (2) a "maxHeight" parameter can be set to the height in the CMAFTrackHeaderBox of the CMAF main header, and / or (3) a "@maxFrameRate" parameter can be set to the frame rate of the CMAF TrackHeaderBox of the CMAF main header. In some examples, if the "@contentType" parameter is audio, certain of the parameters can be set accordingly. In some examples, each CMAF track in the switching set (k = 1,... K) can be mapped exactly to one representation (e.g., as defined above in connection with the definition of the switching set). In some examples, if the "@bitstreamSwitching" parameter is set to true, the included CMAF switching set can follow the "CMAF switching set single initialization constraint" of clause 7.3.4.2 in ISO / IEC 23000-19. In some examples, a "@segmentAlignment" parameter or a "@subsegmentAlignment" parameter can be set.

[0107] In the illustrated example, if the example DASH profile applies to a period, it should be understood that, for a period, all adaptation sets for which the "@segmentAlignment" parameter or the "@subsegmentAlignment" parameter are set to the same integer value can conform to the aligned CMAF switching set constraint (e.g., as defined in clause 7.3.4.4 in ISO / IEC 23000-19). In some examples, each switching set in a CMAF presentation can be exactly mapped to an adaptation set in a period (e.g., as defined above in connection with the adaptation set definition). In some examples, each selection set can be exactly mapped to a group (e.g., as defined above in connection with the selection set definition). In some examples, a group can conform to a selection set. In some examples, the value of the "@presentationTimeOffset" parameter in DASH can be the same as the CMAF presentation time zero point. In some examples, the duration of a period can be at most the duration of the contained CMAF presentation.

[0108] In the illustrated example, if the example DASH profile applies to a media presentation, it should be understood that each period in the DASH MPD can conform to the period definition defined above.

[0109] In view of the above, if a DASH MPD conforms to the above CMAF media profile, the DASH MPD can be checked against any format constraints for the defined DASH profile. In addition, in some examples, the DASH MPD can also be checked against any CMAF conformance using, for example, the above mapping. In some examples, if the DASH MPD is properly mapped (e.g., authored), the DASH MPD can conform to any DASH content constraints and any CMAF constraints.

[0110] Table 1 below illustrates example DASH profiles that can be used, for example, by the DASH MPD generator 204 of FIG. 2 to generate a DASH MPD. Figure 2

[0111]

[0112]

[0113]

[0114] Table 1

[0115] Figure 4 ​An example flow diagram 400 illustrating an example method according to one or more techniques of this disclosure. The method can be performed by an apparatus, such as manifest generator 104, second manifest generator 116, DASH MPD generator 204, HLS CMAF manifest generator 216, and / or any CMAF manifest generator 220, etc.

[0116] At 402, the manifest generator identifies structures associated with first media (e.g., CMAF content). The first media is associated with a first streaming format. The first streaming format can be at least one of an encapsulation format, a packaging format, or CMAF. For example, with reference to example system 100, Figure 1 of FIG. 1, manifest generator 104 can identify one or more structures of the first streaming format based on addressable content provided by encoder 102.

[0117] At 404, the manifest generator generates a streaming manifest (e.g., a DASH manifest) for the first media. The streaming manifest maps the structures associated with the first media to structures associated with a second streaming format (e.g., a DASH format). The mapping of the structures associated with the first media to the structures associated with the second streaming format can be based on a set of information included in a streaming profile (e.g., a DASH profile). The set of information can be a set of rules. The streaming manifest can be used to create a media presentation, and segments of the media presentation can conform to the second streaming format. In some aspects, the streaming manifest can correspond to a DASH MPD, the streaming profile can correspond to a DASH profile, or the streaming MPD can correspond to a DASH MPD. In some aspects, the streaming manifest can correspond to an HLS manifest, the streaming profile can correspond to an HLS profile, or the streaming MPD can correspond to an HLS MPD. The streaming profile can correspond to a set of constraints for mapping the structures associated with the first media to the structures associated with the second streaming format.

[0118] Identifying the structures associated with the first media can be based on using a second streaming media manifest that includes a second profile signal. The second streaming manifest can correspond to a third streaming format that is different from the second streaming format.

[0119] At 406, the manifest generator includes an indication with the streaming manifest. The indication identifies a streaming profile for mapping the structures associated with the first media to the structures associated with the second streaming format. The indication can be a profile signal. The indication can be in the streaming manifest.

[0120] Figure 5 An example flow diagram 500 illustrating an example method according to one or more techniques of this disclosure. The method can be performed by an apparatus, such as streaming client 131, streaming client 141, Figure 2 DASH client 210, HLS client 218, and / or streaming client 222.

[0121] At 502, the client receives a streaming manifest (e.g., a DASH manifest) associated with playback of streaming media (e.g., CMAF content). For example, referring to example system 100 of FIG. 1, streaming client 131 can receive a streaming manifest from manifest server 108, or streaming client 141 can receive a streaming manifest from second manifest generator 116. The streaming manifest is associated with a first streaming format (e.g., CMAF), and the streaming media is associated with a second streaming format (e.g., DASH). The streaming manifest maps structures associated with the first streaming format to structures associated with the second streaming format. The first streaming format can be at least one of an encapsulation format, a packaging format, or CMAF. Figure 1

[0122] At 504, the client receives an indication with the streaming manifest. The indication identifies a streaming profile (e.g., a DASH profile) for mapping structures associated with the first streaming format to structures associated with the second streaming format. The mapping of structures associated with the first streaming format to structures associated with the second streaming format can be based on a set of information included in the streaming profile. The set of information can be a set of rules. The indication can be a profile signal. The indication can be in the streaming manifest. In some aspects, the streaming manifest can correspond to a DASH MPD, the streaming profile can correspond to a DASH profile, or the streaming MPD can correspond to a DASH MPD. In some aspects, the streaming manifest can correspond to an HLS manifest, the streaming profile can correspond to an HLS profile, or the streaming MPD can correspond to an HLS MPD. The streaming profile can correspond to a set of constraints for mapping structures associated with the first media to structures associated with the second streaming format.

[0123] At 506, the client identifies structures associated with the streaming media based on the streaming manifest, the streaming profile, and the indication.

[0124] At 508, the client performs playback of the streaming media based on the identified structures associated with the streaming media. The playback of the streaming media is in accordance with playback rules associated with the second streaming format.

[0125] In some aspects, identifying the structures associated with the first media can be based on use of a second streaming manifest that includes a second profile signal.

[0126] ​The particular order or hierarchy of blocks in the disclosed process flowcharts should not be construed as limiting the example methods. Based on the design type, the particular order or hierarchy of blocks in the process flowcharts can be re-arranged. Furthermore, some blocks can be combined or omitted. The attached method claims present elements of the various blocks in a sample order, and are not necessarily meant to be limited to the specific order or hierarchy presented.

[0127] In some aspects, a system according to the present disclosure, such as the example system 100, includes means for identifying a structure associated with first media, means for generating a stream manifest for the first media, and means for including an indication with the stream manifest. For example, in the example system 100 of Figure 1 In the example system 100 of

[0128] In some aspects, a system according to the present disclosure, such as the example system 100, includes means for receiving a stream manifest associated with playback of streaming media, means for receiving an indication with the stream manifest, means for identifying a structure associated with the streaming media based on the stream manifest, the stream profile, and the indication, and means for performing playback of the streaming media based on the identified structure associated with the streaming media. For example, in the example system 100 of Figure 1 In the example system 100 of

[0129] The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein can be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language of the claims, wherein reference to an element in the singular is not intended to mean "one and only one" unless specifically so stated, but rather "one or more." The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any aspect described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects. Unless specifically stated otherwise, the term "some" refers to one or more. Combinations such as "at least one of A, B, or C," "one or more of A, B, or C," "at least one of A, B, and C," "one or more of A, B, and C," and "A, B, C, or any combination thereof' include any combination of A, B, and / or C, and can include multiples of A, multiples of B, or multiples of C. Specifically, combinations such as "at least one of A, B, or C," "one or more of A, B, or C," "at least one of A, B, and C," "one or more of A, B, and C," and "A, B, C, or any combination thereof' can be A only, B only, C only, A and B, A and C, B and C, or A and B and C, where any such combination can contain one or more member(s of A, B, or C. Structural and functional equivalents of any of the elements of aspects described throughout this disclosure that are known or later come to be known to one of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. The words "module," "mechanism," "element," "device," and the like can not be exclusive of the generic term "unit" as the words "module," "mechanism," "element," "device," and the like are not intended to require mutual exclusivity in different aspects. Therefore, the terms should be given their full breadth of meaning, expressly incorporating by reference any subsequent definitions of these terms.< / contenttype>

Claims

1. A method of data processing, comprising: receiving a bitstream, the bitstream comprising addressable content encoded with a first streaming format, the addressable content comprising a structure associated with a first media, wherein the first media is maintained in the first streaming format without storing the first media in a second streaming format different from the first streaming format, and the addressable content corresponds to the first media; generating, based on a streaming profile corresponding to the second streaming format, a first streaming manifest that maps the structure associated with the first media to a structure associated with the second streaming format; and sending, to a streaming client, a profile indication that identifies the streaming profile to enable the streaming client to stream the first media in the second streaming format instead of the first streaming format by using the streaming profile identified by the profile indication, although the first media is encoded in the first streaming format.

2. The method of claim 1, wherein, The streaming profile comprises a set of rules associated with the first streaming format.

3. The method of claim 1, wherein, The first streaming manifest is used to create a media presentation, and wherein a segment of the media presentation conforms to the second streaming format.

4. The method of claim 1, wherein, The profile indication that identifies the streaming profile is included in the first streaming manifest.

5. The method of claim 1, wherein, The first streaming format comprises at least one of a packaging format, a packing format, or a common media application format (CMAF).

6. The method of claim 1, wherein, The first streaming manifest corresponds to a dynamic adaptive streaming over HTTP (DASH) media presentation description (MPD), and the streaming profile corresponds to a DASH profile.

7. The method of claim 1, wherein, The first streaming manifest corresponds to a HTTP live streaming (HLS) manifest, and the streaming profile corresponds to an HLS profile.

8. The method of claim 1, wherein, The streaming profile corresponds to a set of constraints for mapping the structure associated with the first media to the structure associated with the second streaming format.

9. The method of claim 1, wherein, The structure associated with the first media is identified in a second streaming manifest associated with a third streaming format different from the second streaming format.

10. The method of claim 1, further comprising: Generating a streaming media presentation description (MPD) based on the first streaming manifest.

11. The method of claim 10, wherein, The streaming MPD corresponds to a HTTP live streaming (HLS) MPD.

12. The method of claim 1, wherein, The streaming profile comprises a profile signal that indicates that the addressable content in the first streaming format is mapped to the structure associated with the second streaming format based on a mapping between the first media associated with the first streaming format and the structure associated with the second streaming format that conforms to a set of rules of the first streaming format.

13. An apparatus for data processing, comprising: a memory; and at least one processor coupled to the memory and configured to: receiving a bitstream, the bitstream including addressable content encoded with a first streaming format, the addressable content including a structure associated with a first media, wherein the first media is maintained in the first streaming format without storing the first media in a second streaming format different from the first streaming format, and the addressable content corresponds to the first media; generating, based on a streaming profile corresponding to the second streaming format, a first streaming manifest that maps the structure associated with the first media to a structure associated with the second streaming format; and sending, to a streaming client, a profile indication that identifies the streaming profile to enable the streaming client to stream the first media in the second streaming format instead of the first streaming format by using the streaming profile identified by the profile indication, although the first media is encoded in the first streaming format.

14. The apparatus of claim 13, wherein, The streaming profile includes a set of rules associated with the first streaming format.

15. The apparatus of claim 13, wherein, The first streaming manifest is used to create a media presentation, and wherein segments of the media presentation conform to the second streaming format.

16. The apparatus of claim 13, wherein, The profile indication that identifies the streaming profile is included in the first streaming manifest.

17. The apparatus of claim 13, wherein, The first streaming format includes at least one of a packaging format, a packing format, or a common media application format (CMAF).

18. The apparatus of claim 13, wherein, The first streaming manifest corresponds to a dynamic adaptive streaming over HTTP (DASH) media presentation description (MPD), and the streaming profile corresponds to a DASH profile.

19. The apparatus of claim 13, wherein, The first streaming manifest corresponds to a HTTP live streaming (HLS) manifest, and the streaming profile corresponds to an HLS profile.

20. The apparatus of claim 13, wherein, The streaming profile corresponds to a set of constraints for mapping the structure associated with the first media to the structure associated with the second streaming format.

21. The apparatus of claim 13, wherein, The structure associated with the first media is identified in a second streaming manifest associated with a third streaming format different from the second streaming format.

22. The apparatus of claim 13, wherein, The at least one processor is further configured to generate, based on the first streaming manifest, a streaming media presentation description (MPD).

23. The apparatus of claim 22, wherein, The streaming MPD corresponds to a HTTP live streaming (HLS) MPD.

24. The apparatus of claim 13, wherein, The streaming profile includes a profile signal that indicates that the addressable content in the first streaming format is mapped to the structure associated with the second streaming format based on a mapping between the first media associated with the first streaming format and the structure associated with the second streaming format that conforms to a set of rules of the first streaming format.

25. A method of data processing, comprising: receiving, at a streaming client from a server, a bitstream associated with a streaming media, wherein the bitstream includes a first streaming manifest, the first streaming manifest is associated with a first streaming format, the streaming media is associated with a second streaming format different from the first streaming format, the first streaming manifest maps a structure associated with the first streaming format to a structure associated with the second streaming format, the first streaming manifest is generated based on addressable content generated according to the first streaming format, and the addressable content is generated based on the streaming media; receiving, at the streaming client from the server, a profile indication that identifies a streaming profile, wherein the streaming profile includes a profile signal that indicates that the addressable content in the first streaming format is mapped to the structure associated with the second streaming format based on a mapping between the streaming media associated with the first streaming format and the structure associated with the second streaming format that complies with a set of rules of the first streaming format; identifying a structure associated with the streaming media based on the first streaming manifest and the streaming profile; and performing playback of the streaming media in the second streaming format, instead of the first streaming format, using the streaming profile, although the streaming media is encoded in the first streaming format, wherein the playback of the streaming media is according to playback rules associated with the second streaming format.

26. The method of claim 25, wherein, The structure associated with the first streaming format is also mapped to the structure associated with the second streaming format based on a set of information included in the streaming profile.

27. The method of claim 26, wherein, The set of information includes the set of rules.

28. The method of claim 25, wherein, The profile indication is included in the first streaming manifest.

29. The method of claim 25, wherein, The first streaming format is at least one of a packaging format, a packing format, or a common media application format (CMAF).

30. The method of claim 25, wherein, The first streaming manifest corresponds to a dynamic adaptive streaming over HTTP (DASH) media presentation description (MPD), and the streaming profile corresponds to a DASH profile.

31. The method of claim 25, wherein, The first streaming manifest corresponds to an HTTP live streaming (HLS) manifest, and the streaming profile corresponds to an HLS profile.

32. The method of claim 25, wherein, The streaming profile corresponds to a set of constraints for mapping a structure associated with the first streaming format to a structure associated with the second streaming format.

33. The method of claim 25, wherein, Identifying the structure associated with the streaming media is based on using a second streaming manifest associated with a third streaming format different from the second streaming format.

34. An apparatus for data processing, comprising: a memory; and at least one processor coupled to the memory and configured to: receiving, at a streaming client from a server, a bitstream associated with a streaming media, wherein the bitstream includes a first streaming manifest, the first streaming manifest is associated with a first streaming format, the streaming media is associated with a second streaming format different from the first streaming format, the first streaming manifest maps a structure associated with the first streaming format to a structure associated with the second streaming format, the first streaming manifest is generated based on addressable content generated according to the first streaming format, and the addressable content is generated based on the streaming media; receiving, at the streaming client from the server, a profile indication that identifies a streaming profile, wherein the streaming profile includes a profile signal that indicates that the addressable content in the first streaming format is mapped to the structure associated with the second streaming format based on a mapping between the streaming media associated with the first streaming format and the structure associated with the second streaming format that complies with a set of rules of the first streaming format; identifying a structure associated with the streaming media based on the first streaming manifest and the streaming profile; and performing playback of the streaming media in the second streaming format, rather than the first streaming format, using the streaming profile, although the streaming media is encoded in the first streaming format, wherein the playback of the streaming media is according to playback rules associated with the second streaming format.

35. The apparatus of claim 34, wherein, The structure associated with the first streaming format is also mapped to the structure associated with the second streaming format based on a set of information included in the streaming profile.

36. The apparatus of claim 35, wherein, The set of information includes the set of rules.

37. The apparatus of claim 34, wherein, The profile indication is included in the first streaming manifest.

38. The apparatus of claim 34, wherein, The first streaming format is at least one of a packaging format, a segment format, or a common media application format (CMAF).

39. The apparatus of claim 34, wherein, The first streaming manifest corresponds to a dynamic adaptive streaming over HTTP (DASH) media presentation description (MPD), and the streaming profile corresponds to a DASH profile.

40. The apparatus of claim 34, wherein, The first streaming manifest corresponds to an HTTP live streaming (HLS) manifest, and the streaming profile corresponds to an HLS profile.

41. The apparatus of claim 34, wherein, The streaming profile corresponds to a set of constraints for mapping a structure associated with the first streaming format to a structure associated with the second streaming format.

42. The apparatus of claim 34, wherein, The at least one processor is configured to identify the structure associated with the streaming media based on using a second streaming manifest associated with a third streaming format different from the second streaming format.

Citation Information

Patent Citations

  • Remote access with media translation

    US20110320559A1

  • Segment types as delimiters and addressable resource identifiers

    US20180288500A1