Method and apparatus for signaling information about chroma formats

By signaling the chromaticity format information in the image compilation system and deriving the tree type based on the chroma array type, the problem of low image/video compilation efficiency is solved, and efficient intra prediction and overall image/video compression is achieved.

CN113678456BActive Publication Date: 2025-02-28LG ELECTRONICS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202080027970.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-03-15
Filing Date
2020-03-12
Publication Date
2025-02-28
Estimated Expiration
2040-03-12

AI Technical Summary

Technical Problem

The prior art is difficult to effectively improve image/video compilation efficiency, especially when processing high resolution and high-quality images/video, the transmission and storage costs are high, and the intra prediction efficiency is also low.

Method used

By signaling information about the chromaticity format in the image compilation system, whether the tree type is a chroma tree in a single tree or a double tree is derived based on the chromaticity array type of the current block, thereby efficiently predicting the current block.

Benefits of technology

The overall image/video compression efficiency is improved, intra prediction efficiency is improved, and intra prediction can be performed efficiently, especially in prediction scenarios based on MPM lists.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113678456B_ABST
    Figure CN113678456B_ABST
Patent Text Reader

Abstract

According to the present disclosure, an image decoding method performed by a decoding device includes the following steps: receiving a bit stream including prediction information for a current block; deriving a chroma array type for the current block based on a separate color plane flag indicating whether three color components are separately coded and a chroma format index indicating a chroma format sampling structure for the current block, the chroma format index and the separate color plane flag being included in the prediction information for the current block; deriving prediction samples of the current block based on the derived chroma array type; and deriving reconstructed samples of the current block based on the prediction samples.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an image coding technology, and more particularly, to a method and apparatus for signaling information about a chroma format in an image coding system. Background Art

[0002] Recently, there is an increasing demand for high-resolution, high-quality images / videos such as 4K or 8K ultra-high definition (UHD) images / videos in various fields. As the image / video resolution or quality becomes higher, relatively more information or bits are transmitted compared to conventional image / video data. Therefore, if the image / video data is transmitted via a medium such as an existing wired / wireless broadband line or is stored in a conventional storage medium, the cost of transmission and storage is easily increased.

[0003] In addition, there is growing interest and demand for virtual reality (VR) and artificial reality (AR) content and immersive media such as holograms; and there is also growing broadcasting of images / videos that exhibit image / video characteristics different from actual images / videos (e.g., game images / videos).

[0004] Therefore, highly efficient image / video compression technology is required to effectively compress and transmit, store, or play high-resolution, high-quality images / videos showing various characteristics as described above. Summary of the invention

[0005] Technical issues

[0006] The present disclosure is to provide a method and apparatus for improving image coding efficiency.

[0007] The present disclosure is also to provide a method and apparatus for improving the efficiency of intra prediction.

[0008] The present disclosure is also directed to providing a method and apparatus for signaling information about a chroma format.

[0009] The present disclosure is also directed to providing a method and apparatus for predicting a current block based on a chroma array type for the current block.

[0010] The present disclosure is still also intended to provide a method and a device, which determine whether the tree type used to derive the current block is a chroma tree within a single tree or a dual tree based on the determination that the value of the chroma array type for the current block is not 0, and predict the current block based on the determination that it is a chroma tree within a single tree or a dual tree.

[0011] Technical Solution

[0012] According to an embodiment of the present disclosure, an image decoding method performed by a decoding device is provided. The method includes: receiving a bit stream including prediction information for a current block; deriving a chroma array type for the current block based on a chroma format index related to a chroma format sampling structure for the current block and based on a separate color plane flag related to whether three color components are separately coded, wherein the chroma format index and the separate color plane flag are included in the prediction information for the current block; deriving a prediction sample of the current block based on the derived chroma array type; and deriving a reconstructed sample of the current block based on the prediction sample, wherein the three color components include a luminance component and a chroma component, and the chroma component includes a Cb component and a Cr component.

[0013] According to another embodiment of the present disclosure, a decoding device for performing image decoding is provided. The decoding device includes: an entropy decoder, which receives a bit stream including prediction information for a current block, and derives a chroma array type for the current block based on a chroma format index related to a chroma format sampling structure for the current block and based on a separate color plane flag related to whether three color components are separately coded, wherein the chroma format index and the separate color plane flag are included in the prediction information for the current block; a predictor, which derives a prediction sample of the current block based on the derived chroma array type; and an adder, which derives a reconstructed sample of the current block based on the prediction sample, wherein the three color components include a luminance component and a chroma component, and the chroma component includes a Cb component and a Cr component.

[0014] According to another embodiment of the present disclosure, there is provided an image encoding method performed by an encoding device. The method includes: generating a chroma format index related to a chroma format sampling structure for a current block; generating a separate color plane flag related to whether three color components are coded separately; deriving a chroma array type for the current block based on the chroma format index and the separate color plane flag; deriving a prediction sample of the current block based on the derived chroma array type; deriving a residual sample for the current block based on the prediction sample; and encoding residual information including information about the residual sample, wherein the three color components include a luminance component and a chroma component, and the chroma component includes a Cb component and a Cr component.

[0015] According to another embodiment of the present disclosure, a coding device for performing image coding is provided. The coding device includes: a predictor that generates a chroma format index related to a chroma format sampling structure for a current block, generates a separate color plane flag related to whether three color components are coded separately, derives a chroma array type for the current block based on the chroma format index and the separate color plane flag, and derives a prediction sample of the current block based on the derived chroma array type; a residual processor that derives a residual sample for the current block based on the prediction sample; and an entropy encoder that encodes residual information including information about the residual sample, wherein the three color components include a luminance component and a chroma component, and the chroma component includes a Cb component and a Cr component.

[0016] According to still another embodiment of the present disclosure, a decoder-readable storage medium is provided, which stores information about instructions for causing a video decoding device to perform a decoding method according to some embodiments.

[0017] According to another embodiment of the present disclosure, a decoder-readable storage medium is provided, which stores information about instructions for causing a video decoding device to perform a decoding method according to an embodiment. The decoding method according to the embodiment includes: receiving a bitstream including prediction information for a current block; deriving a chroma array type for the current block based on a chroma format index related to a chroma format sampling structure for the current block and based on a separate color plane flag related to whether three color components are separately encoded, wherein the chroma format index and the separate color plane flag are included in the prediction information for the current block; deriving a prediction sample of the current block based on the derived chroma array type; deriving a reconstructed sample of the current block based on the prediction sample, wherein the three color components include a luminance component and a chroma component, and the chroma component includes a Cb component and a Cr component.

[0018] Technical Effects

[0019] According to the present disclosure, the overall image / video compression efficiency may be improved.

[0020] According to the present disclosure, intra prediction efficiency can be improved.

[0021] According to the present disclosure, intra prediction can be efficiently performed based on the MPM list.

[0022] According to the present disclosure, it is possible to improve the efficiency of intra prediction by efficiently signaling information about a chroma format.

[0023] According to the present disclosure, a current block may be efficiently predicted based on a chroma array type for the current block.

[0024] According to the present disclosure, by determining whether a tree type used to derive the current block is a chroma tree within a single tree or a dual tree based on a determination that a value of a chroma array type for the current block is not 0, the current block can be efficiently predicted. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 An example of a video / image coding system to which the present disclosure may be applied is schematically illustrated.

[0026] Figure 2 is a diagram schematically illustrating a configuration of a video / image encoding device to which the present disclosure can be applied.

[0027] Figure 3 is a diagram for schematically explaining the configuration of a video / image decoding device to which the present disclosure can be applied.

[0028] Figure 4a and Figure 4b are diagrams illustrating an example of an image encoding method performed by an encoding device according to an embodiment and an example of an image decoding method performed by a decoding device according to an embodiment.

[0029] Figure 5 is a flowchart illustrating an intra prediction method according to an embodiment.

[0030] Figure 6 is a diagram illustrating an example of a directional intra prediction mode.

[0031] Figure 7 is a diagram for illustrating CCLM-based intra prediction according to an embodiment.

[0032] Figure 8 is a flowchart illustrating the operation of an encoding device according to an embodiment.

[0033] Fig. 9 is a block diagram illustrating a configuration of an encoding device according to an embodiment.

[0034] Fig.10 is a flowchart illustrating the operation of a decoding device according to an embodiment.

[0035] Fig.11 is a block diagram illustrating a configuration of a decoding device according to an embodiment.

[0036] Fig.12 An example of a content streaming system to which the disclosure of this document may be applied is illustrated. DETAILED DESCRIPTION

[0037] The present disclosure can be modified in various forms, and its specific embodiments will be described and illustrated in the accompanying drawings. However, these embodiments are not intended to limit the present disclosure. The terms used in the following description are only used to describe specific embodiments and are not intended to limit the present disclosure. Singular expressions include plural expressions as long as they are not clearly understood differently. Terms such as "including" and "having" are intended to indicate the presence of features, quantities, steps, operations, elements, components, or combinations thereof used in the following description, so it should be understood that the possibility of the presence or addition of one or more different features, quantities, steps, operations, elements, components, or combinations thereof is not excluded.

[0038] In addition, the various configurations of the drawings described in the present disclosure are independent diagrams for illustrating functions as different features from each other, and do not mean that the various configurations are implemented by different hardware or different software from each other. For example, two or more configurations in a configuration can be combined to form one configuration, and one configuration can also be divided into multiple configurations. Without departing from the gist of the present disclosure, embodiments in which the configurations are combined and / or separated are included within the scope of the present disclosure.

[0039] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In addition, like reference numerals are used throughout the drawings to indicate like elements, and the same description of like elements will be omitted.

[0040] Figure 1 An example of a video / image coding system to which the present disclosure can be applied is illustrated.

[0041] This article relates to video / image coding. For example, the methods / implementations disclosed herein may be applied to methods disclosed in the Versatile Video Coding (VVC), the Essential Video Coding (EVC) standard, the AOMedia Video1 (AV1) standard, the 2nd generation Audio Video Coding standard (AVS2), or the next generation video / image coding standard (e.g., H.267, H.268, etc.).

[0042] Various embodiments of video / image coding are proposed herein, and unless otherwise specified, the embodiments described above may also be performed in combination with each other.

[0043] In this article, video may refer to a series of images over time. A picture generally refers to a unit representing an image at a specific time frame, and a slice / tile refers to a unit that constitutes a part of a picture when coding. A slice / tile may include one or more coding tree units (CTUs). A picture may be composed of one or more slices / tiles. A picture may be composed of one or more tile groups. A tile group may include one or more tiles. A tile may represent a rectangular area of ​​a CTU row within a tile in a picture (a tile may represent a rectangular area of ​​a CTU row within a tile in a picture). A tile may be partitioned into multiple tiles, each of which may be constructed with one or more CTU rows within a tile (a tile may be partitioned into multiple tiles, each of which may be composed of one or more CTU rows within a tile). A tile that is not partitioned into multiple tiles may also be referred to as a tile. A tile scan may represent a specific sequential ordering of CTUs of a partitioned picture, wherein CTUs may be ordered in a CTU raster scan within a tile, and tiles within a tile may be ordered continuously in a raster scan of tiles of the tile, and tiles in a picture may be ordered continuously in a raster scan of tiles of the tile (a tile scan is a specific sequential ordering of CTUs of a partitioned picture, wherein CTUs may be ordered continuously in a CTU raster scan within a tile, tiles within a tile may be ordered continuously in a raster scan of tiles of the tile, and tiles in a picture may be ordered continuously in a raster scan of tiles of the picture). A tile is a rectangular area of ​​a CTU within a specific tile column and a specific tile column (a tile is a rectangular area of ​​a CTU within a specific tile column and a specific tile row in a picture). A tile column is a rectangular area of ​​a CTU whose height is equal to the height of the picture and whose width may be specified by a syntax element in a picture parameter set (a tile column is a rectangular area of ​​a CTU whose height is equal to the height of the picture and whose width is specified by a syntax element in a picture parameter set). A tile row is a rectangular area of ​​CTUs whose width is specified by a syntax element in a picture parameter set and whose height may be equal to the height of the picture (a tile row is a rectangular area of ​​CTUs whose height is specified by a syntax element in a picture parameter set and whose width is equal to the width of the picture). A tile scan may represent a specific sequential ordering of CTUs that partition a picture, and the CTUs may be ordered contiguously in a raster scan of CTUs in tiles, while tiles in a picture may be ordered contiguously in a raster scan of tiles of a picture (a tile scan is a specific sequential ordering of CTUs that partition a picture, where CTUs may be ordered contiguously in a raster scan of CTUs in tiles, while tiles in a picture may be ordered contiguously in a raster scan of tiles of a picture). A slice may include an integer number of tiles of a picture, and may include an integer number of tiles in a single NAL unit (a slice includes an integer number of tiles of a picture that may be exclusively included in a single NAL unit).A slice may be constructed from multiple complete tiles, or may be a continuous sequence of complete tiles of one tile (a slice may consist of multiple complete tiles or a continuous sequence of complete tiles of only one tile). In this document, tile group and slice may be used instead of each other. For example, in this document, a tile group / tile group header may be referred to as a slice / slice header.

[0044] A pixel or a picture element (pel) may refer to the smallest unit constituting a picture (or image). In addition, a "sample" may be used as a term corresponding to a pixel. A sample may generally represent a pixel or a value of a pixel, and may represent a pixel / pixel value of only a luminance component or a pixel / pixel value of only a chrominance component.

[0045] A unit may represent a basic unit of image processing. A unit may include at least one of a specific area of ​​a picture and information related to the area. A unit may include a luminance block and two chrominance (e.g., cb, cr) blocks. In some cases, a unit may be used interchangeably with terms such as a block or an area. In general, an M×N block may include a set (or array) of samples (or sample arrays) or transform coefficients of M columns and N rows.

[0046] In the present disclosure, the terms " / " and "," should be interpreted as indicating "and / or". For example, the expression "A / B" may mean "A and / or B". In addition, "A, B" may mean "A and / or B". In addition, "A / B / C" may mean "at least one of A, B, and / or C". In addition, "A / B / C" may mean "at least one of A, B, and / or C".

[0047] Furthermore, in this document, the term "or" should be interpreted as indicating "and / or". For example, the expression "A or B" may include 1) only A, 2) only B, and / or 3) both A and B. In other words, the term "or" in this disclosure should be interpreted as indicating "additionally or alternatively."

[0048] Reference Figure 1 The video / image coding system may include a source device and a receiving device. The source device may transmit the encoded video / image information or data in the form of a file or stream to the receiving device via a digital storage medium or a network.

[0049] The source device may include a video source, an encoding device, and a transmitter. The receiving device may include a receiver, a decoding device, and a renderer. The encoding device may be referred to as a video / image encoding device, and the decoding device may be referred to as a video / image decoding device. The transmitter may be included in the encoding device. The receiver may be included in the decoding device. The renderer may include a display, and the display may be configured as a separate device or an external component.

[0050] The video source may acquire the video / image by capturing, synthesizing or generating a video / image process. The video source may include a video / image capturing device, and / or a video / image generating device. For example, the video / image capturing device may include one or more cameras, a video / image archive including previously captured videos / images, etc. For example, the video / image generating device may include a computer, a tablet computer, and a smart phone, and may generate the video / image (electronically). For example, a virtual video / image may be generated by a computer, etc. In this case, the video / image capturing process may be replaced by a process that generates relevant data.

[0051] The encoding device can encode the input video / image. For compression and coding efficiency, the encoding device can perform a series of processes such as prediction, transformation and quantization. The encoded data (encoded video / image information) can be output in the form of a bit stream.

[0052] The transmitter may transmit the encoded image / image information or data output in the form of a bit stream to a receiver of a receiving device in the form of a file or stream via a digital storage medium or a network. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmitter may include an element for generating a media file in a predetermined file format, and may include an element for transmission via a broadcast / communication network. The receiver may receive / extract a bit stream and transmit the received bit stream to a decoding device.

[0053] The decoding device may decode a video / image by performing a series of processes corresponding to the operations of the encoding device, such as dequantization, inverse transformation, and prediction.

[0054] The renderer may render the decoded video / image. The rendered video / image may be displayed through a display.

[0055] Figure 2 is a diagram schematically illustrating a configuration of a video / image encoding device to which the present disclosure can be applied. Hereinafter, what is referred to as a video encoding device may include an image encoding device.

[0056] Reference Figure 2, the encoding device 200 includes an image segmenter 210, a predictor 220, a residual processor 230 and an entropy encoder 240, an adder 250, a filter 260 and a memory 270. The predictor 220 may include an inter-frame predictor 221 and an intra-frame predictor 222. The residual processor 230 may include a transformer 232, a quantizer 233, a dequantizer 234 and an inverse transformer 235. The residual processor 230 may also include a subtractor 231. The adder 250 may be referred to as a reconstructor or a reconstructed block generator. According to an embodiment, the image segmenter 210, the predictor 220, the residual processor 230, the entropy encoder 240, the adder 250 and the filter 260 may be configured by at least one hardware component (e.g., an encoder chipset or processor). In addition, the memory 270 may include a decoded picture buffer (DPB), or may be configured by a digital storage medium. The hardware component may also include the memory 270 as an internal / external component.

[0057] The image divider 210 may divide the input image (or picture, frame) input to the encoding device 200 into one or more processing units. For example, the processing unit may be referred to as a coding unit (CU). In this case, the coding unit may be recursively divided from a coding tree unit (CTU) or a maximum coding unit (LCU) according to a quadtree binary tree ternary tree (QTBTTT) structure. For example, one coding unit may be divided into a plurality of coding units of a deeper depth based on a quadtree structure, a binary tree structure, and / or a ternary tree structure. In this case, for example, the quadtree structure is first applied, and / or the binary tree structure and / or the ternary tree structure may be applied later. Alternatively, the binary tree structure may also be applied first. The coding process according to the present disclosure may be performed based on the final coding unit that is no longer divided. In this case, based on the coding efficiency according to image features, etc., the maximum coding unit may be directly used as the final coding unit, or, if necessary, the coding unit may be recursively divided into coding units of a deeper depth so that a coding unit with an optimal size may be used as the final coding unit. Here, the coding process may include processes such as prediction, transformation, and reconstruction to be described later. As another example, the processing unit may further include a prediction unit (PU) or a transformation unit (TU). In this case, each of the prediction unit and the transformation unit may be split or partitioned from the aforementioned final coding unit. The prediction unit may be a unit of sample prediction, and the transformation unit may be a unit for deriving a transformation coefficient and / or a unit for deriving a residual signal from a transformation coefficient.

[0058] In some cases, a unit may be used interchangeably with terms such as a block or region. In general, an M×N block may represent a set of samples or transform coefficients consisting of M columns and N rows. A sample may generally represent a pixel or a pixel value, and may represent only a pixel / pixel value of a luminance component or only a pixel / pixel value of a chrominance component. A sample may be used as a term corresponding to one picture (or image) of a pixel or a pixel element.

[0059] In the encoding device 200, a prediction signal (prediction block, prediction sample array) output from the inter predictor 221 or the intra predictor 222 is subtracted from an input image signal (original block, original sample array) to generate a residual signal (residual block, residual sample array), and the generated residual signal is sent to the transformer 232. In this case, as shown, a unit that subtracts a prediction signal (prediction block, prediction sample array) from an input image signal (original block, original sample array) in the encoder 200 may be referred to as a subtractor 231. The predictor may perform prediction on a block to be processed (hereinafter, referred to as a current block) and generate a prediction block including prediction samples of the current block. The predictor may determine whether intra prediction or inter prediction is applied based on the current block or CU. As described later in the description of each prediction mode, the predictor may generate various types of information related to prediction (e.g., prediction mode information) and send the generated information to the entropy encoder 240. Information about the prediction may be encoded in the entropy encoder 240 and output in the form of a bitstream.

