WO2023128648A1 - 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 - Google Patents
영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 Download PDFInfo
- Publication number
- WO2023128648A1 WO2023128648A1 PCT/KR2022/021589 KR2022021589W WO2023128648A1 WO 2023128648 A1 WO2023128648 A1 WO 2023128648A1 KR 2022021589 W KR2022021589 W KR 2022021589W WO 2023128648 A1 WO2023128648 A1 WO 2023128648A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- current block
- intra prediction
- flag
- mode
- prediction mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the present invention relates to a video encoding/decoding method and apparatus, and a recording medium storing a bitstream.
- HD High Definition
- UHD Ultra High Definition
- An inter-prediction technique for predicting pixel values included in the current picture from pictures before or after the current picture as an image compression technique an intra-prediction technique for predicting pixel values included in the current picture using pixel information within the current picture, and an appearance frequency.
- an entropy coding technique in which a short code is assigned to a value with a high frequency of occurrence and a long code is assigned to a value with a low frequency of occurrence.
- An object of the present disclosure is to provide a method and apparatus for deriving an intra prediction mode through a gradient-based derivation method.
- the present disclosure intends to provide a method and apparatus for signaling a flag for adaptively using a gradient-based derivation method.
- An object of the present disclosure is to provide a method and apparatus for inducing/setting an intra prediction mode based on a flag for adaptively using a gradient-based derivation method.
- An object of the present disclosure is to provide a method and apparatus for setting and updating an initial intra prediction mode in a gradient-based derivation method.
- An image decoding method and apparatus derives an intra prediction mode of a current block based on a flag of the current block, determines a reference sample of the current block, and determines the intra prediction mode and the reference sample based on the intra prediction mode and the reference sample.
- a prediction sample of the current block may be generated.
- the flag may indicate whether the intra prediction mode of the current block is derived based on a gradient between at least two samples belonging to a neighboring region adjacent to the current block.
- the flag may be signaled from a bitstream based on whether a block adjacent to the current block is available.
- the flag when the neighboring blocks of the current block are available, the flag is signaled from the bitstream, and when the neighboring blocks of the current block are not available, the flag When not signaled from the bitstream, the flag may be driven to zero.
- the flag when the neighboring blocks of the current block are available, the flag is signaled from the bitstream, and when the neighboring blocks of the current block are not available, the flag When not signaled from the bitstream, the flag may be driven to 1.
- the intra prediction mode of the current block may be set to a planner mode.
- the intra prediction mode of the current block may be set to the DC mode.
- the intra prediction mode of the current block is determined based on a gradient between at least two samples belonging to the neighboring area, and the flag is 0.
- the intra prediction mode of the current block may be derived based on intra prediction mode information of the current block.
- the initial intra prediction mode of the current block may be set to the DC mode.
- the initial intra prediction mode of the current block may be updated based on an amplitude of a gradient for one or more intra prediction modes available for the current block.
- the flag may be signaled from a bitstream regardless of whether neighboring blocks of the current block are available.
- An image encoding method and apparatus determine whether an intra prediction mode of a current block is determined based on a gradient between at least two samples belonging to a neighboring region adjacent to the current block, and determine whether the intra prediction mode of the current block is determined based on the gradient. Based on this, an intra prediction mode of the current block may be determined, a reference sample of the current block may be determined, and a prediction sample of the current block may be generated based on the intra prediction mode and the reference sample.
- a flag indicating whether the intra prediction mode of the current block is determined based on a gradient between at least two samples belonging to the neighboring region may be encoded into a bitstream.
- a computer-readable digital storage medium in which encoded video/image information that causes an image decoding method to be performed by a decoding device according to the present disclosure is stored.
- a computer-readable digital storage medium in which video/image information generated by the video encoding method according to the present disclosure is stored is provided.
- a method and apparatus for transmitting video/image information generated according to the video encoding method according to the present disclosure are provided.
- a gradient from a predetermined neighboring area may be calculated on the decoder side, and an optimal intra prediction mode may be derived based on the calculated gradient.
- unnecessary flag signaling/encoding can be removed by restricting flag signaling/encoding conditions for adaptively using a gradient-based derivation method.
- the present disclosure can remove redundancy with the MPM-based derivation method by inducing/setting an intra prediction mode based on a flag for adaptively using the gradient-based derivation method.
- FIG. 1 illustrates a video/image coding system according to the present disclosure.
- FIG. 2 shows a schematic block diagram of an encoding device to which an embodiment of the present disclosure may be applied and encoding of a video/video signal is performed.
- FIG. 3 is a schematic block diagram of a decoding device to which an embodiment of the present disclosure may be applied and decoding of a video/image signal is performed.
- FIG. 4 illustrates an intra prediction method performed by a decoding apparatus as an embodiment according to the present disclosure.
- FIG. 5 illustrates a schematic configuration of an intra prediction unit 331 performing an intra prediction method according to the present disclosure.
- FIG. 6 illustrates an intra prediction method performed by an encoding device as an embodiment according to the present disclosure.
- FIG. 7 illustrates a schematic configuration of an intra prediction unit 222 performing an intra prediction method according to the present disclosure.
- FIG 8 shows an example of a content streaming system to which embodiments of the present disclosure may be applied.
- first and second may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present disclosure.
- the terms and/or include any combination of a plurality of related recited items or any of a plurality of related recited items.
- This disclosure relates to video/image coding.
- the method/embodiment disclosed herein may be applied to a method disclosed in a versatile video coding (VVC) standard.
- VVC versatile video coding
- the method/embodiment disclosed in this specification is an essential video coding (EVC) standard, an AOMedia Video 1 (AV1) standard, a 2nd generation of audio video coding standard (AVS2), or a next-generation video/video coding standard (ex. H.267 or H.268, etc.).
- EVC essential video coding
- AV1 AOMedia Video 1
- AVS2 2nd generation of audio video coding standard
- next-generation video/video coding standard ex. H.267 or H.268, etc.
- a video may mean a set of a series of images over time.
- a picture generally means a unit representing one image in a specific time period
- a slice/tile is a unit constituting a part of a picture in coding.
- a slice/tile may include one or more coding tree units (CTUs).
- CTUs coding tree units
- One picture may consist of one or more slices/tiles.
- One tile is a rectangular area composed of a plurality of CTUs in a specific tile column and a specific tile row of one picture.
- a tile column is a rectangular area of CTUs with a height equal to that of the picture and a width specified by the syntax request of the picture parameter set.
- a tile row is a rectangular area of CTUs with a height specified by the picture parameter set and a width equal to the width of the picture.
- CTUs within one tile are consecutively arranged according to the CTU raster scan, whereas tiles within one picture may be consecutively arranged according to the raster scan of the tile.
- One slice may contain an integer number of complete tiles or an integer number of contiguous complete CTU rows within a tile of a picture that may be exclusively included in a single NAL unit. Meanwhile, one picture may be divided into two or more subpictures.
- a subpicture can be a rectangular area of one or more slices within a picture.
- a pixel, pixel, or pel may mean a minimum unit constituting one picture (or image). Also, 'sample' may be used as a term corresponding to a pixel.
- a sample may generally represent a pixel or a pixel value, may represent only a pixel/pixel value of a luma component, or only a pixel/pixel value of a chroma component.
- a unit may represent a basic unit of image processing.
- a unit may include at least one of a specific region of a picture and information related to the region.
- One unit may include one luma block and two chroma (eg cb, cr) blocks. Unit may be used interchangeably with terms such as block or area depending on the case.
- an MxN block may include samples (or a sample array) or a set (or array) of transform coefficients consisting of M columns and N rows.
- a or B may mean “only A”, “only B”, or “both A and B”.
- a or B (A or B)" in the present specification may be interpreted as “A and/or B (A and/or B)”.
- A, B or C as used herein means “only A”, “only B”, “only C”, or “any and all combinations of A, B and C ( any combination of A, B and C)”.
- a slash (/) or a comma (comma) used in this specification may mean “and/or”.
- A/B can mean “A and/or B”. Accordingly, “A/B” may mean “only A”, “only B”, or “both A and B”.
- A, B, C may mean “A, B or C”.
- At least one of A and B may mean “only A”, “only B”, or “both A and B”. Also, in this specification, the expression “at least one of A or B” or “at least one of A and/or B” means “at least one It can be interpreted the same as "A and B (at least one of A and B) of
- At least one of A, B and C means “only A”, “only B”, “only C", or “A, B and C” It may mean “any combination of A, B and C”. Also, “at least one of A, B or C” or “at least one of A, B and/or C” means It can mean “at least one of A, B and C”.
- parentheses used in this specification may mean “for example”. Specifically, when it is indicated as “prediction (intra prediction)”, “intra prediction” may be suggested as an example of “prediction”. In other words, “prediction” in this specification is not limited to “intra prediction”, and “intra prediction” may be suggested as an example of “prediction”. Also, even when indicated as “prediction (ie, intra prediction)”, “intra prediction” may be suggested as an example of “prediction”.
- FIG. 1 illustrates a video/image coding system according to the present disclosure.
- a video/image coding system may include a first device (source device) and a second device (receive device).
- the source device may transmit encoded video/image information or data to a receiving device in a file or streaming form through a digital storage medium or network.
- the source device may include a video source, an encoding device, and a transmission 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.
- a transmitter may be included in an encoding device.
- a receiver may be included in a decoding device.
- the renderer may include a display unit, and the display unit may be configured as a separate device or an external component.
- a video source may acquire video/images through a process of capturing, synthesizing, or generating video/images.
- a video source may include a video/image capture device and/or a video/image generation device.
- a video/image capture device may include one or more cameras, a video/image archive containing previously captured video/images, and the like.
- Video/image generating devices may include computers, tablets and smart phones, etc., and may (electronically) generate video/images.
- a virtual video/image may be generated through a computer or the like, and in this case, a video/image capture process may be replaced by a process of generating related data.
- An encoding device may encode an input video/image.
- the encoding device may perform a series of procedures such as prediction, transformation, and quantization for compression and coding efficiency.
- Encoded data (encoded video/video information) may be output in the form of a bitstream.
- the transmission unit may transmit 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 streaming through a digital storage medium or a network.
- Digital storage media may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
- the transmission unit may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcasting/communication network.
- the receiving unit may receive/extract the bitstream and transmit it to a decoding device.
- the decoding device may decode video/images by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to operations of the encoding device.
- the renderer may render the decoded video/image.
- the rendered video/image may be displayed through the display unit.
- FIG. 2 shows a schematic block diagram of an encoding device to which an embodiment of the present disclosure may be applied and encoding of a video/video signal is performed.
- the encoding device 200 includes an image partitioner 210, a predictor 220, a residual processor 230, an entropy encoder 240, It may include an adder 250, a filter 260, and a memory 270.
- the prediction unit 220 may include an inter prediction unit 221 and an intra prediction unit 222 .
- the residual processing unit 230 may include a transformer 232 , a quantizer 233 , a dequantizer 234 , and an inverse transformer 235 .
- the residual processing unit 230 may further include a subtractor 231 .
- the adder 250 may be called a reconstructor or a reconstructed block generator.
- the above-described image segmentation unit 210, prediction unit 220, residual processing unit 230, entropy encoding unit 240, adder 250, and filtering unit 260 may be one or more hardware components ( For example, it may be configured by an encoding device chipset or processor).
- 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.
- the image divider 210 may divide an input image (or picture or frame) input to the encoding device 200 into one or more processing units.
- the processing unit may be called a coding unit (CU).
- the coding unit may be partitioned recursively from a coding tree unit (CTU) or a largest coding unit (LCU) according to a quad-tree binary-tree ternary-tree (QTBTTT) structure.
- CTU coding tree unit
- LCU largest coding unit
- QTBTTT quad-tree binary-tree ternary-tree
- one coding unit may be divided into a plurality of coding units having a deeper depth based on a quad tree structure, a binary tree structure, and/or a ternary structure.
- a quad tree structure may be applied first and a binary tree structure and/or ternary structure may be applied later.
- the binary tree structure may be applied before the quad tree structure.
- a coding procedure according to the present specification may be performed based on a final coding unit that is not further divided.
- the largest coding unit can be directly used as the final coding unit, or the coding unit is recursively divided into coding units of lower depths as needed, A coding unit having a size of may be used as a final coding unit.
- the coding procedure may include procedures such as prediction, transformation, and restoration to be described later.
- the processing unit may further include a prediction unit (PU) or a transform unit (TU).
- the prediction unit and the transform unit may be divided or partitioned from the above-described final coding unit, respectively.
- the prediction unit may be a unit of sample prediction
- the transform unit may be a unit for deriving transform coefficients and/or a unit for deriving a residual signal from transform coefficients.
- an MxN block may represent a set of samples or transform coefficients consisting of M columns and N rows.
- a sample may generally represent a pixel or a pixel value, 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 corresponding to one picture (or image) to a pixel or pel.
- the encoding device 200 subtracts the prediction signal (prediction block, prediction sample array) output from the inter prediction unit 221 or the intra prediction unit 222 from the input video signal (original block, original sample array) to obtain a residual signal (residual signal, residual block, residual sample array) may be generated, and the generated residual signal is transmitted to the conversion unit 232.
- a unit for subtracting a prediction signal (prediction block, prediction sample array) from an input video signal (original block, original sample array) in the encoding device 200 may be called a subtraction unit 231 .
- the prediction unit 220 may perform prediction on a block to be processed (hereinafter referred to as a current block) and generate a predicted block including predicted samples of the current block.
- the predictor 220 may determine whether intra prediction or inter prediction is applied in units of current blocks or CUs.
- the prediction unit 220 may generate and transmit various types of information related to prediction, such as prediction mode information, to the entropy encoding unit 240, as will be described later in the description of each prediction mode. Prediction-related information may be encoded in the entropy encoding unit 240 and output in the form of a bitstream.
- the intra predictor 222 may predict a current block by referring to samples in the current picture.
- the referenced samples may be located in the neighborhood of the current block or may be located apart from the current block by a predetermined distance according to a prediction mode.
- prediction modes may include one or more non-directional modes and a plurality of directional modes.
- the non-directional mode may include at least one of a DC mode and a planar mode.
- the directional mode may include 33 directional modes or 65 directional modes according to the degree of detail of the prediction direction. However, this is an example, and more or less directional modes may be used according to settings.
- the intra predictor 222 may determine a prediction mode applied to the current block by using a prediction mode applied to neighboring blocks.
- the inter-prediction unit 221 may derive a prediction block for a current block based on a reference block (reference sample array) specified by a motion vector on a reference picture.
- motion information may be predicted in units of blocks, subblocks, or samples based on correlation of motion information between neighboring blocks and the current block.
- the motion information may include a motion vector and a reference picture index.
- the motion information may further include inter prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.).
- a neighboring block may include a spatial neighboring block present in the current picture and a temporal neighboring block present in the reference picture.
- a reference picture including the reference block and a reference picture including the temporal neighboring block may be the same or different.
- the temporal neighboring block may be called a collocated reference block, a collocated CU (colCU), and the like, and a reference picture including the temporal neighboring block may be called a collocated picture (colPic).
- the inter-prediction unit 221 constructs a motion information candidate list based on neighboring blocks, and provides information indicating which candidate is used to derive the motion vector and/or reference picture index of the current block. can create Inter prediction may be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the inter prediction unit 221 may use motion information of neighboring blocks as motion information of the current block. In the case of the skip mode, the residual signal may not be transmitted unlike the merge mode. In the case of motion vector prediction (MVP) mode, the motion vector of the current block is used as a motion vector predictor and the motion vector difference is signaled. can be instructed.
- MVP motion
- the prediction unit 220 may generate a prediction signal based on various prediction methods described later.
- the predictor may apply intra-prediction or inter-prediction to predict one block, as well as apply intra-prediction and inter-prediction at the same time. This may be called a combined inter and intra prediction (CIIP) mode.
- the prediction unit may be based on an intra block copy (IBC) prediction mode or a palette mode for block prediction.
- IBC intra block copy
- the IBC prediction mode or the palette mode can be used for video/video coding of content such as games, such as screen content coding (SCC).
- IBC basically performs prediction within the current picture, but may be performed similarly to inter prediction in that a reference block is derived within the current picture.
- IBC may use at least one of the inter prediction techniques described in this specification.
- Palette mode can be viewed as an example of intra coding or intra prediction.
- a sample value within a picture may be signaled based on information about a palette table and a palette index.
- the prediction signal generated by the prediction unit 220 may be used to generate a restored signal or a residual signal.
- the transform unit 232 may generate transform coefficients by applying a transform technique to the residual signal.
- the transform technique uses 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 Conditionally Non-linear Transform (CNT).
- DCT Discrete Cosine Transform
- DST Discrete Sine Transform
- KLT Karhunen-Loeve Transform
- GBT Graph-Based Transform
- CNT Conditionally Non-linear Transform
- GBT means a transformation obtained from the graph when relation information between pixels is expressed as a graph.
- CNT means a transformation obtained by generating a prediction signal using all previously reconstructed pixels, and based thereon.
- the conversion process may be applied to square pixel blocks having the same size, or may be applied to non-square blocks of variable size.
- the quantization unit 233 quantizes the transform coefficients and transmits them to the entropy encoding unit 240, and the entropy encoding unit 240 may encode the quantized signal (information on the quantized transform coefficients) and output it as a bitstream. there is. Information about the quantized transform coefficients may be referred to as residual information.
- the quantization unit 233 may rearrange block-type quantized transform coefficients into a one-dimensional vector form based on a coefficient scan order, and the quantized transform coefficients based on the one-dimensional vector form quantized transform coefficients. Information about transform coefficients may be generated.
- the entropy encoding unit 240 may perform various encoding methods such as exponential Golomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC).
- the entropy encoding unit 240 may encode together or separately information necessary for video/image reconstruction (eg, values of syntax elements, etc.) in addition to quantized transform coefficients.
- Encoded information may be transmitted or stored in a network abstraction layer (NAL) unit unit in the form of a bitstream.
- the video/video information may further include information on various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS).
- the video/image information may further include general constraint information.
- information and/or syntax elements transmitted/signaled from an encoding device to a decoding device may be included in video/image information.
- the video/image information may be encoded through the above-described encoding procedure and included in the bitstream.
- the bitstream may be transmitted through a network or stored in a digital storage medium.
- the network may include a broadcasting network and/or a communication network
- the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
- a transmission unit (not shown) for transmitting the signal output from the entropy encoding unit 240 and/or a storage unit (not shown) for storing may be configured as internal/external elements of the encoding device 200, or the transmission unit It may also be included in the entropy encoding unit 240.
- the quantized transform coefficients output from the quantization unit 233 may be used to generate a prediction signal.
- a residual signal residual block or residual samples
- the adder 250 adds the reconstructed residual signal to the prediction signal output from the inter predictor 221 or the intra predictor 222 to obtain a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) can be created
- a predicted block may be used as a reconstruction block.
- the adder 250 may be called a restoration unit or a restoration block generation unit.
- the generated reconstructed signal may be used for intra prediction of a block to be processed next in the current picture, or may be used for inter prediction of the next picture after filtering as described below. Meanwhile, luma mapping with chroma scaling (LMCS) may be applied in a picture encoding and/or reconstruction process.
- LMCS luma mapping with chroma scaling
- the filtering unit 260 may improve subjective/objective picture quality by applying filtering to the reconstructed signal. For example, the filtering unit 260 may 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 memory 270. It can be stored in DPB.
- the various filtering methods may include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, and the like.
- the filtering unit 260 may generate various types of filtering-related information and transmit them to the entropy encoding unit 240 . Filtering-related information may be encoded in the entropy encoding unit 240 and output in the form of a bit stream.
- the modified reconstructed picture transmitted to the memory 270 may be used as a reference picture in the inter prediction unit 221 .
- the encoding device can avoid prediction mismatch between the encoding device 200 and the decoding device, and can also improve encoding efficiency.
- the DPB of the memory 270 may store the modified reconstructed picture to be used as a reference picture in the inter prediction unit 221 .
- the memory 270 may store motion information of a block in a current picture from which motion information is derived (or encoded) and/or motion information of blocks in a previously reconstructed picture.
- the stored motion information may be transmitted to the inter prediction unit 221 to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block.
- the memory 270 may store reconstructed samples of reconstructed blocks in the current picture and transfer them to the intra predictor 222 .
- FIG. 3 is a schematic block diagram of a decoding device to which an embodiment of the present disclosure may be applied and decoding of a video/image signal is performed.
- the decoding device 300 includes an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, and a filtering unit. (filter, 350) and memory (memoery, 360).
- the prediction unit 330 may include an inter prediction unit 331 and an intra prediction unit 332 .
- the residual processing unit 320 may include a dequantizer 321 and an inverse transformer 321 .
- the aforementioned entropy decoding unit 310, residual processing unit 320, prediction unit 330, adder 340, and filtering unit 350 may be configured as one hardware component (for example, a decoding device chipset or processor).
- 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 a memory 360 as an internal/external component.
- the decoding device 300 may restore an image corresponding to a process in which the video/image information is processed by the encoding device of FIG. 2 .
- the decoding device 300 may derive units/blocks based on block division related information obtained from the bitstream.
- the decoding device 300 may perform decoding using a processing unit applied in the encoding device.
- a processing unit of decoding may be a coding unit, and a coding unit may be one divided from a coding tree unit or a largest coding unit according to a quad tree structure, a binary tree structure, and/or a ternary tree structure.
- One or more transform units may be derived from a coding unit.
- the restored video signal decoded and output through the decoding device 300 may be reproduced through a playback device.
- the decoding device 300 may receive a signal output from the encoding device of FIG. 2 in the form of a bitstream, and the received signal may be decoded through the entropy decoding unit 310 .
- the entropy decoding unit 310 may parse the bitstream to derive information (eg, video/image information) required for image restoration (or picture restoration).
- the video/video information may further include information on various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS).
- the video/image information may further include general constraint information.
- the decoding device may decode a picture further based on the information about the parameter set and/or the general restriction information.
- Signaling/received information and/or syntax elements described later in this specification may be obtained from the bitstream by being decoded through the decoding procedure.
- the entropy decoding unit 310 decodes information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and values of syntax elements required for image reconstruction and quantized values of residual transform coefficients. can output them.
- the CABAC entropy decoding method receives bins corresponding to each syntax element in a bitstream, and converts syntax element information to be decoded and decoding information of neighboring and decoding object blocks or symbol/bin information decoded in a previous step.
- a symbol corresponding to the value of each syntax element can be generated by determining a context model, predicting the probability of occurrence of a bin according to the determined context model, and performing arithmetic decoding of the bin.
- the CABAC entropy decoding method may update the context model by using information of the decoded symbol/bin for the context model of the next symbol/bin after determining the context model.
- prediction-related information is provided to the prediction unit (inter prediction unit 332 and intra prediction unit 331), and entropy decoding is performed by the entropy decoding unit 310.
- Dual values that is, quantized transform coefficients and related parameter information may be input to the residual processing unit 320 .
- the residual processor 320 may derive a residual signal (residual block, residual samples, residual sample array). Also, among information decoded by the entropy decoding unit 310 , information about filtering may be provided to the filtering unit 350 . Meanwhile, a receiving unit (not shown) receiving 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 decoding unit 310.
- the decoding device may be referred to as a video/video/picture decoding device, and the decoding device includes an information decoding device (video/video/picture information decoding device) and a sample decoding device (video/video/picture sample decoding). devices) can be distinguished.
- the information decoding device may include the entropy decoding unit 310, and the sample decoding device may include the inverse quantization unit 321, an inverse transform unit 322, an adder 340, a filtering unit 350, a memory 360, an inter predictor 332, and an intra predictor 331 may be included.
- the inverse quantization unit 321 may inversely quantize the quantized transform coefficients and output transform coefficients.
- the inverse quantization unit 321 may rearrange the quantized transform coefficients in the form of a 2D block. In this case, the rearrangement may be performed based on a coefficient scanning order performed by the encoding device.
- the inverse quantization unit 321 may perform inverse quantization on quantized transform coefficients using a quantization parameter (eg, quantization step size information) and obtain transform coefficients.
- a quantization parameter eg, quantization step size information
- a residual signal (residual block, residual sample array) is obtained by inverse transforming the transform coefficients.
- the predictor 320 may perform prediction on a current block and generate a predicted block including predicted samples of the current block.
- the prediction unit 320 may determine whether intra prediction or inter prediction is applied to the current block based on the information about the prediction output from the entropy decoding unit 310, and determine a specific intra/inter prediction mode.
- the prediction unit 320 may generate a prediction signal based on various prediction methods described later.
- the predictor 320 may apply intra-prediction or inter-prediction to predict one block, and may simultaneously apply intra-prediction and inter-prediction. This may be called a combined inter and intra prediction (CIIP) mode.
- the prediction unit may be based on an intra block copy (IBC) prediction mode or a palette mode for block prediction.
- IBC intra block copy
- the IBC prediction mode or the palette mode can be used for video/video coding of content such as games, such as screen content coding (SCC).
- SCC screen content coding
- IBC basically performs prediction within the current picture, but may be performed similarly to inter prediction in that a reference block is derived within the current picture. That is, IBC may use at least one of the inter prediction techniques described in this specification.
- Palette mode can be viewed as an example of intra coding or intra prediction. When the palette mode is applied, information on a palette table and a palette index may be included in the video/
- the intra predictor 331 may predict a current block by referring to samples in the current picture.
- the referenced samples may be located in the neighborhood of the current block or may be located apart from the current block by a predetermined distance according to a prediction mode.
- prediction modes may include one or more non-directional modes and a plurality of directional modes.
- the intra prediction unit 331 may determine a prediction mode applied to the current block by using a prediction mode applied to neighboring blocks.
- the inter-prediction unit 332 may derive a prediction block for a current block based on a reference block (reference sample array) specified by a motion vector on a reference picture.
- motion information may be predicted in units of blocks, subblocks, or samples based on correlation of motion information between neighboring blocks and the current block.
- the motion information may include a motion vector and a reference picture index.
- the motion information may further include inter prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.).
- a neighboring block may include a spatial neighboring block present in the current picture and a temporal neighboring block present in the reference picture.
- the inter-prediction unit 332 may construct a motion information candidate list based on neighboring blocks and derive a motion vector and/or reference picture index of the current block based on the received candidate selection information. Inter prediction may be performed based on various prediction modes, and the prediction-related information may include information indicating an inter prediction mode for the current block.
- the adder 340 adds the obtained residual signal to the prediction signal (prediction block, prediction sample array) output from the prediction unit (including the inter prediction unit 332 and/or the intra prediction unit 331) to obtain a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) can be created.
- a prediction block may be used as a reconstruction block.
- the adder 340 may be called a restoration unit or a restoration block generation unit.
- the generated reconstructed signal may be used for intra prediction of the next block to be processed in the current picture, output after filtering as described below, or may be used for inter prediction of the next picture. Meanwhile, luma mapping with chroma scaling (LMCS) may be applied in a picture decoding process.
- LMCS luma mapping with chroma scaling
- the filtering unit 350 may improve subjective/objective picture quality by applying filtering to the reconstructed signal.
- the filtering unit 350 may 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. can be sent to
- the various filtering methods may include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, and the like.
- a (modified) reconstructed picture stored in the DPB of the memory 360 may be used as a reference picture in the inter prediction unit 332 .
- the memory 360 may store motion information of a block in the current picture from which motion information is derived (or decoded) and/or motion information of blocks in a previously reconstructed picture.
- the stored motion information may be transmitted to the inter prediction unit 260 to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block.
- the memory 360 may store reconstructed samples of reconstructed blocks in the current picture and transfer them to the intra prediction unit 331 .
- the embodiments described in the filtering unit 260, the inter prediction unit 221, and the intra prediction unit 222 of the encoding device 200 are the filtering unit 350 and the inter prediction of the decoding device 300, respectively.
- the same or corresponding to the unit 332 and the intra predictor 331 may be applied.
- FIG. 4 illustrates an intra prediction method performed by a decoding apparatus as an embodiment according to the present disclosure.
- an intra prediction mode of a current block may be derived (S400).
- the intra prediction mode of the current block may be derived from pre-defined intra prediction modes in the decoding device.
- the pre-defined intra prediction modes may include a non-directional mode and a directional mode.
- the non-directional mode may include at least one of a planar mode and a DC mode.
- the intra prediction mode of the current block may be derived based on a most probable mode (MPM) or may be derived based on a gradient of a region surrounding the current block.
- MPM most probable mode
- the intra prediction mode of the current block may be derived based on signaled intra prediction mode information.
- the intra prediction mode information includes one or more flags and/or indexes, which will be described later, and based on this, the intra prediction mode of the current block can be derived.
- Intra prediction modes pre-defined in the decoding device may be divided into K groups.
- K may be an integer of 2, 3, 4, or more.
- the pre-defined intra prediction modes are classified into three groups, and the three groups are referred to as first to third groups.
- the first group may include one or more non-directional modes.
- the non-directional mode may mean at least one of a planar mode and a DC mode.
- the second group may be called an MPM list, and may include a plurality of most probable modes (MPMs).
- the plurality of MPMs may include at least one of an intra prediction mode, a derived mode, and a default mode of neighboring blocks adjacent to the current block.
- the neighboring block may include at least one of a left block, an upper block, a lower left block, an upper right block, or an upper left block. Modes of the neighboring blocks may be sequentially added to the MPM list according to the order of priority among the neighboring blocks.
- the priority order may be defined in the order of the left block, the upper block, the lower left block, the upper right block, and the upper left block, or the upper block, the left block, the lower left block, the upper right block, and the upper left block. there is.
- the priority order may be adaptively determined based on the size and/or shape of the current block.
- the priority order of an upper block, a left block, a lower left block, an upper right block, and an upper left block may be used.
- the width of the current block is greater than the height
- the priority order of the left block, the upper block, the lower left block, the upper right block, and the upper left block may be used.
- the derived mode may be derived by adding or subtracting an offset from the intra prediction mode of the neighboring block.
- the derived mode may be derived by adding or subtracting an offset from a default mode to be described later.
- the offset may be an integer of 1, 2, 3, 4, or more.
- the derived mode may be derived based on a neighboring block having a higher priority among the aforementioned neighboring blocks.
- the derived mode may not be derived based on a neighboring block having a lower priority among the aforementioned neighboring blocks.
- a neighboring block having a high priority may include at least one of a left block and an upper block.
- a neighboring block having a low priority may include at least one of a lower left block, an upper right block, or an upper left block.
- the derived mode may not be derived based on the intra prediction mode of the neighboring block.
- the default mode may refer to a pre-defined mode in a decoding device to construct an MPM list.
- the default mode may include at least one of a planar mode, a DC mode, a horizontal mode, a vertical mode, and a diagonal mode.
- the diagonal mode may mean one or more of a lower left diagonal mode, an upper left diagonal mode, and an upper right diagonal mode.
- the second group may be divided into two sub-groups, which are referred to as a primary MPM list and a secondary MPM list.
- the MPM list is composed of N MPMs
- the top M MPMs belonging to the MPM list may be included in the first MPM list
- the (N-M) remaining MPMs may be included in the second MPM list.
- the first MPM list may include MPMs with indices of 0 to (M-1) belonging to the MPM list.
- N may mean the maximum number of MPMs that can be included in the MPM list.
- M means the maximum number of MPMs that can be included in the first MPM list, and for example, M may be an integer of 3, 4, 5, 6, or more.
- the third group may include remaining modes not belonging to the first and second groups among the pre-defined intra prediction modes.
- the first group is defined as a separate group distinguished from the second group, but is not limited thereto.
- the first group and the second group may be defined as one group, and in this case, the non-directional mode of the first group may be any one of the MPMs included in the MPM list of the second group.
- One or more flags may be signaled to specify a group and/or sub-group to which the same mode as the intra prediction mode of the current block belongs.
- the flag includes a first flag indicating whether the same mode as the intra prediction mode of the current block belongs to the first group, and whether the same mode as the intra prediction mode of the current block belongs to the second group (ie, the MPM list).
- an index specifying one of a plurality of MPMs belonging to the second group may be signaled.
- An intra prediction mode of the current block may be derived based on the MPM specified by the index.
- an index specifying one of a plurality of MPMs belonging to the first MPM list may be signaled.
- An intra prediction mode of the current block may be derived based on the MPM specified by the index.
- an index specifying one of a plurality of MPMs belonging to the second MPM list may be signaled.
- An intra prediction mode of the current block may be derived based on the MPM specified by the index.
- the intra prediction mode of the current block may be derived based on the signaled index.
- the signaling of the index may be omitted.
- the aforementioned flags may be signaled with dependencies between the flags.
- the first flag may be parsed after the second flag is parsed from the bitstream. The first flag may be parsed when the second flag is True.
- the second flag may be parsed after the first flag is parsed from the bitstream. The second flag may be parsed when the first flag is False. If the second flag is True, the third flag (or fourth flag) will be parsed from the bitstream, and if the second flag is False, the third flag (or fourth flag) will not be parsed from the bitstream. can Alternatively, the fourth flag may be parsed after the third flag is parsed from the bitstream. The fourth flag may be parsed when the third flag is False.
- a gradient may be calculated based on at least two samples belonging to a region surrounding the current block.
- the slope may include at least one of a horizontal slope and a vertical slope.
- An intra prediction mode of the current block may be derived based on at least one of the calculated gradient and the amplitude of the gradient.
- the magnitude of the inclination may be determined based on the sum of the inclination in the horizontal direction and the inclination in the vertical direction.
- the slope may be calculated in units of windows having a predetermined size. Based on the calculated slope, an angle representing the directionality of the sample within the corresponding window may be calculated. The calculated angle may correspond to any one of the aforementioned pre-defined intra prediction modes.
- the magnitude of the gradient may be stored/updated for an intra prediction mode corresponding to the calculated angle.
- an intra prediction mode corresponding to the calculated gradient may be determined for each window, and the magnitude of the gradient for the determined intra prediction mode may be stored/updated.
- the top T intra-prediction modes having the largest magnitude among the stored gradients may be selected, and the selected intra-prediction mode may be set as an intra-prediction mode of the current block.
- T may be an integer of 1, 2, 3, or more.
- the neighboring area used to calculate the gradient is an area previously restored to the current block, and may include at least one of a left area, an upper area, an upper left area, a lower left area, or an upper right area adjacent to the current block. there is.
- the peripheral area includes at least one of a neighboring sample line adjacent to the current block, a first non-neighboring sample line separated by 1 sample from the current block, and a second non-neighboring sample line separated by 2 samples from the current block. can do. However, it is not limited thereto, and a non-neighboring sample line separated from the current block by N samples may be further included, and N may be an integer greater than or equal to 3.
- the peripheral area may be a pre-defined area identical to the encoding device and the decoding device in order to calculate the gradient.
- the surrounding area may be variably determined based on information specifying the location of the surrounding area. In this case, information specifying the location of the neighboring area may be signaled through a bitstream.
- the location of the surrounding area may include whether the current block is located at the boundary of a coding tree unit, the size of the current block (eg, width, height, ratio of width to height, product of width and height), current block It may be determined based on at least one of a division type of the , a prediction mode of the surrounding area, or the availability of the surrounding area.
- the current block when the current block is located at the top boundary of the coding tree unit, at least one of the top area, the top left area, or the top right area of the current block may not be referred to for calculating the gradient.
- the width of the current block is greater than the height, either the top area or the left area (eg, the top area) is referred to for calculating the gradient, and the other (eg, the left area) is used to calculate the gradient. may not be referenced.
- the current block's width is smaller than its height, either the top region or the left region (eg, the left region) is referenced to calculate the slope, and the other (eg, top region) determines the slope. May not be referenced for calculation.
- the upper region may not be referred to for calculating the gradient.
- the left region may not be referred to for calculating the gradient.
- the region may not be referred to for calculating a gradient.
- the corresponding surrounding area may be referred to for calculating the gradient.
- the above-described gradient-based derivation method may be used adaptively based on a predetermined flag (Dimd_flag).
- the flag may indicate whether an intra prediction mode of the current block is derived based on a gradient calculated from a neighboring region adjacent to the current block. For example, when the flag is a first value, the intra prediction mode of the current block may be derived through a gradient-based derivation method, and when the flag is a second value, the intra prediction mode of the current block is derived by an MPM-based derivation method. can be derived through
- the flags are: 1) whether the gradient-based derivation method is available, 2) whether the luminance component of the current block is valid, 3) whether the prediction mode of the current block is an intra mode, or 4) whether the component type of the current block is It may be signaled from the bitstream based on at least one of whether it is a luminance component or not.
- Whether or not the gradient-based derivation method is available may be determined based on a flag signaled at a level of at least one of a video sequence, a picture, a picture header, or a slice header.
- the current block When the current block is a single tree type or dual tree type luminance block, it may be determined that the luminance component of the current block is valid. On the other hand, when the current block is a dual-tree type chrominance block, the luminance component of the current block may be determined to be invalid.
- the single tree type means a tree type in which the chrominance block of the coding unit has a split structure dependent on the split structure of the luminance block
- the dual tree type means that the chrominance block of the coding unit has a split structure independent of the luminance block. It may mean a tree type.
- the current block Even if the current block is a single tree type, if the current block is a chrominance block, it may be determined as False whether the component type of the current block is a luminance component. On the other hand, even if the current block is a single tree type, if the current block is a luminance block, whether the component type of the current block is a luminance component can be determined as True. If the current block is a dual-tree type luminance block, whether the component type of the current block is a luminance component is determined as True, and if the current block is a dual-tree type chrominance block, whether or not the component type of the current block is a luminance component can be determined as False.
- the flag may be signaled as shown in Table 1 below.
- sps.useDimd may indicate whether a gradient-based derivation method is available for the video sequence to which the current block belongs.
- Y.valid() may indicate whether the luminance component is valid for the current block, and predMode may indicate the prediction mode of the current block.
- isLuma() may indicate whether the component type of the current block is a luminance component.
- the gradient-based derivation method is available for the video sequence to which the current block belongs, 2) the luminance component is valid for the current block, 3) the prediction mode of the current block is intra mode, and 4 )
- the flag (Dimd_flag) may be signaled from the bitstream.
- the intra prediction mode of the current block is derived through the gradient-based derivation method, and when the flag is signaled 0, the intra prediction mode of the current block is derived through the MPM-based derivation method. can be induced.
- the flag may not be signaled from the bitstream.
- the flag is induced to 0, and the intra prediction mode of the current block can be derived through an MPM-based derivation method.
- a preset initial intra prediction mode may be used as the intra prediction mode of the current block.
- the value of the preset initial intra prediction mode may be set to 0, which corresponds to the planner mode. That is, even if the flag parsed according to the condition of Table 1 is 1, if the neighboring blocks of the current block are not available, the gradient-based derivation method is not used, and the intra prediction mode of the current block is a preset mode. Can be set to planner mode.
- the first MPM in the MPM list according to the aforementioned MPM-based derivation method may be a planner mode. That is, when neighboring blocks of the current block are not available and the flag (Dimd_flag) is 1, the intra prediction mode of the current block is a preset planner mode, which is the same as the first MPM in the MPM list, the planner mode. Accordingly, it may be unnecessary to signal a flag indicating whether a gradient-based derivation method is applied when a neighboring block of the current block is not available. In order to prevent such unnecessary signaling, when a neighboring block is not available, a gradient-based derivation method may be restricted so that it is not allowed.
- the decoding device cannot calculate the gradient from the neighboring area and further fails to derive the intra prediction mode of the current block. Accordingly, the flag signaling condition may be restricted so that the gradient-based derivation method is not allowed.
- the flags are: 1) whether the gradient-based derivation method is available, 2) whether the luminance component of the current block is valid, 3) whether the prediction mode of the current block is intra mode, 4) whether the component type of the current block is luminance component, or 5) whether a neighboring block of the current block is available, may be signaled from the bitstream.
- the corresponding neighboring block may be determined to be unavailable. Otherwise, the corresponding neighboring block may be determined to be available.
- the x-coordinate of the top-left sample in the neighboring block is greater than or equal to the width of the picture.
- the y-coordinate of the top-left sample in the neighboring block is equal to or greater than the height of the picture.
- a neighboring block has a later decoding order than the current block.
- a neighboring block is included in a slice different from the current block.
- a neighboring block is included in a tile different from the current block.
- the flag may be signaled as shown in Table 2 below.
- isAvailableTemplate() may indicate whether neighboring blocks are available. If one or more of the above conditions are satisfied, isAvailableTemplate() may be determined to be 1 (or True), otherwise, isAvailableTemplate() may be determined to be 0 (or False).
- the gradient-based derivation method is available for the video sequence to which the current block belongs, 2) the luminance component is valid for the current block, 3) the prediction mode of the current block is intra mode, and 4 ), the component type of the current block is a luminance component, and 5) when neighboring blocks of the current block are available, the flag (Dimd_flag) may be signaled from the bitstream.
- the flag When the condition according to Table 2 is not satisfied, the flag may not be signaled from the bitstream, and the flag may be induced to 0 (or False). In this case, the intra prediction mode of the current block may be derived through the aforementioned MPM-based derivation method.
- the decoding device cannot calculate the gradient from the neighboring area and further fails to derive the intra prediction mode of the current block. Accordingly, the flag signaling condition may be restricted so that the gradient-based derivation method is not allowed.
- isAvailableTemplate() may indicate whether neighboring blocks are available. According to Table 3, if a neighboring block of the current block is available, a flag (Dimd_flag) is signaled from the bitstream, and otherwise, the flag may not be signaled from the bitstream.
- the intra prediction mode of the current block may be derived as a pre-defined mode identically to the encoding device and the decoding device.
- the pre-defined mode may be a planner mode. In this way, even when the corresponding flag is derived as 1 as the flag is not signaled from the bitstream, the intra prediction mode of the current block may be restricted from being derived through the gradient-based derivation method.
- the flag when the condition according to Table 1 is satisfied, the flag may be signaled through a bitstream.
- the signaled flag may be updated/changed in consideration of availability of neighboring blocks.
- the flag may be signaled from the bitstream.
- the signaled flag may additionally determine whether neighboring blocks of the current block are available. As a result of the determination, if the neighboring block is available, the signaled flag is maintained at 1, but otherwise, the signaled flag may be updated/changed to 0.
- the intra prediction mode of the current block may be derived as a pre-defined mode (eg, planner mode) identically to the encoding device and the decoding device, or may be derived through the above-described MPM-based derivation method. there is.
- a pre-defined mode eg, planner mode
- the decoding device cannot calculate the gradient from the neighboring area and further fails to derive the intra prediction mode of the current block. Accordingly, the flag signaling condition may be restricted so that the gradient-based derivation method is not allowed.
- isAvailableTemplate() may indicate whether neighboring blocks are available. According to Table 4, if a neighboring block of the current block is available, a flag (Dimd_flag) is signaled from the bitstream, and otherwise, the flag may not be signaled from the bitstream.
- the intra prediction mode of the current block may be derived as a pre-defined mode identically to the encoding device and the decoding device.
- the pre-defined mode may be a DC mode. In this way, even when the corresponding flag is derived as 1 as the flag is not signaled from the bitstream, the intra prediction mode of the current block may be restricted from being derived through the gradient-based derivation method.
- the flag when the condition according to Table 1 is satisfied, the flag may be signaled through the bitstream.
- the signaled flag may be updated/changed in consideration of availability of neighboring blocks.
- the flag may be signaled from the bitstream.
- the signaled flag may additionally determine whether neighboring blocks of the current block are available. As a result of the determination, if the neighboring block is available, the signaled flag is maintained at 1, but otherwise, the signaled flag may be updated/changed to 0.
- the intra prediction mode of the current block may be derived as a pre-defined mode (eg, DC mode) identically to the encoding device and the decoding device, or may be derived through the above-described MPM-based derivation method. there is.
- a pre-defined mode eg, DC mode
- the flag (Dimd_flag) for the current block is 1) whether a gradient-based derivation method is available, 2) whether the luminance component of the current block is valid, and 3) whether the prediction mode of the current block is an intra mode. It may be signaled from the bitstream based on at least one of whether or not, or 4) whether the component type of the current block is a luminance component.
- a flag (Dimd_flag) may be signaled from the bitstream.
- the initial intra prediction mode of the current block may be set to the same pre-defined mode for the encoding device and the decoding device.
- An initial intra prediction mode of the current block may be set to a pre-defined mode regardless of whether neighboring blocks are available.
- the pre-defined mode may be a planner mode.
- the planner mode is used as the pre-defined mode, this may result in an overlap with the use of the planner mode as the first MPM in the MPM list. Accordingly, the DC mode may be used as the pre-defined mode.
- the initial intra prediction mode of the current block may be updated/changed to an intra prediction mode derived through the above-described gradient-based derivation method. Specifically, the initial intra prediction mode of the current block may be updated/changed based on the magnitude of the gradient for each of one or more intra prediction modes available for the current block.
- one or more intra-prediction modes available for the current block may mean/include intra-prediction modes determined for one or more windows within a region surrounding the current block.
- the initial intra prediction mode of the current block may be updated/changed based on one, two, three, or more top intra prediction modes having the largest gradient among the intra prediction modes for the window.
- a reference sample of a current block may be determined (S410).
- a reference sample for intra prediction of the current block may be determined from one or more reference sample lines.
- the current block may use one reference sample line or two or more reference sample lines.
- a reference sample line for intra prediction of the current block may be selected from a plurality of reference sample line candidates pre-defined identically to the encoding device and the decoding device.
- the plurality of pre-defined reference sample line candidates include a first reference sample line adjacent to the current block, a second reference sample line separated from the current block by 1 sample, and a third reference sample line separated by 2 samples from the current block. , or a fourth reference sample line separated by 3 samples from the current block.
- index information specifying the position of the reference sample line to which the reference sample of the current block belongs may be used. For example, information regarding an index specifying one of the plurality of reference sample line candidates may be signaled.
- two reference sample lines are used for intra prediction of the current block, two pieces of index information specifying two reference sample lines among a plurality of reference sample line candidates may be signaled respectively.
- the default reference sample line means a reference sample line at a pre-defined position identically to the encoding device and the decoding device, and may be, for example, a first reference sample line adjacent to the current block.
- the reference sample line of the current block may be used to determine the intra prediction mode of the current block, and in this case, step S410 may be performed before step S400.
- intra prediction of the current block may be performed based on the intra prediction mode and the reference sample of the current block (S420).
- the prediction sample of the current block may be generated through a first prediction sample, a second prediction sample, or a weighted sum of the first and second prediction samples.
- the first prediction sample may be generated through horizontal interpolation.
- the first prediction sample may be generated by interpolating a reference sample located at the upper right corner of the current block and one or more reference samples located on the same horizontal line as the first prediction sample.
- the second prediction sample may be generated through vertical interpolation.
- the second prediction sample may be generated by interpolating a reference sample located at the lower left corner of the current block and one or more reference samples located on the same vertical line as the second prediction sample.
- an average value of neighboring samples adjacent to the current block may be calculated, and the calculated average value may be set to all prediction samples within the current block.
- the neighboring samples may include an upper reference sample and a left reference sample of the current block.
- the average value may be calculated using only the upper reference sample or the left reference sample according to the shape of the current block.
- the intra prediction mode of the current block is a directional mode
- projection may be performed on a reference sample line according to an angle of the corresponding directional mode. If a reference sample exists at the projected position, the corresponding reference sample may be set as a prediction sample of the current block. If a reference sample does not exist at the projected location, a sample corresponding to the projected location may be generated using one or more neighboring samples adjacent to the projected location. For example, a sample at a projected position (ie, a prime number pel position) may be generated by performing interpolation based on two or more neighboring samples bidirectionally adjacent to the projected position. Alternatively, any one of a plurality of neighboring samples adjacent to the projected position may be set as a sample of the projected position. In this case, a neighboring sample closest to the projected position among a plurality of neighboring samples neighboring the projected position may be used. A prediction sample of the current block may be generated based on the sample at the projected position.
- a plurality of reference sample lines may be used for intra prediction of the current block, and in this case, a projected position may exist for each reference sample line. That is, samples of a plurality of projected positions may be determined, and a prediction sample of a current block may be generated based on a weighted sum thereof.
- a plurality of intra prediction modes may be derived for the current block through the aforementioned MPM-based derivation method or the gradient-based derivation method.
- two intra-prediction modes are derived for the current block, and they will be referred to as a first intra-prediction mode and a second intra-prediction mode, respectively.
- a first prediction sample may be generated according to the first intra prediction mode, and a second prediction sample may be generated according to the second intra prediction mode.
- a prediction sample of the current block may be generated based on a weighted sum of the first prediction sample and the second prediction sample.
- a weight for the weighted sum may be determined based on a magnitude of a gradient calculated from an area surrounding the current block. For example, when the magnitude of the gradient corresponding to the first intra prediction mode is G1 and the magnitude of the gradient corresponding to the second intra prediction mode is G2, the first prediction sample according to the first intra prediction mode has (G1/(G1 A weight of +G2) and a weight of (G2/(G1+G2)) may be applied to the second prediction sample according to the second intra prediction mode.
- the weight for the weighted sum is at least one of a mode value, a position of a group to which the corresponding intra prediction mode belongs, or whether it is a non-directional mode.
- a mode value e.g., a size of a group to which the corresponding intra prediction mode belongs.
- a higher weight may be applied to the first prediction sample according to the first intra prediction mode.
- the group to which the first intra prediction mode belongs is a higher group than the group to which the second intra prediction mode belongs (eg, the first intra prediction mode belongs to the first group, and the second intra prediction mode belongs to the second group).
- a larger weight may be applied to the first prediction sample according to the first intra prediction mode.
- the first intra prediction mode is a non-directional mode and the second intra prediction mode is a directional mode
- a higher weight may be applied to the first prediction sample according to the first intra prediction mode.
- both the first and second intra prediction modes are non-directional modes, the same weight may be applied to the first prediction sample and the second prediction sample, and intra prediction having a smaller mode value among the first and second intra prediction modes
- a larger weight may be applied to the prediction sample corresponding to the mode.
- the first intra prediction mode and the second intra prediction mode may share one same reference sample line.
- reference sample lines may be independently determined for each of the first and second intra prediction modes.
- the first and second prediction samples may be generated based on different reference sample lines. That is, the number/position of reference sample lines used to generate the first prediction sample may be different from the number/position of reference sample lines used to generate the second prediction sample.
- FIG. 5 illustrates a schematic configuration of an intra prediction unit 331 performing an intra prediction method according to the present disclosure.
- the intra prediction unit 331 may include a mode derivation unit 500, a reference sample determination unit 510, and a predicted sample generation unit 520.
- the mode derivation unit 500 may derive an intra prediction mode of the current block.
- the intra prediction mode of the current block may be derived from pre-defined intra prediction modes in the decoding device.
- the intra prediction mode of the current block may be derived based on signaled intra prediction mode information or may be derived based on a gradient of an area surrounding the current block. This has been reviewed with reference to FIG. 4, and a detailed description thereof will be omitted herein.
- the mode derivation unit 500 may adaptively use a gradient-based derivation method based on a predetermined flag.
- the flag may indicate whether an intra prediction mode of the current block is derived based on a gradient calculated from a neighboring region adjacent to the current block. As reviewed with reference to Tables 1 to 4, the flag may be signaled from the bitstream when a predetermined condition is satisfied.
- the mode derivation unit 500 may induce the flag to be 0 and derive the intra prediction mode of the current block through an MPM-based derivation method.
- the mode derivation unit 500 may induce the flag to be 1 and induce the intra prediction mode of the current block to be the same pre-defined mode for the encoding device and the decoding device.
- the pre-defined mode may be a planar mode or a DC mode.
- the mode induction unit 500 may update/change the signaled flag by additionally considering availability of neighboring blocks. . Furthermore, when the signaled flag is updated/changed to 0, the mode derivation unit 500 sets the intra prediction mode of the current block to the same pre-defined mode (eg, planner mode or DC mode), or may be induced through the above-described MPM-based induction method.
- the mode derivation unit 500 sets the intra prediction mode of the current block to the same pre-defined mode (eg, planner mode or DC mode), or may be induced through the above-described MPM-based induction method.
- the mode derivation unit 500 may set the initial intra prediction mode of the current block to the same pre-defined mode for the encoding device and the decoding device.
- the pre-defined mode may be a planar mode or a DC mode.
- the mode derivation unit 500 may update/change the initial intra prediction mode of the current block based on the intra prediction mode derived through the above-described gradient-based derivation method.
- the reference sample determiner 510 may determine a reference sample for intra prediction of the current block from one or more reference sample lines. To this end, the reference sample determiner 510 may select one or more reference sample lines from among a plurality of reference sample line candidates pre-defined identically to the encoding device and the decoding device. Predetermined index information may be used to select a reference sample line, as discussed with reference to FIG. 4 .
- the prediction sample generator 520 may perform intra prediction of the current block based on the intra prediction mode and the reference sample of the current block. A detailed intra prediction method has been reviewed with reference to FIG. 4, and redundant description will be omitted here.
- FIG. 6 illustrates an intra prediction method performed by an encoding device as an embodiment according to the present disclosure.
- an intra prediction mode of a current block may be determined (S600).
- the intra prediction mode of the current block may be determined from intra prediction modes pre-defined in the encoding device.
- the intra prediction mode of the current block may be determined based on MPM or may be determined based on a gradient of a region surrounding the current block.
- an optimal intra prediction mode for a current block is determined, and intra prediction mode information for specifying the intra prediction mode may be encoded into a bitstream.
- intra prediction mode information is encoded and transmitted to the decoding device, it can be distinguished from a gradient-based determination method described later.
- Intra prediction modes pre-defined in the encoding device may be divided into K groups.
- K may be an integer of 2, 3, 4, or more.
- the pre-defined intra prediction modes may be classified into three groups, and a method of configuring the three groups is as described in FIG. 4 .
- One or more flags may be coded into a bitstream to specify a group and/or a sub-group to which the same mode as the intra prediction mode of the current block belongs.
- the flag is a first flag indicating whether the same mode as the intra prediction mode of the current block belongs to the first group, and the same mode as the intra prediction mode of the current block belongs to the second group (ie, the MPM list).
- an index specifying one of a plurality of MPMs belonging to the second group may be encoded as a bitstream.
- the index may specify the same MPM as the intra prediction mode of the current block among the plurality of MPMs belonging to the second group.
- an index specifying one of a plurality of MPMs belonging to the first MPM list may be encoded as a bitstream.
- the index may specify the same MPM as the intra prediction mode of the current block among the plurality of MPMs belonging to the first MPM list.
- an index specifying one of a plurality of MPMs belonging to the second MPM list may be encoded as a bitstream.
- the index may specify the same MPM as the intra prediction mode of the current block among the plurality of MPMs belonging to the second MPM list.
- an index specifying any one of a plurality of intra prediction modes belonging to the first group (or the third group) is encoded as a bitstream. It can be.
- the index may specify the same intra prediction mode as the intra prediction mode of the current block among a plurality of intra prediction modes belonging to the first group (or the third group).
- the coding of the index may be omitted.
- the aforementioned flags may be encoded with dependencies between the flags.
- the first flag may be encoded after the second flag is encoded into the bitstream.
- the first flag may be encoded when the second flag is True.
- the second flag may be encoded after the first flag is encoded into the bitstream.
- the second flag may be encoded when the first flag is False.
- the fourth flag may be encoded after the third flag is encoded into the bitstream.
- the fourth flag may be encoded when the third flag is False.
- a gradient may be calculated based on at least two samples belonging to a region surrounding the current block.
- An intra prediction mode of the current block may be determined based on at least one of the calculated gradient and the amplitude of the gradient. Through this determination method, one intra prediction mode may be derived for the current block, or two or more intra prediction modes may be derived.
- the specific gradient-based determination method has been reviewed with reference to FIG. 4, and redundant descriptions will be omitted here.
- a predetermined flag (Dimd_flag) may be encoded into a bitstream.
- the flag may indicate whether the intra prediction mode of the current block is determined based on a gradient calculated from a neighboring region adjacent to the current block.
- the flag determines whether 1) whether the gradient-based derivation method is available, 2) whether the luminance component of the current block is valid, 3) whether the prediction mode of the current block is an intra mode, or 4) the component of the current block Based on at least one of whether the type is a luminance component, it may be encoded into a bitstream.
- Whether or not the gradient-based derivation method is available may be determined based on a flag coded at a level of at least one of a video sequence, a picture, a picture header, and a slice header.
- the current block When the current block is a single tree type or dual tree type luminance block, it may be determined that the luminance component of the current block is valid. On the other hand, when the current block is a dual-tree type chrominance block, the luminance component of the current block may be determined to be invalid.
- the single tree type means a tree type in which the chrominance block of the coding unit has a split structure dependent on the split structure of the luminance block
- the dual tree type means that the chrominance block of the coding unit has a split structure independent of the luminance block. It may mean a tree type.
- the current block Even if the current block is a single tree type, if the current block is a chrominance block, it may be determined as False whether the component type of the current block is a luminance component. On the other hand, even if the current block is a single tree type, if the current block is a luminance block, whether the component type of the current block is a luminance component can be determined as True. If the current block is a dual-tree type luminance block, whether the component type of the current block is a luminance component is determined as True, and if the current block is a dual-tree type chrominance block, whether or not the component type of the current block is a luminance component can be determined as False.
- the flag (Dimd_flag) can be encoded into a bitstream.
- the flag when the intra prediction mode of the current block is determined through the gradient-based decision method, the flag is coded as 1, and when the intra prediction mode of the current block is determined through the MPM-based decision method, the flag is coded as 0. It can be encoded as .
- the flag may not be encoded into the bitstream.
- the flag is induced to 0, and the intra prediction mode of the current block can be determined through an MPM-based decision method.
- a preset initial intra prediction mode may be used as the intra prediction mode of the current block.
- the value of the preset initial intra prediction mode may be set to 0, which corresponds to the planner mode. That is, even if the flag encoded according to the condition of Table 1 is 1, if the neighboring blocks of the current block are not available, the gradient-based decision method is not used, and the intra prediction mode of the current block is a preset mode. Can be set to planner mode.
- the first MPM in the MPM list according to the above-described MPM-based determination method may be a planner mode. That is, when neighboring blocks of the current block are not available and the flag (Dimd_flag) is coded as 1, the intra prediction mode of the current block is a preset planner mode, which is the same as the first MPM in the MPM list, the planner mode. Accordingly, it may be unnecessary to encode a flag indicating whether a gradient-based decision method is applied when a neighboring block of the current block is not available. In order to prevent such unnecessary coding, when a neighboring block is not available, a gradient-based decision method may be restricted so that it is not allowed.
- the encoding device cannot calculate the gradient from the neighboring area and cannot determine the intra prediction mode of the current block through a gradient-based determination method. Accordingly, the encoding condition of the flag may be restricted so that the gradient-based determination method is not allowed.
- the flags are: 1) whether the gradient-based derivation method is available, 2) whether the luminance component of the current block is valid, 3) whether the prediction mode of the current block is intra mode, 4) whether the component type of the current block is luminance component, or 5) whether a neighboring block of the current block is available or not, it may be encoded into a bitstream.
- Conditions 1) to 4) are as described above, and redundant descriptions thereof will be omitted. If the neighboring block satisfies one or more of the following conditions, the corresponding neighboring block may be determined to be unavailable. Otherwise, the corresponding neighboring block may be determined to be available.
- the x-coordinate of the top-left sample in the neighboring block is greater than or equal to the width of the picture.
- the y-coordinate of the top-left sample in the neighboring block is equal to or greater than the height of the picture.
- a neighboring block has a later decoding order than the current block.
- a neighboring block is included in a slice different from the current block.
- a neighboring block is included in a tile different from the current block.
- the gradient-based derivation method is available for the video sequence to which the current block belongs, 2) the luminance component is valid for the current block, and 3) the prediction mode of the current block is In an intra mode, 4) the component type of the current block is a luminance component, and 5) the neighboring blocks of the current block are available, the flag (Dimd_flag) can be encoded into a bitstream.
- the flag may not be encoded into the bitstream, and the flag may be induced to 0 (or False).
- the intra prediction mode of the current block may be determined through the aforementioned MPM-based determination method.
- the encoding device cannot calculate the gradient from the neighboring area and cannot determine the intra prediction mode of the current block through a gradient-based determination method. Accordingly, the encoding condition of the flag may be restricted so that the gradient-based determination method is not allowed.
- the flag (Dimd_flag) is encoded into the bitstream. Otherwise, the flag may not be encoded into the bitstream.
- the intra prediction mode of the current block may be derived as a pre-defined mode identically to the encoding device and the decoding device.
- the pre-defined mode may be a planner mode. In this way, even when the corresponding flag is induced to 1 as the flag is not encoded into a bitstream, the intra prediction mode of the current block may be restricted so as not to be determined through a gradient-based determination method.
- the flag when the condition according to Table 1 is satisfied, the flag may be encoded into a bitstream. However, the encoded flag may be updated/changed in consideration of availability of neighboring blocks.
- the flag (Dimd_flag) may be encoded into a bitstream.
- the flag may be additionally determined whether neighboring blocks of the current block are available.
- the flag is maintained at 1, but when the neighboring block is not available, the flag may be updated/changed to 0.
- the intra prediction mode of the current block may be induced as a pre-defined mode (eg, planner mode) identically to the encoding device and the decoding device, or may be determined through the above-described MPM-based decision method. .
- the encoding device cannot calculate the gradient from the neighboring area and cannot determine the intra prediction mode of the current block through a gradient-based determination method. Accordingly, the encoding condition of the flag may be restricted so that the gradient-based determination method is not allowed.
- the flag (Dimd_flag) is encoded into the bitstream. Otherwise, the flag may not be encoded into the bitstream.
- the intra prediction mode of the current block may be derived as a pre-defined mode identically to the encoding device and the decoding device.
- the pre-defined mode may be a DC mode. In this way, even when the corresponding flag is induced to 1 as the flag is not encoded into a bitstream, the intra prediction mode of the current block may be restricted so as not to be determined through a gradient-based determination method.
- the flag when the condition according to Table 1 is satisfied, the flag may be encoded into a bitstream. However, the encoded flag may be updated/changed in consideration of availability of neighboring blocks.
- the flag (Dimd_flag) may be encoded into a bitstream.
- the flag may be additionally determined whether neighboring blocks of the current block are available.
- the flag when the neighboring block is available, the flag is maintained at 1, but when the neighboring block is not available, the flag may be updated/changed to 0.
- the intra prediction mode of the current block may be induced as a pre-defined mode (eg, DC mode) identically to the encoding device and the decoding device, or may be determined through the above-described MPM-based determination method. .
- the flag (Dimd_flag) for the current block is 1) whether a gradient-based derivation method is available, 2) whether the luminance component of the current block is valid, and 3) whether the prediction mode of the current block is an intra mode. or 4) whether the component type of the current block is a luminance component, the block may be encoded into a bitstream.
- a flag (Dimd_flag) may be encoded into a bitstream.
- the initial intra prediction mode of the current block may be set to the same pre-defined mode for the encoding device and the decoding device.
- An initial intra prediction mode of the current block may be set to a pre-defined mode regardless of whether neighboring blocks are available.
- the pre-defined mode may be a planner mode.
- the planner mode is used as the pre-defined mode, this may result in an overlap with the use of the planner mode as the first MPM in the MPM list. Accordingly, the DC mode may be used as the pre-defined mode.
- the initial intra-prediction mode of the current block may be updated/changed to an intra-prediction mode determined through the above-described gradient-based determination method.
- a reference sample of a current block may be determined (S610).
- a reference sample for intra prediction of the current block may be determined from one or more reference sample lines.
- the current block may use one reference sample line or two or more reference sample lines.
- a reference sample line for intra prediction of the current block may be selected from a plurality of reference sample line candidates pre-defined identically to the encoding device and the decoding device.
- the plurality of pre-defined reference sample line candidates include a first reference sample line adjacent to the current block, a second reference sample line separated from the current block by 1 sample, and a third reference sample line separated by 2 samples from the current block. , or a fourth reference sample line separated by 3 samples from the current block.
- Index information specifying a position of a reference sample line to which a reference sample of the current block belongs may be encoded into a bitstream. For example, information about an index specifying one of the plurality of reference sample line candidates may be encoded. Alternatively, when two reference sample lines are used for intra prediction of the current block, two pieces of index information specifying two reference sample lines among a plurality of reference sample line candidates may be encoded. Alternatively, since one of the two reference sample lines is a default reference sample line, coding of index information for this line may be omitted and only index information for the other line may be coded.
- the default reference sample line means a reference sample line at a pre-defined position identically to the encoding device and the decoding device, and may be, for example, a first reference sample line adjacent to the current block.
- the reference sample line of the current block may be used to determine the intra prediction mode of the current block, and in this case, step S610 may be performed before step S600.
- prediction samples of the current block may be generated based on the intra prediction mode and reference samples of the current block (S620).
- a method of generating prediction samples has been reviewed with reference to FIG. 4, and a detailed description thereof will be omitted.
- a bitstream may be generated by generating a residual sample, which is a difference between an original sample of the current block and a predicted sample, and encoding the residual sample.
- a plurality of reference sample lines may be used for intra prediction of the current block, and in this case, a projected position may exist for each reference sample line. That is, samples of a plurality of projected positions may be determined, and a prediction sample of a current block may be generated based on a weighted sum thereof.
- a plurality of intra prediction modes may be derived for the current block through the aforementioned MPM-based decision method or the gradient-based decision method. Prediction samples corresponding to each of a plurality of intra prediction modes may be generated, and a prediction sample of the current block may be generated through a weighted sum of the prediction samples. This has been reviewed with reference to FIG. 4, and a detailed description thereof will be omitted herein.
- a plurality of intra prediction modes for the current block may share one same reference sample line.
- reference sample lines may be independently determined for each of a plurality of intra prediction modes.
- FIG. 7 illustrates a schematic configuration of an intra prediction unit 222 performing an intra prediction method according to the present disclosure.
- the intra predictor 222 may include a mode determiner 700, a reference sample determiner 710, and a predicted sample generator 720.
- the mode determining unit 700 may determine an intra prediction mode of the current block.
- the intra prediction mode of the current block may be derived from pre-defined intra prediction modes in the encoding device.
- the intra prediction mode of the current block may be determined based on MPM or derived based on a gradient of a region surrounding the current block. This has been reviewed with reference to FIG. 4, and a detailed description thereof will be omitted herein.
- the mode determination unit 700 may determine a predetermined flag (Dimd_flag) in order to adaptively use the above-described gradient-based determination method.
- the flag may indicate whether the intra prediction mode of the current block is determined based on a gradient calculated from a neighboring region adjacent to the current block.
- the mode determining unit 700 may determine the flag and encode it when a predetermined condition is satisfied.
- the mode determination unit 700 may induce the flag to be 0 and determine the intra prediction mode of the current block through an MPM-based decision method.
- the mode determining unit 700 may induce the flag to be 1 and set the intra prediction mode of the current block to the same pre-defined mode for the encoding device and the decoding device.
- the pre-defined mode may be a planar mode or a DC mode.
- the mode determining unit 700 may update/change the coded flag by additionally considering availability of neighboring blocks. Furthermore, when the coded flag is updated/changed to 0, the mode determining unit 700 sets the intra prediction mode of the current block to a pre-defined mode identical to the encoding device and the decoding device (eg, planar mode or DC mode), or may be determined through the above-described MPM-based decision method.
- a pre-defined mode identical to the encoding device and the decoding device eg, planar mode or DC mode
- the mode determination unit 700 may set the initial intra prediction mode of the current block to the same pre-defined mode for the encoding device and the decoding device.
- the pre-defined mode may be a planar mode or a DC mode.
- the mode determination unit 700 may update/change the initial intra prediction mode of the current block based on the intra prediction mode determined through the above-described gradient-based decision method.
- the reference sample determiner 710 may determine a reference sample for intra prediction of the current block from one or more reference sample lines. To this end, the reference sample determiner 710 may select one or more reference sample lines from among a plurality of reference sample line candidates pre-defined identically to the encoding device and the decoding device. Predetermined index information specifying the selected reference sample line may be encoded into the bitstream.
- the prediction sample generator 720 may perform intra prediction of the current block based on the intra prediction mode and the reference sample of the current block. A detailed intra prediction method has been reviewed with reference to FIG. 4, and redundant description will be omitted here.
- the above-described method according to the embodiments of this document may be implemented in the form of software, and the encoding device and/or decoding device according to this document may be used to display images of, for example, a TV, computer, smartphone, set-top box, display device, etc. It can be included in the device that performs the processing.
- a module can be stored in memory and executed by a processor.
- the memory may be internal or external to the processor, and may be coupled with the processor in a variety of well-known means.
- a processor may include an application-specific integrated circuit (ASIC), other chipsets, logic circuits, and/or data processing devices.
- Memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and/or other storage devices. That is, the embodiments described in this document may be implemented and performed on a processor, microprocessor, controller, or chip. For example, functional units shown in each drawing may be implemented and performed on a computer, processor, microprocessor, controller, or chip. In this case, information for implementation (eg, information on instructions) or an algorithm may be stored in a digital storage medium.
- a decoding device and an encoding device to which the embodiment(s) of the present specification are applied may be used in a multimedia broadcasting transceiving device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video conversation device, and a video communication device.
- Real-time communication device mobile streaming device, storage medium, camcorder, video-on-demand (VoD) service providing device, OTT video (Over the top video) device, Internet streaming service providing device, 3D (3D) video device, VR (virtual reality) ) device, AR (argumente reality) device, video phone video device, transportation terminal (ex.
- OTT video devices may include game consoles, Blu-ray players, Internet-connected TVs, home theater systems, smart phones, tablet PCs, digital video recorders (DVRs), and the like.
- the processing method to which the embodiment (s) of the present specification is applied may be produced in the form of a program executed by a computer and stored in a computer-readable recording medium.
- Multimedia data having a data structure according to the embodiment(s) of the present specification may also be stored in a computer-readable recording medium.
- the computer-readable recording medium includes all types of storage devices and distributed storage devices in which computer-readable data is stored.
- the computer-readable recording medium includes, for example, Blu-ray Disc (BD), Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical A data storage device may be included.
- the computer-readable recording medium includes media implemented in the form of a carrier wave (eg, transmission through the Internet).
- the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.
- embodiment(s) of the present specification may be implemented as a computer program product using program codes, and the program code may be executed on a computer by the embodiment(s) of the present specification.
- the program code may be stored on a carrier readable by a computer.
- FIG 8 shows an example of a content streaming system to which embodiments of the present disclosure may be applied.
- a content streaming system to which the embodiment(s) of the present specification is applied may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.
- the encoding server compresses content input from multimedia input devices such as smart phones, cameras, camcorders, etc. into digital data to generate a bitstream and transmits it to the streaming server.
- multimedia input devices such as smart phones, cameras, and camcorders directly generate bitstreams
- the encoding server may be omitted.
- the bitstream may be generated by an encoding method or a bitstream generation method to which the embodiment(s) of the present specification is applied, and the streaming server temporarily stores the bitstream in a process of transmitting or receiving the bitstream.
- the streaming server transmits multimedia data to a user device based on a user request through a web server, and the web server serves as a medium informing a user of what kind of service is available.
- the web server transmits the request to the streaming server, and the streaming server transmits multimedia data to the user.
- the content streaming system may include a separate control server, and in this case, the control server serves to control commands/responses between devices in the content streaming system.
- the streaming server may receive content from a media storage and/or encoding server. For example, when content is received from the encoding server, the content can be received in real time. In this case, in order to provide smooth streaming service, the streaming server may store the bitstream for a certain period of time.
- Examples of the user devices include mobile phones, smart phones, laptop computers, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation devices, slate PCs, Tablet PC, ultrabook, wearable device (e.g., smartwatch, smart glass, HMD (head mounted display)), digital TV, desktop There may be computers, digital signage, and the like.
- PDAs personal digital assistants
- PMPs portable multimedia players
- navigation devices slate PCs
- Tablet PC ultrabook
- wearable device e.g., smartwatch, smart glass, HMD (head mounted display)
- digital TV desktop There may be computers, digital signage, and the like.
- 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.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
| if(sps.useDimd && Y.valid() && predMode == MODE_INTRA && isLuma()) |
| Dimd_flag |
| if(sps.useDimd && Y.valid() && predMode == MODE_INTRA && isLuma() && isAvailableTemplate()) |
| Dimd_flag |
| if(!isAvailableTemplate()) |
| { |
| Dimd_flag == True; |
| Dimd_mode == Planar mode; |
| } |
| if(!isAvailableTemplate()) |
| { |
| Dimd_flag == True; |
| Dimd_mode == DC mode; |
| } |
Claims (12)
- 현재 블록의 플래그에 기초하여, 상기 현재 블록의 인트라 예측 모드를 유도하는 단계; 여기서, 상기 플래그는 상기 현재 블록의 인트라 예측 모드가 상기 현재 블록에 인접한 주변 영역에 속한 적어도 둘의 샘플 간의 기울기(gradient)에 기초하여 유도되는지 여부를 지시함,상기 현재 블록의 참조 샘플을 결정하는 단계; 및상기 인트라 예측 모드 및 상기 참조 샘플에 기초하여, 상기 현재 블록의 예측 샘플을 생성하는 단계를 포함하는, 영상 디코딩 방법.
- 제1항에 있어서,상기 플래그는, 상기 현재 블록의 주변 블록이 가용한지 여부에 기초하여, 비트스트림으로부터 시그날링되는, 영상 디코딩 방법.
- 제2항에 있어서,상기 현재 블록의 주변 블록이 가용한 경우, 상기 플래그는 상기 비트스트림으로부터 시그날링되고,상기 현재 블록의 주변 블록이 가용하지 않은 경우, 상기 플래그는 상기 비트스트림으로부터 시그날링되지 않고, 상기 플래그는 0으로 유도되는, 영상 디코딩 방법.
- 제2항에 있어서,상기 현재 블록의 주변 블록이 가용한 경우, 상기 플래그는 상기 비트스트림으로부터 시그날링되고,상기 현재 블록의 주변 블록이 가용하지 않은 경우, 상기 플래그는 상기 비트스트림으로부터 시그날링되지 않고, 상기 플래그는 1로 유도되는, 영상 디코딩 방법.
- 제4항에 있어서,상기 플래그가 1로 유도된 경우, 상기 현재 블록의 인트라 예측 모드는 플래너 모드로 설정되는, 영상 디코딩 방법.
- 제4항에 있어서,상기 플래그가 1로 유도된 경우, 상기 현재 블록의 인트라 예측 모드는 DC 모드로 설정되는, 영상 디코딩 방법.
- 제1항에 있어서,상기 플래그가 1인 경우, 상기 현재 블록의 인트라 예측 모드는, 상기 주변 영역에 속한 적어도 둘의 샘플 간의 기울기에 기초하여 결정되고,상기 플래그가 0인 경우, 상기 현재 블록의 인트라 예측 모드는, 상기 현재 블록의 인트라 예측 모드 정보에 기초하여 유도되는, 영상 디코딩 방법.
- 제7항에 있어서,상기 플래그가 1인 경우, 상기 현재 블록의 초기 인트라 예측 모드는, DC 모드로 설정되는, 영상 디코딩 방법.
- 제8항에 있어서,상기 현재 블록의 초기 인트라 예측 모드는, 상기 현재 블록이 이용 가능한 하나 또는 그 이상의 인트라 예측 모드에 대한 기울기의 크기(amplitude)에 기초하여 업데이트되는, 영상 디코딩 방법.
- 제9항에 있어서,상기 플래그는, 상기 현재 블록의 주변 블록이 가용한지 여부에 관계없이, 비트스트림으로부터 시그날링되는, 영상 디코딩 방법.
- 현재 블록의 인트라 예측 모드가 상기 현재 블록에 인접한 주변 영역에 속한 적어도 둘의 샘플 간의 기울기(gradient)에 기초하여 결정되는지 여부를 결정하는 단계;상기 결정 결과에 기초하여, 상기 현재 블록의 인트라 예측 모드를 결정하는 단계;상기 현재 블록의 참조 샘플을 결정하는 단계; 및상기 인트라 예측 모드 및 상기 참조 샘플에 기초하여, 상기 현재 블록의 예측 샘플을 생성하는 단계를 포함하되,상기 현재 블록의 인트라 예측 모드가 상기 주변 영역에 속한 적어도 둘의 샘플 간의 기울기에 기초하여 결정되는지 여부를 나타내는 플래그가 비트스트림으로 부호화되는, 영상 인코딩 방법.
- 영상 인코딩 방법에 의해 생성된 비트스트림을 저장하는 컴퓨터 판독 가능한 저장 매체에 있어서, 상기 영상 인코딩 방법은:현재 블록의 인트라 예측 모드가 상기 현재 블록에 인접한 주변 영역에 속한 적어도 둘의 샘플 간의 기울기(gradient)에 기초하여 결정되는지 여부를 결정하는 단계;상기 결정 결과에 기초하여, 상기 현재 블록의 인트라 예측 모드를 결정하는 단계;상기 현재 블록의 참조 샘플을 결정하는 단계; 및상기 인트라 예측 모드 및 상기 참조 샘플에 기초하여, 상기 현재 블록의 예측 샘플을 생성하는 단계를 포함하되,상기 현재 블록의 인트라 예측 모드가 상기 주변 영역에 속한 적어도 둘의 샘플 간의 기울기에 기초하여 결정되는지 여부를 나타내는 플래그가 비트스트림으로 부호화되는, 컴퓨터 판독 가능한 저장 매체.
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020247025278A KR20240132316A (ko) | 2021-12-29 | 2022-12-29 | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 |
| US18/725,486 US20250175608A1 (en) | 2021-12-29 | 2022-12-29 | Image encoding/decoding method and device, and recording medium on which bitstream is stored |
| CN202280086530.5A CN118451707A (zh) | 2021-12-29 | 2022-12-29 | 图像编码/解码方法和装置及存储比特流的记录介质 |
| EP22916789.5A EP4459988A4 (en) | 2021-12-29 | 2022-12-29 | METHOD AND DEVICE FOR IMAGE CODING/DECODING, AND RECORDING MEDIUM FOR STORING A BINARY STREAM |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20210191012 | 2021-12-29 | ||
| KR10-2021-0191012 | 2021-12-29 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023128648A1 true WO2023128648A1 (ko) | 2023-07-06 |
Family
ID=86999675
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2022/021589 Ceased WO2023128648A1 (ko) | 2021-12-29 | 2022-12-29 | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20250175608A1 (ko) |
| EP (1) | EP4459988A4 (ko) |
| KR (1) | KR20240132316A (ko) |
| CN (1) | CN118451707A (ko) |
| WO (1) | WO2023128648A1 (ko) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2026001801A2 (zh) * | 2025-06-18 | 2026-01-02 | 深圳传音控股股份有限公司 | 处理方法、处理设备及存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10771781B2 (en) * | 2018-03-12 | 2020-09-08 | Electronics And Telecommunications Research Institute | Method and apparatus for deriving intra prediction mode |
| KR20200134322A (ko) * | 2018-09-21 | 2020-12-01 | 텐센트 아메리카 엘엘씨 | 인트라 모드 코딩을 위한 방법 및 장치 |
| KR20210021591A (ko) * | 2018-08-24 | 2021-02-26 | 삼성전자주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
| KR102317682B1 (ko) * | 2013-12-19 | 2021-10-26 | 삼성전자주식회사 | 인트라 예측을 수반한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 |
| US20210385441A1 (en) * | 2017-12-22 | 2021-12-09 | Wilus Institute Of Standards And Technology Inc. | Video signal processing method and device |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9380312B2 (en) * | 2014-07-14 | 2016-06-28 | Apple Inc. | Encoding blocks in video frames containing text using histograms of gradients |
| US20170374369A1 (en) * | 2016-06-24 | 2017-12-28 | Mediatek Inc. | Methods and Apparatuses of Decoder Side Intra Mode Derivation |
| WO2019007490A1 (en) * | 2017-07-04 | 2019-01-10 | Huawei Technologies Co., Ltd. | DECODER INTEGRATED MODE (DIMD) INTEGRATED DEVICE TOOL CALCULATION COMPLEXITY REDUCTION |
| EP3709644A1 (en) * | 2019-03-12 | 2020-09-16 | Ateme | Method for image processing and apparatus for implementing the same |
| US11671589B2 (en) * | 2020-12-22 | 2023-06-06 | Qualcomm Incorporated | Decoder side intra mode derivation for most probable mode list construction in video coding |
| WO2022140718A1 (en) * | 2020-12-22 | 2022-06-30 | Qualcomm Incorporated | Decoder side intra mode derivation for most probable mode list construction in video coding |
| US11563957B2 (en) * | 2021-01-13 | 2023-01-24 | Lemon Inc. | Signaling for decoder-side intra mode derivation |
| US20240195982A1 (en) * | 2021-04-13 | 2024-06-13 | Beijing Bytedance Network Technology Co., Ltd. | Method, device, and medium for video processing |
| WO2023052156A1 (en) * | 2021-09-28 | 2023-04-06 | Interdigital Vc Holdings France, Sas | Improving the angle discretization in decoder side intra mode derivation |
-
2022
- 2022-12-29 CN CN202280086530.5A patent/CN118451707A/zh active Pending
- 2022-12-29 EP EP22916789.5A patent/EP4459988A4/en active Pending
- 2022-12-29 KR KR1020247025278A patent/KR20240132316A/ko active Pending
- 2022-12-29 WO PCT/KR2022/021589 patent/WO2023128648A1/ko not_active Ceased
- 2022-12-29 US US18/725,486 patent/US20250175608A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102317682B1 (ko) * | 2013-12-19 | 2021-10-26 | 삼성전자주식회사 | 인트라 예측을 수반한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 |
| US20210385441A1 (en) * | 2017-12-22 | 2021-12-09 | Wilus Institute Of Standards And Technology Inc. | Video signal processing method and device |
| US10771781B2 (en) * | 2018-03-12 | 2020-09-08 | Electronics And Telecommunications Research Institute | Method and apparatus for deriving intra prediction mode |
| KR20210021591A (ko) * | 2018-08-24 | 2021-02-26 | 삼성전자주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
| KR20200134322A (ko) * | 2018-09-21 | 2020-12-01 | 텐센트 아메리카 엘엘씨 | 인트라 모드 코딩을 위한 방법 및 장치 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4459988A4 * |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4459988A4 (en) | 2025-11-19 |
| KR20240132316A (ko) | 2024-09-03 |
| EP4459988A1 (en) | 2024-11-06 |
| CN118451707A (zh) | 2024-08-06 |
| US20250175608A1 (en) | 2025-05-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020256389A1 (ko) | Bdpcm 기반 영상 디코딩 방법 및 그 장치 | |
| WO2020141879A1 (ko) | 영상 코딩 시스템에서 서브 블록 기반 시간적 머지 후보를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치 | |
| WO2021040400A1 (ko) | 팔레트 모드 기반 영상 또는 비디오 코딩 | |
| WO2021040402A1 (ko) | 팔레트 코딩 기반 영상 또는 비디오 코딩 | |
| WO2021137597A1 (ko) | Ols에 대한 dpb 파라미터를 사용하는 영상 디코딩 방법 및 그 장치 | |
| WO2020235960A1 (ko) | Bdpcm 에 대한 영상 디코딩 방법 및 그 장치 | |
| WO2021034116A1 (ko) | 크로마 양자화 파라미터를 사용하는 영상 디코딩 방법 및 그 장치 | |
| WO2021040398A1 (ko) | 팔레트 이스케이프 코딩 기반 영상 또는 비디오 코딩 | |
| WO2023153797A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 | |
| WO2023153891A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 | |
| WO2020256506A1 (ko) | 다중 참조 라인 인트라 예측을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
| WO2020145620A1 (ko) | Mpm 리스트를 사용하는 인트라 예측 기반 영상 코딩 방법 및 장치 | |
| WO2020060259A1 (ko) | 영상 코딩 시스템에서 블록 파티셔닝을 사용하는 영상 디코딩 방법 및 그 장치 | |
| WO2019199093A1 (ko) | 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
| WO2023128648A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 | |
| WO2023128649A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 | |
| WO2023153893A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 | |
| WO2024005616A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 | |
| WO2023182634A1 (ko) | 영상 디코딩 방법 및 그 장치 | |
| WO2023132723A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 | |
| WO2023132679A1 (ko) | 세컨더리 리스트를 이용하는 인터 예측 방법 및 장치 | |
| WO2025170289A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 | |
| WO2024080706A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 | |
| WO2024151073A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 | |
| WO2023106761A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22916789 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202280086530.5 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18725486 Country of ref document: US |
|
| ENP | Entry into the national phase |
Ref document number: 20247025278 Country of ref document: KR Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2022916789 Country of ref document: EP Effective date: 20240729 |
|
| WWP | Wipo information: published in national office |
Ref document number: 18725486 Country of ref document: US |