CN117223290A - Method and apparatus for generating/receiving media files based on EOS sample group and method for transmitting media files - Google Patents

Method and apparatus for generating/receiving media files based on EOS sample group and method for transmitting media files Download PDF

Info

Publication number
CN117223290A
CN117223290A CN202280028975.8A CN202280028975A CN117223290A CN 117223290 A CN117223290 A CN 117223290A CN 202280028975 A CN202280028975 A CN 202280028975A CN 117223290 A CN117223290 A CN 117223290A
Authority
CN
China
Prior art keywords
eos
media file
unit
sample
nal units
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280028975.8A
Other languages
Chinese (zh)
Inventor
亨得利·亨得利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Priority claimed from PCT/KR2022/005605 external-priority patent/WO2022225306A1/en
Publication of CN117223290A publication Critical patent/CN117223290A/en
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A method and apparatus for generating/receiving a media file based on an EOS sample set and a method for transmitting the media file are provided. A method for receiving a media file according to the present disclosure may include the steps of: obtaining one or more tracks and sample groups from a media file; and reconstructing the access unit based on the track and samples in the sample group, wherein the sample group may include a first sample group including end-of-sequence (EOS) information of video data to which the access unit belongs, and the first sample group includes one or more EOS NAL units and a first syntax element related to a number of EOS NAL units.

Description