[0060] The intra-frame predictor 222 may predict the current block with reference to samples in the current picture. Depending on the prediction mode, the referenced samples may be located near the current block or may be spaced apart. In intra-frame prediction, the prediction mode may include multiple non-directional modes and multiple directional modes. For example, the non-directional mode may include a DC mode and a plane mode. For example, depending on the level of detail of the prediction direction, the directional mode may include 33 directional prediction modes or 65 directional prediction modes. However, this is only an example, and more or fewer directional prediction modes may be used depending on the settings. The intra-frame predictor 222 may use the prediction mode applied to the neighboring blocks to determine the prediction mode applied to the current block.

[0061] The inter-frame predictor 221 may derive a prediction block of the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. Here, in order to reduce the amount of motion information sent in the inter-frame prediction mode, the motion information may 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 may include a motion vector and a reference picture index. The motion information may also include inter-frame prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter-frame prediction, the neighboring blocks may include spatial neighboring blocks present in the current picture and temporal neighboring blocks present in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block may be referred to as a collocated reference block, a collocated CU (colCU), etc., and the reference picture including the temporal neighboring block may be referred to as a collocated picture (colPic). For example, the inter-frame predictor 221 may configure a motion information candidate list based on the 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-frame prediction may be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the inter-frame predictor 221 may use the motion information of the neighboring block as the motion information of the current block. In skip mode, unlike merge mode, a residual signal may not be transmitted. The motion vector prediction (MVP) mode may indicate the motion vector of the current block by using the motion vector of the neighboring block as a motion vector predictor and signaling the motion vector difference.

[0062] The predictor 220 may generate a prediction signal based on various prediction methods described below. For example, the predictor may not only apply intra prediction or inter prediction to predict a block, but also apply both intra prediction and inter prediction at the same time. This may be referred to as combined inter and intra prediction (CIIP). In addition, the predictor may predict a block based on an intra block copy (IBC) prediction mode or a palette mode. The IBC prediction mode or the palette mode may be used for content image / video coding of games, such as screen content coding (SCC). IBC basically performs prediction in the current picture, but may be performed similarly to inter prediction so that a reference block is derived in the current picture. That is, IBC may use at least one inter prediction technique described herein. The palette mode may be considered as an example of intra coding or intra prediction. When the palette mode is applied, the sample values ​​within the picture may be signaled based on information about the palette table and the palette index.

[0063] The prediction signal generated by the predictor (including the inter-frame predictor 221 and / or the intra-frame predictor 222) can be used to generate a reconstruction signal or to generate a residual signal. The transformer 232 can generate a transform coefficient by applying a transform technique to the residual signal. For example, the transform technique may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a Karhunen–Loève transform (KLT), a graph-based transform (GBT), or a conditional nonlinear transform (CNT). Here, when the relationship information between pixels is represented by a graph, GBT means a transform obtained from a graph. CNT refers to a transform generated based on a prediction signal generated using all previously reconstructed pixels. In addition, the transform process can be applied to square pixel blocks of the same size or to blocks of variable sizes other than square.

[0064] The quantizer 233 may quantize the transform coefficients and send them to the entropy encoder 240, and the entropy encoder 240 may encode the quantized signal (information about the quantized transform coefficients) and output a bitstream. The information about the quantized transform coefficients may be referred to as residual information. The quantizer 233 may rearrange the block type quantized transform coefficients into a one-dimensional vector form based on the coefficient scanning order, and generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form. Information about the transform coefficients may be generated. The entropy encoder 240 may perform various encoding methods such as exponential Golomb coding, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), etc. The entropy encoder 240 may encode information required for video / image reconstruction other than the quantized transform coefficients (e.g., the value of a syntax element, etc.) together or separately. The encoded information (e.g., encoded video / image information) may be transmitted or stored in units of NAL (Network Abstraction Layer) in the form of a bitstream. The video / image information may also include information about various parameter sets, such as an adaptive parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may also include general constraint information. In this article, information and / or syntax elements sent / signaled to a decoding device from an encoding device may be included in the video / image information. The video / image information may be encoded by the above-mentioned encoding process and included in a bitstream. The bitstream may be sent via a network or may be stored in a digital storage medium. The network may include a broadcast network and / or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmitter (not shown) that sends a signal output from the entropy encoder 240 and / or a storage unit (not shown) that stores the signal may be included as an internal / external element of the encoding device 200, and alternatively, the transmitter may be included in the entropy encoder 240.

[0065] The quantized transform coefficients output from the quantizer 233 can be used to generate a prediction signal. For example, the residual signal (residual block or residual sample) can be reconstructed by applying dequantization and inverse transformation to the quantized transform coefficients via the dequantizer 234 and the inverse transformer 235. The adder 250 adds the reconstructed residual signal to the prediction signal output from the inter-frame predictor 221 or the intra-frame predictor 222 to generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array). If there is no residual in the block to be processed (for example, when the skip mode is applied), the prediction block can be used as a reconstructed block. The adder 250 may be referred to as a reconstructor or a reconstructed block generator. As described below, the generated reconstructed signal can be used for intra-frame prediction of the next block to be processed in the current picture and can be used for inter-frame prediction of the next picture by filtering.

[0066] Furthermore, luma mapping and chroma scaling (LMCS) may be applied during picture encoding and / or reconstruction.

[0067] The filter 260 can improve the subjective / objective image quality by applying filtering to the reconstructed signal. For example, the filter 260 can generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture and store the modified reconstructed picture in the memory 270 (specifically, the DPB of the memory 270). For example, various filtering methods may include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc. The filter 260 can generate various types of information related to filtering and send the generated information to the entropy encoder 240, as described later in the description of each filtering method. The information related to filtering can be encoded by the entropy encoder 240 and output in the form of a bitstream.

[0068] The modified reconstructed picture transmitted to the memory 270 may be used as a reference picture in the inter predictor 221. When inter prediction is applied by the encoding apparatus, prediction mismatch between the encoding apparatus 200 and the decoding apparatus may be avoided and coding efficiency may be improved.

[0069] The DPB of the memory 270 DPB may store a modified reconstructed picture used as a reference picture in the inter-frame predictor 221. The memory 270 may store motion information of a block for deriving (or encoding) motion information in the current picture and / or motion information of a reconstructed block in the picture. The stored motion information may be sent to the inter-frame predictor 221 and used as motion information of a spatial neighboring block or motion information of a temporal neighboring block. The memory 270 may store reconstructed samples of a reconstructed block in the current picture and may transmit the reconstructed samples to the intra-frame predictor 222.

[0070] Figure 3 : is a diagram for schematically explaining the configuration of a video / image decoding device to which the present disclosure is applied.

[0071] Reference Figure 3 , the decoding device 300 may include an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, a filter 350, and a memory 360. The predictor 330 may include an inter-frame predictor 331 and an intra-frame predictor 332. The residual processor 320 may include a dequantizer 321 and an inverse transformer 321. According to an embodiment, the entropy decoding 310, the residual processor 320, the predictor 330, the adder 340, and the filter 350 may be configured by a hardware component (e.g., a decoder chipset or a processor). In addition, the memory 360 may include a decoded picture buffer (DPB) or may be configured by a digital storage medium. The hardware component may also include a memory 360 as an internal / external component.

[0072] When a bit stream including video / image information is input, the decoding device 300 can reconstruct the bit stream corresponding to the bit stream in the video / image format. Figure 2 The image corresponding to the processing of the video / image information in the encoding device. For example, the decoding device 300 may derive the unit / block based on the block segmentation related information obtained from the bit stream. The decoding device 300 may use a processor applied in the encoding device to perform decoding. Therefore, for example, the decoding processor may be a coding unit, and the coding unit may be divided from the coding tree unit or the maximum coding unit according to a quadtree structure, a binary tree structure and / or a ternary tree structure. One or more transform units may be derived from the coding unit. The reconstructed image signal decoded and output by the decoding device 300 may be reproduced by a reproduction device.

[0073] The decoding device 300 may receive Figure 2The received signal may be decoded by the entropy decoder 310. For example, the entropy decoder 310 may parse the bitstream to derive information (e.g., video / image information) required for image reconstruction (or picture reconstruction). The video / image information may also include information about various parameter sets, such as an adaptive parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may also include general constraint information. The decoding device may also decode the picture based on the information about the parameter set and / or the general constraint information. The information and / or syntax elements signaled / received described later herein may be decoded and obtained from the bitstream by a decoding process. For example, the entropy decoder 310 may decode the information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and output the syntax elements required for image reconstruction and the quantized values ​​of the transform coefficients of the residual. More specifically, the CABAC entropy decoding method may receive bins (binary bits) corresponding to each syntax element in the bitstream, use the decoded target syntax element information, the decoded information of the decoded target block, or the information of the symbol / bin decoded in the previous stage to determine the context model, and perform arithmetic decoding on the bin by predicting the probability of the bin appearing according to the determined context model, and generate symbols corresponding to the values ​​of each syntax element. In this case, the CABAC entropy decoding method may update the context model by using the information of the decoded symbol / bin for the context model of the next symbol / bin after determining the context model. Information related to prediction among the information decoded by the entropy decoder 310 may be provided to the predictor (inter-frame predictor 332 and intra-frame predictor 331), and the residual value (ie, quantized transform coefficients and related parameter information) performed entropy decoding in the entropy decoder 310 may be input to the residual processor 320. The residual processor 320 may derive a residual signal (residual block, residual sample, residual sample array). In addition, information about filtering among the information decoded by the entropy decoder 310 may be provided to the filter 350. In addition, a receiver (not shown) for receiving a signal output from the encoding device may also be configured as an internal / external element of the decoding device 300, or the receiver may be a component of the entropy decoder 310. In addition, the decoding device according to this document may be referred to as a video / image / picture decoding device, and the decoding device may be classified into an information decoder (video / image / picture information decoder) and a sample decoder (video / image / picture sample decoder). The information decoder may include the entropy decoder 310, and the sample decoder may include at least one of the dequantizer 321, the inverse transformer 322, the adder 340, the filter 350, the memory 360, the inter-frame predictor 332, and the intra-frame predictor 331.

