WO2024076134A1 - 동영상 인코딩 및 디코딩 장치와 방법 - Google Patents

동영상 인코딩 및 디코딩 장치와 방법 Download PDF

Info

Publication number
WO2024076134A1
WO2024076134A1 PCT/KR2023/015226 KR2023015226W WO2024076134A1 WO 2024076134 A1 WO2024076134 A1 WO 2024076134A1 KR 2023015226 W KR2023015226 W KR 2023015226W WO 2024076134 A1 WO2024076134 A1 WO 2024076134A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
transform
transformation
kernel
order
Prior art date
Application number
PCT/KR2023/015226
Other languages
English (en)
French (fr)
Inventor
이영렬
김명준
송현주
임수연
최민경
Original Assignee
세종대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 세종대학교산학협력단 filed Critical 세종대학교산학협력단
Publication of WO2024076134A1 publication Critical patent/WO2024076134A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/18Methods 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 a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to a video encoding and decoding device and method, and more specifically, to deriving the kernel of at least one transform of primary or secondary, and applying the kernel of the derived transformer to the corresponding transformer. It relates to a video encoding and decoding device and method.
  • the present invention seeks to improve the coding efficiency of video signals.
  • the encoding/decoding method of the present invention and a computer-readable recording medium storing a bitstream include the steps of inversely quantizing a quantization block obtained from a bitstream to obtain a secondary transform block, and performing secondary inverse transformation on the secondary transform block. Determining whether to perform, If it is determined to perform the secondary inverse transform, performing the secondary inverse transform on the secondary transform block to obtain a primary transform block, 1 for the primary transform block It may include performing a second inverse transformation.
  • the transform kernel of the secondary inverse transform and the transform kernel of the first inverse transform may be specified by an index signaled from the bitstream.
  • the maximum value and configuration of the index may differ depending on whether the applied transform kernel is a one-dimensional transform kernel or a two-dimensional transform kernel. You can.
  • the transform kernel of the secondary inverse transform and the transform kernel of the first inverse transform may include KLT (Karhunen Loeve Transform).
  • At least one output block of the secondary inverse transform or the first inverse transform may have a size smaller than the size of the input block.
  • whether to perform the secondary transformation may be determined based on at least one of the type of transformation kernel, the number of transformation coefficients, and the size of the block. You can.
  • the encoding/decoding method of the present invention and a computer-readable recording medium storing a bitstream include the steps of inversely quantizing a quantization block obtained from a bitstream to obtain a first-order transform block, and first-order inverse transformation on the first-order transform block. It may include determining a transform kernel of , and obtaining a residual block by performing a first-order inverse transform on the first-order transform block based on the determined transform kernel of the first-order inverse transform.
  • the encoding/decoding method of the present invention and a computer-readable recording medium storing a bitstream include determining an intra-prediction mode of a current block and interpolating a reference pixel used in the intra-prediction mode,
  • the reference pixel may be included in a reference block adjacent to the current block, and the interpolation filter applied to the interpolation may include an 8-tap filter.
  • the video encoding and decoding device and method according to the present invention can improve the encoding efficiency of video signals by applying a suitable kernel to the converter.
  • Figure 1 is a block diagram showing a video encoding device according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing an image decoding device 200 according to an embodiment of the present invention.
  • Figure 3 is a diagram illustrating an off-line training process for deriving a transformation kernel.
  • Figure 4 shows representative blocks obtained by clustering and obtaining representative values.
  • Figure 5 shows an embodiment of applying a 1 dimension (1D) transformation kernel.
  • Figure 6 shows an embodiment of applying a 2D transformation kernel.
  • Figure 7 is a diagram showing the conversion process in the encoder.
  • Figure 8 is a diagram showing the inverse conversion process in the decoder.
  • Figure 9 is a diagram illustrating a first embodiment of applying a 1D transformation kernel using dimension reduction.
  • Figure 10 is a diagram showing a second embodiment of applying a 1D transformation kernel using dimension reduction.
  • Figure 11 is a diagram showing a third embodiment of applying a 1D transformation kernel using dimension reduction.
  • FIG. 12 is a diagram illustrating a fourth embodiment in which a 1D transformation kernel is applied to the case where the entire data is transformed without dimension reduction.
  • Figure 13 is a diagram illustrating a first embodiment of applying a 2D transformation kernel using dimension reduction.
  • Figure 14 is a diagram showing a second embodiment of applying a 2D transformation kernel using dimension reduction.
  • Figure 15 is a diagram showing a second embodiment of applying a 2D transformation kernel using dimension reduction.
  • Figure 16 is a diagram showing a third embodiment of applying a 2D transformation kernel without dimension reduction.
  • Figure 17 shows an example of rearranging vectors into 2D blocks.
  • Figure 18 shows an embodiment of scanning coefficients of relocated blocks.
  • Figure 19 is a diagram illustrating an embodiment in which a 1D transformation kernel for primary transformation is signaled.
  • Figure 20 is a diagram showing an embodiment in which a 2D transformation kernel for primary transformation is signaled.
  • Figure 21 is a diagram illustrating an embodiment in which a 1D transformation kernel for secondary transformation is signaled.
  • Figure 22 is a diagram illustrating an embodiment in which a 2D transformation kernel for secondary transformation is signaled.
  • Figure 23 shows an example in which only the first transform is applied in the encoder.
  • Figure 24 shows an example in which only the first-order inverse transform is applied in the decoder.
  • Figure 26 is a diagram showing the signal-dependent transform kernel size and the corresponding inverse kernel.
  • Figure 27 is a diagram showing scanning of one-dimensional data.
  • Figure 28 is a diagram showing h[n], y[n], and z[n] for obtaining the 8-tap coefficient.
  • Figure 29 shows the integer reference samples used to derive the 8-tap SIF coefficients.
  • Figure 30 is a diagram showing the direction and angle of the intra-screen prediction mode.
  • Figure 31 is a diagram showing the average correlation value of reference samples for various video resolutions and each nTbS.
  • Figure 32 shows an example of a method for selecting an interpolation filter using frequency information.
  • Figure 33 shows embodiments for 8-tap DCT interpolation filter coefficients.
  • Figure 34 shows an example for 8-tap smoothing interpolation filter coefficients.
  • Figure 35 shows the magnitude response at 16/32 pixel positions for 4-tap DCT-IF, 4-tap SIF, 8-tap DCT-IF, and 8-tap SIF.
  • Figure 36 shows a diagram related to each threshold according to nTbS.
  • Figure 37 shows the sequence name, screen size, screen rate and bit depth of the CTC video sequence for each class.
  • Figure 38 shows the interpolation filter selection method and the interpolation filter applied according to the selected method to test the efficiency of the 8-tap/4-tap interpolation filter.
  • Table IX and Table X in Figure 39 show the simulation results of methods A, B, C, and D.
  • Figure 41 shows experimental results for the proposed filtering method.
  • the invention of the present disclosure includes obtaining a secondary transform block by inversely quantizing a quantization block obtained from a bitstream, determining whether to perform secondary inverse transformation on the secondary transform block, and performing the secondary inverse transformation. If determined, the second-order inverse transformation on the second-order transform block is performed to obtain a first-order transform block, and the first-order inverse transform can be performed on the first-order transform block.
  • first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.
  • a first component may be named a second component, and similarly, the second component may also be named a first component without departing from the scope of the present invention.
  • the term and/or includes any of a plurality of related stated items or a combination of a plurality of related stated items.
  • the present invention is a separable method such as signal-independent DCT-2 (Discrete Cosine Transform-2), DCT-8 (Discrete Cosine Transform-8), and DST-7 (Discrete Sine Transform-7) used in video compression/restoration standards.
  • a signal using the covariance and correlation of each two-dimensional block here, block refers to a residual signal block or transformed block
  • KL Kerhunen-Loeve
  • SVD Single Value Decomposition
  • Figure 1 is a block diagram showing a video encoding device according to an embodiment of the present invention.
  • the image encoding device 100 includes an image segmentation unit 101, an intra-screen prediction unit 102, an inter-screen prediction unit 103, a subtraction unit 104, a transformation unit 105, and a quantization unit. (106), it may include an entropy encoding unit 107, an inverse quantization unit 108, an inverse transform unit 109, a multiplication unit 110, a filter unit 111, and a memory 112.
  • each component shown in FIG. 1 is shown independently to represent different characteristic functions in the video encoding device, and does not mean that each component is comprised of separate hardware or a single software component. That is, each component is listed and included as a separate component for convenience of explanation, and at least two of each component can be combined to form one component, or one component can be divided into a plurality of components to perform a function, and each of these components can be divided into a plurality of components. Integrated embodiments and separate embodiments of the constituent parts are also included in the scope of the present invention as long as they do not deviate from the essence of the present invention.
  • some components may not be essential components that perform essential functions in the present invention, but may simply be optional components to improve performance.
  • the present invention can be implemented by including only essential components for implementing the essence of the present invention excluding components used only to improve performance, and a structure including only essential components excluding optional components used only to improve performance. is also included in the scope of rights of the present invention.
  • the image segmentation unit 100 may divide the input image into at least one block.
  • the input image may have various shapes and sizes, such as pictures, slices, tiles, and segments.
  • a block may refer to a coding unit (CU), prediction unit (PU), or transformation unit (TU).
  • the division may be performed based on at least one of a quadtree or binary tree.
  • the quad tree is a method of dividing a parent block into four child blocks whose width and height are half that of the parent block.
  • a binary tree is a method of dividing a parent block into child blocks whose width or height is half that of the parent block.
  • the prediction units 102 and 103 may include an inter prediction unit 103 that performs inter prediction and an intra prediction unit 102 that performs intra prediction. It is possible to determine whether to use inter prediction or intra prediction for a prediction unit, and determine specific information (eg, intra prediction mode, motion vector, reference picture, etc.) according to each prediction method. At this time, the processing unit in which the prediction is performed and the processing unit in which the prediction method and specific contents are determined may be different. For example, the prediction method and prediction mode are determined in prediction units, and prediction may be performed in transformation units.
  • the residual value (residual block) between the generated prediction block and the original block may be input to the conversion unit 105. Additionally, prediction mode information, motion vector information, etc. used for prediction may be encoded in the entropy encoder 107 together with the residual value and transmitted to the decoder. When using a specific encoding mode, it is possible to encode the original block as is and transmit it to the decoder without generating a prediction block through the prediction units 102 and 103.
  • the intra-screen prediction unit 102 may generate a prediction block based on reference pixel information around the current block, which is pixel information in the current picture. If the prediction mode of the neighboring block of the current block to which intra prediction is to be performed is inter prediction, the reference pixel included in the neighboring block to which inter prediction has been applied may be replaced with a reference pixel in another neighboring block to which intra prediction has been applied. That is, when the reference pixel is not available, the unavailable reference pixel information can be used by replacing at least one reference pixel among the available reference pixels.
  • the prediction mode can include a directional prediction mode that uses reference pixel information according to the prediction direction and a non-directional mode that does not use directional information when performing prediction.
  • the mode for predicting luminance information and the mode for predicting chrominance information may be different, and intra prediction mode information used to predict luminance information or predicted luminance signal information may be used to predict chrominance information.
  • the intra-screen prediction unit 102 may include an Adaptive Intra Smoothing (AIS) filter, a reference pixel interpolation unit, and a DC filter.
  • AIS Adaptive Intra Smoothing
  • the AIS filter is a filter that performs filtering on the reference pixels of the current block, and can adaptively determine whether to apply the filter depending on the prediction mode of the current prediction unit. If the prediction mode of the current block is a mode that does not perform AIS filtering, the AIS filter may not be applied.
  • the intra prediction mode of the prediction unit is a prediction unit that performs intra prediction based on the pixel value by interpolating the reference pixel
  • the reference pixel interpolation unit of the intra-screen prediction unit 102 interpolates the reference pixel to obtain the reference pixel at the fractional position. can be created.
  • the prediction mode of the current prediction unit is a prediction mode that generates a prediction block without interpolating the reference pixel
  • the reference pixel may not be interpolated.
  • the DC filter can generate a prediction block through filtering when the prediction mode of the current block is DC mode.
  • the inter-screen prediction unit 103 generates a prediction block using the previously restored reference image and motion information stored in the memory 112.
  • Motion information may include, for example, a motion vector, reference picture index, list 1 prediction flag, list 0 prediction flag, etc.
  • a residual block containing residual information which is a difference value between the prediction unit generated in the prediction units 102 and 103 and the original block of the prediction unit, may be generated.
  • the generated residual block may be input to the conversion unit 130 and converted.
  • the inter-screen prediction unit 103 may derive a prediction block based on information on at least one picture among the picture before or after the current picture. Additionally, a prediction block of the current block may be derived based on information on a portion of the area in the current picture that has been encoded.
  • the inter-screen prediction unit 103 may include a reference picture interpolation unit, a motion prediction unit, and a motion compensation unit.
  • the reference picture interpolation unit may receive reference picture information from the memory 112 and generate pixel information of an integer number of pixels or less from the reference picture.
  • a DCT-based 8-tap interpolation filter with different filter coefficients can be used to generate pixel information of an integer pixel or less in 1/4 pixel units.
  • a DCT-based 4-tap interpolation filter with different filter coefficients can be used to generate pixel information of an integer pixel or less in 1/8 pixel units.
  • the motion prediction unit may perform motion prediction based on the reference picture interpolated by the reference picture interpolation unit.
  • Various methods such as FBMA (Full search-based Block Matching Algorithm), TSS (Three Step Search), and NTS (New Three-Step Search Algorithm), can be used to calculate the motion vector.
  • the motion vector may have a motion vector value in units of 1/2 or 1/4 pixels based on the interpolated pixels.
  • the motion prediction unit can predict the prediction block of the current block by using a different motion prediction method.
  • various methods such as a skip method, a merge method, and an Advanced Motion Vector Prediction (AMVP) method can be used.
  • AMVP Advanced Motion Vector Prediction
  • the subtraction unit 104 generates a residual block of the current block by subtracting the block to be currently encoded from the prediction block generated in the intra prediction unit 102 or the inter-screen prediction unit 103.
  • the transform unit 105 can transform a residual block including residual data using a transform method such as DCT, DST, KLT (Karhunen Loeve Transform, KL), or SVD.
  • a transform method such as DCT, DST, KLT (Karhunen Loeve Transform, KL), or SVD.
  • the transformation method (or transformation kernel) may be determined based on the intra prediction mode of the prediction unit used to generate the residual block. For example, depending on the intra prediction mode, DCT may be used in the horizontal direction and DST may be used in the vertical direction.
  • the quantization unit 106 may quantize the values converted to the frequency domain by the conversion unit 105.
  • the quantization coefficient may change depending on the block or the importance of the image.
  • the value calculated by the quantization unit 106 may be provided to the inverse quantization unit 108 and the entropy encoding unit 107.
  • the transform unit 105 and/or the quantization unit 106 may be optionally included in the image encoding device 100. That is, the image encoding apparatus 100 may perform at least one of transformation or quantization on the residual data of the residual block, or may skip both transformation and quantization to encode the residual block. Even if either transformation or quantization is not performed in the image encoding device 100, or both transformation and quantization are not performed, the block that enters the input of the entropy encoding unit 107 is generally referred to as a transformation block.
  • the entropy encoding unit 107 entropy encodes the input data. Entropy coding can use various coding methods, such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
  • the entropy encoding unit 107 provides various information such as coefficient information of the transform block, block type information, prediction mode information, division unit information, prediction unit information, transmission unit information, motion vector information, reference frame information, block interpolation information, and filtering information. Information can be encoded.
  • the coefficients of the transform block may be encoded on a sub-block basis within the transform block.
  • Last_sig For encoding the coefficients of the transform block, Last_sig, a syntax element indicating the position of the first non-zero coefficient according to the scan order, Coded_sub_blk_flag, a flag indicating whether there is at least one non-zero coefficient in the subblock, Sig_coeff_flag, a flag indicating whether the coefficient is not 0, Abs_greaterN_flag, a flag indicating whether the absolute value of the coefficient is greater than N (where N can be a natural number such as 1, 2, 3, 4, 5, etc.), and the sign of the coefficient.
  • Various syntax elements such as Sign_flag, which is the flag that represents, can be encoded.
  • the residual value of the coefficient that is not encoded only with the syntax elements may be encoded through the syntax element remaining_coeff.
  • the inverse quantization unit 108 and the inverse transformation unit 109 inversely quantize the values quantized in the quantization unit 106 and inversely transform the values transformed in the transformation unit 105.
  • the residual value generated in the inverse quantization unit 108 and the inverse transform unit 109 is predicted through the motion estimation unit, motion compensation unit, and intra-screen prediction unit 102 included in the prediction units 102 and 103. It can be combined with a prediction unit to create a reconstructed block.
  • the multiplier 110 multiplies the prediction block generated by the prediction units 102 and 103 and the residual block generated through the inverse transform unit 109 to generate a restored block.
  • the filter unit 111 may include at least one of a deblocking filter, an offset correction unit, and an adaptive loop filter (ALF).
  • ALF adaptive loop filter
  • the deblocking filter can remove block distortion caused by boundaries between blocks in the restored picture. To determine whether to perform deblocking, it is possible to determine whether to apply a deblocking filter to the current block based on the pixels included in several columns or rows included in the block. When applying a deblocking filter to a block, a strong filter or a weak filter can be applied depending on the required deblocking filtering strength. Additionally, when applying a deblocking filter, horizontal filtering and vertical filtering can be processed in parallel when vertical filtering and horizontal filtering are performed.
  • the offset correction unit may correct the offset of the deblocked image from the original image in pixel units.
  • the pixels included in the image are divided into a certain number of areas, then the area to perform offset is determined and the offset is applied to that area, or the offset is performed by considering the edge information of each pixel. You can use the method of applying .
  • Adaptive Loop Filtering can be performed based on a comparison between the filtered restored image and the original image. After dividing the pixels included in the image into predetermined groups, filtering can be performed differentially for each group by determining one filter to be applied to that group. Information related to whether to apply ALF may be transmitted for each coding unit (CU), and the shape and filter coefficients of the ALF filter to be applied may vary for each block. Additionally, an ALF filter of the same type (fixed type) may be applied regardless of the characteristics of the block to which it is applied.
  • ALF Adaptive Loop Filtering
  • the memory 112 may store a reconstructed block or picture calculated through the filter unit 111, and the stored reconstructed block or picture may be provided to the prediction units 102 and 103 when performing inter-screen prediction.
  • Figure 2 is a block diagram showing an image decoding device 200 according to an embodiment of the present invention.
  • the image decoding device 200 includes an entropy decoding unit 201, an inverse quantization unit 202, an inverse transform unit 203, a multiplication unit 204, a filter unit 205, a memory 206, and It may include prediction units 207 and 208.
  • the input bitstream may be decoded according to a process opposite to the process performed in the video encoding device 100.
  • the entropy decoding unit 201 may perform entropy decoding in a procedure opposite to that of the entropy encoding unit 107 of the video encoding device 100. For example, various methods such as Exponential Golomb, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding) can be applied in response to the method performed in the image encoder.
  • the entropy decoder 201 can decode the syntax elements described above, namely Last_sig, Coded_sub_blk_flag, Sig_coeff_flag, Abs_greaterN_flag, Sign_flag, and remaining_coeff. Additionally, the entropy decoder 201 may decode information related to intra prediction and inter prediction performed by the video encoding apparatus 100.
  • the inverse quantization unit 202 generates a transform block by performing inverse quantization on the quantized transform block. It operates substantially the same as the inverse quantization unit 108 of FIG. 1.
  • the inverse transform unit 203 generates a residual block by performing inverse transform on the transform block.
  • the transformation method may be determined based on information about the prediction method (inter or intra prediction), size and/or shape of the block, intra prediction mode, etc. It operates substantially the same as the inverse conversion unit 109 of FIG. 1.
  • the multiplication unit 204 generates a restored block by multiplying the prediction block generated by the intra-prediction unit 207 or the inter-screen prediction unit 208 and the residual block generated through the inverse transform unit 203. It operates substantially the same as the multiplier 110 of FIG. 1.
  • the filter unit 205 reduces various types of noise occurring in restored blocks.
  • the filter unit 205 may include a deblocking filter, an offset correction unit, and an ALF.
  • Information on whether a deblocking filter has been applied to the corresponding block or picture can be provided from the video encoding device 100, and when a deblocking filter has been applied, information on whether a strong filter or a weak filter has been applied.
  • the deblocking filter of the video decoding device 200 information related to the deblocking filter provided by the video encoding device 100 is provided, and the video decoding device 200 can perform deblocking filtering on the corresponding block.
  • the offset correction unit may perform offset correction on the reconstructed image based on the type of offset correction applied to the image during encoding and offset value information.
  • ALF may be applied to the coding unit based on ALF application availability information, ALF coefficient information, etc. provided from the video encoding device 100. This ALF information may be included and provided in a specific parameter set.
  • the filter unit 205 operates substantially the same as the filter unit 111 of FIG. 1.
  • the memory 206 stores the restored block generated by the multiplication unit 204. It operates substantially the same as the memory 112 of FIG. 1.
  • the prediction units 207 and 208 may generate a prediction block based on prediction block generation-related information provided by the entropy decoding unit 201 and previously decoded block or picture information provided by the memory 206.
  • the prediction units 207 and 208 may include an intra-screen prediction unit 207 and an inter-screen prediction unit 208. Although not shown separately, the prediction units 207 and 208 may further include a prediction unit determination unit.
  • the prediction unit discriminator receives various information such as prediction unit information input from the entropy decoder 201, prediction mode information of the intra prediction method, and motion prediction-related information of the inter prediction method, distinguishes the prediction unit from the current encoding unit, and makes predictions. It is possible to determine whether a unit performs inter-prediction or intra-prediction.
  • the inter-prediction unit 208 uses the information required for inter prediction of the current prediction unit provided by the video encoding device 100 to predict information included in at least one of the pictures preceding or following the current picture including the current prediction unit. Based on , inter-screen prediction for the current prediction unit can be performed. Alternatively, inter-screen prediction may be performed based on information on a pre-restored partial region within the current picture including the current prediction unit.
  • the intra-screen prediction unit 207 generates a prediction block using previously restored pixels located around the block to be currently encoded.
  • the intra-screen prediction unit 207 may include an Adaptive Intra Smoothing (AIS) filter, a reference pixel interpolation unit, and a DC filter.
  • the AIS filter is a filter that performs filtering on the reference pixels of the current block, and can adaptively determine whether to apply the filter depending on the prediction mode of the current prediction unit.
  • AIS filtering can be performed on the reference pixel of the current block using the prediction mode and AIS filter information of the prediction unit provided by the image encoding device 100. If the prediction mode of the current block is a mode that does not perform AIS filtering, the AIS filter may not be applied.
  • the prediction mode of the prediction unit is a prediction unit that performs intra prediction based on the pixel value by interpolating the reference pixel
  • the reference pixel interpolation unit of the intra-screen prediction unit 207 interpolates the reference pixel to determine the reference pixel at the fractional position. can be created.
  • the generated reference pixel at the fractional position can be used as a predicted pixel for the pixel in the current block.
  • the prediction mode of the current prediction unit is a prediction mode that generates a prediction block without interpolating the reference pixel, the reference pixel may not be interpolated.
  • the DC filter can generate a prediction block through filtering when the prediction mode of the current block is DC mode.
  • the intra-screen prediction unit 207 operates substantially the same as the intra-screen prediction unit 102 of FIG. 1 .
  • the inter-screen prediction unit 208 generates an inter-screen prediction block using the reference picture and motion information stored in the memory 206.
  • the inter-screen prediction unit 208 operates substantially the same as the inter-screen prediction unit 103 of FIG. 1 .
  • Figure 3 is a diagram illustrating an off-line training process for deriving a transformation kernel.
  • the kernel of the converter is derived can be explained in Figure 3.
  • the information may include a residual block, a first-order transform block, etc.
  • the above information can be used as input information in the conversion kernel derivation step.
  • a residual block may be used as input information for offline training.
  • a primary transform block can be used as input information for offline training.
  • the first-order transformation kernel can be derived using the residual block directly reconstructed from the decoder, and the second-order transformation kernel can be derived using the restored first-order transformation block. can be induced.
  • multiple blocks can be clustered and the representative value of each cluster can be set.
  • residual blocks of size M ⁇ N (M: height, N: width) can be used.
  • primary transformed blocks of size M ⁇ N (M: height, N: width) can be used.
  • the number of clusters and the number of representative values can be set to any K number.
  • K may be an integer such as 1, 2, 3, or 4.
  • all or part of the K representative values can be used.
  • x number of representative values can be selected and used to derive the kernel of the converter.
  • x may be a natural number smaller than K.
  • K when calculating representative values of 30,000 4 ⁇ 4 block-sized residual blocks, K can be set to 3. Since K is set to 3, a total of 3 representative values can be obtained. At this time, two of the three representative values can be selected and used to derive the conversion kernel. Therefore, two transformation kernels can be derived in the [2] transformation kernel derivation step through two representative values.
  • a KL or SVD transformation kernel is derived using the covariance matrix or correlation matrix of the clustered blocks.
  • the size of the block for deriving the kernel may be M ⁇ N (matrix notation may be used for M ⁇ N).
  • the Eigen value ⁇ can be derived.
  • Covariance Matrix derivation can be performed using Equation 1 below.
  • MN ⁇ 1 vector may represent the clustered blocks in the form of an MN ⁇ 1 vector. Additionally, may represent the MN ⁇ 1 average vector for L sample data.
  • Equation 2 Is It can mean a transpose of .
  • MN means M ⁇ N.
  • Equation 2 is The definition for may be expressed as an equation.
  • Equation 3 (Vertical KL Transform kernel) can be derived as in Equation 3. Is It can be a transpose of .
  • Equation 3 Derivation of the Vertical Covariance Matrix can be performed using Equation 3 below.
  • i 1,2,3,... ,N, and is an M ⁇ 1 vector
  • i is column
  • j is sample block number
  • Is It may be an M ⁇ 1 average vector of the i-th column of .
  • Equation 4 is The definition for may be expressed as an equation.
  • Equation 5 (Horizontal KL Transform kernel) can be derived as shown in Equation 5. Is It can be a transpose of .
  • i is row
  • j is sample block number
  • Is It may be an N ⁇ 1 average vector of the i-th row of .
  • Figure 5 shows an embodiment of applying a 1 dimension (1D) transformation kernel.
  • the embodiment of FIG. 5 is an example of applying a 1D transformation kernel (separable KLT), and explains an example of applying a 1D transformation kernel to a primary transform or secondary transform.
  • the input value in FIG. 5 may be a residual block or a first-order transformed block, and the output value may be a first- or second-order transformed block using at least one of a vertical kernel or a horizontal kernel.
  • Figure 6 shows an embodiment of applying a 2D transformation kernel.
  • the embodiment of FIG. 6 may be an example of applying a 2D transformation kernel (non-separable KLT).
  • the input value in FIG. 6 may be a rearranged residual block or first-order transformation block in the form of a one-dimensional vector, and the output value may be a block in which the first or second-order transformed vectors have been rearranged using a 2D transformation kernel.
  • Figure 7 is a diagram showing the conversion process in the encoder.
  • a first-order transform block can be obtained by performing a first-order transform on the residual block. It may be determined whether to perform secondary transformation on the primary transformation block. If it is determined to perform the secondary transformation, a secondary transformation block can be obtained by performing the secondary transformation. The quantized block obtained by quantizing the secondary transform block can be encoded into a bitstream.
  • the transformation kernel applied to the first transformation using the residual block as input may not only include kernels such as DST and DCT, but may further include kernels such as KLT.
  • the KLT kernel may be optionally included. Whether the KLT kernel is included may be determined depending on the characteristics of the residual block. Here, the characteristics of the residual block may include the width, height, size, shape, division depth, etc. of the residual block. Alternatively, information indicating whether the KLT kernel is selectively included may be encoded in the bitstream.
  • information indicating the type of kernel applied to primary transformation may be encoded into a bitstream.
  • secondary conversion can be performed considering the conditions for secondary conversion.
  • conditions for secondary transformation are as follows. If at least one of the conditions below applies, secondary conversion can be performed.
  • DCT 2 vertical kernel, horizontal kernel
  • Secondary conversion can be performed using the first converted block as input.
  • kernels such as DST and DCT
  • KLT kernel can be applied for the secondary transformation.
  • the KLT kernel can be optionally applied. Whether the KLT kernel is applied may be determined depending on the characteristics of the residual block. Here, the characteristics of the residual block may include the width, height, size, shape, division depth, etc. of the residual block. Alternatively, information indicating whether the KLT kernel is selectively applied may be encoded in the bitstream.
  • information indicating the type of kernel applied to the secondary transformation may be encoded into a bitstream.
  • the secondary converted vector can be arranged in the form of a block in the diagonal scanning direction from the two-dimensional coordinate (0,0) of frequency information with high energy. Additionally, the block can be an input value for the quantization step.
  • Figure 8 is a diagram showing the inverse conversion process in the decoder.
  • a secondary transform block can be obtained by dequantizing the quantized block obtained from the bitstream. It may be determined whether to perform secondary inverse transformation on the secondary transformation block. If it is determined to perform the secondary inverse transform, the first transform block can be obtained by performing the secondary inverse transform on the secondary transform block. It may include performing first-order inverse transformation on the first-order transform block.
  • An inverse quantization step is performed, and the coefficients can be rearranged by diagonal scanning.
  • a secondary inverse transformation is applied, it can be rearranged in the form of a vector.
  • the second-order inversion may be performed by considering the second-order inversion conditions.
  • the above conditions may be the same as the conditions considered in the encoding step.
  • the kernel to be applied to secondary inverse transformation may be determined based on secondary transformation kernel information signaled from the bitstream. Based on the determined second-order inversion kernel, second-order inversion may be performed.
  • first-order transformation kernel information for first-order inverse transformation can be signaled from the bitstream. Based on the first transformation kernel information, a transformation kernel to be applied to the first inverse transformation may be determined. First-order inverse transformation may be performed with the determined transformation kernel. The residual block can be obtained through the first inverse transformation.
  • input and output can be defined as follows.
  • a second-order transformed block (size varies depending on dimension reduction) that performs KLT by removing basis with small energy (corresponding to small ⁇ values)
  • Figure 9 is a diagram illustrating a first embodiment of applying a 1D transformation kernel using dimension reduction.
  • the first embodiment of FIG. 9 is an example of applying a 1D transformation kernel (separable KLT), and may be an example of applying a 1D transformation kernel to a primary transform or secondary transform.
  • dimension reduction is performed, and when the input block is MxN, the size of the output block may be M/2 x N/2, unlike FIG. 5 (in the case of FIG. 5, the output block is MxN).
  • an example is shown that uses a KL transformation kernel in the vertical direction and a KL transformation kernel in the horizontal direction, and shows a dimension reduction of 1/2 in the vertical and horizontal directions, respectively.
  • Figure 10 is a diagram showing a second embodiment of applying a 1D transformation kernel using dimension reduction.
  • the second embodiment of FIG. 10 is an example of applying a 1D transformation kernel (separable KLT), and may be applying the 1D transformation kernel to the primary transform or secondary transform.
  • dimension reduction is performed, and when the input block is MxN, the size of the output block may be M/4 x N/2.
  • a vertical KL transformation kernel and a horizontal KL transformation kernel are used, and a dimension reduction of 14 in the vertical direction and a dimension reduction of 1/2 in the horizontal direction can be expressed.
  • Figure 11 is a diagram showing a third embodiment of applying a 1D transformation kernel using dimension reduction.
  • the third embodiment of FIG. 11 is an example of applying a 1D transformation kernel (separable KLT), and may be applying the 1D kernel to the primary transform or secondary transform.
  • dimension reduction is performed, and when the input block is MxN, the size of the output block may be M/4 x N/4.
  • a KL transformation kernel in the vertical direction and a KL transformation kernel in the horizontal direction are used, and a dimension reduction of 14 can be indicated in the vertical and horizontal directions, respectively.
  • FIG. 12 is a diagram illustrating a fourth embodiment in which a 1D transformation kernel is applied to the case where the entire data is transformed without dimension reduction.
  • the fourth embodiment of FIG. 12 is an example of applying a 1D transformation kernel (separable KLT), and may be applying the 1D kernel to the primary transform or secondary transform.
  • the entire data is converted without dimension reduction, and the sizes of both the input block and the output block may be MxN. Specifically, it can indicate the use of a vertical KL transformation kernel and a horizontal KL transformation kernel without using dimension reduction.
  • Figure 13 is a diagram showing a first embodiment of applying a 2D transformation kernel using dimension reduction.
  • the output vector may be MN/2, not MN. Specifically, it uses a 2D KL transformation kernel and can represent a dimension reduction of 1/2.
  • Figure 14 is a diagram showing a second embodiment of applying a 2D transformation kernel using dimension reduction.
  • the output vector may be MN/4 rather than MN. Specifically, it uses a 2D KL transformation kernel and can represent a dimension reduction of 1/4.
  • Figure 15 is a diagram showing a second embodiment of applying a 2D transformation kernel using dimension reduction.
  • the output vector may be MN/4 rather than MN. Specifically, it uses a 2D KL transformation kernel and can represent a dimension reduction of 1/4.
  • Figure 16 is a diagram showing a third embodiment of applying a 2D transformation kernel without dimension reduction.
  • the output vector may be MN.
  • it can indicate the application of a 2D transformation kernel of size MN ⁇ MN.
  • Whether to utilize dimension reduction can be determined by the characteristics of the above-mentioned block or information signaled from the bitstream. This can be signaled not only at the block level but also at the upper level of the block.
  • Figure 17 shows an example of rearranging vectors into 2D blocks.
  • the rearrangement may include bottom-up diagonal arrangement, horizontal arrangement, zigzag arrangement, vertical arrangement, etc.
  • the coefficients in the vector can be rearranged into 2D blocks in order of increasing energy. This can be equally applied to first-order or second-order transformation, and can also be applied equally to SVD.
  • Figure 18 shows an embodiment of scanning coefficients of relocated blocks.
  • the scan order for quantization coefficients may vary depending on the rearrangement method in the transformation kernel application step.
  • the scan order may include a scan order for bottom-up diagonal placement, a scan order for horizontal placement, a scan order for zigzag placement, and a scan order for vertical placement.
  • Information about the determined scan order or information about rearrangement may be encoded/decoded through a bitstream. If the scan order is determined based on information about relocation, the relocation method and scan order may have a 1:1 relationship.
  • Figure 19 is a diagram illustrating an embodiment in which a 1D transformation kernel for primary transformation is signaled.
  • H-KLT and V-KLT may refer to the Horizontal KL/SVD Transform kernel and Vertical KL/SVD Transform kernel derived in the present invention, respectively.
  • the conversion kernel is signaled through mts_idx.
  • mts_idx definition and signaling can be performed as shown in the examples of Figures 19A, 19B, and 19C.
  • signaling can be performed by increasing the maximum value of mts_idx or replacing DCT and DST kernel pairs. Examples such as DCT-2 and V-KLT may also be possible.
  • Figure 20 is a diagram showing an embodiment in which a 2D transformation kernel for primary transformation is signaled.
  • mts_idx definition and signaling can be performed as shown in Figures 20A, 20B, and 20C.
  • KLT may refer to the KL/SVD Transform kernel derived from the present invention.
  • the maximum value of mts_idx may be 4, but in Figure 20B, the maximum value of mts_idx may be 5.
  • Figure 21 is a diagram illustrating an embodiment in which a 1D transformation kernel for secondary transformation is signaled.
  • the kernel of the converter can be signaled through secondary_idx.
  • secondary_idx When applying the proposed 1D conversion kernel to secondary conversion, secondary_idx can be defined and signaling as shown in Figures 21A, 21B, and 21C.
  • H-KLT and V-KLT may refer to the Horizontal KL/SVD Transform kernel and Vertical KL/SVD Transform kernel derived in the present invention, respectively.
  • Figure 22 is a diagram illustrating an embodiment in which a 2D transformation kernel for secondary transformation is signaled.
  • secondary_idx When applying the proposed 2D transformation kernel to secondary transformation, secondary_idx can be defined and signaling as shown in Figures 22A, 22B, and 22C.
  • KLT may refer to the KL Transform/SVD Transform kernel derived from the present invention.
  • Figure 23 shows an example in which only the first transform is applied in the encoder.
  • the transformation kernel of the first-order transformation for the residual block can be determined. Based on the determined transformation kernel of the primary transformation, primary transformation may be performed on the residual block to obtain a primary transformation block.
  • the quantized block obtained by quantizing the first transform block can be encoded into a bitstream.
  • the secondary conversion step may be omitted.
  • it may be a process that only performs the first transformation. This may correspond to a case where the above-described condition for secondary conversion is No, but may also include a case where it is omitted regardless of the condition for secondary conversion.
  • Whether or not to perform the conversion process of FIG. 23 may be determined based on at least one of the prediction mode or the size of the block (or the product of the width and height of the block).
  • the conversion process of FIG. 23 may be performed only in intra prediction mode. In contrast, the conversion process of FIG. 23 can be performed only in inter prediction mode.
  • the conversion process of FIG. 23 can be applied only when the block sizes are 4x4, 4x8, 8x4, and 8x8. As another example, the conversion process of FIG. 23 can be applied only when the block size is 4x4, 4x8, 8x4, 8x8, 4x16, and 16x4.
  • the conversion process of Figure 23 can be applied only when the product of the width and height of the block is less than 64.
  • the conversion process of FIG. 23 can be applied only when the prediction mode of the current block is intra prediction mode and the block size is 4x4, 4x8, 8x4, 8x8, 4x16, and 16x4.
  • the conversion process of FIG. 23 can be applied only when the prediction mode of the current block is intra prediction mode and the block size is 4x4, 4x8, 8x4, and 8x8.
  • the conversion process of FIG. 23 can be applied only when the prediction mode of the current block is intra prediction mode and the product of the width and height of the block is less than 64.
  • the first conversion kernel signaling step of FIG. 23 may be signaled as follows, as shown in FIG. 2.
  • kernel 1 If the prediction direction mode in the screen is DC or planar, kernel 1
  • the scan order for transmitting quantized coefficients may vary depending on the arrangement method in the kernel application stage of the converter. (Results may be similar even if you scan from those with lower energy)
  • Figure 17 shows the scan order for bottom-up diagonal arrangement
  • Figure 18 shows the scan order for horizontal arrangement
  • Figure 19 shows the scan order for vertical arrangement
  • Figure 20 shows It can indicate the scan order for zigzag arrangement.
  • Figure 24 shows an example in which only the first-order inverse transform is applied in the decoder.
  • a first-order transform block can be obtained by dequantizing the quantized block obtained from the bitstream.
  • the transform kernel of the first inverse transform for the first transform block can be determined.
  • a residual block can be obtained by performing the first-order inverse transform on the first-order transform block.
  • the secondary inverse conversion step may be omitted.
  • it may be a process of performing only the first inverse transformation. This may correspond to a case where the above-described condition for secondary conversion is No, but may also include a case where it is omitted regardless of the condition for secondary conversion.
  • Whether to perform the inverse transformation process of FIG. 24 may be determined based on at least one of the prediction mode or the size of the block (or the product of the width and height of the block).
  • the inverse transformation process of FIG. 24 can be performed only in intra prediction mode. In contrast, the inverse transformation process of FIG. 24 can be performed only in inter prediction mode.
  • the inverse transformation process of FIG. 24 can be applied only when the block sizes are 4x4, 4x8, 8x4, and 8x8.
  • the inverse transformation process of FIG. 24 can be applied only when the block size is 4x4, 4x8, 8x4, 8x8, 4x16, and 16x4.
  • the inverse transformation process of Figure 24 can be applied only when the product of the width and height of the block is less than 64.
  • the inverse transformation process of FIG. 24 can be applied only when the prediction mode of the current block is intra prediction mode and the block size is 4x4, 4x8, 8x4, 8x8, 4x16, and 16x4.
  • the inverse transformation process of FIG. 24 can be applied only when the prediction mode of the current block is intra prediction mode and the block size is 4x4, 4x8, 8x4, and 8x8.
  • the inverse transformation process of FIG. 24 can be applied only when the prediction mode of the current block is intra prediction mode and the product of the width and height of the block is less than 64.
  • the scan order for transmitting quantized coefficients may vary depending on the arrangement method in the kernel application stage of the converter. (Results may be similar even if you scan from those with lower energy)
  • Figure 17 shows the scan order for bottom-up diagonal arrangement
  • Figure 18 shows the scan order for horizontal arrangement
  • Figure 19 shows the scan order for vertical arrangement
  • Figure 20 shows It can indicate the scan order for zigzag arrangement.
  • Figure 26 is a diagram showing the signal-dependent transform kernel size and the corresponding inverse kernel.
  • Equation 2 the same process as Equation 2 described above, can be obtained to have MN columns.
  • Each column is expressed as ⁇ , and the column is Dogs can happen. Only some of the above columns can be used as a conversion kernel. This takes into account the energy characteristics of the signal.
  • Equation 7 the signal-dependent transform (SDT) for the entire data without considering energy
  • signal-dependent transform can be performed by reducing the size of the transformation kernel.
  • a flag indicating the presence of a non-zero coefficient defined in coefficient group units, a flag indicating whether the coefficient defined in coefficient units is non-zero, defined in coefficient units A flag indicating whether the absolute value of the coefficient is greater than a specific value, information on the remaining absolute value of the coefficient defined in coefficient units, etc. may be encoded/decoded.
  • Figure 27 is a diagram showing scanning of one-dimensional data.
  • the result of conversion to a 2-dimensional block can be 1-dimensional data with the data dimension reduced (excluding 4 ⁇ 4). Therefore, entropy coding (CABAC, VLC, etc.) can be performed while scanning the one-dimensional data after quantization as is, as shown in FIG. 27.
  • CABAC CABAC, VLC, etc.
  • 3 to 4 transformation kernels can be trained and configured according to intra mode information.
  • the index for the specific transformation kernel used in transform must also be transmitted to the decoder.
  • it can be configured by training 3 to 4 transformation kernels for each residual block size after AMVP (Advanced Motion Vector Prediction) or MV (Motion Vector) Merge.
  • AMVP Advanced Motion Vector Prediction
  • MV Motion Vector
  • the index for the specific conversion kernel used for conversion must also be transmitted to the decoder.
  • signal-dependent transformation can be applied after training in advance through the residual signal of SubBlock Partition transform and Intra sub-partition in inter prediction using existing signal-independent transformation.
  • the presence or absence of a coefficient can be encoded/decoded through a flag in the bitstream.
  • signal adaptive transformation first transform
  • secondary transform signal adaptive transformation
  • the proposed method by converting the primary transformation coefficients from one-dimensional data into a two-dimensional array (horizontal, vertical, diagonal, or zigzag order).
  • the transformation result for the 2-dimensional block can be 1-dimensional data given the number (dimension) of data (excluding 4x4). Therefore, after quantization, entropy coding (CABAC, VLC, etc.) can be performed while scanning the one-dimensional data as is.
  • CABAC entropy coding
  • the interpolation filter using the frequency of the present disclosure may be applied to at least one step of each encoding/decoding step.
  • an interpolation filter may be used to interpolate a reference sample, may be used to adjust a prediction value, may be used to adjust a residual value, and may be used to improve encoding/decoding efficiency after prediction is completed. It can be used, and can also be performed as an encoding/decoding preprocessing step.
  • 8-tap DCT-IF which uses more reference samples, replaces the 4-tap Discrete Cosine Transform-based interpolation filter (DCT-IF) and 4-tap Smoothing interpolation filer (SIF) previously used in VVC intra-screen prediction.
  • DCT-IF Discrete Cosine Transform-based interpolation filter
  • SIF Smoothing interpolation filer
  • 8-tap SIF 8-tap SIF.
  • a 10-tap, 12-tap, 14-tap, 16-tap, etc. filter may be used instead of the 8-tap filter.
  • the characteristics of the block are determined using the size of the block and the frequency characteristics of the reference sample, and the type of interpolation filter applied to the block can be selected.
  • the 8-tap DCT-IF coefficients for (17/32, 18/32, 19/32, ..., 31/32) can also be obtained in the same way as above.
  • the 8-tap SIF coefficients can be obtained from the convolution of z[n] and a 1/32 fractional linear filter.
  • z[n] in FIG. 28 can be obtained from the convolution of h[n] and y[n] in Equations 10 and 11.
  • h[n] may be a 3-point [1, 2, 1] LPF (Low Pass filter).
  • Equations 10 and 11 show the procedure for deriving y[n] and z[n].
  • Figure 28 shows h[n], y[n], and z[n], and the 8-tap SIF coefficient can be obtained through linear interpolation of z[n] and 1/32 fractional linear filter.
  • Figure 29 shows the integer reference samples used to derive the 8-tap SIF coefficients.
  • black 8 integer samples to derive filter coefficients for a location is displayed in gray. also, may be a starting sample of 8 reference samples. Filter coefficients can be adjusted with an integer implementation.
  • 8-tap DCT-IF has higher frequency characteristics than 4-tap DCT-IF
  • 8-tap SIF has lower frequency characteristics than 4-tap SIF
  • the type of 8-tap interpolation filter is selected according to the characteristics of the block. You can use it.
  • the characteristics of the block are determined using the size of the block and the frequency characteristics of the reference sample, and the type of interpolation filter used for the block can be selected.
  • the correlation in equation (14) is calculated from the top or left reference sample of the current CU depending on the intra prediction mode.
  • N may be the width or height of the current CU.
  • Figure 30 is a diagram showing the direction and angle of the intra-screen prediction mode. If the prediction mode of the current CU is larger than the diagonal mode 34 in FIG. 30, the reference sample located at the top of the current CU can be used in Equation 14. Otherwise, the reference sample located to the left of the current CU can be used in Equation 14.
  • Figure 31 is a diagram showing the average correlation value of reference samples for various video resolutions and each nTbS. Specifically, Figure 31 shows the average correlation value of reference samples for various video resolutions and each nTbS defined in Equation 15, which can be determined according to the CU size at each screen resolution. As shown in Figure 31, the correlation may increase as the CU size increases and the video resolution increases. Here the video resolutions A1, A2, B, C and D may be indicated in parentheses.
  • Intra CU size partitioning in video coding can rely on predictive performance to improve coding in terms of bit rate and distortion. Prediction performance may vary depending on the prediction error between the prediction sample and the sample of the current CU. If the current block has a lot of details, including high frequencies, the CU size can be divided into smaller ones, taking bit rate and distortion into account, using boundary reference samples with small width and height. However, if the current block consists of homogeneous regions, the CU size can be largely partitioned, taking bit rate and distortion into account, using boundary reference samples with large width and height.
  • nTbS size indicated by A1, A2, B, C, and D may mean that nTbS with a small nTbS has high-frequency characteristics consistent with low correlation, and nTbS with large nTbS has low-frequency characteristics consistent with high correlation, respectively.
  • the frequency characteristics of the reference sample can be obtained by applying a transform to the reference sample of the block using DCT-II.
  • the reference sample used to obtain the frequency characteristics of the reference sample may be determined. For example, if the direction of the intra-prediction mode is vertical, the upper reference sample of the current coding block (or sub-block) is used, and if the direction of the intra-screen prediction mode is horizontal, the current coding block (or sub-block) is used. Use the reference sample on the left. When the direction of the intra-screen prediction mode is diagonal, at least one of the left or top reference samples of the current coding block (or sub-block) is used.
  • the reference sample may be adjacent to the current coding block (or sub-block) or may be separated by k pixels from the current coding block (or sub-block).
  • k may be a natural number such as 1, 2, 3, or 4.
  • the frequency characteristics of the block can be determined, and the interpolation filter to be applied to the block can be selected.
  • 8-tap DCT-IF a strong high pass filter (HPF)
  • HPF high pass filter
  • LPF strong low pass filter
  • 8-tap DCT-IF which is a strong HPF
  • 4-tap SIF a weak LPF
  • 8-tap SIF a strong LPF
  • 4-tap DCT-IF which is a weak HPF
  • An example of calculating the high frequency energy percentage may be as follows.
  • N is the height of the block
  • N is the width of the block.
  • the value of N may be smaller or larger when using fewer or more reference samples.
  • X may mean a reference sample.
  • the high frequency region uses a reference sample with a length of 1/4 of N. If the high frequency energy is obtained using fewer reference samples or if more reference samples are used, the length of this region can be reduced or increased.
  • Equation 16 can represent an example of calculating the high frequency energy percentage.
  • Figure 32 shows an example of a method for selecting an interpolation filter using frequency information.
  • 8-tap SIF is applied, and in other cases, 4-tap DCT-IF is applied.
  • filters such as 10-tap, 12-tap, 14-tap, and 16-tap can be used.
  • nTbS is 2
  • 4-tap SIF and 8-tap SIF can be used instead of 4-tap SIF.
  • 8-tap DCT-IF and 16-tap DCT-IF can be used instead of 8-tap DCT-IF.
  • the encoding device can encode information (index) that specifies one of them, and the decoding device signals the information from the bitstream to specify one of the plurality of filters. can do.
  • one of the multiple filters may be implicitly specified by the intra-screen prediction mode.
  • Figure 33 shows embodiments for 8-tap DCT interpolation filter coefficients.
  • Figure 35 shows the magnitude response at 16/32 pixel positions for 4-tap DCT-IF, 4-tap SIF, 8-tap DCT-IF, and 8-tap SIF.
  • the X-axis represents the normalized radian frequency
  • the Y-axis may represent the magnitude response.
  • 8-tap DCT-IF has better HPF characteristics than 4-tap DCT-IF
  • 8-tap SIF has better LPF characteristics than 4-tap SIF. Therefore, 8-tap SIF provides better interpolation than 4-tap SIF on low-frequency reference samples, and 8-tap DCT-IF provides better interpolation than 4-tap DCT-IF on high-frequency reference samples.
  • VVC uses two interpolation filters.
  • nTbS 2
  • 4-tap DCT-IF is used for all blocks
  • nTbS 3
  • 4-tap DCT-IF or 4-tap SIF is used based on minDistVerHor and intraHorVerDistThres[nTbS]
  • nTbS ⁇ 5 When 4-tap SIF is used in all blocks.
  • this disclosure proposes an interpolation filter selection method for generating accurate fractional boundary prediction samples using the frequency information of integer reference samples.
  • SIF is used for CUs with nTbS>4, even if the CU reference sample has high-frequency characteristics.
  • a method was developed to select two different filters consisting of SIF and DCT-IF according to the frequency characteristics of the reference sample.
  • the reference sample can be transformed using a scaled integer one-dimensional (1-D) DCT-II kernel to detect the high-frequency energy of the reference sample.
  • N is the number of reference samples required for X[k]. After one-dimensional transformation, high-frequency energy is observed in the transformation region. Since the energy is concentrated in the low-frequency components, the reference sample consists of homogeneous samples. However, because energy exists in high-frequency components, the reference sample contains high-frequency samples, which indicates that the samples in the CU have high-frequency components.
  • X[k] can be used to measure the energy ratio of high-frequency coefficients. If there is energy in the high-frequency data, DCT-IF can be used because the reference sample consists of high-frequency data. In contrast, SIF can be used on high-energy reference samples of low-frequency data.
  • high_freq_ratio which is the energy percentage of the high frequency coefficient, can be calculated from Equation 19.
  • the threshold value (THR) of high_freq_ratio may be determined experimentally.
  • Figure 36 shows each threshold THR1, THR2,... according to nTbS.
  • 4-tap SIF can be used because high_freq_ratio is less than the given threshold. Otherwise an 8-tap DCT-IF can be used.
  • THR5 can be selected as the THR of high_freq_ratio.
  • THR4 can be selected as THR.
  • 8-tap SIF can be used when high_freq_ratio ⁇ THR.
  • a 4-tap DCT-IF can be used.
  • the nTbS value can be 2. 8-tap DCT-IF is used when high_freq_ratio ⁇ THR5 in Figure 36(a).
  • the CU uses a 4-tap SIF.
  • the proposed method relies on nTbS and high_freq_ratio.
  • nTbS size of CU is 2 and high_freq_ratio ⁇ THR
  • 4-tap SIF with weak LPF characteristics is applied to the reference sample, as shown in Figure 35.
  • high_freq_ratio ⁇ THR 8-tap DCT-IF with strong HPF characteristics is applied to the reference sample, as shown in Figure 35.
  • nTbS size of the CU is greater than 4 and high_freq_ratio ⁇ THR, 8-tap SIF with strong LPF characteristics can be applied to the reference sample, as shown in Figure 35.
  • high_freq_ratio ⁇ THR 4-tap DCT-IF with weak HPF characteristics can be applied to the reference sample, as shown in FIG. 35.
  • Figure 37 shows the sequence name, screen size, screen rate and bit depth of the CTC video sequence for each class.
  • Figure 38 shows the interpolation filter selection method and the interpolation filter applied according to the selected method to test the efficiency of the 8-tap/4-tap interpolation filter.
  • Method B and the VVC method is that Method B uses an 8-tap SIF instead of a 4-tap SIF only for nTbS > 4.
  • Table IX and Table X in Figure 39 show the simulation results of methods A, B, C, and D.
  • the overall BD percentage gain is -0.02%, -0.03%, and -0.02% for Y, Cb, and Cr components, respectively.
  • the overall BD percentage gain is -0.01%, -0.01%, and 0.03% for Y, Cb, and Cr components, respectively.
  • Method D uses 8-tap SIF or 4 depending on the proposed high_freq_ratio for nTbS > 4.
  • nTbS 2
  • 4-tap DCT-IF is selected at 100% on 4x4 CU, 4x8 CU and 8x4 CU of VVC anchors, but in the proposed adaptive filter method based on high_freq_ratio, 8-tap DCT-IF is selected at 97.16% on 4x4 CU. , 95.80% is selected for 4x8 CU and 96.77% for 8x4 CU.
  • Figure 41 shows experimental results for the proposed filtering method.
  • the proposed method applies 8-tap DCT-IF and 4-tap SIF based on high_freq_ratio to CUs using MRL or ISP, resulting in 0.07% for 32x32 CU, 0.04% for 16x64 CU, 0.07% for 64x16 CU, 8-tap DCT-IF is selected at 0.07% at 64x64 CU.
  • This compares to VVC anchors being selected 10.59% of the time on 32x32 CU, 100% on 16x64 CU, 100% on 64x16 CU, and 5.56% on 64x64 CU.
  • the proposed method can achieve an overall BD ratio increase of -0.16%, -0.13% and -0.09% for Y, Cb and Cr components respectively, while the computational complexity in encoder and decoder respectively is 2 on average compared to VVC anchors. % and 5% increase.
  • the proposed method can reduce the BD speed-up compared to VVC anchors.
  • the sequence showing the highest BD ratio reduction is the BasketballDrill sequence in class C, where the proposed method yields a Y component gain of -1.20%.
  • this disclosure proposes an adaptive filter method for generating partial reference samples for directional VVC intra prediction.
  • 8-tap DCT-IF and 8-tap SIF in addition to 4-tap DCT-IF and 4-tap SIF.
  • An interpolation filter is applied to the reference sample based on the high_freq_ratio to the block size. It was concluded that when the correlation between samples is high, an 8-tap interpolation filter with a strong HPF or a strong LPF has a minor effect on the BD rate gain, but when the correlation between samples is low, a strong 8-tap interpolation filter is used. HPF or strong LPF characteristics influence BD rate enhancement.
  • the scope of the present disclosure is software or machine-executable instructions (e.g., operating system, application, firmware, program, etc.) that cause operations according to the methods of various embodiments to be executed on a device or computer, and such software or It includes non-transitory computer-readable medium in which instructions, etc. are stored and can be executed on a device or computer.
  • software or machine-executable instructions e.g., operating system, application, firmware, program, etc.
  • the present invention can be used as a video encoding and decoding device and method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Discrete Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 개시는, 비트스트림으로부터 획득한 양자화 블록을 역양자화하여 2차 변환 블록을 획득하고, 상기 2차 변환 블록에 대한 2차 역변환의 수행 여부를 결정하고, 상기 2차 역변환을 수행하는 것으로 결정된 경우, 상기 2차 변환 블록에 대한 상기 2차 역변환을 수행하여 1차 변환 블록을 획득하며, 상기 1차 변환 블록에 대한 1차 역변환을 수행할 수 있다.

