WO2024136153A1 - 단방향 및 양예측에 적용 가능한 디코더 측 움직임벡터 보정을 위한 방법 및 장치 - Google Patents
단방향 및 양예측에 적용 가능한 디코더 측 움직임벡터 보정을 위한 방법 및 장치 Download PDFInfo
- Publication number
- WO2024136153A1 WO2024136153A1 PCT/KR2023/018550 KR2023018550W WO2024136153A1 WO 2024136153 A1 WO2024136153 A1 WO 2024136153A1 KR 2023018550 W KR2023018550 W KR 2023018550W WO 2024136153 A1 WO2024136153 A1 WO 2024136153A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- motion vector
- subblock
- block
- mode
- current block
- 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/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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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
Definitions
- the present disclosure relates to a video coding method and device using decoder-side motion vector correction applicable to one-way and two-way prediction.
- 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.
- DMVR Decoder-side Motion Vector Refinement
- CU Coding Unit
- BM Bilateral Matching
- the decoder searches the surroundings of the reference block based on the motion vectors of the initial CU, and searches for motion vectors that minimize the degree of distortion of the two reference blocks based on the BM.
- Figure 6 shows existing DMVR technology.
- mvL0 and mvL1 represent motion vectors in the L0 and L1 directions in CU units, respectively, derived according to the regular merge/skip mode.
- mvL0' and mvL1' represent a subblock-unit motion vector obtained by correcting mvL0 by MVdiff and a subblock-unit motion vector obtained by correcting mvL1 by -MVdiff, respectively.
- BM-based motion vector correction uses the two motion vectors mvL0 and mvL1 symmetrically to create final movements of mvL0' and mvL1' that minimize the distortion between the prediction signal obtained from the L0 reference picture and the prediction signal obtained from the L1 reference picture. Guided by vectors. That is, mvL0' and mvL1', which minimize distortion between the block indicated by mvL0' in the L0 reference picture and the block indicated by mvL1' in the L1 reference picture, are determined as the final motion vectors.
- the distortion between two blocks is based on a cost function such as MSE (Mean Square Error), SSE (Sum of Square Error), SAD (Sum of Absolute Difference), SATD (Sum of Absolute Transform Difference), etc. can be calculated.
- MSE Mean Square Error
- SSE Sum of Square Error
- SAD Sum of Absolute Difference
- SATD Sum of Absolute Transform Difference
- the conventional DMVR technology described above can be applied when the current picture is temporally located at the exact center of two reference pictures.
- the conventional DMVR technology cannot correct the motion vector. I can't. Therefore, in order to improve video coding efficiency and video quality, it is necessary to consider ways to further expand the utility of DMVR technology.
- the present disclosure provides an intra predictor or two motions generated by intra prediction of the current block in unidirectional prediction using one reference picture or bi-prediction in which the current picture is not temporally located in the exact center of the two reference pictures.
- the purpose is to provide a video coding method and device that corrects motion vectors at the decoder using the ratio of vector sizes.
- a method of restoring a current block performed by an image decoding apparatus includes generating an intra prediction block of the current block using an intra prediction mode; Decoding motion information of the current block from a bitstream according to an inter prediction method, wherein the motion information is a unidirectional motion vector or a positive motion vector, and the positive motion vectors are a first motion vector and a second motion vector. Including; Splitting the current block into subblocks; and checking the motion information, wherein when the motion information is the unidirectional motion vector, searching for a subblock in the search range that has the minimum difference from a subblock that intra predicted each subblock of the current block. Step, wherein the search range exists within a reference picture including a reference block indicated by the unidirectional motion vector; and correcting the unidirectional motion vector for each subblock with a motion vector indicating the subblock with the minimum difference.
- a method of encoding a current block performed by an image encoding apparatus includes: generating an intra prediction block of the current block using an intra prediction mode; Determining motion information of the current block according to an inter prediction method, where the motion information is a unidirectional motion vector or a bi-predictive motion vector, and the bi-predictive motion vectors include a first motion vector and a second motion vector. ; Splitting the current block into subblocks; and checking the motion information, wherein when the motion information is the unidirectional motion vector, searching for a subblock in the search range that has the minimum difference from a subblock that intra predicted each subblock of the current block. Step, wherein the search range exists within a reference picture including a reference block indicated by the unidirectional motion vector; and correcting the unidirectional motion vector for each subblock with a motion vector indicating the subblock with the minimum difference.
- a computer-readable recording medium stores a bitstream generated by an image encoding method, the image encoding method comprising: generating an intra prediction block of the current block using an intra prediction mode. ; determining motion information of the current block according to an inter prediction method, where the motion information is a unidirectional motion vector or a bi-prediction motion vector; Splitting the current block into subblocks; and checking the motion information, wherein when the motion information is the unidirectional motion vector, searching for a subblock in the search range that has the minimum difference from a subblock that intra predicted each subblock of the current block. Step, wherein the search range exists within a reference picture including a reference block indicated by the unidirectional motion vector; and correcting the unidirectional motion vector for each subblock with a motion vector indicating the subblock with the minimum difference.
- the current block is generated by intra-prediction in uni-prediction using one reference picture or bi-prediction in which the current picture is not temporally located in the exact center of the two reference pictures.
- FIG. 1 is an exemplary 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 (QuadTree plus BinaryTree TernaryTree) 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.
- Figure 6 is an example diagram showing DMVR (Decoder-side Motion Vector Refinement) technology.
- Figure 7 is a flowchart showing the operation of DMVR technology.
- Figures 8A to 8C are illustrations showing cases where conventional DMVR technology cannot be applied.
- FIG. 9 is an exemplary diagram illustrating correction of a unidirectional predicted motion vector according to an embodiment of the present disclosure.
- FIGS. 10A and 10B are exemplary diagrams illustrating correction of a unidirectional predicted motion vector according to Geometric Partitioning Mode (GPM) according to an embodiment of the present disclosure.
- GPS Geometric Partitioning Mode
- FIG. 11 is an example diagram illustrating correction of a unidirectionally predicted motion vector for each subblock, according to an embodiment of the present disclosure.
- FIG. 12 is an exemplary diagram illustrating correction of a bidirectional predicted motion vector according to an embodiment of the present disclosure.
- Figure 13 is an example diagram showing correction of a bidirectional predicted motion vector according to another embodiment of the present disclosure.
- Figure 14 is an example diagram showing correction of a bidirectional predicted motion vector according to another embodiment of the present disclosure.
- Figure 15 is a flowchart showing a method for encoding a current block by an image encoding device according to an embodiment of the present disclosure.
- FIG. 16 is a flowchart showing a method by which an image decoding device restores a current block, according to an embodiment of the present disclosure.
- FIG. 1 is an exemplary 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. All or part of B1), and the upper left block (B2) can be used. Additionally, 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.
- each node may undergo zero or more repetitive MTT splits after zero or more repetitive QT splits. 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 reorganizes 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 the 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 the 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 it 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 restoration 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.
- This embodiment relates to encoding and decoding of images (videos) as described above. More specifically, in unidirectional prediction using one reference picture or bi-prediction in which the current picture is not temporally located in the exact center of the two reference pictures, an intra predictor or two motions generated by intra prediction of the current block Provided is a video coding method and device for correcting motion vectors at the decoder using the ratio of vector sizes.
- the following embodiments may be performed by the prediction unit 120 in a video encoding apparatus. Additionally, it may be performed by the prediction unit 540 in a video decoding apparatus.
- the video encoding device may generate signaling information related to this embodiment in terms of rate distortion optimization when encoding the current block.
- the video encoding device can encode signaling information using the entropy encoding unit 155 and then transmit it to the video decoding device.
- the video decoding device can decode signaling information related to decoding the current block from the bitstream using the entropy decoding unit 510.
- 'target block' may be used with the same meaning as a current block or a coding unit (CU), or may mean a partial area of a coding unit.
- the fact that the value of one flag is true indicates that the flag is set to 1. Additionally, the value of one flag being false indicates a case where the flag is set to 0.
- bi-prediction and bi-directional prediction are used interchangeably.
- intra predictors and intra prediction blocks are used interchangeably.
- pictures and frames can be used interchangeably.
- the current picture and current frame can be used interchangeably.
- reference pictures and reference frames can be used interchangeably.
- DMVR Motion Vector Search
- BM Bi-lateral Matching
- Figure 7 is a flowchart showing the operation of DMVR technology.
- the video decoding apparatus calculates the initial distortion between the two subblocks indicated by mvL0 and mvL1, respectively, as shown in the example of FIG. 6 (S700).
- the video decoding device compares the initial distortion with a preset threshold (S702).
- the video decoding device performs the following steps.
- the video decoding device searches for the correction value (i.e., MVdiff) in integer units within the preset search range [-R, +R] (S704).
- MVdiff is expressed as a motion vector refinement offset, or correction offset.
- the video decoding device calculates mvL0' by correcting mvL0 by MVdiff, and calculates mvL1' by correcting mvL1 by MVdiff in the opposite direction.
- the video decoding device calculates the integer part of MVdiff that minimizes distortion between the two subblocks indicated by mvL0' and mvL1', respectively.
- the video decoding device compares the two components of the searched MVdiff with R (S706).
- the video decoding device searches for the correction of the motion vector in decimal units (S708).
- the image decoding device applies the distortion values between two subblocks corresponding to MVdiff in integer units and the distortion values between blocks corresponding to neighboring positions to the error-surface parametric equation in a preset two-dimensional space. By doing so, the fractional part of MVdiff is calculated.
- the sum of absolute differences (SAD) between two blocks can be used as the distortion value.
- Figures 8A to 8C are illustrations showing cases where conventional DMVR technology cannot be applied.
- the problems of the existing DMVR technology described above can be solved as follows.
- the prediction block of the current block generated according to intra prediction can be used to correct the motion vector.
- the video decoding device obtains intra prediction mode information, generates an intra prediction block of the current block, and then compares the generated intra prediction block with a reference block in the reference picture to generate a motion vector. It can be corrected.
- the video decoding device may perform intra prediction of the current block using a predetermined intra prediction mode or an intra prediction mode transmitted from the video encoding device.
- the video decoding device can selectively apply a method using a predetermined intra prediction mode or a method using a transmitted intra prediction mode.
- the video decoding device can correct the motion vectors by appropriately scaling the correction offset using the ratio of the sizes of the L0 and L1 direction motion vectors.
- the video decoding device determines whether to use the intra predictor of the current CU or the ratio of the size of the motion vectors in the L0 and L1 directions based on the flag values transmitted from the video encoding device. You can decide whether When using the size of the motion vectors in the L0 and L1 directions, the video decoding device can correct the positive prediction motion vectors by setting the correction values of the motion vectors differently depending on the ratio of the sizes of the two motion vectors.
- Example 1 a method for correcting a unidirectionally predicted motion vector (Implementation Example 1) and a method for correcting bi-predicted motion vectors (Implementation Example 2) will be described in detail.
- the video decoding device can generate motion information related to unidirectional motion vectors or bi-prediction motion vectors according to the inter prediction method.
- the video decoding device may decode the above-described motion information from the bitstream according to the inter prediction method.
- the video encoding device can obtain the above-described motion information from a higher level according to the inter prediction method.
- the video encoding device may determine the above-described motion information in terms of rate distortion optimization according to the inter prediction method.
- the video decoding device corrects the motion vector of the CU unit by minimizing the difference between the subblock obtained by dividing the intra prediction block of the current CU and the subblock in the reference picture.
- FIG. 9 is an exemplary diagram illustrating correction of a unidirectional predicted motion vector according to an embodiment of the present disclosure.
- the motion vector mvL0 in CU units is corrected to mvL0', which indicates the subblock Sb minDiff with the minimum difference from the subblock Sb intra .
- Sb intra represents a subblock obtained by dividing the intra prediction block of the current CU
- Sb minDiff represents a subblock in the reference picture.
- implementation and application may be changed depending on the inter prediction mode to which the above-described method is applied (i.e., a mode to which the existing DMVR is not applied).
- the explanation for each case is as follows.
- the video decoding device can correct the unidirectional motion vector in subblock units using the method proposed in this implementation.
- the video decoding device In the case of MMVD mode, the video decoding device generates a motion vector predictor (MVP) using the merge list and obtains the motion vector difference (MVD) transmitted from the video encoding device. At this time, the motion vector difference is expressed using a size index and a direction index.
- the video decoding device can generate the motion vector of the current block by adding MVP and MVD. As described above, since the motion vector generated by adding MVP and MVD must be corrected, the conventional DMVR technology cannot be applied to unidirectional motion vectors. However, since there is a motion vector in CU units in MMVD mode, the video decoding device can correct the unidirectional motion vector in subblock units using the method proposed in this implementation.
- the video decoding device In CIIP mode, the video decoding device generates the final prediction block of the current block by weighting the predictor (P intra ) generated according to Planar mode and the predictor (P inter ) generated according to one-way prediction.
- the predictor In the case of CIIP mode, which performs unidirectional prediction referring to one picture, one motion vector must be corrected, so the conventional DMVR technology that corrects motion vectors according to BM cannot be applied.
- the video decoding device generates intra prediction blocks in planar, vertical, horizontal, or predetermined directional modes. As shown in the example of FIG. 9, the video decoding device can compare the intra prediction block and the reference block in the picture referenced by the current CU to correct the unidirectional motion vector used when generating P inter .
- GPM mode divides the current CU into two partitions that are asymmetrical rather than rectangular, as shown in the example of Figure 10a. Afterwards, each partition performs unidirectional prediction separately by referring to other pictures.
- the current CU is divided into arbitrary-shaped partitions rather than regular-shaped subblocks, and each partition also refers to one picture, so the conventional DMVR technology that corrects motion vectors according to the BM cannot be applied.
- the unidirectional motion vector of each partition can be corrected as follows. As shown in the example of FIG.
- the video decoding device divides the predictor of the current CU generated according to the preset intra prediction mode into partitions (P intra,0 , P intra,1 ) of the same shape as the current CU.
- the video decoding device can correct the motion vectors mvL0 and mvL1 before correction of each partition into mvL0' and mvL1'.
- mvL0' and mvL1' represent motion vectors indicating the partition with the minimum difference from P intra,0 and P intra,1, respectively.
- SbTMVP mode and affine merge mode are modes that perform motion compensation on a subblock basis among inter prediction modes.
- the motion vector is calculated in subblock units, not in CU units.
- the conventional DMVR technology that corrects motion vectors according to BM cannot be applied.
- the unidirectional motion vector can be corrected as follows. As shown in the example of FIG. 11, the video decoding device divides the intra prediction block of the current CU generated according to the preset intra prediction mode into subblocks. The video decoding device can correct the motion vector mvL0 before correction in every subblock unit to mvL0'. In the reference picture of the current CU, mvL0' represents a motion vector indicating the subblock with the minimum difference from each subblock of the intra predictor.
- methods for determining the intra prediction mode can be implemented in various ways as follows.
- Examplementation Example 1-1 Using a predetermined mode as an intra prediction mode
- the video decoding device uses a predetermined mode instead of receiving a signal for the intra prediction mode used to correct the unidirectional predicted motion vector.
- Planar, DC, Horizontal, Vertical, or a certain directional mode may be used as the predetermined mode.
- the video decoding device may generate an intra prediction block of the current CU according to a predetermined intra prediction mode and then use the intra prediction block to correct the unidirectional motion vector.
- the video decoding device can receive signaling from the video encoding device the intra prediction mode value used to correct the unidirectional predicted motion vector.
- the video encoding device may signal the intra prediction mode dmvr_intra_mode at various levels (or levels) such as VPS, SPS, PPS, CTU, CU, etc.
- the syntax for signaling the intra prediction mode in the SPS step is shown in Table 2.
- the video decoding device can determine the prediction mode to be used for motion vector correction by parsing sps_dmvr_intra_mode at the SPS level. According to this method, application of the present embodiment can be collectively determined for lower levels such as CTU and CU using a small amount of bits at the upper level, so compression efficiency can be increased. Similar to the SPS level, at the VPS and PPS levels where and how the syntax signaling the intra prediction mode is parsed can be defined.
- the video decoding device can parse the syntax signaling the intra prediction mode at the CTU stage. As shown in Table 3, when modeType is MODE_TYPE_INTER, the video decoding device can parse ctu_dmvr_intra_mode to determine the prediction mode to be used for motion vector correction.
- the video decoding device can parse general_merge_flag to determine whether to decode the current CU in merge mode or AMVP (Advanced Motion Vector Prediction) mode. If general_merge_flag is 1 (i.e., in merge mode), the video decoding device checks whether the current CU refers to one picture in the syntax of the merge_data step as shown in Table 5. If the current CU refers to one picture, the video decoding device can determine the intra prediction mode by parsing dmvr_intra_mode.
- the video decoding device parses sh_slice_type to determine which type of slice including I, P, or B is the slice containing the current CU. If sh_slice_type is B, the video decoding device parses inter_pred_idc to check which picture the current CU refers to.
- the picture currently referenced by the CU according to the value of inter_pred_idc is expressed as in Table 6.
- the video decoding device can determine the intra prediction mode by parsing the dmvr_intra_mode syntax.
- the video decoding device decodes the intra prediction mode from the bitstream.
- the video encoding device can obtain the intra prediction mode from a higher level.
- the video encoding device may determine the intra prediction mode in terms of rate distortion optimization.
- the video decoding device derives the intra prediction mode value used to correct the unidirectional predicted motion vector using TIMD.
- TIMD technology derives an intra prediction mode from a template surrounding the current block on the decoder side and then uses the derived prediction mode to generate a prediction block of the current block.
- Intra prediction mode is derived using DIMD (Decoder side Intra Mode Derivation)
- the video decoding device derives the intra prediction mode value used to correct the unidirectional predicted motion vector using DIMD.
- the DIMD technology calculates the gradient of each sample with respect to adjacent samples of the current block and then uses the calculated gradients to derive an intra prediction mode for prediction of the current block.
- the video decoding apparatus can selectively use Realization Examples 1-1 to 1-4 to determine the intra prediction mode used for correction of the unidirectional predicted motion vector.
- the video encoding device may signal an index dmvr_intra_mode_idx indicating one of Realization Examples 1-1 to 1-4 at various stages such as VPS, SPS, PPS, CTU, CU, etc.
- the above-described indexes at the SPS, CTU, and CU stages can be expressed as Table 7.
- the video decoding device can determine one of Realization Examples 1-1 to 1-4 as a method for correcting the motion vector by parsing sps_dmvr_intra_mode_idx at the SPS level.
- sps_dmvr_intra_mode_idx When sps_dmvr_intra_mode_idx is 0, the video decoding device sets the intra prediction mode to a predetermined mode as in Realization Example 1-1. If sps_dmvr_intra_mode_idx is 1, the video decoding device additionally parses sps_dmvr_intra_mode and sets the intra prediction mode to the parsed mode.
- the video decoding device When sps_dmvr_intra_mode_idx is 2, the video decoding device derives the intra prediction mode using TIMD as in Realization Example 1-3. When sps_dmvr_intra_mode_idx is 3, the video decoding device derives the intra prediction mode using DIMD as in Realization Example 1-4.
- application of this embodiment can be collectively determined for lower levels such as CTU and CU using a small amount of bits at the upper level, so compression efficiency can be increased.
- the location and manner in which the index indicating one of Realizations 1-1 to 1-4 are parsed can be defined at the VPS and PPS levels.
- the video decoding device can determine one of Realization Examples 1-1 to 1-4 at the CTU level. As shown in Table 9, when modeType is MODE_TYPE_INTER, the video decoding device parses ctu_dmvr_intra_mode_idx. When ctu_dmvr_intra_mode_idx is 0, the video decoding device sets the intra prediction mode to a predetermined mode as in Realization Example 1-1. If ctu_dmvr_intra_mode_idx is 1, the video decoding device additionally parses the syntax ctu_dmvr_intra_mode and sets the intra prediction mode to the parsed mode.
- the video decoding device When ctu_dmvr_intra_mode_idx is 2, the video decoding device derives the intra prediction mode using TIMD as in Realization Example 1-3. When ctu_dmvr_intra_mode_idx is 3, the video decoding device derives the intra prediction mode using DIMD as in Realization Example 1-4.
- the video decoding device can determine one of Realization Examples 1-1 to 1-4 at the CU level. As shown in Table 10, the video decoding device can parse general_merge_flag to determine whether to decode the current CU in merge mode or AMVP mode. If general_merge_flag is 1 (i.e., in merge mode), the video decoding device checks whether the current CU refers to one picture in the syntax of the merge_data step as shown in Table 11. If the current CU refers to one picture, the video decoding device parses dmvr_intra_mode_idx. When dmvr_intra_mode_idx is 0, the video decoding device sets the intra prediction mode to a predetermined mode as in Realization Example 1-1.
- dmvr_intra_mode_idx If dmvr_intra_mode_idx is 1, the video decoding device additionally parses dmvr_intra_mode and sets the intra prediction mode to the parsed mode. When dmvr_intra_mode_idx is 2, the video decoding device derives the intra prediction mode using TIMD as in Realization Example 1-3. When dmvr_intra_mode_idx is 3, the video decoding device derives the intra prediction mode using DIMD as in Realization Example 1-4.
- the video decoding device parses sh_slice_type to determine which type of slice including I, P, or B is the current CU. If sh_slice_type is B, the video decoding device parses inter_pred_idc to check which picture the current CU refers to. If the value of inter_pred_idc of the current CU is not 2, unidirectional prediction is performed for the current CU. Therefore, the video decoding device parses dmvr_intra_mode_idx.
- the video decoding device sets the intra prediction mode to a predetermined mode as in Realization Example 1-1. If dmvr_intra_mode_idx is 1, the video decoding device additionally parses dmvr_intra_mode and sets the intra prediction mode to the parsed mode. When dmvr_intra_mode_idx is 2, the video decoding device derives the intra prediction mode using TIMD as in Realization Example 1-3. When dmvr_intra_mode_idx is 3, the video decoding device derives the intra prediction mode using DIMD as in Realization Example 1-4.
- the video decoding device corrects positive prediction motion vectors using an intra prediction block according to intra prediction.
- the video decoding device appropriately scales the correction offset of the positive prediction motion vectors based on the ratio of the sizes of the two motion vectors.
- the video decoding device selectively uses the two methods described above to correct the positive prediction motion vectors of the current CU.
- the video decoding device uses an intra prediction block to correct the positive prediction motion vectors of the current CU.
- the video decoding device corrects the motion vector mvL0 before correction in CU units to mvL0'.
- mvL0' is a motion vector indicating the subblock Sb minDiff,0 with the minimum difference from the subblock Sb intra into which the intra prediction block was divided.
- mvL1 is also corrected to mvL1' in the same way as mvL0 is corrected.
- the video decoding device can apply the above-described process to all subblocks to correct the motion vector in CU units on a subblock basis.
- the video decoding device when intra-predicting the current CU, can use Planar, DC, Horizontal, Vertical, or a preset directional mode. Additionally, when calculating the difference between two subblocks, various cost functions such as MSE, SSE, SAD, SATD, etc. can be used.
- the video decoding device can infer the intra prediction mode value in the same manner as in Realization Example 1.
- implementation and application may be changed depending on the inter prediction mode to which the above-described method is applied (i.e., a mode to which the existing DMVR is not applied).
- the explanation for each case is as follows.
- the video decoding device can correct the positive prediction motion vectors in subblock units using the method proposed in this implementation.
- the inter predictor is generated according to one-way prediction.
- bi-prediction motion vectors in CU units may exist. Accordingly, the video decoding device can correct the positive prediction motion vectors in subblock units using the method proposed in this implementation.
- the predictor of each partition is generated according to one-way prediction.
- the predictor of each partition is generated according to bi-prediction, bi-prediction motion vectors for each partition unit may exist. Accordingly, the video decoding device can correct the positive prediction motion vectors in subblock units using the method proposed in this implementation.
- positive prediction motion vectors are calculated in subblock units, not in CU units.
- positive prediction motion vectors can be corrected as follows. As shown in the example of FIG. 12, the video decoding device divides the intra predictor of the current block into subblocks. The video decoding device can correct the motion vector mvL0 before correction in every subblock unit to mvL0'. In the reference picture of the current CU, mvL0' represents a motion vector indicating the subblock with the minimum difference from each subblock of the intra predictor. mvL1 can also be corrected to mvL1' in the same way as mvL0 is corrected.
- the video decoding device can correct the motion vectors by scaling the correction offset of the two motion vectors according to the ratio of the sizes of the motion vectors in the L0 and L1 directions.
- the two motion vectors mvL0 and mvL1 are located on a straight line, and the displacement of the object in two different pictures is proportional to the time difference. Therefore, as shown in the examples of FIGS. 13 and 14, the correction size from mvL0 to mvL0' is adjusted by the scaleFactor, and the adjusted size is applied to mvL1 to generate mvL1', so that the video decoding device corrects mvL1 to mvL1'. can do.
- the size of the motion vector can be calculated according to various methods, such as the L1-norm in Equation 1, the L2-norm in Equation 2, etc.
- the method of correcting the motion vector may vary depending on the temporal location between the current picture and the reference picture.
- FIG. 8A a case where two reference pictures are temporally located before or after the current picture will be described.
- two reference pictures are located temporally before the current picture, and mvL0 and mvL02 represent corresponding motion vectors, respectively.
- scaleFactor magMVL02/magMVL0 is defined.
- Sb col,L0 represents a subblock at the same position as the current subblock in the L0 reference picture
- Sb Diff,L0 represents a subblock at a position moved by mvL0 + MVdiff from Sb col,L0
- Sb col,L02 represents a subblock at the same position as the current subblock in the L02 reference picture
- Sb Diff,L02 represents a subblock at a position moved by mvL02 + scaleFactor ⁇ MVdiff from Sb col,L02 .
- the video decoding device searches for MVdiff that minimizes the difference between Sb Diff,L0 and Sb Diff,L02 within a predetermined search range.
- the video decoding device uses the discovered MVdiff to correct the two motion vectors as shown in Equation 3.
- Sb col,L0 represents a subblock at the same position as the current subblock in the L0 reference picture
- Sb Diff,L0 represents a subblock at a position moved by mvL0 + MVdiff from Sb col,L0
- Sb col,L1 represents a subblock at the same position as the current subblock in the L1 reference picture
- Sb Diff,L1 represents a subblock at a position moved by mvL1 - scaleFactor ⁇ MVdiff from Sb col,L1 .
- the video decoding device searches for MVdiff that minimizes the difference between Sb Diff,L0 and Sb Diff,L1 within a predetermined search range.
- the video decoding device uses the discovered MVdiff to correct the two motion vectors as shown in Equation 4.
- implementation and application may be changed depending on the inter prediction mode to which the above-described method is applied (i.e., a mode to which the existing DMVR is not applied).
- the explanation for each case is as follows.
- the video decoding device can correct the positive prediction motion vectors in subblock units using the method proposed in this implementation.
- the inter predictor is generated according to one-way prediction.
- bi-prediction motion vectors in CU units may exist. Accordingly, the video decoding device can correct the positive prediction motion vectors in subblock units using the method proposed in this implementation.
- the predictor of each partition is generated according to one-way prediction.
- the predictor of each partition is generated according to bi-prediction, bi-prediction motion vectors for each partition unit may exist. Accordingly, the video decoding device can correct the positive prediction motion vectors in subblock units using the method proposed in this implementation.
- the video decoding device can correct the positive prediction motion vectors in subblock units using the method proposed in this implementation.
- the video decoding device selectively uses Realization Example 2-1, Realization Example 2-2, or conventional DMVR technology to correct the positive prediction motion vectors.
- the video encoding device may signal flags indicating one of Realization Example 2-1, Realization Example 2-2, and conventional DMVR technology at various stages such as VPS, SPS, PPS, CTU, CU, etc.
- the video decoding device can parse sps_conventional_dmvr_flag at the SPS level and decide on one of the existing DMVR technology or the method of this implementation (Example 2-1 and Example 2-2) as a method for correcting the positive prediction motion vector. If sps_conventional_dmvr_flag is 1, the video decoding device uses existing DMVR technology to correct the motion vector. If sps_conventional_dmvr_flag is 0, the video decoding device additionally parses sps_dmvr_scaling_flag.
- the video decoding device corrects the positive prediction motion vector according to the method of Realization Example 2-1. If sps_dmvr_scaling_flag is 1, the video decoding device corrects the positive prediction motion vector according to the method of Realization Example 2-2.
- application of this embodiment can be collectively determined for lower levels such as CTU and CU using a small amount of bits at the upper level, so compression efficiency can be increased.
- the location and manner in which the aforementioned flags are parsed may be defined at the VPS and PPS levels.
- the video decoding device can determine how to correct the motion vector at the CTU level. As shown in Table 13, when modeType is MODE_TYPE_INTER, the video decoding device parses ctu_conventional_dmvr_flag. If ctu_conventional_dmvr_flag is 1, the video decoding device uses existing DMVR technology to correct the motion vector. If ctu_conventional_dmvr_flag is 0, the video decoding device additionally parses ctu_dmvr_scaling_flag. When ctu_dmvr_scaling_flag is 0, the video decoding device corrects the positive prediction motion vector according to the method of Realization Example 2-1. When ctu_dmvr_scaling_flag is 1, the video decoding device corrects the positive prediction motion vector according to the method of Realization Example 2-2.
- the video decoding device can determine how to correct the motion vector at the CU level. As shown in Table 14, the video decoding device can parse general_merge_flag to determine whether to decode the current CU in merge mode or AMVP mode. When general_merge_flag is 1 (i.e., in merge mode), the video decoding device uses dmvrFlag in the syntax of the merge_data step as shown in Table 15 to check whether the conventional DMVR is applied. If all the conditions in Table 1 are satisfied, dmvrFlag is set to 1, and if any of the conditions in Table 1 are not satisfied, dmvrFlag is set to 0.
- dmvrFlag the video decoding device uses existing DMVR technology to correct the motion vector.
- the video decoding device additionally parses conventional_dmvr_flag. If conventional_dmvr_flag is 1, the video decoding device uses existing DMVR technology to correct the motion vector. If conventional_dmvr_flag is 0, the video decoding device additionally parses dmvr_scaling_flag. When dmvr_scaling_flag is 0, the video decoding device corrects the positive prediction motion vector according to the method of Realization Example 2-1. When dmvr_scaling_flag is 1, the video decoding device corrects the positive prediction motion vector according to the method of Realization Example 2-2.
- the video decoding device parses sh_slice_type to determine which type of slice including I, P, or B is the slice containing the current CU. If sh_slice_type is B, the video decoding device parses inter_pred_idc to check which picture the current CU refers to. If the current CU is included in the B slice and inter_pred_idc is also 2, positive prediction is performed for the current CU. Therefore, the video decoding device parses dmvr_scaling_flag.
- FIGS. 15 and 16 correspond to Realization Example 1 and Realization Example 2-1.
- the L0 direction is used interchangeably with the first direction
- the L1 direction is used interchangeably with the second direction.
- the 'L0 direction' is simply expressed as 'L0'
- the 'L1 direction' is simply expressed as 'L1'.
- ‘in the first direction’ is simply expressed as ‘first’
- ‘in the second direction’ is simply expressed as ‘second’.
- the motion vector in the L0 direction and the L0 motion vector are used interchangeably
- the motion vector in the L1 direction and the L1 motion vector are used interchangeably.
- the motion vector in the first direction is used interchangeably with the first motion vector
- the motion vector in the second direction is used interchangeably with the second motion vector.
- Figure 15 is a flowchart showing a method for encoding a current block by an image encoding device according to an embodiment of the present disclosure.
- the video encoding device generates an intra prediction block of the current block using the intra prediction mode (S1500).
- a video encoding device can use a preset mode as an intra prediction mode. That is, the video encoding device can obtain the intra prediction mode from a higher level.
- the video encoding device can determine the intra prediction mode in terms of rate distortion optimization.
- the video encoding device may encode the determined intra prediction mode and then transmit the encoded intra prediction mode to the video decoding device.
- a video encoding device can derive an intra prediction mode using TIMD technology.
- the image encoding device can derive the intra prediction mode using DIMD technology.
- the video encoding device determines the motion information of the current block according to the inter prediction method (S1502).
- the motion information is a unidirectional motion vector or a positive motion vector
- the positive motion vectors include a first motion vector and a second motion vector.
- Inter prediction methods may include general merge mode, AMVP mode, SbTMVP mode, affine merge mode, CIIP mode, GPM mode, and MMVD mode.
- the video encoding device can determine the above-described motion information in terms of rate distortion optimization according to the inter prediction method. Alternatively, the video encoding device may obtain motion information from a higher level according to an inter prediction method.
- the video encoding device divides the current block into subblocks (S1504).
- the video encoding device checks the motion information (S1506).
- the video encoding device performs the following steps.
- the video encoding device searches the search range for a subblock that has the minimum difference from the intra-predicted subblock of each subblock of the current block (S1508).
- the search range exists within the reference picture including the reference block indicated by the unidirectional motion vector.
- the video encoding device corrects the unidirectional motion vector for each subblock to a motion vector indicating the subblock with the minimum difference (S1510).
- the video encoding device generates a prediction block of the current block using the corrected unidirectional motion vector of each subblock.
- the image encoding device generates a residual block by subtracting the prediction block from the original block of the current block and encodes the generated residual block.
- the motion information is positive prediction motion vectors (No in S1506), and the current picture including the current block is a first reference picture including the first reference block indicated by the first motion vector and the second picture indicated by the second motion vector. If it is not located in the center of the second reference picture including the reference block, the image encoding device performs the following steps.
- the video encoding device searches the first search range for the first subblock that has the minimum difference from the subblock that intra-predicted each subblock of the current block (S1520).
- the first search range exists within the first reference picture.
- the video encoding device corrects the first motion vector for each subblock to a motion vector indicating the first subblock (S1522).
- the video encoding device searches the second search range for a second subblock that has the minimum difference from the subblock that intra-predicted each subblock (S1524).
- the second search range exists within the second reference picture.
- the video encoding device corrects the second motion vector for each subblock to a motion vector indicating the second subblock (S1526).
- the video encoding device generates a prediction block of the current block using the corrected positive prediction motion vectors of each subblock.
- the image encoding device generates a residual block by subtracting the prediction block from the original block of the current block and encodes the generated residual block.
- the motion information is positive prediction motion vectors (No in S1506)
- the current picture including the current block is the first reference picture including the first reference block indicated by the first motion vector and the second motion vector indicated. A case where it is located in the center of a second reference picture including a second reference block is described.
- a video encoding device searches for a correction offset using BM.
- the video encoding device corrects the first and second motion vectors using the searched correction offset.
- the video encoding device generates a prediction block of the current block using the corrected positive prediction motion vectors.
- the image encoding device generates a residual block by subtracting the prediction block from the original block of the current block and encodes the generated residual block.
- FIG. 16 is a flowchart showing a method by which an image decoding device restores a current block, according to an embodiment of the present disclosure.
- the video decoding device generates an intra prediction block of the current block using the intra prediction mode (S1600).
- a video decoding device can use a preset mode as an intra prediction mode.
- a video decoding device can decode intra prediction mode from a bitstream.
- a video encoding device can derive an intra prediction mode using TIMD technology.
- the image encoding device can derive the intra prediction mode using DIMD technology.
- the video decoding device decodes the motion information of the current block from the bitstream according to the inter prediction method (S1602).
- the motion information is a unidirectional motion vector or a positive motion vector
- the positive motion vectors include a first motion vector and a second motion vector.
- Inter prediction methods may include general merge mode, AMVP mode, SbTMVP mode, affine merge mode, CIIP mode, GPM mode, and MMVD mode.
- the video decoding device divides the current block into subblocks (S1604).
- the video decoding device checks the motion information (S1606).
- the video decoding device performs the following steps.
- the video decoding device searches the search range for a subblock that has the minimum difference from the intra-predicted subblock of each subblock of the current block (S1608).
- the search range exists within the reference picture including the reference block indicated by the unidirectional motion vector.
- the video decoding apparatus corrects the unidirectional motion vector for each subblock to a motion vector indicating the subblock with the minimum difference (S1610).
- the video decoding device After decoding the residual block of the current block from the bitstream, the video decoding device adds the residual block and the prediction block to generate a restored block of the current block.
- the motion information is positive prediction motion vectors (No in S1606), and the current picture including the current block is the first reference picture including the first reference block indicated by the first motion vector and the second picture indicated by the second motion vector. If it is not located in the center of the second reference picture including the reference block, the video decoding apparatus performs the following steps.
- the video decoding apparatus searches the first search range for the first subblock that has the minimum difference from the subblock that intra-predicted each subblock of the current block (S1620).
- the first search range exists within the first reference picture.
- the video decoding apparatus corrects the first motion vector for each subblock to a motion vector indicating the first subblock (S1622).
- the video decoding apparatus searches the second search range for a second subblock that has the minimum difference from the subblock that intra-predicted each subblock (S1624).
- the second search range exists within the second reference picture.
- the video decoding device corrects the second motion vector for each subblock to a motion vector indicating the second subblock (S1626).
- the video decoding device After decoding the residual block of the current block from the bitstream, the video decoding device adds the residual block and the prediction block to generate a restored block of the current block.
- the motion information is positive prediction motion vectors (No in S1506)
- the current picture including the current block is the first reference picture including the first reference block indicated by the first motion vector and the second motion vector indicated. A case where it is located in the center of a second reference picture including a second reference block is described.
- the video encoding device searches for the correction offset using BM.
- the video encoding device corrects the first and second motion vectors using the searched correction offset.
- the video decoding device generates a prediction block of the current block using the corrected positive prediction motion vectors.
- the video decoding device adds the residual block and the prediction block to generate a restored block of the current block.
- 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
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims (15)
- 영상 복호화 장치가 수행하는, 현재블록을 복원하는 방법에 있어서,인트라 예측모드를 이용하여 상기 현재블록의 인트라 예측블록을 생성하는 단계;인터 예측 방식에 따라 상기 현재블록의 움직임 정보를 비트스트림으로부터 복호화하는 단계, 여기서, 상기 움직임 정보는 단방향 움직임벡터 또는 양예측 움직임벡터들이고, 상기 양예측 움직임벡터들은 제1 움직임벡터 및 제2 움직임벡터를 포함함;상기 현재블록을 서브블록들로 분할하는 단계; 및상기 움직임 정보를 확인하는 단계를 포함하되,상기 움직임 정보가 상기 단방향 움직임벡터인 경우,상기 현재블록의 각 서브블록을 인트라 예측한 서브블록과 최소의 차이를 갖는 서브블록을 탐색 범위에서 검색하는 단계, 여기서, 상기 탐색 범위는 상기 단방향 움직임벡터가 지시하는 참조 블록을 포함하는 참조 픽처 내에 존재함; 및상기 각 서브블록에 대해 상기 단방향 움직임벡터를 상기 최소의 차이를 갖는 서브블록을 지시하는 움직임벡터로 보정하는 단계를 포함하는 것을 특징으로 하는, 방법.
- 제1항에 있어서,상기 인트라 예측블록을 생성하는 단계는,기지정된 모드를 상기 인트라 예측모드로 사용하는 것을 특징으로 하는, 방법.
- 제1항에 있어서,상기 인트라 예측블록을 생성하는 단계는,상기 비트스트림으로부터 상기 인트라 예측모드를 복호화하는 것을 특징으로 하는, 방법.
- 제1항에 있어서,상기 인트라 예측블록을 생성하는 단계는,상기 인트라 예측모드를 TIMD(Template-based Intra Mode Derivation) 방식에 따라 유도하되,상기 TIMD 기술은, 상기 현재블록의 주변 템플릿을 이용하여 상기 인트라 예측모드를 유도하는 것을 특징으로 하는, 방법.
- 제1항에 있어서,상기 인트라 예측블록을 생성하는 단계는,상기 인트라 예측모드를 DIMD(Decoder side Intra Mode Derivation) 방식에 따라 유도하되,상기 DIMD 기술은, 상기 현재블록의 인접 샘플들에 대해 각 샘플의 그래디언트를 산정한 후, 산정된 그래디언트들을 이용하여 상기 인트라 예측모드를 유도하는 것을 특징으로 하는, 방법.
- 제1항에 있어서,상기 인터 예측 방식은,일반 머지 모드(general merge mode), AMVP(Advanced Motion Vector Prediction) 모드, SbTMVP(Subblock Temporal Motion Vector Prediction) 모드, 아핀 머지(affine merge) 모드, CIIP(Combined Inter and Intra Prediction) 모드, GPM(Geometric Partitioning Mode) 모드, 및 MMVD(Merged with Motion Vector Difference) 모드를 포함하는 것을 특징으로 하는, 방법.
- 제1항에 있어서,상기 움직임 정보가 상기 양예측 움직임벡터들이고, 상기 현재블록을 포함하는 현재 픽처가 상기 제1 움직임벡터가 지시하는 제1 참조 블록을 포함하는 제1 참조 픽처와 상기 제2 움직임벡터가 지시하는 제2 참조 블록을 포함하는 제2 참조 픽처의 중앙에 위치하지 않는 경우,상기 현재블록의 각 서브블록을 인트라 예측한 서브블록과 최소의 차이를 갖는 제1 서브블록을 제1 탐색 범위에서 검색하는 단계, 여기서, 상기 제1 탐색 범위는 상기 제1 참조 픽처 내에 존재함; 및상기 각 서브블록에 대해 상기 제1 움직임벡터를 상기 제1 서브블록을 지시하는 움직임벡터로 보정하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
- 제7항에 있어서,상기 각 서브블록을 인트라 예측한 서브블록과 최소의 차이를 갖는 제2 서브블록을 제2 탐색 범위에서 검색하는 단계, 여기서, 상기 제2 탐색 범위는 상기 제2 참조 픽처 내에 존재함; 및상기 각 서브블록에 대해 상기 제2 움직임벡터를 상기 제2 서브블록을 지시하는 움직임벡터로 보정하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
- 제1항에 있어서,상기 움직임 정보가 상기 양예측 움직임벡터들이고, 상기 현재블록을 포함하는 현재 픽처가 상기 제1 움직임벡터가 지시하는 제1 참조 블록을 포함하는 제1 참조 픽처와 상기 제2 움직임벡터가 지시하는 제2 참조 블록을 포함하는 제2 참조 픽처의 중앙에 위치하는 경우,BM(Bilateral Matching)을 이용하여 보정 오프셋(refinement offset)을 탐색하는 단계; 및상기 보정 오프셋을 이용하여 상기 제1 움직임벡터와 상기 제2 움직임벡터를 보정하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
- 영상 부호화 장치가 수행하는, 현재블록을 부호화하는 방법에 있어서,인트라 예측모드를 이용하여 상기 현재블록의 인트라 예측블록을 생성하는 단계;인터 예측 방식에 따라 상기 현재블록의 움직임 정보를 결정하는 단계, 여기서, 상기 움직임 정보는 단방향 움직임벡터 또는 양예측 움직임벡터들이고, 상기 양예측 움직임벡터들은 제1 움직임벡터 및 제2 움직임벡터를 포함함;상기 현재블록을 서브블록들로 분할하는 단계; 및상기 움직임 정보를 확인하는 단계를 포함하되,상기 움직임 정보가 상기 단방향 움직임벡터인 경우,상기 현재블록의 각 서브블록을 인트라 예측한 서브블록과 최소의 차이를 갖는 서브블록을 탐색 범위에서 검색하는 단계, 여기서, 상기 탐색 범위는 상기 단방향 움직임벡터가 지시하는 참조 블록을 포함하는 참조 픽처 내에 존재함; 및상기 각 서브블록에 대해 상기 단방향 움직임벡터를 상기 최소의 차이를 갖는 서브블록을 지시하는 움직임벡터로 보정하는 단계를 포함하는 것을 특징으로 하는, 방법.
- 제10항에 있어서,상기 인트라 예측블록을 생성하는 단계는,상기 상위 레벨로부터 상기 인트라 예측모드를 획득하는 것을 특징으로 하는, 방법.
- 제10항에 있어서,상기 인트라 예측모드를 부호화하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
- 제10항에 있어서,상기 움직임 정보가 상기 양예측 움직임벡터들이고, 상기 현재블록을 포함하는 현재 픽처가 상기 제1 움직임벡터가 지시하는 제1 참조 블록을 포함하는 제1 참조 픽처와 상기 제2 움직임벡터가 지시하는 제2 참조 블록을 포함하는 제2 참조 픽처의 중앙에 위치하지 않는 경우,상기 현재블록의 각 서브블록을 인트라 예측한 서브블록과 최소의 차이를 갖는 제1 서브블록을 제1 탐색 범위에서 검색하는 단계, 여기서, 상기 제1 탐색 범위는 상기 제1 참조 픽처 내에 존재함; 및상기 각 서브블록에 대해 상기 제1 움직임벡터를 상기 제1 서브블록을 지시하는 움직임벡터로 보정하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
- 제13항에 있어서,상기 각 서브블록을 인트라 예측한 서브블록과 최소의 차이를 갖는 제2 서브블록을 제2 탐색 범위에서 검색하는 단계, 여기서, 상기 제2 탐색 범위는 상기 제2 참조 픽처 내에 존재함; 및상기 각 서브블록에 대해 상기 제2 움직임벡터를 상기 제2 서브블록을 지시하는 움직임벡터로 보정하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
- 영상 부호화 방법에 의해 생성된 비트스트림을 저장하는 컴퓨터 판독 가능한 기록매체로서, 상기 영상 부호화 방법은,인트라 예측모드를 이용하여 현재블록의 인트라 예측블록을 생성하는 단계;인터 예측 방식에 따라 상기 현재블록의 움직임 정보를 결정하는 단계, 여기서, 상기 움직임 정보는 단방향 움직임벡터 또는 양예측 움직임벡터들임;상기 현재블록을 서브블록들로 분할하는 단계; 및상기 움직임 정보를 확인하는 단계를 포함하되,상기 움직임 정보가 상기 단방향 움직임벡터인 경우,상기 현재블록의 각 서브블록을 인트라 예측한 서브블록과 최소의 차이를 갖는 서브블록을 탐색 범위에서 검색하는 단계, 여기서, 상기 탐색 범위는 상기 단방향 움직임벡터가 지시하는 참조 블록을 포함하는 참조 픽처 내에 존재함; 및상기 각 서브블록에 대해 상기 단방향 움직임벡터를 상기 최소의 차이를 갖는 서브블록을 지시하는 움직임벡터로 보정하는 단계를 포함하는 것을 특징으로 하는, 기록매체.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202380087728.XA CN120419193A (zh) | 2022-12-20 | 2023-11-17 | 适用于单向预测和双向预测的解码器侧运动矢量细化的方法和装置 |
| MX2025007301A MX2025007301A (es) | 2022-12-20 | 2025-06-19 | Metodo y aparato para el refinamiento de vectores de movimiento del lado del decodificador aplicable a la prediccion unidireccional y bidireccional |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2022-0179525 | 2022-12-20 | ||
| KR20220179525 | 2022-12-20 | ||
| KR1020230157303A KR20240099018A (ko) | 2022-12-20 | 2023-11-14 | 단방향 및 양예측에 적용 가능한 디코더 측 움직임벡터 보정방법 및 장치 |
| KR10-2023-0157303 | 2023-11-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024136153A1 true WO2024136153A1 (ko) | 2024-06-27 |
Family
ID=91589270
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2023/018550 Ceased WO2024136153A1 (ko) | 2022-12-20 | 2023-11-17 | 단방향 및 양예측에 적용 가능한 디코더 측 움직임벡터 보정을 위한 방법 및 장치 |
Country Status (3)
| Country | Link |
|---|---|
| CN (1) | CN120419193A (ko) |
| MX (1) | MX2025007301A (ko) |
| WO (1) | WO2024136153A1 (ko) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20200039005A (ko) * | 2018-01-15 | 2020-04-14 | 삼성전자주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
| KR20200125687A (ko) * | 2018-07-02 | 2020-11-04 | 텐센트 아메리카 엘엘씨 | 디코더 측 mv 도출 및 리파인먼트를 위한 개선 |
| KR20210091161A (ko) * | 2018-11-20 | 2021-07-21 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 부분적 위치에 기반한 차분 계산 |
| JP2022530516A (ja) * | 2019-05-16 | 2022-06-29 | 北京字節跳動網絡技術有限公司 | 動き情報精緻化のサブ領域に基づいた決定 |
| KR20220159464A (ko) * | 2021-04-26 | 2022-12-02 | 텐센트 아메리카 엘엘씨 | 디코더 측 인트라 모드 도출 |
-
2023
- 2023-11-17 CN CN202380087728.XA patent/CN120419193A/zh active Pending
- 2023-11-17 WO PCT/KR2023/018550 patent/WO2024136153A1/ko not_active Ceased
-
2025
- 2025-06-19 MX MX2025007301A patent/MX2025007301A/es unknown
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20200039005A (ko) * | 2018-01-15 | 2020-04-14 | 삼성전자주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
| KR20200125687A (ko) * | 2018-07-02 | 2020-11-04 | 텐센트 아메리카 엘엘씨 | 디코더 측 mv 도출 및 리파인먼트를 위한 개선 |
| KR20210091161A (ko) * | 2018-11-20 | 2021-07-21 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 부분적 위치에 기반한 차분 계산 |
| JP2022530516A (ja) * | 2019-05-16 | 2022-06-29 | 北京字節跳動網絡技術有限公司 | 動き情報精緻化のサブ領域に基づいた決定 |
| KR20220159464A (ko) * | 2021-04-26 | 2022-12-02 | 텐센트 아메리카 엘엘씨 | 디코더 측 인트라 모드 도출 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN120419193A (zh) | 2025-08-01 |
| MX2025007301A (es) | 2025-08-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2021006617A1 (ko) | 인터 예측을 이용하여 비디오를 부호화 및 복호화하는 방법 및 장치 | |
| WO2022197135A1 (ko) | 분할된 서브블록의 적응적 순서를 이용하는 비디오 코딩방법 및 장치 | |
| WO2021071145A1 (ko) | 인터 예측을 이용하여 비디오를 부호화 및 복호화하는 방법 및 장치 | |
| WO2023038315A1 (ko) | 서브블록 코딩 순서 변경 및 그에 따른 인트라 예측을 이용하는 비디오 코딩방법 및 장치 | |
| WO2019135419A1 (ko) | 영상 코딩 시스템에서 현재 블록의 보간 필터에 기반한 인터 예측 방법 및 장치 | |
| WO2024111820A1 (ko) | 기하학적 분할에 기반하여 크로마 블록을 인트라 예측하는 비디오 코딩을 위한 방법 및 장치 | |
| WO2023171912A1 (ko) | 비디오 프레임 경계에서의 예측블록 생성 | |
| WO2024071680A1 (ko) | 분리 불가능한 1차 변환 기반 비디오 코딩을 위한 방법 및 장치 | |
| WO2023113209A1 (ko) | 움직임벡터 예측자들의 후보 리스트를 이용하는 비디오 코딩을 위한 방법 및 장치 | |
| WO2024136153A1 (ko) | 단방향 및 양예측에 적용 가능한 디코더 측 움직임벡터 보정을 위한 방법 및 장치 | |
| WO2024117694A1 (ko) | 템플릿 매칭 기반 인터 예측을 이용하는 비디오 코딩을 위한 방법 및 장치 | |
| WO2025225966A1 (ko) | 인트라 예측에서 외삽 필터를 이용하는 비디오 코딩을 위한 방법 및 장치 | |
| WO2025244328A1 (ko) | 인트라 예측모드를 유도하기 위한 비디오 코딩을 위한 방법 및 장치 | |
| WO2024214934A1 (ko) | 움직임벡터 보정 기반 양방향 예측을 이용하는 비디오 코딩을 위한 방법 및 장치 | |
| WO2024136154A1 (ko) | 적응적 참조라인 후보 리스트를 이용하는 비디오 코딩을 위한 방법 및 장치 | |
| WO2024111964A1 (ko) | 기하학적 분할 모드에서 적응적으로 블렌딩 영역을 결정하는 비디오 코딩을 위한 방법 및 장치 | |
| WO2024237549A1 (ko) | 기하학적인 분할 모드에서 지역조명 보상 기반 예측을 이용하는 비디오 코딩을 위한 방법 및 장치 | |
| WO2024219752A1 (ko) | 예측모드에 따라 변환 커널 및 역변환 커널을 선택하는 비디오 코딩을 위한 방법 및 장치 | |
| WO2023219289A1 (ko) | 참조 화소에 기초하는 인트라 예측모드 유도를 위한 방법 | |
| WO2025216450A1 (ko) | 블렌딩 파라미터를 유도 및 보정하는 비디오 코딩을 위한 방법 및 장치 | |
| WO2026049240A1 (ko) | 기복원 블록의 예측모드 기반의 인트라 예측모드 유도를 위한 방법 | |
| WO2025206624A1 (ko) | 행렬 기반 인트라 예측을 이용하는 비디오 코딩을 위한 방법 및 장치 | |
| WO2024111834A1 (ko) | 복원 참조샘플 기반 성분간 예측을 이용하는 비디오 코딩을 위한 방법 및 장치 | |
| WO2023167439A1 (ko) | 움직임벡터 차분의 유도를 이용하는 비디오 코딩을 위한 방법 및 장치 | |
| WO2026089280A1 (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: 23907439 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202517057754 Country of ref document: IN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202380087728.X Country of ref document: CN Ref document number: MX/A/2025/007301 Country of ref document: MX |
|
| WWP | Wipo information: published in national office |
Ref document number: 202517057754 Country of ref document: IN |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 202380087728.X Country of ref document: CN Ref document number: MX/A/2025/007301 Country of ref document: MX |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23907439 Country of ref document: EP Kind code of ref document: A1 |


