Method and apparatus for generating/receiving media files based on EOS sample group and method for transmitting media files
Technical Field
The present disclosure relates to a method and apparatus for generating/receiving a media file based on an EOS sample set, and more particularly, to a method and apparatus for generating/receiving a media file based on an EOS sample set including a plurality of EOS NAL units and a method of transmitting a media file generated by the method/apparatus for generating a media file of the present disclosure.
Background
In recent years, there has been an increasing demand for high-resolution, high-quality images such as 360-degree images. As the resolution or quality of an image increases, the file capacity or frame rate increases, which inevitably increases the storage cost and transmission cost. In addition, with the popularity of mobile devices such as smartphones and tablet computers, the demand for multimedia services based on communication networks is rapidly increasing. However, there is a problem in that hardware and network resources of the multimedia service are limited.
Therefore, efficient image compression and file processing techniques are needed to more efficiently store and transmit image data.
Disclosure of Invention
Technical problem
It is an object of the present disclosure to provide a method and apparatus for generating/receiving media files based on EOS sample groups.
It is an object of the present disclosure to provide a method and apparatus for generating/receiving a media file based on an EOS sample set comprising a plurality of EOS NAL units.
It is an object of the present disclosure to provide a method and apparatus for generating/receiving a media file based on an EOS sample set including information on the number of EOS NAL units.
It is an object of the present disclosure to provide a method and apparatus for generating/receiving a media file based on an EOS sample set supporting an elementary stream having multiple layers.
It is an object of the present disclosure to provide a method of transmitting a media file generated by a media file generating method or apparatus according to the present disclosure.
It is an object of the present disclosure to provide a recording medium storing a media file generated by a media file generating method or apparatus according to the present disclosure.
It is an object of the present disclosure to provide a recording medium storing a media file received by a media file receiving apparatus according to the present disclosure and used to reconstruct an image.
The technical problems addressed by the present disclosure are not limited to the above technical problems, and other technical problems not described herein will become apparent to those skilled in the art from the following description.
Technical proposal
A media file receiving method according to an aspect of the present disclosure may include: one or more tracks and sample groups are obtained from the media file, and an access unit is reconstructed based on the samples in the tracks and sample groups. The sample set may include a first sample set including end of sequence (EOS) information of video data to which the access unit belongs, and the first sample set may include one or more EOS NAL units and a first syntax element related to the number of EOS NAL units.
A media file receiving device according to another aspect of the present disclosure may include a memory and at least one processor. The at least one processor may obtain one or more tracks and sample groups from the media file and reconstruct the access unit based on samples in the tracks and sample groups. The sample set may include a first sample set including end of sequence (EOS) information of video data to which the access unit belongs, and the first sample set may include one or more EOS NAL units and a first syntax element related to the number of EOS NAL units.
A media file generation method according to another aspect of the present disclosure may include: encoding video data including an access unit; generating a first sample set including end-of-sequence (EOS) information of the encoded video data; and generating a media file based on the encoded video data and the first set of samples. The first sample set may include one or more EOS NAL units and a first syntax element related to a number of EOS NAL units.
A media file generation device according to another aspect of the present disclosure may include a memory and at least one processor. The at least one processor may encode video data including an access unit, generate a first sample set including end of sequence (EOS) information of the encoded video data, and generate a media file based on the encoded video data and the first sample set. The first sample set may include one or more EOS NAL units and a first syntax element related to a number of EOS NAL units.
In a media file transmission method according to another aspect of the present disclosure, a media file generated by the media file generation method or apparatus of the present disclosure may be transmitted.
A computer-readable recording medium according to another aspect of the present disclosure may store a media file generated by a media file generation method or apparatus of the present disclosure.
The features briefly summarized above with respect to the present disclosure are merely exemplary aspects of the disclosure that are described in detail below and do not limit the scope of the disclosure.
Advantageous effects
In accordance with the present disclosure, a method and apparatus for generating/receiving media files based on EOS sample groups may be provided.
Further, in accordance with the present disclosure, a method and apparatus for generating/receiving a media file based on an EOS sample set including a plurality of EOS NAL units may be provided.
Further, in accordance with the present disclosure, a method and apparatus for generating/receiving a media file based on an EOS sample set including information about the number of EOS NAL units may be provided.
Further, in accordance with the present disclosure, a method and apparatus for generating/receiving a media file based on an EOS sample set supporting an elementary stream having multiple layers may be provided.
According to the present disclosure, a method of transmitting a media file generated by a media file generating method or apparatus according to the present disclosure may be provided.
According to the present disclosure, a recording medium storing a media file generated by a media file generating method or apparatus according to the present disclosure may be provided.
According to the present disclosure, a recording medium storing a media file received by a media file receiving apparatus according to the present disclosure and used to reconstruct an image may be provided.
It will be appreciated by persons skilled in the art that the effects that can be achieved by the present disclosure are not limited to what has been particularly described hereinabove, and other advantages of the present disclosure will be more clearly understood from the detailed description.
Drawings
Fig. 1 is a view schematically showing a media file transmission/reception system according to an embodiment of the present disclosure.
Fig. 2 is a flowchart illustrating a media file transfer method.
Fig. 3 is a flowchart illustrating a media file receiving method.
Fig. 4 is a view schematically showing an image encoding apparatus according to an embodiment of the present disclosure.
Fig. 5 is a view schematically showing an image decoding apparatus according to an embodiment of the present disclosure.
Fig. 6 is a view showing an example of a layer structure of an encoded image/video.
Fig. 7 is a diagram showing an example of a media file structure.
Fig. 8 is a view showing an example of the trak box structure of fig. 7. 7.
Fig. 9 is a diagram showing an example of an image signal structure.
Fig. 10 is a view illustrating a syntax structure of the EOS sample group entry.
Fig. 11 is a view illustrating an example of a track carrying multiple layers.
Fig. 12 is a view illustrating a syntax structure of an EOS sample group entry according to an embodiment of the present disclosure.
Fig. 13 is a view illustrating a syntax structure of an EOS sample group entry according to another embodiment of the present disclosure.
Fig. 14 is a view illustrating a syntax structure of an EOS sample group entry according to another embodiment of the present disclosure.
Fig. 15 is a flowchart illustrating a media file receiving method according to an embodiment of the present disclosure.
Fig. 16 is a flowchart illustrating a media file generation method according to an embodiment of the present disclosure.
Fig. 17 is a view illustrating a content streaming system to which an embodiment of the present disclosure is applicable.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings to be easily implemented by those skilled in the art. However, the present disclosure may be embodied in a variety of different forms and is not limited to the embodiments described herein.
In describing the present disclosure, if it is determined that detailed descriptions of related known functions or constructions unnecessarily obscure the scope of the present disclosure, detailed descriptions thereof will be omitted. In the drawings, parts irrelevant to the description of the present disclosure are omitted, and like reference numerals are given to like parts.
In this disclosure, when a component is "connected," "coupled," or "linked" to another component, it can include not only direct connections, but also indirect connections in which intervening components exist. In addition, when one component "comprises" or "having" another component, it is intended that the other component may also be included, unless otherwise indicated, without excluding the other component.
In this disclosure, the terms first, second, etc. are used solely for the purpose of distinguishing one component from another and not limitation of the order or importance of the components unless otherwise specified. Accordingly, within the scope of the present disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and similarly, a second component in one embodiment may be referred to as a first component in another embodiment.
In this disclosure, components that are distinguished from each other are intended to clearly describe each feature and do not necessarily mean that the components must be separated. That is, a plurality of components may be integrated and implemented in one hardware or software unit, or one component may be distributed and implemented as a plurality of hardware or software units. Accordingly, even if not specifically stated, embodiments of such component integration or component distribution are included within the scope of the present disclosure.
In the present disclosure, the components described in the respective embodiments are not necessarily indispensable components, and some components may be optional components. Thus, embodiments consisting of a subset of the components described in the embodiments are also included within the scope of the present disclosure. In addition, embodiments that include other components in addition to those described in the various embodiments are included within the scope of the present disclosure.
The present disclosure relates to encoding and decoding of images, and unless redefined in the present disclosure, terms used in the present disclosure may have their ordinary meanings commonly used in the art to which the present disclosure pertains.
In this disclosure, "picture" generally refers to a unit representing one image within a specific period of time, and slice/tile is an encoded unit constituting a part of a picture, one picture may be composed of one or more slices/tiles. In addition, a slice/tile may include one or more Coding Tree Units (CTUs).
In the present disclosure, "pixel" or "picture element (pel)" may mean the smallest unit that constitutes a picture (or image). Further, "sample" may be used as a term corresponding to a pixel. One sample may generally represent a pixel or a value of a pixel, or may represent a pixel/pixel value of only a luminance component or a pixel/pixel value of only a chrominance component.
In the present disclosure, "unit" may represent a basic unit of image processing. The unit may include at least one of a specific region of the picture and information related to the region. In some cases, the unit may be used interchangeably with terms such as "sample array", "block" or "region". In general, an MxN block may comprise M columns of N rows of samples (or an array of samples) or a set (or array) of transform coefficients.
In the present disclosure, the "current block" may mean one of "current encoding block", "current encoding unit", "encoding target block", "decoding target block", or "processing target block". When performing prediction, the "current block" may mean a "current prediction block" or a "prediction target block". When performing transform (inverse transform)/quantization (dequantization), a "current block" may mean a "current transform block" or a "transform target block". When filtering is performed, "current block" may mean "filtering target block".
In addition, in the present disclosure, unless explicitly stated as a chroma block, "current block" may mean a block including both a luma component block and a chroma component block or a "luma block of a current block". The luminance component block of the current block may be represented by an explicit description including a luminance component block such as "luminance block" or "current luminance block". In addition, the "chroma component block of the current block" may be represented by including an explicit description of a chroma component block such as "chroma block" or "current chroma block".
In this disclosure, the terms "or", "may be construed as indicating" and/or ". For example, "a/B" and "a, B" may mean "a and/or B". Further, "a/B/C" and "a/B/C" may mean at least one of "A, B and/or C".
In this disclosure, the term "or" should be interpreted to indicate "and/or". For example, the expression "a or B" may include 1) only "a" 2) only "B", or 3) both "a and B". In other words, in this disclosure, "or" should be interpreted to indicate "additionally or alternatively".
Overview of media file transmission/reception system
Fig. 1 is a diagram schematically illustrating a media file transmission/reception system according to an embodiment of the present disclosure.
Referring to fig. 1, a media file transmission/reception system 1 may include a transmission device a and a reception device B. In some embodiments, the media file transmission/reception system 1 may support adaptive streaming based on MPEG-DASH (HTTP dynamic adaptive streaming), thereby supporting seamless media content reproduction.
The transmitting device a may include a video source 10, an encoder 20, an encapsulation unit 30, a transmitting processor 40, and a transmitter 45.
Video source 10 may generate or obtain media data such as video or images. To this end, the video source 10 may include a video/image capturing device and/or a video/image generating device, or may be connected to an external device to receive media data.
Encoder 20 may encode media data received from video source 10. Encoder 20 may perform a series of processes such as prediction, transformation, and quantization according to a video codec standard (e.g., a general video coding (VVC) standard) for compression and coding efficiency. The encoder 20 is capable of outputting the encoded media data in the form of a bitstream.
The encapsulation unit 30 may encapsulate the encoded media data and/or the media data related metadata. For example, the encapsulation unit 30 may encapsulate data in a file format, such as an ISO base media file format (ISO BMFF) or a Common Media Application Format (CMAF), or process data in a segmented form. In some implementations, media data (hereinafter referred to as "media files") packaged in the form of files may be stored in a storage unit (not shown). The media files stored in the storage unit may be read by the transmission processor 40 and transmitted to the reception apparatus B according to an on-demand, non-real-time (NRT) or broadband method.
The transmission processor 40 may generate an image signal by processing the media file according to any transmission method. The media file transmission method may include a broadcasting method and a broadband method.
According to a broadcasting method, media files may be transmitted using an MPEG Media Transport (MMT) protocol or a unidirectional transport real-time object delivery (ROUTE) protocol. The MMT protocol may be a transport protocol supporting media streaming regardless of a file format or codec in an IP-based network environment. In the case of using the MMT protocol, the media file may be processed in a Media Processing Unit (MPU) based on the MMT and then transmitted according to the MMT protocol. The ROUTE protocol is an extension of file delivery over unidirectional transport (FLUTE) and may be a transport protocol supporting real-time transport of media files. In the case of using the ROUTE protocol, the media file may be processed into one or more segments based on MPEG-DASH and then transmitted according to the ROUTE protocol.
According to the broadband method, the media file may be transmitted through a network using HTTP (hypertext transfer protocol). The information transmitted through HTTP may include signaling metadata, segment information, and/or non-real time (NRT) service information.
In some implementations, the transmit processor 40 may include an MPD generator 41 and a segment generator 42 to support adaptive media streaming.
The MPD generator 41 may generate a Media Presentation Description (MPD) based on the media file. The MPD is a file that includes detailed information about a media presentation and can be expressed in XML format. The MPD may provide signaling metadata such as an identifier of each segment. In this case, receiving device B may dynamically obtain segments based on the MPD.
Segment generator 42 may generate one or more segments based on the media file. The segments may include actual media data and may have a file format such as ISO BMFF. Segments may be included in the representation of the image signal, and as described above, segments may be identified based on the MPD.
In addition, the transmission processor 40 may generate an image signal according to the MPEG-DASH standard based on the generated MPD and the segments.
The transmitter 45 may transmit the generated image signal to the receiving apparatus B. In some embodiments, the transmitter 45 may transmit the image signal to the receiving device B through an IP network according to the MMT standard or the MPEG-DASH standard. According to the MMT standard, the image signal transmitted to the receiving apparatus B may include a presentation information document (PI) containing reproduction information of the media data. According to the MPEG-DASH standard, the image signal transmitted to the receiving device B may include the aforementioned MPD as reproduction information of the media data. However, in some embodiments, the MPD and segments may be sent to the receiving device B separately. For example, a first image signal including the MPD may be generated by the transmitting device a or an external server and transmitted to the receiving device B, and a second image signal including the segments may be generated by the transmitting device a and transmitted to the receiving device B.
Furthermore, although the transmit processor 40 and the transmitter 45 are illustrated in fig. 1 as separate elements, in some embodiments they may be implemented integrally as a single element. Further, the transmission processor 40 may be implemented as an external device (e.g., DASH server) separate from the transmission apparatus a. In this case, the transmitting device a may operate as a source device that generates a media file by encoding media data, and the external device may operate as a server device that generates an image signal by processing the media data according to an arbitrary transmission protocol.
Next, the receiving apparatus B may include a receiver 55, a receiving processor 60, a decapsulation unit 70, a decoder 80, and a renderer 90. In some embodiments, receiving device B may be an MPEG-DASH based client.
The receiver 55 may receive an image signal from the transmitting apparatus a. The image signal according to the MMT standard may include PI documents and media files. In addition, an image signal according to the MPEG-DASH standard may include MPDs and segments. In some embodiments, the MPD and segments may be transmitted separately by different image signals.
The receiving processor 60 may extract/parse the media file by processing the received image signal according to a transmission protocol.
In some embodiments, the receive processor 60 may include an MPD parsing unit 61 and a segment parsing unit 62 in order to support adaptive media streaming.
The MPD parsing unit 61 may obtain MPD from the received image signal and parse the obtained MPD to generate a command required to obtain segments. Further, the MPD parsing unit 61 may obtain media data reproduction information (e.g., color conversion information) based on the parsed MPD.
The segment parsing unit 62 may obtain segments based on the parsed MPD, and parse the obtained segments to extract the media file. In some implementations, the media file may have a file format such as ISO BMFF or CMAF.
The decapsulation unit 70 may decapsulate the extracted media file to obtain media data and metadata related thereto. The metadata obtained may be in the form of boxes or tracks in a file format. In some implementations, the decapsulation unit 70 may receive metadata required for decapsulation from the MPD parsing unit 61.
The decoder 80 may decode the obtained media data according to a video codec standard (e.g., VVC standard). To this end, the decoder 80 may perform a series of processes such as prediction, inverse quantization, and inverse transformation corresponding to the operation of the encoder 20.
The renderer 90 may render media data such as decoded video or images. The rendered media data may be reproduced by a display unit (not shown).
Hereinafter, the media file transmission/reception method will be described in detail.
Fig. 2 is a flowchart illustrating a media file transmission method.
In one example, each step of fig. 2 may be performed by the transmitting device a of fig. 1. Specifically, step S210 may be performed by encoder 20 of fig. 1. Further, step S220 and step S230 may be performed by the transmission processor 40. Further, step S240 may be performed by the transmitter 45.
Referring to fig. 2, a transmitting device may encode media data such as video or image (S210). The media data may be captured/generated by the transmitting device or obtained from an external device (e.g., camera, video archive, etc.). The media data may be encoded in the form of a bitstream according to a video codec standard (e.g., VVC standard).
The transmitting device may generate an MPD and one or more segments based on the encoded media data (S220). As described above, the MPD may include detailed information about the media presentation. The segments may contain the actual media data. In some implementations, media data may be packaged in a file format such as ISO BMFF or CMAF and included in the segments.
The transmitting device may generate an image signal including the generated MPD and the segments (S230). In some implementations, the image signal may be generated separately for each of the MPD and the segments. For example, the transmitting device may generate a first image signal including the MPD and generate a second image signal including the segments.
The transmitting device may transmit the generated image signal to the receiving device (S240). In some embodiments, the transmitting device may transmit the image signal using a broadcasting method. In this case, MMT protocol or ROUTE protocol may be used. Alternatively, the transmitting apparatus may transmit the image signal using a broadband method.
Further, although in fig. 2, the MPD and the image signal including the MPD are described as being generated and transmitted by the transmitting device (steps S220 to S240), in some embodiments, the MPD and the image including the MPD may be generated and transmitted by an external server different from the transmitting device.
Fig. 3 is a flowchart illustrating a media file receiving method.
In an example, each step of fig. 3 may be performed by the receiving device B of fig. 1. Specifically, step S310 may be performed by the receiver 55. Further, step S320 may be performed by the reception processor 60. In addition, step S330 may be performed by the decoder 80.
Referring to fig. 3, the receiving apparatus may receive an image signal from the transmitting apparatus (S310). The image signal according to the MPEG-DASH standard may include an MPD and a segment. In some implementations, the MPD and segments may be received separately by different image signals. For example, a first image signal including the MPD may be received from the transmitting device of fig. 1 or an external server, and a second image signal including the segments may be received from the transmitting device of fig. 1.
The receiving device may extract the MPD and segments from the received image signal and parse the extracted MPD and segments (S320). Specifically, the receiving device may parse the MPD to generate the commands required to obtain the segments. The receiving device may then obtain segments based on the parsed MPD and parse the obtained segments to obtain media data. In some implementations, the receiving device can perform decapsulation of the media data in the file format to obtain the media data from the segments.
The receiving device may decode media data such as the obtained video or image (S330). The receiving device may perform a series of processes such as inverse quantization, inverse transformation, and prediction to decode the media data. The receiving device may then render the decoded media data and reproduce the media data through a display.
Hereinafter, the image encoding/decoding apparatus will be described in detail.
Overview of image coding apparatus
Fig. 4 is a diagram schematically illustrating an image encoding apparatus according to an embodiment of the present disclosure. The image encoding apparatus 400 of fig. 4 may correspond to the encoder 20 of the transmitting apparatus a described with reference to fig. 1.
Referring to fig. 4, the image encoding apparatus 400 may include an image divider 410, a subtractor 415, a transformer 420, a quantizer 430, a dequantizer 440, an inverse transformer 450, an adder 455, a filter 460, a memory 470, an inter prediction unit 480, an intra prediction unit 485, and an entropy encoder 490. The inter prediction unit 480 and the intra prediction unit 485 may be collectively referred to as "predictors". The transformer 420, quantizer 430, dequantizer 440, and inverse transformer 450 may be included in a residual processor. The residual processor may also include a subtractor 415.
In some implementations, all or at least some of the plurality of components configuring image encoding device 400 may be configured by one hardware component (e.g., an encoder or processor). Further, the memory 470 may include a Decoded Picture Buffer (DPB) and may be configured by a digital storage medium.
The image divider 410 may divide an input image (or picture or frame) input to the image encoding apparatus 400 into one or more processing units. For example, the processing unit may be referred to as a Coding Unit (CU). The coding units may be obtained by recursively partitioning the Coding Tree Units (CTUs) or Largest Coding Units (LCUs) according to a quadtree binary tree (QT/BT/TT) structure. For example, one coding unit may be partitioned into multiple coding units of deeper depth based on a quadtree structure, a binary tree structure, and/or a trigeminal tree structure. For the partitioning of the coding units, a quadtree structure may be applied first, and then a binary tree structure and/or a trigeminal tree structure may be applied. The encoding process according to the present disclosure may be performed based on the final encoding unit that is not subdivided. The maximum coding unit may be used as a final coding unit, or a coding unit of a deeper depth obtained by dividing the maximum coding unit may be used as a final coding unit. Here, the encoding process may include processes of prediction, transformation, and reconstruction, which will be described later. As another example, the processing unit of the encoding process may be a Prediction Unit (PU) or a Transform Unit (TU). The prediction unit and the transform unit may be divided or partitioned from the final coding unit. The prediction unit may be a sample prediction unit and the transform unit may be a unit for deriving transform coefficients and/or a unit for deriving residual signals from the transform coefficients.
The prediction unit (the inter prediction unit 480 or the intra prediction unit 485) may perform prediction on a block to be processed (a current block) and generate a prediction block including prediction samples of the current block. The prediction unit may determine whether to apply intra prediction or inter prediction to the current block or CU unit. The prediction unit may generate various information related to prediction of the current block and transmit the generated information to the entropy encoder 490. Information about the prediction may be encoded in the entropy encoder 490 and output in the form of a bitstream.
The intra prediction unit 485 may predict the current block by referring to samples in the current picture. The reference samples may be located in the neighbors of the current block or may be placed separately, depending on the intra prediction mode and/or intra prediction technique. The intra prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The non-directional modes may include, for example, a DC mode and a planar mode. Depending on the degree of detail of the prediction direction, the directional modes may include, for example, 33 directional prediction modes or 65 directional prediction modes. However, this is merely an example, and more or fewer directional prediction modes may be used depending on the setting. The intra prediction unit 485 may determine a prediction mode applied to the current block by using a prediction mode applied to neighboring blocks.
The inter prediction unit 480 may derive a prediction block of the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. In this case, in order to reduce the amount of motion information transmitted in the inter prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the neighboring block and the current block. The motion information may include a motion vector and a reference picture index. The motion information may also include inter prediction direction (L0 prediction, L1 prediction, bi-prediction, etc.) information. In the case of inter prediction, the neighboring blocks may include a spatial neighboring block present in the current picture and a temporal neighboring block present in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring blocks may be referred to as collocated reference blocks, collocated CUs (colcus), etc. The reference picture including the temporal neighboring block may be referred to as a collocated picture (colPic). For example, the inter prediction unit 480 may configure a motion information candidate list based on neighboring blocks and generate information indicating which candidate is used to derive a motion vector and/or a reference picture index of the current block. Inter prediction may be performed based on various prediction modes. For example, in the case of the skip mode and the merge mode, the inter prediction unit 480 may use motion information of a neighboring block as motion information of the current block. In the case of the skip mode, unlike the merge mode, a residual signal may not be transmitted. In the case of a Motion Vector Prediction (MVP) mode, a motion vector of a neighboring block may be used as a motion vector predictor, and a motion vector of a current block may be signaled by encoding a motion vector difference and an indicator of the motion vector predictor. The motion vector difference may mean a difference between a motion vector of the current block and a motion vector predictor.
The prediction unit may generate the prediction signal based on various prediction methods and prediction techniques described below. For example, the prediction unit may apply not only intra prediction or inter prediction but also intra prediction and inter prediction at the same time to predict the current block. A prediction method of simultaneously applying both intra prediction and inter prediction to predict a current block may be referred to as Combined Inter and Intra Prediction (CIIP). In addition, the prediction unit may perform Intra Block Copy (IBC) to predict the current block. Intra block copying may be used for content image/video encoding of games and the like, for example, screen content encoding (SCC). IBC is a method of predicting a current picture using a previously reconstructed reference block in the current picture at a position spaced apart from the current block by a predetermined distance. When IBC is applied, the position of the reference block in the current picture may be encoded as a vector (block vector) corresponding to a predetermined distance. IBC basically performs prediction in the current picture, but may be performed similar to inter prediction in that a reference block is derived within the current picture. That is, IBC may use at least one inter-prediction technique described in this disclosure.
The prediction signal generated by the prediction unit may be used to generate a reconstructed signal or to generate a residual signal. The subtractor 415 may generate a residual signal (residual block or residual sample array) by subtracting the prediction signal (prediction block or prediction sample array) output from the prediction unit from the input image signal (original block or original sample array). The generated residual signal may be transmitted to the transformer 420.
The transformer 420 may generate transform coefficients by applying a transform technique to the residual signal. For example, the transformation techniques may include at least one of Discrete Cosine Transformation (DCT), discrete Sine Transformation (DST), karhunen-lo ve transformation (KLT), graph-based transformation (GBT), or Conditional Nonlinear Transformation (CNT). Here, GBT refers to a transformation obtained from a graph when relationship information between pixels is represented by the graph. CNT refers to the transformation obtained based on the prediction signal generated using all previously reconstructed pixels. Further, the transform process may be applied to square pixel blocks having the same size or may be applied to blocks having a variable size instead of square.
The quantizer 430 may quantize the transform coefficients and transmit them to the entropy encoder 490. The entropy encoder 490 may encode the quantized signal (information about quantized transform coefficients) and output a bitstream. The information about the quantized transform coefficients may be referred to as residual information. The quantizer 430 may rearrange the quantized transform coefficients of the block type into a one-dimensional vector form based on the coefficient scan order and generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.
The entropy encoder 490 may perform various encoding methods (e.g., exponential golomb, context Adaptive Variable Length Coding (CAVLC), context Adaptive Binary Arithmetic Coding (CABAC), etc.). The entropy encoder 490 may encode information (e.g., values of syntax elements, etc.) required for video/image reconstruction other than quantized transform coefficients, together or separately. The encoded information (e.g., encoded video/image information) may be transmitted or stored in the form of a bitstream in units of Network Abstraction Layers (NAL). The video/image information may also include information about various parameter sets, such as an Adaptive Parameter Set (APS), a Picture Parameter Set (PPS), a Sequence Parameter Set (SPS), or a Video Parameter Set (VPS). In addition, the video/image information may also include general constraint information. The signaled information, transmitted information, and/or syntax elements described in this disclosure may be encoded and included in the bitstream through the encoding process described above.
The bit stream may be transmitted over a network or may be stored in a digital storage medium. The network may include a broadcast network and/or a communication network, and the digital storage medium may include USB, SD, CD, DVD, blue light, HDD, SSD, etc. various storage media. A transmitter (not shown) transmitting a signal output from the entropy encoder 490 and/or a storage unit (not shown) storing the signal may be included as an internal/external element of the image encoding apparatus 400. Alternatively, a transmitter may be provided as a component of the entropy encoder 490.
The quantized transform coefficients output from the quantizer 430 may be used to generate a residual signal. For example, the residual signal (residual block or residual sample) may be reconstructed by applying dequantization and inverse transform to the quantized transform coefficients by dequantizer 440 and inverse transformer 450.
The adder 455 adds the reconstructed residual signal to the prediction signal output from the inter prediction unit 480 or the intra prediction unit 485 to generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array). If the block to be processed has no residual (e.g., in case of applying a skip mode), the prediction block may be used as a reconstructed block. Adder 455 may be referred to as a reconstructor or a reconstructed block generator. The generated reconstructed signal may be used for intra prediction of a next block to be processed in the current picture, and may be used for inter prediction of the next picture by filtering as described below.
Furthermore, a Luminance Mapping (LMCS) with chroma scaling is applicable during image encoding and/or reconstruction.
The filter 460 may improve subjective/objective image quality by applying filtering to the reconstructed signal. For example, the filter 460 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture and store the modified reconstructed picture in the memory 470, specifically, in the DPB of the memory 470. Various filtering methods may include, for example, deblocking filtering, sample adaptive shifting, adaptive loop filtering, bilateral filtering, and the like. The filter 460 may generate various information related to filtering and transmit the generated information to the entropy encoder 490, as described later in the description of each filtering method. The information related to filtering may be encoded by the entropy encoder 490 and output in the form of a bitstream.
The modified reconstructed picture transferred to the memory 470 may be used as a reference picture in the inter prediction unit 480. When the inter prediction is applied by the image encoding apparatus 400, prediction mismatch between the image encoding apparatus 400 and the image decoding apparatus can be avoided and encoding efficiency can be improved.
The DPB of the memory 470 may store the modified reconstructed picture to be used as a reference picture in the inter prediction unit 480. The memory 470 may store motion information of blocks from which motion information in the current picture is derived (or encoded) and/or motion information of blocks in the picture that have been reconstructed. The stored motion information may be transmitted to the inter prediction unit 480 and used as motion information of a spatial neighboring block or motion information of a temporal neighboring block. The memory 470 may store reconstructed samples of the reconstructed block in the current picture and may transfer the reconstructed samples to the intra prediction unit 485.
Overview of image decoding apparatus
Fig. 5 is a diagram schematically illustrating an image decoding apparatus according to an embodiment of the present disclosure. The image decoding apparatus 500 of fig. 5 may correspond to the decoder 80 of the receiving apparatus B described with reference to fig. 1.
Referring to fig. 5, the image decoding apparatus 500 may include an entropy decoder 510, a dequantizer 520, an inverse transformer 530, an adder 535, a filter 540, a memory 550, an inter prediction unit 560, and an intra prediction unit 565. The inter prediction unit 560 and the intra prediction unit 565 may be collectively referred to as "predictors". The dequantizer 520 and the inverse transformer 530 may be included in a residual processor.
According to an embodiment, all or at least some of the plurality of components configuring the image decoding apparatus 500 may be configured by hardware components (e.g., a decoder or a processor). Further, the memory 550 may include a Decoded Picture Buffer (DPB) or may be configured by a digital storage medium.
The image decoding apparatus 500, having received the bitstream including the video/image information, may reconstruct an image by performing a process corresponding to the process performed by the image encoding apparatus 100 of fig. 4. For example, the image decoding apparatus 500 may perform decoding using a processing unit applied in the image encoding apparatus. Thus, the decoded processing unit may be, for example, an encoding unit. The coding unit may be obtained by dividing a coding tree unit or a maximum coding unit. The reconstructed image signal decoded and output by the image decoding apparatus 500 may be reproduced by a reproducing apparatus (not shown).
The image decoding apparatus 500 may receive a signal generated in the form of a bit stream by the image encoding apparatus of fig. 4. The received signal may be decoded by an entropy decoder 510. For example, the entropy decoder 510 may parse the bitstream to derive information (e.g., video/image information) required for image reconstruction (or picture reconstruction). The video/image information may also include information about various parameter sets, such as an Adaptive Parameter Set (APS), a Picture Parameter Set (PPS), a Sequence Parameter Set (SPS), or a Video Parameter Set (VPS). In addition, the video/image information may also include general constraint information. The image decoding apparatus may also decode the picture based on information about the parameter set and/or general constraint information. The signaled/received information and/or syntax elements described in this disclosure may be decoded and obtained from the bitstream through a decoding process. For example, the entropy decoder 510 decodes information in a bitstream based on an encoding method such as exponential golomb coding, CAVLC, or CABAC, and outputs values of syntax elements required for image reconstruction and quantized values of transform coefficients of a residual. More specifically, the CABAC entropy decoding method may receive bm corresponding to each syntax element in a bitstream, determine a context model using decoding target syntax element information, decoding information of neighboring blocks and decoding target blocks, or information of previously decoded symbols/bins, perform arithmetic decoding on bm by predicting occurrence probability of bm according to the determined context model, and generate a symbol corresponding to a value of each syntax element. In this case, the CABAC entropy decoding method may update the context model by using the information of the decoded symbol/bin for the context model of the next symbol/bin after determining the context model. The prediction-related information among the information decoded by the entropy decoder 510 may be provided to the prediction units (the inter prediction unit 560 and the intra prediction unit 565), and the residual value on which entropy decoding is performed in the entropy decoder 510, that is, the quantized transform coefficient and the related parameter information may be input to the dequantizer 520. In addition, information on filtering among the information decoded by the entropy decoder 510 may be provided to the filter 540. In addition, a receiver (not shown) for receiving a signal output from the image encoding apparatus may be further configured as an internal/external element of the image decoding apparatus 500, or the receiver may be a component of the entropy decoder 510.
Further, the image decoding apparatus according to the present disclosure may be referred to as a video/image/picture decoding apparatus. The image decoding apparatus can be classified into an information decoder (video/image/picture information decoder) and a sample decoder (video/image/picture sample decoder). The information decoder may include an entropy decoder 510. The sample decoder may include at least one of a dequantizer 520, an inverse transformer 530, an adder 535, a filter 540, a memory 550, an inter prediction unit 560, or an intra prediction unit 565.
The dequantizer 520 may dequantize the quantized transform coefficients and output the transform coefficients. The dequantizer 520 is capable of rearranging the quantized transform coefficients in the form of two-dimensional blocks. In this case, the rearrangement may be performed based on the coefficient scan order performed in the image encoding apparatus. The dequantizer 520 may perform dequantization on quantized transform coefficients by using quantization parameters (e.g., quantization step size information) and obtain transform coefficients.
The inverse transformer 530 may inverse transform the transform coefficients to obtain a residual signal (residual block, residual sample array).
The prediction unit may perform prediction on the current block and generate a prediction block including prediction samples of the current block. The prediction unit may determine whether to apply intra prediction or inter prediction to the current block based on information about prediction output from the entropy decoder 510, and may determine a specific intra/inter prediction mode (prediction technique).
As described in the prediction unit of the image encoding apparatus 100, the prediction unit may generate a prediction signal based on various prediction methods (techniques) described later.
The intra prediction unit 565 may predict the current block by referring to samples in the current picture. The description of intra prediction unit 485 applies equally to intra prediction unit 565.
The inter prediction unit 560 may derive a prediction block of the current block based on a reference block (reference sample array) specified by the motion vector on the reference picture. In this case, in order to reduce the amount of motion information transmitted in the inter prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the neighboring block and the current block. The motion information may include a motion vector and a reference picture index. The motion information may also include inter prediction direction (L0 prediction, L1 prediction, bi-prediction, etc.) information. In the case of inter prediction, the neighboring blocks may include a spatial neighboring block present in the current picture and a temporal neighboring block present in the reference picture. For example, the inter prediction unit 560 may configure a motion information candidate list based on neighboring blocks and derive a motion vector and/or a reference picture index of the current block based on the received candidate selection information. Inter prediction may be performed based on various prediction modes, and the information on the prediction may include information indicating an inter prediction mode of the current block.
The adder 535 may generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the obtained residual signal to a prediction signal (prediction block, prediction sample array) output from a prediction unit (including the inter prediction unit 560 and/or the intra prediction unit 565). If the block to be processed has no residual (e.g., in case of applying a skip mode), the prediction block may be used as a reconstructed block. The description of adder 155 applies equally to adder 535. Adder 535 may be referred to as a reconstructor or a reconstructed block generator. The generated reconstructed signal may be used for intra prediction of a next block to be processed in a current picture, and may be used for inter prediction of a next picture by filtering as described below.
Furthermore, in the picture decoding process, a Luminance Map (LMCS) with chroma scaling is applicable.
The filter 540 may improve subjective/objective image quality by applying filtering to the reconstructed signal. For example, the filter 540 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture and store the modified reconstructed picture in the memory 550, specifically, in the DPB of the memory 550. Various filtering methods may include, for example, deblocking filtering, sample adaptive shifting, adaptive loop filtering, bilateral filtering, and the like.
The (modified) reconstructed picture stored in the DPB of the memory 550 may be used as a reference picture in the inter prediction unit 560. The memory 550 may store motion information of blocks from which motion information in a current picture is derived (or decoded) and/or motion information of blocks in a picture that have been reconstructed. The stored motion information may be transmitted to the inter prediction unit 560 to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block. The memory 550 may store reconstructed samples of the reconstructed block in the current picture and transfer the reconstructed samples to the intra prediction unit 565.
In the present disclosure, the embodiments described in the filter 460, the inter prediction unit 480, and the intra prediction unit 485 of the image encoding apparatus 400 may be equally or correspondingly applied to the filter 540, the inter prediction unit 560, and the intra prediction unit 565 of the image decoding apparatus 500.
The quantizer of the encoding device may derive quantized transform coefficients by applying quantization to the transform coefficients, and the dequantizer of the encoding device or the decoding deviceThe dequantizer of (a) may derive the transform coefficients by applying dequantization to the quantized transform coefficients. In video coding, the quantization rate may be changed and the compression rate may be adjusted using the changed quantization rate. From an implementation point of view, the Quantization Parameter (QP) may be used instead of directly using the quantization rate, taking into account complexity. For example, quantization parameters having integer values of 0 to 63 may be used and each quantization parameter value may correspond to an actual quantization rate. In addition, the quantization parameter QP of the luminance component (luminance sample) may be set differently Y And quantization parameter QP for chrominance component (chroma sample) C
In the quantization process, the transform coefficient C may be received as an input and divided by the quantization rate Q step And the quantized transform coefficients C' may be derived based thereon. In this case, in consideration of computational complexity, the quantization rate is multiplied by scaling to form an integer, and a shift operation may be performed in accordance with a value corresponding to the scaled value. Quantization scaling may be derived based on the product of the quantization rate and the scaling value. That is, quantization scaling may be derived from QP. In this case, by applying quantization scaling to the transform coefficient C, a quantized transform coefficient C' may be derived based thereon.
The dequantization process is the inverse of the quantization process, and the quantized transform coefficient C' may be multiplied by the quantization rate Q step Thereby deriving a reconstructed transform coefficient C based thereon. In this case, a level scaling may be derived from the quantization parameter, and the level scaling may be applied to the quantized transform coefficients C' to derive reconstructed transform coefficients C based thereon. The reconstructed transform coefficients C "may be slightly different from the original transform coefficients C due to losses in the transform and/or quantization process. Therefore, even the encoding apparatus can perform dequantization in the same manner as the decoding apparatus.
Furthermore, an adaptive frequency weighted quantization technique that adjusts quantization intensity according to frequency may be applied. The adaptive frequency weighted quantization technique may correspond to a method of applying quantization intensity differently according to frequencies. In adaptive frequency weighted quantization, quantization intensities may be applied differently depending on frequency using a predefined quantization scaling matrix. That is, the quantization/dequantization process described above may be further performed based on the quantization scaling matrix.
For example, different quantization scaling matrices may be used according to the size of the current block and/or whether a prediction mode applied to the current block to generate a residual signal of the current block is inter prediction or intra prediction. The quantization scaling matrix may also be referred to as a quantization matrix or scaling matrix. The quantization scaling matrix may be predefined. In addition, frequency quantization scaling information of a quantization scaling matrix for frequency adaptive scaling may be constructed/encoded by the encoding device and signaled to the decoding device. The frequency quantization scaling information may be referred to as quantization scaling information. The frequency quantization scaling information may include scaling list data scaling_list_data.
Based on the scaling list data, a quantization scaling matrix may be derived. In addition, the frequency quantization scaling information may include presence flag information specifying whether the scaling list data is present. Alternatively, when the scaling list data is signaled at a higher level (e.g., SPS), information specifying whether the scaling list data is modified at a lower level (e.g., PPS or tile group header, etc.) may also be included.
Fig. 6 is a diagram illustrating an example of a layer structure of an encoded image/video.
Coded pictures/videos are classified into a Video Coding Layer (VCL) for picture/video decoding processing and processing itself, a lower layer system for transmitting and storing coded information, and a Network Abstraction Layer (NAL) existing between the VCL and the lower layer system and responsible for network adaptation functions.
In the VCL, VCL data including compressed image data (slice data) may be generated, or a Supplemental Enhancement Information (SEI) message additionally required for a decoding process of an image or a parameter set including information such as a Picture Parameter Set (PPS), a Sequence Parameter Set (SPS), or a Video Parameter Set (VPS) may be generated.
In the NAL, header information (NAL unit header) may be added to an original byte sequence payload (RBSP) generated in the VCL to generate a NAL unit. In this case, RBSP refers to slice data, parameter sets, SEI messages generated in the VCL. The NAL unit header may include NAL unit type information specified according to RBSP data included in the corresponding NAL unit.
As shown in fig. 6, NAL units may be classified into VCLNAL units and non-VCL NAL units according to the type of RBSP generated in the VCL. VCL NAL units may mean NAL units including information (slice data) about a picture, and non-VCL NAL units may mean NAL units including information (parameter sets or SEI messages) required to decode a picture.
The VCL NAL units and non-VCL NAL units may be attached with header information according to a data standard of the lower layer system and transmitted through the network. For example, the NAL unit may be modified into a data format having a predetermined standard (e.g., h.266/VVC file format, RTP (real-time transport protocol) or TS (transport stream)) and transmitted through various networks.
As described above, in the NAL unit, the NAL unit type may be specified according to the RBSP data structure included in the corresponding NAL unit, and information about the NAL unit type may be stored in the NAL unit header and signaled. This may be broadly classified into a VCL NAL unit type and a non-VCL NAL unit type according to whether the NAL unit includes image information (slice data), for example. VCL NAL unit types may be subdivided according to the nature/type of pictures included in the VCL NAL units, and non-VCL NAL unit types may be subdivided according to the type of parameter set.
Examples of VCL NAL unit types according to picture types are as follows.
- "idr_w_radl", "idr_n_lp": the VCLNAL unit type of Instantaneous Decoding Refresh (IDR) picture, which is the type of IRAP (intra random access point) picture;
the IDR picture may be a first picture or a picture subsequent to the first picture in decoding order in the bitstream. A picture having a NAL unit type such as "idr_w_radl" may have one or more Random Access Decodable Leading (RADL) pictures associated with the picture. In contrast, a picture with a NAL unit type such as "idr_n_lp" does not have any leading pictures associated with the picture.
The VCL NAL unit type of a "cra_nut" pure random access (CRA) picture, which is the type of IRAP picture;
the CRA picture may be a first picture in decoding order in the bitstream or may be a picture following the first picture. CRA pictures may be associated with RADL or RASL (random access skip preamble) pictures.
- "gdr_nut" VCL NAL unit type of progressive decoding refresh (GDR) picture;
VCL NAL unit type of a "stsa_nut" random access step-time sub-layer access (STSA) picture;
- "radl_nut" as VCL NAL unit type of RADL picture of the leading picture;
- "rasl_nut" as the VCL NAL unit type of RASL picture of the leading picture;
- "trail_nut": VCL NAL unit type of the post picture;
the post picture is a non-IRAP picture that may follow an IRAP picture or a GDR picture associated with the post picture in output order and may follow an IRAP picture associated with the post picture in decoding order.
Next, examples of non-VCLNAL unit types according to parameter set types are as follows.
- "dci_nut": non-VCL NAL unit types including Decoding Capability Information (DCI)
- "vps_nut": non-VCLNAL unit type including Video Parameter Set (VPS)
- "sps_nut": non-VCLNAL unit type including Sequence Parameter Set (SPS)
- "pps_nut": non-VCLNAL unit type including Picture Parameter Set (PPS)
- "prefix_aps_nut", "suffix_aps_nut": non-VCL NAL unit types including Adaptive Parameter Sets (APSs)
"PH_NUT" includes non-VCLNAL unit type of picture header
The NAL unit types described above may be identified by predetermined syntax information (e.g., nal_unit_type) included in the NAL unit header.
Further, in the present disclosure, the image/video information encoded in the form of a bitstream may include not only picture division information, intra/inter prediction information, residual information, and/or in-loop filter information, etc., but also slice header information, picture header information, APS information, PPS information, SPS information, VPS information, and/or DCI. In addition, the encoded image/video information may also include General Constraint Information (GCI) and/or NAL unit header information. According to embodiments of the present disclosure, encoded image/video information may be packaged into a media file in a predetermined format (e.g., ISO BMFF) and transmitted to a receiving device.
Media file
The encoded image information may be configured (or formatted) based on a predetermined media file format to generate a media file. For example, the encoded image information may form a media file (segment) based on one or more NAL units/sample entries for the encoded image information.
The media file may include sample entries and tracks. In one example, the media file may include various records, and each record may include information related to a media file format or information related to an image. In one example, one or more NAL units may be stored in a configuration record (or decoder configuration record) field in a media file. Additionally, the media file may include an operation point record and/or an operation point group box. In the present disclosure, a decoder configuration record supporting a Versatile Video Coding (VVC) may be referred to as a VVC decoder configuration record. Likewise, the operating point record supporting VVC may be referred to as a VVC operating point record.
The term "sample" as used in the media file format may mean all data associated with a single time or a single element representing any of the three sample arrays (Y, cb, cr) of the picture. When the term "sample" is used in the context of a track (media file format), a "sample" may refer to all data associated with a single time of the track. Here, the time may correspond to a decoding time or a composition time (composition time). Further, when the term "sample" is used in the context of a picture (e.g., a luminance sample), the "sample" may indicate a single element representing any of the three sample arrays of the picture.
Fig. 7 is a diagram illustrating an example of a media file structure.
As described above, in order to store and transmit media data such as audio, video, or images, a standardized media file format may be defined. In some implementations, the media file may have a file format in accordance with the ISO base media file format (ISO BMFF).
The media file may include one or more boxes (boxes). Here, the block may be a data block or object including media data or metadata related to the media data. Within the media file, the boxes may form a hierarchical structure. Thus, the media file may have a form suitable for storing and/or transmitting large volumes of media data. In addition, the media file may have a structure that facilitates access to specific media data.
Referring to fig. 7, a media file 700 may include an ftyp box 710, a moov box 720, a moof box 730, and an mdat box 740.
ftyp box 710 may include file type, file version, and/or compatibility related information for media file 700. In some implementations, the ftyp box 710 may be located at the beginning of the media file 700.
moov box 720 may include metadata describing the media data in media file 700. In some implementations, moov box 720 can exist in the uppermost layer among the metadata-related boxes. Further, moov box 720 may include header information of media file 700. For example, moov box 720 may include a decoder configuration record as decoder configuration information.
moov box 720 is a subframe and may include mvhd box 721, trak box 722, and mvex box 723.
The mvhd box 721 may include presentation related information (e.g., media creation time, change time, period, etc.) for the media data in the media file 700.
the trak box 722 may include metadata for the track of media data. For example, trak box 722 may include stream related information, presentation related information, and/or access related information for an audio track or a video track. Depending on the number of tracks present in the media file 700, multiple trak boxes 722 may be present. An example of the structure of the trak block 722 will be described later with reference to fig. 8.
The mvex box 723 may include information regarding whether one or more movie fragments are present in the media file 700. The movie fragment may be a portion of media data obtained by dividing the media data in the media file 700. A movie fragment may include one or more coded pictures. For example, a movie fragment may include one or more groups of pictures (GOP), and each group of pictures may include multiple encoded frames or pictures. Movie fragments may be stored in each of mdat boxes 740-1 to 740-N (where N is an integer greater than or equal to 1).
moof boxes 730-1 through 730-N (where N is an integer greater than or equal to 1) may include metadata for movie fragments, i.e., mdat boxes 740-1 through 740-N. In some implementations, moof boxes 730-1 through 730-N can exist in the uppermost layer among metadata-related boxes of movie fragments.
mdat boxes 740-1 to 740-N may include actual media data. Depending on the number of movie fragments present in the media file 700, there may be a plurality of mdat boxes 740-1 to 740-Ncmdat boxes 740-1 to 740-N each of which may include one or more audio samples or video samples. In one example, a sample may mean an Access Unit (AU). When the decoder configuration record is stored in the sample entry, the decoder configuration record may include a size of a length field indicating a length of a Network Abstraction Layer (NAL) unit to which each sample belongs, and a parameter set.
In some implementations, the media file 700 can be processed and stored and/or transmitted in units of segments. The segments may include an initialization segment i_seg and a media segment m_seg.
The initialization segment I _ seg may be an object type data unit comprising initialization information for accessing the representation. The initialization segment i_seg may include the aforementioned ftyp box 710 and/or moov box 720.
The media segment M _ seg may be an object type data unit including temporally divided media data of the streaming service. Media segment M_seg may include the aforementioned moof boxes 730-1 through 730-N and mdat boxes 740-1 through 740-N. Although not shown in fig. 7, the media segment m_seg may further include: a styrp box including segment type related information and a sidx box (optional) including identification information of sub-segments included in the media file 700.
Fig. 8 is a diagram illustrating an example of the trak box structure of fig. 7.
Referring to fig. 8, a trak box 800 may include a tkhd box 810, a tref box 820, and an mdia box 830.
the tkhd box 810 is a track header box, and may include header information (e.g., creation/modification time of a corresponding track, a track identifier, etc.) of a track indicated by the trak box 800 (hereinafter referred to as a "corresponding track").
tref box 820 is a track reference box and may include reference information for the corresponding track (e.g., a track identifier of another track referenced by the corresponding track).
mdia box 830 may include information and objects describing media data in a corresponding track. In some implementations, mdia box 830 may include a minf box 840 that provides information about media data. Further, the minf box 840 may include an stbl box 850 containing metadata for samples including media data.
stbl box 850 is a sample table box and may include location information, time information, etc. of samples in the track. The reader may determine the sample type, sample size within the container, and offset based on the information provided by stbl box 850, and locate the samples in the correct time order.
stbl box 850 may include one or more sample entry boxes 851 and 852. Sample entry boxes 851 and 852 may provide various parameters for a particular sample. For example, a sample entry box for a video sample may include a width, height, resolution, and/or frame count of the video sample. Additionally, the sample entry box for the audio sample may include a channel count, channel layout, and/or sampling rate of the audio sample. In some implementations, sample entry boxes 851 and 852 can be included in a sample description box (not shown) in stbl box 850. The sample description box may provide detailed information about the type of encoding applied to the sample and any initialization information required for that type of encoding.
In addition, stbl box 850 may include one or more sample-to-group boxes 853 and 854 and one or more sample group description boxes 855 and 856.
Sample-to-group boxes 853 and 854 may indicate the sample groups to which the samples belong. For example, sample-to-group boxes 853 and 854 may include a packet type syntax element (e.g., grouping_type) indicating the type of sample group. Further, sample-to-group boxes 853 and 854 may contain one or more sample group entries. The sample group entry may include a sample count syntax element (e.g., sample_count) and a group description index syntax element (e.g., group_description_index). Here, the sample count syntax element may indicate the number of consecutive samples to which the corresponding group description index is applied. The sample set may include a Stream Access Point (SAP) sample set, a random access recovery point sample set, and the like, and details thereof will be described later.
Sample group description blocks 855 and 856 may provide a description of the sample group. For example, the sample group description blocks 855 and 856 may include a packet type syntax element (e.g., group_type). Sample group description boxes 855 and 856 may correspond to sample-to-group boxes 853 and 854 having the same packet type syntax element value. Further, sample group description blocks 855 and 856 may include one or more sample group description entries. The sample set description entries may include a "spot" sample set description entry, a "mini" sample set description entry, a "roll" sample set description entry, and the like.
As described above with reference to fig. 7 and 8, media data may be encapsulated into a media file according to a file format such as ISO BMFF. In addition, the media file may be transmitted to the receiving device through an image signal according to the MMT standard or the MPEG-DASH standard.
Fig. 9 is a diagram illustrating an example of an image signal structure.
Referring to fig. 9, the image signal conforms to the MPEG-DASH standard and may include an MPD 910 and a plurality of representations (presentation) 920-1 to 920-N.
MPD 910 is a file that includes detailed information about a media presentation and can be expressed in XML format. MPD 910 may include information about multiple representations 920-1 through 920-N (e.g., bit rate, image resolution, frame rate, etc. of streaming content) and information about URLs of HTTP resources (e.g., initialization segments and media segments).
Each of the representations 920-1 through 920-N (where N is an integer greater than 1) may be divided into a plurality of segments S-1 through S-K (where K is an integer greater than 1). Here, the plurality of segments S-1 to S-K may correspond to the initialization segment and the media segment described above with reference to fig. 7. The kth segment S-K may represent the last movie fragment in each of the representations 920-1 through 920-N. In some embodiments, the number of segments S-1 through S-K (that is, the value of K) included in each of the representations 920-1 through 920-N may be different from one another.
Each of the segments S-1 to S-K may comprise actual media data such as one or more video or image samples. The characteristics of the video or image samples contained within each of segments S-1 through S-K may be described by MPD 910.
Each of the segments S-1 to S-K has a unique URL (uniform resource locator) and can therefore be accessed and reconstructed independently.
In addition, three types of elementary streams may be defined as follows to store VVC content.
-video elementary stream: the video elementary stream includes VCL NAL units but does not include parameter sets, DCI or OPI NAL units. At this time, the parameter set, DCI, or OPINAL unit may be stored in one or more sample entries. The video elementary stream may include non-VCL NAL units excluding parameter sets, DCI NAL units, and OPI NAL units.
Video and parameter set elementary streams: the video and parameter set elementary streams include VCLNAL units. Further, the video and parameter set elementary streams may include parameter sets, DCI or OPI NAL units, and may have parameter sets, DCI or OPI NAL units stored in one or more sample entries.
-non-VCL elementary streams: the non-VCL elementary streams include only non-VCL NAL units that are synchronized with the elementary streams carried within the video track.
In addition, the VVC file format defines various types of tracks as follows.
VVC tracks VVC bitstreams may be indicated by including NAL units in the samples and sample entries (possibly by referencing VVC tracks that contain other sub-layers of the VVC bitstreams, and possibly by referencing VVC sprite tracks). When the VVC track refers to the VVC sprite track, the VVC track may be referred to as a VVC base track.
-VVC non-VCL track: an Adaptive Parameter Set (APS) carrying an Adaptive Loop Filter (ALF), a luma map with chroma scaling (LMCS) or a scaling list parameter, and other non-VCLNAL units may be stored in and transmitted over a track separate from the track containing VCL NAL units. A VVC non-VCL track may refer to such a track. The VVC non-VCL track does not include parameter sets, DCI or OPINAL units in the sample entries.
-VVC sprite track: the VVC sprite track may contain a sequence of one or more VVC sprites or a sequence of one or more full slices that form a rectangular region. In addition, samples of the VVC sprite track may contain one or more complete sprites that are consecutive in decoding order or one or more complete slices that are consecutive in decoding order and form a rectangular region. The VVC sprites or slices included in each sample of the VVC sprite track may be consecutive in decoding order.
On the other hand, the VVC non-VCL track and the VVC sprite track may enable preferred delivery of VVC video in streaming applications. Each of the tracks may be carried in its own DASH representation. In addition, for decoding and rendering of the subset of tracks, a DASH representation containing a subset of VVC sprite tracks and a DASH representation containing non-VCL tracks may be requested by the client on a segment-by-segment basis. In this way, redundant transmissions of APS and other non-VCLNAL units may be avoided.
Data sharing and reconstruction of VVC bitstreams
The output of this process is a VVC bitstream, which is referred to as the output bitstream.
The file reader should invoke this process when one or more of the following conditions are true.
i) A VVC bitstream (e.g., "vvcb") entity group exists in the file, and the file reader processes the VVC bitstream represented by the entity group to generate an output bitstream.
ii) there is a set of operating points (e.g. "openg") entities in the file, and the file reader generates an output bitstream using any operating point described by the set of entities.
iii) The file reader extracts a subset of layers or sub-layers of the VVC track with ptl_present_flag equal to 1 to generate an output bitstream.
iv) the file reader processes the VVC base track.
v) the file reader processes the VVC tracks with associated VVC non-VCL tracks.
The process consists of the following sequential steps.
(step 1):
when any of the above conditions i) to iii) is true, the operation point is determined at the start of the VVC bitstream, and may be determined again for any IRAP or GDR access unit.
1) The method of determining the operating point is out of the range of standard documents such as ISO/IEC 14496-15.
2) When the file reader selects an operation point for the first time or an operation point different from the previously selected operation point, the file reader should indicate the output layer set index and the highest TemporalId value of the selected operation point to the VVC decoder by including them in the OPI NAL unit inserted into the output bitstream, as the first NAL unit (if any) after the AU delimiter NAL unit in the first access unit using the operation point.
In an example, layers and sub-layers may be down-and up-switched at an Access Unit (AU) that does not initiate a CVS, as long as the set of layers and sub-layers being decoded is within the latest operating point indicated to the decoder by an OPI NAL unit or otherwise. Layer-up switching may occur at IRAP, GDR or STSA picture element where temporalld is equal to 0. Sub-layer on-switching may occur at the STSA picture element.
3) The subsequent ordering steps are applied to the sequence of access units in decoding order, starting from (inclusive of) the access unit in which the operation point is determined to the end of the bitstream or to the next access unit (exclusive of) in which the operation point is determined, whichever is earlier in decoding order.
(step 2):
when the VVC bitstream is represented by a plurality of VVC tracks, the file parser may identify the tracks required for the selected operation point as follows.
i) When an operation point from the "openg" entity group contains the selected operation point, a track belonging to the operation point indicated by the "openg" entity group is selected.
ii) when the "opeg" entity group is not present (i.e. when the "vopi" sample group is present), determining from the "vvcb" entity group which VVC tracks represent the VVC bitstream. The first entity_id of the "vvcb" entity group identifies the track containing the "vopi" sample group. The mapping of the operating points to layers and sub-layers is inferred from the set of "vopi" samples. The set of tracks that contain the layers and sub-layers of the selected operating point and thus are required to decode the selected operating point is inferred from the set of "linf" samples that are present in the VVC tracks of the VVC bitstream.
Since a particular layer or sub-layer may be represented by more than one track, it may be necessary to select among a set of tracks all carrying the particular layer or sub-layer when deriving the track required for an operating point.
(step 3):
the access units to the output bitstream may be reconstructed in the decoding time order of samples between VVC tracks (when the above condition i, ii or iii is true) or within VVC base tracks (when the above condition iv is true), or within VVC tracks (when the above condition v is true) as required by the selected operating point.
4) If several tracks contain data for the access unit, the alignment of individual samples in the tracks may be performed based on the sample decoding time.
5) The sequence of access units may be reconstructed from the corresponding samples in the desired track by invoking an implicit reconstruction procedure.
6) The reconstructed access units may be placed into the output bitstream in increasing order of decoding time.
(step 4):
when the following two conditions are true, the file reader should include EOS NAL units in each layer of the applied operating point into the output bitstream.
The sequence of access units is followed by selection of an operation point different from the previously selected operation point, and
The sequence of access units does not end with EOS NAL units or EOB NAL units in each layer of the application operating point
When a VVC bitstream is represented by a plurality of VVC tracks, the decoding time of the samples should be such that if the tracks are combined into a single bitstream ordered in increasing decoding time, the access unit order will be correct, as specified in a standard file, e.g. ISO/IEC 23090-3 (VVC standard).
Implicit reconstruction of VVC bitstreams
The process may specify a time-aligned sample reconstruction access unit having a current decoding time from the desired VVC track, the associated VVC non-VCL track (if any) and the reference VVC sub-picture track (if any).
When reconstructing a bitstream containing sub-layers with a VCL NAL unit having a temporalld greater than 0, all lower sub-layers within the same layer (i.e., sub-layers with VCL NAL units having a smaller temporalld) are also included in the resulting bitstream.
When a sample having a current decoding time contains a VCL NAL unit having a temporalld greater than the maximum temporalld included in the selected operation point, the access unit is not reconstructed from the current decoding time.
When reconstructing an access unit, picture units from samples with the same decoding time, as specified in a standard document such as ISO/IEC 23090-3 (VVC standard), are placed into the access unit in ascending order of the nuh layer id value. When the conditions are applicable, the following steps may be performed.
When samples of the track of the first picture unit containing samples are marked as belonging to the sample group "AUD" having ols_idx and lower_ols_idx_included corresponding to the target operation point, the AUD NAL units within the sample group "AUD" may be placed into the AU as the first NAL unit of the AU.
When samples in the track are marked as belonging to a sample group 'EOS' having ols_idx, max_tid, and lower_ols_idx_include corresponding to the target operation point, EOS NAL units within the 'EOS' sample group may be put into an AU at the indicated position, i.e. after reconstruction of the eos_position number NAL units of the AU, the AUD NAL units are excluded (if inserted by sample group "AUD").
When samples in the track are marked as belonging to sample group "EOB" with ols_idx, max_tid, and lower_ols_idx_include corresponding to the target operating point, EOB NAL units within the "EOB" sample group are placed after all NAL units of the AU (including the EOS NAL units).
Only picture units from layers and sub-layers in the target operating point are included in the output bitstream.
In an example, when the set of operation point entities does not exist, there may be layers or sub-layers that are carried in the track required for bitstream reconstruction but do not belong to the target operation point.
In an example, the VVC decoder implementation takes as input a bitstream corresponding to a target output layer set index and a highest temporalld value of the target operating point, which correspond to the TargetOlsIdx and HighestTid variables of a standard document (e.g., ISO/IEC 23090-3 (VVC standard): 2021), respectively. The file parser needs to ensure that the reconstructed bitstream does not contain any other layers and sub-layers than those contained in the target operating point before it is sent to the VVC decoder.
When reconstructing an access unit based on the operation point associated with the output layer set index i (in the for loop on num_oss in the "vopi" sample set), the following applies:
when reconstructing an access unit, for each layer with an output layer set index j in the range of 0 to layer_count [ i ] -1 (inclusive), if num_ref_sublayers_in_layer_in_ols [ i ] [ j ] is greater than 0, the VCL NAL unit may belong to a sub-layer of that layer (where the VCL NAL unit has a temporald less than or equal to Min (num_ref_sublayers_in_layer_in_ols [ i ] [ j ] -1, max_temporal_id) that is included in the resulting bitstream, and the desired track is selected accordingly. Here, max_temporal_id may represent a value of a corresponding syntax element of the operation point.
When reconstructing the access unit, for each layer indexed j in the output layer set in the range 0 to layer_count [ i ] -1 (inclusive), if num_ref_sub-layers_in_layers_in_ols [ i ] [ j ] is equal to 0, only IRAP picture units and GDR picture units with ph_recovery_poc_cnt equal to 0 from all picture units of the reference layer may be included in the resulting bitstream and the desired track may be selected accordingly.
If the access units of the VVC track contain NAL units of an unspecified NAL unit type (having a nal_unit_type in the range of unspec_28..unspec_31 (i.e., a nal_unit_type value in the range of 28 to 31 (inclusive)), the unspecified NAL unit type should be discarded from the finally reconstructed bitstream, as defined in standard documents such as ISO/IEC 23090-3 (VVC standard).
When the VVC track contains a "subtp" track reference, each picture element may be reconstructed as specified in sub-clause 11.6.3 of a standard document (e.g., ISO/IEC 14496-15). When the VVC track contains a "recr" track reference, each picture element may be reconstructed as specified in sub-clause 11.6.6 of a standard document (e.g. ISO/IEC 14496-15). The process in the sub-clause above can be repeated for each layer of the target operating point in increasing order of nuh layer id.
The reconstructed access units may be placed into the VVC bitstream in ascending order of decoding time.
Since a particular layer or sub-layer may be represented by multiple tracks, it may be necessary to select among a set of tracks that all carry the particular layer or sub-layer when deriving the track required for an operating point.
Reconstructing a picture unit from samples in a VVC track of a reference VVC sub-picture track
Samples of the VVC track may be parsed into picture units in bulleted order:
an AUD NAL unit may be included in a picture unit when present in a sample or in a time aligned sample of an associated VVC non-VCL track.
In an example, when an AUD NAL unit is present in a sample, the AUD NAL unit may be the first NAL unit in the sample.
When there is an associated VVC non-VCL track and the picture unit is the first picture unit in the access unit reconstructed from the sample, the following NAL units may be included in the picture unit.
If there is at least one NAL unit in the time-aligned samples of the associated VVC non-VCL track with nal_unit_type equal to EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, or RSV_NVCL_27 (NAL units with such NAL unit types cannot precede the first of the picture units), NAL units in the time-aligned samples of the associated VVC non-VCL track (excluding AUD NAL units, if any) are excluded until the first of these NAL units is excluded. Otherwise, all NAL units in the time aligned samples of the relevant VVC non-VCL track.
If at least one NAL unit of nal_unit_type in the sample is equal to eos_nut, eob_nut, suffix_aps_nut, suffix_sei_nut, fd_nut, or rsv_nvcl_27 (a NAL unit with this NAL unit type cannot precede the first VCL NAL unit in a picture unit), then NAL units in the sample until and excluding the first of these NAL units may be included in the picture unit, otherwise all NAL units in the sample may be included in the picture unit.
If the reader has selected an operating point, the reader should exclude any OPI NAL units stored in the sample entry and sample from the reconstructed access units in all steps described above.
In an example, when multiple tracks are used to store layers or sub-layers of a VVC bitstream, the inclusion of an OPI NAL unit in a sample entry or sample is discouraged.
If the VVC track does not refer to a VVC sub-picture track, NAL units from samples of the VVC track may be included in picture units.
Otherwise, the following may apply:
the track references may be parsed as specified in sub-clause 11.6.4 of a standard document (e.g., ISO/IEC 14496-15).
If necessary, the parameter set may be updated as specified in sub-clauses 11.6.5 of a standard file (e.g., ISO/IEC 14496-15).
The picture units are appended with the content of the parsed samples from the time alignment (in decoding time) of each reference VVC sub-picture track, excluding all DCI, OPI, VPS, SPS, PPS, AUD, PH, EOS, EOB NAL units and all NAL units of the scalable nesting SEI message containing a sn_subspec_flag equal to 1, in the order of the VVC sub-picture tracks referenced in the "subsp" track reference (when num_subspec_ref_idx in the same set of entries mapped to the "spi" sample set entries of the sample) or in the order specified in the "spi" sample set description entries mapped to the sample (when num_subspec_ref_idx in the same set of entries mapped to the "spi" sample set is greater than 0).
When the reference VVC sub-picture track is associated with a VVC non-VCL track, the parsed samples of the VVC sub-picture track may contain the following NAL units: i) If there is at least one NAL unit in the time-aligned samples of the associated VVC non-VCL track with nal_unit_type equal to eos_nut, eob_nut, suffix_aps_nut, suffix_sei_nut, fd_nut, or rsv_nvcl_27 (NAL units with such NAL unit types cannot precede the first VCL NAL unit in a picture unit), then NAL units (excluding AUD NAL units, if any) in the time-aligned samples of the associated VVC non-VCL track are in the time-aligned samples until the first of these NAL units is excluded. ii) otherwise, all NAL units in the time aligned samples of the associated VVC non-VCL track. iii) NAL units from samples referencing VVC sub-picture tracks. iv) remaining NAL units (if any) from time aligned samples of the associated VVC non-VCL track.
All NAL units in samples with nal_unit_type equal to eos_nut, eob_nut, suffix_aps_nut, suffix_sei_nut, fd_nut or rsv_nvcl_27 may be included in a picture unit.
When there is an associated VVC non-VCL track and the picture unit is the last picture unit in the access unit reconstructed from the samples, all NAL units in the time aligned samples of the associated VVC non-VCL track (whose nal_unit_type is equal to eos_nut, eob_nut, suffix_aps_nut, suffix_sei_nut, fd_nut, or rsv_nvcl_27) may be included in the picture unit.
All NAL units or structures of similar NAL units in samples with nal_unit_type within the range of unspec_28.
Hereinafter, the EOS sample group and the EOB sample group will be described in detail.
Sequence end sample group-problems in the prior art
The end of sequence (EOS) sample group description entry may contain an EOS NAL unit. When a sample is mapped to an end-of-sequence sample group ('EOS'), if the target operating point corresponds to any one of the output layer set and the maximum time ID indicated within the EOS sample group, it indicates that an EOS NAL unit contained in the sample group needs to be inserted into an indicated position in the reconstruction AU. Meanwhile, the EOS sample group may also be referred to as an 'EOS' sample group or an 'EOS', and these will be used interchangeably hereinafter unless otherwise indicated.
Fig. 10 is a view illustrating a syntax structure of the EOS sample group entry.
Fig. 11 is a view illustrating an example of a track carrying multiple layers.
First, referring to fig. 10, the eos sample entry endofsequence sampleentry may include syntax elements ols_idx, max_tid, lower_ols_idx_ inclusive, eos _position, and eosNalUnit.
The syntax elements ols_idx and max_tid may indicate the operation point to which the EOS sample group applies.
The syntax element lower_ols_idx_include may indicate whether the EOS sample set is applicable only to a specific operation point. For example, lower_ols_idx_exclusive being equal to a second value (e.g., 0) indicates that the EOS sample set is only applicable to an operation point with an OLS index equal to ols_idx. lower_ols_idx_exclusive is equal to a first value (e.g., 1) indicating that the EOS sample set is applicable to any OLS indexed from 0 to ols_idx (inclusive).
The syntax element eos_position may indicate an index of NAL units of the reconstructed access unit after which EOS NAL units are placed in the reconstructed bitstream.
The syntax element eosNalUnit may contain EOS NAL units specified in a standard document, such as ISO/IEC 23090-3 (VVC standard).
If the VVC elementary stream includes a plurality of layers, the track may carry the plurality of layers. In this case, multiple EOS NAL units (one for each layer) need to be inserted into the access unit. For example, as shown in fig. 11, in track 1 of a multi-layer structure, a video sequence may be created for each layer. As a result, in order to indicate the end of the video sequence, a total of two EOS NAL units (one for each layer (layer 0 and layer 1)) should be inserted into AU2 (last access unit).
However, according to the syntax structure of fig. 10, one 'EOS' sample group can only carry one EOS NAL unit at present. Considering that only one 'EOS' sample group maps to each sample or access unit, this means that only one EOS NAL unit may be inserted into each sample or access unit. Therefore, there arises a problem that the 'eos' sample group design of fig. 10 cannot be used for a VVC elementary stream having multiple layers.
To address this problem, embodiments of the present disclosure provide a new 'EOS' sample set design capable of carrying multiple EOS NAL units.
Embodiments of the present disclosure may include at least one of the following configurations. The above items may be implemented alone or in a combination of two or more according to embodiments.
(item 1): allowing the 'EOS' sample set to carry multiple EOS NAL units.
(item 2): to support item 1 above, the following modifications were made to the syntax of the 'eos' sample set:
-signaling a new syntax element, named num_eos_nal_unit_minus1, to specify the number of EOS NAL units present in the 'EOS' sample group. The number of EOS NAL units in an 'EOS' sample group may be num_eos_nal_unit_minus1 plus 1.
There is one EOS NAL unit cycle and its insertion position.
(item 3): for signaling of the insertion position of EOS NAL units (i.e., eos_position [ i ]), the insertion position only considers NAL units in samples, and does not calculate any NAL units that may be inserted.
(item 4): a syntax element eos_position i for inserting the position of the EOS NAL unit may be signaled. Here, the syntax element eos_position [ i ] may specify an index of NAL units in a sample after which an ith EOS NAL unit is to be inserted.
(item 5): instead of signaling eos_position [ i ], delta_eos_position [ i ] is signaled. In this case, the value of eos_position [ i ] can be derived based on delta_eos_position [ i ] as follows.
If i is equal to 0, then eos_position [ i ] can be derived to be equal to delta_eos_position [ i ].
Otherwise, eos_position [ i ] may be derived to be equal to eos_position [ i-1] +delta_eos_position [ i ].
(item 6): unlike item 3, no location information about where EOS NAL units should be placed needs to be signaled. When samples mapped to the 'EOS' sample group are included for reconstructing an AU, EOS NAL units in the sample group may be inserted to the end of the reconstructed AU.
(item 7): in another alternative of item 3, no location information about where EOS NAL units should be placed need to be signaled. When samples mapped to the 'EOS' sample group are included for reconstruction of an AU, EOS NAL units in the sample group may be inserted into the reconstructed AU after all NAL units in samples required by the AU.
Hereinafter, embodiments of the present disclosure based on the above items will be described in detail.
Example 1
Embodiment 1 of the present disclosure may be provided based on the above items 1 to 4. The implementation of embodiment 1 may be related to VVC file format specifications.
According to embodiment 1, unlike existing EOS sample groups, multiple EOS NAL units may be carried in one EOS sample group. A repeated description of the existing EOS sample group described with reference to fig. 10 is omitted below.
Fig. 12 is a view illustrating a syntax structure of an EOS sample group entry according to an embodiment of the present disclosure.
Referring to fig. 12, the eos sample group entry EndOfSequenceSampleEntry may include syntax elements ols_idx, max_tid, lower_ols_idx_ inclusive, num _eos_nal_unit_minus1, eos_position [ i ], and eosNalUnit [ i ].
The syntax elements ols_idx and max_tid may indicate the operation point to which the EOS sample group applies.
The syntax element lower_ols_idx_include may indicate whether the EOS sample set is applicable only to a specific operation point. For example, lower_ols_idx_include being equal to a second value (e.g., 0) may indicate that the EOS sample group is applicable only to an operation point where the Output Layer Set (OLS) index is equal to ols_idx. lower_ols_idx_include is equal to a first value (e.g., 1) may indicate that the EOS sample set applies to any OLS having an index from 0 to ols_idx (inclusive).
The syntax element num_eos_nal_unit_minus1 may indicate a value obtained by subtracting 1 from the number of EOS NAL units present in the EOS sample group.
The syntax element eos_position [ i ] may indicate the index of the NAL unit within the current sample, followed by the placement of the ith EOS NAL unit. The index of a NAL unit may only consider NAL units that are locally present in the current sample, except for any other NAL units that may be inserted/placed in the current sample. Note that the first NAL unit in the current sample may be considered as the 0 th NAL unit.
In an example, the current samples may also be mapped to the 'AUD' sample set and/or the 'EOB' sample set, which causes the AUD NAL units and/or EOB NAL units to be inserted into the samples or reconstructed access units. In this case, eos_position [ i ] may be based on the position of the NAL unit prior to insertion of the AUD and/or EOB NAL units.
The syntax element eosNalUnit [ i ] may contain the ith EOS NAL unit in the sample set as specified in a standard document (e.g., ISO/IEC 23090-3 (VVC standard)).
Meanwhile, according to embodiment 1, some of the implicit reconstruction procedures of the above-described VVC bitstream may be modified as follows.
When reconstructing an access unit, picture units from samples with the same decoding time (as specified in a standard document such as ISO/IEC 23090-3) are placed into the access unit in ascending order of nuh layer id value. The following steps may be performed according to predetermined conditions:
when samples of the track of the first picture unit containing samples are marked as belonging to the sample group 'AUD' having ols_idx and lower_ols_idx_included corresponding to the target operation point, the AUD NAL unit within the 'AUD' sample group may be placed into the AU as the first NAL unit of the AU.
When samples in the track are marked as belonging to a sample group 'EOS' having ols_idx, max_tid, and lower_ols_idx_include corresponding to the target operation point, EOS NAL units within the 'EOS' sample group may be placed into an AU as follows
i) For the first EOS NAL unit, the following applies:
the first (i.e., eos_position [0] +1) NAL unit of a sample is placed into the reconstructed AU.
EOS NAL units with index 0 within the 'EOS' sample set (i.e., eosNalUnit [ i ]) are placed into the AU.
ii) for the penultimate EOS NAL unit (i.e., EOS NAL unit with index i, where i is greater than 0) (if present), the following applies:
the next (eos_position [ i ] -eos_position [ i-1 ]) NAL unit of the sample is placed into the reconstructed AU.
EOS NAL units with index i within the 'EOS' sample set (i.e., eosNalUnit [ i ]) are placed into the AU.
iii) The remaining NAL units of the samples, if any, are placed in the AU.
When samples in the track are marked as belonging to sample group 'EOB' with ols_idx, max_tid, and lower_ols_idx_include corresponding to the target operating point, EOB NAL units within the "EOB" sample group may be placed after all NAL units of the AU within the AU (including the EOS NAL units).
Only picture units from layers and sub-layers in the target operating point may be included in the output bitstream.
According to embodiment 1, the EOS sample group may include a plurality of EOS NAL units and number information thereof. Thus, the access unit of the multi-layer structure can be correctly reconstructed.
Example 2
Embodiment 2 of the present disclosure may be provided based on all items except item 4 above. The embodiment of example 2 may be related to example 1.
According to embodiment 2, unlike existing EOS sample groups, multiple EOS NAL units may be carried in one EOS sample group. A repeated description of the existing EOS sample group described with reference to fig. 10 will be omitted below.
Fig. 13 is a view illustrating a syntax structure of an EOS sample group entry according to another embodiment of the present disclosure.
Referring to fig. 13, the eos sample group entry EndOfSequenceSampleEntry may include syntax elements ols_idx, max_tid, lower_ols_idx_ inclusive, num _eos_nal_unit_minus1, delta_eos_position [ i ], and eosNalUnit [ i ].
The syntax elements ols_idx and max_tid may indicate the operation point to which the EOS sample group applies.
The syntax element lower_ols_idx_include may indicate whether the EOS sample set is applicable only to a specific operation point. For example, lower_ols_idx_include being equal to a second value (e.g., 0) may indicate that the EOS sample group is applicable only to an operation point where the Output Layer Set (OLS) index is equal to ols_idx. lower_ols_idx_include is equal to a first value (e.g., 1) may indicate that the EOS sample set applies to any OLS having an index from 0 to ols_idx (inclusive).
The syntax element num_eos_nal_unit_minus1 may indicate a value obtained by subtracting 1 from the number of EOS NAL units present in the EOS sample group.
Syntax element delta_eos_position [ i ] may be used to derive the value of eos_position [ i ] specifying the index of the NAL unit within the current sample, followed by placement of the ith EOS NAL unit. The NAL unit index may consider only NAL units that are locally present in the current sample, except for any other NAL units that may be inserted/placed in the current sample. Note that the first NAL unit in the current sample may be considered as the 0 th NAL unit. eos_position [0] may be set equal to delta_eos_position [0]. For i greater than 0, eos_position [ i ] may be set equal to eos_position [ i-1] +delta_eos_position [ i ]. As such, the EOS sample group entry of fig. 13 may be different from fig. 12 (which includes information indicating the insertion position of an EOS NAL unit) in that it includes difference information for deriving the insertion position of the EOS NAL unit.
Meanwhile, in an example, the current samples may also be mapped to the 'AUD' sample set and/or the 'EOB' sample set, which causes the AUD NAL unit and/or EOB NAL unit to be inserted into the samples or reconstructed access units. In this case, eos_position [ i ] may be based on the position of the NAL unit prior to insertion of the AUD and/or EOB NAL units.
The syntax element eosNalUnit [ i ] may contain the ith EOS NAL unit in the sample set as specified in a standard document (e.g., ISO/IEC 23090-3 (VVC standard)).
According to embodiment 2, the EOS sample group may include a plurality of EOS NAL units and number information thereof. Thus, the access unit of the multi-layer structure can be correctly reconstructed.
Example 3
Embodiment 3 of the present disclosure may be provided based on item 1, item 2, and item 6 above. The implementation of embodiment 3 may be related to VVC file format specifications.
According to embodiment 3, unlike existing EOS sample groups, multiple EOS NAL units may be carried in one EOS sample group. In addition, information indicating the insertion location of the EOS NAL unit may be excluded from the EOS sample group. A repeated description of the existing EOS sample group described with reference to fig. 10 will be omitted below.
Fig. 14 is a view illustrating a syntax structure of an EOS sample group entry according to another embodiment of the present disclosure.
Referring to fig. 14, the eos sample group entry EndOfSequenceSampleEntry may include syntax elements ols_idx, max_tid, lower_ols_idx_ inclusive, num _eos_nal_unit_minus1, and eosNalUnit [ i ].
The syntax elements ols_idx and max_tid may indicate the operation point to which the EOS sample group applies.
The syntax element lower_ols_idx_include may indicate whether the EOS sample set is applicable only to a specific operation point. For example, lower_ols_idx_include being equal to a second value (e.g., 0) may indicate that the EOS sample group is applicable only to an operation point where the Output Layer Set (OLS) index is equal to ols_idx. lower_ols_idx_include is equal to a first value (e.g., 1) may indicate that the EOS sample set applies to any OLS having an index from 0 to ols_idx (inclusive).
The syntax element num_eos_nal_unit_minus1 may indicate a value obtained by subtracting 1 from the number of EOS NAL units present in the EOS sample group.
The syntax element eosNalUnit [ i ] may contain the ith EOS NAL unit in the sample set as specified in a standard document (e.g., ISO/IEC 23090-3 (VVC standard)).
Unlike the EOS sample group entries in fig. 12 and 13, the EOS sample group entry of fig. 14 does not include syntax elements (e.g., eos_position [ i ], delta_eos_position [ i ]) for inserting the position of the EOS NAL unit. Thus, the bit size of the EOS sample group entry may be further reduced.
Meanwhile, according to embodiment 3, some of the implicit reconstruction procedures of the above-described VVC bitstream may be modified as follows.
When reconstructing an access unit, picture units from samples with the same decoding time, as specified in a standard document such as ISO/IEC 23090-3 (VVC standard), may be placed into the access unit in ascending order of nuh layer id value. The following steps may be performed according to predetermined conditions:
When samples of the track of the first picture unit containing samples are marked as belonging to the sample group 'AUD' having ols_idx and lower_ols_idx_included corresponding to the target operation point, the AUD NAL units within the 'AUD' sample group may be placed into the AU as the first NAL unit of the AU.
When samples in the track are marked as belonging to a sample group 'EOS' having ols_idx, max_tid, and lower_ols_idx_include corresponding to the target operating point, EOS NAL units within the 'EOS' sample group may be placed after all NAL units of the AU within the AU, excluding EOB NAL units (if present).
When samples in the track are marked as belonging to sample group 'EOB' with ols_idx, max_tid, and lower_ols_idx_include corresponding to the target operating point, EOB NAL units within the 'EOB' sample group may be placed after all NAL units (including EOS NAL units) of the AU within the AU.
According to embodiment 3, the EOS sample group may include a plurality of EOS NAL units and number information thereof. In addition, information indicating the insertion location of the EOS NAL unit may be excluded from the EOS sample group. Therefore, the access unit of the multi-layer structure can be correctly reconstructed while saving the number of bits.
Example 4
Embodiment 4 of the present disclosure may be provided based on item 1, item 2, and item 7 above. The implementation of example 4 may be related to VVC file format specifications.
According to embodiment 4, unlike existing EOS sample groups, multiple EOS NAL units may be carried in one EOS sample group. In addition, information indicating the insertion location of the EOS NAL unit may be excluded from the EOS sample group. A repeated description of the existing EOS sample group described with reference to fig. 10 will be omitted below.
The syntax and semantics of the EOS sample entry EndOfSequenceSampleEntry according to embodiment 4 may be the same as those of embodiment 3 described above with reference to fig. 14.
Meanwhile, some of the implicit reconstruction procedures of the VVC bitstream described above may be modified according to embodiment 4. The implicit reconstruction procedure modified according to embodiment 4 may be the same as embodiment 3 except for the location for inserting the EOS NAL unit. The insertion position of the EOS NAL unit according to embodiment 4 is as follows.
When samples in the track are marked as belonging to a sample group 'eos' having ols_idx, max_tid, and lower_ols_idx_include corresponding to the target operating point, EOB NAL units within the 'eos' sample group may be placed within the AU after all NAL units from the samples, excluding the EOB NAL units (if present).
According to embodiment 4, the EOS sample group may include a plurality of EOS NAL units and number information thereof. In addition, information indicating the insertion location of the EOS NAL unit may be excluded from the EOS sample group. Therefore, the access unit of the multi-layer structure can be correctly reconstructed while saving the number of bits.
Hereinafter, a media file receiving/generating method according to an embodiment of the present disclosure will be described in detail.
Fig. 15 is a flowchart illustrating a media file receiving method according to an embodiment of the present disclosure. The steps of fig. 15 may be performed by a media file receiving device. In an example, the media file receiving device may correspond to receiving device B of fig. 1.
Referring to fig. 15, the media file receiving apparatus may obtain one or more tracks and sample groups from a media file received from a media file generating/transmitting device (S1510). In an example, the media file may have a file format such as ISO BMFF (ISO base media file format), CMAF (common media application format), or the like.
The media file receiving device may reconstruct the access unit based on the track and the samples in the sample group.
The sample set may comprise a first sample set comprising end-of-sequence information of video data comprising the access unit.
The first sample group may include end of sequence (EOS) NAL units belonging to the first sample group and a first syntax element related to a number of EOS NAL units. The first sample group may have the syntax structure described above with reference to fig. 12 to 14. In this case, the EOS NAL unit may correspond to the syntax element eosNalUnit [ i ] described above. In addition, the first syntax element may correspond to the syntax element num_eos_nal_unit_minus1 described above.
In one embodiment, a value obtained by adding 1 to the first syntax element may indicate the number of EOS NAL units. The first syntax element may have an unsigned integer type (i.e., unsigned int). Thus, since the value of the first syntax element may be greater than or equal to 0, the first sample group may include at least one EOS NAL unit.
In one embodiment, EOS NAL units may be listed within a loop controlled based on a first syntax element. For example, as shown in fig. 12 to 14, the syntax element eosNalUnit [ i ] may be obtained from the EOS sample group in the order of NAL unit index i by repeating num_eos_nal_unit_minus1+1 times of for cycles.
In one embodiment, the maximum NAL unit index value of the EOS NAL unit may be equal to the value of the first syntax element (e.g., num_eos_nal_unit_minus1).
In one embodiment, EOS NAL units may be placed at predetermined locations within an access unit based on samples in a track belonging to a first sample group. At this time, the predetermined position may be determined as a position after all NAL units of samples within the access unit except for an end of bit stream (EOB) NAL unit. Alternatively, the predetermined position may be determined as a position within the access unit after all NAL units of the access unit except the end of bit stream (EOB) NAL unit.
Fig. 16 is a flowchart illustrating a media file generation method according to an embodiment of the present disclosure. The steps of fig. 16 may be performed by a media file generation device. In one example, the media file generation device may correspond to the transmission device a of fig. 1.
Referring to fig. 16, the media file generation apparatus may encode video data including an access unit (S1610). In an example, video data may be encoded by prediction, transform, and quantization processes according to a video codec standard (e.g., VVC standard).
The media file generation device may generate a first sample group including end-of-sequence information of the encoded video data (S1620).
In addition, the media file generation apparatus may generate a media file based on the encoded video data and the first sample group (S1630). In an example, the media file may have a file format such as ISO BMFF (ISO base media file format), CMAF (common media application format), or the like.
The first sample group may include end of sequence (EOS) NAL units belonging to the first sample group and a first syntax element related to a number of EOS NAL units. The first sample group may have the syntax structure described above with reference to fig. 12 to 14. In this case, the EOS NAL unit may correspond to the syntax element eosNalUnit [ i ] described above. In addition, the first syntax element may correspond to the syntax element num_eos_nal_unit_minus1 described above.
In one embodiment, a value obtained by adding 1 to the first syntax element may indicate the number of EOS NAL units. The first syntax element may have an unsigned integer type (i.e., unsigned int). Thus, since the value of the first syntax element may be greater than or equal to 0, the first sample group may include at least one EOS NAL unit.
In one embodiment, EOS NAL units may be listed within a loop controlled based on a first syntax element. For example, as shown in fig. 12-14, syntax element eosNalUnit [ i ] may be inserted (or encoded) into an EOS sample group in the order of NAL unit index i by repeating num_eos_nal_unit_minus1+1 for a loop.
In one embodiment, the maximum NAL unit index value of the EOS NAL unit may be equal to the value of the first syntax element (e.g., num_eos_nal_unit_minus1).
In one embodiment, EOS NAL units may be placed at predetermined locations within an access unit based on samples in a track belonging to a first sample group. At this time, the predetermined position may be determined as a position after all NAL units of samples within the access unit except for an end of bit stream (EOB) NAL unit. Alternatively, the predetermined position may be determined as a position within the access unit after all NAL units of the access unit except the end of bit stream (EOB) NAL unit.
According to embodiments of the present disclosure, a new 'EOS' sample set design capable of carrying multiple EOS NAL units may be provided. Therefore, even for a VVC elementary stream having multiple layers, the 'eos' sample group can work correctly.
While, for purposes of clarity of description, the above-described exemplary methods of the present disclosure are presented as a series of operations, it is not intended to limit the order in which the steps are performed, and the steps may be performed simultaneously or in a different order, if desired. To implement the method according to the invention, the described steps may further comprise other steps, may comprise other steps than some steps, or may comprise other additional steps than some steps.
In the present disclosure, the image encoding apparatus or the image decoding apparatus performing a predetermined operation (step) may perform an operation (step) of confirming an execution condition or situation of the corresponding operation (step). For example, if it is described that the predetermined operation is performed when the predetermined condition is satisfied, the image encoding apparatus or the image decoding apparatus may perform the predetermined operation after determining whether the predetermined condition is satisfied.
The various embodiments of the present disclosure are not a list of all possible combinations and are intended to describe representative aspects of the present disclosure, and the items described in the various embodiments may be applied independently or in combinations of two or more.
Various embodiments of the present disclosure may be implemented in hardware, firmware, software, or a combination thereof. Where the present disclosure is implemented in hardware, the present disclosure may be implemented by an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), a Programmable Logic Device (PLD), a field programmable gate array (CFPGA), a general purpose processor, a controller, a microcontroller, a microprocessor, or the like.
Further, the image decoding apparatus and the image encoding apparatus to which the embodiments of the present disclosure are applied may be included in a multimedia broadcast transmitting and receiving device, a mobile communication terminal, a home theater video device, a digital cinema video device, a monitoring camera, a video chat device, a real-time communication device such as video communication, a mobile streaming device, a storage medium, a camera, a video on demand (VoD) service providing device, an OTT video (over the top video) device, an internet streaming service providing device, a three-dimensional (3D) video device, a video telephony video device, a medical video device, and the like, and may be used to process video signals or data signals. For example, OTT video devices may include gaming machines, blu-ray players, internet access televisions, home theater systems, smart phones, tablet PCs, digital Video Recorders (DVRs), and the like.
Fig. 17 is a view showing a content streaming system to which an embodiment of the present disclosure is applicable.
As shown in fig. 17, a content streaming system to which embodiments of the present disclosure are applied may mainly include an encoding server, a streaming server, a web server, a media storage device, a user device, and a multimedia input device.
The encoding server compresses content input from a multimedia input device such as a smart phone, a camera, a video camera, etc. into digital data to generate a bitstream and transmits the bitstream to the streaming server. As another example, the encoding server may be omitted when the multimedia input device of a smart phone, a camera, a video camera, etc. directly generates the bitstream.
The bitstream may be generated by an image encoding method or an image encoding apparatus to which the embodiments of the present disclosure are applied, and the streaming server may temporarily store the bitstream in transmitting or receiving the bitstream.
The streaming server transmits multimedia data to the user device based on a request of the user through the web server, and the web server serves as a medium informing the user of the service. When a user requests a desired service from a web server, the web server may deliver it to a streaming server, and the streaming server may send multimedia data to the user. In this case, the content streaming system may include a separate control server. In this case, the control server is used to control commands/responses between devices in the content streaming system.
The streaming server may receive content from the media storage device and/or the encoding server. For example, the content may be received in real-time as the content is received from the encoding server. In this case, in order to provide a smooth streaming service, the streaming server may store the bitstream for a predetermined time.
Examples of user devices may include mobile phones, smart phones, laptops, digital broadcast terminals, personal Digital Assistants (PDAs), portable Multimedia Players (PMPs), navigation devices, slate PCs, tablet PCs, superbooks, wearable devices (e.g., smart watches, smart glasses, head mounted displays), digital televisions, desktop computers, digital signage, and the like.
The various servers in the content streaming system may operate as distributed servers, in which case the data received from the various servers may be distributed.
The scope of the present disclosure includes software or machine-executable commands (e.g., operating system, applications, firmware, programs, etc.) for enabling the operation of the methods according to various embodiments to be performed on a device or computer, non-transitory computer-readable media having such software or commands stored thereon and executable on a device or computer.
Industrial applicability
Embodiments of the present disclosure may be used to encode or decode images.