Description

동영상 인코딩 및 디코딩 장치와 방법
본 발명은 동영상 인코딩 및 디코딩 장치와 방법에 관한 것으로, 보다 상세하게는 1차 또는 2차 중 적어도 하나의 변환기(transform)의 커널(kernel)을 유도하고, 유도된 변환기의 커널을 해당 변환기에 적용하는 동영상 인코딩 및 디코딩 장치와 방법에 관한 것이다.
최근, 인터넷에서는 동영상과 같은 멀티미디어 데이터의 수요가 급격히 증가하고 있다. 하지만 채널(Channel)의 대역폭(Bandwidth)이 발전하는 속도는 급격히 증가하고 있는 멀티미디어 데이터의 양을 따라가기 힘든 상황이다.
본 발명은 동영상 신호의 부호화 효율을 향상시키고자 함에 있다.
본 발명의 부/복호화 방법 및 비트스트림을 저장하는 컴퓨터 판독가능한 기록매체는, 비트스트림으로부터 획득한 양자화 블록을 역양자화하여 2차 변환 블록을 획득하는 단계, 상기 2차 변환 블록에 대한 2차 역변환의 수행 여부를 결정하는 단계, 상기 2차 역변환을 수행하는 것으로 결정된 경우, 상기 2차 변환 블록에 대한 상기 2차 역변환을 수행하여 1차 변환 블록을 획득하는 단계, 상기 1차 변환 블록에 대한 1차 역변환을 수행하는 단계를 포함할 수 있다.
본 발명의 부/복호화 방법 및 비트스트림을 저장하는 컴퓨터 판독가능한 기록매체에 있어서, 상기 2차 역변환의 변환 커널 및 상기 1차 역변환의 변환 커널은 상기 비트스트림으로부터 시그널링되는 인덱스에 의해 특정될 수 있다.
본 발명의 부/복호화 방법 및 비트스트림을 저장하는 컴퓨터 판독가능한 기록매체에 있어서, 상기 인덱스의 최대값 및 구성은, 적용되는 변환 커널이 1차원 변환 커널인지 2차원 변환 커널인지 여부에 따라 상이할 수 있다.
본 발명의 부/복호화 방법 및 비트스트림을 저장하는 컴퓨터 판독가능한 기록매체에 있어서, 상기 2차 역변환의 변환 커널 및 상기 1차 역변환의 변환 커널은 KLT(Karhunen Loeve Transform)를 포함할 수 있다.
본 발명의 부/복호화 방법 및 비트스트림을 저장하는 컴퓨터 판독가능한 기록매체에 있어서, 상기 2차 역변환 또는 상기 1차 역변환 중 적어도 하나의 출력 블록은 입력 블록의 크기보다 작은 크기를 가질 수 있다.
본 발명의 부/복호화 방법 및 비트스트림을 저장하는 컴퓨터 판독가능한 기록매체에 있어서, 상기 2차 변환의 수행 여부는, 변환 커널의 종류, 변환 계수의 개수 또는 블록의 크기 중 적어도 하나를 기초로 결정될 수 있다.
본 발명의 부/복호화 방법 및 비트스트림을 저장하는 컴퓨터 판독가능한 기록매체는, 비트스트림으로부터 획득한 양자화 블록을 역양자화하여 1차 변환 블록을 획득하는 단계, 상기 1차 변환 블록에 대한 1차 역변환의 변환 커널을 결정하는 단계, 상기 결정된 1차 역변환의 변환 커널을 기초로, 상기 1차 변환 블록에 대한 1차 역변환을 수행하여 잔차 블록을 획득하는 단계를 포함할 수 있다.
본 발명의 부/복호화 방법 및 비트스트림을 저장하는 컴퓨터 판독가능한 기록매체는, 현재 블록의 화면 내 예측 모드를 결정하는 단계, 상기 화면 내 예측 모드에 이용되는 참조 화소를 보간하는 단계를 포함하되, 상기 참조 화소는 상기 현재 블록에 주변에 인접한 참조 블록에 포함되고, 상기 보간에 적용되는 보간 필터는 8-tap 필터를 포함하는 것을 특징으로 할 수 있다.
본 발명에 따른 동영상 인코딩 및 디코딩 장치와 방법은 적합한 커널을 변환기에 적용하여 동영상 신호의 부호화 효율을 향상시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 영상 부호화 장치를 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 영상 복호화 장치(200)를 나타낸 블록도이다.
도 3은 변환 커널 유도를 위한 오프라인 트레이닝(off-line training) 과정을 도시한 도면이다.
도 4는 군집화 및 대표값을 획득하여 얻은 대표 블록을 도시한다.
도 5는 1D(1 dimension) 변환 커널을 적용하는 실시예를 도시한다.
도 6은 2D 변환 커널을 적용하는 실시예를 도시한다.
도 7은 부호화기에서의 변환 과정을 도시한 도면이다.
도 8은 복호화기에서의 역변환 과정을 도시한 도면이다.
도 9는 차원 감소(dimension reduction)를 활용하여 1D 변환 커널을 적용하는 제1 실시예를 도시한 도면이다.
도 10은 dimension reduction을 활용하여 1D 변환 커널을 적용하는 제2 실시예를 도시한 도면이다.
도 11은 dimension reduction을 활용하여 1D 변환 커널을 적용하는 제3 실시예를 도시한 도면이다.
도 12은 dimension reduction 없이 데이터 전체를 변환한 경우로 1D 변환 커널을 적용하는 제4 실시예를 도시한 도면이다.
도 13은 dimension reduction을 활용하여 2D 변환 커널을 적용하는 제1 실시예를 도시한 도면이다.
도 14는 dimension reduction을 활용하여 2D 변환 커널을 적용하는 제2 실시예를 도시한 도면이다.
도 15는 dimension reduction을 활용하여 2D 변환 커널을 적용하는 제2 실시예를 도시한 도면이다.
도 16는 dimension reduction 없이 2D 변환 커널을 적용하는 제3 실시예를 도시한 도면이다.
도 17은 벡터들의 2D 블록으로 재배치하는 예를 도시한다.
도 18은 재배치된 블록의 계수들을 스캐닝하는 실시예를 도시한다.
도 19는 1차 변환에 대한 1D 변환 커널이 시그널링되는 실시예를 도시한 도면이다.
도 20는 1차 변환에 대한 2D 변환 커널이 시그널링되는 실시예를 도시한 도면이다.
도 21는 2차 변환에 대한 1D 변환 커널이 시그널링되는 실시예를 도시한 도면이다.
도 22는 2차 변환에 대한 2D 변환 커널이 시그널링되는 실시예를 도시한 도면이다.
도 23은 부호화기에서 1차 변환만 적용되는 예를 도시한다.
도 24는 복호화기에서 1차 역변환만 적용되는 예를 도시한다.
도 25는 MN(=M×N)개의 column 중 일부 column만 사용하는 예를 설명하기 위한 도면이다.
도 26은 signal-dependent transform kernel size 및 그에 대응하는 inverse kernel을 도시하는 도면이다.
도 27은 1차원 데이터의 스캐닝을 나타내는 도면이다.
도 28은 8-tap 계수를 획득하기 위한 h[n], y[n], z[n]을 나타내는 도면이다.
도 29은 8-tap SIF 계수를 유도하는 데 사용되는 정수 기준 샘플을 도시한다.
도 30는 화면 내 예측 모드의 방향 및 각도를 도시한 도면이다.
도 31는 다양한 비디오 해상도와 각 nTbS에 대한 참조 샘플의 평균 상관 값을 나타내는 도면이다.
도 32는 Frequency 정보를 이용하여 보간 필터를 선택하는 방법의 예를 도시한다.
도 33는 8-tap DCT 보간 필터 계수들에 대한 실시예들을 도시한다.
도 34는 8-tap smoothing 보간 필터 계수들에 대한 실시예를 도시한다.
도 35는 4-tap DCT-IF, 4-tap SIF, 8-tap DCT-IF 및 8-tap SIF의 16/32픽셀 위치에서 크기 응답을 도시한다.
도 36은 nTbS에 따른 각 임계값과 관련된 도면을 도시한다.
도 37은 각 클래스에 대한 CTC 비디오 시퀀스의 시퀀스 이름, 화면 크기, 화면 속도 및 비트 깊이를 도시한다.
도 38은 8-tap/4-tap 보간 필터의 효율을 테스트하기 위해 보간 필터 선택 방법과 선택된 방법에 따라 적용된 보간 필터를 도시한다.
도 39의 Table IX 및 Table X는 A, B, C 및 D 방법의 시뮬레이션 결과를 나타낸다.
도 40의 Table XI는 모든 테스트 시퀀스에 대해 제안된 방법에서 VVC 앵커에서 4탭 DCT-IF를 적용하고 high_freq_ratio를 기반으로 8탭 DCT-IF를 적용하는 CU의 비율을 도시한다.
도 41은 제안된 필터링 방법에 대한 실험 결과를 도시한다.
본 개시의 발명은, 비트스트림으로부터 획득한 양자화 블록을 역양자화하여 2차 변환 블록을 획득하고, 상기 2차 변환 블록에 대한 2차 역변환의 수행 여부를 결정하고, 상기 2차 역변환을 수행하는 것으로 결정된 경우, 상기 2차 변환 블록에 대한 상기 2차 역변환을 수행하여 1차 변환 블록을 획득하며, 상기 1차 변환 블록에 대한 1차 역변환을 수행할 수 있다
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 실시예들을 상세하게 설명한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명은 비디오 압축/복원 표준시 사용하는 신호 독립적 (signalindependent) DCT-2 (Discrete Cosine Transform-2), DCT-8 (Discrete Cosine Transform-8), DST-7 (Discrete Sine Transform-7) 등과 같은 separable 수평, 수직 1차원 트랜스폼을 사용하는 경우와 다르게, 각 2차원 블록 (여기서 블록은 잔차(residual) 신호 블록 또는 트랜스폼 된 블록을 의미) 의 covariance (공분산) 및 correlation(상관관계)을 이용한 신호 의존적인 (signal-dependent) KL (Karhunen-Loeve) 또는 SVD (Singular Value Decomposition) 트랜스폼을 사용하는 경우 트랜스폼 후 데이터를 얻는 방법 및 이에 따른 transform 계수의 재배치 와 scanning 방법을 제안한다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 나타낸 블록도이다.
도 1을 참조하면, 영상 부호화 장치(100)는 영상 분할부(101), 화면 내 예측부(102), 화면 간 예측부(103), 감산부(104), 변환부(105), 양자화부(106), 엔트로피 부호화부(107), 역양자화부(108), 역변환부(109), 증산부(110), 필터부(111) 및 메모리(112)를 포함할 수 있다.
도 1에 나타난 각 구성부들은 영상 부호화 장치에서 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시한 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
영상 분할부(100)는 입력된 영상을 적어도 하나의 블록으로 분할할 수 있다. 이 때, 입력된 영상은 픽쳐, 슬라이스, 타일, 세그먼트 등 다양한 형태와 크기를 가질 수 있다. 블록은 부호화 단위(CU), 예측 단위(PU) 또는 변환 단위(TU)를 의미할 수 있다. 상기 분할은 쿼드 트리(Quadtree) 또는 바이너리 트리(Biniary tree) 중 적어도 하나에 기반하여 수행될 수 있다. 쿼드 트리는 상위 블록을 너비와 높이가 상위 블록의 절반인 하위 블록으로 사분할하는 방식이다. 바이너리 트리는 상위 블록을 너비 또는 높이 중 어느 하나가 상위 블록의 절반인 하위 블록으로 이분할하는 방식이다. 전술한 바이너리 트리 기반의 분할을 통해, 블록은 정방형뿐만 아니라 비정방형의 형태를 가질 수 있다.
예측부(102, 103)는 인터 예측을 수행하는 화면 간 예측부(103)와 인트라 예측을 수행하는 화면 내 예측부(102)를 포함할 수 있다. 예측 단위에 대해 인터 예측을 사용할 것인지 또는 인트라 예측을 수행할 것인지를 결정하고, 각 예측 방법에 따른 구체적인 정보(예컨대, 인트라 예측 모드, 모션 벡터, 참조 픽쳐 등)를 결정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 다를 수 있다. 예컨대, 예측의 방법과 예측 모드 등은 예측 단위로 결정되고, 예측의 수행은 변환 단위로 수행될 수도 있다.
생성된 예측 블록과 원본 블록 사이의 잔차값(잔차 블록)은 변환부(105)로 입력될 수 있다. 또한, 예측을 위해 사용한 예측 모드 정보, 모션 벡터 정보 등은 잔차값과 함께 엔트로피 부호화부(107)에서 부호화되어 복호화기에 전달될 수 있다. 특정한 부호화 모드를 사용할 경우, 예측부(102, 103)를 통해 예측 블록을 생성하지 않고, 원본 블록을 그대로 부호화하여 복호화부에 전송하는 것도 가능하다.
화면 내 예측부(102)는 현재 픽쳐 내의 화소 정보인 현재 블록 주변의 참조 픽셀 정보를 기초로 예측 블록을 생성할 수 있다. 인트라 예측이 수행될 현재 블록의 주변 블록의 예측 모드가 인터 예측인 경우, 인터 예측이 적용된 주변 블록에 포함되는 참조 픽셀을, 인트라 예측이 적용된 주변의 다른 블록 내의 참조 픽셀로 대체될 수 있다. 즉, 참조 픽셀이 가용하지 않는 경우, 가용하지 않은 참조 픽셀 정보를, 가용한 참조 픽셀 중 적어도 하나의 참조 픽셀로 대체하여 사용할 수 있다.
인트라 예측에서 예측 모드는 참조 픽셀 정보를 예측 방향에 따라 사용하는 방향성 예측 모드와 예측을 수행시 방향성 정보를 사용하지 않는 비방향성 모드를 가질 수 있다. 휘도 정보를 예측하기 위한 모드와 색차 정보를 예측하기 위한 모드가 상이할 수 있고, 색차 정보를 예측하기 위해 휘도 정보를 예측하기 위해 사용된 인트라 예측 모드 정보 또는 예측된 휘도 신호 정보를 활용할 수 있다.
화면 내 예측부(102)는 AIS(Adaptive Intra Smoothing) 필터, 참조 화소 보간부, DC 필터를 포함할 수 있다. AIS 필터는 현재 블록의 참조 화소에 필터링을 수행하는 필터로써 현재 예측 단위의 예측 모드에 따라 필터의 적용 여부를 적응적으로 결정할 수 있다. 현재 블록의 예측 모드가 AIS 필터링을 수행하지 않는 모드일 경우, AIS 필터는 적용되지 않을 수 있다.
화면 내 예측부(102)의 참조 화소 보간부는 예측 단위의 인트라 예측 모드가 참조 화소를 보간한 화소값을 기초로 인트라 예측을 수행하는 예측 단위일 경우, 참조 화소를 보간하여 분수 단위 위치의 참조 화소를 생성할 수 있다. 현재 예측 단위의 예측 모드가 참조 화소를 보간하지 않고 예측 블록을 생성하는 예측 모드일 경우 참조 화소는 보간되지 않을 수 있다. DC 필터는 현재 블록의 예측 모드가 DC 모드일 경우 필터링을 통해서 예측 블록을 생성할 수 있다.
화면 간 예측부(103)은, 메모리(112)에 저장된 기 복원된 참조영상과 움직임 정보를 이용하여 예측 블록을 생성한다. 움직임 정보는 예컨대 움직임 벡터, 참조픽쳐 인덱스, 리스트 1 예측 플래그, 리스트 0 예측 플래그 등을 포함할 수 있다.
예측부(102, 103)에서 생성된 예측 단위와 예측 단위의 원본 블록 간의 차이값인 잔차값(Residual) 정보를 포함하는 잔차 블록이 생성될 수 있다. 생성된 잔차 블록은 변환부(130)로 입력되어 변환될 수 있다.
화면 간 예측부(103)는 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐의 정보를 기초로 예측 블록을 유도할 수 있다. 또한, 현재 픽쳐 내의 부호화가 완료된 일부 영역의 정보를 기초로, 현재 블록의 예측 블록을 유도할 수도 있다. 본 발명의 일 실시예에 따른 화면 간 예측부(103)는 참조 픽쳐 보간부, 움직임 예측부, 움직임 보상부를 포함할 수 있다.
참조 픽쳐 보간부에서는 메모리(112)로부터 참조 픽쳐 정보를 제공받고 참조 픽쳐에서 정수 화소 이하의 화소 정보를 생성할 수 있다. 휘도 화소의 경우, 1/4 화소 단위로 정수 화소 이하의 화소 정보를 생성하기 위해 필터 계수를 달리하는 DCT 기반의 8탭 보간 필터(DCT-based Interpolation Filter)가 사용될 수 있다. 색차 신호의 경우 1/8 화소 단위로 정수 화소 이하의 화소 정보를 생성하기 위해 필터 계수를 달리하는 DCT 기반의 4탭 보간 필터(DCT-based Interpolation Filter)가 사용될 수 있다.
움직임 예측부는 참조 픽쳐 보간부에 의해 보간된 참조 픽쳐를 기초로 모션 예측을 수행할 수 있다. 모션 벡터를 산출하기 위한 방법으로 FBMA(Full search-based Block Matching Algorithm), TSS(Three Step Search), NTS(New Three-Step Search Algorithm) 등 다양한 방법이 사용될 수 있다. 모션 벡터는 보간된 화소를 기초로 1/2 또는 1/4 화소 단위의 모션 벡터값을 가질 수 있다. 움직임 예측부에서는 움직임 예측 방법을 다르게 하여 현재 블록의 예측 블록을 예측할 수 있다. 모션 예측 방법으로 스킵(Skip) 방법, 머지(Merge) 방법, AMVP(Advanced Motion Vector Prediction) 방법 등 다양한 방법이 사용될 수 있다.
감산부(104)는, 현재 부호화하려는 블록과 화면 내 예측부(102) 혹은 화면 간 예측부(103)에서 생성된 예측 블록을 감산하여 현재 블록의 잔차 블록을 생성한다.
변환부(105)에서는 잔차 데이터를 포함한 잔차 블록을 DCT, DST, KLT(Karhunen Loeve Transform, KL), SVD 등과 같은 변환 방법을 사용하여 변환시킬 수 있다. 이때, 변환 방법(또는 변환 커널)은 잔차 블록을 생성하기 위해 사용된 예측 단위의 인트라 예측 모드에 기반하여 결정될 수 있다. 예를 들어, 인트라 예측 모드에 따라, 가로 방향으로는 DCT를 사용하고, 세로 방향으로는 DST를 사용할 수도 있다.
양자화부(106)는 변환부(105)에서 주파수 영역으로 변환된 값들을 양자화할 수 있다. 블록에 따라 또는 영상의 중요도에 따라 양자화 계수는 변할 수 있다. 양자화부(106)에서 산출된 값은 역양자화부(108)와 엔트로피 부호화부(107)에 제공될 수 있다.
상기 변환부(105) 및/또는 양자화부(106)는, 영상 부호화 장치(100)에 선택적으로 포함될 수 있다. 즉, 영상 부호화 장치(100)는, 잔차 블록의 잔차 데이터에 대해 변환 또는 양자화 중 적어도 하나를 수행하거나, 변환 및 양자화를 모두 스킵하여 잔차 블록을 부호화할 수 있다. 영상 부호화 장치(100)에서 변환 또는 양자화 중 어느 하나가 수행되지 않거나, 변환 및 양자화 모두 수행되지 않더라도, 엔트로피 부호화부(107)의 입력으로 들어가는 블록을 통상적으로 변환 블록이라 일컫는다. 엔트로피 부호화부(107)는 입력 데이터를 엔트로피 부호화한다. 엔트로피 부호화는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 다양한 부호화 방법을 사용할 수 있다.
엔트로피 부호화부(107)는 변환 블록의 계수 정보, 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, 예측 단위 정보, 전송 단위 정보, 모션 벡터 정보, 참조 프레임 정보, 블록의 보간 정보, 필터링 정보 등 다양한 정보를 부호화할 수 있다. 변환 블록의 계수들은, 변환 블록 내 서브 블록 단위로, 부호화될 수 있다.
변환 블록의 계수의 부호화를 위하여, 스캔 순서에 따른 최초의 0이 아닌 계수의 위치를 나타내는 신택스 요소(syntax element)인 Last_sig, 서브블록 내에 0이 아닌 계수가 적어도 하나 이상 있는지를 알리는 플래그인 Coded_sub_blk_flag, 계수가 0이 아닌지 여부를 나타내는 플래그인 Sig_coeff_flag, 계수의 절대값 N보다 큰지를 나타내는 플래그인 Abs_greaterN_flag (여기서, N은 1, 2, 3, 4, 5 등의 자연수 일 수 있음), 계수의 부호를 나타내는 플래그인 Sign_flag 등의 다양한 신택스 요소들이 부호화될 수 있다. 상기 신택스 요소들만으로 부호화되지 않는 계수의 잔여값은 신택스 요소 remaining_coeff를 통해 부호화될 수 있다.
역양자화부(108) 및 역변환부(109)에서는 양자화부(106)에서 양자화된 값들을 역양자화하고 변환부(105)에서 변환된 값들을 역변환한다. 역양자화부(108) 및 역변환부(109)에서 생성된 잔차값(Residual)은 예측부(102, 103)에 포함된 움직임 추정부, 움직임 보상부 및 화면 내 예측부(102)를 통해서 예측된 예측 단위와 합쳐져 복원 블록(Reconstructed Block)을 생성할 수 있다. 증산기(110)는, 예측부(102, 103)에서 생성된 예측 블록과, 역 변환부(109)를 통해 생성된 잔차 블록을 증산하여 복원 블록을 생성한다.
필터부(111)는 디블록킹 필터, 오프셋 보정부, ALF(Adaptive Loop Filter)중 적어도 하나를 포함할 수 있다.
디블록킹 필터는 복원된 픽쳐에서 블록간의 경계로 인해 생긴 블록 왜곡을 제거할 수 있다. 디블록킹을 수행할지 여부를 판단하기 위해 블록에 포함된 몇 개의 열 또는 행에 포함된 픽셀을 기초로 현재 블록에 디블록킹 필터 적용할지 여부를 판단할 수 있다. 블록에 디블록킹 필터를 적용하는 경우 필요한 디블록킹 필터링 강도에 따라 강한 필터(Strong Filter) 또는 약한 필터(Weak Filter)를 적용할 수 있다. 또한 디블록킹 필터를 적용함에 있어 수직 필터링 및 수평 필터링 수행시 수평 방향 필터링 및 수직 방향 필터링이 병행 처리되도록 할 수 있다.
오프셋 보정부는 디블록킹을 수행한 영상에 대해 픽셀 단위로 원본 영상과의 오프셋을 보정할 수 있다. 특정 픽쳐에 대한 오프셋 보정을 수행하기 위해 영상에 포함된 픽셀을 일정한 수의 영역으로 구분한 후 오프셋을 수행할 영역을 결정하고 해당 영역에 오프셋을 적용하는 방법 또는 각 픽셀의 에지 정보를 고려하여 오프셋을 적용하는 방법을 사용할 수 있다.
ALF(Adaptive Loop Filtering)는 필터링한 복원 영상과 원래의 영상을 비교한 값을 기초로 수행될 수 있다. 영상에 포함된 픽셀을 소정의 그룹으로 나눈 후 해당 그룹에 적용될 하나의 필터를 결정하여 그룹마다 차별적으로 필터링을 수행할 수 있다. ALF를 적용할지 여부에 관련된 정보는 휘도 신호는 부호화 단위(Coding Unit, CU) 별로 전송될 수 있고, 각각의 블록에 따라 적용될 ALF 필터의 모양 및 필터 계수는 달라질 수 있다. 또한, 적용 대상 블록의 특성에 상관없이 동일한 형태(고정된 형태)의 ALF 필터가 적용될 수도 있다.
메모리(112)는 필터부(111)를 통해 산출된 복원 블록 또는 픽쳐를 저장할 수 있고, 저장된 복원 블록 또는 픽쳐는 화면 간 예측을 수행할 때 예측부(102, 103)에 제공될 수 있다.
다음으로, 본 발명의 일 실시예에 따른 영상 복호화 장치를 도면을 참조하여 설명한다. 도 2는 본 발명의 일 실시예에 따른 영상 복호화 장치(200)를 나타낸 블록도이다.
도 2를 참조하면, 영상 복호화 장치(200)는 엔트로피 복호화부(201), 역양자화부(202), 역변환부(203), 증산부(204), 필터부(205), 메모리(206) 및 예측부(207, 208)를 포함할 수 있다.
영상 부호화 장치(100)에 의해 생성된 영상 비트스트림이 영상 복호화 장치(200)로 입력되는 경우, 입력된 비트스트림은 영상 부호화 장치(100)에서 수행된 과정과 반대의 과정에 따라 복호될 수 있다.
엔트로피 복호화부(201)는 영상 부호화 장치(100)의 엔트로피 부호화부(107)에서 엔트로피 부호화를 수행한 것과 반대의 절차로 엔트로피 복호화를 수행할 수 있다. 예를 들어, 영상 부호화기에서 수행된 방법에 대응하여 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 다양한 방법이 적용될 수 있다. 엔트로피 복호화부(201)는, 전술한 바와 같은 신택스 요소들, 즉 Last_sig, Coded_sub_blk_flag, Sig_coeff_flag, Abs_greaterN_flag, Sign_flag 및 remaining_coeff를 복호화할 수 있다. 또한, 엔트로피 복호화부(201)는 영상 부호화 장치(100)에서 수행된 인트라 예측 및 인터 예측에 관련된 정보를 복호화할 수 있다.
역 양자화부(202)는 양자화된 변환 블록에 역 양자화를 수행하여 변환 블록을 생성한다. 도 1의 역 양자화부(108)와 실질적으로 동일하게 동작한다.
역 변환부(203)은 변환 블록에 역 변환을 수행하여 잔차 블록을 생성한다. 이때, 변환 방법은 예측 방법(인터 또는 인트라 예측), 블록의 크기 및/또는 형태, 인트라 예측 모드 등에 관한 정보를 기반으로 결정될 수 있다. 도 1의 역 변환부(109)와 실질적으로 동일하게 동작한다.
증산부(204)는, 화면 내 예측부(207) 혹은 화면 간 예측부(208)에서 생성된 예측 블록과 역 변환부(203)를 통해 생성된 잔차 블록를 증산하여 복원 블록을 생성한다. 도 1의 증산부(110)과 실질적으로 동일하게 동작한다.
필터부(205)는, 복원된 블록들에 발생하는 여러 종류의 노이즈를 감소시킨다.
필터부(205)는 디블록킹 필터, 오프셋 보정부, ALF를 포함할 수 있다.
영상 부호화 장치(100)로부터 해당 블록 또는 픽쳐에 디블록킹 필터를 적용하였는지 여부에 대한 정보 및 디블록킹 필터를 적용하였을 경우, 강한 필터를 적용하였는지 또는 약한 필터를 적용하였는지에 대한 정보를 제공받을 수 있다. 영상 복호화 장치(200)의 디블록킹 필터에서는 영상 부호화 장치(100)에서 제공된 디블록킹 필터 관련 정보를 제공받고 영상 복호화 장치(200)에서 해당 블록에 대한 디블록킹 필터링을 수행할 수 있다.
오프셋 보정부는 부호화시 영상에 적용된 오프셋 보정의 종류 및 오프셋 값 정보 등을 기초로 복원된 영상에 오프셋 보정을 수행할 수 있다.
ALF는 영상 부호화 장치(100)로부터 제공된 ALF 적용 여부 정보, ALF 계수 정보 등을 기초로 부호화 단위에 적용될 수 있다. 이러한 ALF 정보는 특정한 파라미터 셋에 포함되어 제공될 수 있다. 필터부(205)는 도 1의 필터부(111)와 실질적으로 동일하게 동작한다.
메모리(206)는 증산부(204)에 의해 생성된 복원 블록을 저장한다. 도 1의 메모리(112)와 실질적으로 동일하게 동작한다.
예측부(207, 208)는 엔트로피 복호화부(201)에서 제공된 예측 블록 생성 관련 정보와 메모리(206)에서 제공된 이전에 복호화된 블록 또는 픽쳐 정보를 기초로 예측 블록을 생성할 수 있다.
예측부(207, 208)는 화면 내 예측부(207) 및 화면 간 예측부(208)를 포함할 수 있다. 별도로 도시되지는 아니하였으나, 예측부(207, 208)는 예측 단위 판별부를 더 포함할 수 있다. 예측 단위 판별부는 엔트로피 복호화부(201)에서 입력되는 예측 단위 정보, 인트라 예측 방법의 예측 모드 정보, 인터 예측 방법의 모션 예측 관련 정보 등 다양한 정보를 입력 받고 현재 부호화 단위에서 예측 단위를 구분하고, 예측 단위가 인터 예측을 수행하는지 아니면 인트라 예측을 수행하는지 여부를 판별할 수 있다. 화면 간 예측부(208)는 영상 부호화 장치(100)에서 제공된 현재 예측 단위의 인터 예측에 필요한 정보를 이용해 현재 예측 단위가 포함된 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐에 포함된 정보를 기초로 현재 예측 단위에 대한 화면 간 예측을 수행할 수 있다. 또는, 현재 예측 단위가 포함된 현재 픽쳐 내에서 기-복원된 일부 영역의 정보를 기초로 화면 간 예측을 수행할 수도 있다.
화면 간 예측을 수행하기 위해 부호화 단위를 기준으로 해당 부호화 단위에 포함된 예측 단위의 모션 예측 방법이 스킵 모드(Skip Mode), 머지 모드(Merge 모드), AMVP 모드(AMVP Mode) 중 어떠한 방법인지 여부를 판단할 수 있다.
화면 내 예측부(207)는, 현재 부호화하려는 블록 주변에 위치한, 그리고 기 복원된 화소들을 이용하여 예측 블록을 생성한다.
화면 내 예측부(207)는 AIS(Adaptive Intra Smoothing) 필터, 참조 화소 보간부, DC 필터를 포함할 수 있다. AIS 필터는 현재 블록의 참조 화소에 필터링을 수행하는 필터로써 현재 예측 단위의 예측 모드에 따라 필터의 적용 여부를 적응적으로 결정할 수 있다. 영상 부호화 장치(100)에서 제공된 예측 단위의 예측 모드 및 AIS 필터 정보를 이용하여 현재 블록의 참조 화소에 AIS 필터링을 수행할 수 있다. 현재 블록의 예측 모드가 AIS 필터링을 수행하지 않는 모드일 경우, AIS 필터는 적용되지 않을 수 있다.
화면 내 예측부(207)의 참조 화소 보간부는 예측 단위의 예측 모드가 참조 화소를 보간한 화소값을 기초로 인트라 예측을 수행하는 예측 단위일 경우, 참조 화소를 보간하여 분수 단위 위치의 참조 화소를 생성할 수 있다. 생성된 분수 단위 위치의 참조 화소가 현재 블록 내의 화소의 예측 화소로 이용될 수 있다. 현재 예측 단위의 예측 모드가 참조 화소를 보간하지 않고 예측 블록을 생성하는 예측 모드일 경우 참조 화소는 보간되지 않을 수 있다. DC 필터는 현재 블록의 예측 모드가 DC 모드일 경우 필터링을 통해서 예측 블록을 생성할 수 있다.
화면 내 예측부(207)는 도 1의 화면 내 예측부(102)와 실질적으로 동일하게 동작한다.
화면 간 예측부(208)는, 메모리(206)에 저장된 참조 픽쳐, 움직임 정보를 이용하여 화면간 예측 블록을 생성한다. 화면 간 예측부(208)는 도 1의 화면 간 예측부(103)와 실질적으로 동일하게 동작한다.
도 3은 변환 커널 유도를 위한 오프라인 트레이닝(off-line training) 과정을 도시한 도면이다.
변환기의 커널이 유도되는 방법은 도 3으로 설명될 수 있다. 먼저, 군집화 및 각 군집의 대표값을 유도하기 위해서는 부호화 과정에서 뽑은 정보를 사용할 수 있다. 여기서, 상기 정보는 잔차 블록, 1차 변환 블록 등을 포함할 수 있다. 상기 정보는 변환 커널 유도 단계에서 입력 정보로 이용될 수 있다. 일 예로, 1차 변환 커널을 유도하는 경우, 오프라인 트레이닝의 입력 정보로 잔차 블록(residual block)이 이용될 수 있다. 2차 변환 커널을 유도하는 경우, 오프라인 트레이닝의 입력 정보로 1차 변환(transform) 블록이 이용될 수 있다.
또한, 훈련(=트레이닝) 데이터를 빨리 획득하기 위하여 복호화기에서 직접 복원(reconstruction)된 잔차 블록을 이용하여 1차 변환 커널을 유도할 수 있고, 복원된 1차 변환 블록을 이용하여 2차 변환 커널을 유도할 수 있다.
이하, 변환 커널을 유도하는 도 3의 각각의 단계를 구체적으로 설명한다.
[1] 군집화 및 각 군집의 대표값 설정 단계
K-means 알고리즘 (또는 Iso데이터 알고리즘)등을 사용하여 복수의 블록들을 군집화하고, 각 군집의 대표값을 설정할 수 있다.
1차 변환의 경우, M×N (M: height, N: width) 크기의 잔차 블록들을 이용될 수 있다. 2차 변환의 경우, M×N (M: height, N: width) 크기의 1차 변환된 블록들이 이용될 수 있다.
이 때, 1차/2차 변환 모두 군집의 개수 및 대표값의 개수를 임의의 K개로 setting 할 수 있다. 여기서, K는 1, 2, 3, 4 등의 정수 일 수 있다.
변환 커널을 유도하는데 있어서 K개의 대표값들 전부 또는 일부가 사용될 수 있다. 일 예로, K개의 대표값들 중 x개 선택하여 변환기의 커널을 유도하는데 사용할 수 있다. 여기서, x는 K보다 작은 자연수 일 수 있다.
일 실시예로, 3만개의 4×4 블록 크기의 잔차 블록들의 대표값을 구한다고 할 때, K를 3으로 설정할 수 있다. K를 3으로 설정하였기 때문에, 대표값은 총 3개가 획득될 수 있다. 이때, 3개의 대표값들 중 2개를 선택하여 변환 커널 유도에 사용할 수 있다. 따라서, 2개의 대표값을 통해서 [2]변환 커널 유도 단계에서 2개의 변환 커널을 유도할 수 있다.
[2] 변환 커널 유도 단계
'[1] 군집화 및 각 군집의 대표값 설정 단계'를 통해 군집화된 블록들의 Covariance matrix 혹은 Correlation matrix를 이용하여 KL 또는 SVD 변환 커널을 유도한다. 이때, 커널을 유도하기 위한 블록의 크기는 M×N일 수 있다(M×N은 행렬 notation을 사용할 수 있음).
[2]-A. Covariance matrix를 통한 2D KL Transform kernel 유도 방법
먼저,
Figure PCTKR2023015226-appb-img-000001
에 대한 Eigen value λ를 유도할 수 있다.
(참고로, SVD 변환 커널을 유도하는 경우에는 covariance 대신 correlation
Figure PCTKR2023015226-appb-img-000002
을 사용할 수 있다.
먼저, Eigen value λ의 유도의 조건으로,
Figure PCTKR2023015226-appb-img-000003
이고, λ는
Figure PCTKR2023015226-appb-img-000004
부터
Figure PCTKR2023015226-appb-img-000005
의 범위를 가질 수 있다.
Figure PCTKR2023015226-appb-img-000006
는 energy가 높은 순서를 나타낼 수 있다.
Covariance Matrix 유도는 다음 수학식 1로 수행될 수 있다.
Figure PCTKR2023015226-appb-img-000007
여기서,
Figure PCTKR2023015226-appb-img-000008
는 군집화 된 블록을 MN×1 vector형태로 나타낸 것일 수 있다. 또한, 는 L개의 sample data에 대한 MN×1 평균 vector를 나타낸 것일 수 있다.
이후,
Figure PCTKR2023015226-appb-img-000009
값에 따른 orthonormal
Figure PCTKR2023015226-appb-img-000010
vectors (
Figure PCTKR2023015226-appb-img-000011
)를 (i=1,2,3, … ,MN)을 계산할 수 있다. 이후, 이를 이용하여
Figure PCTKR2023015226-appb-img-000012
(KL Transform kernel)를 수학식 2와 같이 유도할 수 있다.
Figure PCTKR2023015226-appb-img-000013
Figure PCTKR2023015226-appb-img-000014
의 transpose를 의미할 수 있다. MN은 M×N을 의미한다. 일 예로서 M=4 이고 N=8 이면 MN=32일 수 있다. 수학식 2는
Figure PCTKR2023015226-appb-img-000015
에 대한 정의를 식으로 나타낸 것일 수 있다.
Figure PCTKR2023015226-appb-img-000016
[2]-B. 1D KL Transform kernel 유도 방법 (Vertical covariance matrix 및 Horizontal covariance matrix를 통한 유도)
[Vertical covariance matrix를 이용한 1D KL Transform kernel 유도 방법]
Vertical kernel을 유도하기 위해서,
Figure PCTKR2023015226-appb-img-000017
에 대한 Eigen value λ를 유도할 수 있다.
(참고로, SVD 변환 커널을 유도하는 경우에는 covariance 대신 correlation
Figure PCTKR2023015226-appb-img-000018
를 사용할 수 있다.)
먼저, Eigen value λ의 유도 조건으로,
Figure PCTKR2023015226-appb-img-000019
이고, λ는
Figure PCTKR2023015226-appb-img-000020
부터
Figure PCTKR2023015226-appb-img-000021
의 범위를 가질 수 있다.
Figure PCTKR2023015226-appb-img-000022
는 energy가 높은 순서를 나타낼 수 있다.
Figure PCTKR2023015226-appb-img-000023
값에 따른 orthonormal
Figure PCTKR2023015226-appb-img-000024
vectors를 계산한 후,
Figure PCTKR2023015226-appb-img-000025
(Vertical KL Transform kernel)를 수학식 3와 같이 유도할 수 있다.
Figure PCTKR2023015226-appb-img-000026
Figure PCTKR2023015226-appb-img-000027
의 transpose일 수 있다.
Vertical Covariance Matrix 유도는 다음 수학식 3으로 수행될 수 있다.
Figure PCTKR2023015226-appb-img-000028
여기서,
Figure PCTKR2023015226-appb-img-000029
이고, i=1,2,3, … ,N이고,
Figure PCTKR2023015226-appb-img-000030
는 M×1 벡터이고, i는 column, j는 sample block number,
Figure PCTKR2023015226-appb-img-000031
Figure PCTKR2023015226-appb-img-000032
의 i-th column의 M×1 평균 벡터일 수 있다.
여기서, '[1] 군집화 및 각 군집의 대표값 설정 단계'를 통해 얻은
Figure PCTKR2023015226-appb-img-000033
Figure PCTKR2023015226-appb-img-000034
는 도 4에 도시되어 있다.
이후, 이를 이용하여
Figure PCTKR2023015226-appb-img-000035
(Vertical KL Transform kernel)를 수학식 4와 같이 유도할 수 있다. 수학식 4는
Figure PCTKR2023015226-appb-img-000036
에 대한 정의를 식으로 나타낸 것일 수 있다.
Figure PCTKR2023015226-appb-img-000037
[Horizontal covariance matrix를 이용한 1D KL Transform kernel 유도 방법]
Horizontal kernel 유도를 유도하기 위해서,
Figure PCTKR2023015226-appb-img-000038
에 대한 Eigen value λ를 유도할 수 있다.
(참고로, SVD 변환 커널을 유도하는 경우에는 covariance 대신 correlation
Figure PCTKR2023015226-appb-img-000039
를 사용할 수 있다.)
먼저, Eigen value λ의 유도 조건으로,
Figure PCTKR2023015226-appb-img-000040
이고, λ는
Figure PCTKR2023015226-appb-img-000041
부터
Figure PCTKR2023015226-appb-img-000042
의 범위를 가질 수 있다.
Figure PCTKR2023015226-appb-img-000043
는 energy가 높은 순서를 나타낼 수 있다.
Figure PCTKR2023015226-appb-img-000044
값에 따른 orthonormal
Figure PCTKR2023015226-appb-img-000045
vectors를 계산한 후,
Figure PCTKR2023015226-appb-img-000046
(Horizontal KL Transform kernel)를 수학식 5와 같이 유도할 수 있다.
Figure PCTKR2023015226-appb-img-000047
Figure PCTKR2023015226-appb-img-000048
의 transpose일 수 있다.
Figure PCTKR2023015226-appb-img-000049
여기서,
Figure PCTKR2023015226-appb-img-000050
이고, , i=1,2,3, … ,N이고,
Figure PCTKR2023015226-appb-img-000051
는 N×1 벡터이고, i는 row, j는 sample block number,
Figure PCTKR2023015226-appb-img-000052
Figure PCTKR2023015226-appb-img-000053
의 i-th row의 N×1 평균 벡터일 수 있다.
이후, 이를 이용하여
Figure PCTKR2023015226-appb-img-000054
(Horizontal KL Transform kernel)를 수학식 6와 같이 유도할 수 있다.
Figure PCTKR2023015226-appb-img-000055
다음은 [2] 변환 커널 유도 단계에서 유도한 커널을 적용하는 실시예를 설명한다. 이때, 주로 KL 변환 커널을 기준으로 설명하나 SVD 변환 커널의 경우도 동일하게 적용될 수 있다.
도 5는 1D(1 dimension) 변환 커널을 적용하는 실시예를 도시한다.
도 5의 실시예는 1D 변환 커널(separable KLT) 적용하는 예로, primary transform (1차 변환) 또는 secondary transform (2차 변환)에 1D 변환 커널을 적용하는 예를 설명한다. 도 5의 입력값은 잔차 블록 또는 1차 변환된 블록이고, 출력값은 수직 커널 또는 수평 커널 중 적어도 하나를 사용하여 1차 또는 2차 변환된 블록일 수 있다.
도 6은 2D 변환 커널을 적용하는 실시예를 도시한다. 도 6의 실시예는 2D 변환 커널(non-separable KLT)을 적용하는 예일 수 있다. 도 6의 입력값은 잔차 블록 또는 1차 변환 블록을 1차원 벡터 형태로 재배열한 것이고, 출력값은 2D 변환 커널을 사용하여 1차 또는 2차 변환된 벡터를 재배치한 블록일 수 있다.
도 7은 부호화기에서의 변환 과정을 도시한 도면이다.
먼저, 잔차 블록에 대해 1차 변환을 수행하여, 1차 변환 블록이 획득될 수 있다. 상기 1차 변환 블록에 대해 2차 변환의 수행 여부를 결정될 수 있다. 상기 2차 변환을 수행하는 것으로 결정된 경우, 상기 2차 변환을 수행하여 2차 변환 블록을 획득할 수 있다. 상기 2차 변환 블록을 양자화하여 획득한 양자화 블록을 비트스트림에 부호화할 수 있다.
잔차 블록을 입력으로 하는 1차 변환에 적용되는 변환 커널은, DST, DCT 와 같은 커널을 포함할 뿐만 아니라 KLT 같은 커널을 더 포함할 수 있다. KLT 커널은 선택적으로 포함될 수 있다. KLT 커널이 포함되는지 여부는 잔차 블록의 특성에 따라 결정될 수 있다. 여기서, 잔차 블록의 특성은, 잔차 블록의 너비, 높이, 크기, 형태, 분할 깊이 등을 포함할 수 있다. 이와 달리, KLT 커널이 선택적으로 포함되는지 여부를 나타내는 정보가 비트스트림에 부호화될 수 있다.
1차 변환이 적용되면 1차 변환에 적용된 커널의 종류를 나타내는 정보가 비트스트림으로 부호화 될 수 있다.
다음으로, 2차 변환을 위한 조건을 고려하여 2차 변환을 수행할 수 있다. 2차 변환을 위한 조건의 예시는 다음과 같다. 아래 조건 중 적어도 하나에 해당하는 경우, 2차 변환을 수행할 수 있다.
1) 1차 변환 커널이 DCT 2, DCT 2 (수직 커널, 수평 커널)인 경우
2) 1차 변환 후의 0이 아닌 변환 계수가 4개 이상인 경우
3) 블록의 크기가 4 x 4 ~ 16 x 16 이하인 경우
상기 조건 중 어느 하나에 해당하면, 2차 변환의 적용 여부를 나타내는 플래그를 부호화할 수 있다.
1차 변환된 블록을 입력으로 2차 변환이 수행될 수 있다. 2차 변환에는 DST, DCT 와 같은 커널 뿐만 아니라 KLT 커널이 적용될 수 있다. KLT 커널은 선택적으로 적용될 수 있다. KLT 커널이 적용되는지 여부는 잔차 블록의 특성에 따라 결정될 수 있다. 여기서, 잔차 블록의 특성은, 잔차 블록의 너비, 높이, 크기, 형태, 분할 깊이 등을 포함할 수 있다. 이와 달리, KLT 커널이 선택적으로 적용되는지 여부를 나타내는 정보가 비트스트림에 부호화될 수 있다.
2차 변환이 적용되면 2차 변환에 적용된 커널의 종류를 나타내는 정보가 비트스트림으로 부호화 될 수 있다.
1차 또는 2차 변환 커널의 부호화의 일 실시예는 다음과 같다.
1) 화면 내 예측 방향성 모드가 DC, planar이면 kernel 제1 인덱스로 부호화
2) horizontal mode ± 5 이면 Kernel 제2 인덱스로 부호화
3) vertical mode ± 5 이면 kernel 제3 인덱스로 부호화
4) diagonal mode 0 이면 kernel 제4 인덱스로 부호화
4개의 인덱스 부호화 예를 도시하나, 이 중 일부가 생략될 수 있다.
2차 변환된 벡터는 에너지(Energy)가 큰 주파수(frequency)정보를 2차원 좌표 (0,0)부터 diagonal scanning 방향으로 블록 형태로 배치될 수 있다. 또한, 상기 블록은, 양자화 단계의 입력값이 될 수 있다.
도 8은 복호화기에서의 역변환 과정을 도시한 도면이다.
먼저, 비트스트림으로부터 획득한 양자화 블록을 역양자화하여 2차 변환 블록을 획득할 수 있다. 상기 2차 변환 블록에 대한 2차 역변환의 수행 여부를 결정할 수 있다. 상기 2차 역변환을 수행하는 것으로 결정된 경우, 상기 2차 변환 블록에 대한 상기 2차 역변환을 수행하여 1차 변환 블록을 획득할 수 있다. 상기 1차 변환 블록에 대한 1차 역변환을 수행하는 단계를 포함할 수 있다.
역양자화 단계가 수행되고, diagonal scanning에 의해 계수들이 재배치될 수 있다. 2차 역변환이 적용되는 경우 벡터의 형태로 재배치될 수 있다.
다음으로, 비트스트림으로부터 시그널링된 2차 역변환 적용 여부에 관한 정보를 기초로 2차 역변환 수행 여부를 결정할 수 있다. 이와 달리, 2차 역변환 조건을 고려하여, 2차 역변환을 수행할 수도 있다. 상기 조건은 부호화 단계에서 고려한 조건과 동일할 수 있다.
2차 역변환이 적용되는 것으로 결정되면, 비트스트림으로부터 시그널링된 2차 변환 커널 정보에 의해 2차 역변환에 적용될 커널 결정될 수 있다. 결정된 2차 역변환 커널을 기초로, 2차 역변환이 수행될 수 있다.
다음으로, 1차 역변환을 위한 1차 변환 커널 정보를 비트스트림으로부터 시그널링할 수 있다. 상기 1차 변환 커널 정보를 기초로, 1차 역변환에 적용될 변환 커널이 결정될 수 있다. 상기 결정된 변환 커널로 1차 역변환이 수행될 수 있다. 1차 역변환을 통해 잔차 블록을 획득할 수 있다.
변환 커널 적용단계에서 입력(input)과 출력(output)은 다음과 같이 정의될 수 있다.
1차 정변환 시 input, output 정의
- input: M x N 크기의 잔차(residual) 블록 (M: height, N: width)
- ouput: energy가 작은 basis들을(작은 λ값들에 대응하는) 제거한 KLT를 수행한 1차 변환된 블록 (dimension reduction에 따라 크기가 달라짐)
1차 역변환 시 input, output 정의
- input: 1차 변환된 블록 (dimension reduction에 따라 크기가 달라짐)
- output: M x N 크기의 잔차(residual) 블록
2차 정변환 시 input, output 정의
- input: P x Q 1차 변환된 블록 (P≤M, Q≤N)
- ouput: energy가 작은 basis들을(작은 λ값들에 대응하는) 제거한 KLT를 수행한 2차 변환된 블록 (dimension reduction에 따라 크기가 달라짐)
2차 역변환 시 input, output 정의
- input: 2차 변환된 블록
- output: P x Q 1차 변환된 블록
도 9는 차원 감소(dimension reduction)를 활용하여 1D 변환 커널을 적용하는 제1 실시예를 도시한 도면이다.
도 9의 제1 실시예는 1D 변환 커널(separable KLT)을 적용하는 예로, primary transform (1차 변환) 또는 secondary transform (2차 변환)에 1D 변환 커널이 적용되는 예일 수 있다. 도 9의 실시예에서는 dimension reduction이 수행되는 바, 입력 블록이 MxN인 경우, 도 5와 달리 출력 블록의 크기는 M/2 x N/2일 수 있다(도 5의 경우 출력 블록은 MxN). 구체적으로, 수직 방향의 KL 변환 커널과 수평 방향의 KL 변환 커널을 사용하며, 수직과 수평 방향에 각각 1/2의 dimension reduction을 보여주는 예시를 나타낸다.
도 10은 dimension reduction을 활용하여 1D 변환 커널을 적용하는 제2 실시예를 도시한 도면이다.
도 10의 제2 실시예는 1D 변환 커널(separable KLT)을 적용하는 예로, primary transform (1차 변환) 또는 secondary transform (2차 변환)에 1D 변환 커널을 적용하는 것 일 수 있다. 도 10의 실시예에서는 dimension reduction이 수행되는 바, 입력 블록이 MxN인 경우, 출력 블록의 크기는 M/4 x N/2일 수 있다. 구체적으로, 수직 방향의 KL 변환 커널과 수평 방향의 KL 변환 커널을 사용하며, 수직 방향에 14의 dimension reduction과 수평 방향에 1/2의 dimension reduction을 나타낼 수 있다.
도 11은 dimension reduction을 활용하여 1D 변환 커널을 적용하는 제3 실시예를 도시한 도면이다.
도 11의 제3 실시예는 1D 변환 커널(separable KLT)을 적용하는 예로, primary transform (1차 변환) 또는 secondary transform (2차 변환)에 1D 커널을 적용하는 것 일 수 있다. 도 11의 실시예에서는 dimension reduction이 수행되는 바, 입력 블록이 MxN인 경우, 출력 블록의 크기는 M/4 x N/4일 수 있다. 구체적으로, 수직 방향의 KL 변환 커널과 수평 방향의 KL 변환 커널을 사용하며, 수직과 수평 방향에 각각 14의 dimension reduction을 나타낼 수 있다.
도 12은 dimension reduction 없이 데이터 전체를 변환한 경우로 1D 변환 커널을 적용하는 제4 실시예를 도시한 도면이다.
도 12의 제4 실시예는 1D 변환 커널(separable KLT)을 적용하는 예로, primary transform (1차 변환) 또는 secondary transform (2차 변환)에 1D 커널을 적용하는 것 일 수 있다. 도 11의 실시예에서는 dimension reduction없이 데이터 전체를 변환하는 경우인 바, 입력 블록과 출력 블록의 크기는 모두 MxN일 수 있다. 구체적으로, dimension reduction을 활용하지 않고 수직 방향의 KL 변환 커널과 수평 방향의 KL 변환 커널을 사용하는 것을 나타낼 수 있다.
도 13은 dimension reduction을 활용하여 2D 변환 커널을 적용하는 제1 실시예를 도시한 도면이다.
도 13의 2D 변환 커널을 적용하는 제1 실시예는 dimension reduction이 수행되는 바, 입력 블록이 MxN인 경우, 출력 벡터는 MN이 아닌 MN/2일 수 있다. 구체적으로, 2D KL 변환 커널을 사용하며, 1/2의 dimension reduction을 나타낼 수 있다.
도 14는 dimension reduction을 활용하여 2D 변환 커널을 적용하는 제2 실시예를 도시한 도면이다.
2D 변환 커널을 적용하는 제2 실시예는 dimension reduction이 수행되는 바, 입력 블록이 MxN인 경우, 출력 벡터는 MN이 아닌 MN/4일 수 있다. 구체적으로, 2D KL 변환 커널을 사용하며, 1/4의 dimension reduction을 나타낼 수 있다.
도 15는 dimension reduction을 활용하여 2D 변환 커널을 적용하는 제2 실시예를 도시한 도면이다.
2D 변환 커널을 적용하는 제2 실시예는 dimension reduction이 수행되는 바, 입력 블록이 MxN인 경우, 출력 벡터는 MN이 아닌 MN/4일 수 있다. 구체적으로, 2D KL 변환 커널을 사용하며, 1/4의 dimension reduction을 나타낼 수 있다.
도 16는 dimension reduction 없이 2D 변환 커널을 적용하는 제3 실시예를 도시한 도면이다.
2D 변환 커널을 적용하는 제3 실시예는 dimension reduction이 수행되지 않는 바, 입력 블록이 MxN인 경우, 출력 벡터는 MN일 수 있다. 구체적으로, MN×MN 크기의 2D 변환 커널을 적용을 나타낼 수 있다.
Dimension reduction을 활용할지 여부는, 전술한 블록의 특성 또는 비트스트림으로부터 시그널링된 정보에 의해 결정될 수 있다. 이는 블록 단위는 물론 블록의 상위 단위에서 시그널링될 수 있다.
도 17은 벡터들의 2D 블록으로 재배치하는 예를 도시한다.
구체적으로, 변환 커널 적용 단계에서 유도된 MN × 1 벡터들을 2D M × N 변환 블록으로 구성 시, energy가 큰 순서에 기반하여 2D로 재배치하는 예들을 도시한다.
상기 재배치는 bottom-up diagonal 배치, horizontal 배치, zigzag 배치, vertical 배치 등을 포함할 수 있다. 각 포함 방법에 따라, energy가 큰 순서대로 벡터 내 계수를 2D 블록으로 재배치할 수 있다. 이는 1차 또는 2차 변환에서도 동일하게 적용될 수 있고, SVD의 경우도 동일하게 적용될 수 있다.
도 18은 재배치된 블록의 계수들을 스캐닝하는 실시예를 도시한다.
변환 커널 적용 단계에서 재배치한 방법에 따라 양자화 계수에 대한 스캔 순서가 달라질 수 있다. 스캔 순서는 bottom-up diagonal 배치에 대한 스캔 순서, horizontal 배치에 대한 스캔 순서, zigzag 배치에 대한 스캔 순서, vertical 배치에 대한 스캔 순서를 포함할 수 있다. 결정된 스캔 순서에 대한 정보 또는 재배치에 대한 정보는 비트스트림을 통해 부/복호화될 수 있다. 재배치에 대한 정보로 스캔 순서가 결정되는 경우 재배치 방법과 스캔 순서는 1:1관계일 수 있다.
도 19는 1차 변환에 대한 1D 변환 커널이 시그널링되는 실시예를 도시한 도면이다.
먼저, H-KLT와 V-KLT는 각각 본 발명에서 유도한 Horizontal KL/SVD Transform 커널 및 Vertical KL/SVD Transform 커널을 의미할 수 있다. 1차 변환의 경우, mts_idx를 통해 변환 커널을 시그널링을 한다.
제안하는 1D 변환 커널을 1차 변환에 적용하는 경우, 도 19A, 도 19B, 도 19C의 예시와 같이 mts_idx 정의 및 시그널링을 할 수 있다.
유도 및 적용하고자 하는 커널의 개수에 따라 mts_idx의 최댓값을 늘리거나 DCT 및 DST 커널 쌍들을 대체하여 시그널링을 할 수 있다. DCT-2, V-KLT 와 같은 예도 가능할 수 있다.
도 20는 1차 변환에 대한 2D 변환 커널이 시그널링되는 실시예를 도시한 도면이다.
제안하는 2D 변환 커널을 1차 변환에 적용하는 경우, 도 20A, 도 20B, 도 20C와 같이 mts_idx 정의 및 시그널링을 할 수 있다.
유도 및 적용하고자 하는 커널의 개수에 따라 mts_idx의 최댓값을 늘리거나 DCT 및 DST 커널 쌍을 대체하여 시그널링을 할 수 있다. KLT는 본 발명에서 유도한 KL/SVD Transform 커널을 의미할 수 있다. 일 예로, 도 20A의 경우 mts_idx의 최대값은 4이나, 도 20B의 경우 mts_idx의 최대값은 5일 수 있다.
도 21는 2차 변환에 대한 1D 변환 커널이 시그널링되는 실시예를 도시한 도면이다.
2차 변환의 경우, secondary_idx를 통해 변환기의 커널을 시그널링할 수 있다.
제안하는 1D 변환 커널을 2차 변환에 적용하는 경우, 도 21A, 도 21B, 도 21C과 같이 secondary_idx 정의 및 시그널링을 할 수 있다.
유도 및 적용하고자 하는 커널의 개수에 따라 secondary_idx의 최댓값을 늘리거나 secondary 커널을 대체하여 시그널링을 할 수 있다. H-KLT와 V-KLT는 각각 본 발명에서 유도한 Horizontal KL/SVD Transform 커널 및 Vertical KL/SVD Transform 커널을 의미할 수 있다.
도 22는 2차 변환에 대한 2D 변환 커널이 시그널링되는 실시예를 도시한 도면이다.
제안하는 2D 변환 커널을 2차 변환에 적용하는 경우, 도 22A, 도 22B, 도 22C와 같이 secondary_idx 정의 및 시그널링을 할 수 있다.
유도 및 적용하고자 하는 커널의 개수에 따라 secondary_idx의 최댓값을 늘리거나 secondary 커널을 대체하여 시그널링을 할 수 있다. KLT는 본 발명에서 유도한 KL Transform/SVD Transform 커널을 의미할 수 있다.
도 23은 부호화기에서 1차 변환만 적용되는 예를 도시한다.
잔차 블록에 대한 1차 변환의 변환 커널을 결정할 수 있다. 상기 결정된 1차 변환의 변환 커널을 기초로, 상기 잔차 블록에 대한 1차 변환을 수행하여 1차 변환 블록을 획득할 수 있다. 상기 1차 변환 블록을 양자화하여 획득한 양자화 블록을 비트스트림에 부호화할 수 있다.
도 23에 따른 변환기의 encoder 적용하는 과정은, 도 2와 달리 2차 변환 단계가 생략된 것일 수 있다. 즉, 1차 변환만 수행하는 과정일 수 있다. 이는, 전술한 2차 변환 여부의 조건이 No인 경우에 해당할 수 있으나, 2차 변환 여부 조건과 관계없이 생략되는 경우도 포함할 수 있다.
도 23의 변환 과정의 수행 여부는 예측 모드 또는 블록의 사이즈(또는 블록의 너비 및 높이의 곱) 중 적어도 하나에 기초하여 결정될 수 있다.
일 예로, 도 23의 변환 과정은 인트라 예측 모드에만 수행될 수 있다. 이와 달리, 도 23의 변환 과정은 인터 예측 모드에만 수행될 수 있다.
다른 예로, 도 23의 변환 과정은 블록의 사이즈가 4x4, 4x8, 8x4 및 8x8 인 경우에만 적용될 수 있다. 다른 예로, 도 23의 변환 과정은 블록의 사이즈가 4x4, 4x8, 8x4, 8x8, 4x16, 16x4인 경우에만 적용될 수 있다.
다른 예로, 도 23의 변환 과정은 블록의 너비 및 높이의 곱이 64보다 작은 경우에만 적용될 수 있다.
다른 예로, 도 23의 변환 과정은 현재 블록의 예측 모드가 인트라 예측 모드이며, 블록의 사이즈가 4x4, 4x8, 8x4, 8x8, 4x16 및 16x4인 경우에만 적용될 수 있다.
다른 예로, 도 23의 변환 과정은 현재 블록의 예측 모드가 인트라 예측 모드이며, 블록의 사이즈가 4x4, 4x8, 8x4 및 8x8인 경우에만 적용될 수 있다.
다른 예로, 도 23의 변환 과정은 현재 블록의 예측 모드가 인트라 예측 모드이며, 블록의 너비 및 높이의 곱이 64보다 작은 경우에만 적용될 수 있다.
도 23의 과정에 있어서 도 2와 동일한 단계는 도 2와 동일한 방법으로 수행될 수 있다.
일 예로, 도 23의 1차 변환 커널 시그널링 단계는 도 2와 같이, 다음과 같이 시그널링 될 수 있다.
1) 화면 내 예측 방향성 모드가 DC, planar이면 kernel 1
2) horizontal mode ± 5 이면 Kernel 2
3) vertical mode ± 5 이면 kernel 3
4) diagonal mode 0 이면 kernel 4
도 23의 scanning은, 변환기의 커널 적용 단계에서 배치한 방법에 따라 양자화된 계수를 전송하기 위한 scan order가 달라질 수 있다. (Energy 가 낮은 것부터 scan 해도 결과는 유사할 수 있다)
도 23의 scanning의 예로, 도 17은 bottom-up diagonal 배치에 대한 scan order를 나타내고, 도 18은 horizontal 배치에 대한 scan order를 나타내고, 도 19는 vertical 배치에 대한 scan order를 나타내고, 및 도 20는 지그재그 배치에 대한 scan order를 나타낼 수 있다.
도 24는 복호화기에서 1차 역변환만 적용되는 예를 도시한다.
비트스트림으로부터 획득한 양자화 블록을 역양자화하여 1차 변환 블록을 획득할 수 있다. 상기 1차 변환 블록에 대한 1차 역변환의 변환 커널을 결정할 수 있다. 상기 결정된 1차 역변환의 변환 커널을 기초로, 상기 1차 변환 블록에 대한 1차 역변환을 수행하여 잔차 블록을 획득할 수 있다.
도 24에 따른 변환기의 decoder 적용하는 과정은, 도 3과 달리 2차 역변환 단계가 생략된 것일 수 있다. 즉, 1차 역변환만 수행하는 과정일 수 있다. 이는, 전술한 2차 변환 여부의 조건이 No인 경우에 해당할 수 있으나, 2차 변환 여부 조건과 관계없이 생략되는 경우도 포함할 수 있다.
도 24의 역변환 과정의 수행 여부는 예측 모드 또는 블록의 사이즈(또는 블록의 너비 및 높이의 곱) 중 적어도 하나에 기초하여 결정될 수 있다.
일 예로, 도 24의 역변환 과정은 인트라 예측 모드에만 수행될 수 있다. 이와 달리, 도 24의 역변환 과정은 인터 예측 모드에만 수행될 수 있다.
다른 예로, 도 24의 역변환 과정은 블록의 사이즈가 4x4, 4x8, 8x4 및 8x8 인 경우에만 적용될 수 있다. 다른 예로, 도 24의 역변환 과정은 블록의 사이즈가 4x4, 4x8, 8x4, 8x8, 4x16, 16x4인 경우에만 적용될 수 있다.
다른 예로, 도 24의 역변환 과정은 블록의 너비 및 높이의 곱이 64보다 작은 경우에만 적용될 수 있다.
다른 예로, 도 24의 역변환 과정은 현재 블록의 예측 모드가 인트라 예측 모드이며, 블록의 사이즈가 4x4, 4x8, 8x4, 8x8, 4x16 및 16x4인 경우에만 적용될 수 있다.
다른 예로, 도 24의 역변환 과정은 현재 블록의 예측 모드가 인트라 예측 모드이며, 블록의 사이즈가 4x4, 4x8, 8x4 및 8x8인 경우에만 적용될 수 있다.
다른 예로, 도 24의 역변환 과정은 현재 블록의 예측 모드가 인트라 예측 모드이며, 블록의 너비 및 높이의 곱이 64보다 작은 경우에만 적용될 수 있다.
도 24의 과정에 있어서 도 3과 동일한 단계는 도 3과 동일한 방법으로 수행될 수 있다.
도 24의 scanning은, 변환기의 커널 적용 단계에서 배치한 방법에 따라 양자화된 계수를 전송하기 위한 scan order가 달라질 수 있다. (Energy 가 낮은 것부터 scan 해도 결과는 유사할 수 있다)
도 24의 scanning의 예로, 도 17은 bottom-up diagonal 배치에 대한 scan order를 나타내고, 도 18은 horizontal 배치에 대한 scan order를 나타내고, 도 19는 vertical 배치에 대한 scan order를 나타내고, 및 도 20는 지그재그 배치에 대한 scan order를 나타낼 수 있다.
도 25는 MN(=M×N)개의 column 중 일부 column만 사용하는 예를 설명하기 위한 도면이다. 도 26은 signal-dependent transform kernel size 및 그에 대응하는 inverse kernel을 도시하는 도면이다.
먼저, 도 25를 참조하면 위에서 설명한 수학식 2와 같은 과정으로,
Figure PCTKR2023015226-appb-img-000056
는 MN 개의 column을 가지도록 획득될 수 있다. 각 column은 λ로 표현되고, column은
Figure PCTKR2023015226-appb-img-000057
개 발생할 수 있다. 상기 column들 중 일부만을 변환 커널로 이용할 수 있다. 이는 신호의 에너지 특성을 고려한 것이다.
참고로, 에너지를 고려하지 않은 전체 data에 대한 signal-dependent transform(SDT)는 수학식 7 및 8로 표현될 수 있다.
Figure PCTKR2023015226-appb-img-000058
Forward transform
Figure PCTKR2023015226-appb-img-000059
Inverse transform
이와 달리,
Figure PCTKR2023015226-appb-img-000060
,
Figure PCTKR2023015226-appb-img-000061
, …
Figure PCTKR2023015226-appb-img-000062
전체 에너지 중 일부만을 고려하여 signal-dependent transform은 변환 커널의 크기를 줄여 수행될 수 있다.
도 26을 참조하면, 일부 에너지만을 고려하여 변환 커널의 크기를 축소한 예를 확인할 수 있다. 또한, 도 26의 실시예보다 변환 커널의 크기를 더 축소하여 데이터의 차원을 더 줄일 수도 있다.
일 예로 M=16, N은 8인 경우, MN=128이므로 전체 에너지를 고려한 커널의 크기는 128×128 (lossless coding)이지만 높은 에너지에 기여하는
Figure PCTKR2023015226-appb-img-000063
,
Figure PCTKR2023015226-appb-img-000064
, …
Figure PCTKR2023015226-appb-img-000065
까지만 선택하여
Figure PCTKR2023015226-appb-img-000066
를 32×128로 구성하여 변환하면 128개의 데이터가 32개의 데이터로 표현되지만 에너지가 어느정도 보전되므로 압축 성능의 향상을 얻을 수 있다.
다른 예로, N은 8인 경우, MN=128이므로 전체 에너지를 고려한 커널의 크기는 128×128 (lossless coding)이지만 높은 에너지에 기여하는
Figure PCTKR2023015226-appb-img-000067
,
Figure PCTKR2023015226-appb-img-000068
, …
Figure PCTKR2023015226-appb-img-000069
까지만 선택하여
Figure PCTKR2023015226-appb-img-000070
를 16×128로 구성하여 변환하면 128개의 데이터가 16개의 데이터로 표현되지만 에너지가 어느정도 보전되므로 압축 성능의 향상을 얻을 수 있다.
변환된 데이터를 양자화 한 quantized transform coefficients를 코딩하기 위해, coefficient group 단위로 정의되는 non-zero 계수 존재 여부를 나타내는 플래그, 계수 단위로 정의되는 계수가 non-zero인지 여부를 나타내는 플래그, 계수 단위로 정의되는 계수의 절대값이 특정 값보다 큰지 여부를 나타내는 플래그, 계수 단위로 정의되는 계수의 나머지 절대값 정보 등이 부/복호화될 수 있다.
도 27은 1차원 데이터의 스캐닝을 나타내는 도면이다.
도 27과 같이, 2차원 non-separable KLT 또는 SVD를 적용하는 경우 2차원 블록에 대한 변환 결과는 데이터의 차원이 줄은 1차원 데이터가 될 수 있다 (4×4는 제외). 따라서, 양자화 후 1차원 데이터를 있는 그대로 도 27과 같이 scanning하면서 entropy coding (CABAC, VLC 등)이 수행될 수 있다.
Signal-dependent transform 구성 시, intra prediction의 경우, intra mode 정보에 따라 각각 3~4개의 변환 커널을 트레이닝하여 구성할 수 있다. 이 경우 transform에 사용된 특정 변환 커널에 대한 인덱스도 복호화기로 전달해주어야 한다. Inter coding 경우에도, AMVP (Advanced Motion Vector Prediction) 또는 MV(Motion Vector) Merge후 residual block size 별로 각각 3~4개의 변환 커널을 트레이닝하여 구성할 수 있다. 이 경우, 변환에 사용된 특정 변환 커널에 대한 인덱스도 복호화기로 전달해주어야 한다.
이외에도, 기존의 신호 독립적 변환을 사용하는 inter prediction에서의 SubBlock Partition transform 및 Intra sub-partition의 잔차 (residual) 신호를 통해 신호 의존적 변환을 미리 트레이닝한 후 적용할 수 있다.
coefficient group을 이용하여 계수의 존재여부를 비트스트림의 플래그를 통해 부/복호화할 수 있다.
신호 적응형 변환을 적용한 경우 변환 커널의 크기를 줄이기 때문에 비디오의 무손실 코딩 (lossless coding)의 경우는 트랜스폼을 bypass 하여 압축해야 한다.
만약, 신호 적응형 변환 후 (first transform, 1차 변환), data를 더 압축하기 위하여 1번 더 신호 적응형 변환 (secondary transform, 2차 변환)을 수행하는 것도 가능하다. 이때에는 2차 변환을 적용하기 전 1차 변환 계수를 1차원 data를 2차원 배열 (수평, 수직, diagonal 또는 zigzag 순)로 만들어 본 제안된 방법을 적용하도록 한다. 그 후, 2차 변환 후 2차원 block에 대한 변환 결과는 data의 개수(차원)가 준 1차원 data가 될 수 있다(4x4는 제외). 따라서 양자화 후, 1차원 data를 있는 그대로 scanning 하면서 entropy coding (CABAC, VLC 등) 하면 된다.
본 개시의 주파수를 이용한 보간 필터는 부/복호화 각 단계들 적어도 하나의 단계에 적용될 수 있다. 일 예로, 보간 필터는 참조 샘플을 보간하는데 이용될 수 있고, 예측 값을 조정하기 위해 이용될 수 있고, 잔차 값을 조정하기 위해 이용될 수 있고, 예측이 완료된 후 부/복호화 효율을 향상시키기 위해 이용될 수 있고, 부/복호화 전처리 단계로 수행될 수도 있다.
VVC 화면 내 예측에서 기존에 사용하던 4-tap Discrete Cosine Transform-based interpolation filter (DCT-IF) 와 4-tap Smoothing interpolation filer (SIF)를 대체하여 더 많은 참조 샘플을 이용하는 8-tap DCT-IF와 8-tap SIF를 적용한다. 경우에 따라서는 상기 8-tap 필터 대신에, 10-tap, 12-tap, 14-tap, 16-tap 등의 필터가 사용될 수 있다. 일 예로, 블록의 크기 및 참조 샘플의 주파수 특성을 이용하여 블록의 특성이 결정되며, 상기 블록에 적용되는 보간 필터의 종류가 선택될 수 있다.
8-tap DCT-IF는 아래 수학식 9로 획득될 수 있다.
Figure PCTKR2023015226-appb-img-000071
Figure PCTKR2023015226-appb-img-000072
p/32 픽셀 보간 필터(p=0,1,2,3,…,31, 1/32 분수 샘플을 사용하는 경우)는 상기 수학식 9에서 n=3+p/32를 이산 코사인 계수와 x(m) (m=0,1,2,…,7)의 선형 조합으로 대체하여 획득될 수 있다.
일 예로, (0/32, 1/32, 2/32, …, 16/32) 분수 샘플 위치에 대해 파생된 8-tap DCT-IF 계수는 n=3+(0/32, 1/ 32, 2/32, ..., 16/32)을 이용하여 획득될 수 있다. (17/32, 18/32, 19/32, …, 31/32)에 대한 8-tap DCT-IF 계수도 위와 같은 방법으로 획득될 수 있다.
8-tap SIF 계수는 z[n] 및 1/32 분수 선형 필터의 컨볼루션으로부터 획득될 수 있다. 여기서, 도 28의 z[n]은, 수학식 10 및 11의 h[n] 및 y[n]의 컨볼루션으로부터 획득될 수 있다. 여기서, h[n]은 3점 [1, 2, 1] LPF(Low Pass filter)일 수 있다.
수학식 10과 11는 y[n]과 z[n]을 유도하는 절차를 보여준다. 도 28은 h[n], y[n], z[n]을 나타내며, 8-tap SIF 계수는 z[n]과 1/32 fractional linear filter의 선형 보간을 통해 획득될 수 있다.
Figure PCTKR2023015226-appb-img-000073
Figure PCTKR2023015226-appb-img-000074
다음 수학식 12 및 13은 8-탭 SIF 계수를 계산하는 절차를 설명합니다. 여기서, g[n] = z[n-3], n = 0, 1, 2, …, 6일 수 있습니다.
Figure PCTKR2023015226-appb-img-000075
수학식 13은 p=16일 때
Figure PCTKR2023015226-appb-img-000076
위치에서 SIF 계수 유도의 예를 보여줍니다.
Figure PCTKR2023015226-appb-img-000077
도 29은 8-tap SIF 계수를 유도하는 데 사용되는 정수 기준 샘플을 도시한다. 도 29을 참조하면, 검은색
Figure PCTKR2023015226-appb-img-000078
위치에 대한 필터 계수를 유도하기 위한 8개의 정수 샘플
Figure PCTKR2023015226-appb-img-000079
은 회색으로 표시됩니다. 또한,
Figure PCTKR2023015226-appb-img-000080
은 8개의 기준 샘플의 시작 샘플일 수 있다. 필터 계수는 정수 구현으로 조정될 수 있다.
8-tap DCT-IF가 4-tap DCT-IF보다 high frequency 특성을 가지고, 8-tap SIF가 4-tap SIF보다 low frequency 특성을 가지기 때문에 블록의 특성에 따라 8-tap interpolation filter 종류를 선택하여 사용할 수 있다.
블록의 크기와 참조 샘플의 frequency 특성을 이용하여 블록의 특성이 결정되며, 해당 블록에 사용되는 보간 필터의 종류가 선택될 수 있다.
블록의 크기가 작을수록 correlation이 낮으며 high frequency가 많고, 크기가 클수록 correlation이 높고 low frequency가 많다는 특성이 이용될 수 있다.
[correlation의 획득]
CU 크기에 기초하여 참조 샘플 특성을 결정하기 위해, 수학식 14에서의 correlation은 인트라 예측 모드에 따라 현재 CU의 상단 또는 좌측 참조 샘플로부터 계산된다. 여기서, N은 현재 CU의 너비 또는 높이일 수 있다.
Figure PCTKR2023015226-appb-img-000081
도 30는 화면 내 예측 모드의 방향 및 각도를 도시한 도면이다. 현재 CU의 예측 모드가 도 30의 대각 모드(34)보다 크면 현재 CU의 상단에 위치한 참조 샘플이 수학식 14에서 사용될 수 있다. 그렇지 않으면 현재 CU의 좌측에 위치한 참조 샘플이 수학식 14에서 사용될 수 있다.
도 31는 다양한 비디오 해상도와 각 nTbS에 대한 참조 샘플의 평균 상관 값을 나타내는 도면이다. 구체적으로, 도 31은 수학식 15에서 정의된 다양한 비디오 해상도와 각 nTbS에 대한 참조 샘플의 평균 상관 값을 나타내며, 이는 각 화면 해상도에서 CU 크기에 따라 결정될 수 있다. 도 31과 같이 CU 크기가 커지고 비디오 해상도가 높을수록 상관 관계가 증가할 수 있다. 여기서 비디오 해상도 A1, A2, B, C 및 D는 괄호 안에 표시될 수 있다.
Figure PCTKR2023015226-appb-img-000082
비디오 코딩의 인트라 CU 크기 파티션은 비트 레이트 및 왜곡 측면에서 코딩을 향상시키기 위한 예측 성능에 의존할 수 있다. 예측 성능은 예측 샘플과 현재 CU의 샘플 간의 예측 오차에 따라 다를 수 있다. 현재 블록이 고주파수를 포함하여 세부 영역이 많은 경우, CU 크기는 작은 너비와 높이의 경계 참조 샘플을 사용하여 비트율과 왜곡을 고려하여 작게 분할될 수 있다. 그러나 현재 블록이 균질한 영역으로 구성되어 있는 경우 CU 크기는 너비와 높이가 큰 경계 참조 샘플을 사용하여 비트율과 왜곡을 고려하여 크게 분할될 수 있다.
도 31을 참조하면, A1, A2, B, C, D로 나타낸 nTbS 크기와 비디오 해상도에 따른 참조 샘플의 상관 값을 알 수 있다. 이는 각각 nTbS가 작은 nTbS는 낮은 상관 관계와 일치하는 고주파 특성을 갖고 큰 nTbS는 높은 상관 관계와 일치하는 저주파 특성을 가짐을 의미할 수 있다.
블록의 참조 샘플에 DCT-II를 이용하여 transform을 적용하여 참조 샘플의 frequency 특성을 구할 수 있다. 화면 내 예측 모드에 따라, 참조 샘플의 frequency 특성을 구하는 데 이용되는 참조 샘플이 결정될 수 있다. 일 예로, 화면 내 예측 모드의 방향이 수직 방향일 경우에는 현재 부호화 블록(또는 서브 블록)의 위쪽 참조샘플을 사용되고, 화면 내 예측 모드의 방향이 수평 방향일 경우에는 현재 부호화 블록(또는 서브 블록)의 왼쪽 참조 샘플을 사용한다. 화면 내 예측 모드의 방향이 대각선 방향일 경우에는 현재 부호화 블록(또는 서브 블록)의 왼쪽 또는 상단 참조 샘플 중 적어도 하나를 사용한다. 여기서, 참조 샘플은 현재 부호화 블록(또는 서브 블록)에 인접하거나, 현재 부호화 블록(또는 서브 블록)으로부터 k 픽셀 만큼 떨어져 있을 수 있다. 여기서, k는 1, 2, 3, 4 등의 자연수 일 수 있다.
high frequency energy 퍼센트가 높을수록 블록이 high frequency 특성을 가질 수 있다. high frequency energy 퍼센트와 블록 크기에 따른 threshold를 비교하여 블록의 frequency 특성을 결정하고, 블록에 적용될 interpolation filter가 선택될 수 있다.
Frequency 정보에 따라 high frequency가 많은 블록에는 강한 high pass filter (HPF) 인 8-tap DCT-IF를 적용하고, low frequency가 많은 블록에는 강한 low pass filter (LPF) 인 8-tap SIF를 적용할 수 있다.
블록의 크기가 작을수록 correlation이 낮다는 특성과 frequency 정보에 따라 high frequency가 많은 블록에 강한 HPF를 적용하는 방법을 이용하여 블록의 크기가 작을 때는 강한 HPF인 8-tap DCT-IF를 적용할 수 있다. high frequency가 적을 때는 약한 LPF인 4-tap SIF를 적용할 수 있다.
블록의 크기가 클수록 correlation이 높다는 특성과 frequency 정보에 따라 low frequency가 많은 블록에 강한 LPF를 적용하는 방법을 이용하여 블록의 크기가 클 때는 강한 LPF인 8-tap SIF를 적용할 수 있다. high frequency가 많을 때는 약한 HPF인 4-tap DCT-IF를 적용할 수 있다.
High frequency energy 퍼센트 구하는 예시는 다음과 같을 수 있다.
화면 내 예측 모드가 수평 방향인 경우 N은 블록의 높이이며, 화면 내 예측 모드가 수직 방향인 경우 N은 블록의 너비이다. 더 적은 수의 참조샘플을 사용하거나 더 많은 참조샘플을 사용하는 경우 N의 값은 더 작아지거나 커질 수도 있다. X는 참조샘플을 의미할 수 있다. 이 경우 high frequency 영역은 N의 1/4길이의 참조샘플을 사용하며, 더 적은 참조샘플을 사용하여 high frequency 에너지를 구하거나 더 많은 참조샘플을 사용하는 경우 이 영역의 길이는 줄어들거나 늘어날 수 있다. 수학식 16는 High frequency energy 퍼센트 구하는 예시를 나타낼 수 있다.
Figure PCTKR2023015226-appb-img-000083
도 32는 Frequency 정보를 이용하여 보간 필터를 선택하는 방법의 예를 도시한다.
TbS가 2인 블록의 high frequency energy 퍼센트가 threshold보다 작을 경우에는 4-tap SIF가 적용되고, 그 외의 경우에는 8-tap DCT-IF가 적용된다.
nTbS가 5 이상인 블록의 high frequency energy 퍼센트가 threshold보다 작을 경우에는 8-tap SIF가 적용되고, 그 외의 경우에는 4-tap DCT-IF가 적용된다.
상기 8-tap 필터 대신에 10-tap, 12-tap, 14-tap, 16-tap 등의 필터가 사용될 수 있다.
또한, 도 32에서 각각의 nTbS 및 high_freq_ratio에 따른 필터는 1개씩 기재되어 있으나, 복수의 필터가 사용될 수 있다.
일 예로, nTbS가 2인 경우 4-tap SIF 대신 4-tap SIF 및 8-tap SIF가 사용될 수 있다. 일 예로, 8-tap DCT-IF 대신 8-tap DCT-IF 및 16-tap DCT-IF가 사용될 수 있다.
이와 같이 복수의 필터가 사용될 경우, 부호화 장치에서는 그 중 어느 하나를 특정하는 정보(인덱스)가 부호화될 수 있고, 복호화 장치에서는 상기 정보를 비트스트림으로부터 시그날링하여 상기 복수의 필터 중 어느 하나를 특정할 수 있다.
또는, 복수의 필터가 사용될 경우, 화면 내 예측 모드에 의해서 상기 복수의 필터 중 어느 하나가 묵시적으로 특정될 수도 있다.
또한, 필터의 종류를 결정함에 있어서 nTbS 및 high_freq_ratio 외에 블록의 형태가 정사각형인지 직사각형인지 여부도 추가로 고려할 수 있다.
도 33는 8-tap DCT 보간 필터 계수들에 대한 실시예들을 도시한다. 도 34는 8-tap smoothing 보간 필터 계수들에 대한 실시예를 도시한다. 여기서 index=0 및 index=7은 필터 계수를 유도하기 위한 8개의 정수 샘플
Figure PCTKR2023015226-appb-img-000084
에 해당할 수 있다.
도 35는 4-tap DCT-IF, 4-tap SIF, 8-tap DCT-IF 및 8-tap SIF의 16/32픽셀 위치에서 크기 응답을 도시한다. 여기서 X축은 정규화된 라디안 주파수를 나타내고, Y축은 크기 응답을 나타낼 수 있다.
8-tap DCT-IF는 4-tap DCT-IF보다 HPF 특성이 우수하고 8-tap SIF는 4-tap SIF보다 LPF 특성이 우수합니다. 따라서, 8-tap SIF는 저주파 참조 샘플에서 4-tap SIF보다 더 나은 보간을 제공하고 8-tap DCT-IF는 고주파 참조 샘플에서 4-tap DCT-IF보다 더 나은 보간을 제공합니다.
VVC는 두 개의 보간 필터를 사용합니다. nTbS = 2일 때 4-tap DCT-IF는 모든 블록에 사용되고, nTbS = 3, 4일 때 4-tap DCT-IF 또는 4-tap SIF가 minDistVerHor 및 intraHorVerDistThres[nTbS]에 기초하여 사용되고, nTbS ≥ 5일 때 4-tap SIF가 모든 블록에서 사용된다.
본 개시에서는 제안된 보간 필터 외에 정수 참조 샘플의 주파수 정보를 이용하여 정확한 분수 경계 예측 샘플을 생성하기 위한 보간 필터 선택 방법을 제안한다.
CU 참조 샘플이 저주파 특성을 가지더라도 VVC 표준에서 nTbS=2인 CU 참조 샘플에는 DCT-IF가 사용됩니다. 그러나 도 35에서 볼 수 있듯이 nTbS 크기에 관계없이 참조 샘플의 저주파 특성에 따라 DCT-IF보다 SIF를 사용하는 것이 더 효과적일 수 있다. 마찬가지로 CU 기준 샘플이 고주파 특성을 가지더라도 VVC 표준에서 nTbS>4인 CU에는 SIF가 사용됩니다. 그러나 nTbS 크기에 관계없이 참조 샘플의 고주파 특성에 따라 도 35의 SIF보다 DCT-IF를 사용하는 것이 더 효과적이다. 이 문제를 해결하기 위해 참조 샘플의 주파수 특성에 따라 SIF와 DCT-IF로 구성된 두 개의 서로 다른 필터를 선택하는 방법이 개발되었습니다. 참조 샘플은 참조 샘플의 고주파 에너지를 감지하기 위해 스케일링된 정수 1차원(1-D) DCT-II 커널을 사용하여 변환될 수 있다. 스케일링된 DCT-II 계수 X[k], k=0,1,2,…,N-1은 다음과 같이 수학식 17 및 18에서 파생됩니다.
Figure PCTKR2023015226-appb-img-000085
Figure PCTKR2023015226-appb-img-000086
Figure PCTKR2023015226-appb-img-000087
여기서, N은 X[k]에 필요한 참조 샘플의 수입니다. 1차원 변환 후 변환 영역에서 고주파 에너지가 관찰됩니다. 에너지가 저주파 성분에 집중되기 때문에 참조 샘플은 동종 샘플로 구성됩니다. 그러나 고주파 성분에 에너지가 존재하기 때문에 참조 샘플에는 고주파수 샘플이 포함되며, 이는 CU의 샘플에 고주파 성분이 있음을 나타냅니다. 참조 샘플의 변환 크기는 현재 블록의 인트라 예측 모드에 따라 설절될 수 있다. 인트라 예측 모드가 모드 34(대각선 모드)보다 크면 상위 CU 참조 샘플은 수학식 17 및 수학식 18에서 N=CU 폭으로 변환될 수 있다. 그리고, 인트라 예측 모드가 모드 34보다 작은 경우, 수학식 17 및 수학식 18에서 N=CU 높이로 왼쪽 참조 샘플이 사용될 수 있다. X[k]는 고주파 계수의 에너지 비율을 측정하는 데 사용될 수 있다. 고주파 데이터에 에너지가 있는 경우 참조 샘플이 고주파 데이터로 구성되므로 DCT-IF를 사용할 수 있다. 대조적으로, SIF는 저주파 데이터의 고에너지 참조 샘플에 사용될 수 있다. 고주파 계수의 에너지 백분율인 high_freq_ratio는 수학식 19에서 계산될 수 있다.
Figure PCTKR2023015226-appb-img-000088
도 32에서 high_freq_ratio의 임계값(THR)은 실험적으로 결정된 것일 수 있다.
도 36은 nTbS에 따른 각 임계값 THR1, THR2, … , 도 36(a)와 도 36(b)는 각각 nTbS=2와 nTbS=5의 결과이다. 도 36(a)에서는 high_freq_ratio가 주어진 임계값보다 작기 때문에 4-tap SIF가 사용될 수 있다. 그렇지 않으면 8탭 DCT-IF가 사용될 수 있다. 도 36(a)에서 가장 효율적인 BD-율 감소는 THR5와 THR6에서 발생한다. 따라서 본 제안 방법에서는 high_freq_ratio의 THR로 THR5를 선택할 수 있다.
도 36(b)에서 nTbS = 5에서 high_freq_ratio로 실험할 때 THR4에서 더 나은 코딩 효율을 얻었고 nTbS가 6일 때 비슷한 결과를 얻음을 확인할 수 있다. 따라서 nTbS가 5와 6일 때 THR4가 THR로 선택될 수 있다. 제안하는 방법에서 high_freq_ratio의 nTbS > 4인 CU의 경우 high_freq_ratio < THR일 때 8-탭 SIF가 사용될 수 있다. 그렇지 않으면 4탭 DCT-IF가 사용될 수 있다. 예를 들어, CU가 4×4이면 nTbS 값은 2가 될 수 있다. 8-tap DCT-IF는 도 36(a)에서 high_freq_ratio ≥ THR5일 때 사용된다. 그렇지 않으면 CU에 4탭 SIF가 사용됩니다. 제안하는 방법은 nTbS와 high_freq_ratio에 의존한다. CU의 nTbS 크기가 2인 경우 high_freq_ratio < THR이면 도 35와 같이 약한 LPF 특성을 갖는 4-tap SIF가 참조 샘플에 적용됩니다. 그렇지 않고 high_freq_ratio ≥ THR이면 도 35와 같이 HPF 특성이 강한 8-tap DCT-IF가 참조 샘플에 적용된다.
마찬가지로, CU의 nTbS 크기가 4보다 큰 경우 high_freq_ratio < THR이면 도 35와 같이 LPF 특성이 강한 8-tap SIF를 참조 샘플에 적용할 수 있다. 도 36과 같이 nTbS > 4에서 nTbS = 2일 때보다 상대적으로 높을 수 있다. 그렇지 않고 high_freq_ratio ≥ THR이면 도 35와 같이 HPF 특성이 약한 4탭 DCT-IF가 참조 샘플에 적용될 수 있다.
도 37은 각 클래스에 대한 CTC 비디오 시퀀스의 시퀀스 이름, 화면 크기, 화면 속도 및 비트 깊이를 도시한다.
제안된 방법은 VVC 참조 소프트웨어인 VTM-14.2[37]에서 구현되었으며, JVET CTC(Common Test Conditions)[38]에서 All Intra(AI) 구성으로 수행되었다. 클래스 A1, A2, B, C 및 D의 시퀀스는 각각 22, 27, 32 및 37의 양자화 매개변수(QP) 값으로 테스트되었습니다.
도 38은 8-tap/4-tap 보간 필터의 효율을 테스트하기 위해 보간 필터 선택 방법과 선택된 방법에 따라 적용된 보간 필터를 도시한다.
방법 A는 nTbS = 2에 대해 8-탭 DCT-IF를 사용하고 nTbS > 4에 대해 4-탭 SIF를 사용하고 방법 B는 nTbS > 4에 대해 8-탭 SIF를 사용하고 nTbS = 2에 대해 4-탭 DCT-IF를 사용하고 DCT-를 선택합니다. VVC 앵커와 같은 방식으로 IF 또는 SIF. 방법 A와 VVC 방법의 차이점은 방법 A는 nTbS = 2인 경우에만 4탭 DCT-IF 대신 8탭 DCT-IF를 사용한다는 것입니다. 방법 B와 VVC 방법의 차이점은 방법 B는 nTbS > 4에 대해서만 4탭 SIF 대신 8탭 SIF를 사용한다는 것입니다.
도 39의 Table IX 및 Table X는 A, B, C 및 D 방법의 시뮬레이션 결과를 나타낸다.
방법 C는 nTbS = 2에 대해 수학식 19의 high_freq_ratio에 따라 8-탭 DCT-IF 또는 4-탭 SIF를 사용하고 nTbS > 4에 대해 4-탭 SIF를 사용합니다. 방법 D는 8-탭 SIF 또는 4-탭 DCT-IF를 사용합니다. nTbS > 4인 경우 high_freq_ratio에 따라, nTbS = 2인 경우 4-tap DCT-IF에 따라 달라집니다. 여기서 필터 선택 방법과 보간 필터는 VVC 앵커는 nTbS = 3 및 nTbS = 4의 CU에 사용됩니다.
방법 A의 경우 Y, Cb 및 Cr 성분에 대해 각각 -0.13%, -0.12% 및 -0.08%의 BD-rate의 전체 증가가 관찰되며, 여기서 부호(-)는 비트 절약을 의미합니다. . 방법 C의 경우 Y, Cb 및 Cr 성분에 대해 각각 -0.14%, -0.09% 및 -0.11%의 BD 비율의 전체 증가가 관찰되었습니다.
특히, 832 x 480의 해상도를 가진 클래스 C와 416 x 240의 해상도를 가진 D 클래스에서 각각 A 및 Y 방법, 클래스 C 및 D의 구성 요소 이득(-0.40%, -0.30%)은 방법 C에서 달성됩니다. 방법 A와 C는 nTbS = 2에 대한 8-탭 DCT-IF 및 4-탭 nTbS > 4에 대한 SIF는 필터 선택 방법에 관계없이 각 CU에 적용됩니다.
방법 B의 경우 전체 BD 비율 이득은 Y, Cb 및 Cr 구성요소에 대해 각각 -0.02%, -0.03% 및 -0.02%입니다. 방법 D의 경우 전체 BD 비율 이득은 Y, Cb 및 Cr 구성요소에 대해 각각 -0.01%, -0.01% 및 0.03%입니다.
방법 B는 nTbS > 4에 대해 8-탭 SIF를 사용하고, nTbS = 2에 대해 4-탭 DCT-IF를 사용하고, 방법 D는 nTbS > 4에 대해 제안된 high_freq_ratio에 따라 8-탭 SIF 또는 4-탭 DCT-IF를 사용하고, nTbS = 2에 대해 4-탭 DCT-IF를 사용한다.
방법 B와 D에서는 BD 비율의 전반적인 증가가 거의 없었지만 방법 B와 D에서 분해능 3840x2160을 갖는 클래스 A1의 Y 구성요소에서 BD 비율의 증가(-0.08%, -0.09%)가 각각 얻어집니다. 제안하는 high_freq_ratio 및 nTbS를 사용한 주파수 기반 적응형 보간 필터링과 기존 VVC 방법은 방법 C와 D를 활용하기 위해 개발되었습니다.
도 40의 Table XI는 모든 테스트 시퀀스에 대해 제안된 방법에서 VVC 앵커에서 4탭 DCT-IF를 적용하고 high_freq_ratio를 기반으로 8탭 DCT-IF를 적용하는 CU의 비율을 도시한다.
nTbS = 2의 경우 VVC 앵커의 4x4 CU, 4x8 CU 및 8x4 CU에서 4탭 DCT-IF가 100% 선택되지만, high_freq_ratio를 기반으로 제안된 적응 필터 방법에서 8-tap DCT-IF는 4x4 CU에서 97.16%, 4x8 CU에서 95.80%, 8x4 CU에서 96.77%로 선택됩니다. nTbS = 2인 4탭 SIF 선택의 백분율은 Table XI의 DCT-IF 선택 백분율에서 추론할 수 있습니다.
도 41은 제안된 필터링 방법에 대한 실험 결과를 도시한다.
4-tap SIF 및 8-tap DCT-IF의 퍼센트 선택 증가는 Table XII에서 BD 레이트 이득을 가져온다. 작은 CU의 high_freq_ratio에 맞춰 낮은 LPF 특성을 가진 4-tap SIF와 강력한 HPF 특성을 가진 8-tap DCT-IF를 사용하면 제안하는 방법에서 BD rate를 높이는 데 도움이 됩니다. 그리고 큰 CU에서 high_freq_ratio에 따라 LPF 특성이 강한 8-tap SIF와 HPF 특성이 좋지 않은 4-tap DCT-IF를 사용하면 제안하는 방법에서 BD rate를 약간 높이는 데 도움이 된다.
nTbS > 4를 제외하고 4탭 DCT-IF는 VVC 앵커에서 MRL 또는 ISP 도구를 사용하는 CU에만 적용됩니다.
그러나 제안하는 방법에서는 MRL 또는 ISP를 사용하는 CU에 high_freq_ratio 기반의 8-tap DCT-IF와 4-tap SIF를 적용하는바, 32x32 CU에서 0.07%, 16x64 CU에서 0.04%, 64x16 CU에서 0.07%, 64x64 CU에서 0.07%로 8-tap DCT-IF가 선택된다. 이는, VVC 앵커의 32x32 CU에서 10.59%, 16x64 CU에서 100%, 64x16 CU에서 100%, 64x64 CU에서 5.56%로 선택되는 것과 비교됩니다.
Table XII는 high_freq_ratio에 기반한 제안된 적응 필터 방법의 결과를 나타내며, AI Main 10 구성에서 EncT 및 DecT는 클래스 A1에서 D의 다양한 테스트 시퀀스에 대한 VVC 앵커와 비교한 총 인코딩 및 디코딩 시간 비율을 각각 나타냅니다.
제안된 방법은 Y, Cb 및 Cr 구성 요소에 대해 각각 -0.16%, -0.13% 및 -0.09%의 전체 BD 비율 증가를 달성할 수 있으며 인코더 및 디코더 각각에서 계산 복잡성이 VVC 앵커와 비교하여 평균 2% 및 5% 증가합니다.
계산 복잡도가 약간 증가하면 제안된 방법을 사용하면 VVC 앵커에 비해 BD 속도를 줄일 수 있습니다. 가장 높은 BD 비율 감소를 보이는 시퀀스는 클래스 C의 BasketballDrill 시퀀스로, 제안된 방법은 -1.20%의 Y 성분 이득을 산출합니다.
결론적으로 본 개시에서는 방향성 VVC 인트라 예측을 위한 부분 참조 샘플을 생성하기 위한 적응 필터 방법을 제안한다. 1차원 스케일링된 DCT에서 파생된 high_freq_ratio를 사용하여 분수 참조 샘플의 정밀도를 높이기 위해 4탭 DCT-IF 및 4탭 SIF 외에 8탭 DCT-IF 및 8탭 SIF를 제안합니다. 블록 크기에 대한 high_freq_ratio에 따라 보간 필터가 참조 샘플에 적용됩니다. 샘플 간의 상관관계가 높은 경우 HPF가 강한 8-tap 보간 필터나 LPF가 강한 경우 BD rate gain에 미미한 영향을 주지만, 샘플 간의 상관관계가 낮은 경우에는 강한 8-tap 보간 필터를 사용하는 것으로 결론지었다. HPF 또는 강한 LPF 특성은 BD 비율 향상에 영향을 미칩니다. high_freq_ratio에 기반한 제안된 적응 필터 방법의 경우 VVC 앵커와 비교하여 Y, Cb 및 Cr 구성 요소에 대해 각각 -0.16%, -0.13% 및 -0.09%의 전체 BD 속도 이득이 관찰됩니다. 주파수 영역에서 고주파수 용어를 검색하는 방법은 차세대 비디오 코딩 표준에 대해 강/약 HPF 및 강/약 LPF가 필요한 비디오 코딩 모듈에 도움이 됩니다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
본 발명은 동영상 인코딩 및 디코딩 장치와 방법으로 활용될 수 있다.

