A video encoding / decoding method, apparatus, and computer-readable recording medium storing a bitstream for signaling DPB-related information and PTL-related information

KR103032556B1Active Publication Date: 2026-10-13LG ELECTRONICS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
KR1020227037638
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-04-02
Filing Date
2021-03-26
Publication Date
2026-10-13
Estimated Expiration
2041-03-26

Smart Images

  • Figure 112022113766440-PCT00001_ABST
    Figure 112022113766440-PCT00001_ABST
Patent Text Reader

Abstract

A video encoding / decoding method, apparatus, and method for transmitting a bitstream are provided for signaling DPB-related information and PTL-related information. A video decoding method according to the present disclosure may include: a step of obtaining first information indicating the number of one or more decoded picture buffer (DPB) parameter syntax structures within a Video Parameter Set (VPS); a step of obtaining one or more DPB parameter syntax structures from the VPS based on the first information; a step of obtaining second information regarding a mapping between one or more multi-layer output layer sets (OLS) from the VPS and one or more DPB parameter syntax structures based on the first information; a step of selecting a DPB parameter syntax structure applied to a current OLS based on the second information; and a step of processing the current OLS based on the selected DPB parameter syntax structure.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present disclosure relates to an image encoding / decoding method and apparatus, and more specifically, to an image encoding / decoding method and apparatus that signal information related to a Decoded Picture Buffer (DPB) and information related to a Profile Tier Level (PTL), and to a computer-readable recording medium that stores a bitstream generated by the image encoding method / apparatus of the present disclosure. Background Technology

[0002] Recently, the demand for high-resolution, high-quality video, such as HD (High Definition) and UHD (Ultra High Definition), has been increasing across various fields. As video data becomes higher in resolution and quality, the relative amount of information or bits transmitted increases compared to conventional video data. This increase in transmitted information or bits leads to higher transmission and storage costs.

[0003] Accordingly, high-efficiency video compression technology is required to effectively transmit, store, and play back high-resolution, high-quality video information. The problem to be solved

[0004] The present disclosure aims to provide an image encoding / decoding method and apparatus with improved encoding / decoding efficiency.

[0005] In addition, the present disclosure aims to provide an image encoding / decoding method and apparatus that improve encoding / decoding efficiency by efficiently signaling DPB-related information and PTL-related information.

[0006] In addition, the present disclosure aims to provide a method for transmitting a bitstream generated by an image encoding method or device according to the present disclosure.

[0007] In addition, the present disclosure aims to provide a recording medium storing a bitstream generated by an image encoding method or device according to the present disclosure.

[0008] In addition, the present disclosure aims to provide a recording medium storing a bitstream that is received and decoded by an image decoding device according to the present disclosure and used for image restoration.

[0009] The technical problems to be solved in this disclosure are not limited to those mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art to which this disclosure belongs from the description below. means of solving the problem

[0010] A video decoding method performed by a video decoding device according to one aspect of the present disclosure may include: a step of obtaining first information indicating the number of one or more decoded picture buffer (DPB) parameter syntax structures in a Video Parameter Set (VPS); a step of obtaining one or more DPB parameter syntax structures from the VPS based on the first information; a step of obtaining second information regarding a mapping between one or more multi-layer output layer sets (OLS) from the VPS and one or more DPB parameter syntax structures based on the first information; a step of selecting a DPB parameter syntax structure applied to a current OLS based on the second information; and a step of processing the current OLS based on the selected DPB parameter syntax structure.

[0011] In the image decoding method of the present disclosure, the number of one or more DPB parameter syntax structures within the VPS may not be greater than the number of one or more multi-layer OLSs.

[0012] In the image decoding method of the present disclosure, each of the one or more DPB parameter syntax structures within the VPS can be mapped to at least one of the one or more multi-layer OLSs.

[0013] In the image decoding method of the present disclosure, the second information can be obtained from the VPS based on the fact that the number of one or more DPB parameter syntax structures in the VPS is greater than 1.

[0014] In the image decoding method of the present disclosure, based on the fact that the number of one or more DPB parameter syntax structures in the VPS is not greater than 1, the second information is not obtained from the VPS, and the second information can be inferred to have a value of 0.

[0015] In the image decoding method of the present disclosure, based on the fact that the current OLS includes a single layer, the DPB parameter syntax structure applied to the current OLS can be obtained from the Sequence Parameter Set (SPS).

[0016] The image decoding method of the present disclosure may further include the steps of: obtaining third information indicating the number of one or more profile tier level (PTL) syntax structures within a VPS; obtaining the one or more PTL syntax structures from the VPS based on the third information; obtaining fourth information regarding mapping between one or more OLSs and the one or more PTL syntax structures from the VPS based on the third information; and selecting a PTL syntax structure applied to the current OLS based on the fourth information.

[0017] In the image decoding method of the present disclosure, the number of one or more PTL syntax structures within the VPS may not be greater than the total number of one or more OLSs.

[0018] In the image decoding method of the present disclosure, each of the one or more PTL syntax structures in the VPS can be mapped to at least one OLS among the one or more OLSs.

[0019] A video decoding device according to another aspect of the present disclosure comprises a memory and at least one processor, wherein the at least one processor obtains first information indicating the number of one or more decoded picture buffer (DPB) parameter syntax structures in a Video Parameter Set (VPS), obtains the one or more DPB parameter syntax structures from the VPS based on the first information, obtains second information regarding a mapping between one or more multi-layer output layer sets (OLS) from the VPS and the one or more DPB parameter syntax structures based on the first information, selects a DPB parameter syntax structure applied to a current OLS based on the second information, and processes the current OLS based on the selected DPB parameter syntax structure.

[0020] A video encoding method performed by a video encoding device according to another aspect of the present disclosure may include: encoding first information indicating the number of one or more decoded picture buffer (DPB) parameter syntax structures in a Video Parameter Set (VPS); encoding the one or more DPB parameter syntax structures in the VPS based on the first information; encoding second information regarding the mapping between one or more multi-layer output layer sets (OLS) and the one or more DPB parameter syntax structures in the VPS based on the first information; selecting a DPB parameter syntax structure applied to a current OLS based on the second information; and processing the current OLS based on the selected DPB parameter syntax structure.

[0021] In the image encoding method of the present disclosure, the number of one or more DPB parameter syntax structures within the VPS may not be greater than the number of one or more multi-layer OLSs.

[0022] In the image encoding method of the present disclosure, each of the one or more DPB parameter syntax structures in the VPS can be mapped to at least one of the one or more multi-layer OLSs.

[0023] In the image encoding method of the present disclosure, the second information may be encoded in the VPS based on the fact that the number of one or more DPB parameter syntax structures in the VPS is greater than 1.

[0024] A transmission method according to another aspect of the present disclosure can transmit a bitstream generated by the image encoding device or image encoding method of the present disclosure.

[0025] A computer-readable recording medium according to another aspect of the present disclosure can store a bitstream generated by the image encoding method or image encoding device of the present disclosure.

[0026] The features briefly summarized above regarding the present disclosure are merely exemplary aspects of the detailed description of the present disclosure that follows and do not limit the scope of the present disclosure. Effects of the invention

[0027] According to the present disclosure, an image encoding / decoding method and apparatus with improved encoding / decoding efficiency may be provided.

[0028] In addition, according to the present disclosure, an image encoding / decoding method and apparatus can be provided that can improve encoding / decoding efficiency by efficiently signaling DPB-related information and PTL-related information.

[0029] Additionally, according to the present disclosure, a method for transmitting a bitstream generated by an image encoding method or device according to the present disclosure may be provided.

[0030] Additionally, according to the present disclosure, a recording medium storing a bitstream generated by an image encoding method or device according to the present disclosure may be provided.

[0031] Additionally, according to the present disclosure, a recording medium storing a bitstream that is received and decoded by an image decoding device according to the present disclosure and used for image restoration may be provided.

[0032] The effects obtainable from the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by those skilled in the art to which the present disclosure pertains from the description below. Brief explanation of the drawing

[0033] FIG. 1 is a schematic diagram illustrating a video coding system to which an embodiment according to the present disclosure can be applied. FIG. 2 is a schematic diagram illustrating an image encoding device to which an embodiment according to the present disclosure can be applied. FIG. 3 is a schematic diagram illustrating an image decoding device to which an embodiment according to the present disclosure can be applied. FIG. 4 shows an example of a schematic picture decoding procedure to which the embodiment(s) of the present disclosure are applicable. FIG. 5 shows an example of a schematic picture encoding procedure to which the embodiment(s) of the present disclosure are applicable. Figure 6 is a diagram showing an example of a hierarchical structure for coded images / videos. FIG. 7 is a diagram illustrating, exemplarily, the syntax structure of a VPS according to one embodiment of the present disclosure. FIG. 8 is a diagram illustrating a syntax structure for signaling DPB parameters according to the present disclosure. FIG. 9 is a diagram illustrating, exemplarily, the syntax structure of a VPS according to another embodiment of the present disclosure. FIG. 10 is a drawing for explaining an example of an image encoding method to which an embodiment according to the present disclosure can be applied. FIG. 11 is a drawing for illustrating an example of an image decoding method to which an embodiment according to the present disclosure can be applied. FIG. 12 is a drawing for illustrating another example of an image decoding method to which an embodiment according to the present disclosure may be applied. FIG. 13 is a diagram illustrating the process of encoding DPB parameters based on the number information of DPB parameters according to another embodiment of the present disclosure. FIG. 14 is a diagram illustrating the process of decoding DPB parameters based on the number information of DPB parameters according to another embodiment of the present disclosure. FIG. 15 is a drawing illustrating a content streaming system to which an embodiment of the present disclosure can be applied. Specific details for implementing the invention

[0034] Hereinafter, embodiments of the present disclosure are described in detail with reference to the attached drawings so that those skilled in the art can easily implement them. However, the present disclosure may be embodied in various different forms and is not limited to the embodiments described herein.

[0035] In describing the embodiments of the present disclosure, detailed descriptions of known configurations or functions are omitted if it is determined that such descriptions could obscure the essence of the present disclosure. Additionally, parts of the drawings unrelated to the description of the present disclosure have been omitted, and similar parts are denoted by similar reference numerals.

[0036] In the present disclosure, when a component is described as being "connected," "combined," or "joined" with another component, this may include not only a direct connection but also an indirect connection in which another component exists in between. Furthermore, when a component is described as "comprising" or "having" another component, this means that, unless specifically stated otherwise, it does not exclude the other component but may include an additional component.

[0037] In the present disclosure, terms such as first, second, etc. are used solely for the purpose of distinguishing one component from another and do not limit the order or importance of the components unless specifically stated otherwise. Accordingly, within the scope of the present disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and likewise, a second component in one embodiment may be referred to as a first component in another embodiment.

[0038] In this disclosure, distinct components are intended to clearly describe their respective features and do not imply that the components are separate. That is, multiple components may be integrated to form a single hardware or software unit, or a single component may be distributed to form multiple hardware or software units. Accordingly, such integrated or distributed embodiments are included within the scope of this disclosure, unless otherwise noted.

[0039] In the present disclosure, the components described in various embodiments do not necessarily mean essential components, and some may be optional components. Accordingly, embodiments consisting of a subset of the components described in one embodiment are also included within the scope of the present disclosure. Furthermore, embodiments including additional components in addition to the components described in various embodiments are also included within the scope of the present disclosure.

[0040] The present disclosure relates to the encoding and decoding of images, and the terms used in the present disclosure may have the ordinary meanings commonly used in the technical field to which the present disclosure belongs, unless newly defined in the present disclosure.

[0041] In the present disclosure, "picture" generally refers to a unit representing a single image of a specific time period, and a slice / tile is an encoding unit constituting a part of the picture, and a picture may be composed of one or more slices / tiles. Additionally, a slice / tile may include one or more coding tree units (CTUs).

[0042] In the present disclosure, "pixel" or "pel" may refer to the smallest unit constituting a picture (or image). Additionally, "sample" may be used as a term corresponding to pixel. A sample may generally represent a pixel or a pixel value, may represent only the pixel / pixel value of the luminance component, or may represent only the pixel / pixel value of the chroma component.

[0043] In this disclosure, "unit" may represent a basic unit of image processing. A unit may include at least one of a specific area of ​​a picture and information related to that area. Depending on the case, the term "unit" may be used interchangeably with terms such as "sample array," "block," or "area." In general, an MxN block may include samples (or sample arrays) or a set (or array) of transform coefficients consisting of M columns and N rows.

[0044] In the present disclosure, "current block" may mean one of "current coding block," "current coding unit," "block to be encoded," "block to be decoded," or "block to be processed." When prediction is performed, "current block" may mean "current prediction block" or "block to be predicted." When transformation (inverse transformation) / quantization (inverse quantization) is performed, "current block" may mean "current transformation block" or "block to be transformed." When filtering is performed, "current block" may mean "block to be filtered."

[0045] In the present disclosure, "current block" may mean a block comprising both a luminous component block and a chroma component block, or "luma block of the current block," unless explicitly stated as a chroma block. The luminous component block of the current block may be expressed by including an explicit description of a luminous component block, such as "luma block" or "current luminous block." Additionally, the chroma component block of the current block may be expressed by including an explicit description of a chroma component block, such as "chroma block" or "current chroma block."

[0046] In the present disclosure, “A or B” may mean “only A,” “only B,” or “both A and B.” Alternatively, in the present disclosure, “A or B” may be interpreted as “A and / or B.” For example, in the present disclosure, “A, B or C” may mean “only A,” “only B,” “only C,” or “any combination of A, B and C.”

[0047] A slash ( / ) or a comma used in the present disclosure 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.”

[0048] In the present disclosure, “at least one of A and B” may mean “only A,” “only B,” or “both A and B.” Additionally, in the present disclosure, the expressions “at least one of A or B” or “at least one of A and / or B” may be interpreted as synonymous with “at least one of A and B.”

[0049] Additionally, in the present disclosure, “at least one of A, B and C” may mean “only A,” “only B,” “only C,” or “any combination of A, B and C.” Additionally, “at least one of A, B or C” or “at least one of A, B and / or C” may mean “at least one of A, B and C.”

[0050] Additionally, parentheses used in the present disclosure may mean “for example.” Specifically, where indicated as “prediction (intra-prediction),” “intra-prediction” may be proposed as an example of “prediction.” In other words, the “prediction” of the present disclosure is not limited to “intra-prediction,” and “intra-prediction” may be proposed as an example of “prediction.” Furthermore, even where indicated as “prediction (i.e., intra-prediction),” “intra-prediction” may be proposed as an example of “prediction.”

[0051] Technical features described individually within one drawing in this disclosure may be implemented individually or simultaneously.

[0052] Video Coding System Overview

[0053] FIG. 1 illustrates a video coding system according to the present disclosure.

[0054] A video coding system according to one embodiment may include an encoding device (10) and a decoding device (20). The encoding device (10) may transmit encoded video and / or image information or data to the decoding device (20) via a digital storage medium or network in the form of a file or streaming.

[0055] An encoding device (10) according to one embodiment may include a video source generation unit (11), an encoding unit (12), and a transmission unit (13). A decoding device (20) according to one embodiment may include a receiving unit (21), a decoding unit (22), and a rendering unit (23). The encoding unit (12) may be called a video / image encoding unit, and the decoding unit (22) may be called a video / image decoding unit. The transmission unit (13) may be included in the encoding unit (12). The receiving unit (21) may be included in the decoding unit (22). The rendering unit (23) may include a display unit, and the display unit may be composed of a separate device or an external component.

[0056] The video source generation unit (11) can acquire video / image through a process of capturing, synthesizing, or generating video / image. The video source generation unit (11) may include a video / image capture device and / or a video / image generation device. The video / image capture device may include, for example, one or more cameras, a video / image archive containing previously captured video / image, etc. The video / image generation device may include, for example, a computer, a tablet, and a smartphone, etc., and can generate video / image (electronically). For example, a virtual video / image may be generated through a computer, etc., in which case the video / image capture process may be replaced by a process of generating related data.

[0057] The encoding unit (12) can encode the input video / image. The encoding unit (12) can perform a series of procedures such as prediction, conversion, and quantization for compression and encoding efficiency. The encoding unit (12) can output the encoded data (encoded video / image information) in the form of a bitstream.

[0058] The transmission unit (13) can transmit encoded video / image information or data output in the form of a bitstream to the receiving unit (21) of the decoding device (20) via a digital storage medium or network in the form of a file or streaming. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmission unit (13) may include elements for creating a media file through a predetermined file format and elements for transmission via a broadcasting / communication network. The receiving unit (21) can extract / receive the bitstream from the storage medium or network and transmit it to the decoding unit (22).

[0059] The decoding unit (22) can 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 unit (12).

[0060] The rendering unit (23) can render the decoded video / image. The rendered video / image can be displayed through the display unit.

[0061] Overview of Video Encoding Devices

[0062] FIG. 2 is a schematic diagram illustrating an image encoding device to which an embodiment according to the present disclosure can be applied.

[0063] As illustrated in FIG. 2, the image encoding device (100) may include an image segmentation unit (110), a subtraction unit (115), a conversion unit (120), a quantization unit (130), an inverse quantization unit (140), an inverse conversion unit (150), an addition unit (155), a filtering unit (160), a memory (170), an inter prediction unit (180), an intra prediction unit (185), and an entropy encoding unit (190). The inter prediction unit (180) and the intra prediction unit (185) may be collectively referred to as the "prediction unit." The conversion unit (120), the quantization unit (130), the inverse quantization unit (140), and the inverse conversion unit (150) may be included in the residual processing unit. The residual processing unit may further include a subtraction unit (115).

[0064] All or at least some of the plurality of components constituting the image encoding device (100) may be implemented as a single hardware component (e.g., an encoder or a processor) according to the embodiment. Additionally, the memory (170) may include a decoded picture buffer (DPB) and may be implemented by a digital storage medium.

[0065] The image segmentation unit (110) can divide an input image (or picture, frame) input to an image encoding device (100) into one or more processing units. For example, the processing unit may be called a coding unit (CU). A coding unit may be obtained by recursively dividing a coding tree unit (CTU) or a largest coding unit (LCU) according to a QT / BT / TT (Quad-tree / binary-tree / ternary-tree) structure. For example, a single coding unit may be divided into multiple coding units of a deeper depth based on a quad-tree structure, a binary-tree structure, and / or a ternary-tree structure. For the division of the coding unit, a quad-tree structure may be applied first, and a binary-tree structure and / or a ternary-tree structure may be applied later. A coding procedure according to the present disclosure may be performed based on the final coding unit that is no longer divided. The maximum coding unit may be used directly as the final coding unit, or a lower-depth coding unit obtained by dividing the maximum coding unit may be used as the final coding unit. Here, the term "coding procedure" may include procedures such as prediction, transformation, and / or restoration described below. As another example, the processing unit of the coding procedure may be a Prediction Unit (PU) or a Transform Unit (TU). The Prediction Unit and the Transform Unit may each be divided or partitioned from the final coding unit. The Prediction Unit may be a unit for sample prediction, and the Transform Unit may be a unit for deriving transformation coefficients and / or a unit for deriving a residual signal from transformation coefficients.

[0066] The prediction unit (inter prediction unit (180) or intra prediction unit (185)) can perform a prediction for a block to be processed (current block) and generate a predicted block containing prediction samples for said current block. The prediction unit can determine whether intra prediction is applied or inter prediction is applied at the current block or CU level. The prediction unit can generate various information regarding the prediction of the current block and transmit it to the entropy encoding unit (190). The information regarding the prediction can be encoded in the entropy encoding unit (190) and output in the form of a bitstream.

[0067] The intra prediction unit (185) can predict the current block by referring to samples within the current picture. The referenced samples may be located near the current block or away from it, depending on the intra prediction mode and / or intra prediction technique. The intra prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The non-directional modes may include, for example, a DC mode and a Planar mode. The directional modes may include, for example, 33 directional prediction modes or 65 directional prediction modes, depending on the degree of fineness of the prediction direction. However, this is merely an example, and depending on the settings, more or fewer directional prediction modes may be used. The intra prediction unit (185) may also determine the prediction mode applied to the current block by using the prediction mode applied to the surrounding blocks.

[0068] The inter prediction unit (180) can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. At this time, to reduce the amount of motion information transmitted in the inter prediction mode, motion information can be predicted in blocks, sub-blocks, or samples based on the correlation of 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 information on the inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter prediction, neighboring blocks may include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. The reference picture containing the reference blocks and the reference picture containing the temporal neighboring blocks may be the same or different from each other. The temporal neighboring blocks may be referred to by names such as collocated reference block, collocated CU (colCU), etc. A reference picture containing the aforementioned temporal surrounding blocks may be called a collocated picture (colPic). For example, the inter prediction unit (180) may construct a list of motion information candidates based on surrounding blocks and generate information indicating which candidate is used to derive the motion vector and / or reference picture index of the current block. Inter prediction may be performed based on various prediction modes, for example, in the case of skip mode and merge mode, the inter prediction unit (180) may use the motion information of surrounding blocks as motion information of the current block. In the case of skip mode, unlike merge mode, a residual signal may not be transmitted.In the motion vector prediction (MVP) mode, the motion vectors of surrounding blocks are used as motion vector predictors, and the motion vector of the current block can be signaled by encoding the motion vector difference and an indicator for the motion vector predictor. The motion vector difference can represent the difference between the current block's motion vector and the motion vector predictor.

[0069] The prediction unit may generate a prediction signal based on various prediction methods and / or prediction techniques described below. For example, the prediction unit may apply intra prediction or inter prediction for the prediction of the current block, as well as apply intra prediction and inter prediction simultaneously. A prediction method that applies intra prediction and inter prediction simultaneously for the prediction of the current block may be called combined inter and intra prediction (CIIP). Additionally, the prediction unit may perform intra block copy (IBC) for the prediction of the current block. Intra block copy can be used for content video / video coding, such as in games, for example, screen content coding (SCC). IBC is a method that predicts the current block using a previously restored reference block within the current picture located at a predetermined distance from the current block. When IBC is applied, the location of the reference block within the current picture can be encoded as a vector (block vector) corresponding to the aforementioned predetermined distance. Although IBC basically performs prediction within the current picture, it can be performed similarly to inter prediction in that it derives the reference block within the current picture. That is, the IBC may use at least one of the inter-prediction techniques described in the present disclosure.

[0070] The prediction signal generated through the prediction unit can be used to generate a restoration signal or to generate a residual signal. The subtraction unit (115) can generate a residual signal (residual signal, residual block, residual sample array) by subtracting the prediction signal (predicted block, prediction sample array) output from the prediction unit from the input image signal (original block, original sample array). The generated residual signal can be transmitted to the conversion unit (120).

[0071] The transformation unit (120) can generate transform coefficients by applying a transformation technique to a residual signal. For example, the transformation technique may include at least one of a Discrete Cosine Transform (DCT), a Discrete Sine Transform (DST), a Karhunen-Loeve Transform (KLT), a Graph-Based Transform (GBT), or a Conditionally Non-linear Transform (CNT). Here, GBT refers to a transformation obtained from a graph when the relationship information between pixels is represented as a graph. CNT refers to a transformation obtained based on a prediction signal generated using all previously reconstructed pixels. The transformation process may be applied to a block of pixels of the same size in a square, or to a block of variable size that is not square.

[0072] The quantization unit (130) can quantize the transformation coefficients and transmit them to the entropy encoding unit (190). The entropy encoding unit (190) can encode the quantized signal (information regarding the quantized transformation coefficients) and output it as a bitstream. The information regarding the quantized transformation coefficients may be called residual information. The quantization unit (130) can rearrange the block-shaped quantized transformation coefficients into a one-dimensional vector form based on the coefficient scan order, and can also generate information regarding the quantized transformation coefficients based on the one-dimensional vector-shaped quantized transformation coefficients.

[0073] The entropy encoding unit (190) can perform various encoding methods, such as, for example, exponential Golomb, CAVLC (context-adaptive variable length coding), CABAC (context-adaptive binary arithmetic coding), etc. The entropy encoding unit (190) may encode information required for video / image restoration (e.g., values ​​of syntax elements) together or separately, in addition to quantized transform coefficients. The encoded information (e.g., encoded video / image information) may be transmitted or stored in the form of a bitstream in units of NAL (network abstraction layer) units. The video / image information may further include information regarding 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). Additionally, the video / image information may further include general constraint information. The signaling information, transmitted information, and / or syntax elements mentioned in the present disclosure may be encoded through the encoding procedure described above and included in the bitstream.

[0074] The above bitstream may be transmitted via a network or 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, SSD, etc. A transmission unit (not shown) for transmitting a signal output from the entropy encoding unit (190) and / or a storage unit (not shown) for storing it may be provided as an internal / external element of the video encoding device (100), or the transmission unit may be provided as a component of the entropy encoding unit (190).

[0075] The quantized transformation coefficients output from the quantization unit (130) can be used to generate a residual signal. For example, a residual signal (residual block or residual samples) can be restored by applying inverse quantization and inverse transformation to the quantized transformation coefficients through the inverse quantization unit (140) and the inverse transformation unit (150).

[0076] The adder (155) can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the reconstructed residual signal to the prediction signal output from the inter prediction unit (180) or the intra prediction unit (185). In cases where there is no residual for the block to be processed, such as when a skip mode is applied, the predicted block can be used as the reconstructed block. The adder (155) may be called a reconstructed unit or a reconstructed block generation unit. The generated reconstructed signal can be used for intra prediction of the next block to be processed within the current picture, and can also be used for inter prediction of the next picture after undergoing filtering as described below.

[0077] The filtering unit (160) can improve subjective / objective image quality by applying filtering to the restored signal. For example, the filtering unit (160) can generate a modified restored picture by applying various filtering methods to the restored picture, and can store the modified restored picture in memory (170), specifically in the DPB of memory (170). The various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc. The filtering unit (160) can generate various information regarding filtering and transmit it to the entropy encoding unit (190), as described below in the description of each filtering method. The information regarding filtering can be encoded in the entropy encoding unit (190) and output in the form of a bitstream.

[0078] The modified restored picture transmitted to the memory (170) can be used as a reference picture in the inter-prediction unit (180). Through this, when inter-prediction is applied, the image encoding device (100) can avoid prediction mismatches between the image encoding device (100) and the image decoder, and can also improve encoding efficiency.

[0079] The DPB in memory (170) can store a modified restored picture to be used as a reference picture in the inter prediction unit (180). Memory (170) can store motion information of blocks from which motion information is derived (or encoded) in the current picture and / or motion information of blocks in the picture that have already been restored. The stored motion information can be transmitted to the inter prediction unit (180) to be used as motion information of spatially surrounding blocks or motion information of temporally surrounding blocks. Memory (170) can store restoration samples of restored blocks in the current picture and transmit them to the intra prediction unit (185).

[0080] Overview of the video decoder

[0081] FIG. 3 is a schematic diagram illustrating an image decoding device to which an embodiment according to the present disclosure can be applied.

[0082] As illustrated in FIG. 3, the image decoding device (200) may be configured to include an entropy decoding unit (210), an inverse quantization unit (220), an inverse transform unit (230), an adder unit (235), a filtering unit (240), a memory (250), an inter prediction unit (260), and an intra prediction unit (265). The inter prediction unit (260) and the intra prediction unit (265) may be collectively referred to as the "prediction unit." The inverse quantization unit (220) and the inverse transform unit (230) may be included in the residual processing unit.

[0083] All or at least some of the plurality of components constituting the video decoding device (200) may be implemented as a single hardware component (e.g., a decoder or a processor) according to the embodiment. Additionally, the memory (250) may include a DPB and may be implemented by a digital storage medium.

[0084] A video decoding device (200) that receives a bitstream containing video / image information can restore an image by performing a process corresponding to the process performed by the video encoding device (100) of FIG. 2. For example, the video decoding device (200) can perform decoding using a processing unit applied in the video encoding device. Thus, the processing unit for decoding may be, for example, a coding unit. The coding unit may be a coding tree unit or may be obtained by dividing a maximum coding unit. And, the restored image signal decoded and output through the video decoding device (200) can be played back through a playback device (not shown).

[0085] The image decoding device (200) can receive a signal output from the image encoding device of FIG. 2 in the form of a bitstream. The received signal can be decoded through an entropy decoding unit (210). For example, the entropy decoding unit (210) can parse the bitstream to derive information necessary for image restoration (or picture restoration) (e.g., video / image information). The video / image information may further include information regarding 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). Additionally, the video / image information may further include general constraint information. The image decoding device may additionally utilize the information regarding the parameter sets and / or the general constraint information to decode the image. The signaling information, received information, and / or syntax elements mentioned in the present disclosure may be obtained from the bitstream by being decoded through the decoding procedure. For example, the entropy decoding unit (210) can decode information within the bitstream based on coding methods such as exponential chord coding, CAVLC, or CABAC, and output the values ​​of syntax elements required for image restoration and the quantized values ​​of transformation coefficients regarding residuals. More specifically, the CABAC entropy decoding method can receive a bin corresponding to each syntax element in the bitstream, determine a context model using information on the syntax element to be decoded and the decoding information of the surrounding block and the block to be decoded or the information of the symbol / bin decoded in the previous step, predict the probability of occurrence of the bin according to the determined context model, and perform arithmetic decoding of the bin to generate a symbol corresponding to the value of each syntax element.At this time, the CABAC entropy decoding method can update the context model using the decoded symbol / bin information for the context model of the next symbol / bin after determining the context model. Among the information decoded in the entropy decoding unit (210), information regarding prediction is provided to the prediction unit (inter prediction unit (260) and intra prediction unit (265)), and residual values, i.e., quantized transformation coefficients and related parameter information, for which entropy decoding was performed in the entropy decoding unit (210) can be input to the inverse quantization unit (220). Additionally, among the information decoded in the entropy decoding unit (210), information regarding filtering can be provided to the filtering unit (240). Meanwhile, a receiving unit (not shown) that receives a signal output from a video encoding device may be additionally provided as an internal / external element of the video decoding device (200), or the receiving unit may be provided as a component of the entropy decoding unit (210).

[0086] Meanwhile, the image decoding device according to the present disclosure may be referred to as a video / image / picture decoding device. The image decoding device may include an information decoder (video / image / picture information decoder) and / or a sample decoder (video / image / picture sample decoder). The information decoder may include an entropy decoding unit (210), and the sample decoder may include at least one of an inverse quantization unit (220), an inverse transform unit (230), an adder (235), a filtering unit (240), a memory (250), an inter prediction unit (260), and an intra prediction unit (265).

[0087] In the inverse quantization unit (220), the quantized transform coefficients can be inversely quantized to output transform coefficients. The inverse quantization unit (220) can rearrange the quantized transform coefficients into a two-dimensional block form. In this case, the rearrangement can be performed based on the coefficient scan order performed by the image encoding device. The inverse quantization unit (220) can perform inverse quantization on the quantized transform coefficients using quantization parameters (e.g., quantization step size information) and obtain transform coefficients.

[0088] In the inverse conversion unit (230), the conversion coefficients can be inversely converted to obtain a residual signal (residual block, residual sample array).

[0089] The prediction unit performs a prediction for the current block and can generate a predicted block containing prediction samples for the current block. Based on information regarding the prediction output from the entropy decoding unit (210), the prediction unit can determine whether an intra prediction or an inter prediction is applied to the current block and can determine a specific intra / inter prediction mode (prediction technique).

[0090] The fact that the prediction unit can generate a prediction signal based on various prediction methods (techniques) described below is the same as mentioned in the description of the prediction unit of the image encoding device (100).

[0091] The intra prediction unit (265) can predict the current block by referring to samples within the current picture. The description of the intra prediction unit (185) can be applied in the same way to the intra prediction unit (265).

[0092] The inter prediction unit (260) can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. At this time, to reduce the amount of motion information transmitted in the inter prediction mode, motion information can be predicted in blocks, sub-blocks, or samples based on the correlation of 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 information on the inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter prediction, neighboring blocks may include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. For example, the inter prediction unit (260) may construct a motion information candidate list based on the neighboring blocks and derive the motion vector and / or reference picture index of the current block based on the received candidate selection information. Inter-prediction can be performed based on various prediction modes (techniques), and information regarding the prediction may include information indicating the mode (technique) of inter-prediction for the current block.

[0093] The adder (235) can generate a restoration signal (restored picture, restored block, restored sample array) by adding the acquired residual signal to the prediction signal (predicted block, predicted sample array) output from the prediction unit (including the inter prediction unit (260) and / or the intra prediction unit (265)). In cases where there is no residual for the block to be processed, such as when a skip mode is applied, the predicted block can be used as the restoration block. The description of the adder (155) can be applied equally to the adder (235). The adder (235) may be called a restoration unit or a restoration block generation unit. The generated restoration signal can be used for intra prediction of the next block to be processed within the current picture, and can also be used for inter prediction of the next picture after undergoing filtering as described below.

[0094] The filtering unit (240) can improve subjective / objective image quality by applying filtering to the restored signal. For example, the filtering unit (240) can generate a modified restored picture by applying various filtering methods to the restored picture, and can store the modified restored picture in memory (250), specifically in the DPB of memory (250). The various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc.

[0095] The (modified) restored picture stored in the DPB of the memory (250) can be used as a reference picture in the inter-prediction unit (260). The memory (250) can store motion information of blocks from which motion information within the current picture has been derived (or decoded) and / or motion information of blocks within the picture that have already been restored. The stored motion information can be transmitted to the inter-prediction unit (260) to be used as motion information of spatially surrounding blocks or motion information of temporally surrounding blocks. The memory (250) can store restoration samples of blocks restored within the current picture and transmit them to the intra-prediction unit (265).

[0096] In this specification, the embodiments described in the filtering unit (160), inter prediction unit (180), and intra prediction unit (185) of the image encoding device (100) may be applied to the filtering unit (240), inter prediction unit (260), and intra prediction unit (265) of the image decoding device (200) in the same or corresponding manner.

[0097] General Video / Video Coding Procedure

[0098] In video coding, the pictures constituting the video can be encoded / decoded according to a series of decoding orders. The picture order corresponding to the output order of the decoded pictures can be set differently from the aforementioned decoding order, and based on this, not only forward prediction but also reverse prediction can be performed during inter-prediction.

[0099] FIG. 4 shows an example of a schematic picture decoding procedure to which the embodiment(s) of the present disclosure are applicable.

[0100] Each procedure illustrated in FIG. 4 can be performed by the image decoding device of FIG. 3. For example, step S410 can be performed by an entropy decoding unit (210), step S420 can be performed in a prediction unit including an intra prediction unit (265) and an inter prediction unit (260), step S430 can be performed in a residual processing unit including an inverse quantization unit (220) and an inverse transform unit (230), step S440 can be performed in an adder (235), and step S450 can be performed in a filtering unit (240). Step S410 may include an information decoding procedure described in the present disclosure, step S420 may include an inter / intra prediction procedure described in the present disclosure, step S430 may include a residual processing procedure described in the present disclosure, step S440 may include a block / picture restoration procedure described in the present disclosure, and step S450 may include an in-loop filtering procedure described in the present disclosure.

[0101] Referring to FIG. 4, the picture decoding procedure may include, schematically as shown in the description of FIG. 3, a procedure for obtaining image / video information (through decoding) from a bitstream (S410), a picture restoration procedure (S420–S440), and an in-loop filtering procedure for the restored picture (S450). The picture restoration procedure may be performed based on prediction samples and residual samples obtained through the inter / intra prediction (S420) and residual processing (S430) and the inverse quantization and inverse transformation of the quantized transformation coefficients described in the present disclosure. A modified restored picture may be generated through an in-loop filtering procedure on the restored picture generated through the above picture restoration procedure, and the modified restored picture may be output as a decoded picture and may also be stored in the decoded picture buffer or memory (250) of the decoding device and used as a reference picture in the inter-prediction procedure during subsequent picture decoding. In some cases, the above in-loop filtering procedure may be omitted, in which case the restored picture may be output as a decoded picture and may also be stored in the decoded picture buffer or memory (250) of the decoding device and used as a reference picture in the inter-prediction procedure during subsequent picture decoding. As described above, the above in-loop filtering procedure (S450) may include a deblocking filtering procedure, a sample adaptive offset (SAO) procedure, an adaptive loop filter (ALF) procedure and / or a bilateral filter procedure, and some or all of these may be omitted. In addition, one or some of the above deblocking filtering procedure, SAO (sample adaptive offset) procedure, ALF (adaptive loop filter) procedure, and bilateral filter procedure may be applied sequentially, or all of them may be applied sequentially.For example, the SAO procedure may be performed after a deblocking filtering procedure is applied to the restored picture. Alternatively, for example, the ALF procedure may be performed after a deblocking filtering procedure is applied to the restored picture. This can be performed in the same way in the encoding device.

[0102] FIG. 5 shows an example of a schematic picture encoding procedure to which the embodiment(s) of the present disclosure are applicable.

[0103] Each procedure illustrated in FIG. 5 may be performed by the image encoding device of FIG. 2. For example, step S510 may be performed in a prediction unit including an intra prediction unit (185) or an inter prediction unit (180), step S520 may be performed in a residual processing unit including a conversion unit (120) and / or a quantization unit (130), and step S530 may be performed in an entropy encoding unit (190). Step S510 may include the inter / intra prediction procedure described in the present disclosure, step S520 may include the residual processing procedure described in the present disclosure, and step S530 may include the information encoding procedure described in the present disclosure.

[0104] Referring to FIG. 5, the picture encoding procedure may include not only a procedure for encoding information for picture restoration (e.g., prediction information, residual information, partitioning information, etc.) in a general manner as described in FIG. 2 and outputting it in the form of a bitstream, but also a procedure for generating a restored picture for the current picture and a procedure for applying in-loop filtering to the restored picture (optional). The encoding device may derive (modified) residual samples from quantized transform coefficients through the inverse quantization unit (140) and the inverse transform unit (150), and may generate a restored picture based on the prediction samples, which are the output of step S510, and the (modified) residual samples. The restored picture thus generated may be identical to the restored picture generated by the decoding device described above. A modified restored picture can be generated through an in-loop filtering procedure for the above restored picture, which can be stored in a decoded picture buffer or memory (170), and, as in the case of a decoding device, can be used as a reference picture in an inter-prediction procedure during the encoding of the picture thereafter. As described above, depending on the case, some or all of the in-loop filtering procedure may be omitted. When the in-loop filtering procedure is performed, (in-loop) filtering-related information (parameters) can be encoded in the entropy encoding unit (190) and output in the form of a bitstream, and the decoding device can perform the in-loop filtering procedure in the same way as the encoding device based on the filtering-related information.

[0105] Through this in-loop filtering procedure, noise generated during image / video coding, such as blocking artifacts and ringing artifacts, can be reduced, and subjective and objective visual quality can be enhanced. Furthermore, by performing the in-loop filtering procedure in both the encoding and decoding units, they can derive identical prediction results, increase the reliability of picture coding, and reduce the amount of data that must be transmitted for picture coding.

[0106] As described above, the picture restoration procedure can be performed in the encoding device as well as the decoding device. Restoration blocks can be generated based on intra prediction / inter prediction for each block, and a restored picture containing the restoration blocks can be generated. If the current picture / slice / tile group is the I picture / slice / tile group, the blocks included in the current picture / slice / tile group can be restored based solely on intra prediction. Meanwhile, if the current picture / slice / tile group is the P or B picture / slice / tile group, the blocks included in the current picture / slice / tile group can be restored based on intra prediction or inter prediction. In this case, inter prediction may be applied to some blocks within the current picture / slice / tile group, and intra prediction may be applied to the remaining blocks. The color component of the picture may include a luminance component and a chroma component, and unless explicitly limited in the present disclosure, the methods and embodiments proposed in the present disclosure may be applied to the luminance component and the chroma component.

[0107] Examples of coding hierarchy and structure

[0108] The coded video / image according to the present disclosure can be processed, for example, according to the coding layer and structure described below.

[0109] Figure 6 is a diagram showing an example of a hierarchical structure for coded images / videos.

[0110] The coded image / video can be divided into a video coding layer (VCL) that handles the decoding processing of the image / video and the image / video itself, a subsystem that transmits and stores the encoded information, and a network abstraction layer (NAL) that exists between the VCL and the subsystem and is responsible for network adaptation functions.

[0111] In VCL, VCL data containing compressed image data (slice data) can be generated, or parameter sets containing information such as Picture Parameter Set (PPS), Sequence Parameter Set (SPS), and Video Parameter Set (VPS), or SEI (Supplemental Enhancement Information) messages that are additionally required in the decoding process of the image can be generated.

[0112] In NAL, a NAL unit can be created by adding header information (NAL unit header) to the Raw Byte Sequence Payload (RBSP) generated in VCL. In this case, the RBSP refers to slice data, parameter sets, SEI messages, etc. generated in VCL. The NAL unit header may include NAL unit type information specified according to the RBSP data included in the NAL unit.

[0113] As shown in FIG. 6, NAL units can be classified into VCL NAL units and Non-VCL NAL units depending on the type of RBSP generated in VCL. A VCL NAL unit may refer to a NAL unit containing information about an image (slice data), and a Non-VCL NAL unit may refer to a NAL unit containing information necessary to decode an image (parameter set or SEI message).

[0114] The aforementioned VCL NAL unit and Non-VCL NAL unit can be transmitted over a network with header information attached according to the data specifications of the underlying system. For example, the NAL unit can be transformed into a data format of a specified specification, such as H.266 / VVC file format, RTP (Real-time Transport Protocol), TS (Transport Stream), etc., and transmitted over various networks.

[0115] As described above, the NAL unit type can be determined based on the RBSP data structure included in the NAL unit, and information regarding this NAL unit type can be stored in the NAL unit header and signaled. For example, depending on whether the NAL unit includes information about the image (slice data), it can be broadly classified into VCL NAL unit types and Non-VCL NAL unit types. VCL NAL unit types can be classified according to the nature and type of the picture included in the VCL NAL unit, and Non-VCL NAL unit types can be classified according to the type of parameter set.

[0116] The following lists examples of NAL unit types specified according to the parameter sets / types of information included in the Non-VCL NAL unit type.

[0117] - DCI (Decoding capability information) NAL unit type (NUT): Type for the NAL unit containing DCI

[0118] - VPS (Video Parameter Set) NUT: Type for NAL unit containing VPS

[0119] - SPS(Sequence Parameter Set) NUT: Type for NAL unit containing SPS

[0120] - PPS(Picture Parameter Set) NUT: Type for NAL unit containing PPS

[0121] - APS (Adaptation Parameter Set) NUT: Type for NAL unit containing APS

[0122] - PH (Picture header) NUT: Type for NAL unit including picture header

[0123] The above-described NAL unit types have syntax information for the NAL unit type, and said syntax information can be stored in the NAL unit header and signaled. For example, said syntax information may be nal_unit_type, and NAL unit types can be specified using the nal_unit_type value.

[0124] Meanwhile, a single picture may include multiple slices, and a single slice may include a slice header and slice data. In this case, an additional picture header may be added for multiple slices (slice header and slice data set) within a single picture. The picture header (picture header syntax) may include information / parameters that can be commonly applied to the picture. The slice header (slice header syntax) may include information / parameters that can be commonly applied to the slice. The APS (APS syntax) or PPS (PPS syntax) may include information / parameters that can be commonly applied to one or more slices or pictures. The SPS (SPS syntax) may include information / parameters that can be commonly applied to one or more sequences. The VPS (VPS syntax) may include information / parameters that can be commonly applied to multiple layers. The above DCI may include information / parameters related to decoding capability.

[0125] In the present disclosure, the high-level syntax (HLS) may include at least one of the APS syntax, PPS syntax, SPS syntax, VPS syntax, DCI syntax, picture header syntax, and slice header syntax. Additionally, in the present disclosure, the low-level syntax (LLS) may include, for example, slice data syntax, CTU syntax, encoding unit syntax, translation unit syntax, etc.

[0126] Meanwhile, the image / video information encoded from an encoding device to a decoder in the present disclosure and signaled in the form of a bitstream includes not only information related to picture partitioning, intra / inter prediction information, residual information, in-loop filtering information, etc., but may also include information of the slice header, information of the picture header, information of the APS, information of the PPS, information of the SPS, information of the VPS, and / or information of the DCI. Additionally, the image / video information may further include general constraint information and / or information of the NAL unit header.

[0127] High level syntax signaling and semantics

[0128] As described above, the image / video information according to the present disclosure may include High Level Syntax (HLS). An image encoding method and / or an image decoding method may be performed based on the image / video information.

[0129] DPB parameter signaling

[0130] A DPB (Decoded Picture Buffer) can conceptually be composed of sub-DPBs. Each sub-DPB may include picture storage buffers for storing decoded pictures of a layer. Each picture storage buffer may contain a decoded picture marked as “used for reference” or a decoded picture held for future output.

[0131] In a multilayer bitstream, DPB parameters are not assigned per output layer set (OLS), but per individual layer. Additionally, up to two DPB parameters may be assigned to each layer. In this case, one of the two DPB parameters may be for the case where the layer is an output layer, and the other may be for the case where the layer is not an output layer but is used as a reference layer. If the layer is an output layer, the layer may be used as a reference layer or for future output. If the layer is not an output layer but is used as a reference layer, the layer may be used only for referencing the picture / slice / block of the output layer, unless there is layer switching. According to the prior art, DPB parameters are signaled for each layer within the OLS. The signaling of the DPB parameters can simplify the signaling of the DPB parameters of the prior art.

[0132] FIG. 7 is a diagram illustrating, exemplarily, the syntax structure of a VPS according to one embodiment of the present disclosure.

[0133] According to the example illustrated in FIG. 7, when vps_all_independent_layers_flag is 0, vps_num_dpb_params may be signaled. As described below, vps_all_independent_layers_flag of a first value (e.g., 0) may indicate that one or more of the layers within the coded video sequence (CVS) can utilize inter-layer prediction. Additionally, vps_all_independent_layers_flag of a second value (e.g., 1) may indicate that all layers within the coded video sequence (CVS) are encoded independently without utilizing inter-layer prediction. In the above, CVS may be understood as a bitstream or image / video information containing a sequence of encoded pictures for multiple layers. vps_num_dpb_params may indicate the number of dpb_parameters() syntax structures included in the Video Parameter Set (VPS). For example, vps_num_dpb_params can have values ​​from 0 to 16, and if it does not exist, the value of vps_num_dpb_params can be inferred (set) to 0.

[0134] If the value of vps_num_dpb_params is greater than 0, that is, if the number of dpb_parameters() syntax structures included in the VPS is greater than 0, one or more DPB parameters may be signaled. For example, the one or more DPB parameters may include same_dpb_size_output_or_nonoutput_flag, vps_sublayer_dpb_params_present_flag, dpb_size_only_flag[ i ], dpb_max_temporal_id[ i ], layer_output_dpb_params_idx[ i ], layer_nonoutput_dpb_params_idx[ i ] and / or dpb_parameters().

[0135] The same_dpb_size_output_or_nonoutput_flag of the first value (e.g. 1) may indicate that layer_nonoutput_dpb_params_idx[ i ] does not exist in the VPS. The same_dpb_size_output_or_nonoutput_flag of the second value (e.g. 0) may indicate that layer_nonoutput_dpb_params_idx[ i ] may exist in the VPS.

[0136] vps_sublayer_dpb_params_present_flag can be used to control whether max_dec_pic_buffering_minus1[ ], max_num_reorder_pics[ ], and / or max_latency_increase_plus1[ ] exist within dpb_parameters() in VPS. If vps_sublayer_dpb_params_present_flag does not exist, its value can be inferred as 0.

[0137] The dpb_size_only_flag[ i ] of the first value (e.g. 1) may indicate that max_num_reorder_pics[ ] and / or max_latency_increase_plus1[ ] do not exist within the i-th dpb_parameters() in the VPS. The dpb_size_only_flag[ i ] of the second value (e.g. 0) may indicate that max_num_reorder_pics[ ] and / or max_latency_increase_plus1[ ] may exist within the i-th dpb_parameters() in the VPS.

[0138] dpb_max_temporal_id[ i ] may represent the temporal layer identifier (e.g., TemporalId) of the top-level sublayer where DPB parameters may exist within the i-th dpb_parameters() in the VPS. dpb_max_temporal_id[ i ] can have a value between 0 and vps_max_sublayers_minus1. If vps_max_sublayers_minus1 is 0, the value of dpb_max_temporal_id[ i ] is not signaled and can be inferred as 0. If vps_max_sublayers_minus1 is greater than 0 and vps_all_layers_same_num_sublayers_flag is 1, the value of dpb_max_temporal_id[ i ] can be inferred as the same value as vps_max_sublayers_minus1.

[0139] layer_output_dpb_params_idx[ i ] is an index for a list of dpb_parameters() within the VPS, which may indicate the dpb_parameters() applied to the i-th layer when the i-th layer is an output layer included in the OLS. layer_output_dpb_params_idx[ i ] can have a value from 0 to vps_num_dpb_params - 1.

[0140] When vps_independent_layer_flag[ i ] is 1, dpb_parameters() applied to the i-th layer, which is the output layer, may be dpb_parameters() existing in the SPS referenced by that layer.

[0141] Otherwise, if vps_independent_layer_flag[ i ] is 0, the following may apply.

[0142] - If vps_num_dpb_params is 1, the value of layer_output_dpb_params_idx[ i ] can be inferred as 0.

[0143] - As a requirement for bitstream consistency, the value of layer_output_dpb_params_idx[ i ] must be such that dpb_size_only_flag[ layer_output_dpb_params_idx[ i ] ] becomes 0.

[0144] layer_nonoutput_dpb_params_idx[ i ] is an index for a list of dpb_parameters() within the VPS, which may indicate the dpb_parameters() applied to the i-th layer when the i-th layer is a non-output layer included in the OLS. layer_nonoutput_dpb_params_idx[ i ] can have a value from 0 to vps_num_dpb_params - 1.

[0145] If same_dpb_size_output_or_nonoutput_flag is 1, the following may apply.

[0146] - If vps_independent_layer_flag[ i ] is 1, dpb_parameters() applied to the i-th layer, which is a non-output layer, may be dpb_parameters() existing in the SPS referenced by that layer.

[0147] - Otherwise, if vps_independent_layer_flag[ i ] is 0, the value of layer_nonoutput_dpb_params_idx[ i ] can be inferred to be the same value as layer_output_dpb_params_idx[ i ].

[0148] Otherwise, if same_dpb_size_output_or_nonoutput_flag is 0 and vps_num_dpb_params is 1, the value of layer_output_dpb_params_idx[ i ] can be inferred as 0.

[0149] FIG. 8 is a diagram illustrating a syntax structure for signaling DPB parameters according to the present disclosure.

[0150] As illustrated in FIG. 8, the dpb_parameters() syntax structure may include information regarding the DPB size, information regarding the maximum number of picture reorders, and / or information regarding the maximum latency for each CLVS of the CVS. In the above, CLVS (Coder Layer Video Sequence) can be understood as a bitstream or image / video information containing a sequence of encoded pictures belonging to the same layer.

[0151] If the dpb_parameters() syntax structure is included in a VPS, the OLSs to which the dpb_parameters() syntax structure is applied can be specified by the VPS. If the dpb_parameters() syntax structure is included in an SPS, it can be applied to an OLS that includes only the lowest layer among the layers referencing the SPS. In this case, the lowest layer may be an independent layer.