Claims (15)

1. A media file receiving method performed by a media file receiving apparatus, comprising:
obtaining one or more tracks and sample groups from a media file; and
reconstructing an access unit based on the track and the samples in the set of samples,
wherein the sample group comprises a first sample group comprising end of sequence (EOS) information of video data to which the access unit belongs, and
wherein the first sample group includes one or more EOS NAL units and a first syntax element related to a number of EOS NAL units.
2. The media file reception method of claim 1, wherein a value obtained by adding 1 to the first syntax element specifies a number of EOS NAL units.
3. The media file reception method of claim 1, wherein the EOS NAL unit is listed within a loop controlled based on the first syntax element.
4. The media file reception method of claim 1, wherein a maximum index value of the EOS NAL unit is equal to a value of the first syntax element.
5. The media file reception method of claim 1, wherein the EOS NAL unit is placed at a predetermined position within the access unit based on samples in the track belonging to the first sample group.
6. The media file reception method of claim 5, wherein the predetermined location is a location within the access unit after all NAL units of the samples except an end of bit stream (EOB) NAL unit.
7. A media file receiving apparatus comprising a memory and at least one processor, wherein the at least one processor is configured to:
obtaining one or more tracks and sample groups from a media file; and
reconstructing an access unit based on the track and the samples in the set of samples,
wherein the sample group comprises a first sample group comprising end of sequence (EOS) information of video data to which the access unit belongs, and
wherein the first sample group includes one or more EOS NAL units and a first syntax element related to a number of EOS NAL units.
8. A media file generation method performed by a media file generation device, comprising:
Encoding video data including an access unit;
generating a first sample set including end-of-sequence (EOS) information of the encoded video data; and
generating a media file based on the encoded video data and the first set of samples,
wherein the first sample group includes one or more EOS NAL units and a first syntax element related to a number of EOS NAL units.
9. The media file generation method of claim 8, wherein the value obtained by adding 1 to the first syntax element specifies a number of EOS NAL units.
10. The media file generation method of claim 8, wherein the EOS NAL unit is listed within a loop controlled based on the first syntax element.
11. The media file generation method of claim 8, wherein a maximum index value of the EOS NAL unit is equal to a value of the first syntax element.
12. The media file generation method of claim 8, wherein the EOS NAL unit is placed at a predetermined location within the access unit based on samples of the video samples belonging to the first sample group.
13. The media file generation method of claim 12, wherein the predetermined location is a location within the access unit after all NAL units of the samples except an end of bit stream (EOB) NAL unit.
14. A method of transmitting the media file generated by the media file generation method of claim 8.
15. A media file generation device comprising a memory and at least one processor, wherein the at least one processor is configured to:
encoding video data including an access unit;
generating a first sample set including end-of-sequence (EOS) information of the encoded video data; and
generating a media file based on the encoded video data and the first set of samples,
wherein the first sample group includes one or more EOS NAL units and a first syntax element related to a number of EOS NAL units.
CN202280028975.8A 2021-04-19 2022-04-19 Method and apparatus for generating/receiving media files based on EOS sample group and method for transmitting media files Pending CN117223290A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US63/176,355 2021-04-19
US202163180024P 2021-04-26 2021-04-26
US63/180,024 2021-04-26
PCT/KR2022/005605 WO2022225306A1 (en) 2021-04-19 2022-04-19 Method and device for generating/receiving media file on basis of eos sample group, and method for transmitting media file