Claims (14)

  1. 비트스트림으로부터 획득한 양자화 블록을 역양자화하여 2차 변환 블록을 획득하는 단계;
    상기 2차 변환 블록에 대한 2차 역변환의 수행 여부를 결정하는 단계;
    상기 2차 역변환을 수행하는 것으로 결정된 경우, 상기 2차 변환 블록에 대한 상기 2차 역변환을 수행하여 1차 변환 블록을 획득하는 단계;
    상기 1차 변환 블록에 대한 1차 역변환을 수행하는 단계를 포함하는, 영상 복호화 방법.
  2. 제1항에 있어서,
    상기 2차 역변환의 변환 커널 및 상기 1차 역변환의 변환 커널은 상기 비트스트림으로부터 시그널링되는 인덱스에 의해 특정되는 것을 특징으로 하는, 영상 복호화 방법.
  3. 제1항에 있어서,
    상기 인덱스의 최대값 및 구성은, 적용되는 변환 커널이 1차원 변환 커널인지 2차원 변환 커널인지 여부에 따라 상이한 것을 특징으로 하는, 영상 복호화 방법.
  4. 제1항에 있어서,
    상기 2차 역변환의 변환 커널 및 상기 1차 역변환의 변환 커널은 KLT(Karhunen Loeve Transform)를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  5. 제1항에 있어서,
    상기 2차 역변환 또는 상기 1차 역변환 중 적어도 하나의 출력 블록은 입력 블록의 크기보다 작은 크기를 가지는 것을 특징으로 하는, 영상 복호화 방법.
  6. 잔차 블록에 대해 1차 변환을 수행하여, 1차 변환 블록을 획득하는 단계;
    상기 1차 변환 블록에 대해 2차 변환의 수행 여부를 결정하는 단계;
    상기 2차 변환을 수행하는 것으로 결정된 경우, 상기 2차 변환을 수행하여 2차 변환 블록을 획득하는 단계;
    상기 2차 변환 블록을 양자화하여 획득한 양자화 블록을 비트스트림에 부호화 하는 단계를 포함하는, 영상 부호화 방법.
  7. 상기 2차 변환의 수행 여부는, 변환 커널의 종류, 변환 계수의 개수 또는 블록의 크기 중 적어도 하나를 기초로 결정되는 것을 특징으로 하는, 영상 부호화 방법.
  8. 부호화 방법에 의해 생성된 비트스트림을 저장하는 컴퓨터 판독가능한 기록매체에 있어서,
    상기 부호화 방법은, 잔차 블록에 대해 1차 변환을 수행하여, 1차 변환 블록을 획득하는 단계;
    상기 1차 변환 블록에 대해 2차 변환의 수행 여부를 결정하는 단계;
    상기 2차 변환을 수행하는 것으로 결정된 경우, 상기 2차 변환을 수행하여 2차 변환 블록을 획득하는 단계;
    상기 2차 변환 블록을 양자화하여 획득한 양자화 블록을 상기 비트스트림에 부호화 하는 단계를 포함하는, 컴퓨터 판독가능한 기록매체.
  9. 비트스트림으로부터 획득한 양자화 블록을 역양자화하여 1차 변환 블록을 획득하는 단계;
    상기 1차 변환 블록에 대한 1차 역변환의 변환 커널을 결정하는 단계;
    상기 결정된 1차 역변환의 변환 커널을 기초로, 상기 1차 변환 블록에 대한 1차 역변환을 수행하여 잔차 블록을 획득하는 단계를 포함하는, 영상 복호화 방법.
  10. 잔차 블록에 대한 1차 변환의 변환 커널을 결정하는 단계;
    상기 결정된 1차 변환의 변환 커널을 기초로, 상기 잔차 블록에 대한 1차 변환을 수행하여 1차 변환 블록을 획득하는 단계;
    상기 1차 변환 블록을 양자화하여 획득한 양자화 블록을 비트스트림에 부호화 하는 단계를 포함하는, 영상 부호화 방법.
  11. 부호화 방법에 의해 생성된 비트스트림을 저장하는 컴퓨터 판독가능한 기록매체에 있어서,
    상기 부호화 방법은, 잔차 블록에 대한 1차 변환의 변환 커널을 결정하는 단계;
    상기 결정된 1차 변환의 변환 커널을 기초로, 상기 잔차 블록에 대한 1차 변환을 수행하여 1차 변환 블록을 획득하는 단계;
    상기 1차 변환 블록을 양자화하여 획득한 양자화 블록을 비트스트림에 부호화 하는 단계를 포함하는, 컴퓨터 판독가능한 기록매체.
  12. 현재 블록의 화면 내 예측 모드를 결정하는 단계;
    상기 화면 내 예측 모드에 이용되는 참조 화소를 보간하는 단계를 포함하되,
    상기 참조 화소는 상기 현재 블록에 주변에 인접한 참조 블록에 포함되고,
    상기 보간에 적용되는 보간 필터는 8-tap 필터를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  13. 현재 블록의 화면 내 예측 모드를 결정하는 단계;
    상기 화면 내 예측 모드에 이용되는 참조 화소를 보간하는 단계를 포함하되,
    상기 참조 화소는 상기 현재 블록에 주변에 인접한 참조 블록에 포함되고,
    상기 보간에 적용되는 보간 필터는 8-tap 필터를 포함하는 것을 특징으로 하는, 영상 부호화 방법.
  14. 부호화 방법에 의해 생성된 비트스트림을 저장하는 컴퓨터 판독가능한 기록매체에 있어서,
    현재 블록의 화면 내 예측 모드를 결정하는 단계;
    상기 화면 내 예측 모드에 이용되는 참조 화소를 보간하는 단계를 포함하되,
    상기 참조 화소는 상기 현재 블록에 주변에 인접한 참조 포함되고,
    상기 보간에 적용되는 보간 필터는 8-tap 필터를 포함하는 것을 특징으로 하는, 컴퓨터 판독가능한 기록매체.
