Image Encoding / Decoding Method, Apparatus, and Recording Medium for Storing Bitstream Based on Scan Order Information

The image encoding/decoding method improves efficiency by determining the scan order of sub-pictures based on flags in the bitstream, efficiently signaling scan order information for high-resolution images.

JP2025519741APending Publication Date: 2025-06-26LG ELECTRONICS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024573831
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-06-16
Filing Date
2023-06-15
Publication Date
2025-06-26

AI Technical Summary

Technical Problem

There is a need for an image encoding/decoding method and apparatus with improved encoding/decoding efficiency, particularly for high-resolution, high-quality images, to efficiently transmit, store, and reproduce information.

Method used

The method involves determining a scan order of sub-pictures based on flags obtained from a bitstream, where the flags indicate the existence and characteristics of scan order information, allowing for efficient signaling of scan order information according to the shape of division units.

Benefits of technology

This approach enhances encoding/decoding efficiency by effectively signaling scan order information, improving the transmission and storage of high-resolution image data while maintaining image quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025519741000001_ABST
    Figure 2025519741000001_ABST
Patent Text Reader

Abstract

An image encoding / decoding method and apparatus are provided. The image decoding method according to the present disclosure can include steps of obtaining a first flag related to a sub-picture from a bit stream, and determining a scan order of the sub-picture based on that the first flag indicates that information related to the sub-picture exists.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an image encoding / decoding method, apparatus, and recording medium for storing a bitstream, and more particularly, to an image encoding / decoding method and apparatus based on scan order information, and a recording medium for storing a bitstream generated by the image encoding method / apparatus of the present disclosure.

Background Art

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

[0003] Accordingly, there is a need for a highly efficient image compression technique for effectively transmitting, storing, and reproducing information of high-resolution, high-quality images.

Summary of the Invention

Problems to be Solved by the Invention

[0004] An object of the present disclosure is to provide an image encoding / decoding method and apparatus with improved encoding / decoding efficiency.

[0005] Another object of the present disclosure is to provide an image encoding / decoding method and apparatus based on scan order information.

[0006] Another object of the present disclosure is to provide an image encoding / decoding method and apparatus for efficiently signaling scan order information of a partitioning unit.

[0007] In addition, an object of the present disclosure is to provide an image encoding / decoding method and apparatus that efficiently signal scan order information according to the shape of a division unit.

[0008] In addition, an object of the present disclosure is to provide a non-transitory computer-readable recording medium that stores a bitstream generated by the image encoding method or apparatus according to the present disclosure.

[0009] In addition, an object of the present disclosure is to provide a non-transitory computer-readable recording medium that stores a bitstream received by the image decoding apparatus according to the present disclosure, decoded, and used for restoring an image.

[0010] In addition, an object of the present disclosure is to provide a method for transmitting a bitstream generated by the image encoding method or apparatus according to the present disclosure.

[0011] The technical problems to be solved by the present disclosure are not limited to the above-described technical problems, and other technical problems not described above will be clearly understood by those of ordinary skill in the technical field to which the present disclosure pertains from the following description.

Means for Solving the Problems

[0012] According to an embodiment of the present disclosure, there is provided an image decoding method performed by an image decoding apparatus, the image decoding method including: obtaining a first flag related to a sub-picture from a bitstream; and determining a scan order of the sub-picture based on the first flag indicating that information related to the sub-picture exists.

[0013] According to an embodiment of the present invention, the scan order of the sub-picture is determined based on a second flag indicating whether the scan order of the sub-picture is a raster scan order, and the second flag can be obtained from the bitstream based on the first flag indicating that information related to the sub-picture exists.

[0014] According to an embodiment of the present disclosure, the second flag can be obtained from at least one of SPS (Sequence Parameter Set), GCE (General Constraints Information), SEI (Supplemental Enhancement Information) message, or VUI (Video Usage Information).

[0015] According to an embodiment of the present disclosure, the second flag can be obtained based on the number of sub-pictures exceeding two.

[0016] According to an embodiment of the present invention, based on the number of sub-pictures being two or less, the value of the second flag can be restricted to indicate a raster scan order.

[0017] According to an embodiment of the present disclosure, based on the second flag being obtained from the SEI message, the second flag can indicate whether the scan order of the sub-pictures is a raster scan order for consecutive CVS (Coded Video Sequences).

[0018] According to an embodiment of the present disclosure, based on the second flag being obtained from the SEI message, the second flag can exist before the first VCL NAL unit within the CVS.

[0019] According to an embodiment of the present disclosure, the sub-pictures include a first sub-picture and a second sub-picture. Based on the upper offset of the first CTU in the first sub-picture being equal to or smaller than the upper offset of the first CTU in the second sub-picture, and the left offset of the first CTU in the first sub-picture being smaller than the left offset of the first CTU in the second sub-picture, the scan order of the sub-pictures can be determined to be a raster scan order.

[0020] According to an embodiment of the present disclosure, based on that the left boundary and the upper boundary of the first sub-picture constitute the boundary of the current picture including the sub-picture or constitute the boundary of the sub-pictures to be decoded after the second sub-picture, the scan order of the sub-pictures can be determined in a raster scan order.

[0021] According to an embodiment of the present invention, there is provided an image encoding method performed by an image encoding apparatus, the encoding method including: determining whether information regarding a sub-picture exists; and determining a scan order of the sub-picture based on the existence of the information regarding the sub-picture, wherein a first flag indicating whether the information regarding the sub-picture exists can be encoded in a bitstream.

[0022] According to an embodiment of the present disclosure, in a method of transmitting a bitstream generated by an image encoding method, the image encoding method includes: determining whether information regarding a sub-picture exists; and determining a scan order of the sub-picture based on the existence of the information regarding the sub-picture, wherein a first flag indicating whether the information regarding the sub-picture exists can be encoded in the bitstream.

Advantages of the Invention

[0023] According to the present disclosure, it is possible to provide an image encoding / decoding method and apparatus with improved encoding / decoding efficiency.

[0024] Also, according to the present disclosure, it is possible to provide an image encoding / decoding method and apparatus based on scan order information.

[0025] Also, according to the present disclosure, it is possible to provide an image encoding / decoding method and apparatus for efficiently signaling scan order information of a partitioning unit.

[0026] Also, according to the present disclosure, an image encoding / decoding method and apparatus for efficiently signaling scan order information according to the shape of a split unit can be provided.

[0027] Also, according to the present disclosure, a non-transitory computer-readable recording medium for storing a bitstream generated by the image encoding method or apparatus according to the present disclosure can be provided.

[0028] Also, according to the present disclosure, a non-transitory computer-readable recording medium for storing a bitstream received by the image decoding apparatus according to the present disclosure, decoded, and used for restoring an image can be provided.

[0029] According to the present disclosure, a method for transmitting a bitstream generated by the image encoding method or apparatus according to the present disclosure can be provided.

[0030] The effects obtained in the present disclosure are not limited to the above-described effects, and other effects not described above will be clearly understood by those of ordinary skill in the technical field to which the present disclosure pertains from the following description.

Brief Description of the Drawings

[0031]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Best Mode for Carrying Out the Invention

[0032] Hereinafter, with reference to the accompanying drawings, embodiments of the present disclosure will be described in detail so that those having ordinary knowledge in the technical field to which the present disclosure pertains can easily implement them. However, the present disclosure can be realized in various different forms and is not limited to the embodiments described herein.

[0033] In describing the embodiments of the present disclosure, when it is determined that a detailed description of a known configuration or function may obscure the gist of the present disclosure, the detailed description thereof will be omitted. And in the drawings, parts not related to the description of the present disclosure are omitted, and the same reference numerals are given to the same parts.

[0034] In the present disclosure, when a certain component is "connected", "coupled" or "connected" to another component, this can include not only a direct connection relationship but also an indirect connection relationship in which another component exists between them. Also, when a certain component "includes" or "has" another component, this means that, unless otherwise stated to the contrary, it does not exclude other components but can further include other components.

[0035] In the present disclosure, terms such as "first" and "second" are used only for the purpose of distinguishing one component from another and do not limit the order or importance, etc. between components unless otherwise specified. Therefore, within the scope of the present disclosure, the first component of one embodiment may be called the second component in another embodiment, and similarly, the second component of one embodiment may be called the first component in another embodiment.

[0036] In the present disclosure, the components distinguished from each other are for clearly explaining their respective features, and do not necessarily mean that the components are separated. That is to say, a plurality of components may be integrated and configured as one hardware or software unit, or one component may be dispersed and configured as a plurality of hardware or software units. Therefore, even without separate mention, such integrated or dispersed embodiments are also included in the scope of the present disclosure.

[0037] In the present disclosure, the components described in various embodiments do not necessarily mean essential components, and some may be optional components. Therefore, embodiments constituted by a subset of the components described in one embodiment are also included in the scope of the present disclosure. Further, embodiments including other components in addition to the components described in various embodiments are also included in the scope of the present disclosure.

