Method and apparatus for signaling information about chroma format

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

CN120091132APending Publication Date: 2025-06-03LG ELECTRONICS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510140572.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2019-03-15
Filing Date
2020-03-12
Publication Date
2025-06-03

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 increased, and the intra prediction efficiency is also low.

Method used

By signaling information about the chromaticity format in the image compilation system, the tree type is derived based on the chromaticity array type of the current block, and efficient intra prediction is performed. The specific methods include receiving a bitstream of prediction information, deriving a chromaticity array type, deriving a predicted sample, and reconstructing the sample of the current block based on the prediction sample.

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 CN120091132A_ABST
    Figure CN120091132A_ABST
Patent Text Reader

Abstract

The invention relates to a method and apparatus for signaling information about chroma format. According to the present disclosure, an image decoding method performed by a decoding device comprises the steps of: receiving a bitstream including prediction information for a current block; deriving a chroma array type for the current block based on individual color plane flags indicating whether the three color components are respectively compiled and a chroma format index indicating a chroma format sampling structure for the current block, the chroma format index and the individual color plane flags being included in 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.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the patent application with the application number 202080027970.4 (PCT / KR2020 / 003463), the international application date of which is March 12, 2020, and which entered the Chinese Patent Office on October 11, 2021, and the invention title is "Method and apparatus for signaling information about chrominance format". Technical Field

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

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

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

[0005] Therefore, highly efficient image / video compression techniques are needed to effectively compress, transmit, store, or play high-resolution and high-quality images / videos that exhibit various characteristics as described above. Summary of the Invention

[0006] Technical Problem

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

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

[0009] The present disclosure still is also to provide a method and apparatus for signaling information about chrominance format.

[0010] The present disclosure still is also to provide a method and apparatus for predicting a current block based on a chrominance array type for the current block.

[0011] The present disclosure also still provides a method and an apparatus. Based on the determination that the value of the chrominance array type for the current block is not 0, it is determined whether the tree type for deriving the current block is a chrominance tree within a single tree or a dual tree. And based on the determination that it is a chrominance tree within a single tree or a dual tree, the current block is predicted.

[0012] Technical solution

[0013] According to an embodiment of the present disclosure, there is provided an image decoding method executed by a decoding device. The method includes: receiving a bitstream including prediction information for a current block; deriving a chrominance array type for the current block based on a chrominance format index related to the chrominance 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 chrominance format index and the separate color plane flag are included in the prediction information for the current block; deriving prediction samples for the current block based on the derived chrominance array type; and deriving reconstructed samples for the current block based on the prediction samples, wherein the three color components include a luminance component and chrominance components, and the chrominance components include a Cb component and a Cr component.

[0014] According to another embodiment of the present disclosure, there is provided a decoding device for performing image decoding. The decoding device includes: an entropy decoder that receives a bitstream including prediction information for a current block and derives a chrominance array type for the current block based on a chrominance format index related to the chrominance 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 chrominance format index and the separate color plane flag are included in the prediction information for the current block; a predictor that derives prediction samples for the current block based on the derived chrominance array type; and an adder that derives reconstructed samples for the current block based on the prediction samples, wherein the three color components include a luminance component and chrominance components, and the chrominance components include a Cb component and a Cr component.

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

[0016] According to another embodiment of the present disclosure, there is provided an encoding device for performing image encoding. The encoding 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 separately compiled, derives a chroma array type for the current block based on the chroma format index and the separate color plane flag, and derives prediction samples for the current block based on the derived chroma array type; a residual processor that derives residual samples for the current block based on the prediction samples; and an entropy encoder that encodes residual information including information about the residual samples, where the three color components include a luminance component and chroma components, and the chroma components include a Cb component and a Cr component.

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

[0018] According to another embodiment of the present disclosure, there is provided a decoder-readable storage medium that 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 compiled, where the chroma format index and the separate color plane flag are included in the prediction information for the current block; deriving prediction samples for the current block based on the derived chroma array type; and deriving reconstructed samples for the current block based on the prediction samples, where the three color components include a luminance component and chroma components, and the chroma components include a Cb component and a Cr component.

[0019] Technical effects

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

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

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

[0023] According to the present disclosure, the efficiency of intra prediction can be improved by efficiently signaling information about the chroma format.

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

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

[0026] Figure 1 Schematically illustrate an example of a video / image compilation system to which the present disclosure can be applied.

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

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

[0029] Figure 4a And Figure 4b Is a diagram illustrating an example of an image encoding method executed by an encoding device according to an embodiment and an example of an image decoding method executed by a decoding device according to an embodiment.

[0030] Figure 5 Is a flowchart illustrating an intra prediction method according to an embodiment.

[0031] Figure 6 Is a diagram illustrating an example of a directional intra prediction mode.

[0032] Figure 7 Is a diagram for illustrating intra prediction based on CCLM according to an embodiment.

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

[0034] Figure 9 Is a block diagram illustrating the configuration of an encoding device according to an embodiment.

[0035] Figure 10 Is a flowchart illustrating the operation of a decoding device according to an embodiment.

[0036] Figure 11 Is a block diagram illustrating the configuration of a decoding device according to an embodiment.

[0037] Figure 12 Illustrate an example of a content stream system to which the disclosure of this document can be applied. DETAILED DESCRIPTION

[0038] The present disclosure may be modified in various forms, and specific embodiments thereof 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 for describing specific embodiments and are not intended to limit the present disclosure. Singular expressions include plural expressions as long as there is no explicitly different understanding. 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, and thus 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.

[0039] In addition, each configuration of the accompanying drawings described in the present disclosure is an independent illustration for explaining functions as different features from each other, and does not mean that each configuration is implemented by different hardware or different software. For example, two or more configurations in the configuration can be combined to form one configuration, and one configuration can also be divided into multiple configurations. Embodiments in which configurations are combined and / or separated without departing from the gist of the present disclosure are included in the scope of the present disclosure.

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

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

[0042] This document relates to video / image compilation. For example, the methods / embodiments disclosed herein can be applied to methods disclosed in General Video Compilation (VVC), Elementary Video Compilation (EVC) standard, AOMedia Video1 (AV1) standard, Second Generation Audio Video Coding Standard (AVS2), or next-generation video / image compilation standards (e.g., H.267, H.268, etc.).