[0152] max_dec_pic_buffering_minus1[ i ] + 1 may represent the maximum required size of the DPB for each CLVS of the CVS. max_dec_pic_buffering_minus1[ i ] can have a value from 0 to MaxDpbSize - 1.

[0153] max_num_reorder_pics[ i ] may represent the maximum allowable number of pictures in a CLVS that precede any picture in the CLVS in decoding order and follow in output order for each CLVS in a CVS. max_num_reorder_pics[ i ] can have a value from 0 to max_dec_pic_buffering_minus1[ i ]. If i is greater than 0, max_num_reorder_pics[ i ] must have a value greater than or equal to max_num_reorder_pics[ i 1 ]. If max_num_reorder_pics[ i ] does not exist, its value can be inferred to be the same as max_num_reorder_pics[ maxSubLayersMinus1 ].

[0154] max_latency_increase_plus1[ i ] with a non-zero value can be used to calculate MaxLatencyPictures[ i ]. MaxLatencyPictures[ i ] can represent the maximum number of pictures in a CLVS that precede an arbitrary picture in the output order and follow in the decoding order for each CLVS in the CVS.

[0155] If max_latency_increase_plus1[ i ] is not 0, MaxLatencyPictures[ i ] can be calculated as follows.

[0156] MaxLatencyPictures[i]=max_num_reorder_pics[i] + max_latency_increase_plus1[i]-1

[0157] max_latency_increase_plus1[ i ] is 0 to 2 32- It can have a value of 2. If max_latency_increase_plus1[ i ] does not exist, the value can be inferred as equal to max_latency_increase_plus1[ maxSubLayersMinus1 ].

[0158] The above DPB parameters can be used in the process of outputting or removing the image decoded from the DPB.

[0159] Video Parameter Set signaling

[0160] A video parameter set (VPS) is a set of parameters used for the transmission of layer information. The layer information may include, for example, information regarding an output layer set (OLS), information regarding a profile tier level, information regarding the relationship between the OLS and a hypothetical reference decoder, information regarding the relationship between the OLS and a DPB, etc. The VPS may not be essential for the decoding of the bitstream.

[0161] Before being referenced, the VPS RBSP (raw byte sequence payload) must be made available to the decoding process by being included in at least one access unit (AU) with TemporalID 0 or provided through external means.

[0162] All VPS NAL units with a specific value of vps_video_parameter_set_id within a CVS (coded video sequence) must have the same content.

[0163] FIG. 9 is a diagram illustrating, exemplarily, the syntax structure of a VPS according to another embodiment of the present disclosure.

[0164] The syntax structure of the VPS illustrated in FIG. 9 includes only the syntax elements related to the present disclosure, and various other syntax elements not illustrated in FIG. 9 may be included in the VPS.

[0165] In the example illustrated in FIG. 9, vps_video_parameter_set_id provides an identifier for the VPS. Other syntax elements can refer to the VPS using vps_video_parameter_set_id. The value of vps_video_parameter_set_id must be greater than 0.

[0166] The value of vps_max_layers_minus1 plus 1 may represent the maximum number of layers allowed within each CVS referencing the above VPS.

[0167] vps_all_independent_layers_flag may be signaled when vps_max_layers_minus1 is greater than 0. A vps_all_independent_layers_flag of a first value (e.g., 1) may indicate that all layers within the CVS are encoded independently without using inter-layer prediction. A vps_all_independent_layers_flag of a second value (e.g., 0) may indicate that one or more layers within the CVS may use inter-layer prediction. If vps_all_independent_layers_flag does not exist, its value may be inferred as the first value (e.g., 1).

[0168] vps_num_ptls_minus1 + 1 may represent the number of profile_tier_level() syntax structures within the VPS. The value of vps_num_ptls_minus1 must be less than TotalNumOlss. TotalNumOlss may represent the total number of OLSs specified by the VPS. When vps_max_layers_minus1 is 0, TotalNumOlss may be derived as 1. Otherwise, if each_layer_is_an_ols_flag is 1, or ols_mode_idc is 0 or 1, TotalNumOlss may be derived as vps_max_layers_minus1 + 1. Otherwise, if ols_mode_idc is 2, TotalNumOlss may be derived as num_output_layer_sets_minus1 + 1. ols_mode_idc may be an indicator that specifies the mode for inducing the total number of OLSs specified by the VPS. In the above, each_layer_is_an_ols_flag may indicate whether each OLS contains only one layer.

[0169] ols_ptl_idx[ i ] is an index for a list of profile_tier_level() within the VPS, which may be the index of the profile_tier_level() applied to the i-th OLS. When ols_ptl_idx[ i ] exists, ols_ptl_idx[ i ] can have a value from 0 to vps_num_ptls_minus1. If vps_num_ptls_minus1 is 0, the value of ols_ptl_idx[ i ] can be inferred as 0.

[0170] NumLayersInOls[ i ] may represent the number of layers within the i-th OLS. When NumLayersInOls[ i ] is 1, the profile_tier_level() syntax structure applied to the i-th OLS may also exist in the SPS referenced by the layers within the i-th OLS. As a requirement for bitstream consistency, when NumLayersInOls[ i ] is 1, the profile_tier_level() syntax structure within the VPS for the i-th OLS and the profile_tier_level() syntax structure within the SPS must be identical.

[0171] As illustrated in FIG. 9, when vps_all_independent_layers_flag is 0, vps_num_dpb_params can be signaled.

[0172] vps_num_dpb_params can represent the number of DPB parameter (dpb_parameters()) syntax structures within the VPS. vps_num_dpb_params can have values ​​from 0 to 16, and if it does not exist in the bitstream, the value can be inferred as 0.

[0173] The dpb_parameter() syntax structure can be signaled based on vps_num_dpb_params.

[0174] In addition, if the number of layers in the i-th OLS is multiple (NumLayersInOls[i]>1) and the number of DPB parameters in the VPS is multiple (vps_num_dpb_params>1), ols_dpb_params_idx[i] may be signaled.

[0175] ols_dpb_params_idx[i] is an index for a list of dpb_parameters() within the VPS, which may be the index of the dpb_parameters() applied to the i-th OLS. When ols_dpb_params_idx[i] exists, ols_dpb_params_idx[i] can have a value from 0 to vps_num_dpb_params - 1. When ols_dpb_params_idx[i] does not exist in the bitstream, its value can be inferred as 0.

[0176] To improve the signaling of DPB-related information and PTL-related information within a VPS as described with reference to FIGS. 7 through 9, an embodiment according to the present disclosure may include at least one of the following configurations. The following configurations may be applied individually or in combination with other configurations.

[0177] Configuration 1: Each DPB parameter syntax structure signaled in the VPS may be restricted to be associated with at least one output layer set (OLS).

[0178] Configuration 2: Alternatively, each DPB parameter syntax structure signaled from the VPS may be restricted to be associated with at least one multi-layer OLS. In this case, the multi-layer OLS may mean a set of output layers including more than one number of layers.

[0179] Configuration 3: The number of DPB parameter syntax structures signaled by the VPS (i.e., vps_num_dpb_params) can be limited so as not to be greater than the number of output layer sets (multi-layer OLS) containing more than one layer. In this case, the number of multi-layer OLS can be derived by subtracting the number of OLS containing only one layer from the total number of OLS.

[0180] Configuration 4: Each PTL syntax structure signaled from the VPS may be restricted to be associated with at least one output layer set (OLS).

[0181] FIG. 10 is a drawing for explaining an example of an image encoding method to which an embodiment according to the present disclosure can be applied.

[0182] The video encoding device may derive DPB-related information and / or PTL-related information (S1010) and encode image / video information (S1020). At this time, the image / video information may include the derived DPB-related information and / or PTL-related information.

[0183] Although not illustrated in FIG. 10, the video encoding device may perform DPB management based on DPB-related information derived in step S1010. Additionally, the video encoding device may process (encode) the current picture based on DPB-related information and / or PTL-related information. Alternatively, the video encoding device may process the current OLS based on DPB-related information and / or PTL-related information.

[0184] FIG. 11 is a drawing for illustrating an example of an image decoding method to which an embodiment according to the present disclosure can be applied.

[0185] The video decoding device can obtain video / video information from a bitstream (S1110). At this time, the video / video information may include DPB-related information and / or PTL-related information.

[0186] The image decoder can perform processing (decoding) of the picture based on acquired DPB-related information and / or PTL-related information (S1120). Alternatively, the image decoder can process the current OLS based on DPB-related information and / or PTL-related information.

[0187] FIG. 12 is a drawing for illustrating another example of an image decoding method to which an embodiment according to the present disclosure may be applied.

[0188] The video decoding device can obtain video / video information from a bitstream (S1210). At this time, the video / video information may include DPB-related information and / or PTL-related information.

[0189] The video decoding device can perform DPB management based on the acquired DPB-related information (S1220).

[0190] The image decoder can perform decoding of the picture based on the DPB (S1230). For example, blocks / slices within the current picture can be decoded based on inter-prediction using a picture already restored within the DPB as a reference picture. Additionally, although not illustrated in FIG. 12, the image decoder can decode the current picture based on PTL-related information obtained in step S1210. Alternatively, the image decoder can process the current OLS based on DPB-related information and / or PTL-related information.

[0191] In the example described with reference to FIGS. 10 through 12, the DPB-related information and / or PTL-related information may include at least one of the information / syntax elements described in relation to at least one of the embodiments of the present disclosure. Specifically, the DPB-related information may include the information / syntax elements described with reference to FIGS. 7 through 8. Additionally, the PTL-related information may include the information / syntax elements described with reference to FIG. 9. The image / video information of the present disclosure may further include the information described in the present disclosure in relation to the output layer set (OLS). Additionally, as described above, DPB management may be performed based on the DPB-related information. For example, the storage of picture(s) in the DPB prior to the decoding of the current picture, the deletion of picture(s) from the DPB, and / or the output of the (decoded) picture may be performed based on the DPB-related information. DPB management may further be performed based on the OLS described in the present disclosure.

[0192] Hereinafter, various embodiments of the present disclosure for efficiently performing VPS signaling are described. The various embodiments of the present disclosure described below may be implemented alone or in combination with other embodiments.