[0038] The present disclosure relates to image encoding and decoding, and the terms used in the present disclosure can have the ordinary meanings in the technical field to which the present disclosure belongs, unless newly defined in the present disclosure.

[0039] In the present disclosure, "video" can mean a set of a series of images over time.

[0040] In the present disclosure, "picture" generally means a unit indicating any one image in a specific time period, and a slice / tile is an encoding unit constituting a part of the picture, and one picture can be constituted by one or more slices / tiles. Further, a slice / tile can include one or more CTUs (coding tree units).

[0041] In the present disclosure, "pixel" or "pel" can mean the smallest unit that constitutes a picture (or image). Also, the term "sample" can be used as a term corresponding to a pixel. A sample can generally indicate a pixel or a pixel value, and can also indicate only the pixel / pixel value of the luma component, or can also indicate only the pixel / pixel value of the chroma component.

[0042] In the present disclosure, "unit" can indicate the basic unit of image processing. A unit can include at least one of a specific region of a picture and information related to the region. A unit can be used interchangeably with terms such as "sample array", "block", or "area" as the case may be. In general, an M×N block can include a set (or array) of samples (or sample arrays) or transform coefficients consisting of M columns and N rows.

[0043] In the present disclosure, "current block" can mean any one of "current coding block", "current coding unit", "block to be coded", "block to be decoded", or "block to be processed". When prediction is performed, "current block" can mean "current prediction block" or "block to be predicted". When transform (inverse transform) / quantization (inverse quantization) is performed, "current block" can mean "current transform block" or "block to be transformed". When filtering is performed, "current block" can mean "block to be filtered".

[0044] Also, in the present disclosure, unless explicitly stated as a chroma block, the "current block" can mean a block that includes all luma component blocks and chroma component blocks or the "luma block of the current block". The luma component blocks of the current block can be explicitly expressed as including an explicit description of the luma component block, such as "luma block" or "current luma block". Also, the chroma component blocks of the current block can be explicitly expressed as including an explicit description of the chroma component block, such as "chroma block" or "current chroma block".

[0045] In the present disclosure, " / " and "," can be interpreted as "and / or". For example, "A / B" and "A, B" can be interpreted as "A and / or B". Also, "A / B / C" and "A, B, C" can mean "at least one of A, B, and / or C".

[0046] In the present disclosure, "or" can be interpreted as "and / or". For example, "A or B" can mean 1) only "A", 2) only "B", or 3) "A and B". Alternatively, in the present disclosure, "or" can mean "additionally or alternatively".

[0047] In the present disclosure, "at least one of A, B, and C" can mean "only A", "only B", "only C", or "any combination of all of A, B, and C". Also, "at least one of A, B or C" or "at least one of A, B and / or C" can mean "at least one of A, B, and C".

[0048] The parentheses used in this disclosure can mean "for example". For example, when it is displayed as "prediction (intra prediction)", "intra prediction" may be proposed as an example of "prediction". In other words, "prediction" in this disclosure is not limited to "intra prediction", and "intra prediction" may be proposed as an example of "prediction". Also, when it is displayed as "prediction (that is, intra prediction)", "intra prediction" may be proposed as an example of "prediction".

[0049] Overview of the Video Coding System

[0050] FIG. 1 is a diagram schematically showing a video coding system to which an embodiment according to this disclosure can be applied.

[0051] A video coding system according to an embodiment can include an encoding device 10 and a decoding device 20. The encoding device 10 can transmit encoded video and / or image information or data to the decoding device 20 in a file or streaming format via a digital storage medium or a network.

[0052] An encoding device 10 according to an embodiment can include a video source generation unit 11, an encoding unit 12, and a transmission unit 13. A decoding device 20 according to an embodiment can include a reception unit 21, a decoding unit 22, and a rendering unit 23. The encoding unit 12 can be called a video / image encoding unit, and the decoding unit 22 can be called a video / image decoding unit. The transmission unit 13 can be included in the encoding unit 12. The reception unit 21 can be included in the decoding unit 22. The rendering unit 23 can also include a display unit, and the display unit can be configured as a separate device or an external component.

[0053] The video source generation unit 11 can acquire video / images through processes such as video / image capture, synthesis, or generation. The video source generation unit 11 can include a video / image capture device and / or a video / image generation device. The video / image capture device can include, for example, one or more cameras, a video / image archive including previously captured video / images, etc. The video / image generation device can include, for example, a computer, a tablet, and a smartphone, etc., and can (electronically) generate video / images. For example, virtual video / images can be generated via a computer, etc. In this case, the video / image capture process can be replaced by a process in which related data is generated.

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

[0055] The transmission unit 13 can acquire the encoded video / image information or data output in bitstream format, and transmit this in file or streaming format via a digital storage medium or network to the receiving unit 21 of the decoding device 20 or to another external object. The digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray (registered trademark), HDD, SSD, etc. The transmission unit 13 can include elements for generating a media file via a predetermined file format, and can include elements for transmission via a broadcast / communication network. The transmission unit 13 can be provided as a transmission device separate from the encoding unit 120. In this case, the transmission device can include at least one processor that acquires the encoded video / image information or data output in bitstream format and a transmission unit that transmits this in file or streaming format. This receiving unit 21 can extract / receive the bitstream from the storage medium or network and transmit it to the decoding unit 22.

[0056] The decoding unit 22 can decode the video / image by performing a series of procedures such as inverse quantization, inverse transformation, prediction, etc. corresponding to the operation of the encoding unit 12.

[0057] The rendering unit 23 can render the decoded video / image. The rendered video / image can be displayed via the display unit.

[0058] Overview of the Image Encoding Apparatus

[0059] FIG. 2 is a diagram schematically showing an image encoding device to which an embodiment according to the present disclosure can be applied.

[0060] As shown in FIG. 2, the image encoding apparatus 100 can include an image division 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 can be collectively referred to as a "prediction unit". The conversion unit 120, the quantization unit 130, the inverse quantization unit 140, and the inverse conversion unit 150 can be included in a residual processing unit. The residual processing unit can further include the subtraction unit 115.

[0061] All or at least a part of the plurality of components constituting the image encoding apparatus 100 can be realized by one hardware component (e.g., an encoder or a processor) according to an embodiment. Also, the memory 170 can include a DPB (decoded picture buffer) and can be realized by a digital storage medium.

[0062] The image segmentation unit 110 can divide an input image (or picture, frame) input to the image encoding device 100 into one or more processing units. As an example, the processing unit can be called a coding unit (CU). The coding unit can 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, one coding unit can be divided into a plurality of coding units at a deeper depth based on a quadtree structure, a binary tree structure, and / or a ternary tree structure. For the division of the coding unit, the quadtree structure can be applied first, and the binary tree structure and / or the ternary tree structure can be applied later. Based on the final coding unit that cannot be further divided, the coding procedure according to the present disclosure can be performed. The largest coding unit can be used as the final coding unit, and the coding units at a lower depth obtained by dividing the largest coding unit can also be used as the final coding unit. Here, the coding procedure can include procedures such as prediction, transformation, and / or restoration described later. As another example, the processing unit of the coding procedure can be a prediction unit (PU: Prediction Unit) or a transformation unit (TU: Transform Unit). The prediction unit and the transformation unit can be divided or partitioned from the final coding unit respectively. The prediction unit can be a unit of sample prediction, and the transformation unit can be a unit for deriving transformation coefficients and / or a unit for deriving a residual signal from the transformation coefficients.

[0063] The prediction unit (inter prediction unit 180 or intra prediction unit 185) can perform prediction on a processing target block (current block) and generate a predicted block that includes prediction samples for the current block. The prediction unit can determine whether intra prediction is applied in units of the current block or CU, or whether inter prediction is applied. The prediction unit can generate various information related to the prediction of the current block and transmit it to the entropy encoding unit 190. The information related to the prediction can be encoded by the entropy encoding unit 190 and output in the form of a bitstream.

[0064] The intra prediction unit 185 can predict the current block by referring to samples within the current picture. The samples to be referred to can be located in the neighborhood of the current block or at a distance according to the intra prediction mode and / or intra prediction technique. The intra prediction mode can include a plurality of non-directional modes and a plurality of directional modes. The non-directional modes can include, for example, the DC mode and the Planar mode. The directional modes can include, for example, 33 directional prediction modes or 65 directional prediction modes according to the degree of fineness of the prediction direction. However, this is only an example, and more or fewer directional prediction modes can be used based on the setting. The intra prediction unit 185 can also determine the prediction mode to be applied to the current block by using the prediction mode applied to the neighboring blocks.