PCT/KR2023/015226 2022-10-05 2023-10-04 동영상 인코딩 및 디코딩 장치와 방법 WO2024076134A1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
KR20220126883 2022-10-05
KR10-2022-0126883 2022-10-05
KR10-2022-0132667 2022-10-14
KR20220132667 2022-10-14
KR10-2023-0049909 2023-04-17
KR20230049909 2023-04-17
KR10-2023-0109205 2023-08-21
KR20230109205 2023-08-21

Publications (1)

Publication Number Publication Date
WO2024076134A1 true WO2024076134A1 (ko) 2024-04-11

Family

ID=90608313

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/015226 WO2024076134A1 (ko) 2022-10-05 2023-10-04 동영상 인코딩 및 디코딩 장치와 방법

Country Status (2)

Country Link
KR (1) KR20240047943A (ko)
WO (1) WO2024076134A1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200078649A (ko) * 2018-06-03 2020-07-01 엘지전자 주식회사 축소된 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
KR20200078659A (ko) * 2017-12-15 2020-07-01 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
KR20210031783A (ko) * 2018-04-01 2021-03-22 주식회사 비원영상기술연구소 영상 부호화/복호화 방법 및 장치
KR20210156256A (ko) * 2021-02-10 2021-12-24 인텔렉추얼디스커버리 주식회사 인트라 예측 방법 및 장치
KR20210158400A (ko) * 2019-06-19 2021-12-30 엘지전자 주식회사 영상 코딩에서 변환 커널 세트를 나타내는 정보의 시그널링
KR20220019232A (ko) * 2019-06-11 2022-02-16 소니그룹주식회사 화상 처리 장치 및 화상 처리 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200078659A (ko) * 2017-12-15 2020-07-01 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
KR20210031783A (ko) * 2018-04-01 2021-03-22 주식회사 비원영상기술연구소 영상 부호화/복호화 방법 및 장치
KR20200078649A (ko) * 2018-06-03 2020-07-01 엘지전자 주식회사 축소된 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
KR20220019232A (ko) * 2019-06-11 2022-02-16 소니그룹주식회사 화상 처리 장치 및 화상 처리 방법
KR20210158400A (ko) * 2019-06-19 2021-12-30 엘지전자 주식회사 영상 코딩에서 변환 커널 세트를 나타내는 정보의 시그널링
KR20210156256A (ko) * 2021-02-10 2021-12-24 인텔렉추얼디스커버리 주식회사 인트라 예측 방법 및 장치