[0043] Various embodiments of video / image compilation are presented herein, and unless otherwise specified, the above embodiments can also be executed in combination with each other.

[0044] In this document, 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 part of a picture at compile time. A slice / tile may include one or more Compile 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 brick may represent a rectangular area of CTU rows within a tile in a picture (a brick may represent a rectangular area of CTU rows within a tile in a picture). A tile may be partitioned into multiple bricks, and each brick may be constructed with one or more CTU rows within the tile (a tile may be partitioned into multiple bricks, and each brick consists of one or more CTU rows within the tile). A tile that is not partitioned into multiple bricks may also be referred to as a brick. Tile scanning may represent a specific sequential ordering of CTUs that partition a picture, where CTUs may be ordered in a CTU raster scan within a tile, and tiles within a tile may be sequentially ordered in a raster scan of the tiles of the tile, and tiles in a picture may be sequentially ordered in a raster scan of the tiles of the picture (Tile scanning is a specific sequential ordering of CTUs that partition a picture, where CTUs may be sequentially ordered in a CTU raster scan within a tile, tiles within a tile may be sequentially ordered in a raster scan of the tiles of the tile, and tiles in a picture may be sequentially ordered in a raster scan of the tiles of the picture). A tile is a rectangular area of CTUs in a specific tile column and specific CTU rows within the tile column (a tile is a rectangular area of CTUs in a specific tile column and specific tile rows within a picture). A tile column is a rectangular area of CTUs with a height equal to the height of the picture and a width that may be specified by a syntax element in the picture parameter set (a tile column is a rectangular area of CTUs with a height equal to the height of the picture and a width specified by a syntax element in the picture parameter set). A tile row is a rectangular area of CTUs with a width specified by a syntax element in the picture parameter set and a height that may be equal to the height of the picture (a tile row is a rectangular area of CTUs with a height specified by a syntax element in the picture parameter set and a width equal to the width of the picture). Tile scanning may represent a specific sequential ordering of CTUs that partition a picture, and CTUs may be sequentially ordered in a CTU raster scan within a tile, while tiles in a picture may be sequentially ordered in a raster scan of the tiles of the picture (Tile scanning is a specific sequential ordering of CTUs that partition a picture, where CTUs may be sequentially ordered in a CTU raster scan within a tile, while tiles in a picture may be sequentially ordered in a raster scan of the tiles of the picture). A slice may include an integer number of bricks of a picture and may include an integer number of bricks in a single NAL unit (a slice includes an integer number of bricks of a picture that may be exclusively contained in a single NAL unit).A slice can be constructed from multiple complete tiles, or can be a continuous sequence of complete tiles of a single tile (a slice can consist of multiple complete tiles or a continuous sequence of complete tiles of only one tile). In this document, tile groups and slices can be used interchangeably. For example, in this document, a tile group / tile group header can be referred to as a slice / slice header.

[0045] A pixel or pel can mean the smallest unit that makes up a picture (or image). Additionally, the term "sample" can be used as a term corresponding to a pixel. A sample can generally represent a pixel or the value of a pixel, and can represent a pixel / pixel value of only the luminance component or a pixel / pixel value of only the chrominance component.

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

[0047] In this disclosure, the terms " / " and "," should be interpreted as indicating "and / or". For example, the expression "A / B" can mean "A and / or B". Additionally, "A, B" can mean "A and / or B". Further, "A / B / C" can mean "at least one of A, B, and / or C". Additionally, "A / B / C" can mean "at least one of A, B, and / or C".

[0048] Furthermore, in this document, the term "or" should be interpreted as indicating "and / or". For example, the expression "A or B" can 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".

[0049] Referring Figure 1 , a video / image compilation system can include a source device and a receiving device. The source device can transmit encoded video / image information or data in the form of a file or a stream to the receiving device via a digital storage medium or a network.

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

[0051] The video source can obtain video / images through processes such as capturing, synthesizing, or generating video / images. The video source can include a video / image capture device and / or a video / image generation device. For example, the video / image capture device can include one or more cameras, a video / image archive including previously captured video / images, etc. For example, the video / image generation device can include a computer, a tablet computer, and a smart phone, and can (electronically) generate video / images. For example, virtual video / images can be generated by a computer or the like. In this case, the video / image capture process can be replaced by a process of generating relevant data.

[0052] The encoding device can encode the input video / image. For compression and compilation 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 bitstream.

[0053] The transmitter can send the encoded image / image information or data output in the form of a bitstream to the receiver of the receiving device in the form of a file or a stream through a digital storage medium or a network. The digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmitter can include elements for generating a media file in a predetermined file format and can include elements for transmitting through a broadcast / communication network. The receiver can receive / extract the bitstream and send the received bitstream to the decoding device.

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

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

[0056] Figure 2 FIG. is a schematic diagram illustrating the 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 can include an image encoding device.

[0057] Refer to Figure 2, the encoding device 200 includes an image splitter 210, a predictor 220, a residual processor 230, 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 further include a subtractor 231. The adder 250 may be referred to as a reconstructor or a reconstruction block generator. According to an embodiment, the image splitter 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 a processor). Additionally, the memory 270 may include a decoded picture buffer (DPB), or may be configured by a digital storage medium. The hardware component may further include the memory 270 as an internal / external component.

[0058] The image splitter 210 may split an 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 split from a coding tree unit (CTU) or a largest coding unit (LCU) according to a quadtree binary tree ternary tree (QTBTTT) structure. For example, a coding unit may be split into multiple 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 units that are no longer splittable. In this case, based on the coding efficiency according to image features, etc., the largest coding unit may be directly used as the final coding unit, or if necessary, the coding unit may be recursively split into coding units of a deeper depth so that the coding unit with the 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 for sample prediction, and the transformation unit may be a unit for deriving transform coefficients and / or a unit for deriving a residual signal from the transform coefficients.

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

[0060] In the encoding device 200, a prediction signal (prediction block, prediction sample array) output from the inter-frame predictor 221 or the intra-frame predictor 222 is subtracted from the 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, the unit that subtracts the prediction signal (prediction block, prediction sample array) from the input image signal (original block, original sample array) in the encoder 200 may be referred to as the subtractor 231. The predictor may perform prediction on a block to be processed (hereinafter, referred to as the current block) and generate a prediction block including the prediction samples of the current block. The predictor may determine whether to apply intra-frame prediction or inter-frame prediction based on the current block or the CU. As will be described later in the description of each prediction mode, the predictor may generate various types of information related to the 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.

[0061] The intra-frame predictor 222 may predict the current block by referring to the samples in the current picture. Depending on the prediction mode, the samples referred to may be located near the current block or may be separated. In intra-frame prediction, the prediction mode may include a plurality of non-directional modes and a plurality of directional modes. For example, the non-directional modes may include the DC mode and the planar mode. For example, depending on the level of detail of the prediction direction, the directional modes 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 according to 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.

[0062] The inter-frame predictor 221 can derive a prediction block of a 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 transmitted in the inter-frame prediction mode, the motion information can be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between neighboring blocks and the current block. The motion information can include a motion vector and a reference picture index. The motion information can also include inter-frame prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter-frame prediction, neighboring blocks can 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 can be the same or different. The temporal neighboring block can be referred to as a collocated reference block, a collocated CU (colCU), etc., and the reference picture including the temporal neighboring block can be referred to as a collocated picture (colPic). For example, the inter-frame predictor 221 can configure a motion information candidate list based on neighboring blocks and generate information indicating which candidate is used to derive the motion vector and / or reference picture index of the current block. Inter-frame prediction can be performed based on various prediction modes. For example, in the skip mode and the merge mode, the inter-frame predictor 221 can use the motion information of neighboring blocks as the motion information of the current block. In the skip mode, different from the merge mode, the residual signal may not be transmitted. The motion vector prediction (MVP) mode can use the motion vector of a neighboring block as a motion vector predictor and signal the motion vector difference to indicate the motion vector of the current block.

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

[0064] The prediction signal generated by a predictor (including the inter-frame predictor 221 and / or the intra-frame predictor 222) can be used to generate a reconstructed signal or generate a residual signal. The transformer 232 can generate transform coefficients by applying a transform technique to the residual signal. For example, the transform technique can 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 non-linear transform (CNT). Here, when the relationship information between pixels is represented by a graph, GBT means a transform obtained from the graph. CNT refers to a transform generated based on a prediction signal generated using all previously reconstructed pixels. Additionally, the transform process can be applied to square pixel blocks of the same size or can be applied to blocks of variable size other than square.

[0065] The quantizer 233 can quantize the transform coefficients and send them to the entropy encoder 240, and the entropy encoder 240 can encode the quantized signal (information about the quantized transform coefficients) and output a bitstream. The information about the quantized transform coefficients can be referred to as residual information. The quantizer 233 can rearrange the block-type quantized transform coefficients into a one-dimensional vector form based on the coefficient scan 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 can be generated. The entropy encoder 240 can 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 can encode together or separately the information required for video / image reconstruction other than the quantized transform coefficients (e.g., the values of syntax elements, etc.). The encoded information (e.g., the encoded video / image information) can be sent or stored in the form of a bitstream in units of NAL (network abstraction layer). The video / image information can 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). Additionally, the video / image information can also include general constraint information. In this document, the information and / or syntax elements sent / signaled from the encoding device to the decoding device can be included in the video / picture information. The video / image information can be encoded through the above encoding process and included in the bitstream. The bitstream can be sent via a network or can be stored in a digital storage medium. The network can include a broadcast network and / or a communication network, and the digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmitter (not shown) for sending the signal output from the entropy encoder 240 and / or a storage unit (not shown) for storing the signal can be included as internal / external elements of the encoding device 200, and alternatively, the transmitter can be included in the entropy encoder 240.

[0066] The quantized transform coefficients output from the quantizer 233 can be used to generate a prediction signal. For example, a residual signal (residual block or residual sample) can be reconstructed by applying inverse quantization and inverse transformation to the quantized transform coefficients via the inverse quantizer 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 (e.g., in the case of applying the skip mode), the predicted block can be used as the reconstructed block. The adder 250 can 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 through filtering.

[0067] In addition, luminance mapping and chrominance scaling (LMCS) can be applied during picture encoding and / or reconstruction.

[0068] 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 can 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.

[0069] The modified reconstructed picture sent to the memory 270 can be used as a reference picture in the inter-frame predictor 221. When inter-frame prediction is applied by the encoding device, prediction mismatch between the encoding device 200 and the decoding device can be avoided and the encoding efficiency can be improved.

[0070] The DPB of the memory 270 DPB can store the modified reconstructed picture used as a reference picture in the inter-frame predictor 221. The memory 270 can store the motion information of the block that derives (or encodes) the motion information in the current picture and / or the motion information of the blocks that have been reconstructed in the picture. The stored motion information can be sent to the inter-frame predictor 221 and used as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 270 can store the reconstructed samples of the reconstructed blocks in the current picture and can transfer the reconstructed samples to the intra-frame predictor 222.

[0071] Figure 3 is a diagram for schematically illustrating the configuration of a video / image decoding device to which the present disclosure is applicable.

[0072] Referring to 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 decoder 310, the residual processor 320, the predictor 330, the adder 340, and the filter 350 may be configured by hardware components (e.g., a decoder chipset or a processor). Additionally, the memory 360 may include a decoded picture buffer (DPB) or may be configured by a digital storage medium. The hardware components may also include the memory 360 as an internal / external component.

[0073] When the input includes a bitstream of video / image information, the decoding device 300 may reconstruct an image corresponding to the processing of the video / image information in the Figure 2 encoding device. For example, the decoding device 300 may derive units / blocks based on block segmentation-related information obtained from the bitstream. The decoding device 300 may use the processor applied in the encoding device to perform decoding. Thus, for example, the decoding processor may be a compilation unit, and the compilation unit may be divided from a compilation tree unit or a largest compilation 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 compilation unit. The reconstructed image signal decoded and output by the decoding device 300 may be reproduced by a reproduction device.