[0065] 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, in order to reduce the amount of motion information transmitted in the inter prediction mode, the motion information can be predicted in units of blocks, sub-blocks, or samples based on the correlation of motion information between neighboring blocks and the current block. The motion information can include a motion vector and a reference picture index. The motion information can further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter prediction, the neighboring blocks can include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different from each other. The temporal neighboring block can be called by names such as a collocated reference block and a collocated CU (colCU). The reference picture including the temporal neighboring block can be called a collocated picture (colPic). For example, the inter prediction unit 180 can construct a motion information candidate list based on neighboring 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 can be performed based on various prediction modes. For example, in the case of the skip mode and the merge mode, the inter prediction unit 180 can use the motion information of neighboring blocks as the motion information of the current block. In the case of the skip mode, unlike the merge mode, a residual signal cannot be transmitted.In the case of the motion information prediction (motion vector prediction, MVP) mode, the motion vectors of neighboring blocks are used as motion vector predictors, and the motion vector difference and the indicator for the motion vector predictor are encoded to signal the motion vector of the current block. The motion vector difference can mean the difference between the motion vector of the current block and the motion vector predictor.

[0066] The prediction unit can generate a prediction signal based on various prediction methods and / or prediction techniques described below. For example, the prediction unit can apply intra prediction or inter prediction for predicting the current block, and can also apply intra prediction and inter prediction simultaneously. A prediction method that applies intra prediction and inter prediction simultaneously for predicting the current block can be called CIIP (combined inter and intra prediction). In addition, the prediction unit can also perform intra block copy (IBC) for predicting the current block. Intra block copy can be used for content image / video coding such as games, for example, like SCC (screen content coding). IBC is a method of predicting the current block using a restored reference block within the current picture at a position a predetermined distance away from the current block. When IBC is applied, the position of the reference block within the current picture can be encoded as a vector (block vector) corresponding to the predetermined distance. IBC basically performs prediction within the current picture, but can be performed in the same manner as inter prediction in terms of deriving a reference block within the current picture. That is, IBC can use at least one of the inter prediction techniques described in the present disclosure.

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

[0068] The conversion unit 120 can apply a conversion technique to the residual signal to generate transform coefficients. For example, the conversion technique can include at least one of DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), KLT (Karhunen - Loeve Transform), GBT (Graph - Based Transform), or CNT (Conditionally Non - linear Transform). Here, GBT means the transform obtained from a graph when representing the relationship information between pixels as a graph. CNT means the transform obtained based on generating a prediction signal using all previously reconstructed pixels. The conversion process can also be applied to pixel blocks having the same size of a square, and can also be applied to blocks of variable size that are not square.

[0069] The quantization unit 130 can quantize the transform coefficients and transmit them to the entropy encoding unit 190. The entropy encoding unit 190 can encode the quantized signal (information regarding the quantized transform coefficients) and output it in the form of a bit stream. The information regarding the quantized transform coefficients can be called residual information. The quantization unit 130 can reorder the quantized transform coefficients in block form into a one-dimensional vector form based on the coefficient scan order, and can also generate the information regarding the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.

[0070] 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 can also encode, together or separately, information necessary for video / image restoration (for example, values of syntax elements, etc.) in addition to the quantized transform coefficients. The encoded information (for example, encoded video / image information) can be transmitted or stored in the form of a bit stream in units of NAL (network abstraction layer) units. The video / image information can further include information regarding various parameter sets such as an adaptive parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Also, the video / image information can further include general constraint information. The signaling information, the transmitted information, and / or the syntax elements referred to in the present disclosure can be encoded through the above-described encoding procedure and included in the bit stream.

[0071] The bitstream can be transmitted via a network or stored in a digital storage medium. Here, the network can include a broadcast network and / or a communication network, etc., and the digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray (registered trademark), HDD, SSD, etc. A transmission unit (not shown) for transmitting and / or a storage unit (not shown) for storing the signal output from the entropy encoding unit 190 can be provided as internal / external elements of the image encoding apparatus 100, or the transmission unit can also be provided as a component of the entropy encoding unit 190.

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

[0073] The addition unit 155 can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the restored residual signal to the prediction signal output from the inter prediction unit 180 or the intra prediction unit 185. When there is no residual for the processing target block as in the case where the skip mode is applied, the predicted block can be used as the reconstructed block. The addition unit 155 can be called a restoration unit or a reconstructed block generation unit. The generated reconstructed signal can be used for intra prediction of the next processing target block in the current picture and can also be used for inter prediction of the next picture after passing through filtering as described later.

[0074] On the other hand, LMCS (luma mapping with chroma scaling) can also be applied in the picture encoding and / or restoration process.

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

[0076] The modified restored picture transmitted to the memory 170 can be used as a reference picture by the inter prediction unit 180. When inter prediction is applied through this, the image encoding apparatus 100 can avoid prediction mismatches between the image encoding apparatus 100 and the image decoding apparatus, and can also improve the encoding efficiency.

[0077] The DPB in the memory 170 can store the modified restored picture for use as a reference picture by the inter prediction unit 180. The memory 170 can store the motion information of the block in which the motion information in the current picture has been derived (or encoded) and / or the motion information of the block in the already restored picture. The stored motion information can be transmitted to the inter prediction unit 180 for utilization as the motion information of the spatial neighboring block or the motion information of the temporal neighboring block. The memory 170 can store the restored samples of the restored blocks in the current picture and transmit them to the intra prediction unit 185.

[0078] Overview of the Image Decoding Apparatus

[0079] FIG. 3 is a diagram schematically showing an image decoding apparatus to which an embodiment according to the present disclosure can be applied.

[0080] As shown in FIG. 3, the image decoding apparatus 200 can be configured to include an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an addition 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 can be collectively referred to as a "prediction unit". The inverse quantization unit 220 and the inverse transform unit 230 can be included in a residual processing unit.

[0081] All or at least a part of the plurality of components constituting the image decoding apparatus 200 can be realized by one hardware component (for example, a decoder or a processor) according to an embodiment. Further, the memory 170 can include a DPB and can be realized by a digital storage medium.

[0082] The image decoding apparatus 200 that has received a bitstream including video / image information can execute a process corresponding to the process performed by the image encoding apparatus 100 of FIG. 2 to restore an image. For example, the image decoding apparatus 200 can perform decoding using the processing unit applied in the image encoding apparatus. Therefore, the decoding processing unit can be, for example, a coding unit. The coding unit can be obtained by dividing a coding tree unit or a maximum coding unit. Then, the restored image signal decoded and output via the image decoding apparatus 200 can be reproduced via a reproducing apparatus (not shown).

[0083] The image decoding device 200 can receive the signal output from the image encoding device in FIG. 2 in the form of a bit stream. The received signal can be decoded via the entropy decoding unit 210. For example, the entropy decoding unit 210 can parse the bit stream to derive information (e.g., video / image information) necessary for image restoration (or picture restoration). The video / image information can further include information regarding various parameter sets such as an Adaptive Parameter Set (APS), a Picture Parameter Set (PPS), a Sequence Parameter Set (SPS), or a Video Parameter Set (VPS). Also, the video / image information can further include general constraint information. The image decoding device can further use the information regarding the parameter set and / or the general constraint information for decoding an image. The signaling information, the received information, and / or the syntax elements referred to in the present disclosure can be obtained from the bit stream by being decoded through the decoding procedure. For example, the entropy decoding unit 210 can decode the information in the bit stream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and output the value of the syntax element necessary for image restoration and the quantized value of the conversion coefficient regarding the residual. More specifically, the CABAC entropy decoding method receives a bin corresponding to each syntax element from the bit stream, determines a context model using the syntax element information to be decoded, the decoding information of the surrounding blocks and the block to be decoded, or the information of the symbol / bin decoded in the previous step, and performs arithmetic decoding of the bin by predicting the occurrence probability of the bin based on the determined context model, thereby generating 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 information of the decoded symbol / bin for the context model of the next symbol / bin after determining the context model.Of the information decoded by the entropy decoding unit 210, the information related to prediction is provided to the prediction units (inter prediction unit 260 and intra prediction unit 265), and the residual values that have undergone entropy decoding in the entropy decoding unit 210, that is, the quantized transform coefficients and related parameter information, can be input to the inverse quantization unit 220. Also, of the information decoded by the entropy decoding unit 210, the information related to filtering can be provided to the filtering unit 240. On the other hand, a receiving unit (not shown) that receives the signal output from the image encoding device can be further provided as an internal / external element of the image decoding device 200, or the receiving unit can be provided as a component of the entropy decoding unit 210.

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

[0085] In the inverse quantization unit 220, the quantized transform coefficients can be inverse quantized to output the transform coefficients. The inverse quantization unit 220 can reorder the quantized transform coefficients in a two-dimensional block format. In this case, the reordering can be performed based on the coefficient scan order performed in the image encoding device. The inverse quantization unit 220 can perform inverse quantization on the quantized transform coefficients using a quantization parameter (for example, quantization step size information) to obtain the transform coefficients.

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

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

[0088] The prediction unit can generate a prediction signal based on various prediction methods (techniques) described below, which is the same as that described in the explanation of the prediction unit of the image encoding apparatus 100.

[0089] The intra prediction unit 265 can predict the current block by referring to samples within the current picture. The explanation of the intra prediction unit 185 can be similarly applied to the intra prediction unit 265.

[0090] 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, in order to reduce the amount of motion information transmitted in the inter prediction mode, motion information can be predicted in units of blocks, sub-blocks, or samples based on the correlation of motion information between neighboring blocks and the current block. The motion information can include a motion vector and a reference picture index. The motion information can further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter prediction, neighboring blocks can include spatial neighboring blocks existing in the current picture and temporal neighboring blocks existing in the reference picture. For example, the inter prediction unit 260 can construct a motion information candidate list based on 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 the information regarding the prediction can include information indicating the mode (technique) of inter prediction for the current block.

[0091] The adder 235 can generate a restored signal (restored picture, restored block, restored sample array) by adding the obtained residual signal to the predicted signal (predicted block, predicted sample array) output from a prediction unit (including the inter prediction unit 260 and / or the intra prediction unit 265). When there is no residual for the processing target block as in the case where the skip mode is applied, the predicted block can be used as the restored block. The description of the adder 155 can be similarly applied to the adder 235. The adder 235 may also be referred to as a restoration unit or a restored block generation unit. The generated restored signal can be used for intra prediction of the next processing target block in the current picture and can also be used for inter prediction of the next picture through filtering as described later.

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

[0093] The (modified) restored picture stored in the DPB of the memory 250 can be used as a reference picture by the inter prediction unit 260. The memory 250 can store the motion information of the block where the motion information in the current picture has been derived (or decoded) and / or the motion information of the block in the already restored picture. The stored motion information can be transmitted to the inter prediction unit 260 for utilization as the motion information of the spatial neighboring blocks or the motion information of the temporal neighboring blocks. The memory 250 can store the restored samples of the restored blocks in the current picture and can transmit them to the intra prediction unit 265.

[0094] In this specification, the embodiments described in the filtering unit 160, the inter prediction unit 180, and the intra prediction unit 185 of the image encoding apparatus 100 can be similarly or correspondingly applied to the filtering unit 240, the inter prediction unit 260, and the intra prediction unit 265 of the image decoding apparatus 200, respectively.

[0095] Overview of Image Partitioning

[0096] The video / image coding method according to the present disclosure can be performed based on the division structure of the following image. Specifically, procedures such as the above-described prediction, residual processing ((inverse) transformation, (inverse) quantization, etc.), syntax element coding, filtering, etc. can be performed based on CTUs, CUs (and / or TUs, PUs) derived based on the division structure of the image. The image can be divided in block units, and the block division procedure can be performed in the image division unit 110 of the above-described image coding apparatus 100. The division-related information can be coded by the entropy coding unit 190 and transmitted to the image decoding apparatus 200 in the form of a bitstream. The entropy decoding unit 210 of the image decoding apparatus 200 derives the block division structure of the current picture based on the division-related information obtained from the bitstream, and based on this, a series of procedures for image decoding (for example, prediction, residual processing, block / picture restoration, in-loop filtering, etc.) can be performed.

[0097] According to the present disclosure, the CU size and the TU size may be the same. Or, a plurality of TUs may exist within the CU region. On the other hand, the CU size can generally indicate the luma component (sample) CB size. The TU size can generally indicate the luma component (sample) TB size. The chroma component (sample) CB or TB size can be derived based on the luma component (sample) CB or TB size according to the component ratio according to the color format (chroma format, for example, 4:4:4, 4:2:2, 4:2:0, etc.) of the picture / image. The TU size can be derived based on maxTbSize. For example, when the CU size is larger than the maxTbSize, a plurality of TUs (TBs) of the maxTbSize can be derived from the CU, and conversion / inverse conversion can be performed in units of the TU (TB). Also, for example, when intra prediction is applied, the intra prediction mode / type is derived in units of the CU (or CB), and the procedure for deriving peripheral reference samples and generating prediction samples can be performed in units of the TU (or TB). In this case, one or a plurality of TUs (or TBs) can exist within one CU (or CB) region. In this case, the plurality of TUs (or TBs) can share the same intra prediction mode / type.

[0098] Also, in the video / image coding according to the present disclosure, the image processing unit can have a hierarchical structure. One picture can be divided into one or more tiles, bricks, slices, and / or tile groups. One slice can include one or more bricks. One brick can include one or more CTU rows within a tile. A slice can include an integer number of bricks of a picture. One tile group can include one or more tiles. One tile can include one or more CTUs. The CTU can be divided into one or more CUs. A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture. A tile group can include an integer number of tiles by a tile raster scan within a picture. A slice header can carry information / parameters applicable to the slice (blocks within the slice). When the image encoding device 100 or the image decoding device 200 has a multi-core processor, the encoding / decoding procedures for the tile, slice, brick, and / or tile group can be processed in parallel. In this document, a slice or a tile group can be used interchangeably. That is, a tile group header can be called a slice header. Here, a slice can have one of the slice types including an intra (I) slice, a predictive (P) slice, and a bi-predictive (B) slice. For blocks within an I slice, only intra prediction can be used for prediction, and inter prediction cannot be used. Of course, in this case, the original sample values can also be coded and signaled without prediction. For blocks within a P slice, either intra prediction or inter prediction can be used, and when inter prediction is used, only uni prediction can be used.For blocks within a B slice, intra prediction or inter prediction can be used, and when inter prediction is used, up to maximum bi-prediction can be used.

[0099] In the video encoder 100, according to the characteristics of the video image (e.g., resolution), or considering coding efficiency or parallel processing, tile / tile group, block, slice, maximum and minimum coding unit sizes are determined, and information regarding this or information that can derive this can be included in the bitstream.

[0100] In the video decoder 200, information indicating whether the current picture's tile / tile group, block, slice, and CTUs within the tile are divided into a number of coding units can be obtained. If such information is obtained (transmitted) only under specific conditions, efficiency can be improved.

[0101] The slice header (slice header syntax) can include information / parameters applicable in common to the slice. APS (APS syntax) or PPS (PPS syntax) can include information / parameters applicable in common to one or more pictures. The SPS (SPS syntax) can include information / parameters applicable in common to one or more sequences. The VPS (VPS syntax) can include information / parameters applicable in common to multiple layers. The DPS (DPS syntax) can include information / parameters applicable in common to the entire video. The DPS can include information / parameters related to the concatenation of CVS (coded video sequence).

[0102] In the present disclosure, the upper-level syntax may include at least one of the APS syntax, PPS syntax, SPS syntax, VPS syntax, DPS syntax, and slice header syntax. Further, for example, information regarding the division and configuration of the tiles / tile groups / blocks / slices, etc. can be configured in the image encoding device 100 via the upper-level syntax and transmitted to the image decoding device 200 in the form of a bitstream.

[0103] Partitioning of Pictures into subpictures, slices, and tiles

[0104] A picture can be divided into one or more tile rows and / or one or more tile columns. A tile can be a sequence of CTUs that cover a rectangular region of a picture. The CTUs within one tile can be scanned in raster scan order within the tile.

[0105] A slice can be composed of an integer number of complete tiles, or can be composed of an integer number of consecutive CTU rows contained within a tile of a picture. A slice can exist in two modes: the raster scan slice mode and the rectangular slice mode. In the raster scan slice mode, one slice can include one or more tiles aligned in raster scan within a picture. In the rectangular slice mode, one slice can include an integer number of complete tiles that form a rectangular region within a picture, or can include an integer number of consecutive complete CTU rows within one tile that forms a rectangular region of a picture. The tiles within a rectangular slice can be scanned in raster scan order within the region of the rectangular slice.

[0106] One sub-picture can include one or more slices that overall cover a rectangular slice region within a picture.

[0107] FIG. 4 is a diagram showing an example of how a picture is divided into raster scan slices and tiles. In FIG. 4, the thick lines indicate the boundaries of the slices, the thin lines can mean the boundaries of the tiles, and the dashed lines can mean the boundaries of the CTUs. The picture in FIG. 4 can be divided into 12 tiles. Also, the picture in FIG. 4 can be divided into 3 raster scan slices.

[0108] FIG. 5 is a diagram showing an example of how a picture is divided into rectangular slices. In FIG. 5, the thick lines indicate the boundaries of the slices, the thin lines can mean the boundaries of the tiles, and the dashed lines can mean the boundaries of the CTUs. The picture in FIG. 5 can be divided into 24 tiles (6 tile columns and 4 tile rows). Also, the picture in FIG. 5 can be divided into 9 rectangular slices.

[0109] FIG. 6 is a diagram showing an example of how a picture is divided into tiles and rectangular slices. In FIG. 6, the thick lines indicate the boundaries of the slices, the thin lines can mean the boundaries of the tiles, and the dashed lines can mean the boundaries of the CTUs. The picture in FIG. 6 can be divided into 4 tiles (2 tile columns and 2 tile rows). Also, the picture in FIG. 6 can be divided into 4 rectangular slices. According to the present disclosure, one tile can include a plurality of slices.

[0110] FIG. 7 is a diagram showing an example of picture division. According to FIG. 7, a picture can be divided into 28 sub - pictures having various sizes. Specifically, the picture can be divided into 20 sub - pictures existing in the 710 region and 8 sub - pictures existing in the 720 region. The sizes of the sub - pictures existing in the 710 region and the sub - pictures existing in the 720 region can be different. The present disclosure is not limited thereto, and a picture can be divided into sub - pictures of various sizes and various numbers.

[0111] When a picture is encoded using three separate hue planes (when the value of separate_colour_plane_flag is 1), one slice can contain only the CTUs of one hue component identified by the corresponding value of colour_plane_id, and each hue component arrangement of the picture can be composed of slices having the same colour_plane_id value. Encoded slices having other colour_plane_id values within the picture can be interleaved with each other under specific constraints. Here, the specific constraint can be that for the value of colour_plane_id, the encoded slice NAL units having the value of colour_plane_id are scanned in the order of increasing CTU addresses within the tile scan order for the first CTU of each encoded slice NAL unit.

[0112] When the value of separate_colour_plane_flag is 0, each CTU within the picture can be included in one slice. When the value of separate_colour_plane_flag is 1, the CTUs of each hue component can be included in one slice (i.e., the information for each CTU within the picture can exist in three slices. Here, the values of colour_plane_id for the three slices can be different).

[0113] Figure 8 is a diagram showing an example of how a picture is divided into tiles. The picture in Figure 8 can be divided into two tiles. Here, each tile can be divided into 8 CTUs. Tiles can change the scan order of the CTUs within the picture. When a picture is divided into two or more tiles as shown in Figure 8, the scan order of the CTUs can be the raster scan order. For example, the picture in Figure 8 can be scanned in the order from 0 to 15. That is, the scan order of the CTUs within each tile can be the raster scan order.

[0114] Arbitrary slice ordering(ASO)

[0115] The scan order of slices within a picture can generally be the raster scan order. However, the scan order of slices within a picture may be any scan order (Arbitrary Scan Order, ASO).

[0116] FIG. 9 is a diagram showing the scan order of slices within a picture according to an embodiment of the present disclosure. The picture in FIG. 9 can be divided into three slices 910, 920, and 930. The first slice 910 can be divided into 14 coded blocks (i.e., CTUs). The second slice 920 can be divided into 21 coded blocks (i.e., CTUs). The third slice 930 can be divided into 7 coded blocks (i.e., CTUs). When the slices within the picture are scanned in raster scan order (940), the scan order of the slices within the picture can be the first slice 910, the second slice 920, and the third slice 930 in that order. On the other hand, when the slices within the picture are scanned in an arbitrary slice order (950), the scan order of the slices within the picture can be the second slice 920, the third slice 930, and the first slice 910 in that order.

[0117] Problems of the Prior Art

[0118] Conventionally, as long as the sub-picture does not violate specific conditions, the scan order of the sub-picture has not been restricted to the raster scan order. Here, the specific conditions are as follows. The shape of the sub-picture must be such that the entire left boundary and the entire upper boundary of the sub-picture constitute the boundary of the picture or the boundary of a previously decoded sub-picture.

[0119] FIG. 10 is a diagram showing the structure of a sub-picture according to an embodiment of the present disclosure. The picture in FIG. 10 includes six sub-pictures 1010, 1020, 1030, 1040, 1050, and 1060. When the scanning order of the sub-pictures is the raster scanning order, the sub-pictures can be scanned in the order of 1010, 1020, 1030, 1040, 1050, 1060. Alternatively, when the scanning order of the sub-pictures is not the raster scanning order, the sub-pictures can be scanned in the order of 1010, 1040, 1020, 1050, 1030, 1060.

[0120] Generally, the image decoding apparatus 200 can be optimally realized under the assumption that the scanning order of a block (i.e., CTU, slice, sub-picture, etc.) is the raster scanning order. However, when the scanning order of the block is not the raster scanning order, additional steps or processes may be required. Therefore, if the scanning order of the sub-pictures is determined in the bitstream before actual decoding starts, the image decoding efficiency can be increased. Thus, the image encoding apparatus 100 can signal specific information via the bitstream so that the image decoding apparatus 200 can know the actual scanning order of the sub-pictures. Alternatively, specific restriction conditions related to the scanning order can be included in the bitstream so that the image decoding apparatus 200 can know the actual scanning order of the sub-pictures. Hereinafter, embodiments of the present disclosure will be described with reference to the examples.

[0121] Examples

[0122] Embodiments of the present disclosure can include the following features.

[0123] 1. The image decoding apparatus 200 can signal a flag (hereinafter referred to as a "scanning order flag") indicating whether the scanning order of the sub-pictures is the raster scanning order.

[0124] 2. The scan order flag can indicate not only the scan order of sub - pictures, but also the scan order of other partitioning units (i.e., slices, tiles, CTUs, CUs, etc.). That is, the scan order flag can contain information regarding the partitioning unit.

[0125] 3. The scan order flag can be restricted to exist only when the number of sub - pictures exceeds two. Or, when there are two or fewer sub - pictures, it can be restricted to indicate that the value of the scan order flag is the raster scan order.

[0126] 4. The scan order flag can be signaled from at least one of SPS (Sequence Parameter Set), GCI (General Constraints Information), SEI (Supplemental Enhancement Information) message, or VUI (Video Usage Information).

[0127] 5. When the scan order flag is signaled from an SEI message, the scope of the SEI message can be for one or more CVSs (Coded Video Sequences). In this case, the scan order flag can indicate whether the scan order of sub - pictures for consecutive CVSs is the raster scan order. More specifically, the scan order flag is applicable to consecutive CVSs until it is replaced by another SEI message of the same type. If the scan order flag exists within the SEI message, the SEI message can be restricted to exist before the first VCL NAL unit within the CVS.

[0128] 6. Instead of signaling a scan order flag to indicate the scan order of sub - pictures, if the bit - stream can have a raster scan order for a given structure of sub - pictures, the scan order of the sub - pictures can be restricted to the raster scan order. That is, if the structure of the sub - picture meets certain conditions, the scan order of the sub - picture can be restricted to the raster scan order.

[0129] The above feature has been described with reference to the image decoding apparatus 200, but it is also applicable to the image encoding apparatus 100. Also, although the flag described above has been described as a flag related to sub - pictures, it is also applicable to other partitioning units (i.e., slices, tile CTUs, CUs, etc.).

[0130] FIG. 11 is a flowchart showing the order of image encoding according to an embodiment of the present invention. Referring to FIG. 11, the image encoding apparatus 100 can determine whether information regarding sub - pictures exists in the bit - stream (S1110).

[0131] The image encoding device 100 can determine the scanning order of sub-pictures (S1120). According to an embodiment of the present disclosure, based on the determined scanning order of sub-pictures, the image encoding device 100 can encode a flag indicating the scanning order of sub-pictures (hereinafter referred to as the "second flag"). Here, the second flag can be various flags such as sps_subpics_in_raster_scan_order_flag, gci_subpictures_in_raster_scan_only_constraint_flag, soi_subpics_in_raster_scan_order_flag, poi_partitioning_units_in_raster_scan_order_flag. Further, the second flag can be a flag indicating the scanning order of various division units as well as sub-pictures. According to another embodiment of the present disclosure, the scanning order of sub-pictures can be determined based on the form of sub-pictures. In this case, the encoding of the second flag can be skipped.

[0132] FIG. 12 is a flowchart showing the order of image decoding according to an embodiment of the present invention. Referring to FIG. 12, the image decoding device 200 can obtain a first flag (S1210). Here, the first flag can be a flag indicating whether information regarding sub-pictures exists in the bitstream (that is, sps_subpic_info_present_flag, GCI_present_flag).

[0133] The image decoding device 200 can determine the scanning order of sub-pictures (S1220). According to an embodiment of the present disclosure, the image decoding device 200 can obtain the second flag from the bitstream. In this case, the scanning order of sub-pictures can be determined based on the second flag. According to another embodiment of the present invention, the image decoding device 200 can skip the process of obtaining the second flag from the bitstream. In this case, the scanning order of sub-pictures can be determined based on the form of sub-pictures.

[0134] Hereinafter, various embodiments combining the main features of the present disclosure will be described. The embodiments according to the present disclosure are not limited to the following embodiments, and the features 1 to 6 described above may be combined in various ways.

[0135] According to an embodiment of the present disclosure, by signaling a second flag, additional procedures or processes for confirming (or determining) the scan order of the split unit can be omitted. Thereby, the present disclosure can improve the encoding performance and efficiency. Also, when the form of the split unit satisfies a predetermined condition, the encoding efficiency can be improved by skipping the signaling of the second flag.

[0136] Example 1

[0137] According to the present disclosure, the image encoding device 100 or the image decoding device 200 can signal a flag indicating the scan order of the split unit via the SPS. The following Table 1 can show the SPS syntax structure to which Example 1 can be applied. The syntax structure of Table 1 can be applied to the embodiments according to FIG. 13 or FIG. 14.

[0138]

Table 1

[0139] FIG. 13 is a flowchart of an image encoding method for determining a scan order according to an embodiment of the present invention. The image encoding device 100 can encode a first flag (S1310). Here, the first flag can be sps_subpic_info_present_flag. Also, the first flag can be signaled via the SPS.

[0140] The image encoding device 100 can encode a flag indicating the number of sub-pictures (S1320). At this time, the number of sub-pictures can be determined based on the first flag. Here, the flag indicating the number of sub-pictures can be sps_num_subpics_minus 1. Also, the flag indicating the number of sub-pictures can be signaled via the SPS.

[0141] The image encoding device 100 can check whether the number of sub-pictures exceeds two (S1330). If the number of sub-pictures exceeds two (YES in step S1330), the image encoding device 100 can determine the scan order of the sub-pictures (S1340). On the other hand, if the number of sub-pictures does not exceed two (that is, if the number of sub-pictures is two or less) (NO in step S1330), the image encoding device 100 can end the procedure.

[0142] The image encoding device 100 can encode a second flag based on the determined scan order of the sub-pictures (S1350). Here, the second flag can be sps_subpics_in_raster_scan_order_flag. When the value of the second flag is 1, the scan order of the sub-pictures in the CLVS may be the raster scan order. When the value of the second flag is 0, the scan order of the sub-pictures in the CLVS may not be the raster scan order. Or, when the value of the second flag is 0, the scan order of the sub-pictures in the CLVS may not be restricted to the raster scan order.

[0143] Each step in FIG. 13 is not restricted by the order as described above, and the order of each step can be changed. Or, each step may be performed simultaneously. For example, step S1310 and step S1320 may be performed at any step after step S1330, or may be performed simultaneously.

[0144] FIG. 14 is a flowchart of an image decoding method for determining a scanning order according to an embodiment of the present invention. Referring to FIG. 14, an image decoding apparatus 200 can obtain a first flag (S1410). Here, the first flag may be sps_subpic_info_present_flag. Also, the first flag can be obtained via the SPS.

[0145] The image decoding apparatus 200 can check whether information about sub-pictures exists in the CLVS (S1420). That is, based on the first flag, the image decoding apparatus 200 can check whether information about sub-pictures exists in the CLVS. For example, when the value of the first flag is 1, information about sub-pictures may exist in the CLVS. When the value of the first flag is 0, information about sub-pictures may not exist in the CLVS.

[0146] When information about sub-pictures exists in the CLVS (YES in step S1420), the image decoding apparatus 200 can obtain a flag indicating the number of sub-pictures (S1430). Here, the flag indicating the number of sub-pictures may be sps_num_subpics_minus1. Also, the flag indicating the number of sub-pictures can be obtained via the SPS. On the other hand, when information about sub-pictures does not exist in the CLVS (NO in step S1420), the image decoding apparatus 200 can end the procedure.

[0147] The image decoding device 200 can check whether the number of sub-pictures exceeds two (S1440). At this time, whether the number of sub-pictures exceeds two can be determined based on a flag indicating the number of sub-pictures. If the number of sub-pictures does not exceed two (NO in step S1440), the image decoding device 200 can end the corresponding procedure. On the contrary, if the number of sub-pictures exceeds two (YES in step S1440), the image decoding device 200 can obtain a second flag (S1450). Here, the second flag can be sps_subpics_in_raster_scan_order_flag. According to an embodiment of the present disclosure, the second flag can be obtained via the SPS.

[0148] The image decoding device 200 can determine the scan order of sub-pictures (S1460). The scan order of sub-pictures can be determined based on the second flag. For example, when the value of the second flag is 1, the scan order of sub-pictures in the CLVS can be the raster scan order. When the value of the second flag is 0, the scan order of sub-pictures in the CLVS can be restricted to other scan orders except the raster scan order.

[0149] According to another embodiment of the present disclosure, when the value of the second flag is 0, the scan order of sub-pictures in the CLVS may not be the raster scan order. That is, when the value of the second flag is 0, the scan order of sub-pictures in the CLVS may or may not be the raster scan order.

[0150] According to the embodiment of the present disclosure, by signaling the second flag, additional procedures and processes for checking (or determining) the scan order of the splitting unit can be omitted. Thereby, the present disclosure can improve the coding performance and efficiency.

[0151] Example 2

[0152] According to the present disclosure, the image encoding apparatus 100 or the image decoding apparatus 200 can signal a flag indicating the scan order of the partitioning units via the GCI. Table 2 below can show the GCI syntax structure to which Example 2 is applicable. The syntax structures of Table 2 and Table 3 can be applied to the examples according to FIG. 15 or FIG. 16.

[0153]

Table 2

[0154]

Table 3

[0155] FIG. 15 is a flowchart of an image encoding method for determining a scan order according to an embodiment of the present invention. The image encoding apparatus 100 can encode a first flag (S1510). Here, the first flag can be the gci_present_flag. The gci_present_flag can be a flag indicating whether a GCI syntax element exists within the GCI syntax structure.

[0156] The image encoding apparatus 100 can determine the scan order of each partitioning unit (S1520). Here, each partitioning unit can mean a slice, a tile, a CTU, a CU, etc. The scan order of each partitioning unit can be determined based on the first flag.

[0157] The image encoding device 100 can encode a second flag (S1530). According to an embodiment of the present disclosure, the second flag can be gci_partitioning_units_in_raster_scan_only_constraint_flag. When the value of gci_partitioning_units_in_raster_scan_only_constraint_flag is 1, the scan order of each partition unit can be restricted to the raster scan order. When the value of gci_partitioning_units_in_raster_scan_only_constraint_flag is 0, the scan order of each partition unit may not be restricted to the raster scan order.

[0158] According to another embodiment of the present disclosure, the second flag can be gci_subpictures_in_raster_scan_only_constraint_flag. When the value of gci_subpictures_in_raster_scan_only_constraint_flag is 1, the scan order of the subpicture can be restricted to the raster scan order. When the value of gci_subpictures_in_raster_scan_only_constraint_flag is 0, the scan order of the subpicture may not be restricted to the raster scan order.

[0159] Each step in FIG. 15 is not restricted to the above-described order, and the order of each step can be changed. Alternatively, each step may be performed simultaneously. For example, the order of step S1510 and step S1520 may be interchanged, and the present disclosure is not limited thereto.

[0160] FIG. 16 is a flowchart of an image decoding method for determining a scan order according to an embodiment of the present invention. The image decoding device 200 can obtain a first flag. Here, the first flag can be gci_present_flag. gci_present_flag can be a flag indicating whether a GCI syntax element exists within a GCI syntax structure.

[0161] The image decoding device 200 can check whether a GCI syntax element exists in the GCI syntax structure (S1620). Whether the GCI syntax element exists in the GCI syntax structure can be determined based on a first flag. If the GCI syntax element does not exist in the GCI syntax structure (NO in step S1620), the image decoding device 200 can end the procedure. On the other hand, if the GCI syntax element exists in the GCI syntax structure (YES in step S1620), the image decoding device 200 can obtain a second flag (S1630). According to an embodiment of the present disclosure, the second flag can be gci_partitioning_units_in_raster_scan_only_constraint_flag. When the value of gci_partitioning_units_in_raster_scan_only_constraint_flag is 1, the scan order of each partition unit can be restricted to the raster scan order. When the value of gci_partitioning_units_in_raster_scan_only_constraint_flag is 0, the scan order of each partition unit may not be restricted to the raster scan order.

[0162] According to another embodiment of the present disclosure, the second flag can be gci_subpictures_in_raster_scan_only_constraint_flag. When the value of gci_subpictures_in_raster_scan_only_constraint_flag is 1, the scan order of the subpicture can be restricted to the raster scan order. When the value of gci_subpictures_in_raster_scan_only_constraint_flag is 0, the scan order of the subpicture may not be restricted to the raster scan order. The second flag can be obtained via GCI.

[0163] The image decoding device 200 can determine the scan order of each divided unit (S1640). The scan order of each divided unit can be determined based on the second flag. When the value of the second flag is 1, the scan order of each divided unit can be restricted to the raster scan order. In contrast, when the value of the second flag is 0, the scan order of each divided unit does not have to be restricted to the raster scan order.

[0164] According to the embodiments of the present disclosure, by signaling the second flag, additional procedures or processes for checking (or determining) the scan order of the divided units can be omitted. Thereby, the present disclosure can improve the encoding performance and efficiency.

[0165] Example 3

[0166] According to the present disclosure, the image encoding device 100 or the image decoding device 200 can signal the second flag via an SOI (Subpicture Order Information) SEI message or a POI (Partitioning unit Order Information) SEI message. Table 4 below shows the syntax structure of the SOI SEI message to which Example 3 can be applied. Table 5 below shows the syntax structure of the POI SEI message to which Example 3 can be applied. The syntax structures of Table 4 and Table 5 can be applied to the embodiments according to FIG. 17 or FIG. 18.

[0167]

Table 4

[0168]

Table 5

[0169] According to the present disclosure, the SOI SEI message can include information regarding the order of sub-pictures within a picture. Here, a sub-picture can be included in a picture within the set of CVSs of the OLS to which the SEI message displayed by targetCVss is applied when testing the compliance of an extracted bitstream including a sub-picture sequence. The OLS to which the SOI message is applied can be an applicable OLS or an associated OLS. The CVS referred to in the present disclosure can mean the CVS of an applicable OLS, but is not limited thereto, and the CVS can be an associated OLS.

[0170] If the SOI SEI message exists for all AUs (access units) of a CVS, the SOI SEI message can exist for the first AU of the CVS and can exist before the first VCL NAL unit of the AU. Even if the SOI SEI message does not exist for all AUs of the CVS, the SOI SEI message can exist in the bitstream or can be provided via other external means not specified in the present disclosure. Even in such a case, the SOI SEI message can exist for the first AU of the CVS and can exist before the first VCL NAL unit of the AU. The decoding order of the SOI SEI message can be sustained until the next AU including content different from the current SOI SEI message from the current AU. That is, the SOI SEI message can be applied until the next AU including a flag different from the current SOI SEI message from the current AU. Or, the decoding order of the SOI SEI message can be sustained from the current AU to the end of the bitstream. That is, the same flag (a flag indicating the scan order) of the SOI SEI message can be applied from the current AU to the end of the bitstream. According to the present disclosure, all SOI SEI messages applied to the same CVS can have the same content.

[0171] According to other embodiments of the present disclosure, the POI SEI message can include information regarding the order of sub-pictures within a picture. Here, the sub-picture can be included in a picture within the CVS of the OLS to which the SEI message indicated by targetCvss is applied when testing the compliance of an extracted bitstream including a sub-picture sequence. The OLS to which the POI message is applied can be an available OLS or an Associated OLS. The CVS mentioned in the present disclosure can mean the CVS of an applicable OLS, but is not limited thereto, and the CVS can be a related OLS.

[0172] If a POI SEI message exists for all AUs of a CVS, the POI SEI message can exist for the first AU of the CVS and can exist before the first VCL NAL unit of the AU. Even if a POI SEI message does not exist for all AUs of the CVS, the POI SEI message can exist in the bitstream or can be provided via other external means not specified in the present disclosure. Even in such a case, the POI SEI message can exist for the first AU of the CVS and can exist before the first VCL NAL unit of the AU. The decoding order of the POI SEI message can be maintained until the next AU including content different from the current POI SEI message from the current AU. That is, the POI SEI message can be applied until the next AU including a flag different from the current POI SEI message from the current AU. Or, the decoding order of the POI SEI message can be maintained from the current AU to the end of the bitstream. That is, the same flag (a flag indicating a scan order) can be applied to the POI SEI message from the current AU to the end of the bitstream. According to the present disclosure, all POI SEI messages applied to the same CVS can have the same content.

[0173] FIG. 17 is a flowchart of an image encoding method for determining a scan order according to an embodiment of the present invention. The image encoding apparatus 100 can determine a scan order of sub-pictures (S1710). Specifically, the image encoding apparatus 100 can determine whether the scan order of the sub-pictures is a raster scan order.

[0174] The image encoding apparatus 100 can encode a second flag into the SEI message (S1720). According to an embodiment of the present disclosure, the second flag may be soi_subpics_in_raster_scan_order_flag. When the value of soi_subpics_in_raster_scan_order_flag is 1, the scan order of the sub-pictures may be a raster scan order. When the value of soi_subpics_in_raster_scan_order_flag is 0, the scan order of the sub-pictures may not be a raster scan order. Or, when the value of soi_subpics_in_raster_scan_order_flag is 0, the scan order of the sub-pictures may not be limited to a raster scan order.

[0175] According to another embodiment of the present disclosure, the second flag may be poi_partitioning_units_in_raster_scan_order_flag. When the value of poi_partitioning_units_in_raster_scan_order_flag is 1, the scan order of sub-pictures may be the raster scan order. When the value of poi_partitioning_units_in_raster_scan_order_flag is 0, the scan order of sub-pictures may not be the raster scan order. Or, when the value of poi_partitioning_units_in_raster_scan_order_flag is 0, the scan order of sub-pictures may not be restricted to the raster scan order. The SEI message for signaling the second flag may be an SOI SEI message or a POI SEI message, and the present disclosure is not limited thereto.

[0176] FIG. 18 is a flowchart of an image decoding method for determining a scan order according to an embodiment of the present invention. The image decoding apparatus 200 can obtain a second flag from an SEI message (S1810). Here, the second flag may be soi_subpics_in_raster_scan_order_flag or poi_partitioning_units_in_raster_scan_order_flag. The SEI message for signaling the second flag may be an SOI SEI message or a POI SEI message, and the present disclosure is not limited thereto.

[0177] The image decoding apparatus 200 can determine the scan order of sub-pictures (S1820). Specifically, the scan order of sub-pictures can be determined based on the second flag. When the value of the second flag is 1, the scan order of sub-pictures may be the raster scan order. When the value of the second flag is 0, the scan order of sub-pictures may not be the raster scan order. Or, when the value of the second flag is 0, the scan order of sub-pictures may not be restricted to the raster scan order.

[0178] According to an embodiment of the present disclosure, by signaling a second flag, additional procedures or processes for checking (or determining) the scan order of the split units can be omitted. Thereby, the present disclosure can improve coding performance and efficiency.

[0179] Example 4

[0180] According to an embodiment of the present disclosure, when the sub-picture has a specific form, signaling of the second flag can be skipped. That is, when the sub-picture has a specific form, the second flag is not signaled, and the scan order can be determined or restricted to a predetermined scan order.

[0181] For example, when the entire left boundary and the entire upper boundary of the sub-picture are composed of the boundaries of the picture or the boundaries of the previously decoded sub-picture (when the sub-picture has a specific form), signaling of the second flag can be skipped. In this case, the scan order of the sub-picture can be restricted to the raster scan order. The forms of the sub-picture for which it is possible to restrict the signaling of the second flag can be various.

[0182] FIG. 19 is a diagram showing the structure of a sub-picture according to an embodiment of the present disclosure. According to an embodiment of the present disclosure, when the upper offset of the first CTU 1930 of the sub-picture A1910 is smaller than the upper offset of the first CTU 1940 of the sub-picture B1920 and the entire left boundary and the entire upper boundary of the sub-picture A1920 coincide with the boundaries of the picture, signaling of the second flag can be skipped. In this case, the scan order of the sub-picture can be restricted to the raster scan order.

[0183] According to other embodiments of the present disclosure, if the upper offset of the first CTU 1930 of sub-picture A1910 is smaller than the upper offset of the first CTU 1940 of sub-picture B1920, and the entire left and upper boundaries of sub-picture A1920 are directly or indirectly composed of the boundaries of the sub-pictures where sub-picture B should be decoded first, the signaling of the second flag can be skipped. That is, if the upper offset of the first CTU 1930 of sub-picture A1910 is smaller than the upper offset of the first CTU 1940 of sub-picture B1920, and it constitutes the boundary of the sub-pictures to be decoded after sub-picture B, the signaling of the second flag can be skipped. In this case, the scan order of the sub-pictures can be restricted to the raster scan order.

[0184] According to other embodiments of the present disclosure, if the upper offset of the first CTU 1930 of sub-picture A1910 is the same as the upper offset of the first CTU 1940 of sub-picture B1920, and the left offset of the first CTU 1930 of sub-picture A1910 is even smaller than the left offset of the first CTU 1940 of sub-picture B1920, and the entire left and upper boundaries of sub-picture A1920 coincide with the boundaries of the picture, the signaling of the second flag can be skipped. In this case, the scan order of the sub-pictures can be restricted to the raster scan order.

[0185] According to another embodiment of the present disclosure, if the upper offset of the first CTU 1930 of sub-picture A1910 is the same as the upper offset of the first CTU 1940 of sub-picture B1920, the left offset of the first CTU 1930 of sub-picture A1910 is smaller than the left offset of the first CTU 1940 of sub-picture B1920, and the entire left and upper boundaries of sub-picture A1920 are directly or indirectly composed of the boundaries of the sub-picture where sub-picture B should be decoded first, the signaling of the second flag can be skipped. That is, if the upper offset of the first CTU 1930 of sub-picture A1910 is the same as the upper offset of the first CTU 1940 of sub-picture B1920, the left offset of the first CTU 1930 of sub-picture A1910 is smaller than the left offset of the first CTU 1940 of sub-picture B1920, and it constitutes the boundary of the sub-picture to be decoded after sub-picture B, the signaling of the second flag can be skipped. In this case, the scan order of the sub-pictures can be restricted to the raster scan order.

[0186] According to another embodiment of the present disclosure, if sub-picture A1910 is decoded before sub-picture B1920 and the upper offset of the first CTU 1930 of sub-picture A1910 is smaller than the upper offset of the first CTU 1940 of sub-picture B1920, the signaling of the second flag can be skipped.

[0187] According to another embodiment of the present disclosure, if sub-picture A1910 is decoded before sub-picture B1920, the upper offset of the first CTU 1930 of sub-picture A1910 is the same as the upper offset of the first CTU 1940 of sub-picture B1920, and the left offset of the first CTU 1930 of sub-picture A1910 is smaller than the left offset of the first CTU 1940 of sub-picture B1920, the signaling of the second flag can be skipped. In this case, the scan order of the sub-pictures can be restricted to the raster scan order.

[0188] FIG. 20 is a flowchart of a process for determining the scan order of sub-pictures according to an embodiment of the present disclosure. Hereinafter, the embodiment according to FIG. 20 has been described as being performed by the image encoding device 100, but the corresponding operation or the same operation can be performed by the image decoding device 200.

[0189] The image encoding device 100 can check whether the upper offset of the first CTU in the first sub-picture is equal to or greater than the upper offset of the first CTU in the second sub-picture (S2010). If the upper offset of the first CTU in the first sub-picture is smaller than the upper offset of the first CTU in the second sub-picture (NO in step S2010), the image encoding device 100 can end the procedure. Here, the upper offset can mean the distance between the upper boundary of the first sub-picture and the upper boundary of the CTU or the y coordinate of the CTU.

[0190] If the upper offset of the first CTU in the first sub-picture is equal to or greater than the upper offset of the first CTU in the second sub-picture (YES in step S2010), the image encoding device 100 can check whether the left offset of the first CTU in the first sub-picture is smaller than the left offset of the first CTU in the second sub-picture (S2020). Here, the left offset can mean the distance between the left boundary of the first sub-picture and the left boundary of the CTU or the x coordinate of the CTU. If the left offset of the first CTU in the first sub-picture is equal to or greater than the left offset of the first CTU in the second sub-picture (NO in step S2020), the image encoding device 100 can end the procedure.

[0191] When the left offset of the first CTU in the first sub-picture is smaller than the left offset of the first CTU in the second sub-picture (YES in step S2020), the image encoding apparatus 100 can determine the scan order of the sub-pictures in raster scan order (S2030). In this case, the image encoding apparatus 100 can skip the encoding of the second flag.

[0192] The order of the steps in FIG. 20 is not limited to the above order. The order of each step may be changed or may be performed simultaneously. For example, step S2010 and step S2020 can be performed with their order changed or simultaneously.

[0193] According to the embodiments of the present disclosure, when the form of the division unit satisfies a predetermined condition, the encoding efficiency can be improved by skipping the signaling of the second flag.

[0194] The exemplary method of the present disclosure is represented by a series of operations for clarity of explanation, but this is not for limiting the order in which the steps are performed. If necessary, each step can also be performed simultaneously or in a different order. To implement the method according to the present disclosure, it can further include other steps in the exemplified steps, or include the remaining steps except some steps, or include additional other steps except some steps.

[0195] In the present disclosure, an image encoding apparatus or an image decoding apparatus that performs a predetermined operation (step) can perform an operation (step) of checking the execution conditions and situations of the operation (step). For example, when it is described that a predetermined operation is performed when a predetermined condition is satisfied, the image encoding apparatus or the image decoding apparatus can perform the operation of checking whether the predetermined condition is satisfied, and then perform the predetermined operation.

[0196] The various embodiments of the present disclosure do not list all possible combinations, but are for explaining representative aspects of the present disclosure. The matters described in the various embodiments may be applied independently or in combinations of two or more.

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

[0198] In addition, the image decoding device and the image encoding device to which the embodiments of the present disclosure are applied can be included in multimedia broadcast transmission / 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 providing devices, over-the-top (OTT) video devices, Internet streaming service providing devices, three-dimensional (3D) video devices, picture phone video devices, and medical video devices, etc., and can be used for processing video signals or data signals. For example, as an over-the-top (OTT) video device, it can include game consoles, Blu-ray players, Internet-connected TVs, home theater systems, smartphones, tablet PCs, Digital Video Recorders (DVRs), etc.

[0199] FIG. 21 is a diagram illustrating a content streaming system to which an embodiment of the present disclosure can be applied.

[0200] As shown in FIG. 21, a content streaming system to which an embodiment of the present disclosure is applied can generally include an encoding server, a streaming server, a Web server, a media storage, a user device, and a multimedia input device.

[0201] The encoding server compresses content input from a multimedia input device such as a smartphone, a camera, or a camcorder into digital data to generate a bitstream, and transmits this to the streaming server. As another example, when a multimedia input device such as a smartphone, a camera, or a video camera directly generates a bitstream, the server can be omitted.

[0202] The bitstream can be generated by an image encoding method and / or an image encoding device to which an embodiment of the present disclosure is applied, and the streaming server can temporarily store the bitstream in the process of transmitting or receiving the bitstream.

[0203] The streaming server transmits multimedia data to a user device based on a user's request via a Web server, and the Web server can serve as a medium for notifying the user of what services are available. When the user requests a desired service from the Web server, the Web server transmits this to the streaming server, and the streaming server can transmit multimedia data to the user. At this time, the content streaming system can include a separate control server, and in this case, the control server can control commands / responses between each device in the content streaming system.

[0204] 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, in order to provide a smooth streaming service, the streaming server can store the bitstream for a certain period of time.

[0205] Examples of the user device may include a mobile phone, a smart phone, a laptop computer, a digital broadcast terminal, a PDA (personal digital assistants), a PMP (portable multimedia player), a navigation device, a slate PC, a tablet PC, an ultrabook, a wearable device, for example, a smartwatch, smart glass, an HMD (head mounted display), a digital TV, a desktop computer, a digital signage, and the like.

[0206] Each server in the content streaming system can be operated as a distributed server, and in this case, the data received from each server can be distributedly processed.

[0207] The scope of the present disclosure includes software or machine-executable commands (for example, an operating system, an application, firmware, a program, etc.) that enable the operations according to the methods of various embodiments to be executed on a device or a computer, and a non-transitory computer-readable medium on which such software or commands are stored and can be executed on the device or the computer.

Industrial Applicability

[0208] Examples according to the present disclosure can be used to encode / decode images.

Claims

1. An image decoding method performed by an image decoding apparatus, wherein the image decoding method comprises: obtaining a first flag related to a sub-picture from a bit stream; and determining a scan order of the sub-picture based on the first flag indicating that information related to the sub-picture exists.

2. The scan order of the sub-picture is determined based on a second flag indicating whether the scan order of the sub-picture is a raster scan order, wherein the second flag is obtained from the bit stream based on the first flag indicating that information related to the sub-picture exists. The image decoding method according to claim 1.

3. The second flag is obtained from at least one of an SPS (Sequence Parameter Set), GCE (General Constraints Information), SEI (Supplemental Enhancement Information) message, or VUI (Video Usage Information). The image decoding method according to claim 2.

4. The second flag is obtained based on the number of the sub-pictures exceeding two. The image decoding method according to claim 2.

5. Based on the number of the sub-pictures being two or less, the value of the second flag is restricted to indicate a raster scan order. The image decoding method according to claim 2.

6. Based on the second flag being obtained from the SEI message, the second flag indicates whether the scan order of the sub-picture is a raster scan order for consecutive CVSs (Coded Video Sequences). The image decoding method according to claim 3.

7. Based on the second flag being obtained from the SEI message, the second flag exists before the first VCL NAL unit within the CVS. The image decoding method according to claim 3.

8. The sub-picture includes a first sub-picture and a second sub-picture. Based on the fact that the upper offset of the first CTU in the first sub-picture is equal to or smaller than the upper offset of the first CTU in the second sub-picture, and the left offset of the first CTU in the first sub-picture is smaller than the left offset of the first CTU in the second sub-picture, the scanning order of the sub-pictures is determined in a raster scanning order, the image decoding method according to claim 1.

9. Based further on the fact that the left boundary and the upper boundary of the first sub-picture constitute the boundary of the current picture including the sub-picture, or constitute the boundary of the sub-pictures to be decoded after the second sub-picture, the scanning order of the sub-pictures is determined in a raster scanning order, the image decoding method according to claim 8.

10. An image encoding method performed by an image encoding device, The encoding method includes: a step of determining whether information about a sub-picture exists; a step of determining the scanning order of the sub-picture based on the existence of the information about the sub-picture, A first flag indicating whether information about the sub-picture exists is encoded in a bitstream, the image encoding method.

11. In a method of transmitting a bitstream generated by an image encoding method, The image encoding method includes: a step of determining whether information about a sub-picture exists; a step of determining the scanning order of the sub-picture based on the existence of the information about the sub-picture, A first flag indicating whether information about the sub-picture exists is encoded in a bitstream, the bitstream transmission method.