WO2024123035A1 - Procédé et dispositif de codage/décodage vidéo utilisant un mode de partitionnement géométrique - Google Patents

Procédé et dispositif de codage/décodage vidéo utilisant un mode de partitionnement géométrique Download PDF

Info

Publication number
WO2024123035A1
WO2024123035A1 PCT/KR2023/019868 KR2023019868W WO2024123035A1 WO 2024123035 A1 WO2024123035 A1 WO 2024123035A1 KR 2023019868 W KR2023019868 W KR 2023019868W WO 2024123035 A1 WO2024123035 A1 WO 2024123035A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
area
determining
motion vector
current block
Prior art date
Application number
PCT/KR2023/019868
Other languages
English (en)
Korean (ko)
Inventor
심동규
이민훈
박시내
허진
박승욱
Original Assignee
현대자동차주식회사
기아 주식회사
광운대학교 산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from KR1020230172358A external-priority patent/KR20240084471A/ko
Application filed by 현대자동차주식회사, 기아 주식회사, 광운대학교 산학협력단 filed Critical 현대자동차주식회사
Publication of WO2024123035A1 publication Critical patent/WO2024123035A1/fr

Links

Images

Definitions

  • the present disclosure relates to a video encoding/decoding method and device using a geometric division mode. More specifically, in the geometric division mode, the motion vectors of the two divided areas are determined, the geometric division mode is determined, and the blending area is determined to determine the current block. It relates to a video encoding/decoding method and device for generating a prediction block.
  • video data Since video data has a larger amount of data than audio data or still image data, it requires a lot of hardware resources, including memory, to store or transmit it without processing for compression.
  • an encoder when storing or transmitting video data, an encoder is used to compress the video data and store or transmit it, and a decoder receives the compressed video data, decompresses it, and plays it.
  • video compression technologies include H.264/AVC, HEVC (High Efficiency Video Coding), and VVC (Versatile Video Coding), which improves coding efficiency by about 30% or more compared to HEVC.
  • Geometric division mode divides one coding unit (CU) into two regions and performs inter prediction independently on the two divided regions.
  • the predicted block of the current block is calculated by weighted average of the two inter prediction signals generated. This is a method to create .
  • geometric partition mode When generating a prediction block of the current block using geometric partition mode, there is a need to improve encoding/decoding efficiency.
  • the purpose of the present disclosure is to provide a method and device for determining the motion vector of each region by performing template matching in geometric segmentation mode.
  • the present disclosure aims to provide a method and device for determining division direction information by performing template matching in geometric division mode.
  • the present disclosure aims to provide a method and device for generating a final prediction block of the current block by performing a weighted average of the prediction blocks in each region using a blending matrix.
  • the present disclosure aims to provide a method and device for improving video encoding/decoding efficiency.
  • the present disclosure aims to provide a recording medium that stores a bitstream generated by the video encoding/decoding method or device of the present disclosure.
  • the present disclosure aims to provide a method and device for transmitting a bitstream generated by the video encoding/decoding method or device of the present disclosure.
  • a video decoding method includes a process of determining a motion vector of a first area of a current block using a merge candidate list, and determining a motion vector of a first area of the current block using a motion vector of the first area and template blocks of the current block.
  • a process of determining a motion vector of the second area, determining division direction candidates using template blocks of the current block, and determining division direction information of the current block among the division direction candidates, of the first area includes a process of determining a motion vector of a first area of a current block using a merge candidate list, and determining a motion vector of a first area of the current block using a motion vector of the first area and template blocks of the current block.
  • Generating a prediction block of the first area using a motion vector generating a prediction block of the second area using a motion vector of the second area, determining a blending area using the division direction information, and , determining a blending matrix using the blending area, and generating a prediction block of the current block using the blending matrix, the prediction block of the first area, and the prediction block of the second area.
  • a video encoding method includes a process of determining a motion vector of a first area of a current block using a merge candidate list, and determining a motion vector of a first area of the current block using a motion vector of the first area and template blocks of the current block.
  • Generating a prediction block of the first area using a motion vector generating a prediction block of the second area using a motion vector of the second area, determining a blending area using the division direction information, and , determining a blending matrix using the blending area, and generating a prediction block of the current block using the blending matrix, the prediction block of the first area, and the prediction block of the second area.
  • a method for transmitting a bitstream generated by the video encoding method or device according to the present disclosure can be provided.
  • a recording medium storing a bitstream generated by the video encoding method or device according to the present disclosure can be provided.
  • a recording medium storing a bitstream received and decoded by the video decoding device according to the present disclosure and used for image restoration can be provided.
  • a method and apparatus can be provided for determining the motion vector of each region by performing template matching in geometric division mode.
  • a method and device for determining division direction information by performing template matching in a geometric division mode can be provided.
  • a method and apparatus can be provided for generating a final prediction block of the current block by performing a weighted average of the prediction blocks of each region using a blending matrix.
  • a method and device for improving video encoding/decoding efficiency can be provided.
  • FIG. 1 is an example block diagram of a video encoding device that can implement the techniques of the present disclosure.
  • Figure 2 is a diagram to explain a method of dividing a block using the QTBTTT structure.
  • 3A and 3B are diagrams showing a plurality of intra prediction modes including wide-angle intra prediction modes.
  • Figure 4 is an example diagram of neighboring blocks of the current block.
  • Figure 5 is an example block diagram of a video decoding device that can implement the techniques of the present disclosure.
  • FIG. 6 is a diagram illustrating a method of applying a geometric partition mode to a 32x32 block according to an embodiment of the present disclosure.
  • FIG. 7A and 7B are diagrams for explaining angle parameters and distance parameters in geometric division mode, according to an embodiment of the present disclosure.
  • Figure 8 is a diagram for explaining a lookup table of division direction information in geometric division mode, according to an embodiment of the present disclosure.
  • FIG. 9 is a diagram illustrating a geometric division boundary and two sub-areas within a current block in a geometric division mode, according to an embodiment of the present disclosure.
  • FIG. 10 is a flowchart illustrating a process for generating a prediction block of a current block using a geometric partition mode according to an embodiment of the present disclosure.
  • FIG. 11 is a diagram for explaining a current block and template blocks surrounding the current block, according to an embodiment of the present disclosure.
  • Figure 12 is a diagram for explaining a method of performing template matching according to an embodiment of the present disclosure.
  • Figure 13 is a diagram for explaining a method of determining division direction information by performing template matching, according to an embodiment of the present disclosure.
  • Figure 14 is a flowchart for explaining a video decoding process according to an embodiment of the present disclosure.
  • Figure 15 is a flowchart for explaining a video encoding process according to an embodiment of the present disclosure.
  • FIG. 1 is an example block diagram of a video encoding device that can implement the techniques of the present disclosure.
  • the video encoding device and its sub-configurations will be described with reference to the illustration in FIG. 1.
  • the image encoding device includes a picture division unit 110, a prediction unit 120, a subtractor 130, a transform unit 140, a quantization unit 145, a rearrangement unit 150, an entropy encoding unit 155, and an inverse quantization unit. It may be configured to include (160), an inverse transform unit (165), an adder (170), a loop filter unit (180), and a memory (190).
  • Each component of the video encoding device may be implemented as hardware or software, or may be implemented as a combination of hardware and software. Additionally, the function of each component may be implemented as software and a microprocessor may be implemented to execute the function of the software corresponding to each component.
  • One image consists of one or more sequences including a plurality of pictures. Each picture is divided into a plurality of regions and encoding is performed for each region. For example, one picture is divided into one or more tiles and/or slices. Here, one or more tiles can be defined as a tile group. Each tile or/slice is divided into one or more Coding Tree Units (CTUs). And each CTU is divided into one or more CUs (Coding Units) by a tree structure. Information applied to each CU is encoded as the syntax of the CU, and information commonly applied to CUs included in one CTU is encoded as the syntax of the CTU.
  • CTUs Coding Tree Units
  • information commonly applied to all blocks within one slice is encoded as the syntax of the slice header, and information applied to all blocks constituting one or more pictures is a picture parameter set (PPS) or picture parameter set. Encoded in the header. Furthermore, information commonly referenced by multiple pictures is encoded in a sequence parameter set (SPS). And, information commonly referenced by one or more SPSs is encoded in a video parameter set (VPS). Additionally, information commonly applied to one tile or tile group may be encoded as the syntax of a tile or tile group header. Syntax included in the SPS, PPS, slice header, tile, or tile group header may be referred to as high level syntax.
  • the picture division unit 110 determines the size of the CTU.
  • Information about the size of the CTU (CTU size) is encoded as SPS or PPS syntax and transmitted to the video decoding device.
  • the picture division unit 110 divides each picture constituting the image into a plurality of CTUs with a predetermined size and then recursively divides the CTUs using a tree structure. .
  • the leaf node in the tree structure becomes the CU, the basic unit of encoding.
  • the tree structure is QuadTree (QT), in which the parent node is divided into four child nodes (or child nodes) of the same size, or BinaryTree, in which the parent node is divided into two child nodes. , BT), or a TernaryTree (TT) in which the parent node is divided into three child nodes in a 1:2:1 ratio, or a structure that mixes two or more of these QT structures, BT structures, and TT structures.
  • QTBT QuadTree plus BinaryTree
  • QTBTTT QuadTree plus BinaryTree TernaryTree
  • BTTT may be combined and referred to as MTT (Multiple-Type Tree).
  • Figure 2 is a diagram to explain a method of dividing a block using the QTBTTT structure.
  • the CTU can first be divided into a QT structure. Quadtree splitting can be repeated until the size of the splitting block reaches the minimum block size (MinQTSize) of the leaf node allowed in QT.
  • the first flag (QT_split_flag) indicating whether each node of the QT structure is split into four nodes of the lower layer is encoded by the entropy encoder 155 and signaled to the image decoding device. If the leaf node of QT is not larger than the maximum block size (MaxBTSize) of the root node allowed in BT, it may be further divided into either the BT structure or the TT structure. In the BT structure and/or TT structure, there may be multiple division directions.
  • a second flag indicates whether the nodes have been split, and if split, an additional flag indicating the splitting direction (vertical or horizontal) and/or the splitting type (Binary). Or, a flag indicating Ternary) is encoded by the entropy encoding unit 155 and signaled to the video decoding device.
  • a CU split flag (split_cu_flag) indicating whether the node is split is encoded. It could be. If the CU split flag (split_cu_flag) value indicates that it is not split, the block of the corresponding node becomes a leaf node in the split tree structure and becomes a CU (coding unit), which is the basic unit of coding. When the CU split flag (split_cu_flag) value indicates splitting, the video encoding device starts encoding from the first flag in the above-described manner.
  • QTBT When QTBT is used as another example of a tree structure, there are two types: a type that horizontally splits the block of the node into two blocks of the same size (i.e., symmetric horizontal splitting) and a type that splits it vertically (i.e., symmetric vertical splitting). Branches may exist.
  • a split flag (split_flag) indicating whether each node of the BT structure is divided into blocks of a lower layer and split type information indicating the type of division are encoded by the entropy encoder 155 and transmitted to the video decoding device.
  • split_flag split flag
  • the asymmetric form may include dividing the block of the corresponding node into two rectangular blocks with a size ratio of 1:3, or may include dividing the block of the corresponding node diagonally.
  • a CU can have various sizes depending on the QTBT or QTBTTT division from the CTU.
  • the block corresponding to the CU i.e., leaf node of QTBTTT
  • the 'current block' the block corresponding to the CU (i.e., leaf node of QTBTTT) to be encoded or decoded
  • the shape of the current block may be rectangular as well as square.
  • the prediction unit 120 predicts the current block and generates a prediction block.
  • the prediction unit 120 includes an intra prediction unit 122 and an inter prediction unit 124.
  • each current block in a picture can be coded predictively.
  • prediction of the current block is performed using intra prediction techniques (using data from the picture containing the current block) or inter prediction techniques (using data from pictures coded before the picture containing the current block). It can be done.
  • Inter prediction includes both one-way prediction and two-way prediction.
  • the intra prediction unit 122 predicts pixels within the current block using pixels (reference pixels) located around the current block within the current picture including the current block.
  • the plurality of intra prediction modes may include two non-directional modes including a planar mode and a DC mode and 65 directional modes.
  • the surrounding pixels and calculation formulas to be used are defined differently for each prediction mode.
  • the directional modes (67 to 80, -1 to -14 intra prediction modes) shown by dotted arrows in FIG. 3B can be additionally used. These may be referred to as “wide angle intra-prediction modes”.
  • the arrows point to corresponding reference samples used for prediction and do not indicate the direction of prediction. The predicted direction is opposite to the direction indicated by the arrow.
  • Wide-angle intra prediction modes are modes that perform prediction in the opposite direction of a specific directional mode without transmitting additional bits when the current block is rectangular. At this time, among the wide-angle intra prediction modes, some wide-angle intra prediction modes available for the current block may be determined according to the ratio of the width and height of the rectangular current block.
  • intra prediction modes 67 to 80 are available when the current block is in the form of a rectangle whose height is smaller than its width
  • wide-angle intra prediction modes with angles larger than -135 degrees are available.
  • Intra prediction modes (-1 to -14 intra prediction modes) are available when the current block has a rectangular shape with a width greater than the height.
  • the intra prediction unit 122 can determine the intra prediction mode to be used to encode the current block.
  • intra prediction unit 122 may encode the current block using multiple intra prediction modes and select an appropriate intra prediction mode to use from the tested modes. For example, the intra prediction unit 122 calculates rate-distortion values using rate-distortion analysis for several tested intra-prediction modes and has the best rate-distortion characteristics among the tested modes. You can also select intra prediction mode.
  • the intra prediction unit 122 selects one intra prediction mode from a plurality of intra prediction modes and predicts the current block using surrounding pixels (reference pixels) and an operation formula determined according to the selected intra prediction mode.
  • Information about the selected intra prediction mode is encoded by the entropy encoding unit 155 and transmitted to the video decoding device.
  • the inter prediction unit 124 generates a prediction block for the current block using a motion compensation process.
  • the inter prediction unit 124 searches for a block most similar to the current block in a reference picture that has been encoded and decoded before the current picture, and generates a prediction block for the current block using the searched block. Then, a motion vector (MV) corresponding to the displacement between the current block in the current picture and the prediction block in the reference picture is generated.
  • MV motion vector
  • motion estimation is performed on the luma component, and a motion vector calculated based on the luma component is used for both the luma component and the chroma component.
  • Motion information including information about reference pictures and motion vectors used to predict the current block is encoded by the entropy encoding unit 155 and transmitted to the video decoding device.
  • the inter prediction unit 124 may perform interpolation on a reference picture or reference block to increase prediction accuracy. That is, subsamples between two consecutive integer samples are interpolated by applying filter coefficients to a plurality of consecutive integer samples including the two integer samples. If the process of searching for the block most similar to the current block is performed for the interpolated reference picture, the motion vector can be expressed with precision in decimal units rather than precision in integer samples.
  • the precision or resolution of the motion vector may be set differently for each target area to be encoded, for example, slice, tile, CTU, CU, etc.
  • AMVR adaptive motion vector resolution
  • information about the motion vector resolution to be applied to each target area must be signaled for each target area. For example, if the target area is a CU, information about the motion vector resolution applied to each CU is signaled.
  • Information about motion vector resolution may be information indicating the precision of a differential motion vector, which will be described later.
  • the inter prediction unit 124 may perform inter prediction using bi-prediction.
  • bidirectional prediction two reference pictures and two motion vectors indicating the position of the block most similar to the current block within each reference picture are used.
  • the inter prediction unit 124 selects the first reference picture and the second reference picture from reference picture list 0 (RefPicList0) and reference picture list 1 (RefPicList1), respectively, and searches for a block similar to the current block within each reference picture. Create a first reference block and a second reference block. Then, the first reference block and the second reference block are averaged or weighted to generate a prediction block for the current block.
  • reference picture list 0 may be composed of pictures before the current picture in display order among the restored pictures
  • reference picture list 1 may be composed of pictures after the current picture in display order among the restored pictures.
  • relief pictures after the current picture may be additionally included in reference picture list 0, and conversely, relief pictures before the current picture may be additionally included in reference picture list 1. may be included.
  • the motion information of the current block can be transmitted to the video decoding device by encoding information that can identify the neighboring block. This method is called ‘merge mode’.
  • the inter prediction unit 124 selects a predetermined number of merge candidate blocks (hereinafter referred to as 'merge candidates') from neighboring blocks of the current block.
  • the surrounding blocks for deriving merge candidates include the left block (A0), bottom left block (A1), top block (B0), and top right block (B1) adjacent to the current block in the current picture. ), and all or part of the upper left block (B2) can be used.
  • a block located within a reference picture (which may be the same or different from the reference picture used to predict the current block) rather than the current picture where the current block is located may be used as a merge candidate.
  • a block co-located with the current block within the reference picture or blocks adjacent to the co-located block may be additionally used as merge candidates. If the number of merge candidates selected by the method described above is less than the preset number, the 0 vector is added to the merge candidates.
  • the inter prediction unit 124 uses these neighboring blocks to construct a merge list including a predetermined number of merge candidates.
  • a merge candidate to be used as motion information of the current block is selected from among the merge candidates included in the merge list, and merge index information to identify the selected candidate is generated.
  • the generated merge index information is encoded by the entropy encoding unit 155 and transmitted to the video decoding device.
  • Merge skip mode is a special case of merge mode. After performing quantization, when all transformation coefficients for entropy encoding are close to zero, only peripheral block selection information is transmitted without transmitting residual signals. By using merge skip mode, relatively high coding efficiency can be achieved in low-motion images, still images, screen content images, etc.
  • merge mode and merge skip mode are collectively referred to as merge/skip mode.
  • AMVP Advanced Motion Vector Prediction
  • the inter prediction unit 124 uses neighboring blocks of the current block to derive predicted motion vector candidates for the motion vector of the current block.
  • the surrounding blocks used to derive predicted motion vector candidates include the left block (A0), bottom left block (A1), top block (B0), and top right block adjacent to the current block in the current picture shown in FIG. B1), and all or part of the upper left block (B2) can be used.
  • a block located within a reference picture (which may be the same or different from the reference picture used to predict the current block) rather than the current picture where the current block is located will be used as a surrounding block used to derive prediction motion vector candidates. It may be possible.
  • a block co-located with the current block within the reference picture or blocks adjacent to the co-located block may be used. If the number of motion vector candidates is less than the preset number by the method described above, the 0 vector is added to the motion vector candidates.
  • the inter prediction unit 124 derives predicted motion vector candidates using the motion vectors of the neighboring blocks, and determines a predicted motion vector for the motion vector of the current block using the predicted motion vector candidates. Then, the predicted motion vector is subtracted from the motion vector of the current block to calculate the differential motion vector.
  • the predicted motion vector can be obtained by applying a predefined function (eg, median, average value calculation, etc.) to the predicted motion vector candidates.
  • a predefined function eg, median, average value calculation, etc.
  • the video decoding device also knows the predefined function.
  • the neighboring blocks used to derive predicted motion vector candidates are blocks for which encoding and decoding have already been completed, the video decoding device also already knows the motion vectors of the neighboring blocks. Therefore, the video encoding device does not need to encode information to identify the predicted motion vector candidate. Therefore, in this case, information about the differential motion vector and information about the reference picture used to predict the current block are encoded.
  • the predicted motion vector may be determined by selecting one of the predicted motion vector candidates.
  • information for identifying the selected prediction motion vector candidate is additionally encoded, along with information about the differential motion vector and information about the reference picture used to predict the current block.
  • the subtractor 130 generates a residual block by subtracting the prediction block generated by the intra prediction unit 122 or the inter prediction unit 124 from the current block.
  • the converter 140 converts residual signals in a residual block containing pixel values in the spatial domain into transform coefficients in the frequency domain.
  • the conversion unit 140 may convert the residual signals in the residual block by using the entire size of the residual block as a conversion unit, or divide the residual block into a plurality of subblocks and perform conversion by using the subblocks as a conversion unit. You may.
  • the residual signals can be converted by dividing them into two subblocks, a transform area and a non-transformation region, and using only the transform region subblock as a transform unit.
  • the transformation area subblock may be one of two rectangular blocks with a size ratio of 1:1 based on the horizontal axis (or vertical axis).
  • a flag indicating that only the subblock has been converted (cu_sbt_flag), directional (vertical/horizontal) information (cu_sbt_horizontal_flag), and/or position information (cu_sbt_pos_flag) are encoded by the entropy encoding unit 155 and signaled to the video decoding device.
  • the size of the transform area subblock may have a size ratio of 1:3 based on the horizontal axis (or vertical axis), and in this case, a flag (cu_sbt_quad_flag) that distinguishes the corresponding division is additionally encoded by the entropy encoding unit 155 to encode the image. Signaled to the decryption device.
  • the transformation unit 140 can separately perform transformation on the residual block in the horizontal and vertical directions.
  • various types of transformation functions or transformation matrices can be used.
  • a pair of transformation functions for horizontal transformation and vertical transformation can be defined as MTS (Multiple Transform Set).
  • the conversion unit 140 may select a conversion function pair with the best conversion efficiency among MTSs and convert the residual blocks in the horizontal and vertical directions, respectively.
  • Information (mts_idx) about the transformation function pair selected from the MTS is encoded by the entropy encoder 155 and signaled to the video decoding device.
  • the quantization unit 145 quantizes the transform coefficients output from the transform unit 140 using a quantization parameter and outputs the quantized transform coefficients to the entropy encoding unit 155.
  • the quantization unit 145 may directly quantize a residual block related to a certain block or frame without conversion.
  • the quantization unit 145 may apply different quantization coefficients (scaling values) depending on the positions of the transform coefficients within the transform block.
  • the quantization matrix applied to the quantized transform coefficients arranged in two dimensions may be encoded and signaled to the video decoding device.
  • the rearrangement unit 150 may rearrange coefficient values for the quantized residual values.
  • the rearrangement unit 150 can change a two-dimensional coefficient array into a one-dimensional coefficient sequence using coefficient scanning.
  • the realignment unit 150 can scan from DC coefficients to coefficients in the high frequency region using zig-zag scan or diagonal scan to output a one-dimensional coefficient sequence.
  • a vertical scan that scans a two-dimensional coefficient array in the column direction or a horizontal scan that scans the two-dimensional block-type coefficients in the row direction may be used instead of the zig-zag scan. That is, the scan method to be used among zig-zag scan, diagonal scan, vertical scan, and horizontal scan may be determined depending on the size of the transformation unit and the intra prediction mode.
  • the entropy encoding unit 155 uses various encoding methods such as CABAC (Context-based Adaptive Binary Arithmetic Code) and Exponential Golomb to encode the one-dimensional quantized transform coefficients output from the reordering unit 150.
  • CABAC Context-based Adaptive Binary Arithmetic Code
  • Exponential Golomb Exponential Golomb to encode the one-dimensional quantized transform coefficients output from the reordering unit 150.
  • a bitstream is created by encoding the sequence.
  • the entropy encoder 155 encodes information such as CTU size, CU split flag, QT split flag, MTT split type, and MTT split direction related to block splitting, so that the video decoding device can encode blocks in the same way as the video coding device. Allow it to be divided.
  • the entropy encoding unit 155 encodes information about the prediction type indicating whether the current block is encoded by intra prediction or inter prediction, and generates intra prediction information (i.e., intra prediction) according to the prediction type.
  • Information about the mode) or inter prediction information coding mode of motion information (merge mode or AMVP mode), merge index in case of merge mode, information on reference picture index and differential motion vector in case of AMVP mode
  • the entropy encoding unit 155 encodes information related to quantization, that is, information about quantization parameters and information about the quantization matrix.
  • the inverse quantization unit 160 inversely quantizes the quantized transform coefficients output from the quantization unit 145 to generate transform coefficients.
  • the inverse transform unit 165 restores the residual block by converting the transform coefficients output from the inverse quantization unit 160 from the frequency domain to the spatial domain.
  • the adder 170 restores the current block by adding the restored residual block and the prediction block generated by the prediction unit 120. Pixels in the restored current block are used as reference pixels when intra-predicting the next block.
  • the loop filter unit 180 restores pixels to reduce blocking artifacts, ringing artifacts, blurring artifacts, etc. that occur due to block-based prediction and transformation/quantization. Perform filtering on them.
  • the loop filter unit 180 is an in-loop filter and may include all or part of a deblocking filter 182, a Sample Adaptive Offset (SAO) filter 184, and an Adaptive Loop Filter (ALF) 186. there is.
  • the deblocking filter 182 filters the boundaries between restored blocks to remove blocking artifacts caused by block-level encoding/decoding, and the SAO filter 184 and ALF 186 perform deblocking filtering. Additional filtering is performed on the image.
  • the SAO filter 184 and the ALF 186 are filters used to compensate for differences between restored pixels and original pixels caused by lossy coding.
  • the SAO filter 184 improves not only subjective image quality but also coding efficiency by applying an offset in units of CTU.
  • the ALF 186 performs filtering on a block basis, distinguishing the edge and degree of change of the block and applying different filters to compensate for distortion.
  • Information about filter coefficients to be used in ALF may be encoded and signaled to a video decoding device.
  • the restored block filtered through the deblocking filter 182, SAO filter 184, and ALF 186 is stored in the memory 190.
  • the reconstructed picture can be used as a reference picture for inter prediction of blocks in the picture to be encoded later.
  • the video encoding device can store the bitstream of encoded video data in a non-transitory recording medium or transmit it to the video decoding device using a communication network.
  • FIG. 5 is an example block diagram of a video decoding device that can implement the techniques of the present disclosure.
  • the video decoding device and its sub-configurations will be described with reference to FIG. 5.
  • the image decoding device includes an entropy decoding unit 510, a rearrangement unit 515, an inverse quantization unit 520, an inverse transform unit 530, a prediction unit 540, an adder 550, a loop filter unit 560, and a memory ( 570).
  • each component of the video decoding device may be implemented as hardware or software, or may be implemented as a combination of hardware and software. Additionally, the function of each component may be implemented as software and a microprocessor may be implemented to execute the function of the software corresponding to each component.
  • the entropy decoder 510 decodes the bitstream generated by the video encoding device, extracts information related to block division, determines the current block to be decoded, and provides prediction information and residual signals needed to restore the current block. Extract information about
  • the entropy decoder 510 extracts information about the CTU size from a Sequence Parameter Set (SPS) or Picture Parameter Set (PPS), determines the size of the CTU, and divides the picture into CTUs of the determined size. Then, the CTU is determined as the highest layer of the tree structure, that is, the root node, and the CTU is divided using the tree structure by extracting the division information for the CTU.
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • the first flag (QT_split_flag) related to the division of the QT first extracts the first flag (QT_split_flag) related to the division of the QT and split each node into four nodes of the lower layer. And, for the node corresponding to the leaf node of QT, the second flag (mtt_split_flag) and split direction (vertical / horizontal) and/or split type (binary / ternary) information related to the split of MTT are extracted and the leaf node is divided into MTT. Divide by structure. Accordingly, each node below the leaf node of QT is recursively divided into a BT or TT structure.
  • each node may undergo 0 or more repetitive MTT divisions after 0 or more repetitive QT divisions. For example, MTT division may occur immediately in the CTU, or conversely, only multiple QT divisions may occur.
  • the first flag (QT_split_flag) related to the division of the QT is extracted and each node is divided into four nodes of the lower layer. And, for the node corresponding to the leaf node of QT, a split flag (split_flag) indicating whether to further split into BT and split direction information are extracted.
  • the entropy decoding unit 510 determines the current block to be decoded using division of the tree structure, it extracts information about the prediction type indicating whether the current block is intra-predicted or inter-predicted.
  • prediction type information indicates intra prediction
  • the entropy decoder 510 extracts syntax elements for intra prediction information (intra prediction mode) of the current block.
  • prediction type information indicates inter prediction
  • the entropy decoder 510 extracts syntax elements for inter prediction information, that is, information indicating a motion vector and a reference picture to which the motion vector refers.
  • the entropy decoding unit 510 extracts information about quantized transform coefficients of the current block as quantization-related information and information about residual signals.
  • the reordering unit 515 re-organizes the sequence of one-dimensional quantized transform coefficients entropy decoded in the entropy decoding unit 510 into a two-dimensional coefficient array (i.e., in reverse order of the coefficient scanning order performed by the image encoding device). block).
  • the inverse quantization unit 520 inversely quantizes the quantized transform coefficients and inversely quantizes the quantized transform coefficients using a quantization parameter.
  • the inverse quantization unit 520 may apply different quantization coefficients (scaling values) to quantized transform coefficients arranged in two dimensions.
  • the inverse quantization unit 520 may perform inverse quantization by applying a matrix of quantization coefficients (scaling values) from an image encoding device to a two-dimensional array of quantized transform coefficients.
  • the inverse transform unit 530 inversely transforms the inverse quantized transform coefficients from the frequency domain to the spatial domain to restore the residual signals, thereby generating a residual block for the current block.
  • the inverse transformation unit 530 when the inverse transformation unit 530 inversely transforms only a partial area (subblock) of the transformation block, a flag (cu_sbt_flag) indicating that only the subblock of the transformation block has been transformed, and directionality (vertical/horizontal) information of the subblock (cu_sbt_horizontal_flag) ) and/or by extracting the position information (cu_sbt_pos_flag) of the subblock, and inversely transforming the transformation coefficients of the corresponding subblock from the frequency domain to the spatial domain to restore the residual signals, and for the area that has not been inversely transformed, the residual signals are set to “0”. By filling in the values, the final residual block for the current block is created.
  • the inverse transform unit 530 determines a transformation function or transformation matrix to be applied in the horizontal and vertical directions, respectively, using the MTS information (mts_idx) signaled from the video encoding device, and uses the determined transformation function. Inverse transformation is performed on the transformation coefficients in the transformation block in the horizontal and vertical directions.
  • the prediction unit 540 may include an intra prediction unit 542 and an inter prediction unit 544.
  • the intra prediction unit 542 is activated when the prediction type of the current block is intra prediction
  • the inter prediction unit 544 is activated when the prediction type of the current block is inter prediction.
  • the intra prediction unit 542 determines the intra prediction mode of the current block among a plurality of intra prediction modes from the syntax elements for the intra prediction mode extracted from the entropy decoder 510, and provides a reference around the current block according to the intra prediction mode. Predict the current block using pixels.
  • the inter prediction unit 544 uses the syntax elements for the inter prediction mode extracted from the entropy decoder 510 to determine the motion vector of the current block and the reference picture to which the motion vector refers, and uses the motion vector and the reference picture to determine the motion vector of the current block. Use this to predict the current block.
  • the adder 550 restores the current block by adding the residual block output from the inverse transform unit 530 and the prediction block output from the inter prediction unit 544 or intra prediction unit 542. Pixels in the restored current block are used as reference pixels when intra-predicting a block to be decoded later.
  • the loop filter unit 560 may include a deblocking filter 562, a SAO filter 564, and an ALF 566 as an in-loop filter.
  • the deblocking filter 562 performs deblocking filtering on the boundaries between restored blocks to remove blocking artifacts that occur due to block-level decoding.
  • the SAO filter 564 and the ALF 566 perform additional filtering on the reconstructed block after deblocking filtering to compensate for the difference between the reconstructed pixels and the original pixels caused by lossy coding. do.
  • the filter coefficient of ALF is determined using information about the filter coefficient decoded from the non-stream.
  • the restored block filtered through the deblocking filter 562, SAO filter 564, and ALF 566 is stored in the memory 570.
  • the reconstructed picture is later used as a reference picture for inter prediction of blocks in the picture to be encoded.
  • the following embodiments may be performed by the intra prediction unit 122, the transform unit 140, and the inverse transform unit 165 within the video encoding device. Additionally, it may be performed by the inverse transform unit 530 and the intra prediction unit 542 within the video decoding device.
  • FIG. 6 is a diagram illustrating a method of applying a geometric partition mode to a 32x32 block according to an embodiment of the present disclosure.
  • one coding unit is divided into two areas by a straight division boundary.
  • the two divided areas perform inter prediction using different motion information.
  • Inter prediction blocks are generated for each of the two divided areas.
  • a prediction block in the final geometric partition mode is generated by weighting the two generated inter prediction blocks.
  • the geometric division mode uses angle parameters and distance parameters to set a division boundary area defined by a straight line.
  • the 32x32 block is divided into two areas. Inter prediction can be performed for each of the two divided regions.
  • a 32x32 block can be divided into two regions. Inter prediction can be performed for each of the two divided regions.
  • may be an angle parameter.
  • may be a distance parameter.
  • a straight line dividing the 32x32 block can be set using the angle parameter and the distance parameter.
  • FIG. 7A and 7B are diagrams for explaining angle parameters and distance parameters in geometric division mode, according to an embodiment of the present disclosure.
  • the angle parameter can be defined as a total of 20 quantized angles by symmetrically dividing the 360-degree range within the coding unit.
  • the distance parameter can be defined as four quantized distances. From a total of 80 split directions that can occur through a combination of the angle parameter and the distance parameter, 10 split directions that overlap and 6 split directions that overlap with binary tree division and ternary tree division can be excluded. Accordingly, a total of 64 division directions can be used in geometric division mode.
  • Figure 8 is a diagram for explaining a lookup table of division direction information in geometric division mode, according to an embodiment of the present disclosure.
  • the combination of angle parameters and distance parameters can be expressed as a look-up table.
  • Segmentation direction information may be transmitted for each coding unit.
  • the geometric partition mode can construct a merge candidate list for the geometric partition mode that includes only unidirectional motion information from the general merge candidate list. Accordingly, the encoding of motion information can be simplified and the number of possible combinations can be reduced.
  • the merge index used for each partition area can be transmitted using the merge candidate list for the geometric partition mode.
  • division direction information (e.g., merge_gpm_partition_idx) may be determined according to information about the angle parameter (e.g., angleIdx) and information about the distance parameter (e.g., distanceIdx).
  • merge_gpm_partition_idx according to the combination of angleIdx and distanceIdx can be expressed as a lookup table.
  • the value of merge_gpm_partition_idx can be in the range of 0 to 63.
  • merge_gpm_partition_idx can be transmitted for each coding unit.
  • FIG. 9 is a diagram illustrating a geometric division boundary and two sub-areas within a current block in a geometric division mode, according to an embodiment of the present disclosure.
  • the video decoding device performs each process, but the video encoding device can also perform each process.
  • the image decoding device divides the current block into subregion 0 and subregion 1 using the geometric segmentation boundary.
  • the video decoding device generates a prediction block in subregion 0 and a prediction block in subregion 1.
  • the video decoding device generates the final prediction block of the current block using the prediction block in subarea 0 and the prediction block in subarea 1.
  • FIG. 10 is a flowchart illustrating a process for generating a prediction block of a current block using a geometric partition mode according to an embodiment of the present disclosure.
  • information e.g., Derive_GPM_flag
  • Derive_GPM_flag is the first value (e.g., 0)
  • the image decoding device can perform a general geometric segmentation mode.
  • Derive_GPM_flag is the second value (e.g., 1)
  • the image decoding device can perform derivation-based geometric segmentation mode.
  • the induction-based geometric segmentation mode is a mode in which the motion vector of subarea 1 is determined using the motion vector of subarea 0, and the division direction information is determined using the motion vector of subarea 0 and the motion vector of subarea 1.
  • the video decoding device If Derive_GPM_flag is the second value (e.g., 1), the video decoding device generates a candidate list of geometric segmentation modes (S1010).
  • the video decoding device may determine the general merge candidate list as the candidate list for the geometric partition mode.
  • the video decoding device can generate a candidate list for geometric segmentation mode using a general merge candidate list.
  • the general merge candidate lists if the index is an even number, the video decoding device selects the motion information present in the first reference picture list, and if the index is an odd number, it selects motion information present in the second reference picture list to create a candidate list for geometric segmentation mode. can be created.
  • the video decoding device determines motion information of subregion 0 (S1020).
  • the video decoding device can determine the motion information of sub-region 0 using the index (e.g., PM_idx_0) for the parsed motion information of sub-region 0.
  • the video decoding device can use PM_idx_0 to determine motion information of subregion 0 among the candidate list for geometric segmentation mode.
  • the video decoding device determines the motion information of subregion 1 (S1030).
  • the video decoding device can determine the motion information of sub-region 1 using the index (e.g., PM_idx_1) for the parsed motion information of sub-region 1 and the prediction block of sub-region 0.
  • the video decoding device determines division direction information (S1040).
  • the video decoding device can determine division direction information using the motion information of subregion 1 and an index (e.g., GPMmode_idx) for division direction information.
  • the video decoding device determines the blending area (S1050).
  • the image decoding device can determine the blending area using division direction information, an index for the blending area (e.g., BlendingArea_idx), or a prediction block in subarea 0 and a prediction block in subarea 1.
  • the video decoding device generates the final prediction block of the current block by performing a weighted average of the prediction block in subarea 0 and the prediction block in subarea 1 (S1060).
  • the video decoding device can determine the blending matrix using the blending area.
  • the image decoding device can generate the final prediction block of the current block by performing a weighted average of the prediction block in subarea 0 and the prediction block in subarea 1 using a blending matrix.
  • FIG. 11 is a diagram for explaining a current block and template blocks surrounding the current block, according to an embodiment of the present disclosure.
  • template blocks raised and restored around the current block may be at the top, left, and upper left of the current block.
  • Template blocks restored around the current block may be A block, B block, C block, D block, and E block.
  • the positions and sizes of template blocks raised and restored around the current block can be changed based on the size and aspect ratio of the current block.
  • Figure 12 is a diagram for explaining a method of performing template matching according to an embodiment of the present disclosure.
  • the video decoding device can use PM_idx_0 to determine motion information of subregion 0 among the candidate list for geometric partition mode.
  • the motion information of sub-area 0 includes the motion vector MV0 of sub-area 0.
  • the video decoding device can determine the template blocks restored around the current block as A block, B block, C block, D block, and E block.
  • the video decoding device can use the motion vector MV0 to determine template blocks around the reference block in the reference picture into A' block, B' block, C' block, D' block, and E' block.
  • the video decoding device performs template matching using A block, B block, C block, D block, and E block, and A' block, B' block, C' block, D' block, and E' block, and uses the motion vector of subregion 1. can be decided.
  • the video decoding device can perform template matching in the following order: A block, B block, C block, D block, and E block.
  • the order of template matching is not limited to this and may be changed.
  • Template matching can be about finding a block where the error value of the loss function is minimized.
  • the loss function may be MSE (Mean Squared Error) or SATD (Sum of Absolute Differences).
  • the video decoding device determines the error value of the loss function between the A block and the A' block, the error value of the loss function between the B block and the B' block, the error value of the loss function between the C block and the C' block, and the error value of the loss function between the D block and the D block.
  • the error value of the loss function between 'blocks and the error value of the loss function between E block and E' block can be calculated.
  • the video decoding device can select n blocks with the smallest loss function error value among A blocks, B blocks, C blocks, D blocks, and E blocks.
  • n may be any predefined number.
  • n can be determined based on the number of template blocks.
  • the video decoding device can determine the motion vector of subregion 1 using template blocks other than the selected n blocks.
  • an image decoding apparatus may perform template matching by selecting template blocks with an error value smaller than a predefined threshold.
  • the video decoding device determines the motion vector of sub-region 1 using template blocks other than the matched template block and motion vectors excluding MV0, which is the motion vector of sub-region 0, among the motion vectors included in the candidate list of the geometric division mode. You can.
  • a block, B block, C block, D block, and E block are blocks selected using template matching, and three motion vectors are included in the candidate list of geometric division mode.
  • the video decoding device can determine the motion vector of sub-region 1 using two motion vectors excluding MV0 among the motion vectors included in the candidate list of the C block, E block, and geometric partition mode.
  • the video decoding device can determine reference block 1 in reference picture 1 using the motion vector MV'.
  • the video decoding device may determine the C'' block and the E'' block among the template blocks surrounding reference block 1 as template blocks corresponding to the C block and the E block.
  • the video decoding device can determine reference block 2 in reference picture 2 using the motion vector MV''.
  • the video decoding device may determine the C''' block and the E''' block among the template blocks surrounding reference block 2 as template blocks corresponding to the C block and the E block.
  • the video decoding device uses K1, which is the sum of the error value of the loss function between the C block and the C'' block and the error value of the loss function between the E block and the E'' block, and the loss function between the C block and the C''' block.
  • K1 which is the sum of the error value of and the error value of the loss function between the E block and the E'' block, can be calculated. If K1 is smaller than K2, the video decoding device can determine the motion vector MV' as the motion vector of subregion 1. If K2 is smaller than K1, the video decoding device can determine the motion vector MV'' as the motion vector of subregion 1.
  • the video decoding device uses template blocks other than the matched template block, motion vectors other than MV0, which is the motion vector of subregion 0, among the motion vectors included in the candidate list of the geometric division mode, and the parsed PM_idx_1 to generate subregion 1.
  • the motion vector of can be determined. If the number of motion vectors included in the candidate list of the geometric partition mode is m, PM_idx_1 may be an integer value smaller than m.
  • a block, B block, C block, D block, and E block are blocks selected using template matching, and three motion vectors are included in the candidate list of geometric division mode.
  • the video decoding device can determine the motion vector of subregion 1 using two motion vectors excluding MV0 and the parsed PM_idx_1 among the motion vectors included in the candidate list of the C block, E block, and geometric partition mode. there is.
  • the video decoding device can determine reference block 1 in reference picture 1 using the motion vector MV'.
  • the video decoding device may determine the C'' block and the E'' block among the template blocks surrounding reference block 1 as template blocks corresponding to the C block and the E block.
  • the video decoding device can determine reference block 2 in reference picture 2 using the motion vector MV''.
  • the video decoding device may determine the C''' block and the E'' block among the template blocks surrounding reference block 2 as template blocks corresponding to the C block and the E block.
  • the video decoding device uses K1, which is the sum of the error value of the loss function between the C block and the C'' block and the error value of the loss function between the E block and the E'' block, and the loss function between the C block and the C''' block.
  • K2 which is the sum of the error value of and the error value of the loss function between the E block and the E''' block, can be calculated. If K1 is smaller than K2, the video decoding device can sort the motion vector candidates in the order of MV' and MV''. The video decoding device can determine the motion vector of subregion 1 among the sorted motion vector candidates using the parsed PM_idx_1.
  • the video decoding device can sort the motion vector candidates in the order of MV'' and MV'.
  • the video decoding device can determine the motion vector of subregion 1 among the sorted motion vector candidates using the parsed PM_idx_1.
  • Figure 13 is a diagram for explaining a method of determining division direction information by performing template matching, according to an embodiment of the present disclosure.
  • the video decoding device can determine the template blocks that have been restored or restored around the current block as A block, B block, C block, D block, and E block.
  • the video decoding device can use the motion vector MV0 of subregion 0 to determine template blocks around the reference block in the reference picture L0 into A' block, B' block, C' block, D' block, and E' block.
  • the video decoding device uses the C block and E block to determine split direction candidates for the current block among 64 split direction information.
  • the image decoding device determines splitting direction candidates using geometric split boundaries that pass between the B block and the C block and between the D block and the E block. For example, if there are three geometric division boundaries among the 64 geometric division boundaries that pass between the B block and the C block and between the D block and the E block, the image decoding device uses 3 of the 64 division direction information. Candidates for the direction of division can be determined.
  • the video decoding device determines the division direction information of the current block among the division direction candidates by using the weighted sum signal of the template blocks in the reference picture.
  • P G (i, j) which is a weighted sum signal of template blocks for splitting direction candidates, can be expressed as Equation 1.
  • W B is the geometric matrix for the splitting direction candidates.
  • W B The range of the value of each coefficient may be an integer value between 0 and 2 k .
  • k is an integer.
  • k may be any predefined positive integer value.
  • a predefined W B can be applied to each split direction candidate.
  • P 0 may be a signal for an area including B' block, F' block, C' block, D' block, G' block, and E' block, which are template blocks of the reference block in the reference picture L0.
  • B' block, F' block, C' block, D' block, G' block and E' block correspond to B block, F block, C block, D block, G block and E block and template block in reference picture L0. admit.
  • P 1 may be a signal for an area containing B'' block, F'' block, C'' block, D'' block, G'' block, and E'' block, which are template blocks of the reference block in the reference picture L1.
  • B'' block, F'' block, C'' block, D'' block, G'' block and E'' block correspond to B block, F block, C block, D block, G block and E block; These are template blocks in reference picture L1.
  • the video decoding device can calculate P G (i,j) for each split direction candidate. For example, if there are three geometric division boundaries among the 64 geometric division boundaries that pass between the B block and the C block and between the D block and the E block, the image decoding device can determine three division direction candidates. there is.
  • the video decoding device can calculate P G (i,j) for each of the three split direction candidates using Equation 1, W B , P 0 and P 1 .
  • the image decoding device includes B block, F block, C block, D block, G block, and E block among the areas containing P G (i,j) for each of the three split direction candidates and the template blocks of the current block.
  • the error value of the loss function between regions can be calculated.
  • the loss function may be MSE or SATD.
  • the image decoding device calculates P G1 (i,j) for direction information 1 and P for direction information 2. You can calculate G2 (i,j) and P G3 (i,j) for direction information 3.
  • the image decoding device calculates the error value E1 of the loss function between P G1 (i,j) and the area including B block, F block, C block, D block, G block, and E block, and P G2 (i, Calculate the error value E2 of the loss function between j) and the area containing B block, F block, C block, D block, G block, and E block, and P G3 (i,j) and B block, F block,
  • the error value E3 of the loss function between the area including the C block, D block, G block, and E block can be calculated. If the value of E1 is the smallest among the calculated error values E1, E2, and E3, the video decoding device may determine the division direction information of the current block as direction information 1.
  • the video decoding device may determine the division direction information of the current block as direction information 2. If the value of E3 is the smallest among the calculated error values E1, E2, and E3, the video decoding device may determine the division direction information of the current block as direction information 3.
  • the video decoding device divides the current block using the area including P G (i,j), B block, F block, C block, D block, G block, and E block for each of the split direction candidates, and the parsed GPMmode_idx.
  • Directional information can be determined.
  • the value of GPMmode_idx may be an integer value smaller than the number of split direction candidates.
  • the image decoding device calculates P G1 (i,j) for direction information 1 and P for direction information 2. You can calculate G2 (i,j) and P G3 (i,j) for direction information 3.
  • the image decoding device calculates the error value E1 of the loss function between P G1 (i,j) and the area including B block, F block, C block, D block, G block, and E block, and P G2 (i, Calculate the error value E2 of the loss function between j) and the area containing B block, F block, C block, D block, G block, and E block, and P G3 (i,j) and B block, F block,
  • the error value E3 of the loss function between the area including the C block, D block, G block, and E block can be calculated.
  • the video decoding device can rearrange the splitting direction candidates in descending order of error values.
  • the video decoding device can rearrange the split direction candidates in the order of direction information 1, direction information 3, and direction information 2.
  • the video decoding device can determine the division direction information of the current block using the parsed GPMmode_idx and the rearranged division direction candidates.
  • the video decoding device generates a prediction block in subarea 0 and a prediction block in subarea 1 using the determined division direction information of the current block, motion information of subarea 0, and motion information of subarea 1.
  • the video decoding device determines the blending area using division direction information, etc.
  • the image decoding device uses the blending region to determine W B f (i,j), which is a blending matrix to be used in the process of weighted averaging the prediction block in subregion 0 and the prediction block in subregion 1.
  • an image decoding device can determine a blending area using the size of the current block and the division direction information of the current block.
  • the blending area may be a predefined area based on the size of the current block and the division direction information of the current block.
  • the video decoding device can determine the blending area using the parsed BlendingArea_idx.
  • an image decoding device can determine a blending area using initial prediction signals around the geometric division boundary of the current block.
  • the video decoding device determines the blending matrix W B f (i,j) using the determined blending area.
  • the blending matrix may be a predefined matrix based on the blending area.
  • the range of the value of each coefficient of W B f (i,j) may be an integer value between 0 and 2 w .
  • w may be determined based on the size of the current block and/or division direction information of the current block.
  • w may be an integer value.
  • the video decoding device generates the final prediction block of the current block using the prediction block in subarea 0, the prediction block in subarea 1, and the blending matrix W B f (i,j).
  • P K (i,j) the final prediction block of the current block, can be expressed as Equation 2.
  • P 0 may be a prediction block predicted using the motion vector of subregion
  • P 1 may be a prediction block predicted using the motion vector of subregion 1.
  • W B f (i,j) is the blending matrix determined from the blending area. w may be any predefined value.
  • the image decoding device may generate the final prediction block of the chroma block by sampling the blending area of the luma block at the corresponding position based on the color format.
  • the image decoding device may generate the final prediction block of the chroma block by sampling the motion information, division direction information, or blending area of the luma block based on the color format.
  • Figure 14 is a flowchart for explaining a video decoding process according to an embodiment of the present disclosure.
  • the video decoding apparatus determines the motion vector of the first area of the current block using the merge candidate list (S1410).
  • the process of determining the motion vector of the first area includes the process of determining the candidate list of the geometric division mode using the index of the merge candidate list and the process of determining the motion vector of the first area using the candidate list of the geometric division mode. Includes.
  • the video decoding apparatus determines the motion vector of the second area of the current block using the motion vector of the first area and the template blocks of the current block (S1420).
  • the process of determining the motion vector of the second area is the process of determining the template blocks of the reference block in the first reference picture using the motion vector of the first area, and the process of determining the template blocks of the reference block in the first reference picture and the process of determining the motion vector of the second area. It includes calculating first error values of the loss function and determining blocks that do not match the template using the first error values.
  • the process of determining the motion vector of the second area is to use motion vectors excluding the motion vector of the first area among the motion vectors included in the candidate list of the geometric division mode to correspond to blocks that are not template-matched in the reference pictures.
  • a process of determining template blocks, a process of calculating second error values of the loss function between blocks that do not match templates and template blocks in reference pictures, and determining a motion vector of the second area using the second error values includes further processes.
  • the video decoding device determines splitting direction candidates using the template blocks of the current block and determines splitting direction information among the splitting direction candidates (S1430).
  • the process of determining division direction information includes determining a third area containing template blocks corresponding to blocks that are not template-matched in the first reference picture and using the motion vector of the second area to determine the template in the second reference picture. It includes a process of determining a fourth area containing template blocks corresponding to unmatched blocks.
  • the process of determining division direction information includes calculating weighted sum signals for division direction candidates by applying the third and fourth regions and geometric matrices to the first equation, including the weighted sum signals and template blocks of the current block. It further includes calculating third error values of the loss function between regions and determining division direction information using the third error values.
  • Geometric matrices may be predefined matrices based on split direction candidates.
  • the video decoding apparatus generates a prediction block of the first area using the motion vector of the first area and generates a prediction block of the second area using the motion vector of the second area (S1440).
  • the video decoding device determines the blending area using the division direction information and determines the blending matrix using the blending area (S1450).
  • the image decoding device generates a prediction block of the current block using the blending matrix and the prediction block of the first area and the prediction block of the second area (S1460).
  • the process of generating a prediction block of the current block includes applying the blending matrix, the prediction block of the first area, and the prediction block of the second area to a second equation to generate the prediction block of the current block.
  • the blending matrix may be a predefined matrix based on the blending area.
  • Figure 15 is a flowchart for explaining a video encoding process according to an embodiment of the present disclosure.
  • the video encoding device determines the motion vector of the first area of the current block using the merge candidate list (S1510).
  • the process of determining the motion vector of the first area includes determining a candidate list for the geometric division mode using the index of the merge candidate list and determining the motion vector of the first area using the candidate list for the geometric division mode. Includes.
  • the video encoding device determines the motion vector of the second area of the current block using the motion vector of the first area and the template blocks of the current block (S1520).
  • the process of determining the motion vector of the second area is the process of determining the template blocks of the reference block in the first reference picture using the motion vector of the first area, and the process of determining the template blocks of the reference block in the first reference picture and the process of determining the motion vector of the second area. It includes calculating first error values of the loss function and determining blocks that do not match the template using the first error values.
  • the process of determining the motion vector of the second area is to use motion vectors excluding the motion vector of the first area among the motion vectors included in the candidate list of the geometric division mode to correspond to blocks that are not template-matched in the reference pictures.
  • a process of determining template blocks, a process of calculating second error values of the loss function between blocks that do not match templates and template blocks in reference pictures, and determining a motion vector of the second area using the second error values includes further processes.
  • the video encoding device determines splitting direction candidates using the template blocks of the current block and determines splitting direction information among the splitting direction candidates (S1530).
  • the process of determining division direction information includes determining a third area containing template blocks corresponding to blocks that are not template-matched in the first reference picture and using the motion vector of the second area to determine the template in the second reference picture. It includes a process of determining a fourth area containing template blocks corresponding to unmatched blocks.
  • the process of determining division direction information includes calculating weighted sum signals for division direction candidates by applying the third and fourth regions and geometric matrices to the first equation, including the weighted sum signals and template blocks of the current block. It further includes calculating third error values of the loss function between regions and determining division direction information using the third error values.
  • Geometric matrices may be predefined matrices based on split direction candidates.
  • the video encoding device generates a prediction block of the first area using the motion vector of the first area and generates a prediction block of the second area using the motion vector of the second area (S1540).
  • the video encoding device determines the blending area using the division direction information and determines the blending matrix using the blending area (S1550).
  • the video encoding device generates a prediction block of the current block using the blending matrix and the prediction block of the first area and the prediction block of the second area (S1560).
  • the process of generating the prediction block of the current block includes applying the blending matrix, the prediction block of the first area, and the prediction block of the second area to a second equation to generate the prediction block of the current block.
  • the blending matrix may be a predefined matrix based on the blending area.
  • Non-transitory recording media include, for example, all types of recording devices that store data in a form readable by a computer system.
  • non-transitory recording media include storage media such as erasable programmable read only memory (EPROM), flash drives, optical drives, magnetic hard drives, and solid state drives (SSD).
  • EPROM erasable programmable read only memory
  • SSD solid state drives

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

