WO2022065799A1 - Media file processing method and apparatus therefor - Google Patents
Media file processing method and apparatus therefor Download PDFInfo
- Publication number
- WO2022065799A1 WO2022065799A1 PCT/KR2021/012664 KR2021012664W WO2022065799A1 WO 2022065799 A1 WO2022065799 A1 WO 2022065799A1 KR 2021012664 W KR2021012664 W KR 2021012664W WO 2022065799 A1 WO2022065799 A1 WO 2022065799A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- layer
- layers
- flag
- ols
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims description 9
- 239000010410 layer Substances 0.000 claims abstract description 432
- 230000002123 temporal effect Effects 0.000 claims abstract description 127
- 238000000034 method Methods 0.000 claims abstract description 103
- 239000011229 interlayer Substances 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims description 55
- 230000008569 process Effects 0.000 claims description 18
- 239000000523 sample Substances 0.000 description 182
- 230000011664 signaling Effects 0.000 description 33
- 238000001914 filtration Methods 0.000 description 26
- 239000011449 brick Substances 0.000 description 12
- 238000013139 quantization Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 238000003491 array Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 241000023320 Luma <angiosperm> Species 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 5
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 5
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 208000034188 Stiff person spectrum disease Diseases 0.000 description 3
- 229920010524 Syndiotactic polystyrene Polymers 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 208000012112 ischiocoxopodopatellar syndrome Diseases 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013488 ordinary least square regression Methods 0.000 description 3
- 238000002490 spark plasma sintering Methods 0.000 description 3
- FMYKJLXRRQTBOR-UBFHEZILSA-N (2s)-2-acetamido-4-methyl-n-[4-methyl-1-oxo-1-[[(2s)-1-oxohexan-2-yl]amino]pentan-2-yl]pentanamide Chemical group CCCC[C@@H](C=O)NC(=O)C(CC(C)C)NC(=O)[C@H](CC(C)C)NC(C)=O FMYKJLXRRQTBOR-UBFHEZILSA-N 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 239000013074 reference sample Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000007519 figuring Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/187—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
Definitions
- This document relates to image coding technology, and more particularly, to a method and apparatus for processing a media file for coded image information in an image coding system.
- HD High Definition
- UHD Ultra High Definition
- An object of the present document is to provide a method and an apparatus for increasing image coding efficiency.
- Another technical problem of the present document is to provide a method and an apparatus for generating a media file for coded image information.
- Another technical object of the present document is to provide a method and apparatus for generating a media file for coded image information and metadata of the image information.
- a method for generating a media file performed by an apparatus for generating a media file.
- the method configures first flag information for a target layer in an output layer set (OLS), wherein the first flag information indicates whether information on the maximum number of temporal sub-layers for inter-layer prediction exists.
- OLS output layer set
- Step configuring second flag information on whether the target layer is an output layer, configuring the information on the maximum number of temporal sub-layers based on the first flag information and the second flag information and generating a media file comprising an actuation point information sample group, wherein the actuation point information sample group comprises the first flag information and the second flag information, and wherein the maximum number of the temporal sub-layers
- the information on is configured in the operation point information sample group based on the first flag information equal to 1 and the second flag information equal to 0.
- an apparatus for generating a media file configures first flag information for a target layer in an output layer set (OLS), wherein the first flag information determines whether information on the maximum number of temporal sub-layers for inter-layer prediction exists indicates whether the target layer is an output layer, configures second flag information on whether the target layer is an output layer, and configures the information on the maximum number of temporal sublayers based on the first flag information and the second flag information and a media file generator for generating a media file including an image processing unit and an operation point information sample group, wherein the operation point information sample group includes the first flag information and the second flag information, and the temporal sublayer
- OLS output layer set
- a media file processing method performed by a media file processing apparatus.
- the method includes obtaining a media file including an actuation point information sample group and parsing the actuation point information sample group, wherein parsing the actuation point information sample group comprises: an Output Layer Set (OLS); OLS) parsing the first flag information on the target layer, wherein the first flag information indicates whether information on the maximum number of temporal sub-layers for inter-layer prediction exists, whether the target layer is an output layer Parsing second flag information on whether or not and parsing the information on the maximum number of the temporal sub-layers based on the first flag information and the second flag information, wherein the operation point information A sample group includes the first flag information and the second flag information, and the information about the maximum number of the temporal sub-layers is based on the first flag information equal to 1 and the second flag information equal to 0 and is configured in the operation point information sample group.
- OLS Output Layer Set
- a media file processing apparatus includes a receiving unit for obtaining a media file including an operation point information sample group and a media file processing unit for parsing the operation point information sample group, wherein the parsing of the operation point information sample group includes: Parsing first flag information for a target layer in (Output Layer Set, OLS), wherein the first flag information indicates whether information on the maximum number of temporal sub-layers for inter-layer prediction exists, the target Parsing second flag information on whether a layer is an output layer, and parsing the information on the maximum number of temporal sub-layers based on the first flag information and the second flag information , the operation point information sample group includes the first flag information and the second flag information, and the information about the maximum number of the temporal sub-layers includes the first flag information equal to 1 and the first flag information equal to 0 2 It is characterized in that it is configured in the operation point information sample group based on the flag information.
- OLS Output Layer Set
- a computer-readable digital storage medium in which a media file generated by a method for generating a media file is stored.
- a computer-readable digital storage medium wherein the method comprises configuring first flag information for a target layer in an output layer set (OLS), wherein the first flag information includes a maximum of a temporal sub-layer for inter-layer prediction.
- OLS output layer set
- flag information indicating whether the information is signaled and whether the layer is an output layer It may be determined in consideration of whether or not, and through this, signaling redundancy for media file delivery may be reduced and overall coding efficiency may be improved.
- signaling of information on layer dependency can be performed like the methods proposed in various embodiments, thereby reducing signaling redundancy for media file delivery and improving overall coding efficiency can do it
- FIG. 1 schematically shows an example of a video/image coding system to which embodiments of this document can be applied.
- FIG. 2 is a diagram schematically illustrating a configuration of a video/image encoding apparatus to which embodiments of the present document may be applied.
- FIG. 3 is a diagram schematically illustrating a configuration of a video/image decoding apparatus to which embodiments of the present document may be applied.
- 5 exemplarily shows a method of decoding a media file generated by applying the embodiment proposed in this document.
- FIG. 6 schematically illustrates a method of generating a media file by a media file generating apparatus according to the present document.
- FIG. 7 schematically shows a media file generating apparatus that performs the media file generating method according to the present document.
- FIG. 8 schematically illustrates a media file processing method by a media file processing apparatus according to the present document.
- FIG. 9 schematically shows a media file processing apparatus for performing a media file processing method according to the present document.
- FIG. 10 exemplarily shows a structural diagram of a content streaming system to which embodiments of this document are applied.
- each configuration in the drawings described in this document is shown independently for the convenience of description regarding different characteristic functions, and does not mean that each configuration is implemented as separate hardware or separate software.
- two or more components among each component may be combined to form one component, or one component may be divided into a plurality of components.
- Embodiments in which each component is integrated and/or separated are also included in the scope of the present document without departing from the essence of this document.
- FIG. 1 schematically shows an example of a video/image coding system to which embodiments of this document can be applied.
- a video/image coding system may include a first apparatus (source device) and a second apparatus (receive device).
- the source device may transmit encoded video/image information or data in the form of a file or streaming to the receiving device through a digital storage medium or a network.
- the source device may include a video source, an encoding apparatus, and a transmission unit.
- the receiving device may include a receiving unit, a decoding apparatus, and a renderer.
- the encoding apparatus may be referred to as a video/image encoding apparatus, and the decoding apparatus may be referred to as a video/image decoding apparatus.
- the transmitter may be included in the encoding device.
- the receiver may be included in the decoding device.
- the renderer may include a display unit, and the display unit may be configured as a separate device or external component.
- the video source may acquire a video/image through a process of capturing, synthesizing, or generating a video/image.
- a video source may include a video/image capture device and/or a video/image generating device.
- a video/image capture device may include, for example, one or more cameras, a video/image archive containing previously captured video/images, and the like.
- a video/image generating device may include, for example, a computer, tablet, and smart phone, and may (electronically) generate a video/image.
- a virtual video/image may be generated through a computer, etc. In this case, the video/image capturing process may be substituted for the process of generating related data.
- the encoding device may encode the input video/image.
- the encoding apparatus may perform a series of procedures such as prediction, transformation, and quantization for compression and coding efficiency.
- the encoded data (encoded video/image information) may be output in the form of a bitstream.
- the transmitting unit may transmit the encoded video/image information or data output in the form of a bitstream to the receiving unit of the receiving device in the form of a file or streaming through a digital storage medium or a network.
- the digital storage medium may include a variety of storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
- the transmission unit may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcast/communication network.
- the receiver may receive/extract the bitstream and transmit it to the decoding device.
- the decoding apparatus may decode the video/image by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operation of the encoding apparatus.
- the renderer may render the decoded video/image.
- the rendered video/image may be displayed through the display unit.
- This article is about video/image coding.
- the method/embodiment disclosed in this document is a versatile video coding (VVC) standard, an essential video coding (EVC) standard, an AOMedia Video 1 (AV1) standard, a 2nd generation of audio video coding standard (AVS2) or a next-generation video/ It can be applied to the method disclosed in the image coding standard (ex. H.267 or H.268, etc.).
- VVC versatile video coding
- EVC essential video coding
- AV1 AOMedia Video 1
- AVS2 2nd generation of audio video coding standard
- next-generation video/ It can be applied to the method disclosed in the image coding standard (ex. H.267 or H.268, etc.).
- a video may mean a set of a series of images according to the passage of time.
- a picture generally means a unit representing one image in a specific time period, and a subpicture/slice/tile is a unit constituting a part of a picture in coding.
- a subpicture/slice/tile may include one or more coding tree units (CTUs).
- CTUs coding tree units
- One picture may be composed of one or more subpictures/slice/tile.
- One picture may be composed of one or more tile groups.
- One tile group may include one or more tiles.
- a brick may indicate a rectangular area of CTU rows within a tile in a picture.
- a tile may be partitioned into multiple bricks, and each brick may consist of one or more CTU rows within the tile.
- a tile that is not partitioned into multiple bricks may also be referred to as a brick.
- a brick scan may indicate a specific sequential ordering of CTUs partitioning a picture, wherein the CTUs may be arranged in a CTU raster scan within a brick, and the bricks within a tile may be sequentially arranged in a raster scan of the bricks of the tile. and tiles in a picture may be sequentially aligned with a raster scan of the tiles of the picture.
- a sub-picture may indicate a rectangular region of one or more slices in the picture. That is, the sub-picture may include one or more slices that collectively cover the rectangular area of the picture.
- a tile is a specific tile row and a rectangular area of CTUs within a specific tile row.
- the tile column is a rectangular region of CTUs, the rectangular region has a height equal to the height of the picture, and the width may be specified by syntax elements in a picture parameter set.
- the tile row is a rectangular region of CTUs, the rectangular region has a width specified by syntax elements in a picture parameter set, and the height may be equal to the height of the picture.
- a tile scan may indicate a specific sequential ordering of CTUs partitioning a picture, wherein the CTUs may be sequentially aligned with a CTU raster scan within a tile, and tiles within a picture may be sequentially aligned with a raster scan of the tiles of the picture.
- a slice may include an integer number of bricks of a picture, and the integer number of bricks may be included in one NAL unit.
- a slice may consist of a number of complete tiles, or it may be a continuous sequence of complete bricks of one tile.
- tile group and slice can be used interchangeably.
- a tile group/tile group header may be referred to as a slice/slice header.
- a pixel or pel may mean a minimum unit constituting one picture (or image). Also, a 'sample' may be used as a term corresponding to a pixel.
- a sample may generally represent a pixel or a value of a pixel, may represent only a pixel/pixel value of a luma component, or may represent only a pixel/pixel value of a chroma component.
- a unit may represent a basic unit of image processing.
- the unit may include at least one of a specific region of a picture and information related to the region.
- One unit may include one luma block and two chroma (ex. cb, cr) blocks.
- a unit may be used interchangeably with terms such as a block or an area in some cases.
- an MxN block may include samples (or sample arrays) or a set (or arrays) of transform coefficients including M columns and N rows.
- a or B (A or B) may mean “only A”, “only B”, or “both A and B”.
- a or B (A or B) may be interpreted as “A and/or B (A and/or B)”.
- A, B or C(A, B or C) herein means “only A”, “only B”, “only C”, or “any and any combination of A, B and C ( any combination of A, B and C)”.
- a slash (/) or a comma (comma) may mean “and/or”.
- A/B may mean “A and/or B”. Accordingly, “A/B” may mean “only A”, “only B”, or “both A and B”.
- A, B, C may mean “A, B, or C”.
- At least one of A and B may mean “only A”, “only B”, or “both A and B”.
- the expression “at least one of A or B” or “at least one of A and/or B” means “at least one It can be interpreted the same as “A and B (at least one of A and B)”.
- At least one of A, B and C means “only A”, “only B”, “only C”, or “A, B and C” any combination of A, B and C”. Also, “at least one of A, B or C” or “at least one of A, B and/or C” means can mean “at least one of A, B and C”.
- parentheses used herein may mean "for example”. Specifically, when “prediction (intra prediction)” is indicated, “intra prediction” may be proposed as an example of “prediction”. In other words, “prediction” in the present specification is not limited to “intra prediction”, and “intra prediction” may be proposed as an example of “prediction”. Also, even when “prediction (ie, intra prediction)” is indicated, “intra prediction” may be proposed as an example of “prediction”.
- a video encoding apparatus may include an image encoding apparatus.
- the encoding apparatus 200 includes an image partitioner 210, a predictor 220, a residual processor 230, an entropy encoder 240, It may be configured to include an adder 250 , a filter 260 , and a memory 270 .
- the prediction unit 220 may include an inter prediction unit 221 and an intra prediction unit 222 .
- the residual processing unit 230 may include a transformer 232 , a quantizer 233 , an inverse quantizer 234 , and an inverse transformer 235 .
- the residual processing unit 230 may further include a subtractor 231 .
- the adder 250 may be referred to as a reconstructor or a reconstructed block generator.
- the above-described image segmentation unit 210, prediction unit 220, residual processing unit 230, entropy encoding unit 240, adder 250 and filtering unit 260 may include one or more hardware components ( For example, by an encoder chipset or processor).
- the memory 270 may include a decoded picture buffer (DPB), and may be configured by a digital storage medium.
- the hardware component may further include a memory 270 as an internal/external component.
- the image dividing unit 210 may divide an input image (or a picture, a frame) input to the encoding apparatus 200 into one or more processing units.
- the processing unit may be referred to as a coding unit (CU).
- the coding unit is to be recursively divided according to a quad-tree binary-tree ternary-tree (QTBTTT) structure from a coding tree unit (CTU) or largest coding unit (LCU).
- QTBTTT quad-tree binary-tree ternary-tree
- CTU coding tree unit
- LCU largest coding unit
- one coding unit may be divided into a plurality of coding units having a lower depth based on a quad tree structure, a binary tree structure, and/or a ternary structure.
- a quad tree structure may be applied first and a binary tree structure and/or a ternary structure may be applied later.
- the binary tree structure may be applied first.
- a coding procedure according to this document may be performed based on the final coding unit that is no longer divided.
- the largest coding unit may be directly used as the final coding unit based on coding efficiency according to image characteristics, or the coding unit may be recursively divided into coding units having a lower depth than the optimal coding unit if necessary.
- a coding unit of the size of may be used as the final coding unit.
- the coding procedure may include procedures such as prediction, transformation, and restoration, which will be described later.
- the processing unit may further include a prediction unit (PU) or a transform unit (TU).
- the prediction unit and the transform unit may be divided or partitioned from the above-described final coding unit, respectively.
- the prediction unit may be a unit of sample prediction
- the transform unit may be a unit for deriving a transform coefficient and/or a unit for deriving a residual signal from the transform coefficient.
- a unit may be used interchangeably with terms such as a block or an area in some cases.
- an MxN block may represent a set of samples or transform coefficients including M columns and N rows.
- a sample may generally represent a pixel or a value of a pixel, may represent only a pixel/pixel value of a luminance component, or may represent only a pixel/pixel value of a chroma component.
- a sample may be used as a term corresponding to a picture (or an image) as a pixel or a pel.
- the encoding apparatus 200 subtracts the prediction signal (predicted block, prediction sample array) output from the inter prediction unit 221 or the intra prediction unit 222 from the input image signal (original block, original sample array) to obtain a residual A signal (residual signal, residual block, residual sample array) may be generated, and the generated residual signal is transmitted to the converter 232 .
- a unit for subtracting a prediction signal (prediction block, prediction sample array) from an input image signal (original block, original sample array) in the encoder 200 may be referred to as a subtraction unit 231 .
- the prediction unit may perform prediction on a processing target block (hereinafter, referred to as a current block) and generate a predicted block including prediction samples for the current block.
- the prediction unit may determine whether intra prediction or inter prediction is applied on a current block or CU basis.
- the prediction unit may generate various information regarding prediction, such as prediction mode information, and transmit it to the entropy encoding unit 240 , as will be described later in the description of each prediction mode.
- the prediction information may be encoded by the entropy encoding unit 240 and output in the form of a bitstream.
- the intra prediction unit 222 may predict the current block with reference to samples in the current picture.
- the referenced samples may be located in the vicinity of the current block or may be located apart from each other according to the prediction mode.
- prediction modes may include a plurality of non-directional modes and a plurality of directional modes.
- the non-directional mode may include, for example, a DC mode and a planar mode (Planar mode).
- the directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to the granularity of the prediction direction. However, this is an example, and a higher or lower number of directional prediction modes may be used according to a setting.
- the intra prediction unit 222 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
- the inter prediction unit 221 may derive the predicted block for the current block based on the reference block (reference sample array) specified by the motion vector on the reference picture.
- the motion information may be predicted in units of blocks, subblocks, or samples based on the correlation between motion information between neighboring blocks and the current block.
- the motion information may include a motion vector and a reference picture index.
- the motion information may further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information.
- the neighboring blocks may include spatial neighboring blocks existing in the current picture and temporal neighboring blocks 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 block may be called a collocated reference block, a collocated CU (colCU), or the like, and a reference picture including the temporally neighboring block may be called a collocated picture (colPic).
- the inter prediction unit 221 constructs a motion information candidate list based on neighboring blocks, and provides information indicating which candidate is used to derive a motion vector and/or a reference picture index of the current block. can create Inter prediction may be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter prediction unit 221 may use motion information of a neighboring block as motion information of the current block.
- the motion vector of the current block is calculated by using a motion vector of a neighboring block as a motion vector predictor and signaling a motion vector difference.
- the prediction unit 220 may generate a prediction signal based on various prediction methods to be described later.
- the prediction unit may apply intra prediction or inter prediction for prediction of one block, and may simultaneously apply intra prediction and inter prediction. This can be called combined inter and intra prediction (CIIP).
- the prediction unit may be based on an intra block copy (IBC) prediction mode or based on a palette mode for prediction of a block.
- IBC prediction mode or the palette mode may be used for video/video coding of content such as games, for example, screen content coding (SCC).
- SCC screen content coding
- IBC basically performs prediction within the current picture, but may be performed similarly to inter prediction in that a reference block is derived within the current picture. That is, IBC may use at least one of the inter prediction techniques described in this document.
- the palette mode may be viewed as an example of intra coding or intra prediction. When the palette mode is applied, the sample value in the picture may be signaled based on information about the palette table and palette index.
- the prediction signal generated by the prediction unit may be used to generate a reconstructed signal or may be used to generate a residual signal.
- the transform unit 232 may generate transform coefficients by applying a transform technique to the residual signal.
- the transformation method may include at least one of Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Karhunen-Loeve Transform (KLT), Graph-Based Transform (GBT), or Conditionally Non-linear Transform (CNT).
- DCT Discrete Cosine Transform
- DST Discrete Sine Transform
- KLT Karhunen-Loeve Transform
- GBT Graph-Based Transform
- CNT Conditionally Non-linear Transform
- GBT means a transformation obtained from this graph when expressing relationship information between pixels in a graph.
- CNT refers to a transformation obtained by generating a prediction signal using all previously reconstructed pixels and based thereon. Also, the transformation process may be applied to a block of pixels having the same size as a square, or may be applied to a block of a variable size that is not a square.
- the quantization unit 233 quantizes the transform coefficients and transmits them to the entropy encoding unit 240, and the entropy encoding unit 240 encodes the quantized signal (information on the quantized transform coefficients) and outputs it as a bitstream. there is.
- Information about the quantized transform coefficients may be referred to as residual information.
- the quantization unit 233 may rearrange the quantized transform coefficients in the block form into a one-dimensional vector form based on a coefficient scan order, and the quantized transform coefficients in the one-dimensional vector form are quantized based on the quantized transform coefficients in the one-dimensional vector form. Information about the transform coefficients may be generated.
- the entropy encoding unit 240 may perform various encoding methods such as, for example, exponential Golomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC).
- the entropy encoding unit 240 may encode information necessary for video/image reconstruction (eg, values of syntax elements, etc.) other than the quantized transform coefficients together or separately.
- Encoded information (eg, encoded video/image information) may be transmitted or stored in a network abstraction layer (NAL) unit unit in a bitstream form.
- the video/image information may further include information about various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS).
- APS adaptation parameter set
- PPS picture parameter set
- SPS sequence parameter set
- VPS video parameter set
- the video/image information may further include general constraint information.
- information and/or syntax elements transmitted/signaled from the encoding device to the decoding device may be included in video/image information.
- the video/image information may be encoded through the above-described encoding procedure and included in the bitstream.
- the bitstream may be transmitted over a network or may be stored in a digital storage medium.
- the network may include a broadcasting network and/or a communication network
- the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
- a transmitting unit (not shown) and/or a storing unit (not shown) for storing may be configured as internal/external elements of the encoding apparatus 200, or the transmitting unit It may be included in the entropy encoding unit 240 .
- the quantized transform coefficients output from the quantization unit 233 may be used to generate a prediction signal.
- a residual signal residual block or residual samples
- the adder 250 adds the reconstructed residual signal to the prediction signal output from the inter prediction unit 221 or the intra prediction unit 222 to obtain a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array). can be created
- the predicted block may be used as a reconstructed block.
- the addition unit 250 may be called a restoration unit or a restoration block generation unit.
- the generated reconstructed signal may be used for intra prediction of the next processing object block in the current picture, or may be used for inter prediction of the next picture after filtering as described below.
- LMCS luma mapping with chroma scaling
- the filtering unit 260 may improve subjective/objective image quality by applying filtering to the reconstructed signal.
- the filtering unit 260 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 270 , specifically, the DPB of the memory 270 .
- the various filtering methods may include, for example, deblocking filtering, a sample adaptive offset, an adaptive loop filter, a bilateral filter, and the like.
- the filtering unit 260 may generate various types of filtering-related information and transmit it to the entropy encoding unit 240 , as will be described later in the description of each filtering method.
- the filtering-related information may be encoded by the entropy encoding unit 240 and output in the form of a bitstream.
- the corrected reconstructed picture transmitted to the memory 270 may be used as a reference picture in the inter prediction unit 221 .
- the encoding apparatus can avoid prediction mismatch between the encoding apparatus 200 and the decoding apparatus 300, and can also improve encoding efficiency.
- the memory 270 DPB may store the corrected reconstructed picture to be used as a reference picture in the inter prediction unit 221 .
- the memory 270 may store motion information of a block in which motion information in the current picture is derived (or encoded) and/or motion information of blocks in an already reconstructed picture.
- the stored motion information may be transmitted to the inter prediction unit 221 to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block.
- the memory 270 may store reconstructed samples of blocks reconstructed in the current picture, and may transmit the reconstructed samples to the intra prediction unit 222 .
- FIG. 3 is a diagram schematically illustrating a configuration of a video/image decoding apparatus to which embodiments of the present document may be applied.
- the decoding apparatus 300 includes an entropy decoder 310 , a residual processor 320 , a predictor 330 , an adder 340 , and a filtering unit. (filter, 350) and may be configured to include a memory (memory, 360).
- the prediction unit 330 may include an inter prediction unit 331 and an intra prediction unit 332 .
- the residual processor 320 may include a dequantizer 321 and an inverse transformer 322 .
- the entropy decoding unit 310 , the residual processing unit 320 , the prediction unit 330 , the addition unit 340 , and the filtering unit 350 are one hardware component (eg, a decoder chipset or a processor according to an embodiment). ) can be configured by
- the memory 360 may include a decoded picture buffer (DPB), and may be configured by a digital storage medium.
- the hardware component may further include a memory 360 as an internal/external component.
- the decoding apparatus 300 may reconstruct an image corresponding to a process in which the video/image information is processed in the encoding apparatus of FIG. 2 .
- the decoding apparatus 300 may derive units/blocks based on block division related information obtained from the bitstream.
- the decoding apparatus 300 may perform decoding by using a processing unit applied in the encoding apparatus.
- the processing unit of decoding may be, for example, a coding unit, and the coding unit may be divided along a quad tree structure, a binary tree structure and/or a ternary tree structure from a coding tree unit or a largest coding unit.
- One or more transform units may be derived from a coding unit.
- the reconstructed image signal decoded and output through the decoding apparatus 300 may be reproduced through the reproduction apparatus.
- the decoding apparatus 300 may receive a signal output from the encoding apparatus of FIG. 2 in the form of a bitstream, and the received signal may be decoded through the entropy decoding unit 310 .
- the entropy decoding unit 310 may derive information (eg, video/image information) necessary for image restoration (or picture restoration) by parsing the bitstream.
- the video/image information may further include information about various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS).
- the video/image information may further include general constraint information.
- the decoding apparatus may decode the picture further based on the information on the parameter set and/or the general restriction information.
- Signaled/received information and/or syntax elements described later in this document may be decoded through the decoding procedure and obtained from the bitstream.
- the entropy decoding unit 310 decodes information in a bitstream based on a coding method such as exponential Golomb encoding, CAVLC or CABAC, and a value of a syntax element required for image reconstruction, and a quantized value of a transform coefficient related to a residual can be printed out.
- the CABAC entropy decoding method receives a bin corresponding to each syntax element in the bitstream, and decodes the syntax element information to be decoded and the decoding information of the surrounding and decoding target blocks or the symbol/bin information decoded in the previous step.
- a context model is determined using the context model, and the probability of occurrence of a bin is predicted according to the determined context model, and a symbol corresponding to the value of each syntax element can be generated by performing arithmetic decoding of the bin.
- the CABAC entropy decoding method may update the context model by using the decoded symbol/bin information for the context model of the next symbol/bin after determining the context model.
- Prediction-related information among the information decoded by the entropy decoding unit 310 is provided to the prediction units (the inter prediction unit 332 and the intra prediction unit 331), and the entropy decoding unit 310 performs entropy decoding.
- the dual value that is, the quantized transform coefficients and related parameter information may be input to the residual processing unit 320 .
- the residual processing unit 320 may derive a residual signal (residual block, residual samples, residual sample array). Also, information about filtering among the information decoded by the entropy decoding unit 310 may be provided to the filtering unit 350 .
- a receiving unit (not shown) that receives a signal output from the encoding device may be further configured as an internal/external element of the decoding device 300 , or the receiving unit may be a component of the entropy decoding unit 310 .
- the decoding apparatus may be called a video/image/picture decoding apparatus, and the decoding apparatus is divided into an information decoder (video/image/picture information decoder) and a sample decoder (video/image/picture sample decoder).
- the information decoder may include the entropy decoding unit 310 , and the sample decoder includes the inverse quantization unit 321 , the inverse transform unit 322 , the adder 340 , the filtering unit 350 , and the memory 360 . ), an inter prediction unit 332 , and at least one of an intra prediction unit 331 .
- the inverse quantizer 321 may inverse quantize the quantized transform coefficients to output the transform coefficients.
- the inverse quantizer 321 may rearrange the quantized transform coefficients in a two-dimensional block form. In this case, the rearrangement may be performed based on the coefficient scan order performed by the encoding device.
- the inverse quantization unit 321 may perform inverse quantization on the quantized transform coefficients using a quantization parameter (eg, quantization step size information) and obtain transform coefficients.
- a quantization parameter eg, quantization step size information
- the inverse transform unit 322 inverse transforms 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 predicted block including prediction samples for the current block.
- the prediction unit may determine whether intra prediction or inter prediction is applied to the current block based on the prediction information output from the entropy decoding unit 310, and may determine a specific intra/inter prediction mode.
- the prediction unit 320 may generate a prediction signal based on various prediction methods to be described later.
- the prediction unit may apply intra prediction or inter prediction for prediction of one block, and may simultaneously apply intra prediction and inter prediction. This can be called combined inter and intra prediction (CIIP).
- the prediction unit may be based on an intra block copy (IBC) prediction mode or based on a palette mode for prediction of a block.
- the IBC prediction mode or the palette mode may be used for video/video coding of content such as games, for example, screen content coding (SCC).
- SCC screen content coding
- IBC basically performs prediction within the current picture, but may be performed similarly to inter prediction in that a reference block is derived within the current picture. That is, IBC may use at least one of the inter prediction techniques described in this document.
- the palette mode may be viewed as an example of intra coding or intra prediction. When the palette mode is applied, information about a palette table and a palette index may be included in the video/image information and signaled.
- the intra prediction unit 331 may predict the current block with reference to samples in the current picture.
- the referenced samples may be located in the vicinity of the current block or may be located apart from each other according to the prediction mode.
- prediction modes may include a plurality of non-directional modes and a plurality of directional modes.
- the intra prediction unit 331 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
- the inter prediction unit 332 may derive the predicted block for the current block based on the reference block (reference sample array) specified by the motion vector on the reference picture.
- the motion information may be predicted in units of blocks, subblocks, or samples based on the correlation between motion information between neighboring blocks and the current block.
- the motion information may include a motion vector and a reference picture index.
- the motion information may further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information.
- the neighboring blocks may include spatial neighboring blocks existing in the current picture and temporal neighboring blocks present in the reference picture.
- the inter prediction unit 332 may construct 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 the mode of inter prediction for the current block.
- the adder 340 restores the obtained residual signal by adding it to the prediction signal (predicted block, prediction sample array) output from the prediction unit (including the inter prediction unit 332 and/or the intra prediction unit 331 ).
- a signal (reconstructed picture, reconstructed block, reconstructed sample array) may be generated.
- the predicted block may be used as a reconstructed block.
- the adder 340 may be referred to as a restoration unit or a restoration block generator.
- the generated reconstructed signal may be used for intra prediction of the next processing target block in the current picture, may be output through filtering as described below, or may be used for inter prediction of the next picture.
- LMCS luma mapping with chroma scaling
- the filtering unit 350 may improve subjective/objective image quality by applying filtering to the reconstructed signal.
- the filtering unit 350 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and convert the modified reconstructed picture to the memory 360 , specifically, the DPB of the memory 360 .
- the various filtering methods may include, for example, deblocking filtering, a sample adaptive offset, an adaptive loop filter, a bilateral filter, and the like.
- the (modified) reconstructed picture stored in the DPB of the memory 360 may be used as a reference picture in the inter prediction unit 332 .
- the memory 360 may store motion information of a block in which motion information in the current picture is derived (or decoded) and/or motion information of blocks in an already reconstructed picture.
- the stored motion information may be transmitted to the inter prediction unit 260 to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block.
- the memory 360 may store reconstructed samples of blocks reconstructed in the current picture, and may transmit the reconstructed samples to the intra prediction unit 331 .
- the embodiments described in the filtering unit 260 , the inter prediction unit 221 , and the intra prediction unit 222 of the encoding apparatus 200 are the filtering unit 350 and the inter prediction unit of the decoding apparatus 300 , respectively.
- the same or corresponding application may be applied to the unit 332 and the intra prediction unit 331 .
- the above-described encoded image/video information may be configured based on a media file format to generate a media file.
- the encoded image/video information may form a media file (segment) based on one or more NAL unit/sample entries for the encoded image/video information.
- the media file may include sample entries and tracks.
- a media file (segment) may include various records, and each record may include information related to an image/video or information related to a media file format.
- one or more NAL units may be stored in a configuration record (or decoder configuration record, or VVC decoder configuration record) field of the media file.
- the field may be referred to as a syntax element.
- the media file may include VvcOperatingPointsRecord (operation point information sample group) and/or OperatingPointGroupBox (operation point entity group), which will be described later.
- ISOBMFF ISO Base Media File Format
- ISOBMFF supports many codec encapsulation formats, such as AVC file format, HEVC file format and/or VVC file format, and MPEG-4 file format, 3GPP file format (3GP) and/or DVB file format, etc. It can be used as the basis for many multimedia container formats.
- codec encapsulation formats such as AVC file format, HEVC file format and/or VVC file format, and MPEG-4 file format, 3GPP file format (3GP) and/or DVB file format, etc. It can be used as the basis for many multimedia container formats.
- 3GP 3GPP file format
- DVB file format 3GPP file format
- static media such as an image and metadata may be stored in a file according to ISOBMFF.
- Files structured according to ISOBMFF include segments for local media file playback, progressive downloading of a remote file, Dynamic Adaptive Streaming over HTTP (DASH), It can be used for various purposes, such as containers of content to be streamed, packetization instructions, and recording of received real-time media streams.
- DASH Dynamic Adaptive Streaming over HTTP
- a 'box' which will be described later, may be an elementary syntax element of ISOBMFF.
- An ISOBMFF file may consist of a sequence of boxes, which may contain other boxes.
- a movie box (a box with a grouping type of 'moov') may contain metadata for continuous media streams in a media file, each stream being a track in the file. can be displayed.
- Metadata about a track may be included in a track box (a box having a grouping type of 'trak'), and media content of the track may be included in a media data box (a grouping type of 'mdat'). in-box) or directly in a separate file.
- the media content of a track may consist of a sequence of samples, such as audio or video access units.
- ISOBMFF includes a media track including an elementary media stream, a hint track including media transmission instructions or indicating a received packet stream, a time You can specify types of tracks such as a timed metadata track containing timesynchronized metadata.
- ISOBMFF is also designed for storage, but is also very useful, for example, for progressive download or streaming like DASH.
- movie fragments defined in ISOBMFF may be used.
- a fragmented ISOBMFF file may be represented by, for example, two tracks related to video and audio. For example, if random access is included after receiving the 'moov' box, all movie fragments 'moof' together with related media data may be decoded.
- each track may include a list of sample description entries that provide the coding or encapsulation format used for the track and initialization data necessary to process the format. there is. Also, each sample may be associated with one of the sample description entries of the track.
- ISOBMFF allows a variety of mechanisms to specify sample-specific metadata.
- Specific boxes in the sample table box (box with grouping type 'stbl') can be standardized to correspond to general requirements.
- a Sync sample box (a box with a grouping type of 'stss') may be used to list random access samples of a track.
- Several grouping types may be specified in ISOBMFF.
- a 'sample' to be described later may be all data related to one single time or a single element among three sample arrays (Y, Cb, Cr) representing a picture.
- the term 'sample' when used in the context of a track (in a media file format), it may mean all data related to a single time of the corresponding track.
- the time may be a decoding time or a composition time.
- the term 'sample' is used in the context of a picture, that is, when used with the phrase "luma sample", a three sample array representing a picture It can represent a single element in one of them.
- all parameter sets may be stored in a sample entry or sample entries.
- - a video and parameter set elementary stream which may contain a parameter set and has a sample entry or sample entries in which the parameter sets are stored.
- VVC non-VCL track does not include a parameter set in sample entries.
- the operating point information (operating points information) of the ISO based media file format (ISOBMF) for VVC is a group box or grouping type in which the grouping type is 'vopi' It may be signaled as a sample in an entity group that is 'opeg'.
- the operating point may be a temporal subset of the OLS identified by the highest value of the OLS (Output Layer Set, OLS) index and TemporalId.
- OLS Output Layer Set, OLS index and TemporalId.
- Each actuation point may be associated with a profile, tier and level (ie, a PTL) that defines the conformance point of the actuation point.
- the actuation point information may be needed to identify a sample and a sample entry for each actuation point.
- actuation point information sample group ('vopi').
- Each actuation point is associated with OLS, maximum TemporalId value, profile, level and tier signaling. All of the above information can be captured by the 'vopi' sample group. Apart from the above information, the sample group may also provide dependency information between layers.
- a temporally collocated sample of another track may be defined as a sample having the same decoding time as the specific sample.
- the sample SN may be associated with the same 'vopi' sample group entity as the sample Sk.
- the sample SN may be associated with the same vopi' sample group entity as the last sample of the track Tk preceding the sample SN in decoding time.
- VPSs When several VPSs are referenced in the VVC bitstream, it may be necessary to include several entities in a sample group description box with grouping_type 'vopi'. In the more general case with a single VPS, use the default sample group mechanism defined in ISO/IEC 14496-12 and not include it in each track fragment, but instead put the operating point information in the sample table box. It may be recommended to include (operating points information sample group).
- grouping_type_parameter may not be defined for SampleToGroupBox whose grouping type is 'vopi'.
- the syntax of the 'vopi' sample group including the above-described operating point information may be as shown in the table below.
- semantics of the syntax of the operation point information sample group may be as shown in the following table.
- a value obtained by adding 1 to the syntax element num_profile_tier_level_minus1 may indicate the number of fields related to profiles, tiers, and level combinations.
- the syntax element ptl_max_temporal_id[i] represents the maximum TemporalID of NAL units of the bitstream for the specified i-th profile, tier, and level (profiles, tier, level structure, PTL) structure.
- the syntax element ptl_max_temporal_id[i] may indicate the maximum value of the temporal ID (TemporalID) of the NAL unit of the bitstream for the i-th PTL structure.
- ptl_max_temporal_id[i] and max_temporal_id of the actuation point may transmit the same value, but semantics of the syntax elements are different.
- the syntax element ptl[i] may indicate an i-th PTL structure.
- the syntax elements all_independent_layers_flag, each_layer_is_an_ols_flag, ols_mode_idc, and max_tid_il_ref_pics_plus1 may be as defined in ISO/IEC 23090-3.
- ISO/IEC 23090-3 refers to a versatile video coding (VVC) standard.
- the syntax element all_independent_layers_flag may indicate whether all layers of the bitstream for the operating point information sample group are independently coded without using interlayer prediction. For example, all_independent_layers_flag equal to 1 may indicate that all layers are independently coded without using inter-layer prediction. Also, for example, all_independent_layers_flag equal to 0 may indicate that at least one or more layers may use interlayer prediction. When the all_independent_layers_flag does not exist, the all_independent_layers_flag may be considered equal to 1 (inferred).
- each_layer_is_an_ols_flag indicates that each Output Layer Set (OLS) (of the bitstream) for a group of operating point information samples contains only one layer, and the one layer containing each layer is the only output layer. It can indicate whether it is OLS or not.
- each_layer_is_an_ols_flag 1 may indicate that each output layer set (OLS) includes only one layer and that one layer including each layer is an OLS that is the only output layer.
- each_layer_is_an_ols_flag equal to 0 may indicate that at least one OLS includes two or more layers.
- the syntax element vps_ols_mode_idc may indicate the mode of OLS.
- vps_ols_mode_idc 0 means that the total number of OLSs is equal to vps_max_layers_minus1 + 1, the i-th OLS includes layers with layer indices from 0 to i, and only the highest layer of each OLS is an output layer.
- vps_ols_mode_idc 1 may indicate that the total number of OLSs is equal to vps_max_layers_minus1 + 1, the i-th OLS includes layers with layer indices from 0 to i, and all layers of each OLS are output layers. there is. Also, for example, in vps_ols_mode_idc equal to 2, the total number of OLSs is explicitly signaled, an output layer of each OLS is explicitly signaled, and layers other than the output layer are direct of the output layer of the corresponding OLS. Alternatively, it may indicate that the layer is an indirect reference layer.
- the syntax element max_tid_il_ref_pics_plus1 may indicate a maximum temporal sub-layer required for inter-layer prediction in a layer. That is, for example, the syntax element max_tid_il_ref_pics_plus1 may indicate the maximum number of temporal sub-layers required for inter-layer prediction in a layer. For example, a value obtained by subtracting 1 from the syntax element max_tid_il_ref_pics_plus1 may indicate the maximum number of temporal sub-layers required for inter-layer prediction in a layer.
- max_tid_il_ref_pics_plus1 is not an Intra Random Access Point (IRAP) picture and a Gradual Decoding Refresh (GDR) picture with ph_recovery_poc_cnt equal to 0. It may indicate that it is not used as an inter-layer reference picture (ILRP) for decoding a picture of a layer.
- ILRP may indicate a reference picture used for inter-layer prediction.
- max_tid_il_ref_pics_plus1 greater than 0 is not used as an ILRP, and a picture of a layer with a TemporalId greater than max_tid_il_ref_pics_plus1 - 1 (that is, max_tid_il_ref_pics_plus1 minus 1) is not used for decoding pictures in other layers of the OLS.
- An APS having nuh_layer_id equal to layer_id and TemporalId greater than max_tid_il_ref_pics_plus1 - 1 (ie, max_tid_il_ref_pics_plus1 minus 1) may indicate that it is not referenced. Meanwhile, when the max_tid_il_ref_pics_plus1 does not exist, the value of max_tid_il_ref_pics_plus1 may be considered to be the same as max_temporal_id.
- the syntax element num_operating_points may indicate the number of operating points for information to be described later.
- the syntax element output_layer_set_idx may be an index of an OLS defining an operation point. That is, for example, output_layer_set_idx may indicate OLS.
- the mapping between the output_layer_set_idx and the layer_id value may be the same as that specified by the VPS with respect to the OLS having the index output_layer_set_idx (ie, the OLS indicated by output_layer_set_idx).
- the syntax element ptl_idx may signal an index starting from 0 in the PTL structure listed for the OLS that is the index output_layer_set_idx. That is, for example, ptl_idx may indicate a PTL structure for OLS whose index is output_layer_set_idx.
- the syntax element max_temporal_id may indicate the maximum TemporalId of the NAL unit of the operation point.
- the maximum TemporalId value indicated in the layer information sample group may have the same value as the TemporalId indicated by max_temporal_id, but semantics of the syntax elements are different.
- the syntax element layer_count may indicate the number of layers required for an operation point as defined in ISO/IEC 23090-3.
- the syntax element layer_id may indicate a nuh_layer_id value for the layer of the operation point. That is, for example, the syntax element layer_id may indicate a layer ID value for the layer of the operation point.
- the syntax element is_outputlayer may indicate whether a layer is an output layer.
- is_outputlayer equal to 1 may indicate that the layer is an output layer.
- frame_rate_info_flag may indicate whether frame rate information for an operation point exists. For example, frame_rate_info_flag equal to 0 may indicate that frame rate information for the operating point does not exist. Also, for example, frame_rate_info_flag equal to 1 may indicate that frame rate information for an operating point exists.
- bit_rate_info_flag may indicate whether bitrate information for an operation point exists. For example, bit_rate_info_flag equal to 0 may indicate that bitrate information for the operating point does not exist. Also, for example, bit_rate_info_flag equal to 1 may indicate that bitrate information for an operating point exists.
- the syntax element avgFrameRate may provide the average frame rate for the operation point in units of frames/(256 seconds).
- a value of 0 may represent an unspecified average frame rate.
- constantFrameRate may indicate a constant frame rate for a stream of an operation point.
- constantFrameRate equal to 1 may indicate that the stream of the actuation point is a constant frame rate.
- constantFrameRate equal to the value 2 may indicate that the representation of each temporal layer in the stream of the actuation point is a constant frame rate.
- constantFrameRate equal to the value 0 may indicate that the stream of the actuation point may or may not be a constant frame rate.
- the syntax element maxBitRate may provide the maximum bit rate of the stream of the operation point in all windows of 1 second in bits/second unit.
- the syntax element max_layer_count may indicate the number of all unique layers of all operation points related to an associated base track.
- the syntax element layerID may indicate nuh_layer_id of a layer in which all direct reference layers are provided in a following loop of direct_ref_layerID.
- the syntax element num_direct_ref_layers may indicate the number of direct reference layers for a layer having the same nuh_layer_id as layerID.
- the syntax element direct_ref_layerID may indicate the nuh_layer_id of the direct reference layer.
- an actuation point entity group may be defined to provide a mapping of tracks to actuation points and profile level information of actuation points.
- the implicit reconstruction process When aggregating samples of tracks mapped to actuation points described in the actuation point entity group, the implicit reconstruction process generates more NAL units to obtain a conforming VVC bitstream. no need to remove A track belonging to the actuation point entity group must have a track reference of type 'oref' for the group_id indicated in the actuation point entity group.
- the OperatingPointGroupBox is included in the Movie-level MetaBox's GroupsListBox and not the file-level or track-level MetaBox.
- OperatingPointGroupBox may indicate the operating point entity group.
- semantics of the syntax of the operation point entity group may be as shown in the following table.
- the media file may include decoder configuration information for image/video content. That is, the media file may include a VVC decoder configuration record including decoder configuration information.
- the VVC decoder configuration record When the VVC decoder configuration record is stored in a sample entry, the VVC decoder configuration record includes a length field used for each sample to indicate not only a parameter set but also a length of a NAL unit included in the VVC decoder configuration record. field) size.
- the VVC decoder configuration record may be externally framed (the size of the VVC decoder configuration record is provided in a structure including the VVC decoder configuration record).
- the VVC decoder configuration record may include a version field (versio field).
- the version in this document may define version 1 of the VVC decoder configuration record.
- Incompatible changes to the VVC decoder configuration record may be marked as version number changes. If the version number is not recognized, readers should not decode the VVC decoder configuration record or the stream to which the record applies.
- VVC decoder configuration record may not change the configuration version code.
- the reader must be prepared to ignore unrecognized data that goes beyond the definition of data that the reader understands.
- VvcPtlRecord must be present in the decoder configuration record. Also, if ptl_present_flag in the decoder configuration record of a track is 0, the track must have an 'oref' track reference.
- values of syntax elements of VvcPTRecord, chroma_format_idc, and bit_depth_minus8 may be valid for all activated parameter sets.
- the following restrictions may apply:
- general_profile_idc indicates the profile to which the stream associated with this configuration record conforms.
- a tier indication general_tier_flag may indicate a tier greater than or equal to the highest tier indicated in all parameter sets.
- Each bit of general_constraint_info can be set only when all parameter sets set the corresponding bit.
- the level indication general_level_idc may indicate a level of capability equal to or greater than the highest level indicated for the highest tier in the parameter sets.
- chroma_format_idc shall be equal to sps_chroma_format_idc.
- chroma_format_idc shall be equal to vps_ols_dpb_chroma_format[output_layer_set_idx] defined in ISO/IEC 23090-3.
- chroma_format_idc does not exist.
- An explicit indication of a chroma format and bit depth as well as other important format information used in the VVC video elementary stream may be provided in the VVC decoder configuration record. If color space indications are different in the VUI information of the two sequences, two different VVC sample entries may be required.
- NAL unit types may be limited to indicate only DCI, VPS, SPS, PPS, prefix APS and prefix SEI NAL units.
- the reserved NAL unit type may be defined in the future, and the reader may have to ignore the reserved or disallowed values of the NAL unit type array.
- the arrays may be in the order of DCI, VPS, SPS, PPS, prefix APS, and prefix SEI.
- VVC decoder configuration record may be as shown in the table below.
- semantics of the syntax of the VVC decoder configuration record may be as shown in the following table.
- Fields for the applied stream may include matching values of general_profile_idc, general_tier_flag, general_sub_profile_idc, bits of general_constraint_info(), general_level_idc, ptl_multilayer_enabled_flag, ptl_frame_only_constraint_flag, sublayer_level_present, and sublayer_level_idc[i].
- avgFrameRate may provide the average frame rate of the stream to which the VVC decoder configuration record is applied in units of frames/(256 seconds). A value of 0 may represent an un
- constantFrameRate may indicate a constant frame rate for the VVC decoder configuration record.
- constantFrameRate equal to 1 may indicate that a stream to which the VVC decoder configuration record is applied is a constant frame rate.
- constantFrameRate equal to the value 2 may indicate that the representation of each temporal layer of the stream is a constant frame rate.
- constantFrameRate equal to the value 0 may indicate that the stream may or may not be at a constant frame rate.
- the syntax element numTemporalLayers may indicate the number of temporal layers included in a track to which the VVC decoder configuration record is applied. For example, if numTemporalLayers is greater than 1, the track to which the VVC decoder configuration record is applied is temporally scalable, and a temporal layer included in the track (a temporal sublayer or sublayer in ISO/IEC 23090-3) ) may indicate that the number of numTemporalLayers is the same as numTemporalLayers. numTemporalLayers equal to the value 1 may indicate that the track to which the VVC decoder configuration record is applied is not temporally scalable. numTemporalLayers equal to the value 0 may indicate that it is not known whether the track to which the VVC decoder configuration record is applied is temporally expandable.
- the syntax element lengthSizeMinusOne plus 1 may indicate the length in bytes of the NALUnitLength field in the VVC video stream sample of the stream to which this configuration record is applied.
- the size of 1 byte may be represented by the value 0.
- the value of lengthSizeMinusOne may be one of 0, 1, or 3, which corresponds to an encoded length of 1, 2, or 4 bytes, respectively.
- the syntax element ptl_present_flag may indicate that the track includes a VVC bitstream corresponding to a specific output layer set, and thus may indicate whether PTL information is included.
- ptl_present_flag 1 may indicate that the track contains a VVC bitstream corresponding to a specific output layer set (specific OLS).
- ptl_present_flag 0 means that the track may not contain the VVC bitstream corresponding to a particular OLS, but rather one or more individual layers that do not form an OLS or individual sublayers except for those with TemporalId equal to 0. may indicate that it may include
- syntax element num_sub_profiles may define the number of sub-profiles indicated in the VVC decoder configuration record.
- the syntax element track_ptl may indicate a profile, a tier, and a level of an OLS indicated by a VVC bitstream included in a track.
- the syntax element output_layer_set_idx may indicate an output layer set index of an output layer set indicated by a VVC bitstream included in a track.
- the value of output_layer_set_idx may be used as the value of the TargetOlsIdx variable provided by an external means to the VVC decoder, as specified in ISO/IEC 23090-3, in order to decode the bitstream included in the track.
- chroma_format_present_flag may indicate whether chroma_format_idc exists. For example, chroma_format_present_flag equal to 0 may indicate that chroma_format_idc does not exist. chroma_format_present_flag equal to 1 may indicate that chroma_format_idc exists.
- the syntax element chroma_format_idc may indicate a chroma format applied to the track.
- the following constraint may be applied to chroma_format_idc.
- chroma_format_idc shall be equal to sps_chroma_format_idc.
- chroma_format_idc shall be equal to vps_ols_dpb_chroma_format[output_layer_set_idx] defined in ISO/IEC 23090-3.
- chroma_format_idc does not exist.
- bit_depth_present_flag may indicate whether bit_depth_minus8 exists. For example, bit_depth_present_flag equal to 0 may indicate that bit_depth_minus8 does not exist. bit_depth_present_flag equal to 1 may indicate that bit_depth_minus8 exists.
- bit_depth_minus8 may indicate a bit depth applied to the track.
- bit_depth_minus8 may indicate a bit depth applied to the track.
- the following constraint may be applied to bit_depth_minus8.
- bit_depth_minus8 shall be equal to sps_bitdepth_minus8.
- bit_depth_minus8 shall be equal to vps_ols_dpb_bitdepth_minus8[output_layer_set_idx] defined in ISO/IEC 23090-3.
- bit_depth_minus8 does not exist.
- syntax element numArrays may indicate the number of NAL unit arrays of the indicated type(s).
- the syntax element array_completeness may indicate whether an additional NAL unit may be in the stream. For example, when array_completeness is equal to 1, it may indicate that all NAL units of a given type are in the next array and not in the stream. Also, for example, when array_completeness is equal to 0, it may indicate that an additional NAL unit of the indicated type may be present in the stream. Default and allowed values may be limited to a sample entry name.
- NAL_unit_type may indicate the type of the NAL unit in the following array (must be all types).
- NAL_unit_type may have a value defined in ISO/IEC 23090-2.
- NAL_unit_type may be limited to have one of a value indicating a DCI, VPS, SPS, PPS, APS, prefix SEI or suffix SEI NAL unit.
- the syntax element numNalus may indicate the number of NAL units of the indicated type included in the VVC decoder configuration record for a stream to which the VVC decoder configuration record is applied.
- the SEI array may include only 'declarative' SEI messages, that is, messages that provide information about the entire stream.
- An example of such an SEI may be user-data SEI (user-data SEI).
- the syntax element nalUnitLength may indicate the byte length of the NAL unit.
- nalUnit may include DCI, VPS, SPS, PPS, APS or declarative SEI NAL units specified in ISO/IEC 23090-3.
- an operating point may be determined first to reconstruct an access unit from samples of multiple tracks carrying a multi-layer VVC bitstream. For example, when a VVC bitstream is represented by a plurality of VVC tracks, a file parser may identify tracks necessary for the selected operating point as follows.
- the file parser can find all tracks with VVC sample entries. If the tracks include an 'oref' track reference for the same ID, the ID can be identified as a VVC track or an 'opeg' entity group.
- the operating point can be selected from either the 'opeg' entity group or the 'vopi' sample group suitable for decoding capacity and application purposes.
- the 'opeg' entity group may represent a set of tracks that accurately represent the selected operating point.
- the VVC bitstream can be recovered from the set of tracks and can be decoded.
- the set of tracks needed to decode the selected operating point is retrieved from the 'vopi' and 'linf' sample groups.
- the alignment of each sample in the tracks may be performed based on sample decoding times. That is, it is possible to use a time-to-sample table without considering edit lists.
- a VVC bitstream is represented by a plurality of VVC tracks
- the decoding times of the samples are adjusted so that the access unit order is correct as specified in ISO/IEC 23090-3. may have to Meanwhile, a sequence of access units may be reconstructed from each sample of necessary tracks according to an implicit reconstructing process described below.
- the implicit restoration process of the VVC bitstream may be as follows.
- the required track may be selected based on the conveying layer and the reference layer as indicated in the Operating Points Information and Layer Information sample group.
- a necessary track may be selected based on information of the OperatingPointGroupBox.
- a VCL NAL unit reconstructs a bitstream including a sublayer having a TemporalId greater than 0, all lower sublayers in the same layer (that is, a sublayer having a smaller TemporalId in the VCL NAL unit) ) are also included in the resulting bitstream and the required track can be selected accordingly.
- picture units (as defined in ISO/IEC 23090-3) from samples having the same decoding time may be placed in the access unit in an ascending order of the nuh_layer_id value.
- max_tid_il_ref_pics_plus1 - 1 (indicated in the operation point information sample group) in the same layer VCL NAL with TemporalId less than or equal to Sublayers of layers for a unit are also included in the resulting bitstream and the required track can be selected accordingly.
- each picture unit is specified in clause 11.7.3 of ISO/IEC 23090-3 with additional restrictions for EOS and EOB NAL units specified below can be restored as The process of clause 11.7.3 of ISO/IEC 23090-3 may be repeated for each layer of the target operating point in increasing order of nuh_layer_id. Otherwise, each picture unit may be reconstructed as follows.
- the restored access units may be placed in the VVC bitstream in increasing order of decoding time, and, as further described below, duplicates of end of bitstream (EOB) and end of sequence (EOS) NAL units may be removed from the VVC bitstream.
- EOB end of bitstream
- EOS end of sequence
- one or more containing an EOS NAL unit with a specific nuh_layer_id value in each sample there may be tracks.
- only one of the EOS NAL units may be maintained in the last access unit (the unit with the largest decoding time) among the access units in the last reconstructed bitstream, and the EOB NAL of the last access unit among the access units It may be placed after all NAL units except for units (if present), and other EOS NAL units may be deleted.
- a particular layer or sub-layer may be represented by more than one track
- when figuring out the required track for an actuation point one has to choose from among a set of tracks carrying both said particular layer or sub-layer.
- the final required track still collectively selects some layers or sublayers that do not belong to the target operation point. can transmit The reconstructed bitstream for the target operating point is delivered in the final required track, but layers or sub-layers that do not belong to the target operating point may not be included.
- the design of the signaling for the above-described operating point may have the following problems.
- OLS output layer set
- information on layer dependency may be included in the OLS.
- the information on the layer dependency may help a parser to understand the layer included in each OLS, but the information on each operation point already includes the OLS index and information on the layer list included in the OLS. Since it is included, it may no longer be necessary to signal information about the layer dependency.
- the OperatingPointGroupBox syntax structure may include signaling for the maximum number of temporal sublayers (ie, max_tid_il_ref_pics_plus1) for each layer in addition to signaling for layer dependencies.
- max_tid_il_ref_pics_plus1 since the value of max_tid_il_ref_pics_plus1 for the layer may be different depending on the OLS to which the layer belongs, it may be necessary to organize the signaling of the information.
- the layer list included in the OLS and the OLS for the output layer set for the operation point (ie, the OLS designated by the OLS index for the operation point)
- signaling information indicating whether an included layer is an output layer only a list of layers that are output layers may be signaled. That is, for example, with respect to the OLS for the operating point, an output layer included in the OLS instead of a method of signaling the layer list included in the existing OLS and information indicating whether a layer included in the OLS is an output layer
- a method of signaling the in-layer list may be proposed.
- a complete list of layers required for the OLS may be derived based on a list of layers that are output layers and layer dependency information. Through the method of this embodiment, it is possible to reduce the amount of bits compared to the conventional signaling for OLS and to improve coding efficiency.
- the derivation of the entire list may be the same as the derivation process specified in the VVC specification.
- signaling of all_independent_layers_flag, each_layer_is_an_ols_flag, and ols_mode_idc may be deleted. That is, for example, a method of not signaling all_independent_layers_flag, each_layer_is_an_ols_flag, and ols_mode_idc in VvcOperatingPointsRecord may be proposed.
- the signaling of the layer dependency information may be moved to a position before the signaling of the operation point list. That is, for example, a method of signaling information on the layer dependency before information on the operation point list may be proposed.
- a method of signaling the entire list of layers included in the OLS may be proposed. It may not be necessary to signal information on layer dependency through the method of this embodiment.
- a flag indicating whether information on a maximum temporal sublayer required for inter-layer prediction for each layer of the OLS exists may be signaled. That is, for example, a method of signaling a flag indicating whether information on the maximum temporal sub-layer required for inter-layer prediction for each layer of the OLS exists may be proposed.
- the flag proposed in this embodiment may be called max_tid_il_present_flag.
- max_tid_il_present_flag 1
- max_tid_il_ref_pics_plus1 information on the maximum temporal sub-layer required for inter-layer prediction. That is, when the max_tid_il_present_flag is 1, information (ie, max_tid_il_ref_pics_plus1) on the maximum temporal sub-layer for a layer other than the output layer in the OLS may be signaled.
- the signaling proposed in the above-described embodiment(s) may be applied to both signaling of information on operating points in VvcOperatingPointsRecord and OperatingPointGroupBox. That is, for example, a method of applying the signaling of information proposed in the above-described embodiment(s) to both information on operating points in VvcOperatingPointsRecord and OperatingPointGroupBox may be proposed.
- VvcOperatingPointsRecord configured as shown in the following table, that is, an operation point information sample group may be proposed.
- all_independent_layers_flag, each_layer_is_an_ols_flag, and ols_mode_idc may not be signaled in the operation point information sample group. That is, the operating point information sample group may not include all_independent_layers_flag, each_layer_is_an_ols_flag, and ols_mode_idc.
- the signaling of the layer dependency information may be moved to a position before the signaling of the operation point list. That is, for example, information on the layer dependency in the operation point information sample group may be signaled before information on the operation point list.
- syntax elements max_layer_count, layerID, num_direct_ref_layers, direct_ref_layerID and/or max_tid_il_ref_pics_plus1 in the operating point information sample group may be signaled/parsed prior to syntax elements num_operating_points, output_layer_set_idx, ptl_idx and/or max_temporal.
- the layer that is the output layer in the OLS for the operation point Only lists can be signaled.
- the existing syntax element layer_count may not be signaled/parsed
- the syntax element output_layer_count may be signaled/parsed
- the syntax element is_outputlayer may not be signaled/parsed.
- the syntax element output_layer_count may indicate the number of output layers of the OLS having the same Id as output_layer_set_idx of the operation point.
- Semantics of the syntax elements output_layer_count and layer_id of the operating point information sample group proposed in this embodiment may be as shown in the following table.
- the syntax element output_layer_count may indicate the number of output layers of the OLS having the same Id as output_layer_set_idx of the operation point as defined in ISO/IEC 23090-3.
- the syntax element layer_id may provide a nuh_layer_id value for the output layer of the OLS having the same Id related to the operation point as output_layer_set_idx.
- VvcOperatingPointsRecord configured as shown in the following table, that is, an operation point information sample group may be proposed.
- the operation point information sample group may include max_tid_il_present_flag. That is, for example, max_tid_il_present_flag may be signaled/parsed in the operation point information sample group.
- max_tid_il_present_flag may be a flag indicating whether information on a maximum temporal sub-layer required for inter-layer prediction for each layer of the OLS exists as described above. That is, for example, max_tid_il_present_flag may indicate whether max_tid_il_ref_pics_plus1 for a corresponding layer exists.
- max_tid_il_ref_pics_plus1 may be signaled/parsed.
- max_tid_il_ref_pics_plus1 may indicate the maximum number of temporal sub-layers that can be used for inter-layer prediction for decoding a picture of another layer in the target layer as described above.
- a value obtained by subtracting 1 from max_tid_il_ref_pics_plus1 may indicate the maximum number of temporal sublayers that can be used for interlayer prediction in a target layer.
- Semantics of the syntax elements max_tid_il_present_flag and max_tid_il_ref_pics_plus1 of the operation point information sample group proposed in this embodiment may be as shown in the following table.
- the syntax element max_tid_il_present_flag may indicate whether the syntax element max_tid_il_ref_pics_plus1 exists. For example, max_tid_il_present_flag equal to 1 may indicate that the syntax element max_tid_il_ref_pics_plus1 may be present. Also, for example, max_tid_il_present_flag equal to 0 may indicate that the syntax element max_tid_il_ref_pics_plus1 does not exist.
- the syntax element max_tid_il_ref_pics_plus1 may indicate the maximum number of temporal sub-layers that can be used for inter-layer prediction of pictures of other layers in the target layer.
- max_tid_il_ref_pics_plus1 equal to 0 is not an IRAP picture, nor is a GDR picture having ph_recovery_poc_cnt equal to 0.
- a picture of a layer having the same layer Id as layer_id is an interlayer reference picture for decoding a picture of another layer in OLS (Interlayer reference picture) It may indicate that it is not used as a Layer Reference Picture (ILRP).
- ILRP Layer Reference Picture
- max_tid_il_ref_pics_plus1 greater than 0 is not used as an ILRP for a picture of a layer with a TemporalId greater than max_tid_il_ref_pics_plus1 - 1 (that is, max_tid_il_ref_pics_plus1 minus 1) in order to decode a picture in another layer of the OLS.
- An APS having nuh_layer_id equal to layer_id and TemporalId greater than max_tid_il_ref_pics_plus1 - 1 (ie, max_tid_il_ref_pics_plus1 minus 1) may indicate that it is not referenced.
- the value of max_tid_il_ref_pics_plus1 may be considered to be the same as max_temporal_id.
- a first device may configure VvcOperatingPointsRecord (operation point information sample group) and/or OperatingPointGroupBox (operation point entity group) ( S400 ).
- the first device may represent a transmission end, an encoding end, or a media file generating end.
- the first device may acquire encoded image/video information through a network or a (digital) storage medium.
- the network may include a broadcasting network and/or a communication network
- the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
- the first device may include an encoder and derive the encoded image/video information.
- the first device may configure VvcOperatingPointsRecord (operation point information sample group) and/or OperatingPointGroupBox (operation point entity group). For example, the first device may configure VvcOperatingPointsRecord and/or OperatingPointGroupBox for the encoded image/video information according to the above-described embodiment.
- the first device may generate a media file based on the VvcOperatingPointsRecord and/or OperatingPointGroupBox ( S410 ).
- 5 exemplarily shows a method of decoding a media file generated by applying the embodiment proposed in this document.
- the second device may obtain/receive a media file including VvcOperatingPointsRecord and/or OperatingPointGroupBox ( S500 ).
- the second device may represent a reception end, a decoding end, or a rendering end.
- the media file may include the information described in Table 1, Table 3, Table 7, and/or Table 9.
- the VvcOperatingPointsRecord and/or OperatingPointGroupBox may include information/fields of the embodiment(s) proposed in this document.
- the second device may parse/obtain the VvcOperatingPointsRecord and/or OperatingPointGroupBox ( S510 ).
- the second device may parse/obtain the VvcOperatingPointsRecord and/or OperatingPointGroupBox included in the media file.
- the VvcOperatingPointsRecord and/or OperatingPointGroupBox may include information related to an operating point (or information related to OLS), and the second device derives an operating point (or OLS) based on the VvcOperatingPointsRecord and/or OperatingPointGroupBox can do. Based on the derived operating point (or OLS), image/video decoding and/or (decoded) picture output may be performed.
- FIG. 6 schematically illustrates a method of generating a media file by a media file generating apparatus according to the present document.
- the method disclosed in FIG. 6 may be performed by the apparatus for generating a media file disclosed in FIG. 7 .
- the media file generating device may represent the above-described first device. Specifically, for example, steps S600 to S620 of FIG. 6 may be performed by the image processing unit of the media file generating apparatus, and S630 may be performed by the media file generating unit of the media file generating apparatus. Also, although not shown, the process of encoding the bitstream including image information may be performed by the encoder of the media file generating apparatus.
- the media file generating apparatus configures first flag information for a target layer in an output layer set (OLS) ( S600 ).
- the first flag information may indicate whether information on the maximum number of temporal sub-layers for inter-layer prediction exists.
- the apparatus for generating a media file may derive encoded image information, configure an operation point information sample group for a bitstream including the encoded image information, and include the operation point information sample group media files can be created.
- the apparatus for generating a media file may derive encoded image information, and based on the encoded image information, whether information on the maximum number of temporal sub-layers for inter-layer prediction exists in relation to the target layer It may be determined whether or not there is, and the first flag information for the target layer may be configured based on a result of the determination.
- the apparatus for generating a media file may determine whether a temporal sub-layer that can be used for inter-layer prediction of a picture of another layer exists in the target layer, and based on the result of the determination, The first flag information indicating whether the information on the maximum number of the temporal sub-layers for layer prediction exists may be configured.
- the apparatus for generating a media file may acquire the encoded image information through a network or a (digital) storage medium.
- the network may include a broadcasting network and/or a communication network
- the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
- the apparatus for generating a media file may include an encoder, and may derive the encoded image information.
- the syntax element of the first flag information may be the above-described max_tid_il_present_flag.
- the first flag information equal to 1 may indicate that the information about the maximum number of the temporal sub-layers may exist.
- the first flag information equal to 0 may indicate that the information about the maximum number of the temporal sub-layers does not exist.
- the media file generating apparatus configures second flag information on whether the target layer is an output layer (S610).
- the apparatus for generating a media file may derive encoded image information, determine whether the target layer is an output layer based on the encoded image information, and may determine whether the target layer is an output layer based on a result of the determination
- the second flag information regarding whether the layer is an output layer may be configured.
- the syntax element of the second flag information may be the is_outputlayer described above.
- the second flag information equal to 1 may indicate that the target layer is the output layer.
- the second flag information equal to 0 may indicate that the target layer is not the output layer.
- the media file generating apparatus configures the information on the maximum number of the temporal sub-layers based on the first flag information and the second flag information (S620).
- the apparatus for generating a media file may configure the information on the maximum number of the temporal sub-layers based on the first flag information and the second flag information.
- a media file The generating device may configure the information on the maximum number of the temporal sub-layers in the operation point information sample group, wherein the first flag information does not include the information on the maximum number of the temporal sub-layers or when the second flag information indicates that the target layer is the output layer, the media file generating device may not configure the information about the maximum number of the temporal sub-layers in the operation point information sample group.
- the media file generating apparatus when the value of the first flag information is 1 and the value of the second flag information is 0, the media file generating apparatus includes the maximum number of the temporal sub-layers in the operation point information sample group. may configure the information for, and when the value of the first flag information is 0 or the value of the second flag information is 1, the media file generating apparatus stores the temporal sub-layer in the operation point information sample group.
- the above information for the maximum number may not be configured.
- the information about the maximum number of the temporal sub-layers may be configured in the operation point information sample group based on the first flag information equal to 1 and the second flag information equal to 0. That is, for example, when the value of the first flag information is 1 and the value of the second flag information is 0, the information about the maximum number of the temporal sub-layers is configured in the operation point information sample group can be Also, for example, the information about the maximum number of temporal sub-layers is not configured in the operation point information sample group based on the first flag information equal to 0 and/or the second flag information equal to 1 may not be That is, for example, when the value of the first flag information is 0 or the value of the second flag information is 1, the information about the maximum number of the temporal sub-layers is configured in the operation point information sample group it may not be
- the syntax element of the information for the maximum number of the temporal sub-layers may be the above-described max_tid_il_ref_pics_plus1.
- a value obtained by subtracting 1 from the value of the information on the maximum number of temporal sub-layers may be derived as the maximum number of temporal sub-layers.
- the information on the maximum number of temporal sub-layers may indicate the maximum number of temporal sub-layers required for inter-layer prediction of pictures of other layers in a target layer.
- a value obtained by subtracting 1 from the value of the information on the maximum number of temporal sublayers may indicate the maximum number of temporal sublayers required for interlayer prediction in a target layer.
- the information about the maximum number of the temporal sub-layers equal to 0 is not an Intra Random Access Point (IRAP) picture and a Gradual Decoding Refresh (GDR) picture with ph_recovery_poc_cnt equal to 0.
- IRAP Intra Random Access Point
- GDR Gradual Decoding Refresh
- ILRP Inter Layer Reference Picture
- the picture is not used as an Inter Layer Reference Picture (ILRP) for decoding a picture of another layer in the OLS.
- ILRP may indicate a reference picture used for inter-layer prediction.
- the information about the maximum number of temporal sub-layers greater than 0 is 1 in the value of the information about the maximum number of temporal sub-layers to decode a picture in another layer of OLS.
- a picture of the target layer with TemporalId greater than the subtracted value is not used as ILRP
- nuh_layer_id is the same as layer_id
- TemporalId is greater than the value of information about the maximum number of temporal sublayers minus 1 may indicate that it is not.
- the value of the information on the maximum number of temporal sub-layers may be regarded as equal to max_temporal_id.
- the media file generating apparatus generates a media file including the operation point information sample group (S630).
- the media file generating apparatus may generate a media file including the operation point information sample group.
- the operation point information sample group may be called VvcOperatingPointsRecord.
- the operation point information sample group may include the first flag information and the second flag information.
- the information about the maximum number of the temporal sub-layers may be configured in the operation point information sample group based on the first flag information equal to 1 and the second flag information equal to 0. . That is, for example, when the value of the first flag information is 1 and the value of the second flag information is 0, the information about the maximum number of the temporal sub-layers is configured in the operation point information sample group can be
- the operation point information sample group may include information on layer dependency and information on a list of operation points.
- the information on the layer dependency in the operation point information sample group may be signaled before the information on the list of operation points. That is, for example, the information on the layer dependency and the information on the list of the operation points may be configured in the operation point information sample group, and the layer dependency in the operation point information sample group may be configured.
- the information on can be constructed prior to the information about the list of actuation points.
- the information on the layer dependency includes information indicating the number of all (unique) layers of all operation points, layer ID information, information on the number of direct reference layers, and/or direct reference layer ID information may include
- the syntax element of the information indicating the number of layers of the operation points is max_layer_count as described above
- the syntax element of the layer ID information is layerID
- the syntax element of the information on the number of the direct reference layers is the above-described num_direct_ref_layers
- the direct reference layer The syntax element of ID information may be the above-described direct_ref_layerID.
- the information on the list of actuation points may include information on the number of actuation points, OLS index information for the actuation points, PTL structure index information for OLS and/or maximum temporal ID information.
- the information on the number of operation points may indicate the number of operation points
- the OLS index information may indicate an OLS for the operation points
- the PTL structure index information may indicate the number of operation points for the OLS. It may indicate a PTL structure
- the maximum temporal ID information may indicate a maximum temporal ID (TemporalId) of a NAL unit of operation points.
- the syntax element of the information on the number of operating points is the above-described num_operating_points
- the syntax element of the OLS index is output_layer_set_idx
- the syntax element of the PTL structure index information is the above-described ptl_idx
- the syntax element of the maximum temporal ID information is the above-described max_temporal_id can be
- the operation point information sample group may include information on a list of output layers in the OLS, and may not include information on a list of layers other than an output layer in the OLS. That is, for example, information on a list of output layers in the OLS may be configured/included in the operation point information sample group, and information on a list of layers other than an output layer in the OLS may be configured/not included. there is. In this case, the above-described second flag information may not be configured/included in the operation point information sample group.
- the information on the list of output layers may include information on the number of output layers and/or layer ID information.
- the information on the number of output layers may indicate the number of output layers in the OLS
- the layer ID information may indicate a layer ID of a layer with respect to the layer ID information.
- the syntax element of the information on the number of output layers may be the above-described output_layer_count
- the syntax element of the layer ID information may be the above-described layer_id.
- the operation point information sample group may include information on the entire list of layers in the OLS, but may not include information on the layer dependency. That is, for example, information on the entire list of layers in the OLS may be configured/included in the operation point information sample group, and information on the layer dependency may not be configured/included.
- the operation point information sample group includes flag information on whether all layers are independently coded without using inter-layer prediction, and whether each Output Layer Set (OLS) includes only one output layer.
- Flag information and/or OLS mode index information indicating the mode of each OLS may not be included. That is, for example, flag information on whether all layers in the operation point information sample group are independently coded without using inter-layer prediction, and whether each Output Layer Set (OLS) includes only one output layer.
- Flag information and/or OLS mode index information indicating the mode of each OLS may be configured/not included.
- the syntax element of the flag information for whether all the layers are independently coded without using inter-layer prediction is the above-described all_independent_layers_flag, whether each Output Layer Set (OLS) includes only one output layer.
- the syntax element of the flag information for the . . may be each_layer_is_an_ols_flag, and the syntax element of the OLS mode index information indicating the mode of each OLS may be ols_mode_idc.
- the media file generating apparatus may store the generated media file in a (digital) storage medium or transmit it to the media file processing apparatus through a network or a (digital) storage medium.
- the network may include a broadcasting network and/or a communication network
- the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
- FIG. 7 schematically shows a media file generating apparatus that performs the media file generating method according to the present document.
- the method disclosed in FIG. 6 may be performed by the apparatus for generating a media file disclosed in FIG. 7 .
- the image processing unit of the apparatus for generating a media file of FIG. 7 may perform operations S600 to S620
- the media file generation unit of the apparatus for generating a media file of FIG. 7 may perform operations S630 .
- the process of encoding the bitstream including image information may be performed by the encoder of the media file generating apparatus.
- FIG. 8 schematically illustrates a media file processing method by a media file processing apparatus according to the present document.
- the method disclosed in FIG. 8 may be performed by the apparatus for processing a media file illustrated in FIG. 9 .
- the media file processing device may represent the above-described second device.
- S800 of FIG. 8 may be performed by the receiving unit of the media file processing apparatus, and S810 may be performed by the media file processing unit of the media file processing apparatus.
- the process of decoding the bitstream based on the decoder configuration record may be performed by the decoder of the media file processing apparatus.
- the media file processing apparatus acquires a media file including the operation point information sample group (S800).
- the media file processing apparatus may acquire the media file including the operation point information sample group through a network or a (digital) storage medium.
- the network may include a broadcasting network and/or a communication network
- the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
- the media file processing apparatus parses the operation point information sample group (S810). For example, the media file processing apparatus may parse/derive the operation point information sample group.
- the media file processing apparatus may parse first flag information for a target layer in an output layer set (OLS). That is, the media file processing apparatus may parse the first flag information included in the operation point information sample group.
- the first flag information may indicate whether information on the maximum number of temporal sub-layers for inter-layer prediction exists.
- the syntax element of the first flag information may be the above-described max_tid_il_present_flag.
- the first flag information equal to 1 may indicate that the information about the maximum number of the temporal sub-layers may exist.
- the first flag information equal to 0 may indicate that the information about the maximum number of the temporal sub-layers does not exist.
- the media file processing apparatus may parse second flag information regarding whether the target layer is an output layer. That is, the media file processing apparatus may parse the second flag information included in the operation point information sample group. The second flag information may indicate whether the target layer is the output layer.
- the syntax element of the second flag information may be the is_outputlayer described above.
- the second flag information equal to 1 may indicate that the target layer is the output layer.
- the second flag information equal to 0 may indicate that the target layer is not the output layer.
- the media file processing apparatus may parse the information about the maximum number of the temporal sub-layers based on the first flag information and the second flag information.
- a media file the processing device may parse the information on the maximum number of the temporal sub-layers in the operation point information sample group, wherein the first flag information does not include the information on the maximum number of the temporal sub-layers or when the second flag information indicates that the target layer is the output layer, the media file processing apparatus may not parse the information about the maximum number of the temporal sub-layers in the operation point information sample group.
- the media file processing apparatus when the value of the first flag information is 1 and the value of the second flag information is 0, the media file processing apparatus is the maximum number of the temporal sub-layers in the operation point information sample group. can parse the information for, and when the value of the first flag information is 0 or the value of the second flag information is 1, the media file processing apparatus determines the temporal sub-layer in the operation point information sample group.
- the above information for the maximum number may not be parsed.
- the information about the maximum number of the temporal sub-layers may be configured/included in the operation point information sample group based on the first flag information equal to 1 and the second flag information equal to 0. That is, for example, when the value of the first flag information is 1 and the value of the second flag information is 0, the information about the maximum number of the temporal sub-layers is configured in the operation point information sample group /may be included. Also, for example, the information about the maximum number of temporal sub-layers is configured in the operation point information sample group based on the first flag information equal to 0 and/or the second flag information equal to 1 may not be included. That is, for example, when the value of the first flag information is 0 or the value of the second flag information is 1, the information about the maximum number of the temporal sub-layers is configured in the operation point information sample group /may not be included.
- the syntax element of the information for the maximum number of the temporal sub-layers may be the above-described max_tid_il_ref_pics_plus1.
- a value obtained by subtracting 1 from the value of the information on the maximum number of temporal sub-layers may be derived as the maximum number of temporal sub-layers.
- the information on the maximum number of temporal sub-layers may indicate the maximum number of temporal sub-layers required for inter-layer prediction of pictures of other layers in a target layer.
- a value obtained by subtracting 1 from the value of the information on the maximum number of temporal sublayers may indicate the maximum number of temporal sublayers required for interlayer prediction in a target layer.
- the information about the maximum number of the temporal sub-layers equal to 0 is not an Intra Random Access Point (IRAP) picture and a Gradual Decoding Refresh (GDR) picture with ph_recovery_poc_cnt equal to 0.
- IRAP Intra Random Access Point
- GDR Gradual Decoding Refresh
- ILRP Inter Layer Reference Picture
- the picture is not used as an Inter Layer Reference Picture (ILRP) for decoding a picture of another layer in the OLS.
- ILRP may indicate a reference picture used for inter-layer prediction.
- the information about the maximum number of temporal sub-layers greater than 0 is 1 in the value of the information about the maximum number of temporal sub-layers to decode a picture in another layer of OLS.
- a picture of the target layer with TemporalId greater than the subtracted value is not used as ILRP
- nuh_layer_id is the same as layer_id
- TemporalId is greater than the value of information about the maximum number of temporal sublayers minus 1 may indicate that it is not.
- the value of the information on the maximum number of temporal sub-layers may be regarded as equal to max_temporal_id.
- the operation point information sample group may include information on layer dependency and information on a list of operation points.
- the information on the layer dependency may be signaled/parsed before the information on the list of operation points. That is, for example, the information on the layer dependency and the information on the list of the operation points may be configured/included in the operation point information sample group, and the layer dependency in the operation point information sample group
- the information about time may be configured/included before the information about the list of actuation points.
- the information on the layer dependency includes information indicating the number of all (unique) layers of all operation points, layer ID information, information on the number of direct reference layers, and/or direct reference layer ID information may include
- the syntax element of the information indicating the number of layers of the operation points is max_layer_count as described above
- the syntax element of the layer ID information is layerID
- the syntax element of the information on the number of the direct reference layers is the above-described num_direct_ref_layers
- the direct reference layer The syntax element of ID information may be the above-described direct_ref_layerID.
- the information on the list of actuation points may include information on the number of actuation points, OLS index information for the actuation points, PTL structure index information for OLS and/or maximum temporal ID information.
- the information on the number of operation points may indicate the number of operation points
- the OLS index information may indicate an OLS for the operation points
- the PTL structure index information may indicate the number of operation points for the OLS. It may indicate a PTL structure
- the maximum temporal ID information may indicate a maximum temporal ID (TemporalId) of a NAL unit of operation points.
- the syntax element of the information on the number of operating points is the above-described num_operating_points
- the syntax element of the OLS index is output_layer_set_idx
- the syntax element of the PTL structure index information is the above-described ptl_idx
- the syntax element of the maximum temporal ID information is the above-described max_temporal_id can be
- the operation point information sample group may include information on a list of output layers in the OLS, and may not include information on a list of layers other than an output layer in the OLS. That is, for example, information on a list of output layers in the OLS may be configured/included in the operation point information sample group, and information on a list of layers other than an output layer in the OLS may be configured/not included. there is. In this case, the above-described second flag information may not be configured/included in the operation point information sample group.
- the information on the list of output layers may include information on the number of output layers and/or layer ID information.
- the information on the number of output layers may indicate the number of output layers in the OLS
- the layer ID information may indicate a layer ID of a layer with respect to the layer ID information.
- the syntax element of the information on the number of output layers may be the above-described output_layer_count
- the syntax element of the layer ID information may be the above-described layer_id.
- the operation point information sample group may include information on the entire list of layers in the OLS, but may not include information on the layer dependency. That is, for example, information on the entire list of layers in the OLS may be configured/included in the operation point information sample group, and information on the layer dependency may not be configured/included.
- the operation point information sample group includes flag information on whether all layers are independently coded without using inter-layer prediction, and whether each Output Layer Set (OLS) includes only one output layer.
- Flag information and/or OLS mode index information indicating the mode of each OLS may not be included. That is, for example, flag information on whether all layers in the operation point information sample group are independently coded without using inter-layer prediction, and whether each Output Layer Set (OLS) includes only one output layer.
- Flag information and/or OLS mode index information indicating the mode of each OLS may be configured/not included.
- the syntax element of the flag information for whether all the layers are independently coded without using inter-layer prediction is the above-described all_independent_layers_flag, whether each Output Layer Set (OLS) includes only one output layer.
- the syntax element of the flag information for the . . may be each_layer_is_an_ols_flag, and the syntax element of the OLS mode index information indicating the mode of each OLS may be ols_mode_idc.
- the media file processing apparatus may decode the bitstream based on the decoder configuration record. For example, the media file processing apparatus may decode image information in the bitstream for the operation point information sample group based on information included in the operation point information sample group, and select a reconstructed picture based on the image information can create
- FIG. 9 schematically shows a media file processing apparatus performing a media file processing method according to the present document.
- the method disclosed in FIG. 8 may be performed by the apparatus for processing a media file illustrated in FIG. 9 .
- the receiving unit of the media file processing apparatus of FIG. 9 may perform S800 of FIG. 8
- the media file processing unit of the media file processing apparatus of FIG. 9 may perform S810 of FIG. 8 .
- the media file processing apparatus may include a decoder, and the decoder may decode a bitstream based on the operation point information sample group.
- flag information indicating whether the information is signaled and the layer are output It may be determined in consideration of whether the layer is a layer, thereby reducing signaling redundancy for media file delivery and improving overall coding efficiency.
- signaling of information on layer dependency can be performed like the methods proposed in various embodiments, thereby reducing signaling redundancy for media file delivery and overall coding efficiency can improve
- Embodiments described in this document may be implemented and performed on a processor, microprocessor, controller, or chip.
- the functional units shown in each figure may be implemented and performed on a computer, a processor, a microprocessor, a controller, or a chip.
- information for implementation (ex. information on instructions) or an algorithm may be stored in a digital storage medium.
- devices to which embodiments of this document are applied are multimedia broadcasting transceivers, mobile communication terminals, home cinema video devices, digital cinema video devices, surveillance cameras, video conversation devices, real-time communication devices such as video communication devices, and mobile streaming devices.
- storage medium camcorder, video on demand (VoD) service providing device, OTT video (Over the top video) device, internet streaming service providing device, three-dimensional (3D) video device, videophone video device, transportation terminal (ex. It may be included in a vehicle terminal, an airplane terminal, a ship terminal, etc.) and a medical video device, and may be used to process a video signal or a data signal.
- VoD video on demand
- OTT video Over the top video
- internet streaming service providing device three-dimensional (3D) video device
- videophone video device transportation terminal (ex. It may be included in a vehicle terminal, an airplane terminal, a ship terminal, etc.) and a medical video device, and may be used to process a video signal or a data signal.
- the OTT video (Over the top video) device may include a game console, a Blu-ray player, an Internet-connected TV, a home theater system, a smart phone, a tablet PC, a digital video recorder (DVR), and the like.
- a game console a Blu-ray player
- an Internet-connected TV a home theater system
- a smart phone a tablet PC
- DVR digital video recorder
- the processing method to which the embodiments of this document are applied may be produced in the form of a program executed by a computer, and may be stored in a computer-readable recording medium.
- Multimedia data having a data structure according to this document may also be stored in a computer-readable recording medium.
- the computer-readable recording medium includes all types of storage devices and distributed storage devices in which computer-readable data is stored.
- the computer-readable recording medium includes, for example, Blu-ray Disc (BD), Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk and optical It may include a data storage device.
- the computer-readable recording medium includes a medium implemented in the form of a carrier wave (eg, transmission through the Internet).
- the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired/wireless communication network.
- embodiments of this document may be implemented as a computer program product using program codes, and the program codes may be executed in a computer according to the embodiments of this document.
- the program code may be stored on a carrier readable by a computer.
- FIG. 10 exemplarily shows a structural diagram of a content streaming system to which embodiments of this document are applied.
- a content streaming system to which embodiments of this document are applied may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.
- the encoding server generates a bitstream by compressing content input from multimedia input devices such as a smart phone, a camera, a camcorder, etc. into digital data, and transmits it to the streaming server.
- multimedia input devices such as a smartphone, a camera, a camcorder, etc. directly generate a bitstream
- the encoding server may be omitted.
- the bitstream may be generated by an encoding method or a bitstream generating method to which embodiments of this document are applied, and the streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.
- the streaming server transmits multimedia data to the user device based on a user's request through the web server, and the web server serves as a medium informing the user of what kind of service is available.
- the web server transmits it to a streaming server, and the streaming server transmits multimedia data to the user.
- the content streaming system may include a separate control server.
- the control server serves to control commands/responses between devices in the content streaming system.
- the streaming server may receive content from a media repository and/or an encoding server. For example, when content is received from the encoding server, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server may store the bitstream for a predetermined time.
- Examples of the user device include a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation system, a slate PC, Tablet PC (tablet PC), ultrabook (ultrabook), wearable device (eg, watch-type terminal (smartwatch), glass-type terminal (smart glass), HMD (head mounted display)), digital TV, desktop There may be a computer, digital signage, and the like.
- PDA personal digital assistant
- PMP portable multimedia player
- PMP portable multimedia player
- a navigation system e.g, a portable multimedia player (PMP), a navigation system
- slate PC Tablet PC (tablet PC)
- ultrabook ultrabook
- wearable device eg, watch-type terminal (smartwatch), glass-type terminal (smart glass), HMD (head mounted display)
- digital TV desktop
- desktop There may be a computer, digital signage, and the like.
- Each server in the content streaming system may be
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
A media file generation method according to the present document comprises the steps of: configuring first flag information about a target layer in an OLS, the first flag information indicating information about whether the maximum number of temporal sub-layers for inter-layer prediction exists; configuring second flag information about whether the target layer is an output layer; configuring the information about the maximum number of temporal sub-layers on the basis of the first flag information and the second flag information; and generating a media file including an operating point information sample group, wherein the information about the maximum number of temporal sub-layers is configured in the operating point information sample group on the basis of the first flag information being the same as 1 and the second flag information being the same as 0.
Description
본 문서는 영상 코딩 기술에 관한 것으로서 보다 상세하게는 영상 코딩 시스템에서 코딩된 영상 정보에 대한 미디어 파일을 처리하는 방법 및 그 장치에 관한 것이다.This document relates to image coding technology, and more particularly, to a method and apparatus for processing a media file for coded image information in an image coding system.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 전송되는 정보량 또는 비트량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 영상 데이터를 저장하는 경우, 전송 비용과 저장 비용이 증가된다. Recently, the demand for high-resolution and high-quality images such as HD (High Definition) images and UHD (Ultra High Definition) images is increasing in various fields. As the image data becomes high-resolution and high-quality, the amount of information or bits transmitted relatively increases compared to the existing image data. In the case of storage, the transmission cost and the storage cost are increased.
이에 따라, 고해상도, 고품질 영상의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위해 고효율의 영상 압축 기술이 요구된다.Accordingly, high-efficiency image compression technology is required to effectively transmit, store, and reproduce high-resolution and high-quality image information.
본 문서의 기술적 과제는 영상 코딩 효율을 높이는 방법 및 장치를 제공함에 있다.An object of the present document is to provide a method and an apparatus for increasing image coding efficiency.
본 문서의 다른 기술적 과제는 코딩된 영상 정보에 대한 미디어 파일을 생성하는 방법 및 장치를 제공함에 있다.Another technical problem of the present document is to provide a method and an apparatus for generating a media file for coded image information.
본 문서의 다른 기술적 과제는 코딩된 영상 정보 및 상기 영상 정보의 메타 데이터에 대한 미디어 파일을 생성하는 방법 및 장치를 제공함에 있다. Another technical object of the present document is to provide a method and apparatus for generating a media file for coded image information and metadata of the image information.
본 문서의 일 실시예에 따르면, 미디어 파일 생성 장치에 의하여 수행되는 미디어 파일 생성 방법이 제공된다. 상기 방법은 OLS(Output Layer Set, OLS) 내 대상 레이어에 대한 제1 플래그 정보를 구성하되, 상기 제1 플래그 정보는 인터레이어 예측에 대한 시간적 서브레이어의 최대 개수에 대한 정보가 존재하는지 여부를 나타내는 단계, 상기 대상 레이어가 출력 레이어인지 여부에 대한 제2 플래그 정보를 구성하는 단계, 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 기반으로 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 구성하는 단계 및 작동 포인트 정보 샘플 그룹을 포함하는 미디어 파일을 생성하는 단계를 포함하되, 상기 작동 포인트 정보 샘플 그룹은 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 포함하고, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 1과 동일한 상기 제1 플래그 정보 및 0과 동일한 상기 제2 플래그 정보를 기반으로 상기 작동 포인트 정보 샘플 그룹에 구성되는 것을 특징으로 한다.According to an embodiment of the present document, there is provided a method for generating a media file performed by an apparatus for generating a media file. The method configures first flag information for a target layer in an output layer set (OLS), wherein the first flag information indicates whether information on the maximum number of temporal sub-layers for inter-layer prediction exists. Step, configuring second flag information on whether the target layer is an output layer, configuring the information on the maximum number of temporal sub-layers based on the first flag information and the second flag information and generating a media file comprising an actuation point information sample group, wherein the actuation point information sample group comprises the first flag information and the second flag information, and wherein the maximum number of the temporal sub-layers The information on is configured in the operation point information sample group based on the first flag information equal to 1 and the second flag information equal to 0.
본 문서의 다른 일 실시예에 따르면, 미디어 파일 생성 장치가 제공된다. 상기 미디어 파일 생성 장치는 OLS(Output Layer Set, OLS) 내 대상 레이어에 대한 제1 플래그 정보를 구성하되, 상기 제1 플래그 정보는 인터레이어 예측에 대한 시간적 서브레이어의 최대 개수에 대한 정보가 존재하는지 여부를 나타내고, 상기 대상 레이어가 출력 레이어인지 여부에 대한 제2 플래그 정보를 구성하고, 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 기반으로 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 구성하는 영상 처리부 및 작동 포인트 정보 샘플 그룹을 포함하는 미디어 파일을 생성하는 미디어 파일 생성부를 포함하고, 상기 작동 포인트 정보 샘플 그룹은 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 포함하고, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 1과 동일한 상기 제1 플래그 정보 및 0과 동일한 상기 제2 플래그 정보를 기반으로 상기 작동 포인트 정보 샘플 그룹에 구성되는 것을 특징으로 한다.According to another embodiment of the present document, an apparatus for generating a media file is provided. The media file generating apparatus configures first flag information for a target layer in an output layer set (OLS), wherein the first flag information determines whether information on the maximum number of temporal sub-layers for inter-layer prediction exists indicates whether the target layer is an output layer, configures second flag information on whether the target layer is an output layer, and configures the information on the maximum number of temporal sublayers based on the first flag information and the second flag information and a media file generator for generating a media file including an image processing unit and an operation point information sample group, wherein the operation point information sample group includes the first flag information and the second flag information, and the temporal sublayer The information about the maximum number of is configured in the operation point information sample group based on the first flag information equal to 1 and the second flag information equal to 0.
본 문서의 또 다른 일 실시예에 따르면, 미디어 파일 처리 장치에 의하여 수행되는 미디어 파일 처리 방법을 제공한다. 상기 방법은 작동 포인트 정보 샘플 그룹을 포함하는 미디어 파일을 획득하는 단계 및 상기 작동 포인트 정보 샘플 그룹을 파싱하는 단계를 포함하되, 상기 작동 포인트 정보 샘플 그룹을 파싱하는 단계는, OLS(Output Layer Set, OLS) 내 대상 레이어에 대한 제1 플래그 정보를 파싱하되, 상기 제1 플래그 정보는 인터레이어 예측에 대한 시간적 서브레이어의 최대 개수에 대한 정보가 존재하는지 여부를 나타내는 단계, 상기 대상 레이어가 출력 레이어인지 여부에 대한 제2 플래그 정보를 파싱하는 단계 및 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 기반으로 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 파싱하는 단계를 포함하되, 상기 작동 포인트 정보 샘플 그룹은 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 포함하고, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 1과 동일한 상기 제1 플래그 정보 및 0과 동일한 상기 제2 플래그 정보를 기반으로 상기 작동 포인트 정보 샘플 그룹에 구성되는 것을 특징으로 한다.According to another embodiment of the present document, there is provided a media file processing method performed by a media file processing apparatus. The method includes obtaining a media file including an actuation point information sample group and parsing the actuation point information sample group, wherein parsing the actuation point information sample group comprises: an Output Layer Set (OLS); OLS) parsing the first flag information on the target layer, wherein the first flag information indicates whether information on the maximum number of temporal sub-layers for inter-layer prediction exists, whether the target layer is an output layer Parsing second flag information on whether or not and parsing the information on the maximum number of the temporal sub-layers based on the first flag information and the second flag information, wherein the operation point information A sample group includes the first flag information and the second flag information, and the information about the maximum number of the temporal sub-layers is based on the first flag information equal to 1 and the second flag information equal to 0 and is configured in the operation point information sample group.
본 문서의 또 다른 일 실시예에 따르면, 미디어 파일 처리 장치를 제공한다. 상기 미디어 파일 처리 장치는 작동 포인트 정보 샘플 그룹을 포함하는 미디어 파일을 획득하는 수신부 및 상기 작동 포인트 정보 샘플 그룹을 파싱하는 미디어 파일 처리부를 포함하고, 상기 작동 포인트 정보 샘플 그룹을 파싱하는 과정은, OLS(Output Layer Set, OLS) 내 대상 레이어에 대한 제1 플래그 정보를 파싱하되, 상기 제1 플래그 정보는 인터레이어 예측에 대한 시간적 서브레이어의 최대 개수에 대한 정보가 존재하는지 여부를 나타내는 단계, 상기 대상 레이어가 출력 레이어인지 여부에 대한 제2 플래그 정보를 파싱하는 단계 및 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 기반으로 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 파싱하는 단계를 포함하되, 상기 작동 포인트 정보 샘플 그룹은 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 포함하고, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 1과 동일한 상기 제1 플래그 정보 및 0과 동일한 상기 제2 플래그 정보를 기반으로 상기 작동 포인트 정보 샘플 그룹에 구성되는 것을 특징으로 한다.According to another embodiment of the present document, a media file processing apparatus is provided. The media file processing apparatus includes a receiving unit for obtaining a media file including an operation point information sample group and a media file processing unit for parsing the operation point information sample group, wherein the parsing of the operation point information sample group includes: Parsing first flag information for a target layer in (Output Layer Set, OLS), wherein the first flag information indicates whether information on the maximum number of temporal sub-layers for inter-layer prediction exists, the target Parsing second flag information on whether a layer is an output layer, and parsing the information on the maximum number of temporal sub-layers based on the first flag information and the second flag information , the operation point information sample group includes the first flag information and the second flag information, and the information about the maximum number of the temporal sub-layers includes the first flag information equal to 1 and the first flag information equal to 0 2 It is characterized in that it is configured in the operation point information sample group based on the flag information.
본 문서의 또 다른 일 실시예에 따르면, 미디어 파일 생성 방법에 의하여 생성된 미디어 파일이 저장된 컴퓨터 판독가능 디지털 저장 매체를 제공한다. 컴퓨터 판독가능 디지털 저장 매체에 있어서, 상기 방법은, OLS(Output Layer Set, OLS) 내 대상 레이어에 대한 제1 플래그 정보를 구성하되, 상기 제1 플래그 정보는 인터레이어 예측에 대한 시간적 서브레이어의 최대 개수에 대한 정보가 존재하는지 여부를 나타내는 단계, 상기 대상 레이어가 출력 레이어인지 여부에 대한 제2 플래그 정보를 구성하는 단계, 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 기반으로 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 구성하는 단계 및 작동 포인트 정보 샘플 그룹을 포함하는 미디어 파일을 생성하는 단계를 포함하되, 상기 작동 포인트 정보 샘플 그룹은 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 포함하고, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 1과 동일한 상기 제1 플래그 정보 및 0과 동일한 상기 제2 플래그 정보를 기반으로 상기 작동 포인트 정보 샘플 그룹에 구성되는 것을 특징으로 한다.According to another embodiment of the present document, there is provided a computer-readable digital storage medium in which a media file generated by a method for generating a media file is stored. A computer-readable digital storage medium, wherein the method comprises configuring first flag information for a target layer in an output layer set (OLS), wherein the first flag information includes a maximum of a temporal sub-layer for inter-layer prediction. Indicating whether information on the number exists, configuring second flag information for whether the target layer is an output layer, the temporal sub-layer based on the first flag information and the second flag information composing the information for the maximum number and generating a media file including a working point information sample group, wherein the actuating point information sample group includes the first flag information and the second flag information and, the information on the maximum number of the temporal sub-layers is configured in the operation point information sample group based on the first flag information equal to 1 and the second flag information equal to 0.
본 문서에 따르면, 레이어 내 인터레이어 예측을 위한 시간적 레이어의 최대 개수를 나타내는 정보의 값은 상기 레이어가 속한 OLS 에 따라서 다를 수 있으므로, 상기 정보의 시그널링 여부는 나타내는 플래그 정보 및 상기 레이어가 출력 레이어인지 여부를 고려하여 결정될 수 있고, 이를 통하여 미디어 파일 전달에 대한 시그널링 리던던시(signalling redundancy)를 줄이고 전반적인 코딩 효율을 향상시킬 수 있다. According to this document, since the value of information indicating the maximum number of temporal layers for intra-layer inter-layer prediction may vary depending on the OLS to which the layer belongs, flag information indicating whether the information is signaled and whether the layer is an output layer It may be determined in consideration of whether or not, and through this, signaling redundancy for media file delivery may be reduced and overall coding efficiency may be improved.
본 문서에 따르면 레이어 디펜던시에 대한 정보의 시그널링이 여러 실시예들에서 제안된 방안들과 같이 수행될 수 있고, 이를 통하여 미디어 파일 전달에 대한 시그널링 리던던시(signalling redundancy)를 줄이고 전반적인 코딩 효율을 향상시킬 수 있다. According to this document, signaling of information on layer dependency can be performed like the methods proposed in various embodiments, thereby reducing signaling redundancy for media file delivery and improving overall coding efficiency can do it
도 1은 본 문서의 실시예들이 적용될 수 있는 비디오/영상 코딩 시스템의 예를 개략적으로 나타낸다.1 schematically shows an example of a video/image coding system to which embodiments of this document can be applied.
도 2는 본 문서의 실시예들이 적용될 수 있는 비디오/영상 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.2 is a diagram schematically illustrating a configuration of a video/image encoding apparatus to which embodiments of the present document may be applied.
도 3은 본 문서의 실시예들이 적용될 수 있는 비디오/영상 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.3 is a diagram schematically illustrating a configuration of a video/image decoding apparatus to which embodiments of the present document may be applied.
도 4는 본 문서에서 제안한 실시예가 적용되는 미디어 파일 생성 방법을 예시적으로 나타낸다. 4 exemplarily shows a media file creation method to which the embodiment proposed in this document is applied.
도 5는 본 문서에서 제안한 실시예가 적용되어 생성된 미디어 파일을 디코딩하는 방법을 예시적으로 나타낸다. 5 exemplarily shows a method of decoding a media file generated by applying the embodiment proposed in this document.
도 6은 본 문서에 따른 미디어 파일 생성 장치에 의한 미디어 파일 생성 방법을 개략적으로 나타낸다.6 schematically illustrates a method of generating a media file by a media file generating apparatus according to the present document.
도 7은 본 문서에 따른 미디어 파일 생성 방법을 수행하는 미디어 파일 생성 장치를 개략적으로 나타낸다. 7 schematically shows a media file generating apparatus that performs the media file generating method according to the present document.
도 8은 본 문서에 따른 미디어 파일 처리 장치에 의한 미디어 파일 처리 방법을 개략적으로 나타낸다. 8 schematically illustrates a media file processing method by a media file processing apparatus according to the present document.
도 9는 본 문서에 따른 미디어 파일 처리 방법을 수행하는 미디어 파일 처리 장치를 개략적으로 나타낸다.9 schematically shows a media file processing apparatus for performing a media file processing method according to the present document.
도 10은 본 문서의 실시예들이 적용되는 컨텐츠 스트리밍 시스템 구조도를 예시적으로 나타낸다.10 exemplarily shows a structural diagram of a content streaming system to which embodiments of this document are applied.
본 문서는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 문서의 실시예들을 특정 실시예에 한정하려고 하는 것이 아니다. 본 명세서에서 상용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 문서의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서 "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 도는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Since this document may have various changes and may have various embodiments, specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the embodiments of the present document to specific embodiments. Terms commonly used herein are used only to describe specific embodiments, and are not intended to limit the technical spirit of the present document. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present specification, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, and includes one or more other features or It should be understood that the existence or addition of numbers, steps, operations, components, parts or combinations thereof is not precluded in advance.
한편, 본 문서에서 설명되는 도면 상의 각 구성들은 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 문서의 본질에서 벗어나지 않는 한 본 문서의 권리범위에 포함된다.Meanwhile, each configuration in the drawings described in this document is shown independently for the convenience of description regarding different characteristic functions, and does not mean that each configuration is implemented as separate hardware or separate software. For example, two or more components among each component may be combined to form one component, or one component may be divided into a plurality of components. Embodiments in which each component is integrated and/or separated are also included in the scope of the present document without departing from the essence of this document.
이하, 첨부한 도면들을 참조하여, 본 문서의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면 상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략될 수 있다.Hereinafter, with reference to the accompanying drawings, a preferred embodiment of the present document will be described in more detail. Hereinafter, the same reference numerals are used for the same components in the drawings, and repeated descriptions of the same components may be omitted.
도 1은 본 문서의 실시예들이 적용될 수 있는 비디오/영상 코딩 시스템의 예를 개략적으로 나타낸다.1 schematically shows an example of a video/image coding system to which embodiments of this document can be applied.
도 1을 참조하면, 비디오/영상 코딩 시스템은 제1 장치(소스 디바이스) 및 제2 장치(수신 디바이스)를 포함할 수 있다. 소스 디바이스는 인코딩된 비디오(video)/영상(image) 정보 또는 데이터를 파일 또는 스트리밍 형태로 디지털 저장매체 또는 네트워크를 통하여 수신 디바이스로 전달할 수 있다. Referring to FIG. 1 , a video/image coding system may include a first apparatus (source device) and a second apparatus (receive device). The source device may transmit encoded video/image information or data in the form of a file or streaming to the receiving device through a digital storage medium or a network.
상기 소스 디바이스는 비디오 소스, 인코딩 장치, 전송부를 포함할 수 있다. 상기 수신 디바이스는 수신부, 디코딩 장치 및 렌더러를 포함할 수 있다. 상기 인코딩 장치는 비디오/영상 인코딩 장치라고 불릴 수 있고, 상기 디코딩 장치는 비디오/영상 디코딩 장치라고 불릴 수 있다. 송신기는 인코딩 장치에 포함될 수 있다. 수신기는 디코딩 장치에 포함될 수 있다. 렌더러는 디스플레이부를 포함할 수도 있고, 디스플레이부는 별개의 디바이스 또는 외부 컴포넌트로 구성될 수도 있다. The source device may include a video source, an encoding apparatus, and a transmission unit. The receiving device may include a receiving unit, a decoding apparatus, and a renderer. The encoding apparatus may be referred to as a video/image encoding apparatus, and the decoding apparatus may be referred to as a video/image decoding apparatus. The transmitter may be included in the encoding device. The receiver may be included in the decoding device. The renderer may include a display unit, and the display unit may be configured as a separate device or external component.
비디오 소스는 비디오/영상의 캡쳐, 합성 또는 생성 과정 등을 통하여 비디오/영상을 획득할 수 있다. 비디오 소스는 비디오/영상 캡쳐 디바이스 및/또는 비디오/영상 생성 디바이스를 포함할 수 있다. 비디오/영상 캡쳐 디바이스는 예를 들어, 하나 이상의 카메라, 이전에 캡쳐된 비디오/영상을 포함하는 비디오/영상 아카이브 등을 포함할 수 있다. 비디오/영상 생성 디바이스는 예를 들어 컴퓨터, 타블렛 및 스마트폰 등을 포함할 수 있으며 (전자적으로) 비디오/영상을 생성할 수 있다. 예를 들어, 컴퓨터 등을 통하여 가상의 비디오/영상이 생성될 수 있으며, 이 경우 관련 데이터가 생성되는 과정으로 비디오/영상 캡쳐 과정이 갈음될 수 있다.The video source may acquire a video/image through a process of capturing, synthesizing, or generating a video/image. A video source may include a video/image capture device and/or a video/image generating device. A video/image capture device may include, for example, one or more cameras, a video/image archive containing previously captured video/images, and the like. A video/image generating device may include, for example, a computer, tablet, and smart phone, and may (electronically) generate a video/image. For example, a virtual video/image may be generated through a computer, etc. In this case, the video/image capturing process may be substituted for the process of generating related data.
인코딩 장치는 입력 비디오/영상을 인코딩할 수 있다. 인코딩 장치는 압축 및 코딩 효율을 위하여 예측, 변환, 양자화 등 일련의 절차를 수행할 수 있다. 인코딩된 데이터(인코딩된 비디오/영상 정보)는 비트스트림(bitstream) 형태로 출력될 수 있다.The encoding device may encode the input video/image. The encoding apparatus may perform a series of procedures such as prediction, transformation, and quantization for compression and coding efficiency. The encoded data (encoded video/image information) may be output in the form of a bitstream.
전송부는 비트스트림 형태로 출력된 인코딩된 비디오/영상 정보 또는 데이터를 파일 또는 스트리밍 형태로 디지털 저장매체 또는 네트워크를 통하여 수신 디바이스의 수신부로 전달할 수 있다. 디지털 저장 매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장 매체를 포함할 수 있다. 전송부는 미리 정해진 파일 포멧을 통하여 미디어 파일을 생성하기 위한 엘리먼트를 포함할 수 있고, 방송/통신 네트워크를 통한 전송을 위한 엘리먼트를 포함할 수 있다. 수신부는 상기 비트스트림을 수신/추출하여 디코딩 장치로 전달할 수 있다.The transmitting unit may transmit the encoded video/image information or data output in the form of a bitstream to the receiving unit of the receiving device in the form of a file or streaming through a digital storage medium or a network. The digital storage medium may include a variety of storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. The transmission unit may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcast/communication network. The receiver may receive/extract the bitstream and transmit it to the decoding device.
디코딩 장치는 인코딩 장치의 동작에 대응하는 역양자화, 역변환, 예측 등 일련의 절차를 수행하여 비디오/영상을 디코딩할 수 있다. The decoding apparatus may decode the video/image by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operation of the encoding apparatus.
렌더러는 디코딩된 비디오/영상을 렌더링할 수 있다. 렌더링된 비디오/영상은 디스플레이부를 통하여 디스플레이될 수 있다. The renderer may render the decoded video/image. The rendered video/image may be displayed through the display unit.
이 문서는 비디오/영상 코딩에 관한 것이다. 예를 들어 이 문서에서 개시된 방법/실시예는 VVC (versatile video coding) 표준, EVC (essential video coding) 표준, AV1 (AOMedia Video 1) 표준, AVS2 (2nd generation of audio video coding standard) 또는 차세대 비디오/영상 코딩 표준(ex. H.267 or H.268 등)에 개시되는 방법에 적용될 수 있다.This article is about video/image coding. For example, the method/embodiment disclosed in this document is a versatile video coding (VVC) standard, an essential video coding (EVC) standard, an AOMedia Video 1 (AV1) standard, a 2nd generation of audio video coding standard (AVS2) or a next-generation video/ It can be applied to the method disclosed in the image coding standard (ex. H.267 or H.268, etc.).
이 문서에서는 비디오/영상 코딩에 관한 다양한 실시예들을 제시하며, 다른 언급이 없는 한 상기 실시예들은 서로 조합되어 수행될 수도 있다. This document presents various embodiments related to video/image coding, and unless otherwise stated, the embodiments may be combined with each other.
이 문서에서 비디오(video)는 시간의 흐름에 따른 일련의 영상(image)들의 집합을 의미할 수 있다. 픽처(picture)는 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미하며, 서브픽처(subpicture)/슬라이스(slice)/타일(tile)는 코딩에 있어서 픽처의 일부를 구성하는 단위이다. 서브픽처/슬라이스/타일은 하나 이상의 CTU(coding tree unit)을 포함할 수 있다. 하나의 픽처는 하나 이상의 서브픽처/슬라이스/타일로 구성될 수 있다. 하나의 픽처는 하나 이상의 타일 그룹으로 구성될 수 있다. 하나의 타일 그룹은 하나 이상의 타일들을 포함할 수 있다. 브릭은 픽처 내 타일 이내의 CTU 행들의 사각 영역을 나타낼 수 있다. 타일은 다수의 브릭들로 파티셔닝될 수 있고, 각 브릭은 상기 타일 내 하나 이상의 CTU 행들로 구성될 수 있다. 다수의 브릭들로 파티셔닝되지 않은 타일은 또한 브릭으로 불릴 수 있다. 브릭 스캔은 픽처를 파티셔닝하는 CTU들의 특정한 순차적 오더링을 나타낼 수 있으며, 상기 CTU들은 브릭 내에서 CTU 래스터 스캔으로 정렬될 수 있고, 타일 내 브릭들은 상기 타일의 상기 브릭들의 래스터 스캔으로 연속적으로 정렬될 수 있고, 그리고 픽처 내 타일들은 상기 픽처의 상기 타일들의 래스터 스캔으로 연속적으로 정렬될 수 있다. 또한, 서브 픽처는 픽처 내 하나 이상의 슬라이스의 사각 영역을 나타낼 수 있다. 즉, 서브 픽처는 픽처의 직사각형 영역을 총괄적으로 커버하는 하나 이상의 슬라이스를 포함할 수 있다. 타일은 특정 타일 열 및 특정 타일 열 이내의 CTU들의 사각 영역이다. 상기 타일 열은 CTU들의 사각 영역이고, 상기 사각 영역은 상기 픽처의 높이와 동일한 높이를 갖고, 너비는 픽처 파라미터 세트 내의 신택스 요소들에 의하여 명시될 수 있다. 상기 타일 행은 CTU들의 사각 영역이고, 상기 사각 영역은 픽처 파라미터 세트 내의 신택스 요소들에 의하여 명시되는 너비를 갖고, 높이는 상기 픽처의 높이와 동일할 수 있다. 타일 스캔은 픽처를 파티셔닝하는 CTU들의 특정 순차적 오더링을 나타낼 수 있고, 상기 CTU들은 타일 내 CTU 래스터 스캔으로 연속적으로 정렬될 수 있고, 픽처 내 타일들은 상기 픽처의 상기 타일들의 래스터 스캔으로 연속적으로 정렬될 수 있다. 슬라이스는 픽처의 정수개의 브릭들을 포함할 수 있고, 상기 정수개의 브릭들은 하나의 NAL 유닛에 포함될 수 있다. 슬라이스는 다수의 완전한 타일들로 구성될 수 있고, 또는 하나의 타일의 완전한 브릭들의 연속적인 시퀀스일 수도 있다. 이 문서에서 타일 그룹과 슬라이스는 혼용될 수 있다. 예를 들어 본 문서에서 tile group/tile group header는 slice/slice header로 불릴 수 있다. In this document, a video may mean a set of a series of images according to the passage of time. A picture generally means a unit representing one image in a specific time period, and a subpicture/slice/tile is a unit constituting a part of a picture in coding. A subpicture/slice/tile may include one or more coding tree units (CTUs). One picture may be composed of one or more subpictures/slice/tile. One picture may be composed of one or more tile groups. One tile group may include one or more tiles. A brick may indicate a rectangular area of CTU rows within a tile in a picture. A tile may be partitioned into multiple bricks, and each brick may consist of one or more CTU rows within the tile. A tile that is not partitioned into multiple bricks may also be referred to as a brick. A brick scan may indicate a specific sequential ordering of CTUs partitioning a picture, wherein the CTUs may be arranged in a CTU raster scan within a brick, and the bricks within a tile may be sequentially arranged in a raster scan of the bricks of the tile. and tiles in a picture may be sequentially aligned with a raster scan of the tiles of the picture. In addition, a sub-picture may indicate a rectangular region of one or more slices in the picture. That is, the sub-picture may include one or more slices that collectively cover the rectangular area of the picture. A tile is a specific tile row and a rectangular area of CTUs within a specific tile row. The tile column is a rectangular region of CTUs, the rectangular region has a height equal to the height of the picture, and the width may be specified by syntax elements in a picture parameter set. The tile row is a rectangular region of CTUs, the rectangular region has a width specified by syntax elements in a picture parameter set, and the height may be equal to the height of the picture. A tile scan may indicate a specific sequential ordering of CTUs partitioning a picture, wherein the CTUs may be sequentially aligned with a CTU raster scan within a tile, and tiles within a picture may be sequentially aligned with a raster scan of the tiles of the picture. can A slice may include an integer number of bricks of a picture, and the integer number of bricks may be included in one NAL unit. A slice may consist of a number of complete tiles, or it may be a continuous sequence of complete bricks of one tile. In this document, tile group and slice can be used interchangeably. For example, in this document, a tile group/tile group header may be referred to as a slice/slice header.
픽셀(pixel) 또는 펠(pel)은 하나의 픽처(또는 영상)을 구성하는 최소의 단위를 의미할 수 있다. 또한, 픽셀에 대응하는 용어로서 '샘플(sample)'이 사용될 수 있다. 샘플은 일반적으로 픽셀 또는 픽셀의 값을 나타낼 수 있으며, 루마(luma) 성분의 픽셀/픽셀값만을 나타낼 수도 있고, 크로마(chroma) 성분의 픽셀/픽셀 값만을 나타낼 수도 있다. A pixel or pel may mean a minimum unit constituting one picture (or image). Also, a 'sample' may be used as a term corresponding to a pixel. A sample may generally represent a pixel or a value of a pixel, may represent only a pixel/pixel value of a luma component, or may represent only a pixel/pixel value of a chroma component.
유닛(unit)은 영상 처리의 기본 단위를 나타낼 수 있다. 유닛은 픽처의 특정 영역 및 해당 영역에 관련된 정보 중 적어도 하나를 포함할 수 있다. 하나의 유닛은 하나의 루마 블록 및 두개의 크로마(ex. cb, cr) 블록을 포함할 수 있다. 유닛은 경우에 따라서 블록(block) 또는 영역(area) 등의 용어와 혼용하여 사용될 수 있다. 일반적인 경우, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들(또는 샘플 어레이) 또는 변환 계수(transform coefficient)들의 집합(또는 어레이)을 포함할 수 있다.A unit may represent a basic unit of image processing. The unit may include at least one of a specific region of a picture and information related to the region. One unit may include one luma block and two chroma (ex. cb, cr) blocks. A unit may be used interchangeably with terms such as a block or an area in some cases. In a general case, an MxN block may include samples (or sample arrays) or a set (or arrays) of transform coefficients including M columns and N rows.
본 명세서에서 "A 또는 B(A or B)"는 "오직 A", "오직 B" 또는 "A와 B 모두"를 의미할 수 있다. 달리 표현하면, 본 명세서에서 "A 또는 B(A or B)"는 "A 및/또는 B(A and/or B)"으로 해석될 수 있다. 예를 들어, 본 명세서에서 "A, B 또는 C(A, B or C)"는 "오직 A", "오직 B", "오직 C", 또는 "A, B 및 C의 임의의 모든 조합(any combination of A, B and C)"를 의미할 수 있다.In this specification, "A or B (A or B)" may mean "only A", "only B", or "both A and B". In other words, in the present specification, "A or B (A or B)" may be interpreted as "A and/or B (A and/or B)". For example, "A, B or C(A, B or C)" herein means "only A", "only B", "only C", or "any and any combination of A, B and C ( any combination of A, B and C)".
본 명세서에서 사용되는 슬래쉬(/)나 쉼표(comma)는 "및/또는(and/or)"을 의미할 수 있다. 예를 들어, "A/B"는 "A 및/또는 B"를 의미할 수 있다. 이에 따라 "A/B"는 "오직 A", "오직 B", 또는 "A와 B 모두"를 의미할 수 있다. 예를 들어, "A, B, C"는 "A, B 또는 C"를 의미할 수 있다.As used herein, a slash (/) or a comma (comma) may mean “and/or”. For example, “A/B” may mean “A and/or B”. Accordingly, “A/B” may mean “only A”, “only B”, or “both A and B”. For example, “A, B, C” may mean “A, B, or C”.
본 명세서에서 "적어도 하나의 A 및 B(at least one of A and B)"는, "오직 A", "오직 B" 또는 "A와 B 모두"를 의미할 수 있다. 또한, 본 명세서에서 "적어도 하나의 A 또는 B(at least one of A or B)"나 "적어도 하나의 A 및/또는 B(at least one of A and/or B)"라는 표현은 "적어도 하나의 A 및 B(at least one of A and B)"와 동일하게 해석될 수 있다. As used herein, “at least one of A and B” may mean “only A”, “only B”, or “both A and B”. In addition, in this specification, the expression "at least one of A or B" or "at least one of A and/or B" means "at least one It can be interpreted the same as "A and B (at least one of A and B)".
또한, 본 명세서에서 "적어도 하나의 A, B 및 C(at least one of A, B and C)"는, "오직 A", "오직 B", "오직 C", 또는 "A, B 및 C의 임의의 모든 조합(any combination of A, B and C)"를 의미할 수 있다. 또한, "적어도 하나의 A, B 또는 C(at least one of A, B or C)"나 "적어도 하나의 A, B 및/또는 C(at least one of A, B and/or C)"는 "적어도 하나의 A, B 및 C(at least one of A, B and C)"를 의미할 수 있다. Also, as used herein, "at least one of A, B and C" means "only A", "only B", "only C", or "A, B and C" any combination of A, B and C". Also, "at least one of A, B or C" or "at least one of A, B and/or C" means can mean “at least one of A, B and C”.
또한, 본 명세서에서 사용되는 괄호는 "예를 들어(for example)"를 의미할 수 있다. 구체적으로, "예측(인트라 예측)"로 표시된 경우, "예측"의 일례로 "인트라 예측"이 제안된 것일 수 있다. 달리 표현하면 본 명세서의 "예측"은 "인트라 예측"으로 제한(limit)되지 않고, "인트라 예측"이 "예측"의 일례로 제안될 것일 수 있다. 또한, "예측(즉, 인트라 예측)"으로 표시된 경우에도, "예측"의 일례로 "인트라 예측"이 제안된 것일 수 있다. In addition, parentheses used herein may mean "for example". Specifically, when “prediction (intra prediction)” is indicated, “intra prediction” may be proposed as an example of “prediction”. In other words, "prediction" in the present specification is not limited to "intra prediction", and "intra prediction" may be proposed as an example of "prediction". Also, even when “prediction (ie, intra prediction)” is indicated, “intra prediction” may be proposed as an example of “prediction”.
본 명세서에서 하나의 도면 내에서 개별적으로 설명되는 기술적 특징은, 개별적으로 구현될 수도 있고, 동시에 구현될 수도 있다.In this specification, technical features that are individually described within one drawing may be implemented individually or simultaneously.
이하의 도면은 본 명세서의 구체적인 일례를 설명하기 위해 작성되었다. 도면에 기재된 구체적인 장치의 명칭이나 구체적인 신호/메시지/필드의 명칭은 예시적으로 제시된 것이므로, 본 명세서의 기술적 특징이 이하의 도면에 사용된 구체적인 명칭에 제한되지 않는다.The following drawings were created to explain a specific example of the present specification. Since the names of specific devices described in the drawings or the names of specific signals/messages/fields are presented by way of example, the technical features of the present specification are not limited to the specific names used in the following drawings.
도 2는 본 문서의 실시예들이 적용될 수 있는 비디오/영상 인코딩 장치의 구성을 개략적으로 설명하는 도면이다. 이하 비디오 인코딩 장치라 함은 영상 인코딩 장치를 포함할 수 있다. 2 is a diagram schematically illustrating a configuration of a video/image encoding apparatus to which embodiments of the present document may be applied. Hereinafter, a video encoding apparatus may include an image encoding apparatus.
도 2를 참조하면, 인코딩 장치(200)는 영상 분할부(image partitioner, 210), 예측부(predictor, 220), 레지듀얼 처리부(residual processor, 230), 엔트로피 인코딩부(entropy encoder, 240), 가산부(adder, 250), 필터링부(filter, 260) 및 메모리(memory, 270)를 포함하여 구성될 수 있다. 예측부(220)는 인터 예측부(221) 및 인트라 예측부(222)를 포함할 수 있다. 레지듀얼 처리부(230)는 변환부(transformer, 232), 양자화부(quantizer 233), 역양자화부(dequantizer 234), 역변환부(inverse transformer, 235)를 포함할 수 있다. 레지듀얼 처리부(230)은 감산부(subtractor, 231)를 더 포함할 수 있다. 가산부(250)는 복원부(reconstructor) 또는 복원 블록 생성부(recontructged block generator)로 불릴 수 있다. 상술한 영상 분할부(210), 예측부(220), 레지듀얼 처리부(230), 엔트로피 인코딩부(240), 가산부(250) 및 필터링부(260)는 실시예에 따라 하나 이상의 하드웨어 컴포넌트(예를 들어 인코더 칩셋 또는 프로세서)에 의하여 구성될 수 있다. 또한 메모리(270)는 DPB(decoded picture buffer)를 포함할 수 있고, 디지털 저장 매체에 의하여 구성될 수도 있다. 상기 하드웨어 컴포넌트는 메모리(270)을 내/외부 컴포넌트로 더 포함할 수도 있다.2, the encoding apparatus 200 includes an image partitioner 210, a predictor 220, a residual processor 230, an entropy encoder 240, It may be configured to include an adder 250 , a filter 260 , and a memory 270 . The prediction unit 220 may include an inter prediction unit 221 and an intra prediction unit 222 . The residual processing unit 230 may include a transformer 232 , a quantizer 233 , an inverse quantizer 234 , and an inverse transformer 235 . The residual processing unit 230 may further include a subtractor 231 . The adder 250 may be referred to as a reconstructor or a reconstructed block generator. The above-described image segmentation unit 210, prediction unit 220, residual processing unit 230, entropy encoding unit 240, adder 250 and filtering unit 260 may include one or more hardware components ( For example, by an encoder chipset or processor). In addition, the memory 270 may include a decoded picture buffer (DPB), and may be configured by a digital storage medium. The hardware component may further include a memory 270 as an internal/external component.
영상 분할부(210)는 인코딩 장치(200)에 입력된 입력 영상(또는, 픽쳐, 프레임)를 하나 이상의 처리 유닛(processing unit)으로 분할할 수 있다. 일 예로, 상기 처리 유닛은 코딩 유닛(coding unit, CU)이라고 불릴 수 있다. 이 경우 코딩 유닛은 코딩 트리 유닛(coding tree unit, CTU) 또는 최대 코딩 유닛(largest coding unit, LCU)으로부터 QTBTTT (Quad-tree binary-tree ternary-tree) 구조에 따라 재귀적으로(recursively) 분할될 수 있다. 예를 들어, 하나의 코딩 유닛은 쿼드 트리 구조, 바이너리 트리 구조, 및/또는 터너리 구조를 기반으로 하위(deeper) 뎁스의 복수의 코딩 유닛들로 분할될 수 있다. 이 경우 예를 들어 쿼드 트리 구조가 먼저 적용되고 바이너리 트리 구조 및/또는 터너리 구조가 나중에 적용될 수 있다. 또는 바이너리 트리 구조가 먼저 적용될 수도 있다. 더 이상 분할되지 않는 최종 코딩 유닛을 기반으로 본 문서에 따른 코딩 절차가 수행될 수 있다. 이 경우 영상 특성에 따른 코딩 효율 등을 기반으로, 최대 코딩 유닛이 바로 최종 코딩 유닛으로 사용될 수 있고, 또는 필요에 따라 코딩 유닛은 재귀적으로(recursively) 보다 하위 뎁스의 코딩 유닛들로 분할되어 최적의 사이즈의 코딩 유닛이 최종 코딩 유닛으로 사용될 수 있다. 여기서 코딩 절차라 함은 후술하는 예측, 변환, 및 복원 등의 절차를 포함할 수 있다. 다른 예로, 상기 처리 유닛은 예측 유닛(PU: Prediction Unit) 또는 변환 유닛(TU: Transform Unit)을 더 포함할 수 있다. 이 경우 상기 예측 유닛 및 상기 변환 유닛은 각각 상술한 최종 코딩 유닛으로부터 분할 또는 파티셔닝될 수 있다. 상기 예측 유닛은 샘플 예측의 단위일 수 있고, 상기 변환 유닛은 변환 계수를 유도하는 단위 및/또는 변환 계수로부터 레지듀얼 신호(residual signal)를 유도하는 단위일 수 있다. The image dividing unit 210 may divide an input image (or a picture, a frame) input to the encoding apparatus 200 into one or more processing units. For example, the processing unit may be referred to as a coding unit (CU). In this case, the coding unit is to be recursively divided according to a quad-tree binary-tree ternary-tree (QTBTTT) structure from a coding tree unit (CTU) or largest coding unit (LCU). can For example, one coding unit may be divided into a plurality of coding units having a lower depth based on a quad tree structure, a binary tree structure, and/or a ternary structure. In this case, for example, a quad tree structure may be applied first and a binary tree structure and/or a ternary structure may be applied later. Alternatively, the binary tree structure may be applied first. A coding procedure according to this document may be performed based on the final coding unit that is no longer divided. In this case, the largest coding unit may be directly used as the final coding unit based on coding efficiency according to image characteristics, or the coding unit may be recursively divided into coding units having a lower depth than the optimal coding unit if necessary. A coding unit of the size of may be used as the final coding unit. Here, the coding procedure may include procedures such as prediction, transformation, and restoration, which will be described later. As another example, the processing unit may further include a prediction unit (PU) or a transform unit (TU). In this case, the prediction unit and the transform unit may be divided or partitioned from the above-described final coding unit, respectively. The prediction unit may be a unit of sample prediction, and the transform unit may be a unit for deriving a transform coefficient and/or a unit for deriving a residual signal from the transform coefficient.
유닛은 경우에 따라서 블록(block) 또는 영역(area) 등의 용어와 혼용하여 사용될 수 있다. 일반적인 경우, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타낼 수 있다. 샘플은 일반적으로 픽셀 또는 픽셀의 값을 나타낼 수 있으며, 휘도(luma) 성분의 픽셀/픽셀값만을 나타낼 수도 있고, 채도(chroma) 성분의 픽셀/픽셀 값만을 나타낼 수도 있다. 샘플은 하나의 픽처(또는 영상)을 픽셀(pixel) 또는 펠(pel)에 대응하는 용어로서 사용될 수 있다.A unit may be used interchangeably with terms such as a block or an area in some cases. In general, an MxN block may represent a set of samples or transform coefficients including M columns and N rows. A sample may generally represent a pixel or a value of a pixel, may represent only a pixel/pixel value of a luminance component, or may represent only a pixel/pixel value of a chroma component. A sample may be used as a term corresponding to a picture (or an image) as a pixel or a pel.
인코딩 장치(200)는 입력 영상 신호(원본 블록, 원본 샘플 어레이)에서 인터 예측부(221) 또는 인트라 예측부(222)로부터 출력된 예측 신호(예측된 블록, 예측 샘플 어레이)를 감산하여 레지듀얼 신호(residual signal, 잔여 블록, 잔여 샘플 어레이)를 생성할 수 있고, 생성된 레지듀얼 신호는 변환부(232)로 전송된다. 이 경우 도시된 바와 같이 인코더(200) 내에서 입력 영상 신호(원본 블록, 원본 샘플 어레이)에서 예측 신호(예측 블록, 예측 샘플 어레이)를 감산하는 유닛은 감산부(231)라고 불릴 수 있다. 예측부는 처리 대상 블록(이하, 현재 블록이라 함)에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부는 현재 블록 또는 CU 단위로 인트라 예측이 적용되는지 또는 인터 예측이 적용되는지 결정할 수 있다. 예측부는 각 예측 모드에 대한 설명에서 후술하는 바와 같이 예측 모드 정보 등 예측에 관한 다양한 정보를 생성하여 엔트로피 인코딩부(240)로 전달할 수 있다. 예측에 관한 정보는 엔트로피 인코딩부(240)에서 인코딩되어 비트스트림 형태로 출력될 수 있다. The encoding apparatus 200 subtracts the prediction signal (predicted block, prediction sample array) output from the inter prediction unit 221 or the intra prediction unit 222 from the input image signal (original block, original sample array) to obtain a residual A signal (residual signal, residual block, residual sample array) may be generated, and the generated residual signal is transmitted to the converter 232 . In this case, as illustrated, a unit for subtracting a prediction signal (prediction block, prediction sample array) from an input image signal (original block, original sample array) in the encoder 200 may be referred to as a subtraction unit 231 . The prediction unit may perform prediction on a processing target block (hereinafter, referred to as a current block) and generate a predicted block including prediction samples for the current block. The prediction unit may determine whether intra prediction or inter prediction is applied on a current block or CU basis. The prediction unit may generate various information regarding prediction, such as prediction mode information, and transmit it to the entropy encoding unit 240 , as will be described later in the description of each prediction mode. The prediction information may be encoded by the entropy encoding unit 240 and output in the form of a bitstream.
인트라 예측부(222)는 현재 픽처 내의 샘플들을 참조하여 현재 블록을 예측할 수 있다. 상기 참조되는 샘플들은 예측 모드에 따라 상기 현재 블록의 주변(neighbor)에 위치할 수 있고, 또는 떨어져서 위치할 수도 있다. 인트라 예측에서 예측 모드들은 복수의 비방향성 모드와 복수의 방향성 모드를 포함할 수 있다. 비방향성 모드는 예를 들어 DC 모드 및 플래너 모드(Planar 모드)를 포함할 수 있다. 방향성 모드는 예측 방향의 세밀한 정도에 따라 예를 들어 33개의 방향성 예측 모드 또는 65개의 방향성 예측 모드를 포함할 수 있다. 다만, 이는 예시로서 설정에 따라 그 이상 또는 그 이하의 개수의 방향성 예측 모드들이 사용될 수 있다. 인트라 예측부(222)는 주변 블록에 적용된 예측 모드를 이용하여, 현재 블록에 적용되는 예측 모드를 결정할 수도 있다.The intra prediction unit 222 may predict the current block with reference to samples in the current picture. The referenced samples may be located in the vicinity of the current block or may be located apart from each other according to the prediction mode. In intra prediction, prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The non-directional mode may include, for example, a DC mode and a planar mode (Planar mode). The directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to the granularity of the prediction direction. However, this is an example, and a higher or lower number of directional prediction modes may be used according to a setting. The intra prediction unit 222 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
인터 예측부(221)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 참조 블록(참조 샘플 어레이)을 기반으로, 현재 블록에 대한 예측된 블록을 유도할 수 있다. 이때, 인터 예측 모드에서 전송되는 움직임 정보의 양을 줄이기 위해 주변 블록과 현재 블록 간의 움직임 정보의 상관성에 기초하여 움직임 정보를 블록, 서브블록 또는 샘플 단위로 예측할 수 있다. 상기 움직임 정보는 움직임 벡터 및 참조 픽처 인덱스를 포함할 수 있다. 상기 움직임 정보는 인터 예측 방향(L0 예측, L1 예측, Bi 예측 등) 정보를 더 포함할 수 있다. 인터 예측의 경우에, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처에 존재하는 시간적 주변 블록(temporal neighboring block)을 포함할 수 있다. 상기 참조 블록을 포함하는 참조 픽처와 상기 시간적 주변 블록을 포함하는 참조 픽처는 동일할 수도 있고, 다를 수도 있다. 상기 시간적 주변 블록은 동일 위치 참조 블록(collocated reference block), 동일 위치 CU(colCU) 등의 이름으로 불릴 수 있으며, 상기 시간적 주변 블록을 포함하는 참조 픽처는 동일 위치 픽처(collocated picture, colPic)라고 불릴 수도 있다. 예를 들어, 인터 예측부(221)는 주변 블록들을 기반으로 움직임 정보 후보 리스트를 구성하고, 상기 현재 블록의 움직임 벡터 및/또는 참조 픽처 인덱스를 도출하기 위하여 어떤 후보가 사용되는지를 지시하는 정보를 생성할 수 있다. 다양한 예측 모드를 기반으로 인터 예측이 수행될 수 있으며, 예를 들어 스킵 모드와 머지 모드의 경우에, 인터 예측부(221)는 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다. 스킵 모드의 경우, 머지 모드와 달리 레지듀얼 신호가 전송되지 않을 수 있다. 움직임 정보 예측(motion vector prediction, MVP) 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(motion vector predictor)로 이용하고, 움직임 벡터 차분(motion vector difference)을 시그널링함으로써 현재 블록의 움직임 벡터를 지시할 수 있다.The inter prediction unit 221 may derive the predicted block for the current block based on the 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, subblocks, or samples based on the correlation between motion information between neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter prediction, the neighboring blocks may include spatial neighboring blocks existing in the current picture and temporal neighboring blocks 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 block may be called a collocated reference block, a collocated CU (colCU), or the like, and a reference picture including the temporally neighboring block may be called a collocated picture (colPic). may be For example, the inter prediction unit 221 constructs a motion information candidate list based on neighboring blocks, and provides information indicating which candidate is used to derive a motion vector and/or a reference picture index of the current block. can create Inter prediction may be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter prediction unit 221 may use motion information of a neighboring block as motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the current block is calculated by using a motion vector of a neighboring block as a motion vector predictor and signaling a motion vector difference. can direct
예측부(220)는 후술하는 다양한 예측 방법을 기반으로 예측 신호를 생성할 수 있다. 예를 들어, 예측부는 하나의 블록에 대한 예측을 위하여 인트라 예측 또는 인터 예측을 적용할 수 있을 뿐 아니라, 인트라 예측과 인터 예측을 동시에 적용할 수 있다. 이는 combined inter and intra prediction (CIIP)라고 불릴 수 있다. 또한, 예측부는 블록에 대한 예측을 위하여 인트라 블록 카피(intra block copy, IBC) 예측 모드에 기반할 수도 있고 또는 팔레트 모드(palette mode)에 기반할 수도 있다. 상기 IBC 예측 모드 또는 팔레트 모드는 예를 들어 SCC(screen content coding) 등과 같이 게임 등의 컨텐츠 영상/동영상 코딩을 위하여 사용될 수 있다. IBC는 기본적으로 현재 픽처 내에서 예측을 수행하나 현재 픽처 내에서 참조 블록을 도출하는 점에서 인터 예측과 유사하게 수행될 수 있다. 즉, IBC는 본 문서에서 설명되는 인터 예측 기법들 중 적어도 하나를 이용할 수 있다. 팔레트 모드는 인트라 코딩 또는 인트라 예측의 일 예로 볼 수 있다. 팔레트 모드가 적용되는 경우 팔레트 테이블 및 팔레트 인덱스에 관한 정보를 기반으로 픽처 내 샘플 값을 시그널링할 수 있다.The prediction unit 220 may generate a prediction signal based on various prediction methods to be described later. For example, the prediction unit may apply intra prediction or inter prediction for prediction of one block, and may simultaneously apply intra prediction and inter prediction. This can be called combined inter and intra prediction (CIIP). In addition, the prediction unit may be based on an intra block copy (IBC) prediction mode or based on a palette mode for prediction of a block. The IBC prediction mode or the palette mode may be used for video/video coding of content such as games, for example, screen content coding (SCC). IBC basically performs prediction within the current picture, but may be performed similarly to inter prediction in that a reference block is derived within the current picture. That is, IBC may use at least one of the inter prediction techniques described in this document. The palette mode may be viewed as an example of intra coding or intra prediction. When the palette mode is applied, the sample value in the picture may be signaled based on information about the palette table and palette index.
상기 예측부 (인터 예측부(221) 및/또는 상기 인트라 예측부(222) 포함)를 통해 생성된 예측 신호는 복원 신호를 생성하기 위해 이용되거나 레지듀얼 신호를 생성하기 위해 이용될 수 있다. 변환부(232)는 레지듀얼 신호에 변환 기법을 적용하여 변환 계수들(transform coefficients)를 생성할 수 있다. 예를 들어, 변환 기법은 DCT(Discrete Cosine Transform), DST(Discrete Sine Transform), KLT(Karhunen-Loeve Transform), GBT(Graph-Based Transform), 또는 CNT(Conditionally Non-linear Transform) 중 적어도 하나를 포함할 수 있다. 여기서, GBT는 픽셀 간의 관계 정보를 그래프로 표현한다고 할 때 이 그래프로부터 얻어진 변환을 의미한다. CNT는 이전에 복원된 모든 픽셀(all previously reconstructed pixel)를 이용하여 예측 신호를 생성하고 그에 기초하여 획득되는 변환을 의미한다. 또한, 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블록에 적용될 수도 있고, 정사각형이 아닌 가변 크기의 블록에도 적용될 수 있다.The prediction signal generated by the prediction unit (including the inter prediction unit 221 and/or the intra prediction unit 222 ) may be used to generate a reconstructed signal or may be used to generate a residual signal. The transform unit 232 may generate transform coefficients by applying a transform technique to the residual signal. For example, the transformation method may include at least one of Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Karhunen-Loeve Transform (KLT), Graph-Based Transform (GBT), or Conditionally Non-linear Transform (CNT). may include Here, GBT means a transformation obtained from this graph when expressing relationship information between pixels in a graph. CNT refers to a transformation obtained by generating a prediction signal using all previously reconstructed pixels and based thereon. Also, the transformation process may be applied to a block of pixels having the same size as a square, or may be applied to a block of a variable size that is not a square.
양자화부(233)는 변환 계수들을 양자화하여 엔트로피 인코딩부(240)로 전송되고, 엔트로피 인코딩부(240)는 양자화된 신호(양자화된 변환 계수들에 관한 정보)를 인코딩하여 비트스트림으로 출력할 수 있다. 상기 양자화된 변환 계수들에 관한 정보는 레지듀얼 정보라고 불릴 수 있다. 양자화부(233)는 계수 스캔 순서(scan order)를 기반으로 블록 형태의 양자화된 변환 계수들을 1차원 벡터 형태로 재정렬할 수 있고, 상기 1차원 벡터 형태의 양자화된 변환 계수들을 기반으로 상기 양자화된 변환 계수들에 관한 정보를 생성할 수도 있다. 엔트로피 인코딩부(240)는 예를 들어 지수 골롬(exponential Golomb), CAVLC(context-adaptive variable length coding), CABAC(context-adaptive binary arithmetic coding) 등과 같은 다양한 인코딩 방법을 수행할 수 있다. 엔트로피 인코딩부(240)는 양자화된 변환 계수들 외 비디오/이미지 복원에 필요한 정보들(예컨대 신택스 요소들(syntax elements)의 값 등)을 함께 또는 별도로 인코딩할 수도 있다. 인코딩된 정보(ex. 인코딩된 비디오/영상 정보)는 비트스트림 형태로 NAL(network abstraction layer) 유닛 단위로 전송 또는 저장될 수 있다. 상기 비디오/영상 정보는 어댑테이션 파라미터 세트(APS), 픽처 파라미터 세트(PPS), 시퀀스 파라미터 세트(SPS) 또는 비디오 파라미터 세트(VPS) 등 다양한 파라미터 세트에 관한 정보를 더 포함할 수 있다. 또한 상기 비디오/영상 정보는 일반 제한 정보(general constraint information)을 더 포함할 수 있다. 본 문서에서 인코딩 장치에서 디코딩 장치로 전달/시그널링되는 정보 및/또는 신택스 요소들은 비디오/영상 정보에 포함될 수 있다. 상기 비디오/영상 정보는 상술한 인코딩 절차를 통하여 인코딩되어 상기 비트스트림에 포함될 수 있다. 상기 비트스트림은 네트워크를 통하여 전송될 수 있고, 또는 디지털 저장매체에 저장될 수 있다. 여기서 네트워크는 방송망 및/또는 통신망 등을 포함할 수 있고, 디지털 저장매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장매체를 포함할 수 있다. 엔트로피 인코딩부(240)로부터 출력된 신호는 전송하는 전송부(미도시) 및/또는 저장하는 저장부(미도시)가 인코딩 장치(200)의 내/외부 엘리먼트로서 구성될 수 있고, 또는 전송부는 엔트로피 인코딩부(240)에 포함될 수도 있다.The quantization unit 233 quantizes the transform coefficients and transmits them to the entropy encoding unit 240, and the entropy encoding unit 240 encodes the quantized signal (information on the quantized transform coefficients) and outputs it as a bitstream. there is. Information about the quantized transform coefficients may be referred to as residual information. The quantization unit 233 may rearrange the quantized transform coefficients in the block form into a one-dimensional vector form based on a coefficient scan order, and the quantized transform coefficients in the one-dimensional vector form are quantized based on the quantized transform coefficients in the one-dimensional vector form. Information about the transform coefficients may be generated. The entropy encoding unit 240 may perform various encoding methods such as, for example, exponential Golomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC). The entropy encoding unit 240 may encode information necessary for video/image reconstruction (eg, values of syntax elements, etc.) other than the quantized transform coefficients together or separately. Encoded information (eg, encoded video/image information) may be transmitted or stored in a network abstraction layer (NAL) unit unit in a bitstream form. The video/image information may further include information about various parameter sets, such as an adaptation 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 further include general constraint information. In this document, information and/or syntax elements transmitted/signaled from the encoding device to the decoding device may be included in video/image information. The video/image information may be encoded through the above-described encoding procedure and included in the bitstream. The bitstream may be transmitted over a network or may be stored in a digital storage medium. Here, the network may include a broadcasting network and/or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. In the signal output from the entropy encoding unit 240, a transmitting unit (not shown) and/or a storing unit (not shown) for storing may be configured as internal/external elements of the encoding apparatus 200, or the transmitting unit It may be included in the entropy encoding unit 240 .
양자화부(233)로부터 출력된 양자화된 변환 계수들은 예측 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 변환 계수들에 역양자화부(234) 및 역변환부(235)를 통해 역양자화 및 역변환을 적용함으로써 레지듀얼 신호(레지듀얼 블록 or 레지듀얼 샘플들)를 복원할 수 있다. 가산부(250)는 복원된 레지듀얼 신호를 인터 예측부(221) 또는 인트라 예측부(222)로부터 출력된 예측 신호에 더함으로써 복원(reconstructed) 신호(복원 픽처, 복원 블록, 복원 샘플 어레이)가 생성될 수 있다. 스킵 모드가 적용된 경우와 같이 처리 대상 블록에 대한 레지듀얼이 없는 경우, 예측된 블록이 복원 블록으로 사용될 수 있다. 가산부(250)는 복원부 또는 복원 블록 생성부라고 불릴 수 있다. 생성된 복원 신호는 현재 픽처 내 다음 처리 대상 블록의 인트라 예측을 위하여 사용될 수 있고, 후술하는 바와 같이 필터링을 거쳐서 다음 픽처의 인터 예측을 위하여 사용될 수도 있다. The quantized transform coefficients output from the quantization unit 233 may be used to generate a prediction signal. For example, a residual signal (residual block or residual samples) may be reconstructed by applying inverse quantization and inverse transform to the quantized transform coefficients through the inverse quantizer 234 and the inverse transform unit 235 . The adder 250 adds the reconstructed residual signal to the prediction signal output from the inter prediction unit 221 or the intra prediction unit 222 to obtain a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array). can be created When there is no residual for the block to be processed, such as when the skip mode is applied, the predicted block may be used as a reconstructed block. The addition unit 250 may be called a restoration unit or a restoration block generation unit. The generated reconstructed signal may be used for intra prediction of the next processing object block in the current picture, or may be used for inter prediction of the next picture after filtering as described below.
한편 픽처 인코딩 및/또는 복원 과정에서 LMCS (luma mapping with chroma scaling)가 적용될 수도 있다.Meanwhile, luma mapping with chroma scaling (LMCS) may be applied during picture encoding and/or restoration.
필터링부(260)는 복원 신호에 필터링을 적용하여 주관적/객관적 화질을 향상시킬 수 있다. 예를 들어 필터링부(260)은 복원 픽처에 다양한 필터링 방법을 적용하여 수정된(modified) 복원 픽처를 생성할 수 있고, 상기 수정된 복원 픽처를 메모리(270), 구체적으로 메모리(270)의 DPB에 저장할 수 있다. 상기 다양한 필터링 방법은 예를 들어, 디블록킹 필터링, 샘플 적응적 오프셋(sample adaptive offset), 적응적 루프 필터(adaptive loop filter), 양방향 필터(bilateral filter) 등을 포함할 수 있다. 필터링부(260)은 각 필터링 방법에 대한 설명에서 후술하는 바와 같이 필터링에 관한 다양한 정보를 생성하여 엔트로피 인코딩부(240)로 전달할 수 있다. 필터링 관한 정보는 엔트로피 인코딩부(240)에서 인코딩되어 비트스트림 형태로 출력될 수 있다. The filtering unit 260 may improve subjective/objective image quality by applying filtering to the reconstructed signal. For example, the filtering unit 260 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 270 , specifically, the DPB of the memory 270 . can be stored in The various filtering methods may include, for example, deblocking filtering, a sample adaptive offset, an adaptive loop filter, a bilateral filter, and the like. The filtering unit 260 may generate various types of filtering-related information and transmit it to the entropy encoding unit 240 , as will be described later in the description of each filtering method. The filtering-related information may be encoded by the entropy encoding unit 240 and output in the form of a bitstream.
메모리(270)에 전송된 수정된 복원 픽처는 인터 예측부(221)에서 참조 픽처로 사용될 수 있다. 인코딩 장치는 이를 통하여 인터 예측이 적용되는 경우, 인코딩 장치(200)와 디코딩 장치(300)에서의 예측 미스매치를 피할 수 있고, 부호화 효율도 향상시킬 수 있다. The corrected reconstructed picture transmitted to the memory 270 may be used as a reference picture in the inter prediction unit 221 . When inter prediction is applied through this, the encoding apparatus can avoid prediction mismatch between the encoding apparatus 200 and the decoding apparatus 300, and can also improve encoding efficiency.
메모리(270) DPB는 수정된 복원 픽처를 인터 예측부(221)에서의 참조 픽처로 사용하기 위해 저장할 수 있다. 메모리(270)는 현재 픽처 내 움직임 정보가 도출된(또는 인코딩된) 블록의 움직임 정보 및/또는 이미 복원된 픽처 내 블록들의 움직임 정보를 저장할 수 있다. 상기 저장된 움직임 정보는 공간적 주변 블록의 움직임 정보 또는 시간적 주변 블록의 움직임 정보로 활용하기 위하여 인터 예측부(221)에 전달할 수 있다. 메모리(270)는 현재 픽처 내 복원된 블록들의 복원 샘플들을 저장할 수 있고, 인트라 예측부(222)에 전달할 수 있다.The memory 270 DPB may store the corrected reconstructed picture to be used as a reference picture in the inter prediction unit 221 . The memory 270 may store motion information of a block in which motion information in the current picture is derived (or encoded) and/or motion information of blocks in an already reconstructed picture. The stored motion information may be transmitted to the inter prediction unit 221 to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block. The memory 270 may store reconstructed samples of blocks reconstructed in the current picture, and may transmit the reconstructed samples to the intra prediction unit 222 .
도 3은 본 문서의 실시예들이 적용될 수 있는 비디오/영상 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.3 is a diagram schematically illustrating a configuration of a video/image decoding apparatus to which embodiments of the present document may be applied.
도 3을 참조하면, 디코딩 장치(300)는 엔트로피 디코딩부(entropy decoder, 310), 레지듀얼 처리부(residual processor, 320), 예측부(predictor, 330), 가산부(adder, 340), 필터링부(filter, 350) 및 메모리(memory, 360)를 포함하여 구성될 수 있다. 예측부(330)는 인터 예측부(331) 및 인트라 예측부(332)를 포함할 수 있다. 레지듀얼 처리부(320)는 역양자화부(dequantizer, 321) 및 역변환부(inverse transformer, 322)를 포함할 수 있다. 상술한 엔트로피 디코딩부(310), 레지듀얼 처리부(320), 예측부(330), 가산부(340) 및 필터링부(350)는 실시예에 따라 하나의 하드웨어 컴포넌트(예를 들어 디코더 칩셋 또는 프로세서)에 의하여 구성될 수 있다. 또한 메모리(360)는 DPB(decoded picture buffer)를 포함할 수 있고, 디지털 저장 매체에 의하여 구성될 수도 있다. 상기 하드웨어 컴포넌트는 메모리(360)을 내/외부 컴포넌트로 더 포함할 수도 있다.Referring to FIG. 3 , the decoding apparatus 300 includes an entropy decoder 310 , a residual processor 320 , a predictor 330 , an adder 340 , and a filtering unit. (filter, 350) and may be configured to include a memory (memory, 360). The prediction unit 330 may include an inter prediction unit 331 and an intra prediction unit 332 . The residual processor 320 may include a dequantizer 321 and an inverse transformer 322 . The entropy decoding unit 310 , the residual processing unit 320 , the prediction unit 330 , the addition unit 340 , and the filtering unit 350 are one hardware component (eg, a decoder chipset or a processor according to an embodiment). ) can be configured by In addition, the memory 360 may include a decoded picture buffer (DPB), and may be configured by a digital storage medium. The hardware component may further include a memory 360 as an internal/external component.
비디오/영상 정보를 포함하는 비트스트림이 입력되면, 디코딩 장치(300)는 도 2의 인코딩 장치에서 비디오/영상 정보가 처리된 프로세스에 대응하여 영상을 복원할 수 있다. 예를 들어, 디코딩 장치(300)는 상기 비트스트림으로부터 획득한 블록 분할 관련 정보를 기반으로 유닛들/블록들을 도출할 수 있다. 디코딩 장치(300)는 인코딩 장치에서 적용된 처리 유닛을 이용하여 디코딩을 수행할 수 있다. 따라서 디코딩의 처리 유닛은 예를 들어 코딩 유닛일 수 있고, 코딩 유닛은 코딩 트리 유닛 또는 최대 코딩 유닛으로부터 쿼드 트리 구조, 바이너리 트리 구조 및/또는 터너리 트리 구조를 따라서 분할될 수 있다. 코딩 유닛으로부터 하나 이상의 변환 유닛이 도출될 수 있다. 그리고, 디코딩 장치(300)를 통해 디코딩 및 출력된 복원 영상 신호는 재생 장치를 통해 재생될 수 있다.When a bitstream including video/image information is input, the decoding apparatus 300 may reconstruct an image corresponding to a process in which the video/image information is processed in the encoding apparatus of FIG. 2 . For example, the decoding apparatus 300 may derive units/blocks based on block division related information obtained from the bitstream. The decoding apparatus 300 may perform decoding by using a processing unit applied in the encoding apparatus. Thus, the processing unit of decoding may be, for example, a coding unit, and the coding unit may be divided along a quad tree structure, a binary tree structure and/or a ternary tree structure from a coding tree unit or a largest coding unit. One or more transform units may be derived from a coding unit. In addition, the reconstructed image signal decoded and output through the decoding apparatus 300 may be reproduced through the reproduction apparatus.
디코딩 장치(300)는 도 2의 인코딩 장치로부터 출력된 신호를 비트스트림 형태로 수신할 수 있고, 수신된 신호는 엔트로피 디코딩부(310)를 통해 디코딩될 수 있다. 예를 들어, 엔트로피 디코딩부(310)는 상기 비트스트림을 파싱하여 영상 복원(또는 픽처 복원)에 필요한 정보(ex. 비디오/영상 정보)를 도출할 수 있다. 상기 비디오/영상 정보는 어댑테이션 파라미터 세트(APS), 픽처 파라미터 세트(PPS), 시퀀스 파라미터 세트(SPS) 또는 비디오 파라미터 세트(VPS) 등 다양한 파라미터 세트에 관한 정보를 더 포함할 수 있다. 또한 상기 비디오/영상 정보는 일반 제한 정보(general constraint information)을 더 포함할 수 있다. 디코딩 장치는 상기 파라미터 세트에 관한 정보 및/또는 상기 일반 제한 정보를 더 기반으로 픽처를 디코딩할 수 있다. 본 문서에서 후술되는 시그널링/수신되는 정보 및/또는 신택스 요소들은 상기 디코딩 절차를 통하여 디코딩되어 상기 비트스트림으로부터 획득될 수 있다. 예컨대, 엔트로피 디코딩부(310)는 지수 골롬 부호화, CAVLC 또는 CABAC 등의 코딩 방법을 기초로 비트스트림 내 정보를 디코딩하고, 영상 복원에 필요한 신택스 엘리먼트의 값, 레지듀얼에 관한 변환 계수의 양자화된 값 들을 출력할 수 있다. 보다 상세하게, CABAC 엔트로피 디코딩 방법은, 비트스트림에서 각 구문 요소에 해당하는 빈을 수신하고, 디코딩 대상 구문 요소 정보와 주변 및 디코딩 대상 블록의 디코딩 정보 혹은 이전 단계에서 디코딩된 심볼/빈의 정보를 이용하여 문맥(context) 모델을 결정하고, 결정된 문맥 모델에 따라 빈(bin)의 발생 확률을 예측하여 빈의 산술 디코딩(arithmetic decoding)를 수행하여 각 구문 요소의 값에 해당하는 심볼을 생성할 수 있다. 이때, CABAC 엔트로피 디코딩 방법은 문맥 모델 결정 후 다음 심볼/빈의 문맥 모델을 위해 디코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 업데이트할 수 있다. 엔트로피 디코딩부(310)에서 디코딩된 정보 중 예측에 관한 정보는 예측부(인터 예측부(332) 및 인트라 예측부(331))로 제공되고, 엔트로피 디코딩부(310)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수들 및 관련 파라미터 정보는 레지듀얼 처리부(320)로 입력될 수 있다. 레지듀얼 처리부(320)는 레지듀얼 신호(레지듀얼 블록, 레지듀얼 샘플들, 레지듀얼 샘플 어레이)를 도출할 수 있다. 또한, 엔트로피 디코딩부(310)에서 디코딩된 정보 중 필터링에 관한 정보는 필터링부(350)으로 제공될 수 있다. 한편, 인코딩 장치로부터 출력된 신호를 수신하는 수신부(미도시)가 디코딩 장치(300)의 내/외부 엘리먼트로서 더 구성될 수 있고, 또는 수신부는 엔트로피 디코딩부(310)의 구성요소일 수도 있다. 한편, 본 문서에 따른 디코딩 장치는 비디오/영상/픽처 디코딩 장치라고 불릴 수 있고, 상기 디코딩 장치는 정보 디코더(비디오/영상/픽처 정보 디코더) 및 샘플 디코더(비디오/영상/픽처 샘플 디코더)로 구분할 수도 있다. 상기 정보 디코더는 상기 엔트로피 디코딩부(310)를 포함할 수 있고, 상기 샘플 디코더는 상기 역양자화부(321), 역변환부(322), 가산부(340), 필터링부(350), 메모리(360), 인터 예측부(332) 및 인트라 예측부(331) 중 적어도 하나를 포함할 수 있다.The decoding apparatus 300 may receive a signal output from the encoding apparatus of FIG. 2 in the form of a bitstream, and the received signal may be decoded through the entropy decoding unit 310 . For example, the entropy decoding unit 310 may derive information (eg, video/image information) necessary for image restoration (or picture restoration) by parsing the bitstream. The video/image information may further include information about various parameter sets, such as an adaptation 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 further include general constraint information. The decoding apparatus may decode the picture further based on the information on the parameter set and/or the general restriction information. Signaled/received information and/or syntax elements described later in this document may be decoded through the decoding procedure and obtained from the bitstream. For example, the entropy decoding unit 310 decodes information in a bitstream based on a coding method such as exponential Golomb encoding, CAVLC or CABAC, and a value of a syntax element required for image reconstruction, and a quantized value of a transform coefficient related to a residual can be printed out. In more detail, the CABAC entropy decoding method receives a bin corresponding to each syntax element in the bitstream, and decodes the syntax element information to be decoded and the decoding information of the surrounding and decoding target blocks or the symbol/bin information decoded in the previous step. A context model is determined using the context model, and the probability of occurrence of a bin is predicted according to the determined context model, and a symbol corresponding to the value of each syntax element can be generated by performing arithmetic decoding of the bin. there is. In this case, the CABAC entropy decoding method may update the context model by using the decoded symbol/bin information for the context model of the next symbol/bin after determining the context model. Prediction-related information among the information decoded by the entropy decoding unit 310 is provided to the prediction units (the inter prediction unit 332 and the intra prediction unit 331), and the entropy decoding unit 310 performs entropy decoding. The dual value, that is, the quantized transform coefficients and related parameter information may be input to the residual processing unit 320 . The residual processing unit 320 may derive a residual signal (residual block, residual samples, residual sample array). Also, information about filtering among the information decoded by the entropy decoding unit 310 may be provided to the filtering unit 350 . On the other hand, a receiving unit (not shown) that receives a signal output from the encoding device may be further configured as an internal/external element of the decoding device 300 , or the receiving unit may be a component of the entropy decoding unit 310 . On the other hand, the decoding apparatus according to this document may be called a video/image/picture decoding apparatus, and the decoding apparatus is divided into an information decoder (video/image/picture information decoder) and a sample decoder (video/image/picture sample decoder). may be The information decoder may include the entropy decoding unit 310 , and the sample decoder includes the inverse quantization unit 321 , the inverse transform unit 322 , the adder 340 , the filtering unit 350 , and the memory 360 . ), an inter prediction unit 332 , and at least one of an intra prediction unit 331 .
역양자화부(321)에서는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 출력할 수 있다. 역양자화부(321)는 양자화된 변환 계수들을 2차원의 블록 형태로 재정렬할 수 있다. 이 경우 상기 재정렬은 인코딩 장치에서 수행된 계수 스캔 순서를 기반하여 재정렬을 수행할 수 있다. 역양자화부(321)는 양자화 파라미터(예를 들어 양자화 스텝 사이즈 정보)를 이용하여 양자화된 변환 계수들에 대한 역양자화를 수행하고, 변환 계수들(transform coefficient)를 획득할 수 있다. The inverse quantizer 321 may inverse quantize the quantized transform coefficients to output the transform coefficients. The inverse quantizer 321 may rearrange the quantized transform coefficients in a two-dimensional block form. In this case, the rearrangement may be performed based on the coefficient scan order performed by the encoding device. The inverse quantization unit 321 may perform inverse quantization on the quantized transform coefficients using a quantization parameter (eg, quantization step size information) and obtain transform coefficients.
역변환부(322)에서는 변환 계수들을 역변환하여 레지듀얼 신호(레지듀얼 블록, 레지듀얼 샘플 어레이)를 획득하게 된다. The inverse transform unit 322 inverse transforms the transform coefficients to obtain a residual signal (residual block, residual sample array).
예측부는 현재 블록에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부는 엔트로피 디코딩부(310)로부터 출력된 상기 예측에 관한 정보를 기반으로 상기 현재 블록에 인트라 예측이 적용되는지 또는 인터 예측이 적용되는지 결정할 수 있고, 구체적인 인트라/인터 예측 모드를 결정할 수 있다. The prediction unit may perform prediction on the current block and generate a predicted block including prediction samples for the current block. The prediction unit may determine whether intra prediction or inter prediction is applied to the current block based on the prediction information output from the entropy decoding unit 310, and may determine a specific intra/inter prediction mode.
예측부(320)는 후술하는 다양한 예측 방법을 기반으로 예측 신호를 생성할 수 있다. 예를 들어, 예측부는 하나의 블록에 대한 예측을 위하여 인트라 예측 또는 인터 예측을 적용할 수 있을 뿐 아니라, 인트라 예측과 인터 예측을 동시에 적용할 수 있다. 이는 combined inter and intra prediction (CIIP)라고 불릴 수 있다. 또한, 예측부는 블록에 대한 예측을 위하여 인트라 블록 카피(intra block copy, IBC) 예측 모드에 기반할 수도 있고 또는 팔레트 모드(palette mode)에 기반할 수도 있다. 상기 IBC 예측 모드 또는 팔레트 모드는 예를 들어 SCC(screen content coding) 등과 같이 게임 등의 컨텐츠 영상/동영상 코딩을 위하여 사용될 수 있다. IBC는 기본적으로 현재 픽처 내에서 예측을 수행하나 현재 픽처 내에서 참조 블록을 도출하는 점에서 인터 예측과 유사하게 수행될 수 있다. 즉, IBC는 본 문서에서 설명되는 인터 예측 기법들 중 적어도 하나를 이용할 수 있다. 팔레트 모드는 인트라 코딩 또는 인트라 예측의 일 예로 볼 수 있다. 팔레트 모드가 적용되는 경우 팔레트 테이블 및 팔레트 인덱스에 관한 정보가 상기 비디오/영상 정보에 포함되어 시그널링될 수 있다. The prediction unit 320 may generate a prediction signal based on various prediction methods to be described later. For example, the prediction unit may apply intra prediction or inter prediction for prediction of one block, and may simultaneously apply intra prediction and inter prediction. This can be called combined inter and intra prediction (CIIP). In addition, the prediction unit may be based on an intra block copy (IBC) prediction mode or based on a palette mode for prediction of a block. The IBC prediction mode or the palette mode may be used for video/video coding of content such as games, for example, screen content coding (SCC). IBC basically performs prediction within the current picture, but may be performed similarly to inter prediction in that a reference block is derived within the current picture. That is, IBC may use at least one of the inter prediction techniques described in this document. The palette mode may be viewed as an example of intra coding or intra prediction. When the palette mode is applied, information about a palette table and a palette index may be included in the video/image information and signaled.
인트라 예측부(331)는 현재 픽처 내의 샘플들을 참조하여 현재 블록을 예측할 수 있다. 상기 참조되는 샘플들은 예측 모드에 따라 상기 현재 블록의 주변(neighbor)에 위치할 수 있고, 또는 떨어져서 위치할 수도 있다. 인트라 예측에서 예측 모드들은 복수의 비방향성 모드와 복수의 방향성 모드를 포함할 수 있다. 인트라 예측부(331)는 주변 블록에 적용된 예측 모드를 이용하여, 현재 블록에 적용되는 예측 모드를 결정할 수도 있다.The intra prediction unit 331 may predict the current block with reference to samples in the current picture. The referenced samples may be located in the vicinity of the current block or may be located apart from each other according to the prediction mode. In intra prediction, prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The intra prediction unit 331 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
인터 예측부(332)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 참조 블록(참조 샘플 어레이)을 기반으로, 현재 블록에 대한 예측된 블록을 유도할 수 있다. 이때, 인터 예측 모드에서 전송되는 움직임 정보의 양을 줄이기 위해 주변 블록과 현재 블록 간의 움직임 정보의 상관성에 기초하여 움직임 정보를 블록, 서브블록 또는 샘플 단위로 예측할 수 있다. 상기 움직임 정보는 움직임 벡터 및 참조 픽처 인덱스를 포함할 수 있다. 상기 움직임 정보는 인터 예측 방향(L0 예측, L1 예측, Bi 예측 등) 정보를 더 포함할 수 있다. 인터 예측의 경우에, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처에 존재하는 시간적 주변 블록(temporal neighboring block)을 포함할 수 있다. 예를 들어, 인터 예측부(332)는 주변 블록들을 기반으로 움직임 정보 후보 리스트를 구성하고, 수신한 후보 선택 정보를 기반으로 상기 현재 블록의 움직임 벡터 및/또는 참조 픽처 인덱스를 도출할 수 있다. 다양한 예측 모드를 기반으로 인터 예측이 수행될 수 있으며, 상기 예측에 관한 정보는 상기 현재 블록에 대한 인터 예측의 모드를 지시하는 정보를 포함할 수 있다. The inter prediction unit 332 may derive the predicted block for the current block based on the 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, subblocks, or samples based on the correlation between motion information between neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter prediction, the neighboring blocks may include spatial neighboring blocks existing in the current picture and temporal neighboring blocks present in the reference picture. For example, the inter prediction unit 332 may construct 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 the mode of inter prediction for the current block.
가산부(340)는 획득된 레지듀얼 신호를 예측부(인터 예측부(332) 및/또는 인트라 예측부(331) 포함)로부터 출력된 예측 신호(예측된 블록, 예측 샘플 어레이)에 더함으로써 복원 신호(복원 픽처, 복원 블록, 복원 샘플 어레이)를 생성할 수 있다. 스킵 모드가 적용된 경우와 같이 처리 대상 블록에 대한 레지듀얼이 없는 경우, 예측된 블록이 복원 블록으로 사용될 수 있다.The adder 340 restores the obtained residual signal by adding it to the prediction signal (predicted block, prediction sample array) output from the prediction unit (including the inter prediction unit 332 and/or the intra prediction unit 331 ). A signal (reconstructed picture, reconstructed block, reconstructed sample array) may be generated. When there is no residual for the block to be processed, such as when the skip mode is applied, the predicted block may be used as a reconstructed block.
가산부(340)는 복원부 또는 복원 블록 생성부라고 불릴 수 있다. 생성된 복원 신호는 현재 픽처 내 다음 처리 대상 블록의 인트라 예측을 위하여 사용될 수 있고, 후술하는 바와 같이 필터링을 거쳐서 출력될 수도 있고 또는 다음 픽처의 인터 예측을 위하여 사용될 수도 있다. The adder 340 may be referred to as a restoration unit or a restoration block generator. The generated reconstructed signal may be used for intra prediction of the next processing target block in the current picture, may be output through filtering as described below, or may be used for inter prediction of the next picture.
한편, 픽처 디코딩 과정에서 LMCS (luma mapping with chroma scaling)가 적용될 수도 있다.Meanwhile, luma mapping with chroma scaling (LMCS) may be applied in the picture decoding process.
필터링부(350)는 복원 신호에 필터링을 적용하여 주관적/객관적 화질을 향상시킬 수 있다. 예를 들어 필터링부(350)는 복원 픽처에 다양한 필터링 방법을 적용하여 수정된(modified) 복원 픽처를 생성할 수 있고, 상기 수정된 복원 픽처를 메모리(360), 구체적으로 메모리(360)의 DPB에 전송할 수 있다. 상기 다양한 필터링 방법은 예를 들어, 디블록킹 필터링, 샘플 적응적 오프셋(sample adaptive offset), 적응적 루프 필터(adaptive loop filter), 양방향 필터(bilateral filter) 등을 포함할 수 있다. The filtering unit 350 may improve subjective/objective image quality by applying filtering to the reconstructed signal. For example, the filtering unit 350 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and convert the modified reconstructed picture to the memory 360 , specifically, the DPB of the memory 360 . can be sent to The various filtering methods may include, for example, deblocking filtering, a sample adaptive offset, an adaptive loop filter, a bilateral filter, and the like.
메모리(360)의 DPB에 저장된 (수정된) 복원 픽처는 인터 예측부(332)에서 참조 픽쳐로 사용될 수 있다. 메모리(360)는 현재 픽처 내 움직임 정보가 도출된(또는 디코딩된) 블록의 움직임 정보 및/또는 이미 복원된 픽처 내 블록들의 움직임 정보를 저장할 수 있다. 상기 저장된 움직임 정보는 공간적 주변 블록의 움직임 정보 또는 시간적 주변 블록의 움직임 정보로 활용하기 위하여 인터 예측부(260)에 전달할 수 있다. 메모리(360)는 현재 픽처 내 복원된 블록들의 복원 샘플들을 저장할 수 있고, 인트라 예측부(331)에 전달할 수 있다.The (modified) reconstructed picture stored in the DPB of the memory 360 may be used as a reference picture in the inter prediction unit 332 . The memory 360 may store motion information of a block in which motion information in the current picture is derived (or decoded) and/or motion information of blocks in an already reconstructed picture. The stored motion information may be transmitted to the inter prediction unit 260 to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block. The memory 360 may store reconstructed samples of blocks reconstructed in the current picture, and may transmit the reconstructed samples to the intra prediction unit 331 .
본 명세서에서, 인코딩 장치(200)의 필터링부(260), 인터 예측부(221) 및 인트라 예측부(222)에서 설명된 실시예들은 각각 디코딩 장치(300)의 필터링부(350), 인터 예측부(332) 및 인트라 예측부(331)에도 동일 또는 대응되도록 적용될 수 있다.In this specification, the embodiments described in the filtering unit 260 , the inter prediction unit 221 , and the intra prediction unit 222 of the encoding apparatus 200 are the filtering unit 350 and the inter prediction unit of the decoding apparatus 300 , respectively. The same or corresponding application may be applied to the unit 332 and the intra prediction unit 331 .
한편, 상술한 인코딩된 영상(image)/비디오(video) 정보는 미디어 파일(media file)을 생성하기 위하여 미디어 파일 포맷(media file format)을 기반으로 구성될 수 있다. 예를 들어, 인코딩된 영상/비디오 정보는 상기 인코딩된 이미지/비디오 정보에 대한 하나 이상의 NAL 유닛/샘플 엔트리(entry)를 기반으로 미디어 파일 (세그먼트)을 형성(form)할 수 있다. 상기 미디어 파일은 샘플 엔트리 및 트랙(track)을 포함할 수 있다. 예를 들어, 미디어 파일 (세그먼트)은 다양한 레코드(record)를 포함할 수 있으며, 각각의 리코드는 영상/비디오와 관련된 정보 또는 미디어 파일 포멧과 관련된 정보를 포함할 수 있다. 또한, 예를 들어, 하나 이상의 NAL 유닛은 미디어 파일의 구성(configuration) 레코드(또는 디코더 구성 레코드, 또는 VVC 디코더 구성 레코드) 필드에 저장될 수 있다. 여기서, 필드는 신텍스 엘리먼트(syntax element)라고 불릴 수도 있다. 또한, 예를 들어, 상기 미디어 파일은 후술하는 VvcOperatingPointsRecord (작동 포인트 정보 샘플 그룹) 및/또는 OperatingPointGroupBox (작동 포인트 엔티티 그룹)를 포함할 수 있다.Meanwhile, the above-described encoded image/video information may be configured based on a media file format to generate a media file. For example, the encoded image/video information may form a media file (segment) based on one or more NAL unit/sample entries for the encoded image/video information. The media file may include sample entries and tracks. For example, a media file (segment) may include various records, and each record may include information related to an image/video or information related to a media file format. Also, for example, one or more NAL units may be stored in a configuration record (or decoder configuration record, or VVC decoder configuration record) field of the media file. Here, the field may be referred to as a syntax element. Also, for example, the media file may include VvcOperatingPointsRecord (operation point information sample group) and/or OperatingPointGroupBox (operation point entity group), which will be described later.
예를 들어, 이 문서에서 개시된 방법/실시예가 적용될 수 있는 미디어 파일 포맷으로 ISO Base Media File Format (ISOBMFF) 이 사용될 수 있다. ISOBMFF는 AVC 파일 포멧, HEVC 파일 포멧 및/또는 VVC 파일 포멧 등과 같은 많은 코덱 인캡슐레이션 포멧들(codec encapsulation formats)과 MPEG-4 파일 포멧, 3GPP 파일 포멧(3GP) 및/또는 DVB 파일 포멧 등과 같은 많은 멀티미디어 컨테이너 포멧들의 기초로 사용될 수 있다. 또한, 오디오 및 비디오와 같은 연속 미디어(continuous media) 외에도 이미지(image)와 같은 정적 미디어(static media) 및 메타데이터가 ISOBMFF에 따른 파일에 저장될 수 있다. ISOBMFF에 따라 구조화된 파일은 로컬 미디어 파일 플레이백(local media file playback), 원격 파일의 점진적 다운로드(progressive downloading of a remote file), DASH(Dynamic Adaptive Streaming over HTTP, DASH)에 대한 세그먼트(segments), 스트리밍할 콘텐츠의 컨테이너(containers) 및 패킷화 인스트럭션(packetization instructions), 수신된 실시간 미디어 스트림의 리코딩(recording of received real-time media streams) 등 다양한 용도로 사용될 수 있다.For example, ISO Base Media File Format (ISOBMFF) may be used as a media file format to which the method/embodiment disclosed in this document can be applied. ISOBMFF supports many codec encapsulation formats, such as AVC file format, HEVC file format and/or VVC file format, and MPEG-4 file format, 3GPP file format (3GP) and/or DVB file format, etc. It can be used as the basis for many multimedia container formats. Further, in addition to continuous media such as audio and video, static media such as an image and metadata may be stored in a file according to ISOBMFF. Files structured according to ISOBMFF include segments for local media file playback, progressive downloading of a remote file, Dynamic Adaptive Streaming over HTTP (DASH), It can be used for various purposes, such as containers of content to be streamed, packetization instructions, and recording of received real-time media streams.
후술하는 '박스(box)'는 ISOBMFF 의 기본 신텍스 엘리먼트(elementary syntax element)일 수 있다. ISOBMFF 파일은 일련의 박스(a sequence of boxes)로 구성될 수 있으며, 박스에는 다른 박스가 포함될 수 있다. 예를 들어, 무비 박스 (그룹화 타입(grouping type)이 'moov'인 박스)는 미디어 파일에 있는 연속 미디어 스트림들(continuous media streams)에 대한 메타데이터를 포함할 수 있고 각 스트림은 파일에 트랙으로 표시될 수 있다. 트랙에 대한 메타데이터는 트랙 박스(그룹화 타입(grouping type)이 'trak'인 박스)에 포함될 수 있고, 트랙의 미디어 콘텐츠(media content)는 미디어 데이터 박스(그룹화 타입(grouping type)이 'mdat'인 박스)에 포함되거나 또는 별도의 파일에 직접 포함될 수 있다. 트랙의 미디어 콘텐츠는 오디오 또는 비디오 액세스 유닛들과 같은 샘플 시퀀스(a sequence of samples)로 구성될 수 있다. 예를 들어, ISOBMFF는 기본 미디어 스트림(elementary media stream)을 포함하는 미디어 트랙(media track), 미디어 전송 인스트럭션들(media transmission instructions)을 포함하거나 수신된 패킷 스트림을 나타내는 힌트 트랙(hint track), 시간 동기화된 메타데이터(timesynchronized metadata)를 포함하는 타임드 메타데이터 트랙(timed metadata track) 와 같은 타입들의 트랙들을 지정할 수 있다.A 'box', which will be described later, may be an elementary syntax element of ISOBMFF. An ISOBMFF file may consist of a sequence of boxes, which may contain other boxes. For example, a movie box (a box with a grouping type of 'moov') may contain metadata for continuous media streams in a media file, each stream being a track in the file. can be displayed. Metadata about a track may be included in a track box (a box having a grouping type of 'trak'), and media content of the track may be included in a media data box (a grouping type of 'mdat'). in-box) or directly in a separate file. The media content of a track may consist of a sequence of samples, such as audio or video access units. For example, ISOBMFF includes a media track including an elementary media stream, a hint track including media transmission instructions or indicating a received packet stream, a time You can specify types of tracks such as a timed metadata track containing timesynchronized metadata.
또한, ISOBMFF는 저장용으로 설계되었지만 예를 들어 점진적 다운로드(progressive download) 또는 DASH와 같은 스트리밍에도 매우 유용하다. 스트리밍 목적으로, ISOBMFF에서 정의된 무비 프레그먼트들(movie fragments)이 사용될 수 있다. 단편화된 ISOBMFF 파일(fragmented ISOBMFF file)은 예를 들어 비디오 및 오디오와 관련된 두 개의 트랙들로 나타낼 수 있다. 예를 들어, 'moov' 박스를 수신한 후에 임의 액세스(random access)가 포함된 경우, 관련 미디어 데이터와 함께 모든 무비 프레그먼트 'moof'가 디코딩될 수 있다. ISOBMFF is also designed for storage, but is also very useful, for example, for progressive download or streaming like DASH. For streaming purposes, movie fragments defined in ISOBMFF may be used. A fragmented ISOBMFF file may be represented by, for example, two tracks related to video and audio. For example, if random access is included after receiving the 'moov' box, all movie fragments 'moof' together with related media data may be decoded.
또한, 각 트랙의 메타데이터는 상기 트랙에 사용된 코딩 또는 인캡슐레이션 포멧과 해당 포멧을 처리하는데 필요한 초기화 데이터(initialization data)를 제공하는 샘플 디스크립션 엔트리들(sample description entries)의 리스트를 포함할 수 있다. 또한, 각 샘플은 상기 트랙의 상기 샘플 디스크립션 엔트리들 중 하나와 연결될 수 있다.In addition, the metadata of each track may include a list of sample description entries that provide the coding or encapsulation format used for the track and initialization data necessary to process the format. there is. Also, each sample may be associated with one of the sample description entries of the track.
ISOBMFF를 사용하면 다양한 메커니즘으로 샘플별 메타데이터(sample-specific metadata)를 지정할 수 있다. 샘플 테이블 박스(그룹화 타입이 'stbl'인 박스) 내의 특정 박스들은 일반적인 요구 사항에 대응하기 위해 표준화될 수 있다. 예를 들어, 싱크(Sync) 샘플 박스(그룹화 타입이 'stss'인 박스)는 트랙의 랜덤 액세스 샘플들(random access samples)을 나열하는데 사용될 수 있다. 샘플 그룹화 메커니즘을 사용하면 파일 내 샘플 그룹 디스크립션 엔트리(sample group description entry)로 지정된 동일한 속성(property)을 공유하는 샘플 그룹으로 4자 그룹화 타입(a four-character grouping type)에 따라 샘플들을 매핑할 수 있다. ISOBMFF에는 여러 그룹화 타입들이 지정되어 있을 수 있다.ISOBMFF allows a variety of mechanisms to specify sample-specific metadata. Specific boxes in the sample table box (box with grouping type 'stbl') can be standardized to correspond to general requirements. For example, a Sync sample box (a box with a grouping type of 'stss') may be used to list random access samples of a track. Using the sample grouping mechanism, you can map samples according to a four-character grouping type into a sample group that shares the same property specified by the sample group description entry in the file. there is. Several grouping types may be specified in ISOBMFF.
한편, 후술하는 '샘플(sample)' 은 픽처를 나타내는 3개의 샘플 어레이들 (Y, Cb, Cr) 중 하나의 단일 시간(single time) 또는 단일 요소(single element)와 관련된 모든 데이터일 수 있다. 예를 들어, '샘플(sample)'이라는 용어가 (미디어 파일 포멧의) 트랙의 컨텍스트(context)에서 사용되는 경우에는 해당 트랙의 단일 시간과 관련된 모든 데이터를 의미할 수 있다. 여기서 시간은 디코딩 시간(decoding time) 또는 컴포지션 시간(composition time)일 수 있다. 또한, 예를 들어, 샘플(sample)'이라는 용어가 픽처의 컨텍스트(context)에서 사용되는 경우, 즉, "루마 샘플(luma sample)"이라는 문구와 같이 사용되는 경우에는 픽처를 나타내는 3개의 샘플 어레이들 중 하나에 있는 단일 요소를 나타낼 수 있다.Meanwhile, a 'sample' to be described later may be all data related to one single time or a single element among three sample arrays (Y, Cb, Cr) representing a picture. For example, when the term 'sample' is used in the context of a track (in a media file format), it may mean all data related to a single time of the corresponding track. Here, the time may be a decoding time or a composition time. Also, for example, when the term 'sample' is used in the context of a picture, that is, when used with the phrase "luma sample", a three sample array representing a picture It can represent a single element in one of them.
한편, VVC 콘텐츠(content)를 저장하기 위하여 아래와 같은 세 가지 타입의 기본 스트림들(elementary streams)이 정의될 수 있다.Meanwhile, in order to store VVC content, the following three types of elementary streams may be defined.
- 파라미터 세트(parameter set)를 포함하지 않는 비디오 기본 스트림(video elementary stream). 여기서, 모든 파라미터 세트들은 샘플 엔트리 또는 샘플 엔트리들에 저장될 수 있다. - a video elementary stream that does not contain a parameter set. Here, all parameter sets may be stored in a sample entry or sample entries.
- 파라미터 세트를 포함할 수 있고, 상기 파라미터 세트들이 저장된 샘플 엔트리 또는 샘플 엔트리들을 가지는 비디오 및 파라미터 세트 기본 스트림. - a video and parameter set elementary stream which may contain a parameter set and has a sample entry or sample entries in which the parameter sets are stored.
- 비디오 트랙에 포함된 기본 스트림과 동기화된 non-VCL NAL 유닛들을 포함하는 non-VCL 기본 스트림. 여기서, VVC non-VCL 트랙은 샘플 엔트리들 내 파라미터 세트를 포함하지 않는다. - A non-VCL elementary stream containing non-VCL NAL units synchronized with the elementary stream included in the video track. Here, the VVC non-VCL track does not include a parameter set in sample entries.
한편, VVC를 위한 ISO 기반 미디어 파일 포멧(ISO based media file format, ISOBMF)의 작동 포인트 정보(operating points information)가 그룹화 타입(grouping type)이 'vopi'인 그룹 박스(group box) 또는 그룹화 타입이 'opeg'인 엔티티 그룹(entity group)에서 샘플로 시그널링될 수 있다. 여기서, 작동 포인트는 OLS(Output Layer Set, OLS) 인덱스와 TemporalId의 가장 높은 값으로 식별되는 OLS의 시간적 서브셋(temporal subset)일 수 있다. 각 작동 포인트는 상기 작동 포인트의 적합성 포인트(conformance point)를 정의하는 프로파일(profile), 티어(tier) 및 레벨(level) (즉, PTL)과 관련될 수 있다. 상기 작동 포인트 정보는 샘플과 각 작동 포인트에 대한 샘플 엔트리를 식별하는데 필요할 수 있다.On the other hand, the operating point information (operating points information) of the ISO based media file format (ISOBMF) for VVC is a group box or grouping type in which the grouping type is 'vopi' It may be signaled as a sample in an entity group that is 'opeg'. Here, the operating point may be a temporal subset of the OLS identified by the highest value of the OLS (Output Layer Set, OLS) index and TemporalId. Each actuation point may be associated with a profile, tier and level (ie, a PTL) that defines the conformance point of the actuation point. The actuation point information may be needed to identify a sample and a sample entry for each actuation point.
어플리케이션들(Applications)에는 주어진 VVC 비트스트림에서 제공하는 다양한 작동 포인트들과 작동 포인트 정보 샘플 그룹('vopi')을 사용하여 상기 작동 포인트들의 구성(constitution)에 대한 정보가 제공될 수 있다. 각 작동 포인트는 OLS, 최대 TemporalId 값, 프로파일, 레벨 및 티어 시그널링과 관련이 있다. 상술한 모든 정보는 'vopi' 샘플 그룹에 의해 캡처(capture)될 수 있다. 상술한 정보와 별도로, 상기 샘플 그룹은 레이어들 간의 종속성 정보(dependency information)도 제공할 수 있다. Applications may be provided with various actuation points provided by a given VVC bitstream and information on the constitution of the actuation points using an actuation point information sample group ('vopi'). Each actuation point is associated with OLS, maximum TemporalId value, profile, level and tier signaling. All of the above information can be captured by the 'vopi' sample group. Apart from the above information, the sample group may also provide dependency information between layers.
한편, VVC 비트스트림에 대하여 하나 이상의 VVC 트랙이 존재하고 VVC 비트스트림에 대하여 작동 포인트 엔티티 그룹(Operating Point entity group)이 존재하지 않는 경우에는 다음 사항이 모두 적용될 수 있다.Meanwhile, when one or more VVC tracks exist for a VVC bitstream and an Operating Point entity group does not exist for a VVC bitstream, all of the following may be applied.
- VVC 비트스트림에 대한 VVC 트랙들 중 'vopi' 샘플 그룹을 전달하는 트랙은 하나뿐이어야 한다.- Among the VVC tracks for the VVC bitstream, there must be only one track carrying the 'vopi' sample group.
- VVC 비트스트림의 다른 모든 VVC 트랙은 상기 'vopi' 샘플 그룹을 운반하는 트랙에 대한 'oref' 타입의 트랙 레퍼런스(track reference)를 가져야 한다.- All other VVC tracks of the VVC bitstream must have a track reference of type 'oref' to the track carrying the 'vopi' sample group.
또한, 지정된 트랙(given track)의 특정 샘플에 대하여, 다른 트랙의 시간적 콜로케이티드 샘플(temporally collocated sample)은 상기 특정 샘플과 디코딩 시간(decoding time)이 동일한 샘플로 정의될 수 있다. 'vopi' 샘플 그룹을 전달하는 트랙 Tk에 대한 'oref' 트랙 레퍼런스를 갖는 트랙 TN의 각 샘플 SN에 대하여, 다음이 적용될 수 있다.Also, with respect to a specific sample of a given track, a temporally collocated sample of another track may be defined as a sample having the same decoding time as the specific sample. For each sample SN of track TN with 'oref' track reference to track Tk carrying 'vopi' sample group, the following may apply.
- 트랙 Tk에 시간적 콜로케이티드 샘플 Sk가 있는 경우, 샘플 SN은 샘플 Sk와 동일한 'vopi' 샘플 그룹 엔티티와 관련될 수 있다.- If there is a temporally collocated sample Sk in the track Tk, the sample SN may be associated with the same 'vopi' sample group entity as the sample Sk.
- 그렇지 않은 경우, 샘플 SN은 디코딩 시간에서 샘플 SN에 선행하는 트랙 Tk의 마지막 샘플과 동일한 vopi' 샘플 그룹 엔티티와 관련될 수 있다.- otherwise, the sample SN may be associated with the same vopi' sample group entity as the last sample of the track Tk preceding the sample SN in decoding time.
VVC 비트스트림에서 여러 VPS들(several VPSs)이 참조되는 경우, grouping_type 'vopi'가 있는 샘플 그룹 디스크립션 박스(sample group description box)에 여러 엔티티들을 포함해야 할 수 있다. 단일 VPS가 있는 보다 일반적인 경우에는 ISO/IEC 14496-12 에 정의된 디폴트 샘플 그룹 메커니즘(default sample group mechanism)을 사용하고 각 트랙 프래그먼트(track fragment)에 포함하지 않고 샘플 테이블 박스에 작동 포인트 정보 샘플 그룹(operating points information sample group)을 포함할 것이 권장될 수 있다. When several VPSs are referenced in the VVC bitstream, it may be necessary to include several entities in a sample group description box with grouping_type 'vopi'. In the more general case with a single VPS, use the default sample group mechanism defined in ISO/IEC 14496-12 and not include it in each track fragment, but instead put the operating point information in the sample table box. It may be recommended to include (operating points information sample group).
또한, grouping_type_parameter는 그룹화 타입이 'vopi'인 SampleToGroupBox에 대해 정의되지 않을 수 있다.Also, grouping_type_parameter may not be defined for SampleToGroupBox whose grouping type is 'vopi'.
상술한 작동 포인트 정보를 포함하는 'vopi' 샘플 그룹, 즉, 작동 포인트 정보 샘플 그룹의 신텍스는 아래의 표와 같을 수 있다. The syntax of the 'vopi' sample group including the above-described operating point information, that is, the operating point information sample group, may be as shown in the table below.
또한, 상기 작동 포인트 정보 샘플 그룹의 신텍스에 대한 시멘틱(semantics)은 다음의 표와 같을 수 있다. In addition, semantics of the syntax of the operation point information sample group may be as shown in the following table.
예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 num_profile_tier_level_minus1 에 1을 더한 값은 프로파일(profiles), 티어(tier) 및 레벨(level) 조합(combinations)에 관련된 필드의 수를 나타낼 수 있다. For example, referring to Table 2, a value obtained by adding 1 to the syntax element num_profile_tier_level_minus1 may indicate the number of fields related to profiles, tiers, and level combinations.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 ptl_max_temporal_id[i] 는 지정된 i번째 프로파일, 티어, 레벨(profiles, tier, level structure, PTL) 구조에 대한 비트스트림의 NAL 유닛들의 최대 TemporalID 를 나타낼 수 있다. 즉, 예를 들어, 신텍스 엘리먼트 ptl_max_temporal_id[i] 는 i번째 PTL 구조에 대한 비트스트림의 NAL 유닛의 시간적 ID(TemporalID)의 최대값을 나타낼 수 있다. 한편, 작동 포인트의 ptl_max_temporal_id[i] 및 max_temporal_id은 동일한 값을 전달할 수도 있으나, 상기 신텍스 엘리먼트들의 시멘틱은 다르다.In addition, for example, referring to Table 2 above, the syntax element ptl_max_temporal_id[i] represents the maximum TemporalID of NAL units of the bitstream for the specified i-th profile, tier, and level (profiles, tier, level structure, PTL) structure. can That is, for example, the syntax element ptl_max_temporal_id[i] may indicate the maximum value of the temporal ID (TemporalID) of the NAL unit of the bitstream for the i-th PTL structure. Meanwhile, ptl_max_temporal_id[i] and max_temporal_id of the actuation point may transmit the same value, but semantics of the syntax elements are different.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 ptl[i]는 i번째 PTL 구조를 가리킬 수 있다. Also, for example, referring to Table 2 above, the syntax element ptl[i] may indicate an i-th PTL structure.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트들 all_independent_layers_flag, each_layer_is_an_ols_flag, ols_mode_idc 및 max_tid_il_ref_pics_plus1 은 ISO/IEC 23090-3에 정의된 바와 같을 수 있다. 여기서, ISO/IEC 23090-3 는 VVC (versatile video coding) 표준을 의미한다. Also, for example, referring to Table 2, the syntax elements all_independent_layers_flag, each_layer_is_an_ols_flag, ols_mode_idc, and max_tid_il_ref_pics_plus1 may be as defined in ISO/IEC 23090-3. Here, ISO/IEC 23090-3 refers to a versatile video coding (VVC) standard.
구체적으로, 예를 들어, 신텍스 엘리먼트 all_independent_layers_flag 는 작동 포인트 정보 샘플 그룹에 대한 비트스트림의 모든 레이어들이 인터레이어 예측을 사용하지 않고 독립적으로 코딩되는지 여부를 나타낼 수 있다. 예를 들어, 1과 동일한 all_independent_layers_flag 는 모든 레이어들이 인터레이어 예측을 사용하지 않고 독립적으로 코딩됨을 나타낼 수 있다. 또한, 예를 들어, 0과 동일한 all_independent_layers_flag 는 적어도 하나 이상의 레이어가 인터레이어 예측을 사용할 수 있음을 나타낼 수 있다. 상기 all_independent_layers_flag 가 존재하지 않는 경우, 상기 all_independent_layers_flag는 1과 동일한 것으로 간주될(inferred) 수 있다. Specifically, for example, the syntax element all_independent_layers_flag may indicate whether all layers of the bitstream for the operating point information sample group are independently coded without using interlayer prediction. For example, all_independent_layers_flag equal to 1 may indicate that all layers are independently coded without using inter-layer prediction. Also, for example, all_independent_layers_flag equal to 0 may indicate that at least one or more layers may use interlayer prediction. When the all_independent_layers_flag does not exist, the all_independent_layers_flag may be considered equal to 1 (inferred).
또한, 예를 들어, 신텍스 엘리먼트 each_layer_is_an_ols_flag 는 작동 포인트 정보 샘플 그룹에 대한 (비트스트림의) 각 OLS(Output Layer Set)가 단 하나의 레이어만을 포함하고 각 레이어가 포함된 하나의 레이어가 유일한 출력 레이어인 OLS 인지 여부를 나타낼 수 있다. 예를 들어, 1과 동일한 each_layer_is_an_ols_flag 는 각 OLS(Output Layer Set)가 단 하나의 레이어만을 포함하고 각 레이어가 포함된 하나의 레이어가 유일한 출력 레이어인 OLS 임을 나타낼 수 있다. 또한, 예를 들어, 0과 동일한 each_layer_is_an_ols_flag는 적어도 하나의 OLS가 둘 이상의 레이어들을 포함함을 나타낼 수 있다.Also, for example, the syntax element each_layer_is_an_ols_flag indicates that each Output Layer Set (OLS) (of the bitstream) for a group of operating point information samples contains only one layer, and the one layer containing each layer is the only output layer. It can indicate whether it is OLS or not. For example, each_layer_is_an_ols_flag equal to 1 may indicate that each output layer set (OLS) includes only one layer and that one layer including each layer is an OLS that is the only output layer. Also, for example, each_layer_is_an_ols_flag equal to 0 may indicate that at least one OLS includes two or more layers.
또한, 예를 들어, 신텍스 엘리먼트 vps_ols_mode_idc 는 OLS 의 모드를 나타낼 수 있다. 예를 들어, 0 과 동일한 vps_ols_mode_idc 는 OLS의 총 수가 vps_max_layers_minus1 + 1과 동일하고, i번째 OLS는 0에서 i까지의 레이어 인덱스를 갖는 레이어을 포함하며, 각 OLS 의 최상위 레이어(highest layer)만이 출력 레이어임을 나타낼 수 있다. 또한, 예를 들어, 1과 동일한 vps_ols_mode_idc 는 OLS의 총 수가 vps_max_layers_minus1 + 1과 동일하고, i번째 OLS는 0에서 i까지의 레이어 인덱스를 갖는 레이어을 포함하며, 각 OLS 의 모든 레이어가 출력 레이어임을 나타낼 수 있다. 또한, 예를 들어, 2와 동일한 vps_ols_mode_idc 는 OLS 의 총 개수가 명시적으로 시그널링되고, 각 OLS 의 출력 레이어는 명시적으로 시그널링되고 출력 레이어 이외의 다른 레이어는 해당 OLS의 출력 레이어의 직접(direct) 또는 간접(indirect) 참조 레이어인 레이어임을 나타낼 수 있다.Also, for example, the syntax element vps_ols_mode_idc may indicate the mode of OLS. For example, vps_ols_mode_idc equal to 0 means that the total number of OLSs is equal to vps_max_layers_minus1 + 1, the i-th OLS includes layers with layer indices from 0 to i, and only the highest layer of each OLS is an output layer. can indicate Also, for example, vps_ols_mode_idc equal to 1 may indicate that the total number of OLSs is equal to vps_max_layers_minus1 + 1, the i-th OLS includes layers with layer indices from 0 to i, and all layers of each OLS are output layers. there is. Also, for example, in vps_ols_mode_idc equal to 2, the total number of OLSs is explicitly signaled, an output layer of each OLS is explicitly signaled, and layers other than the output layer are direct of the output layer of the corresponding OLS. Alternatively, it may indicate that the layer is an indirect reference layer.
또한, 예를 들어, 신텍스 엘리먼트 max_tid_il_ref_pics_plus1 는 레이어에서 인터레이어 예측에 필요한 최대 시간적 서브레이어를 나타낼 수 있다. 즉, 예를 들어, 신텍스 엘리먼트 max_tid_il_ref_pics_plus1 는 레이어에서 인터레이어 예측에 필요한 시간적 서브레이어의 최대 개수를 나타낼 수 있다. 예를 들어, 신텍스 엘리먼트 max_tid_il_ref_pics_plus1 에서 1을 뺀 값은 레이어에서 인터레이어 예측에 필요한 시간적 서브레이어의 최대 개수를 나타낼 수 있다. 또한, 예를 들어, 0과 동일한 max_tid_il_ref_pics_plus1는 IRAP(Intra Random Access Point) 픽처가 아니고 0과 동일한 ph_recovery_poc_cnt를 갖는 GDR(Gradual Decoding Refresh) 픽처도 아닌 layer_id와 동일한 레이어 Id를 갖는 레이어의 픽처가 OLS 내 다른 레이어의 픽처의 디코딩을 위한 인터레이어 참조 픽처(Inter Layer Reference Picture, ILRP)로서 사용되지 않음을 나타낼 수 있다. 여기서, ILRP 는 인터레이어 예측에 사용되는 참조 픽처를 나타낼 수 있다. 또한, 예를 들어, 0보다 큰 max_tid_il_ref_pics_plus1 는 OLS의 다른 레이어에 있는 픽처를 디코딩하기 위하여 max_tid_il_ref_pics_plus1 - 1 (즉, max_tid_il_ref_pics_plus1에서 1을 뺀 값) 보다 큰 TemporalId를 갖는 레이어의 픽처는 ILRP로 사용되지 않으며, nuh_layer_id가 layer_id와 동일하고 TemporalId가 max_tid_il_ref_pics_plus1 - 1 (즉, max_tid_il_ref_pics_plus1에서 1을 뺀 값) 보다 큰 APS는 참조되지 않음을 나타낼 수 있다. 한편, 상기 max_tid_il_ref_pics_plus1 가 존재하지 않는 경우, max_tid_il_ref_pics_plus1의 값은 max_temporal_id 와 동일한 것으로 간주될 수 있다.Also, for example, the syntax element max_tid_il_ref_pics_plus1 may indicate a maximum temporal sub-layer required for inter-layer prediction in a layer. That is, for example, the syntax element max_tid_il_ref_pics_plus1 may indicate the maximum number of temporal sub-layers required for inter-layer prediction in a layer. For example, a value obtained by subtracting 1 from the syntax element max_tid_il_ref_pics_plus1 may indicate the maximum number of temporal sub-layers required for inter-layer prediction in a layer. In addition, for example, max_tid_il_ref_pics_plus1 equal to 0 is not an Intra Random Access Point (IRAP) picture and a Gradual Decoding Refresh (GDR) picture with ph_recovery_poc_cnt equal to 0. It may indicate that it is not used as an inter-layer reference picture (ILRP) for decoding a picture of a layer. Here, ILRP may indicate a reference picture used for inter-layer prediction. Also, for example, max_tid_il_ref_pics_plus1 greater than 0 is not used as an ILRP, and a picture of a layer with a TemporalId greater than max_tid_il_ref_pics_plus1 - 1 (that is, max_tid_il_ref_pics_plus1 minus 1) is not used for decoding pictures in other layers of the OLS. An APS having nuh_layer_id equal to layer_id and TemporalId greater than max_tid_il_ref_pics_plus1 - 1 (ie, max_tid_il_ref_pics_plus1 minus 1) may indicate that it is not referenced. Meanwhile, when the max_tid_il_ref_pics_plus1 does not exist, the value of max_tid_il_ref_pics_plus1 may be considered to be the same as max_temporal_id.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 num_operating_points 는 후술하는 정보에 대한 작동 포인트의 개수를 나타낼 수 있다. Also, for example, referring to Table 2, the syntax element num_operating_points may indicate the number of operating points for information to be described later.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 output_layer_set_idx 는 작동 포인트를 정의하는 OLS 의 인덱스일 수 있다. 즉, 예를 들어, output_layer_set_idx 는 OLS 를 가리킬 수 있다. output_layer_set_idx와 layer_id 값 사이의 매핑은 인덱스 output_layer_set_idx 인 OLS(즉, output_layer_set_idx 가 가리키는 OLS) 에 대하여 VPS에서 지정한 것과 동일할 수 있다.Also, for example, referring to Table 2 above, the syntax element output_layer_set_idx may be an index of an OLS defining an operation point. That is, for example, output_layer_set_idx may indicate OLS. The mapping between the output_layer_set_idx and the layer_id value may be the same as that specified by the VPS with respect to the OLS having the index output_layer_set_idx (ie, the OLS indicated by output_layer_set_idx).
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 ptl_idx 는 인덱스 output_layer_set_idx 인 OLS 에 대하여 리스트된(listed) PTL 구조를 0 부터 시작하는 인덱스를 시그널링할 수 있다. 즉, 예를 들어, ptl_idx 는 인덱스가 output_layer_set_idx 인 OLS 에 대한 PTL 구조를 나타낼 수 있다.Also, for example, referring to Table 2, the syntax element ptl_idx may signal an index starting from 0 in the PTL structure listed for the OLS that is the index output_layer_set_idx. That is, for example, ptl_idx may indicate a PTL structure for OLS whose index is output_layer_set_idx.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 max_temporal_id 는 작동 포인트의 NAL 유닛의 최대 TemporalId를 나타낼 수 있다. 한편, 레이어 정보 샘플 그룹에서 표시된 최대 TemporalId 값은 max_temporal_id 가 나타내는 TemporalId 와 동일한 값을 가질 수도 있으나, 상기 신텍스 엘리먼트들의 시멘틱은 다르다.Also, for example, referring to Table 2 above, the syntax element max_temporal_id may indicate the maximum TemporalId of the NAL unit of the operation point. Meanwhile, the maximum TemporalId value indicated in the layer information sample group may have the same value as the TemporalId indicated by max_temporal_id, but semantics of the syntax elements are different.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 layer_count 는 ISO/IEC 23090-3에 정의된 바와 같이 작동 포인트에 필요한 레이어의 수를 나타낼 수 있다.Also, for example, referring to Table 2, the syntax element layer_count may indicate the number of layers required for an operation point as defined in ISO/IEC 23090-3.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 layer_id는 작동 포인트의 레이어에 대한 nuh_layer_id 값을 나타낼 수 있다. 즉, 예를 들어, 신텍스 엘리먼트 layer_id는 작동 포인트의 레이어에 대한 레이어 ID 값을 나타낼 수 있다. Also, for example, referring to Table 2 above, the syntax element layer_id may indicate a nuh_layer_id value for the layer of the operation point. That is, for example, the syntax element layer_id may indicate a layer ID value for the layer of the operation point.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 is_outputlayer 는 레이어가 출력 레이어인지 여부를 나타낼 수 있다. 예를 들어, 1과 동일한 is_outputlayer 는 레이어가 출력 레이어임을 나타낼 수 있다. Also, for example, referring to Table 2 above, the syntax element is_outputlayer may indicate whether a layer is an output layer. For example, is_outputlayer equal to 1 may indicate that the layer is an output layer.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 frame_rate_info_flag 는 작동 포인트에 대한 프레임 레이트 정보가 존재하는지 여부를 나타낼 수 있다. 예를 들어, 0과 동일한 frame_rate_info_flag는 작동 포인트에 대한 프레임 레이트 정보가 존재하지 않음을 나타낼 수 있다. 또한, 예를 들어, 1과 동일한 frame_rate_info_flag는 작동 포인트에 대한 프레임 레이트 정보가 존재함을 나타낼 수 있다.Also, for example, referring to Table 2 above, the syntax element frame_rate_info_flag may indicate whether frame rate information for an operation point exists. For example, frame_rate_info_flag equal to 0 may indicate that frame rate information for the operating point does not exist. Also, for example, frame_rate_info_flag equal to 1 may indicate that frame rate information for an operating point exists.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 bit_rate_info_flag는 작동 포인트에 대한 비트레이트(bitrate) 정보가 존재하는지 여부를 나타낼 수 있다. 예를 들어, 0과 동일한 bit_rate_info_flag는 작동 포인트에 대한 비트레이트 정보가 존재하지 않음을 나타낼 수 있다. 또한, 예를 들어, 1과 동일한 bit_rate_info_flag는 작동 포인트에 대한 비트레이트 정보가 존재함을 나타낼 수 있다.Also, for example, referring to Table 2 above, the syntax element bit_rate_info_flag may indicate whether bitrate information for an operation point exists. For example, bit_rate_info_flag equal to 0 may indicate that bitrate information for the operating point does not exist. Also, for example, bit_rate_info_flag equal to 1 may indicate that bitrate information for an operating point exists.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 avgFrameRate 는 작동 포인트에 대한 평균 프레임 레이트를 프레임/(256초) 단위로 제공할 수 있다. 값 0은 지정되지 않은 평균 프레임 레이트를 나타낼 수 있다.Also, for example, referring to Table 2 above, the syntax element avgFrameRate may provide the average frame rate for the operation point in units of frames/(256 seconds). A value of 0 may represent an unspecified average frame rate.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 constantFrameRate는 작동 포인트의 스트림에 대한 일정 프레임 레이트를 나타낼 수 있다. 예를 들어, 1과 동일한 constantFrameRate는 작동 포인트의 스트림이 일정 프레임 레이트임을 나타낼 수 있다. 값 2와 동일한 constantFrameRate는 작동 포인트의 스트림 내 각 시간적 레이어의 표현(representation)이 일정 프레임 레이트임을 나타낼 수 있다. 값 0 와 동일한 constantFrameRate는 작동 포인트의 스트림이 일정 프레임 레이트일 수도 있고 아닐 수도 있음을 나타낼 수 있다.Also, for example, referring to Table 2 above, the syntax element constantFrameRate may indicate a constant frame rate for a stream of an operation point. For example, constantFrameRate equal to 1 may indicate that the stream of the actuation point is a constant frame rate. constantFrameRate equal to the value 2 may indicate that the representation of each temporal layer in the stream of the actuation point is a constant frame rate. constantFrameRate equal to the value 0 may indicate that the stream of the actuation point may or may not be a constant frame rate.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 maxBitRate 는 1초의 모든 윈도우(window)에서 작동 포인트의 스트림의 최대 비트레이트를 비트/초(bits/second) 단위로 제공할 수 있다.Also, for example, referring to Table 2 above, the syntax element maxBitRate may provide the maximum bit rate of the stream of the operation point in all windows of 1 second in bits/second unit.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 max_layer_count는 관련 기본 트랙(associated base track)과 관련된 모든 작동 포인트의 모든 고유 레이어 수를 나타낼 수 있다. Also, for example, referring to Table 2 above, the syntax element max_layer_count may indicate the number of all unique layers of all operation points related to an associated base track.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 layerID는 모든 직접 참조 레이어가 direct_ref_layerID의 다음 루프(following loop)에서 제공되는 레이어의 nuh_layer_id 를 나타낼 수 있다. Also, for example, referring to Table 2, the syntax element layerID may indicate nuh_layer_id of a layer in which all direct reference layers are provided in a following loop of direct_ref_layerID.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 num_direct_ref_layers는 nuh_layer_id가 layerID와 동일한 레이어에 대한 직접 참조 레이어의 수를 나타낼 수 있다. Also, for example, referring to Table 2, the syntax element num_direct_ref_layers may indicate the number of direct reference layers for a layer having the same nuh_layer_id as layerID.
또한, 예를 들어, 상기 표 2를 참조하면 신텍스 엘리먼트 direct_ref_layerID 는 직접 참조 레이어의 nuh_layer_id 를 나타낼 수 있다. Also, for example, referring to Table 2 above, the syntax element direct_ref_layerID may indicate the nuh_layer_id of the direct reference layer.
또한, 예를 들어, 작동 포인트 엔티티 그룹은 작동 포인트에 대한 트랙 매핑 및 작동 포인트의 프로파일 레벨 정보(profile level information)를 제공하도록 정의될 수 있다.Also, for example, an actuation point entity group may be defined to provide a mapping of tracks to actuation points and profile level information of actuation points.
상기 작동 포인트 엔티티 그룹에 설명된 작동 포인트에 매핑된 트랙의 샘플을 집계하는(aggregating) 경우에 암시적 복원 프로세스(implicit reconstruction process)는 일치하는(conforming) VVC 비트스트림을 얻기 위해 더 이상의 NAL 유닛을 제거할 필요가 없다. 상기 작동 포인트 엔티티 그룹에 속하는 트랙은 상기 작동 포인트 엔티티 그룹에 표시된 group_id에 대한 타입 'oref'의 트랙 레퍼런스를 가져야 한다.When aggregating samples of tracks mapped to actuation points described in the actuation point entity group, the implicit reconstruction process generates more NAL units to obtain a conforming VVC bitstream. no need to remove A track belonging to the actuation point entity group must have a track reference of type 'oref' for the group_id indicated in the actuation point entity group.
또한, 상기 작동 포인트 엔티티 그룹에 포함된 모든 entity_id 값들은 동일한 VVC 비트스트림에 속해야 한다. 존재하는 경우, OperatingPointGroupBox는 무비-레벨(movie-level) MetaBox의 GroupsListBox에 포함되며 파일-레벨(file-level) 또는 트랙-레벨(track-level) MetaBox에는 포함되지 않는다. 여기서, OperatingPointGroupBox는 상기 작동 포인트 엔티티 그룹을 나타낼 수 있다.In addition, all entity_id values included in the operation point entity group must belong to the same VVC bitstream. If present, the OperatingPointGroupBox is included in the Movie-level MetaBox's GroupsListBox and not the file-level or track-level MetaBox. Here, OperatingPointGroupBox may indicate the operating point entity group.
상술한 상기 작동 포인트 엔티티 그룹의 신텍스는 아래의 표와 같을 수 있다. The syntax of the above-described operation point entity group may be as shown in the table below.
또한, 상기 작동 포인트 엔티티 그룹의 신텍스에 대한 시멘틱(semantics)은 다음의 표와 같을 수 있다. In addition, semantics of the syntax of the operation point entity group may be as shown in the following table.
또한, 예를 들어, 미디어 파일은 영상/비디오 컨텐츠에 대한 디코더 구성 정보(decoder configuration information)를 포함할 수 있다. 즉, 미디어 파일은 디코더 구성 정보를 포함하는 VVC 디코더 구성 레코드(VVC decoder configuration record)를 포함할 수 있다. Also, for example, the media file may include decoder configuration information for image/video content. That is, the media file may include a VVC decoder configuration record including decoder configuration information.
상기 VVC 디코더 구성 레코드가 샘플 엔트리에 저장된 경우, 상기 VVC 디코더 구성 레코드는 파라미터 세트뿐만 아니라 상기 VVC 디코더 구성 레코드에 포함된 NAL 유닛의 길이(length)를 나타내기 위해 각 샘플에 사용된 길이 필드(length field)의 사이즈를 포함할 수 있다. 상기 VVC 디코더 구성 레코드는 외부에서 구성(frame)될 수 있다(상기 VVC 디코더 구성 레코드의 사이즈는 상기 VVC 디코더 구성 레코드를 포함하는 구조에서 제공됨).When the VVC decoder configuration record is stored in a sample entry, the VVC decoder configuration record includes a length field used for each sample to indicate not only a parameter set but also a length of a NAL unit included in the VVC decoder configuration record. field) size. The VVC decoder configuration record may be externally framed (the size of the VVC decoder configuration record is provided in a structure including the VVC decoder configuration record).
또한, 상기 VVC 디코더 구성 레코드는 버전 필드(versio field)를 포함할 수 있다. 예를 들어, 본 문서에서의 버전은 상기 VVC 디코더 구성 레코드의 버전 1을 정의할 수 있다. 상기 VVC 디코더 구성 레코드에 대한 호환되지 않는 변경 사항은 버전 번호 변경으로 표시될 수 있다. 버전 번호가 인식되지 않는 경우, 리더(readers)는 상기 VVC 디코더 구성 레코드 또는 해당 레코드가 적용되는 스트림을 디코딩하지 않아야 한다.In addition, the VVC decoder configuration record may include a version field (versio field). For example, the version in this document may define version 1 of the VVC decoder configuration record. Incompatible changes to the VVC decoder configuration record may be marked as version number changes. If the version number is not recognized, readers should not decode the VVC decoder configuration record or the stream to which the record applies.
상기 VVC 디코더 구성 레코드에 대한 호환 가능한 확장(Compatible extensions)은 구성 버전 코드를 변경하지 않을 수 있다. 리더는 상기 리더가 이해하는 데이터의 정의를 넘어서는 인식되지 않는 데이터를 무시할 준비가 되어 있어야 한다. Compatible extensions for the VVC decoder configuration record may not change the configuration version code. The reader must be prepared to ignore unrecognized data that goes beyond the definition of data that the reader understands.
트랙이 기본적으로 VVC 비트스트림을 포함하는 경우 또는 'subp' 트랙 레퍼런스들을 통하여 해결하는 경우, VvcPtlRecord가 상기 디코더 구성 레코드에 존재해야 한다. 또한, 트랙의 디코더 구성 레코드 내 ptl_present_flag가 0인 경우, 상기 트랙에는 'oref' 트랙 레퍼런스를 가져야 한다.If a track contains the VVC bitstream by default or if resolved via 'subp' track references, VvcPtlRecord must be present in the decoder configuration record. Also, if ptl_present_flag in the decoder configuration record of a track is 0, the track must have an 'oref' track reference.
상기 VVC 디코더 구성 레코드에서 설명하는 스트림이 디코딩되는 경우, VvcPTRecord, chroma_format_idc 및 bit_depth_minus8의 신텍스 엘리먼트들의 값들은 활성화되는 모든 파라미터 세트들에 대하여 유효할 수 있다. 특히 다음과 같은 제한이 적용될 수 있다.When the stream described in the VVC decoder configuration record is decoded, values of syntax elements of VvcPTRecord, chroma_format_idc, and bit_depth_minus8 may be valid for all activated parameter sets. In particular, the following restrictions may apply:
- 프로파일 표시(profile indication) general_profile_idc는 이 구성 레코드와 연관된 스트림이 준수하는 프로파일을 나타냄.- profile indication general_profile_idc indicates the profile to which the stream associated with this configuration record conforms.
티어 표시(tier indication) general_tier_flag는 모든 파라미터 세트들에 표시된 가장 높은 티어보다 크거나 같은 티어를 나타낼 수 있다. A tier indication general_tier_flag may indicate a tier greater than or equal to the highest tier indicated in all parameter sets.
general_constraint_info의 각 비트는 모든 파라미터 세트들이 해당 비트를 설정한 경우에만 설정할 수 있다.Each bit of general_constraint_info can be set only when all parameter sets set the corresponding bit.
레벨 표시(level indication) general_level_idc는 파라미터 세트들에서 가장 높은 티어에 대하여 표시된 가장 높은 레벨과 같거나 더 큰 능력의 레벨(a level of capability)을 나타낼 수 있다. The level indication general_level_idc may indicate a level of capability equal to or greater than the highest level indicated for the highest tier in the parameter sets.
또한, chroma_format_idc에는 다음 제약 조건이 적용될 수 있다.In addition, the following constraint may be applied to chroma_format_idc.
- ISO/IEC 23090-3에 정의된 sps_chroma_format_idc의 값이 트랙의 NAL 유닛에 의해 참조되는 모든 SPS에서 동일한 경우, chroma_format_idc는 sps_chroma_format_idc와 동일해야 함.- If the value of sps_chroma_format_idc defined in ISO/IEC 23090-3 is the same in all SPSs referenced by the NAL unit of the track, chroma_format_idc shall be equal to sps_chroma_format_idc.
- 그렇지 않고, ptl_present_flag가 1과 같은 경우, chroma_format_idc는 ISO/IEC 23090-3에 정의된 vps_ols_dpb_chroma_format[output_layer_set_idx]과 동일해야 함.- Otherwise, if ptl_present_flag is equal to 1, chroma_format_idc shall be equal to vps_ols_dpb_chroma_format[output_layer_set_idx] defined in ISO/IEC 23090-3.
- 그렇지 않은 경우(즉, 상술한 조건들에 해당하지 않는 경우), chroma_format_idc가 존재하지 않음.- Otherwise (that is, if the above conditions are not met), chroma_format_idc does not exist.
VVC 비디오 기본 스트림에서 사용되는 다른 중요한 포멧 정보뿐만 아니라 크로마 포멧(chroma format) 및 비트 뎁스(bit depth)에 대한 명시적 표시(Explicit indication)가 VVC 디코더 구성 레코드에서 제공될 수 있다. 두 시퀀스의 VUI 정보에서 색상 스페이스 표시(color space indications)가 다른 경우, 두 개의 다른 VVC 샘플 엔트리들이 필요할 수 있다. An explicit indication of a chroma format and bit depth as well as other important format information used in the VVC video elementary stream may be provided in the VVC decoder configuration record. If color space indications are different in the VUI information of the two sequences, two different VVC sample entries may be required.
또한, 예를 들어, 상기 VVC 디코더 구성 레코드에는 초기화 NAL 유닛(initialization NAL units)을 전달하는 어레이들의 세트가 있을 수 있다. 상기 NAL 유닛 타입들은 DCI, VPS, SPS, PPS, 프리픽스(prefix) APS 및 프리픽스 SEI NAL 유닛만을 나타내도록 제한될 수 있다. ISO/IEC 23090-3 및 본 문서에서 예약된(reserved) NAL 유닛 타입은 미래에 정의될 수 있으며, 리더는 NAL 유닛 타입의 예약 또는 허용되지 않은 값이 있는 어레이들은 무시해야 할 수 있다.Also, for example, there may be a set of arrays carrying initialization NAL units in the VVC decoder configuration record. The NAL unit types may be limited to indicate only DCI, VPS, SPS, PPS, prefix APS and prefix SEI NAL units. In ISO/IEC 23090-3 and this document, the reserved NAL unit type may be defined in the future, and the reader may have to ignore the reserved or disallowed values of the NAL unit type array.
한편, 어레이들은 DCI, VPS, SPS, PPS, 프리픽스(prefix) APS, 프리픽스 SEI 의 순서로 있을 수 있다. Meanwhile, the arrays may be in the order of DCI, VPS, SPS, PPS, prefix APS, and prefix SEI.
상술한 상기 VVC 디코더 구성 레코드의 신텍스는 아래의 표와 같을 수 있다. The syntax of the above-described VVC decoder configuration record may be as shown in the table below.
또한, 상기 VVC 디코더 구성 레코드의 신텍스에 대한 시멘틱(semantics)은 다음의 표와 같을 수 있다. In addition, semantics of the syntax of the VVC decoder configuration record may be as shown in the following table.
예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트들 general_profile_idc, general_tier_flag, general_sub_profile_idc, general_constraint_info, general_level_idc, ptl_frame_only_constraint_flag, ptl_multilayer_enabled_flag, sublayer_level_present 및 sublayer_level_idc[i] 는 ISO/IEC 23090-3에 정의된, 상기 VVC 디코더 구성 레코드가 적용되는 스트림에 대한 필드들 general_profile_idc, general_tier_flag, general_sub_profile_idc, general_constraint_info()의 비트들, general_level_idc, ptl_multilayer_enabled_flag, ptl_frame_only_constraint_flag, sublayer_level_present, 및 sublayer_level_idc[i] 의 매칭 값들을 포함할 수 있다. 여기서, avgFrameRate는 상기 VVC 디코더 구성 레코드가 적용되는 스트림의 평균 프레임 레이트를 프레임/(256초) 단위로 제공할 수 있다. 값 0은 지정되지 않은 평균 프레임 레이트를 나타낼 수 있다.For example, referring to Table 6 above, syntax elements general_profile_idc, general_tier_flag, general_sub_profile_idc, general_constraint_info, general_level_idc, ptl_frame_only_constraint_flag, ptl_multilayer_enabled_flag, sublayer_level_present and sublayer_level_idc [ Fields for the applied stream may include matching values of general_profile_idc, general_tier_flag, general_sub_profile_idc, bits of general_constraint_info(), general_level_idc, ptl_multilayer_enabled_flag, ptl_frame_only_constraint_flag, sublayer_level_present, and sublayer_level_idc[i]. Here, avgFrameRate may provide the average frame rate of the stream to which the VVC decoder configuration record is applied in units of frames/(256 seconds). A value of 0 may represent an unspecified average frame rate.
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 constantFrameRate는 상기 VVC 디코더 구성 레코드에 대한 일정 프레임 레이트를 나타낼 수 있다. 예를 들어, 1과 동일한 constantFrameRate는 상기 VVC 디코더 구성 레코드가 적용되는 스트림이 일정 프레임 레이트임을 나타낼 수 있다. 값 2와 동일한 constantFrameRate는 스트림의 각 시간적 레이어의 표현(representation)이 일정 프레임 레이트임을 나타낼 수 있다. 값 0 와 동일한 constantFrameRate는 스트림이 일정 프레임 레이트일 수도 있고 아닐 수도 있음을 나타낼 수 있다.Also, for example, referring to Table 6, the syntax element constantFrameRate may indicate a constant frame rate for the VVC decoder configuration record. For example, constantFrameRate equal to 1 may indicate that a stream to which the VVC decoder configuration record is applied is a constant frame rate. constantFrameRate equal to the value 2 may indicate that the representation of each temporal layer of the stream is a constant frame rate. constantFrameRate equal to the value 0 may indicate that the stream may or may not be at a constant frame rate.
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 numTemporalLayers 는 상기 VVC 디코더 구성 레코드가 적용되는 트랙에 포함되는 시간적 레이어의 수를 나타낼 수 있다. 예를 들어, numTemporalLayers가 1보다 크면 상기 VVC 디코더 구성 레코드가 적용되는 트랙이 시간적으로 확장 가능하고(temporally scalable), 상기 트랙에 포함된 시간적 레이어(ISO/IEC 23090-3에서 시간적 서브레이어 또는 서브레이어라고도 함)의 수가 numTemporalLayers와 동일함을 나타낼 수 있다. 값 1과 동일한 numTemporalLayers는 상기 VVC 디코더 구성 레코드가 적용되는 트랙이 시간적으로 확장 가능하지 않음을 나타낼 수 있다. 값 0 과 동일한 numTemporalLayers는 상기 VVC 디코더 구성 레코드가 적용되는 트랙이 시간적으로 확장 가능한지 여부를 알 수 없음을 나타낼 수 있다.Also, for example, referring to Table 6, the syntax element numTemporalLayers may indicate the number of temporal layers included in a track to which the VVC decoder configuration record is applied. For example, if numTemporalLayers is greater than 1, the track to which the VVC decoder configuration record is applied is temporally scalable, and a temporal layer included in the track (a temporal sublayer or sublayer in ISO/IEC 23090-3) ) may indicate that the number of numTemporalLayers is the same as numTemporalLayers. numTemporalLayers equal to the value 1 may indicate that the track to which the VVC decoder configuration record is applied is not temporally scalable. numTemporalLayers equal to the value 0 may indicate that it is not known whether the track to which the VVC decoder configuration record is applied is temporally expandable.
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 lengthSizeMinusOne 플러스 1은 이 구성 레코드가 적용되는 스트림의 VVC 비디오 스트림 샘플에 있는 NALUnitLength 필드의 바이트(bytes) 길이를 나타낼 수 있다. 예를 들어, 1 바이트의 사이즈는 값 0으로 표시될 수 있다. lengthSizeMinusOne 의 값은 각각 1, 2 또는 4 바이트로 인코딩된 길이에 해당하는 0, 1 또는 3 중 하나일 수 있다.Also, for example, referring to Table 6 above, the syntax element lengthSizeMinusOne plus 1 may indicate the length in bytes of the NALUnitLength field in the VVC video stream sample of the stream to which this configuration record is applied. For example, the size of 1 byte may be represented by the value 0. The value of lengthSizeMinusOne may be one of 0, 1, or 3, which corresponds to an encoded length of 1, 2, or 4 bytes, respectively.
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 ptl_present_flag는 트랙이 특정 출력 계층 세트에 대응하는 VVC 비트스트림을 포함함을 나타낼 수 있고, 따라서, PTL 정보를 포함하는지 여부를 나타낼 수 있다. 예를 들어, 1과 동일한 ptl_present_flag는 트랙이 특정 출력 레이어 세트(특정 OLS)에 대응하는 VVC 비트스트림을 포함함을 나타낼 수 있다. 0과 동일한 ptl_present_flag는 트랙이 특정 OLS에 해당하는 VVC 비트스트림을 포함하지 않을 수 있지만, 오히려 OLS를 형성하지 않는 하나 이상의 개별(individual) 레이어 또는 TemporalId가 0인 서브레이어를 제외한 개별(individual) 서브레이어를 포함할 수 있음을 나타낼 수 있다.Also, for example, referring to Table 6 above, the syntax element ptl_present_flag may indicate that the track includes a VVC bitstream corresponding to a specific output layer set, and thus may indicate whether PTL information is included. For example, ptl_present_flag equal to 1 may indicate that the track contains a VVC bitstream corresponding to a specific output layer set (specific OLS). ptl_present_flag equal to 0 means that the track may not contain the VVC bitstream corresponding to a particular OLS, but rather one or more individual layers that do not form an OLS or individual sublayers except for those with TemporalId equal to 0. may indicate that it may include
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 num_sub_profiles는 상기 VVC 디코더 구성 레코드에 표시된 서브 프로파일의 수를 정의할 수 있다. Also, for example, referring to Table 6, the syntax element num_sub_profiles may define the number of sub-profiles indicated in the VVC decoder configuration record.
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 track_ptl은 트랙에 포함된 VVC 비트스트림이 나타내는 OLS의 프로파일(profile), 티어(tier) 및 레벨(level)을 나타낼 수 있다.Also, for example, referring to Table 6, the syntax element track_ptl may indicate a profile, a tier, and a level of an OLS indicated by a VVC bitstream included in a track.
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 output_layer_set_idx는 트랙에 포함된 VVC 비트스트림이 나타내는 출력 레이어 세트의 출력 레이어 세트 인덱스를 나타낼 수 있다. output_layer_set_idx의 값은 트랙에 포함된 비트스트림을 디코딩하기 위하여, ISO/IEC 23090-3에 지정된 바와 같이, VVC 디코더에 외부 수단에 의해 제공되는 TargetOlsIdx 변수의 값으로 사용될 수 있다. Also, for example, referring to Table 6, the syntax element output_layer_set_idx may indicate an output layer set index of an output layer set indicated by a VVC bitstream included in a track. The value of output_layer_set_idx may be used as the value of the TargetOlsIdx variable provided by an external means to the VVC decoder, as specified in ISO/IEC 23090-3, in order to decode the bitstream included in the track.
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 chroma_format_present_flag는 chroma_format_idc 가 존재하는지 여부를 나타낼 수 있다. 예를 들어, 0과 동일한 chroma_format_present_flag는 chroma_format_idc가 존재하지 않음을 나타낼 수 있다. 1과 동일한 chroma_format_present_flag는 chroma_format_idc가 존재함을 나타낼 수 있다.Also, for example, referring to Table 6 above, the syntax element chroma_format_present_flag may indicate whether chroma_format_idc exists. For example, chroma_format_present_flag equal to 0 may indicate that chroma_format_idc does not exist. chroma_format_present_flag equal to 1 may indicate that chroma_format_idc exists.
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 chroma_format_idc는 상기 트랙에 적용되는 크로마 포멧을 나타낼 수 있다. 예를 들어, chroma_format_idc에는 다음 제약 조건이 적용될 수 있다.Also, for example, referring to Table 6, the syntax element chroma_format_idc may indicate a chroma format applied to the track. For example, the following constraint may be applied to chroma_format_idc.
- ISO/IEC 23090-3에 정의된 sps_chroma_format_idc의 값이 트랙의 NAL 유닛에 의해 참조되는 모든 SPS에서 동일한 경우, chroma_format_idc는 sps_chroma_format_idc와 동일해야 함.- If the value of sps_chroma_format_idc defined in ISO/IEC 23090-3 is the same in all SPSs referenced by the NAL unit of the track, chroma_format_idc shall be equal to sps_chroma_format_idc.
- 그렇지 않고, ptl_present_flag가 1과 같은 경우, chroma_format_idc는 ISO/IEC 23090-3에 정의된 vps_ols_dpb_chroma_format[output_layer_set_idx]과 동일해야 함.- Otherwise, if ptl_present_flag is equal to 1, chroma_format_idc shall be equal to vps_ols_dpb_chroma_format[output_layer_set_idx] defined in ISO/IEC 23090-3.
- 그렇지 않은 경우(즉, 상술한 조건들에 해당하지 않는 경우), chroma_format_idc가 존재하지 않음.- Otherwise (that is, if the above conditions are not met), chroma_format_idc does not exist.
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 bit_depth_present_flag는 bit_depth_minus8이 존재하는지 여부를 나타낼 수 있다. 예를 들어, 0과 동일한 bit_depth_present_flag는 bit_depth_minus8이 존재하지 않음을 나타낼 수 있다. 1과 동일한 bit_depth_present_flag는 bit_depth_minus8이 존재함을 나타낼 수 있다.Also, for example, referring to Table 6, the syntax element bit_depth_present_flag may indicate whether bit_depth_minus8 exists. For example, bit_depth_present_flag equal to 0 may indicate that bit_depth_minus8 does not exist. bit_depth_present_flag equal to 1 may indicate that bit_depth_minus8 exists.
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 bit_depth_minus8은 상기 트랙에 적용되는 비트 뎁스(bit depth)를 나타낼 수 있다. 예를 들어, bit_depth_minus8에는 다음 제약 조건이 적용될 수 있다.Also, for example, referring to Table 6, the syntax element bit_depth_minus8 may indicate a bit depth applied to the track. For example, the following constraint may be applied to bit_depth_minus8.
- ISO/IEC 23090-3에 정의된 sps_bitdepth_minus8의 값이 트랙의 NAL 유닛에 의해 참조되는 모든 SPS에서 동일한 경우, bit_depth_minus8는 sps_bitdepth_minus8와 동일해야 함.- If the value of sps_bitdepth_minus8 defined in ISO/IEC 23090-3 is the same in all SPSs referenced by the NAL unit of the track, bit_depth_minus8 shall be equal to sps_bitdepth_minus8.
- 그렇지 않고, ptl_present_flag가 1과 같은 경우, bit_depth_minus8는 ISO/IEC 23090-3에 정의된 vps_ols_dpb_bitdepth_minus8[output_layer_set_idx]과 동일해야 함.- Otherwise, if ptl_present_flag is equal to 1, bit_depth_minus8 shall be equal to vps_ols_dpb_bitdepth_minus8[output_layer_set_idx] defined in ISO/IEC 23090-3.
- 그렇지 않은 경우(즉, 상술한 조건들에 해당하지 않는 경우), bit_depth_minus8가 존재하지 않음.- Otherwise (that is, if the above conditions are not met), bit_depth_minus8 does not exist.
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 numArrays는 표시된 타입(들)의 NAL 유닛 어레이 수를 나타낼 수 있다.Also, for example, referring to Table 6 above, the syntax element numArrays may indicate the number of NAL unit arrays of the indicated type(s).
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 array_completeness 는 추가 NAL 유닛가 스트림에 있을 수 있는지 여부를 나타낼 수 있다. 예를 들어, array_completeness가 1과 동일한 경우에는 주어진 타입의 모든 NAL 유닛들이 다음 어레이에 있고 스트림에는 없음을 나타낼 수 있다. 또한, 예를 들어, array_completeness가 0과 동일한 경우에는 표시된 타입의 추가 NAL 유닛이 스트림에 있을 수 있음을 나타낼 수 있다. 기본값 및 허용된 값은 샘플 엔트리 네임(sample entry name)으로 제한될 수있다.Also, for example, referring to Table 6 above, the syntax element array_completeness may indicate whether an additional NAL unit may be in the stream. For example, when array_completeness is equal to 1, it may indicate that all NAL units of a given type are in the next array and not in the stream. Also, for example, when array_completeness is equal to 0, it may indicate that an additional NAL unit of the indicated type may be present in the stream. Default and allowed values may be limited to a sample entry name.
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 NAL_unit_type은 다음 어레이에서 NAL 유닛의 타입을 나타낼 수 있다(모든 타입이어야 함). NAL_unit_type은 ISO/IEC 23090-2에 정의된 값을 가질 수 있다. 또한, NAL_unit_type은 DCI, VPS, SPS, PPS, APS, 프리픽스 SEI 또는 서픽스(suffix) SEI NAL 유닛을 나타내는 값 중 하나를 갖도록 제한될 수 있다.Also, for example, referring to Table 6 above, the syntax element NAL_unit_type may indicate the type of the NAL unit in the following array (must be all types). NAL_unit_type may have a value defined in ISO/IEC 23090-2. In addition, NAL_unit_type may be limited to have one of a value indicating a DCI, VPS, SPS, PPS, APS, prefix SEI or suffix SEI NAL unit.
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 numNalus는 상기 VVC 디코더 구성 레코드가 적용되는 스트림에 대한 상기 VVC 디코더 구성 레코드에 포함된 표시된 타입의 NAL 유닛 수를 나타낼 수 있다. SEI 배열은 '선언적(declarative)' 성격의 SEI 메시지, 즉 스트림 전체에 대한 정보를 제공하는 메시지만 포함할 수 있다. 이러한 SEI의 예는 사용자 데이터 SEI(user-data SEI)일 수 있다.Also, for example, referring to Table 6, the syntax element numNalus may indicate the number of NAL units of the indicated type included in the VVC decoder configuration record for a stream to which the VVC decoder configuration record is applied. The SEI array may include only 'declarative' SEI messages, that is, messages that provide information about the entire stream. An example of such an SEI may be user-data SEI (user-data SEI).
또한, 예를 들어, 상기 표 6을 참조하면 신텍스 엘리먼트 nalUnitLength는 NAL 유닛의 바이트 길이를 나타낼 수 있다. Also, for example, referring to Table 6, the syntax element nalUnitLength may indicate the byte length of the NAL unit.
또한, 예를 들어, nalUnit은 ISO/IEC 23090-3에 명시된 DCI, VPS, SPS, PPS, APS 또는 선언적 SEI NAL 유닛을 포함할 수 있다.Also, for example, nalUnit may include DCI, VPS, SPS, PPS, APS or declarative SEI NAL units specified in ISO/IEC 23090-3.
한편, 멀티 레이어 VVC 비트스트림을 전달하는 다중 트랙들(multiple tracks)의 샘플들에서 액세스 유닛(access unit)을 복원(reconstruct)하기 위하여 먼저 작동 포인트가 결정될 수 있다. 예를 들어, VVC 비트스트림이 복수의 VVC 트랙들로 표현되는 경우, 파일 파서(file parcer)는 다음과 같이 선택된 작동 포인트에 필요한 트랙들을 식별할 수 있다.Meanwhile, an operating point may be determined first to reconstruct an access unit from samples of multiple tracks carrying a multi-layer VVC bitstream. For example, when a VVC bitstream is represented by a plurality of VVC tracks, a file parser may identify tracks necessary for the selected operating point as follows.
예를 들어, 상기 파일 파서는 VVC 샘플 엔트리가 있는 모든 트랙을 찾을 수 있다. 상기 트랙들이 동일한 ID에 대한 'oref' 트랙 레퍼런스를 포함하는 경우, 해당 ID를 VVC 트랙 또는 'opeg' 엔티티 그룹으로 확인할 수 있다. 디코딩 캐파시티(decoding capacity) 및 어플리케이션 목적(application purposes)에 적합한 'opeg' 엔티티 그룹 또는 'vopi' 샘플 그룹에서 작동 포인트를 선택할 수 있다. For example, the file parser can find all tracks with VVC sample entries. If the tracks include an 'oref' track reference for the same ID, the ID can be identified as a VVC track or an 'opeg' entity group. The operating point can be selected from either the 'opeg' entity group or the 'vopi' sample group suitable for decoding capacity and application purposes.
상기 'opeg' 엔티티 그룹이 존재하는 경우, 선택된 작동 포인트를 정확히 나타내는 트랙들의 세트를 나타낼 수 있다. 따라서, VVC 비트스트림은 상기 트랙들의 집합으로부터 복원될 수 있고, 디코딩될 수 있다. The 'opeg' entity group, if present, may represent a set of tracks that accurately represent the selected operating point. Thus, the VVC bitstream can be recovered from the set of tracks and can be decoded.
또한, 상기 'opeg' 엔티티 그룹이 존재하지 않는 경우(즉, 'vopi' 샘플 그룹이 존재하는 경우), 선택된 작동 포인트를 디코딩하는데 필요한 트랙들의 세트를 'vopi' 및 'linf' 샘플 그룹에서 검색할 수 있다.Also, if the 'opeg' entity group does not exist (i.e., a 'vopi' sample group exists), the set of tracks needed to decode the selected operating point is retrieved from the 'vopi' and 'linf' sample groups. can
VVC 비트스트림을 전달하는 복수의 VVC 트랙들로부터 비트스트림을 복원하기 위하여 먼저 타겟 최고값 TemporalId를 결정해야 할 필요가 있을 수 있다. 복수의 트랙들이 액세스 유닛에 대한 데이터를 포함하는 경우, 트랙들 내 각 샘플들의 정렬은 샘플 디코딩 시간들(sample decoding times)을 기반으로 수행될 수 있다. 즉, 에디트 리스트들(edit lists)을 고려하지 않고 샘플 시간 테이블(time-to-sample table)을 사용할 수 있다.In order to recover the bitstream from a plurality of VVC tracks carrying the VVC bitstream, it may be necessary to first determine the target maximum value TemporalId. When a plurality of tracks include data for an access unit, the alignment of each sample in the tracks may be performed based on sample decoding times. That is, it is possible to use a time-to-sample table without considering edit lists.
VVC 비트스트림이 복수의 VVC 트랙들로 표현되는 경우, 디코딩 시간을 늘려 트랙들이 단일 스트림으로 결합되면 샘플들의 디코딩 시간들은 ISO/IEC 23090-3에 지정된 대로 액세스 유닛 순서(access unit order)가 정확하도록 해야 할 수 있다. 한편, 액세스 유닛들의 시퀀스(sequence)는 아래와 같이 설명되는 암시적 복원 프로세스에 따라 필요한 트랙들의 각 샘플로부터 복원될 수 있다. 예를 들어, VVC 비트스트림의 암시적 복원 프로세스는 다음과 같을 수 있다. When a VVC bitstream is represented by a plurality of VVC tracks, if the tracks are combined into a single stream by increasing the decoding time, the decoding times of the samples are adjusted so that the access unit order is correct as specified in ISO/IEC 23090-3. may have to Meanwhile, a sequence of access units may be reconstructed from each sample of necessary tracks according to an implicit reconstructing process described below. For example, the implicit restoration process of the VVC bitstream may be as follows.
예를 들어, 작동 포인트 정보 샘플 그룹(Operating Points Information sample group)이 존재하는 경우, 필요한 트랙은 작동 포인트 정보 및 레이어 정보 샘플 그룹에 표시된 대로 전달하는 레이어와 참조 레이어를 기반으로 선택될 수 있다. For example, if an Operating Points Information sample group exists, the required track may be selected based on the conveying layer and the reference layer as indicated in the Operating Points Information and Layer Information sample group.
또한, 예를 들어, 작동 포인트 엔티티 그룹(Operating Points Entity Group)이 존재하는 경우, OperatingPointGroupBox의 정보를 기반으로 필요한 트랙이 선택될 수 있다. Also, for example, when an Operating Points Entity Group exists, a necessary track may be selected based on information of the OperatingPointGroupBox.
또한, 예를 들어, VCL NAL 유닛이 0보다 큰 TemporalId를 갖는 서브레이어를 포함하는 비트스트림을 복원하는 경우, 동일한 레이어 내의 모든 하위 서브레이어들(즉, VCL NAL 유닛이 더 작은 TemporalId를 갖는 서브레이어들)도 결과 비트스트림에 포함되고 그에 따라 필요한 트랙이 선택될 수 있다. Also, for example, when a VCL NAL unit reconstructs a bitstream including a sublayer having a TemporalId greater than 0, all lower sublayers in the same layer (that is, a sublayer having a smaller TemporalId in the VCL NAL unit) ) are also included in the resulting bitstream and the required track can be selected accordingly.
또한, 예를 들어, 액세스 유닛을 복원하는 경우, 동일한 디코딩 시간을 갖는 샘플들로부터 픽처 유닛들(ISO/IEC 23090-3에 규정됨)은 nuh_layer_id 값의 오름차순으로 액세스 유닛에 배치될 수 있다.Also, for example, when reconstructing an access unit, picture units (as defined in ISO/IEC 23090-3) from samples having the same decoding time may be placed in the access unit in an ascending order of the nuh_layer_id value.
또한, 예를 들어, 종속 레이어들(dependent layers)로 액세스 유닛을 복원하고 max_tid_il_ref_pics_plus1이 0보다 큰 경우, 동일한 레이어 내의 max_tid_il_ref_pics_plus1 - 1 (작동 포인트 정보 샘플 그룹에서 표시됨) 보다 작거나 같은 TemporalId를 갖는 VCL NAL 유닛에 대한 레이어들의 서브레이어들도 결과 비트스트림에 포함되고 그에 따라 필요한 트랙이 선택될 수 있다. Also, for example, if the access unit is restored to dependent layers and max_tid_il_ref_pics_plus1 is greater than 0, max_tid_il_ref_pics_plus1 - 1 (indicated in the operation point information sample group) in the same layer VCL NAL with TemporalId less than or equal to Sublayers of layers for a unit are also included in the resulting bitstream and the required track can be selected accordingly.
또한, 예를 들어, VVC 트랙이 'subp' 트랙 레퍼런스를 포함하는 경우, 각 픽처 유닛은 아래에 지정된 EOS 및 EOB NAL 유닛에 대한 추가 제약과 함께 ISO/IEC 23090-3의 11.7.3절에 지정된 대로 복원될 수 있다. ISO/IEC 23090-3의 11.7.3절의 프로세스는 nuh_layer_id가 증가하는 순서로 타겟 작동 포인트의 각 레이어에 대해 반복될 수 있다. 그렇지 않으면, 각각의 픽처 유닛은 다음과 같이 복원될 수 있다.Also, for example, if a VVC track contains a 'subp' track reference, then each picture unit is specified in clause 11.7.3 of ISO/IEC 23090-3 with additional restrictions for EOS and EOB NAL units specified below can be restored as The process of clause 11.7.3 of ISO/IEC 23090-3 may be repeated for each layer of the target operating point in increasing order of nuh_layer_id. Otherwise, each picture unit may be reconstructed as follows.
복원된 액세스 유닛들은 디코딩 시간의 증가하는 순서로 VVC 비트스트림에 배치될 수 있고, 아래에서 추가로 설명되는 바와 같이, EOB(end of bitstream) 및 EOS(end of sequence) NAL 유닛의 중복(duplicates)은 VVC 비트스트림에서 제거될 수 있다.The restored access units may be placed in the VVC bitstream in increasing order of decoding time, and, as further described below, duplicates of end of bitstream (EOB) and end of sequence (EOS) NAL units may be removed from the VVC bitstream.
또한, 예를 들어, VVC 비트스트림의 동일한 코딩된 비디오 시퀀스 내에 있고 다중 트랙에 저장된 상이한 서브레이어에 속하는 액세스 유닛들에 대하여, 각각의 샘플들에서 특정 nuh_layer_id 값을 갖는 EOS NAL 유닛을 포함하는 하나 이상의 트랙이 있을 수 있다. 이 경우, EOS NAL 유닛들 중 하나만이 최종 복원된 비트스트림에서 상기 액세스 유닛들 중 마지막 액세스 유닛(가장 큰 디코딩 시간을 갖는 유닛)에 유지될 수 있고, 상기 액세스 유닛들 중 마지막 액세스 유닛의 EOB NAL 유닛(존재하는 경우)을 제외한 모든 NAL 유닛 뒤에 배치될 수 있고, 다른 EOS NAL 유닛은 삭제될 수 있다. 유사하게, 각각의 샘플에 EOB NAL 유닛을 포함하는 하나 이상의 트랙이 있을 수 있다. 이 경우, EOB NAL 유닛들 중 하나만이 최종 복원된 비트스트림에 유지될 수 있고, 이러한 액세스 유닛들의 마지막 끝에 배치될 수 있고 다른 EOB NAL 유닛은 삭제될 수 있다.Also, for example, for access units within the same coded video sequence of a VVC bitstream and belonging to different sublayers stored in multiple tracks, one or more containing an EOS NAL unit with a specific nuh_layer_id value in each sample. There may be tracks. In this case, only one of the EOS NAL units may be maintained in the last access unit (the unit with the largest decoding time) among the access units in the last reconstructed bitstream, and the EOB NAL of the last access unit among the access units It may be placed after all NAL units except for units (if present), and other EOS NAL units may be deleted. Similarly, there may be more than one track containing an EOB NAL unit in each sample. In this case, only one of the EOB NAL units may be maintained in the last reconstructed bitstream, may be placed at the last end of these access units, and the other EOB NAL units may be deleted.
또한, 예를 들어, 특정 레이어 또는 서브레이어가 하나 이상의 트랙으로 표현될 수 있기 때문에, 작동 포인트에 대하여 필요한 트랙을 알아낼 때, 상기 특정 레이어 또는 상기 서브레이어를 모두 전달하는 트랙들의 세트 중에서 선택해야 할 수도 있다.Also, since, for example, a particular layer or sub-layer may be represented by more than one track, when figuring out the required track for an actuation point, one has to choose from among a set of tracks carrying both said particular layer or sub-layer. may be
또한, 예를 들어, 작동 포인트 엔티티 그룹이 존재하지 않는 경우, 동일한 레이어나 서브레이어를 전달하는 트랙들 중에서 선택한 후, 최종 필요한 트랙은 여전히 대상 작동 포인트에 속하지 않는 일부 레이어나 서브레이어를 집합적으로 전달할 수 있다. 대상 작동 포인트에 대하여 복원된 비트스트림은 최종 필요한 트랙에서 전달되지만 상기 대상 작동 포인트에 속하지 않는 레이어 또는 서브레이어는 포함되지 않을 수 있다.Also, for example, if an operation point entity group does not exist, after selecting from among the tracks carrying the same layer or sublayer, the final required track still collectively selects some layers or sublayers that do not belong to the target operation point. can transmit The reconstructed bitstream for the target operating point is delivered in the final required track, but layers or sub-layers that do not belong to the target operating point may not be included.
한편, 상술한 작동 포인트에 대한 시그널링의 디자인은 다음과 같은 문제가 있을 수 있다. On the other hand, the design of the signaling for the above-described operating point may have the following problems.
구체적으로, 상술한 OperatingPointGroupBox에서는 각 작동 포인트에 대하여, 상기 각 작동 포인트와 관련된 출력 레이어 세트(Output Layer Set, OLS)에 레이어의 수, 레이어 ID, 레이어가 출력 레이어인지 여부 등에 대한 정보가 시그널될 수 있다. 또한, 상기 OLS 에는 레이어 디펜던시(layer dependency)에 대한 정보도 포함될 수 있다. 여기서, 상기 레이어 디펜던시에 대한 시그널링은 필요하지 않으므로, 시그널링의 리던던트가 있을 수 있다. 상기 레이어 디펜던시에 대한 정보는 파서(parser)가 각 OLS에 포함된 레이어를 이해하는데 도움이 될 수 있으나, 각 작동 포인트에 대한 정보에는 이미 OLS 인덱스와 OLS에 포함된 레이어 리스트에 대한 정보가 포함되어 있으므로 더 이상 레이어 디펜던시에 대한 정보를 시그널링할 필요는 없을 수 있다.Specifically, in the above-described OperatingPointGroupBox, for each operating point, information on the number of layers, a layer ID, whether a layer is an output layer, etc. can be signaled to an output layer set (OLS) related to each operating point. there is. Also, information on layer dependency may be included in the OLS. Here, since signaling of the layer dependency is not required, there may be redundancy of signaling. The information on the layer dependency may help a parser to understand the layer included in each OLS, but the information on each operation point already includes the OLS index and information on the layer list included in the OLS. Since it is included, it may no longer be necessary to signal information about the layer dependency.
또한, 상술한 all_independent_layers_flag, each_layer_is_an_ols_flag, ols_mode_idc 의 시그널링의 이점은 명확하지 않다. 따라서, 상술한 신텍스 엘리먼트들의 시그널링을 단순히 제거하는 방안이 더 나을 수도 있다.In addition, the advantages of signaling of all_independent_layers_flag, each_layer_is_an_ols_flag, and ols_mode_idc described above are not clear. Accordingly, it may be better to simply remove the signaling of the above-described syntax elements.
또한, OperatingPointGroupBox 신텍스 구조는 레이어 디펜던시에 대한 시그널링 외에도 각 레이어에 대한 시간적 서브레이어의 최대 개수(즉, max_tid_il_ref_pics_plus1)에 대한 시그널링을 포함할 수 있다. 여기서, 레이어에 대한 max_tid_il_ref_pics_plus1의 값은 상기 레이어가 속한 OLS 에 따라서 다를 수 있으므로, 상기 정보의 시그널링에 대한 정리가 필요할 수 있다. In addition, the OperatingPointGroupBox syntax structure may include signaling for the maximum number of temporal sublayers (ie, max_tid_il_ref_pics_plus1) for each layer in addition to signaling for layer dependencies. Here, since the value of max_tid_il_ref_pics_plus1 for the layer may be different depending on the OLS to which the layer belongs, it may be necessary to organize the signaling of the information.
이에, 본 문서는 상술한 문제에 대한 해결 방안을 제안한다. 제안되는 실시예들은 개별적으로 또는 조합하여 적용될 수 있다.Accordingly, this document proposes a solution to the above-described problem. The proposed embodiments may be applied individually or in combination.
일 예로, 작동 포인트에 대한 정보를 시그널링하기 위하여, 상기 작동 포인트에 대한 출력 레이어 세트(즉, 상기 작동 포인트에 대한 OLS 인덱스에 의하여 지정되는 OLS)에 대하여 상기 OLS 에 포함된 레이어 리스트와 상기 OLS 에 포함된 레이어가 출력 레이어인지 여부를 나타내는 정보를 시그널링하는 대신에 출력 레이어인 레이어의 리스트만이 시그널링될 수 있다. 즉, 예를 들어, 작동 포인트에 대한 OLS 에 대하여, 기존의 상기 OLS 에 포함된 레이어 리스트와 상기 OLS 에 포함된 레이어가 출력 레이어인지 여부를 나타내는 정보를 시그널링하는 방안 대신 상기 OLS 에 포함된 출력 레이어인 레이어의 리스트를 시그널링하는 방안이 제안될 수 있다. 상기 OLS에 필요한 레이어의 전체 리스트(complete list)는 출력 레이어인 레이어의 리스트와 레이어 디펜던시 정보를 기반으로 도출될 수 있다. 본 실시예의 방안을 통하여, 기존의 OLS 에 대한 시그널링보다 비트량을 줄일 수 있고 코딩 효율을 향상시킬 수 있다. 여기서, 상기 전체 리스트의 도출은 VVC 사양(VVC specification)에 지정된 도출 과정과 동일할 수 있다.As an example, in order to signal information on the operation point, the layer list included in the OLS and the OLS for the output layer set for the operation point (ie, the OLS designated by the OLS index for the operation point) Instead of signaling information indicating whether an included layer is an output layer, only a list of layers that are output layers may be signaled. That is, for example, with respect to the OLS for the operating point, an output layer included in the OLS instead of a method of signaling the layer list included in the existing OLS and information indicating whether a layer included in the OLS is an output layer A method of signaling the in-layer list may be proposed. A complete list of layers required for the OLS may be derived based on a list of layers that are output layers and layer dependency information. Through the method of this embodiment, it is possible to reduce the amount of bits compared to the conventional signaling for OLS and to improve coding efficiency. Here, the derivation of the entire list may be the same as the derivation process specified in the VVC specification.
또한, 일 예로, all_independent_layers_flag, each_layer_is_an_ols_flag 및 ols_mode_idc의 시그널링이 삭제될 수 있다. 즉, 예를 들어, VvcOperatingPointsRecord 에서 all_independent_layers_flag, each_layer_is_an_ols_flag 및 ols_mode_idc 를 시그널링하지 않는 방안이 제안될 수 있다. Also, as an example, signaling of all_independent_layers_flag, each_layer_is_an_ols_flag, and ols_mode_idc may be deleted. That is, for example, a method of not signaling all_independent_layers_flag, each_layer_is_an_ols_flag, and ols_mode_idc in VvcOperatingPointsRecord may be proposed.
또한, 일 예로, 레이어 디펜던시에 대한 정보의 시그널링을 작동 포인트 리스트의 시그널링 이전의 위치로 이동할 수 있다. 즉, 예를 들어, 레이어 디펜던시에 대한 정보를 작동 포인트 리스트에 대한 정보보다 먼저 시그널링하는 방안이 제안될 수 있다. Also, as an example, the signaling of the layer dependency information may be moved to a position before the signaling of the operation point list. That is, for example, a method of signaling information on the layer dependency before information on the operation point list may be proposed.
또한, 일 예로, 각 OLS에 대해, OLS에 포함된 레이어들의 전체 리스트에 대한 시그널링하는 방안이 제안될 수 있다. 본 실시예의 방안을 통하여 레이어 디펜던시에 대한 정보를 시그널링할 필요가 없을 수 있다.Also, as an example, for each OLS, a method of signaling the entire list of layers included in the OLS may be proposed. It may not be necessary to signal information on layer dependency through the method of this embodiment.
또한, 일 예로, OLS의 각 레이어에 대한 인터레이어 예측(inter-layer prediction)에 필요한 최대 시간적 서브레이어에 대한 정보가 존재하는지 여부를 나타내는 플래그가 시그널링될 수 있다. 즉, 예를 들어, OLS의 각 레이어에 대한 인터레이어 예측(inter-layer prediction)에 필요한 최대 시간적 서브레이어에 대한 정보가 존재하는지 여부를 나타내는 플래그를 시그널링하는 방안이 제안될 수 있다. Also, as an example, a flag indicating whether information on a maximum temporal sublayer required for inter-layer prediction for each layer of the OLS exists may be signaled. That is, for example, a method of signaling a flag indicating whether information on the maximum temporal sub-layer required for inter-layer prediction for each layer of the OLS exists may be proposed.
a) 예를 들어, 본 실시예에서 제안된 상기 플래그는 max_tid_il_present_flag 로 불릴 수 있다.a) For example, the flag proposed in this embodiment may be called max_tid_il_present_flag.
b) 또한, 예를 들어, 상기 max_tid_il_present_flag 가 1인 경우, OLS 내 출력 레이어가 아닌 각 레이어에 대하여, 인터레이어 예측에 필요한 최대 시간적 서브레이어에 대한 정보(즉, max_tid_il_ref_pics_plus1)가 존재할 수 있다. 즉, 상기 max_tid_il_present_flag 가 1인 경우, OLS 내 출력 레이어가 아닌 레이어에 대한 최대 시간적 서브레이어에 대한 정보(즉, max_tid_il_ref_pics_plus1)가 시그널링될 수 있다. b) Also, for example, when the max_tid_il_present_flag is 1, for each layer other than the output layer in the OLS, information on the maximum temporal sub-layer required for inter-layer prediction (ie, max_tid_il_ref_pics_plus1) may exist. That is, when the max_tid_il_present_flag is 1, information (ie, max_tid_il_ref_pics_plus1) on the maximum temporal sub-layer for a layer other than the output layer in the OLS may be signaled.
또한, 일 예로, 상술한 실시예(들)에서 제안된 시그널링이 VvcOperatingPointsRecord 및 OperatingPointGroupBox 내 작동 포인트들에 대한 정보의 시그널링 모두에 적용될 수 있다. 즉, 예를 들어, 상술한 실시예(들)에서 제안된 정보의 시그널링을 VvcOperatingPointsRecord 및 OperatingPointGroupBox 내 작동 포인트들에 대한 정보 모두에 적용하는 방안이 제안될 수 있다. Also, as an example, the signaling proposed in the above-described embodiment(s) may be applied to both signaling of information on operating points in VvcOperatingPointsRecord and OperatingPointGroupBox. That is, for example, a method of applying the signaling of information proposed in the above-described embodiment(s) to both information on operating points in VvcOperatingPointsRecord and OperatingPointGroupBox may be proposed.
예를 들어, 본 문서에서 제안한 일 실시예로, 다음의 표와 같이 구성되는 VvcOperatingPointsRecord, 즉, 작동 포인트 정보 샘플 그룹가 제안될 수 있다. For example, as an embodiment proposed in this document, a VvcOperatingPointsRecord configured as shown in the following table, that is, an operation point information sample group may be proposed.
상술한 표 7을 참조하면 작동 포인트 정보 샘플 그룹에서 all_independent_layers_flag, each_layer_is_an_ols_flag 및 ols_mode_idc 가 시그널링되지 않을 수 있다. 즉, 작동 포인트 정보 샘플 그룹은 all_independent_layers_flag, each_layer_is_an_ols_flag 및 ols_mode_idc를 포함하지 않을 수 있다. 또한, 상술한 표 7을 참조하면 레이어 디펜던시에 대한 정보의 시그널링을 작동 포인트 리스트의 시그널링 이전의 위치로 이동할 수 있다. 즉, 예를 들어, 작동 포인트 정보 샘플 그룹에서 레이어 디펜던시에 대한 정보를 작동 포인트 리스트에 대한 정보보다 먼저 시그널링될 수 있다. 구체적으로, 예를 들어, 작동 포인트 정보 샘플 그룹에서 신텍스 엘리먼트들 max_layer_count, layerID, num_direct_ref_layers, direct_ref_layerID 및/또는 max_tid_il_ref_pics_plus1 가 신텍스 엘리먼트들 num_operating_points, output_layer_set_idx, ptl_idx 및/또는 max_temporal_id 보다 먼저 시그널링/파싱될 수 있다. Referring to Table 7 described above, all_independent_layers_flag, each_layer_is_an_ols_flag, and ols_mode_idc may not be signaled in the operation point information sample group. That is, the operating point information sample group may not include all_independent_layers_flag, each_layer_is_an_ols_flag, and ols_mode_idc. In addition, referring to Table 7 above, the signaling of the layer dependency information may be moved to a position before the signaling of the operation point list. That is, for example, information on the layer dependency in the operation point information sample group may be signaled before information on the operation point list. Specifically, for example, syntax elements max_layer_count, layerID, num_direct_ref_layers, direct_ref_layerID and/or max_tid_il_ref_pics_plus1 in the operating point information sample group may be signaled/parsed prior to syntax elements num_operating_points, output_layer_set_idx, ptl_idx and/or max_temporal.
또한, 상술한 표 7을 참조하면 작동 포인트에 대한 OLS에 포함된 레이어 리스트와 상기 OLS 에 포함된 레이어가 출력 레이어인지 여부를 나타내는 정보를 시그널링하는 대신에 작동 포인트에 대한 OLS에서 출력 레이어인 레이어의 리스트만이 시그널링될 수 있다. 구체적으로, 예를 들어, 작동 포인트 정보 샘플 그룹에서 기존의 신텍스 엘리먼트 layer_count 가 시그널링/파싱되지 않고, 신텍스 엘리먼트 output_layer_count 가 시그널링/파싱될 수 있고, 신텍스 엘리먼트 is_outputlayer 는 시그널링/파싱되지 않을 수 있다. 상기 신텍스 엘리먼트 output_layer_count 는 작동 포인트의 output_layer_set_idx와 동일한 Id를 갖는 OLS의 출력 레이어의 수를 나타낼 수 있다.In addition, referring to Table 7 above, instead of signaling the layer list included in the OLS for the operation point and information indicating whether the layer included in the OLS is an output layer, the layer that is the output layer in the OLS for the operation point Only lists can be signaled. Specifically, for example, in the operation point information sample group, the existing syntax element layer_count may not be signaled/parsed, the syntax element output_layer_count may be signaled/parsed, and the syntax element is_outputlayer may not be signaled/parsed. The syntax element output_layer_count may indicate the number of output layers of the OLS having the same Id as output_layer_set_idx of the operation point.
본 실시예에서 제안된 작동 포인트 정보 샘플 그룹의 신텍스 엘리먼트 output_layer_count 및 layer_id 에 대한 시멘틱(semantics)은 다음의 표와 같을 수 있다. Semantics of the syntax elements output_layer_count and layer_id of the operating point information sample group proposed in this embodiment may be as shown in the following table.
예를 들어, 상술한 표 8을 참조하면 신텍스 엘리먼트 output_layer_count 는 ISO/IEC 23090-3 에 정의된 바와 같이, 작동 포인트의 output_layer_set_idx와 동일한 Id를 갖는 OLS의 출력 레이어의 수를 나타낼 수 있다.For example, referring to Table 8 above, the syntax element output_layer_count may indicate the number of output layers of the OLS having the same Id as output_layer_set_idx of the operation point as defined in ISO/IEC 23090-3.
또한, 예를 들어, 상술한 표 8을 참조하면 신텍스 엘리먼트 layer_id는 작동 포인트와 관련된 Id가 output_layer_set_idx와 동일한 OLS의 출력 레이어에 대한 nuh_layer_id 값을 제공할 수 있다.Also, for example, referring to Table 8 above, the syntax element layer_id may provide a nuh_layer_id value for the output layer of the OLS having the same Id related to the operation point as output_layer_set_idx.
또한, 예를 들어, 본 문서에서 제안한 다른 일 실시예로, 다음의 표와 같이 구성되는 VvcOperatingPointsRecord, 즉, 작동 포인트 정보 샘플 그룹가 제안될 수 있다.Also, for example, as another embodiment proposed in this document, a VvcOperatingPointsRecord configured as shown in the following table, that is, an operation point information sample group may be proposed.
상술한 표 9를 참조하면 작동 포인트 정보 샘플 그룹은 max_tid_il_present_flag 를 포함할 수 있다. 즉, 예를 들어, 작동 포인트 정보 샘플 그룹에서 max_tid_il_present_flag 가 시그널링/파싱될 수 있다. 여기서, max_tid_il_present_flag 는 상술한 바와 같이 OLS의 각 레이어에 대하여 인터레이어 예측(inter-layer prediction)에 필요한 최대 시간적 서브레이어에 대한 정보가 존재하는지 여부를 나타내는 플래그일 수 있다. 즉, 예를 들어, max_tid_il_present_flag 는 해당 레이어에 대한 max_tid_il_ref_pics_plus1 가 존재하는지 여부를 나타낼 수 있다. Referring to Table 9 above, the operation point information sample group may include max_tid_il_present_flag. That is, for example, max_tid_il_present_flag may be signaled/parsed in the operation point information sample group. Here, max_tid_il_present_flag may be a flag indicating whether information on a maximum temporal sub-layer required for inter-layer prediction for each layer of the OLS exists as described above. That is, for example, max_tid_il_present_flag may indicate whether max_tid_il_ref_pics_plus1 for a corresponding layer exists.
또한, 상술한 표 9를 참조하면 대상 레이어가 출력 레이어가 아니고(즉, 상기 대상 레이어에 대한 is_outputlayer 의 값이 0이고), 상기 대상 레이어에 대한 max_tid_il_present_flag 의 값이 1 인 경우, 작동 포인트 정보 샘플 그룹에서 max_tid_il_ref_pics_plus1 가 시그널링/파싱될 수 있다. 예를 들어, max_tid_il_ref_pics_plus1 는 상술한 바와 같이 대상 레이어에서 다른 레이어의 픽처의 디코딩을 위한 인터레이어 예측에 사용될 수 있는 시간적 서브레이어의 최대 개수를 나타낼 수 있다. 예를 들어, max_tid_il_ref_pics_plus1 에서 1을 뺀 값은 대상 레이어 내 인터레이어 예측에 사용될 수 있는 시간적 서브레이어의 최대 개수를 나타낼 수 있다.In addition, referring to Table 9 above, when the target layer is not an output layer (that is, the value of is_outputlayer for the target layer is 0) and the value of max_tid_il_present_flag for the target layer is 1, the operation point information sample group In , max_tid_il_ref_pics_plus1 may be signaled/parsed. For example, max_tid_il_ref_pics_plus1 may indicate the maximum number of temporal sub-layers that can be used for inter-layer prediction for decoding a picture of another layer in the target layer as described above. For example, a value obtained by subtracting 1 from max_tid_il_ref_pics_plus1 may indicate the maximum number of temporal sublayers that can be used for interlayer prediction in a target layer.
본 실시예에서 제안된 작동 포인트 정보 샘플 그룹의 신텍스 엘리먼트 max_tid_il_present_flag 및 max_tid_il_ref_pics_plus1 에 대한 시멘틱(semantics)은 다음의 표와 같을 수 있다. Semantics of the syntax elements max_tid_il_present_flag and max_tid_il_ref_pics_plus1 of the operation point information sample group proposed in this embodiment may be as shown in the following table.
예를 들어, 상술한 표 10을 참조하면 신텍스 엘리먼트 max_tid_il_present_flag 는 신텍스 엘리먼트 max_tid_il_ref_pics_plus1 가 존재하는지 여부를 나타낼 수 있다. 예를 들어, 1과 동일한 max_tid_il_present_flag 는 신텍스 엘리먼트 max_tid_il_ref_pics_plus1 가 존재할 수 있음을 나타낼 수 있다. 또한, 예를 들어, 0과 동일한 max_tid_il_present_flag 는 신텍스 엘리먼트 max_tid_il_ref_pics_plus1 가 존재하지 않음을 나타낼 수 있다.For example, referring to Table 10 above, the syntax element max_tid_il_present_flag may indicate whether the syntax element max_tid_il_ref_pics_plus1 exists. For example, max_tid_il_present_flag equal to 1 may indicate that the syntax element max_tid_il_ref_pics_plus1 may be present. Also, for example, max_tid_il_present_flag equal to 0 may indicate that the syntax element max_tid_il_ref_pics_plus1 does not exist.
또한, 예를 들어, 상술한 표 10을 참조하면 신텍스 엘리먼트 max_tid_il_ref_pics_plus1 는 대상 레이어 내 다른 레이어의 픽처의 인터레이어 예측에 사용될 수 있는 시간적 서브레이어의 최대 개수를 나타낼 수 있다. 예를 들어, 0과 동일한 max_tid_il_ref_pics_plus1 는 IRAP 픽처가 아니고 0과 동일한 ph_recovery_poc_cnt를 갖는 GDR 픽처도 아닌 layer_id와 동일한 레이어 Id를 갖는 레이어의 픽처가 OLS 내 다른 레이어의 픽처의 디코딩을 위한 인터레이어 참조 픽처(Inter Layer Reference Picture, ILRP)로서 사용되지 않음을 나타낼 수 있다. 또한, 예를 들어, 0보다 큰 max_tid_il_ref_pics_plus1 는 OLS의 다른 레이어에 있는 픽처를 디코딩하기 위하여 max_tid_il_ref_pics_plus1 - 1 (즉, max_tid_il_ref_pics_plus1에서 1을 뺀 값) 보다 큰 TemporalId를 갖는 레이어의 픽처는 ILRP로 사용되지 않으며, nuh_layer_id가 layer_id와 동일하고 TemporalId가 max_tid_il_ref_pics_plus1 - 1 (즉, max_tid_il_ref_pics_plus1에서 1을 뺀 값) 보다 큰 APS는 참조되지 않음을 나타낼 수 있다. 한편, 상기 max_tid_il_ref_pics_plus1 가 존재하지 않는 경우, max_tid_il_ref_pics_plus1의 값은 max_temporal_id 와 동일한 것으로 간주될 수 있다.Also, for example, referring to Table 10 above, the syntax element max_tid_il_ref_pics_plus1 may indicate the maximum number of temporal sub-layers that can be used for inter-layer prediction of pictures of other layers in the target layer. For example, max_tid_il_ref_pics_plus1 equal to 0 is not an IRAP picture, nor is a GDR picture having ph_recovery_poc_cnt equal to 0. A picture of a layer having the same layer Id as layer_id is an interlayer reference picture for decoding a picture of another layer in OLS (Interlayer reference picture) It may indicate that it is not used as a Layer Reference Picture (ILRP). Also, for example, max_tid_il_ref_pics_plus1 greater than 0 is not used as an ILRP for a picture of a layer with a TemporalId greater than max_tid_il_ref_pics_plus1 - 1 (that is, max_tid_il_ref_pics_plus1 minus 1) in order to decode a picture in another layer of the OLS. An APS having nuh_layer_id equal to layer_id and TemporalId greater than max_tid_il_ref_pics_plus1 - 1 (ie, max_tid_il_ref_pics_plus1 minus 1) may indicate that it is not referenced. Meanwhile, when the max_tid_il_ref_pics_plus1 does not exist, the value of max_tid_il_ref_pics_plus1 may be considered to be the same as max_temporal_id.
도 4는 본 문서에서 제안한 실시예가 적용되는 미디어 파일 생성 방법을 예시적으로 나타낸다. 4 exemplarily shows a media file creation method to which the embodiment proposed in this document is applied.
도 4를 참조하면 제1 장치(first device)는 VvcOperatingPointsRecord (작동 포인트 정보 샘플 그룹) 및/또는 OperatingPointGroupBox (작동 포인트 엔티티 그룹)을 구성할 수 있다(S400). 예를 들어, 상기 제1 장치는 전송 단(transmission end), 인코딩 단(encoding end) 또는 미디어 파일 생성 단(media file generating end)을 나타낼 수 있다. 예를 들어, 제1 장치는 네트워크 또는 (디지털) 저장매체를 통하여 인코딩된 영상/비디오 정보를 획득할 수 있다. 여기서 네트워크는 방송망 및/또는 통신망 등을 포함할 수 있고, 디지털 저장매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장매체를 포함할 수 있다. 또한, 상기 제1 장치는 인코더를 포함할 수 있고, 상기 인코딩된 영상/비디오 정보를 도출할 수 있다. 이후, 제1 장치는 VvcOperatingPointsRecord (작동 포인트 정보 샘플 그룹) 및/또는 OperatingPointGroupBox (작동 포인트 엔티티 그룹)을 구성할 수 있다. 예를 들어, 제1 장치는 상술한 실시예에 따라서 상기 인코딩된 영상/비디오 정보에 대한 VvcOperatingPointsRecord 및/또는 OperatingPointGroupBox 를 구성할 수 있다. Referring to FIG. 4 , a first device may configure VvcOperatingPointsRecord (operation point information sample group) and/or OperatingPointGroupBox (operation point entity group) ( S400 ). For example, the first device may represent a transmission end, an encoding end, or a media file generating end. For example, the first device may acquire encoded image/video information through a network or a (digital) storage medium. Here, the network may include a broadcasting network and/or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. Also, the first device may include an encoder and derive the encoded image/video information. Then, the first device may configure VvcOperatingPointsRecord (operation point information sample group) and/or OperatingPointGroupBox (operation point entity group). For example, the first device may configure VvcOperatingPointsRecord and/or OperatingPointGroupBox for the encoded image/video information according to the above-described embodiment.
이후, 제1 장치는 상기 VvcOperatingPointsRecord 및/또는 OperatingPointGroupBox 를 기반으로 미디어 파일을 생성할 수 있다(S410). Thereafter, the first device may generate a media file based on the VvcOperatingPointsRecord and/or OperatingPointGroupBox ( S410 ).
도 5는 본 문서에서 제안한 실시예가 적용되어 생성된 미디어 파일을 디코딩하는 방법을 예시적으로 나타낸다. 5 exemplarily shows a method of decoding a media file generated by applying the embodiment proposed in this document.
제2 장치는 VvcOperatingPointsRecord 및/또는 OperatingPointGroupBox 를 포함하는 미디어 파일을 획득/수신할 수 있다(S500). 예를 들어, 상기 제2 장치는 수신 단(reception end), 디코딩 단(decoding end) 또는 렌더링 단(rendering end)을 나타낼 수 있다.The second device may obtain/receive a media file including VvcOperatingPointsRecord and/or OperatingPointGroupBox ( S500 ). For example, the second device may represent a reception end, a decoding end, or a rendering end.
예를 들어, 미디어 파일은 표 1, 표 3, 표 7 및/또는 표 9에 설명된 정보를 포함할 수 있다. 예를 들어, 상기 VvcOperatingPointsRecord 및/또는 OperatingPointGroupBox 는 본 문서에서 제안된 실시예(들)의 정보/필드를 포함할 수 있다. For example, the media file may include the information described in Table 1, Table 3, Table 7, and/or Table 9. For example, the VvcOperatingPointsRecord and/or OperatingPointGroupBox may include information/fields of the embodiment(s) proposed in this document.
제2 장치는 상기 VvcOperatingPointsRecord 및/또는 OperatingPointGroupBox 를 파싱/획득할 수 있다(S510). 제2 장치는 상기 미디어 파일에 포함된 상기 VvcOperatingPointsRecord 및/또는 OperatingPointGroupBox 를 파싱/획득할 수 있다. 예를 들어, 상기 VvcOperatingPointsRecord 및/또는 OperatingPointGroupBox 는 작동 포인트와 관련된 정보(또는 OLS 와 관련된 정보)를 포함할 수 있고, 제2 장치는 상기 VvcOperatingPointsRecord 및/또는 OperatingPointGroupBox 를 기반으로 작동 포인트(또는 OLS)를 도출할 수 있다. 상기 도출된 작동 포인트(또는 OLS)를 기반으로, 영상/비디오 디코딩 및/또는 (디코딩된) 픽처 출력이 수행될 수 있다.The second device may parse/obtain the VvcOperatingPointsRecord and/or OperatingPointGroupBox ( S510 ). The second device may parse/obtain the VvcOperatingPointsRecord and/or OperatingPointGroupBox included in the media file. For example, the VvcOperatingPointsRecord and/or OperatingPointGroupBox may include information related to an operating point (or information related to OLS), and the second device derives an operating point (or OLS) based on the VvcOperatingPointsRecord and/or OperatingPointGroupBox can do. Based on the derived operating point (or OLS), image/video decoding and/or (decoded) picture output may be performed.
도 6은 본 문서에 따른 미디어 파일 생성 장치에 의한 미디어 파일 생성 방법을 개략적으로 나타낸다. 도 6에서 개시된 방법은 도 7에서 개시된 미디어 파일 생성 장치에 의하여 수행될 수 있다. 상기 미디어 파일 생성 장치는 상술한 제1 장치를 나타낼 수 있다. 구체적으로 예를 들어, 도 6의 S600 내지 S620은 상기 미디어 파일 생성 장치의 영상 처리부에 의하여 수행될 수 있고, S630은 상기 미디어 파일 생성 장치의 미디어 파일 생성부에 의하여 수행될 수 있다. 또한, 비록 도시되지는 않았으나 영상 정보를 포함하는 비트스트림을 인코딩하는 과정은 상기 미디어 파일 생성 장치의 인코더에 의하여 수행될 수 있다.6 schematically illustrates a method of generating a media file by a media file generating apparatus according to the present document. The method disclosed in FIG. 6 may be performed by the apparatus for generating a media file disclosed in FIG. 7 . The media file generating device may represent the above-described first device. Specifically, for example, steps S600 to S620 of FIG. 6 may be performed by the image processing unit of the media file generating apparatus, and S630 may be performed by the media file generating unit of the media file generating apparatus. Also, although not shown, the process of encoding the bitstream including image information may be performed by the encoder of the media file generating apparatus.
미디어 파일 생성 장치는 OLS(Output Layer Set, OLS) 내 대상 레이어에 대한 제1 플래그 정보를 구성한다(S600). 상기 제1 플래그 정보는 인터레이어 예측에 대한 시간적 서브레이어의 최대 개수에 대한 정보가 존재하는지 여부를 나타낼 수 있다. The media file generating apparatus configures first flag information for a target layer in an output layer set (OLS) ( S600 ). The first flag information may indicate whether information on the maximum number of temporal sub-layers for inter-layer prediction exists.
예를 들어, 미디어 파일 생성 장치는 인코딩된 영상 정보를 도출할 수 있고, 상기 인코딩된 영상 정보를 포함하는 비트스트림에 대한 작동 포인트 정보 샘플 그룹을 구성할 수 있고, 상기 작동 포인트 정보 샘플 그룹을 포함하는 미디어 파일을 생성할 수 있다. 예를 들어, 미디어 파일 생성 장치는 인코딩된 영상 정보를 도출할 수 있고, 상기 인코딩된 영상 정보를 기반으로 상기 대상 레이어와 관련하여 인터레이어 예측에 대한 시간적 서브레이어의 최대 개수에 대한 정보가 존재하는지 여부를 판단할 수 있고, 상기 판단의 결과를 기반으로 상기 대상 레이어에 대한 상기 제1 플래그 정보를 구성할 수 있다. 즉, 예를 들어, 미디어 파일 생성 장치는 상기 대상 레이어에 다른 레이어의 픽처의 인터레이어 예측을 위하여 사용될 수 있는 시간적 서브레이어가 존재하는지 여부를 판단할 수 있고, 상기 판단의 결과를 기반으로 상기 인터레이어 예측에 대한 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재하는지 여부를 나타내는 상기 제1 플래그 정보를 구성할 수 있다. 한편, 예를 들어, 미디어 파일 생성 장치는 네트워크 또는 (디지털) 저장매체를 통하여 상기 인코딩된 영상 정보를 획득할 수 있다. 여기서 네트워크는 방송망 및/또는 통신망 등을 포함할 수 있고, 디지털 저장매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장매체를 포함할 수 있다. 또는, 예를 들어, 상기 미디어 파일 생성 장치는 인코더를 포함할 수 있고, 상기 인코딩된 영상 정보를 도출할 수 있다.For example, the apparatus for generating a media file may derive encoded image information, configure an operation point information sample group for a bitstream including the encoded image information, and include the operation point information sample group media files can be created. For example, the apparatus for generating a media file may derive encoded image information, and based on the encoded image information, whether information on the maximum number of temporal sub-layers for inter-layer prediction exists in relation to the target layer It may be determined whether or not there is, and the first flag information for the target layer may be configured based on a result of the determination. That is, for example, the apparatus for generating a media file may determine whether a temporal sub-layer that can be used for inter-layer prediction of a picture of another layer exists in the target layer, and based on the result of the determination, The first flag information indicating whether the information on the maximum number of the temporal sub-layers for layer prediction exists may be configured. Meanwhile, for example, the apparatus for generating a media file may acquire the encoded image information through a network or a (digital) storage medium. Here, the network may include a broadcasting network and/or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. Alternatively, for example, the apparatus for generating a media file may include an encoder, and may derive the encoded image information.
예를 들어, 상기 제1 플래그 정보의 신텍스 엘리먼트는 상술한 max_tid_il_present_flag 일 수 있다. 예를 들어, 1과 동일한 상기 제1 플래그 정보는 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재할 수 있음을 나타낼 수 있다. 또한, 예를 들어, 0과 동일한 상기 제1 플래그 정보는 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재하지 않음을 나타낼 수 있다.For example, the syntax element of the first flag information may be the above-described max_tid_il_present_flag. For example, the first flag information equal to 1 may indicate that the information about the maximum number of the temporal sub-layers may exist. Also, for example, the first flag information equal to 0 may indicate that the information about the maximum number of the temporal sub-layers does not exist.
미디어 파일 생성 장치는 상기 대상 레이어가 출력 레이어인지 여부에 대한 제2 플래그 정보를 구성한다(S610). 예를 들어, 미디어 파일 생성 장치는 인코딩된 영상 정보를 도출할 수 있고, 상기 인코딩된 영상 정보를 기반으로 상기 대상 레이어가 출력 레이어인지 여부를 판단할 수 있고, 상기 판단의 결과를 기반으로 상기 대상 레이어가 출력 레이어인지 여부에 대한 상기 제2 플래그 정보를 구성할 수 있다.The media file generating apparatus configures second flag information on whether the target layer is an output layer (S610). For example, the apparatus for generating a media file may derive encoded image information, determine whether the target layer is an output layer based on the encoded image information, and may determine whether the target layer is an output layer based on a result of the determination The second flag information regarding whether the layer is an output layer may be configured.
예를 들어, 상기 제2 플래그 정보의 신텍스 엘리먼트는 상술한 is_outputlayer 일 수 있다. 예를 들어, 1과 동일한 상기 제2 플래그 정보는 1과 동일한 상기 제2 플래그 정보는 상기 대상 레이어가 상기 출력 레이어임을 나타낼 수 있다. 또한, 예를 들어, 0과 동일한 상기 제2 플래그 정보는 상기 대상 레이어가 상기 출력 레이어가 아님을 나타낼 수 있다.For example, the syntax element of the second flag information may be the is_outputlayer described above. For example, the second flag information equal to 1 may indicate that the target layer is the output layer. Also, for example, the second flag information equal to 0 may indicate that the target layer is not the output layer.
미디어 파일 생성 장치는 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 기반으로 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 구성한다(S620). 미디어 파일 생성 장치는 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 기반으로 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 구성할 수 있다. 예를 들어, 상기 제1 플래그 정보가 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재할 수 있음을 나타내고, 상기 제2 플래그 정보가 상기 대상 레이어가 상기 출력 레이어가 아님을 나타내는 경우, 미디어 파일 생성 장치는 상기 작동 포인트 정보 샘플 그룹에 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 구성할 수 있고, 상기 제1 플래그 정보가 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재하지 않음을 나타내거나 또는 상기 제2 플래그 정보가 상기 대상 레이어가 상기 출력 레이어임을 나타내는 경우, 미디어 파일 생성 장치는 상기 작동 포인트 정보 샘플 그룹에 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 구성하지 않을 수 있다. 즉, 예를 들어, 상기 제1 플래그 정보의 값이 1이고, 상기 제2 플래그 정보의 값이 0인 경우, 미디어 파일 생성 장치는 상기 작동 포인트 정보 샘플 그룹에 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 구성할 수 있고, 상기 제1 플래그 정보의 값이 0이거나 또는 상기 제2 플래그 정보의 값이 1인 경우, 미디어 파일 생성 장치는 상기 작동 포인트 정보 샘플 그룹에 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 구성하지 않을 수 있다.The media file generating apparatus configures the information on the maximum number of the temporal sub-layers based on the first flag information and the second flag information (S620). The apparatus for generating a media file may configure the information on the maximum number of the temporal sub-layers based on the first flag information and the second flag information. For example, when the first flag information indicates that the information on the maximum number of temporal sub-layers may exist, and the second flag information indicates that the target layer is not the output layer, a media file The generating device may configure the information on the maximum number of the temporal sub-layers in the operation point information sample group, wherein the first flag information does not include the information on the maximum number of the temporal sub-layers or when the second flag information indicates that the target layer is the output layer, the media file generating device may not configure the information about the maximum number of the temporal sub-layers in the operation point information sample group. there is. That is, for example, when the value of the first flag information is 1 and the value of the second flag information is 0, the media file generating apparatus includes the maximum number of the temporal sub-layers in the operation point information sample group. may configure the information for, and when the value of the first flag information is 0 or the value of the second flag information is 1, the media file generating apparatus stores the temporal sub-layer in the operation point information sample group. The above information for the maximum number may not be configured.
예를 들어, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 1과 동일한 상기 제1 플래그 정보 및 0과 동일한 상기 제2 플래그 정보를 기반으로 상기 작동 포인트 정보 샘플 그룹에 구성될 수 있다. 즉, 예를 들어, 상기 제1 플래그 정보의 값이 1이고, 상기 제2 플래그 정보의 값이 0인 경우, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 상기 작동 포인트 정보 샘플 그룹에 구성될 수 있다. 또한, 예를 들어, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 0과 동일한 상기 제1 플래그 정보 및/또는 1과 동일한 상기 제2 플래그 정보를 기반으로 상기 작동 포인트 정보 샘플 그룹에 구성되지 않을 수 있다. 즉, 예를 들어, 상기 제1 플래그 정보의 값이 0이거나 또는 상기 제2 플래그 정보의 값이 1인 경우, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 상기 작동 포인트 정보 샘플 그룹에 구성되지 않을 수 있다.For example, the information about the maximum number of the temporal sub-layers may be configured in the operation point information sample group based on the first flag information equal to 1 and the second flag information equal to 0. That is, for example, when the value of the first flag information is 1 and the value of the second flag information is 0, the information about the maximum number of the temporal sub-layers is configured in the operation point information sample group can be Also, for example, the information about the maximum number of temporal sub-layers is not configured in the operation point information sample group based on the first flag information equal to 0 and/or the second flag information equal to 1 may not be That is, for example, when the value of the first flag information is 0 or the value of the second flag information is 1, the information about the maximum number of the temporal sub-layers is configured in the operation point information sample group it may not be
예를 들어, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보의 신텍스 엘리먼트는 상술한 max_tid_il_ref_pics_plus1 일 수 있다. 예를 들어, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보의 값에서 1을 뺀 값이 상기 시간적 서브레이어의 상기 최대 개수로 도출될 수 있다. For example, the syntax element of the information for the maximum number of the temporal sub-layers may be the above-described max_tid_il_ref_pics_plus1. For example, a value obtained by subtracting 1 from the value of the information on the maximum number of temporal sub-layers may be derived as the maximum number of temporal sub-layers.
구체적으로, 예를 들어, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 대상 레이어에서 다른 레이어의 픽처의 인터레이어 예측에 필요한 시간적 서브레이어의 최대 개수를 나타낼 수 있다. 예를 들어, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보의 값에서 1을 뺀 값은 대상 레이어에서 인터레이어 예측에 필요한 시간적 서브레이어의 최대 개수를 나타낼 수 있다. 또한, 예를 들어, 0과 동일한 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 IRAP(Intra Random Access Point) 픽처가 아니고 0과 동일한 ph_recovery_poc_cnt를 갖는 GDR(Gradual Decoding Refresh) 픽처도 아닌 대상 레이어의 픽처가 OLS 내 다른 레이어의 픽처의 디코딩을 위한 인터레이어 참조 픽처(Inter Layer Reference Picture, ILRP)로서 사용되지 않음을 나타낼 수 있다. 여기서, ILRP 는 인터레이어 예측에 사용되는 참조 픽처를 나타낼 수 있다. 또한, 예를 들어, 0보다 큰 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 OLS의 다른 레이어에 있는 픽처를 디코딩하기 위하여 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보의 값에서 1을 뺀 값보다 큰 TemporalId를 갖는 대상 레이어의 픽처는 ILRP로 사용되지 않으며, nuh_layer_id가 layer_id와 동일하고 TemporalId가 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보의 값에서 1을 뺀 값보다 큰 APS는 참조되지 않음을 나타낼 수 있다. 한편, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재하지 않는 경우, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보의 값은 max_temporal_id 와 동일한 것으로 간주될 수 있다.Specifically, for example, the information on the maximum number of temporal sub-layers may indicate the maximum number of temporal sub-layers required for inter-layer prediction of pictures of other layers in a target layer. For example, a value obtained by subtracting 1 from the value of the information on the maximum number of temporal sublayers may indicate the maximum number of temporal sublayers required for interlayer prediction in a target layer. In addition, for example, the information about the maximum number of the temporal sub-layers equal to 0 is not an Intra Random Access Point (IRAP) picture and a Gradual Decoding Refresh (GDR) picture with ph_recovery_poc_cnt equal to 0. It may indicate that the picture is not used as an Inter Layer Reference Picture (ILRP) for decoding a picture of another layer in the OLS. Here, ILRP may indicate a reference picture used for inter-layer prediction. Also, for example, the information about the maximum number of temporal sub-layers greater than 0 is 1 in the value of the information about the maximum number of temporal sub-layers to decode a picture in another layer of OLS. A picture of the target layer with TemporalId greater than the subtracted value is not used as ILRP, nuh_layer_id is the same as layer_id and TemporalId is greater than the value of information about the maximum number of temporal sublayers minus 1 may indicate that it is not. Meanwhile, when the information on the maximum number of temporal sub-layers does not exist, the value of the information on the maximum number of temporal sub-layers may be regarded as equal to max_temporal_id.
미디어 파일 생성 장치는 작동 포인트 정보 샘플 그룹을 포함하는 미디어 파일을 생성한다(S630). 미디어 파일 생성 장치는 작동 포인트 정보 샘플 그룹을 포함하는 미디어 파일을 생성할 수 있다. 한편, 예를 들어, 작동 포인트 정보 샘플 그룹은 VvcOperatingPointsRecord 라고 불릴 수도 있다. The media file generating apparatus generates a media file including the operation point information sample group (S630). The media file generating apparatus may generate a media file including the operation point information sample group. Meanwhile, for example, the operation point information sample group may be called VvcOperatingPointsRecord.
예를 들어, 상기 작동 포인트 정보 샘플 그룹은 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 포함할 수 있다. 또한, 예를 들어, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 1과 동일한 상기 제1 플래그 정보 및 0과 동일한 상기 제2 플래그 정보를 기반으로 상기 작동 포인트 정보 샘플 그룹에 구성될 수 있다. 즉, 예를 들어, 상기 제1 플래그 정보의 값이 1이고, 상기 제2 플래그 정보의 값이 0인 경우, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 상기 작동 포인트 정보 샘플 그룹에 구성될 수 있다.For example, the operation point information sample group may include the first flag information and the second flag information. Also, for example, the information about the maximum number of the temporal sub-layers may be configured in the operation point information sample group based on the first flag information equal to 1 and the second flag information equal to 0. . That is, for example, when the value of the first flag information is 1 and the value of the second flag information is 0, the information about the maximum number of the temporal sub-layers is configured in the operation point information sample group can be
한편, 예를 들어, 상기 작동 포인트 정보 샘플 그룹은 레이어 디펜던시(layer dependency)에 대한 정보 및 작동 포인트들의 리스트에 대한 정보를 포함할 수 있다. 예를 들어, 상기 작동 포인트 정보 샘플 그룹에서 상기 레이어 디펜던시에 대한 상기 정보가 상기 작동 포인트들의 상기 리스트에 대한 상기 정보보다 먼저 시그널링될 수 있다. 즉, 예를 들어, 상기 작동 포인트 정보 샘플 그룹에 상기 레이어 디펜던시에 대한 정보 및 상기 작동 포인트들의 상기 리스트에 대한 상기 정보가 구성될 수 있고, 상기 작동 포인트 정보 샘플 그룹에서 상기 레이어 디펜던시에 대한 정보가 상기 작동 포인트들의 상기 리스트에 대한 상기 정보보다 먼저 구성될 수 있다. Meanwhile, for example, the operation point information sample group may include information on layer dependency and information on a list of operation points. For example, the information on the layer dependency in the operation point information sample group may be signaled before the information on the list of operation points. That is, for example, the information on the layer dependency and the information on the list of the operation points may be configured in the operation point information sample group, and the layer dependency in the operation point information sample group may be configured. The information on can be constructed prior to the information about the list of actuation points.
예를 들어, 상기 레이어 디펜던시에 대한 상기 정보는 모든 작동 포인트들의 모든 (고유) 레이어들의 수를 나타내는 정보, 레이어 ID 정보, 직접 참조 레이어의 수에 대한 정보 및/또는 직접 참조 레이어 ID 정보를 포함할 수 있다. 상기 작동 포인트들의 상기 레이어들의 수를 나타내는 정보의 신텍스 엘리먼트는 상술한 max_layer_count, 상기 레이어 ID 정보의 신텍스 엘리먼트는 layerID, 상기 직접 참조 레이어의 수에 대한 정보의 신텍스 엘리먼트는 상술한 num_direct_ref_layers, 상기 직접 참조 레이어 ID 정보의 신텍스 엘리먼트는 상술한 direct_ref_layerID 일 수 있다. For example, the information on the layer dependency includes information indicating the number of all (unique) layers of all operation points, layer ID information, information on the number of direct reference layers, and/or direct reference layer ID information may include The syntax element of the information indicating the number of layers of the operation points is max_layer_count as described above, the syntax element of the layer ID information is layerID, the syntax element of the information on the number of the direct reference layers is the above-described num_direct_ref_layers, and the direct reference layer The syntax element of ID information may be the above-described direct_ref_layerID.
또한, 예를 들어, 상기 작동 포인트들의 상기 리스트에 대한 상기 정보는 상기 작동 포인트들의 개수에 대한 정보, 상기 작동 포인트들에 대한 OLS 인덱스 정보, OLS 에 대한 PTL 구조 인덱스 정보 및/또는 최대 시간적 ID 정보를 포함할 수 있다. 예를 들어, 상기 작동 포인트들의 개수에 대한 정보는 상기 작동 포인트의 개수를 나타낼 수 있고, 상기 OLS 인덱스 정보는 상기 작동 포인트들에 대한 OLS 를 나타낼 수 있고, 상기 PTL 구조 인덱스 정보는 상기 OLS 에 대한 PTL 구조를 나타낼 수 있고, 상기 최대 시간적 ID 정보는 작동 포인트들의 NAL 유닛의 최대 시간적 ID(TemporalId)를 나타낼 수 있다. 상기 작동 포인트들의 개수에 대한 정보의 신텍스 엘리먼트는 상술한 num_operating_points, 상기 OLS 인덱스의 신텍스 엘리먼트는 output_layer_set_idx, 상기 PTL 구조 인텍스 정보의 신텍스 엘리먼트는 상술한 ptl_idx, 상기 최대 시간적 ID 정보의 신텍스 엘리먼트는 상술한 max_temporal_id 일 수 있다. Also, for example, the information on the list of actuation points may include information on the number of actuation points, OLS index information for the actuation points, PTL structure index information for OLS and/or maximum temporal ID information. may include For example, the information on the number of operation points may indicate the number of operation points, the OLS index information may indicate an OLS for the operation points, and the PTL structure index information may indicate the number of operation points for the OLS. It may indicate a PTL structure, and the maximum temporal ID information may indicate a maximum temporal ID (TemporalId) of a NAL unit of operation points. The syntax element of the information on the number of operating points is the above-described num_operating_points, the syntax element of the OLS index is output_layer_set_idx, the syntax element of the PTL structure index information is the above-described ptl_idx, and the syntax element of the maximum temporal ID information is the above-described max_temporal_id can be
또는, 예를 들어, 상기 작동 포인트 정보 샘플 그룹은 상기 OLS 내 출력 레이어들의 리스트에 대한 정보를 포함할 수 있고, 상기 OLS 내 출력 레이어가 아닌 레이어의 리스트에 대한 정보를 포함하지 않을 수 있다. 즉, 예를 들어, 상기 작동 포인트 정보 샘플 그룹에 상기 OLS 내 출력 레이어들의 리스트에 대한 정보가 구성/포함될 수 있고, 상기 OLS 내 출력 레이어가 아닌 레이어의 리스트에 대한 정보는 구성/포함되지 않을 수 있다. 이 경우, 상술한 제2 플래그 정보는 상기 작동 포인트 정보 샘플 그룹에 구성/포함되지 않을 수 있다. 예를 들어, 상기 출력 레이어들의 리스트에 대한 정보는 출력 레이어들의 개수에 대한 정보 및/또는 레이어 ID 정보를 포함할 수 있다. 예를 들어, 상기 출력 레이어들의 개수에 대한 정보는 상기 OLS 내 출력 레이어들의 개수를 나타낼 수 있고, 레이어 ID 정보는 상기 레이어 ID 정보에 대한 레이어의 레이어 ID를 나타낼 수 있다. 상기 출력 레이어들의 개수에 대한 정보의 신텍스 엘리먼트는 상술한 output_layer_count, 상기 레이어 ID 정보의 신텍스 엘리먼트는 상술한 layer_id 일 수 있다. Alternatively, for example, the operation point information sample group may include information on a list of output layers in the OLS, and may not include information on a list of layers other than an output layer in the OLS. That is, for example, information on a list of output layers in the OLS may be configured/included in the operation point information sample group, and information on a list of layers other than an output layer in the OLS may be configured/not included. there is. In this case, the above-described second flag information may not be configured/included in the operation point information sample group. For example, the information on the list of output layers may include information on the number of output layers and/or layer ID information. For example, the information on the number of output layers may indicate the number of output layers in the OLS, and the layer ID information may indicate a layer ID of a layer with respect to the layer ID information. The syntax element of the information on the number of output layers may be the above-described output_layer_count, and the syntax element of the layer ID information may be the above-described layer_id.
또는, 예를 들어, 상기 작동 포인트 정보 샘플 그룹은 상기 OLS 내 레이어들의 전체 리스트에 대한 정보를 포함할 수 있고, 상기 레이어 디펜던시에 대한 정보를 포함하지 않을 수 있다. 즉, 예를 들어, 상기 작동 포인트 정보 샘플 그룹에 상기 OLS 내 레이어들의 전체 리스트에 대한 정보가 구성/포함될 수 있고, 상기 레이어 디펜던시에 대한 정보는 구성/포함되지 않을 수 있다.Alternatively, for example, the operation point information sample group may include information on the entire list of layers in the OLS, but may not include information on the layer dependency. That is, for example, information on the entire list of layers in the OLS may be configured/included in the operation point information sample group, and information on the layer dependency may not be configured/included.
또는, 예를 들어, 상기 작동 포인트 정보 샘플 그룹은 모든 레이어들이 인터레이어 예측을 사용하지 않고 독립적으로 코딩되는지 여부에 대한 플래그 정보, 각 OLS(Output Layer Set)가 하나의 출력 레이어만을 포함하는지 여부에 대한 플래그 정보 및/또는 각 OLS 의 모드를 나타내는 OLS 모드 인덱스 정보를 포함하지 않을 수 있다. 즉, 예를 들어, 상기 작동 포인트 정보 샘플 그룹에 모든 레이어들이 인터레이어 예측을 사용하지 않고 독립적으로 코딩되는지 여부에 대한 플래그 정보, 각 OLS(Output Layer Set)가 하나의 출력 레이어만을 포함하는지 여부에 대한 플래그 정보 및/또는 각 OLS 의 모드를 나타내는 OLS 모드 인덱스 정보가 구성/포함되지 않을 수 있다. 예를 들어, 상기 모든 레이어들이 인터레이어 예측을 사용하지 않고 독립적으로 코딩되는지 여부에 대한 플래그 정보의 신텍스 엘리먼트는 상술한 all_independent_layers_flag, 상기 각 OLS(Output Layer Set)가 하나의 출력 레이어만을 포함하는지 여부에 대한 플래그 정보의 신텍스 엘리먼트는 each_layer_is_an_ols_flag, 상기 각 OLS 의 모드를 나타내는 OLS 모드 인덱스 정보의 신텍스 엘리먼트는 ols_mode_idc 일 수 있다.Or, for example, the operation point information sample group includes flag information on whether all layers are independently coded without using inter-layer prediction, and whether each Output Layer Set (OLS) includes only one output layer. Flag information and/or OLS mode index information indicating the mode of each OLS may not be included. That is, for example, flag information on whether all layers in the operation point information sample group are independently coded without using inter-layer prediction, and whether each Output Layer Set (OLS) includes only one output layer. Flag information and/or OLS mode index information indicating the mode of each OLS may be configured/not included. For example, the syntax element of the flag information for whether all the layers are independently coded without using inter-layer prediction is the above-described all_independent_layers_flag, whether each Output Layer Set (OLS) includes only one output layer. The syntax element of the flag information for the . . may be each_layer_is_an_ols_flag, and the syntax element of the OLS mode index information indicating the mode of each OLS may be ols_mode_idc.
한편, 비록 도시되지는 않았으나 미디어 파일 생성 장치는 상기 생성된 미디어 파일을 (디지털) 저장매체에 저장하거나 또는 네트워크 또는 (디지털) 저장매체를 통하여 미디어 파일 처리 장치로 전달할 수 있다. 여기서 네트워크는 방송망 및/또는 통신망 등을 포함할 수 있고, 디지털 저장매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장매체를 포함할 수 있다.Meanwhile, although not shown, the media file generating apparatus may store the generated media file in a (digital) storage medium or transmit it to the media file processing apparatus through a network or a (digital) storage medium. Here, the network may include a broadcasting network and/or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
도 7은 본 문서에 따른 미디어 파일 생성 방법을 수행하는 미디어 파일 생성 장치를 개략적으로 나타낸다. 도 6에서 개시된 방법은 도 7에서 개시된 미디어 파일 생성 장치에 의하여 수행될 수 있다. 구체적으로 예를 들어, 도 7의 상기 미디어 파일 생성 장치의 영상 처리부는 S600 내지 S620을 수행할 수 있고, 도 7의 상기 미디어 파일 생성 장치의 미디어 파일 생성부는 S630을 수행할 수 있다. 또한, 비록 도시되지는 않았으나 영상 정보를 포함하는 비트스트림을 인코딩하는 과정은 상기 미디어 파일 생성 장치의 인코더에 의하여 수행될 수 있다.7 schematically shows a media file generating apparatus that performs the media file generating method according to the present document. The method disclosed in FIG. 6 may be performed by the apparatus for generating a media file disclosed in FIG. 7 . Specifically, for example, the image processing unit of the apparatus for generating a media file of FIG. 7 may perform operations S600 to S620 , and the media file generation unit of the apparatus for generating a media file of FIG. 7 may perform operations S630 . Also, although not shown, the process of encoding the bitstream including image information may be performed by the encoder of the media file generating apparatus.
도 8은 본 문서에 따른 미디어 파일 처리 장치에 의한 미디어 파일 처리 방법을 개략적으로 나타낸다. 도 8에서 개시된 방법은 도 9에서 개시된 미디어 파일 처리 장치에 의하여 수행될 수 있다. 상기 미디어 파일 처리 장치는 상술한 제2 장치를 나타낼 수 있다. 구체적으로 예를 들어, 도 8의 S800은 상기 미디어 파일 처리 장치의 수신부에 의하여 수행될 수 있고, S810은 상기 미디어 파일 처리 장치의 미디어 파일 처리부에 의하여 수행될 수 있다. 또한, 비록 도시되지는 않았으나 디코더 구성 레코드를 기반으로 비트스트림을 디코딩하는 과정은 상기 미디어 파일 처리 장치의 디코더에 의하여 수행될 수 있다.8 schematically illustrates a media file processing method by a media file processing apparatus according to the present document. The method disclosed in FIG. 8 may be performed by the apparatus for processing a media file illustrated in FIG. 9 . The media file processing device may represent the above-described second device. Specifically, for example, S800 of FIG. 8 may be performed by the receiving unit of the media file processing apparatus, and S810 may be performed by the media file processing unit of the media file processing apparatus. Also, although not shown, the process of decoding the bitstream based on the decoder configuration record may be performed by the decoder of the media file processing apparatus.
미디어 파일 처리 장치는 작동 포인트 정보 샘플 그룹을 포함하는 미디어 파일을 획득한다(S800). 예를 들어, 미디어 파일 처리 장치는 네트워크 또는 (디지털) 저장매체를 통하여 상기 작동 포인트 정보 샘플 그룹을 포함하는 상기 미디어 파일을 획득할 수 있다. 여기서 네트워크는 방송망 및/또는 통신망 등을 포함할 수 있고, 디지털 저장매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장매체를 포함할 수 있다. The media file processing apparatus acquires a media file including the operation point information sample group (S800). For example, the media file processing apparatus may acquire the media file including the operation point information sample group through a network or a (digital) storage medium. Here, the network may include a broadcasting network and/or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
미디어 파일 처리 장치는 상기 작동 포인트 정보 샘플 그룹을 파싱한다(S810). 예를 들어, 미디어 파일 처리 장치는 상기 작동 포인트 정보 샘플 그룹을 파싱/도출할 수 있다. The media file processing apparatus parses the operation point information sample group (S810). For example, the media file processing apparatus may parse/derive the operation point information sample group.
구체적으로, 예를 들어, 미디어 파일 처리 장치는 OLS(Output Layer Set, OLS) 내 대상 레이어에 대한 제1 플래그 정보를 파싱할 수 있다. 즉, 미디어 파일 처리 장치는 상기 작동 포인트 정보 샘플 그룹에 포함된 상기 제1 플래그 정보를 파싱할 수 있다. 상기 제1 플래그 정보는 인터레이어 예측에 대한 시간적 서브레이어의 최대 개수에 대한 정보가 존재하는지 여부를 나타낼 수 있다. Specifically, for example, the media file processing apparatus may parse first flag information for a target layer in an output layer set (OLS). That is, the media file processing apparatus may parse the first flag information included in the operation point information sample group. The first flag information may indicate whether information on the maximum number of temporal sub-layers for inter-layer prediction exists.
예를 들어, 상기 제1 플래그 정보의 신텍스 엘리먼트는 상술한 max_tid_il_present_flag 일 수 있다. 예를 들어, 1과 동일한 상기 제1 플래그 정보는 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재할 수 있음을 나타낼 수 있다. 또한, 예를 들어, 0과 동일한 상기 제1 플래그 정보는 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재하지 않음을 나타낼 수 있다.For example, the syntax element of the first flag information may be the above-described max_tid_il_present_flag. For example, the first flag information equal to 1 may indicate that the information about the maximum number of the temporal sub-layers may exist. Also, for example, the first flag information equal to 0 may indicate that the information about the maximum number of the temporal sub-layers does not exist.
또한, 예를 들어, 미디어 파일 처리 장치는 상기 대상 레이어가 출력 레이어인지 여부에 대한 제2 플래그 정보를 파싱할 수 있다. 즉, 미디어 파일 처리 장치는 상기 작동 포인트 정보 샘플 그룹에 포함된 상기 제2 플래그 정보를 파싱할 수 있다. 상기 제2 플래그 정보는 상기 대상 레이어가 상기 출력 레이어인지 여부를 나타낼 수 있다.Also, for example, the media file processing apparatus may parse second flag information regarding whether the target layer is an output layer. That is, the media file processing apparatus may parse the second flag information included in the operation point information sample group. The second flag information may indicate whether the target layer is the output layer.
예를 들어, 상기 제2 플래그 정보의 신텍스 엘리먼트는 상술한 is_outputlayer 일 수 있다. 예를 들어, 1과 동일한 상기 제2 플래그 정보는 1과 동일한 상기 제2 플래그 정보는 상기 대상 레이어가 상기 출력 레이어임을 나타낼 수 있다. 또한, 예를 들어, 0과 동일한 상기 제2 플래그 정보는 상기 대상 레이어가 상기 출력 레이어가 아님을 나타낼 수 있다.For example, the syntax element of the second flag information may be the is_outputlayer described above. For example, the second flag information equal to 1 may indicate that the target layer is the output layer. Also, for example, the second flag information equal to 0 may indicate that the target layer is not the output layer.
또한, 예를 들어, 미디어 파일 처리 장치는 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 기반으로 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 파싱할 수 있다. Also, for example, the media file processing apparatus may parse the information about the maximum number of the temporal sub-layers based on the first flag information and the second flag information.
예를 들어, 상기 제1 플래그 정보가 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재할 수 있음을 나타내고, 상기 제2 플래그 정보가 상기 대상 레이어가 상기 출력 레이어가 아님을 나타내는 경우, 미디어 파일 처리 장치는 상기 작동 포인트 정보 샘플 그룹에서 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 파싱할 수 있고, 상기 제1 플래그 정보가 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재하지 않음을 나타내거나 또는 상기 제2 플래그 정보가 상기 대상 레이어가 상기 출력 레이어임을 나타내는 경우, 미디어 파일 처리 장치는 상기 작동 포인트 정보 샘플 그룹에서 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 파싱하지 않을 수 있다. 즉, 예를 들어, 상기 제1 플래그 정보의 값이 1이고, 상기 제2 플래그 정보의 값이 0인 경우, 미디어 파일 처리 장치는 상기 작동 포인트 정보 샘플 그룹에서 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 파싱할 수 있고, 상기 제1 플래그 정보의 값이 0이거나 또는 상기 제2 플래그 정보의 값이 1인 경우, 미디어 파일 처리 장치는 상기 작동 포인트 정보 샘플 그룹에서 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 파싱하지 않을 수 있다.For example, when the first flag information indicates that the information on the maximum number of temporal sub-layers may exist, and the second flag information indicates that the target layer is not the output layer, a media file the processing device may parse the information on the maximum number of the temporal sub-layers in the operation point information sample group, wherein the first flag information does not include the information on the maximum number of the temporal sub-layers or when the second flag information indicates that the target layer is the output layer, the media file processing apparatus may not parse the information about the maximum number of the temporal sub-layers in the operation point information sample group. there is. That is, for example, when the value of the first flag information is 1 and the value of the second flag information is 0, the media file processing apparatus is the maximum number of the temporal sub-layers in the operation point information sample group. can parse the information for, and when the value of the first flag information is 0 or the value of the second flag information is 1, the media file processing apparatus determines the temporal sub-layer in the operation point information sample group. The above information for the maximum number may not be parsed.
예를 들어, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 1과 동일한 상기 제1 플래그 정보 및 0과 동일한 상기 제2 플래그 정보를 기반으로 상기 작동 포인트 정보 샘플 그룹에 구성/포함될 수 있다. 즉, 예를 들어, 상기 제1 플래그 정보의 값이 1이고, 상기 제2 플래그 정보의 값이 0인 경우, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 상기 작동 포인트 정보 샘플 그룹에 구성/포함될 수 있다. 또한, 예를 들어, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 0과 동일한 상기 제1 플래그 정보 및/또는 1과 동일한 상기 제2 플래그 정보를 기반으로 상기 작동 포인트 정보 샘플 그룹에 구성/포함되지 않을 수 있다. 즉, 예를 들어, 상기 제1 플래그 정보의 값이 0이거나 또는 상기 제2 플래그 정보의 값이 1인 경우, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 상기 작동 포인트 정보 샘플 그룹에 구성/포함되지 않을 수 있다.For example, the information about the maximum number of the temporal sub-layers may be configured/included in the operation point information sample group based on the first flag information equal to 1 and the second flag information equal to 0. That is, for example, when the value of the first flag information is 1 and the value of the second flag information is 0, the information about the maximum number of the temporal sub-layers is configured in the operation point information sample group /may be included. Also, for example, the information about the maximum number of temporal sub-layers is configured in the operation point information sample group based on the first flag information equal to 0 and/or the second flag information equal to 1 may not be included. That is, for example, when the value of the first flag information is 0 or the value of the second flag information is 1, the information about the maximum number of the temporal sub-layers is configured in the operation point information sample group /may not be included.
예를 들어, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보의 신텍스 엘리먼트는 상술한 max_tid_il_ref_pics_plus1 일 수 있다. 예를 들어, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보의 값에서 1을 뺀 값이 상기 시간적 서브레이어의 상기 최대 개수로 도출될 수 있다. For example, the syntax element of the information for the maximum number of the temporal sub-layers may be the above-described max_tid_il_ref_pics_plus1. For example, a value obtained by subtracting 1 from the value of the information on the maximum number of temporal sub-layers may be derived as the maximum number of temporal sub-layers.
구체적으로, 예를 들어, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 대상 레이어에서 다른 레이어의 픽처의 인터레이어 예측에 필요한 시간적 서브레이어의 최대 개수를 나타낼 수 있다. 예를 들어, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보의 값에서 1을 뺀 값은 대상 레이어에서 인터레이어 예측에 필요한 시간적 서브레이어의 최대 개수를 나타낼 수 있다. 또한, 예를 들어, 0과 동일한 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 IRAP(Intra Random Access Point) 픽처가 아니고 0과 동일한 ph_recovery_poc_cnt를 갖는 GDR(Gradual Decoding Refresh) 픽처도 아닌 대상 레이어의 픽처가 OLS 내 다른 레이어의 픽처의 디코딩을 위한 인터레이어 참조 픽처(Inter Layer Reference Picture, ILRP)로서 사용되지 않음을 나타낼 수 있다. 여기서, ILRP 는 인터레이어 예측에 사용되는 참조 픽처를 나타낼 수 있다. 또한, 예를 들어, 0보다 큰 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 OLS의 다른 레이어에 있는 픽처를 디코딩하기 위하여 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보의 값에서 1을 뺀 값보다 큰 TemporalId를 갖는 대상 레이어의 픽처는 ILRP로 사용되지 않으며, nuh_layer_id가 layer_id와 동일하고 TemporalId가 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보의 값에서 1을 뺀 값보다 큰 APS는 참조되지 않음을 나타낼 수 있다. 한편, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재하지 않는 경우, 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보의 값은 max_temporal_id 와 동일한 것으로 간주될 수 있다.Specifically, for example, the information on the maximum number of temporal sub-layers may indicate the maximum number of temporal sub-layers required for inter-layer prediction of pictures of other layers in a target layer. For example, a value obtained by subtracting 1 from the value of the information on the maximum number of temporal sublayers may indicate the maximum number of temporal sublayers required for interlayer prediction in a target layer. In addition, for example, the information about the maximum number of the temporal sub-layers equal to 0 is not an Intra Random Access Point (IRAP) picture and a Gradual Decoding Refresh (GDR) picture with ph_recovery_poc_cnt equal to 0. It may indicate that the picture is not used as an Inter Layer Reference Picture (ILRP) for decoding a picture of another layer in the OLS. Here, ILRP may indicate a reference picture used for inter-layer prediction. Also, for example, the information about the maximum number of temporal sub-layers greater than 0 is 1 in the value of the information about the maximum number of temporal sub-layers to decode a picture in another layer of OLS. A picture of the target layer with TemporalId greater than the subtracted value is not used as ILRP, nuh_layer_id is the same as layer_id and TemporalId is greater than the value of information about the maximum number of temporal sublayers minus 1 may indicate that it is not. Meanwhile, when the information on the maximum number of temporal sub-layers does not exist, the value of the information on the maximum number of temporal sub-layers may be regarded as equal to max_temporal_id.
한편, 예를 들어, 상기 작동 포인트 정보 샘플 그룹은 레이어 디펜던시(layer dependency)에 대한 정보 및 작동 포인트들의 리스트에 대한 정보를 포함할 수 있다. 예를 들어, 상기 작동 포인트 정보 샘플 그룹에서 상기 레이어 디펜던시에 대한 상기 정보가 상기 작동 포인트들의 상기 리스트에 대한 상기 정보보다 먼저 시그널링/파싱될 수 있다. 즉, 예를 들어, 상기 작동 포인트 정보 샘플 그룹에 상기 레이어 디펜던시에 대한 정보 및 상기 작동 포인트들의 상기 리스트에 대한 상기 정보가 구성/포함될 수 있고, 상기 작동 포인트 정보 샘플 그룹에서 상기 레이어 디펜던시에 대한 정보가 상기 작동 포인트들의 상기 리스트에 대한 상기 정보보다 먼저 구성/포함될 수 있다. Meanwhile, for example, the operation point information sample group may include information on layer dependency and information on a list of operation points. For example, in the operation point information sample group, the information on the layer dependency may be signaled/parsed before the information on the list of operation points. That is, for example, the information on the layer dependency and the information on the list of the operation points may be configured/included in the operation point information sample group, and the layer dependency in the operation point information sample group The information about time may be configured/included before the information about the list of actuation points.
예를 들어, 상기 레이어 디펜던시에 대한 상기 정보는 모든 작동 포인트들의 모든 (고유) 레이어들의 수를 나타내는 정보, 레이어 ID 정보, 직접 참조 레이어의 수에 대한 정보 및/또는 직접 참조 레이어 ID 정보를 포함할 수 있다. 상기 작동 포인트들의 상기 레이어들의 수를 나타내는 정보의 신텍스 엘리먼트는 상술한 max_layer_count, 상기 레이어 ID 정보의 신텍스 엘리먼트는 layerID, 상기 직접 참조 레이어의 수에 대한 정보의 신텍스 엘리먼트는 상술한 num_direct_ref_layers, 상기 직접 참조 레이어 ID 정보의 신텍스 엘리먼트는 상술한 direct_ref_layerID 일 수 있다. For example, the information on the layer dependency includes information indicating the number of all (unique) layers of all operation points, layer ID information, information on the number of direct reference layers, and/or direct reference layer ID information may include The syntax element of the information indicating the number of layers of the operation points is max_layer_count as described above, the syntax element of the layer ID information is layerID, the syntax element of the information on the number of the direct reference layers is the above-described num_direct_ref_layers, and the direct reference layer The syntax element of ID information may be the above-described direct_ref_layerID.
또한, 예를 들어, 상기 작동 포인트들의 상기 리스트에 대한 상기 정보는 상기 작동 포인트들의 개수에 대한 정보, 상기 작동 포인트들에 대한 OLS 인덱스 정보, OLS 에 대한 PTL 구조 인덱스 정보 및/또는 최대 시간적 ID 정보를 포함할 수 있다. 예를 들어, 상기 작동 포인트들의 개수에 대한 정보는 상기 작동 포인트의 개수를 나타낼 수 있고, 상기 OLS 인덱스 정보는 상기 작동 포인트들에 대한 OLS 를 나타낼 수 있고, 상기 PTL 구조 인덱스 정보는 상기 OLS 에 대한 PTL 구조를 나타낼 수 있고, 상기 최대 시간적 ID 정보는 작동 포인트들의 NAL 유닛의 최대 시간적 ID(TemporalId)를 나타낼 수 있다. 상기 작동 포인트들의 개수에 대한 정보의 신텍스 엘리먼트는 상술한 num_operating_points, 상기 OLS 인덱스의 신텍스 엘리먼트는 output_layer_set_idx, 상기 PTL 구조 인텍스 정보의 신텍스 엘리먼트는 상술한 ptl_idx, 상기 최대 시간적 ID 정보의 신텍스 엘리먼트는 상술한 max_temporal_id 일 수 있다. Also, for example, the information on the list of actuation points may include information on the number of actuation points, OLS index information for the actuation points, PTL structure index information for OLS and/or maximum temporal ID information. may include For example, the information on the number of operation points may indicate the number of operation points, the OLS index information may indicate an OLS for the operation points, and the PTL structure index information may indicate the number of operation points for the OLS. It may indicate a PTL structure, and the maximum temporal ID information may indicate a maximum temporal ID (TemporalId) of a NAL unit of operation points. The syntax element of the information on the number of operating points is the above-described num_operating_points, the syntax element of the OLS index is output_layer_set_idx, the syntax element of the PTL structure index information is the above-described ptl_idx, and the syntax element of the maximum temporal ID information is the above-described max_temporal_id can be
또는, 예를 들어, 상기 작동 포인트 정보 샘플 그룹은 상기 OLS 내 출력 레이어들의 리스트에 대한 정보를 포함할 수 있고, 상기 OLS 내 출력 레이어가 아닌 레이어의 리스트에 대한 정보를 포함하지 않을 수 있다. 즉, 예를 들어, 상기 작동 포인트 정보 샘플 그룹에 상기 OLS 내 출력 레이어들의 리스트에 대한 정보가 구성/포함될 수 있고, 상기 OLS 내 출력 레이어가 아닌 레이어의 리스트에 대한 정보는 구성/포함되지 않을 수 있다. 이 경우, 상술한 제2 플래그 정보는 상기 작동 포인트 정보 샘플 그룹에 구성/포함되지 않을 수 있다. 예를 들어, 상기 출력 레이어들의 리스트에 대한 정보는 출력 레이어들의 개수에 대한 정보 및/또는 레이어 ID 정보를 포함할 수 있다. 예를 들어, 상기 출력 레이어들의 개수에 대한 정보는 상기 OLS 내 출력 레이어들의 개수를 나타낼 수 있고, 레이어 ID 정보는 상기 레이어 ID 정보에 대한 레이어의 레이어 ID를 나타낼 수 있다. 상기 출력 레이어들의 개수에 대한 정보의 신텍스 엘리먼트는 상술한 output_layer_count, 상기 레이어 ID 정보의 신텍스 엘리먼트는 상술한 layer_id 일 수 있다. Alternatively, for example, the operation point information sample group may include information on a list of output layers in the OLS, and may not include information on a list of layers other than an output layer in the OLS. That is, for example, information on a list of output layers in the OLS may be configured/included in the operation point information sample group, and information on a list of layers other than an output layer in the OLS may be configured/not included. there is. In this case, the above-described second flag information may not be configured/included in the operation point information sample group. For example, the information on the list of output layers may include information on the number of output layers and/or layer ID information. For example, the information on the number of output layers may indicate the number of output layers in the OLS, and the layer ID information may indicate a layer ID of a layer with respect to the layer ID information. The syntax element of the information on the number of output layers may be the above-described output_layer_count, and the syntax element of the layer ID information may be the above-described layer_id.
또는, 예를 들어, 상기 작동 포인트 정보 샘플 그룹은 상기 OLS 내 레이어들의 전체 리스트에 대한 정보를 포함할 수 있고, 상기 레이어 디펜던시에 대한 정보를 포함하지 않을 수 있다. 즉, 예를 들어, 상기 작동 포인트 정보 샘플 그룹에 상기 OLS 내 레이어들의 전체 리스트에 대한 정보가 구성/포함될 수 있고, 상기 레이어 디펜던시에 대한 정보는 구성/포함되지 않을 수 있다.Alternatively, for example, the operation point information sample group may include information on the entire list of layers in the OLS, but may not include information on the layer dependency. That is, for example, information on the entire list of layers in the OLS may be configured/included in the operation point information sample group, and information on the layer dependency may not be configured/included.
또는, 예를 들어, 상기 작동 포인트 정보 샘플 그룹은 모든 레이어들이 인터레이어 예측을 사용하지 않고 독립적으로 코딩되는지 여부에 대한 플래그 정보, 각 OLS(Output Layer Set)가 하나의 출력 레이어만을 포함하는지 여부에 대한 플래그 정보 및/또는 각 OLS 의 모드를 나타내는 OLS 모드 인덱스 정보를 포함하지 않을 수 있다. 즉, 예를 들어, 상기 작동 포인트 정보 샘플 그룹에 모든 레이어들이 인터레이어 예측을 사용하지 않고 독립적으로 코딩되는지 여부에 대한 플래그 정보, 각 OLS(Output Layer Set)가 하나의 출력 레이어만을 포함하는지 여부에 대한 플래그 정보 및/또는 각 OLS 의 모드를 나타내는 OLS 모드 인덱스 정보가 구성/포함되지 않을 수 있다. 예를 들어, 상기 모든 레이어들이 인터레이어 예측을 사용하지 않고 독립적으로 코딩되는지 여부에 대한 플래그 정보의 신텍스 엘리먼트는 상술한 all_independent_layers_flag, 상기 각 OLS(Output Layer Set)가 하나의 출력 레이어만을 포함하는지 여부에 대한 플래그 정보의 신텍스 엘리먼트는 each_layer_is_an_ols_flag, 상기 각 OLS 의 모드를 나타내는 OLS 모드 인덱스 정보의 신텍스 엘리먼트는 ols_mode_idc 일 수 있다.Or, for example, the operation point information sample group includes flag information on whether all layers are independently coded without using inter-layer prediction, and whether each Output Layer Set (OLS) includes only one output layer. Flag information and/or OLS mode index information indicating the mode of each OLS may not be included. That is, for example, flag information on whether all layers in the operation point information sample group are independently coded without using inter-layer prediction, and whether each Output Layer Set (OLS) includes only one output layer. Flag information and/or OLS mode index information indicating the mode of each OLS may be configured/not included. For example, the syntax element of the flag information for whether all the layers are independently coded without using inter-layer prediction is the above-described all_independent_layers_flag, whether each Output Layer Set (OLS) includes only one output layer. The syntax element of the flag information for the . . may be each_layer_is_an_ols_flag, and the syntax element of the OLS mode index information indicating the mode of each OLS may be ols_mode_idc.
한편, 비록 도시되지는 않았으나 미디어 파일 처리 장치는 상기 디코더 구성 레코드를 기반으로 비트스트림을 디코딩할 수 있다. 예를 들어, 미디어 파일 처리 장치는 상기 작동 포인트 정보 샘플 그룹에 포함된 정보를 기반으로 상기 작동 포인트 정보 샘플 그룹에 대한 비트스트림 내 영상 정보를 디코딩할 수 있고, 상기 영상 정보를 기반으로 복원 픽처를 생성할 수 있다. Meanwhile, although not shown, the media file processing apparatus may decode the bitstream based on the decoder configuration record. For example, the media file processing apparatus may decode image information in the bitstream for the operation point information sample group based on information included in the operation point information sample group, and select a reconstructed picture based on the image information can create
도 9는 본 문서에 따른 미디어 파일 처리 방법을 수행하는 미디어 파일 처리 장치를 개략적으로 나타낸다. 도 8에서 개시된 방법은 도 9에서 개시된 미디어 파일 처리 장치에 의하여 수행될 수 있다. 구체적으로 예를 들어, 도 9의 상기 미디어 파일 처리 장치의 수신부는 도 8의 S800을 수행할 수 있고, 도 9의 상기 미디어 파일 처리 장치의 미디어 파일 처리부는 도 8의 S810을 수행할 수 있다. 한편, 비록 도시되지는 않았으나 미디어 파일 처리 장치는 디코더를 포함할 수 있고, 상기 디코더는 상기 작동 포인트 정보 샘플 그룹을 기반으로 비트스트림을 디코딩할 수 있다. 9 schematically shows a media file processing apparatus performing a media file processing method according to the present document. The method disclosed in FIG. 8 may be performed by the apparatus for processing a media file illustrated in FIG. 9 . Specifically, for example, the receiving unit of the media file processing apparatus of FIG. 9 may perform S800 of FIG. 8 , and the media file processing unit of the media file processing apparatus of FIG. 9 may perform S810 of FIG. 8 . Meanwhile, although not shown, the media file processing apparatus may include a decoder, and the decoder may decode a bitstream based on the operation point information sample group.
상술한 본 문서에 따르면, 레이어 내 인터레이어 예측을 위한 시간적 레이어의 최대 개수를 나타내는 정보의 값은 상기 레이어가 속한 OLS 에 따라서 다를 수 있으므로, 상기 정보의 시그널링 여부는 나타내는 플래그 정보 및 상기 레이어가 출력 레이어인지 여부를 고려하여 결정될 수 있고, 이를 통하여 미디어 파일 전달에 대한 시그널링 리던던시(signalling redundancy)를 줄이고 전반적인 코딩 효율을 향상시킬 수 있다. According to this document described above, since the value of information indicating the maximum number of temporal layers for intra-layer inter-layer prediction may be different depending on the OLS to which the layer belongs, flag information indicating whether the information is signaled and the layer are output It may be determined in consideration of whether the layer is a layer, thereby reducing signaling redundancy for media file delivery and improving overall coding efficiency.
또한, 본 문서에 따르면 레이어 디펜던시에 대한 정보의 시그널링이 여러 실시예들에서 제안된 방안들과 같이 수행될 수 있고, 이를 통하여 미디어 파일 전달에 대한 시그널링 리던던시(signalling redundancy)를 줄이고 전반적인 코딩 효율을 향상시킬 수 있다.In addition, according to this document, signaling of information on layer dependency can be performed like the methods proposed in various embodiments, thereby reducing signaling redundancy for media file delivery and overall coding efficiency can improve
상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 문서는 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당업자라면 순서도에 나타내어진 단계들이 배타적이지 않고, 다른 단계가 포함되거나 순서도의 하나 또는 그 이상의 단계가 본 문서의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.In the above embodiment, the methods are described on the basis of a flowchart as a series of steps or blocks, but this document is not limited to the order of the steps, and some steps may occur in a different order or concurrently with other steps as described above. there is. In addition, those skilled in the art will understand that the steps shown in the flowchart are not exhaustive and that other steps may be included or that one or more steps of the flowchart may be deleted without affecting the scope of this document.
본 문서에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 각 도면에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 이 경우 구현을 위한 정보(ex. information on instructions) 또는 알고리즘이 디지털 저장 매체에 저장될 수 있다. Embodiments described in this document may be implemented and performed on a processor, microprocessor, controller, or chip. For example, the functional units shown in each figure may be implemented and performed on a computer, a processor, a microprocessor, a controller, or a chip. In this case, information for implementation (ex. information on instructions) or an algorithm may be stored in a digital storage medium.
또한, 본 문서의 실시예들이 적용되는 장치는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오(VoD) 서비스 제공 장치, OTT 비디오(Over the top video) 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원(3D) 비디오 장치, 화상 전화 비디오 장치, 운송 수단 단말 (ex. 차량 단말, 비행기 단말, 선박 단말 등) 및 의료용 비디오 장치 등에 포함될 수 있으며, 비디오 신호 또는 데이터 신호를 처리하기 위해 사용될 수 있다. 예를 들어, OTT 비디오(Over the top video) 장치로는 게임 콘솔, 블루레이 플레이어, 인터넷 접속 TV, 홈시어터 시스템, 스마트폰, 태블릿 PC, DVR(Digital Video Recoder) 등을 포함할 수 있다.In addition, devices to which embodiments of this document are applied are multimedia broadcasting transceivers, mobile communication terminals, home cinema video devices, digital cinema video devices, surveillance cameras, video conversation devices, real-time communication devices such as video communication devices, and mobile streaming devices. , storage medium, camcorder, video on demand (VoD) service providing device, OTT video (Over the top video) device, internet streaming service providing device, three-dimensional (3D) video device, videophone video device, transportation terminal (ex. It may be included in a vehicle terminal, an airplane terminal, a ship terminal, etc.) and a medical video device, and may be used to process a video signal or a data signal. For example, the OTT video (Over the top video) device may include a game console, a Blu-ray player, an Internet-connected TV, a home theater system, a smart phone, a tablet PC, a digital video recorder (DVR), and the like.
또한, 본 문서의 실시예들이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 문서에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치 및 분산 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크(BD), 범용 직렬 버스(USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파(예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.In addition, the processing method to which the embodiments of this document are applied may be produced in the form of a program executed by a computer, and may be stored in a computer-readable recording medium. Multimedia data having a data structure according to this document may also be stored in a computer-readable recording medium. The computer-readable recording medium includes all types of storage devices and distributed storage devices in which computer-readable data is stored. The computer-readable recording medium includes, for example, Blu-ray Disc (BD), Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk and optical It may include a data storage device. In addition, the computer-readable recording medium includes a medium implemented in the form of a carrier wave (eg, transmission through the Internet). In addition, the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired/wireless communication network.
또한, 본 문서의 실시예는 프로그램 코드에 의한 컴퓨터 프로그램 제품으로 구현될 수 있고, 상기 프로그램 코드는 본 문서의 실시예에 의해 컴퓨터에서 수행될 수 있다. 상기 프로그램 코드는 컴퓨터에 의해 판독가능한 캐리어 상에 저장될 수 있다.In addition, the embodiments of this document may be implemented as a computer program product using program codes, and the program codes may be executed in a computer according to the embodiments of this document. The program code may be stored on a carrier readable by a computer.
도 10은 본 문서의 실시예들이 적용되는 컨텐츠 스트리밍 시스템 구조도를 예시적으로 나타낸다. 10 exemplarily shows a structural diagram of a content streaming system to which embodiments of this document are applied.
본 문서의 실시예들이 적용되는 컨텐츠 스트리밍 시스템은 크게 인코딩 서버, 스트리밍 서버, 웹 서버, 미디어 저장소, 사용자 장치 및 멀티미디어 입력 장치를 포함할 수 있다.A content streaming system to which embodiments of this document are applied may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.
상기 인코딩 서버는 스마트폰, 카메라, 캠코더 등과 같은 멀티미디어 입력 장치들로부터 입력된 컨텐츠를 디지털 데이터로 압축하여 비트스트림을 생성하고 이를 상기 스트리밍 서버로 전송하는 역할을 한다. 다른 예로, 스마트폰, 카메라, 캠코더 등과 같은 멀티미디어 입력 장치들이 비트스트림을 직접 생성하는 경우, 상기 인코딩 서버는 생략될 수 있다.The encoding server generates a bitstream by compressing content input from multimedia input devices such as a smart phone, a camera, a camcorder, etc. into digital data, and transmits it to the streaming server. As another example, when multimedia input devices such as a smartphone, a camera, a camcorder, etc. directly generate a bitstream, the encoding server may be omitted.
상기 비트스트림은 본 문서의 실시예들이 적용되는 인코딩 방법 또는 비트스트림 생성 방법에 의해 생성될 수 있고, 상기 스트리밍 서버는 상기 비트스트림을 전송 또는 수신하는 과정에서 일시적으로 상기 비트스트림을 저장할 수 있다.The bitstream may be generated by an encoding method or a bitstream generating method to which embodiments of this document are applied, and the streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.
상기 스트리밍 서버는 웹 서버를 통한 사용자 요청에 기초하여 멀티미디어 데이터를 사용자 장치에 전송하고, 상기 웹 서버는 사용자에게 어떠한 서비스가 있는지를 알려주는 매개체 역할을 한다. 사용자가 상기 웹 서버에 원하는 서비스를 요청하면, 상기 웹 서버는 이를 스트리밍 서버에 전달하고, 상기 스트리밍 서버는 사용자에게 멀티미디어 데이터를 전송한다. 이때, 상기 컨텐츠 스트리밍 시스템은 별도의 제어 서버를 포함할 수 있고, 이 경우 상기 제어 서버는 상기 컨텐츠 스트리밍 시스템 내 각 장치 간 명령/응답을 제어하는 역할을 한다.The streaming server transmits multimedia data to the user device based on a user's request through the web server, and the web server serves as a medium informing the user of what kind of service is available. When a user requests a desired service from the web server, the web server transmits it to a streaming server, and the streaming server transmits multimedia data to the user. In this case, the content streaming system may include a separate control server. In this case, the control server serves to control commands/responses between devices in the content streaming system.
상기 스트리밍 서버는 미디어 저장소 및/또는 인코딩 서버로부터 컨텐츠를 수신할 수 있다. 예를 들어, 상기 인코딩 서버로부터 컨텐츠를 수신하게 되는 경우, 상기 컨텐츠를 실시간으로 수신할 수 있다. 이 경우, 원활한 스트리밍 서비스를 제공하기 위하여 상기 스트리밍 서버는 상기 비트스트림을 일정 시간동안 저장할 수 있다.The streaming server may receive content from a media repository and/or an encoding server. For example, when content is received from the encoding server, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server may store the bitstream for a predetermined time.
상기 사용자 장치의 예로는, 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)), 디지털 TV, 데스크탑 컴퓨터, 디지털 사이니지 등이 있을 수 있다. 상기 컨텐츠 스트리밍 시스템 내 각 서버들은 분산 서버로 운영될 수 있으며, 이 경우 각 서버에서 수신하는 데이터는 분산 처리될 수 있다.Examples of the user device include a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation system, a slate PC, Tablet PC (tablet PC), ultrabook (ultrabook), wearable device (eg, watch-type terminal (smartwatch), glass-type terminal (smart glass), HMD (head mounted display)), digital TV, desktop There may be a computer, digital signage, and the like. Each server in the content streaming system may be operated as a distributed server, and in this case, data received from each server may be distributed and processed.
본 명세서에 기재된 청구항들은 다양한 방식으로 조합될 수 있다. 예를 들어, 본 명세서의 방법 청구항의 기술적 특징이 조합되어 장치로 구현될 수 있고, 본 명세서의 장치 청구항의 기술적 특징이 조합되어 방법으로 구현될 수 있다. 또한, 본 명세서의 방법 청구항의 기술적 특징과 장치 청구항의 기술적 특징이 조합되어 장치로 구현될 수 있고, 본 명세서의 방법 청구항의 기술적 특징과 장치 청구항의 기술적 특징이 조합되어 방법으로 구현될 수 있다.The claims described herein may be combined in various ways. For example, the technical features of the method claims of the present specification may be combined and implemented as an apparatus, and the technical features of the apparatus claims of the present specification may be combined and implemented as a method. In addition, the technical features of the method claim of the present specification and the technical features of the apparatus claim may be combined to be implemented as an apparatus, and the technical features of the method claim and the technical features of the apparatus claim of the present specification may be combined and implemented as a method.
Claims (17)
- 미디어 파일 생성 방법에 있어서,A method for creating a media file, comprising:OLS(Output Layer Set, OLS) 내 대상 레이어에 대한 제1 플래그 정보를 구성하되, 상기 제1 플래그 정보는 인터레이어 예측에 대한 시간적 서브레이어의 최대 개수에 대한 정보가 존재하는지 여부를 나타내는 단계;configuring first flag information for a target layer in an output layer set (OLS), wherein the first flag information indicates whether information on the maximum number of temporal sub-layers for inter-layer prediction exists;상기 대상 레이어가 출력 레이어인지 여부에 대한 제2 플래그 정보를 구성하는 단계;configuring second flag information on whether the target layer is an output layer;상기 제1 플래그 정보 및 상기 제2 플래그 정보를 기반으로 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 구성하는 단계; 및constructing the information on the maximum number of the temporal sub-layers based on the first flag information and the second flag information; and작동 포인트 정보 샘플 그룹을 포함하는 미디어 파일을 생성하는 단계를 포함하되,creating a media file comprising a group of actuation point information samples;상기 작동 포인트 정보 샘플 그룹은 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 포함하고,The operation point information sample group includes the first flag information and the second flag information,상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 1과 동일한 상기 제1 플래그 정보 및 0과 동일한 상기 제2 플래그 정보를 기반으로 상기 작동 포인트 정보 샘플 그룹에 구성되는 것을 특징으로 하는 미디어 파일 생성 방법. The method of claim 1, wherein the information on the maximum number of temporal sub-layers is configured in the operation point information sample group based on the first flag information equal to 1 and the second flag information equal to 0. .
- 제1항에 있어서,According to claim 1,상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보의 값에서 1을 뺀 값이 상기 시간적 서브레이어의 상기 최대 개수로 도출되는 것을 특징으로 하는 미디어 파일 생성 방법. and a value obtained by subtracting 1 from the value of the information on the maximum number of temporal sub-layers is derived as the maximum number of temporal sub-layers.
- 제1항에 있어서,According to claim 1,1과 동일한 상기 제1 플래그 정보는 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재할 수 있음을 나타내고, The first flag information equal to 1 indicates that the information about the maximum number of the temporal sub-layers may exist,0과 동일한 상기 제1 플래그 정보는 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재하지 않음을 나타내는 것을 특징으로 하는 미디어 파일 생성 방법. The method of claim 1, wherein the first flag information equal to 0 indicates that the information on the maximum number of the temporal sub-layers does not exist.
- 제3항에 있어서,4. The method of claim 3,1과 동일한 상기 제2 플래그 정보는 상기 대상 레이어가 상기 출력 레이어임을 나타내고, The second flag information equal to 1 indicates that the target layer is the output layer,0과 동일한 상기 제2 플래그 정보는 상기 대상 레이어가 상기 출력 레이어가 아님을 나타내는 것을 특징으로 하는 미디어 파일 생성 방법. The second flag information equal to 0 indicates that the target layer is not the output layer.
- 제1항에 있어서,According to claim 1,상기 작동 포인트 정보 샘플 그룹은 레이어 디펜던시(layer dependency)에 대한 정보 및 작동 포인트들의 리스트에 대한 정보를 포함하고,The operation point information sample group includes information on layer dependency and information on a list of operation points,상기 작동 포인트 정보 샘플 그룹에서 상기 레이어 디펜던시에 대한 상기 정보가 상기 작동 포인트들의 상기 리스트에 대한 상기 정보보다 먼저 시그널링되는 것을 특징으로 하는 미디어 파일 생성 방법. The method according to claim 1, wherein the information on the layer dependency in the operation point information sample group is signaled before the information on the list of operation points.
- 제1항에 있어서,According to claim 1,상기 작동 포인트 정보 샘플 그룹은 상기 OLS 내 출력 레이어들의 리스트에 대한 정보를 포함하는 것을 특징으로 하는 미디어 파일 생성 방법.The method of claim 1, wherein the operation point information sample group includes information on a list of output layers in the OLS.
- 제6항에 있어서,7. The method of claim 6,상기 작동 포인트 정보 샘플 그룹은 상기 OLS 내 출력 레이어가 아닌 레이어의 리스트에 대한 정보를 포함하지 않는 것을 특징으로 하는 미디어 파일 생성 방법.The method of claim 1, wherein the operation point information sample group does not include information on a list of layers other than the output layer in the OLS.
- 제1항에 있어서,According to claim 1,상기 작동 포인트 정보 샘플 그룹은 상기 OLS 내 레이어들의 전체 리스트에 대한 정보를 포함하는 것을 특징으로 하는 미디어 파일 생성 방법.The method of claim 1, wherein the operation point information sample group includes information on a full list of layers in the OLS.
- 제8항에 있어서,9. The method of claim 8,상기 작동 포인트 정보 샘플 그룹은 레이어 디펜던시(layer dependency)에 대한 정보를 포함하지 않는 것을 특징으로 하는 미디어 파일 생성 방법.The method for generating a media file, characterized in that the operation point information sample group does not include information on layer dependency.
- 제1항에 있어서,According to claim 1,상기 작동 포인트 정보 샘플 그룹은 모든 레이어들이 인터레이어 예측을 사용하지 않고 독립적으로 코딩되는지 여부에 대한 플래그 정보, 각 OLS(Output Layer Set)가 하나의 출력 레이어만을 포함하는지 여부에 대한 플래그 정보, 각 OLS 의 모드를 나타내는 OLS 모드 인덱스 정보를 포함하지 않는 것을 특징으로 하는 미디어 파일 생성 방법. The operation point information sample group includes flag information on whether all layers are independently coded without using inter-layer prediction, flag information on whether each output layer set (OLS) includes only one output layer, and each OLS A method of creating a media file, characterized in that it does not include OLS mode index information indicating the mode of .
- 미디어 파일 생성 장치로서, 청구항 1항의 미디어 파일 생성 방법을 수행하여 미디어 파일을 생성하는, 미디어 파일 생성 장치.A media file generating apparatus, comprising: generating a media file by performing the method of claim 1 .
- 미디어 파일 처리 방법에 있어서,In the media file processing method,작동 포인트 정보 샘플 그룹을 포함하는 미디어 파일을 획득하는 단계; 및acquiring a media file including a working point information sample group; and상기 작동 포인트 정보 샘플 그룹을 파싱하는 단계를 포함하되, parsing the actuation point information sample group,상기 작동 포인트 정보 샘플 그룹을 파싱하는 단계는,Parsing the operation point information sample group comprises:OLS(Output Layer Set, OLS) 내 대상 레이어에 대한 제1 플래그 정보를 파싱하되, 상기 제1 플래그 정보는 인터레이어 예측에 대한 시간적 서브레이어의 최대 개수에 대한 정보가 존재하는지 여부를 나타내는 단계;Parsing first flag information for a target layer in an output layer set (OLS), wherein the first flag information indicates whether information on the maximum number of temporal sub-layers for inter-layer prediction exists;상기 대상 레이어가 출력 레이어인지 여부에 대한 제2 플래그 정보를 파싱하는 단계; 및parsing second flag information on whether the target layer is an output layer; and상기 제1 플래그 정보 및 상기 제2 플래그 정보를 기반으로 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보를 파싱하는 단계를 포함하되,Parsing the information on the maximum number of the temporal sub-layers based on the first flag information and the second flag information,상기 작동 포인트 정보 샘플 그룹은 상기 제1 플래그 정보 및 상기 제2 플래그 정보를 포함하고,The operation point information sample group includes the first flag information and the second flag information,상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보는 1과 동일한 상기 제1 플래그 정보 및 0과 동일한 상기 제2 플래그 정보를 기반으로 상기 작동 포인트 정보 샘플 그룹에 구성되는 것을 특징으로 하는 미디어 파일 처리 방법. The information on the maximum number of temporal sub-layers is configured in the operation point information sample group based on the first flag information equal to 1 and the second flag information equal to 0. .
- 제12항에 있어서,13. The method of claim 12,상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보의 값에서 1을 뺀 값이 상기 시간적 서브레이어의 상기 최대 개수로 도출되는 것을 특징으로 하는 미디어 파일 처리 방법. and a value obtained by subtracting 1 from the value of the information on the maximum number of temporal sub-layers is derived as the maximum number of temporal sub-layers.
- 제12항에 있어서,13. The method of claim 12,1과 동일한 상기 제1 플래그 정보는 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재할 수 있음을 나타내고, The first flag information equal to 1 indicates that the information about the maximum number of the temporal sub-layers may exist,0과 동일한 상기 제1 플래그 정보는 상기 시간적 서브레이어의 상기 최대 개수에 대한 상기 정보가 존재하지 않음을 나타내는 것을 특징으로 하는 미디어 파일 처리 방법. The method of claim 1, wherein the first flag information equal to 0 indicates that the information on the maximum number of the temporal sub-layers does not exist.
- 제14항에 있어서,15. The method of claim 14,1과 동일한 상기 제2 플래그 정보는 상기 대상 레이어가 상기 출력 레이어임을 나타내고, The second flag information equal to 1 indicates that the target layer is the output layer,0과 동일한 상기 제2 플래그 정보는 상기 대상 레이어가 상기 출력 레이어가 아님을 나타내는 것을 특징으로 하는 미디어 파일 처리 방법. The second flag information equal to 0 indicates that the target layer is not the output layer.
- 제12항에 있어서,13. The method of claim 12,상기 작동 포인트 정보 샘플 그룹은 상기 OLS 내 레이어들의 전체 리스트에 대한 정보를 포함하는 것을 특징으로 하는 미디어 파일 처리 방법.The method according to claim 1, wherein the operation point information sample group includes information about the entire list of layers in the OLS.
- 미디어 파일 처리 장치로서, 청구항 12항의 미디어 파일 처리 방법을 수행하여 미디어 파일을 처리하는, 미디어 파일 처리 장치.A media file processing apparatus, which processes a media file by performing the media file processing method of claim 12 .
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202180064244.4A CN116210223B (en) | 2020-09-22 | 2021-09-16 | Media file processing method and device |
US18/026,959 US20230345028A1 (en) | 2020-09-22 | 2021-09-16 | Media file processing method and apparatus therefor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063081348P | 2020-09-22 | 2020-09-22 | |
US63/081,348 | 2020-09-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022065799A1 true WO2022065799A1 (en) | 2022-03-31 |
Family
ID=80846084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/012664 WO2022065799A1 (en) | 2020-09-22 | 2021-09-16 | Media file processing method and apparatus therefor |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230345028A1 (en) |
CN (1) | CN116210223B (en) |
WO (1) | WO2022065799A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150140777A (en) * | 2013-04-07 | 2015-12-16 | 샤프 가부시키가이샤 | Signaling change in output layer sets |
KR20180019557A (en) * | 2015-06-18 | 2018-02-26 | 퀄컴 인코포레이티드 | Design of tracks and operation point signaling in layered hevc file format |
KR20180039626A (en) * | 2015-09-07 | 2018-04-18 | 엘지전자 주식회사 | Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method |
KR20190009378A (en) * | 2016-05-24 | 2019-01-28 | 노키아 테크놀로지스 오와이 | METHOD FOR ENCODING MEDIA CONTENT, DEVICE, AND COMPUTER PROGRAM |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100473946C (en) * | 2006-11-10 | 2009-04-01 | 南京航空航天大学 | Full automatic intelligent measuring apparatus for gelatineous layer of mixed coal and measuring method thereof |
US9794582B2 (en) * | 2012-06-12 | 2017-10-17 | Lg Electronics Inc. | Image decoding method and apparatus using same |
WO2015052942A1 (en) * | 2013-10-11 | 2015-04-16 | Sharp Kabushiki Kaisha | Signaling information for coding |
JP2015195543A (en) * | 2014-03-26 | 2015-11-05 | シャープ株式会社 | Image decoder and image encoder |
TWI661720B (en) * | 2016-10-05 | 2019-06-01 | 日商夏普股份有限公司 | Systems and methods for signaling of video parameters |
CN108055205A (en) * | 2018-01-26 | 2018-05-18 | 武汉理工大学 | It is used to implement the Routing Protocol and method for routing of VDES |
-
2021
- 2021-09-16 US US18/026,959 patent/US20230345028A1/en active Pending
- 2021-09-16 CN CN202180064244.4A patent/CN116210223B/en active Active
- 2021-09-16 WO PCT/KR2021/012664 patent/WO2022065799A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150140777A (en) * | 2013-04-07 | 2015-12-16 | 샤프 가부시키가이샤 | Signaling change in output layer sets |
KR20180019557A (en) * | 2015-06-18 | 2018-02-26 | 퀄컴 인코포레이티드 | Design of tracks and operation point signaling in layered hevc file format |
KR20180039626A (en) * | 2015-09-07 | 2018-04-18 | 엘지전자 주식회사 | Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method |
KR20190009378A (en) * | 2016-05-24 | 2019-01-28 | 노키아 테크놀로지스 오와이 | METHOD FOR ENCODING MEDIA CONTENT, DEVICE, AND COMPUTER PROGRAM |
Non-Patent Citations (1)
Title |
---|
B. BROSS, J. CHEN, S. LIU, Y.-K. WANG: "Versatile Video Coding (Draft 10)", 19. JVET MEETING; 20200622 - 20200701; TELECONFERENCE; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-S2001, 4 September 2020 (2020-09-04), XP030289618 * |
Also Published As
Publication number | Publication date |
---|---|
CN116210223A (en) | 2023-06-02 |
US20230345028A1 (en) | 2023-10-26 |
CN116210223B (en) | 2024-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020197236A1 (en) | Image or video coding based on sub-picture handling structure | |
WO2020231140A1 (en) | Adaptive loop filter-based video or image coding | |
WO2021096057A1 (en) | Image coding method on basis of entry point-related information in video or image coding system | |
WO2021132964A1 (en) | Image or video coding based on nal unit-associated information | |
WO2021040398A1 (en) | Image or video coding based on palette escape coding | |
WO2021177791A1 (en) | Mixed nal unit type-based image encoding/decoding method and device, and method for transmitting bitstream | |
WO2021132963A1 (en) | Nal unit type-based image or video coding for slice or picture | |
WO2020209478A1 (en) | Method and device for partitioning picture into plurality of tiles | |
WO2022060113A1 (en) | Method for processing media file and device therefor | |
WO2022139260A1 (en) | Method and apparatus for generating and processing media file | |
WO2021246791A1 (en) | Method and apparatus for processing high level syntax in image/video coding system | |
WO2021235895A1 (en) | Image coding method and device therefor | |
WO2021235759A1 (en) | Multilayer-based image coding method in video or image coding system | |
WO2021241963A1 (en) | Image coding method based on poc information and non-reference picture flag in video or image coding system | |
WO2021118076A1 (en) | Image coding method based on partial entry point-associated information in video or image coding system | |
WO2021101066A1 (en) | Image coding method based on entry point-related information in video or image coding system | |
WO2021091253A1 (en) | Slice type-based image/video coding method and apparatus | |
WO2021091255A1 (en) | High level syntax signaling method and device for image/video coding | |
WO2020209477A1 (en) | Picture partitioning-based coding method and device | |
WO2022065799A1 (en) | Media file processing method and apparatus therefor | |
WO2022071742A1 (en) | Method and device for generating media file | |
WO2022065893A1 (en) | Media file processing method and device therefor | |
WO2022065872A1 (en) | Media file processing method and device | |
WO2021246790A1 (en) | Method and device for processing general constraint information in image/video coding system | |
WO2021118191A1 (en) | Method for coding image on basis of tmvp and apparatus therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21872828 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21872828 Country of ref document: EP Kind code of ref document: A1 |