Also Published As

Publication number Publication date
KR20240047943A (ko) 2024-04-12

Similar Documents

Publication Publication Date Title
WO2017176030A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017171370A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018026219A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018016823A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2017192011A2 (ko) 화면 내 예측을 이용한 영상 부호화/복호화 방법 및 장치
WO2017018664A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2018097692A2 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2017188779A2 (ko) 영상 신호 부호화/복호화 방법 및 장치
WO2020076116A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2011126273A2 (en) Method and apparatus for encoding video by compensating for pixel value according to pixel groups, and method and apparatus for decoding video by the same
WO2018047995A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2013005961A2 (en) Mode-dependent transforms for residual coding with low latency
WO2020050685A1 (ko) 인트라 예측을 이용한 영상 부호화/복호화 방법 및 장치
WO2017222331A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020159316A1 (ko) 이차 변환에 기반한 영상 코딩 방법 및 그 장치
WO2019221465A1 (ko) 영상 복호화 방법/장치, 영상 부호화 방법/장치 및 비트스트림을 저장한 기록 매체
WO2018174457A1 (ko) 영상 처리 방법 및 이를 위한 장치
WO2016195455A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2015137785A1 (ko) 샘플값 보상을 위한 영상 부호화 방법과 그 장치, 및 샘플값 보상을 위한 영상 복호화 방법과 그 장치
WO2018070552A1 (ko) 영상을 부호화/복호화 하는 방법 및 그 장치
WO2016190627A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018101700A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2019194647A1 (ko) 필터 정보 기반의 적응적 루프 필터링 방법, 그를 이용한 영상 부호화 및 복호화 방법
WO2018101685A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2020251278A1 (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: 23875198

Country of ref document: EP

Kind code of ref document: A1