[0074] The dequantizer 321 may dequantize the quantized transform coefficient and output the transform coefficient. The dequantizer 321 may rearrange the quantized transform coefficient in a two-dimensional block form. In this case, the rearrangement may be performed based on a coefficient scanning order performed in the encoding device. The dequantizer 321 may perform dequantization on the quantized transform coefficient using a quantization parameter (e.g., quantization step size information) and obtain the transform coefficient.

[0075] The inverse transformer 322 inversely transforms the transform coefficients to obtain a residual signal (residual block, residual sample array).

[0076] The predictor 330 may perform prediction on the current block and generate a prediction block including prediction samples of the current block. The predictor may determine whether to apply intra prediction or inter prediction to the current block based on information on prediction output from the entropy decoder 310 and may determine a specific intra / inter prediction mode.

[0077] The predictor may generate a prediction signal based on various prediction methods described below. For example, the predictor may not only apply intra prediction or inter prediction to predict a block, but may also apply intra prediction and inter prediction at the same time. This may be referred to as combined inter and intra prediction (CIIP). In addition, the predictor may predict a block based on an intra block copy (IBC) prediction mode or a palette mode. The IBC prediction mode or the palette mode may be used for content image / video coding of games, etc., such as screen content coding (SCC). IBC basically performs prediction in the current picture, but may be performed similarly to inter prediction so that a reference block is derived in the current picture. That is, IBC may use at least one inter prediction technique described herein. The palette mode may be considered as an example of intra coding or intra prediction. When the palette mode is applied, the sample values ​​within the picture may be signaled based on information about the palette table and the palette index. The intra predictor 331 may predict the current block with reference to the samples in the current picture. Depending on the prediction mode, the referenced samples may be located near the current block or may be spaced apart. In intra prediction, the prediction mode may include a plurality of non-directional modes and a plurality of directional modes. The intra predictor 331 may determine a prediction mode applied to a current block using prediction modes applied to neighboring blocks.

[0078] The intra-frame predictor 331 may predict the current block with reference to samples in the current picture. Depending on the prediction mode, the referenced samples may be located near the current block or may be spaced apart. In intra-frame prediction, the prediction mode may include a plurality of non-directional modes and a plurality of directional modes. The intra-frame predictor 331 may use the prediction mode applied to the neighboring blocks to determine the prediction mode applied to the current block.

[0079] The inter-frame predictor 332 may derive a prediction block of the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. In this case, in order to reduce the amount of motion information sent in the inter-frame prediction mode, the motion information may 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 may include a motion vector and a reference picture index. The motion information may also include inter-frame prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter-frame prediction, the neighboring blocks may include spatial neighboring blocks present in the current picture and temporal neighboring blocks present in the reference picture. For example, the inter-frame predictor 332 may configure a motion information candidate list based on neighboring blocks and derive a motion vector and / or a reference picture index of the current block based on the received candidate selection information. Inter-frame prediction may be performed based on various prediction modes, and information about the prediction may include information indicating the inter-frame prediction mode of the current block.

[0080] The adder 340 can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the obtained residual signal to the prediction signal (prediction block, prediction sample array) output from the predictor (including the inter-frame predictor 332 and / or the intra-frame predictor 331). If there is no residual in the block to be processed, for example, when the skip mode is applied, the prediction block can be used as the reconstructed block.

[0081] The adder 340 may be referred to as a reconstructor or a reconstructed block generator. The generated reconstructed signal may be used for intra prediction of the next block to be processed in the current picture, may be output through filtering as described below, or may be used for inter prediction of the next picture.

[0082] In addition, luma mapping and chroma scaling (LMCS) may be applied in the picture decoding process.

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

[0084] The (modified) reconstructed picture stored in the DPB of the memory 360 may be used as a reference picture in the inter-frame predictor 332. The memory 360 may store the motion information of the block from which the motion information in the current picture is derived (or decoded) and / or the motion information of the reconstructed block in the picture. The stored motion information may be sent to the inter-frame predictor 260 to be used as the motion information of the spatial neighboring block or the motion information of the temporal neighboring block. The memory 360 may store the reconstructed samples of the reconstructed block in the current picture and transmit the reconstructed samples to the intra-frame predictor 331.

[0085] In the present disclosure, the embodiments described in the filter 260, the inter-frame predictor 221, and the intra-frame predictor 222 of the encoding device 200 may be the same as or respectively applied to the filter 350, the inter-frame predictor 332, and the intra-frame predictor 331 of the decoding device 300. This may also be applied to the unit 332 and the intra-frame predictor 331.

[0086] As described above, when performing video coding, prediction is performed to enhance compression efficiency. A prediction block including prediction samples of a current block (ie, a target coding block) may be generated by prediction. In this case, the prediction block includes prediction samples in a spatial domain (or a pixel domain). The prediction block is derived identically in the encoding device and the decoding device. The encoding device may enhance image coding efficiency by notifying the decoding device with a signal of information (residual information) about the residual between the original block (rather than the original sample value of the original block itself) and the prediction block. The decoding device may derive a residual block including residual samples based on the residual information, may generate a reconstructed block including reconstructed samples by adding the residual block to the prediction block, and may generate a reconstructed picture including the reconstructed block.

[0087] The residual information may be generated by a transform process and a quantization process. For example, the encoding device may derive a residual block between the original block and the prediction block, may derive a transform coefficient by performing a transform process on a residual sample (residual sample array) included in the residual block, may derive a quantized transform coefficient by performing a quantization process on the transform coefficient, and may signal the relevant residual information (through a bitstream) to the decoding device. In this case, the residual information may include information such as value information, position information, a transform scheme, a transform core, and a quantization parameter of the quantized transform coefficient. The decoding device may perform a dequantization / inverse transform process based on the residual information and may derive a residual sample (or residual block). The decoding device may generate a reconstructed picture based on the prediction block and the residual block. In addition, the encoding device may derive a residual block by dequantizing / inverse transforming the quantized transform coefficient for reference to inter-frame prediction of subsequent pictures, and may generate a reconstructed picture.

[0088] Figure 4a and Figure 4bare diagrams illustrating an example of an image encoding method performed by an encoding device according to an embodiment and an example of an image decoding method performed by a decoding device according to an embodiment.

[0089] Figure 4a An example of an image encoding method performed by a video encoding device is shown. Figure 4a , the image encoding method may include block partitioning, intra / inter prediction, transformation, quantization, and entropy coding processes. For example, the current picture may be partitioned into a plurality of blocks, a prediction block of the current block may be generated by intra / inter prediction, and a residual block of the current block may be generated by subtracting an input block and a prediction block of the current block. Thereafter, a coefficient block, i.e., a transformation coefficient of the current block, may be generated by transforming the residual block. The transformation coefficient may be quantized and entropy encoded and stored in a bitstream.

[0090] Figure 4b An example of an image decoding method performed by a decoding device is shown in FIG. Figure 4b , the image decoding method may include entropy decoding, inverse quantization, inverse transformation and intra / inter prediction processes. For example, the decoding device may perform the inverse process of the encoding method. Specifically, the quantized transform coefficients may be obtained by entropy decoding the bit stream, and the coefficient block of the current block, i.e., the transform coefficients, may be obtained by the inverse quantization process of the quantized transform coefficients. The residual block of the current block may be derived by inverse transformation of the transform coefficients, and the reconstructed block of the current block may be derived by adding the prediction block and the residual block of the current block derived by intra / inter prediction.

[0091] Figure 5 is a flowchart illustrating an intra prediction method according to an embodiment.

[0092] like Figure 5 As shown, the intra prediction method according to the embodiment may include the following three steps. That is, the intra prediction method according to the embodiment may include a reference sample construction step, a sample prediction step and a post-filtering step. In the sample prediction step, the intra prediction method according to the embodiment may use known neighboring reference samples and intra prediction modes to perform prediction on unknown samples.

[0093] Figure 6 is a diagram illustrating an example of a directional intra prediction mode.

[0094] When intra prediction is applied to the current block, the encoding device and / or decoding device according to the embodiment may derive the intra prediction mode for the current block, and derive the prediction sample of the current block based on the intra prediction mode. That is, the encoding device and / or decoding device may derive the prediction sample of the current block by enabling the directional intra prediction mode or the non-directional intra prediction mode based on the neighboring reference samples of the current block.

[0095] In an example, the intra prediction mode may include two non-directional (or non-angle) intra prediction modes and 65 directional (or angle) intra prediction modes. The non-directional intra prediction mode may include a plane intra prediction mode numbered 0 and a DC intra prediction mode numbered 1, and the directional intra prediction mode may include 65 intra prediction modes between the intra prediction mode numbered 2 and the intra prediction mode numbered 66. Intra prediction based on 65 directional intra prediction modes may be applied to blocks of all sizes and may be applied to both luminance components and chrominance components. However, this is only an example, and the configuration of the intra prediction mode may be different.

[0096] Alternatively, the intra prediction mode may include two non-directional intra prediction modes and 129 directional intra prediction modes. The non-directional intra prediction mode may include a plane intra prediction mode and a DC intra prediction mode, and the directional intra prediction mode may include intra prediction modes No. 2 to No. 130.

[0097] Meanwhile, in addition to the above-mentioned intra prediction modes, the intra prediction modes may further include a cross-component linear model (CCLM) mode for chroma samples. The CCLM mode may be classified into LT_CCLM, L_CCLM, and T_CCLM depending on whether the left sample, the upper sample, or both are considered to derive LM parameters, and may be applied only to chroma components.

[0098] The intra prediction modes may be indexed, for example, as shown in Table 1 below.

[0099] [Table 1]

[0100] Intra prediction mode Related Name 0 INTRA_PLANAR 1 INTRA_DC 2..66 INTRA_ANGULAR2..INTRA_ANGULAR66 81..83 INTRA_LT_CCLM, INTRA_L_CCLM, INTRA_T_CCLM

[0101] Meanwhile, the intra prediction type (or additional intra prediction mode, etc.) may include at least one of the above-mentioned LIP, PDPC, MRL, and ISP. The intra prediction type may be indicated based on the intra prediction type information, and the intra prediction type information may be implemented in various forms. In one example, the intra prediction type information may include intra prediction type index information indicating one of the intra prediction types. In another example, the intra prediction type information may include at least one of the following: reference sample line information (e.g., intra_luma_ref_idx) related to whether MRL is applied to the current block and which reference sample line is used if applied, ISP flag information (e.g., intra_subpartitions_split_flag) related to whether ISP is applied to the current block, flag information related to whether PDCP is applied, or flag information related to whether LIP is applied.

[0102] Reference Figure 6, an intra prediction mode having a horizontal directivity and an intra prediction mode having a vertical directivity can be distinguished around the number 34 intra prediction mode having a left-upward diagonal prediction direction. Figure 6 The H and V of respectively mean horizontal and vertical directivities, and the numbers -32 to 32 indicate displacements in units of 1 / 32 on the sample grid position. Intra-prediction modes numbered 2 to 33 have horizontal directivities, and intra-prediction modes numbered 34 to 66 have vertical directivities. Intra-prediction mode numbered 18 and intra-prediction mode numbered 50 may be horizontal intra-prediction modes and vertical intra-prediction modes, respectively; intra-prediction mode numbered 2 may be referred to as a left-down diagonal intra-prediction mode; intra-prediction mode numbered 34 may be referred to as a left-up diagonal intra-prediction mode; and intra-prediction mode numbered 66 may be referred to as a right-up diagonal intra-prediction mode.

[0103] Typically, when an image is divided into blocks, the current block and the neighboring blocks to be coded have similar image characteristics. Therefore, it is highly likely that the current block and the neighboring blocks have the same or similar intra-prediction modes. Therefore, the encoder can use the intra-prediction mode of the neighboring blocks to encode the intra-prediction mode of the current block.

[0104] More specifically, the decoding device may derive a most probable mode (MPM) list based on the intra prediction mode of the neighboring blocks (e.g., the left neighboring block and / or the upper neighboring block) of the current block and the additional candidate mode, and may select one of the MPM candidates in the derived MPM list based on the received MPM index, or may select one of the remaining intra prediction modes not included in the MPM candidates based on the remaining intra prediction mode information. The MPM list may be referred to as an intra prediction mode candidate list or may be represented as candModeList.

[0105] When a neighboring block is intra-coded, the encoding device (or encoder) may check or derive the prediction mode of the neighboring block. For example, the prediction mode of the current block may be determined based on the prediction mode of the left neighboring block and the prediction mode of the upper neighboring block, and in this case, the prediction mode of the corresponding neighboring block may be determined as the most probable mode (MPM). The determination of the MPM may be expressed as an enumeration of MPM (most probable mode) candidates (or MPM list).

[0106] In an embodiment, when intra prediction is performed on a current block, prediction of a luminance component block (luminance block) and prediction of a chrominance component block (chrominance block) of the current block are performed, and in this case, an intra prediction mode for the chrominance component (chrominance block) may be set separately from an intra prediction mode for the luminance component (luminance block).

[0107] For example, the intra prediction mode for the chroma component may be indicated based on the intra chroma prediction mode information, and the intra chroma prediction mode information may be signaled in the form of an intra_chroma_pred_mode syntax element. In an example, the intra chroma prediction mode information may indicate one of a plane mode, a DC mode, a vertical mode, a horizontal mode, a derived mode (DM), and a CCLM (cross-component linear model) mode. In this regard, the plane mode may be a number 0 intra prediction mode; the DC mode may be a number 1 intra prediction mode; the vertical mode may be a number 26 intra prediction mode; and the horizontal mode may be a number 10 intra prediction mode. DM may also be referred to as a direct mode. CCLM can be referred to as LM.

[0108] Figure 7 is a diagram for illustrating CCLM-based intra prediction according to an embodiment.

[0109] In an embodiment, the CCLM mode may be applied to the current chroma block. The CCLM mode may represent a mode in which a linear model may be derived based on neighboring samples of a luminance block and neighboring samples of a chroma block as an intra-prediction mode using a correlation between a luminance block and a chroma block corresponding to the luminance block, and derive prediction samples of the chroma block based on the linear model and reconstructed samples of the luminance block. More specifically, when the CCLM mode is applied to the current chroma block, parameters for the linear model may be derived based on neighboring samples for intra-prediction of the current chroma block and neighboring samples for intra-prediction of the current luminance block. For example, the linear model may be expressed based on the following Equation 1.

[0110] [Equation 1]

[0111] pred C (i, j) = α·rec L ′(i, j)+β

[0112] Here, predc(i,j) may represent the predicted sample at the (i,j) coordinate of the current chrominance block, and recL'(i,j) may represent the reconstructed sample at the (i,j) coordinate of the current luma block. In addition, recL'(i,j) may represent the downsampled reconstructed sample of the current luma block.

[0113] Meanwhile, parameters α and β of the linear model may be derived based on neighboring samples for intra prediction of the current luma block and neighboring samples for intra prediction of the current chroma block. Parameters α and β may be derived based on the following equations 2 and 3.

[0114] [Equation 2]

[0115]

[0116] [Equation 3]

[0117]

[0118] Here, L(n) may represent an upper neighboring sample and / or a left neighboring sample of the current luma block, and C(n) may represent an upper neighboring sample and / or a left neighboring sample of the current chroma block. In addition, L(n) may represent a downsampled upper neighboring sample and / or a left neighboring sample of the current luma block. In addition, N may represent a value that is twice the smaller value of the width and height of the current chroma block.

[0119] In an embodiment, in order to code the chroma intra prediction mode, a total of eight intra prediction modes may be allowed for chroma intra mode coding. The eight intra prediction modes may include five existing intra prediction modes and a cross component linear mode (CCLM) mode. Table 2, which will be described later, shows a mapping table for deriving an intra chroma prediction mode when CCLM is not available, and Table 3 shows a mapping table for deriving an intra prediction mode when CCLM is available.

[0120] [Table 2]

[0121]

[0122] Table 2 shows IntraPredModeC[xCb][yCb] depending on intra_chroma_pred_mode[xCb][yCb] and IntraPredModeY[xCb+cbWidth / 2][yCb+cbHeight / 2] when the value of sps_cclm_enabled_flag is 0.

[0123] [Table 3]

[0124]

[0125] Table 3 shows IntraPredModeC[xCb][yCb] depending on intra_chroma_pred_mode[xCb][yCb] and IntraPredModeY[xCb+cbWidth / 2][yCb+cbHeight / 2] when the value of sps_cclm_enabled_flag is 1.

[0126] In Tables 2 and 3, sps_cclm_enabled_flag may be a flag for signaling whether CCLM is enabled at the SPS (sequence parameter set) level; intra_chroma_pred_mode may be intra-chroma prediction mode information; IntraPredModeY may be intra-prediction mode information of a luma block; IntraPredModeC may be intra-prediction mode information of a chroma block; xCb may be the x coordinate of the upper left sample of the current block; yCb may be the y coordinate of the upper left sample of the current block; cbWidth may be the width of the current block; and cbHeight may be the height of the current block.

[0127] As shown in Tables 2 and 3, the intra chroma prediction mode may be determined based on the intra luminance prediction mode for the luminance block covering the center lower right sample of the current block or chroma block (e.g., when DUAL_TREE is applied) and the value of the signaled intra chroma prediction mode (intra_chroma_pred_mode) information.

[0128] Hereinafter, the chroma format will be described.

[0129] In the present disclosure, specific terms or sentences are used to define specific information or concepts. For example, a chroma format index related to a chroma format sampling structure for a current block is expressed as "chroma_format_idc"; a separate color plane flag related to whether three color components are coded separately is expressed as "separate_colour_plane_flag"; a chroma array type is expressed as "ChromaArrayType"; if the tree type used to derive the current block is a single tree, it is expressed as "SINGLE_TREE"; if the tree type used to derive the current block is a chroma tree within a dual tree, it is expressed as "DUAL_TREE". _TREE_CHROMA"; the CCLM flag related to whether CCLM for deriving the Cb component or the Cr component based on the luminance component is enabled is expressed as "sps_cclm_enabled_flag"; the dual-tree intra-frame flag related to whether the three color components are separately coded with respect to the predefined area within the current block is expressed as "qtbtt_dual_tree_intra_flag"; and the ALF chroma index related to whether ALF is applied to at least one of the Cb component and the Cr component is expressed as "alf_chroma_idc".

[0130] However, "chroma_format_idc" may be replaced with various terms such as chroma_format_idx and ChromaFormat_idc; "separate_colour_plane_flag" may be replaced with various terms such as separate_color_plane_flag, separate_colorplane_flag; "ChromaArrayType" may be replaced with chromaArrayType, etc.; "sps_cclm_enabled_flag" may be replaced with ccm_flag, ccm_enabled_flag, etc.; and "qtbtt_dual_tree_intra_flag" may be replaced with various terms such as dual_tree_intra_flag, dual_tree_implicit_split_flag, dual_tree_qtbtt_flag, etc. Therefore, throughout the specification, when explaining a specific term or sentence used to define specific information or concepts in the present disclosure, an explanation limited to the name should be avoided, but instead it is necessary to explain them while paying attention to various operations, functions, and effects according to the contents intended to be expressed by the term.

[0131] There may be various chroma formats in video, such as monochrome, 4:2:0, 4:2:2, 4:4:4. In monochrome sampling, there may be one sample array, and the sample array may be a luma array. In 4:2:0 sampling, each of the two chroma arrays may have half the height and half the width of the luma array. In 4:2:2 sampling, each of the two chroma arrays may have the same height as the luma array and half the width of the luma array.

