# Frequency-Based Adaptive Interpolation Filter in Intra Prediction
## 1 Introduction  
As video resolution increases, so does the need for a more efficient and high-compressed video codec. ITU-T Video Coding Experts Group (VCEG) and ISO/IEC Moving Picture Experts Group (MPEG) formed the Joint Video Exploration Team (VET) in October 2015 to develop the next generation video coding standard, and VVC/H.266 standardization [(1)] was completed in July 2020. VVC is a video codec developed after High-Efficiency Video Coding (HEVC/H.265) and achieves a 39% reduction in bit rate compared with HEVC. Similar to Advanced Video Coding (AVC/H.264) [(2; 3)] and HEVC [(4; 5; 6; 7)], VVC is also a block-based video codec. It was developed with a codec in mind that can be used for various types of videos such as higher resolution, screen content, and 360\({}^{\circ}\) video [(8; 9; 10)]. In VVC, the picture is first divided into coding tree units (CTUs), and then the CTUs are recursively divided into coding units (CUs) [(11)]. During CU encoding, intra or inter prediction is performed. Intra prediction [(12)] is a method that generates sample values of a prediction block using the spatial similarity between the current block and adjacent blocks. The adjacent blocks above and to the left of the current block are used as the prediction reference blocks. Intra prediction plays an important role in increasing coding efficiency. The inter prediction [(13; 14)] utilizes temporal redundancy between the current block and reference blocks to improve coding efficiency. After the prediction blocks are generated of intra or inter prediction, the prediction block is subtracted from the current block to be coded, which is called the residual block. The transform [(15)] and quantization processes [(16)] are applied to the residual block. The transform process decorrelates the residual samples using basis vectors in the frequency domain and the quantization process discards the high-frequency data depending on the QP values. Since all CTUs are encoded in the picture, an in-loop filtering process, which consists of a deblocking filter, a sample adaptive offset, and an adaptive loop filter, is applied to the reconstructed block to reconstruct the filtered picture which reduces the coding noise. VVC uses rectangular blocks of various shapes and advanced new tools are used for intra prediction. Once the block shape has become diversified, the wide-angle intra prediction mode with 65 directional prediction modes is available. Therefore, there are 87 intra prediction modes including DC and planar modes. In addition, the multiple reference line (MRL) has been added which uses two non-adjacent reference lines. A new intra sub-partition (ISP) mode is included in VVC, where the prediction block is divided into smaller blocks of the same size to perform prediction and transform on these small blocks. It splits 4 \(\times\) 8 and 8 \(\times\) 4 blocks into two small blocks and the remaining blocks into four small blocks, where the blocks are partitioned horizontally or vertically. Reference sample filtering is also performed to generate more accurate prediction values from reference samples of adjacent blocks of the current block. When the intra prediction mode has integer-slope modes, reference sample smoothing is applied to the integer reference samples. For fractional-slope modes, an interpolation filter is applied to integer reference samples to create fractional positioned reference samples. In Position Dependent Prediction Combination (PDPC), unfiltered or filtered reference samples are used according to the intra prediction mode and position-dependent weighting is applied to correct the prediction value of the current CU. In Matrix-Based Intra Prediction (MIP) using a predefined data-driven matrix in VVC, the upper reference samples and left CU reference samples are used to generate the current block prediction samples by matrix multiplication and linear interpolation.