Image encoding / decoding method and apparatus, and recording medium storing bitstream therein
By constructing a candidate list based on luminance blocks and deriveing the intra prediction mode, the problem of poor prediction accuracy and compression performance of chroma component blocks is solved, and more efficient image compression is achieved.
Patent Information
- Application Number
- CN202380057885.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-05
- Filing Date
- 2023-07-05
- Publication Date
- 2025-03-07
AI Technical Summary
The prior art is difficult to effectively configure the candidate list for intra prediction of chroma component blocks, resulting in poor prediction accuracy and compression performance.
A candidate list of chroma blocks is constructed based on an intra prediction mode of a luminance block corresponding to the current chroma block, and an intra prediction mode is derived through the list to generate a prediction sample.
By effectively configuring the candidate list for intra prediction, the prediction accuracy and compression performance of the chroma component block are improved.
Smart Images

Figure CN119586140A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an image encoding / decoding method and apparatus and a recording medium having a bit stream stored therein. Background Art
[0002] Recently, demands for high-resolution and high-quality images such as HD (High Definition) images and UHD (Ultra High Definition) images have been increasing in various application fields, and therefore, efficient image compression technology is being discussed.
[0003] There are various technologies, such as inter-frame prediction technology that uses video compression technology to predict pixel values included in the current picture from pictures before or after the current picture, intra-frame prediction technology that predicts pixel values included in the current picture by using pixel information in the current picture, entropy coding technology that assigns short symbols to values with high occurrence frequency and assigns long symbols to values with low occurrence frequency, etc., and these image compression technologies can be used to effectively compress image data and transmit or store it. Summary of the invention
[0004] Technical issues
[0005] The present disclosure is directed to providing a method and apparatus for configuring a candidate list for intra prediction of a chroma component block.
[0006] The present disclosure is directed to providing a method and apparatus for signaling mode information for intra prediction of a chroma component block.
[0007] Technical Solution
[0008] According to the image decoding method and device disclosed in the present invention, a candidate list of the current chrominance block is constructed based on the intra-frame prediction mode of the luminance block corresponding to the current chrominance block, the intra-frame prediction mode of the current chrominance block is derived based on the candidate list, and a prediction sample of the current chrominance block is generated based on the derived intra-frame prediction mode.
[0009] The image decoding method and apparatus according to the present disclosure may determine whether a cross-component linear model (CCLM) mode is applied to a current chrominance block.
[0010] When it is determined that the CCLM mode is not applied to the current chroma block, the image decoding method and apparatus according to the present disclosure may determine whether a direct mode (DM) is applied to the current chroma block.
[0011] When it is determined that the DM mode is not applied to the current chroma block, the image decoding method and apparatus according to the present disclosure may construct a candidate list.
[0012] In the image decoding method and device according to the present disclosure, the candidate list may include an intra-frame prediction mode of at least one of a first luminance block, a second luminance block, a third luminance block, or a fourth luminance block, the first luminance block including samples at an upper left position within a luminance block corresponding to a current chrominance block, the second luminance block including samples at an upper right position therein, the third luminance block including samples at a lower left position therein, and the fourth luminance block including samples at a lower right position therein.
[0013] In the image decoding method and device according to the present disclosure, the candidate list may include an intra-frame prediction mode of at least one of a first chroma block, a second chroma block, a third chroma block, a fourth chroma block, or a fifth chroma block, the first chroma block being adjacent to the upper left side of the current chroma block, the second chroma block being adjacent to its upper side, the third chroma block being adjacent to its upper right side, the fourth chroma block being adjacent to its left side, and the fifth chroma block being adjacent to its lower left side.
[0014] In the image decoding method and apparatus according to the present disclosure, the candidate list may include a decoder-side intra mode derivation (DIMD) mode.
[0015] According to the image encoding method and device of the present disclosure, a candidate list of the current chrominance block is constructed based on the intra-frame prediction mode of the luminance block corresponding to the current chrominance block, the intra-frame prediction mode of the current chrominance block is determined based on the candidate list, and a prediction sample of the current chrominance block is generated based on the determined intra-frame prediction mode.
[0016] A computer-readable digital storage medium is provided in which encoded video / image information for causing an image decoding device according to the present disclosure to perform an image decoding method is stored.
[0017] A computer-readable digital storage medium is provided, in which video / image information generated according to the image encoding method of the present disclosure is stored.
[0018] A method and apparatus for transmitting video / image information generated according to an image encoding method according to the present disclosure are provided.
[0019] Beneficial Effects
[0020] According to the present disclosure, by effectively configuring a candidate list for intra prediction of a chroma component block, it is possible to increase prediction accuracy and improve compression performance.
[0021] According to the present disclosure, compression performance can be improved by efficiently signaling mode information for intra prediction of a chroma component block. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 is a diagram illustrating a video / image coding system according to the present disclosure.
[0023] Figure 2 A schematic block diagram illustrating an encoding device to which an embodiment of the present disclosure can be applied and in which encoding of a video / image signal is performed.
[0024] Figure 3 A schematic block diagram illustrating a decoding device to which an embodiment of the present disclosure may be applied and in which decoding of a video / image signal is performed.
[0025] Figure 4 A flowchart of an intra prediction method performed by a decoding device according to an embodiment of the present disclosure is illustrated.
[0026] Figure 5 is a diagram for describing a candidate list configuration method according to an embodiment of the present disclosure.
[0027] Figure 6 is a flowchart illustrating a chroma intra prediction mode determination method according to an embodiment of the present disclosure.
[0028] Figure 7 is a diagram for describing a chroma intra prediction mode according to an embodiment of the present disclosure.
[0029] Figure 8 is a diagram illustrating a schematic configuration of an intra predictor that performs an intra prediction method according to the present disclosure.
[0030] Fig. 9 is a flowchart illustrating an inter-frame prediction method performed by an encoding device according to an embodiment of the present disclosure.
[0031] Fig.10 is a diagram illustrating a schematic configuration of an intra predictor that performs an inter prediction method according to the present disclosure.
[0032] Fig.11 is a diagram illustrating an example of a content streaming system to which an embodiment of the present disclosure can be applied. DETAILED DESCRIPTION
[0033] The present disclosure may be subject to various modifications and may have various embodiments, and therefore specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, it should be understood that this is not intended to limit the present disclosure to specific embodiments, but rather to include all modifications, equivalents or substitutes included within the spirit and technical scope of the present disclosure. In the description of each of the drawings, similar reference numerals are used to refer to similar components.
[0034] Various components may be described using terms such as first, second, etc., but components should not be limited by these terms. These terms are only used to distinguish one component from another component. For example, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component without departing from the scope of the present disclosure. The term "and / or" includes a combination of multiple related described items or any one of multiple related described items.
[0035] When a component is referred to as being "coupled" or "connected" to another component, it should be understood that the component can be directly coupled or connected to another component, but other components may exist in between. On the other hand, when a component is referred to as being "directly coupled" or "directly connected" to another component, it should be understood that no other components exist in between.
[0036] The terms used in this application are only used to describe specific embodiments and are not intended to limit the present disclosure. Unless the context clearly indicates otherwise, singular expressions include plural expressions. In this application, it should be understood that terms such as "including" and "having" are intended to specify the presence of features, numbers, steps, operations, components, parts or combinations thereof described in the specification, but do not exclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts or combinations thereof in advance.
[0037] The present disclosure relates to video / image coding. For example, the method / embodiment disclosed in this specification can be applied to the method disclosed in the general video coding (VVC) standard. In addition, the method / embodiment disclosed in this specification can be applied to the method disclosed in the basic video coding (EVC) standard, the AOMedia Video 1 (AV1) standard, the second generation audio video coding standard (AVS2), or the next generation video / image coding standard (for example, H.267 or H.268, etc.).
[0038] This specification proposes various embodiments related to video / image coding, and unless otherwise stated, the embodiments may be performed in combination with each other.
[0039] In this specification, video may mean a collection of a series of images over time. A picture generally means a unit representing an image of a specific time period, and a slice / tile is a unit that constitutes a part of a picture in coding. A slice / tile may contain one or more coding tree units (CTUs). A picture may consist of one or more slices / tiles. A tile is a rectangular area consisting of a specific tile row of a picture and a plurality of CTUs within a specific tile row. A tile column is a rectangular area of a CTU having a height equal to the height of the picture and a width specified by the syntax requirements of the picture parameter set. A tile row is a rectangular area of a CTU having a height specified by the picture parameter set and a width equal to the width of the picture. The CTUs within a tile may be arranged continuously according to a CTU raster scan, and the tiles within a picture may be arranged continuously according to a raster scan of the tile. A slice may contain an integer number of complete tiles or an integer number of continuous complete CTU rows within a tile of a picture that may be exclusively contained in a single NAL unit. At the same time, a picture may be partitioned into two or more sub-pictures. A sub-picture may be a rectangular area of one or more slices within a picture.
[0040] A pixel or a picture element may be the smallest unit constituting a picture (or image). In addition, "sample" may be used as a term corresponding to a pixel. A sample may generally represent a pixel or a pixel value, and may represent only a pixel / pixel value of a luminance component or only a pixel / pixel value of a chrominance component.
[0041] A unit can represent a basic unit of image processing. The unit may include at least one of a specific area of a picture and information related to the area. A unit may include a luminance block and two chrominance (e.g., cb and cr) blocks. In some cases, a unit may be used interchangeably with terms such as a block or an area. Typically, an MxN block may contain a set (or array) of samples (sample arrays) or transform coefficients consisting of M columns and N rows.
[0042] In this specification, "A or B" may mean "only A", "only B", or "both A and B". In other words, in this specification, "A or B" may be interpreted as "A and / or B". For example, in this specification, "A, B or C" may mean "only A", "only B", "only C", or "any combination of A, B, and C".
[0043] A slash ( / ) or a comma used in this specification may mean "and / or". For example, "A / B" may mean "A and / or B". Thus, "A / B" may mean "only A", "only B", or "both A and B". For example, "A, B, C" may mean "A, B, or C".
[0044] In the present specification, "at least one of A and B" may mean "only A", "only B", or "both A and B". In addition, in the present specification, the expression "at least one of A or B" or "at least one of A and / or B" may be interpreted as "at least one of A and B".
[0045] In addition, in the present specification, "at least one of A, B, and C" may mean "only A", "only B", "only C", or "any combination of A, B, and C". In addition, "at least one of A, B, or C" or "at least one of A, B and / or C" may mean "at least one of A, B, and C".
[0046] In addition, the brackets used in this specification may mean "for example". Specifically, when it is indicated as "prediction (intra-frame prediction)", "intra-frame prediction" may be suggested as an example of "prediction". In other words, "prediction" in this specification is not limited to "intra-frame prediction", and "intra-frame prediction" may be suggested as an example of "prediction". In addition, even when it is indicated as "prediction (ie, intra-frame prediction)", "intra-frame prediction" may be suggested as an example of "prediction".
[0047] Technical features described separately in one figure in this specification can be implemented separately or simultaneously.
[0048] Figure 1 A video / image compilation system according to the present disclosure is shown.
[0049] refer to Figure 1 , a video / image coding system may include a first device (source device) and a second device (receiving device).
[0050] The source device may send the encoded video / image information or data to the receiving device in the form of a file or stream transmission through a digital storage medium or a network. The source device may include a video source, an encoding device, and a sending unit. The receiving device may include a receiving unit, a decoding device, and a renderer. The encoding device may be referred to as a video / image encoding device, and the decoding device may be referred to as a video / image decoding device. The transmitter may be included in the encoding device. The receiver may be included in the decoding device. The renderer may include a display unit, and the display unit may be composed of a separate device or an external component.
[0051] The video source may obtain the video / image through the process of capturing, synthesizing or generating the video / image. The video source may include a device for capturing the video / image and a device for generating the video / image. The device for capturing the video / image may include at least one camera, a video / image archive including previously captured videos / images, etc. The device for generating the video / image may include a computer, a tablet computer, a smart phone, etc., and may (electronically) generate the video / image. For example, a virtual video / image may be generated by a computer, etc., and in this case, the process of capturing the video / image may be replaced by the process of generating the relevant data.
[0052] The encoding device can encode the input video / image. The encoding device can perform a series of processes such as prediction, transformation, quantization, etc. for compression and coding efficiency. The encoded data (encoded video / image information) can be output in the form of a bitstream.
[0053] The sending unit may send the encoded video / image information or data output in the form of a bit stream to the receiving unit of the receiving device in the form of a file or stream transmission through a digital storage medium or a network. The digital storage medium may include various storage media, such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The sending unit may include an element for generating a media file in a predetermined file format and may include an element for transmitting through a broadcast / communication network. The receiving unit may receive / extract a bit stream and send it to a decoding device.
[0054] The decoding device may decode the video / image by performing a series of processes corresponding to the operations of the encoding device, such as inverse quantization, inverse transformation, prediction, etc.
[0055] The renderer may render the decoded video / image. The rendered video / image may be displayed through a display unit.
[0056] Figure 2 A rough block diagram of an encoding device to which an embodiment of the present disclosure can be applied and which performs encoding of a video / image signal is shown.
[0057] refer to Figure 2, the encoding device 200 may be composed of an image segmenter 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, an inverse quantizer 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 reconstructed block generator. According to an embodiment, the above-mentioned image segmenter 210, the predictor 220, the residual processor 230, the entropy encoder 240, the adder 250, and the filter 260 may be configured by at least one hardware component (e.g., an encoder chipset or processor). In addition, the memory 270 may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The hardware component may further include a memory 270 as an internal / external component.
[0058] The image divider 210 may divide the input image (or picture, frame) input to the encoding device 200 into at least one processing unit. As an example, the processing unit may be referred to as a coding unit (CU). In this case, the coding unit may be recursively divided from a coding tree unit (CTU) or a maximum coding unit (LCU) according to a quadtree binary tree ternary tree (QTBTTT) structure.
[0059] For example, one coding unit may be segmented into a plurality of coding units having a deeper depth based on a quadtree structure, a binary tree structure, and / or a ternary structure. In this case, for example, the quadtree structure may be applied first, and the binary tree structure and / or the ternary structure may be applied later. Alternatively, the binary tree structure may be applied before the quadtree structure. The coding process according to this specification may be performed based on a final coding unit that is no longer segmented. In this case, based on coding efficiency according to image characteristics, etc., the maximum coding unit may be directly used as the final coding unit, or if necessary, the coding unit may be recursively segmented into coding units of a deeper depth, and the coding unit with the best size may be used as the final coding unit. Here, the coding process may include processes such as prediction, transformation, and reconstruction described later.
[0060] As another example, the processing unit may further include a prediction unit (PU) or a transform unit (TU). In this case, the prediction unit and the transform unit may be divided or partitioned from the above-mentioned final coding unit, respectively. The prediction unit may be a unit of sample prediction, and the transform unit may be a unit for deriving a transform coefficient and / or a unit for deriving a residual signal from the transform coefficient.
[0061] In some cases, a unit may be used interchangeably with terms such as a block or region. In general, an MxN block may represent a set of transform coefficients or samples consisting of M columns and N rows. A sample may generally represent a pixel or a pixel value, and may represent only a pixel / pixel value of a luma component, or only a pixel / pixel value of a chroma component. A sample may be used as a term to make a picture (or image) correspond to a pixel or a picture element.
[0062] The encoding device 200 may subtract the prediction signal (prediction block, prediction sample array) output from the inter predictor 221 or the intra predictor 222 from the input image signal (original block, original sample array) to generate a residual signal (residual signal, residual sample array), and the generated residual signal is transmitted to the transformer 232. In this case, a unit that subtracts the prediction signal (prediction block, prediction sample array) from the input image signal (original block, original sample array) within the encoding device 200 may be referred to as a subtractor 231.
[0063] The predictor 220 may perform prediction on a block to be processed (hereinafter referred to as a current block) and generate a predicted block including a prediction sample for the current block. The predictor 220 may determine whether intra prediction or inter prediction is applied in units of a current block or CU. The predictor 220 may generate various information about the prediction, such as prediction mode information, and send it to the entropy encoder 240, as described later in the description of each prediction mode. The information about the prediction may be encoded in the entropy encoder 240 and output in the form of a bitstream.
[0064] The intra-frame predictor 222 can predict the current block by referring to the samples in the current picture. Depending on the prediction mode, the referenced sample can be located near the current block or can be located at a specific distance away from the current block. In intra-frame prediction, the prediction mode may include at least one non-directional mode and multiple directional modes. The non-directional mode may include at least one of the DC mode or the plane mode. Depending on the detail level of the prediction direction, the directional mode may include 33 directional modes or 65 directional modes. However, this is only an example, and more or less directional modes may be used depending on the configuration. The intra-frame predictor 222 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring blocks.
[0065] The inter-frame predictor 221 may 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 sent in the inter-frame prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter-frame prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). For inter-frame prediction, the neighboring blocks may include spatial neighboring blocks present in the current picture and temporal neighboring blocks present in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block may be referred to as a collocated reference block, a collocated CU (colCU), etc., and the reference picture including the temporal neighboring block may be referred to as a collocated picture (colPic). For example, the inter-frame predictor 221 may configure a motion information candidate list based on the neighboring blocks, and generate information indicating which candidate is used to derive the motion vector and / or reference picture index of the current block. Inter prediction may be performed based on various prediction modes, and for example, for skip mode and merge mode, the inter predictor 221 may use motion information of a neighboring block as motion information of a current block. For skip mode, unlike merge mode, a residual signal may not be transmitted. For motion vector prediction (MVP) mode, a motion vector of a neighboring block is used as a motion vector predictor, and a motion vector difference is signaled to indicate a motion vector of the current block.
[0066] The predictor 220 may generate a prediction signal based on various prediction methods described later. For example, the predictor may not only apply intra prediction or inter prediction to predict a block, but may also apply intra prediction and inter prediction at the same time. It may be referred to as a combined inter and intra prediction (CIIP) mode. In addition, the predictor may be based on an intra block copy (IBC) prediction mode or may be based on a palette mode for prediction of a block. The IBC prediction mode or the palette mode may be used for content image / video coding of games, such as screen content coding (SCC), etc. IBC basically performs prediction within the current picture, but it may be performed similarly to inter prediction because it derives a reference block within the current picture. In other words, IBC may use at least one of the inter prediction techniques described herein. The palette mode may be considered an example of intra coding or intra prediction. When the palette mode is applied, the sample values within the picture may be signaled based on information about the palette table and the palette index. The prediction signal generated by the predictor 220 may be used to generate a reconstructed signal or a residual signal.
[0067] The transformer 232 may generate transform coefficients by applying a transform technique to the residual signal. For example, the transform technique may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a Karhunen-Loeve transform (KLT), a graph-based transform (GBT), or a conditional nonlinear transform (CNT). Here, GBT refers to a transform obtained from a graph when relationship information between pixels is expressed as a graph. CNT refers to a transform obtained based on generating a prediction signal using all previously reconstructed pixels. In addition, the transform process may be applied to square pixel blocks of the same size or may be applied to non-square blocks of variable size.
[0068] The quantizer 233 may quantize the transform coefficients and send them to the entropy encoder 240, and the entropy encoder 240 may encode the quantized signal (information about the quantized transform coefficients) and output it as a bitstream. The information about the quantized transform coefficients may be referred to as residual information. The quantizer 233 may rearrange the quantized transform coefficients in the block form into a one-dimensional vector form based on the coefficient scanning order, and may generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.
[0069] The entropy encoder 240 may perform various encoding methods such as Exponential Golomb, Context Adaptive Variable Length Coding (CAVLC), Context Adaptive Binary Arithmetic Coding (CABAC), etc. The entropy encoder 240 may encode information necessary for video / video image reconstruction (e.g., values of syntax elements, etc.) in addition to transform coefficients quantized together or individually.
[0070] The encoded information (e.g., encoded video / image information) can be transmitted or stored in units of network abstraction layer (NAL) units in the form of a bitstream. The video / image information may further include information about various parameter sets such as an adaptive parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may further include general constraint information. Here, information and / or syntax elements transmitted / signaled from the encoding device to the decoding device may be included in the video / image information. The video / image information may be encoded and included in the bitstream through the above-mentioned encoding process. The bitstream may be transmitted through a network or may be stored in a digital storage medium. Here, the network may include a broadcast network and / or a communication network, etc., and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmission unit (not shown) for transmission and / or a storage unit (not shown) for storing a signal output from the entropy encoder 240 may be configured as an internal / external element of the encoding device 200, or the transmission unit may also be included in the entropy encoder 240.
[0071] The quantized transform coefficients output from the quantizer 233 can be used to generate a prediction signal. For example, the residual signal (residual block or residual sample) can be reconstructed by applying dequantization and inverse transform to the quantized transform coefficients through the inverse quantizer 234 and the inverse transformer 235. The adder 250 can add 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). When there is no residual of the block to be processed, such as when the skip mode is applied, the prediction block can be used as a reconstructed block. The adder 250 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, and can also be used for inter-frame prediction of the next picture through filtering described later. At the same time, luminance mapping with chroma scaling (LMCS) can be applied in the picture encoding and / or reconstruction process.
[0072] 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 the modified reconstructed picture can be stored in the memory 270, specifically in the DPB of the memory 270. Various filtering methods may include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc. The filter 260 can generate various information about filtering and send it to the entropy encoder 240. The information about filtering can be encoded in the entropy encoder 240 and output in the form of a bit stream.
[0073] The modified reconstructed picture transmitted to the memory 270 may be used as a reference picture in the inter predictor 221. When inter prediction is applied therethrough, the encoding apparatus can avoid prediction mismatch in the encoding apparatus 200 and the decoding apparatus, and can also improve encoding efficiency.
[0074] The DPB of the memory 270 may store the modified reconstructed picture to be used as a reference picture in the inter-frame predictor 221. The memory 270 may store the motion information of the block from which the motion information in the current picture is derived (or encoded) and / or the motion information of the block in the pre-reconstructed picture. The stored motion information may be sent to the inter-frame predictor 221 to be used as the motion information of the spatial neighboring block or the motion information of the temporal neighboring block. The memory 270 may store the reconstructed samples of the reconstructed block in the current picture and send them to the intra-frame predictor 222.
[0075] Figure 3 A rough block diagram of a decoding device to which an embodiment of the present disclosure can be applied and which performs decoding of a video / image signal is shown.
[0076] refer to Figure 3 , the decoding device 300 may be configured by including 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 332 and an intra-frame predictor 331. The residual processor 320 may include an inverse quantizer 321 and an inverse transformer 322.
[0077] According to an embodiment, the above-mentioned entropy decoder 310, residual processor 320, predictor 330, adder 340 and filter 350 may be configured by one hardware component (e.g., decoder chipset or processor). In addition, the memory 360 may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The hardware component may further include the memory 360 as an internal / external component.
[0078] When a bit stream including video / image information is input, the decoding device 300 may respond to the Figure 2 The image is reconstructed by a process of processing video / image information in an encoding device. For example, the decoding device 300 can derive a unit / block based on relevant information of block segmentation obtained from a bitstream. The decoding device 300 can perform decoding by using a processing unit applied in the encoding device. Therefore, the processing unit of decoding can be a coding unit, and the coding unit can be divided from a coding tree unit or a maximum coding unit according to a quadtree structure, a binary tree structure and / or a ternary tree structure. At least one transform unit can be derived from the coding unit. And, the reconstructed image signal decoded and output by the decoding device 300 can be played by a playback device.
[0079] The decoding device 300 may receive the bit stream from Figure 2 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) necessary for image reconstruction (or picture reconstruction). The video / image information may further include information about various parameter sets such as an adaptive parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may further include general constraint information. The decoding device may further decode the picture based on the information about the parameter set and / or the general constraint information. The signaled / received information and / or the syntax elements described later in this document may be decoded and obtained from the bitstream by a decoding process. For example, the entropy decoder 310 may decode the information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, CABAC, etc., and output the values of the syntax elements necessary for image reconstruction and the quantized values of the transform coefficients of the residual. In more detail, the CABAC entropy decoding method can receive a bin corresponding to each syntax element from a bitstream, determine a context model by using information of syntax elements to be decoded, decoded information of neighboring blocks and blocks to be decoded, or information of symbols / bins decoded in the previous step, perform arithmetic decoding on the bins by predicting the probability of occurrence of the bins according to the determined context model, and generate symbols corresponding to the values of each syntax element. In this case, after determining the context model, the CABAC entropy decoding method can update the context model by using information about the decoded symbols / bins of the context model for the next symbol / bin. Among the information decoded in the entropy decoder 310, information about prediction is provided to the predictor (inter-frame predictor 332 and intra-frame predictor 331), and the residual value, that is, the quantized transform coefficient and related parameter information, which is entropy decoded 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). In addition, information about filtering among the information decoded in the entropy decoder 310 can be provided to the filter 350. Meanwhile, a receiving unit (not shown) that receives a signal output from the encoding device may be further configured as an internal / external element of the decoding device 300 or the receiving unit may be a component of the entropy decoder 310 .
[0080] Meanwhile, the decoding device according to this specification may be referred to as a video / image / picture decoding device, and the decoding device may be divided into an information decoder (video / image / picture information decoder) and a sample decoder (video / image / picture sample decoder). The information decoder may include an entropy decoder 310, and the sample decoder may include at least one of an inverse quantizer 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.
[0081] The inverse quantizer 321 may inverse quantize the quantized transform coefficient and output the transform coefficient. The inverse quantizer 321 may rearrange the quantized transform coefficient into a two-dimensional block form. In this case, the rearrangement may be performed based on the coefficient scanning order performed in the encoding device. The inverse quantizer 321 may perform inverse quantization on the quantized transform coefficient by using a quantization parameter (e.g., quantization step size information) and obtain the transform coefficient.
[0082] The inverse transformer 322 inversely transforms the transform coefficients to obtain a residual signal (residual block, residual sample array).
[0083] The predictor 320 may perform prediction on the current block and generate a prediction block including prediction samples for the current block. The predictor 320 may determine whether to apply intra prediction or inter prediction to the current block based on the information on prediction output from the entropy decoder 310, and determine a specific intra / inter prediction mode.
[0084] The predictor 320 can generate a prediction signal based on various prediction methods described later. For example, the predictor 320 can not only apply intra prediction or inter prediction to predict a block, but also apply intra prediction and inter prediction at the same time. It can be called a combined inter and intra prediction (CIIP) mode. In addition, the predictor can be based on an intra block copy (IBC) prediction mode or can be based on a palette mode for prediction of a block. The IBC prediction mode or the palette mode can be used for content image / video coding of games, such as screen content coding (SCC), etc. IBC basically performs prediction within the current picture, but it can be performed similarly to inter prediction because it derives a reference block within the current picture. In other words, IBC can use at least one of the inter prediction techniques described herein. The palette mode can be considered as an example of intra coding or intra prediction. When the palette mode is applied, information about the palette table and the palette index can be included in the video / image information and sent with a signal.
[0085] The intra-frame predictor 331 can predict the current block by referring to samples within the current picture. Depending on the prediction mode, the referenced sample can be located near the current block or can be located at a specific distance away from the current block. In intra-frame prediction, the prediction mode can include at least one non-directional mode and multiple directional modes. The intra-frame predictor 331 can determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
[0086] The inter-frame predictor 332 may 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 sent in the inter-frame prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter-frame prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). For inter-frame prediction, the neighboring blocks may include spatial neighboring blocks present in the current picture and temporal neighboring blocks present in the reference picture. For example, the inter-frame predictor 332 may configure a motion information candidate list based on the neighboring blocks, and derive a motion vector and / or a reference picture index for the current block based on the received candidate selection information. Inter-frame prediction may be performed based on various prediction modes, and information about the prediction may include information indicating an inter-frame prediction mode for the current block.
[0087] The adder 340 may add the obtained residual signal to the prediction signal (prediction block, prediction sample array) output from the predictor (including the inter-frame predictor 332 and / or the intra-frame predictor 331) to generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array). When there is no residual of the block to be processed, such as when the skip mode is applied, the prediction block may be used as the reconstructed block.
[0088] The adder 340 may be referred to as a reconstructor or a reconstructed block generator. The generated reconstructed signal may be used for intra prediction of the next block to be processed in the current picture, may be output through filtering described later, or may be used for inter prediction of the next picture. At the same time, luminance mapping with chroma scaling (LMCS) may be applied during picture decoding.
[0089] 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 send the modified reconstructed picture to the memory 360, specifically the DPB of the memory 360. The various filtering methods may include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc.
[0090] The (modified) reconstructed picture stored in the DPB of the memory 360 can be used as a reference picture in the inter-frame prediction unit 332. The memory 360 can be derived from the motion information in its current picture (or decoded) The motion information of the block and / or the motion information of the block in the pre-reconstructed picture. The stored motion information can be sent to the inter-frame predictor 260 to be used as the motion information of the spatial neighboring block or the motion information of the temporal neighboring block. The memory 360 can store the reconstructed samples of the reconstructed block in the current picture and send them to the intra-frame predictor 331.
[0091] Here, the embodiments described in the filter 260, the inter-frame predictor 221, and the intra-frame predictor 222 of the encoding device 200 may also be equally or correspondingly applied to the filter 350, the inter-frame predictor 332, and the intra-frame predictor 331 of the decoding device 300, respectively.
[0092] Figure 4 is a flowchart illustrating an intra prediction method performed by the decoding device 300 according to an embodiment of the present disclosure.
[0093] In an embodiment of the present disclosure, a method for encoding intra-frame prediction mode information of a chroma component block is proposed. Specifically, for intra-frame prediction of a chroma component block to which cross-component linear model (CCLM) prediction is not applied, a prediction mode candidate list can be additionally configured for an existing direct mode (DM) to encode the mode information. In the present disclosure, the prediction mode candidate list is not limited to the name, and may also be referred to as an intra-frame prediction mode candidate list, a mode candidate list, a candidate list, an intra-frame prediction mode list, a chroma intra-frame prediction mode candidate list, a chroma mode candidate list, a chroma mode list, a chroma candidate list, and the like.
[0094] refer to Figure 4 , the decoding device may configure a candidate list based on the intra prediction mode of the luminance block corresponding to the current chrominance block (S400). Figure 5 Describes in detail the method of configuring the candidate list.
[0095] As an embodiment, when the DM mode is applied, the intra prediction mode ( Figure 5 CR in ( ) is the intra prediction mode of the current chroma block.
[0096] Before this determination, the decoding device may determine (or check) whether the CCLM mode is applied to the current chroma block, and may determine whether the DM mode is applied to the current chroma block when the CCLM mode is not applied to the current chroma block. This will be referred to below Figure 6 Give a description.
[0097] The decoding device may derive an intra prediction mode of the current chroma block based on the candidate list (S410). As an embodiment, a syntax element indicating a candidate (i.e., a chroma intra prediction mode) used for intra prediction of the current chroma block in the candidate list may be sent from the encoding device to the decoding device using a signal. The syntax element may be an index.
[0098] The decoding device may generate a prediction sample (or prediction block) of the current chroma block based on the derived intra prediction mode (S420). That is, the decoding device may perform intra prediction on the current chroma block based on the derived intra prediction mode.
[0099] Figure 5 is a diagram for describing a method of configuring a candidate list according to an embodiment of the present disclosure.
[0100] According to an embodiment of the present disclosure, the decoding device may configure a candidate list using an intra-prediction mode of a luminance block corresponding to a current chrominance block. As an example, an intra-prediction mode of a luminance block including samples of four positions (TL, TR, BL, and BR) excluding a CR block at a center position among the luminance blocks corresponding to the current chrominance block may be added (or inserted) to the candidate list.
[0101] In addition, the decoding device may configure the candidate list using the intra prediction mode of the adjacent chroma block adjacent to the current chroma block. That is, the intra prediction mode of the adjacent chroma block may be added to the candidate list. In an embodiment, the candidate list may include eight candidates. In an embodiment, when the candidate list is not completely filled, the candidate list may be filled with a predefined default mode.
[0102] In an embodiment, the decoding device may configure the candidate list in the following order: As an embodiment, the description will focus on the case where the candidate list includes 8 candidates, but the present disclosure is not limited thereto.
[0103] 1. The intra prediction mode of the block at the TL position of the collocated luma block (i.e., the corresponding luma block)
[0104] 2. Intra-frame prediction mode of the block at the TR position of the juxtaposed luminance block
[0105] 3. Intra-frame prediction mode of the block at the BL position of the juxtaposed luminance block
[0106] 4. Intra prediction mode of the block at the BR position of the collocated luminance block
[0107] 5. Intra-frame prediction mode of the neighboring L blocks of the current chroma block
[0108] 6. Intra-frame prediction mode of the neighboring A block of the current chroma block
[0109] 7. Intra-frame prediction mode of the neighboring BL blocks of the current chroma block
[0110] 8. Intra-frame prediction mode of the neighboring AR blocks of the current chroma block
[0111] 9. Intra-frame prediction mode of the neighboring AL block of the current chroma block
[0112] 10. ±1 mode of intra prediction mode of block at CR position of juxtaposed luminance block
[0113] 11. ±1 mode of the intra prediction mode, which is not a planar or DC mode, and is a candidate that does not overlap with a previously included candidate among the modes first acquired among the modes No. 5 to No. 9
[0114] 12. Planar mode, vertical mode, horizontal mode, DC mode, vertical diagonal (VDIA) mode (upper left direction mode) 66, vertical mode -4, vertical mode +4, horizontal mode -4, horizontal mode +4, and prediction modes 42, 58, 10, 26, 38, 62, 6, and 30
[0115] Focusing on the order in which the candidate list is configured, in modes 1 to 4, the intra prediction mode is selected from the collocated luminance block. That is, the modes numbered 1 to 4 show an example for selecting 4 DM modes. The search position or order of the collocated luminance blocks in the modes numbered 1 to 4 may be changed. As another example, the DM mode may be searched in the order of BL→TR→TL→BR.
[0116] In addition, for the adjacent chroma blocks adjacent to the current chroma block, the modes numbered 5 to 9 may be selected. When less than 8 intra-frame prediction modes are selected (or added) after searching for the mode numbered 9, the intra-frame prediction modes numbered 10 to 12 may be iterated, and the additional modes may be added to the candidate list. As an embodiment, the search order of the corresponding position luminance blocks and the adjacent chroma blocks of the modes numbered 1 to 4 and 5 to 9 may be changed. In addition, the alternating modes of the modes numbered 10 and 11 and the default mode of the mode numbered 12 may be replaced with other predefined modes.
[0117] Figure 6 is a flowchart illustrating a method of determining a chroma intra prediction mode according to an embodiment of the present disclosure.
[0118] According to the embodiments of the present disclosure, Figure 6 The intra prediction mode of the chroma block is signaled as shown in FIG.
[0119] The decoding device may determine (or check) whether the CCLM mode is applied to the current chroma block. When the CCLM mode is applied to the current chroma block, a prediction sample of the current chroma block may be generated based on the CCLM mode.
[0120] When the CCLM mode is not applied to the current chroma block, the decoding device may determine whether the DM mode is applied to the current chroma block. When the DM mode is applied to the current chroma block, the decoding device may determine whether the DM mode is applied to the current chroma block. Figure 5 The intra prediction mode of the luminance block of the sample corresponding to the CR in the chrominance block is the intra prediction mode of the current chrominance block. The prediction sample of the current chrominance block can be generated based on the determined intra prediction mode of the current chrominance block.
[0121] When the DM mode is not applied to the current chroma block, the decoding device can configure a candidate list to determine the intra prediction mode of the current chroma block. In this case, the previous reference Figure 4 and Figure 5 The method described herein is omitted. Redundant descriptions related thereto are omitted. After configuring the candidate list, index information indicating the best prediction mode finally selected within the candidate list may be sent by signal.
[0122] In an embodiment, the prediction modes of the candidate list may be encoded by performing truncated unary binarization with a maximum bin number of 7, as shown in Table 1 below.
[0123] [Table 1]
[0124] Mode 0 0 Mode 1 1 0 Mode 2 1 1 0 Mode 3 1 1 1 0 Mode 4 1 1 1 1 0 Mode 5 1 1 1 1 1 0 Mode 6 1 1 1 1 1 1 0 Mode 7 1 1 1 1 1 1 1
[0125] Referring to Table 1, the first N (1≤N≤8) bins may be subject to context coding through a context model, and the remaining (8-N) bins may be subject to bypass coding. As an example, the first bin may be subject to context coding through a context model, and the remaining seven bins may be subject to bypass coding.
[0126] In addition, as an embodiment, a duplicate check can be performed during the candidate list configuration process. For example, when adding a candidate to the candidate list, it can be checked whether the pattern is consistent with Figure 5 In addition, when adding a candidate to the candidate list, the candidate list can be configured without an overlapping mode by performing a duplicate check using the candidate already added to the candidate list.
[0127] Figure 7 is a diagram for describing a chroma intra prediction mode according to an embodiment of the present disclosure.
[0128] According to the embodiments of the present disclosure, in addition to the above reference Figure 5 In addition to the candidate modes described, other candidate modes may also be considered. Specifically, the chroma decoder side intra mode derivation (DIMD) mode may be used as a candidate. The chroma DIMD mode represents a mode that is derived identically in the encoder and decoder without specific mode information signaling.
[0129] The neighboring samples used to derive the chroma DIMD pattern can be as follows Figure 7 That is, when DIMD is applied, it can be based on Figure 7 The neighboring samples shown in FIG. derive the intra prediction mode of the current block. As an embodiment, the following method may be applied.
[0130] The difference can be calculated based on at least two samples of the neighboring area belonging to the current block. Here, the difference can include at least one of the difference in the horizontal direction or the difference in the vertical direction. The intra-frame prediction mode of the current block can be derived based on at least one of the difference in the horizontal direction or the difference in the vertical direction. The magnitude of the difference can be determined based on the sum of the difference in the horizontal direction and the difference in the vertical direction. Through this derivation method, one intra-frame prediction mode can be derived for the current block, or two or more intra-frame prediction modes can be derived. In the present disclosure, the derivation method based on the difference can be referred to as the DIMD mode. The derivation method based on the difference can be used by deriving the intra-frame prediction mode information in the encoder and the decoder without directly sending the intra-frame prediction mode information.
[0131] As an embodiment, when a difference-based derivation method is applied, one or more intra-frame prediction modes can be derived from reconstructed neighboring samples. In this case, according to an embodiment of the present disclosure, one or more prediction modes can be derived based on the difference calculated from the reconstructed neighboring samples. For example, one or more intra-frame prediction modes can be derived from the reconstructed neighboring samples. As an example, the maximum number of intra-frame prediction modes derived by the difference-based derivation method can be predefined in the encoder / decoder. As an example, the maximum number of intra-frame prediction modes derived by the difference-based derivation method can be N. For example, N can be defined as 1, 2, 3, 4, 5, 6 or 7. In addition, when the neighboring pixels cannot be used or the directionality of the neighboring blocks cannot be specified, a default mode can be set. In this case, the default mode can be set to a non-directional mode. The default mode can be set to a plane mode. The default mode can be set to a plane mode and / or a DC mode.
[0132] As an example, the predictor obtained by the derived intra prediction mode (which may be referred to as a prediction sample or a prediction block) may be combined with the predictor obtained by the planar mode (which may be abbreviated as a planar mode predictor). For example, the predictor obtained by the derived intra prediction mode may be weighted summed with the planar mode predictor. In this case, as an example, according to an embodiment of the present disclosure, the weight used in the weighted sum may be determined based on the difference calculated from the reconstructed neighboring samples.
[0133] In addition, as an example, when the number of intra-frame prediction modes derived by the difference-based derivation method is two or more, the predictor obtained by the derived intra-frame prediction mode may be combined with the planar mode predictor. As an example, when the number of intra-frame prediction modes derived by the difference-based derivation method is one, a predictor obtained by one derived intra-frame prediction mode and not combined (or weighted summed) with the planar mode predictor may be output as a prediction sample or a prediction block by the difference-based derivation method.
[0134] In addition, as an example, the difference can be calculated in units of windows of a predetermined size. Based on the calculated difference, the angle indicating the directionality of the sample in the corresponding window can be calculated. The calculated angle can correspond to any one of the above-mentioned multiple predefined intra-frame prediction modes. The magnitude of the difference can be stored / updated for the intra-frame prediction mode corresponding to the calculated angle. In the present disclosure, the magnitude of the difference can be referred to as the amplitude, histogram amplitude, histogram size, etc. of the difference. Through this process, the intra-frame prediction mode corresponding to the calculated difference can be determined for each window. The magnitude of the difference can be stored / updated for the determined intra-frame prediction mode. The first T intra-frame prediction modes with the largest magnitude among the magnitudes of the stored differences are selected, and the selected intra-frame prediction mode can be set as the intra-frame prediction mode of the current block. Here, T can be an integer of 1, 2, 3 or more.
[0135] As an example, the neighboring area of the current block may be the left, upper left, and upper areas of the current block. For example, the difference in the horizontal direction or the difference in the vertical direction may be derived from the rows and columns of the second neighboring samples. The rows and / or columns of the second neighboring samples may represent the rows and / or columns next to the rows and columns of the neighboring samples that are immediately adjacent to the current block. As an example, a histogram of differences (HoG: Histogram of Directed Gradients) may be derived from the differences in the horizontal direction and the differences in the vertical direction. Differences or histograms of differences may be derived by applying a window of L-shaped rows and columns using 3 pixels (or pixel lines) around the current block. In this case, the window may be defined as having a size of 3x3. However, as an example, the present disclosure is not limited thereto, and the window may be defined as having a size of 2x2, 4x4, 5x5, etc. In addition, as an example, the window may be a Sobel filter.
[0136] As an example, two or more intra prediction modes with the largest difference magnitude (or amplitude) may be selected. The final prediction block may be generated by mixing (or combining, weighted summing) the prediction blocks predicted using the selected intra prediction modes and the prediction blocks predicted using the planar mode. In this case, the weights applied to each prediction block may be derived based on the histogram amplitude.
[0137] That is, the intra prediction mode of the current chrominance block may be derived using neighboring samples of the corresponding luminance component block and neighboring samples of the chrominance component.
[0138] In another embodiment, the decoding device may configure the candidate list in the following order. That is, the candidate list for deriving the intra prediction mode of the chrominance block may be configured in the following order. In this case, the candidate list may be composed of three sub-lists (sub-candidate lists).
[0139] 1. First sublist
[0140] 1-1. Intra-frame prediction mode of a block at the TL position of a juxtaposed luma block
[0141] 1-2. Intra-frame prediction mode of a block at the TR position of a juxtaposed luminance block
[0142] 1-3. Intra-frame prediction mode of a block at the BL position of a juxtaposed luminance block
[0143] 1-4. Intra-frame prediction mode of a block at a BR position collocated with a luma block
[0144] 2. Second sublist
[0145] 2-1. Intra-frame prediction mode of the neighboring L blocks of the current chroma block
[0146] 2-2. Intra-frame prediction mode of the neighboring A block of the current chroma block
[0147] 2-3. Intra-frame prediction mode of the neighboring BL blocks of the current chroma block
[0148] 2-4. Intra-frame prediction mode of the neighboring AR block of the current chroma block
[0149] 2-5. Intra-frame prediction mode of the neighboring AL block of the current chroma block
[0150] 3. The third sublist
[0151] 3-1. ±1 mode of intra prediction mode of a block at the CR position of a juxtaposed luma block
[0152] 3-2. ±1 mode of the intra prediction mode, which is not a planar or DC mode and is a candidate that does not overlap with the previously included candidate among the modes first obtained from the second sub-list
[0153] 3-3. Planar mode, vertical mode, horizontal mode, DC mode, vertical diagonal (VDIA) mode 66, vertical mode -4, vertical mode +4, horizontal mode -4, horizontal mode +4, and prediction modes 42, 58, 10, 26, 38, 62, 6, and 30
[0154] With an eye on the order in which the candidate lists are configured, the first sublist selects an intra-screen prediction mode from a collocated luminance block. The first sublist may be referred to as a DM sublist. That is, the first sublist illustrates an example for selecting four DM modes. The search position or order of collocated luminance blocks in the first sublist may be changed. As another example, the DM mode may be searched in the order of BL→TR→TL→BR.
[0155] In addition, the second sub-list may be selected from adjacent chroma blocks adjacent to the current chroma block. The second sub-list may be referred to as an adjacent sub-list. When less than 8 intra-frame prediction modes are selected (or added) after searching the second sub-list, the intra-frame prediction modes of the third sub-list may be iterated and the additional intra-frame prediction modes may be added to the candidate list. The third sub-list may be referred to as an alternative sub-list. The search order of the juxtaposed luminance blocks and adjacent chroma blocks of the first sub-list and the second sub-list may be changed. In addition, the alternative mode of the third sub-list may be replaced with another mode.
[0156] In this embodiment, when configuring the candidate list, the prediction mode derived from the above-mentioned chroma DIMD can be additionally considered. The chroma DIMD mode can be considered to be added to the candidate list first, can be considered to be added between each sub-list, or can be considered to be added after iterating all sub-lists. As an embodiment, the chroma DIMD mode can be added to the candidate list in the following order.
[0157] 1. First sublist
[0158] 2. Chroma DIMD prediction mode
[0159] 3. Second sublist
[0160] 4. The third sublist
[0161] Even when the candidate list including the above-mentioned chroma DIMD mode is configured, the previously referenced Figure 6 and the embodiments described in Table 1. Redundant descriptions related thereto are omitted.
[0162] Figure 8 FIG. 3 illustrates a schematic configuration of an intra predictor 331 that performs an intra prediction method according to the present disclosure.
[0163] refer to Figure 8 , the intra predictor 331 may include a candidate list configurator 800 , an intra prediction mode deriver 810 , and a prediction sample generator 820 .
[0164] refer to Figure 8 , the candidate list configurator 800 can configure the candidate list based on the intra prediction mode of the luminance block corresponding to the current chrominance block. The previous reference can be applied in the same manner. Figures 5 to 7 Describes the method. Omit redundant descriptions related to it.
[0165] As described above, when the DM mode is applied, it is possible to determine the center position of the current chroma block ( Figure 5 The intra prediction mode of the luminance block of the sample corresponding to CR in is the intra prediction mode of the current chrominance block.
[0166] Prior to this, the candidate list configurator 800 may determine (or check) whether the CCLM mode is applied to the current chroma block, and determine whether the DM mode is applied to the current chroma block when the CCLM mode is not applied. Figure 6 Describes the method. Omit redundant descriptions related to it.
[0167] The intra prediction mode exporter 810 may derive the intra prediction mode of the current chroma block based on the candidate list. As an embodiment, a syntax element indicating a candidate (i.e., chroma intra prediction mode) used for intra prediction of the current chroma block in the candidate list may be sent from the encoding device to the decoding device using a signal. The syntax element may be an index.
[0168] The prediction sample generator 820 may generate a prediction sample (or prediction block) of the current chroma block based on the derived intra prediction mode. That is, the prediction sample generator 820 may perform intra prediction on the current chroma block based on the derived intra prediction mode.
[0169] Fig. 9 An inter-frame prediction method performed by the encoding apparatus 200 according to an embodiment of the present disclosure is illustrated.
[0170] In an embodiment of the present disclosure, a prediction method for a chrominance component performed by an encoding device will be described. Figures 4 to 8 The embodiments described herein are described, and redundant descriptions are omitted here.
[0171] refer to Figure 8 , the encoding device can configure the candidate list based on the intra prediction mode of the luminance block corresponding to the current chrominance block. The previous reference can be applied in the same way. Figures 5 to 7 Describes the method. Omit redundant descriptions related to it.
[0172] As described above, when the DM mode is applied, it is possible to determine the center position of the current chroma block ( Figure 5 The intra prediction mode of the luminance block of the sample corresponding to CR in is the intra prediction mode of the current chrominance block.
[0173] Prior to this, the encoding device may determine (or check) whether the CCLM mode is applied to the current chroma block, and may determine whether the DM mode is applied to the current chroma block when the CCLM mode is not applied. Figure 6 Describes the method. Omit redundant descriptions related to it.
[0174] The encoding device may derive the intra prediction mode of the current chroma block based on the candidate list. As an embodiment, a syntax element indicating a candidate in the candidate list used for intra prediction of the current chroma block (i.e., a chroma intra prediction mode) may be sent from the encoding device to the decoding device using a signal. The syntax element may be an index.
[0175] The encoding device may generate a prediction sample (or prediction block) of the current chrominance block based on the derived intra-frame prediction mode. That is, the encoding device may perform intra-frame prediction on the current chrominance block based on the derived intra-frame prediction mode.
[0176] Fig.10 FIG. 2 illustrates a schematic configuration of the intra predictor 222 that performs an inter prediction method according to the present disclosure.
[0177] refer to Fig.10, the intra predictor 222 may include a candidate list configurator 1000 , an intra prediction mode determiner 1010 , and a prediction sample generator 1020 .
[0178] refer to Fig.10 , the candidate list configurator 1000 can configure the candidate list based on the intra prediction mode of the luma block corresponding to the current chroma block. The previous reference can be applied in the same manner. Figures 5 to 7 Describes the method. Omit redundant descriptions related to it.
[0179] As described above, when the DM mode is applied, it is possible to determine the center position of the current chroma block ( Figure 5 The intra prediction mode of the luminance block of the sample corresponding to CR in is the intra prediction mode of the current chrominance block.
[0180] Prior to this, the candidate list configurator 1000 may determine (or check) whether the CCLM mode is applied to the current chroma block, and when the CCLM mode is not applied, may determine whether the DM mode is applied to the current chroma block. Figure 6 Describes the method. Omit redundant descriptions related to it.
[0181] The intra prediction mode determiner 1010 may derive the intra prediction mode of the current chroma block based on the candidate list. As an embodiment, a syntax element indicating a candidate (i.e., a chroma intra prediction mode) used for intra prediction of the current chroma block in the candidate list may be sent from the encoding device to the decoding device using a signal. The syntax element may be an index.
[0182] The prediction sample generator 1020 may generate a prediction sample (or prediction block) of the current chroma block based on the derived intra prediction mode. That is, the prediction sample generator 1020 may perform intra prediction on the current chroma block based on the derived intra prediction mode.
[0183] In the above embodiments, the method is described as a series of steps or boxes based on the flowchart, but the corresponding embodiments are not limited to the order of the steps, and some steps may occur simultaneously or in a different order than other steps described above. In addition, those skilled in the art will appreciate that the steps shown in the flowchart are not exclusive, and other steps may be included or one or more steps in the flowchart may be deleted without affecting the scope of the embodiments of the present disclosure.
[0184] The above-mentioned method according to the embodiment of the present disclosure can be implemented in the form of software, and the encoding device and / or decoding device according to the present disclosure can be included in a device that performs image processing, such as a TV, a computer, a smart phone, a set-top box, a display device, etc.
[0185] In the present disclosure, when the embodiment is implemented as software, the above method can be implemented as a module (process, function, etc.) that performs the above functions. The module can be stored in a memory and can be executed by a processor. The memory can be located inside or outside the processor and can be connected to the processor by various well-known means. The processor may include an application-specific integrated circuit (ASIC), another chipset, a logic circuit, and / or a data processing device. 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. In other words, the embodiments described herein can be implemented on a processor, a microprocessor, a controller, or a chip. For example, the functional unit shown in each of the figures can be implemented on a computer, a processor, a microprocessor, a controller, or a chip. In this case, information (e.g., information about instructions) or an algorithm for implementation can be stored in a digital storage medium.
[0186] In addition, the decoding device and the encoding device of the embodiment of the present disclosure can be included in multimedia broadcast sending and receiving devices, mobile communication terminals, home theater video devices, digital theater video devices, surveillance cameras, video conversation devices, real-time communication devices such as video communication, mobile streaming devices, storage media, cameras, devices for providing video on demand (VoD) services, over-the-top video (OTT) devices, devices for providing Internet streaming services, three-dimensional (3D) video devices, virtual reality (VR) devices, augmented reality (AR) devices, videophone video devices, transportation terminals (e.g., vehicle (including autonomous driving vehicle) terminals, aircraft terminals, ship terminals, etc.) and medical video devices, etc., and can be used to process video signals or data signals. For example, over-the-top video (OTT) devices can include game consoles, Blu-ray players, networked TVs, home theater systems, smart phones, tablet computers, digital video recorders (DVRs), etc.
[0187] In addition, the processing method of the embodiment of the present disclosure can be generated in the form of a program executed by a computer and can be stored in a computer-readable recording medium. Multimedia data having a data structure according to an embodiment of the present disclosure can also be stored in a computer-readable recording medium. Computer-readable recording media include all types of storage devices and distributed storage devices that store computer-readable data. Computer-readable recording media may include, for example, Blu-ray discs (BD), universal serial buses (USB), ROMs, PROMs, EPROMs, EEPROMs, RAMs, CD-ROMs, tapes, floppy disks, and optical media storage devices. In addition, computer-readable recording media include media implemented in the form of carrier waves (e.g., transmitted via the Internet). In addition, the bit stream generated by the encoding method may be stored in a computer-readable recording medium or may be sent via a wired or wireless communication network.
[0188] In addition, the embodiments of the present disclosure may be implemented by a computer program product through a program code, and the program code may be executed on a computer by the embodiments of the present disclosure. The program code may be stored on a computer-readable carrier.
[0189] Fig.11 is an example of a content streaming system to which embodiments of the present disclosure can be applied.
[0190] refer to Fig.11 The content streaming transmission system to which the embodiments of the present disclosure are applied may mainly include an encoding server, a streaming transmission server, a web server, a media storage, a user device, and a multimedia input device.
[0191] The encoding server generates a bitstream by compressing content input from a multimedia input device such as a smartphone, a camera, a camcorder, etc. into digital data and transmits it to the streaming server. As another example, when a multimedia input device such as a smartphone, a camera, a camcorder, etc. directly generates a bitstream, the encoding server may be omitted.
[0192] A bitstream may be generated by applying the encoding method or the bitstream generating method of the embodiment of the present disclosure, and the streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.
[0193] The streaming server sends multimedia data to the user device through the web server based on the user's request, and the web server serves as a medium to inform the user what services are available. When the user requests the required service from the web server, the web server delivers it to the streaming server, and the streaming server sends the multimedia data to the user. In this case, the content streaming system may include a separate control server, and in this case, the control server controls the command / response between each device in the content streaming system.
[0194] The streaming server may receive content from a media storage and / or encoding server. For example, when receiving content from an encoding server, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server may store the bitstream for a certain period of time.
[0195] Examples of user devices may include mobile phones, smart phones, laptop computers, digital broadcast terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation, tablet PCs, tablet computers, ultrabooks, wearable devices (e.g., smart watches, smart glasses, head-mounted displays (HMDs), digital televisions, desktops, digital signage, etc.).
[0196] Each server in the content streaming system may be operated as a distributed server, and in this case, data received from each server may be distributed and processed.
[0197] The claims set forth herein can be combined in various ways. For example, the technical features of the method claims of the present disclosure can be combined and implemented as a device, and the technical features of the device claims of the present disclosure can be combined and implemented as a method. In addition, the technical features of the method claims of the present disclosure and the technical features of the device claims can be combined and implemented as a device, and the technical features of the method claims of the present disclosure and the technical features of the device claims can be combined and implemented as a method.
Claims
1. An image decoding method, comprising: Based on the intra prediction mode of the luma block corresponding to the current chroma block, configuring a candidate list of the current chroma block; deriving an intra prediction mode of the current chroma block based on the candidate list; as well as Generate prediction samples of the current chroma block based on the derived intra prediction mode.
2. The image decoding method according to claim 1, further comprising: Determines whether a cross-component linear model (CCLM) mode is applied to the current chroma block.
3. The image decoding method according to claim 2, further comprising: When it is determined that the CCLM mode is not applied to the current chroma block, it is determined whether a direct mode (DM) is applied to the current chroma block.
4. The image decoding method according to claim 3, wherein: When it is determined that the DM mode is not applied to the current chroma block, configuring the candidate list is performed.
5. The image decoding method according to claim 1, wherein: The candidate list includes an intra-frame prediction mode of at least one of a first luminance block, a second luminance block, a third luminance block, or a fourth luminance block, wherein the first luminance block includes samples at an upper left position within a luminance block corresponding to the current chrominance block, the second luminance block includes samples at an upper right position therein, the third luminance block includes samples at a lower left position therein, and the fourth luminance block includes samples at a lower right position therein.
6. The image decoding method according to claim 5, wherein: The candidate list includes an intra-frame prediction mode of at least one of a first chroma block, a second chroma block, a third chroma block, a fourth chroma block, or a fifth chroma block, wherein the first chroma block is adjacent to the upper left side of the current chroma block, the second chroma block is adjacent to its upper side, the third chroma block is adjacent to its upper right side, the fourth chroma block is adjacent to its left side, and the fifth chroma block is adjacent to its lower left side.
7. The image decoding method according to claim 1, wherein: The candidate list includes decoder-side intra mode derivation (DIMD) modes.
8. An image encoding method, comprising: configuring a candidate list for a current chroma block based on an intra prediction mode of a luminance block corresponding to the current chroma block; Determine an intra prediction mode of the current chroma block based on the candidate list; as well as Generate prediction samples of the current chroma block based on the determined intra prediction mode. 9 . A computer-readable storage medium storing a bit stream generated by the image encoding method according to claim 8 .
10. A method for transmitting data of image information, comprising: configuring a candidate list for a current chroma block based on an intra prediction mode of a luminance block corresponding to the current chroma block; Determine an intra prediction mode of the current chroma block based on the candidate list; Generate a prediction sample of the current chroma block based on the determined intra prediction mode; Generate a bitstream by encoding the current chrominance block based on the prediction sample; as well as Data including the bit stream is transmitted.