[0132] In 4:4:4 sampling, the following may apply depending on the value of separate_colour_plane_flag. If the value of separate_colour_plane_flag is 0, each of the two chroma arrays may have the same height and the same width as the luma array. ChromaArrayType may be set to be the same as chroma_format_idc. If the value of separate_colour_plane_flag is 1, the three color planes may be processed separately like a monochrome sampled picture. ChromaArrayType may be set to 0. Table 4 below shows chroma format classification according to an embodiment.

[0133] [Table 4]

[0134]

[0135] The following various embodiments may be provided based on the chroma format classification according to Table 4 above.

[0136] In one embodiment, a method for deriving an intra prediction mode for chroma (block) may be provided. When the value of ChromaArrayType is not 0, the syntax element intra_chroma_pred_mode for indicating the chroma intra prediction mode may be parsed as shown in Table 5 below. When the value of ChromaArrayType is 0, the process for deriving the chroma intra prediction mode may be omitted.

[0137] [Table 5]

[0138]

[0139]

[0140] In Table 5, intra_chroma_pred_mode[x0][y0] may represent an intra prediction mode for chroma samples. x0 and y0 represent the position (x0, y0) of the top-left luma sample of the (current) coding block of the top-left luma sample of the picture.

[0141] As disclosed in Table 5, when ChromaArrayType!=0, it may be checked whether if(treeType==SINGLE_TREE||treeType==DUAL_TREE_CHROMA) is satisfied in order to derive intra_chroma_pred_mode[x0][y0]. That is, based on the determination that the value of ChromaArrayType is not 0, it may be determined whether the tree type used to derive the current block is a chroma tree within a single tree or a dual tree, and depending on this determination, it may be selected whether to derive intra_chroma_pred_mode[x0][y0].

[0142] In an embodiment, a PCM sample derivation method for chroma (block) may be provided. When the value of ChromaArrayType is not 0, the syntax element pcm_sample_chroma for indicating the coded chroma sample value may be parsed as disclosed in Table 6 below.

[0143] [Table 6]

[0144]

[0145] In Table 6, pcm_sample_chroma[i] may represent the coded chroma sample values ​​in raster scan order within a coding unit. The first half of the values ​​may be coded Cb samples, while the second half of the values ​​may be coded Cr samples. The number of bits used to represent each of these samples is PcmBitDepth C .

[0146] In an embodiment, a method of parsing the coding block flag (CBF) of chroma (block) may be provided. When the value of chromaArrayType is not 0, tu_cbf_cb and tu_cbf_cr for indicating the chroma intra prediction mode may be parsed as disclosed in Table 7 below. When the value of chromaArrayType is 0, tu_cbf_cb and tu_cbf_cr may be estimated to be 0, and thus the process of deriving the transform coefficient for chroma may be omitted.

[0147] [Table 7]

[0148]

[0149] If the value of tu_cbf_cb[x0][y0] is 1, the Cb transform block may include one or more non-zero transform coefficient levels. Array indexes x0 and y0 indicate the upper left position (x0, y0) of the transform block. If tu_cbf_cb[x0][y0] does not exist in the current CU, its value may be estimated to be 0.

[0150] If the value of tu_cbf_cr[x0][y0] is 1, the Cr transform block may include one or more non-zero transform coefficient levels. Array indexes x0 and y0 indicate the upper left position (x0, y0) of the transform block. If tu_cbf_cr[x0][y0] does not exist in the current CU, its value may be estimated to be 0.

[0151] In an embodiment, a coding method for an implicit quadtree partitioned within a dual tree of an I-patch group may be provided with respect to a chroma format. An I-patch group may have two types of tree types. One is a single tree and the other is a dual tree. When an I-patch group dual tree is applied, the luma component and the chroma component may have their own block structure. In other words, the chroma component may have the same block structure as the luma component, or may have a different block structure.

[0152] When the value of chromaArrayType is not 0, luma and chroma may have dependencies, such as chroma intra prediction mode derivation from luma, CCLM for chroma intra blocks, etc. When considering the complexity of hardware implementation, it may be necessary to limit the dependency between luma and chroma within a certain range (e.g., which may be called pipeline region) to enable pipelining. The pipeline region can be set to 64x64, or it may be set to 32x32 considering some limited hardware resources.

[0153] When the value of qtbtt_dual_tree_intra_flag is 1, for I-tile groups, each coding tree unit (CTU) may be divided into coding units using implicit quadtree partitioning in predefined luma sample regions. A coding unit may be the root of two separate coding_tree syntax structures for luma and chroma. When the value of qtbtt_dual_tree_intra_flag is 0, implicit quadtree partitioning may be omitted. Table 8 below shows an example of parsing qtbtt_dual_tree_intra_flag at the sequence parameter set (SPS) level when the value of ChromaArrayType is not 0.

[0154] [Table 8]

[0155] seq_parameter_set__rbsp(){ Descriptors ... if (ChromaArrayType!= 0) qtbtt_dual_tree_intra_flag u(1) ... }

[0156] Referring to Table 8, qtbtt_dual_tree_intra_flag may be parsed when the value of chromaArrayType is not 0. When the value of chromaArrayType is 0, qtbtt_dual_tree_intra_flag does not appear and may be estimated to be 0. When the chroma format 4:4:4 is adopted in monochrome or a separate color plane, the value of chromaArrayType may be 0. In the case where the chroma format 4:4:4 is adopted in monochrome or a separate color plane, since there is no luma and chroma dependency, nested partitioning may not be required.

[0157] In an embodiment, a CCLM intra prediction method may be provided with respect to a chroma format. When the value of chromaArrayType is not 0, luma and chroma may have the same dependencies as CCLM prediction for chroma intra blocks. For chroma sample intra prediction, CCLM parameters may be applied to reconstructed luma samples. Table 9 below shows an example of parsing sps_cclm_enabled_flag when the value of ChromaArrayType is not 0.

[0158] [Table 9]

[0159] seq_parameter_set_rbsp(){ Descriptors ... if (ChromaArrayType!= 0) sps_cclm_enabled_flag u(1) if(sps_cclm_enabled_flag&&chroma_format_idc===1) sps_cclm_colocated_chroma_flag u(1) ... }

[0160] In Table 9, when the value of sps_cclm_enabled_flag is 0, CCLM from the luma component to the chroma component may not be enabled. When the value of sps_cclm_enabled_flag is 1, CCLM from the luma component to the chroma component may be enabled. When sps_cclm_enabled_flag does not exist, the value of sps_cclm_enabled_flag may be estimated to be 0.

[0161] In an embodiment, information about the color plane may be signaled with respect to the chroma format. The following Tables 10 and 11 disclose separate_colour_plane_fiag and colour_plane_id as information about the color plane and chroma_format_idc as information about the chroma format as follows.

[0162] [Table 10]

[0163] seq_parameter_set_rbsp(){ Descriptors ... if (chroma_format_idc == 3) separate_colour_plane_flag u(1) ... }

[0164] [Table 11]

[0165] tile_group_header(){ Descriptors ... if(separate_colour_plane_flag==1) colour_plane_id u(2) ... }

[0166] In Tables 10 and 11, when the value of separate_colour_plane_flag is 1, the three color components of the 4:4:4 chroma format may be coded separately. If the value of separate_colour_plane_flag is 1, colour_plane_id may be parsed to specify different color components. When the value of separate_colour_plane_flag is 1, colour_plane_id may indicate the color plane associated with the current patch RBSP. The value of colour_plane_id may be included in the range of 0 to 2. colour_plane_id values ​​0, 1, and 2 may correspond to luma (Y), chroma Cb, and chroma Cr, respectively. There may be no dependency in the decoding process between pictures with different colour_plane_id values.

[0167] In an embodiment, a method for signaling an adaptive loop filter (ALF) chroma index with respect to a chroma format may be provided. When a network associated layer (NAL) unit of an APS_NUT (adaptive parameter set) is signaled, ALF data may be included. The ALF data may include alf_chroma_idc related to whether ALF should be applied to the chroma component. As described in Table 12 below, alf_chroma_idc may be parsed when the value of ChromaArrayType is not 0.

[0168] [Table 12]

[0169] alf_data(){ Descriptors ... if (ChromaArrayType!= 0) alf_chroma_idc tu(v) ... }

[0170] If the value of alf_chroma_idc is 0, ALF may not be applied to the Cb color component and the Cr color component. When the value of alf_chroma_idc is 1, ALF may be applied to the Cb color component. When the value of alf_chroma_idc is 2, ALF may be applied to the Cr color component. When the value of alf_chroma_idc is 3, ALF may be applied to the Cb color component and the Cr color component. If alf_chroma_idc does not exist, the value of alf_chroma_idc may be estimated to be 0.

[0171] Figure 8 is a flowchart illustrating the operation of an encoding device according to an embodiment, and Fig. 9 is a block diagram illustrating a configuration of an encoding device according to an embodiment.

[0172] according to Figure 8 and Fig. 9 The encoding device can be executed according to Fig.10 and Fig.11 Therefore, the operation of the decoding device according to Figure 8 and Fig. 9 The encoding device is similarly applied to be later Fig.10 and Fig.11 The operation of the decoding device described in .

[0173] Figure 8 Each step disclosed in Figure 2 More specifically, steps S800 to S830 may be performed by Figure 2 The predictor 220 disclosed in the embodiment of the present invention is executed, step S840 can be performed by Figure 2 The residual processor 230 disclosed in the embodiment is executed, and step S850 can be performed by Figure 2 In addition, the operations according to S800 to S850 are based on the above Figures 4a to 7Therefore, the description of the contents described above will be omitted or briefly described. Figure 2 and Figures 4a to 7 Description of those redundant specific contents described in.

[0174] like Fig.11 As shown, the encoding device according to the embodiment may include a predictor 220 and an entropy encoder 240. However, in some cases, Fig.11 All components shown may not be necessary components of the encoding device, and the encoding device may be composed of more Fig.11 The components shown may be implemented with more or fewer components.

[0175] In the encoding apparatus according to the embodiment, the predictor 220 and the entropy encoder 240 may be implemented by separate chips, or at least two or more components may be implemented by a single chip.