[0074] The decoding device 300 may receive from Figure 2The signal output by the encoding device in the form of a bitstream, and the received signal can be decoded by the entropy decoder 310. For example, the entropy decoder 310 can parse the bitstream to derive information (e.g., video / image information) required for image reconstruction (or picture reconstruction). The video / image information can also include information about various parameter sets, such as Adaptive Parameter Set (APS), Picture Parameter Set (PPS), Sequence Parameter Set (SPS), or Video Parameter Set (VPS). Additionally, the video / image information can also include general constraint information. The decoding device can also decode the picture based on the information about the parameter sets and / or the general constraint information. The signaled / received information and / or syntax elements described later in this article can be decoded through the decoding process and obtained from the bitstream. For example, the entropy decoder 310 decodes the information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and outputs the syntax elements required for image reconstruction and the quantization values of the transformed coefficients of the residuals. More specifically, the CABAC entropy decoding method can receive bins (binary bits) corresponding to the respective syntax elements in the bitstream, use the information of the syntax element to be decoded, the decoding information of the block to be decoded, or the information of the symbols / bins decoded in the previous stage to determine the context model, and perform arithmetic decoding on the bins by predicting the probability of the bin occurrence according to the determined context model, and generate symbols corresponding to the values of the respective syntax elements. In this case, the CABAC entropy decoding method can update the context model by using the information of the decoded symbols / bins for the context model of the next symbol / bin after determining the context model. Among the information decoded by the entropy decoder 310, the information related to prediction can be provided to the predictors (inter-frame predictor 332 and intra-frame predictor 331), and the residual values (i.e., the quantized transform coefficients and related parameter information) for which entropy decoding has been performed in the entropy decoder 310 can be input to the residual processor 320. The residual processor 320 can derive a residual signal (residual block, residual sample, residual sample array). Additionally, the information about filtering among the information decoded by the entropy decoder 310 can be provided to the filter 350. Furthermore, a receiver (not shown) for receiving the signal output by the encoding device can also be configured as an internal / external component of the decoding device 300, or the receiver can be a component of the entropy decoder 310. Additionally, the decoding device according to this article can be referred to as a video / image / picture decoding device, and the decoding device can be classified into an information decoder (video / image / picture information decoder) and a sample decoder (video / image / picture sample decoder). The information decoder can include the entropy decoder 310, and the sample decoder can include at least one of a dequantizer 321, an inverse transformer 322, an adder 340, a filter 350, a memory 360, an inter-frame predictor 332, and an intra-frame predictor 331.

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

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

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

[0078] The predictor can generate a prediction signal based on various prediction methods described below. For example, the predictor can not only apply intra prediction or inter prediction to predict a block, but also apply intra prediction and inter prediction simultaneously. This can be referred to as combined inter and intra prediction (CIIP). Additionally, the predictor can predict a block based on the intra block copy (IBC) prediction mode or the palette mode. The IBC prediction mode or the palette mode can be used for content image / video compilation such as games, e.g., screen content compilation (SCC). IBC basically performs prediction in the current picture, but can be performed similarly to inter prediction such that a reference block is derived in the current picture. That is, IBC can use at least one of the inter prediction techniques described herein. The palette mode can be regarded as an example of intra compilation or intra prediction. When the palette mode is applied, the sample values within the picture can be signaled based on the information about the palette table and the palette index. The intra predictor 331 can predict the current block by referring to the samples in the current picture. Depending on the prediction mode, the samples referred to can be located near the current block or can be separated. In intra prediction, the prediction mode can include multiple non-directional modes and multiple directional modes. The intra predictor 331 can use the prediction mode applied to the neighboring blocks to determine the prediction mode applied to the current block.

[0079] The intra predictor 331 can predict the current block by referring to the samples in the current picture. Depending on the prediction mode, the samples referred to can be located near the current block or can be separated. In intra prediction, the prediction mode can include multiple non-directional modes and multiple directional modes. The intra predictor 331 can use the prediction mode applied to the neighboring blocks to determine the prediction mode applied to the current block.

[0080] The inter-frame predictor 332 can derive a prediction block for 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 transmitted in the inter-frame prediction mode, the motion information can be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between neighboring blocks and the current block. The motion information can include a motion vector and a reference picture index. The motion information can also include inter-frame prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter-frame prediction, the neighboring blocks can 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 can configure a motion information candidate list based on the neighboring blocks and derive the motion vector and / or reference picture index of the current block based on the received candidate selection information. The inter-frame prediction can be performed based on various prediction modes, and the information about the prediction can include information indicating the inter-frame prediction mode of the current block.

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

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

[0083] In addition, luminance mapping and chrominance scaling (LMCS) can be applied in the picture decoding process.

[0084] 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 can include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc.

[0085] The (modified) reconstructed picture stored in the DPB of the memory 360 can be used as a reference picture in the inter-frame predictor 332. The memory 360 can store the motion information of the blocks that derive (or decode) the motion information in the current picture and / or the motion information of the blocks that have been reconstructed in the picture. The stored motion information can be sent to the inter-frame predictor 260 to be used as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 360 can store the reconstructed samples of the reconstructed blocks in the current picture and transmit the reconstructed samples to the intra-frame predictor 331.

[0086] 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 can be the same as or respectively correspond to and be applied to the filter 350, the inter-frame predictor 332, and the intra-frame predictor 331 of the decoding device 300. This also applies to the unit 332 and the intra-frame predictor 331.

[0087] As described above, when performing video compilation, prediction is performed to enhance the compression efficiency. A prediction block including prediction samples of a current block (i.e., a target compilation block) can be generated through prediction. In this case, the prediction block includes prediction samples in the spatial domain (or pixel domain). The prediction block is derived identically in the encoding device and the decoding device. The encoding device can enhance the image compilation efficiency by signaling to the decoding device information (residual information) about the residual between the original block (rather than the original sample values of the original block) and the prediction block. The decoding device can derive a residual block including residual samples based on the residual information, can generate a reconstructed block including reconstructed samples by adding the residual block and the prediction block, and can generate a reconstructed picture including the reconstructed block.

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

[0089] Figure 4a and Figure 4bFIG. is an example of an image encoding method performed by an encoding apparatus according to an embodiment and an example of an image decoding method performed by a decoding apparatus according to an embodiment.

[0090] Figure 4a FIG. illustrates an example of an image encoding method performed by a video encoding apparatus. Referring to Figure 4a , the image encoding method may include block partitioning, intra / inter prediction, transformation, quantization, and entropy encoding processes. For example, a 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 the prediction block of the current block. Thereafter, a coefficient block, i.e., a transform coefficient of the current block, may be generated by transforming the residual block. The transform coefficient may be quantized, entropy encoded, and stored in a bitstream.