La divulgation concerne un procédé et un dispositif de codage/décodage vidéo. Un procédé de décodage vidéo selon la présente divulgation peut comprendre les étapes consistant à : déterminer un vecteur de mouvement d'une première région d'un bloc courant ; déterminer un vecteur de mouvement d'une seconde région du bloc courant ; déterminer des directions de partitionnement candidates par l'utilisation de blocs modèles du bloc courant et déterminer des informations de direction de partitionnement parmi les directions de partitionnement candidates ; générer un bloc de prédiction de la première région et générer un bloc de prédiction de la seconde région ; déterminer une région de mélange par l'utilisation des informations de direction de partitionnement et déterminer une matrice de mélange par l'utilisation de la région de mélange ; et générer un bloc de prédiction du bloc courant par l'utilisation de la matrice de mélange, du bloc de prédiction de la première région et du bloc de prédiction de la seconde région.
PCT/KR2023/019868 2022-12-06 2023-12-05 Procédé et dispositif de codage/décodage vidéo utilisant un mode de partitionnement géométrique WO2024123035A1 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20220168738 2022-12-06
KR10-2022-0168738 2022-12-06
KR1020230172358A KR20240084471A (ko) 2022-12-06 2023-12-01 기하학적 분할모드를 이용한 비디오 부호화/복호화 방법 및 장치
KR10-2023-0172358 2023-12-01