Publications (1)

Publication Number Publication Date
CN117223290A true CN117223290A (en) 2023-12-12

Family

ID=89044856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280028975.8A Pending CN117223290A (en) 2021-04-19 2022-04-19 Method and apparatus for generating/receiving media files based on EOS sample group and method for transmitting media files

Country Status (1)

Country Link
CN (1) CN117223290A (en)

Similar Documents

Publication Publication Date Title
KR102613593B1 (en) Signaling of mandatory and non-mandatory video supplementary information
JP2023517440A (en) Storage and distribution of video data for video coding
US20220201308A1 (en) Media file processing method and device therefor
US20230336761A1 (en) Method for processing media file and device therefor
EP4329315A1 (en) Method and device for generating/receiving media file on basis of eos sample group, and method for transmitting media file
CN117223290A (en) Method and apparatus for generating/receiving media files based on EOS sample group and method for transmitting media files
US20240056578A1 (en) Media file generation/reception method and apparatus supporting random access in units of samples, and method for transmitting media file
US20230328261A1 (en) Media file processing method and device therefor
US20230319374A1 (en) Method and device for creating/receiving media file containing layer information, and media file transfer method
US20230336751A1 (en) Method and apparatus for generating/receiving media file which signals output layer set information, and computer-readable recording medium storing media file
EP4270968A1 (en) Media file generation/reception method and device for signaling subpicture id information, and computer-readable recording medium in which media file is stored
US20230379481A1 (en) Media file generation/reception method and device for signaling operating point information and output layer set information, and computer-readable recording medium in which media file is stored
EP4266689A1 (en) Method and device for generating/receiving media file including nal unit information, and method for transmitting media file
US20240048768A1 (en) Method and apparatus for generating and processing media file
EP4287624A1 (en) Media file processing method and device
US20230362456A1 (en) Media file processing method and device
US20240031622A1 (en) Media file processing method and device
US20240040169A1 (en) Media file processing method and device therefor
US20240056618A1 (en) Method and device for generating/receiving media file including nal unit array information, and method for transmitting media file
EP4329303A1 (en) Media file processing method, and device therefor
US20230336783A1 (en) Method and device for generating/receiving media file including output layer set information, and method for transmitting media file
US20230345028A1 (en) Media file processing method and apparatus therefor
US20230388508A1 (en) Method and device for generating media file

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination