Image encoding / decoding method and device, and recording medium storing bit stream
By using sub-picture information for image encoding and decoding, the problem of increased transmission and storage costs of high-resolution and high-quality image data is solved, improving compression efficiency and reducing storage costs are achieved.
Patent Information
- Application Number
- CN202411452819.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-26
- Filing Date
- 2020-09-22
- Publication Date
- 2025-01-21
AI Technical Summary
The prior art is difficult to effectively solve the cost increase in the transmission and storage of high-resolution and high-quality image data.
Through a new image encoding/decoding method, sub-picture information is used for encoding and decoding, including determining sub-picture information of the current sub-picture, and encoding or decoding the sub-picture information through at least one signal transmission level.
Improved compression efficiency is achieved, transmission and storage costs of image data are reduced, and a recording medium for storing bit streams generated by an image encoding method is provided.
Smart Images

Figure CN119342212A_ABST
Abstract
Description
[0001] This application is a divisional application of an invention patent application with an application date of September 22, 2020, application number 202080041155.3, and invention name “Image encoding / decoding method and device, and recording medium for storing bit stream”. Technical Field
[0002] The present invention relates to a method and apparatus for encoding / decoding an image, and a recording medium for storing a bit stream. Background Art
[0003] Recently, the demand for high resolution and quality images such as high definition (HD) or ultra high definition (UHD) images has increased in various applications. As the resolution and quality of images increase, the amount of data increases accordingly. This is one of the reasons for the increase in transmission cost and storage cost when transmitting image data through existing transmission media such as wired broadband channels or wireless broadband channels or when storing image data. In order to solve these problems of high resolution and high quality image data, efficient image encoding / decoding technology is required.
[0004] There are various video compression techniques, such as inter-frame (Inter) prediction techniques that predict the values of pixels in a current picture from the values of pixels in a previous picture or a subsequent picture, intra-frame (Intra) prediction techniques that predict the values of pixels in an area of the current picture from the values of pixels in another area of the current picture, transform and quantization techniques that compress the energy of residual signals, and entropy coding techniques that assign shorter codes to frequently occurring pixel values and longer codes to less frequently occurring pixel values. Summary of the invention
[0005] Technical issues
[0006] An object of the present invention is to provide an image encoding / decoding method and apparatus with improved compression efficiency.
[0007] Another object of the present invention is to provide an image encoding / decoding method and device using sub-picture information.
[0008] Another object of the present invention is to provide a recording medium for storing a bit stream generated by the image encoding / decoding method or apparatus according to the present invention.
[0009] Technical Solution
[0010] An image decoding method according to an embodiment of the present disclosure includes: obtaining sub-picture information of a current sub-picture through at least one signal transmission level, and decoding the current sub-picture using the sub-picture information, wherein the sub-picture information is obtained for each decoded sub-picture.
[0011] The at least one signaling level is determined as at least one of a sequence parameter set (SPS), a picture parameter set (PPS), or a slice header.
[0012] The sub-picture information includes a sub-picture ID of the sub-picture.
[0013] The sub-picture information includes information indicating whether sub-pictures included in the current picture have the same size.
[0014] When the sub-pictures included in the current picture do not have the same size, the sub-picture information includes position information of the current sub-picture, and
[0015] The position indicated by the position information of the current sub-picture is the position of an upper left coding tree unit (CTU) included in the current sub-picture.
[0016] When the sub-pictures included in the current picture do not have the same size, the sub-picture information includes size information of the current sub-picture, and the size information of the current sub-picture includes width information and height information of the current sub-picture.
[0017] When all sub-pictures included in the current picture have the same size, the same size is preset.
[0018] The sub-picture ID is obtained individually at different signal transmission levels.
[0019] When the at least one signaling level is SPS, the sub-picture information includes information indicating whether a sub-picture ID of the current sub-picture is explicitly signaled.
[0020] When the information indicating whether the sub-picture ID of the current sub-picture is explicitly signaled indicates that the sub-picture ID is explicitly signaled, the sub-picture information includes information indicating a signaling level at which the sub-picture ID is signaled.
[0021] The sub-picture information includes information indicating whether decoding is performed by determining the current sub-picture as a picture.
[0022] The sub-picture information includes sub-picture filtering information indicating whether filtering is applied to a boundary of the current sub-picture.
[0023] An image encoding method according to an embodiment of the present disclosure includes: determining sub-picture information of a current sub-picture, and encoding the sub-picture information through at least one signal transmission level, wherein the sub-picture information is obtained for each encoded sub-picture.
[0024] The at least one signaling level is determined as at least one of a sequence parameter set (SPS), a picture parameter set (PPS), or a slice header.
[0025] The sub-picture information includes a sub-picture ID of the sub-picture.
[0026] A computer-readable recording medium, wherein the bit stream is received by an image decoding device and used to reconstruct a current block included in a current picture, and the bit stream is generated by an image encoding method according to the present disclosure, the image encoding method comprising: determining sub-picture information of a current sub-picture; and encoding the sub-picture information through at least one signal transmission level, wherein the sub-picture information is obtained for each encoded sub-picture.
[0027] The at least one signaling level is determined as at least one of a sequence parameter set (SPS), a picture parameter set (PPS), or a slice header.
[0028] The sub-picture information includes a sub-picture ID of the sub-picture.
[0029] Beneficial Effects
[0030] According to the present invention, it is possible to provide an image encoding / decoding method and apparatus with improved compression efficiency, and a recording medium storing a bit stream generated by the image encoding method / apparatus.
[0031] In addition, according to the present invention, there can be provided an image encoding / decoding method and apparatus, and a recording medium storing a bit stream generated by the image encoding method / apparatus by signaling sub-picture information. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present invention.
[0033] Figure 2 is a block diagram showing an image decoding apparatus according to an embodiment of the present invention.
[0034] Figure 3 is a diagram illustrating an image decoding method according to an embodiment of the present invention.
[0035] Figure 4 is a diagram illustrating an image encoding method according to an embodiment of the present invention.
[0036] Figure 5 is a diagram illustrating a bitstream structure of a sequence parameter set (SPS) according to an embodiment of the present invention.
[0037] Figure 6 is a diagram illustrating a method of deriving sub-picture information based on a specific grid index.
[0038] Figure 7 is a diagram illustrating a bit stream structure of an SPS according to another embodiment of the present invention.
[0039] Figure 8 is a diagram illustrating a bit stream structure of an SPS according to another embodiment of the present invention.
[0040] Fig. 9 is a diagram illustrating a bit stream structure of an SPS according to another embodiment of the present invention.
[0041] Fig.10 is a diagram illustrating a bit stream structure of an SPS according to another embodiment of the present invention.
[0042] Fig.11 is a diagram illustrating a bitstream structure of a picture parameter set (PPS) according to another embodiment of the present invention.
[0043] Fig.12 is a diagram illustrating a bit stream structure of a PPS according to another embodiment of the present invention.
[0044] Fig.13 is a diagram illustrating a bitstream structure of a slice header according to another embodiment of the present invention. DETAILED DESCRIPTION
[0045] Various modifications may be made to the present invention, and there are various embodiments of the present invention, examples of which will now be provided and described in detail with reference to the accompanying drawings. However, although the exemplary embodiments may be interpreted as including all modifications, equivalents or alternative forms within the technical concept and technical scope of the present invention, the present invention is not limited thereto. Similar reference numerals refer to the same or similar functions in various aspects.
[0046] The terms "first", "second", etc. used in the specification may be used to describe various components, but these components are not interpreted as being limited to these terms. These terms are only used to distinguish one component from other components. For example, without departing from the scope of the present invention, the "first" component may be referred to as the "second" component, and the "second" component may also be similarly referred to as the "first" component. The term "and / or" includes a combination of multiple items or any one of the multiple items.
[0047] It will be understood that, in this specification, when an element is merely referred to as being “connected to” or “coupled to” another element rather than being “directly connected to” or “directly coupled to” the other element, the element may be “directly connected to” or “directly coupled to” the other element, or connected to or coupled to the other element with other elements between the element and the other element. Conversely, it should be understood that when an element is referred to as being “directly coupled to” or “directly coupled to” another element, there are no intervening elements.
[0048] The terms used in this specification are only used to describe specific embodiments and are not intended to limit the present invention. Unless the expression used in the singular has a significantly different meaning in the context, it includes plural expressions. In this specification, it will be understood that terms such as "including ... ", "having ... ", etc. are intended to indicate that there are features, quantities, steps, actions, elements, parts, or combinations thereof disclosed in the specification, and are not intended to exclude the possibility that one or more other features, quantities, steps, actions, elements, parts, or combinations thereof may exist or may be added.
[0049] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The same constituent elements in the drawings are denoted by the same reference numerals, and repeated description of the same elements will be omitted.
[0050] Figure 1 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present invention.
[0051] Reference Figure 1 , the image encoding device 100 may include an image partitioning unit 101, an intra-frame prediction unit 102, an inter-frame prediction unit 103, a subtractor 104, a transform unit 105, a quantizer 106, an entropy encoder 107, an inverse quantizer 108, an inverse transform unit 109, an adder 110, a filter 111 and a memory 112.
[0052] Figure 1 The components shown in the figure are shown independently to represent different characteristic functions in the image encoding device, which does not mean that these components are configured in separate hardware or a single software component. That is, for ease of description, each component is listed and included as each component, and at least two components of the components are combined into one component or one component is divided into multiple components to perform functions. Without departing from the essence of the present invention, embodiments in which components are combined and embodiments in which components are divided are included within the scope of the present invention.
[0053] In addition, some components are not essential components for performing the essential functions in the present invention, and may be optional components for improving performance. The present invention may be implemented as components that only include components necessary for realizing the essence of the present invention, without including components for improving performance, and structures that only include essential components without including optional components for improving performance are also included in the scope of the present invention.
[0054] The image partitioning unit 101 may partition the input image into at least one block. At this time, the input image may have various shapes or sizes, such as a picture, a stripe, a parallel block, a fragment, etc. The block may represent a coding unit (CU), a prediction unit (PU), or a transform unit (TU). Partitioning may be performed based on at least one of a quadtree, a binary tree, or a ternary tree. A quadtree is a method of dividing a superordinate block into four equal parts into subordinate blocks, wherein the width and height of the subordinate block are half of the width and height of the superordinate block. A binary tree is a method of dividing a superordinate block into subordinate blocks, wherein the width or height of the subordinate block is half of the width or height of the superordinate block. A ternary tree is a method of partitioning a superordinate block into three subordinate blocks. For example, three subordinate blocks may be obtained by partitioning the width or height of the superordinate block in a ratio of 1:2:1. Through the above-mentioned binary tree-based partitioning, the block may have a square shape or a non-square shape.
[0055] The prediction units 102 and 103 may include an inter-frame prediction unit 103 for performing inter-frame prediction and an intra-frame prediction unit 102 for performing intra-frame prediction. It may be determined whether inter-frame prediction or intra-frame prediction is performed for the prediction unit, and detailed information (e.g., intra-frame prediction mode, motion vector, reference picture, etc.) may be determined according to each prediction method. At this time, the processing unit that performs the prediction and the processing unit that determines the prediction method and details may be different. For example, the prediction method and prediction mode are determined in the prediction unit, and the prediction may be performed in the transform unit.
[0056] The residual value (residual block) between the generated prediction block and the original block may be input to the transform unit 105. In addition, prediction mode information, motion vector information, etc. used for prediction may be encoded in the entropy encoder 107 together with the residual value and transmitted to the decoder. When a specific encoding mode is used, the original block may be encoded and transmitted to the decoder without generating a prediction block through the prediction units 102 and 103.
[0057] The intra prediction unit 102 may generate a prediction block based on reference pixel information around the current block, wherein the reference pixel information is pixel information of the current picture. When the prediction mode of the neighboring block of the current block to be intra predicted is inter prediction, the reference pixel included in the neighboring block to which the inter prediction has been applied may be replaced with a reference pixel in another neighboring block to which the intra prediction has been applied. That is, when the reference pixel is unavailable, at least one of the available reference pixels may be used to replace the unavailable reference pixel information.
[0058] In intra prediction, the prediction mode may have a directional prediction mode using reference pixel information according to a prediction direction and a non-directional mode that does not use directional information when performing prediction. The mode for predicting luminance information and the mode for predicting chrominance information may be different, and predicted luminance signal information or intra prediction mode information for predicting luminance information may be used to predict chrominance information.
[0059] The intra prediction unit 102 may include an adaptive intra smoothing (AIS) filter, a reference pixel difference unit, and a DC filter. The AIS filter performs filtering on the reference pixels of the current block, and may adaptively determine whether to apply the filter according to the prediction mode of the current prediction unit. When the prediction mode of the current block is a mode in which the AIS filter is not performed, the AIS filter may not be applied.
[0060] When the intra prediction mode of the prediction unit is a prediction unit for performing intra prediction based on a pixel value obtained by interpolating reference pixels, the reference pixel interpolation unit of the intra prediction unit 102 may interpolate the reference pixels to generate reference pixels at fractional unit positions. When the prediction mode of the current prediction unit is a prediction mode for generating a prediction block without interpolating reference pixels, the reference pixels may not be interpolated. When the prediction mode of the current block is a DC mode, a DC filter may generate a prediction block by filtering.
[0061] The inter prediction unit 103 generates a prediction block using the motion information stored in the memory 112 and a previously reconstructed reference picture. The motion information may include, for example, a motion vector, a reference picture index, a list 1 prediction flag, a list 0 prediction flag, and the like.
[0062] A residual block including residual information which is a difference value between the prediction block generated in the prediction units 102 and 103 and the original block of the prediction unit may be generated. The generated residual block may be input to the transform unit 105 to be transformed.
[0063] The inter-frame prediction unit 103 may derive a prediction block based on information about at least one of a previous picture or a next picture of the current picture. In addition, the prediction block of the current block may be derived based on information about a partial area of the current picture where encoding is completed. The inter-frame prediction unit 103 according to an embodiment of the present invention may include a reference picture interpolation unit, a motion prediction unit, and a motion compensator.
[0064] The reference picture interpolation unit may receive reference picture information from the memory 112 and generate pixel information of integer pixels or smaller pixels from the reference picture. In the case of luma pixels, an 8-tap interpolation filter based on DCT for changing filter coefficients may be used to generate pixel information of integer pixels or smaller pixels in units of 1 / 4 pixels. In the case of chrominance signals, a 4-tap interpolation filter based on DCT for changing filter coefficients may be used to generate pixel information of integer pixels or smaller pixels in units of 1 / 8 pixels.
[0065] The motion prediction unit may perform motion prediction based on the reference picture interpolated by the reference picture interpolation unit. As a method of calculating a motion vector, various methods such as FBMA (block matching algorithm based on complete search), TSS (three-step search), NTS (new three-step search algorithm), etc. may be used. Based on the interpolated pixels, the motion vector may have a motion vector value in units of 1 / 2 pixel or 1 / 4 pixel. The motion prediction unit may predict a prediction block of the current block by changing the motion prediction method. As a motion prediction method, a skip method, a merge method, an AMVP (Advanced Motion Vector Prediction) method, etc. may be used.
[0066] The subtractor 104 generates a residual block of the current block by subtracting the prediction block generated by the intra prediction unit 102 or the inter prediction unit 103 from the block currently being encoded.
[0067] The transform unit 105 may transform the residual block including the residual data using a transform method such as DCT, DST, KLT (Karhunen Loeve Transform). At this time, the transform method may be determined based on the intra prediction mode of the prediction unit used to generate the residual block. For example, according to the intra prediction mode, DCT may be used in the horizontal direction, and DST may be used in the vertical direction.
[0068] The quantizer 106 may quantize the value transformed into the frequency domain by the transform unit 105. The quantization coefficient may be changed according to the importance or block of the image. The value calculated by the quantizer 106 may be provided to the inverse quantizer 108 and the entropy encoder 107.
[0069] The transform unit 105 and / or the quantizer 106 may be selectively included in the image encoding device 100. That is, the image encoding device 100 may perform at least one of transform or quantization on the residual data of the residual block, or skip both transform and quantization to encode the residual block. Even if any one or both of transform or quantization are not performed in the image encoding device 100, the block input to the entropy encoder 107 is generally referred to as a transform block. The entropy encoder 107 entropy encodes the input data. As entropy encoding, various encoding methods such as Exponential Golomb, CAVLC (Context Adaptive Variable Length Coding), CABAC (Context Adaptive Binary Arithmetic Coding), etc. can be used.
[0070] The entropy encoder 107 may encode various information, such as coefficient information of a transform block, block type information, prediction mode information, partition unit information, prediction unit information, transform unit information, motion vector information, reference frame information, interpolation information of a block, filtering information, etc. The coefficient of the transform block may be encoded in units of subblocks in the transform block.
[0071] In order to encode the coefficients of the transform block, various syntax elements such as the following may be encoded in reverse scanning order: Last_sig as a syntax element indicating the position of the first non-zero coefficient, Coded_sub_blk_flag as a flag indicating whether there is at least one non-zero coefficient in the sub-block, Sig_coeff_flag as a flag indicating a non-zero coefficient, Abs_greater1_flag as a flag indicating whether the absolute value of the coefficient is greater than 1, Abs_greater2_flag as a flag indicating whether the absolute value of the coefficient is greater than 2, Sign_flag as a flag indicating the sign of the coefficient. The residual value of the coefficient that is not encoded using the syntax element may be encoded through the syntax element remaining_coeff.
[0072] The inverse quantizer 108 and the inverse transform unit 109 may respectively inverse quantize the value quantized by the quantizer 106 and inverse transform the value transformed by the transform unit 105. The residual values generated by the inverse quantizer 108 and the inverse transform unit 109 are combined with the prediction unit, which is predicted by the motion estimator and the motion compensator included in the inter-prediction unit 103 and the intra-prediction unit 102, thereby generating a reconstructed block. The adder 110 may generate a reconstructed block by adding the prediction block generated by the prediction units 102 and 103 and the residual block generated by the inverse transform unit 109.
[0073] The filter 111 may include at least one of a deblocking filter, an offset correction unit, or an adaptive loop filter (ALF).
[0074] The deblocking filter can remove block distortion caused by the boundaries between blocks in the reconstructed picture. In order to determine whether to perform deblocking, it can be determined whether to apply the deblocking filter to the block based on the pixels included in several columns or rows included in the current block. When deblocking is applied to the block, a strong filter or a weak filter can be applied according to the required deblocking filter strength. In addition, when the deblocking filter is applied, when vertical filtering and horizontal filtering are performed, horizontal filtering and vertical filtering can be performed in parallel.
[0075] The offset correction unit may correct the offset from the original image in units of pixels for the deblocked image. In order to perform offset correction for a specific picture, a method may be used in which an area where an offset is to be performed is determined after dividing pixels included in the image into a specific number of areas and the offset is applied to the corresponding area, or a method in which an offset is applied in consideration of edge information of each pixel may be used.
[0076] ALF may be performed based on a value obtained by comparing a filtered reconstructed image with an original image. After the pixels included in the image are divided into predetermined groups, a filter to be applied to the corresponding group may be determined, thereby performing filtering differently for each group. Information related to whether ALF is applied may be transmitted for each coding unit (CU), and the filter coefficient and shape of the ALF to be applied may vary according to each block. In addition, an ALF having the same shape (fixed shape) may be applied regardless of the characteristics of the block to which it is applied.
[0077] The memory 112 may store a reconstructed block or picture calculated by the filter 111 , and when inter prediction is performed, may provide the stored reconstructed block or picture to the inter prediction unit 103 .
[0078] Next, an image decoding apparatus according to an embodiment of the present invention will be described with reference to the accompanying drawings. Figure 2 is a block diagram showing an image decoding apparatus 200 according to an embodiment of the present invention.
[0079] Reference Figure 2 , the image decoding device 200 may include an entropy decoder 201, an inverse quantizer 202, an inverse transform unit 203, an adder 204, a filter 205, a memory 206, and prediction units 207 and 208.
[0080] When an image bitstream generated by the image encoding apparatus 100 is input to the image decoding apparatus 200 , the input bitstream may be decoded according to a process opposite to that performed by the image encoding apparatus 100 .
[0081] The entropy decoder 201 may perform entropy decoding, which is a process opposite to the entropy encoding performed by the entropy encoder 107 of the image encoding apparatus 100. For example, various methods such as Exponential Golomb, CAVLC (Context Adaptive Variable Length Coding), CABAC (Context Adaptive Binary Arithmetic Coding), etc. may be applied in response to the method performed by the image encoder. The entropy decoder 201 may decode the above-mentioned syntax elements (i.e., Last_sig, Coded_sub_blk_flag, Sig_coeff_flag, Abs_greater1_flag, Abs_greater2_flag, Sign_flag, and remaining_coeff). In addition, the entropy decoder 201 may decode information related to intra-frame prediction and inter-frame prediction performed by the image encoding apparatus 100.
[0082] The inverse quantizer 202 generates a transform block by inverse quantizing the quantized transform block. Figure 1 The inverse quantizer 108 operates substantially the same.
[0083] The inverse transform unit 203 generates a residual block by inversely transforming the transform block. At this time, the transform method may be determined based on the prediction method (inter prediction or intra prediction), block size and / or shape, intra prediction mode, etc. Figure 1 The inverse transform unit 109 performs basically the same operation.
[0084] The adder 204 generates a reconstructed block by adding the prediction block generated by the intra prediction unit 207 or the inter prediction unit 208 to the residual block generated by the inverse transform unit 203. Figure 1 The adder 110 operates substantially the same.
[0085] The filter 205 reduces various types of noise present in the reconstructed block.
[0086] The filter 205 may include a deblocking filter, an offset correction unit, or an adaptive loop filter (ALF).
[0087] Information about whether a deblocking filter has been applied to a corresponding block or picture and information about whether a strong filter or a weak filter has been applied when a deblocking filter has been applied may be received from the image encoding apparatus 100. The deblocking filter of the image decoding apparatus 200 may receive information related to the deblocking filter provided by the image encoding apparatus 100, and perform deblocking filtering on the corresponding block in the image decoding apparatus 200.
[0088] The offset correction unit may perform offset correction on the reconstructed image based on a type of offset correction applied to the image during encoding and offset value information.
[0089] ALF may be applied to the coding unit based on information on whether ALF is applied and ALF coefficient information received from the image encoding apparatus 100. Such ALF information may be included in a specific parameter set and provided. The filter 205 performs Figure 1 The filter 111 operates substantially the same.
[0090] Memory 206 stores the reconstructed block generated by adder 204. Figure 1 The memory 112 operates substantially the same.
[0091] The prediction units 207 and 208 may generate a prediction block based on the prediction block generation related information provided by the entropy decoder 201 and previously decoded block or picture information provided by the memory 206 .
[0092] The prediction units 207 and 208 may include an intra prediction unit 207 and an inter prediction unit 208. Although not shown separately, the prediction units 207 and 208 may further include a prediction unit determination unit. The prediction unit determination unit may receive various information (such as prediction unit information received from the entropy decoder 201, prediction mode information of the intra prediction method, motion prediction related information of the inter prediction method, etc.), identify the prediction unit in the current coding unit, and determine whether to perform inter prediction or intra prediction for the prediction unit. The inter prediction unit 208 may perform inter prediction for the current prediction unit based on information included in at least one of a previous picture or a next picture of the current picture including the current prediction unit, using information required for inter prediction of the current prediction unit provided by the image encoding apparatus 100. Alternatively, inter prediction may be performed based on information about a previously reconstructed partial area in the current image including the current prediction unit.
[0093] In order to perform inter prediction, whether a motion prediction method of a prediction unit included in a corresponding coding unit is a skip mode, a merge mode, or an AMVP mode may be determined based on the coding unit.
[0094] The intra prediction unit 207 generates a prediction block using previously reconstructed pixels located around a currently encoded block.
[0095] The intra prediction unit 207 may include an AIS (Adaptive Intra Smoothing) filter, a reference pixel interpolation unit, and a DC filter. The AIS filter performs filtering on the reference pixels of the current block, and may adaptively determine whether to apply the filter according to the prediction mode of the current prediction unit. AIS filtering may be performed on the reference pixels of the current block using the AIS filter information and the prediction mode of the prediction unit provided by the image encoding device 100. When the prediction mode of the current block is a mode in which AIS filtering is not performed, the AIS filter may not be applied.
[0096] When the prediction mode of the prediction unit is a prediction unit for performing intra-frame prediction based on a pixel value obtained by interpolating a reference pixel, the reference pixel interpolation unit of the intra-frame prediction unit 207 can generate a reference pixel at a fractional unit position by interpolating the reference pixel. The reference pixel generated at the fractional unit position can be used as a prediction pixel for a pixel in the current block. When the prediction mode of the current prediction unit is to generate a prediction of a prediction block without interpolating the reference pixel, the reference pixel may not be interpolated. When the prediction mode of the current block is a DC mode, a DC filter may generate a prediction block by filtering.
[0097] The intra-frame prediction unit 207 performs Figure 1 The intra prediction unit 102 performs substantially the same operation.
[0098] The inter-frame prediction unit 208 generates an inter-frame prediction block using the reference picture and motion information stored in the memory 206. The inter-frame prediction unit 208 performs Figure 1 The inter-frame prediction unit 103 performs basically the same operation.
[0099] Additionally, the following terms may be defined in the following description.
[0100] Encoder: This refers to a device that performs encoding. In other words, it refers to an encoding device.
[0101] Decoder: Refers to a device that performs decoding. In other words, it refers to a decoding device.
[0102] Block: is an M×N sample array. Here, M and N may represent positive integers, and a block may represent a sample array in a two-dimensional form. A block may refer to a unit. A current block may represent an encoding target block that becomes a target at the time of encoding, or a decoding target block that becomes a target at the time of decoding. In addition, the current block may be at least one of a coding block, a prediction block, a residual block, and a transform block.
[0103] Sample: It is the basic unit of a block. d ), the sample point can be expressed from 0 to 2 BdIn the present invention, a sample point may be used as the meaning of a pixel. That is, a sample point, a pel, and a pixel may have the same meaning as each other.
[0104] Unit: may refer to a coding and decoding unit. When encoding and decoding an image, a unit may be a region generated by partitioning a single image. In addition, when a single image is partitioned into sub-division units during encoding or decoding, a unit may represent a sub-division unit. That is, an image may be partitioned into a plurality of units. When encoding and decoding an image, a predetermined process may be performed for each unit. A single unit may be partitioned into sub-units having a size smaller than that of the unit. Depending on the function, a unit may represent a block, a macroblock, a coding tree unit, a coding tree block, a coding unit, a coding block, a prediction unit, a prediction block, a residual unit, a residual block, a transform unit, a transform block, and the like. In addition, in order to distinguish a unit from a block, a unit may include a luminance component block, a chrominance component block associated with the luminance component block, and a syntax element for each color component block. A unit may have various sizes and shapes, and specifically, the unit may be in the form of a two-dimensional geometric figure, such as a square shape, a rectangular shape, a trapezoidal shape, a triangular shape, a pentagonal shape, and the like. Also, the unit information may include at least one of a unit type indicating a coding unit, a prediction unit, a transformation unit, etc., and a unit size, a unit depth, an order of encoding and decoding of the unit, and the like.
[0105] Coding tree unit: A single coding tree block configured with a luminance component Y, and two coding tree blocks associated with chrominance components Cb and Cr. In addition, the coding tree unit may represent a syntax element including a block and each block. Each coding tree unit may be partitioned by using at least one of a quadtree partitioning method, a binary tree partitioning method, and a ternary tree partitioning method to configure a lower-level unit such as a coding unit, a prediction unit, a transform unit, etc. The coding tree unit may be used as a term for specifying a sample block that becomes a processing unit when encoding / decoding an image as an input image. Here, the quadtree may represent a quadtree.
[0106] When the size of the coding block is within a predetermined range, it can be divided using only quadtree partitioning. Here, the predetermined range may be defined as at least one of the maximum size and the minimum size of the coding block that can be divided using only quadtree partitioning. Information indicating the maximum / minimum size of the coding block that allows quadtree partitioning may be transmitted by signaling through a bitstream, and the information may be transmitted by signaling in at least one unit of a sequence, a picture parameter, a parallel block group, or a slice (fragment). Optionally, the maximum / minimum size of the coding block may be a fixed size predetermined in the encoder / decoder. For example, when the size of the coding block corresponds to 256×256 to 64×64, it may be divided using only quadtree partitioning. Optionally, when the size of the coding block is larger than the size of the maximum conversion block, it may be divided using only quadtree partitioning. Here, the block to be divided may be at least one of a coding block and a transform block. In this case, the information indicating the division of the coding block (e.g., split_flag) may be a flag indicating whether quadtree partitioning is performed. When the size of the coding block falls within a predetermined range, it may be divided using only binary tree partitioning or ternary tree partitioning. In this case, the above description of the quadtree partition can be applied to the binary tree partition or the ternary tree partition in the same manner.
[0107] Coding tree block: may be used as a term for designating any one of a Y coding tree block, a Cb coding tree block, and a Cr coding tree block.
[0108] Neighboring block: may refer to a block adjacent to the current block. The block adjacent to the current block may refer to a block that touches the boundary of the current block or a block that is located within a predetermined distance from the current block. The neighboring block may refer to a block adjacent to a vertex of the current block. Here, the block adjacent to a vertex of the current block may refer to a block that is vertically adjacent to a neighboring block that is horizontally adjacent to the current block or a block that is horizontally adjacent to a neighboring block that is vertically adjacent to the current block.
[0109] Reconstructed neighboring block: may refer to a neighboring block that is adjacent to the current block and has been encoded or decoded in space / time. Here, the reconstructed neighboring block may refer to a reconstructed neighboring unit. The reconstructed spatial neighboring block may be a block that is within the current picture and has been reconstructed by encoding or decoding or both encoding and decoding. The reconstructed temporal neighboring block is a block at a position corresponding to the current block of the current picture within the reference image or a neighboring block of the block.
[0110] Unit depth: can represent the degree of partitioning of a unit. In a tree structure, the highest node (root node) can correspond to the first unit that is not partitioned. In addition, the highest node can have a minimum depth value. In this case, the depth of the highest node can be level 0. A node with a depth of level 1 can represent a unit generated by partitioning the first unit once. A node with a depth of level 2 can represent a unit generated by partitioning the first unit twice. A node with a depth of level n can represent a unit generated by partitioning the first unit n times. A leaf node can be the lowest node and a node that cannot be further partitioned. The depth of a leaf node can be the maximum level. For example, the predefined value of the maximum level can be 3. The depth of the root node can be the lowest, and the depth of the leaf node can be the deepest. In addition, when a unit is represented as a tree structure, the level at which the unit exists can represent the unit depth.
[0111] Bitstream: can represent a stream of bits including coded image information.
[0112] Parameter set: corresponds to header information in the configuration within the bitstream. At least one of a video parameter set, a sequence parameter set, a picture parameter set, and an adaptation parameter set may be included in the parameter set. In addition, the parameter set may include a slice header, a tile group header, and a tile header information. The term "tile group" may mean a group of tiles and has the same meaning as a slice.
[0113] An adaptation parameter set may refer to a parameter set that can be shared by reference in different pictures, sub-pictures, slices, tile groups, tiles, or partitions. In addition, information in an adaptation parameter set may be used by referencing a different adaptation parameter set for a sub-picture, slice, tile group, tile, or partition within a picture.
[0114] In addition, regarding the adaptation parameter sets, different adaptation parameter sets may be referenced by using identifiers of different adaptation parameter sets for a sub-picture, a slice, a tile group, a tile, or a partition within a picture.
[0115] In addition, regarding the adaptation parameter sets, different adaptation parameter sets may be referenced by using identifiers of different adaptation parameter sets for slices, tile groups, tiles, or partitions within a sub-picture.
[0116] In addition, regarding the adaptation parameter set, different adaptation parameter sets may be referenced by using identifiers of different adaptation parameter sets for tiles or partitions within a slice.
[0117] In addition, regarding the adaptation parameter sets, different adaptation parameter sets may be referenced by using identifiers of different adaptation parameter sets for partitions within a tile.
[0118] Information about the adaptation parameter set identifier may be included in a parameter set or a header of the sub-picture, and an adaptation parameter set corresponding to the adaptation parameter set identifier may be used for the sub-picture.
[0119] Information about the adaptation parameter set identifier may be included in a parameter set or a header of the tile, and an adaptation parameter set corresponding to the adaptation parameter set identifier may be used for the tile.
[0120] Information about the adaptation parameter set identifier may be included in a header of the tile, and an adaptation parameter set corresponding to the adaptation parameter set identifier may be used for the tile.
[0121] A picture may be partitioned into one or more tile rows and one or more tile columns.
[0122] A sub-picture may be partitioned into one or more parallel block rows and one or more parallel block columns within a picture. A sub-picture may be an area having a rectangular / square form within a picture and may include one or more CTUs. In addition, at least one or more parallel blocks / blocks / strips may be included in one sub-picture.
[0123] A tile may be an area having a rectangular / square form within a picture and may include one or more CTUs. In addition, a tile may be partitioned into one or more partitions.
[0124] A partition may refer to one or more CTU rows within a tile. A tile may be partitioned into one or more partitions, and each partition may have at least one or more CTU rows. A tile that is not partitioned into two or more may be referred to as a partition.
[0125] A slice may include one or more tiles within a picture, and may include one or more partitions within a tile.
[0126] Hereinafter, a method for transmitting sub-picture information according to some embodiments of the present invention will be described in detail.
[0127] Figure 3 is a diagram illustrating an image decoding method according to an embodiment of the present invention.
[0128] Reference Figure 3 , the image decoding method according to an embodiment of the present invention may include obtaining sub-picture information of a current sub-picture through at least one signal transmission level (S310), and decoding the current sub-picture using the sub-picture information (S320).
[0129] At this time, sub-picture information may be obtained for each decoded sub-picture, and at least one signal transmission level may be determined as at least one of a sequence parameter set (SPS), a picture parameter set (PPS), or a slice header.
[0130] Figure 4 is a diagram illustrating an image encoding method according to an embodiment of the present invention.
[0131] Reference Figure 4 , the image encoding method according to an embodiment of the present invention may include determining sub-picture information of a current sub-picture (S410) and encoding the sub-picture information through at least one signal transmission level (S420).
[0132] At this time, sub-picture information may be determined for each encoded sub-picture, and at least one signal transmission level may be determined as at least one of a sequence parameter set (SPS), a picture parameter set (PPS), or a slice header.
[0133] In the following, the application to Figure 3 and Figure 4 Detailed embodiments of each component.
[0134] According to an embodiment of the present invention, sub-picture information may be transmitted through a sequence parameter set (SPS).
[0135] In the following description, a sub-screen is a unit of configuring a screen, and may represent a rectangular area composed of one or more strips.
[0136] According to an embodiment of the present invention, a grid defined in units of 4×N pixel samples may be defined. Each grid may include grid index information, and a sub-picture may be defined as a set of grids having the same grid index.
[0137] For example, the sub-picture information may include information indicating whether encoding / decoding is performed by determining each sub-picture as a picture. For example, the information indicating whether encoding / decoding is performed by determining each sub-picture as a picture may be defined as a syntax element subpic_treated_as_pic_flag or sps_subpic_treated_as_pic_flag. For example, sps_subpic_treated_as_pic_flag[i] may be a syntax element indicating whether encoding / decoding is performed by determining the i-th sub-picture as a picture when the i-th sub-picture is encoded / decoded.
[0138] As another example, the sub-picture information may include sub-picture filtering information indicating whether filtering is applied to the boundary of each sub-picture. For example, the sub-picture filtering information may be defined as a syntax element loop_filter_across_subpic_enabled_flag or sps_loop_filter_across_subpic_enabled_flag. For example, sps_loop_filter_across_subpic_enabled_flag[i] may be a syntax element indicating whether filtering is performed for the boundary of the i-th sub-picture.
[0139] In addition, when the first sub-picture and the second sub-picture exist and the index of the first sub-picture is smaller than the index of the second sub-picture, encoding / decoding of the first sub-picture may be performed before encoding / decoding of the second sub-picture.
[0140] Figure 5 is a diagram illustrating a bitstream structure of a sequence parameter set (SPS) according to an embodiment of the present invention.
[0141] The syntax element pic_width_max_in_luma_samples or sps_pic_width_max_in_luma_samples and the syntax element pic_height_max_in_luma_samples or sps_pic_height_max_in_luma_samples may indicate the maximum width and maximum height of the current picture for encoding / decoding.
[0142] The syntax element subpics_present_flag or sps_subpic_info_present_flag may indicate whether sub-picture information is encoded / decoded in units of SPS.
[0143] In addition, when the input bitstream is a bitstream generated by a sub-bitstream and the sub-bitstream is for a sub-picture, subpics_present_flag or sps_subpic_info_present_flag may indicate that sub-picture information is always encoded / decoded.
[0144] The syntax element max_subpic_minus1 may indicate a value obtained by subtracting 1 from the maximum number of sub-pictures that may be included in the current picture. For example, max_subpic_minus1 may have a value from 0 to 254.
[0145] The syntax element sps_num_subpics_minus1 may indicate the number of sub-pictures included in the current picture. In the following description, the signaling of max_subpic_minus1 may be replaced by the signaling of sps_num_subpics_minus1.
[0146] The syntax elements subpic_grid_col_width_minus1 and subpic_grid_row_height_minus1 may indicate the size of the grid configuring the columns and rows of the sub-picture. The number of samples included in the width and height of the grid may be values obtained by multiplying subpic_grid_col_width_minus1+1 and subpic_grid_row_height_minus1+1 by 4, respectively.
[0147] For example, the number of grids included in a column of a sub-picture may be derived according to Equation 1 below.
[0148] [Equation 1]
[0149] NumSubPicGridCols=(pic_width_max_in_luma_samples+
[0150] subpic_grid_col_width_minus1*4+3) /
[0151] (subpic_grid_col_width_minus1*4+4)
[0152] In addition, for example, the number of meshes included in a row of a sub-picture may be derived according to Equation 2 below.
[0153] [Equation 2]
[0154] NumSubPicGridRows=(pic_height_max_in_luma_samples+
[0155] subpic_grid_row_height_minus1*4+3) /
[0156] (subpic_grid_row_height_minus1*4+4)
[0157] The syntax element subpic_grid_idx may indicate a grid index. As described above, grids having the same grid index may configure one subpicture.
[0158] The syntax element NumSubPics may indicate the total number of sub-pictures included in the current picture.
[0159] Figure 6 is a diagram illustrating a method of deriving sub-picture information based on a specific grid index.
[0160] According to Figure 6 The sub-picture information of the sub-picture with grid index subpic_grid_idx[i][j] is derived. For example, according to Figure 6 , you can determine the top grid row of the current sub-picture (SubPicTop), the left grid column of the sub-picture (SubPicLeft), the number of grids included in the row of the sub-picture (SubPicWidth), the number of grids included in the column of the sub-picture (SubPicHeight), and the total number of sub-pictures (NumSubPics).
[0161] The syntax element log2_ctu_size_minus5 or sps_log2_ctu_size_minus5 may be coding tree unit (CTU) size information, which indicates a value obtained by subtracting 5 from a value obtained by calculating the logarithm of the CTU size.
[0162] Reference Figure 5 , only when the value of subpics_present_flag transmitted by the SPS signal is 1, at least one of max_subpics_minus1, subpic_grid_col_width_minus1, subpic_grid_row_height_minus1, subpic_grid_idx[i][j], subpic_treated_as_pic_flag[i] or loop_filter_across_subpic_enabled_flag[i] as sub-picture information can be encoded / decoded.
[0163] According to another embodiment of the present invention, a sub-picture may be signaled in units of CTU.
[0164] exist Figure 5 In the embodiment of the present invention, the reason why the sub-picture information is signaled in grid units is because the sub-picture information is signaled before the CTU size information. According to another embodiment of the present invention, the CTU size information may be signaled before the sub-picture information, and the sub-picture information may be signaled on a CTU unit basis.
[0165] According to another embodiment of the present invention, a sub-picture ID for identifying a sub-picture may be defined. In the following description, a sub-picture ID and a sub-picture index may have the same meaning. Figure 5 As shown in , when a sub-picture is transmitted using a grid index, since the areas divided into grids are combined to determine one sub-picture, a sub-picture ID indicating the sub-picture itself may not be defined. When sub-picture information is transmitted using a sub-picture ID, since the partition information of the sub-picture and each sub-picture are consistent at all levels of the referenced SPS, image encoding / decoding efficiency can be improved.
[0166] For example, sub-picture IDs equally applicable to various divided areas may be signaled for each signaling level, such as a picture parameter set (PPS) or a slice header as a lower signaling level than the SPS.
[0167] Figure 7 is a diagram illustrating a bit stream structure of an SPS according to another embodiment of the present invention.
[0168] According to another embodiment of the present invention, when the sub-picture information is transmitted, the sub-picture information may be transmitted in units of CTU. Alternatively, the sub-picture information may be transmitted based on a unit signal obtained by multiplying the width and / or height of the CTU unit by 1 / n or n. For example, n may be a positive integer such as 1, 2, 4, 8, 16, 32, 64 or more. For example, the sub-picture information may include a sub-picture ID, and the sub-picture ID may be defined as a syntax element subpic_id or sps_subpic_id.
[0169] Reference Figure 7 , the CTU size information can be transmitted by signal before the sub-picture information.
[0170] In addition, the syntax element log2_ctu_size_minus5 may be explicitly signaled and may be determined as a preset value in the image encoding / decoding apparatus. For example, the preset value may be one of the minimum value or the maximum value of the CTU size allowed in the image encoding / decoding apparatus.
[0171] NumCtuRows and NumCtuCols may be calculated using at least one of log2_ctu_size_minus5, pic_width_max_in_luma_samples, or pic_height_max_in_luma_samples, wherein NumCtuRows and NumCtuCols are the number of CTUs present in the picture in horizontal and vertical directions.
[0172] According to the present embodiment, CTUs having the same sub-picture ID may be included in the same sub-picture. In addition, for some areas, the sub-picture ID may be derived by the image encoding / decoding device without signal transmission. When subpic_id is signaled as the same value as max_subpics_minus1 or sps_num_subpics_minus1, subpic_id may not be signaled for at least one of the CTUs encoded / decoded after the corresponding CTU unit. For example, the subpic_id of the CTU encoded / decoded after the corresponding CTU unit may be derived to have the same value as max_subpics_minus1.
[0173] In addition, the binary length of subpic_id may be determined as Ceil(Log2(max_subpics_minus1+1)).
[0174] Figure 7 The SPS bitstream is Figure 5 The difference is that the signal transmission order of CTU size information is before the signal transmission order of sub-picture information, the signal transmission of subpic_grid_col_width_minus1 and subpic_grid_row_height_minus1 is not performed, subpic_grid_idx is changed to subpic_id and / or subpic_id is signaled in units of CTU. That is, according to another embodiment of the present invention, sub-picture information can be signaled by subpic_id determined in units of CTU.
[0175] exist Figure 7 Among the grammatical elements described in Figure 5 The syntax elements described in have the same Figure 5 The same operation is performed, so the detailed description thereof will be omitted.
[0176] Figure 8 is a diagram illustrating a bit stream structure of an SPS according to another embodiment of the present invention.
[0177] According to another embodiment of the present invention, when sending sub-picture information, the sub-picture information may be sent in units of CTU groups. A CTU group may represent a set of one or more preset CTUs. For example, the sub-picture information may include a sub-picture ID.
[0178] The syntax elements subpic_ctu_group_col_minus1 and subpic_ctu_group_row_minus1 may indicate values obtained by subtracting 1 from the number of sub-picture groups included in the row and column of the sub-picture.
[0179] For example, only one of subpic_ctu_group_col_minus1 and subpic_ctu_group_row_minus1 may be signaled. As another example, at least one of subpic_ctu_group_col_minus1 or subpic_ctu_group_row_minus1 may be determined based on max_subpics_minus1, or the signaling may be determined based on max_subpics_minus1. As another example, one of subpic_ctu_group_col_minus1 and subpic_ctu_group_row_minus1 may be determined based on the other of subpic_ctu_group_col_minus1 and subpic_ctu_group_row_minus1, or the signaling may be determined by the other of subpic_ctu_group_col_minus1 and subpic_ctu_group_row_minus1.
[0180] NumCtuRows and NumCtuCols may be calculated using at least one of log2_ctu_size_minus5, pic_width_max_in_luma_samples, pic_height_max_in_luma_samples, subpic_ctu_group_col_minus1, and subpic_ctu_group_row_minus1, wherein NumCtuRows and NumCtuCols are the number of CTUs present in the picture in horizontal and vertical directions.
[0181] According to the present embodiment, a CTU group having the same sub-picture ID may be included in the same sub-picture.
[0182] A reference wraparound offset may be specified for each sub-picture based on the transmitted subpic_id, and motion correction may be performed separately. For example, a syntax element subpic_ref_wraparound_enabled_flag and / or a syntax element subpic_ref_wraparound_offset_minus1 may be defined, wherein the syntax element subpic_ref_wraparound_enabled_flag indicates whether sub-picture reference wraparound can be performed, and the syntax element subpic_ref_wraparound_offset_minus1 indicates a sub-picture reference wraparound offset. At least one of subpic_ref_wraparound_enabled_flag or subpic_ref_wraparound_offset_minus1 may be defined as reference wraparound information.
[0183] Figure 8 The SPS bitstream is Figure 7 The SPS bitstreams of the embodiment may differ in that subpic_id is sent in CTU group units, syntax elements defining CTU groups are signaled, and / or reference surround information is sent.
[0184] exist Figure 8 Among the grammatical elements described in Figure 5 and / or Figure 7 The syntax elements described in have the same Figure 5 and / or Figure 7 The same operation is performed, so the detailed description thereof will be omitted.
[0185] Fig. 9 is a diagram illustrating a bit stream structure of an SPS according to another embodiment of the present invention.
[0186] According to another embodiment of the present invention, information indicating whether sub-pictures included in a picture are partitioned to have the same size may be defined.
[0187] Information indicating whether sub pictures included in a picture are partitioned to have the same size may be defined as a syntax element uniform_subpic_spacing_flag, uniform_subpic_flag, or sps_subpic_same_size_flag.
[0188] For example, when uniform_subpic_spacing_flag or sps_subpic_same_size_flag is 0, the number of sub-pictures included in the rows and columns of the picture may be signaled through the syntax elements num_subpic_rows_minus1 and num_subpic_columns_minus1, respectively, and the width and height of the sub-pictures included in the rows and columns of the picture may be signaled through the syntax elements subpic_column_width_minus1 or sps_subpic_width_minus1 and subpic_row_height_minus1 or sps_subpic_height_minus1. That is, the syntax element subpic_column_width_minus1 or sps_subpic_width_minus1 may indicate the width of the current sub-picture, and the syntax element subpic_row_height_minus1 or sps_subpic_height_minus1 may indicate the height of the current sub-picture.
[0189] In contrast, when uniform_subpic_spacing_flag or sps_subpic_same_size_flag is 1, the width and height of the sub-picture may be determined as one of the values signaled by subpic_cols_width_minus1 and subpic_rows_height_minus1.
[0190] As another example, when sps_subpic_same_size_flag is 1, the width and height of a sub picture included in a row and a column of a picture may be determined as sps_subpic_width_minus1[0] and sps_subpic_height_minus1[0].
[0191] At this time, num_subpic_columns_minus1 and num_subpic_rows_minus1 may have one of values of 0 to PicWidthInCtbsY−1 and 0 to PicHeightInCtbsY−1, respectively. In addition, when num_subpic_columns_minus1 and / or num_subpic_rows_minus1 are not signaled, num_subpic_columns_minus1 and / or num_subpic_rows_minus1 may be determined to be 0.
[0192] In addition, subpic_cols_width_minus1 and subpic_rows_height_minus may have values of 0 to PicWidthInCtbsY−1 and values of 0 to PicHeightInCtbsY−1, respectively. In addition, when subpic_cols_width_minus1 and / or subpic_rows_height_minus are not signaled, num_subpic_columns_minus1 and / or num_subpic_rows_minus1 may be determined as PicWidthInCtbsY−1 and / or PicHeightInCtbsY−1, respectively.
[0193] At this time, when uniform_subpic_spacing_flag is 1, the total number of subpictures included in the picture (NumSubpicsInPic) may be determined based on at least one of the width and height of the picture, num_subpic_columns_minus1 (or subpic_ctu_group_col_minus1), num_subpic_rows_minus1 (or subpic_ctu_group_row_minus1), or log2_ctu_size_minus5.
[0194] On the contrary, when uniform_subpic_spacing_flag is 0, the total number of sub-pictures included in the picture (NumSubpicsInPic) may be determined based on at least one of num_subpic_columns_minus1 (or subpic_ctu_group_col_minus1) or subpic_ctu_group_row_minus1 (or num_subpic_rows_minus1).
[0195] In addition, when uniform_subpic_flag is not separately signaled, the value of uniform_subpic_flag may be set to 1.
[0196] In addition, each syntax element may be signaled in units of the number of CTUs.
[0197] According to another embodiment of the present invention, information indicating whether the sub-picture ID is explicitly signaled may be defined.
[0198] For example, information indicating whether the sub-picture ID is explicitly signaled may be defined as syntax elements explicit_subpic_id_flag and sps_subpic_id_mapping_explicitly_signalled_flag.
[0199] For example, when explicit_subpic_id_flag is 0, the subpicture ID may not be separately signaled. In this case, the subpicture ID of each subpicture may be determined as a value increasing from 0 by 1 according to a raster scan order. For example, subpic_id may be determined based on Equation 3 below.
[0200] [Equation 3]
[0201] for(i=0;i <NumSubpicsInPic;i++)
[0202] subpic_id[i]=i
[0203] On the other hand, when explicit_subpic_id_flag is 1, each sub-picture ID may be explicitly signaled according to the raster scan order.
[0204] In addition, the sub-picture ID allocation order is not limited to the raster scan order, and may be at least one of a vertical scan, a horizontal scan, a diagonal scan, or a zigzag scan order. The image encoding / decoding device may define a plurality of scan types, and may selectively use any of the plurality of scan types. For example, the selection of the scan type may be performed based on information transmitted with a signal, and may be performed based on encoding parameters. For example, the encoding parameters may include at least one of priority information, a sub-picture size or position, or a picture format.
[0205] As another example, a syntax element sps_subpic_id_mapping_present_flag may be defined that indicates whether a sub-picture ID is explicitly signaled in the SPS. For example, sps_subpic_id_mapping_present_flag may be signaled only when explicit_subpic_id_flag or sps_subpic_id_mapping_explicitly_signalled_flag is 1. When sps_subpic_id_mapping_present_flag is 1, the sub-picture ID may be signaled in the SPS, and when sps_subpic_id_mapping_present_flag is 0, the sub-picture ID may be signaled at a level other than the SPS. For example, when sps_subpic_id_mapping_present_flag is 0, the sub-picture ID may be signaled in the PPS.
[0206] exist Fig. 9 Among the grammatical elements described in Figure 5 , Figure 7 and / or Figure 8 The syntax elements described in have the same Figure 5 , Figure 7 and / or Figure 8 The same operation is performed, so the detailed description thereof will be omitted.
[0207] Fig.10 is a diagram illustrating a bit stream structure of an SPS according to another embodiment of the present invention.
[0208] According to another embodiment of the present invention, when sending sub-picture information, the sub-picture ID may be sent in units of sub-pictures, and some sub-picture information other than the sub-picture ID may be sent based on CTU information in the sub-picture.
[0209] For example, the position of the current sub-picture may be derived for each sub-picture using the position of the top left CTU included in the current sub-picture. For example, the position of the current sub-picture may be determined by signaling syntax elements sps_subpic_ctu_top_left_x and sps_subpic_ctu_top_left_y indicating the x-coordinate and y-coordinate of the top left CTU included in the current sub-picture, respectively.
[0210] As another example, the size of the current sub-picture may be derived using information signaled for each sub-picture. For example, the size of the current sub-picture may be determined by signaling syntax elements sps_subpic_width_minus1 and sps_subpic_height_minus1 indicating the width and height of the current sub-picture, respectively.
[0211] pass Figure 5 and / or Figures 7 to 9 The described example is applicable to signaling of syntax elements not including the syntax elements sps_subpic_ctu_top_left_x, sps_subpic_ctu_top_left_y, sps_subpic_width_minus1, and sps_subpic_height_minus1, and a description thereof will be omitted.
[0212] Fig.11 is a diagram illustrating a bitstream structure of a picture parameter set (PPS) according to another embodiment of the present invention.
[0213] According to another embodiment of the present invention, sub-picture information may be signaled in tile units through a PPS.
[0214] For example, when the tile information of the current picture is transmitted through the PPS, all or some of the tile partition information of the current picture may be derived by referring to the sub-picture information transmitted by the SPS signal referenced by the current PPS. The sub-picture information transmitted by the PPS signal may include at least one of the number, size, position, subpics_present_flag (or sps_subpic_info_present_flag) or sps_subpic_id_mapping_present_flag of the sub-pictures configuring the picture.
[0215] When subpics_present_flag signaled through the PPS is 1, a syntax element subpic_derivation_flag indicating whether a tile is partitioned may be signaled by referring to sub-picture partition information transmitted in the SPS.
[0216] For example, when the signaled subpic_derivation_flag is 1, the current tile may be partitioned in the same form as the sub-picture partition form determined based on the sub-picture information transmitted through the SPS.
[0217] In addition, when the signaled subpic_derivation_flag is 1, the syntax element additional_tile_spacing_flag may be signaled in order to determine whether to signal additional tile partition information performed after partitioning the tile in the same form as the sub-picture partition form.
[0218] For example, when additional_tile_spacing_flag is 0, tile partitioning in the same form as the sub-picture partitioning form may be performed without transmitting separate tile partition information.
[0219] On the other hand, when additional_tile_spacing_flag is 1, tile partitioning in the same form as the sub-picture partitioning form may be performed, and additional tile partitioning information may be transmitted to perform additional tile partitioning.
[0220] As another example, the parallel block partition information of the previous sub-picture may be used to derive the current sub-picture. In this case, the information indicating whether the parallel block partition information of the previous sub-picture is reused may be transmitted by a signal. As another example, different parallel block partition information may be defined for each sub-pixel, or multiple sub-pictures may share the same parallel block partition information.
[0221] Reference Fig.11 , the sub-picture ID may be signaled in units of tiles. At this time, the sub-picture ID may be determined as a value corresponding to the sub-picture ID signaled in the SPS. For example, the tile-unit sub-picture ID signaled in the PPS may be determined as a syntax element corresponding_subpic_id, and corresponding_subpic_id[i] may be determined as the same value as subpic_id[i] signaled in the SPS. At this time, i may indicate the i-th tile.
[0222] Fig.12 is a diagram illustrating a bit stream structure of a PPS according to another embodiment of the present invention.
[0223] According to another embodiment of the present invention, sub-picture information may be signaled in units of blocks through a PPS.
[0224] Reference Fig.12, the sub-picture ID may be signaled in units of tiles. At this time, the sub-picture ID may be determined as a value corresponding to the sub-picture ID signaled in the SPS. For example, the tile-unit sub-picture ID signaled in the PPS may be determined as a syntax element corresponding_subpic_id, and corresponding_subpic_id[i] may be determined as the same value as subpic_id[i] signaled in the SPS. At this time, i may indicate the i-th tile.
[0225] As another example, a sub-picture ID signaled in a PPS may be signaled separately without relying on a sub-picture ID value sent in an SPS. For example, the syntax element pps_subpic_id_mapping_present_flag may indicate whether a sub-picture ID is signaled in a PPS. When pps_subpic_id_mapping_present_flag is 1, a sub-picture ID may be signaled in a PPS. When sps_subpic_id_mapping_explicitly_signalled_flag is 0 or sps_subpic_id_mapping_present_flag is 1, pps_subpic_id_mapping_present_flag may be determined to be 0. In addition, a sub-picture ID signaled in a PPS may be defined as a syntax element pps_subpic_id.
[0226] Fig.13 is a diagram illustrating a bitstream structure of a slice header according to another embodiment of the present invention.
[0227] According to another embodiment of the present invention, sub-picture information is signaled via a slice header.
[0228] Reference Fig.13 , the sub-picture ID may be signaled in the slice header. In this case, the sub-picture ID may be determined as a value corresponding to the sub-picture ID signaled in the SPS or PPS. For example, the sub-picture ID signaled in the slice header may be determined as a syntax element communicating_subpic_id, and communicating_subpic_id[i] may be determined as the same value as subpic_id[i] signaled in the SPS or PPS.
[0229] As another example, the sub-picture ID signaled in the slice header may be signaled separately without relying on the sub-picture ID value sent in the SPS or PPS. For example, whether the sub-picture ID is signaled in the slice header may be determined according to sps_subpic_info_present_flag. In addition, the sub-picture ID signaled in the slice header may be defined as a syntax element sh_subpic_id.
[0230] That is, the sub-picture ID may be signaled individually without relying on sub-picture ID values signaled at different levels.That is, the sub-picture ID may be signaled individually in the SPS, PPS, and / or slice header.
[0231] Although the exemplary method of the present disclosure is represented as a series of operations for the sake of clarity, it is not intended to limit the order in which the steps are performed, and the steps may be performed simultaneously or in different orders when necessary. In order to implement the method according to the present disclosure, the steps described may also include other steps, may include the remaining steps except some steps, or may include other additional steps except some steps.
[0232] The various embodiments of the present disclosure are not a list of all possible combinations and are intended to describe representative aspects of the present disclosure, and the contents described in the various embodiments may be applied independently or in combination of two or more.
[0233] In addition, various embodiments of the present disclosure may be implemented in hardware, firmware, software, or a combination thereof. In the case of implementing the present invention by hardware, the present disclosure may be implemented using an application specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a general purpose processor, a controller, a microcontroller, a microprocessor, etc.
[0234] The scope of the present disclosure includes software or machine-executable commands (e.g., operating systems, applications, firmware, programs, etc.) for enabling operations according to the methods of various embodiments to be performed on a device or computer, and non-transitory computer-readable media storing such software or commands and executable on a device or computer.
[0235] Industrial Applicability
[0236] The present invention can be used to encode or decode images.
Claims
1. An image decoding method, comprising: Get sub-picture information from the sequence parameter set SPS of the bitstream; and Decoding the current sub-picture based on the sub-picture information, The sub-picture information includes at least one of the first mark or the second mark, wherein the first flag indicates whether the sub-picture ID is explicitly signaled, wherein the second flag indicates whether the sub-picture ID is signaled in the SPS or in a picture parameter set PPS, wherein, in response to the first flag indicating that the sub-picture ID is not to be explicitly signaled, the sub-picture ID is not to be explicitly signaled, wherein, in response to the first flag indicating that the sub-picture ID is explicitly signaled, obtaining the second flag from the SPS, wherein, in response to the value of the second flag being 1, the sub-picture ID is signaled from the SPS, wherein, in response to the value of the second flag being 0, the sub-picture ID is signaled from the PPS, The sub-picture information includes a third flag indicating whether the multiple sub-pictures included in the current picture have the same size, and The sequence parameter set includes maximum height information specifying a maximum height of the current picture.
2. The image decoding method according to claim 1, in, in response to the third flag indicating that a plurality of sub-pictures included in the current picture do not have the same size, signaling position information from the bitstream, wherein the position information specifies a position of a top left coding tree unit (CTU) of the current sub-picture, and In which, in response to the third flag indicating that multiple sub-pictures included in the current picture have the same size, the position information is not transmitted by signal.
3. The image decoding method according to claim 1, in, In response to the third flag indicating that a plurality of sub-pictures included in the current picture do not have the same size, signaling size information of the current sub-picture from the bitstream, and The size information of the current sub-picture includes width and height information of the current sub-picture.
4. The image decoding method according to claim 1, wherein: The sub-picture information includes information indicating whether decoding is performed by determining the current sub-picture as a picture.
5. The image decoding method according to claim 1, wherein: The sub-picture information includes sub-picture filtering information indicating whether filtering is applied to a boundary of the current sub-picture.
6. An image encoding method, comprising: Determine sub-picture information based on the current sub-picture; as well as Encode the sub-picture information into the sequence parameter set SPS of the bitstream, The sub-picture information includes at least one of the first mark or the second mark, wherein the first flag indicates whether the sub-picture ID is explicitly signaled, wherein the second flag indicates whether the sub-picture ID is signaled in the SPS or in a picture parameter set PPS, wherein, in response to the sub-picture ID being encoded into the SPS, the second flag having a value of 1 is encoded, wherein, in response to the sub-picture ID being encoded into the PPS, the second flag having a value of 0 is encoded, wherein, in response to the second flag being encoded, encoding the first flag having a value of 1 into the SPS, wherein the first flag having a value of 1 indicates that the sub-picture ID is explicitly signaled, wherein, in response to the second flag not being encoded, encoding the first flag having a value of 0 into the SPS, wherein the first flag having a value of 0 indicates that the sub-picture ID is not explicitly signaled, The sub-picture information includes a third flag indicating whether the multiple sub-pictures included in the current picture have the same size, and The sequence parameter set includes maximum height information specifying a maximum height of the current picture.
7. A method for transmitting a bit stream generated by a coding method, the coding method comprising: Determine sub-picture information based on the current sub-picture; as well as Encode the sub-picture information into the sequence parameter set SPS of the bitstream, The sub-picture information includes at least one of the first mark or the second mark, wherein the first flag indicates whether the sub-picture ID is explicitly signaled, wherein the second flag indicates whether the sub-picture ID is signaled in the SPS or in a picture parameter set PPS, wherein, in response to the sub-picture ID being encoded into the SPS, the second flag having a value of 1 is encoded, wherein, in response to the sub-picture ID being encoded into the PPS, the second flag having a value of 0 is encoded, wherein, in response to the second flag being encoded, encoding the first flag having a value of 1 into the SPS, wherein the first flag having a value of 1 indicates that the sub-picture ID is explicitly signaled, wherein, in response to the second flag not being encoded, encoding the first flag having a value of 0 into the SPS, wherein the first flag having a value of 0 indicates that the sub-picture ID is not explicitly signaled, The sub-picture information includes a third flag indicating whether the multiple sub-pictures included in the current picture have the same size, and The sequence parameter set includes maximum height information specifying a maximum height of the current picture.