[0176] The encoding apparatus according to an embodiment may generate a chroma format index related to a chroma format sampling structure for a current block (S800). More specifically, the predictor 220 of the encoding apparatus may generate a chroma format index related to a chroma format sampling structure for a current block.

[0177] The encoding apparatus according to an embodiment may generate a separate color plane flag related to whether three color components are separately coded (S810). More specifically, the predictor 220 of the encoding apparatus may generate a separate color plane flag related to whether three color components are separately coded.

[0178] The encoding device according to an embodiment may derive a chroma array type for the current block based on the chroma format index and the separate color plane flag (S820). More specifically, the predictor 220 of the encoding device may derive a chroma array type for the current block based on the chroma format index and the separate color plane flag.

[0179] The encoding apparatus according to an embodiment may derive a prediction sample of the current block based on the derived chroma array type (S830). More specifically, the predictor 220 of the encoding apparatus may derive a prediction sample of the current block based on the derived chroma array type.

[0180] The encoding apparatus according to an embodiment may induce residual samples of the current block based on the prediction samples (S840). More specifically, the residual processor 230 of the encoding apparatus may induce residual samples of the current block based on the prediction samples.

[0181] The encoding apparatus according to the embodiment may encode residual information including information about the residual sample (S850). More specifically, the entropy encoder 240 of the encoding apparatus may encode residual information including information about the residual sample.

[0182] In an embodiment, the three color components may include a luminance component and a chrominance component, and the chrominance component may include a Cb component and a Cr component.

[0183] In one embodiment, deriving the prediction sample for the current block may include checking whether the value of the chroma array type is not 0 and whether the tree type used to derive the current block is a chroma tree within a single tree or a dual tree.

[0184] In an embodiment, the value of the chroma array type may be determined to be 0 based on a determination that the value of the chroma format index is 0 or the value of the individual color plane flag is 1. The value of the chroma array type may be determined to be not 0 based on a determination that the value of the chroma format index is not 0 and the value of the individual color plane flag is 0.

[0185] According to an embodiment, when deriving a prediction sample of a current block, an encoding device may derive an intra-frame chroma prediction mode for the current block based on a determination that a tree type used to derive the current block is a chroma tree within a single tree or a dual tree, and derive the prediction sample of the current block based on the intra-frame chroma prediction mode.

[0186] The encoding apparatus according to an embodiment may derive a dual-tree intra flag regarding whether three color components are separately coded with respect to a predefined area within a current block based on a determination that a value of the chroma array type is not 0.

[0187] The encoding apparatus according to an embodiment may create a CCLM flag regarding whether a cross-component linear model (CLLM) for deriving a Cb component or a Cr component based on a luma component is applied, based on a determination that a value of the chroma array type is not 0.

[0188] The encoding apparatus according to an embodiment may generate an ALF chroma index related to whether an adaptive loop filter (ALF) is applied to at least one of a Cb component and a Cr component based on a determination that a value of the chroma array type is not 0.

[0189] In an embodiment, based on the determination that the value of the ALF chroma index is 0, ALF may not be applied to the Cb component and the Cr component; based on the determination that the value of the ALF chroma index is 1, ALF may be applied to the Cb component; based on the determination that the value of the ALF chroma index is 2, ALF may be applied to the Cr component; and based on the determination that the value of the ALF chroma index is 3, ALF may be applied to the Cb component and the Cr component.

[0190] according to Figure 8 and Fig. 9An encoding device and an operating method of the encoding device, the encoding device may generate a chroma format index related to a chroma format sampling structure for a current block (S800), generate a separate color plane flag related to whether three color components are coded separately (S810), derive a chroma array type for the current block based on the chroma format index and the separate color plane flag (S820), derive a prediction sample of the current block based on the derived chroma array type (S830), derive a residual sample of the current block based on the prediction sample (S840), and encode residual information including information about the residual sample (S850), wherein in this case, the three color components include a luminance component and a chroma component, and the chroma component includes a Cb component and a Cr component, and wherein deriving the prediction sample of the current block may include checking whether a value of the chroma array type is not 0 and whether a tree type used to derive the current block is a chroma tree within a single tree or a dual tree.

[0191] That is, according to the present disclosure, it is possible to improve the efficiency of intra prediction by efficiently signaling information about the chroma format. Alternatively, according to the present disclosure, the current block can be efficiently predicted based on the chroma array type used for the current block. Alternatively, according to the present disclosure, by determining whether the tree type used to derive the current block is a chroma tree within a single tree or a dual tree based on a determination that the value of the chroma array type used for the current block is not 0, and by selecting whether to derive intra_chroma_pred_mode based on the determination about the chroma tree type, it is possible to efficiently predict the current block.

[0192] Fig.10 is a flowchart illustrating the operation of a decoding device according to an embodiment, and Fig.11 is a block diagram illustrating a configuration of a decoding device according to an embodiment.

[0193] Fig.10 Each of the steps disclosed in Figure 3 More specifically, S1000 may be performed by the decoding device 300 disclosed in Figure 3 The entropy decoder 310 disclosed in the embodiment of the present invention is executed, and S1010 and S1020 can be performed by Figure 3 The predictor 330 disclosed in , and S1030 can be performed by Figure 3 In addition, the operations according to S1000 to S1030 are based on the above reference Figures 4a to 7 Therefore, the description of the above contents will be omitted or briefly described. Figures 3 to 7 Description of specific content that is redundant with the content described in the .

[0194] like Fig.11As shown, the decoding device according to the embodiment may include an entropy decoder 310, a predictor 330 and an adder 340. However, in some cases, Fig.11 All components shown may not necessarily be necessary for a decoding device, and a decoding device may be composed of Fig.11 The components shown may be implemented with more or fewer components.

[0195] In the decoding device according to the embodiment, the entropy decoder 310, the predictor 330, and the adder 340 may be implemented by separate chips, or at least two or more components may be implemented by a single chip.

[0196] The decoding apparatus according to an embodiment may receive a bitstream including prediction information for a current block (S1000). More specifically, the entropy decoder 310 of the decoding apparatus may receive a bitstream including prediction information for a current block.

[0197] The decoding device according to the embodiment may derive the chroma array type for the current block based on the chroma format index related to the chroma format sampling structure for the current block and the separate color plane flag related to whether the three color components are separately coded, wherein the chroma format index and the separate color plane flag are included in the prediction information for the current block (S1010). More specifically, the predictor 330 of the decoding device may derive the chroma array type for the current block based on the chroma format index related to the chroma format sampling structure for the current block and the separate color plane flag related to whether the three color components are separately coded, wherein the chroma format index and the separate color plane flag are included in the prediction information for the current block.

[0198] In one example, the chroma format index may be expressed as chroma_format_idc; the separate color plane flag may be expressed as separate_colour_plane_flag; and the chroma array type may be expressed as ChromaArrayType.

[0199] The decoding apparatus according to the embodiment may derive a prediction sample of the current block based on the derived chroma array type (S1020). More specifically, the predictor 330 of the decoding apparatus may derive a prediction sample of the current block based on the derived chroma array type.

[0200] The decoding apparatus according to the embodiment may derive the reconstructed sample of the current block based on the prediction sample (S1030). More specifically, the adder 340 of the decoding apparatus may derive the reconstructed sample of the current block based on the prediction sample.

[0201] In an embodiment, the three color components may include a luminance component and a chrominance component, and the chrominance component may include a Cb component and a Cr component. In one example, the luminance component may be expressed as a luminance color component; the chrominance component may be expressed as a chrominance color component; the Cb component may be expressed as a Cb color component; and the Cr component may be expressed as a Cr color component.

[0202] When deriving a prediction sample of a current block, a decoding device according to an embodiment may check whether the value of the chroma array type is not 0 and whether the tree type used to derive the current block is a chroma tree within a single tree or a dual tree. In one example, a single tree may be expressed as SINGLE_TREE, and a chroma tree within a dual tree may be expressed as DUAL_TREE_CHROMA.

[0203] In an embodiment, the value of the chroma array type may be determined to be 0 based on a determination that the value of the chroma format index is 0 or the value of the individual color plane flag is 1. The value of the chroma array type may be determined to be not 0 based on a determination that the value of the chroma format index is not 0 and the value of the individual color plane flag is 0. This can be confirmed by referring to Table 4 above.

[0204] According to the embodiment, when deriving the prediction sample of the current block, the decoding device can derive the intra-frame chroma prediction mode for the current block based on the determination that the value of the chroma array type is not 0 and the tree type used to derive the current block is a chroma tree within a single tree or a dual tree, and derive the prediction sample of the current block based on the intra-frame chroma prediction mode.

[0205] The decoding device according to the embodiment may decode a dual tree intra flag, which is included in the prediction information for the current block and is related to whether three color components are separately coded with respect to a predefined area within the current block, based on a determination that the value of the chroma array type is not 0. In an example, the dual tree intra flag may be expressed as qtbtt_dual_tree_intra_flag.

[0206] The decoding device according to the embodiment may decode a CCLM flag, which is included in the prediction information for the current block and is related to whether a cross-component linear model (CLLM) for deriving a Cb component or a Cr component based on a luma component, based on a determination that the value of the chroma array type is not 0. In an example, the CCLM flag may be represented as sps_cclm_enabled_flag.

[0207] In an embodiment, the bitstream may further include adaptive loop filter (ALF) information, and the decoding device may decode an ALF chroma index, which is included in the ALF information and is related to whether ALF is applied to at least one of the Cb component or the Cr component, based on a determination that a value of the chroma array type is not 0. In an example, the ALF chroma index may be expressed as alf_chroma_idc.

[0208] In one embodiment, based on the determination that the value of the ALF chrominance index is 0, ALF may not be applied to the Cb component and the Cr component; based on the determination that the value of the ALF chrominance index is 1, ALF may be applied to the Cb component; based on the determination that the value of the ALF chrominance index is 2, ALF may be applied to the Cr component; and based on the determination that the value of the ALF chrominance index is 3, ALF may be applied to the Cb component and the Cr component.