[0091] Figure 4b FIG. illustrates an example of an image decoding method performed by a decoding apparatus. Referring to Figure 4b , the image decoding method may include entropy decoding, inverse quantization, inverse transformation, and intra / inter prediction processes. For example, the decoding apparatus may perform an inverse process of the encoding method. Specifically, a quantized transform coefficient may be obtained by entropy decoding of the bitstream, and a coefficient block of the current block, i.e., a transform coefficient, may be obtained by an inverse quantization process of the quantized transform coefficient. A residual block of the current block may be derived by inverse-transforming the transform coefficient, and a reconstructed block of the current block may be derived by adding a prediction block of the current block derived by intra / inter prediction and the residual block.

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

[0093] As Figure 5 shown, the intra prediction method according to an embodiment may include the following three steps. That is, the intra prediction method according to an 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 perform prediction on an unknown sample using known neighboring reference samples and an intra prediction mode.

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

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

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

[0097] Alternatively, the intra prediction modes may include two non - directional intra prediction modes and 129 directional intra prediction modes. The non - directional intra prediction modes may include the planar intra prediction mode and the DC intra prediction mode, while the directional intra prediction modes may include the numbered 2 to numbered 130 intra prediction modes.

[0098] 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 chrominance samples. The CCLM mode may be classified as LT_CCLM, L_CCLM, and T_CCLM depending on whether the left sample, the upper sample, or both are considered to derive the LM parameters, and may be applied only to the chrominance component.

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

[0100] [Table 1]

[0101] 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

[0102] Meanwhile, the intra prediction type (or additional intra prediction modes, 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 it is 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.

[0103] Refer to Figure 6, the intra prediction modes with horizontal directivity and the intra prediction modes with vertical directivity can be distinguished around the intra prediction mode of frame No. 34 with a left-up diagonal prediction direction. Figure 6 Here, H and V respectively denote horizontal directivity and vertical directivity, and the numbers -32 to 32 indicate displacements in units of 1 / 32 at the sample grid positions. The intra prediction modes of frames No. 2 to 33 have horizontal directivity, while the intra prediction modes of frames No. 34 to 66 have vertical directivity. The intra prediction mode of frame No. 18 and the intra prediction mode of frame No. 50 can be a horizontal intra prediction mode and a vertical intra prediction mode respectively; the intra prediction mode of frame No. 2 can be called a left-down diagonal intra prediction mode; the intra prediction mode of frame No. 34 can be called a left-up diagonal intra prediction mode; and the intra prediction mode of frame No. 66 can be called a right-up diagonal intra prediction mode.

[0104] Generally, when an image is divided into blocks, the current block to be encoded and the neighboring blocks 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. Thus, the encoder can use the intra prediction mode of the neighboring blocks to encode the intra prediction mode of the current block.

[0105] More specifically, the decoding device can derive a most probable mode (MPM) list based on the intra prediction modes of the neighboring blocks (e.g., the left neighboring block and / or the upper neighboring block) of the current block and additional candidate modes, and can select one of the MPM candidates in the derived MPM list based on the received MPM index, or can 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 can be referred to as an intra prediction mode candidate list or can be represented as candModeList.

[0106] When the neighboring blocks are intra encoded, the encoding device (or encoder) can check or derive the prediction modes of the neighboring blocks. For example, the prediction mode of the current block can 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 can be determined as the most probable mode (MPM). Determining the MPM can be expressed as an enumeration of MPM (most probable mode) candidates (or an MPM list).

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

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

[0109] Figure 7 FIG. is for illustrating the CCLM-based intra prediction according to an embodiment.

[0110] In an embodiment, the CCLM mode can be applied to the current chrominance block. The CCLM mode can represent a mode that can derive a linear model based on neighboring samples of the luminance block and neighboring samples of the chrominance block as an intra prediction mode using the correlation between the luminance block and the chrominance block corresponding to the luminance block, and derive predicted samples of the chrominance block based on the linear model and the reconstructed samples of the luminance block. More specifically, when the CCLM mode is applied to the current chrominance block, parameters for the linear model can be derived based on neighboring samples for the intra prediction of the current chrominance block and neighboring samples for the intra prediction of the current luminance block. For example, the linear model can be expressed based on Equation 1 below.

[0111] [Equation 1]

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

[0113] Here, predc(i,j) can represent the predicted sample at the (i,j) coordinate of the current chrominance block, and recL'(i,j) can represent the reconstructed sample at the (i,j) coordinate of the current luminance block. Additionally, recL'(i,j) can represent the downsampled reconstructed sample of the current luminance block.

[0114] Meanwhile, parameters α and β of the linear model can be derived based on neighboring samples for the intra prediction of the current luminance block and neighboring samples for the intra prediction of the current chrominance block. Parameters α and parameter β can be derived based on Equation 2 and 3 below.

[0115] [Equation 2]

[0116]

[0117] [Equation 3]

[0118]

[0119] Here, L(n) may represent the upper neighboring sample and / or left neighboring sample of the current luminance block, and C(n) may represent the upper neighboring sample and / or left neighboring sample of the current chrominance block. Additionally, L(n) may represent the downsampled upper neighboring sample and / or left neighboring sample of the current luminance block. Further, N may represent a value that is twice the smaller of the width and height of the current chrominance block.

[0120] In an embodiment, for compiling the chrominance intra prediction mode, a total of eight intra prediction modes may be allowed for chrominance intra mode compilation. The eight intra prediction modes may include five existing intra prediction modes and the Cross-Component Linear Mode (CCLM) mode. Table 2, to be described later, shows a mapping table for deriving the intra chrominance prediction mode when CCLM is not available, while Table 3 shows a mapping table for deriving the intra prediction mode when CCLM is available.

[0121] [Table 2]

[0122]

[0123] 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.

[0124] [Table 3]

[0125]

[0126] 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.

[0127] In Tables 2 and 3, the sps_cclm_enabled_flag can be a flag indicating whether the CCLM signaled at the SPS (Sequence Parameter Set) level is enabled; the intra_chroma_pred_mode can be intra chroma prediction mode information; the IntraPredModeY can be intra prediction mode information for a luma block; the IntraPredModeC can be intra prediction mode information for a chroma block; the xCb can be the x coordinate of the top-left sample of the current block; the yCb can be the y coordinate of the top-left sample of the current block; the cbWidth can be the width of the current block; and the cbHeight can be the height of the current block.

[0128] As shown in Tables 2 and 3, the intra chroma prediction mode can be determined based on the intra luma prediction mode for the luma block covering the center-bottom-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.

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

[0130] In the present disclosure, specific terms or sentences are used to define specific information or concepts. For example, the chroma format index related to the chroma format sampling structure for the current block is expressed as "chroma_format_idc"; the separate color plane flag related to whether the three color components are separately coded is expressed as "separate_colour_plane_flag"; the 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_CHROMA"; the CCLM flag related to whether the CCLM based on the luma component to derive the Cb component or Cr component is enabled is expressed as "sps_cclm_enabled_flag"; the dual tree intra flag related to whether the three color components are separately coded with respect to a predefined region 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".

[0131] However, "chroma_format_idc" can be replaced with various terms such as chroma_format_idx and ChromaFormat_idc; "separate_colour_plane_flag" can be replaced with various terms such as separate_color_plane_flag, separate_colorplane_flag; "ChromaArrayType" can be replaced with chromaArrayType, etc.; "sps_cclm_enabled_flag" can be replaced with cclm_flag, cclm_enabled_flag, etc.; and "qtbtt_dual_tree_intra_flag" can 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 interpreting a particular term or sentence used to define a particular information or concept in the present disclosure, an interpretation limited to that name should be avoided, but instead they need to be interpreted while paying attention to various operations, functions, and effects according to what the term is intended to express.

[0132] Various chroma formats can exist in a video, such as monochrome, 4:2:0, 4:2:2, 4:4:4. In monochrome sampling, there can be one sample array, and the sample array can be a luminance array. In 4:2:0 sampling, each of the two chroma arrays can have half the height and half the width of the luminance array. In 4:2:2 sampling, each of the two chroma arrays can have the same height as the luminance array and half the width of the luminance array.

[0133] In 4:4:4 sampling, the following can be applied 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 can have the same height and the same width as the luminance array. ChromaArrayType can be set to the same as chroma_format_idc. If the value of separate_colour_plane_flag is 1, the three color planes can be processed separately like a picture in monochrome sampling. ChromaArrayType can be set to 0. Table 4 below shows the chroma format classification according to an embodiment.

[0134] [Table 4]

[0135]

[0136] Various embodiments may be provided based on the chrominance format classification according to Table 4 above.

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

[0138] [Table 5]

[0139]

[0140]

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

[0142] 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 for deriving 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].

[0143] In an embodiment, a method for deriving PCM samples for chrominance (blocks) may be provided. When the value of ChromaArrayType is not 0, the syntax element pcm_sample_chroma for indicating the coded chrominance sample values may be parsed as disclosed in Table 6 below.

[0144] [Table 6]

[0145]

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

[0147] In an embodiment, a method of parsing a coding block flag (CBF) of a chroma (block) may be provided. When the value of chromaArrayType is not 0, tu_cbf_cb and tu_cbf_cr for indicating an intra prediction mode within a chroma frame 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 as 0, and thus the process of deriving transform coefficients for chroma may be omitted.

[0148] [Table 7]

[0149]

[0150] 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. The array indices 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 as 0.

[0151] 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. The array indices 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 as 0.

[0152] In an embodiment, a method of coding an implicit quadtree for splitting within a dual tree of an I-tile group may be provided with respect to a chroma format. The I-tile group may have two types of tree types. One is a single tree and the other is a dual tree. When applying the I-tile group dual tree, the luminance component and the chroma component may have their own block structures. In other words, the chroma component may have the same block structure as the luminance component, or may have a different block structure.

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

[0154] When the value of qtbtt_dual_tree_intra_flag is 1, for I tile groups, each coding tree unit (CTU) can be divided into coding units using implicit quadtree partitioning in a predefined luminance sample region. The coding unit can be the root of two separate coding_tree syntax structures for luminance and chrominance. When the value of qtbtt_dual_tree_intra_flag is 0, the implicit quadtree partitioning can 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.

[0155] [Table 8]

[0156] seq_parameter_set_rbsp(){ Descriptor … if(ChromaArrayType != 0) qtbtt_dual_tree_intra_flag u(1) … }

[0157] Referring to Table 8, qtbtt_dual_tree_intra_flag can 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 can be estimated as 0. When chroma format 4:4:4 is adopted in monochrome or separate color planes, the value of chromaArrayType can be 0. In the case of adopting chroma format 4:4:4 in monochrome or separate color planes, since there is no luminance and chrominance dependency, nested partitioning may not be required.

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

[0159] [Table 9]

[0160] seq_parameter_set_rbsp(){ Descriptor … if(ChromaArrayType != 0) sps_cclm_enabled_flag u(1) f(sps_cclm_enabled_flag && chroma_format_idc == 1) sps_cclm_colocated_chroma_flag u(1) … }

[0161] 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 as 0.

[0162] In an embodiment, information about color planes may be signaled with respect to a chroma format. Table 10 and Table 11 below disclose separate_colour_plane_flag and colour_plane_id as information about color planes and chroma_format_idc as information about the chroma format as follows.

[0163] [Table 10]

[0164] seq_parameter_set_rbsp(){ Descriptor ... if(chroma_format_idc == 3) separate_colour_plane_flag u(1) … }

[0165] [Table 11]

[0166] tile_group_header(){ Descriptor ... if(separate_colour_plane_flag == 1) colour_plane_id u(2) ... }

[0167] In Table 10 and Table 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, the colour_plane_id may be parsed to specify different color components. When the value of separate_colour_plane_flag is 1, the colour_plane_id may indicate the color plane associated with the current slice RBSP. The value of colour_plane_id may be in the range from 0 to 2. The colour_plane_id values 0, 1, and 2 may correspond to luma (Y), chroma Cb, and chroma Cr, respectively. There may be no dependencies during the decoding process between pictures with different colour_plane_id values.

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

[0169]

[0170] [Table 12]

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

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

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

[0174] According to Figure 8 and Figure 9 the encoding device may perform operations corresponding to the operations of the decoding device according to Figure 10 and Figure 11 Therefore, the operations to be described later for the decoding device may be similarly applied to the encoding device according to Figure 8 and Figure 9 Each step disclosed in Figure 10 and Figure 11 may be performed by the encoding device 200 disclosed in

