Video processing method, device, and medium
By encoding a single bit to indicate whether a label includes a summary label for a label group, the method improves coding efficiency in video processing systems, addressing inefficiencies in existing technologies.
Patent Information
- Application Number
- JP2024541830
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-01-11
- Filing Date
- 2023-01-10
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2043-01-10
AI Technical Summary
Existing video processing technologies face inefficiencies in coding efficiency due to the use of multiple bits for signaling instructions, which can be improved by encoding an indication of whether a label includes a summary label for a label group with a single bit.
A method and apparatus for video processing that encodes a first indication in a single bit to indicate whether a label includes a summary label for a label group, reducing the number of bits required for signaling instructions.
This approach enhances coding efficiency by reducing the number of bits needed for signaling instructions, thereby improving the overall performance of video processing systems.
Smart Images

Figure 2025502217000001_ABST
Abstract
Description
[Technical field]
[0001] FIELD OF THE DISCLOSURE Embodiments of the present disclosure relate generally to video processing techniques, and more specifically to signaling pre-selections within a media file.
[0002] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Application No. 63 / 298,502, filed January 11, 2022, the entire contents of which are expressly incorporated herein by reference. [Background technology]
[0003] Media streaming applications are usually based on Internet Protocol (IP), Transmission Control Protocol (TCP), and Hypertext Transfer Protocol (HTTP) transport methods, and usually rely on file formats such as ISO-based bitstream format (ISOBMFF). One such streaming system is dynamic adaptive streaming over HTTP (DASH for short). In DASH, there may be multiple representations of video and / or audio data of a multimedia content, where the 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.). Also, a preselection is a set of one or more media components that represent a version of a media presentation that can be selected by a user for simultaneous decoding and presentation execution. Therefore, it is worth studying the signaling of preselection within a media file. Summary of the Invention
[0004] The 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 the video, the media file including a label group having a first label, and a first indication in a first data structure for the first label is coded with a single bit, the first indication indicating whether the first label includes a summary label for the label group.
[0006] According to a method according to a first aspect of the present disclosure, an indication of whether a label includes a summary label for the label group is coded with a single bit. Compared to conventional approaches in which the indication is coded with 8 bits, the proposed method advantageously reduces the number of bits for signaling the indication, thereby improving coding efficiency.
[0007] In a second aspect, an apparatus for processing video data is proposed, the apparatus for processing video data comprising a processor and a non-transitory memory comprising instructions that, when executed by the processor, cause the processor to perform the method according to the first aspect of the present disclosure.
[0008] In a third aspect, a non-transitory computer-readable storage medium is proposed, the 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, we propose another non-transitory computer-readable recording medium, 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 label group having a first label, a first indication in a first data structure for the first label being coded with a single bit, the first indication indicating whether the first label includes a summary label for the label group.
[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 in a non-transitory computer-readable recording medium, the media file including a label group having a first label, and a first indication in a first data structure for the first label is coded with a single bit, the first indication indicating whether the first label includes a summary label for the label group.
[0011] In a sixth aspect, we propose another 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 comprising: performing a conversion between a bitstream of the video and the media file, the media file including a label group having a first label, a first indication in a first data structure for the first label being coded with a single bit, the first indication indicating whether the first label includes a summary label for the label group.
[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 in a non-transitory computer-readable recording medium, the media file including a label group having a first label, and a first indication in a first data structure for the first label is coded with a single bit, the first indication indicating whether the first label includes a summary label for the label group.
[0013] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary 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 through the following detailed description taken in conjunction with the accompanying drawings, in which like reference numerals generally refer to like components. [Figure 1] 1 illustrates a block diagram of an example video coding system according to some embodiments of the present disclosure. [Diagram 2] 1 shows a block diagram of a first exemplary video encoder according to some embodiments of the present disclosure. [Diagram 3] 1 illustrates a block diagram of an exemplary video decoder according to some embodiments of the present disclosure. [Figure 4] 1 shows a flowchart of a video processing method according to some embodiments of the present disclosure. [Diagram 5] FIG. 1 illustrates a block diagram of a computing device capable of implementing various embodiments of the present disclosure.
[0015] Throughout the drawings, the same or similar reference numbers typically refer to the same or similar elements. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] The principles of the present disclosure will be described below with reference to some embodiments. These embodiments are merely described for illustrative purposes and to aid those skilled in the art in understanding and implementing the present disclosure, and should not be understood to imply any limitations on the scope of the present disclosure. The disclosure described herein can be implemented in various ways other than those described below.
[0017] 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.
[0018] References in this disclosure to "one embodiment," "one embodiment," "exemplary embodiment," and the like indicate that the embodiment being described 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, it is noted that when a particular feature, structure, or characteristic is described in connection with an exemplary embodiment, 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 stated.
[0019] 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. 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.
[0020] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting with respect to 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," "including," and / or "comprising," when 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.
[0021] 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. 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.
[0022] Video source 112 may include sources such as video capture devices, examples of which 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.
[0023] 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 that form 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.
[0024] 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.
[0025] Video encoder 114 and video decoder 124 may operate in accordance with 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.
[0026] FIG. 2 is a block diagram illustrating an example of a video encoder 200, which is an example of the video encoder 114 in the system 100 shown in FIG. 1, according to some embodiments of the disclosure.
[0027] Video encoder 200 may be configured to perform 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.
[0028] 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 coding unit 214.
[0029] 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. An 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.
[0030] 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.
[0031] 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.
[0032] The mode selection unit 203 may, for example, select one of an intra-coding mode or an inter-coding mode based on an 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 resulting intra-coded or inter-coded block to the reconstruction unit 212 to reconstruct the encoded block and use it as a reference picture. In some examples, the mode selection unit 203 may select a combined intra-prediction 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 (e.g., sub-pixel or integer pixel accuracy) of the motion vector of the block.
[0033] 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 the decoded samples of pictures from buffer 213 other than the picture associated with the current video block.
[0034] 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 that is 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 that is composed of macroblocks that are independent of macroblocks in the same picture.
[0035] In some examples, motion estimation unit 204 may perform unidirectional prediction on the current video block, and motion estimation unit 204 may look for a reference picture 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 for 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.
[0036] Alternatively, in other examples, motion estimation unit 204 may perform bidirectional prediction on the current video block. Motion estimation unit 204 may search a reference picture in list 0 for a reference video block of the current video block, or may search 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.
[0037] 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.
[0038] 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.
[0039] 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 use the motion vector of the indicated video block and the motion vector differential to determine the motion vector of the current video block.
[0040] As described 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.
[0041] 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.
[0042] 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.
[0043] In other examples, residual data for the current video block may not be present, such as in skip mode, and residual generation unit 207 may not perform the subtraction operation.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] After reconstruction unit 212 reconstructs the video blocks, a loop filtering operation may be performed to reduce video blocking artifacts in the video blocks.
[0048] 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-coded data and output a bitstream that includes the entropy-coded data.
[0049] FIG. 3 is a block diagram illustrating an example of a video decoder 300, which is an example of the video decoder 124 in the system 100 shown in FIG. 1, according to some embodiments of the disclosure.
[0050] 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.
[0051] 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, generally perform a decoding pass that is inverse to the encoding pass described with respect to the video encoder 200.
[0052] The entropy decoding unit 301 may retrieve an encoded bitstream. The encoded bitstream may include entropy-encoded video data (e.g., encoded blocks of video data). The entropy decoding unit 301 may decode the entropy-encoded video data. The motion compensation unit 302 may then determine motion information from the entropy-decoded video data, 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 several 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, an 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.
[0053] The motion compensation unit 302 generates a motion compensated block, which can perform interpolation based on an interpolation filter. An identifier of the interpolation filter used with sub-pixel accuracy can be included in the syntax element.
[0054] 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 use the interpolation filter to generate a predictive block.
[0055] 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 separately from other slices of the same picture with respect to entropy coding, signal prediction, and residual signal reconstruction. A slice may be either an entire picture or a region of a picture.
[0056] 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.
[0057] Reconstruction unit 306 may obtain a decoded block, for example, by adding the residual block and a corresponding prediction block generated by motion compensation unit 302 or intra prediction unit 303. Optionally, a deblocking filter may be applied to filter the decoded block to remove blockiness artifacts. The decoded video block is then stored in buffer 307, which provides reference blocks for subsequent motion compensation / intra prediction, and also generates the decoded video for presentation on a display device.
[0058] 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, which undoes the coding, is performed by a decoder. Furthermore, the term video processing encompasses video encoding or compression, video decoding or decompression, and video trans-encoding, which represents video pixels from one compressed format to another compressed format or at a different compressed bit rate. [Table 1] TIFF2025502217000003.tif253150TIFF2025502217000004.tif252150TIFF2025502217000005.tif253152 TIFF2025502217000006.tif244151TIFF2025502217000007.tif253151TIFF2025502217000008.tif242152
[0059] Further details of the embodiments of the present disclosure regarding the signaling of pre-selection in a media file are described below. The embodiments of the present disclosure should be considered as examples to explain the general concept and should not be interpreted narrowly. Moreover, these embodiments can also be applied in combination in any manner.
[0060] As used herein, the term "pre-selection" may refer to a set of one or more tracks that represent one version of a media presentation for simultaneous decoding and presentation execution. The term "track" may refer to a timed sequence of related samples. The term "box" may refer to an object-oriented building block defined with a unique type identifier and length.
[0061] FIG. 4 shows a flowchart of a video processing method 400 according to some embodiments of the present disclosure. The method 400 may be implemented on a client or a server. The term "client" as used herein may refer to computer hardware or software that accesses services available 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 computing-enabled device. In this case, the client accesses the services over a network. The server may be a physical computing device or a virtual computing device.
[0062] As shown in Figure 4, at 1202, a conversion is performed between a bitstream of the video and a media file of the video. A media file is a collection of data that establishes a restricted or unrestricted presentation of media content within the context of a file format, such as an International Organization for Standardization (ISO) based 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.
[0063] In some embodiments, a media file includes a label group having a first label. The label may provide a function to annotate a data structure in the media file to provide a description of the context of the entity to which the label is assigned. Furthermore, a first indication in the first data structure for the first label is coded with a single bit. The first indication indicates whether the first label includes a summary label of the label group. For example, the first data structure may be a label box (also called a LabelBox), and the first indication is an is_group_label field. In one example, the label group may include the same identifier. The summary label may include a summary or title of all the label groups.
[0064] In view of the above, an indication of whether a label includes a summary label of a label group is coded with a single bit, and compared to conventional approaches in which the indication is coded with 8 bits, the proposed method advantageously reduces the number of bits for signaling the indication, thereby improving coding efficiency.
[0065] In some embodiments, a predetermined number of bits immediately following the single bit are reserved. Alternatively, a predetermined number of bits immediately preceding the single bit may be reserved. By way of example and not limitation, the predetermined number may be seven. These bits may be reserved for future use or for any other suitable purpose. The scope of the present disclosure is not limited in this respect.
[0066] In some embodiments, the requirement that the second indication in the second data structure in the track have a predetermined value may not be mandatory for at least one track in the media file. The second indication may indicate whether the corresponding track represents a direct part of the presentation of the media file. The second data structure may specify characteristics of the corresponding track. The at least one track does not contribute to pre-selection of the media file. In one example, the at least one track does not include a track group type box (also referred to as TrackGroupTypeBox) with a track group type field (also referred to as track_group_type field) equal to "pres". The second indication may be a track_in_movie flag. The second data structure may be a track header box (also referred to as TrackHeaderBox). By way of example and not limitation, the predetermined value may be 0. It should be understood that the above figures and / or examples are set forth for illustrative purposes only. The scope of the present disclosure is not limited thereto.
[0067] In some embodiments, a Track Group Type box with a Track Group Type field equal to "pres" may be a preselection group box (also referred to as a PreselectionGroupBox). In some embodiments, a media file may include a set of target tracks. Each of the set of target tracks includes a preselection group box while lacking one or more media components required for at least one preselection of the media file. That is, each of the set of target tracks does not include all media components required for at least one preselection. Further, a second indication in the second data structure in each of the set of target tracks has a predetermined value. In one example, tracks that include a PreselectionGroupBox and do not include all media components required for at least one preselection should have a track_in_movie flag set to "0" in their track header box.
[0068] According to an embodiment of the present disclosure, a non-transitory computer-readable recording medium is proposed. A bitstream of a video is stored in the non-transitory computer-readable recording medium. The bitstream can be generated by a method executed by a video processing device. According to the method, a conversion between the bitstream and a media file of the video is performed. The media file includes a label group having a first label, and a first indication in a first data structure for the first label is coded with a single bit, the first indication indicating whether the first label includes a summary label of the label group;
[0069] According to an embodiment of the present disclosure, a method for storing a bitstream of a video is proposed, in which a conversion between the bitstream and a media file of the video is performed. The media file includes a label group having a first label, and a first indication in a first data structure for the first label is coded with a single bit, the first indication indicating whether the first label includes a summary label of the label group. Furthermore, the bitstream is stored in a non-transitory computer-readable recording medium.
[0070] According to an embodiment of the present disclosure, another non-transitory computer-readable recording medium is proposed. A media file of a video is stored in the non-transitory computer-readable recording medium. A bitstream can be generated by a method executed by a video processing device. According to the method, a conversion between the bitstream of the video and the media file is performed. The media file includes a label group having a first label, and a first indication in a first data structure for the first label is coded with a single bit, the first indication indicating whether the first label includes a summary label of the label group;
[0071] According to an embodiment of the present disclosure, a method for storing a media file of a video is proposed, in which a conversion between a bitstream of the video and the media file is performed. The media file includes a label group having a first label, and a first indication in a first data structure for the first label is coded with a single bit, the first indication indicating whether the first label includes a summary label of the label group. Furthermore, the media file is stored in a non-transitory computer-readable recording medium.
[0072] Embodiments of the present disclosure can be described in view of the following clauses, the features of which can be combined in any reasonable manner.
[0073] Clause 1. A video processing method, comprising: performing a conversion between a bitstream of a video and a media file of the video, the media file including a label group having a first label, a first indication in a first data structure for the first label being encoded with a single bit, the first indication indicating whether the first label includes a summary label for the label group.
[0074] Clause 2. The method of clause 2, wherein the first data structure is a label box and the first instruction is an is_group_label field.
[0075] Clause 3. The method of clause 1 or 2, wherein the label groups have the same identifier and the summary label includes a summary or title of all the label groups.
[0076] Clause 4. The method of any one of clauses 1 to 3, wherein a predetermined number of bits immediately following the single bit are reserved.
[0077] Clause 5. The method of any one of clauses 1 to 3, wherein a predetermined number of bits immediately preceding the single bit are reserved.
[0078] Clause 6. The method of clause 4 or 5, wherein the predetermined number is seven.
[0079] Clause 7. A method according to any one of clauses 1 to 6, wherein the requirement specifying that the second instruction in the second data structure for a track has a predetermined value is not mandatory for at least one track in the media file, the second instruction indicating whether the corresponding track represents a direct part of the presentation of the media file and the second data structure specifying characteristics of the corresponding track, and the at least one track does not contribute to pre-selection of the media file.
[0080] Clause 8. The method of clause 7, wherein the second indication is a track_in_movie flag, the second data structure is a track header box, and the predetermined value is 0.
[0081] Clause 9. The method of clause 7 or 8, wherein the at least one track does not contain a Track Group Type box with a Track Group Type field equal to 'pres'.
[0082] Clause 10. The method according to clauses 7-9, wherein a track group type box whose track group type field is equal to "pres" is a preselection group box.
[0083] Clause 11. The method of clause 10, wherein the media file includes a set of target tracks, each of the set of target tracks including the pre-selection group box while missing one or more media components required for at least one pre-selection of the media file, and the second instruction in the second data structure in each of the set of target tracks has the predetermined value.
[0084] Clause 12. The method of any one of clauses 1 to 11, wherein the media file is in an International Organization for Standardization (ISO) based media file format.
[0085] Clause 13. The method of any one of clauses 1 to 12, wherein the converting comprises generating the media file and storing the bitstream in the media file.
[0086] Clause 14. The method of any one of clauses 1 to 12, wherein the converting comprises parsing the media file to reconstruct the bitstream.
[0087] Clause 15. An apparatus for processing video data comprising a processor and a non-transitory memory comprising instructions which, when executed by the processor, cause the processor to perform a method according to any one of clauses 1 to 14.
[0088] Clause 16. A non-transitory computer-readable storage medium storing instructions that cause a processor to perform the method of any one of clauses 1 to 14.
[0089] Clause 17. A non-transitory computer-readable recording medium storing a bitstream of a 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 a label group having a first label, a first indication in a first data structure for the first label being encoded with a single bit, the first indication indicating whether the first label includes a summary label for the label group.
[0090] Clause 18. A method for storing a bitstream of a video, comprising: performing a conversion between the bitstream and a media file of the video; and storing the bitstream in a non-transitory computer-readable recording medium, the media file including a label group having a first label, a first indication in a first data structure for the first label being encoded with a single bit, the first indication indicating whether the first label includes a summary label for the label group.
[0091] Clause 19. 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 a label group having a first label, a first indication in a first data structure for the first label being encoded with a single bit, the first indication indicating whether the first label includes a summary label for the label group.
[0092] Clause 20. A method for storing a media file of a video, comprising: performing a conversion between a bitstream of the video and the media file; and storing the media file in a non-transitory computer-readable recording medium, the media file including a label group having a first label, a first indication in a first data structure for the first label being encoded with a single bit, the first indication indicating whether the first label includes a summary label for the label group.
[0093] 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 implemented 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).
[0094] 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.
[0095] 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.
[0096] In some embodiments, the computing device 500 may be implemented 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.
[0097] The processing unit 510 may be a physical or virtual processor and may perform 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 be referred to as a central processing unit (CPU), a microprocessor, a controller, or a microcontroller.
[0098] 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 that can be used to store information and / or data and that can be accessed by computing device 500, and may include a machine-readable medium, such as a memory, a flash memory drive, a magnetic disk, or another medium.
[0099] 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.
[0100] The communication unit 540 communicates with further computing devices via a communication medium. Furthermore, the functionality of the components in the computing device 500 may be implemented by a single computing cluster or multiple computing machines that may communicate via a communication connection. Thus, the computing device 500 may operate in a networked environment using logical connections with one or more other servers, networked personal computers (PCs), or further general network nodes.
[0101] 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 speaker, a printer, etc. The communication unit 540 may further enable the computing device 500 to 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).
[0102] In some embodiments, instead of being integrated into a single device, some or all of the components of computing device 500 may be deployed 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 servers in remote locations. Computing resources in a cloud computing environment may be consolidated or distributed at remote data center locations. The 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 in a remote location. Alternatively, they may be provided from a conventional server or installed, directly or otherwise, on the client device.
[0103] The computing device 500 may be used to perform video coding / 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 the various embodiments described herein.
[0104] In an example embodiment performing video coding, 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.
[0105] 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.
[0106] 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 a conversion between a bitstream of a video and a media file of the video; the media file includes a label group having a first label; a first instruction in the first data structure for the first label is encoded in a single bit; the first indication indicates whether the first label includes a summary label for the label group. method.
2. the first data structure is a label box; The first indication is an is_group_label field. The method of claim 2.
3. The label groups have the same identifier; The summary label includes a summary or title of all the label groups. The method according to claim 1 or 2.
4. a predetermined number of bits immediately following the single bit are reserved; The method according to any one of claims 1 to 3.
5. a predetermined number of bits immediately preceding said single bit are reserved; The method according to any one of claims 1 to 3.
6. The predetermined number is 7. The method according to claim 4 or 5.
7. The requirement for specifying that the second instruction in the second data structure in the track has a predetermined value is: is not imposed on at least one track in the media file; the second indication indicates whether the corresponding track represents a direct part of a presentation of the media file; and the second data structure identifies characteristics of the corresponding tracks, and the at least one track does not contribute to pre-selection for the media file; That is, The method according to any one of claims 1 to 6.
8. The second instruction is a track_in_movie flag; the second data structure is a track header box; and The predetermined value is 0. The method according to claim 7.
9. the at least one track does not contain a Track Group Type box with a Track Group Type field equal to "pres"; 9. The method according to claim 7 or 8.
10. A Track Group Type box whose Track Group Type field is equal to "pres" is a preselection group box. The method according to any one of claims 7 to 9.
11. the media file includes a set of target tracks; each of the set of target tracks includes a pre-selection group box while missing one or more media components required for pre-selection of at least one of the media files; the second instruction in the second data structure for each of the set of target tracks has the predetermined value. The method of claim 10.
12. the media file is in an International Organization for Standardization (ISO) based media file format; The method according to any one of claims 1 to 11.
13. The conversion is generating said media file; and storing said bitstream in said media file; The method according to any one of claims 1 to 12, comprising:
14. said converting including parsing said media file to reconstruct said bitstream; The method according to any one of claims 1 to 12.
15. 1. An apparatus for processing video data, comprising a processor and a non-transitory memory comprising instructions, the apparatus comprising: The instructions, when executed by the processor, cause the processor to perform a method according to any one of claims 1 to 14. Device.
16. storing instructions for causing a processor to carry out the method according to claims 1 to 14; A non-transitory computer-readable storage medium.
17. 1. A non-transitory computer-readable recording medium storing a bitstream of video generated by a method performed by a video processing device, comprising: The method comprises: performing a conversion between the bitstream and a media file of the video; the media file includes a label group having a first label; a first instruction in the first data structure for the first label is encoded in a single bit; the first indication indicates whether the first label includes a summary label for the label group. A non-transitory computer-readable recording medium.
18. 1. A method for storing a video bitstream, comprising: performing a conversion between the bitstream and a media file of the video; storing the bitstream in a non-transitory computer-readable recording medium; the media file includes a label group having a first label; a first instruction in the first data structure for the first label is encoded in a single bit; the first indication indicates whether the first label includes a summary label for the label group. method.
19. A non-transitory computer-readable recording medium storing a video media file generated by a method performed by a video processing device, comprising: The method comprises: performing a conversion between the video bitstream and the media file; the media file includes a label group having a first label; a first indication in the first data structure for the first label is encoded with a single bit, the first indication indicating whether the first label includes a summary label for the label group; A non-transitory computer-readable recording medium.
20. 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 in a non-transitory computer-readable recording medium; the media file includes a label group having a first label; a first instruction in the first data structure for the first label is encoded in a single bit; the first indication indicates whether the first label includes a summary label for the label group. method.
Citation Information
Patent Citations
Converting media files to scalable formats for progressive transmission
JP2002543690A
Method and apparatus for encapsulating images in files
JP2021519525A