[0193] According to one embodiment of the present disclosure, the number of multilayered OLS (NumMultiLayeredOlss) including multiple layers can be derived using NumLayersInOls[ i ]. As described above, NumLayersInOls[ i ]. Specifically, to derive the number of multilayered OLS (NumMultiLayeredOlss), first, the number of multilayered OLS (NumMultiLayeredOlss) can be set (initialized) to 0. Then, for all OLSs specified by VPS (i=1 to TotalNumOlss), it is checked whether NumLayersInOls[ i ]. If NumLayersInOls[ i ]. is greater than 1, the number of multilayered OLS can be derived by increasing the value of NumMultiLayeredOlss by 1. The number of multi-layer OLS derived as above may be used in other embodiments of the present disclosure.

[0194] According to another embodiment of the present disclosure, each DPB parameter structure signaled in the VPS may be limited to being associated with at least one OLS.

[0195] As described above, if the i-th OLS contains more than one layer, the dpb_parameters() applied to the i-th OLS can be specified by ols_dpb_params_idx[ i ]. If ols_dpb_params_idx[ i ] exists in the bitstream, its value can be from 0 to vps_num_dpb_params - 1. If ols_dpb_params_idx[ i ] does not exist in the bitstream, its value can be inferred as 0. If the i-th OLS contains only one layer (when NumLayersInOls[ i ] is equal to 1), the dpb_parameters() applied to the i-th OLS may exist in the SPS referenced by the layer within the i-th OLS. In this case, the dpb_parameters() applied to the i-th OLS may not be signaled in the VPS.

[0196] According to the present embodiment, each of all dpb_parameters() signaled in the VPS may be restricted to be applied to at least one OLS. That is, each dpb_parameters() in the VPS may be restricted to be specified (referenced) by at least one ols_dpb_params_idx[ i ]. According to the present embodiment, each of the dpb_parameters() in the VPS may be used at least once. That is, according to the present embodiment, dpb_parameters() in the VPS can be efficiently signaled by not signaling unused dpb_parameters().

[0197] As described above, ols_dpb_params_idx[i] is an index for a list of dpb_parameters() in the VPS, which is the index of dpb_parameters() applied to the i-th OLS when the i-th OLS is a multi-layer OLS. That is, according to another embodiment of the present disclosure, ols_dpb_params_idx[i] may be an index for a list of dpb_parameters() in the VPS, which represents the index of dpb_parameters() applied to the i-th multi-layer OLS. In this case, each of all dpb_parameters() signaled in the VPS may be restricted to be applied to at least one multi-layer OLS. That is, each dpb_parameters() in VPS can be restricted to being referenced by at least one ols_dpb_params_idx[ i ] (where i is 0 to NumMultiLayeredOlss - 1).

[0198] According to another embodiment of the present disclosure, the number of DPB parameter structures signaled in the VPS (i.e., vps_num_dpb_params) may be limited not to be greater than the number of multilayer OLSs (NumMultiLayeredOlss) containing more than one layer.

[0199] According to the example described with reference to Fig. 9, vps_num_dpb_params represents the number of DPB parameter (dpb_parameters()) syntax structures within the VPS, and vps_num_dpb_params can have values ​​from 0 to 16.

[0200] However, as described above, there may be OLS containing only one layer, and OLS containing only one layer is not associated with the DPB parameter structure signaled in the VPS. The range of values ​​for vps_num_dpb_params in the example of Fig. 9 may cause inaccurate signaling. Therefore, the range of the number of dpb_parameters() syntax structures must be specified by the number of multilayered OLSs (NumMultiLayeredOlss) containing multiple layers so that accurate signaling can be performed.

[0201] At this time, the number of multilayer OLSs (NumMultiLayeredOlss) can be derived by subtracting the number of OLSs containing only one layer (NumSingleLayerOlss) from the total number of OLSs (TotalNumOlss). Alternatively, as described above, the number of multilayer OLSs (NumMultiLayeredOlss) can be derived using NumLayersInOls[ i ].

[0202] As described above, each DPB parameter syntax structure signaled in the VPS may be restricted to be associated (mapped) with at least one multi-layer OLS. Additionally, the number of DPB parameter structures signaled in the VPS (i.e., vps_num_dpb_params) may be restricted not to be greater than the number of multi-layer OLSs. The two embodiments described above may be combined to form another embodiment as follows.

[0203] FIG. 13 is a diagram illustrating the process of encoding DPB parameters based on the number information of DPB parameters according to another embodiment of the present disclosure.

[0204] The video encoding device can encode information regarding the number of DPB parameters (e.g., vps_num_dpb_params) into the VPS (S1310). vps_num_dpb_params may represent the number of dpb_parameters() syntax structures included in the VPS. As described above, the number of DPB parameters may be limited so as not to be greater than the number of multilayer OLSs. Accordingly, vps_num_dpb_params may have a value from 0 to NumMultiLayeredOlss. If there are no DPB parameters in the VPS, that is, if the number of DPB parameters in the VPS is 0, the video encoding device may omit the encoding of vps_num_dpb_params. If the encoding of vps_num_dpb_params is omitted, its value may be inferred (set) to 0.

[0205] The video encoding device can encode DPB parameters within the VPS (S1320). Based on the number of DPB parameters within the VPS (vps_num_dpb_params), the video encoding device can encode vps_num_dpb_params dpb_parameters() syntax structures into the VPS (S1320).

[0206] The video encoding device can determine conditions for signaling OLS-DPB mapping information (S1330). At this time, the OLS-DPB mapping information may correspond to the ols_dpb_params_idx[i] described above. In the present disclosure, the OLS-DPB mapping information may be information regarding mapping between one or more multi-layer OLSs and one or more DPB parameter syntax structures.

[0207] The video encoding device can determine whether there are multiple parameters within the VPS. For example, the video encoding device can determine whether the number of DPB parameters (vps_num_dpb_params) within the VPS is greater than 1. If there are multiple DPB parameters within the VPS (S1330-Yes), the video encoding device can encode OLS-DPB mapping information into the VPS (S1340). The video encoding device can encode ols_dpb_params_idx[i] as OLS-DPB mapping information. As described above, ols_dpb_params_idx[i] is an index for a list of dpb_parameters() within the VPS and can represent the index of dpb_parameters() applied to the i-th multi-layer OLS. In this case, each of all dpb_parameters() signaled in the VPS can be restricted to be applied to at least one multi-layer OLS. That is, each dpb_parameters() within the VPS may be restricted to being referenced by at least one ols_dpb_params_idx[ i ] (where i is 0 to NumMultiLayeredOlss - 1). Additionally, the dpb_parameters() syntax structure applied to an OLS containing only a single layer is not encoded in the VPS, but may be encoded in the SPS referenced by said layer within the said OLS.

[0208] If there are no multiple DPB parameters in the VPS (S1330-No), the video encoding device may not encode OLS-DPB mapping information into the VPS (S1350). As described above, if OLS-DPB mapping information is not encoded, its value is inferred to be 0.

[0209] As illustrated in FIG. 13, it is determined whether the number of DPB parameters in the VPS is greater than 1 as a signaling condition for OLS-DPB mapping information. However, the signaling condition for OLS-DPB mapping information is not limited to this, and various other conditions not described in the present disclosure may be additionally determined.

[0210] The video encoding device can encode a picture based on DPB parameters (S1360). In this case, the DPB parameters may be dpb_parameters() within the VPS referenced by ols_dpb_params_idx[ i ] encoded in step S1340 or inferred in step S1350. Or, in the case of an OLS containing only a single layer, the DPB parameters may be dpb_parameters() within the SPS referenced by said single layer.

[0211] FIG. 14 is a diagram illustrating the process of decoding DPB parameters based on the number information of DPB parameters according to another embodiment of the present disclosure.

[0212] The video decoder can obtain information regarding the number of DPB parameters (e.g., vps_num_dpb_params) from the VPS (S1410). vps_num_dpb_params may represent the number of dpb_parameters() syntax structures included in the VPS. As described above, the number of DPB parameters may be limited so as not to be greater than the number of multilayer OLSs. Accordingly, vps_num_dpb_params may have a value from 0 to NumMultiLayeredOlss. If vps_num_dpb_params does not exist, its value may be inferred (set) to 0.

[0213] The video decoder can obtain DPB parameters within the VPS (S1420). Based on the number of DPB parameters within the VPS (vps_num_dpb_params), the video decoder can obtain vps_num_dpb_params dpb_parameters() syntax structures from the VPS (S1420).

[0214] The video decoder can determine the conditions for signaling OLS-DPB mapping information (S1430). At this time, the OLS-DPB mapping information may correspond to the ols_dpb_params_idx[i] described above.

[0215] The video decoder can determine whether there are multiple parameters within the VPS. For example, the video decoder can determine whether the number of DPB parameters within the VPS (vps_num_dpb_params) is greater than 1. If there are multiple DPB parameters within the VPS (S1430-Yes), the video decoder can obtain OLS-DPB mapping information from the VPS (S1440). The video decoder can obtain ols_dpb_params_idx[i] as OLS-DPB mapping information. As described above, ols_dpb_params_idx[i] is an index for a list of dpb_parameters() within the VPS and can represent the index of dpb_parameters() applied to the i-th multi-layer OLS. In this case, each of all dpb_parameters() signaled from the VPS can be restricted to be applied to at least one multi-layer OLS. That is, each dpb_parameters() within the VPS may be restricted to being referenced by at least one ols_dpb_params_idx[ i ] (where i is 0 to NumMultiLayeredOlss - 1). Additionally, the dpb_parameters() syntax structure applied to an OLS containing only a single layer is not obtained from the VPS, but may be obtained from the SPS referenced by said layer within the said OLS.

[0216] If multiple DPB parameters do not exist within the VPS (S1430-No), the video decoder may not obtain OLS-DPB mapping information from the VPS (S1450). If OLS-DPB mapping information does not exist in the bitstream, the value may be inferred to be 0.

[0217] As illustrated in FIG. 14, as a signaling condition for OLS-DPB mapping information, it is determined whether the number of DPB parameters in the VPS is greater than 1. However, the signaling condition for OLS-DPB mapping information is not limited to this, and various other conditions not described in the present disclosure may be additionally determined.

[0218] The image decoder can decode the picture based on DPB parameters (S1460). In this case, the DPB parameters may be dpb_parameters() within the VPS referenced by ols_dpb_params_idx[ i ] obtained in step S1440 or inferred in step S1450. Or, in the case of an OLS containing only a single layer, the DPB parameters may be dpb_parameters() within the SPS referenced by said single layer.