Publications (1)

Publication Number Publication Date
WO2024123035A1 true WO2024123035A1 (fr) 2024-06-13

Family

ID=91379722

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/019868 WO2024123035A1 (fr) 2022-12-06 2023-12-05 Procédé et dispositif de codage/décodage vidéo utilisant un mode de partitionnement géométrique

Country Status (1)

Country Link
WO (1) WO2024123035A1 (fr)

Similar Documents

Publication Publication Date Title
WO2022186616A1 (fr) Procédé et appareil de codage vidéo au moyen d'une dérivation d'un mode de prédiction intra
WO2023038447A1 (fr) Procédé et dispositif de codage/décodage vidéo
WO2024123035A1 (fr) Procédé et dispositif de codage/décodage vidéo utilisant un mode de partitionnement géométrique
WO2023224290A1 (fr) Procédé et appareil de sélection d'échantillon de référence pour dériver un modèle de relation inter-composantes en prédiction intra
WO2024122886A1 (fr) Procédé et dispositif de codage vidéo utilisant une déduction de mode de prédiction intra basée sur un modèle adaptatif
WO2024034886A1 (fr) Procédé et dispositif de codage vidéo au moyen du réagencement de signaux de prédiction dans un mode de copie intra-bloc
WO2024034861A1 (fr) Procédé et dispositif pour un codage vidéo utilisant une prédiction basée sur un modèle
WO2024112126A1 (fr) Procédé et dispositif de codage/décodage vidéo pour prédire et modifier une structure de partition d'une unité d'arbre de codage
WO2023224280A1 (fr) Procédé et dispositif de codage vidéo faisant appel à une prédiction mixte de composantes croisées
WO2023182673A1 (fr) Procédé et dispositif de codage vidéo à l'aide d'une initialisation d'un modèle contextuel
WO2023014164A1 (fr) Dispositif et procédé de codage/décodage vidéo
WO2023219301A1 (fr) Procédé et dispositif de stockage de vecteur de mouvement pour bloc de prédiction intra
WO2022211463A1 (fr) Procédé et dispositif de codage vidéo utilisant une précision de prédiction intra adaptative
WO2023182697A1 (fr) Procédé et appareil de codage vidéo utilisant un mode palette sur la base d'informations de proximité
WO2023132508A1 (fr) Procédé de dérivation intra-mode à base de modèle pour des composants de chrominance
WO2023277602A1 (fr) Dispositif et procédé de codage/décodage vidéo
WO2024034849A1 (fr) Procédé et dispositif de codage vidéo utilisant une prédiction de composante de chrominance basée sur une composante de luminance
WO2024117693A1 (fr) Procédé et dispositif de codage vidéo utilisant de manière adaptative un filtre de compensation de mouvement dans une prédiction basée sur un modèle affine
WO2023277603A1 (fr) Procédé et dispositif de codage/décodage de vidéo
WO2024058430A1 (fr) Procédé et appareil de codage vidéo qui utilisent de manière adaptative une arborescence unique et une arborescence double dans un bloc
WO2024075983A1 (fr) Procédé et dispositif de codage vidéo utilisant une prédiction de correspondance de modèle intra basée sur des blocs multiples
WO2023090613A1 (fr) Procédé et dispositif de codage vidéo utilisant une prédiction intra basée sur une mise en correspondance de modèles
WO2023219279A1 (fr) Procédé et appareil de codage vidéo au moyen d'une prédiction inter/intra qui est basée sur une partition géométrique
WO2022211374A1 (fr) Procédé et appareil de codage vidéo basé sur un mappage
WO2023101525A1 (fr) Procédé et dispositif de codage/décodage vidéo ajustant le nombre de candidats de sélection de transformée multiple dans une sélection de transformée multiple