Method, apparatus and medium for video processing
Patent Information
- Application Number
- JP2024548563
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-02-17
- Filing Date
- 2023-02-16
- Publication Date
- 2025-02-28
Smart Images

Figure 2025505792000001_ABST
Abstract
Description
[Technical field]
[0001] This application claims the benefit of priority to U.S. Provisional Application No. 63 / 311,342, filed February 17, 2022, and entitled "METHOD, APPARATUS AND MEDIUM FOR VIDEO PROCESSING," the entire contents of which are expressly incorporated herein by reference.
[0002] TECHNICAL FIELD Embodiments of the present disclosure relate generally to video processing techniques, and more specifically to signaling pre-selected processing information within a media file. [Background technology]
[0003] Media streaming applications are typically based on Internet Protocol (IP), Transmission Control Protocol (TCP), and Hypertext Transfer Protocol (HTTP) transport methods and typically rely on file formats such as ISO Base Media File Format (ISOBMFF). One such streaming system is Dynamic Adaptive Streaming over HTTP (DASH). In DASH, multiple representations may exist for video and / or audio data of multimedia content, and different representations may correspond to different coding characteristics (e.g., different profiles or levels of a video coding standard, different bit rates, different spatial resolutions, etc.). Furthermore, a preselection is a set of one or more media components that represents one version of a media presentation that a user may select for simultaneous decoding and presentation. Therefore, it is worth studying the signaling of preselection processing information in a media file. Summary of the Invention
[0004] SUMMARY OF THE DISCLOSURE Embodiments of the present disclosure provide a solution for video processing.
[0005] In a first aspect, a video processing method is proposed, comprising the steps of performing a conversion between a bitstream of a video and a media file of said video, said media file including a first indication identifying a pre-selection within said media file, the value of said first indication being the same for all tracks contributing to said pre-selection.
[0006] According to the method according to the first aspect of the present disclosure, the value of the first indication is the same for all tracks contributing to the pre-selection. Compared with the conventional solution in which the value of the first indication may be different for each track contributing to the pre-selection, the proposed method can advantageously ensure proper signaling of the pre-selection process information.
[0007] In a second aspect, a video processing apparatus is proposed, said apparatus comprising a processor and a non-transitory memory having instructions recorded thereon which, when executed by said processor, cause said processor to perform a method according to the first aspect of the present disclosure.
[0008] In a third aspect, a non-transitory computer readable storage medium is proposed, said non-transitory computer readable storage medium storing instructions for causing a processor to perform the method according to the first aspect of the present disclosure.
[0009] In a fourth aspect, another non-transitory computer-readable recording medium is proposed, the non-transitory computer-readable recording medium storing a bitstream of a video generated by a method executed by a video processing device, the method comprising performing a conversion between the bitstream and a media file of the video, the media file including a first indication identifying a pre-selection within the media file, the value of the first indication being the same for all tracks contributing to the pre-selection.
[0010] In a fifth aspect, a method for storing a bitstream of a video is proposed, comprising the steps of performing a conversion between the bitstream and a media file of the video, and storing the bitstream on a non-transitory computer-readable recording medium, the media file including a first indication identifying a pre-selection within the media file, the value of the first indication being the same for all tracks contributing to the pre-selection.
[0011] In a sixth method, another non-transitory computer readable recording medium is proposed, the non-transitory computer readable recording medium storing a media file of a video generated by a method executed by a video processing device, the method including a step of performing a conversion between a bitstream of the video and the media file, the media file including a first indication identifying a pre-selection within the media file, the value of the first indication being the same for all tracks contributing to the pre-selection.
[0012] In a seventh aspect, a method for storing a media file of a video is proposed, comprising the steps of performing a conversion between a bitstream of the video and the media file, and storing the media file on a non-transitory computer-readable recording medium, the media file including a first indication identifying a pre-selection within the media file, the value of the first indication being the same for all tracks contributing to the pre-selection.
[0013] This description is provided to introduce a selection of concepts in a simplified form that are further described in the detailed description. This description is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. [Brief description of the drawings]
[0014] The above and other objects, features, and advantages of exemplary embodiments of the present disclosure will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which like reference numerals generally refer to like components.
[0015] [Figure 1] 1 shows a block diagram illustrating an example video coding system in accordance with some embodiments of the present disclosure.
[0016] [Diagram 2] 1 shows a block diagram illustrating a first exemplary video encoder according to some embodiments of the present disclosure.
[0017] [Diagram 3] 1 shows a block diagram illustrating an exemplary video decoder, in accordance with some embodiments of the present disclosure.
[0018] [Figure 4] 1 shows a flowchart of a video processing method according to an embodiment of the present disclosure.
[0019] [Diagram 5] FIG. 1 illustrates a block diagram of a computing device capable of implementing various embodiments of the present disclosure.
[0020] Throughout the drawings, the same or similar reference numbers typically refer to the same or similar elements. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0021] Next, the principles of the present disclosure will be described with reference to some embodiments. It should be understood that these embodiments are provided for illustrative purposes only, to help those skilled in the art understand and embody the present disclosure, and do not imply any limitations on the scope of the present disclosure. The disclosure described herein can be embodied in various ways other than the methods described below.
[0022] In the following description and claims, unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs.
[0023] References in this disclosure to "one embodiment," "one embodiment," "exemplary embodiment," and the like indicate that the described embodiment may include a particular feature, structure, or characteristic, but not all embodiments necessarily include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Furthermore, when a particular feature, structure, or characteristic is described in connection with an exemplary embodiment, it is noted that it is within the knowledge of one of ordinary skill in the art to affect such feature, structure, or characteristic in connection with other embodiments, whether or not explicitly described.
[0024] Terms such as "first" and "second" may be used herein to describe various elements, but it should be understood that these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element, without departing from the scope of the exemplary embodiments. As used herein, the term "and / or" includes any and all combinations of one or more of the listed terms.
[0025] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly dictates otherwise. It will be further understood that the terms "comprise," "comprising," "having," "having," "containing," and / or "including," as used herein, specify the presence of stated features, elements, and / or components, etc., but do not exclude the presence or addition of one or more other features, elements, components, and / or combinations thereof.
[0026] Example Environment 1 is a block diagram illustrating an example video coding system 100 that may utilize techniques of this disclosure. As shown, video coding system 100 may include a source device 110 and a destination device 120. Source device 110 may also be referred to as a video encoding device, and destination device 120 may also be referred to as a video decoding device. In operation, source device 110 may be configured to generate encoded video data, and destination device 120 may be configured to decode the encoded video data generated by source device 110. Source device 110 may include a video source 112, a video encoder 114, and an input / output (I / O) interface 116.
[0027] Video source 112 may include sources such as video capture devices. Examples of video capture devices include, but are not limited to, an interface that receives video data from a video content provider, a computer graphics system that generates video data, and / or combinations thereof.
[0028] The video data may include one or more pictures. The video encoder 114 encodes the video data from the video source 112 to generate a bitstream. The bitstream may include a series of bits forming a coded representation of the video data. The bitstream may include coded pictures and associated data. A coded picture is a coded representation of a picture. The associated data may include sequence parameter sets, picture parameter sets, and other syntax structures. The I / O interface 116 may include a modulator / demodulator and / or a transmitter. The encoded video data may be transmitted directly to the destination device 120 through the network 130A via the I / O interface 116. The encoded video data may be stored in a storage medium / server 130B for access by the destination device 120.
[0029] Destination device 120 may include an I / O interface 126, a video decoder 124, and a display device 122. I / O interface 126 may include a receiver and / or a modem. I / O interface 126 may obtain encoded video data from source device 110 or storage medium / server 130B. Video decoder 124 may decode the encoded video data. Display device 122 may display the decoded video data to a user. Display device 122 may be integrated with destination device 120 or may be external to destination device 120 configured to interface with an external display device.
[0030] Video encoder 114 and video decoder 124 may operate according to a video compression standard, such as the High Efficiency Video Coding (HEVC) standard, the Versatile Video Coding (VVC) standard, and other current and / or future standards.
[0031] FIG. 2 is a block diagram illustrating an example of a video encoder 200, which may be an example of the video encoder 114 in the system 100 shown in FIG. 1, according to some embodiments of the disclosure.
[0032] Video encoder 200 may be configured to embody any or all of the techniques of this disclosure. In the example of FIG. 2, video encoder 200 includes multiple functional components. The techniques described in this disclosure may be shared among various components of video encoder 200. In some examples, a processor may be configured to perform any or all of the techniques described in this disclosure.
[0033] In some embodiments, the video encoder 200 may include a division unit 201, a prediction unit 202, which may include a mode selection unit 203, a motion estimation unit 204, a motion compensation unit 205, and an intra prediction unit 206, a residual generation unit 207, a transform unit 208, a quantization unit 209, an inverse quantization unit 210, an inverse transform unit 211, a reconstruction unit 212, a buffer 213, and an entropy encoding unit 214.
[0034] In other examples, video encoder 200 may include more, fewer, or different functional components. In one example, prediction unit 202 may include an intra block copy (IBC) unit. The IBC unit may perform prediction in an IBC mode, where at least one reference picture is the picture in which the current video block is located.
[0035] Furthermore, some components, such as the motion estimation unit 204 and the motion compensation unit 205, may be integrated but are depicted separately in the example of FIG. 2 for illustrative purposes.
[0036] Division unit 201 may divide a picture into one or more video blocks. Video encoder 200 and video decoder 300 may support a variety of video block sizes.
[0037] The mode selection unit 203 may, for example, select one of intra or inter coding modes based on the error result, provide the resulting intra-coded or inter-coded block to the residual generation unit 207 to generate residual block data, and provide the encoded block to the reconstruction unit 212 to reconstruct and use as a reference picture. In some examples, the mode selection unit 203 may select a combined intra- and inter-prediction (CIIP) mode, in which prediction is based on an inter prediction signal and an intra prediction signal. In the case of inter prediction, the mode selection unit 203 may select a resolution of the motion vector of the block (e.g., sub-pixel or integer pixel accuracy).
[0038] To perform inter prediction on the current video block, motion estimation unit 204 may generate motion information for the current video block by comparing one or more reference frames from buffer 213 with the current video block. Motion compensation unit 205 may determine a prediction video block for the current video block based on the motion information and decoded samples of pictures from buffer 213 other than the picture associated with the current video block.
[0039] Motion estimation unit 204 and motion compensation unit 205 may perform different operations on a current video block depending on whether the current video block is in an I slice, a P slice, or a B slice, for example. As used herein, an "I slice" may refer to a portion of a picture composed of macroblocks, all of which are based on macroblocks in the same picture. Additionally, as used herein, in some aspects, a "P slice" and a "B slice" may refer to a portion of a picture composed of macroblocks that are independent of macroblocks in the same picture.
[0040] In some examples, motion estimation unit 204 may perform unidirectional prediction on the current video block, and motion estimation unit 204 may look for reference pictures in list 0 or list 1 for a reference video block of the current video block. Motion estimation unit 204 may then generate a reference index indicating a reference picture in list 0 or list 1 that contains the reference video block, and a motion vector indicating a spatial displacement between the current video block and the reference video block. Motion estimation unit 204 may output the reference index, the prediction direction indicator, and the motion vector as motion information of the current video block. Motion compensation unit 205 may generate a predictive video block for the current video block based on the reference video block indicated by the motion information of the current video block.
[0041] Alternatively, in other examples, motion estimation unit 204 may perform bidirectional prediction on the current video block. Motion estimation unit 204 may look for a reference picture in list 0 for a reference video block of the current video block, and may look for a reference picture in list 1 for another reference video block of the current video block. Motion estimation unit 204 may then generate a reference index indicating the reference picture in list 0 and list 1 that contains the reference video block, and a motion vector indicating a spatial displacement between the reference video block and the current video block. Motion estimation unit 204 may output the reference index and the motion vector of the current video block as motion information of the current video block. Motion compensation unit 205 may generate a predictive video block for the current video block based on the reference video block indicated by the motion information of the current video block.
[0042] In some examples, motion estimation unit 204 may output a full set of motion information for the decoding process of the decoder. Alternatively, in some embodiments, motion estimation unit 204 may signal the motion information of the current video block with reference to motion information of another video block. For example, motion estimation unit 204 may determine that the motion information of the current video block is sufficiently similar to the motion information of a neighboring video block.
[0043] In one example, motion estimation unit 204 may indicate, in a syntax structure associated with the current video block, a value that indicates to video decoder 300 that the current video block has the same motion information as another video block.
[0044] In another example, motion estimation unit 204 may identify another video block and a motion vector differential (MVD) in a syntax structure associated with the current video block. The motion vector differential indicates a difference between the motion vector of the current video block and the motion vector of the indicated video block. Video decoder 300 may determine the motion vector of the current video block using the motion vector and the motion vector differential of the indicated video block.
[0045] As discussed above, video encoder 200 may predictively signal motion vectors. Two examples of predictive signaling techniques that may be implemented by video encoder 200 include advanced motion vector prediction (AMVP) and merge mode signaling.
[0046] Intra prediction unit 206 may perform intra prediction on the current video block. When intra prediction unit 206 performs intra prediction on the current video block, intra prediction unit 206 may generate predictive data for the current video block based on decoded samples of other video blocks in the same picture. The predictive data for the current video block may include a predicted video block and various syntax elements.
[0047] Residual generation unit 207 may generate residual data for the current video block by subtracting (e.g., as indicated by a minus sign) the prediction video block of the current video block from the current video block. The residual data for the current video block may include residual video blocks that correspond to different sample components of the samples in the current video block.
[0048] In other examples, such as in skip mode, residual data for the current video block may not be present, and residual generation unit 207 may not perform the subtraction operation.
[0049] Transform processing unit 208 may generate one or more transform coefficient video blocks for the current video block by applying one or more transforms to the residual video block associated with the current video block.
[0050] After transform processing unit 208 generates the transform coefficient video block associated with the current video block, quantization unit 209 may quantize the transform coefficient video block associated with the current video block based on one or more quantization parameter (QP) values associated with the current video block.
[0051] Inverse quantization unit 210 and inverse transform unit 211 may apply inverse quantization and inverse transform, respectively, to the transform coefficient video block to reconstruct a residual video block from the transform coefficient video block. Reconstruction unit 212 may add the reconstructed residual video block to corresponding samples from one or more prediction video blocks generated by prediction unit 202 to generate a reconstructed video block associated with the current video block for storage in buffer 213.
[0052] After reconstruction unit 212 reconstructs the video blocks, a loop filtering operation may be performed to reduce video blocking artifacts in the video blocks.
[0053] Entropy encoding unit 214 may receive data from other functional components of video encoder 200. Once entropy encoding unit 214 receives the data, it may perform one or more entropy encoding operations to generate entropy encoded data and output a bitstream including the entropy encoded data.
[0054] FIG. 3 is a block diagram illustrating an example of a video decoder 300, which may be an example of the video decoder 124 in the system 100 shown in FIG. 1, according to some embodiments of the disclosure.
[0055] The video decoder 300 may be configured to perform any or all of the techniques of this disclosure. In the example of FIG. 3, the video decoder 300 includes multiple functional components. The techniques described in this disclosure may be shared among various components of the video decoder 300. In some examples, a processor may be configured to perform any or all of the techniques described in this disclosure.
[0056] 3, the video decoder 300 includes an entropy decoding unit 301, a motion compensation unit 302, an intra prediction unit 303, an inverse quantization unit 304, an inverse transform unit 305, a reconstruction unit 306, and a buffer 307. The video decoder 300 may, in some examples, perform a decoding path that is generally inverse to the encoding path described with respect to the video encoder 200.
[0057] The entropy decoding unit 301 may retrieve an encoded bitstream. The encoded bitstream may include entropy coded video data (e.g., encoded blocks of video data). The entropy decoding unit 301 may decode the entropy coded video data, from which the motion compensation unit 302 may determine motion information including motion vectors, motion vector precision, reference picture list indexes, and other motion information. The motion compensation unit 302 may determine such information, for example, by performing AMVP and merge mode. AMVP is used and includes derivation of some most likely candidates based on data from neighboring PB and reference pictures. The motion information typically includes horizontal and vertical motion vector displacement values, one or two reference picture indexes, and, in the case of prediction regions in B slices, identification of which reference picture list is associated with each index. As used herein, in some aspects, "merge mode" may refer to deriving motion information from spatially or temporally neighboring blocks.
[0058] The motion compensation unit 302 may generate a motion compensated block, possibly performing interpolation based on an interpolation filter. An identifier of the interpolation filter used with sub-pixel precision may be included in the syntax element.
[0059] Motion compensation unit 302 may calculate interpolated values for sub-integer pixels of a reference block using an interpolation filter used by video encoder 200 during encoding of the video block. Motion compensation unit 302 may determine the interpolation filter used by video encoder 200 according to received syntax information and generate a predictive block using the interpolation filter.
[0060] The motion compensation unit 302 may use at least a portion of the syntactic information to determine the size of blocks used to encode frames and / or slices of the encoded video sequence, partition information describing how each macroblock of a picture of the encoded video sequence is divided, a mode indicating how each partition is encoded, one or more reference frames (and reference frame lists) for each inter-encoded block, and other information for decoding the encoded video sequence. As used herein, in some aspects, a "slice" may refer to a data structure that can be decoded independently from other slices of the same picture for entropy coding, signal prediction, and residual signal reconstruction. A slice can be either an entire picture or a region of a picture.
[0061] The intra prediction unit 303 may form a prediction block from spatially neighboring blocks, e.g., using an intra prediction mode received in the bitstream. The inverse quantization unit 304 inverse quantizes, or dequantizes, the quantized video block coefficients provided in the bitstream and decoded by the entropy decoding unit 301. The inverse transform unit 305 applies an inverse transform.
[0062] The reconstruction unit 306 may, for example, obtain a decoded block by adding the residual block and a corresponding prediction block generated by the motion compensation unit 302 or the intra prediction unit 303. Optionally, a deblocking filter may be applied to filter the decoded block to remove block artifacts. The decoded video block is then stored in a buffer 307, which provides reference blocks for subsequent motion compensation / intra prediction, and also generates the decoded video for presentation on a display device.
[0063] Some exemplary embodiments of the present disclosure will be described in detail below. Section headings are used herein for ease of understanding, but it should be understood that they do not limit the embodiments disclosed in a section to only that section. Furthermore, although certain embodiments are described with reference to versatile video coding or other specific video codecs, the disclosed techniques are applicable to other video coding techniques. Furthermore, although some embodiments describe video coding steps in detail, it will be understood that a corresponding decoding step that undoes the coding is performed by a decoder. Furthermore, the term video processing encompasses video coding or compression, video decoding or decompression, and video transcoding, which represents video pixels from one compressed format to another compressed format or at a different compressed bit rate. 1. Overview This disclosure relates to media file formats, and in particular to signaling pre-selection processing information in a media file, where a pre-selection is a set of one or more tracks and / or sub-tracks that represent a version of a media presentation that a user may select for simultaneous decoding and presentation. The ideas may be applied individually or in various combinations to media files in any media file format, such as the ISO Base Media File Format (ISOBMFF) and file formats derived from ISOBMFF. 2. Introduction 2.1. Video Coding Standards Video coding standards have evolved primarily through the development of well-known ITU-T and ISO / IEC standards. ITU-T developed H.261 and H.263, ISO / IEC developed MPEG-1 and MPEG-4 Visual, and the two organizations jointly developed H.262 / MPEG-2 Video, H.264 / MPEG-4 Advanced Video Coding (AVC), and H.265 / HEVC standards. Since H.262, video coding standards have been based on a hybrid video coding structure in which temporal prediction and transform coding are utilized. In 2015, the Joint Video Exploration Team (JVET) was established by VCEG and MPEG to explore future video coding technologies beyond HEVC. Since then, many new methods have been adopted by JVET and incorporated into reference software called the Joint Exploration Model (JEM). JVET was renamed to Joint Video Experts Team (JVET) when the Versatile Video Coding (VVC) project was officially launched. VVC is a new coding standard that targets a 50% bitrate reduction compared to HEVC and was finalized at the 19th meeting of JVET, which ended on July 1, 2020. The Versatile Video Coding (VVC) standard (ITU-T H.266 | ISO / IEC 23090-3) and the associated Versatile Supplementary Enhancement Information (VSEI) standard (ITU-T H.274 | ISO / IEC 23002-7) are designed to be used in the widest range of applications, including traditional uses such as television broadcasting, videoconferencing, and playback from storage media, as well as new and advanced uses such as adaptive bitrate streaming, video region extraction, composition and merging of content from multiple coded video bitstreams, multiview video, scalable layered coding, and viewport-adaptive 360° immersive media. 2.2. File Format Standards Media streaming applications are typically based on IP, TCP, and HTTP transport methods and typically rely on file formats such as ISO Base Media File Format (ISOBMFF). One such streaming system is Dynamic Adaptive Streaming over HTTP (DASH). When using video formats with ISOBMFF and DASH, file format specifications specific to the video format, such as AVC file format and HEVC file format, may be required for encapsulation of video content in ISOBMFF tracks and DASH representations and segments. Important information about the video bitstream, such as profile, tier, level, and many other information, may need to be exposed as file format level metadata and / or DASH Media Presentation Description (MPD) for content selection purposes, e.g., for selection of appropriate media segments both for initialization at the start of a streaming session and for stream adaptation during a streaming session. Similarly, when using image formats with ISOBMFF, file format specifications specific to the image format, such as AVC image file format and HEVC image file format, may be required. 2.3. Track Grouping and Entity Grouping The ISOBMFF specifies both track grouping and entity grouping. Track grouping is signaled based on Track Group Boxes contained in a Track Box. In other words, Track Grouping is a track level signaling. This Track Group Box allows the indication of a group of tracks where each group shares a certain characteristic or the tracks within the group have a certain relationship. The certain characteristic or relationship is indicated by the box type of the box contained in the Track Group Box. The boxes contained in the Track Group Box contain an identifier, which can be used to conclude which tracks belong to the same track group. Tracks that contain the same type of box contained in the Track Group Box and have the same identifier value in these contained boxes belong to the same track group. An entity group is a grouping of items, and may also group tracks. Entities in an entity group share certain characteristics or have certain relationships, as indicated by the type of grouping. Entity groups are indicated by a GroupsListBox. An entity group specified in a GroupsListBox of a file-level MetaBox points to track or file-level items. An entity group specified in a GroupsListBox of a movie-level MetaBox points to movie-level items. An entity group specified in a GroupsListBox of a track-level MetaBox references the track-level items for that track. A GroupsListBox contains EntityToGroupBoxes, each of which points to one entity group. There are two important differences between tracking groupings and entity groupings: 1) Track grouping signaling is at the track level, whereas entity grouping for this purpose is at the file level. This difference gives the two mechanisms advantages and disadvantages: a. The potential advantage of entity grouping is that it saves some bits. b. An arguable advantage of entity grouping is that less analysis is required to figure out which tracks contribute to pre-selection. c. Track grouping has the potential advantage that it makes editing operations like removing some tracks easier without modifying the tracking group box (unless some related parameters, like the number of tracks, have been added). 2) Entity grouping can also be applied to items such as image items, whereas track grouping cannot. If there is a use case to include items in the preselection, this is an advantage over entity grouping. 2.4. Pre-selection signaling in ISOBMFF An amendment to the ISOBMFF standard is under development, the latest draft specification of which includes the specification of several features for the signalling of pre-selection. The functional specification for pre-selection signaling is as follows: 3.1 Definitions and Terminology Preselection A set of one or more sub-tracks that represent one version of a media presentation that a user can select for simultaneous decoding / presentation. Subtrack Selectable entities in the track 8.3.4.4.3 Preselection Group Box 8.3.4.4.3.1 Definition The presence of a TrackGroupTypeBox, also called PreselectionGroupBox, with track_group_type equal to "pres" for a track indicates that this track contributes to preselection. Tracks with the same value of track_group_id within a PreselectionGroupBox are part of the same preselection. Pre-selection may be qualified by media-specific attributes such as language, type, or audio rendering instructions, object interactivity, or channel layout. Attributes signaled in the pre-selection box shall take precedence over attributes signaled in the contribution tracks. All attributes that make a preselection uniquely eligible shall be present in at least one Preselection Box of the preselection. If they are present in multiple Preselection Boxes of a preselection, the boxes containing the qualifying attributes shall be identical. NOTE 1: Preselection only groups tracks of the same media type. Tracks that contain a PreselectionGroupBox and do not contain all the subtracks required for at least one preselection shall have the track_in_movie flag in their Track Header Boxes set to "0". This prevents players that do not understand Preselection Boxes from playing the track, leading to an incomplete experience. 8.3.4.4.3.2 Syntax
number
number
number
number
number
number
number
[0064] Further details of the embodiments of the present disclosure related to the signaling of pre-selected processing information in a media file are described below. The embodiments of the present disclosure should be considered as examples for explaining the general concept and should not be interpreted in a narrow sense. Moreover, these embodiments can be applied individually or in any combination.
[0065] As used herein, the term "preselection" may refer to a set of one or more tracks that represent one version of a media presentation for simultaneous decoding or presentation. The preselection processing information of a preselection may include information about how the tracks contributing to the preselection are processed. The preselection description information of a preselection may include information about the experience available when this preselection is selected. The term "track" may refer to a timing sequence of related samples. The term "sample" may refer to all data associated with a single time.
[0066] FIG. 4 shows a flowchart of a method 400 of video processing according to some embodiments of the present disclosure. The method 400 may be embodied in a client or a server. The term "client" as used herein may refer to computer hardware or software that accesses services provided by a server as part of a client-server model of a computer network. As an example, a client may be a smartphone or a tablet. The term "server" as used herein may refer to a device capable of computing, where the client accesses services through a network. The server may be a physical computing device or a virtual computing device.
[0067] As shown in Figure 4, at 402, a conversion is performed between a bitstream of a video and a media file of the video. A media file is a collection of data that establishes a bounded or unbounded presentation of media content in the context of a file format (e.g., an International Organization for Standardization (ISO) Base Media File Format). In some embodiments, the conversion may include generating a media file and storing the bitstream in the media file. Additionally or alternatively, the conversion may include parsing the media file to reconstruct the bitstream.
[0068] In some embodiments, the media file may include a first indication that identifies a preselection within the media file. By way of example and not limitation, the first indication may be a codec-specific value that a playback system may provide to a decoder to uniquely identify a preselection from among several preselections within a media file. In one example, the first indication may be a preselection_tag field. It should be understood that the first indication may be a field represented by any other suitable string. The scope of the present disclosure is not limited in this respect.
[0069] In some embodiments, the first instructions may be included in a track level data structure, such as a preselection processing box. As used herein, the term "box" may refer to an object-oriented building block defined by a unique type identifier and a length. In some alternative embodiments, the first instructions may be included in a file level data structure, such as a preselection track group entry box. It should be understood that the first instructions may be included in any other suitable data structure. The scope of the present disclosure is not limited in this respect.
[0070] Considering the above, the value of the first indication is the same for all tracks that contribute to the pre-selection. Compared with the conventional solution in which the value of the first indication may be different for each track that contributes to the pre-selection, the proposed method can advantageously ensure proper signaling of pre-selection processing information.
[0071] In some embodiments, when initial preselection processing information of a preselection is included in multiple tracks contributing to a preselection, the initial preselection processing information may be the same for the multiple tracks, hi some additional embodiments, the initial preselection processing information may be the same for all tracks contributing to a preselection.
[0072] In some embodiments, a track-level flag in the media file may indicate whether a set of pre-selection processing information for the pre-selection is included in a track that contributes to the pre-selection. By way of example and not limitation, a track-level flag may be included in each track in a media file. In one example, the flag may be specified using a bit in a flags field of a pre-selection group box in a track. Alternatively, the flag may be specified using a bit in a pre-selection group box in a track, which may not be included in a flags field of a pre-selection group box.
[0073] In some embodiments, if the set of pre-selected processing information is included in the track, the value of the flag may be equal to a first predetermined value. If the set of pre-selected processing information is not present in the track, the value of the flag may be equal to a second predetermined value. By way of example and not limitation, the first predetermined value may be 1 and the second predetermined value may be 0. In one example, the set of pre-selected processing information may include all pre-selected processing information of a pre-selection.
[0074] In some embodiments, the value of the flag may be equal to a predetermined value for at least one of the tracks contributing to the pre-selection. Alternatively, the value of the flag may be allowed to be equal to a predetermined value for more than one of the tracks contributing to the pre-selection. By way of example and not limitation, the predetermined value may be 1.
[0075] In some embodiments, whether each of the pre-selected processing information is included in the track may be indicated by a respective presence flag, in other words, the presence of each of the pre-selected processing information may be controlled by its own presence flag.
[0076] In some embodiments, whether or not all of the pre-selected processing information is included in the track may be indicated by a single presence flag, in other words, all pre-selected processing information may be controlled by a single presence flag.
[0077] In some embodiments, whether all the pre-selected process information and all the pre-selected descriptive information of the pre-selection are included in the track may be indicated by a single presence flag, in other words, the presence of all the pre-selected process information and all the pre-selected descriptive information may be controlled by a single presence flag.
[0078] In some embodiments, the media file may include a third indication indicating that one of the tracks contributing to the pre-selection will be a base track for the pre-selection. Further, all pre-selection processing information for the pre-selection may be signaled on the base track.
[0079] In some embodiments, all the preselection processing information may be signaled only in the base track, in other words, preselection processing information of a preselection is not signaled in any other track than the preselection base track. Alternatively or additionally, all preselection description information of a preselection may be signaled only in the base track, in other words, preselection description information of a preselection is not signaled in any other track than the preselection base track.
[0080] In some embodiments, a track-level flag in the media file may indicate whether the pre-selection processing information is included in a track contributing to the pre-selection. If the pre-selection processing information is included in the track, the value of the flag may be equal to a first predetermined value. If the pre-selection processing information is not present in the track, the value of the flag may be equal to a second predetermined value. By way of example and not limitation, the first predetermined value may be 1 and the second predetermined value may be 0.
[0081] Also, the value of the flag may be equal to the first predetermined value for exactly one of the tracks contributing to the pre-selection. In such a case, the single track may be the base track. In some alternative embodiments, the set of pre-selection processing information may be signaled in a track different from the base track.
[0082] In some alternative embodiments, a track-level flag in the media file may indicate whether the pre-selection processing information and pre-selection description information of the pre-selection are included in the tracks contributing to the pre-selection. If the pre-selection processing information and pre-selection description information are included in the track, the value of the flag may be equal to a first predetermined value. If the pre-selection processing information and pre-selection description information are not present in the track, the value of the flag may be equal to a second predetermined value. By way of example and not limitation, the first predetermined value may be 1 and the second predetermined value may be 0.
[0083] Also, the value of the flag may be equal to the first predetermined value for exactly one of the tracks contributing to the pre-selection. In such a case, the single track may be the base track. In some alternative embodiments, the set of pre-selection processing information and the set of pre-selection processing information of the pre-selection may be allowed to be signaled on a track different from the base track.
[0084] Alternatively, a track-level flag in the media file may indicate whether pre-selection descriptive information of the pre-selection is included in a track contributing to the pre-selection. If the pre-selection descriptive information is included in the track, the value of the flag may be equal to a first predetermined value. If the pre-selection descriptive information is not present in the track, the value of the flag may be equal to a second predetermined value. By way of example and not limitation, the first predetermined value may be 1 and the second predetermined value may be 0.
[0085] Also, the value of the flag may be equal to the first predetermined value for exactly one of the tracks contributing to the pre-selection. In such a case, the single track may be the base track. In some alternative embodiments, it may be allowed that a set of pre-selection descriptive information of the pre-selection is signaled on a track different from the base track.
[0086] According to a further embodiment of the present disclosure, there is provided a non-transitory computer-readable recording medium storing a video bitstream generated by a method performed by a video processing device, the method performing a conversion between the video bitstream and a media file, the media file including a first indication identifying a pre-selection within the media file, the value of the first indication being the same for all tracks contributing to the pre-selection.
[0087] According to yet a further embodiment of the present disclosure, there is provided a method for storing a video bitstream, in which conversion between the video bitstream and a media file is performed, the media file including a first indication identifying a preselection within the media file, the value of the first indication being the same for all tracks contributing to the preselection, and the bitstream is further stored in a non-transitory computer-readable recording medium.
[0088] According to yet a further embodiment of the present disclosure, there is provided another non-transitory computer-readable recording medium, the non-transitory computer-readable recording medium storing a media file of a video generated by a method performed by a video processing device, the method performing a conversion between a video bitstream and a media file, the media file including a first indication identifying a pre-selection within the media file, the value of the first indication being the same for all tracks contributing to the pre-selection.
[0089] According to yet a further embodiment of the present disclosure, a method for storing a media file of a video is proposed, in which conversion between a video bitstream and a media file is performed, the media file includes a first indication identifying a pre-selection within the media file, the value of the first indication being the same for all tracks contributing to the pre-selection, and the media file is further stored on a non-transitory computer-readable recording medium.
[0090] Implementations of the present disclosure can be described in light of the following clauses, the features of which can be combined in any reasonable manner.
[0091] Clause 1. A video processing method comprising a step of performing a conversion between a bitstream of a video and a media file of the video, the media file including a first instruction identifying a pre-selection within the media file, the value of the first instruction being the same for all tracks contributing to the pre-selection.
[0092] Clause 2. The method of clause 1, wherein the first instruction is a preselection_tag field.
[0093] Clause 3. A method according to any one of clauses 1 to 2, wherein if initial preselection processing information of said preselection is contained in multiple tracks contributing to said preselection, said initial preselection processing information is identical for said multiple tracks.
[0094] Clause 4. The method of clause 3, wherein the initial pre-selection processing information is identical for all tracks contributing to the pre-selection.
[0095] Clause 5. The method of any one of clauses 1 to 4, wherein a track level flag in the media file indicates whether a set of pre-selection processing information for the pre-selection is included in a track contributing to the pre-selection.
[0096] Clause 6. The method of clause 5, wherein if the set of pre-selected processing information is included in the track, the value of the flag is equal to a first predetermined value, and if the set of pre-selected processing information is not present in the track, the value of the flag is equal to a second predetermined value.
[0097] Clause 7. The method of clause 6, wherein the first predetermined value is 1 and the second predetermined value is 0.
[0098] Clause 8. The method of any one of clauses 6 to 7, wherein the set of preselection processing information includes all preselection processing information of the preselection.
[0099] Clause 9. The method of any one of clauses 6 to 8, wherein the value of the flag is equal to a predetermined value for at least one of the tracks contributing to the preselection.
[0100] Clause 10. A method according to any one of clauses 6 to 8, wherein the value of the flag is allowed to be equal to a predetermined value for more than one of the tracks contributing to the pre-selection.
[0101] Clause 11. The method of any one of clauses 9 to 10, wherein the predetermined value is 1.
[0102] Clause 12. A method according to any one of clauses 6 to 11, wherein whether each of the pre-selected processing information is included in the track is indicated by a respective presence flag.
[0103] Clause 13. A method according to any one of clauses 6 to 11, wherein whether or not all of the pre-selected processing information is included in the track is indicated by a single presence flag.
[0104] Clause 14. A method according to any one of clauses 6 to 11, wherein whether or not all the pre-selection processing information and all the pre-selection description information of the pre-selection are included in the track is indicated by a single presence flag.
[0105] Clause 15. The method of any one of clauses 6 to 14, wherein the flag is specified using a bit in a flags field of a preselection group box in the track.
[0106] Clause 16. A method according to any one of clauses 6 to 14, wherein the flag is specified using a bit in a preselection group box in the track, the bit not being included in a flags field of the preselection group box.
[0107] Clause 17. A method according to any one of clauses 1 to 4, wherein the media file includes a third instruction indicating that one of the tracks contributing to the pre-selection is to be a base track of the pre-selection, and all pre-selection processing information of the pre-selection is signalled in the base track.
[0108] Clause 18. The method of clause 17, wherein all the pre-selection processing information is signaled only in the base track.
[0109] Clause 19. The method according to clause 17, wherein all pre-selection description information of said pre-selection is signalled only in said base track.
[0110] Clause 20. A method according to any one of clauses 17 to 19, wherein a track-level flag in the media file indicates whether the pre-selection processing information is included in a track contributing to the pre-selection, and if the pre-selection processing information is included in the track, the value of the flag is equal to a first predetermined value, and if the pre-selection processing information is not present in the track, the value of the flag is equal to a second predetermined value.
[0111] Clause 21. The method of clause 20, wherein the first predetermined value is 1 and the second predetermined value is 0.
[0112] Clause 22. A method according to any one of clauses 20 to 21, wherein the value of the flag is equal to the first predetermined value for exactly one of the tracks contributing to the preselection.
[0113] Clause 23. The method of clause 22, wherein the single track is the base track.
[0114] Clause 24. The method of clause 17, wherein the set of pre-selected processing information is allowed to be signaled in a track different from the base track.
[0115] Clause 25. A method according to any one of clauses 17 to 19, wherein a track level flag in the media file indicates whether the pre-selection processing information and pre-selection description information of the pre-selection are included in a track contributing to the pre-selection, and if the pre-selection processing information and pre-selection description information are included in the track, the value of the flag is equal to a first predetermined value, and if the pre-selection processing information and pre-selection description information are not present in the track, the value of the flag is equal to a second predetermined value.
[0116] Clause 26. The method of clause 25, wherein the first predetermined value is 1 and the second predetermined value is 0.
[0117] Clause 27. A method according to any one of clauses 25 to 26, wherein the value of the flag is equal to the first predetermined value for exactly one of the tracks contributing to the preselection.
[0118] Clause 28. The method of clause 27, wherein the single track is the base track.
[0119] Clause 29. The method of clause 17, wherein the preselected set of preselected processing information and the preselected set of preselected processing information are allowed to be signaled in a track different from the base track.
[0120] Clause 30. A method according to any one of clauses 17 to 19, wherein a track level flag in the media file indicates whether pre-selection description information of the pre-selection is included in a track contributing to the pre-selection, and if the pre-selection description information is included in the track, the value of the flag is equal to a first predetermined value, and if the pre-selection description information is not present in the track, the value of the flag is equal to a second predetermined value.
[0121] Clause 31. The method of clause 30, wherein the first predetermined value is 1 and the second predetermined value is 0.
[0122] Clause 32. A method according to any one of clauses 30 to 31, wherein the value of the flag is equal to the first predetermined value for exactly one of the tracks contributing to the preselection.
[0123] Clause 33. The method of clause 32, wherein the single track is the base track.
[0124] Clause 34. The method of clause 19, wherein the pre-selected set of pre-selected descriptive information is allowed to be signaled in a track different from the base track.
[0125] Clause 35. The method of any one of clauses 1 to 34, wherein the media file is in an International Organization for Standardization (ISO) base media file format.
[0126] Clause 36. The method of any one of clauses 1 to 35, wherein the converting comprises generating the media file and storing the bitstream in the media file.
[0127] Clause 37. The method of any one of clauses 1 to 35, wherein the conversion comprises parsing the media file to reconstruct the bitstream.
[0128] Clause 38. A video processing apparatus comprising a processor and a non-transitory memory having instructions recorded thereon which, when executed by the processor, cause the processor to perform a method according to any one of clauses 1 to 37.
[0129] Clause 39. A non-transitory computer-readable storage medium storing instructions that cause a processor to perform the method of any one of clauses 1 to 37.
[0130] Clause 40. A non-transitory computer-readable recording medium storing a bitstream of video generated by a method performed by a video processing device, the method including a step of performing a conversion between the bitstream and a media file of the video, the media file including first instructions identifying a pre-selection within the media file, the value of the first instructions being the same for all tracks contributing to the pre-selection.
[0131] Clause 41. A method for storing a bitstream of a video, comprising the steps of performing a conversion between the bitstream and a media file of the video, and storing the bitstream on a non-transitory computer-readable recording medium, wherein the media file includes a first instruction identifying a pre-selection within the media file, and a value of the first instruction is the same for all tracks contributing to the pre-selection.
[0132] Clause 42. A non-transitory computer-readable recording medium storing a media file of a video generated by a method performed by a video processing device, the method including a step of performing a conversion between a bitstream of the video and the media file, the media file including first instructions identifying a pre-selection within the media file, the value of the first instructions being the same for all tracks contributing to the pre-selection.
[0133] Clause 43. A method for storing a media file of a video, comprising the steps of performing a conversion between a bitstream of the video and the media file, and storing the media file on a non-transitory computer-readable recording medium, wherein the media file includes a first instruction identifying a pre-selection within the media file, and a value of the first instruction is the same for all tracks contributing to the pre-selection.
[0134] Exemplary Devices 5 illustrates a block diagram of a computing device 500 capable of implementing various embodiments of the present disclosure. The computing device 500 may be embodied as or included in the source device 110 (or the video encoder 114 or 200) or the destination device 120 (or the video decoder 124 or 300).
[0135] It will be appreciated that the computing device 500 illustrated in FIG. 5 is for illustrative purposes only and is not intended to suggest any limitation on the functionality and scope of the embodiments of the present disclosure.
[0136] 5, the computing device 500 includes a general purpose computing device 500. The computing device 500 may include at least one or more processors or processing units 510, a memory 520, a storage unit 530, one or more communication units 540, one or more input devices 550, and one or more output devices 560.
[0137] In some embodiments, the computing device 500 may be embodied as any user terminal or server terminal having computing capabilities. The server terminal may be a server provided by a service provider, a large-scale computing device, etc. The user terminal may be any type of mobile, fixed, or portable terminal, including, for example, a mobile phone, a station, a unit, a device, a multimedia computer, a multimedia tablet, an Internet node, a communicator, a desktop computer, a laptop computer, a notebook computer, a netbook computer, a tablet computer, a personal communication system (PCS) device, a personal navigation device, a personal digital assistant (PDA), an audio / video player, a digital camera / camcorder, a positioning device, a television receiver, a radio broadcast receiver, an electronic book device, a gaming device, or any combination thereof (including accessories and peripherals of these devices, or any combination thereof). It is contemplated that the computing device 500 may support any type of interface to a user, such as "wearable" circuitry.
[0138] The processing unit 510 may be a physical or virtual processor and may implement various processes based on programs stored in the memory 520. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to increase the parallel processing capabilities of the computing device 500. The processing unit 510 may also be referred to as a central processing unit (CPU), a microprocessor, a controller, or a microcontroller.
[0139] Computing device 500 typically includes a variety of computer storage media. Such media may be any media accessible by computing device 500, including but not limited to volatile and non-volatile media, or removable and non-removable media. Memory 520 may be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory), or any combination thereof. Storage unit 530 may be any removable or non-removable medium, including a machine-readable medium such as a memory, a flash memory drive, a magnetic disk, or another medium that can be used to store information and / or data and that can be accessed by computing device 500.
[0140] The computing device 500 may further include additional removable / non-removable, volatile / non-volatile memory media. Although not shown in FIG. 5, a magnetic disk drive that reads from and writes to a removable non-volatile magnetic disk and an optical disk drive that reads from and writes to a removable non-volatile optical disk may be provided. In such a case, each drive may be connected to a bus (not shown) via one or more data media interfaces.
[0141] The communication unit 540 communicates with further computing devices via a communication medium. Also, the functionality of the components in the computing device 500 may be embodied by a single computing cluster or multiple computing machines that can communicate via a communication connection. Thus, the computing device 500 can operate in a networked environment using logical connections with one or more other servers, networked personal computers (PCs), or further general network nodes.
[0142] The input device 550 may be one or more of a variety of input devices such as a mouse, a keyboard, a tracking ball, a voice input device, etc. The output device 560 may be one or more of a variety of output devices such as a display, a loudspeaker, a printer, etc. The communication unit 540 allows the computing device 500 to further communicate with one or more external devices (not shown), such as a storage device and a display device, one or more devices allowing a user to interact with the computing device 500, or any device (such as a network card, a modem, etc.) allowing the computing device 500 to communicate with one or more other computing devices, as needed. Such communication may be performed via an input / output (I / O) interface (not shown).
[0143] In some embodiments, instead of being integrated into a single device, some or all of the components of the computing device 500 may be located in a cloud computing architecture. In a cloud computing architecture, the components may be provided remotely and work together to perform the functions described in this disclosure. In some embodiments, cloud computing provides computing, software, data access, and storage services without the end user needing to be aware of the physical location or configuration of the systems or hardware providing these services. In various embodiments, cloud computing provides services over a wide area network (such as the Internet) using appropriate protocols. For example, a cloud computing provider provides applications over a wide area network that can be accessed through a web browser or other computing components. The software or components of the cloud computing architecture and corresponding data may be stored on a server located in a remote location. Computing resources in a cloud computing environment may be consolidated or distributed at remote data center locations. A cloud computing infrastructure may act as a single access point for users but provide services through a shared data center. Thus, a cloud computing architecture may be used to provide the components and functions described herein from a service provider located in a remote location. Alternatively, they may be provided from a traditional server or installed directly or otherwise on a client device.
[0144] The computing device 500 may be used to implement video encoding / decoding in embodiments of the present disclosure. The memory 520 may include one or more video coding modules 525 having one or more program instructions. These modules are accessible and executable by the processing unit 510 to perform the functions of various embodiments described herein.
[0145] In an example embodiment performing video encoding, input device 550 may receive video data to be encoded as input 570. The video data may be processed, for example, by video coding module 525 to generate an encoded bitstream. The encoded bitstream may be provided as output 580 via output device 560.
[0146] In an example embodiment performing video decoding, input device 550 may receive an encoded bitstream as input 570. The encoded bitstream may be processed, for example, by video coding module 525 to generate decoded video data. The decoded video data may be provided as output 580 via output device 560.
[0147] Although the present disclosure has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present application as defined by the appended claims. Such variations are intended to be within the scope of the present application. Accordingly, the foregoing description of the embodiments of the present application is not intended to be limiting.
Claims
1. 1. A video processing method comprising the steps of: performing conversion between a bitstream of a video and a media file of the video; A method according to claim 1, wherein the media file includes a first indication that identifies a pre-selection within the media file, the value of the first indication being the same for all tracks contributing to the pre-selection.
2. The method of claim 1 , wherein the first indication is a preselection_tag field.
3. 3. The method according to claim 1, wherein if initial preselected processing information of the preselection is contained in multiple tracks contributing to the preselection, the initial preselected processing information is identical for the multiple tracks.
4. The method of claim 3 , wherein the initial preselection processing information is the same for all tracks contributing to the preselection.
5. The method of claim 1 , wherein a track level flag in the media file indicates whether a set of pre-selection processing information for the pre-selection is included in a track contributing to the pre-selection.
6. if the set of preselected processing information is included in the track, the value of the flag is equal to a first predetermined value; The method of claim 5 , wherein if the set of preselected processing information is not present in the track, the value of the flag is equal to a second predetermined value.
7. The method of claim 6 , wherein the first predetermined value is one and the second predetermined value is zero.
8. The method according to claim 6 , wherein the set of preselected processing information comprises all preselected processing information of the preselection.
9. 9. A method according to claim 6, wherein the value of the flag is equal to a predetermined value for at least one of the tracks contributing to the preselection.
10. A method according to any one of claims 6 to 8, wherein the value of the flag is allowed to be equal to a predetermined value for more than one of the tracks contributing to the pre-selection.
11. The method according to any one of claims 9 to 10, wherein the predetermined value is one.
12. 12. A method according to claim 6, wherein the inclusion or non-inclusion of each of the pre-selected processing information in the track is indicated by a respective presence flag.
13. 12. A method according to claim 6, wherein whether or not all of the pre-selected processing information is included in the track is indicated by a single presence flag.
14. 12. A method according to claim 6, wherein whether all the preselection processing information and all the preselection description information of the preselection are included in the track is indicated by a single presence flag.
15. 15. A method according to any one of claims 6 to 14, wherein the flag is specified using a bit in a flags field of a preselection group box in the track.
16. 15. A method according to claim 6, wherein the flag is specified using a bit in a preselection group box in the track, the bit not being included in a flags field of the preselection group box.
17. 5. The method of claim 1, wherein the media file includes a third indication indicating that one of the tracks contributing to the pre-selection is a base track of the pre-selection, and all pre-selection processing information of the pre-selection is signaled on the base track.
18. The method of claim 17 , wherein all the pre-selected processing information is signaled only in the base track.
19. The method of claim 17 , wherein all pre-selection descriptive information of the pre-selection is signaled only in the base track.
20. 20. The method of claim 17, wherein a track-level flag in the media file indicates whether the pre-selected processing information is included in a track contributing to the pre-selection, and if the pre-selected processing information is included in the track, the value of the flag is equal to a first predetermined value, and if the pre-selected processing information is not present in the track, the value of the flag is equal to a second predetermined value.
21. 21. The method of claim 20, wherein the first predetermined value is one and the second predetermined value is zero.
22. 22. A method according to any one of claims 20 to 21, wherein the value of the flag is equal to the first predetermined value for exactly a single one of the tracks contributing to the preselection.
23. The method of claim 22, wherein the single track is the base track.
24. The method of claim 17 , wherein the set of pre-selected processing information is allowed to be signaled in a track different from the base track.
25. 20. The method of claim 17, wherein a track-level flag in the media file indicates whether the pre-selection processing information and pre-selection description information of the pre-selection are included in a track contributing to the pre-selection, and if the pre-selection processing information and pre-selection description information are included in the track, the value of the flag is equal to a first predetermined value, and if the pre-selection processing information and pre-selection description information are not present in the track, the value of the flag is equal to a second predetermined value.
26. 26. The method of claim 25, wherein the first predetermined value is one and the second predetermined value is zero.
27. 27. A method according to any one of claims 25 to 26, wherein the value of the flag is equal to the first predetermined value for exactly a single one of the tracks contributing to the preselection.
28. The method of claim 27, wherein the single track is the base track.
29. The method of claim 17 , wherein the preselected set of processing information and the preselected set of processing information of the preselection are allowed to be signaled in a track different from the base track.
30. 20. The method of claim 17, wherein a track-level flag in the media file indicates whether pre-selection descriptive information of the pre-selection is included in a track contributing to the pre-selection, and if the pre-selection descriptive information is included in the track, the value of the flag is equal to a first predetermined value, and if the pre-selection descriptive information is not present in the track, the value of the flag is equal to a second predetermined value.
31. 31. The method of claim 30, wherein the first predetermined value is one and the second predetermined value is zero.
32. 32. A method according to any one of claims 30 to 31, wherein the value of the flag is equal to the first predetermined value for exactly a single one of the tracks contributing to the preselection.
33. The method of claim 32, wherein the single track is the base track.
34. The method of claim 19 , wherein the pre-selected set of pre-selected descriptive information is allowed to be signaled in a track different from the base track.
35. 35. The method of any one of claims 1 to 34, wherein the media file is in an International Organization for Standardization (ISO) base media file format.
36. 36. The method of any one of claims 1 to 35, wherein the converting comprises generating the media file and storing the bitstream in the media file.
37. 36. The method of any one of claims 1 to 35, wherein the conversion comprises parsing the media file to reconstruct the bitstream.
38. 1. A video processing apparatus comprising a processor and a non-transitory memory having instructions stored thereon, The instructions, when executed by the processor, cause the processor to perform the method of any one of claims 1 to 37.
39. A non-transitory computer readable storage medium storing instructions that cause a processor to perform the method of any one of claims 1 to 37.
40. 1. A non-transitory computer-readable recording medium storing a bitstream of video generated by a method executed by a video processing device, the method comprising: performing conversion between the bitstream and a media file of the video; 11. The non-transitory computer-readable storage medium of claim 10, wherein the media file includes a first instruction that identifies a pre-selection within the media file, the value of the first instruction being the same for all tracks that contribute to the pre-selection.
41. 1. A method for storing a video bitstream, comprising: performing conversion between the bitstream and a media file of the video; storing the bitstream on a non-transitory computer-readable recording medium; A method according to claim 1, wherein the media file includes a first indication that identifies a pre-selection within the media file, the value of the first indication being the same for all tracks contributing to the pre-selection.
42. 1. A non-transitory computer-readable recording medium for storing a media file of a video generated by a method executed by a video processing device, the method comprising: performing a conversion between the video bitstream and the media file; 11. The non-transitory computer-readable storage medium of claim 10, wherein the media file includes a first instruction that identifies a pre-selection within the media file, the value of the first instruction being the same for all tracks that contribute to the pre-selection.
43. 1. A method for storing a video media file, comprising: performing a conversion between the video bitstream and the media file; storing the media file on a non-transitory computer-readable recording medium; A method according to claim 1, wherein the media file includes a first indication that identifies a pre-selection within the media file, the value of the first indication being the same for all tracks contributing to the pre-selection.