[0219] According to the embodiment described with reference to FIGS. 13 and 14, unnecessary signaling of the dpb_parameters() syntax structure in the VPS that is not referenced can be prevented, and the dpb_parameters() syntax structure for OLS containing only a single layer can be signaled only through the SPS, thereby having the effect of performing signaling of DPB parameters more accurately and efficiently.

[0220] In the method described with reference to FIGS. 13 and 14, some steps may be omitted or the order of other steps may be changed. Additionally, steps not shown in FIGS. 13 and 14 may be added at any location.

[0221] According to another embodiment of the present disclosure, each PTL syntax structure signaled in the VPS may be limited to being associated with at least one OLS.

[0222] As described above, ols_ptl_idx[ i ] is an index for a list of profile_tier_level() within a VPS, and may be an index of the profile_tier_level() applied to the i-th OLS. When ols_ptl_idx[ i ] exists, ols_ptl_idx[ i ] may have a value from 0 to vps_num_ptls_minus1. If vps_num_ptls_minus1 is 0, the value of ols_ptl_idx[ i ] may be inferred to be 0. In the present disclosure, the ols_ptl_idx may be information regarding a mapping between one or more OLSs and one or more PTL syntax structures.

[0223] NumLayersInOls[ i ] may represent the number of layers within the i-th OLS. When NumLayersInOls[ i ] is 1, the profile_tier_level() syntax structure applied to the i-th OLS may also exist in the SPS referenced by the layers within the i-th OLS. As a requirement for bitstream consistency, when NumLayersInOls[ i ] is 1, the profile_tier_level() syntax structure within the VPS for the i-th OLS and the profile_tier_level() syntax structure within the SPS must be identical.

[0224] According to the present embodiment, each of all profile_tier_level() signaled in the VPS can be restricted to be applied to at least one OLS. That is, each profile_tier_level() in the VPS can be specified by at least one ols_ptl_idx[ i ]. According to the present embodiment, each profile_tier_level() in the VPS is used at least once. That is, unused profile_tier_level() is not signaled. Therefore, according to the present embodiment, profile_tier_level() can be signaled efficiently.

[0225] The exemplary methods of the present disclosure are described as a series of operations for clarity of description, but this is not intended to limit the order in which the steps are performed, and if necessary, each step may be performed simultaneously or in a different order. To implement the method according to the present disclosure, additional steps may be included in addition to the steps exemplified, steps excluding some steps and including the remaining steps, or steps excluding some steps and including additional steps.

[0226] In the present disclosure, an image encoding device or an image decoding device performing a predetermined operation (step) may perform an operation (step) to check the conditions or circumstances for performing the said operation (step). For example, if it is stated that a predetermined operation is performed when a predetermined condition is satisfied, the image encoding device or the image decoding device may perform an operation to check whether the said predetermined condition is satisfied, and then perform the said predetermined operation.

[0227] The various embodiments of the present disclosure are not intended to list all possible combinations but to describe representative aspects of the present disclosure, and the matters described in the various embodiments may be applied independently or in combination of two or more.

[0228] In addition, various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof. In the case of implementation by hardware, it may be implemented by one or more ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), general processors, controllers, microcontrollers, microprocessors, etc.

[0229] In addition, the video decoding device and video encoding device to which the embodiments of the present disclosure are applied may be included in multimedia broadcasting transmission and reception devices, mobile communication terminals, home cinema video devices, digital cinema video devices, surveillance cameras, video conversation devices, real-time communication devices such as video communication, mobile streaming devices, storage media, camcorders, Video on Demand (VoD) service providers, Over-the-top video (OTT) devices, internet streaming service providers, three-dimensional (3D) video devices, video phone video devices, and medical video devices, and may be used to process video signals or data signals. For example, Over-the-top video (OTT) devices may include game consoles, Blu-ray players, internet-connected TVs, home theater systems, smartphones, tablet PCs, Digital Video Recorders (DVRs), etc.

[0230] FIG. 15 is a drawing illustrating a content streaming system to which an embodiment of the present disclosure can be applied.

[0231] As illustrated in FIG. 15, a content streaming system to which an embodiment of the present disclosure is applied may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.

[0232] The above encoding server compresses content input from multimedia input devices, such as smartphones, cameras, and camcorders, into digital data to generate a bitstream and transmits it to the streaming server. As another example, if multimedia input devices, such as smartphones, cameras, and camcorders, generate the bitstream directly, the encoding server may be omitted.

[0233] The bitstream may be generated by a video encoding method and / or video encoding device to which an embodiment of the present disclosure is applied, and the streaming server may temporarily store the bitstream during the process of transmitting or receiving the bitstream.

[0234] The streaming server transmits multimedia data to a user device based on a user request through a web server, and the web server can act as a medium to inform the user of available services. When a user requests a desired service from the web server, the web server transmits it to the streaming server, and the streaming server can transmit multimedia data to the user. At this time, the content streaming system may include a separate control server, and in this case, the control server can perform the role of controlling commands and responses between each device within the content streaming system.

[0235] The streaming server can receive content from a media storage and / or an encoding server. For example, when receiving content from the encoding server, the content can be received in real time. In this case, to provide a seamless streaming service, the streaming server can store the bitstream for a certain period of time.

[0236] Examples of the above user devices may include mobile phones, smartphones, laptop computers, digital broadcasting terminals, PDAs (personal digital assistants), PMPs (portable multimedia players), navigation systems, slate PCs, tablet PCs, ultrabooks, wearable devices (e.g., smartwatches, smart glasses, HMDs (head-mounted displays)), digital TVs, desktop computers, digital signage, etc.

[0237] Each server within the above-mentioned content streaming system can be operated as a distributed server, and in this case, data received from each server can be processed in a distributed manner.

[0238] The scope of the present disclosure includes software or machine-executable instructions (e.g., operating system, application, firmware, program, etc.) that enable an operation according to a method of various embodiments to be executed on a device or computer, and a non-transitory computer-readable medium on which such software or instructions, etc. are stored and executable on a device or computer. Industrial applicability

[0239] An embodiment according to the present disclosure can be used to encode / decode images.

Claims

Claim 1 A video decoding method performed by a video decoding device, wherein the video decoding method comprises: a step of obtaining first information for deriving the number of one or more decoded picture buffer (DPB) parameter syntax structures within a Video Parameter Set (VPS); a step of obtaining the one or more DPB parameter syntax structures from the VPS based on the first information; a step of obtaining second information regarding a mapping between one or more multi-layer output layer sets (OLS) and the one or more DPB parameter syntax structures from the VPS based on the first information; a step of selecting a DPB parameter syntax structure applied to a current OLS based on the second information; and a step of processing the current OLS based on the selected DPB parameter syntax structure, wherein the number of the one or more DPB parameter syntax structures within the VPS is less than or equal to the number of the one or more multi-layer OLSs. Claim 2 delete Claim 3 A video decoding method according to claim 1, wherein each of the one or more DPB parameter syntax structures within the VPS is mapped to at least one multi-layer OLS among the one or more multi-layer OLSs. Claim 4 A video decoding method according to claim 1, wherein the second information is obtained from the VPS based on the fact that the number of the one or more DPB parameter syntax structures within the VPS is greater than 1. Claim 5 A video decoding method according to claim 1, wherein, based on the fact that the number of one or more DPB parameter syntax structures within the VPS is not greater than 1, the second information is not obtained from the VPS and the second information is inferred to have a value of 0. Claim 6 An image decoding method according to claim 1, wherein the DPB parameter syntax structure applied to the current OLS is obtained from the SPS (Sequence Parameter Set) based on the fact that the current OLS includes a single layer. Claim 7 The image decoding method according to claim 1 further comprises: a step of obtaining third information indicating the number of one or more PTL (profile tier level) syntax structures within the VPS; a step of obtaining the one or more PTL syntax structures from the VPS based on the third information; a step of obtaining fourth information regarding the mapping between one or more OLSs and the one or more PTL syntax structures from the VPS based on the third information; and a step of selecting a PTL syntax structure applied to the current OLS based on the fourth information. Claim 8 In claim 7, a video decoding method in which the number of one or more PTL syntax structures within the VPS is not greater than the total number of one or more OLSs. Claim 9 In claim 7, a video decoding method wherein each of the one or more PTL syntax structures within the VPS maps to at least one OLS among the one or more OLSs. Claim 10 A video encoding method performed by a video encoding device, wherein the video encoding method comprises: a step of encoding first information for deriving the number of one or more decoded picture buffer (DPB) parameter syntax structures within a Video Parameter Set (VPS); a step of encoding the one or more DPB parameter syntax structures in the VPS based on the first information; a step of encoding second information regarding mapping between one or more multi-layer output layer sets (OLS) and the one or more DPB parameter syntax structures in the VPS based on the first information; a step of selecting a DPB parameter syntax structure applied to a current OLS based on the second information; and a step of processing the current OLS based on the selected DPB parameter syntax structure, wherein the number of the one or more DPB parameter syntax structures within the VPS is less than or equal to the number of the one or more multi-layer OLSs. Claim 11 delete Claim 12 In claim 10, a video encoding method wherein each of the one or more DPB parameter syntax structures within the above VPS is mapped to at least one of the one or more multi-layer OLSs. Claim 13 In claim 10, the video encoding method further comprises: a step of encoding third information indicating the number of one or more PTL (profile tier level) syntax structures in the VPS; a step of encoding the one or more PTL syntax structures in the VPS based on the third information; a step of encoding fourth information regarding the mapping between one or more OLSs and the one or more PTL syntax structures in the VPS based on the third information; and a step of selecting a PTL syntax structure applied to the current OLS based on the fourth information. Claim 14 In paragraph 13, a video encoding method wherein each of the one or more PTL syntax structures within the VPS maps to at least one OLS among the one or more OLSs. Claim 15 A computer-readable recording medium storing a bitstream generated by the image encoding method of claim 10. Claim 16 A method for transmitting a bitstream generated by a video encoding method, wherein the video encoding method comprises: a step of encoding first information for deriving the number of one or more decoded picture buffer (DPB) parameter syntax structures within a Video Parameter Set (VPS); a step of encoding the one or more DPB parameter syntax structures in the VPS based on the first information; a step of encoding second information regarding the mapping between one or more multi-layer output layer sets (OLS) and the one or more DPB parameter syntax structures in the VPS based on the first information; a step of selecting a DPB parameter syntax structure applied to a current OLS based on the second information; and a step of processing the current OLS based on the selected DPB parameter syntax structure, wherein the number of the one or more DPB parameter syntax structures within the VPS is less than or equal to the number of the one or more multi-layer OLSs.