[0175] Figure 8 More specifically, steps S800 to S830 may be performed by the predictor 220 disclosed in Figure 2 steps S840 may be performed by the residual processor 230 disclosed in Figure 2 and steps S850 may be performed by Figure 2 disclosed in Figure 2performed by the entropy encoder 240 disclosed in. In addition, the operations according to S800 to S850 are based on some of the content described above in Figures 4a to 7 Therefore, descriptions of specific content redundant with those described above in Figure 2 and Figures 4a to 7 will be omitted or briefly described.

[0176] As Figure 11 shown, the encoding device according to an embodiment may include a predictor 220 and an entropy encoder 240. However, in some cases, Figure 11 all the components shown may not be essential components of the encoding device, and the encoding device may be implemented by more or fewer components than Figure 11 shown.

[0177] In the encoding device according to an 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.

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

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

[0180] 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.

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

[0182] The encoding device according to an embodiment may derive a residual sample for the current block based on the predicted sample (S840). More specifically, the residual processor 230 of the encoding device may derive a residual sample for the current block based on the predicted sample.

[0183] The encoding device according to the embodiment may encode residual information including information on residual samples (S850). More specifically, the entropy encoder 240 of the encoding device may encode residual information including information on residual samples.

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

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

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

[0187] When deriving the prediction sample of the current block, the encoding device according to the embodiment may derive the intra-chrominance prediction mode for the current block based on the determination that the tree type used to derive the current block is a chrominance tree within a single tree or a dual tree, and derive the prediction sample of the current block based on the intra-chrominance prediction mode.

[0188] The encoding device according to the embodiment may derive a dual-tree intra flag related to whether the three color components are separately compiled with respect to a predefined region within the current block based on the determination that the value of the chrominance array type is not 0.

[0189] The encoding device according to the embodiment may create a CCLM flag related to whether to apply a cross-component linear model (CLLM) for deriving the Cb component or the Cr component based on the luminance component based on the determination that the value of the chrominance array type is not 0.

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

[0191] In an embodiment, based on the determination that the value of the ALF chrominance index is 0, the 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, the ALF may be applied to the Cb component; based on the determination that the value of the ALF chrominance index is 2, the ALF may be applied to the Cr component; and based on the determination that the value of the ALF chrominance index is 3, the ALF may be applied to the Cb component and the Cr component.

[0192] According to Figure 8 andFigure 9 An encoding device and an operation method of the encoding device. The encoding device can generate a chrominance format index (S800) related to the sampling structure of the chrominance format for the current block, generate a separate color plane flag (S810) related to whether three color components are separately coded, derive a chrominance array type for the current block (S820) based on the chrominance format index and the separate color plane flag, derive prediction samples for the current block (S830) based on the derived chrominance array type, derive residual samples for the current block (S840) based on the prediction samples, and encode residual information including information about the residual samples (S850). In this case, the three color components include a luminance component and chrominance components, and the chrominance components include a Cb component and a Cr component. And deriving the prediction samples for the current block may include checking that the value of the chrominance array type is not 0 and whether the tree type for deriving the current block is a chrominance tree within a single tree or a dual tree.

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

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

[0195] Figure 10 Each of the steps disclosed in Figure 3 can be executed by the decoding device 300 disclosed in Figure 3 More specifically, S1000 can be executed by the entropy decoder 310 disclosed in Figure 3 S1010 and S1020 can be executed by the predictor 330 disclosed in Figure 3 and S1030 can be executed by the adder 340 disclosed in Figures 4a to 7 The operations according to S1000 to S1030 are based on some of the content described above with reference to Figures 3 to 7 Therefore, the description of specific content redundant with the content described above in

[0196] As Figure 11As shown, a decoding device according to an embodiment may include an entropy decoder 310, a predictor 330, and an adder 340. However, in some cases, Figure 11 all of the components shown may not necessarily be essential to the decoding device, and the decoding device may be implemented by more or fewer components than Figure 11 those shown.

[0197] In a decoding device according to an 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.

[0198] A decoding device 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 device may receive a bitstream including prediction information for the current block.

[0199] A decoding device according to an embodiment may 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 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). More specifically, the predictor 330 of the decoding device may 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 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.

[0200] 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.

[0201] A decoding device according to an embodiment may derive prediction samples for the current block based on the derived chroma array type (S1020). More specifically, the predictor 330 of the decoding device may derive prediction samples for the current block based on the derived chroma array type.

[0202] A decoding device according to an embodiment may derive reconstructed samples for the current block based on the prediction samples (S1030). More specifically, the adder 340 of the decoding device may derive reconstructed samples for the current block based on the prediction samples.

[0203] In an embodiment, the three color components may include a luminance component and chrominance components, and the chrominance components 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 components may be expressed as chrominance color components; the Cb component may be expressed as a Cb color component; and the Cr component may be expressed as a Cr color component.

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

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

[0206] When deriving the predicted samples of a current block, a decoding device according to an embodiment may derive an intra-chrominance prediction mode for the current block based on the determination that the value of the chrominance array type is not 0 and the tree type used to derive the current block is a chrominance tree within a single tree or a dual tree, and derive the predicted samples of the current block based on the intra-chrominance prediction mode.

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

[0208] A decoding device according to an embodiment may decode a CCLM flag based on the determination that the value of the chrominance array type is not 0, the CCLM flag being included in the prediction information for the current block and related to whether a cross-component linear model (CLLM) used to derive the Cb component or the Cr component based on the luminance component is enabled. In an example, the CCLM flag may be denoted as sps_cclm_enabled_flag.

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

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

[0211] According to Figure 10 and Figure 11 the decoding device and the operation method of the decoding device disclosed in, the decoding device may receive a bitstream 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 the 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, where the chroma format index and the separate color plane flag are included in the prediction information for the current block (S1010), derive predicted samples for the current block based on the derived chroma array type (S1020), and derive reconstructed samples for the current block based on the predicted samples (S1030), where the three color components include a luminance component and chroma components, and the chroma components include a Cb component and a Cr component, and where deriving the predicted samples for the current block includes checking that the value of the chroma array type is not 0 and whether the tree type for deriving the current block is a chroma tree within a single tree or a dual tree.

