WO2022114770A1 - 기하학적 변환에 기반하는 블록 복사를 이용하는 인트라 예측방법과 장치 - Google Patents
기하학적 변환에 기반하는 블록 복사를 이용하는 인트라 예측방법과 장치 Download PDFInfo
- Publication number
- WO2022114770A1 WO2022114770A1 PCT/KR2021/017383 KR2021017383W WO2022114770A1 WO 2022114770 A1 WO2022114770 A1 WO 2022114770A1 KR 2021017383 W KR2021017383 W KR 2021017383W WO 2022114770 A1 WO2022114770 A1 WO 2022114770A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- vectors
- sub
- list
- current
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 239000013598 vector Substances 0.000 claims abstract description 378
- 230000009466 transformation Effects 0.000 claims description 41
- 238000005070 sampling Methods 0.000 claims description 4
- 230000033001 locomotion Effects 0.000 description 144
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 53
- 238000013139 quantization Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 15
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 239000000523 sample Substances 0.000 description 11
- 241000023320 Luma <angiosperm> Species 0.000 description 10
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 10
- 239000000284 extract Substances 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 208000034188 Stiff person spectrum disease Diseases 0.000 description 1
- 229920010524 Syndiotactic polystyrene Polymers 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 108010063123 alfare Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 208000012112 ischiocoxopodopatellar syndrome Diseases 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000002490 spark plasma sintering Methods 0.000 description 1
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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/1883—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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
-
- 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/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
Definitions
- the present disclosure relates to an intra prediction method and apparatus using block copy based on geometric transformation.
- video data Since video data has a large amount of data compared to audio data or still image data, it requires a lot of hardware resources including memory to store or transmit itself without compression processing.
- an encoder when storing or transmitting video data, an encoder is used to compress and store or transmit the video data, and a decoder receives, decompresses, and reproduces the compressed video data.
- video compression technologies there are H.264/AVC, High Efficiency Video Coding (HEVC), and the like, as well as Versatile Video Coding (VVC), which improves coding efficiency by about 30% or more compared to HEVC.
- IBC intra block copy
- a reference block vector (BV) is derived from each vertex of the current block, and then a geometric transform is applied to the reference block vector.
- An object of the present invention is to provide an intra prediction method and apparatus for calculating a sub-block vector in units of each pixel of a current block or a bundle of pixels by performing the method.
- information on a map or list in which block vectors used in blocks previously decoded from a bitstream are stored decrypting the; calculating reference block vectors at vertices of a current block based on the map or list; calculating sub-block vectors in units of pixels or sub-blocks of the current block using the reference block vectors; and generating prediction samples for each pixel or sub-block by using the sub-block vectors within the same frame including the current block.
- an entropy decoding unit for decoding information of a map or list in which block vectors used in blocks previously decoded from a bitstream are stored; and an intra prediction unit that calculates reference block vectors at vertices of the current block based on the map or list, and calculates sub-block vectors for each pixel or sub-block of the current block using the reference block vectors. , wherein the intra prediction unit generates prediction samples for each pixel or sub-block by using the sub-block vectors within the same frame including the current block.
- information on a map or list in which block vectors used in previously decoded blocks are stored is obtained to do; calculating reference block vectors at vertices of a current block based on the map or list; calculating sub-block vectors in units of pixels or sub-blocks of the current block using the reference block vectors; and generating prediction samples for each pixel or sub-block by using the sub-block vectors within the same frame including the current block.
- a reference block vector is derived from each vertex of the current block, and then a geometric transformation is performed on the reference block vector to
- FIG. 1 is an exemplary block diagram of an image encoding apparatus that can implement techniques of the present disclosure.
- FIG. 2 is a diagram for explaining a method of dividing a block using a QTBTTT structure.
- 3A and 3B are diagrams illustrating a plurality of intra prediction modes including wide-angle intra prediction modes.
- FIG. 4 is an exemplary diagram of a neighboring block of the current block.
- FIG. 5 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure.
- 6A and 6B are exemplary diagrams for explaining affine motion prediction according to an embodiment of the present disclosure.
- FIG. 7 is an exemplary diagram for explaining affine motion prediction in units of subblocks according to an embodiment of the present disclosure.
- FIG. 8 is an exemplary diagram for explaining a method of deriving merge candidates for affine motion prediction from a translation motion vector of a neighboring block.
- FIG. 9 is an exemplary diagram illustrating a reference block vector at a position of each vertex of a current block according to an embodiment of the present disclosure.
- FIG. 10 is an exemplary diagram illustrating a search area according to an embodiment of the present disclosure.
- FIG. 11 is an exemplary diagram illustrating a shape of a reference block according to an embodiment of the present disclosure.
- FIG. 12 is an exemplary diagram illustrating a case of using one reference vector according to an embodiment of the present disclosure.
- FIG. 13 is an exemplary diagram illustrating a case of using two or more reference vectors according to an embodiment of the present disclosure.
- FIG. 14 is an exemplary diagram illustrating a case in which a relationship between a current block and a reference block is scaled according to an embodiment of the present disclosure.
- 15 is a flowchart illustrating an intra block copy method based on geometric transformation performed by an image encoding apparatus according to an embodiment of the present disclosure.
- 16 is a flowchart illustrating an intra block copy method based on geometric transformation performed by an image decoding apparatus according to an embodiment of the present disclosure.
- FIG. 1 is an exemplary block diagram of an image encoding apparatus that can implement techniques of the present disclosure.
- an image encoding apparatus and sub-configurations of the apparatus will be described with reference to FIG. 1 .
- the image encoding apparatus includes a picture division unit 110 , a prediction unit 120 , a subtractor 130 , a transform unit 140 , a quantization unit 145 , a reordering unit 150 , an entropy encoding unit 155 , and an inverse quantization unit. 160 , an inverse transform unit 165 , an adder 170 , a loop filter unit 180 , and a memory 190 may be included.
- Each component of the image encoding apparatus may be implemented as hardware or software, or may be implemented as a combination of hardware and software.
- the function of each component may be implemented as software and the microprocessor may be implemented to execute the function of software corresponding to each component.
- One image is composed 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.
- one picture is divided into one or more tiles and/or slices.
- one or more tiles may be defined as a tile group.
- Each tile or/slice is divided into one or more Coding Tree Units (CTUs).
- CTUs Coding Tree Units
- each CTU is divided into one or more CUs (Coding Units) by a tree structure.
- Information applied to each CU is encoded as a syntax of the CU, and information commonly applied to CUs included in one CTU is encoded as a syntax of the CTU.
- information commonly applied to all blocks in one slice is encoded as a syntax of a slice header
- information applied to all blocks constituting one or more pictures is a picture parameter set (PPS) or a picture. encoded in the header.
- PPS picture parameter set
- information commonly referenced by a plurality of pictures is encoded in a sequence parameter set (SPS).
- SPS sequence parameter set
- VPS video parameter set
- information commonly applied to one tile or tile group may be encoded as a 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 divider 110 determines the size of a coding tree unit (CTU).
- CTU size Information on the size of the CTU (CTU size) is encoded as a syntax of the SPS or PPS and transmitted to the video decoding apparatus.
- the picture divider 110 divides each picture constituting an image into a plurality of coding tree units (CTUs) having a predetermined size, and then repeatedly divides the CTUs using a tree structure. (recursively) divide.
- a leaf node in the tree structure becomes a coding unit (CU), which is a basic unit of encoding.
- CU coding unit
- a quadtree in which a parent node (or parent node) is divided into four child nodes (or child nodes) of the same size, or a binary tree (BinaryTree) in which a parent node is divided into two child nodes , BT), or a ternary tree (TT) in which a parent node is divided into three child nodes in a 1:2:1 ratio, or a structure in which two or more of these QT structures, BT structures, and TT structures are mixed have.
- a QuadTree plus BinaryTree (QTBT) structure may be used, or a QuadTree plus BinaryTree TernaryTree (QTBTTT) structure may be used.
- BTTT may be combined to be referred to as a Multiple-Type Tree (MTT).
- MTT Multiple-Type Tree
- FIG. 2 is a diagram for explaining a method of dividing a block using a QTBTTT structure.
- the CTU may be first divided into a QT structure.
- the quadtree splitting may be repeated until the size of a splitting block reaches the minimum block size of a leaf node (MinQTSize) allowed in QT.
- a first flag (QT_split_flag) indicating whether each node of the QT structure is divided into four nodes of a lower layer is encoded by the entropy encoder 155 and signaled to the image decoding apparatus. If the leaf node of the QT is not larger than the maximum block size (MaxBTSize) of the root node allowed in the BT, it may be further divided into any one or more of the BT structure or the TT structure.
- MaxBTSize maximum block size
- a plurality of division directions may exist in the BT structure and/or the TT structure. For example, there may be two directions in which the block of the corresponding node is divided horizontally and vertically.
- a second flag indicating whether or not nodes are split, and a flag indicating additionally splitting direction (vertical or horizontal) if split and/or splitting type (Binary) or Ternary) is encoded by the entropy encoder 155 and signaled to the video decoding apparatus.
- a CU split flag (split_cu_flag) indicating whether the node is split is encoded it might be
- 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 coding unit (CU), which is a basic unit of coding.
- the CU split flag (split_cu_flag) value indicates to be split, the image encoding apparatus starts encoding from the first flag in the above-described manner.
- split_flag split flag indicating whether each node of the BT structure is split into blocks of a lower layer and split type information indicating a split type are encoded by the entropy encoder 155 and transmitted to the image decoding apparatus.
- a type for dividing the block of the corresponding node into two blocks having an asymmetric shape may further exist.
- the asymmetric form may include a form in which the block of the corresponding node is divided into two rectangular blocks having a size ratio of 1:3, or a form in which the block of the corresponding node is divided in a diagonal direction.
- a CU may have various sizes depending on the QTBT or QTBTTT split from the CTU.
- a block corresponding to a CU to be encoded or decoded ie, a leaf node of QTBTTT
- a 'current block' a block corresponding to a CU to be encoded or decoded
- the shape of the current block may be not only a square but also a rectangle.
- the prediction unit 120 generates a prediction block by predicting the current block.
- the prediction unit 120 includes an intra prediction unit 122 and an inter prediction unit 124 .
- each of the current blocks in a picture may be predictively coded.
- prediction of the current block is performed using an intra prediction technique (using data from the picture containing the current block) or inter prediction technique (using data from a picture coded before the picture containing the current block). can be performed.
- Inter prediction includes both uni-prediction and bi-prediction.
- the intra prediction unit 122 predicts pixels in the current block by using pixels (reference pixels) located around the current block in the current picture including the current block.
- a plurality of intra prediction modes exist according to a prediction direction.
- the plurality of intra prediction modes may include two non-directional modes including a planar mode and a DC mode and 65 directional modes. According to each prediction mode, the neighboring pixels to be used and the calculation expression are defined differently.
- directional modes Nos. 67 to 80 and No. -1 to No. -14 intra prediction modes
- These may be referred to as “wide angle intra-prediction modes”.
- Arrows in FIG. 3B indicate corresponding reference samples used for prediction, not prediction directions. The prediction direction is opposite to the direction indicated by the arrow.
- the wide-angle intra prediction modes are modes in which a specific directional mode is predicted in the opposite direction without additional bit transmission when the current block is rectangular. In this case, among the wide-angle intra prediction modes, some wide-angle intra prediction modes available for the current block may be determined by the ratio of the width to the height of the rectangular current block.
- the wide-angle intra prediction modes having an angle smaller than 45 degrees are available when the current block has a rectangular shape with a height smaller than the width, and a wide angle having an angle greater than -135 degrees.
- the intra prediction modes are available when the current block has a rectangular shape with a width greater than a height.
- the intra prediction unit 122 may determine an intra prediction mode to be used for encoding the current block.
- the intra prediction unit 122 may encode the current block using several intra prediction modes and select an appropriate intra prediction mode to use from the tested modes. For example, the intra prediction unit 122 calculates bit rate distortion values using rate-distortion analysis for several tested intra prediction modes, and has the best bit rate distortion characteristics among the tested modes. An intra prediction mode may be selected.
- the intra prediction unit 122 selects one intra prediction mode from among a plurality of intra prediction modes, and predicts the current block by using a neighboring pixel (reference pixel) determined according to the selected intra prediction mode and an equation.
- Information on the selected intra prediction mode is encoded by the entropy encoder 155 and transmitted to an image decoding apparatus.
- the inter prediction unit 124 generates a prediction block for the current block by using a motion compensation process.
- the inter prediction unit 124 searches for a block most similar to the current block in the reference picture 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 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 for a 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 on a reference picture and information on a motion vector used to predict the current block is encoded by the entropy encoder 155 and transmitted to the image decoding apparatus.
- 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.
- the motion vector can be expressed up to the precision of the decimal unit rather than the precision of the integer sample unit.
- the precision or resolution of the motion vector may be set differently for each unit of a target region to be encoded, for example, a slice, a tile, a CTU, or a CU.
- AMVR adaptive motion vector resolution
- information on the motion vector resolution to be applied to each target region should be signaled for each target region.
- the target region is a CU
- information on motion vector resolution applied to each CU is signaled.
- the information on the 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 a block most similar to the current block in each reference picture are used.
- the inter prediction unit 124 selects a first reference picture and a second reference picture from the reference picture list 0 (RefPicList0) and the reference picture list 1 (RefPicList1), respectively, and searches for a block similar to the current block in each reference picture. A first reference block and a second reference block are generated. 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 consists of pictures before the current picture in display order among the restored pictures
- reference picture list 1 consists of pictures after the current picture in display order among the restored pictures.
- the present invention is not necessarily limited thereto, and in display order, the restored pictures after the current picture may be further included in the reference picture list 0, and conversely, the restored pictures before the current picture are additionally added to the reference picture list 1. may be included.
- the motion information of the current block may be transmitted to the image decoding apparatus by encoding information for identifying 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 left block (A0), the lower left block (A1), the upper block (B0), and the upper right block (B1) adjacent to the current block in the current picture. ), and all or part of the upper left block (A2) may be used.
- a block located in a reference picture (which may be the same as or different from the reference picture used to predict the current block) other than the current picture in which the current block is located may be used as a merge candidate.
- a block co-located with the current block in the reference picture or blocks adjacent to the co-located block may be further used as merge candidates. If the number of merge candidates selected by the above-described method is smaller than the preset number, a 0 vector is added to the merge candidates.
- the inter prediction unit 124 constructs a merge list including a predetermined number of merge candidates by using these neighboring blocks.
- 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 for identifying the selected candidate is generated.
- the generated merge index information is encoded by the encoder 150 and transmitted to the image decoding apparatus.
- the merge skip mode is a special case of the merge mode. After quantization, when all transform coefficients for entropy encoding are close to zero, only neighboring block selection information is transmitted without transmission of a residual signal. By using the merge skip mode, it is possible to achieve relatively high encoding efficiency in an image with little motion, a still image, and a screen content image.
- merge mode and the merge skip mode are collectively referred to as a merge/skip mode.
- AMVP Advanced Motion Vector Prediction
- the inter prediction unit 124 derives motion vector prediction candidates for the motion vector of the current block using neighboring blocks of the current block.
- neighboring blocks used to derive prediction motion vector candidates the left block (A0), the lower left block (A1), the upper block (B0), and the upper right block (A0) adjacent to the current block in the current picture shown in FIG. B1), and all or part of the upper left block (A2) may be used.
- a block located in a reference picture (which may be the same as or different from the reference picture used to predict the current block) other than the current picture in which the current block is located is used as a neighboring block used to derive prediction motion vector candidates.
- a block co-located with the current block in the reference picture or blocks adjacent to the co-located block may be used. If the number of motion vector candidates is smaller than the preset number by the method described above, 0 vectors are added to the motion vector candidates.
- the inter prediction unit 124 derives prediction motion vector candidates by using the motion vectors of the neighboring blocks, and determines a predicted motion vector with respect to the motion vector of the current block by using the prediction motion vector candidates. Then, a differential motion vector is calculated by subtracting the predicted motion vector from the motion vector of the current block.
- the prediction motion vector may be obtained by applying a predefined function (eg, a median value, an average value operation, etc.) to the prediction motion vector candidates.
- a predefined function eg, a median value, an average value operation, etc.
- the image decoding apparatus also knows the predefined function.
- the neighboring block used to derive the prediction motion vector candidate is a block that has already been encoded and decoded
- the video decoding apparatus already knows the motion vector of the neighboring block. Therefore, the image encoding apparatus does not need to encode information for identifying the prediction motion vector candidate. Accordingly, in this case, information on a differential motion vector and information on a reference picture used to predict a current block are encoded.
- the prediction motion vector may be determined by selecting any one of the prediction motion vector candidates.
- information for identifying the selected prediction motion vector candidate is additionally encoded together with information on the differential motion vector and information on 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 transform unit 140 transforms the residual signal in the residual block having pixel values in the spatial domain into transform coefficients in the frequency domain.
- the transform unit 140 may transform the residual signals in the residual block by using the entire size of the residual block as a transform unit, or divide the residual block into a plurality of sub-blocks and use the sub-blocks as transform units to perform transformation. You may.
- the residual signals may be transformed by dividing the sub-block into two sub-blocks, which are a transform region and a non-transform region, and use only the transform region sub-block as a transform unit.
- the transform region subblock may be one of two rectangular blocks having a size ratio of 1:1 based on the horizontal axis (or vertical axis).
- the flag (cu_sbt_flag) indicating that only the subblock has been transformed, the vertical/horizontal information (cu_sbt_horizontal_flag), and/or the position information (cu_sbt_pos_flag) are encoded by the entropy encoder 155 and signaled to the video decoding apparatus.
- the size of the transform region subblock may have a size ratio of 1:3 based on the horizontal axis (or vertical axis). Signaled to the decoding device.
- the transform unit 140 may separately transform the residual block in a horizontal direction and a vertical direction.
- various types of transformation functions or transformation matrices may be used.
- a pair of transform functions for horizontal transformation and vertical transformation may be defined as a multiple transform set (MTS).
- the transform unit 140 may select one transform function pair having the best transform efficiency among MTSs and transform the residual block in horizontal and vertical directions, respectively.
- Information (mts_idx) on a transform function pair selected from among MTS is encoded by the entropy encoder 155 and signaled to the image decoding apparatus.
- 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 related residual block for a certain block or frame without transformation.
- the quantization unit 145 may apply different quantization coefficients (scaling values) according to positions of the transform coefficients in the transform block.
- a quantization matrix applied to two-dimensionally arranged quantized transform coefficients may be encoded and signaled to an image decoding apparatus.
- the rearrangement unit 150 may rearrange the coefficient values on the quantized residual values.
- the reordering unit 150 may change a two-dimensional coefficient array into a one-dimensional coefficient sequence by using coefficient scanning. For example, the reordering unit 150 may output a one-dimensional coefficient sequence by scanning from DC coefficients to coefficients in a high frequency region using a zig-zag scan or a diagonal scan. .
- a vertical scan for scanning a two-dimensional coefficient array in a column direction and a horizontal scan for scanning a two-dimensional block shape coefficient in a row direction may be used instead of the zig-zag scan according to the size of the transform unit and the intra prediction mode. That is, a scanning method to be used among a zig-zag scan, a diagonal scan, a vertical scan, and a horizontal scan may be determined according to the size of the transform unit and the intra prediction mode.
- the entropy encoding unit 155 uses various encoding methods such as Context-based Adaptive Binary Arithmetic Code (CABAC) and Exponential Golomb to convert the one-dimensional quantized transform coefficients output from the reordering unit 150 .
- CABAC Context-based Adaptive Binary Arithmetic Code
- Exponential Golomb Exponential Golomb
- the entropy encoding unit 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 apparatus divides the block in the same way as the video encoding apparatus. to be able to divide.
- the entropy encoder 155 encodes information on a prediction type indicating whether the current block is encoded by intra prediction or inter prediction, and intra prediction information (ie, intra prediction) according to the prediction type.
- Mode information or inter prediction information (information on an encoding mode (merge mode or AMVP mode) of motion information, a merge index in the case of a merge mode, and a reference picture index and information on a differential motion vector in the case of an AMVP mode) is encoded.
- the entropy encoder 155 encodes information related to quantization, that is, information about a quantization parameter and information about a quantization matrix.
- the inverse quantization unit 160 inverse quantizes the quantized transform coefficients output from the quantization unit 145 to generate transform coefficients.
- the inverse transform unit 165 reconstructs a residual block by transforming the transform coefficients output from the inverse quantization unit 160 from the frequency domain to the spatial domain.
- the addition unit 170 restores the current block by adding the reconstructed residual block to the prediction block generated by the prediction unit 120 . Pixels in the reconstructed current block are used as reference pixels when intra-predicting the next block.
- the loop filter unit 180 reconstructs pixels to reduce blocking artifacts, ringing artifacts, blurring artifacts, etc. generated due to block-based prediction and transformation/quantization. filter on them.
- the filter unit 180 may include all or a part of a deblocking filter 182, a sample adaptive offset (SAO) filter 184, and an adaptive loop filter (ALF) 186 as an in-loop filter. .
- SAO sample adaptive offset
- ALF adaptive loop filter
- the deblocking filter 182 filters the boundary between reconstructed blocks in order to remove blocking artifacts caused by block-by-block encoding/decoding, and the SAO filter 184 and alf 186 deblocking filtering Additional filtering is performed on the captured image.
- the SAO filter 184 and alf 186 are filters used to compensate for a difference between a reconstructed pixel and an original pixel caused by lossy coding.
- the SAO filter 184 improves encoding efficiency as well as subjective image quality by applying an offset in units of CTUs.
- the ALF 186 performs block-by-block filtering, and the distortion is compensated by applying different filters by classifying the edge of the corresponding block and the degree of change.
- Information on filter coefficients to be used for ALF may be encoded and signaled to an image decoding apparatus.
- the restored block filtered through the deblocking filter 182 , the SAO filter 184 and the ALF 186 is stored in the memory 190 .
- the reconstructed picture may be used as a reference picture for inter prediction of blocks in a picture to be encoded later.
- FIG. 5 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure.
- an image decoding apparatus and sub-components of the apparatus will be described with reference to FIG. 5 .
- the image decoding apparatus includes an entropy decoding unit 510, a reordering 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) may be included.
- each component of the image decoding apparatus may be implemented as hardware or software, or a combination of hardware and software.
- the function of each component may be implemented as software and the microprocessor may be implemented to execute the function of software corresponding to each component.
- the entropy decoding unit 510 decodes the bitstream generated by the image encoding apparatus and extracts information related to block division to determine a current block to be decoded, and prediction information and residual signal required to reconstruct the current block. extract information, etc.
- the entropy decoder 510 extracts information on the CTU size from a sequence parameter set (SPS) or a 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 uppermost layer of the tree structure, that is, the root node, and the CTU is divided using the tree structure by extracting division information on the CTU.
- SPS sequence parameter set
- PPS picture parameter set
- a first flag (QT_split_flag) related to QT splitting is first extracted and each node is split into four nodes of a lower layer.
- the second flag (MTT_split_flag) related to the division of MTT and the division direction (vertical / horizontal) and / or division type (binary / ternary) information are extracted and the corresponding leaf node is set to MTT divided into structures. Accordingly, each node below the leaf node of the QT is recursively divided into a BT or TT structure.
- a CU split flag (split_cu_flag) indicating whether a CU is split is first extracted, and when the block is split, a first flag (QT_split_flag) is extracted.
- each node may have zero or more repeated MTT splits after zero or more repeated QT splits. For example, in the CTU, MTT division may occur immediately, or conversely, only multiple QT divisions may occur.
- a first flag (QT_split_flag) related to QT splitting is extracted and each node is split into four nodes of a lower layer. And, for a node corresponding to a leaf node of QT, a split flag (split_flag) indicating whether to further split into BT and split direction information is extracted.
- the entropy decoding unit 510 determines a current block to be decoded by using the tree structure division, information on a prediction type indicating whether the current block is intra-predicted or inter-predicted is extracted.
- the prediction type information indicates intra prediction
- the entropy decoder 510 extracts a syntax element for intra prediction information (intra prediction mode) of the current block.
- the prediction type information indicates inter prediction
- the entropy decoding unit 510 extracts a syntax element for the inter prediction information, that is, a motion vector and information indicating a reference picture referenced by the motion vector.
- the entropy decoding unit 510 extracts quantization-related information and information on quantized transform coefficients of the current block as information on the residual signal.
- the reordering unit 515 re-orders the sequence of one-dimensional quantized transform coefficients entropy-decoded by the entropy decoding unit 510 in the reverse order of the coefficient scanning order performed by the image encoding apparatus into a two-dimensional coefficient array (that is, block) can be changed.
- the inverse quantization unit 520 inversely quantizes the quantized transform coefficients and inversely quantizes the quantized transform coefficients using the quantization parameter.
- the inverse quantizer 520 may apply different quantization coefficients (scaling values) to the two-dimensionally arranged quantized transform coefficients.
- the inverse quantizer 520 may perform inverse quantization by applying a matrix of quantization coefficients (scaling values) from the image encoding apparatus to a 2D 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 reconstruct residual signals to generate a residual block for the current block.
- the inverse transform unit 530 when the inverse transform unit 530 inversely transforms only a partial region (subblock) of the transform block, a flag (cu_sbt_flag) indicating that only the subblock of the transform block has been transformed, and subblock directional (vertical/horizontal) information (cu_sbt_horizontal_flag) ) and/or sub-block position information (cu_sbt_pos_flag), and by inversely transforming the transform coefficients of the sub-block from the frequency domain to the spatial domain, the residual signals are restored. By filling in , the final residual block for the current block is created.
- the inverse transform unit 530 determines a transform function or transform matrix to be applied in the horizontal and vertical directions, respectively, using the MTS information (mts_idx) signaled from the image encoding apparatus, and uses the determined transform function. Inverse transform is performed on transform coefficients in the transform 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 from among the plurality of intra prediction modes from the syntax element for the intra prediction mode extracted from the entropy decoding unit 510, and references the vicinity of the current block according to the intra prediction mode. Predict the current block using pixels.
- the inter prediction unit 544 determines a motion vector of the current block and a reference picture referenced by the motion vector by using the syntax element for the inter prediction mode extracted from the entropy decoding unit 510, and divides the motion vector and the reference picture. is used to predict the current block.
- the adder 550 reconstructs the current block by adding the residual block output from the inverse transform unit and the prediction block output from the inter prediction unit or the intra prediction unit. Pixels in the reconstructed 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 , an SAO filter 564 , and an ALF 566 as an in-loop filter.
- the deblocking filter 562 deblocks and filters the boundary between the reconstructed blocks in order to remove a blocking artifact caused by block-by-block decoding.
- the SAO filter 564 and the ALF 566 perform additional filtering on the reconstructed block after deblocking filtering to compensate for a difference between the reconstructed pixel and the original pixel caused by lossy coding.
- the filter coefficients of the ALF are determined using information about the filter coefficients decoded from the non-stream.
- the restored block filtered through the deblocking filter 562 , the SAO filter 564 , and the ALF 566 is stored in the memory 570 .
- the reconstructed picture is used as a reference picture for inter prediction of blocks in a picture to be encoded later.
- This embodiment relates to encoding and decoding of an image (video) as described above.
- a reference block vector is derived from each vertex of the current block, and then geometric transformation is performed on the reference block vector to form each of the current blocks.
- the term 'target block' may be used in the same meaning as the current block or coding unit (CU) as described above, or may refer to a partial region of the coding unit.
- IBC Intra Block Copy
- IBC performs intra prediction of the current block by copying a reference block in the same frame using a block vector to generate a prediction block of the current block.
- the video encoding apparatus derives an optimal block vector by performing block matching (BM), and then transmits information on the derived block vector to the video decoding apparatus.
- the block vector represents displacement from the current block to the reference block.
- the image decoding apparatus generates a prediction block according to information of the decoded block vector and performs intra prediction on the current block.
- IBC In terms of using a block vector, IBC has the characteristics of inter prediction. Therefore, similar to the merge/skip mode and AMVP mode of inter prediction, IBC may operate in IBC merge/skip mode and IBC AMVP mode.
- the above-described block vector information may include information on such an operation mode.
- Inter prediction is a motion prediction that reflects a translation motion model. That is, it is a technique for predicting movement in the horizontal direction (x-axis direction) and vertical direction (y-axis direction).
- various types of motion such as rotation, zoom-in, or zoom-out, in addition to the translation motion.
- An aspect according to the present embodiment provides an affine motion prediction capable of reflecting these various types of motion.
- 6A and 6B are exemplary diagrams for explaining affine motion prediction according to an embodiment of the present disclosure.
- affine motion prediction There may be two types of models for affine motion prediction.
- One is, as shown in FIG. 6A, two Control Point Motion Vectors (CPMVs) of the top-left corner and top-right corner of the target block to be currently encoded, that is, 4 It is a model using four parameters.
- the other is a model using motion vectors of three control points, ie, six parameters, of the upper-left, upper-right, and bottom-left corners of the target block, as shown in FIG. 6B .
- CPMVs Control Point Motion Vectors
- Equation (1) A four-parameter affine model is expressed as shown in Equation (1).
- the motion at the sample position (x, y) in the object block may be calculated as shown in Equation (1).
- the position of the upper left sample of the target block is assumed to be (0,0).
- the 6-parameter affine model is expressed as shown in Equation (1).
- the motion at the sample position (x, y) in the object block may be calculated as shown in Equation (1).
- (mv 0x ,mv 0y ) is a motion vector of the upper left control point
- (mv 1x ,mv 1y ) is a motion vector of the upper right control point
- (mv 2x ,mv 2y ) is a motion vector of the lower left control point
- W is the horizontal length of the target block
- H is the vertical length of the target block.
- Affine motion prediction may be performed using a motion vector calculated according to Equation 1 or 2 for each sample in the target block.
- the operation may be performed in units of sub-blocks divided from the target block.
- the size of the subblock may be 4x4, 2x2 or 8x8.
- affine motion prediction on a target block in units of 4 ⁇ 4 subblocks will be described as an example. This example is for convenience of explanation only, and does not limit the scope of the present invention.
- a motion vector (affine motion vector) of each sub-block is calculated by substituting the center position of each sub-block into (x,y) of Equation 1 or 2.
- the center position may be the actual center point of the sub-block or the lower right sample position of the center point.
- the central position of the subblock may be (1.5,1.5) or (2,2).
- a prediction block for each subblock is generated using an affine motion vector (mv x ,mv y ) of the corresponding subblock.
- the motion vector (mv x , mv y ) may be set to have 1/16 sample precision.
- the motion vector (mv x ,mv y ) calculated according to Equation 1 or 2 may be rounded to 1/16 sample units.
- Affine motion prediction may be performed on a chroma component as well as a luma component.
- affine motion prediction for the chroma component may be performed in units of 2 ⁇ 2 subblocks.
- a motion vector (mv x ,mv y ) of each subblock of a chroma component may be derived from a motion vector of a corresponding luma component.
- the size of the subblock for affine motion prediction of the chroma component may be the same as that of the luma component.
- affine motion prediction is performed on the luma component in units of 4 ⁇ 4 subblocks
- affine motion prediction is also performed on the chroma component with a size of 4 ⁇ 4 subblocks.
- the motion vector (mv x ,mv y ) for the chroma component subblock is the corresponding luma. It can be calculated by calculating the average of motion vectors of the four subblocks of the component.
- the image encoding apparatus selects an optimal prediction method by performing intra prediction, inter prediction (translational motion prediction), affine motion prediction, and the like, and calculating a bit rate distortion cost.
- the inter prediction unit 124 of the image encoding apparatus determines which type of two types of models to use, and determines two or three control points according to the determined type.
- the inter prediction unit 124 calculates a motion vector (mv x , mv y ) for each of the 4 ⁇ 4 subblocks in the target block by using the motion vectors of the control points. Then, a prediction block for each subblock in the target block is generated by performing motion compensation in the reference picture in units of subblocks using the motion vectors (mv x ,mv y ) of each subblock.
- the entropy encoding unit 155 of the image encoding apparatus includes a flag indicating whether affine motion prediction is applied to the target block, type information indicating the type of the affine model, and motion information indicating the motion vector of each control point.
- the syntax elements are encoded and transmitted to an image decoding apparatus.
- the type information and the motion information of the control points may be signaled when affine motion prediction is performed, and the number of motion vectors of the control points may be signaled by the number determined according to the type information.
- the image decoding apparatus determines the type of the affine model and control point motion vectors using the signaled syntax, and uses Equation 1 or 2 to determine the motion vector ( mv x , mv y ) is calculated. If the motion vector resolution information for the affine motion vector of the target block is signaled, the motion vector (mv x , mv y ) is corrected to the precision identified by the motion vector resolution information by using an operation such as rounding.
- the image decoding apparatus generates a prediction block for each subblock by performing motion compensation in a reference picture using a motion vector (mv x ,mv y ) for each subblock.
- the general inter prediction (translational motion prediction) method as described above may be applied.
- the inter prediction unit 124 of the image encoding apparatus configures a predefined number (eg, 5) of affine merge candidate lists.
- the inter prediction unit 124 of the image encoding apparatus derives an inherited affine merge candidate from neighboring blocks of the target block.
- a merge candidate list is generated by deriving a predefined number of inherited affine merge candidates from neighboring samples A0, A1, B0, B1, and B2 of the target block shown in FIG. 4 .
- Each of the inherited affine merge candidates included in the candidate list corresponds to a pair of two or three CPMVs.
- the inter prediction unit 124 derives an inherited affine merge candidate from control point motion vectors of the neighboring blocks predicted in the affine mode among neighboring blocks of the target block.
- the number of merge candidates derived from neighboring blocks predicted in the affine mode may be limited.
- the inter prediction unit 124 may derive a total of two inherited affine merge candidates, one from among A0 and A1 and one from among B0, B1, and B2, from the neighboring block predicted in the affine mode.
- the priority may be the order of A0, A1, and the order of B0, B1, and B2.
- the inter prediction unit 124 may derive an insufficient number of constructed affine merge candidates from a translational motion vector of a neighboring block.
- FIG. 8 is an exemplary diagram for explaining a method of deriving combinatorial affine merge candidates for affine motion prediction from a translation motion vector of a neighboring block.
- the inter prediction unit 124 derives one control point motion vector CPMV1, CPMV2, and CPMV3 from the neighboring block group ⁇ B2, B3, A2 ⁇ , the neighboring block group ⁇ B1, B0 ⁇ , and the neighboring block group ⁇ A1, A0 ⁇ , respectively. .
- the priority within each neighboring block group may be an order of B2, B3, A2, an order of B1, B0, and an order of A1 and A0.
- another control point motion vector CPMV4 is derived from a collocated block T in the reference picture.
- the inter prediction unit 124 generates an insufficient number of combined affine merge candidates by combining two or three control point motion vectors among the four control point motion vectors.
- the priority of the combination is as follows. Elements in each group are arranged in the order of upper left, upper right, lower left control point motion vectors.
- the inter prediction unit 124 may add a zero motion vector as a candidate.
- the inter prediction unit 124 selects a merge candidate from the merge candidate list and performs affine motion prediction on the target block.
- affine motion prediction is performed using a 4-parameter model.
- affine motion prediction is performed using a 6-parameter model.
- the entropy encoder 155 of the image encoding apparatus encodes index information indicating a merge candidate selected from among the merge candidates in the merge candidate list, and signals it to the image decoding apparatus.
- the entropy decoding unit 510 of the image decoding apparatus decodes index information signaled from the image encoding apparatus.
- the inter prediction unit 544 of the image decoding apparatus constructs a merge candidate list in the same manner as in the image encoding apparatus, and performs affine motion prediction using control point motion vectors corresponding to the merge candidates indicated by the index information.
- the inter prediction unit 124 of the image encoding apparatus determines the type of the affine model for the target block and the control point motion vectors. Then, a motion vector difference that is a difference between the actual control point motion vectors of the target block and the predicted motion vectors of each control point is calculated, and the differential motion vector for each control point is encoded and transmitted. To this end, the inter prediction unit 124 of the image encoding apparatus constructs a predefined number (eg, two) of affine AMVP candidate lists. When the target block is a 4-parameter type, each of the candidates included in the list consists of two pairs of control point motion vectors. On the other hand, when the target block is a 6-parameter type, candidates included in the list are each made up of three pairs of control point motion vectors.
- a predefined number eg, two
- the following embodiment may be performed by the intra predictor 122 of the image encoding apparatus and the intra predictor 542 of the image decoding apparatus.
- the image encoding apparatus calculates a reference block vector at the position of each vertex of the current block as illustrated in FIG. 9 in terms of bit rate distortion optimization.
- the intra prediction unit 122 in the image encoding apparatus applies a geometric transformation to one or more block vectors among the calculated reference block vectors to serve each pixel of the current block or a bundle (eg, 4 ⁇ 4) unit of pixels. Calculate the block vector.
- the intra prediction unit 122 may use a pixel value of a reference position within the same frame indicated by the sub block vector as prediction samples of the current block, or may filter the pixel value of the reference position and use it as prediction samples.
- the video encoding apparatus encodes the reference block vector information and then transmits it to the video decoding apparatus.
- a group of pixels may be used interchangeably with a sub-block or a block of pixels.
- the video decoding apparatus decodes the information of the reference block vector.
- the intra prediction unit 542 in the image decoding apparatus derives the reference block vector from the position of each vertex of the current block by using the reference block vector information.
- the intra prediction unit 542 calculates a sub-block vector in units of each pixel or pixel block of the current block by applying a geometric transformation to one or more block vectors among the derived reference block vectors.
- the intra prediction unit 542 may use a pixel value of a reference position within the same frame indicated by the sub block vector as prediction samples of the current block, or may filter the pixel value of the reference position and use it as prediction samples.
- the image encoding apparatus may calculate up to four reference block vectors at positions of vertices of the current block.
- the image encoding apparatus may set a block vector search region to find the position of a reference block most similar to the current block.
- the apparatus for encoding an image may calculate reference block vectors by using block vector information of blocks encoded/decoded before the current block.
- the image encoding apparatus may use all previously encoded/decoded blocks of the current block as a search region.
- the apparatus for encoding an image may set only a region including a CTU including a current block (hereinafter, a current CTU) and N (where N is a natural number) neighboring CTUs as a search region.
- a current CTU a current block
- N a natural number
- the video encoding apparatus may encode search area information including the size of the search area and the start position of the search area, and then transmit it to the video decoding apparatus.
- the image decoding apparatus may encode N values.
- the search area may be limited to a maximum of 5 CTUs in one CTU according to the location of the current block. .
- the image encoding apparatus After setting or inducing a search region, the image encoding apparatus performs motion estimation (ME) to calculate reference block vectors of the current block.
- the image encoding apparatus may perform ME by selecting one of several search methods, such as a full search, a three-step search, and a diamond search, for a search area.
- a preset method may be used as a search method according to a prior agreement between the image encoding/decoding apparatuses.
- additional information on a search method may be encoded/decoded in units of slices, pictures, or CTUs.
- the image decoding apparatus may decode the search information including the search region information and the search method, and then calculate a reference block vector of the current block based on the decoded search information.
- the image encoding apparatus uses a map or list in which block vectors used in previously encoded/decoded blocks are stored. Available.
- the image encoding apparatus derives block vectors that are referenced to the current block by using one or more block vectors existing in a specific area in the map in which the block vectors are stored, and then uses the derived block vectors as reference block vectors.
- the image encoding apparatus may derive block vectors referenced to the current block by using all or part of block vectors existing in a specific region as it is or by generating a combination thereof.
- the specific region includes the current CTU and the region including N neighboring CTUs, the region containing the CTU containing the pixel that the used block vector means and the N neighboring CTUs, the shape and location of the current block, or the periphery. It is an area that can be derived using information such as a prediction mode of a block.
- the N value may be a value previously agreed between image encoding/decoding apparatuses. Alternatively, the N value may be encoded by the image encoding apparatus and then transmitted to the image decoding apparatus.
- the image encoding apparatus may encode index information of block vectors selected from the list and then transmit the encoded information to the image decoding apparatus.
- the image decoding apparatus may use block vectors in the list designated by the index as reference block vectors.
- the image encoding apparatus may update the list by using information on reference block vectors used in the current block. For example, the image encoding apparatus may manage block vectors used in each block based on the list, but transmit the size of the list on the SPS.
- the image encoding apparatus checks whether the corresponding reference block vectors are included in the list. When all or part of the corresponding reference block vectors are not included in the list, the video encoding apparatus may remove block vectors that occur temporally earlier from the list and then add block vectors used in the current block to the list. On the other hand, when the corresponding reference block vectors are included in the list, the image encoding apparatus may change the order of the block vectors included in the list.
- the process of using the map or the list may be performed in the same manner in the image decoding apparatus.
- the reference block vector information as described above may be search information when using block vector search, and may be information on a map or list in which block vectors are stored when previously used block vector information is used.
- the search information may include search area information and a search method.
- the video encoding apparatus may encode an affine prediction flag, which is a flag indicating whether or not the affine transform is applied to the ISP, and then transmit it to the video decoding apparatus.
- the image encoding apparatus may encode the encoding mode of the block vector and then transmit it to the image decoding apparatus.
- the encoding mode may indicate one of a method of using a search region or a method of using information of a previously used block vector.
- the position of the pixel that the block vector means may be expressed based on the current picture.
- the position of the pixel may be expressed stepwise in the order of the index of the slice, the CTU index, the CU index, and the position in the CU.
- the block vector may be stored in a map or list.
- n, m, and o values may be stored together with a block vector based on the corresponding CU.
- the image encoding apparatus selects all or part of the block vectors stored in the map or list, and then selects the selected block vector.
- One of the combinations of these may be used as reference block vectors.
- the selection criterion may be the size or position of the block vector.
- the image encoding apparatus may transmit the SPS including the k value so that a block vector corresponding to a pixel located further away from the current block than the k (here, k is a positive number) value based on the current block cannot be used.
- the image encoding apparatus searches for usable block vectors based on the current block.
- the image encoding apparatus may generate a combination using the remaining block vectors after excluding block vectors having a size greater than k or not present in the search region from among the 10 block vectors. For example, it is assumed that the number of usable block vectors among block vectors stored in the map or list is two. In this case, the image encoding apparatus may generate two combinations when using one reference block vector, and may generate four combinations when using two reference block vectors. Since there is no case of using 3 and 4 reference block vectors, a total of 6 combinations can be generated.
- the process of using this combination of block vectors may be performed in the same manner in the image decoding apparatus.
- the image encoding apparatus may configure a list of combinations of usable block vectors, encode an index of the list, and then transmit it to the image decoding apparatus.
- the method of calculating the reference block vector may be limited according to the position and shape of the current block, the prediction mode of the neighboring block, or higher-level syntax.
- the image encoding apparatus may limit which geometric transformation to use.
- Information corresponding to the maximum number of reference block vectors, the number of actually used reference block vectors, and geometric transformation may be encoded/decoded into one or more sets in units of pictures or slices. In this case, information on parameters of geometric transformation may also be encoded/decoded.
- the maximum number of reference block vectors is three, and when one reference block vector is used, a translation transformation is used, and when two reference block vectors are used, a flip transformation is used,
- the image encoding apparatus may limit geometric transformation to use rotation and scaling transformations. That is, according to this limitation, the reference block may be generated in four fixed shapes. Also, the image encoding apparatus may transmit information on parameters of each transformation to limit degrees of flip, rotation, and scaling.
- the transformation is scaling
- the scaling degree is adjusted so that only scaling by a multiple of 2 is possible, such as 1/8 times, 1/4 times, 1/2 times, 2 times, 4 times, and 8 times. may be limited.
- the rotation angle may be limited so that only rotation in units of 45 degrees or 30 degrees is possible by encoding/decoding parameter values of the rotation transformation. For example, when using three reference block vectors in SPS, only rotation transformation can be used. In addition, when the rotation angle is limited so that only the reference block having a shape rotated by 90 degrees can be generated by limiting the parameter, the image decoding apparatus decodes information on how many reference block vectors the current block uses. If the current block uses three reference block vectors, the image decoding apparatus decodes the value of one reference block vector to determine the start position of the reference block, and then determines any of 0 degrees, 90 degrees, 180 degrees, and 270 degrees. Decodes information about whether rotation transforms should be applied.
- Information such as the position and number of vertices for calculating the reference block vector, the size of the search area, the size of the block vector list to be referenced, and the size of the block vector to be referenced, and the size of the block vector calculated based on this information, It may be derived or limited according to the high-level syntax, the shape and location of the current block, and the prediction mode of the neighboring block.
- the vertices from which the reference block vector is obtained through the SPS may be limited to two at the top of the block.
- the position of the vertex for calculating the reference block vector may be limited according to the ratio of the width to the height of the current block, that is, the aspect ratio.
- the reference block vector may be calculated from two vertices located at the top or bottom.
- the block vector when there is no IBC mode among prediction modes of neighboring blocks of the current block, the block vector is calculated only at the upper left vertex.
- the maximum number of reference block vectors may be derived according to the number of IBC modes among prediction modes around the current block. For example, when the number of IBC modes is 0, one reference block vector can be derived, and when the number of IBC modes is two, a maximum of two reference block vectors can be derived.
- reference block vectors used in the current block may be encoded/decoded.
- the information on the reference block vectors may include the number, direction, and magnitude of the reference block vectors.
- Reference block vectors may be encoded/decoded in the order of upper left, upper right, lower left, and lower right, or information on the encoding/decoding order may be encoded/decoded.
- the upper right reference block vector may be predicted using the upper left reference block vector information.
- BVD BV Difference
- the image encoding apparatus may combine one or more reference block vectors with respect to the calculated reference block vectors to calculate a sub-block vector in units of each pixel of the current block or a group of pixels (eg, 4 ⁇ 4). For example, according to Equation 3 when the number of reference block vectors used is 2, according to Equation 4 when the number of reference block vectors is 3, according to Equation 5 when the number of reference block vectors is 4, A sub block vector may be calculated.
- the image encoding apparatus may set the sub block vector to be the same as the reference block vector.
- the image encoding apparatus may calculate the sub block vectors after deriving block vectors at the remaining vertices according to the position of the reference block vector (ie, the position of the vertex). .
- the image encoding apparatus determines a block other than the sub-block vectors calculated as described above for a partial region (some pixel or group of pixels) of the current block.
- vector can be used.
- a sub-block vector is calculated for each 4 ⁇ 4 subblock after the current block is divided into 4 ⁇ 4 pixel blocks.
- the image encoding apparatus may use an average of one or two or more reference block vectors among the reference block vectors, instead of using the sub-block vectors calculated for some sub-blocks.
- the image encoding apparatus may use a pixel value at a position of a sub block vector for each pixel or pixel block of a current block as prediction samples, or filter a pixel value at a position of a sub block vector and use it as prediction samples. .
- the image encoding apparatus when the relationship between the current block and the reference block is scaled, that is, when the size of the reference block is larger or smaller than the current block, the image encoding apparatus is Prediction samples can be calculated in the same way.
- the image encoding apparatus calculates prediction samples of a size wider than the pixel block (by the ratio of the current block and the reference block or the ratio of the current block and the pixel block) for each pixel block, , it is possible to calculate final prediction samples by applying a filter to the calculated prediction samples and then performing sampling.
- the filter may be one of filters such as a Gaussian filter and an average filter, and information on the type of filter and the selected filter may be encoded/decoded.
- the image encoding apparatus applies an L-tap (here, L is a natural number) interpolation filter to the prediction samples calculated for each pixel block and then performs sampling. All or a part of the prediction samples generated by performing may be used as final prediction samples.
- L is a natural number
- the image encoding apparatus may encode filter information or encode an index indicating one filter in a list including a plurality of filters, and then transmit it to the image decoding apparatus.
- the name and transport level of the syntax related to the present disclosure may be changed, or some syntax may be changed or omitted.
- the image encoding apparatus may include activation information on the geometric transform block copy method, ie, the affine prediction mode, on the SPS.
- the image encoding apparatus may transmit a restriction or range for copying the geometric transform block to the image decoding apparatus.
- the restrictions may include information such as the maximum number of reference block vectors and types and parameters of geometric transformations according to the number of reference block vectors to be used.
- the image encoding apparatus encodes information on how many reference block vectors are used in each block, and encodes the block vector information by the number of reference block vectors. , can be transmitted to the image decoding apparatus.
- 15 is a flowchart illustrating an intra block copy method based on geometric transformation performed by an image encoding apparatus according to an embodiment of the present disclosure.
- the image encoding apparatus calculates a reference block vector at the position of each vertex of the current block in terms of bit rate distortion optimization.
- the image encoding apparatus may encode the reference block vector information and then transmit it to the image decoding apparatus.
- the reference block vector information may be search information when using block vector search, and may be information on a map or list in which block vectors are stored when using previously used block vector information.
- the intra prediction unit 122 in the image encoding apparatus may perform intra block copying of the current block as follows.
- the intra prediction unit 122 in the image encoding apparatus obtains information on a map or list in which block vectors used in previously decoded blocks are stored (S1500).
- the intra prediction unit 122 obtains the number N of neighboring CTUs of the current CTU including the current block from the higher-level syntax as information of the map.
- the intra prediction unit 122 obtains, as information of the list, an index indicating a specific position in the list from a higher-level syntax.
- the intra prediction unit 122 may obtain search information from a higher-level syntax.
- the search information may include search area information and a search method.
- the intra prediction unit 122 calculates reference block vectors at vertices of the current block based on the map or list (S1502).
- the intra prediction unit 122 calculates block vectors that are referenced to the current block by using one or more block vectors existing in a specific region in the map, and then uses the calculated block vectors as reference block vectors of the current block. use them with
- the specific area includes the current CTU including the current block and the area including N neighboring CTUs, the CTU including the pixel indicated by the used block vector and the area including the N neighboring CTUs, and the shape and location of the current block. , or may be derived using prediction modes of neighboring blocks.
- the intra prediction unit 122 may use block vectors in the list designated by the index as reference block vectors of the current block. Also, the intra prediction unit 122 may update the list by using the reference block vectors. The intra prediction unit 122 may manage the size of the list when updating the list. The size of the list can be obtained from higher-level syntax.
- the intra prediction unit 122 sets a search area using search area information, and then performs ME using a preset search method, thereby can be calculated Since the setting of the search area and the type of the search method have already been described, further detailed description will be omitted.
- the intra prediction unit 122 calculates sub-block vectors of each pixel or sub-block of the current block by using the reference block vectors (S1504).
- the intra prediction unit 122 may use preset equations as shown in Equations 3 to 5.
- the intra prediction unit 122 is located in a partial region of the current block.
- block vectors other than sub-block vectors may be used.
- the other block vector may be one of the reference block vectors or a vector according to an average of two or more reference block vectors.
- the intra prediction unit 122 generates prediction samples for each pixel or subblock by using sub-block vectors within the same frame including the current block (S1506).
- the intra prediction unit 122 uses pixel values at the position of the sub block vector for each pixel or subblock of the current block as prediction samples, or filters pixel values at the position of the sub block vector to use as prediction samples.
- 16 is a flowchart illustrating an intra block copy method based on geometric transformation performed by an image decoding apparatus according to an embodiment of the present disclosure.
- the image decoding apparatus decodes the reference block vector information transmitted from the image encoding apparatus, and then calculates the reference block vector at the position of each vertex of the current block as follows.
- the entropy decoding unit 510 in the image decoding apparatus decodes information on a map or list in which block vectors used in blocks previously decoded from the bitstream are stored (S1600).
- the entropy decoding unit 510 decodes the number N of neighboring CTUs of the current CTU including the current block as information of the map. Also, the entropy decoding unit 510 decodes an index indicating a specific position in the list as information on the list.
- the intra prediction unit 542 in the image decoding apparatus calculates reference block vectors at vertices of the current block based on the map or list (S1602).
- the intra prediction unit 542 calculates block vectors that are referenced to the current block by using one or more block vectors existing in a specific region in the map, and then uses the calculated block vectors as reference block vectors of the current block. use them with
- the intra prediction unit 542 may use block vectors in the list designated by the index as reference block vectors of the current block.
- the intra prediction unit 542 may update the list by using the reference block vectors.
- the intra prediction unit 542 may manage the size of the list when updating the list.
- the intra prediction unit 542 sets a search area using the search area information and then performs ME using a preset search method to thereby perform the reference block vector of the current block. can be calculated
- the intra prediction unit 542 calculates sub-block vectors for each pixel or sub-block of the current block by using the reference block vectors (S1604).
- the intra prediction unit 542 may use a preset equation as shown in Equations 3 to 5.
- the intra prediction unit 542 generates prediction samples for each pixel or sub-block by using sub-block vectors within the same frame including the current block (S1606).
- the intra prediction unit 542 uses pixel values at the position of the sub block vector for each pixel or subblock of the current block as prediction samples, or filters pixel values at the position of the sub block vector to use as prediction samples.
- each process is sequentially executed in each flowchart according to the present embodiment
- the present invention is not limited thereto.
- the flowchart since it may be applicable to change and execute the processes described in the flowchart or to execute one or more processes in parallel, the flowchart is not limited to a time-series order.
- non-transitory recording medium includes, for example, any type of recording device in which data is stored in a form readable by a computer system.
- the non-transitory recording medium includes a storage medium such as an erasable programmable read only memory (EPROM), a flash drive, an optical drive, a magnetic hard drive, and a solid state drive (SSD).
- EPROM erasable programmable read only memory
- SSD solid state drive
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims (18)
- 영상 복호화 장치가 수행하는, 인트라 블록 복사(intra block copy) 방법에 있어서,비트스트림으로부터 기복호화된 블록들에서 이용된 블록벡터들이 저장된 맵(map) 또는 리스트의 정보를 복호화하는 단계;상기 맵 또는 리스트에 기초하여 현재블록의 꼭지점들에서 기준 블록벡터들을 산정하는 단계;상기 기준 블록벡터들을 이용하여 상기 현재블록의 각 픽셀 또는 서브블록 단위의 서브 블록벡터들을 산정하는 단계; 및상기 현재블록을 포함하는 동일 프레임 내에서 상기 서브 블록벡터들을 이용하여 상기 각 픽셀 또는 서브블록별로 예측샘플들을 생성하는 단계를 포함하는 것을 특징으로 하는, 인트라 블록 복사 방법.
- 제1항에 있어서,상기 복호화하는 단계는,상기 맵의 정보로서, 상기 현재블록을 포함하는 현재 CTU의 주변 CTU들의 개수 N(여기서, N은 자연수)을 복호화하고, 상기 리스트의 정보로서, 상기 리스트 내 특정 위치를 나타내는 인덱스를 복호화하는 것을 특징으로 하는, 인트라 블록 복사 방법.
- 제2항에 있어서,상기 기준 블록벡터들을 산정하는 단계는,상기 맵을 이용하는 경우, 상기 맵에서 특정 영역에 존재하는 하나 이상의 블록벡터들을 이용하여, 상기 현재블록에 기준하는 블록벡터들을 도출한 후, 상기 도출된 블록벡터들을 상기 기준 블록벡터들로 이용하는 것을 특징으로 하는, 인트라 블록 복사 방법.
- 제3항에 있어서,상기 특정 영역은,상기 현재블록을 포함하는 현재 CTU와 N 개의 주변 CTU들을 포함하는 영역, 기사용된 블록벡터가 나타내는 픽셀을 포함하는 CTU와 N 개의 주변 CTU들을 포함하는 영역, 상기 현재블록의 모양과 위치, 또는 주변 블록들의 예측모드를 이용하여 유도되는 것을 특징으로 하는, 인트라 블록 복사 방법.
- 제2항에 있어서,상기 기준 블록벡터들을 산정하는 단계는,상기 리스트를 이용하는 경우, 상기 인덱스가 지정하는, 상기 리스트 내 블록벡터들을 상기 기준 블록벡터들로 이용하는 것을 특징으로 하는, 인트라 블록 복사 방법.
- 제5항에 있어서,상기 기준 블록벡터들을 산정하는 단계는,상기 기준 블록벡터들을 이용하여, 상기 리스트를 업데이트하되, 상기 기준 블록벡터들의 전부 또는 일부가 상기 리스트에 포함되어 있지 않은 경우, 시간적으로 먼저 발생한 블록벡터들을 상기 리스트에서 제거한 후, 상기 기준 블록벡터들의 일부를 상기 리스트에 추가하는 것을 특징으로 하는, 인트라 블록 복사 방법.
- 제2항에 있어서,상기 기준 블록벡터들을 산정하는 단계는,상기 현재블록을 기준으로 기설정된 거리보다 멀리 위치하는 픽셀에 해당하는, 상기 리스트 상의 블록벡터를 사용하지 않되, 상기 기설정된 거리는 상위레벨 신택스에 의해 전송되는 것을 특징으로 하는, 인트라 블록 복사 방법.
- 제7항에 있어서,상기 기준 블록벡터들을 산정하는 단계는,상기 기설정된 거리 이내의, 상기 리스트 상의 블록벡터들을 선택한 후, 상기 선택된 블록벡터들의 조합 중 하나를 상기 기준 블록벡터들로 이용하는 것을 특징으로, 인트라 블록 복사 방법.
- 제2항에 있어서,상기 기준 블록벡터들을 산정하는 단계는,상기 기준 블록벡터들의 최대 개수 및 상기 현재블록이 실제로 사용하는 기준 블록벡터들의 개수에 따라, 기하학적 변환의 종류를 제한하되, 상기 기하학적 변환의 종류, 및 대응하는 파라미터는, 상위레벨 신택스에 의해 전송되는 것을 특징으로 하는, 인트라 블록 복사 방법.
- 제2항에 있어서,상기 기준 블록벡터들을 산정하는 단계는,상기 기하학적 변환의 종류에 대응하는 파라미터에 따라 플립(flip), 회전(rotation) 및 스케일링(scaling)의 특성을 제한하는 것을 특징으로 하는, 인트라 블록 복사 방법.
- 제10항에 있어서,상기 기준 블록벡터들을 산정하는 단계는,상기 현재블록의 주변 블록들의 예측모드 중 블록 복사에 해당하는 예측모드의 개수에 기초하여, 상기 기준 블록벡터들의 최대 개수를 유도하는 것을 특징으로 하는, 인트라 블록 복사 방법.
- 제1항에 있어서,상기 서브 블록벡터들을 산정하는 단계는,기하학적 변환을 적용하기 위해 상기 기준 블록벡터들의 개수에 따라 기설정된 상이한 수식들을 이용하는 것을 특징으로 하는, 인트라 블록 복사 방법.
- 제1항에 있어서,상기 서브 블록벡터들을 산정하는 단계는,상기 현재블록의 일부 영역에 대해, 상기 서브 블록벡터들이 아닌 다른 블록벡터를 이용하되, 상기 다른 블록벡터는 상기 기준 블록벡터들 중의 하나, 또는 상기 기준 블록벡터들 중 둘 이상의 평균에 따른 벡터인 것을 특징으로 하는, 인트라 블록 복사 방법.
- 제1항에 있어서,상기 예측샘플들을 생성하는 단계는,상기 현재블록의 각 픽셀 또는 서브블록별로 상기 서브 블록벡터의 위치에서의 픽셀 값들을 상기 예측샘플들로 이용하거나, 상기 서브 블록벡터의 위치에서의 픽셀 값을 필터링하여 상기 예측샘플들로 이용하는 것을 특징으로 하는, 인트라 블록 복사 방법.
- 제1항에 있어서,상기 예측샘플들을 생성하는 단계는,상기 기준 블록벡터들에 따른 참조블록의 크기가 상기 현재블록보다 더 큰 경우, 상기 각 서브블록에 대해 상기 서브블록보다 넓은 크기의 예측샘플들을 산정하고, 상기 산정된 예측샘플들에 필터를 적용한 후 샘플링을 수행하여 최종 예측샘플들을 산정하는 것을 특징으로 하는, 인트라 블록 복사 방법.
- 제1항에 있어서,상기 예측샘플들을 생성하는 단계는,상기 기준 블록벡터들에 따른 참조블록의 크기가 상기 현재블록보다 더 작은 경우, 상기 각 서브블록별로 산정된 예측샘플들에 대해 L-tap(여기서, L은 자연수) 보간 필터를 적용한 후 샘플링을 수행하여 생성된 예측샘플들의 전부 또는 일부를 최종 예측샘플들로 이용하는 것을 특징으로 하는, 인트라 블록 복사 방법.
- 비트스트림으로부터 기복호화된 블록들에서 이용된 블록벡터들이 저장된 맵(map) 또는 리스트의 정보를 복호화하는 엔트로피 복호화부; 및상기 맵 또는 리스트에 기초하여 현재블록의 꼭지점들에서 기준 블록벡터들을 산정하고, 상기 기준 블록벡터들을 이용하여 상기 현재블록의 각 픽셀 또는 서브블록 단위의 서브 블록벡터들을 산정하는 인트라 예측부를 포함하되,상기 인트라 예측부는,상기 현재블록을 포함하는 동일 프레임 내에서 상기 서브 블록벡터들을 이용하여 상기 각 픽셀 또는 서브블록별로 예측샘플들을 생성하는 것을 특징으로 하는, 영상 복호화 장치.
- 영상 부호화 장치가 수행하는, 인트라 블록 복사(intra block copy) 방법에 있어서,기복호화된 블록들에서 이용된 블록벡터들이 저장된 맵(map) 또는 리스트의 정보를 획득하는 단계;상기 맵 또는 리스트에 기초하여 현재블록의 꼭지점들에서 기준 블록벡터들을 산정하는 단계;상기 기준 블록벡터들을 이용하여 상기 현재블록의 각 픽셀 또는 서브블록 단위의 서브 블록벡터들을 산정하는 단계; 및상기 현재블록을 포함하는 동일 프레임 내에서 상기 서브 블록벡터들을 이용하여 상기 각 픽셀 또는 서브블록별로 예측샘플들을 생성하는 단계를 포함하는 것을 특징으로 하는, 인트라 블록 복사 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21898596.8A EP4250735A1 (en) | 2020-11-24 | 2021-11-24 | Method and device for intra prediction using block copy based on geometric transform |
CN202180078443.0A CN116671104A (zh) | 2020-11-24 | 2021-11-24 | 利用基于几何变换的块复制的帧内预测的方法和装置 |
US18/198,114 US20230291932A1 (en) | 2020-11-24 | 2023-05-16 | Method and apparatus for intra prediction using block copy based on geometric transform |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0158994 | 2020-11-24 | ||
KR20200158994 | 2020-11-24 | ||
KR1020210163126A KR20220071945A (ko) | 2020-11-24 | 2021-11-24 | 기하학적 변환에 기반하는 블록 복사를 이용하는 인트라 예측방법과 장치 |
KR10-2021-0163126 | 2021-11-24 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/198,114 Continuation US20230291932A1 (en) | 2020-11-24 | 2023-05-16 | Method and apparatus for intra prediction using block copy based on geometric transform |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022114770A1 true WO2022114770A1 (ko) | 2022-06-02 |
Family
ID=81754638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/017383 WO2022114770A1 (ko) | 2020-11-24 | 2021-11-24 | 기하학적 변환에 기반하는 블록 복사를 이용하는 인트라 예측방법과 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230291932A1 (ko) |
WO (1) | WO2022114770A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230079960A1 (en) * | 2021-09-15 | 2023-03-16 | Tencent America LLC | On propagating intra prediction mode information of ibc block by using block vector |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160135226A (ko) * | 2014-03-21 | 2016-11-25 | 퀄컴 인코포레이티드 | 비디오 코딩에서 인트라 블록 카피를 위한 검색 영역 결정 |
US20190246110A1 (en) * | 2018-02-05 | 2019-08-08 | Tencent America LLC | Method and apparatus for video coding |
KR20200055124A (ko) * | 2017-10-05 | 2020-05-20 | 인터디지털 브이씨 홀딩스 인코포레이티드 | 비디오 인코딩 및 비디오 디코딩을 위한 방법들 및 장치들 |
WO2020108572A1 (en) * | 2018-11-28 | 2020-06-04 | Beijing Bytedance Network Technology Co., Ltd. | Independent construction method for block vector list in intra block copy mode |
-
2021
- 2021-11-24 WO PCT/KR2021/017383 patent/WO2022114770A1/ko active Application Filing
-
2023
- 2023-05-16 US US18/198,114 patent/US20230291932A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160135226A (ko) * | 2014-03-21 | 2016-11-25 | 퀄컴 인코포레이티드 | 비디오 코딩에서 인트라 블록 카피를 위한 검색 영역 결정 |
KR20200055124A (ko) * | 2017-10-05 | 2020-05-20 | 인터디지털 브이씨 홀딩스 인코포레이티드 | 비디오 인코딩 및 비디오 디코딩을 위한 방법들 및 장치들 |
US20190246110A1 (en) * | 2018-02-05 | 2019-08-08 | Tencent America LLC | Method and apparatus for video coding |
WO2020108572A1 (en) * | 2018-11-28 | 2020-06-04 | Beijing Bytedance Network Technology Co., Ltd. | Independent construction method for block vector list in intra block copy mode |
Non-Patent Citations (1)
Title |
---|
J. CAO, Z.-R. LI, J. WANG, F. LIANG (SYSU), Y.-F. YU (OPPO), Y. LIU (OPPO): "CE8-related: An Intra-Affine mode for screen content coding", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11. 15TH MEETING: GOTHENBURG, SE, 6 July 2019 (2019-07-06), XP030220237 * |
Also Published As
Publication number | Publication date |
---|---|
US20230291932A1 (en) | 2023-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021060938A1 (ko) | 360도 비디오 가상 경계의 인루프 필터를 제한하는 방법 | |
WO2021167340A1 (ko) | 크로마 신호의 리샘플링에 기반하는 영상 부호화 및 복호화 | |
WO2022186616A1 (ko) | 인트라 예측모드 유도를 이용하는 비디오 코딩방법 및 장치 | |
WO2022114770A1 (ko) | 기하학적 변환에 기반하는 블록 복사를 이용하는 인트라 예측방법과 장치 | |
WO2022065977A1 (ko) | 가변계수 딥러닝 기반 인터 예측 방법 | |
WO2022119301A1 (ko) | 인트라 예측을 이용하는 비디오 코딩 방법 및 장치 | |
WO2024117693A1 (ko) | 아핀 모델 기반의 예측에서 움직임 보상 필터를 적응적으로 이용하는 비디오 코딩을 위한 방법 및 장치 | |
WO2022211492A1 (ko) | 디코더 측면의 움직임 보상을 이용하는 비디오 코딩방법 및 장치 | |
WO2024117533A1 (ko) | 아핀 모델 기반의 예측을 이용하는 비디오 코딩방법 및 장치 | |
WO2022197137A1 (ko) | 성분별 적응적 공간해상도를 갖는 움직임벡터를 이용하는 비디오 코딩방법 및 장치 | |
WO2023106603A1 (ko) | 템플릿 매칭 기반 이차적인 mpm 리스트를 이용하는 비디오 코딩을 위한 방법 및 장치 | |
WO2023113209A1 (ko) | 움직임벡터 예측자들의 후보 리스트를 이용하는 비디오 코딩을 위한 방법 및 장치 | |
WO2022119302A1 (ko) | 블록병합을 이용하는 비디오 코딩 방법 및 장치 | |
WO2022031115A1 (ko) | 딥러닝 기반 인터 예측을 이용하는 영상 부호화 및 복호화 | |
WO2023224280A1 (ko) | 혼합 성분간 예측을 사용하는 비디오 코딩을 위한 방법 및 장치 | |
WO2023219288A1 (ko) | 양방향 예측을 이용하는 크로마 성분의 인터 예측을 위한 방법 | |
WO2022103240A1 (ko) | 크로마 인트라 방향성 예측모드를 적응적으로 결정하는 영상 부호화 및 복호화 방법 | |
WO2024111834A1 (ko) | 복원 참조샘플 기반 성분간 예측을 이용하는 비디오 코딩을 위한 방법 및 장치 | |
WO2022211374A1 (ko) | 매핑 기반 비디오 코딩방법 및 장치 | |
WO2022186620A1 (ko) | 인트라 예측의 예측 신호를 개선하는 비디오 코딩방법 및 장치 | |
WO2024039088A1 (ko) | 비선형 교차 성분 관계에 기반하는 cc-alf를 이용하는 비디오 코딩을 위한 방법 및 장치 | |
WO2023224289A1 (ko) | 가상의 참조라인을 사용하는 비디오 코딩을 위한 방법 및 장치 | |
WO2022211463A1 (ko) | 적응적 인트라 예측 정밀도를 이용하는 비디오 코딩방법 및 장치 | |
WO2023106599A1 (ko) | 참조샘플라인의 유도 기반 인트라 예측을 이용하는 비디오 코딩을 위한 방법 및 장치 | |
WO2024122886A1 (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: 21898596 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202180078443.0 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2021898596 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2021898596 Country of ref document: EP Effective date: 20230622 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |