Method, device, apparatus and storage medium for media streaming
By obtaining and processing the scheme identifier box in the event message track, the problem of lack of signaling capability in the event message track in the prior art is solved, and effective processing of multiple events and flexible media content display of DASH clients are realized.
Patent Information
- Application Number
- CN202280004176.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-03-25
- Filing Date
- 2022-03-28
- Publication Date
- 2025-07-18
- Estimated Expiration
- 2042-03-28
AI Technical Summary
In the current ISO/IEC 23009-1 standard, event message track specifications lack the ability to inform solutions that may appear in the track, resulting in the inability to effectively handle multiple events.
By obtaining the event message track and identifying the scheme identifier box in it, multiple event schemes are identified and processed, including media presentation description MPD events, in-band events, timing metadata and general media application format CMAF events, provided to the DASH client for display or processing.
It realizes effective processing and signaling of multiple events, improves the media content display capability of the DASH client, and enhances the flexibility and adaptability of media streaming.
Smart Images

Figure CN115606166B_ABST
Abstract
Description
[0001] Cross - Reference to Related Applications
[0002] This application claims the benefit of priority to U.S. Provisional Application No. 63 / 176,768, filed on April 19, 2021, and U.S. Application No. 17 / 704,336, filed on March 25, 2022, the disclosures of which are incorporated herein by reference in their entireties. Technical Field
[0003] Embodiments of the present disclosure relate to media streaming and, more particularly, to Dynamic Adaptive Streaming over HTTP (DASH). Background Art
[0004] The ISO / IEC 23009 - 1 Dynamic Adaptive Streaming over HTTP (DASH) standard introduced event message boxes for carrying events with media segments. Further, the ISO / IEC 23001 - 19 CD defines an event message track format in which a track can carry event messages.
[0005] However, the current event message track specification does not have the ability to signal a scheme that may occur in the track.
[0006] "Information technology - Coding of audiovisual objects - Part 12: ISO base media file format", ISO / IEC 14496 - 12 (December 2015), "Draft of FDIS of ISO / IEC 23000 - 19 Common Media Application Format for Segmented Media", ISO / IEC JTC1 / SC29 / WG11 MPEG117 / 16819 (April 2017), and "Text of ISO / IEC FDIS 23009 - 1 4th edition", ISO / IEC JTC 1 / SC 29 / WG 11 N18609 (August 2019) are incorporated herein by reference in their entireties. Summary of the Invention
[0007] In an embodiment, a method for media streaming includes: obtaining an event message track, the event message track being configured to be processed by a Dynamic Adaptive Streaming over Hypertext Transfer Protocol (DASH) client to display media content, the event message track corresponding to a plurality of events, the plurality of events including one or more of a Media Presentation Description (MPD) event, an in-band event, timing metadata, a Common Media Application Format (CMAF) event, and a DASH event; obtaining a scheme identifier box, the scheme identifier box identifying one or more event schemes occurring in the event message track, wherein each of the one or more event schemes specifies at least one parameter for processing one of the plurality of events included in the event message track; and providing the event message track to the DASH client or displaying media content based on the event message track according to the one or more event schemes.
[0008] In an embodiment, a device includes: at least one memory storing program code; and at least one processor configured to read the program code and operate according to the instructions of the program code to execute the method according to the embodiment of the present application. A media streaming apparatus is also provided, the apparatus including: The program code includes: a first obtaining module that obtains an event message track, the event message track being configured to be processed by a Dynamic Adaptive Streaming over Hypertext Transfer Protocol (DASH) client to display media content, the event message track corresponding to a plurality of events, the plurality of events including one or more of a Media Presentation Description (MPD) event, an in-band event, timing metadata, a Common Media Application Format (CMAF) event, and a DASH event; a second obtaining module that obtains a scheme identifier box, the scheme identifier box identifying one or more event schemes occurring in the event message track, wherein each of the one or more event schemes specifies at least one parameter for processing one of the plurality of events included in the event message track; and a providing module that provides the event message track to the DASH client or displays media content based on the event message track according to the one or more event schemes.
[0009] In an embodiment, a non - volatile computer - readable medium stores instructions that, when executed by at least one processor, cause the at least one processor to: obtain an event message track configured to be processed by a Dynamic Adaptive Streaming over Hypertext Transfer Protocol (DASH) client for displaying media content, the event message track corresponding to a plurality of events, the plurality of events including one or more of a Media Presentation Description (MPD) event, an in - band event, timing metadata, a Common Media Application Format (CMAF) event, and a DASH event; obtain a scheme identifier box that identifies one or more event schemes occurring in the event message track, where each event scheme in the one or more event schemes specifies at least one parameter for processing one of the plurality of events included in the event message track; and provide the event message track to the DASH client or display media content based on the event message track according to the one or more event schemes. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Other features, properties, and various advantages of the disclosed subject matter will become more apparent from the following detailed description and the accompanying drawings, in which:
[0011] Figure 1 is a schematic diagram of an environment 100 according to an embodiment in which the methods, apparatuses, and systems described herein can be implemented.
[0012] Figure 2 is Figure 1 a block diagram of example components of one or more devices of.
[0013] Figure 3 is a schematic diagram of a DASH client according to an embodiment.
[0014] Figure 4 is a schematic diagram of a method according to an embodiment.
[0015] Figure 5 is a schematic diagram of computer code according to an embodiment. DETAILED DESCRIPTION
[0016] Figure 1 is a schematic diagram of an environment 100 according to an embodiment in which the methods, apparatuses, and systems described herein can be implemented. As Figure 1 shown, the environment 100 can include a user device 110, a platform 120, and a network 130. The devices of the environment 100 can be interconnected by a wired connection, a wireless connection, or a combination of wired and wireless connections.
[0017] User device 110 includes one or more devices that are capable of receiving, generating, storing, processing, and / or providing information related to platform 120. For example, user device 110 may include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a smart speaker, a server, etc.), a mobile phone (e.g., a smartphone, a wireless phone, etc.), a wearable device (e.g., smart glasses or a smart watch), or a similar device. In some embodiments, user device 110 may receive information from platform 120 and / or send information to platform 120.
[0018] Platform 120 includes one or more devices as described elsewhere herein. In some embodiments, platform 120 may include a cloud server or a group of cloud servers. In some embodiments, platform 120 may be designed to be modular such that software components can be swapped in or out according to specific needs. In this way, platform 120 can be easily and / or quickly reconfigured to have different uses.
[0019] In some embodiments, as shown in the figure, platform 120 may be hosted in cloud computing environment 122. It is noted that while the embodiments described herein describe platform 120 as being hosted in cloud computing environment 122, in some embodiments, platform 120 is not cloud-based (i.e., can be implemented outside of a cloud computing environment) or may be partially cloud-based.
[0020] Cloud computing environment 122 includes an environment that hosts platform 120. Cloud computing environment 122 may provide services such as computing, software, data access, storage, etc., which do not require an end user (e.g., user device 110) to know the physical location and configuration of the systems and / or devices of hosted platform 120. As shown in the figure, cloud computing environment 122 may include a set of computing resources 124 (collectively referred to as "computing resources 124" and individually referred to as "computing resource 124").
[0021] Computing resources 124 include one or more personal computers, workstation computers, server devices, or other types of computing and / or communication devices. In some embodiments, computing resources 124 may host platform 120. Cloud resources may include computing instances executed in computing resources 124, storage devices provided in computing resources 124, data transmission devices provided by computing resources 124, etc. In some embodiments, computing resources 124 may communicate with other computing resources 124 via a wired connection, a wireless connection, or a combination of wired and wireless connections.
[0022] Further, as Figure 1As shown, computing resource 124 includes a set of cloud resources, such as one or more applications ("APP") 124-1, one or more virtual machines ("VM") 124-2, virtualized storage ("VS") 124-3, one or more hypervisors ("HYP") 124-4, etc.
[0023] Application 124-1 includes one or more software applications that can be provided to and / or accessed by user device 110 and / or platform 120. Application 124-1 does not require the installation and execution of software applications on user device 110. For example, application 124-1 can include software related to platform 120 and / or any other software that can be provided through cloud computing environment 122. In some embodiments, one application 124-1 can send / receive information to / from one or more other applications 124-1 through virtual machine 124-2.
[0024] Virtual machine 124-2 includes a software implementation of a machine (e.g., a computer) that executes programs, similar to a physical machine. Virtual machine 124-2 can be a system virtual machine or a process virtual machine, depending on the usage and correspondence of virtual machine 124-2 to any real machine. A system virtual machine can provide a complete system platform that supports the execution of a complete operating system ("OS"). A process virtual machine can execute a single program and can support a single process. In some embodiments, virtual machine 124-2 can execute on behalf of a user (e.g., user device 110) and can manage the infrastructure of cloud computing environment 122, such as data management, synchronization, or long-term data transfer.
[0025] Virtualized storage 124-3 includes one or more storage systems and / or one or more devices that use virtualization technology within the storage systems or devices of computing resource 124. In some embodiments, within the context of a storage system, the types of virtualization can include block virtualization and file virtualization. Block virtualization can refer to the abstraction (or separation) of logical storage from physical storage so that the storage system can be accessed without considering the physical storage or heterogeneous structure. The separation can allow the administrator of the storage system to flexibly manage the storage of end users. File virtualization can eliminate the dependence between the data accessed at the file level and the location of the physical storage file. This can optimize the performance of storage usage, server consolidation, and / or uninterrupted file migration.
[0026] The hypervisor 124-4 can provide hardware virtualization technology that allows multiple operating systems (e.g., "guest operating systems") to execute simultaneously on a host computer such as computing resources 124. The hypervisor 124-4 can provide a virtual operating platform to the guest operating systems and can manage the execution of the guest operating systems. Multiple instances of various operating systems can share the virtualized hardware resources.
[0027] The network 130 includes one or more wired and / or wireless networks. For example, the network 130 can include a cellular network (e.g., a fifth generation (5G) network, a Long-Term Evolution (LTE) network, a third generation (3G) network, a Code Division Multiple Access (CDMA) network, etc.), a Public Land Mobile Network (PLMN), a Local Area Network (LAN), a Wide Area Network (WAN), a Metropolitan Area Network (MAN), a telephone network (e.g., a Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber-based network, etc., and / or a combination of these or other types of networks.
[0028] Figure 1 The number and arrangement of the illustrated devices and networks are provided as examples. In fact, compared with Figure 1 the illustrated devices and / or networks, there can be more devices and / or networks, fewer devices and / or networks, different devices and / or networks, or devices and / or networks with a different arrangement. Additionally, Figure 1 two or more of the illustrated devices can be implemented within a single device, or Figure 1 the illustrated single device can be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (e.g., one or more devices) in the environment 100 can perform one or more functions described as being performed by another set of devices in the environment 100.
[0029] Figure 2 is Figure 1 a block diagram of example components of one or more of the devices. The device 200 can correspond to the user device 110 and / or the platform 120. As Figure 2 illustrated, the device 200 can include a bus 210, a processor 220, a memory 230, a storage component 240, an input component 250, an output component 260, and a communication interface 270.
[0030] The bus 210 includes components that allow communication between the components of the device 200. The processor 220 is implemented in hardware, firmware, or a combination of hardware and software. The processor 220 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or another type of processing component. In some embodiments, the processor 220 includes one or more processors capable of being programmed to perform functions. The memory 230 includes random access memory (RAM), read only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) that stores information and / or instructions for use by the processor 220.
[0031] The storage component 240 stores information and / or software related to the operation and use of the device 200. For example, the storage component 240 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cassette tape, a magnetic tape, and / or another type of non-volatile computer-readable medium, as well as corresponding drives.
[0032] The input component 250 includes components that allow the device 200 to receive information, for example, via user input, such as a touch screen display, a keyboard, a keypad, a mouse, buttons, switches, and / or a microphone. Additionally or alternatively, the input component 250 may include sensors for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and / or an actuator). The output component 260 includes components that provide output information from the device 200, such as a display, a speaker, and / or one or more light emitting diodes (LEDs).
[0033] The communication interface 270 includes transceiver-like components (e.g., a transceiver and / or separate receiver and transmitter) that enable the device 200 to communicate with other devices, for example, via a wired connection, a wireless connection, or a combination of wired and wireless connections. The communication interface 270 may allow the device 200 to receive information from and / or provide information to another device. For example, the communication interface 270 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, etc.
[0034] Device 200 may perform one or more processes described herein. Device 200 may perform these processes in response to a processor 220 executing software instructions stored by a non-volatile computer-readable medium (such as memory 230 and / or storage component 240). A computer-readable medium is defined herein as a non-volatile memory device. A memory device includes storage space within a single physical storage device or storage space distributed across multiple physical storage devices.
[0035] The software instructions may be read into memory 230 and / or storage component 240 from another computer-readable medium or from another device via a communication interface 270. When executed, the software instructions stored in memory 230 and / or storage component 240 may cause processor 220 to perform one or more processes described herein. Additionally or alternatively, hardware wired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Accordingly, the embodiments described herein are not limited to any particular combination of hardware circuitry and software.
[0036] Figure 2 The number and arrangement of the illustrated components are provided as an example. In fact, compared to the Figure 2 illustrated components, device 200 may include more components, fewer components, different components, or components arranged differently. Additionally or alternatively, a set of components of device 200 (e.g., one or more components) may perform one or more functions described as being performed by another set of components of device 200.
[0037] Figure 3 An exemplary DASH client 300 according to an embodiment of the present disclosure is illustrated, which is configured to process media presentation description (MPD) events 301, in-band events 302, and sparse timing metadata track events. DASH client 300 may also be used to process common media application format (CMAF) events. According to an embodiment, DASH client 300 may be implemented by Figure 1 user equipment 100.
[0038] Events may be provided to signal non-periodic information to DASH client 300 or an application. The events may be timed (e.g., each event starts at a specific media presentation time and may have a duration). The events may include DASH-specific signaling or application-specific events. DASH events may be identified by a scheme identifier. For an application-specific event, the scheme identifier may identify the application such that DASH client 300 may forward the event to the appropriate application.
[0039] As Figure 3As shown, the DASH client 300 may include an application 310, control, selection, and heuristics logic 315 for a DASH player, a manifest parser 320, a DASH access API 325, an in-band event and “moof” (movie fragment box) parser 330, a timing metadata track parser 335, an event and timing metadata buffer 340, a synchronizer and dispatcher 345, a file format parser 350, a media buffer 355, a media decoder 360, and an HTTP stack 370.
[0040] In Figure 3 it, the dashed lines represent control and / or synchronization; the normal solid lines represent event and / or timing metadata streams; and the thick solid lines represent media data streams. Control and / or synchronization may include, for example, a subscription function 306 and an event / metadata API 307. Event and / or timing metadata streams may include, for example, MPD events 301, in-band events 302, timing metadata 303, and DASH events 305. Media data streams may include, for example, media segments 304.
[0041] The DASH client 300 may receive manifests such as MPDs and may process them. The manifests may describe the combination and synchronization of independently-packaged CMAF tracks grouped in CMAF switching groups and selection groups to form a synchronized multimedia presentation. The manifests may provide information to the DASH client 300 to select, initialize, start alignment, and synchronize one or more CMAF tracks to be played and identify CMAF media objects (e.g., CMAF headers, CMAF chunks, and CMAF segments) as resources to access the CMAF media objects and possibly download the CMAF media objects. The CMAF tracks and CMAF segments may contain information sufficient to enable decryption, decoding, and presentation scheduling. In addition to resource identification and presentation description, the manifests may also provide information about transport protocols, network management, authorization, license acquisition, etc. The manifests may also signal that the tracks conform to a CMAF media profile.
[0042] As a reference, a CMAF segment may be a media object that is encoded and decoded. A CMAF segment may include one or more pairs of movie fragment boxes (‘moof') and media data boxes (‘mdat'). Each pair of ‘moof' and ‘mdat' may be referred to as a CMAF chunk, and each CMAF chunk may contain a contiguous subset of media samples belonging to the CMAF segment.
[0043] A CMAF track can be a contiguous sequence of one or more CMAF segments in presentation order, which follows the CMAF media profile and the associated CMAF header. The CMAF header can contain a MovieBox sufficient to process and present all CMAF segments in the CMAF track. The CMAF track can be generated by an encoder and an ISOBMFF (ISO Base Media File Format) file packer, but can be accessed in the form of a CMAF addressable media object, which can be a reference to a resource defined by an external media application specification.
[0044] The DASH client 300 can request media segments based on the addresses described in the manifest. The manifest can also describe metadata tracks. The DASH client 300 can also access segments of the metadata track, parse the segments, and send the segments to the application.
[0045] In addition, for the addresses of media segments, the DASH manifest can provide addressing of index segments. Each index segment can provide information about the duration and size of a segment. A Representation Index can provide index information for all segments of a given representation.
[0046] According to an embodiment, the manifest parser 320 can parse MPD events 301 from the manifest and add them to the event and timing metadata buffer 340. Based on the MPD, the DASH client 300 can manage fetching and parsing segments from the HTTP stack 370. The parsing of segments can be performed by the in-band event and "moof" parser 330. The in-band event and "moof" parser can parse media segments 304 from the segments and then add the media segments 304 to the media buffer 355. The parsing performed by the in-band event and "moof" parser 330 can also include parsing in-band events 302 and timing metadata 303 (e.g., a timing metadata track) from the segments. In addition, the timing metadata track parser 335 can parse advanced boxes (e.g., an event message box and an event message instance box of the timing metadata 303) and add the advanced boxes to the event and timing metadata buffer 340.
[0047] The event and timing metadata buffer 340 can pass event and timing metadata samples to the synchronizer and dispatcher 345, which can be referred to as the event and timing metadata synchronizer and dispatcher function.
[0048] The synchronizer and dispatcher 345 can dispatch DASH client 300 specific events to the control, selection, and heuristics logic 315 of the DASH player. If one or more specific events and / or one or more timed metadata streams are subscribed for application 310, the synchronizer and dispatcher 345 can dispatch corresponding event instances and / or timed metadata samples to application 310 via the event / metadata API 307.
[0049] An embodiment can relate to a method for a signaling scheme that can be available in an event message track. For example, in an embodiment, an element event message track can be used to signal one or more event schemes that can be used to process one or more events corresponding to the event message track.
[0050] In an embodiment, a box can be defined for listing the schemeIdUri / value of each event scheme in the event message track.
[0051] In an embodiment, for each scheme, a binary flag can be included indicating whether the scheme is guaranteed to appear in the event message track. For example, the flag atleast_once can be used to indicate:
[0052] a. atleast_once = FALSE: The scheme cannot appear; and
[0053] b. atleast_once = FALSE: The scheme appears at least once
[0054] In an embodiment, a flag can be included indicating that one or more schemes not listed in the box may appear. For example, the flag other_schemes can be used to indicate:
[0055] a. other_schemes = FALSE: The event message track does not include any other schemes other than those listed in the box; and
[0056] b. other_schemes = TRUE: The event message track can include one or more schemes other than those listed in the box
[0057] In an embodiment, a new box can be defined as follows:
[0058]
[0059] In the box shown above:
[0060] · number_of_schemes can indicate the number of schemes listed in the box.
[0061] ·The scheme_id_uri can be a C string ending with NULL. If there is no value following,
[0062] it declares the identifier of the scheme, or the identifier of a naming scheme for the following values.
[0063] ·The value can be a name from the declared scheme.
[0064] ·The atleast_once can indicate that if it is set to true, the track contains at least one event instance of the scheme.
[0065] ·The other_schemes can indicate that if it is set to true, the track can contain other schemes besides the ones listed in the box.
[0066] In an embodiment, the'silb' box can appear at most once in the event message track header.
[0067] Thus, an embodiment can relate to a method of signaling possible event schemes in the track header of an event message track, where the number of schemes can be signaled, and the scheme id and value identifier for each scheme can be signaled, where additionally for each scheme id / value, and additionally it can also be signaled whether the scheme appears in the track or only the possibility of appearance is signaled, and where it can be signaled whether any other scheme id / value besides the listed scheme id / values appears in the event message track.
[0068] Figure 4 is a flowchart of an example method 400 for managing a media streaming system including a DASH client 300. In some embodiments, Figure 4 one or more process blocks of Figure 4 can be executed by a user device 441. In some embodiments,
[0069] As Figure 4 shown, the process 400 can include obtaining an event message track, the event message track being configured to be processed by a Dynamic Adaptive Streaming over Hypertext Transfer Protocol (DASH) client to display media content (block 410). The event message track corresponds to multiple events, the multiple events including one or more of a Media Presentation Description (MPD) event, an in-band event, timing metadata, a Common Media Application Format (CMAF) event, and a DASH event
[0070] As Figure 4As further shown, process 400 may include obtaining a scheme identifier box that identifies one or more event schemes that occur in the event message track, where each of the one or more event schemes specifies at least one parameter for processing one of the multiple events included in the event message track (block 420).
[0071] As Figure 4 As further shown, process 400 may include providing the event message track to the DASH client according to the one or more event schemes, or displaying media content based on the event message track (block 430).
[0072] In an embodiment, the scheme identifier box is included in the track header of the event message track.
[0073] In an embodiment, the scheme identifier box includes a first syntax element that specifies the number of the one or more event schemes identified in the scheme identifier box.
[0074] In an embodiment, the scheme identifier box includes a uniform resource identifier that declares at least one of the identifier of each event scheme and the identifier of the naming scheme corresponding to each event scheme.
[0075] In an embodiment, based on the uniform resource identifier that declares the naming scheme, the scheme identifier box further includes a first value that indicates the name corresponding to each event scheme in the name of the naming scheme.
[0076] In an embodiment, the scheme identifier box includes a first flag that indicates whether each event scheme occurs at least once in the event message track.
[0077] In an embodiment, the scheme identifier box includes a second flag that indicates whether a scheme not identified in the scheme identifier box is allowed to occur in the event message track.
[0078] Although Figure 4 illustrates example boxes of method 400, in some implementations, method 400 may include additional boxes, fewer boxes, different boxes, or boxes arranged in a different manner compared to those depicted in Figure 4 . Additionally or alternatively, two or more boxes of method 400 may be executed in parallel.
[0079] Reference Figure 5, describes computer code 500 according to an embodiment. The computer code 500 can be executed by a media streaming system including the DASH client 300. For example, the media streaming system can be implemented by the environment 100 described with respect to Figure 1 The media streaming system can include a memory configured to store the computer code 500, and at least one processor configured to access the computer code 500 and operate in accordance with the instructions of the computer code 500. The computer code 500 can be distributed in the memories of different components of the media streaming system (such as servers, clients, etc.), and can be configured to cause at least one processor of a specific component to perform any number of its functions, including the functions described in this disclosure. For example, the computer code 500 can include any number of first acquisition code 510, second acquisition code 520, and provision code 530.
[0080] In an embodiment, the first acquisition code 510, the second acquisition code 520, and the provision code 530 can be configured to cause the media streaming system including the DASH client 300 to perform aspects of the methods described above with respect to Figure 4 description respectively.
[0081] Embodiments of the present disclosure can be used alone or in any order combination. Further, each of the method, server, and client can be implemented by a processing circuit (e.g., one or more processors or one or more integrated circuits). In one example, one or more processors execute a program stored in a non-volatile computer-readable medium.
[0082] The above disclosure provides illustration and description, but is not intended to be exhaustive or to limit the embodiments to the exact forms disclosed. Modifications and variations are possible in light of the above disclosure, or can be obtained from the practice of the embodiments.
[0083] Obviously, the systems and / or methods described herein can be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specific control hardware or software code for implementing these systems and / or methods is not limited to these embodiments. Therefore, it should be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.
[0084] Even though particular combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and / or disclosed in the specification. While each dependent claim listed below may directly depend on only one claim, the disclosure of possible implementations includes each dependent claim combined with every other claim in the group of claims.
[0085] Elements, acts, or instructions used herein are not to be construed as critical or essential, unless expressly so described. Additionally, as used herein, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." Further, as used herein, the term "group" is intended to include one or more items (e.g., related items, unrelated items, combinations of related and unrelated items, etc.) and may be used interchangeably with "one or more." Where only one item is intended, the term "one" or similar language is used. Additionally, as used herein, the terms "has," "have," "having," etc. are intended to be open-ended terms. Further, the phrase "based on" is intended to mean "at least partially based on," unless expressly stated otherwise.
Claims
1. A method for media streaming, characterized in that, The method includes: Obtaining an event message track, the event message track being configured to be processed by a Dynamic Adaptive Streaming over HTTP (DASH) client to display media content, the event message track corresponding to a plurality of events, the plurality of events including one or more of a Media Presentation Description (MPD) event, an in-band event, timing metadata, a Common Media Application Format (CMAF) event, and a DASH event; Obtaining a scheme identifier box, the scheme identification box identifying one or more event schemes occurring in the event message track, wherein each event scheme in the one or more event schemes specifies at least one parameter for processing one event included in the plurality of events in the event message track, the scheme identifier box including a first syntax element, the first syntax element specifying the number of the one or more event schemes identified in the scheme identifier box; and Providing the event message track to the DASH client according to the one or more event schemes, or displaying media content based on the event message track.
2. The method according to claim 1, wherein The scheme identifier box is included in the track header of the event message track.
3. The method according to any one of claims 1-2, characterized in that, The scheme identifier box includes a Uniform Resource Identifier (URI), the URI declaring at least one of an identifier of each event scheme and an identifier of a naming scheme corresponding to each event scheme.
4. The method according to claim 3, wherein Based on the URI declaring the naming scheme, the scheme identifier box further includes a first value, the first value indicating a name corresponding to each event scheme in the name of the naming scheme.
5. The method according to any one of claims 1-2, characterized in that The scheme identifier box includes a first flag, the first flag indicating whether each event scheme occurs at least once in the event message track.
6. The method according to any one of claims 1-2, characterized in that The scheme identifier box includes a second flag, the second flag indicating whether a scheme not identified in the scheme identifier box is allowed to occur in the event message track.
7. A device, characterized in that, Including: At least one memory storing program code; And At least one processor configured to read the program code and operate according to the instructions of the program code to perform the method according to any one of claims 1-6.
8. An apparatus for media streaming, characterized in that, The apparatus includes: A first obtaining module for obtaining an event message track, the event message track being configured to be processed by a Dynamic Adaptive Streaming over HTTP (DASH) client to display media content, the event message track corresponding to a plurality of events, the plurality of events including one or more of a Media Presentation Description (MPD) event, an in-band event, timing metadata, a Common Media Application Format (CMAF) event, and a DASH event; A second acquisition module that acquires a scheme identifier box, the scheme identifier box identifying one or more event schemes that occur in the event message track, wherein each of the one or more event schemes specifies at least one parameter for processing one of the multiple events included in the event message track, the scheme identifier box including a first syntax element that specifies the number of the one or more event schemes identified in the scheme identifier box; and A provision module that, based on the one or more event schemes, provides the event message track to the DASH client or displays media content based on the event message track.
9. A non - volatile computer - readable medium storing instructions, characterized in that, When executed by at least one processor, the instructions cause the at least one processor to: Acquire an event message track that is configured to be processed by a Dynamic Adaptive Streaming over Hypertext Transfer Protocol (DASH) client to display media content, the event message track corresponding to multiple events, the multiple events including one or more of a Media Presentation Description (MPD) event, an in-band event, timing metadata, a Common Media Application Format (CMAF) event, and a DASH event; Acquire a scheme identifier box, the scheme identifier box identifying one or more event schemes that occur in the event message track, wherein each of the one or more event schemes specifies at least one parameter for processing one of the multiple events included in the event message track, the scheme identifier box including a first syntax element that specifies the number of the one or more event schemes identified in the scheme identifier box; And Based on the one or more event schemes, provide the event message track to the DASH client or display media content based on the event message track.
Citation Information
Patent Citations
Circular fisheye video in virtual reality
CN109076239A
Information processing method, information providing method, information providing device and a storage medium
CN112188256A