[0212] 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 for the current block. Alternatively, according to the present disclosure, by determining whether the tree type for deriving 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 for the current block is not 0, and by selecting whether to derive intra_chroma_pred_mode according to the determination about the chroma tree type, the current block can be efficiently predicted.

[0213] Although the method has been described in the foregoing embodiments based on a flowchart listing steps and boxes in sequence, the steps of the present disclosure are not limited to a certain order, and a certain step may be performed in different steps or in an order different from the foregoing steps or simultaneously. In addition, those of ordinary skill in the art should understand 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.

[0214] The foregoing 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, and a display device.

[0215] When an embodiment is implemented in software in the present disclosure, the foregoing method may be implemented using modules (procedures, functions, etc.) that perform the foregoing functions. The modules may be stored in a memory and executed by a processor. The memory may be disposed inside or outside the processor and connected to the processor using various well-known means. The processor may include an application-specific integrated circuit (ASIC), other chip sets, 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 may be implemented and executed on a processor, a microprocessor, a controller, or a chip. For example, the functional units shown in the respective drawings may be implemented and executed on a computer, a processor, a microprocessor, a controller, or a chip. In this case, information for implementing the embodiment (for example, information about instructions) or an algorithm may be stored in a digital storage medium.

[0216] In addition, the decoding device and the encoding device applying the present disclosure may be included in the following: a multimedia broadcast transceiver, a mobile communication terminal, a home theater video device, a digital cinema video device, a surveillance camera, a video chat device, and a real-time communication device such as 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 (for example, 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, the OTT video device may include a game console, a Blu-ray player, an Internet-connected TV, a home theater system, a smart phone, a tablet PC, and a digital video recorder (DVR), etc.

[0217] In addition, the processing method applying the present disclosure can be generated in the form of a program executable by a computer and can be stored in a computer-readable recording medium. Multimedia data having a data structure according to the present disclosure can also be stored in the computer-readable recording medium. The computer-readable recording medium includes all kinds of storage devices and distributed storage devices in which computer-readable data is stored. The computer-readable recording medium can include, for example, Blu-ray Disc (BD), Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. The computer-readable recording medium also includes a medium embodied in the form of a carrier wave (e.g., transmission via the Internet). In addition, the bitstream generated by an encoding method can be stored in the computer-readable recording medium or transmitted via a wired or wireless communication network.

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

[0219] Figure 12 An example of a content stream system to which the present disclosure can be applied is shown.

[0220] Refer to Figure 12 , a content stream system applying the embodiments of the present disclosure generally can include an encoding server, a streaming server, a network server, a media storage device, a user device, and a multimedia input device.

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

[0222] The bitstream can be generated by applying the encoding method or the bitstream generation method of the embodiments of the present disclosure. And the streaming server can temporarily store the bitstream during the process of sending or receiving the bitstream.

[0223] The streaming server sends multimedia data to the user device via the network server based on the user's request. The network server serves as a tool to notify the user of what services are available. When the user requests a service that 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 stream system can 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 stream system.

[0224] The streaming server may receive content from a media storage device and / or an encoding server. For example, in the case of receiving content from an 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.

[0225] For example, the user equipment may include a mobile phone, a smart phone, a laptop computer, a digital broadcast terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation device, a slate PC, a tablet PC, an ultrabook, a wearable device (e.g., a watch-type terminal (smart watch), a glasses-type terminal (smart glasses), a head-mounted display (HMD)), a digital TV, a desktop computer, a digital signage, etc.

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

Claims

1. A decoding device for image decoding, the decoding device comprising: a memory; and at least one processor connected to the memory, the at least one processor being configured to: derive chroma format indicator information representing a chroma format from a bitstream; derive a chroma array type based on the chroma format indicator information; derive prediction samples for a current block based on the chroma format indicator information; and generate reconstructed samples for the current block based on the prediction samples, 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-chroma prediction mode information for the current block is obtained from the bitstream, wherein the intra-chroma prediction mode of the current block is derived based on the intra-chroma prediction mode information, wherein the prediction samples of the current block are derived based on the intra-chroma prediction mode, wherein, based on the value of the chroma format indicator information not being equal to 0, a dual-tree intra-frame flag related to whether to use implicit quadtree segmentation to divide each coded tree unit (CTU) into coded 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 the dual-tree intra-frame flag not being obtained from the bitstream, the value of the dual-tree intra-frame flag is inferred to be equal to 0.

2. An encoding device for image encoding, the encoding device comprising: a memory; and at least one processor connected to the memory, the at least one processor being configured to: generate chroma format indicator information representing a chroma format; derive a chroma array type based on the chroma format indicator information; derive prediction samples for a current block based on the chroma format indicator information; derive residual samples for the current block based on the prediction samples; and encode image information including residual information including information related to the residual samples, 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, the intra-chroma prediction mode information for the current block is further encoded, wherein the intra-chroma prediction mode information represents the intra-chroma prediction mode used to derive the prediction samples for the current block, wherein, based on the value of the chroma format indicator information not being equal to 0, the dual-tree intra-frame flag related to whether to use implicit quadtree segmentation to divide each coded tree unit (CTU) into coded 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 dual-tree intra-frame flag not being 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 device for sending data for an image, the device comprising: At least one processor configured to obtain coding information for the image, wherein the coding information includes coded residual information, wherein the coded residual information is generated by performing the following steps: generating chroma format indicator information representing a chroma format, deriving a chroma array type based on the chroma format indicator information, deriving prediction samples for a current block based on the chroma format indicator information, deriving residual samples for the current block based on the prediction samples, and coding image information including residual information including information related to the residual samples; and a transmitter configured to transmit the data including the bitstream, 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, further coding the intra-chroma prediction mode information for the current block, wherein the intra-chroma prediction mode information represents an intra-chroma prediction mode for deriving the prediction samples for the current block, wherein, based on the value of the chroma format indicator information not being equal to 0, further coding a dual-tree intra flag related to whether to use implicit quadtree segmentation to divide each coded tree unit (CTU) into coded units (CUs) of predefined regions, wherein, based on the value of the chroma format indicator information being equal to 0, the dual-tree intra flag is not included in the image information, and wherein, based on the dual-tree intra flag not being included in the image information, the value of the dual-tree intra flag is configured to be inferred as equal to 0.