[0209] according to Fig.10 and Fig.11 A decoding device and an operating method of the decoding device disclosed in the disclosure, the decoding device may receive a bit stream including prediction information for a current block (S1000), derive a chroma array type for the current block based on a chroma format index related to a chroma format sampling structure for the current block and based on a separate color plane flag related to whether three color components are separately coded, wherein the chroma format index and the separate color plane flag are included in the prediction information for the current block (S1010), derive prediction samples of the current block based on the derived chroma array type (S1020), and derive reconstructed samples of the current block based on the prediction samples (S1030), wherein the three color components include a luminance component and a chroma component, and the chroma components include a Cb component and a Cr component, and wherein deriving the prediction samples of the current block includes checking whether a value of the chroma array type is not 0 and whether a tree type used to derive the current block is a chroma tree within a single tree or a dual tree.

[0210] That is, according to the present disclosure, the efficiency of intra prediction can be improved by efficiently signaling information about the chroma format. Alternatively, according to the present disclosure, the current block can be efficiently predicted based on the chroma array type used for the current block. Alternatively, according to the present disclosure, by determining whether the tree type used to derive the current block is a chroma tree within a single tree or a dual tree based on the determination that the value of the chroma array type of the current block is not 0, and by selecting whether to derive intra_chroma_pred_mode based on the determination about the chroma tree type, the current block can be efficiently predicted.

[0211] Although the method has been described based on the flowcharts that list the steps and boxes in order in the above embodiments, the steps of the present disclosure are not limited to a certain order, and a certain step may be performed in a different step or in a different order from the above steps or simultaneously. In addition, it should be understood by those of ordinary skill in the art that the steps of the flowchart are not exclusive, and another step may be included therein, or one or more steps of the flowchart may be deleted without affecting the scope of the present disclosure.

[0212] The aforementioned method according to the present disclosure may be in the form of software, and the encoding device and / or decoding device according to the present disclosure may be included in a device for performing image processing such as a TV, a computer, a smart phone, a set-top box, a display device, and the like.

[0213] When the embodiments are implemented in software in the present disclosure, the aforementioned methods can be implemented using modules (processes, functions, etc.) that perform the aforementioned functions. The modules can be stored in a memory and executed by a processor. The memory can be arranged inside or outside the processor and connected to the processor using various known means. The processor may include an application specific integrated circuit (ASIC), other chipsets, logic circuits, and / or data processing devices. The memory may include a read-only memory (ROM), a random access memory (RAM), a flash memory, a memory card, a storage medium, and / or other storage devices. That is, the embodiments described herein can be implemented and executed on a processor, a microprocessor, a controller, or a chip. For example, the functional units shown in the various figures can be implemented and executed on a computer, a processor, a microprocessor, a controller, or a chip. In this case, information (e.g., information about instructions) or algorithms for implementation can be stored in a digital storage medium.

[0214] In addition, the decoding device and encoding device to which the present disclosure is applied may be included in the following: a multimedia broadcast transceiver, a mobile communication terminal, a home theater video device, a digital theater video device, a surveillance camera, a video chat device, and a real-time communication device such as a video communication, a mobile streaming device, a storage medium, a camera, a video on demand (VoD) service provider, an over-the-top (OTT) video device, an Internet streaming service provider, a 3D video device, a virtual reality (VR) device, an augmented reality (AR) device, an image phone video device, a vehicle terminal (e.g., a vehicle (including an autonomous vehicle) terminal, an aircraft terminal, or a ship terminal) and a medical video device, etc., and may be used to process image signals or data. For example, an OTT video device may include a game console, a Blu-ray player, a TV connected to the Internet, a home theater system, a smart phone, a tablet PC, and a digital video recorder (DVR), etc.

[0215] In addition, the processing method of the present disclosure can be generated in the form of a program executed by a computer and can be stored in a computer-readable recording medium. Multimedia data with a data structure according to the present disclosure can also be stored in a computer-readable recording medium. Computer-readable recording media include all kinds of storage devices and distributed storage devices in which computer-readable data is stored. Computer-readable recording media may include, for example, Blu-ray discs (BD), universal serial buses (USB), ROMs, PROMs, EPROMs, EEPROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, and optical data storage devices. Computer-readable recording media also include media embodied in the form of carrier waves (e.g., transmission via the Internet). In addition, the bit stream generated by the encoding method can be stored in a computer-readable recording medium or sent via a wired or wireless communication network.

[0216] In addition, the embodiments of the present disclosure may be embodied as a computer program product based on program codes, and the program codes may be executed on a computer according to the embodiments of the present disclosure. The program codes may be stored on a computer readable carrier.

[0217] Fig.12 represents an example of a content streaming system to which the disclosure herein may be applied.

[0218] Reference Fig.12 A content streaming system to which the embodiments of the present disclosure are applied may generally include an encoding server, a streaming server, a network server, a media storage device, a user device, and a multimedia input device.

[0219] The encoding server is used to compress the content input from the multimedia input device such as a smart phone, a camera, a camcorder, etc. into digital data to generate a bit stream and send it to the streaming server. As another example, in the case where the multimedia input device such as a smart phone, a camera, a camcorder, etc. directly generates a bit stream, the encoding server can be omitted.

[0220] The bitstream may be generated by applying the encoding method or the bitstream generation method of the embodiment of the present disclosure, and the streaming server may temporarily store the bitstream during the process of sending or receiving the bitstream.

[0221] The streaming server sends multimedia data to the user device based on the user's request through the network server, which acts as a tool to inform the user of what services are available. When the user requests the service the user wants, the network server transfers the request to the streaming server, and the streaming server sends the multimedia data to the user. In this regard, the content streaming system may include a separate control server, and in this case, the control server is used to control the commands / responses between the various devices in the content streaming system.

[0222] The streaming server may receive content from a media storage device and / or an encoding server. For example, in the case where the content is received from the encoding server, the content may be received in real time. In this case, the streaming server may store the bitstream for a predetermined period of time to smoothly provide a streaming service.

[0223] For example, user devices may include mobile phones, smart phones, laptop computers, digital broadcast terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation, tablet PCs, tablet PCs, ultrabooks, wearable devices (e.g., watch-type terminals (smart watches), glasses-type terminals (smart glasses), head-mounted displays (HMDs)), digital TVs, desktop computers, digital signage, etc.

[0224] Each server in the content streaming system may be operated as a distributed server, and in this case, data received by each server may be processed in a distributed manner.

Claims

1. An image decoding method performed by a decoding device, the method comprising: deriving chroma format indicator information indicating a chroma format from the bitstream; Based on the chroma format indicator information, deriving a chroma array type; Based on the chroma format indicator information, deriving a prediction sample of a current block; as well as Based on the predicted samples, a reconstructed sample of the current block is generated, wherein, based on the value of the chroma format indicator information being not equal to 0 and the tree type for the current block being single-tree or dual-tree chroma, intra-frame chroma prediction mode information for the current block is obtained from the bitstream, The intra-frame chroma prediction mode of the current block is derived based on the intra-frame chroma prediction mode information, wherein the predicted sample of the current block is derived based on the intra chroma prediction mode, wherein, based on the value of the chroma format indicator information being not equal to 0, a dual-tree intra flag related to whether implicit quadtree partitioning is used to partition each coding tree unit (CTU) into coding units (CUs) of predefined regions is obtained from the bitstream, wherein, based on the value of the chroma format indicator information being equal to 0, the dual-tree intra-frame flag is not obtained from the bitstream, and Wherein, based on not obtaining the dual-tree intra-frame flag from the bitstream, the value of the dual-tree intra-frame flag is inferred to be equal to 0.

2. An image encoding method performed by an encoding device, the method comprising: generating chroma format indicator information indicating a chroma format; Based on the chroma format indicator information, deriving a chroma array type; Based on the chroma format indicator information, deriving a prediction sample of a current block; Based on the prediction samples, deriving residual samples of the current block; as well as encoding image information including residual information including information related to the residual samples, wherein, based on the value of the chroma format indicator information being not equal to 0 and the tree type for the current block being single-tree or dual-tree chroma, further encoding intra-frame chroma prediction mode information for the current block, The intra-frame chroma prediction mode information represents an intra-frame chroma prediction mode used to derive the prediction sample of the current block, wherein, based on the value of the chroma format indicator information being not equal to 0, a dual-tree intra flag related to whether implicit quadtree partitioning is used to partition each coding tree unit (CTU) into coding units (CUs) of predefined regions is further encoded, wherein, based on the value of the chroma format indicator information being equal to 0, the dual-tree intra-frame flag is not included in the image information, and Wherein, based on the fact that the dual-tree intra-frame flag is not included in the image information, the value of the dual-tree intra-frame flag is configured to be inferred to be equal to 0.

3. A method for transmitting image data, the method comprising: Obtaining encoding information for the image, wherein the encoding information includes encoding residual information, wherein the encoding residual information is generated by performing the following steps: generating chroma format indicator information indicating a chroma format, deriving a chroma array type based on the chroma format indicator information, deriving a prediction sample of a current block based on the chroma format indicator information, deriving a residual sample of the current block based on the prediction sample, and encoding image information including the residual information including information related to the residual sample; sending said data including said coded information, wherein, based on the value of the chroma format indicator information not being equal to 0 and the tree type for the current block being single-tree or dual-tree chroma, intra-frame chroma prediction mode information for the current block is further encoded, The intra-frame chroma prediction mode information represents an intra-frame chroma prediction mode used to derive the prediction sample of the current block, wherein, based on the value of the chroma format indicator information being not equal to 0, a dual-tree intra flag related to whether implicit quadtree partitioning is used to partition each coding tree unit (CTU) into coding units (CUs) of predefined regions is further encoded, wherein, based on the value of the chroma format indicator information being equal to 0, the dual-tree intra-frame flag is not included in the image information, and Wherein, based on the fact that the dual-tree intra-frame flag is not included in the image information, the value of the dual-tree intra-frame flag is configured to be inferred to be equal to 0.