Method and apparatus for signaling CMAF switching sets in ISOBMFF
A new track group entry box type in ISOBMFF files signals CMAF switch sets, addressing the lack of standard signaling in the CMAF standard, enabling efficient and seamless track switching and decoding.
Patent Information
- Application Number
- JP2025514835
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-16
- Filing Date
- 2023-10-17
- Publication Date
- 2025-09-11
- Estimated Expiration
- 2043-10-17
AI Technical Summary
The CMAF standard does not include a specific method for signaling the presence of CMAF switch sets within ISOBMFF files, relying on out-of-band signaling like DASH manifests.
Introduce a new track group entry box type, such as 'cmsg', to signal CMAF switching sets within ISOBMFF files, including parameters like track_group_id, num_tracks, aligned, single_init, principal_id, and structural_brand to define CMAF switch set characteristics.
Enables efficient signaling of CMAF switch sets within ISOBMFF files without interfering with other track groupings, allowing seamless track switching and decoding.
Smart Images

Figure 2025530316000002 
Figure 2025530316000003 
Figure 2025530316000004
Abstract
Description
[Technical Field]
[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Provisional Application No. 63 / 417,114, filed October 18, 2022, and U.S. Application No. 18 / 487,596, filed October 16, 2023, the disclosures of which are incorporated herein by reference in their entireties.
[0002] This disclosure relates to a set of advanced video coding techniques, and more particularly to encoding and decoding switching sets, attributes of switching sets, and associated tracks in the International Organization for Standardization (ISO)-Based Media File Format (ISOBMFF). [Background technology]
[0003] ISOBMFF is a widely used file format for media content. The Common Media Application Format (CMAF) standard defines common media format tracks that can be grouped into switch sets. CMAF switch sets are used to carry media with alternative tracks. Alternative tracks represent the same content but have different attributes, such as bit rate, resolution, frame rate, and other possible characteristics. Summary of the Invention [Problem to be solved by the invention]
[0004] Although the CMAF standard uses ISOBMFF as a track format, the CMAF standard does not include any specific method for signaling the presence of CMAF switch sets. Until now, such signaling has used out-of-band signaling, such as Dynamic Adaptive Streaming over HTTP (DASH) manifests. Therefore, it is necessary to utilize the CMAF standard to signal the presence of CMAF switch sets in an ISOBMFF file. [Means for solving the problem]
[0005] According to an embodiment, a method for encoding or decoding video data may be provided, the method including the steps of: obtaining a track group entry box from an ISO Base Media File Format (ISOBMFF) track associated with the video data, the track group entry box indicating one or more tracks associated with the video data in a Common Media Application Format (CMAF) switching set, the CMAF switching set indicating one or more tracks including alternative representations of the video data, the track group entry box including one or more CMAF switching set characteristics associated with the video data; and obtaining a first track of the one or more tracks associated with the video data in the CMAF switching set. obtaining a second track associated with the video data, the second track including the second alternative group parameter, the second track being one of the one or more tracks in the CMAF switching set, the second alternative group parameter and the first alternative group parameter having the same value; and decoding the video data based on the first track or the second track in the CMAF switching set.
[0006] According to an embodiment, an apparatus for encoding or decoding video data may be provided, the apparatus including at least one memory configured to store program code and at least one processor configured to read the program code and operate according to instructions of the program code, the program code including: first retrieval code configured to cause the at least one processor to retrieve a track group entry box from an ISO Base Media File Format (ISOBMFF) track associated with the video data, the track group entry box indicating one or more tracks associated with the video data in a Common Media Application Format (CMAF) switching set, the CMAF switching set indicating one or more tracks including alternative representations of the video data, the track group entry box including one or more CMAF switching set characteristics associated with the video data; and a program code configured to cause the at least one processor to retrieve a first track of the one or more tracks associated with the video data in the CMAF switching set. and a second acquisition code configured to cause at least one processor to acquire a second track associated with the video data, the second track being one of one or more tracks in a CMAF switching set, the first track including a first alternative group parameter for indicating a CMAF switching set to which the first track belongs; a third acquisition code configured to cause at least one processor to acquire a second track associated with the video data, the second track including the second alternative group parameter, the second track being one of one or more tracks in the CMAF switching set, the second alternative group parameter and the first alternative group parameter having the same value; and a first decoding code configured to cause at least one processor to decode the video data based on the first track or the second track in the CMAF switching set.
[0007] According to an embodiment, a non-transitory computer-readable medium having stored thereon computer instructions may be provided, the instructions including one or more instructions that, when executed by one or more processors of an apparatus for encoding or decoding video data, cause the one or more processors to: obtain a track group entry box from an ISO Base Media File Format (ISOBMFF) track associated with the video data, the track group entry box indicating one or more tracks associated with the video data in a Common Media Application Format (CMAF) switching set, the CMAF switching set indicating one or more tracks containing alternative representations of the video data, and the track group entry box including one or more CMAF switching set characteristics associated with the video data; the first track is one of the one or more tracks associated with the video data in the CMAF switching set, the first track being one of the one or more tracks in the CMAF switching set, the first track including a first alternative group parameter indicating a CMAF switching set to which the first track belongs; the second track is one of the one or more tracks in the CMAF switching set, the second alternative group parameter and the first alternative group parameter having the same value; and decoding the video data based on the first track or the second track in the CMAF switching set.
[0008] Further features, nature and various advantages of the disclosed subject matter will become more apparent from the following detailed description and the accompanying drawings, in which: [Brief explanation of the drawings]
[0009] [Figure 1]FIG. 1 is a schematic diagram of a simplified block diagram of a communication system according to an embodiment of the present disclosure. [Figure 2] FIG. 1 is a schematic diagram of a simplified block diagram of a streaming system according to an embodiment of the present disclosure. [Figure 3] FIG. 2 is a simplified diagram of a CMAF track and a CMAF switch set according to an embodiment of the present disclosure. [Figure 4] FIG. 10 is an exemplary diagram of a configuration of a CMAF switching set in ISOBMFF according to an embodiment of the present disclosure. [Figure 5] FIG. 10 is an exemplary diagram of a configuration of a CMAF switching set in ISOBMFF according to an embodiment of the present disclosure. [Figure 6] 10 is an exemplary flowchart of a process for signaling a CMAF switching set according to an embodiment of the present disclosure. [Figure 7] FIG. 1 illustrates a computer system suitable for implementing embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0010] According to one aspect of the present disclosure, there is provided a method, system, and non-transitory storage medium for parallel processing of dynamic mesh compression. Embodiments of the present disclosure may also be applied to static meshes.
[0011] 1 and 2, an embodiment of the present disclosure for realizing the encoding and decoding configurations of the present disclosure will be described.
[0012] 1 shows a simplified block diagram of a communication system 100 according to an embodiment of the present disclosure. The system 100 may include at least two terminals 110, 120 interconnected via a network 150. In the case of one-way data transmission, the first terminal 110 may encode video data, which may include mesh data, at a local location and transmit the encoded video data to the other terminal 120 via the network 150. The second terminal 120 may receive the encoded video data of the other terminal from the network 150, decode the encoded data, and display the restored video data. One-way data transmission is common in media service applications, etc.
[0013] 1 illustrates a second set of terminals 130, 140, which are provided to support two-way transmission of encoded video, such as might occur during a video conference. For two-way transmission of data, each terminal 130, 140 can encode video data captured at a local location and transmit it to another terminal over network 150. Each terminal 130, 140 can receive the encoded video data transmitted by the other terminal, decode the encoded data, and display the recovered video data on a local display device.
[0014] In FIG. 1 , terminals 110 to 140 may be, for example, servers, personal computers, smartphones, and / or any other type of terminal. For example, terminals (110 to 140) may be laptop computers, tablet computers, media players, and / or dedicated videoconferencing devices. Network 150 represents any number of networks that transmit encoded video data between terminals 110 to 140, including, for example, wired and / or wireless communication networks. Communication network 150 may exchange data over circuit-switched and / or packet-switched channels. Exemplary networks include telecommunications networks, local area networks, wide area networks, and / or the Internet. For purposes of this discussion, unless described below, the architecture and topology of network 150 may not be important to the operation of the present disclosure.
[0015] As an example application of the disclosed subject matter, Figure 2 illustrates the placement of a video encoder and decoder in a streaming environment. The disclosed subject matter can be used with other applications that support video, including video conferencing, digital TV, and the like, which store compressed video on digital media such as Compact Discs (CDs), Digital Video Disks (DVDs), memory sticks, etc.
[0016] 2, the streaming system 200 includes a capture subsystem 213 that includes a video source 201 and an encoder 203. The streaming system 200 may further include at least one streaming server 205 and / or at least one streaming client 206.
[0017] The video source 201 can create a stream 202 including, for example, a three-dimensional (3D) mesh and metadata associated with the 3D mesh. The video source 201 can include, for example, a 3D sensor (e.g., a depth sensor) or 3D imaging technology (e.g., a digital camera) and a computing device configured to generate a 3D mesh using data received from the 3D sensor or 3D imaging technology. The sample stream 202, which has a high amount of data compared to an encoded video bitstream, can be processed by an encoder 203 coupled to the video source 20. The encoder 203 can include hardware, software, or a combination thereof to realize or implement aspects of the disclosed subject matter, as described in detail below. The encoder 203 can generate an encoded video bitstream 204. The encoded video bitstream 204, which has a low amount of data compared to the uncompressed stream 202, can be stored on a streaming server 205 for future use. One or more streaming clients 206 can access the streaming server 205 to retrieve a video bitstream 209, which can be a copy of the encoded video bitstream 204.
[0018] The streaming client 206 may include a video decoder 210 and a display 212. The video decoder 210 may decode a video bitstream 209, which may be, for example, an input copy of the encoded video bitstream 204, and may generate an output video sample stream 211 that may be rendered on the display 212 or another rendering device (not shown). In some streaming systems, the video bitstreams 204, 209 may be encoded according to some video encoding / compression standard.
[0019] Embodiments of the present disclosure relate to signaling the presence of CMAF switching sets in ISOBMFF files using the CMAF standard.
[0020] FIG. 3 is an exemplary diagram 300 of CMAF tracks and CMAF switch sets.
[0021] According to an embodiment, a CMAF switching set may be a collection of CMAF tracks, each of which is an alternative encoding of the same source content, constrained to allow seamless track switching and decoding. A CMAF selection set may be a collection of CMAF switching sets, each encoding alternative versions of the same rendering during the same time period, e.g., different languages or codecs, such that only one of them is played at a time.
[0022] According to an embodiment, a CMAF track is a sequence of CMAF fragments in presentation order from the same media stream and associated CMAF headers (CMAF heads) sufficient to initialize playback, where the CMAF fragments are ISOBMFFs that conform to the CMAF encoding and packaging constraints.
[0023] According to an embodiment, a CMAF header is a sequence of ISOBMFF boxes, beginning with a file type box and including a movie box, that contain initialization information about the CMAF track. A CMAF segment is a resource containing one or more consecutive CMAF fragments from the same CMAF track. A CMAF chunk resource contains a single ISOBMFF segment, which contains an ordered, contiguous subset of CMAF fragment samples. A CMAF track file is a CMAF track stored in a single ISOBMFF file, which contains the CMAF header and all CMAF segments ordered from decoding time zero.
[0024] A CMAF Switch is a collection of CMAF tracks with some common constraints, as shown in Figure 3. The primary purpose of a CMAF Switch Set is to provide alternative representations of the same content on multiple tracks so that during delivery or playback, a player can switch between tracks to adapt to changes in network bandwidth or other changing attributes.
[0025] As mentioned above, the CMAF standard uses ISOBMFF as a track format, but the CMAF standard does not provide for signaling the presence of CMAF switch sets within an ISOBMFF file.
[0026] An embodiment of the present disclosure relates to an alternate_group flag in an ISOBMFF tkhd box (also called a "track header box") for signaling a set of tracks that belong to a CMAF switching set. This flag can be used to signal alternate representations, but it does not indicate whether the set is a CMAF switching set or its attributes.
[0027] Embodiments of the present disclosure define a new track group box type for CMAF switch sets. A track group entry box may be a special type of track box that defines track requirements for a common media format. In embodiments, such track group entry boxes may be identified by a unique four-character code, for example, "cmsg" (by way of example only), and the track group box may contain the following: 1. track_group_id, which may have a value equal to the alternate_group of the CMAF track in the switch set; 2.num_tracks, which can specify the number of tracks in the switch set; 3.aligned, you can specify whether the tracks are time-aligned; 4.single_init, you can specify whether the track has a single initialization; 5. principal_id, which can indicate the track ID (identification) including the principal header of the switching set; 6. structural_brand, which can indicate the CMAF structural type to which all tracks in a particular switch set conform; or 7. mediaprofile_brand: This can indicate the CMAF file type of the media profile to which all tracks in the switch set conform.
[0028] In an embodiment, each track that is part of a CMAF switch set may have its alternate_group set equal to the value of the track_group_id in the CMAF track group entry box.
[0029] In embodiments, similar to the manner in which preliminary selection is made, track group boxes may be used to signal CMAF switching set characteristics. Such embodiments may define a CMAF switching set track group entry box (e.g., "cmsg") that may include the parameters mentioned above.
[0030] FIG. 4 shows an example diagram 400 of an example CMAF switch set having two tracks.
[0031] As shown in diagram 400, arrow 445 indicates the track and track group box (also called "track group entry box") association of a CMAF switch set using alternate_group and track_group_id. As an example, tracks 410, 420, and 430 are associated with each other. The value of track_group_id for ISOBMFF track 410 is equal to the value of alternate_group for tracks 420 and 430. The value of track_group_id for ISOBMFF track 410 is equal to the value of alternate_group for tracks 420 and 430, indicating that tracks 420 and 430 are associated with each other and are alternative representations of the same media content but have different parameters. When decoding the media data, a decoder can use track 420 or track 430 based on network, user device, or decoder parameters.
[0032] FIG. 5 shows an example diagram 500 of an example CMAF switching set having two tracks and one pre-selection set having two tracks.
[0033] As shown in diagram 500, arrows 555 and 565 indicate the association of CMAF switching sets and CMAF pre-selected sets with ISOBMFF tracks 510. As shown in diagram 500, CMAF switching sets and pre-selected sets can be used together.
[0034] As shown in diagram 500, tracks 530 and 540 are in one CMAF switching set, and tracks 520 and 530 are in one pre-selected set. According to an embodiment, because tracks 530 and 540 are in one CMAF switching set, track 540 can be used in the same pre-selected set as track 520, but not track 530.
[0035] Box type: "cmsg"
[0036] Container:Track Group Description Box
[0037] Mandatory: No
[0038] Number: Zero or more
[0039] A CMAF switch group defines a set of tracks that conform to a CMAF switch set in ISO / IEC (International Organization for Standardization / International Electrotechnical Commission, ISO / IEC) 23000-19. A CMAF switch set is qualified by its attributes.
[0040] A CMAF switch group entry box can only describe track groups identified by track_group_type equal to "cmsg". All CMAF switch groups that have at least one contributing track with the track_in_movie flag set to 1 can be qualified by a CMAF switch group entry box. Otherwise, the presence of a CMAF switch group entry box is optional. All attributes that uniquely qualify a preselection must be present in that preselected CMAF switch group entry box.
[0041] grammar
number
[0042] Semantics
[0043] Below is information that might be included in an example box for a CMAF Switching Group:
[0044] num_tracks may specify the number of alternate tracks grouped by this CMAF switch group or set. Tracks grouped by this CMAF switch track group may be tracks with alternate_group equal to the switch group's ID. Aligned may indicate an aligned CMAF switch set if set to 1; otherwise, it may be set to 0, and other values are reserved. Single_init may indicate a CMAF switch set with a single initialization segment for all tracks if set to 1; otherwise, it may be set to 0, and other values are reserved. Principal may specify the track_id of a track whose initialization segment can be used to initialize any track in this switch group. Structural_brand may specify the CMAF structural type of all tracks in this switch group. Mediaprofile_brand may specify the media profile type to which all tracks in this switch group conform.
[0045] Embodiments of the present disclosure use track group boxes to provide signaling for CMAF switch sets in a way that does not interfere with other track groupings, thus making it easy to signal the association of a CMAF switch set with other track groups.
[0046] According to an embodiment, a method for signaling the existence of one or more CMAF switch sets in an ISOBMFF file, and track associations and attributes can be provided. Each track can have an alternative_group to signal its association, and at the same time, a new type of track group entry box can be defined for a CMAF switch set, such that the track_group_id of the track group entry box is the same as the alternative_group of the associated track. In addition, attributes of a CMAF switch set, such as alignment, initialization segment attributes, CMAF structure type, and CMAF media profile type, can be signaled in the same track group entry, and such signaling coexists with other track group signaling, such as pre-selection signaling, allowing for the combination of signaling CMAF switch sets and pre-selection signaling.
[0047] FIG. 6 illustrates an example process 600 for signaling a CMAF switching set according to an embodiment of the present disclosure.
[0048] As shown in process 600, in operation 605, a track group entry box may be obtained from an ISO Base Media File Format (ISOBMFF) track associated with the video data.
[0049] In embodiments, the track group entry box indicates one or more tracks associated with the video data in a Common Media Application Format (CMAF) switching set. In embodiments, the CMAF switching set can indicate one or more tracks containing alternative representations of the video data. In embodiments, the track group entry box includes one or more CMAF switching set characteristics associated with the video data.
[0050] One or more CMAF switch set properties in a track group entry box may include a first track group id parameter that indicates the id of the track group entry box, which is used to determine one or more tracks in the CMAF switch set. In an embodiment, the value of the first track group id parameter may be the same as the value of a corresponding alternate group parameter of one or more tracks in the CMAF switch set.
[0051] The Track Group entry box may include a Track Count parameter indicating the total number of tracks in the CMAF switch set. The Track Group entry box may include a Principal ID indicating the track ID that includes the principal header of the CMAF switch set. The Track Group entry box may include an Alignment parameter indicating whether one or more tracks in the CMAF switch set are time-aligned. The Track Group entry box may include a Structure Band parameter indicating a CMAF structure band to which one or more tracks in the CMAF switch set belong. The Track Group entry box may include a Media Profile Band parameter indicating a CMAF file band of a media profile to which one or more tracks in the CMAF switch set belong.
[0052] In an embodiment, each of one or more tracks in a CMAF switch set may have a corresponding alternate group parameter that is equal to the first track group id parameter of the CMAF switch set to which the one or more tracks belong.
[0053] In operation 610, a first track of one or more tracks associated with the video data in a CMAF switching set may be obtained. In some embodiments, a first alternative group parameter may be obtained, the first alternative group parameter indicating a CMAF switching set to which the first track belongs. The first track may be one of one or more tracks in the CMAF switching set.
[0054] At operation 615, a second track of one or more tracks associated with the video data in the CMAF switching set may be obtained. In some embodiments, a second alternative group parameter may be obtained. In some embodiments, the second alternative group parameter and the first alternative group parameter have the same value, indicating that the second track and the first track are of one or more tracks in the CMAF switching set.
[0055] In embodiments, a third track associated with the video data may be obtained. In embodiments, the second track and the third track are tracks in a set of pre-selected tracks. The third track (and the second track) may include a pre-selection box, which indicates that the third track is one of a plurality of pre-selected tracks.
[0056] In operation 620, the video data may be decoded based on the first track or the second track in the CMAF switch set. In an embodiment, the video data is decoded based on the plurality of pre-selected tracks and the CMAF switch set. Decoding the video data based on the plurality of pre-selected tracks and the CMAF switch set may include decoding based on the first track and the third track, or the second track and the third track. In an embodiment, each of the plurality of pre-selected tracks may include a pre-selected track box, and each of the plurality of pre-selected tracks may have the same value of the second track group id parameter.
[0057] The techniques described above can be implemented as computer software using computer-readable instructions and physically stored on one or more computer-readable media. For example, Figure 7 illustrates a computer system 700 suitable for implementing some embodiments of the present disclosure.
[0058] Computer software can be encoded using any suitable machine code or computer language, which can be assembled, compiled, linked, or similar mechanisms to create code containing instructions that are executed directly by a computer Central Processing Unit (CPU), Graphics Processing Unit (GPU), etc., or interpreted and executed via microcode.
[0059] The instructions may be executed by various types of computers or components thereof, including, for example, personal computers, tablet computers, servers, smartphones, gaming devices, Internet of Things devices, etc.
[0060] 7 are exemplary and are not intended to suggest any limitation on the scope or functionality of use of computer software for implementing embodiments of the present disclosure. Neither the arrangement of components should be construed as having any dependency or requirement regarding any one or combination of components shown in the non-limiting embodiment of computer system 700.
[0061] The computer system 700 may also include several human-machine interface input devices. Such human-machine interface input devices may respond to input from one or more human users, for example, through tactile input (e.g., keystrokes, swipes, data glove movements), audio input (e.g., voice, tapping), visual input (e.g., gestures), and olfactory input (not shown). Human-machine interface devices may also be used to capture some media not necessarily directly related to conscious human input, such as audio (e.g., voice, music, ambient sounds), images (e.g., scanned images, photographic images obtained from still image cameras), and video (e.g., two-dimensional video, including stereoscopic video, three-dimensional video).
[0062] The input human-machine interface devices may include one or more of a keyboard 701, a mouse 702, a touchpad 703, a touchscreen 710, a data glove, a joystick 705, a microphone 706, a scanner 707, and an imaging device 708 (only one of each is depicted).
[0063] The computer system 700 may also include several human-machine interface output devices. Such human-machine interface output devices can stimulate one or more of the human user's senses, for example, through tactile output, sound, light, and smell / taste. These human-machine interface output devices can include haptic output devices (e.g., haptic feedback via a touchscreen 710, data gloves, or joystick 705, although haptic feedback devices not used as input devices may also be present). For example, such devices can include audio output devices (e.g., speakers 709, head-mounted headphones (not shown)), visual output devices (e.g., screens 710, including CRT screens, LCD screens, plasma screens, OLED screens, etc., each with or without touchscreen input capability and each with or without haptic feedback capability, some of which can output two-dimensional visual output or three-dimensional or higher-dimensional output, e.g., in stereoscopic output formats, such as virtual reality glasses (not shown), holographic displays, and smoke tanks (not shown)), and printers (not shown).
[0064] The computer system 700 may further include human-accessible storage devices and their associated media, such as optical media including a CD / DVD ROM / RW 720 having media 721 such as a CD / DVD, a thumb drive 722, a removable hard drive or solid state drive 723, traditional magnetic media such as magnetic tape or floppy disks (not shown), dedicated ROM / ASIC / PLD based devices such as a security dongle (not shown), and the like.
[0065] Those skilled in the art should understand that the term "computer-readable medium" as used in connection with the presently disclosed subject matter does not include transmission media, carrier waves, or other transitory signals.
[0066] The computer system 700 may include interfaces to one or more communication networks. The networks may be, for example, wireless, wired, or optical networks. The networks may be local, wide-area, metropolitan, vehicular, industrial, real-time, delay-tolerant networks, etc. Examples of networks include local networks such as Ethernet, wireless Local Area Networks (LANs), cellular networks including Global System for Mobile Communications (GSM), 3G (the Third Generation, 3G), 4G (the Fourth Generation, 4G), 5G (the Fifth Generation, 5G), and LTE (Long Term Evolution, 5G), TV wired or wireless wide-area digital networks including cable TV, satellite TV, and terrestrial TV, vehicular and industrial networks including CANBus, etc. Some networks typically require an external network interface adapter connected to some general-purpose data port or peripheral bus 749 (e.g., a USB port on computer system 700), while other networks are typically integrated into the core of computer system 70 by connecting to the system bus via one of the following interfaces (e.g., an Ethernet interface to a personal computer (PC) computer system or a cellular network interface to a smartphone computer system). Using any of these networks, computer system 700 can communicate with other entities. Such communications may be one-way receive only (e.g., broadcast TV), one-way transmit only (e.g., a Controller Area Network (CAN) bus to some CAN bus devices), or bidirectional, e.g., via a local-area or wide-area digital network to another computer system. Such communications may include communications to a cloud computing environment 755.Certain protocols and protocol stacks may be used in each of these networks and network interfaces described above.
[0067] The aforementioned human machine interface devices, human accessible storage devices and network interface 754 may be attached to the core 740 of the computer system 700 .
[0068] The core 740 may include one or more central processing units (CPUs) 741, graphics processing units (GPUs) 742, dedicated programmable processing units in the form of field programmable gate arrays (FPGAs) 743, hardware accelerators 744 for some specific tasks, etc. These devices, along with read-only memory (ROM) 745, random access memory 746, and internal mass storage device 747, such as an internal hard disk drive or SSD that is not user accessible, are connected via a system bus 748. In some computer systems, access to the system bus 748 in the form of one or more physical plugs may allow expansion with additional CPUs, GPUs, etc. Peripheral devices are connected to the core's system bus 748 directly or via a peripheral bus 749. Peripheral bus architectures include Peripheral Component Interconnect / Interface (PCI), Universal Serial Bus (USB), etc. A graphics adapter 750 may also be included in the core 740.
[0069] The CPU 741, GPU 742, FPGA 743, and accelerator 744 may execute certain instructions, which may combine to constitute the computer code described above. The computer code may be stored in ROM 745 or RAM (Random Access Memory) 746. Transient data may also be stored in RAM 746, while persistent data may be stored, for example, in internal mass storage device 747. A cache memory may be used to achieve high-speed storage and retrieval from any memory device, and the cache memory may be closely associated with one or more of the CPU 741, GPU 742, mass storage device 747, ROM 745, RAM 746, etc.
[0070] The computer-readable medium may have computer code thereon for performing various computer-implemented operations, and the medium and computer code may be specially designed and constructed for the purposes of this disclosure, or may be of the type known and available to those skilled in the computer software arts.
[0071] By way of example and not limitation, a computer system having the architecture of computer system 700, and in particular core 740, can provide functionality through the execution of software embodied in one or more tangible computer-readable media by a processor (including a CPU, GPU, FPGA, accelerator, etc.). Such computer-readable media may be media associated with user-accessible mass storage devices, as described above, as well as media associated with some non-transitory storage devices of core 740 (e.g., core internal mass storage device 747 and ROM 745). Software in various embodiments for implementing the present disclosure can be stored on such devices and executed by the core. Depending on particular needs, the computer-readable media may include one or more storage devices or chips. The software can cause the core, and in particular the processor therein (including a CPU, GPU, FPGA, etc.), to perform specific processes or portions of specific processes, as described herein, including defining data structures stored in RAM 746 and modifying such data structures according to software-defined processes. Additionally, or alternatively, a computer system may provide functionality as a result of logic hardwired or otherwise embodied in circuitry (e.g., accelerator 744), which may operate in place of or in conjunction with software to perform particular processes or portions of particular processes described herein. Where appropriate, references to software may include logic, and vice versa. Where appropriate, references to computer-readable media may include circuitry (e.g., integrated circuits (ICs)) that store software for execution, circuitry that implements logic for execution, or both. The present disclosure includes any appropriate combination of hardware and software.
[0072] While this disclosure has previously described several non-limiting embodiments, there are alterations, substitutions, and various substitute equivalents that fall within the scope of this disclosure. Thus, those skilled in the art may devise various systems and methods that embody the principles of this disclosure, but that are within the spirit and scope of this disclosure, although not explicitly shown or described herein. [Explanation of symbols]
[0073] 20 Video Sources 70 Computer Systems 100 Communication Systems 100 systems 110 to 140 terminals 150 Communication Network 200 Streaming System 201 Video Sources 202 Sample Stream 203 Encoder 204 coded video bitstream 205 Streaming Server 206 Streaming Client 209 Video Bitstream 210 Video Decoder 211 output video sample stream 212 Display 213 Capture Subsystem 410 Truck 410 ISOBMFF Truck 420 Trucks 430 Trucks 510 ISOBMFF Truck 520 Trucks 530 Trucks 540 Trucks 700 Computer Systems 701 Keyboard 702 Mouse 703 Touchpad 705 Joystick 706 Mike 707 Scanner 708 Imaging Device 709 Speaker 710 Touchscreen 710 screen 720RW 721 Medium 722 thumb drive 723 Solid State Drive 740 cores 741 Central Processing Unit (CPU) 742 Graphics Processing Unit (GPU) 743 FPGA 744 Hardware Accelerator 745 Dedicated memory (Read-Only memory, ROM) 746 RAM (Random Access Memory, RAM) 747 Mass Storage Device 748 System Bus 749 Peripheral Bus 750 graphics adapter 754 network interface 755 Cloud Computing Environment
Claims
1. 1. A method for decoding media, executed by at least one processor, comprising: The method comprises: obtaining a Track Group Entry Box from an ISO Base Media File Format (ISOBMFF) track associated with video data, the Track Group Entry Box indicating one or more tracks associated with the video data in a Common Media Application Format (CMAF) Switching Set, the CMAF Switching Set indicating one or more tracks containing alternative representations of the video data, and the Track Group Entry Box including one or more CMAF Switching Set characteristics associated with the video data; obtaining a first track of the one or more tracks associated with the video data in the CMAF switching set, the first track including a first substitution group parameter for indicating to which CMAF switching set the first track belongs; obtaining a second track of the one or more tracks associated with the video data in the CMAF switching set, the second track including a second alternative group parameter, the second alternative group parameter and the first alternative group parameter having the same value; decoding the video data based on the first track or the second track in the CMAF switching set; A method comprising:
2. The one or more CMAF switching set characteristics in the track group entry box are: a first track group id parameter indicating an id of the track group entry box, the first track group id parameter being used to determine the one or more tracks in the CMAF switching set, and the value of the first track group id parameter being the same as the value of a corresponding alternate group parameter of the one or more tracks in the CMAF switching set; a track count parameter indicating the total number of tracks in the CMAF switching set; a principal id indicating a track id containing a principal header of the CMAF switch set; 10. The method of claim 1, comprising:
3. The one or more CMAF switching set characteristics in the track group entry box further include: an alignment parameter indicating whether the one or more tracks in the CMAF switching set are time-aligned; a structural band parameter indicating a CMAF structural band to which the one or more tracks in the CMAF switching set belong; a media profile band parameter indicating a CMAF file band of a media profile to which the one or more tracks in the CMAF switching set belong; 3. The method of claim 2, comprising:
4. each of the one or more tracks in the CMAF switching set has a corresponding alternate group parameter, the alternate group parameter being equal to a first track group id parameter of the CMAF switching set to which the one or more tracks belong; The method of claim 1.
5. the second track includes a pre-selection box, and the method further comprises: obtaining a third track associated with the video data, the third track being a track in a pre-selected track set, the third track including the pre-selection box indicating that the third track is one of a plurality of pre-selected tracks; decoding the video data based on the plurality of pre-selected tracks and the CMAF switching set; The method of claim 1 further comprising:
6. decoding the video data based on the plurality of pre-selected tracks and the CMAF switching set, decoding based on the first track and the third track, or the second track and the third track; 6. The method of claim 5, comprising:
7. each of the plurality of pre-selected tracks includes a pre-selected track box, and each of the plurality of pre-selected tracks has the same value as a second track group id parameter; The method of claim 6.
8. 1. An apparatus for decrypting media, comprising: at least one memory having computer code stored therein; at least one processor configured to access said computer code and to operate according to the instructions of said computer code; Including, The computer code first acquisition code arranged to cause the at least one processor to acquire a track group entry box from an ISO Base Media File Format (ISOBMFF) track associated with video data, the track group entry box indicating one or more tracks associated with the video data in a Common Media Application Format (CMAF) switching set, the CMAF switching set indicating one or more tracks including alternative representations of the video data, and the track group entry box including one or more CMAF switching set characteristics associated with the video data; and second acquisition code arranged to cause the at least one processor to acquire a first track of the one or more tracks associated with the video data in the CMAF switching set, the first track including a first alternative group parameter indicating to which CMAF switching set the first track belongs; third acquisition code arranged to cause the at least one processor to acquire a second track of the one or more tracks associated with the video data in the CMAF switching set, the second track including a second alternative group parameter, the second alternative group parameter and the first alternative group parameter having the same value; first decoding code configured to cause the at least one processor to decode the video data based on the first track or the second track in the CMAF switch set; An apparatus comprising:
9. The one or more CMAF switching set characteristics in the track group entry box are: a first track group id parameter indicating an id of the track group entry box, the first track group id parameter being used to determine the one or more tracks in the CMAF switching set, the value of the first track group id parameter being the same as the value of a corresponding alternate group parameter of the one or more tracks in the CMAF switching set; a track count parameter indicating the total number of tracks in the CMAF switching set; a principal id indicating a track id containing a principal header of the CMAF switch set; 9. The apparatus of claim 8, comprising:
10. The one or more CMAF switching set characteristics in the track group entry box further include: an alignment parameter indicating whether the one or more tracks in the CMAF switching set are time-aligned; a structural band parameter indicating a CMAF structural band to which the one or more tracks in the CMAF switching set belong; a media profile band parameter indicating a CMAF file band of a media profile to which the one or more tracks in the CMAF switching set belong; 10. The apparatus of claim 9, comprising:
11. each of the one or more tracks in the CMAF switching set has a corresponding alternate group parameter, the alternate group parameter being equal to a first track group id parameter of the CMAF switching set to which the one or more tracks belong; 9. The apparatus of claim 8.
12. The second track includes a pre-selection box, and the computer code further comprises: fourth acquisition code configured to cause the at least one processor to acquire a third track associated with the video data; the third track is a track in a pre-selected track set; the third track includes the pre-selection box indicating that the third track is one of a plurality of pre-selection tracks; the first decoding code includes decoding the video data based on the plurality of pre-selected tracks and the CMAF switching set; 10. The apparatus of claim 9.
13. the first decoding code includes a code for decoding the video data based on the first track and the third track, or the second track and the third track; 13. The apparatus of claim 12.
14. each of the plurality of pre-selected tracks includes a pre-selected track box, and each of the plurality of pre-selected tracks has the same value as a second track group id parameter; 14. The apparatus of claim 13.
15. A non-transitory computer-readable medium having instructions stored thereon, The instructions, when executed by at least one processor, cause the at least one processor to: obtaining a Track Group Entry Box from an ISO Base Media File Format (ISOBMFF) track associated with video data, the Track Group Entry Box indicating one or more tracks associated with the video data in a Common Media Application Format (CMAF) Switching Set, the CMAF Switching Set indicating one or more tracks containing alternative representations of the video data, and the Track Group Entry Box including one or more CMAF Switching Set characteristics associated with the video data; obtaining a first track of the one or more tracks associated with the video data in the CMAF switching set, the first track including a first substitution group parameter indicating to which CMAF switching set the first track belongs; obtaining a second track associated with the video data, the second track including a second alternate group parameter, the second alternate group parameter and the first alternate group parameter having the same value; decoding the video data based on the first track or the second track in the CMAF switching set; A non-transitory computer-readable medium for executing the method.
16. The one or more CMAF switching set characteristics in the track group entry box are: a first track group id parameter indicating an id of the track group entry box, the first track group id parameter being used to determine the one or more tracks in the CMAF switching set, the value of the first track group id parameter being the same as the value of a corresponding alternate group parameter of the one or more tracks in the CMAF switching set; a track count parameter indicating the total number of tracks in the CMAF switching set; a principal id indicating a track id containing a principal header of the CMAF switch set; 16. The non-transitory computer-readable medium of claim 15, comprising:
17. The one or more CMAF switching set characteristics in the track group entry box may further include: an alignment parameter indicating whether the one or more tracks in the CMAF switching set are time-aligned; a structural band parameter indicating a CMAF structural band to which the one or more tracks in the CMAF switching set belong; a media profile band parameter indicating a CMAF file band of a media profile to which the one or more tracks in the CMAF switching set belong; 20. The non-transitory computer-readable medium of claim 16, comprising:
18. each of the one or more tracks in the CMAF switching set has a corresponding alternate group parameter, the alternate group parameter being equal to a first track group id parameter in the CMAF switching set to which the one or more tracks belong; 16. The non-transitory computer-readable medium of claim 15.
19. The second track includes a pre-selection box, and the instructions to the at least one processor include: obtaining a third track associated with the video data, the third track being a track in a pre-selected track set, the third track including the pre-selection box indicating that the third track is one of a plurality of pre-selected tracks; decoding the video data based on the plurality of pre-selected tracks and the CMAF switching set; 16. The non-transitory computer-readable medium of claim 15, further comprising:
20. decoding the video data based on the plurality of pre-selected tracks and the CMAF switching set, decoding based on the first track and the third track, or the second track and the third track; 20. The non-transitory computer-readable medium of claim 19, comprising:
Citation Information
Patent Citations
Streaming media data including an addressable resource index track
US20220007086A1