WO2019203569A1 - 전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 - Google Patents

전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 Download PDF

Info

Publication number
WO2019203569A1
WO2019203569A1 PCT/KR2019/004644 KR2019004644W WO2019203569A1 WO 2019203569 A1 WO2019203569 A1 WO 2019203569A1 KR 2019004644 W KR2019004644 W KR 2019004644W WO 2019203569 A1 WO2019203569 A1 WO 2019203569A1
Authority
WO
WIPO (PCT)
Prior art keywords
transform
matrix
horizontal
transformation
preprocessing
Prior art date
Application number
PCT/KR2019/004644
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 엘지전자 주식회사
Priority to US17/047,849 priority Critical patent/US11350130B2/en
Publication of WO2019203569A1 publication Critical patent/WO2019203569A1/ko

Links

Classifications

    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/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]

Definitions

  • the present invention relates to a method and apparatus for processing a video signal, and more particularly, to a technique for approximating a specific cosine transform or a specific sine transform by adding a preprocessing step and a post processing step to a cosine transform or a sine transform.
  • Next-generation video content will be characterized by high spatial resolution, high frame rate, and high dimensionality of scene representetion. Processing such content would result in a tremendous increase in memory storage, memory accs rate, and processing power.
  • the present invention aims to propose an encoder / decoder structure for reflecting a new transform design. 2019/203569 1 »(1 ⁇ 1 ⁇ 2019/004644
  • the present invention proposes a method of approximating a specific cosine transform or a specific sine transform by adding a preprocessing step and a post-processing step to a cosine transform or a sine transform.
  • the present invention provides a method of reducing complexity and improving coding efficiency through a new transform design.
  • the present invention provides a method of constructing an additional transform span set.
  • the present invention adds a preprocessing step (represented by a preprocessing matrix product) and a postprocessing step (represented by a postprocessing matrix product) to a trigonometric transform (e.g., a cosine transform or a sine transform).
  • a trigonometric transform e.g., a cosine transform or a sine transform.
  • the present invention provides a method of reducing memory by sharing a preprocessing matrix and a postprocessing matrix required to approximate the transforms when approximating the various transforms.
  • the present invention provides a method of applying approximate transforms based on a preprocessing matrix and / or a postprocessing matrix to Multiple Transform Selection (MTS).
  • MTS Multiple Transform Selection
  • the present invention provides a method of selectively applying a pretreatment step and / or a posttreatment step as the case may be.
  • the present invention can reduce the amount of computation and memory required by approximating the target cosine transform or the target sine transform using a less complicated cosine transform or a sine transform. 2019/203569 1 »(1 ⁇ 3 ⁇ 42019 / 004644
  • the required memory requirements can be reduced by sharing the preprocessing matrix and / or postprocessing matrix used for various target cosine or target sine transforms.
  • FIG. 1 is an embodiment to which the present invention is applied and shows a schematic block diagram of an encoder in which encoding of a video signal is performed.
  • FIG. 2 is a schematic block diagram of a decoder in which decoding of a video signal is performed according to an embodiment to which the present invention is applied.
  • Figure 3 is an embodiment to which the present invention can be applied
  • Figure 3A is QT (QuadTree, hereinafter 'QT,')
  • Figure 3B is BT (Binary Tree, 3 ⁇ 4T)
  • Figure 3C is TT (Ternary Tree)
  • 3D is a diagram for describing block division structures by an AT (Asymmetric Tree, hereinafter called 'AT').
  • FIG. 4 is a schematic block diagram of a transform and quantization unit 120/130 and an inverse quantization and inverse transform unit 140/150 in an encoder according to an embodiment to which the present invention is applied.
  • FIG. 5 is a schematic block diagram of an inverse quantization and inverse transform unit 220/230 in a decoder according to an embodiment to which the present invention is applied.
  • FIG. 6 is a table showing a transform configuration group to which Multiple Transform Selection (MTS) is applied as an embodiment to which the present invention is applied.
  • MTS Multiple Transform Selection
  • FIG. 7 is an embodiment to which the present invention is applied and is a flowchart illustrating an encoding process in which MTS (Multiple Transform Selection) is performed.
  • MTS Multiple Transform Selection
  • FIG. 8 is a flowchart illustrating a decoding process in which multiple transform selection (MTS) is performed, according to an embodiment to which the present invention is applied.
  • MTS multiple transform selection
  • FIG. 10 is a flowchart illustrating a decoding process of applying a horizontal transform or a vertical transform to a row or a column based on an MTS flag and an MTS index as an embodiment to which the present invention is applied.
  • FIG. 11 is an embodiment to which the present invention is applied and shows a flowchart of performing inverse transformation based on transformation related parameters.
  • FIG. 12 is a table showing allocation of a transform set for each intra prediction mode in NSST according to an embodiment to which the present invention is applied.
  • FIG. 13 shows a calculation flow diagram for Givens rotation as an embodiment to which the present invention is applied.
  • FIG. 14 shows a round configuration in 4x4 NSST composed of Givens rotation layer and permutations as an embodiment to which the present invention is applied.
  • FIG. 15 is a block diagram illustrating an operation of a forward reduced transform and a forward reduced transform in an embodiment to which the present invention is applied.
  • 16 is an embodiment to which the present invention is applied and according to a reverse scan order.
  • FIG. 11 shows a process of performing a reverse scan from the 64th to 17th.
  • 5 is an embodiment to which the present invention is applied and shows MTS mapping for intra prediction residual.
  • FIG 19 illustrates an MTS mapping for inter prediction residual according to an embodiment to which the present invention is applied.
  • FIG. 20 illustrates, as an embodiment to which the present invention is applied, a flowchart of encoding a video signal using an approximation transform based on a preprocessing / postprocessing matrix.
  • FIG. 21 is a flowchart to decode a video signal using an approximation transform based on a preprocessing / postprocessing matrix according to an embodiment to which the present invention is applied.
  • FIG. 22 is a diagram illustrating a structure of a content streaming system according to an embodiment to which the present invention is applied.
  • the present invention provides a method of reconstructing a video signal using an approximation transform based on a preprocessing / postprocessing matrix, the method comprising: obtaining a transform index of a current block from the video signal, wherein the transform index is DST7, DCT8, DST6.
  • the pre-processing matrix and the post-processing matrix represent an orthogonal band matrix, and the orthogonal band matrix is 0 in a specific diagonal region of the N ⁇ N matrix. It is characterized by having a non-zero value and the other area is a matrix having a zero value.
  • the specific diagonal region is characterized in that the number of nonzero values in each row or column is 4 or 3.
  • At least one of the pre-processing matrix and the post-processing matrix is characterized in that the identity matrix (identity matrix).
  • the transform combination is composed of at least one of DST7, DCT8, DST6, and flipped DST7:
  • the inverse first-order approximation transform uses at least one of ( ⁇ (s 1 ' ⁇ , (c)), ( It is characterized by being approximated by.
  • the transform combination (horizontal transform, vertical transform) is (DST7, DST7), (DCT8, DST7), (DST7, DCT8) and (DCT8, DCT8).
  • the transformation indexes corresponding to the transformation combination are 0, 1, 2, and 3, respectively.
  • the transform combination (horizontal transform, vertical transform) is (DCT8, DCT8), (DST7, DCT8), (DCT8, DST7) and (DST7, DST7). ), And the conversion indexes corresponding to the conversion combination are 0, 1, 2, and 3, respectively.
  • the present invention provides an apparatus for reconstructing a video signal using an approximation transform based on a preprocessing / postprocessing matrix, the parser obtaining a transform index of a current block from the video signal, wherein the transform index is DST7, DCT8, DST6, flipped 2019/203569 1 »(1 ⁇ 1 ⁇ 2019/004644
  • a reconstruction unit for reconstructing the video signal using the reverse first order approximated current block.
  • 8 blocks, etc. may be appropriately replaced and interpreted in each coding process.
  • partitioning, decomposition, splitting, and division may be appropriately replaced and interpreted in each coding process.
  • La MTS Multiple Transform Selection, hereinafter "MTS” hereinafter
  • MTS Multiple Transform Selection, hereinafter "MTS” hereinafter
  • AMT Adaptive Multiple Transform
  • EMT Explicit Multiple Transform
  • mts_idx may also be expressed as AMT_idx, EMT_idx, tu_mts_idx, AMT_TU_idx, EMT_TU_idx, transform index, or transform combination index. It is not limited to this expression.
  • 1 is a schematic block diagram of an encoder in which encoding of a video signal is performed as an embodiment to which the present invention is applied.
  • the encoder 100 includes an image splitter 110, a transformer 120, a quantizer 130, an inverse quantizer 140, an inverse transformer 150, a filter 160, and a decoder. It may include a picture buffer (DPB) 170, an inter preamble 180, an intra preamble 185, and an entropy encoding 190.
  • DPB picture buffer
  • the image divider 1 10 may divide an input image (or a picture or a frame) input to the encoder 100 into one or more processing units.
  • the processing unit may be a Coding Tree Unit (CTU), a Coding Unit (CU), a Prediction Unit (PU), or a Transform Unit (TU).
  • CTU Coding Tree Unit
  • CU Coding Unit
  • PU Prediction Unit
  • TU Transform Unit
  • the present invention is not limited to the definition of the term.
  • the term coding unit is used as a unit used in encoding or decoding a video signal, but the present invention is not limited thereto and may be appropriately interpreted according to the present invention.
  • the encoder 100 may generate a residual signal by subtracting a prediction signal output from the inter predictor 180 or the intra predictor 185 from the input image signal, and generate the residual signal. Is transmitted to the converter 120.
  • the transform unit 120 may generate a transform coefficient by applying a transform technique to the residual signal.
  • the conversion process may be applied to a block (square or rectangle) divided by a quadtree structured square block, a binarytree structure, a ternary tree structure, or an asymmetric tree structure.
  • the transform unit 120 may perform a transform based on a plurality of transforms (or transform combinations), and this transform scheme may be referred to as MTS (Multiple Transform Selection).
  • MTS Multiple Transform Selection
  • the MTS is an adaptive multiple transform (AMT) or enhanced (MT)
  • the MTS may refer to a transform scheme performed based on a transform (or transform combinations) adaptively selected from a plurality of transforms (or transform combinations).
  • the plurality of transforms may include the transform (or transform combinations) described in FIG. 6 of the present specification.
  • the converter 120 may perform the following embodiments.
  • the present invention provides a method of approximating a specific cosine transform or a specific sine transform by adding a preprocessing step and a post-processing step to a cosine transform or a sine transform.
  • the transform unit 120 may perform a forward first order approximation transform in the horizontal / vertical direction with respect to the current block by using an optimal horizontal / vertical first order transform. And a transform generated by multiplying the optimal horizontal linear transform or the optimal vertical linear transform by a preprocessing matrix and a postprocessing matrix.
  • the forward first order approximation transform can be generated by the following equation.
  • At least one of the preprocessing matrix and the postprocessing matrix may be an identity matrix.
  • the pre-processing matrix and the post-processing matrix may be an orthogonal band matrix, wherein the orthogonal band matrix has a specific diagonal region of an N ⁇ N matrix having a non-zero value, and other regions. Represents a matrix filled with zero values.
  • the specific diagonal region may have 4 or 3 non-zero values for each row or column.
  • the forward and inverse transforms of DST7, DCT8, DST6, or flipped DST7 can be approximated using at least one of (S ⁇ J, [Sff, (, ().
  • the preprocessing matrix and one postprocessing matrix can be used to derive the preprocessing matrix and the postprocessing matrix of another transform. 2019/203569 1 »(1 ⁇ 1 ⁇ 2019/004644
  • the quantization unit 130 may quantize the transform coefficients and transmit them to the entropy encoding unit 190, and the entropy encoding unit 190 may entropy-code the quantized signal and output the bitstream as a bitstream.
  • the converter 120 and the quantization unit 130 are described as separate functional units, the present invention is not limited thereto and may be combined into one functional unit. In the case of the inverse quantization unit 140 and the inverse transform unit 150, the same may be combined into one functional unit.
  • the quantized signal output from the quantization unit 130 may be used, for example, to generate a signal.
  • the quantized signal may be restored by applying inverse quantization and inverse transformation through inverse quantization unit 140 and inverse transformation unit 150 in a loop.
  • a reconstructed signal may be generated by adding the reconstructed residual signal to a prediction signal output from the inter predictor 180 or the intra predictor 185.
  • deterioration of the block boundary may occur due to the quantization error generated in the compression process as described above. This phenomenon is called blocking artifacts, which is one of the important factors for evaluating image quality.
  • a filtering process may be performed. Through this filtering process, the image quality can be improved by removing the blocking degradation and reducing the error of the current picture.
  • the filtering unit 160 applies filtering to the reconstruction signal and transmits the filtered signal to the reproduction device. 0 2019/203569 1 »(1 ⁇ 1 ⁇ 2019/004644
  • the filtered signal transmitted to the decoded picture buffer 170 may be used as the reference picture in the inter predictor 180. As such, by using the filtered picture as a reference picture in the inter prediction mode, not only image quality but also encoding efficiency may be improved.
  • the decoded picture buffer 170 may store the filtered picture for use as a reference picture in the inter prediction unit 180.
  • the inter prediction unit 180 performs temporal prediction and / or spatial prediction to remove temporal redundancy and / or spatial redundancy with reference to a reconstructed picture.
  • the reference picture used to perform the prediction is a transformed signal that has been quantized and dequantized in units of blocks at the time of encoding / decoding in the previous time, blocking artifacts or ringing artifacts may exist. have.
  • the inter prediction unit 180 may interpolate the signals between pixels in sub-pixel units by applying a lowpass filter to solve the performance degradation due to discontinuity or quantization of such signals.
  • the subpixel refers to a virtual pixel generated by applying an interpolation filter
  • the integer pixel refers to an actual pixel existing in the reconstructed picture.
  • the interpolation method linear interpolation, bi linear interpolation, and Wiener filter may be applied.
  • the interpolation filter may be applied to the reconstructed picture to improve the accuracy of the example.
  • the inter prediction unit 180 generates an interpolation pixel by applying an interpolation filter to integer pixels, and uses an interpolated block composed of interpolated pixels as a prediction block. Make predictions 2019/203569 1 »(: 1 ⁇ 3 ⁇ 42019 / 004644
  • the intra predictor 185 may predict the current block by referring to samples around the block to which current encoding is to be performed.
  • the intra prediction unit 185 may perform the following process to perform intra prediction. First, a reference sample necessary for generating a prediction signal may be prepared. The prediction signal may be generated using the prepared reference sample. Then, the prediction mode is encoded. In this case, the reference sample may be prepared through reference sample padding and / or reference sample filtering. Since the reference sample has been predicted and reconstructed, there may be a quantization error. Therefore, in order to reduce such an error, a reference sample filtering process may be performed for each prediction mode used for intra prediction.
  • a prediction signal generated through the inter predictor 180 or the intra predictor 185 may be used to generate a reconstruction signal or to generate a residual signal.
  • 2 is a schematic block diagram of a decoder in which decoding of a video signal is performed as an embodiment to which the present invention is applied.
  • the decoder 200 includes a parser (not shown), an entropy decoder 210, an inverse quantizer 220, an inverse transformer 230, a filter 240, and a decoded picture buffer (DPB). It may include a decoded picture buffer unit) 250, an inter predictor 260, and an intra predictor 265.
  • the reconstructed video signal output through the decoder 200 may be reproduced through the reproducing apparatus. 2019/203569 1 »(1 ⁇ 3 ⁇ 42019 / 004644
  • the decoder 14 may receive a signal output from the encoder 100 of FIG. 1, and the received signal may be entropy decoded through the entropy decoding unit 210.
  • the inverse quantization unit 220 obtains a transform coefficient from the entropy decoded signal using the quantization step size information.
  • the inverse transform unit 230 inversely transforms the transform coefficient to obtain a residual signal.
  • the present invention provides a method for configuring a transform combination for each transform configuration group divided by at least one of a prediction mode, a block size, or a block shape, wherein the inverse transform unit 230 may perform an inverse transform based on the transform combination constructed by the present invention.
  • the embodiments described herein may be applied.
  • the inverse transform unit 230 may perform the following embodiments.
  • the inverse transform unit 230 may perform a reverse first order approximation transformation in the horizontal / vertical direction by using the horizontal / vertical first-order transform.
  • the inverse first-order approximation transform represents a transform generated by multiplying the horizontal first order transform or the vertical first order transform by a preprocessing matrix and a postprocessing matrix.
  • the inverse first-order approximation transformation may be generated by Equation 18 to be described later.
  • At least one of the preprocessing matrix and the postprocessing matrix may be an identity matrix.
  • the pre-processing matrix and the post-processing matrix may be an orthogonal band matrix.
  • the orthogonal band matrix is N ⁇ N 2019/203569 1 »(: 1/10 ⁇ 019/004644
  • Certain diagonal areas of the matrix have non-zero values, and other areas represent matrices filled with zero values.
  • the specific diagonal region may have 4 or 3 non-zero values for each row or column.
  • the inverse quantization unit 220 and the inverse transform unit 230 are described as separate functional units, the present invention is not limited thereto and may be combined into one functional unit.
  • a reconstructed signal is generated by adding the obtained residual signal to a prediction signal output from the inter predictor 260 or the intra predictor 265.
  • the filtering unit 240 applies filtering to the reconstructed signal and outputs the filtering to the reproducing apparatus or transmits it to the decoded picture buffer unit 250.
  • the filtered signal transmitted to the decoded picture buffer unit 250 may be used as the reference picture in the inter predictor 260.
  • FIG. 16 is an embodiment to which the present invention can be applied
  • FIG. 3A is a QT (QuadTree, hereinafter referred to as 'QT')
  • FIG. ⁇ is a BT (Binary Tree, hereinafter called 'BT')
  • FIG. 3C is a TT ( Temary Tree, hereinafter referred to as 'TT'
  • FIG. 3D is a diagram for describing block division structures by AT (Asymmetric Tree, hereinafter called 'AT').
  • one block may be divided on a QT (QuadTree) basis.
  • one subblock divided by may be further recursively divided using QT.
  • Leaf blocks that are no longer QT divided are BT (Binary Tree), TT ( It can be partitioned by at least one of Ternary Tree (ATN) and Asymmetric Tree (AT), and can have two types of partitions: horizontal BT (2NxN, 2NxN) and vertical BT (Nx2N, Nx2N).
  • TT (2Nxl / 2N, 2NxN, 2Nxl / 2N) and vertical TT (l / 2Nx2N, Nx2N, l / 2Nx2N) can have two types of divisions: AT is horizontal-up AT (2Nxl / 2N, 2Nx3 / 2N), horizontal-down AT (2Nx3 / 2N, 2Nxl / 2N), vertical-left AT (l / 2Nx2N, 3 / 2Nx2N), vertical-right AT (3 / 2Nx2N, l / 2NxiN)
  • Each BT, TT, and AT may be further recursively divided using BT, TT, and AT.
  • Block A may be divided into four sub-blocks (AO, Al, A2, A3) by QT.
  • the sub-block time may be divided into four sub-blocks B0, B1, B2, and B3 by Ah.
  • Block B3B shows an example of BT partitioning.
  • Block B3 which is no longer divided by QT, may be divided into vertical BT (CO, Cl) or horizontal BT (DO, Dl).
  • each subblock is either a horizontal BT (E0, El) or a vertical BT.
  • Block B3 which is no longer split by QT, may be split into vertical TT (CO, Cl, C2) or horizontal TT (DO, Dl, D2). Like the block Cl, each subblock may be further recursively divided into the form of horizontal TT (E0, El, E2) or vertical TT (F0, F1, F2).
  • the 3D shows an example of AT splitting.
  • B3 which is no longer partitioned by GI, can be divided into vertical AT (CO, Cl) or horizontal AT (DO, Dl).
  • each sub-block is divided into horizontal AT (E0, El) or vertical.
  • TT F0, F1
  • BT, TT, and AT splitting can be used together, for example, a subblock divided by TT or AT
  • the subblock divided by TT can be divided by BT or AT.
  • the subblock divided by AT can be divided by BT or TT.
  • each subblock may be split into vertical BTs, or after the vertical BT split, each subblock may be split into horizontal BTs. The appearance is the same.
  • searching for the block may be variously defined. In general, searching from left to right and from top to bottom, and searching for a block means an order of determining whether each divided sub-block is divided into additional blocks, or when each sub-block is not divided any more.
  • a coding order of a block may be referred to, or a search order when referring to information of another neighboring block in a subblock. 2019/203569 1 »(: 1/10 ⁇ 019/004644
  • FIG. 4 shows a schematic block diagram of a transform and quantization unit 120/130, an inverse quantization and inverse transform unit 140/150 in an encoder
  • FIG. Shows a schematic block diagram of the inverse quantization and inverse transform units 220/230 in the decoder.
  • the transform and quantization unit 120/130 may include a primary transform unit 121, a secondary transform unit 122, and a quantization unit 130. Can be.
  • the inverse quantization and inverse transform unit 140/150 may include an inverse quantization unit 140, an inverse secondary transform unit 151, and an inverse primary transform unit 152. Can be.
  • the inverse quantization unit 220/230 includes an inverse quantization unit 220, an inverse secondary transform unit 231, and an inverse primary transform unit. 232 may include.
  • the transformation when performing the transformation, the transformation may be performed through a plurality of steps. For example, two stages of a primary transform and a secondary transform may be applied as in FIG. 4, or more transformation steps may be used according to an algorithm.
  • the primary transform may be referred to as a core transform.
  • the primary transform unit 121 may apply a primary transform to the residual signal, wherein the primary transform is set in the table at the encoder and / or the decoder. Can be
  • T CT2 '
  • DST7 Discrete Sine Transform-type 7
  • DST7 may be applied only to a specific case.
  • DST7 may be applied to a 4 ⁇ 4 block in the intra prediction mode.
  • the secondary transform unit 122 may apply a secondary transform to the primary transformed signal, where the secondary transform is performed by an encoder and / or a decoder. Can be defined as a table.
  • the secondary transform may be conditionally applied to a non-separable secondary transform (hereinafter, referred to as 'NSST').
  • 'NSST' non-separable secondary transform
  • the NSST is applied only to an intra prediction block and may have a transform set applicable to each prediction mode group.
  • the prediction mode group may be set based on symmetry with respect to the prediction direction. For example, since the prediction mode 52 and the prediction mode 16 are symmetric with respect to the prediction mode 34 (diagonal direction), the same transform set may be applied by forming one group. In this case, when the transform for the prediction mode 52 is applied, the input data is transposed and then applied, since the prediction set 16 and the transform set are the same.
  • It can consist of 20 transforms.
  • three transforms may be configured per transform set.
  • combinations of various transforms (DST 7, DCT 8, DST 1, DCT 5) of Multiple Transform Selection (MTS) may be applied.
  • DST 7, DCT 8, DST 1, DCT 5) of Multiple Transform Selection (MTS) may be applied.
  • FIG. 6 may be applied.
  • DST7 may be applied as a primary transform.
  • DCT8 may be applied as a primary transform.
  • the NSST may not be applied to the entire first transformed block but may be applied only to a top-left 8 ⁇ 8 region. For example, if the block size is 8x8 or more, 8x8 NSST is applied, and if the block size is less than 8x8, 4x4 NSST is applied.
  • 4x4 NSST may be applied.
  • the NSST, 4x4 NSST, and 8x8 NSST will be described in more detail with reference to FIGS. 12 to 15 and other embodiments in the specification.
  • the quantization unit 130 may perform quantization on the quadratic transformed signal.
  • the inverse quantization and inverse transform unit 140/150 performs the above-described process in reverse, and redundant description thereof will be omitted.
  • 5 shows a schematic block diagram of inverse quantization and inverse transform units 220/230 in a decoder.
  • the inverse quantization and inverse transform unit 220/230 includes an inverse quantization unit 220, an inverse secondary transform unit 231, and an inverse primary transform unit. 2019/203569 1 »(: 1/10 ⁇ 019/004644
  • the inverse quantization unit 220 obtains a transform coefficient from the entropy decoded signal using the quantization step size information.
  • the inverse secondary transform unit 231 performs inverse secondary transform on the transform coefficients.
  • the inverse secondary transform represents an inverse transform of the secondary transform described with reference to FIG. 4.
  • combinations of various transforms (DST 7, DCT 8, DST 1, DCT 5) of MTS (Multiple Transform Selection) may be applied.
  • DST 7, DCT 8, DST 1, DCT 5) of MTS Multiple Transform Selection
  • FIG. 6 may be applied.
  • the inverse primary transform unit 232 performs an inverse first transform on an inverse secondary transformed signal (or block) and obtains a residual signal.
  • the inverse first transform represents an inverse transform of the primary transform described with reference to FIG. 4.
  • combinations of various transforms DTS 7, DCT 8, DST 1, and DCT 5 of MTS may be applied.
  • FIG. 6 may be applied.
  • DST7 may be applied as a primary transform.
  • DCT8 may be applied as a primary transform.
  • the present invention converts each transform configuration group divided by at least one of a prediction mode, a block size, or a block shape. 0 2019/203569 1 »(: 1 ⁇ 1 ⁇ 2019/004644
  • FIG. 6 is a table showing a transform configuration group to which Multiple Transform Selection (MTS) is applied as an embodiment to which the present invention is applied.
  • MTS Multiple Transform Selection
  • the j-th transform combination candidate for the transform setting group is represented by a pair as shown in Equation 1 below.
  • H (G Tavernj) indicates a horizontal transform for the j th candidate
  • V (Gi, j) indicates a vertical transform for the j th candidate.
  • H (G 3 , 2) DST7
  • V (G 3 , 2) DCT8.
  • the value assigned to H (G 1 j) or V (G i; j) may be a nominal value for distinguishing a transformation or an index value indicating the transformation, as in the above example. It may be a 2D matrix for the corresponding transformation.
  • 2D matrix values for DCT and DST may be expressed as in Equations 2 to 3 below.
  • DCT type 2 C
  • DCT type 8 Cf v
  • transform configuration groups may be determined based on a prediction mode, and the number of groups may be six (G0 to G5).
  • G0 to G4 correspond to a case where intra prediction is applied
  • G5 represents transform combinations (or transform sets and transform combination sets) applied to a residual block generated by inter prediction.
  • One transform combination is a horizontal transform (or row transform) applied to the rows of the corresponding 2D block and a vertical transform (or column) applied to the columns. It can consist of a column (column transform).
  • all of the transform configuration groups may have four transform combination candidates.
  • the four transform combination candidates may be selected or determined through a transform combination index of 0 to 3, and may encode and transmit the transform combination index from an encoder to a decoder.
  • the residual data (or residual signal) obtained through intra prediction is 0 2019/203569 1 »(1 ⁇ 1 ⁇ 2019/004644
  • transforms other than the general cosine transform may be applied to each intra prediction mode.
  • a plurality of transform combinations may be applied to each transform setting group divided in each intra prediction mode column.
  • the plurality of transformation combinations may be composed of four (row direction transformation and column direction transformation) combinations.
  • row direction transformation and column direction transformation As a specific example, in group 0, both row (horizontal) and column (vertical) directions can be applied to 0 1-7 and 001-57 ⁇ , so a total of four combinations are possible.
  • a transform combination index for selecting one of them can be transmitted per transformation unit 3 ⁇ ) 011 a).
  • the transform combination index is an MTS index Yes, 0 can be expressed as urine.
  • the conversion can be adaptively performed by defining the MTS flag for each coding unit (111 out of 0).
  • the MTS flag is 0, for both the row direction and the column direction Apply, If the flag is 1, the yaw index
  • One of four combinations can be selected or determined.
  • both the row direction and the column direction without applying the transform kernels of FIG. 0-7 can be applied.
  • the threshold may be set to 2, which may be set differently based on the block size or the size of the transform unit. This is also applicable to other embodiments of the specification.
  • the amount of additional information transmission may be reduced by applying DST-7 without parsing the MTS index.
  • the MTS index when the MTS flag is 1, when the number of non-zero transform coefficients for one transform unit is greater than the threshold value, the MTS index may be parsed and horizontal transform and vertical transform may be determined based on the MTS index.
  • the MTS may be applied only when the width and height of the transform unit are both 32 or less.
  • FIG. 6 may be preset through off-line training.
  • the MTS index may be defined as one index that can simultaneously indicate a combination of a horizontal transform and a vertical transform.
  • the MTS index may separately define a horizontal transform index and a vertical transform index.
  • the MTS flag or the MTS index may be defined at at least one level of a sequence, a picture, a slice, a block, a coding unit, a transform unit, or a prediction unit.
  • the MTS flag or the MTS index may be defined at at least one level of a sequence parameter set (SPS) or a conversion unit. 2019/203569 1 »(: 1 ⁇ 1 ⁇ 2019/004644
  • FIG. 7 is a flowchart illustrating an encoding process in which multiple transform selection (MTS) is performed according to an embodiment to which the present invention is applied.
  • MTS multiple transform selection
  • transforms are applied to the horizontal direction and the vertical direction
  • the transform combination may be configured as non-separable transforms.
  • the schemes proposed in this specification may be applied regardless of a primary transform or a secondary transform. That is, there is no restriction that it should be applied to either one of them, and both can be applied.
  • the primary transform may mean a transform for transforming a residual block first
  • the secondary transform is applied to a block generated as a result of the primary transform. This may mean a transformation for applying a transformation to the.
  • the encoder may determine a transform setting group corresponding to the current block (S stage 0).
  • the conversion setting group may mean the conversion setting group of FIG. 6, but the present invention is not limited thereto and may be configured with other conversion combinations.
  • the encoder is adapted to the candidate transform combinations available in the transform set group. 2019/203569 1 »(1 ⁇ 1 ⁇ 2019/004644
  • the conversion may be performed for 27 (S720).
  • the encoder may determine or select a transform combination having the lowest RD (Rate Distortion) cost (S730).
  • the encoder may encode a transform combination index corresponding to the selected transform combination (S740).
  • S740 Multiple Transform Selection
  • 8 is a flowchart illustrating a decoding process in which MTS (Multiple Transform Selection) is performed according to an embodiment to which the present invention is applied.
  • the decoder may determine a transform configuration group for the current block (S810).
  • the decoder may parse (or obtain) a transform combination index from a video signal, where the transform combination index may correspond to any one of a plurality of transform combinations in the transform configuration group (S820).
  • the transform configuration group may include Discrete Sine Transform type 7 (DST7) and Discrete Cosine Transform type 8 (DCT8).
  • the transform combination index may be referred to as an MTS index.
  • the transform setting group may be set based on at least one of a prediction mode, a block size, or a block shape of the current block.
  • the decoder may derive a transform combination corresponding to the transform combination index (S830).
  • the transform combination may include a horizontal transform and a vertical transform, and may include at least one of the DST-7 and the DCT-8.
  • the transform combination may mean the transform combination described with reference to FIG. 6, but the present invention is not limited thereto. That is, the configuration by the other conversion combination according to another embodiment of the present specification is also possible. 2019/203569 1 »(1 '/ 10 ⁇ 2019/004644
  • the decoder may perform inverse transformation on the current block based on the transform combination (8840).
  • the combination of transformations consists of a row (horizontal) transformation and a column (vertical) transformation
  • the column (horizontal) transformation may be applied first, followed by the column (vertical) transformation.
  • the present invention is not limited thereto, and in the case of applying the reverse or non-separated transform, the non-separated transform may be directly applied.
  • the inverse transform or the inverse transform of 0817 may be applied to each row after applying the columns.
  • the vertical transformation or the horizontal transformation a different transformation may be applied to each row and / or each column.
  • the transform combination index is Can be obtained based on the 1 ⁇ 18 flag indicating whether or not performed. That is, the transform combination index may be obtained when 1 78 is performed according to the MTS flag.
  • the decoder may determine whether the number of non-zero transform coefficients is greater than a threshold. In this case, the transform combination index may be obtained when the number of non-zero transform coefficients is greater than a threshold.
  • the flag or the 1 18 index may be defined at at least one level of a sequence, picture, slice, block, coding unit, transform unit, or prediction unit.
  • the inverse transform may be applied only when the width and height of the transform unit are both 32 or less.
  • step S810 may be preset and omitted in the encoder and / or the decoder.
  • 9 is a flowchart illustrating a process of encoding an MTS flag and an MTS index according to an embodiment to which the present invention is applied.
  • the encoder may determine whether Multiple Transform Selection (MTS) is applied to the current block (S910).
  • MTS Multiple Transform Selection
  • the encoder may determine an MTS index based on at least one of a mode, a horizontal transform, and a vertical transform of the current block (S930).
  • the MTS index means an index indicating any one of a plurality of transform combinations for each intra prediction mode, and the MTS index may be transmitted for each transform unit.
  • the encoder may encode the MTS index (S940).
  • FIG. 10 is a flowchart illustrating a decoding process of applying a horizontal transform or a vertical transform to a row or a column based on an MTS flag and an MTS index as an embodiment to which the present invention is applied. 2019/203569 1 »(1 ⁇ 1 ⁇ 2019/004644
  • the 30 decoder may parse the MTS flag from the bitstream (S1010).
  • the MTS flag may indicate whether multiple transform selection (MTS) is applied to the current block.
  • MTS multiple transform selection
  • the decoder may determine whether MTS (Multiple Transform Selection) is applied to the current block based on the MTS flag (S1020). For example, it may be checked whether the MTS flag is 1 or not.
  • MTS Multiple Transform Selection
  • the decoder may check whether the number of non-zero transform coefficients is greater than (or greater than) a threshold value (S1030). For example, the threshold may be set to 2, which may be set differently based on the block size or the size of the transform unit.
  • the decoder may parse an MTS index (S1040).
  • the MTS index means an index indicating any one of a plurality of transform combinations for each intra prediction mode or inter prediction mode, and the MTS index may be transmitted for each transform unit.
  • the MTS index may mean an index indicating any one transform combination defined in a preset transform combination table, wherein the preset transform combination table may mean the FIG. 6, but the present invention is limited thereto. It doesn't work.
  • the decoder may derive or determine a horizontal transform and a vertical transform based on at least one of the MTS index and the prediction mode (S1050).
  • the decoder may derive a transform combination corresponding to the MTS index.
  • the decoder may include a horizontal transform corresponding to the MTS index and 2019/203569 1 »(: 1 ⁇ 112019/004644
  • Vertical transformation can be derived or determined.
  • the decoder may apply a predetermined vertical inverse transform for each column (81060).
  • the vertical inverse transform may be an inverse transform of 17.
  • the decoder may apply a predetermined horizontal inverse transformation for each row.
  • the horizontal inverse transform may be an inverse transform of 0817. That is, when the number of non-zero transform coefficients is not greater than a threshold value, a transform kernel preset by an encoder or a decoder may be used. For example, a conversion kernel that is not widely defined in the conversion combination table as shown in FIG. 6 may be used.
  • the decoder may apply a preset vertical inverse for each column 1080).
  • the vertical inverse transform may be an inverse transform of 1 ) ( 2 ) .
  • the decoder may apply a predetermined horizontal inverse transformation for each row (81090).
  • the horizontal inverse transform may be an inverse transform of 1 ⁇ 72. That is, when the 18 flag is 0, a conversion kernel preset by the encoder or the decoder may be used.
  • a conversion kernel that is widely used may not be defined in the conversion combination table as shown in FIG. 6. 11 is an embodiment to which the present invention is applied and shows a flowchart of performing inverse transformation based on transformation related parameters.
  • the decoder to which the present invention is applied may be sps_mts_intra_enabled_flag or 2019/203569 1 »(: 1/10 ⁇ 019/004644
  • 32 sps_mts_inter_enabled_flag can be obtained 1 1 10).
  • tu_mts_flag indicates whether multiple transform selection (hereinafter, referred to as "MTS") is applied to the residual sample of the luma transform block.
  • MTS multiple transform selection
  • At least one of the embodiments of the present disclosure may be applied to the tu_mts_flag.
  • the decoder may derive the transform kernel corresponding to the urine frequency 1140.
  • the transform kernel corresponding to the above example may be defined by being divided into a horizontal transform and a vertical transform.
  • transform kernels may be applied to the horizontal transform and the vertical transform.
  • present invention is not limited thereto, and the same transform kernel may be applied to the horizontal transform and the vertical transform.
  • b may be defined as shown in Table 1 below.
  • the decoder may perform inverse transformation based on the transform kernel (1150).
  • a decoding process for performing a conversion process will be described.
  • the decoder can determine the transform size. Where the conversion 2019/203569 1 »(1 '/ 10 ⁇ 2019/004644
  • 34 may be a variable representing the horizontal sample size of the scaled transform coefficients.
  • the decoder converts 20).
  • the transform kernel type may be a variable representing the type of the transform kernel, and various embodiments of the present disclosure may be applied.
  • the transform kernel type) is a vertical transform and a horizontal transform kernel type ⁇ 1? It may include.
  • the conversion 0 indicates 0012 *, 1 indicates 0817, and 2 indicates 1X78.
  • the decoder may perform transform matrix multiplication based on at least one of a transform magnitude ⁇ or a transform kernel type (830).
  • the predetermined transform matrix 1 may be applied when performing the transform matrix multiplication.
  • the predetermined transform matrix 2 may be applied when performing the transform matrix multiplication.
  • the predetermined transform matrix 3 may be applied when performing the transform matrix multiplication.
  • the predefined transform matrix 4 may be applied.
  • the predefined transform matrices (5), (6), (7), and (8) may be applied, respectively.
  • the predefined transformation matrices (1) to (8) are each various types of transformations. 0 2019/203569 1 »(: 1 ⁇ 1 ⁇ 2019/004644
  • transform row 1 of the type illustrated in FIG. 6 may be applied.
  • the decoder may derive the transform sample based on the transform matrix multiplication (S40).
  • FIG. 12 is a table illustrating an example in which a transform set is allocated to each intra prediction mode in an NSST according to an embodiment to which the present invention is applied.
  • NST Non-Separable Secondary Transform
  • the secondary transform unit may apply a secondary transform on the primary transformed signal, where the secondary transform may be defined as a table at the encoder and / or the decoder. Can be.
  • the secondary transform may be conditionally applied to a non-separable secondary transform (hereinafter, referred to as 'NSST').
  • 'NSST' non-separable secondary transform
  • the NSST is applied only to an intra prediction block and may have a transform set applicable to each prediction mode group.
  • the prediction mode group may be set based on symmetry with respect to the prediction direction. For example, since the prediction mode 52 and the prediction mode 16 are symmetric with respect to the prediction mode 34 (diagonal direction), the same transform set may be applied by forming one group. In this case, when the transform for the prediction mode 52 is applied, the input data is transposed and then applied. 2019/203569 1 »(" ⁇ 0 ⁇ 019/004644
  • each transform set may be composed of two transforms.
  • three transforms may be configured per transform set.
  • the present invention is not limited thereto, and each transform set may be composed of a plurality of transforms. 3 shows a calculation flow diagram for Givens rotation as an embodiment to which the present invention is applied.
  • the NSST may not be applied to the entire first transformed block but may be applied only to a top-left 8 ⁇ 8 region. For example, if the block size is 8x8 or more, 8x8 NSST is applied, and if the block size is less than 8x8, 4x4 NSST is applied. In this case, 4x4 NSST is applied after dividing into 4x4 blocks.
  • 8x8 NSST and 4x4 NSST follow the transformation combination scheme described in this document, and since they are non- separable transforms, 8x8 NSST receives 64 data and outputs 64 data, and 4x4 NSST has 16 inputs and 16 Has outputs
  • Both 8x8 NSST and 4x4 NSST consist of a hierarchical combination of Givenns rotations.
  • a matrix corresponding to one Givens rotation is represented by Equation 4 below, and the matrix product is represented by Equation 5 below.
  • FIG. 14 shows a round configuration in 4x4 NSST composed of Givens rotation layer and permutations as an embodiment to which the present invention is applied.
  • Givens rotation layers are sequentially processed in the case of 4 ⁇ 4 NSST. As shown in FIG. 14, output data for one Givens rotation layer is transferred to input data for the next Givens rotation layer through i.e.shuffling.
  • the patterns to be substituted are regularly determined, and in the case of 4x4, four Givens rotation layers and the corresponding substitutions form one round ( ⁇ PI). 2019/203569 1 »(1 ⁇ 1 ⁇ 2019/004644
  • FIG. 15 is a block diagram illustrating an operation of a forward reduced transform and a forward reduced transform in an embodiment to which the present invention is applied.
  • a reduced transform (hereinafter, referred to as RT) leaves only R out of N transform basis vectors (R ⁇ N).
  • R ⁇ N The matrix for the forward RT generating the transform coefficients is given by Equation 6 below.
  • the RT may be referred to as an 8x8 reduced quadratic transform (8x8 RST).
  • 8x8 RST 8x8 reduced quadratic transform
  • the forward 8x8 RST has a 16x64 matrix form
  • the reverse 8x8 RST has a 64x16 matrix form.
  • the same transform set configuration as in FIG. 12 can be applied. That is, the corresponding 8x8 RST may be applied according to the transform set in FIG. 12.
  • one transform set when one transform set is composed of two or three transforms according to an intra prediction mode, one of up to four transforms, including the case where no secondary transform is applied, is illustrated in FIG. 12.
  • one transform can be regarded as an identity matrix.
  • a syntax element called an NSST index may be signaled for each transform block to designate a corresponding transform. That is, 8x8 NSST can be designated for the 8x8 upper left block through the NSST index, and 8x8 RST can be designated in the RST configuration.
  • index 0 may be allocated to an identity matrix, that is, a case in which a quadratic transformation is not applied. 2019/203569 19/004644
  • FIG. 16 illustrates an embodiment to which the present invention is applied and shows a process of performing a reverse scan from the 64 th to 17 th in the reverse scan order.
  • FIG. 16 illustrates scanning of the 17th coefficient from the 64th coefficient (in the forward scan order) when the forward scanning sequence starts from 1.
  • FIG. 16 shows a reverse scan, which indicates that the reverse scan is performed from the 64th to the 17th.
  • the upper left 4x4 region is a region of interest (ROI) to which a valid transform coefficient is assigned, and the remaining region is empty. That is, a value of 0 may be assigned to the remaining area by default.
  • ROI region of interest
  • conditional NSST index coding requires the presence of nonzero transform coefficients. 2019/203569 1 »(1 ⁇ 1 ⁇ 2019/004644
  • another type of MTS may be configured instead of the aforementioned MTS transform combination.
  • transform combinations can be used for the horizontal transform and the vertical transform.
  • four possible combinations may be configured using only DST7 and DCT8 to designate a transform combination to be applied through MTS_index.
  • the present invention proposes a method of approximating a target cosine transform and a target sine transform using a cosine transform or a sine transform, which are easy to implement.
  • the method can be mapped to any combination of MTS transforms, including cosine or sine transforms, which can be approximated. However, this is not limited to the primary transform, but may be applied to the secondary transform or other transforms.
  • an embodiment of the present invention proposes a method of deriving each other between preprocessing matrices and post-processing matrices when approximating various transformations.
  • the memory requirement can be reduced by storing only one preprocessing matrix and the postprocessing matrix.
  • Example 1 additional transform span set configuration method
  • > 1,?, And 3 ⁇ 4 have a value of 1 in other than the above values. That is, it has a value of 1 by default.
  • Equation (8) the equation for the sine transform (me ⁇ ⁇ )! ⁇ !!!) applied in the present specification is as shown in Equation (8).
  • 3 ⁇ 4 and 3 ⁇ 4 have a value of 1 in other cases. That is, by default.
  • Equations 7, 8, the following Equations 9, 10 can be derived.
  • a transposed matrix can also be a transformation, or an inverse transformation for the original transformation.
  • the original transform is also the inverse transform for the transposed matrix.
  • Equation 10 corresponds to a forward transform, and the other matrix does not correspond to an inverse transform.
  • Equation 11 the relations of Equation 11 can be derived including the relations.
  • Equation 12 The calculation may be performed by appropriately combining patterns of order inversion and sign inversion with respect to the input as in Equation 13 below.
  • Equation 14 represents a set of transforms that can be spanned by one transform.
  • Equation 14 We can calculate the power set for.
  • ⁇ set I) [ ⁇ ( ⁇ ) for ⁇ 17 ) can be expressed by the following equation (15).
  • Equation I When it says 6 (6? ( ⁇ 0:00), it can be expressed as shown in Equation I 6.
  • Equation 16 For each transform, the transformed transform is spanned . When it can be included in the set can be expanded by the equations (9, 10) as shown in the following equation (17). 2019/203569 1 »(: 1/102019/004644
  • Equation 16 may be newly set. But,
  • Equation 1 7 Since the union of iW (C ffl ) is a new Span (c H ) or a new “), it can be seen that the set of possible 17 does not change when compared with Equation 16.
  • Content updated through Equation 1 7 You can update the maximally spanned set from see d by applying the following to Table 2 , or you can update Table 2 below, for example, if you apply ⁇ c 11 or S 11 ⁇ as the seed, you can maximize the spanned set. to
  • Figure 17 is an embodiment to which the present invention is applied, the pretreatment step and / or post-treatment 2019/203569 1 »(1 ⁇ 1 ⁇ 2019/004644
  • a 16x16 orthogonal band matrix that can be used in step 51 is shown.
  • Example 2 A method of generating a new transformation by adding a pretreatment step and a post-treatment step to a trigonometric transform
  • the present invention can generate a new transformation (R) by multiplying the pre-processing matrix (P) and the post-processing matrix (Q) by a specific cosine transform (C) or sine transform (S), as shown in Equation 18 below.
  • P and g can be orthogonal so that the new transform is orthogonal.
  • Equation 18 C and denote a reverse transformation, respectively, and a column vector denotes a transform basis vector. Likewise, reverse conversion is indicated, and if denotes forward conversion.
  • C or S of Equation 18 is DCT-type 1-DCT-type 8 (fc)-(cJ vn )) or DST-type 1-DST-type 8 of Equations 7, 8 (fe) can be a (seok ")) the back mathematical i 5 and coming in equation 18 may be each identity matrix (identity matrix).
  • P or g is the identity matrix (identity matrix), the pre-treatment step or This means that the push processing step is omitted, thus four possible cases are possible.
  • ⁇ / 5 is an identity matrix and 0 is not an identity matrix 2019/203569 1 »(1 ⁇ 3 ⁇ 42019 / 004644
  • an orthogonal band matrix as shown in FIG. 17 may be used as an example of the case where P or 0 is not an identity matrix.
  • FIG. 17 shows a pretreatment step (P) or a post-treatment step (which can be used as zero
  • shaded areas hours can have non-zero values, other areas are filled with zero values.
  • both the matrix and the transposed matrix are composed of row vectors and column vectors having a norm value of 1, and different row vectors are orthogonal and different column vectors.
  • orthogonal means that the value is zero when the inner product is taken.
  • FIG. 17 illustrates only the case where the number of non-zero values is 4 or 3 for each row or column, but may be configured to have a different number.
  • other matrices other than the form of FIG. 17 may be used as the matrix that may be used as the preprocessing step (i 5 ) or the post-processing step (0).
  • specific orthogonal matrices may be used. How to share a preprocessing matrix and a postprocessing matrix between them Suppose that DCT5, DCT8, DST1, and DST7 can be approximated as in Equation 19. All P and 0 in Equation 19 are approximated by the transformation matrix to be approximated. In other words, if we want to approximate the forward DST7 transformation matrix of the NxN matrix, the corresponding P and have the NxN dimension.
  • Equation 19 may be an identity matrix as mentioned in Embodiment 2 above.
  • the present invention is not limited thereto, and 0 and 0 may not be the identity matrix.
  • Equation 20 (08X74 ⁇ ) (relationship with 18, 0812 ⁇ 1X72, 13 and ⁇ ) (relationship with 13) presented in Equation 1 1 can be summarized as Equation 20 below.
  • Equation 21 1 ⁇ 78 may be expressed as Equation 21 below.
  • Equation 22 can be configured for the preprocessing matrix and the post-processing matrix shown in Equation 19 above.
  • God means multiplying + /-by alternating columns of, and means by multiplying + /-by rows of.
  • means to reverse the order of the column vectors constituting the show
  • means to reverse the order of the row vectors constituting the show.
  • means a matrix having a value of 1 only in the inverse diagonal. If, in Equation 22 If an identity matrix It is an identity matrix, and if it is an identity matrix, it is also an identity matrix. 2019/203569 1 »(: 1/10 ⁇ 019/004644
  • Equation 2i when approximating c 11 and f, if (d is used instead of d, the preprocessing matrix for approximating () becomes V N and the post processing matrix is DNQ SV 7 ⁇ .
  • flipped DST7 means that elements constituting each vector are reversed for all row direction transform basis vectors in the forward transformation matrix for DST7.
  • the preprocessing and postprocessing matrices are assumed to be approximated and denoted by P fl p s7 and Q ⁇ ⁇ , respectively.
  • the relationship between the preprocessing matrices and the postprocessing matrices can be configured to satisfy the following equation (24).
  • Equation 24 stores only 5; "and ⁇ , P M ⁇ and 0 2019/203569 1 »(: 1/10 Small2019 / 004644
  • Equation 24 When approximating, as shown in Equation 24, The preprocessing matrix to approximate is V N and the postprocessing matrix is So, with P sf
  • the corresponding preprocessing matrix and postprocessing matrix can be derived from 3 ⁇ 4 !: ".
  • the preprocessing matrix and the postprocessing matrix of DST7 may be derived from the preprocessing matrix and the postprocessing matrix for DCT8 or flipped DST7. From Equations 19 and 20, the following Equation 25 can be obtained.
  • Equation 22 may be satisfied.
  • ⁇ ⁇ are stored and Can be configured to induce.
  • Equation 24 can be configured to be satisfied. It can be confirmed.
  • sff is approximated to i, sff from Equation 26, the preprocessing matrix becomes You can see that. Therefore, when p ⁇ and Q M are stored only 1 Can be configured to derive Q s v .
  • Equation 27 can be obtained by utilizing the relational expressions of Equations 19 and 20.
  • the pre-processing matrix and a separate memory area for storing the post-processing haengryeolreul not necessary to cool the.
  • can be used as a preprocessing matrix and ⁇ / 3 ⁇ 4, as a postprocessing matrix, as in Equation 27, so that a separate preprocessing matrix and a postprocessing matrix for ⁇ are not required.
  • Equation 28 Preprocessing matrix and Fu treated matrix to approximate ' If 0, the preprocessing and postprocessing matrices for ⁇ can be derived from 7 , and ⁇ !?, And the preprocessing and postprocessing matrices for ( Can be derived from.
  • Equation 28 if [SJ v ] j, is approximated to (5 TM J), the preprocessing and postprocessing matrices are 3 ⁇ 4? And P , respectively (for example, J NQ ⁇ T ⁇ ⁇ ' 3 ⁇ 4 3 ⁇ 4 is approximated, respectively).
  • the preprocessing and postprocessing matrices are Ql ⁇ J N and D N P S J ', respectively (or approximating with C N J J respectively J NQ S T ⁇ J N and D N P S ⁇ D NO ]
  • the present invention provides a case in which an MTS conversion combination is configured using DST7, DCT8, DST6, flipped DST7 or some of DST7, DCT8, DST6, flipped DST7, (s ⁇ J,
  • One transform eg (s N yn j) another transform (eg Although an approximation is shown, QSH '( S NJ P S 7 may be used as an independent transform regardless of whether to approximate or not.
  • FIG. 18 and 19 illustrate embodiments to which the present invention is applied, FIG. 18 illustrates MTS mapping for intra prediction residual, and FIG. 19 illustrates inter prediction residual.
  • Example 4 When applying the pre-matrices and post-processing the various embodiments of the equation; as 9 (, (, (for example, ", (") 7 'pre-matrix, or post-processing matrix for the matrix applied, It can be selectively applied depending on the case (or specific condition).
  • Example 4-1 whether to apply the pretreatment or the post-treatment can be different.
  • the intra-prediction mode to an 011/0 applies if the pre-treatment and post-treatment, and in accordance with, respectively, pre-treatment and may then be applied if the handle 01 1 / about the horizontal translation and a vertical translation.
  • whether or not to apply the pre-treatment and post-treatment may be independently 011/0 ⁇ .
  • preprocessing is performed. have.
  • Example 4-2 can signal a flag for whether to apply preprocessing and postprocessing.
  • Equation 19 shows how the forward transform and the reverse transform can be approximated with respect to 0015, 1) 018, and 0 7, respectively. As shown in Equation 19, when the matrices are multiplied in the reverse order applied to the forward transform and each matrix is multiplied in the form of a transpose, the inverse transform is performed.
  • the forward 1X78 transform and the reverse 0018 transform are the same, and the forward 0811 transform and the reverse 0811 transform are the same, the forward (reverse) 1X ⁇ 8 can be applied instead of the reverse £) 018.
  • forward (reverse) can be applied instead of reverse (forward).
  • the embodiments described herein can be applied to all 1 ⁇ 118 transform combinations that apply trigonometric transforms (1 is 0110111 31 01). For example, in the case where 0 7 is applied among the MTS transform combinations, the approximation method (that is, the approximation to the pre-processing step and the post-processing step) in Embodiments 2 and 3 may be applied. 2019/203569 1 »(1 ⁇ 1 ⁇ 2019/004644
  • 0 7 , £) (: 18, 0 1,0 ( ⁇ 5 can be approximated using 0812, 0813, 0012, 1) (13 and can be approximated. Can be configured to This is shown in Equation 29 below.
  • the preprocessing matrix in the forward transform is transposed and applied to the postprocessing matrix.
  • the preprocessing may be performed without applying the preprocessing.
  • the pre- or post-processing matrices of Equations 29 and 30 may be orthogonal band matrices as shown in FIG. 17. 2019/203569 1 »(: 1/10 ⁇ 019/004644
  • Equation 64 from the equation (9), 10, 20, may be configured to apply to only the use of () ', ⁇ ' are both ⁇ '. This is shown in Equation 31 below.
  • FIGS. 18 and 19 show MTS examples for intra predicted residual and inter predicted residual, respectively.
  • the above approximation method proposed in the present invention may be applied to both 08773-1-1X78 of FIGS. 18 and 19.
  • a method of deriving a preprocessing matrix and a postprocessing matrix of another transform from a preprocessing matrix and a postprocessing matrix for one transform may be applied.
  • Equation (32) represents the case of approximating ⁇ 7 to (5), and 5 and 5 correspond to all triangular transformations (3 ⁇ 4 3 ⁇ 4) 1111) ((()) to ⁇ , (groups, () to (5 ")).
  • Equation (32) represents the case of approximating ⁇ 7 to (5), and 5 and 5 correspond to all triangular transformations (3 ⁇ 4 3 ⁇ 4) 1111) ((()) to ⁇ , (groups, () to (5 ")).
  • Equation (32) represents the case of approximating ⁇ 7 to (5), and 5 correspond to all triangular transformations (3 ⁇ 4 3 ⁇ 4) 1111) ((()) to ⁇ , (groups, () to (5 ")).
  • Equation 33 shows an example following the form of Equation 32 above.
  • Equation 33 matrix calculation of an approximation type such as Equation 33 may be applied instead of DST4 or DCT4.
  • 20 is a flowchart to encode a video signal using an approximation transform based on a preprocessing / postprocessing matrix according to an embodiment to which the present invention is applied.
  • the encoder determines a linear transform for the horizontal / vertical direction based on at least one of the prediction mode, block shape, and / or block size of the current block (hereinafter, referred to as horizontal primary transform and vertical primary transform, respectively).
  • horizontal primary transform and vertical primary transform respectively.
  • S2010 selects a linear transform for the horizontal / vertical direction based on at least one of the embodiments of FIG. 6, the embodiments of FIG. 18, and / or 19.
  • the encoder may determine an optimal horizontal first order transform and / or an optimal vertical] order transform through RD optimization.
  • the optimal first-order horizontal transform and / or the optimal vertical first-order transform may correspond to one of a plurality of transform combinations, and the plurality of transform combinations may be defined by a transform index.
  • the encoder may signal a transform index corresponding to the optimal horizontal linear transform and / or the optimal vertical linear transform (S2020).
  • S2020 optimal vertical linear transform
  • other embodiments described herein may be applied to the conversion index. For example, at least one of the embodiments of FIG. 6 and FIGS. 18 and 19 2019/203569 1 »(includes 1 '/ 10 ⁇ 2019/004644 ⁇
  • a horizontal transform index for the optimal horizontal primary transform and a vertical transform index for the optimal vertical primary transform may be signaled independently.
  • the encoder may perform a forward first order approximation transform in the horizontal direction with respect to the current block by using the optimal horizontal first transform (S2030).
  • the current block may mean a transform block.
  • the encoder may perform a forward first order approximation transform in the vertical direction with respect to the current block by using the optimal vertical first order transform (S2040).
  • the forward first order approximation transform represents a transform generated by multiplying the optimal horizontal first order transform or the optimal vertical first order transform by a preprocessing matrix and a postprocessing matrix.
  • the forward first order approximation transform may be generated by Equation 18.
  • At least one of the preprocessing matrix and the postprocessing matrix may be an identity matrix.
  • the pre-processing matrix and the post-processing matrix may be an orthogonal band matrix.
  • the orthogonal band matrix represents a matrix in which a specific diagonal region of the NxN matrix has a non-zero value, and other regions are filled with zero values.
  • the specific diagonal region may have 4 or 3 non-zero values for each row or column.
  • the vertical transformation is performed after the horizontal transformation, but the present invention is not limited thereto. That is, the vertical transformation may be performed first, and then the horizontal transformation may be performed.
  • the forward direction in the horizontal direction forward conversion of the step S2030 is the forward direction in the horizontal direction forward conversion of the step S2030
  • DST4 is applied and forward in the vertical forward transformation of step S2040.
  • DCT4 can be applied. Or vice versa.
  • the combination of the horizontal transform and the vertical transform may include at least one of the embodiments of FIG. 6 and the embodiments of FIGS. 18 and 19 to be described later.
  • the encoder may generate a transform coefficient block by performing quantization on the current block (S2050).
  • the encoder may generate a bitstream by performing entropy encoding on the transform coefficient block.
  • 21 illustrates, as an embodiment to which the present invention is applied, a flowchart of decoding a video signal using an approximation transform based on a preprocessing / postprocessing matrix.
  • the decoder may obtain a transform index from the bitstream (S2110).
  • a transform index from the bitstream (S2110).
  • other embodiments described herein may be applied to the conversion index. 2019/203569 1 »(1 ⁇ 1 ⁇ 2019/004644
  • the store may include at least one of the embodiments of FIG. 6 and the embodiments of FIGS. 18 and 19.
  • the decoder may induce a horizontal / vertical first order transform corresponding to the transform index (82120).
  • the candidate of the horizontal / vertical first-order transform may include at least one of the embodiments of FIG. 6 and the embodiments of FIGS. 18 and 19.
  • steps 821 10 and 82120 are an embodiment, and the present invention is not limited thereto.
  • the decoder may induce a horizontal / vertical first order transform based on at least one of a prediction mode, a block shape, and / or a block size of the current block.
  • the transform index may include a horizontal transform index corresponding to a horizontal transform and a vertical transform index corresponding to a vertical transform.
  • the decoder may entropy decode the bitstream to obtain a transform coefficient block, and perform inverse quantization on the transform coefficient block (82130).
  • the decoder may perform a backward first order approximation transform in the vertical direction on the inverse quantized transform coefficient block using the vertical first order transform.
  • the decoder may perform a reverse first order approximation transformation in a horizontal direction using the horizontal first order transformation.
  • the inverse first order approximation transform represents a transform generated by multiplying the horizontal first order transform or the vertical first order transform by a preprocessing matrix and a postprocessing matrix.
  • the inverse first-order approximation transformation may be generated by Equation 18.
  • At least one of the preprocessing matrix and the postprocessing matrix may be an identity matrix 1113 ⁇ 41. 2019/203569 1 »(: 1/10 ⁇ 019/004644
  • the preprocessing matrix and the postprocessing matrix may be an orthogonal band matrix.
  • the orthogonal band matrix represents a matrix in which a specific diagonal region of the NxN matrix has a non-zero value, and other regions are filled with zero values.
  • the specific diagonal region may have 4 or 3 non-zero values for each row or column.
  • At least one of (S ⁇ J, '(")) can be used to approximate the forward and inverse transforms of DST7, DCT8, DST6, or flipped DST7, that is, using one preprocessing matrix and one postprocessing matrix.
  • the horizontal transformation is applied after the vertical transformation is applied, but the present invention is not limited thereto. That is, the horizontal transformation may be applied first, and then the vertical transformation may be applied.
  • the reverse in the vertical reverse conversion of the step S2140 is reverse in the vertical reverse conversion of the step S2140
  • DCT4 can be applied. Or vice versa.
  • the combination of the horizontal transform and the vertical transform may include at least one of the embodiments of FIG. 6, the embodiments of FIGS. 8 and 9.
  • the decoder generates a residual block through step S2150, and the reconstructed block is generated by adding the residual block and the prediction block. 22 is an embodiment to which the present invention is applied and is a content streaming system. ⁇ ⁇ 0 2019/203569
  • a content streaming system to which the present invention is applied may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.
  • the encoding server compresses content input from multimedia input devices such as a smartphone, a camera, a camcorder, etc. into digital data to generate a bitstream and transmit the bitstream to the streaming server.
  • multimedia input devices such as smart phones, cameras, camcorders, etc. directly generate a bitstream
  • the encoding server may be omitted.
  • the bitstream may be generated by an encoding method or a bitstream generation method to which the present invention is applied, and the streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.
  • the streaming server transmits multimedia data to the user device based on a user request through the web server, and the web server serves as an intermediary for informing the user of what service there is.
  • the web server delivers it to a streaming server, and the streaming server transmits multimedia data to the user.
  • the content streaming system may include a separate control server.
  • the control server controls a command / response between devices in the content streaming system.
  • the streaming server may receive content from a media store and / or an encoding server. For example, to receive content from the encoding server. 2019/203569 1 »(1 ⁇ 1 ⁇ 2019/004644
  • the streaming server may store the bitstream for a predetermined time.
  • Examples of the user device include a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation device, a slate PC, Tablet PCs, ultrabooks, wearable devices, such as smartwatches, glass glasses, head mounted displays, digital TVs, desktops Computer, digital signage, and the like.
  • PDA personal digital assistant
  • PMP portable multimedia player
  • a navigation device a slate PC
  • Tablet PCs Tablet PCs
  • ultrabooks wearable devices, such as smartwatches, glass glasses, head mounted displays, digital TVs, desktops Computer, digital signage, and the like.
  • Each server in the content streaming system may operate as a distributed server, in which case data received from each server may be distributed.
  • the embodiments described herein may be implemented and performed on a processor, microprocessor, controller, or chip.
  • the functional units illustrated in each drawing may be implemented and performed on a computer, a processor, a microprocessor, a controller, or a chip.
  • the decoder and encoder to which the present invention is applied include a multimedia broadcasting transmitting and receiving device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video chat device, a real time communication device such as video communication, a mobile streaming device, Storage media, camcorders, video on demand (VoD) service providers, over the top video (OTT) devices, Internet streaming service providers, 3D (3D) video devices, video telephony video devices, and medical video devices.
  • a multimedia broadcasting transmitting and receiving device include a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video chat device, a real time communication device such as video communication, a mobile streaming device, Storage media, camcorders, video on demand (VoD) service providers, over the top video (OTT) devices, Internet streaming service providers, 3D (3D) video devices, video telephony video devices, and medical video devices.
  • VoD video on demand
  • OTT over
  • OTT video (Over the top video) devices include game consoles, Blu-ray players, Internet-connected TVs, home theater systems, smartphones. Tablet PC, Digital Video Recorder (DVR), etc. may be included.
  • DVR Digital Video Recorder
  • the processing method to which the present invention is applied can be produced in the form of a program executed by a computer, and can be stored in a computer-readable recording medium.
  • Multimedia data having a data structure according to the present invention can also be stored in a computer-readable recording medium.
  • the computer readable recording medium includes all kinds of storage devices and distributed storage devices in which computer readable data is stored.
  • the computer-readable recording medium may include, for example, a Blu-ray Disc (BD), a Universal Serial Bus (USB), a ROM, a PROM, an EPROM, an EEPROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical disc. It may include a data storage device.
  • the computer-readable recording medium also includes media embodied in the form of a carrier wave (for example, transmission over the Internet).
  • the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.
  • embodiments of the present invention can be implemented as a computer program product by a program code, the program code can be performed on a computer by an embodiment of the present invention.
  • the program code may be stored on a carrier readable by a computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은, 전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 복원하는 방법에 있어서, 상기 비디오 신호로부터 현재 블록의 변환 인덱스를 획득하는 단계, 여기서 상기 변환 인덱스는 DST7, DCT8, DST6, flipped DST7 중 적어도 하나로 구성된 복수개의 변환 조합들 중 어느 하나에 대응되고, 변환 조합은 수평 변환 및 수직 변환으로 구성됨; 상기 변환 인덱스에 대응되는 수평/수직 방향에 대한 1차 변환을 유도하는 단계; 상기 수평/수직 방향에 대한 1차 변환을 이용하여 역방향 1차 근사 변환을 수행하는 단계, 여기서 상기 역방향 1차 근사 변환은 상기 수평/수직 방향에 대한 1차 변환에 전처리 행렬 및 후처리 행렬을 곱하여 생성된 변환을 나타냄; 및 상기 역방향 1차 근사 변환된 현재 블록을 이용하여 상기 비디오 신호를 복원하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.

Description

2019/203569 1»(그1^1{2019/004644
1
【명세서】
【발명의 명칭】
전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
【기술분야】
본 발명은 비디오 신호를 처리하는 방법 및 장치에 관한 것이며, 보다 구체적으로 코사인 변환 또는 사인 변환에 전처리 단계와 후처리 단계를 추가하여 특정 코사인 변환 또는 특정 사인 변환을 근사화하는 기술에 관한 것이다.
【배경기술】
차세대 비디오 컨텐츠는 고해상도 (high spatial resolution), 고프레임율 (high frame rate) 및 영상 표현의 고차원화 (high dimensionality of scene representetion)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장 (memory storage), 메모리 액세스율 (memory acc s rate) 및 처리 전력 (processing power) 측면에서 엄청난 증가를 가져올 것이다.
따라서, 차세대 비디오 컨텐츠를 보다 효율적으로 처리하기 위한 새로운 코딩 툴을 디자인할 필요가 있다. 특히, 변환 (transform)을 적용할 때 부호화 효율과 복잡도 측면에서 훨씬 효율적인 변환을 설계할 필요가 있다.
【발명의 상세한 설명】
【기술적 과제】
본 발명은 새로운 변환 디자인을 반영하기 위한 인코더/디코더 구조를 제안하고자 한다. 2019/203569 1»(그1^1{2019/004644
2 본 발명은 코사인 변환 또는 사인 변환에 전처리 단계와 후처리 단계를 추가하여 특정 코사인 변환 또는 특정 사인 변환을 근사화하는 방법을 제안하고자 한다.
【기술적 해결방법】
본 발명은, 새로운 변환 디자인을 통해 복잡도를 감소시키고 코딩 효율을 향상시키는 방법을 제공한다.
본 발명은, 추가적인 변환 스팬 셋 (transform span set)을 구성하는 방법을 제공한다.
본 발명은, 삼각 변환 (trigonometric transform) (예를 들어, 코사인 변환 또는 사인 변환)에 전처리 단계 (전처리 행렬 곱으로 표현)와 후처리 단계 (후처리 행렬 곱으로 표현)를 추가하여, 새로운 변환을 생성하거나 특정 삼각 변환을 근사화하는 방법을 제공한다.
본 발명은, 여러 변환들을 근사할 때 해당 변환들을 근사하는데 필요한 전처리 행렬과 후처리 행렬을 공유하여 메모리를 줄이는 방법을 제공한다.
본 발명은, 전처리 행렬 및/또는 후처리 행렬에 기초하는 근사 변환들을 MTS(Multiple Transform Selection)에 적용하는 방법을 제공한다.
본 발명은, 전처리 단계 및/또는 후처리 단계를 경우에 따라 선택적으로 적용하는 방법을 제공한다.
【발명의 효과】
본 발명은 비디오 코딩에서 코사인 변환 또는 사인 변환을 적용할 때, 보다 복잡도가 낮은 코사인 변환 또는 사인 변환을 이용하여 타겟 코사인 변환 또는 타겟 사인 변환을 근사적으로 구현함으로써 필요한 계산량과 메모리를 줄일 2019/203569 1»(그1^¾2019/004644
3 수 있다.
또한, 다양한 타겟 코사인 변환 또는 타겟 사인 변환에 이용되는 전처리 행렬 및/또는 후처리 행렬을 공유함으로써 필요한 메모리 요구량을 줄일 수 있다.
【도면의 간단한 설명】
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 3은 본 발명이 적용될 수 있는 실시예들로서, 도 3A는 QT(QuadTree, 이하 ‘QT,라 함), 도 3B는 BT(Binary Tree, 이하 ¾T’라 함), 도 3C는 TT(Ternary Tree, 이하 ‘TT’라 함) 도 3D는 AT(Asymmetric Tree, 이하 ‘AT’라 함)에 의한 블록 분할구조들을 설명하기 위한 도면이다.
도 4는 본 발명이 적용되는 실시예로서, 인코더 내의 변환 및 양자화부 (120/130), 역양자화 및 역변환부 (140/150)의 개략적인 블록도를 나타낸다.
도 5는 본 발명이 적용되는 실시예로서, 디코더 내의 역양자화 및 역변환부 (220/230)의 개략적인 블록도를 나타낸다.
도 6은 본 발명이 적용되는 실시예로서, MTS(Multiple Transform Selection)가 적용되는 변환 설정 그룹 (transform configuration group)을 나타내는 표이다.
도 7은 본 발명이 적용되는 실시예로서, MTS(Multiple Transform Selection)가 수행되는 인코딩 과정을 나타내는 흐름도이다.
도 8은 본 발명이 적용되는 실시예로서, MTS(Multiple Transform Selection)가 수행되는 디코딩 과정을 나타내는 흐름도이다. 2019/203569 1»(그1^1{2019/004644
4 도 9는 본 발명이 적용되는 실시예로서, 1^118 플래그 및
Figure imgf000006_0001
인덱스를 인코딩하는 과정을 설명하기 위한흐름도이다.
도 10은 본 발명이 적용되는 실시예로서, MTS 플래그 및 MTS 인덱스에 기초하여 수평 변환 또는 수직 변환을 행 또는 열에 적용하는 디코딩 과정을 설명하기 위한흐름도이다.
도 11은 본 발명이 적용되는 실시예로서, 변환 관련 파라미터에 기초하여 역변환을 수행하는 흐름도를 나타낸다.
도 12는 본 발명이 적용되는 실시예로서, NSST에서 인트라 예측 모드마다 변환 세트 (transform set)를 할당하는 것을 보여주는 테이블이다.
도 13은 본 발명이 적용되는 실시예로서, 기븐스 회전 (Givens rotation)에 대한 계산 플로우 다이어그램을 나타낸다.
도 14는 본 발명이 적용되는 실시예로서, 기븐스 회전 레이어 (Givens rotation layer)와 치환 (permutation)들로 구성된 4x4 NSST에서의 한 라운드 구성을 보여준다.
도 15는 본 발명이 적용되는 실시예로서, 순방향 축소 변환 (forward reduced transform) 및 역방향 축소 변환 (forward reduced transform)의 동작을 설명하기 위한 블록도이다.
도 16은 본 발명이 적용되는 실시예로서, 역방향 스캔 순서에 따라
64번째부터 17번째까지 역방향 스캔을 수행하는 과정을 나타내는 도면이다.
도 17은 본 발명이 적용되는 실시예로서, 전처리 단계 및/또는 후처리 단계에서 사용될 수 있는 16x16 직교 밴드 행렬 (orthogonal band matrix)을 나타낸다. 2019/203569 1»(:1^1{2019/004644
5 도 18은 본 발명이 적용되는 실시예로서, 인트라 예측 레지듀얼에 대한 MTS 매핑을 나타낸다.
도 19는 본 발명이 적용되는 실시예로서, 인터 예측 레지듀얼에 대한 MTS 매핑을 나타낸다.
도 20은 본 발명이 적용되는 실시예로서, 전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 인코딩하는 흐름도를 나타낸다.
도 21은 본 발명이 적용되는 실시예로서, 전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 디코딩하는 흐름도를 나타낸다.
도 22는 본 발명이 적용되는 실시예로서, 컨텐츠 스트리밍 시스템 구조도를 나타낸다.
【발명의 실시를 위한 최선의 형태】
본 발명은, 전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 복원하는 방법에 있어서, 상기 비디오 신호로부터 현재 블록의 변환 인덱스를 획득하는 단계, 여기서 상기 변환 인덱스는 DST7, DCT8, DST6, flipped DST7 중 적어도 하나로 구성된 복수개의 변환 조합들 중 어느 하나에 대응되고, 변환 조합은 수평 변환 및 수직 변환으로 구성됨; 상기 변환 인덱스에 대응되는 수평/수직 방향에 대한 1차 변환을 유도하는 단계; 상기 수평/수직 방향에 대한 1차 변환을 이용하여 역방향 1차 근사 변환을 수행하는 단계, 여기서 상기 역방향 1차 근사 변환은 상기 수평/수직 방향에 대한 1차 변환에 전처리 행렬 및 후처리 행렬을 곱하여 생성된 변환을 나타냄; 및 상기 역방향 1차 근사 변환된 현재 블록을 이용하여 상기 비디오 신호를 복원하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다. 2019/203569 1»(:1^1{2019/004644 본 발명에서, 상기 전처리 행렬 및 후처리 행렬은 직교 밴드 행렬 (orthogonal band matrix)을 나타내고,상기 직교 밴드 행렬은 NxN 행렬의 특정 대각선 영역은 0이 아닌 값을 갖고 그 이외의 영역은 0 값을 갖는 행렬인 것을 특징으로 한다.
본 발명에서, 상기 특정 대각선 영역은 각 행 또는 열마다 0이 아닌 값의 개수가 4또는 3인 것을특징으로 한다.
본 발명에서, 상기 전처리 행렬 및 후처리 행렬 중 적어도 하나는 항등 행렬 (identity matrix)인 것을특징으로 한다.
본 발명에서,상기 변환조합은 DST7, DCT8, DST6, flipped DST7중 적어도 하나로 구성되:표, 상기 역방향 1차 근사 변환은 (섟 (s1' } , (c ·) , ( 중 적어도하나를 이용하여 근사화되는 것을 특징으로 한다.
본 발명에서, 상기 현재 블록이 인트라 예측된 레지듀얼일 때, 상기 변환 조합 (수평 변환, 수직 변환)은, (DST7, DST7), (DCT8, DST7), (DST7, DCT8) 및 (DCT8, DCT8)를 포함하고, 상기 변환 조합에 대응되는 상기 변환 인덱스는 각각 0, 1, 2, 3인 것을특징으로 한다.
본 발명에서, 상기 현재 블록이 인터 예측된 레지듀얼일 때, 상기 변환 조합 (수평 변환, 수직 변환)은, (DCT8, DCT8), (DST7, DCT8), (DCT8, DST7) 및 (DST7, DST7)를 포함하고, 상기 변환 조합에 대응되는 상기 변환 인덱스는 각각 0, 1,2, 3인 것을특징으로 한다.
본 발명은, 전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 복원하는 장치에 있어서, 상기 비디오 신호로부터 현재 블록의 변환 인덱스를 획득하는 파싱부, 여기서 상기 변환 인덱스는 DST7, DCT8, DST6, flipped 2019/203569 1»(그1^1{2019/004644
0817 중 적어도 하나로 구성된 복수개의 변환 조합들 중 어느 하나에 대응되고, 변환 조합은 수평 변환 및 수직 변환으로 구성됨; 상기 변환 인덱스에 대응되는 수평/수직 방향에 대한 1차 변환을 유도하고, 상기 수평/수직 방향에 대한 1차 변환을 이용하여 역방향 1차 근사 변환을 수행하는 변환부, 여기서 상기 역방향 1차 근사 변환은 상기 수평/수직 방향에 대한 1차 변환에 전처리 행렬 및 후처리 행렬을 곱하여 생성된 변환을 나타냄; 및 상기 역방향 1차 근사 변환된 현재 블록을 이용하여 상기 비디오 신호를 복원하는 복원부를 포함하는 것을 특징으로 하는 장치를 제공한다.
【발명의 실시를 위한 형태】
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 의해서 설명되는 본 발명의 구성과 작용은 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
또한, 본 발명에서 사용되는 용어들은 발명을 설명하기 위해 선택된 일반적인 용어들이나, 유사한 의미를 갖는 다른 용어가 있는 경우 보다 적절한 해석을 위해 대체 가능할 것이다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 2019/203569 1»(그1^1{2019/004644
8 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다. 또한, 파티셔닝 (partitioning), 분해 (decomposition), 스플리팅 (spliting) 및 분할 (division) 등의 경우에도 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다.
본 문서에서 MTS(Multiple Transform Selection, 이하 ‘MTS’라 함)라 함은 적어도 2개 이상의 변환 타입을 이용하여 변환을 수행하는 방'법을 의미할 수 있다. 이는 AMT( Adaptive Multiple Transform) 또는 EMT (Explicit Multiple Transform)로도 표현될 수 있으며, 마찬가지로, mts_idx 도 AMT_idx, EMT_idx, tu_mts_idx, AMT_TU_idx, EMT_TU_idx, 변환 인덱스 또는 변환 조합 인덱스 등과 같이 표현될 수 있으며, 본 발명은 이러한 표현에 한정되지 않는다. 도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 인코더 (100)는 영상 분할부 (110), 변환부 (120), 양자화부 (130), 역양자화부 (140), 역변환부 (150), 필터링부 (160), 복호 픽쳐 버퍼 (DPB: Decoded Picture Buffer)(170), 인터 예즉부 (180), 인트라 예즉부 (185) 및 엔트로피 인코딩부 (190)를 포함하여 구성될 수 있다.
영상 분할부 (1 10)는 인코더 (100)에 입력된 입력 영상 (Input image) (또는, 픽쳐, 프레임)를 하나 이상의 처리 유닛으로 분할할 수 있다. 예를 들어, 상기 처리 유닛은 코딩 트리 유닛 (CTU: Coding Tree Unit), 코딩 유닛 (CU: Coding Unit), 예측 유닛 (PU: Prediction Unit) 또는 변환유닛 (TU: Transform Unit)일 수 있다.
다만, 상기 용어들은 본 발명에 대한 설명의 편의를 위해 사용할 뿐이며, 2019/203569 1»(그1'/10{2019/004644
9 본 발명은 해당 용어의 정의에 한정되지 않는다. 또한, 본 명세서에서는 설명의 편의를 위해, 비디오 신호를 인코딩 또는 디코딩하는 과정에서 이용되는 단위로써 코딩 유닛이라는 용어를 사용하지만, 본 발명은 그에 한정되지 않으며 발명 내용에 따라 적절하게 해석 가능할 것이다.
인코더 (100)는 입력 영상 신호에서 인터 예측부 (180) 또는 인트라 예측부 (185)로부터 출력된 예측 신호 (prediction signal)를 감산하여 잔여 신호 (residual signal)를 생성할 수 있고, 생성된 잔여 신호는 변환부 (120)로 전송된다.
변환부 (120)는 잔여 신호에 변환 기법을 적용하여 변환 계수 (transform coefficient)를 생성할 수 있다. 변환 과정은 쿼드트리 (quadtree) 구조의 정사각형 블록, 바이너리트리 (binarytree) 구조, 삼진트리 (ternary) 구조 또는 비대칭 트리 (asymmetric) 구조에 의해 분할된 블록 (정사각형 또는 직사각형)에 적용될 수 있다.
상기 변환부 (120)는 복수개의 변환 (또는 변환 조합들)에 기초하여 변환을 수행할 수 있으며, 이러한 변환 방식을 MTS(Multiple Transform Selection) 라 부를 수 있다. 상기 MTS는 AMT(Adaptive Multiple Transform) 또는 EMT(Enhanced
Multiple Transform)로 부를 수도 있다.
상기 MTS (또는 AMT, EMT)는 복수개의 변환 (또는 변환 조합들)로부터 적응적으로 선택되는 변환 (또는 변환 조합들)에 기초하여 수행되는 변환 방식을 의미할 수 있다.
상기 복수개의 변환 (또는 변환 조합들)은 본 명세서의 도 6 에서 설명하는 변환 (또는 변환 조합들)을 포함할 수 있다. 본 명세서에서, 상기 변환 또는 변환 2019/203569 1»(:1^1{2019/004644
10 타입은, 예를 들어 DCT-Type 2, DCT-II, DCT-2, DCT2 와 같이 표기할 수 있다. 상기 변환부 (120)는 다음의 실시예들을 수행할수 있다.
본 발명은 코사인 변환 또는 사인 변환에 전처리 단계와 후처리 단계를 추가하여 특정 코사인 변환또는 특정 사인 변환을 근사화하는 방법을 제공한다. 본 발명에서, 상기 변환부 (120)는 최적의 수평/수직 1차 변환을 이용하여 현재 블록에 대해 수평/수직 방향으로 순방향 1차 근사 변환을 수행할 수 있다 여기서, 상기 순방향 1차 근사 변환은, 상기 최적의 수평 1차 변환 또는 상기 최적의 수직 1차 변환에 전처리 행렬 및 후처리 행렬을 곱하여 생성된 변환을 나타낸다. 예를 들어, 상기 순방향 1차 근사 변환은 이후 설명하게 될 수학식 내에 의해 생성될 수 있다.
일실시예로, 상기 전처리 행렬 및 후처리 행렬 중 적어도 하나는 항등 행렬 (identity matrix)일 수 있다.
일실시예로, 상기 전처리 행렬 및 후처리 행렬은 직교 밴드 행렬 (orthogonal band matrix)일 수 있다, 여기서, 상기 직교 밴드 행렬은 NxN 행렬의 특정 대각선 영역은 non-zero 값을 가지고, 그 이외의 영역은 0 값으로 채워지는 행렬을 나타낸다. 예를 들어, 상기 특정 대각선 영역은 각 행 또는 열마다 non-zero 값의 개수가 4 또는 3일 수 있다.
일실시예로, DST7, DCT8, DST6, flipped DST7 중 적어도 하나를 이용하여
MTS 변환 조합을 구성하는 경우, (S^J , [Sff , ( , ( 중 적어도 하나를 이용하여 DST7, DCT8, DST6, 또는 flipped DST7의 순방향 변환과 역방향 변환을 근사화할 수 있다. 즉, 하나의 전처리 행렬과 하나의 후처리 행렬을 이용하여 다른 변환의 전처리 행렬과후처리 행렬을 유도할 수 있다. 2019/203569 1»(그1^1{2019/004644
1 1 이에 대한 구체적인 실시예들은 본 명세서에서 보다 상세히 설명하도록 한다.
양자화부 (130)는 변환 계수를 양자화하여 엔트로피 인코딩부 (190)로 전송하고, 엔트로피 인코딩부 (190)는 양자화된 신호 (quantized signal)를 엔트로피 코딩하여 비트스트림으로 출력할 수 있다,
상기 변환부 (120)와 상기 양자화부 (130)는 별개의 기능 유닛으로 설명되지만, 본 발명은 이에 한정되지 않으며, 하나의 기능 유닛으로 결합될 수 있다. 상기 역양자화부 (140)와 상기 역변환부 (150)의 경우에도, 마찬가지로 하나의 기능 유닛으로 결합될 수 있다.
양자화부 (130)로부터 출력된 양자화된 신호 (quantized signal)는 예즉 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 신호 (qmntized signal)는 루프 내의 역양자화부 (140) 및 역변환부 (150)를 통해 역양자화 및 역변환을 적용함으로써 잔여 신호를 복원할 수 있다. 복원된 잔여 신호를 인터 예측부 (180) 또는 인트라 예측부 (185)로부터 출력된 예측 신호 (prediction signal)에 더함으로써 복원 신호 (reconstructed signal)가 생성될 수 있다.
한편, 위와 같은 압축 과정에서 발생한 양자화 에러에 의해 블록 경계가 보이는 열화가 발생될 수 있다. 이러한 현상을 블록킹 열화 (blocking artifacts)라고 하며, 이는 화질을 평가하는 중요한 요소 중의 하나이다. 이러한 열화를 줄이기 위해 필터링 과정을 수행할 수 있다. 이러한 필터링 과정을 통해 블록킹 열화를 제거함과 동시에 현재 픽쳐에 대한 오차를 줄임으로써 화질을 향상시킬 수 있게 된다.
필터링부 (160)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 0 2019/203569 1»(그1^1{2019/004644
12 출력하거나 복호 픽쳐 버퍼 (170)에 전송한다. 복호 픽쳐 버퍼 (170)에 전송된 필터링된 신호는 인터 예측부 (180)에서 참조 픽쳐로 사용될 수 있다. 이처럼, 필터링된 픽쳐를 화면간 예측 모드에서 참조 픽쳐로 이용함으로써 화질 뿐만 아니라부호화 효율도 향상시킬 수 있다.
복호 픽쳐 버퍼 (170)는 필터링된 픽쳐를 인터 예측부 (180)에서의 참조 픽쳐로사용하기 위해 저장할 수 있다.
인터 예측부 (180)는 복원 픽쳐 (reconstructed picture)를 참조하여 시간적 중복성 및/또는 공간적 중복성을 제거하기 위해 시간적 예측 및/또는 공간적 예측을 수행한다. 여기서, 예측을 수행하기 위해 이용되는 참조 픽쳐는 이전 시간에 부호화/복호화 시 블록 단위로 양자화와 역양자화를 거친 변환된 신호이기 때문에, 블로킹 아티팩트 (blocking artifact)나 링잉 아티팩트 (ringing artifact)가존재할 수 있다.
따라서, 인터 예측부 (180)는 이러한 신호의 불연속이나 양자화로 인한 성능 저하를 해결하기 위해, 로우패스 필터 (lowpass filter)를 적용함으로써 픽셀들 사이의 신호를 서브 픽셀 단위로 보간할 수 있다. 여기서, 서브 픽셀은 보간 필터를 적용하여 생성된 가상의 화소를 의미하고, 정수 픽셀은 복원된 픽쳐에 존재하는 실제 화소를 의미한다. 보간 방법으로는 선형 보간, 양선형 보간 (bi linear interpolation), 위너 필터 (wiener filter)등이 적용될 수 있다.
보간 필터는 복원 픽쳐 (reconstructed picture)에 적용되어 예즉의 정밀도를 향상시킬 수 있다. 예를 들어, 인터 예측부 (180)는 정수 픽셀에 보간 필터를 적용하여 보간 픽셀을 생성하고, 보간 픽셀들 (interpolated pixels)로 구성된 보간 블록 (interpolated block)을 예측 블록 (prediction block)으로 사용하여 예측을 수행할 2019/203569 1»(:1^¾2019/004644
13 수 있다.
한편, 인트라 예측부 (185)는 현재 부호화를 진행하려고 하는 블록의 주변에 있는 샘플들을 참조하여 현재 블록을 예측할 수 있다. 상기 인트라 예측부 (185)는 인트라 예측을 수행하기 위해 다음과 같은 과정을 수행할 수 있다. 먼저, 예측 신호를 생성하기 위해 필요한 참조 샘플을 준비할 수 있다. 그리고, 준비된 참조 샘플을 이용하여 예측 신호를 생성할 수 있다. 이후, 예측 모드를 부호화하게 된다. 이때, 참조 샘플은 참조 샘플 패딩 및/또는 참조 샘플 필터링을 통해 준비될 수 있다. 참조 샘플은 예측 및 복원 과정을 거쳤기 때문에 양자화 에러가 존재할 수 있다. 따라서, 이러한 에러를 줄이기 위해 인트라 예측에 이용되는 각 예측 모드에 대해 참조 샘플 필터링 과정이 수행될 수 있다.
상기 인터 예측부 (180) 또는 상기 인트라 예측부 (185)를 통해 생성된 예측 신호 (prediction signal)는 복원 신호를 생성하기 위해 이용되거나 잔여 신호를 생성하기 위해 이용될 수 있다. 도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 2를 참조하면, 디코더 (200)는 파싱부 (미도시), 엔트로피 디코딩부 (210), 역양자화부 (220), 역변환부 (230), 필터링부 (240), 복호 픽쳐 버퍼 (DPB: Decoded Picture Buffer Unit)(250), 인터 예측부 (260) 및 인트라 예측부 (265)를 포함하여 구성될 수 있다.
그리고, 디코더 (200)를 통해 출력된 복원 영상 신호 (reconstructed video signal)는 재생 장치를 통해 재생될 수 있다. 2019/203569 1»(그1^¾2019/004644
14 디코더 (200)는 도 1의 인코더 (100)로부터 출력된 신호을 수신할 수 있고, 수신된 신호는 엔트로피 디코딩부 (210)를 통해 엔트로피 디코딩될 수 있다.
역양자화부 (220)에서는 양자화 스텝 사이즈 정보를 이용하여 엔트로피 디코딩된 신호로부터 변환 계수 (transform coefficient)를 획득한다.
역변환부 (230)에서는 변환 계수를 역변환하여 잔여 신호 (residual signal)를 획득하게 된다.
여기서, 본 발명은 예측 모드, 블록 크기 또는 블록 모양 (block shape) 중 적어도 하나에 의해 구분되는 변환 설정 그룹 (transform configuration group) 별로 변환 조합 (transform combination)을 구성하는 방법을 제공하며, 상기 역변환부 (230)는 본 발명에 의해 구성된 변환 조합에 기초하여 역변환을 수행할 수 있다. 또한, 본 명세서에서 설명한 실시예들이 적용될 수 있다.
상기 역변환부 (230)는 다음의 실시예들을 수행할 수 있다.
본 발명에서, 상기 역변환부 (230)는 수평/수직 1차 변환을 이용하여 수평/수직 방향으로 역방향 1차 근사 변환을 수행할수 있다.
여기서, 상기 역방향 1차 근사 변환은, 상기 수평 1차 변환 또는 상기 수직 1차 변환에 전처리 행렬 및 후처리 행렬을 곱하여 생성된 변환을 나타낸다. 예를 들어, 상기 역방향 1차 근사 변환은 이후 설명하게 될 수학식 18에 의해 생성될 수 있다.
일실시예로, 상기 전처리 행렬 및 후처리 행렬 중 적어도 하나는 항등 행렬 (identity matrix)일 수 있다.
일실시예로, 상기 전처리 행렬 및 후처리 행렬은 직교 밴드 행렬 (orthogonal band matrix)일 수 있다. 여기서, 상기 직교 밴드 행렬은 NxN 2019/203569 1»(:1/10公019/004644
15 행렬의 특정 대각선 영역은 non-zero 값을 가지고, 그 이외의 영역은 0 값으로 채워지는 행렬을 나타낸다. 예를 들어, 상기 특정 대각선 영역은 각 행 또는 열마다 non-zero 값의 개수가 4 또는 3일 수 있다.
일실시예로, DST7, DCT8, DST6, flipped DST7 중 적어도 하나를 이용하여
MTS 변환 조합을 구성하는 경우, ( 、!. ,
Figure imgf000017_0001
(C^ , (예중 적어도 하나를 이용하여 DST7, DCT8, DST6, 또는 flipped DST7의 순방향 변환과 역방향 변환을 근사화할 수 있다. 즉, 하나의 전처리 행렬과 하나의 후처리 행렬을 이용하여 다른 변환의 전처리 행렬과 후처리 행렬을 유도할 수 있다.
상기 역양자화부 (220)와 상기 역변환부 (230)는 별개의 기능 유닛으로 설명되지만, 본 발명은 이에 한정되지 않으며, 하나의 기능 유닛으로 결합될 수 있다.
획득된 잔여 신호를 인터 예측부 (260) 또는 인트라 예측부 (265)로부터 출력된 예측 신호 (prediction signal)에 더함으로써 복원 신호 (reconstructed signal)가 생성된다.
필터링부 (240)는 복원 신호 (reconstructed signal)에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼부 (250)에 전송한다. 복호 픽쳐 버퍼부 (250)에 전송된 필터링된 신호는 인터 예측부 (260)에서 참조 픽쳐로 사용될 수 있다.
본 명세서에서, 인코더 (100)의 변환부 (120) 및 각 기능 유닛들에서 설명된 실시예들은 각각 디코더의 역변환부 (230) 및 대응되는 기능 유닛들에도 동일하게 적용될 수 있다. 2019/203569 1»(그1'/10{2019/004644
16 도 3은 본 발명이 적용될 수 있는 실시예들로서, 도 3A는 QT(QuadTree, 이하 ‘QT’라 함), 도 犯는 BT(Binary Tree, 이하 ‘BT’라 함), 도 3C는 TT(Temary Tree, 이하 ‘TT,라 함) 도 3D는 AT(Asymmetric Tree, 이하 ‘AT’라 함)에 의한블록 분할구조들을 설명하기 위한 도면이다.
비디오 코딩에서 하나의 블록은 QT(QuadTree) 기반으로 분할될 수 있다. 또한, ( 에 의해서 분할된 하나의 서브 블록 (sub block)은 QT를 사용하여 재귀적으로 더 분할될 수 있다. 더 이상 QT 분할되지 않는 리프 블록 (leaf block)은 BT(Binary Tree), TT(Ternary Tree) 또는 AT(Asymmetric Tree) 중 적어도 하나의 방식에 의해서 분할될 수 있다. 는 horizontal BT (2NxN, 2NxN)과 vertical BT (Nx2N, Nx2N)의 두 가지 형태의 분할을 가질 수 있다. 는 horizontal TT (2Nxl/2N, 2NxN, 2Nxl/2N)와 vertical TT (l/2Nx2N, Nx2N, l/2Nx2N)의 두 가지 형태의 분할을 가질 수 있다. AT는 horizontal-up AT (2Nxl/2N, 2Nx3/2N), horizontal- down AT (2Nx3/2N, 2Nxl/2N), vertical-left AT (l/2Nx2N, 3/2Nx2N), vertical-right AT (3/2Nx2N, l/2NxiN) 의 네 가지 형태의 분할을 가질 수 있다. 각각의 BT, TT, AT는 BT,TT,AT를 사용하여 재귀적으로 더 분할될 수 있다.
상기 도 3A는 QT 분할의 예를 보여준다. 블록 A는 QT에 의해서 4개의 서브 블록 (AO, Al , A2, A3)으로 분할될 수 있다. 서브 블록 시은 다시 아에 의해서 4개의 서브 블록 (B0,B 1, B2, B3)로 분할될 수 있다.
상기 도 3B는 BT 분할의 예를 보여준다. QT에 의해서 더 이상 분할되지 않는 블록 B3은 vertical BT (CO, Cl) 또는 horizontal BT (DO, Dl)으로 분할될 수 있다. 블록 C0와 같이 각각의 서브 블록은 horizontal BT (E0, El) 또는 vertical BT
(F0, F1)의 형태와 같이 재귀적으로 더 분할될 수 있다. 2019/203569 1»(그1^1{2019/004644
17 상기 3C는 TT분할의 예를 보여준다. QT에 의해서 더 이상 분할되지 않는 블록 B3은 vertical TT (CO, Cl, C2) 또는 horizontal TT (DO, Dl, D2)으로 분할될 수 있다. 블록 Cl와 같이 각각의 서브 블록은 horizontal TT (E0, El, E2) 또는 vertical TT (F0,F1, F2)의 형태와 같이 재귀적으로 더 분할될 수 있다.
상기 3D는 AT 분할의 예를 보여준다. (기에 의해서 더 이상 분할되지 않는 블록 B3은 vertical AT (CO, Cl) 또는 horizontal AT (DO, Dl)으로 분할 될 수 있다. 블록이와 같이 각각의 서브 블록은 horizontal AT (E0, El) 또는 vertical TT (F0, F1)의 형태와 같이 재귀적으로 더 분할 될 수 있다. 한편, BT, TT,AT분할은 함께 사용하여 분할이 가능하다. 예를 들어, 에 의해 분할된 서브 블록은 TT 또는 AT에 의한 분할이 가능하다. 또한, TT에 의해 분할된 서브 블록은 BT 또는 AT에 의한 분할이 가능하다. AT에 의해 분할된 서브 블록은 BT 또는 TT에 의한 분할이 가능하다. 예를 들어, horizontal BT 분할 이후, 각각의 서브 블록이 vertical BT로 분할될 수 있고, 또는 vertical BT 분할 이후, 각각의 서브 블록이 horizontal BT로 분할될 수도 있다. 상기 두 종류의 분할 방법은 분할 순서는 다르지만 최종적으로 분할되는 모양은 동일하다.
또한, 블록이 분할되면 블록을 탐색하는 순서를 다양하게 정의할 수 있다. 일반적으로, 좌측에서 우측으로, 상단에서 하단으로 탐색을 수행하며, 블록을 탐색한다는 것은 각 분할된 서브 블록의 추가적인 블록 분할 여부를 결정하는 순서를 의미하거나, 블록이 더 이상 분할되지 않을 경우 각 서브 블록의 부호화 순서를 의미하거나, 또는 서브 블록에서 다른 이웃 블록의 정보를 참조할 때의 탐색 순서를 의미할 수 있다. 2019/203569 1»(:1/10公019/004644
18
도 4 및 도 5는 본 발명이 적용되는 실시예들로서, 도 4는 인코더 내의 변환 및 양자화부 (120/130), 역양자화 및 역변환부 (140/150)의 개략적인 블록도를 나타내고, 도 5는 디코더 내의 역양자화 및 역변환부 (220/230)의 개략적인 블록도를 나타낸다.
상기 도 4를 살펴보면, 변환 및 양자화부 (120/130)는 1차 변환부 (primary transform unit)(121), 2차 변환부 (secondary transform unit)(122) 및 양자화부 (130)을 포함할 수 있다. 역양자화 및 역변환부 (140/150)는 역양자화부 (140), 역 2차 변환부 (inverse secondary transform unit)(151) 및 역 1차 변환부 (inverse primary transform unit)( 152)를 포함할 수 있다.
상기 도 5를 살펴보면, 역양자화 및 역변환부 (220/230)는 역양자화부 (220), 역 2차 변환부 (inverse secondary transform unit)(231) 및 역 1차 변환부 (inverse primary transform unit)(232)를 포함할 수 있다.
본 발명에서, 변환을 수행할 때 복수의 단계를 통해 변환을 수행할 수 있다. 예를 들어, 도 4에서와 같이 1차 변환 (primary transform), 2차 변환 (secondary transform)의 2단계를 적용할 수 있고, 또는 알고리즘에 따라 그 이상의 변환 단계가 이용될 수도 있다. 여기서, 상기 1차 변환 (primary transform)은 주요 변환 (core transform)이라고 부를 수도 있다.
상기 1차 변환부 (primary transform unit)(121)는 잔여 신호에 대해 1차 변환 (primary transform)을 적용할 수 있으며, 여기서 상기 1차 변환 (primary transform)은 인코더 및/또는 디코더에서 테이블로 기정의될 수 있다.
상기 1차 변환 (primary transform)의 경우, Discrete Cosine Transform type 0 2019/203569 1»(:1^1{2019/004644
19
2(이하, T)CT2’라 함)가 적용될 수 있다.
또는, 특정한 경우에 한정하여 Discrete Sine Transform-type 7(이하, ‘DST7’ 이라 함)이 적용될 수도 있다. 예를 들어, 인트라 예측 모드에서 4x4 블록에 대해 DST7이 적용될 수 있다.
또한, 상기 1차 변환 (primary transform)의 경우, MTS(Multiple Transform Selection)의 여러 변환들 (DST 7, DCT 8, DST 1, DCT 5) 의 조합들이 적용될 수도 있다. 예를 들어, 도 6이 적용될 수 있다.
상기 2차 변환부 (secondary transform unit)(122)는 1차 변환된 신호에 대해 2차 변환 (secondary transform)을 적용할 수 있으며, 여기서 상기 2차 변환 (secondary transform)은 인코더 및/또는 디코더에서 테이블로 기정의될 수 있다.
일실시예로, 상기 2차 변환 (secondary transform)은 Non-Separable Secondary Transform (이하, ‘NSST,라 함)이 조건적으로 적용될 수 있다. 예를 들어, 상기 NSST는 인트라 예측 블록일 경우에만 적용되며, 예측 모드 그룹마다 적용 가능한 변환 셋을 가질 수 있다.
여기서, 상기 예측 모드 그룹은 예측 방향에 대한 대칭성에 기초하여 설정될 수 있다. 예를 들어, 예측 모드 52와 예측 모드 16은 예측 모드 34 (대각 방향)를 기준으로 대칭이므로, 하나의 그룹을 형성하여 동일한 변환 셋 (transform set)이 적용될 수 있다. 이때, 상기 예측 모드 52에 대한 변환을 적용할 때 입력 데이터를 트랜스포즈 (transpose)한 후 적용하며, 이는 예측 모드 16과 변환 셋이 동일하기 때문이다.
한편, 플래너 모드 (Planar mode)와 DC 모드 (DC mode)의 경우 방향에 대한 대칭성이 존재하지 않으므로 각자의 변환 셋을 가지며, 해당 변환 셋은 2개의 2019/203569 1»(그1^1{2019/004644
20 변환들로 구성될 수 있다. 나머지 방향성 모드에 대해서는 변환 셋마다 3개의 변환들로 구성될 수 있다.
다른 실시예로, 상기 2차 변환 (secondary transform)의 경우, MTS(Multiple Transform Selection)의 여러 변환들 (DST 7, DCT 8, DST 1, DCT 5) 의 조합들이 적용될 수도 있다. 예를 들어, 도 6이 적용될 수 있다.
다른 실시예로, DST7 이 1차 변환 (primary transform)으로 적용될 수도 있다. 다른 실시예로, DCT8 이 1차 변환 (primary transform)으로 적용될 수도 있다. 다른 실시예로, 상기 NSST는 1차 변환된 블록 전체에 대해 적용되는 것이 아니라 좌상측 (top-left) 8x8 영역에 대해서만 적용될 수 있다. 예를 들어, 블록의 크기가 8x8 이상인 경우는 8x8 NSST가 적용되며, 8x8 미만인 경우는 4x4 NSST가 적용되는데, 이때 4x4 블록들로 나눈 후 각기 4x4 NSST가 적용된다.
다른 실시예로, 4xN/Nx4 (N ñ= 16)인 경우에도 4x4 NSST가 적용될 수 있다. 상기 NSST, 4x4 NSST 및 8x8 NSST 에 대해서는 이하 도 12 내지 15 및 명세서 내 다른 실시예를 통해 보다 상세히 설명하도록 한다.
상기 양자화부 (130)는 2차 변환된 신호에 대해 양자화를 수행할 수 있다. 상기 역양자화 및 역변환부 (140/150)는 앞서 설명된 과정을 역으로 수행하며, 중복되는 설명은 생략하도록 한다. 도 5는 디코더 내의 역양자화 및 역변환부 (220/230)의 개략적인 블록도를 나타낸다.
상기 도 5를 살펴보면, 역양자화 및 역변환부 (220/230)는 역양자화부 (220), 역 2차 변환부 (inverse secondary transform unit)(231) 및 역 1차 변환부 (inverse primary 2019/203569 1»(:1/10公019/004644
21 transform unit)(232)를 포함할 수 있다.
상기 역양자화부 (220)에서는 양자화 스텝 사이즈 정보를 이용하여 엔트로피 디코딩된 신호로부터 변환 계수 (transform coefficient)를 획득한다.
상기 역 2차 변환부 (inverse secondary transform unit)(231)에서는 상기 변환 계수에 대해 역 2차 변환을 수행한다. 여기서, 상기 역 2차 변환은 상기 도 4에서 설명한 상기 2차 변환 (secondary transform)의 역변환을 나타낸다.
다른 실시예로, 상기 2차 변환의 경우, MTS(Multiple Transform Selection)의 여러 변환들 (DST 7, DCT 8, DST 1, DCT 5) 의 조합들이 적용될 수도 있다. 예를 들어, 도 6이 적용될 수 있다.
상기 역 1차 변환부 (inverse primary transform unit)(232)는 역 2차 변환된 신호 (또는 블록)에 대해 역 1차 변환을 수행하고, 잔여 신호 (residual signal)를 획득하게 된다. 여기서, 상기 역 1차 변환은 상기 도 4에서 설명한 상기 1차 변환 (primary transform)의 역변환을 나타낸다.
일실시예로, 상기 1차 변환 (primary transform)의 경우, MTS(Multiple Transform Selection)의 여러 변환들 (DST 7, DCT 8, DST 1, DCT 5) 의 조합들이 적용될 수도 있다. 예를 들어, 도 6이 적용될 수 있다.
본 발명의 일실시예로, DST7 이 1차 변환 (primary transform)으로 적용될 수도 있다.
본 발명의 일실시예로, DCT8 이 1차 변환 (primary transform)으로 적용될 수도 있다.
본 발명은 예측 모드, 블록 크기 또는 블록 모양 (block shape) 중 적어도 하나에 의해 구분되는 변환 설정 그룹 (transform configuration group) 별로 변환 0 2019/203569 1»(:1^1{2019/004644
22 조합 (transform combination)을 구성하는 방법을 제공하며, 상기 역 1차 변환부 (inverse primary transform unit)(232)는 본 발명에 의해 구성된 변환 조합에 기초하여 역변환을 수행할 수 있다. 또한, 본 명세서에서 설명한 실시예들이 적용될 수 있다. 도 6은 본 발명이 적용되는 실시예로서, MTS(Multiple Transform Selection)가 적용되는 변환 설정 그룹 (transform configuration group)을 나타내는 표이다.
MTSfMultiple Transform Selection)가· 적용되는 변환설정 그룹
본 명세서에서는, 변환 설정 그룹 에 대한 j번째 변환 조합 후보를 다음 수학식 1과 같은 쌍으로 표시한다.
【수학식 1 ]
(H(Gi, j), V(Gi, j))
여기서, H(G„ j)는 j번째 후보에 대한 수평 변환 (horizontal transform)을 가리키며, V(Gi, j)는 j번째 후보에 대한 수직 변환 (vertical transform)을 가리킨다. 예를 들어, 도 6에서 H(G3, 2) = DST7, V(G3, 2) = DCT8 과 같이 표기할 수 있다. 문맥에 따라 H(G1 j) 또는 V(Gi; j)에 할당되는 값은 상기 예시에서와 같이 변환을 구분하기 위한 표시상의 값 (nominal value)일 수도 있고 해당 변환을 가리키는 인덱스 값일 수도 있으며 해당 변환에 대한 2D 행렬 (2 Dimensional matrix)일 수도 있다.
또한, 본 명세서에서, DCT와 DST에 대한 2D 행렬 값을 다음 수학식 2 내지 3과 같이 표기할 수 있다.
【수학식 2】 0 2019/203569 1>(刀/10¾2019/004644
23
DCT type 2: C , DCT type 8: Cfv
【수학식 3】
DST type 7: 섟", DST type 4: SN ]y
여기서, DST 또는 DCT인지 여부는 S 또는 C로 나타내고, type 숫자는 로마숫자의 형태로 위첨자로 표기하며, 하부첨자의 N는 NxN 변환임을 가리킨다. 또한, 상기 C1 와 SN !V 와 같은 2D 행렬은 열 벡터 (column vector)들이 변환 기저 (transform basis)를 이루는 것을 가정한다. 상기 도 6을 살펴보면, 변환 설정 그룹 (transform configuration group)들은 예측 모드에 기초하여 결정되고 그룹의 개수는 총 6개 (G0 - G5)일 수 있다. 그리고, G0 - G4는 인트라 예측이 적용되는 경우에 해당되고 G5는 인터 예측에 의해 생성된 잔차 (residual) 블록에 적용되는 변환 조합들 (또는 변환 셋, 변환조합 셋)을 나타낸다.
하나의 변환 조합은 해당 2D 블록의 행 (row)들에 적용되는 수평 변환 (horizontal transform) (또는 행 변환 (row transform)) 과 열 (column)들에 적용되는 수직 변환 (vertical transform) (또는 열 변환 (column transform)) 으로 이루어질 수 있다.
여기서, 모든 변환 설정 그룹들은 각 4개의 변환 조합 후보들을 가질 수 있다. 상기 4개의 변환 조합 후보들은 0~3의 변환 조합 인덱스를 통해 선택 또는 결정될 수 있으며, 인코더에서 디코더로 상기 변환 조합 인덱스를 인코딩하여 전송할 수 있다.
일실시예로, 인트라 예측을 통해 획득된 잔차 데이터 (또는 잔차 신호)는 0 2019/203569 1»(그1^1{2019/004644
24 인트라 예측 모드에 따라 그 통계적 특성이 각기 다를 수 있다. 따라서, 상기 도 6에서와 같이 인트라 예측 모드 별로 일반적인 코사인 변환이 아닌 다른 변환들을 적용할 수 있다.
상기 도 6을 살펴보면, 35개의 인트라 예측 모드를 사용하는 경우와 67개의 인트라 예측 모드를 사용하는 경우를 나타낸다. 각 인트라 예측 모드 열에서 구분된 변환 설정 그룹 별로 복수개의 변환 조합들이 적용될 수 있다. 예를 들어, 상기 복수개의 변환 조합들은 4개의 (행 방향 변환, 열 방향 변환) 조합으로 구성될 수 있다. 구체적 예로, 그룹 0에서는 행(수평) 방향과 열(수직) 방향 모두 0 1-7과 001-57} 적용될 수 있어 총 4개의 조합이 가능하다.
각 인트라 예측 모드에 대해 총 4개의 변환 커널 조합이 적용될 수 있으므로, 그 중 하나를 선택하기 위한 변환 조합 인덱스가 변환 단위知해3^)011 아止)마다 전송될 수 있다. 본 명세서에서, 상기 변환 조합 인덱스는 MTS 인덱스
Figure imgf000026_0001
있으며,예0(뇨로 표현될 수 있다.
또한, 상기 도 6에서 제시한 변환 커널들 이외에도, 잔차 신호 0 1 1 비의 특성상 행 방향과 열 방향 모두에 대해 1X^2가 최적인 경우가 발생할 수 있다. 따라서, 코딩 유닛(0세 111出)마다 MTS 플래그를 정의함으로써 적응적으로 변환을 수행할 수 있다. 여기서, MTS 플래그가 0이면 행 방향과 열 방향 모두에 대해
Figure imgf000026_0002
적용하고,
Figure imgf000026_0003
플래그가 1이면 요 인덱스를 통해
4개의 조합 중 하나를 선택 또는 결정할 수 있다.
일실시예로, 1^0 플래그가 1인 경우 하나의 변환 단위에 대해 0이 아닌 변환 계수의 개수가 임계값보다 크지 않으면 상기 도 6의 변환 커널들을 적용하지 않고 행 방향과 열 방향에 대해 모두 0 -7을 적용할 수 있다. 예를 0 2019/203569 1»(:1^112019/004644
25 들어, 상기 임계값은 2로 설정될 수 있으며, 이는 블록 크기 또는 변환 유닛의 크기에 기초하여 다르게 설정될 수 있다. 이는 명세서 다른 실시예에서도 적용 가능하다.
일실시예로, 변환 계수 값들을 먼저 파싱하여 0이 아닌 변환 계수의 개수가 임계값보다 크지 않으면, MTS 인덱스를 파싱하지 않고 DST-7을 적용함으로써 부가 정보 전송량을줄일 수 있다.
일실시예로, MTS 플래그가 1인 경우 하나의 변환 단위에 대해 0이 아닌 변환 계수의 개수가 임계값보다 크면 MTS 인덱스를 파싱하고, MTS 인덱스에 기초하여 수평 변환과수직 변환을 결정할수 있다.
일실시예로, MTS는 변환 단위의 너비와 높이가 모두 32 이하일 경우에만 적용될 수 있다.
일실시예로, 상기 도 6은 오프라인 트레이닝 (off-line training)을 통해 기설정될 수 있다.
일실시예로, 상기 MTS 인덱스는 수평 변환과 수직 변환의 조합을 동시에 가리킬 수 있는 하나의 인덱스로 정의될 수 있다. 또는,상기 MTS 인덱스는수평 변환 인덱스와수직 변환 인덱스를 별도로 정의할수도 있다.
일실시예로, 상기 MTS 플래그 또는 상기 MTS 인덱스는 시퀀스, 픽쳐, 슬라이스, 블록, 코딩 유닛, 변환 유닛, 또는 예측 유닛 중 적어도 하나의 레벨에서 정의될 수 있다. 예를 들어, 상기 MTS 플래그 또는 상기 MTS 인덱스는 SPS(Sequence Parameter Set)또는 변환유닛 중 적어도 하나의 레벨에서 정의될 수 있다. 2019/203569 1»(:1^1{2019/004644
26 도 7은 본 발명이 적용되는 실시예로서, MTS(Multiple Transform Selection)가 수행되는 인코딩 과정을 나타내는 흐름도이다.
본 명세서에서는 기본적으로 수평 방향과 수직 방향에 대해 분리해서 변환을 적용하는 실시예를 설명하고 있으나, 변환 조합은 비분리 변환 (non- separable transform)들로도 구성이 가능하다.
또는, 분리가능한 변환 (separable transform)들과 비분리 변환 (non-separable 切 ansform)들의 혼합으로도 구성될 수 있다. 이 경우, 비분리 변환 (non-separable transform)이 이용되면 행/열 (row/column)별 변환 선택이나 수평/수직 (horizontal/vertical) 방향별 선택은 불필요해지며, 분리가능한 변환 (separable transform) ° 1 선택되는 경우에만 상기 도 6의 변환 조합들이 이용될 수 있다.
또한, 본 명세서에서 제안하는 방식들은 1차 변환 (primary transform)이나 2차 변환 (secondary transform)에 관계 없이 적용할 수 있다. 즉, 둘 중 어느 한쪽에만 적용되어야 한다는 제약이 없으며, 둘다 적용될 수 있다. 여기서, 상기 1차 변환 (primary transform)은 잔차 (residual) 블록을 맨 처음에 변환하기 위한 변환을 의미할 수 있고, 상기 2차 변환 (secondary transform)은 상기 1차 변환의 결과로 생성된 블록에 대해 변환을 적용하기 위한 변환을 의미할 수 있다.
먼저, 인코더는 현재 블록에 대응되는 변환 설정 그룹을 결정할 수 있다 (S기 0). 여기서, 상기 변환 설정 그룹은 상기 도 6의 변환 설정 그룹을 의미할 수 있으나, 본 발명은 이에 한정되지 않으며 다른 변환 조합들로 구성될 수도 있다.
상기 인코더는 상기 변환 설정 그룹 내 이용가능한 후보 변환 조합들에 2019/203569 1»(그1^1{2019/004644
27 대해 변환을 수행할 수 있다 (S720).
상기 변환 수행 결과, 상기 인코더는 RD(Rate Distortion) 비용이 가장 작은 변환조합을 결정 또는 선택할수 있다 (S730).
상기 인코더는 상기 선택된 변환 조합에 대응되는 변환 조합 인덱스를 인코딩할 수 있다 (S740). 도 8은 본 발명이 적용되는 실시예로서, MTS(Multiple Transform Selection)가 수행되는 디코딩 과정을 나타내는 흐름도이다.
먼저, 디코더는 현재 블록을 위한 변환 설정 그룹을 결정할수 있다 (S810). 상기 디코더는 비디오 신호로부터 변환 조합 인덱스를 파싱 (또는 획득)할 수 있으며, 여기서 상기 변환 조합 인덱스는 상기 변환 설정 그룹 내 복수개의 변환 조합들 중 어느 하나에 대응될 수 있다 (S820). 예를 들어, 상기 변환 설정 그룹은 DST7(Discrete Sine Transform type 7) 및 DCT8(Discrete Cosine Transform type 8)을 포함할 수 있다. 상기 변환조합 인덱스는 MTS 인덱스로 부를 수 있다. 일실시예로, 상기 변환 설정 그룹은 현재 블록의 예측 모드, 블록 크기 또는 블록 모양 중 적어도 하나에 기초하여 설정될 수 있다.
상기 디코더는 상기 변환 조합 인덱스에 대응되는 변환 조합을 유도할 수 있다 (S830). 여기서, 상기 변환 조합은 수평 변환 및 수직 변환으로 구성되고, 상기 DST-7 또는 DCT-8 중 적어도 하나를 포함할 수 있다.
또한, 상기 변환 조합은 상기 도 6에서 설명한 변환 조합을 의미할 수 있으나, 본 발명은 이에 한정되지 않는다. 즉, 본 명세서 내 다른 실시예에 따른 다른 변환조합에 의한구성도 가능하다. 2019/203569 1»(그1'/10{2019/004644
28 상기 디코더는 상기 변환 조합에 기초하여 상기 현재 블록에 대해 역변환을 수행할 수 있다(8840). 상기 변환 조합이 행(수평) 변환과 열(수직) 변환으로 구성된 경우, 행(수평) 변환을 먼저 적용한 후 열(수직) 변환을 적용할 수 있다. 다만, 본 발명은 이에 한정되지 않으며, 반대로 적용되거나, 또는 비분리 변환들로 구성된 경우에는 바로 비분리 변환이 적용될 수 있다.
일실시예로, 상기 수직 변환 또는 상기 수평 변환이 상기 081-7 또는 001-8 ¾] 경우, 상기 0817의 역변환 또는 의 역변환을 열마다 적용하고 난 이후 행마다 적용할 수 있다.
일실시예로, 상기 수직 변환 또는 상기 수평 변환은, 각 행마다 및/또는 각열마다 다른 변환이 적용될 수 있다.
일실시예로, 상기 변환 조합 인덱스는
Figure imgf000030_0001
수행되는지 여부를 나타내는 1^18 플래그에 기초하여 획득될 수 있다. 즉, 상기 변환 조합 인덱스는 상기 MTS 플래그에 따라 1 78가수행되는 경우에 획득될 수 있다.
일실시예로, 상기 디코더는 0이 아닌 변환 계수의 개수가 임계값보다 큰지 여부를 확인할 수 있다. 이때, 상기 변환 조합 인덱스는 상기 0이 아닌 변환 계수의 개수가 임계값보다 큰 경우에 획득될 수 있다.
일실시예로, 상기 플래그 또는 상기 1 18 인덱스는 시퀀스, 픽쳐, 슬라이스, 블록, 코딩 유닛, 변환 유닛, 또는 예측 유닛 중 적어도 하나의 레벨에서 정의될 수 있다.
일실시예로, 상기 역변환은 변환 단위의 너비와 높이가 모두 32 이하일 경우에만 적용될 수 있다.
한편, 다른 일실시예로, 변환 설정 그룹을 결정하는 과정과 변환 조합 2019/203569 1»(그1^¾2019/004644
29 인덱스를 파싱하는 과정은 동시에 수행될 수 있다. 또는 상기 S810 단계는 인코더 및/또는 디코더에서 기설정되어 생략될 수 있다. 도 9는 본 발명이 적용되는 실시예로서, MTS 플래그 및 MTS 인덱스를 인코딩하는 과정을 설명하기 위한 흐름도이다.
인코더는 현재 블록에 대해 MTS(Multiple Transform Selection)가 적용되는지 여부를 결정할 수 있다 (S910).
만약, MTS(Multiple Transform Selection)가 적용되는 경우, 상기 인코더는 MTS 플래그 = 1 로 인코딩할 수 있다 (S920).
그리고, 상기 인코더는 상기 현재 블록의 예즉 모드, 수평 변환, 수직 변환 중 적어도 하나에 기초하여 MTS 인덱스를 결정할 수 있다 (S930). 여기서, MTS 인덱스는 각 인트라 예측 모드에 대해 복수개의 변환 조합들 중 어느 하나를 가리키는 인덱스를 의미하며, 상기 MTS 인덱스는 변환 단위 (transform unit)마다 전송될 수 있다.
상기 MTS 인덱스가 결정되면, 상기 인코더는 상기 MTS 인덱스를 인코딩할 수 있다 (S940).
한편, 상기 MTS(Multiple Transform Selection)가 적용되지 않는 경우, 상기 인코더는 MTS 플래그 = 0 으로 인코딩할 수 있다 (S950). 도 10은 본 발명이 적용되는 실시예로서, MTS 플래그 및 MTS 인덱스에 기초하여 수평 변환 또는 수직 변환을 행 또는 열에 적용하는 디코딩 과정을 설명하기 위한흐름도이다. 2019/203569 1»(그1^1{2019/004644
30 디코더는 비트스트림으로부터 MTS 플래그를 파싱할 수 있다 (S1010). 여기서, MTS 플래그는 현재 블록에 대해 MTS(Multiple Transform Selection)가 적용되는지 여부를 나타낼 수 있다.
상기 디코더는 상기 MTS 플래그에 기초하여 현재 블록에 대해 MTS(Multiple Transform Selection)가 적용되는지 여부를 확인할 수 있다 (S1020). 예를 들어, 상기 MTS 플래그가 1인지 여부를 확인할 수 있다.
만약, 상기 MTS 플래그가 1인 경우, 상기 디코더는 0이 아닌 변환 계수의 개수가 임계값보다 큰지 (또는 이상인지) 여부를 확인할 수 있다 (S1030). 예를 들어, 상기 임계값은 2 로 설정될 수 있으며, 이는 블록 크기 또는 변환 유닛의 크기에 기초하여 다르게 설정될 수 있다.
상기 0이 아닌 변환 계수의 개수가 임계값보다 큰 경우, 상기 디코더는 MTS 인덱스를 파싱할 수 있다 (S1040). 여기서, 상기 MTS 인덱스는 각 인트라 예측 모드 또는 인터 예측 모드에 대해 복수개의 변환 조합들 중 어느 하나를 가리키는 인덱스를 의미하며, 상기 MTS 인덱스는 변환 단위 (transfc n unit)마다 전송될 수 있다. 또는, 상기 MTS 인덱스는 기설정된 변환 조합 테이블에 정의된 어느 하나의 변환 조합을 가리키는 인덱스를 의미할 수 있으며, 여기서 상기 기설정된 변환 조합 테이블은 상기 도 6을 의미할 수 있으나, 본 발명은 이에 한정되지 않는다.
상기 디코더는 상기 MTS 인덱스 또는 예측 모드 중 적어도 하나에 기초하여 수평 변환 및 수직 변환을 유도 또는 결정할 수 있다 (S1050).
또는, 상기 디코더는 상기 MTS 인덱스에 대응되는 변환 조합을 유도할 수 있다. 예를 들어, 상기 디코더는 상기 MTS 인덱스에 대응되는 수평 변환 및 2019/203569 1»(:1^112019/004644
31 수직 변환을 유도 또는 결정할 수 있다.
한편, 상기 0이 아닌 변환 계수의 개수가 임계값보다 크지 않은 경우, 상기 디코더는 기설정된 수직 역변환을 열마다 적용할 수 있다 (81060). 예를 들어, 상기 수직 역변환은 17의 역변환일 수 있다.
그리고, 상기 디코더는 기설정된 수평 역변환을 행마다 적용할 수 있다 (51070). 예를 들어, 상기 수평 역변환은 0817의 역변환일 수 있다. 즉, 상기 0이 아닌 변환 계수의 개수가 임계값보다 크지 않은 경우에는 인코더 또는 디코더에서 기설정된 변환 커널이 이용될 수 있다. 예를 들어, 상기 도 6과 같은 변환 조합 테이블에서 정의된 것이 아니라, 많이 이용되는 변환 커널이 이용될 수 있다.
한편, 상기
Figure imgf000033_0001
플래그가 0인 경우, 상기 디코더는 기설정된 수직 역변환을 열마다 적용할 수 있다 1080). 예를 들어, 상기 수직 역변환은 1)( 2의 역변환일 수 있다.
그리고, 상기 디코더는 기설정된 수평 역변환을 행마다 적용할 수 있다 (81090). 예를 들어, 상기 수평 역변환은 1X72의 역변환일 수 있다. 즉, 18 플래그가 0인 경우에는 인코더 또는 디코더에서 기설정된 변환 커널이 이용될 수 있다. 예를 들어, 상기 도 6과 같은 변환 조합 테이블에서 정의된 것이 아니라, 많이 이용되는 변환 커널이 이용될 수 있다. 도 11은 본 발명이 적용되는 실시예로서, 변환 관련 파라미터에 기초하여 역변환을 수행하는 흐름도를 나타낸다.
본 발명이 적용되는 디코더는, sps_mts_intra_enabled_flag 또는 2019/203569 1»(:1/10公019/004644
32 sps_mts_inter_enabled_flag 를 획득할 수 있다 1 1 10). 여기서, sps_mts_intra_enabled_flag 는 tu_mts_flag 가 인트라 코딩 유닛의 레지듀얼 코딩 신택스에 존재하는지 여부를 나타낸다. 예를 들어, sps_mts_intra_enabled_flag = 0 이면, tu_mts_flag 가 인트라 코딩 유닛의 레치듀얼 코딩 신택스에 존재하지 않고, sps_mts_intra_enabled_flag = 0 이면, tu_mts_flag 가 인트라 코딩 유닛의 레지듀얼 코딩 신택스에 존재한다. 그리고, sps_mts_inter_enabled_flag 는 tu_mts_flag 가 인터 코딩 유닛의 레지듀얼 코딩 신택스에 존재하는지 여부를 나타낸다. 예를 들어, sps_mts_inter_enabled_flag = 0 이면, tu_mts_flag 가 인터 코딩 유닛의 레지듀얼 코딩 신택스에 존재하지 않고, sps_mts_inter_enabled_flag = 0 이면, tu_mts_flag 가 인터 코딩 유닛의 레지듀얼 코딩 신택스에 존재한다.
상기 디코더는 sps_mts_intra_enabled_flag 또는 sps_mts_inter_enabled__flag에 기초하여 tu_mts_flag 를 획득할 수 있다 (S1120). 예를 들어, sps_mts_intra_enabled_flag = 1 또는 sps_mts_inter_enabled_flag = 1 일때, 상기 디코더는 tu_mts_flag 를 획득할 수 있다. 여기서, tu_mts_flag 는 다변환 선택 (multiple transform selection, 이하 ‘MTS’라 함)이 루마 변환 블록의 레지듀얼 샘플에 적용되는지 여부를 나타낸다. 예를 들어, tu_mts_flag = 0 이면 MTS가루마 변환 블록의 레지듀얼 샘플에 적용되지 않고, tu__mts_flag = 1 이면 MTS가 루마 변환 블록의 레지듀얼 샘플에 적용된다.
다른 예로, 상기 tu_mts_flag 에 대해 본 문서의 실시예들 중 적어도 하나가 적용될 수있다.
상기 디코더는 tu_mts_flag 에 기초하여 mtsjdx 를 획득할 수 있다 (別130). 예를 들어, tu_mts_flag = 1 일때, 상기 디코더는 mtsjdx 를 획득할 수 있다. 여기서, 2019/203569 1»(:1^1{2019/004644
33 는 어떤 변환 커널이 현재 변환 블록의 수평 및/또는 수직 방향에 따른 루마 레지듀얼 샘플들에 적용되는지를 나타낸다.
예를 들어,
Figure imgf000035_0001
대해, 본 문서 실시예들 중 적어도 하나가 적용될 수 있다. 구체적 예로, 상기 도 6의 실시예들 중 적어도 하나가 적용될 수 있다. 상기 디코더는 ᄃ뇨 에 대응되는 변환 커널을 유도할 수 있다 1140). 예를 들어, 상기 예 에 대응되는 변환 커널은 수평 변환 및 수직 변환으로 구분되어 정의될 수 있다.
다른 예로, 상기 수평 변환 및 수직 변환은 서로 다른 변환 커널이 적용될 수 있다. 다만, 본 발명은 이에 한정되지 않으며, 상기 수평 변환 및 수직 변환은 동일한 변환 커널이 적용될 수도 있다.
일실시예로, ᄂ 는 아래 표 1과 같이 정의될 수 있다.
【표 1】
Figure imgf000035_0002
그리고, 상기 디코더는 상기 변환 커널에 기초하여 역변환을 수행할 수 있다 1150). 본 발명의 다른 실시예로, 변환 과정을 수행하는 디코딩 과정을 설명한다. 디코더는, 변환 크기여 를 확인할 수 있다 10). 여기서, 상기 변환 2019/203569 1»(그1'/10{2019/004644
34 크기어 幻는 스케일된 변환 계수들의 수평 샘플 크기를 나타내는 변수일 수 있다.
상기 디코더는, 변환
Figure imgf000036_0001
확인할 수 있다 20). 여기서, 상기 변환 커널 타입 )은 변환 커널의 타입을 나타내는 변수일 수 있으며, 본 문서의 다양한 실시예들이 적용될 수 있다. 상기 변환 커널 타입 )은 수평 변환 커널 타입付1 ?내01·)과 수직 변환
Figure imgf000036_0002
포함할 수 있다.
상기 표 1을 참고하면, 상기 변환
Figure imgf000036_0003
0이면 0012* 나타내고, 1이면 0817 을 나타내고 , 2이면 1X78을 나타낼 수 있다.
상기 디코더는, 변환 크기知 幻 또는 변환 커널 타입 중 적어도 하나에 기초하여 변환 행렬 곱셈을 수행할 수 있다 (830).
다른 예로, 변환 커널 타입이 1이고 변환 크기가 4이면, 변환 행렬 곱셈 수행시 기결정된 변환 행렬 (1)이 적용될 수 있다.
다른 예로, 변환 커널 타입이 1이고 변환 크기가 8이면, 변환 행렬 곱셈 수행시 기결정된 변환 행렬 (2)가 적용될 수 있다.
다른 예로, 변환 커널 타입이 1이고 변환 크기가 16이면, 변환 행렬 곱셈 수행시 기결정된 변환 행렬 (3)이 적용될 수 있다.
다른 예로, 변환 커널 타입이 1이고 변환 크기가 32이면, 기정의된 변환 행렬 (4)가 적용될 수 있다.
마찬가지로, 변환 커널 타입이 2이고 변환 크기가 4, 8, 16, 또는 32이면, 각각 기정의된 변환 행렬 (5), (6), (7), (8)이 적용될 수 있다.
여기서, 상기 기정의된 변환 행렬들 (1)~(8)은 각각 다양한 타입의 변환 0 2019/203569 1»(:1^1{2019/004644
35 행렬들 중 어느 하나에 대응될 수 있다. 일예로, 상기 도 6에서 예시된 타입의 변환 행 1이 적용될 수 있다.
상기 디코더는, 변환 행렬 곱셈에 기초하여 변환 샘플을 유도할 수 있다 (S40).
상기 실시예는 각각 이용될 수 있으나, 본 발명은 이에 한정되지 않으며 , 위 실시예 및 본 명세서의 다른 실시예와 결합하여 이용될 수 있다. 도 12는 본 발명이 적용되는 실시예로서, NSST에서 인트라 예측 모드마다 변환 세트 (transform set)를 할당하는 것을 보여주는 테이블이다.
Non-Separable Secondary Transform (NSST)
2차 변환부 (secondary transform unit는 1차 변환된 신호에 대해 2차 변환 (secondary transform)을 적용할 수 있으며, 여기서 상기 2차 변환 (secondary transform)은 인코더 및/또는 디코더에서 테이블로 기정의될 수 있다.
일실시예로, 상기 2차 변환 (secondary transform)은 Non-Separable Secondary Transform (이하, ‘NSST’라 함)이 조건적으로 적용될 수 있다. 예를 들어, 상기 NSST는 인트라 예측 블록일 경우에만 적용되며, 예측 모드 그룹마다 적용 가능한 변환 셋을 가질 수 있다.
여기서, 상기 예측 모드 그룹은 예측 방향에 대한 대칭성에 기초하여 설정될 수 있다. 예를 들어, 예측 모드 52와 예측 모드 16은 예측 모드 34 (대각 방향)를 기준으로 대칭이므로, 하나의 그룹을 형성하여 동일한 변환 셋 (transform set)이 적용될 수 있다. 이때, 상기 예측 모드 52에 대한 변환을 적용할 때 입력 데이터를 트랜스포즈 (transpose)한 후 적용하며, 이는 예측 모드 16과 변환 셋이 2019/203569 1»〔"^0技019/004644
36 동일하기 때문이다.
한편, 플래너 모드 (Planar mode)와 DC 모드 (DC mode)의 경우 방향에 대한 대칭성이 존재하지 않으므로 각자의 변환 셋을 가지며, 해당 변환 셋은 2개의 변환들로 구성될 수 있다. 나머지 방향성 모드에 대해서는 변환 셋마다 3개의 변환들로 구성될 수 있다. 다만, 본 발명은 이에 한정되지 않으며, 각 변환 셋은 복수개의 변환들로 구성될 수 있다. 도 】3은 본 발명이 적용되는 실시예로서, 기븐스 회전 (Givens rotation)에 대한 계산 플로우 다이어그램을 나타낸다.
다른 실시예로, 상기 NSST는 1차 변환된 블록 전체에 대해 적용되는 것이 아니라 좌상측 (top-left) 8x8 영역에 대해서만 적용될 수 있다. 예를 들어, 블록의 크기가 8x8 이상인 경우는 8x8 NSST가 적용되며, 8x8 미만인 경우는 4x4 NSST가 적용되는데, 이때 4x4 블록들로 나눈 후 각기 4x4 NSST가 적용된다.
다른 실시예로, 4xN/Nx4 (N >= 1句인 경우에도 4x4 NSST가 적용될 수 있다.
8x8 NSST와 4x4 NSST 모두 본 문서에서 설명하는 변환 조합 구성을 따르며, 비분리 변환 (non-separable transform)이므로 8x8 NSST는 64개의 데이터를 입력 받아 64개의 데이터를 출력하며 4x4 NSST는 16개의 입력과 16개의 출력을 갖는다.
8x8 NSST와 4x4 NSST 모두 기븐스 회전 (Givens rotation)들의 계층적 조합으로 구성된다. 하나의 기븐스 회전 (Givens rotation)에 해당하는 행렬은 다음 수학식 4와 같으며, 행렬 곱은 다음 수학식 5와 같다.
【수학식 4】 2019/203569 1»(그1^1{2019/004644
37
Figure imgf000039_0001
상기 도 13과 같이, 하나의 기븐스 회전 (Givens rotation)은 2개의 데이터를 회전시키는 것이기 때문에 64개 (8x8 NSST의 경우) 또는 16개의 (4x4 NSST의 경우) 데이터를 처리하기 위해서는 각기 총 32개 또는 8개의 기븐스 회전 (Givens rotation)이 필요하다.
따라서, 32개 또는 8개를 묶음으로 하여 기븐스 회전 레이어 (Givens rotation layer)를 이룬다. 한 기븐스 회전 레이어에 대한 출력 데이터가 정해진 치환 (permutation)을 다음 기븐스 회전 레이어에 대한 입력 데이터로 전달된다. 도 14는 본 발명이 적용되는 실시예로서, 기븐스 회전 레이어 (Givens rotation layer)와 치환 (permutation)들로 구성된 4x4 NSST에서의 한 라운드 구성을 보여준다.
상기 도 14를 살펴보면, 4x4 NSST의 경우에 대해 4개의 기븐스 회전 레이어가 순차적으로 처리되는 모습을 보이고 있다. 상기 도 14에서와 같이 한 기븐스 회전 레이어에 대한 출력 데이터가 정해진 치환 (i.e. shuffling)을 거쳐 다음 기븐스 회전 레이어에 대한 입력 데이터로 전달된다.
상기 도 14에서와 같이 치환되는 패턴은 규칙적으로 정해져 있으며 4x4 의 경우는 4개의 기븐스 회전 레이어와 해당 치환들을 합쳐 하나의 라운드 (^이피 를 이룬다. 2019/203569 1»(그1^1{2019/004644
38
8x8 NSST의 경우는 6개의 기븐스 회전 레이어와 해당 치환들이 하나의 라운드를 형성한다. 4x4 NSST는 2번의 라운드를 거치게 되며, 8x8 NSST는 4번의 라운드를 거치게 된다. 서로 다른 라운드들끼리는 동일한 치환 패턴을 사용하지만 적용되는 기븐스 회전 각도들은 각기 다르다. 따라서, 각 변환을 구성하는 모든 기븐스 회전에 대한 각도 데이터를 저장하여야 한다.
맨 마지막 단계로 기븐스 회전 레이어들을 거쳐 출력된 데이터에 대해 최종적으로 한 번의 치환을 더 수행하게 되며, 해당 치환 정보는 변환마다 별도로 저장되어 있다. 순방향 NSST에서는 맨 마지막에 해당 치환이 수행되며, 역방향 NSST에서는 반대로 맨 처음에 해당 역 치환이 적용된다.
역방향 NSST의 경우는 순방향 NSST에서 적용되었던 기븐스 회전 레이어들과 치환들을 역순으로 수행하면 되며, 각 기븐스 회전의 각도에 대해서도 (-) 값을 취해 회전시킨다. 도 15는 본 발명이 적용되는 실시예로서, 순방향 축소 변환 (forward reduced transform) 및 역방향 축소 변환 (forward reduced transform)의 동작을 설명하기 위한 블록도이다.
Reduced Secondary Transform (RST)
한 변환을 나타내는 직교 행렬이 NxN 형태를 갖는다고 했을 때, 축소 변환 (Reduced Transform, 이하 ‘RT’라 함)는 N개의 변환 기저 벡터들 중에 R개만을 남기는 것이다 (R < N). 변환 계수를 생성하는 순방향 RT에 대한 행렬은 다음 수학식 6과 같이 주어진다.
【수학식 6] 2019/203569 (:1/10公019/004644
39
Figure imgf000041_0001
역방향 RT에 대한 행렬은 순방향 RT 행렬의 전치 행렬 (transpose matrix)이 되므로, 순방향 RT와 역방향 RT의 적용을 도식화하면 상기 도 15와 같다.
1차 변환을 거친 변환 블록의 좌상단 8x8 블록에 대해 RT를 적용하는 경우를 가정하면, 상기 RT를 8x8 축소 2차 변환 (8x8 RST)이라 명명할 수 있다. 상기 수학식 6에서의 R 값을 16이라 할 때, 순방향 8x8 RST는 16x64 행렬 형태를 가지며 역방향 8x8 RST는 64x16 행렬 형태를 가진다.
또한, 8x8 RST에 대해서도, 상기 도 12에서와 동일한 변환 세트 구성을 적용할 수 있다. 즉, 상기 도 12에서의 변환 세트에 따라 대응되는 8x8 RST가 적용될 수 있다.
일실시예로, 상기 도 12에서 하나의 변환 세트가 인트라 예측 모드에 따라 2개 또는 3개의 변환들로 구성되어 있을 때, 2차 변환을 적용하지 않는 경우를 포함하여 최대 4개의 변환들 중 하나를 선택하도록 구성될 수 있다. 여기서, 하나의 변환은 항등 행렬이라고 볼 수 있다.
상기 4개의 변환에 대해 각각 0, 1, 2, 3의 인덱스를 부여할 때, NSST 인덱스라는 신택스 요소 (syntax element)를 변환 블록마다 시그널링하여 대응되는 변환을 지정할 수 있다. 즉, NSST 인덱스를 통해 8x8 좌상단 블록에 대해, NSST의 경우는 8x8 NSST를 지정할 수 있고, RST 구성에서는 8x8 RST를 지정할 수 있다. 또한, 이때, 0번 인덱스를 항등 행렬, 즉 2차 변환을 적용하지 않는 경우로 할당할 수 있다. 2019/203569 19/004644
40 상기 수학식 6과 같은 순방향 8x8 RST를 적용하게 되면 16개의 유효한 변환 계수가 생성되므로, 8x8 영역을 구성하는 64개의 입력 데이터가 16개의 출력 데이터로 축소된다고 볼 수 있다. 2차원 영역 관점에서 보면 1/4만큼의 영역에만 유효한 변환 계수가 채워지게 된다. 따라서, 순방향 8x8 RST를 적용하여 얻은 16개의 출력 데이터를 도 16에서의 좌상단 영역에 채울 수 있다. 도 16은 본 발명이 적용되는 실시예로서, 역방향 스캔 순서에 따라 64번째부터 17번째까지 역방향 스캔을 수행하는 과정을 나타내는 도면이다.
상기 도 16은 순방향 스캔 순서가 1부터 시작된다고 할 때 (순방향 스캔 순서 상) 17번째 계수에서 64번째 계수에 대한 스캐닝을 수행하는 것을 나타낸다. 다만, 상기 도 16에서는 역방향 스캔을 보여주고 있는 바, 이는 64번째부터 17번째까지 역방향 스캐닝을 수행하는 것을 나타낸다.
상기 도 16을 살펴보면, 좌상단 4x4 영역이 유효한 변환 계수가 할당되는 관심 영역 (Region Of Interest, ROI)이고, 나머지 영역은 비워지게 된다. 즉, 상기 나머지 영역에는 0 값이 디폴트로 할당될 수 있다.
만약, 상기 도 16의 R이 영역 이외에 0이 아닌 유효한 변환 계수가 존재한다면 8x8 RST가 적용되지 않는 것을 의미하므로, 이 경우 그에 대응되는 NSST 인덱스코딩을 생략할 수 있다.
반대로, 상기 도 16의 R이 영역 이외에서 0이 아닌 변환 계수가 존재하지 않는다면 (8x8 RST가 적용되는 경우, ROI 이외의 영역에 대해서는 0으로 할당될 때) 8x8 RST가 적용되었을 가능성이 있으므로 NSST 인덱스를 코딩할수 있다. 이와 같이, 조건적 NSST 인덱스 코딩은 0이 아닌 변환 계수의 존재 2019/203569 1»(그1^1{2019/004644
41 유무를 확인하여야 하므로 레지듀얼 코딩 과정 이후에 수행될 수 있다. 한편, 본 발명의 다른 일실시예로, 앞선 MTS 변환 조합 대신 다른 형태의 MTS를 구성할 수 있다. 예를 들어, DST7, DST8, DST1, DCT5 를 사용하거나, 또는 DST7과 DST8만사용하는 경우를 들 수 있다.
또한, 수평 변환과 수직 변환에 대해 서로 다른 변환 조합을 사용할 수 있다. 예를 들어, 모든 인트라 예측 모드에 대해 도 6에서와 같이 DST7과 DCT8만 가지고 네 가지의 가능한 조합들을 구성하여 MTS_index를 통해 적용할 변환 조합을 지정하도록 구성할 수 있다.
본 발명에서는 구현이 용이한 코사인 변환 또는 사인 변환을 이용하여 타겟 코사인 변환과 타겟 사인 변환을 근사화하는 방법을 제안한다.
본 방법을 통해 근사화가 가능한 코사인 변환 또는 사인 변환을 포함하는 모든 MTS 변환 조합에 매핑할 수 있다. 다만, 이는 1차 변환 (primary transform)에만 한정되지 않으며, 2차 변환 (secondary transform) 또는 다른 변환에도 적용할 수 있다.
또한, 본 발명의 일실시예는, 여러 변환들을 근사화할 때 전처리 행렬들과 후처리 행렬들 간에 서로 유도할 수 있는 방법을 제안한다. 이와 같이, 하나의 전처리 행렬과 후처리 행렬만 저장함으로써 메모리 요구량을 줄일 수 있다.
이하에서는, 보다 구체적인 실시예들을 살펴보도록 한다. 실시예 1 : 추가적인 변환스팬 세트 (transform span sef) 구성 방법
본 명세서에서 적용되는 코사인 변환 (cosine transform)에 대한 수학식은 2019/203569 1»(:1/10公019/004644
42 다음 수학식 7에서와 같다.
【수학식 7】
Figure imgf000044_0001
여기서, >1, 的, ¾는 상기 값들 이외의 경우에는 1 값을 갖는다. 즉, 디폴트로 1 값을 갖는다.
그리고, 본 명세서에서 적용되는 사인 변환( 므^仕)!·!!!)에 대한 수학식은 다음 수학식 8에서와 같다.
【수학식 8】 2019/203569 1»(:1/10公019/004644
43
Figure imgf000045_0001
여기서, ¾, ¾는 상기 값들 이외의 경우에는 1 값을 갖는다. 즉, 디폴트로 값을 갖는다.
상기 수학식들 7, 8로부터 다음 수학식들 9,10을 유도할 수 있다.
【수학식 9】
(
Figure imgf000045_0002
' = 2019/203569 1»(:1/10公019/004644
44
Figure imgf000046_0001
( ,
[쒜네
= , ¾07 = ^
Figure imgf000046_0002
상기 수학식들 7, 8 의 모든 코사인 변환과 사인 변환은 직교 변환 (orthogonal transform)이므로 트랜스포즈 (transpose)되더라도 여전히 직교 변환 이다. 트랜스포즈된 행렬도 하나의 변환일 수 있고, 원래의 변환에 대해서는 역변환이기도 하다. 또한, 원래의 변환이 상기 트랜스포즈된 행렬에 대해 역변환이기도 하다.
따라서, 원래 변환이 MTS 변환 조합에 포함되어 이용되고 있다면 트랜스포즈된 변환이 MTS 변환 조합에 포함되어 이용된다하더라도 별도의 메모리 추가가 필요 없다. 또한, 원래 변환의 역변환이 이미 구현되어 있다면, 트랜스포즈된 행렬에 대한 변환을 설계할 필요가 없다.
한편, 상기 수학식 10에서 트랜스포즈된 행렬이 순방향 변환 (f이· ward transform)에 대응되며 그렇지 않은 행렬이 역방향 변환 (inverse transform)에 02019/203569 1»(:1/10公019/004644
45 대응된다. 예를 들어, 예17의 경우 ( 구 이 순방향 변환이고, "이 역방향 변환이 된다. 상기 코사인 변환( 113?01ä)들과 사인 변환( 1½ 1;대1^0011)들에 대한 수학식들로부터,
Figure imgf000047_0001
관계를 포함하여 다음 수학식 11의 관계식들을 도출할 수 있다.
【수학식 11】
( ) 7' =八( 八
(: = 1\ (^} =[)人
= 1\ ( )77、 4
= (¾ (이:)7、 ((: 八
Figure imgf000047_0002
2019/203569 1 1/10公019/004644
46
< = ( 7 公"( )7' 4
섟 = ·/ ¾ 、[)人 )
=예八 ( )7 ·,(成")7.公"
科 = ¾ (섟)7 公(‘功
Figure imgf000048_0001
또한, 상기 수학식 11에서의 관계식들로부터 다음 수학식 12와 같은 관계식들이 도출될 수 있다.
【수학식 12】
。 八公 " ( ) 7. =公 " 7公 이: 八 ' V入 뇬기 =끄 /) (¾八 ( 7’ = ( ( =公 ¾八 (。 =,4公4功7人」¾
成 =人公"오 八 ( =公 ( ", 公
< 세 "八/) 、科)、 人 1 成" =公 ¾八 ( 7、 八公
<, =公;、” 4 」¾八 ( 、 ( 02019/203569 1»(:1^1{2019/004644
47 상기 수학식 12에 등장하는
Figure imgf000049_0001
대한 계산은, 다음 수학식 13에서와 같이 입력에 대한 순서 반전과 부호 반전의 패턴을 적절히 조합하여 수행될 수 있다.
【수학식 13】
Figure imgf000049_0002
따라서, 상기 수학식 11과 12에서의 관계식들로부터 하나의 특정 변환에 대한 커널 계수 데이터만을 가지고도 여러 다른 변환들을 도출할 수 있다. 다음 수학식 14는 하나의 변환이 스팬 (span)할 수 있는 변환들을 집합으로 표현한 것이다.
【수학식 ]4】
Span(c/)={c/}
5 7(0")=뇬", 5시
니 ")= ,,}
Span{clv)={cIV , S,v}
Span{cv)={cv,CVI,Cvn,SV!,I}
Span(cVI)= {( , ( ,<,, "}
Span{cvn)={cv,CVJ,Cv,I,SVJn}
Figure imgf000049_0003
%40=仁사
切公«(5 ) =仁' #} 02019/203569 1>(:17 1技019/004644
48
Span、Sl,1、=、(,, }
Span(s1V)={c!V,Slv
Span(sv)={(:, , ,‘ }
Span{sv,)={cVI\S\SVI,SVI,
Span(sn/)={c,///J,S|/,SVJ,Sy!!
Span(svw)={ , 0¥,,〔 , 6,기
상기 수학식 14에서 제시한 각
Figure imgf000050_0001
대해 해당 멱집합을 계산할 수 있다. 예를 들어, 뇬17)에 대한 멱집합 I) [뼤(기)는 다음 수학식 15와 같이 나타낼 수 있다.
【수학식 15】
Figure imgf000050_0002
6( 6 ?(切 0 시)라고 표시하면, 다음 수학식 I6과 같이 표현할 수 있다.
【수학식 16】
Figure imgf000050_0003
각 변환에 대해 트랜스포즈된 변환이 스팬 ? )될 수 있는 집합에 포함될 수 있다고 할때 상기 수학식들 9, 10에 의해 다음 수학식 17과 같이 스팬할 수 있는 집합이 확장될 수 있다. 2019/203569 1»(:1/102019/004644
49
【수학식 17】
¾■(〔)= ,(아
Spar{cu)= [0!!), 57/,(5,")사=仁",( , 5", }
江"사= '[(그111、 ! , ( )"}={( ,(배, 57/, }
5 ((지= ,((가7', (,)사={( , }
Spar{cv)= ,(〔: , 0¥!,((기' ,(^1,) , ",(5카 {( ( ,(,,끼 ¾■(( )= ,((: ',< ,((:아,(,,((가7, 5'( }'}={(: ,( ,(:'‘ } 切4,)= ,((기7',( ,((기'〔제,(( )", ,( 才 |={( (,,(,, } Spar{cvu,)= 】,[(,], , « , ,( )7, ,( )'}={(:, , , } 切 «4미=少,이}={키
知 ")= ",((:")' 5/;,(5")7}=仁",(,, 5;/, 5/7/
Spar{sn,= '((기' 5;//,( ")7' {(내, ", 5", )
Spaf^S!V)=, ,((기 57,/,( )사={〔 , }
Spar{sv= ·,[(,)'八(가7', ( )7', ",( )7’}={(:, , , 사
Spar{sV1)= ·,(<,)'八(‘ , 5,'(^)7\ 5에,(5,가가={(,, 5 , }' 네 、={〔,(〔八八(기7·, (5寸, ( )'}={(,, SF, "} Spar{svnI)= ,((가7’,( ,(( )7’,(,,(^1,}, 5·,( }=[0\( ,〔 , } 상기 수학식 I4와 비교했을 때 仁") , 均^뇬이 , Span{su) ,
Figure imgf000051_0001
제외하고는 상기 수학식 17은 상기 수학식 14와 같다. 따라서, 2019/203569 1 1/10公019/004644
50
Figure imgf000052_0002
상기 변경된 멱집합들과 나머지 변경되지 않은 멱집합들을 이용하여 상기 수학식 16을 통해 「를 새롭게 설정할 수 있다. 그러나,
Figure imgf000052_0001
切 iW(Cffl)의 합집합이 새로운 Span{cH) 또는 새로운 ")이므로 가능한 17들의 집합은 상기 수학식 16 과 비교했을 때 변하지 않음을 확인할 수 있다. 상기 수학식 1 7 을 통해 갱신된 내용을 다음 표 2에 적용하여 seed로부터 maximally spanned set을 갱신할 수 있다, 죽, 아래 표 2를 갱신할 수 있다. 예를 들어, seed로 {c11 or S11 } 를 적용하게 되면 maximally spanned set으로
{。'세 }를 얻을 수 있다.
【표 2】
Figure imgf000052_0003
도 17은 본 발명이 적용되는 실시예로서, 전처리 단계 및/또는 후처리 2019/203569 1»(그1^1{2019/004644
51 단계에서 사용될 수 있는 16x16 직교 밴드 행렬 (orthogonal band matrix)을 나타낸다.
실시예 2 : 삼각 변환 (Trigonometric transform、에 전처리 단계와 후처리 단계를주가하여 새로운 변환을 생성하는 방법
본 발명은, 다음 수학식 18과 같이 특정 코사인 변환 (C) 또는 사인 변환 (S)에 전처리 행렬 (P)과 후처리 행렬 (Q)를 곱하여 새로운 변환 (R)을 생성할 수 있다. 새로운 변환 이 직교 변환이 되도록 하기 위해 P와 g는 직교 변환일 수 있다.
【수학식 내】
RT : QCTP or QSTP
상기 수학식 18에서, C와 는 각각 역방향 변환을 나타내며, 행 (column) 벡터가 변환 기저 벡터 (transform basis vector)를 나타낸다. 도 마찬가지로 역방향 변환을 나타내며, if는 순방향 변환을 나타낸다.
따라서, 를 입력 벡터 x에 적용하여 출력 벡터 를 얻는다고 하면,
Figure imgf000053_0001
관계식을 만족하게 되며 코덱 시스템에서 는 변환 계수 데이터 (또는 벡터)를 의미한다.
일실시예로, 상기 수학식 18의 C 또는 S 는 상기 수학식들 7, 8의 DCT- type 1 - DCT-type 8( fc) - (cJvn)) 또는 DST-type 1 - DST-type 8( fe) (섟"))이 될 수 있다. 상기 수학식 18에서의 i5와 으는 각기 항등 행렬 (identity matrix)일 수 있다. P또는 g가 항등 행렬 (identity matrix)이면, 전처리 단계 또는 푸처리 단계가 생략되는 것을 의미한다. 따라서, 다음과 같은 네 가지 경우가 가능하게 된다.
1) P와으 둘 다 항등 행렬인 경우
幻/5가 항등 행렬이고 0는 항등 행렬이 아닌 경우 2019/203569 1»(그1^¾2019/004644
52
3) 0가 항등 행렬이고 P는 항등 행렬이 아닌 경우
4) P와 가 모두 항등 행렬이 아닌 경우
상기 1)~4) 경우들에서 P 또는 0가 항등 행렬이 아닌 경우에 대한 예시로 상기 도 17과 같은 직교 밴드 행렬 (orthogonal band matrix)이 가능하다.
상기 도 17은 전처리 단계 (P) 또는 후처리 단계 (0로 사용될 수 있는
16x16 행렬에 대한 예시로서, 음영으로 표시된 영역 (시은 non-zero 값을 가질 수 있으며 이외의 영역은 0 값으로 채워진다.
또한, 상기 도 17의 행렬이 직교 행렬인 경우는, 해당 행렬과 트랜스포즈된 행렬 모두 norm 값이 1인 행 벡터들과 열 벡터들로 구성되며, 서로 다른 행 벡터들은 직교이며, 서로 다른 열 벡터들도 직교이다. 여기서, 직교는 내적을 취했을 때 0 값이 되는 것을 의미한다.
상기 도 17은, 각 행 또는 열마다 non-zero 값의 개수가 4 또는 3인 경우만을 제시하고 있지만, 다른 개수를 가지도록 구성할 수도 있다. 또한, 전처리 단계 (i5) 또는 후처리 단계 (0로 사용될 수 있는 행렬로서 상기 도 17의 형태 이외의 다른 행렬들도 가능하며, 예를 들어 특정 직교 행렬도 가능하다. 실시예 3 : 여러 변환들 간의 전처리 행렬과 후처리 행렬을 공유하는 방법 다음 수학식 19에서와 같이 DCT5, DCT8, DST1 , DST7을 근사화할 수 있다고 가정하자. 상기 수학식 19의 모든 P와 0는 근사화하고자 하는 변환 행렬의 차원과 동일하다. 즉, NxN 행렬의 forward DST7 변환 행렬을 근사화하고자 한다면 대응되는 P와 는 NxN 차원을 갖는다.
【수학식 19】 2019/203569 1»(:1/10公019/004644
53
[ 내
Figure imgf000055_0001
{^"1 - QcT(c^, Pc7, 。 、( 公^
此(、 ,八 )、, 5 (와") ¾
Figure imgf000055_0002
상기 수학식 19에서의 ^와 公는 상기 실시예 2에서 언급한 바와 같이 항등 행렬일 수 있다. 다만, 본 발명은 이에 한정되지 않으며, 상기 와 0는 항등 행렬이 아닐 수도 있다.
상기 수학식 1 1에서 제시된 08X74 å)(18과의 관계식, 0812^ 1X72와의 관계식, 13와 å)(그13와의 관계식을 다시 정리해 보면 다음 수학식 20과 같다.
【수학식 20】
Figure imgf000055_0003
섟 = 오 (섟) , /^ 公
=예 { :」 ¾( " }
1 =예1 ( (( )
상기 수학식 19과 20의 관계식들을 이용하면 1X78은 다음 수학식 21과 같이 표현될 수 있다.
【수학식 21】 2019/203569 1»(:1/10公019/004644
54
} 人 } ,,
( " } = 、科1 } - ¾¾"、 } ^ 3, = ¾¾"】\( " }
상기 수학식 21 에서의 두 수식을 비교해 보면, 상기 수학식 19에서 제시한 전처리 행렬과 후처리 행렬에 대해 다음 수학식 22가 성립하도록 구성할 수 있다.
【수학식 22】
Figure imgf000056_0001
별도로 저장하지 않아도
Figure imgf000056_0003
로부터
Figure imgf000056_0002
유도할 수 있다. 특정 행렬 에 대해서 신 은 의 열 벡터들에 대해 +/ -를 번갈아 가며 곱하는 것을 의미하고, 는 의 행 벡터들에 대해 +/ -를 번갈아 가며 곱하는 것을 의미한다. 여기서, 은 대각선에서만 1과 -1이 번갈아가며 등장하는 행렬을 의미한다.
또한, 止 은 쇼를 구성하는 열 벡터들의 순서를 반대로 배치하는 것을 의미하며 는 를 구성하는 행 벡터들의 순서를 반대로 배치하는 것을 의미한다. 여기서, ^ 은 역대각선에만 1의 값을 갖는 행렬을 의미한다. 만약, 상기 수학식 22에서
Figure imgf000056_0005
항등 행렬이면
Figure imgf000056_0004
항등 행렬이 되며, "이 항등 행렬이면 도 항등 행렬이 된다. 2019/203569 1»(:1/10公019/004644
55 상기 수학식 2i에서 、c 11、 f 를 근사화할 때 (d 대신에 (d 를 사용한다면, 、( 를 근사화하기 위한 전처리 행렬은 VN가 되고 후처리 행렬은 DNQSV 7\ 된다.
만약, DCT8 대신에 flipped DST7을 사용하고 flipped DST7에 대한 순방향 변환을 (flipS™) 로 표기하게 되면 다음 수학식 23을 얻을 수 있다. 여기서, flipped DST7는 DST7에 대한 순방향 변환 행렬에서 모든 열 (row) 방향 변환 기저 벡터들 (transform basis vectors)에 대해 각 벡터를 구성하는 요소들을 반대로 배치한 것을 의미한다.
【수학식 23】
Figure imgf000057_0001
근사화한다고 가정하였고, 해당 전처리 행렬과 후처리 행렬은 각기 Pflps7 와 Q物特 로 표시하였다. 유사한 방식으로 전처리 행렬들과 후처리 행렬들 간에 다음 수학식 24와 같은 관계를 만족하도록 구성할 수 있다.
【수학식 24]
Figure imgf000057_0002
일실시예로, 상기 수학식 24에서 5; "와 公 만 저장하고 있으면 PM섟과 0 2019/203569 1»(:1/10소2019/004644
56
뼤 '를 별도로 저장하지 않아도 公 7로부터 , "와
Figure imgf000058_0001
유도할 수 있다. 또한, 상기 수학식 24에서 제시된 바와 같이, 를 근사화할 때
Figure imgf000058_0002
근사화하기 위한 전처리 행렬은 V N 이 되고 후처리 행렬은
Figure imgf000058_0003
되므로, 마찬가지로 Psf 와
¾!:"로부터 대응되는 전처리 행렬과 후처리 행렬을 유도할 수 있게 된다.
상기에서 살펴본 바와 같이, DST7에 대한 전처리 행렬과 후처리 행렬로부터 DCT8 또는 flipped DST7에 대한 전처리 행렬과 후처리 행렬을 유도하는 방법이 제공되었다. 다른 일실시예로, DCT8 또는 flipped DST7에 대한 전처리 행렬과 후처리 행렬로부터 DST7의 전처리 행렬과 후처리 행렬을 유도할 수도 있다. 상기 수학식 19, 20으로부터 다음 수학식 25와 같은 관계식을 얻을 수 있다.
【수학식 25】
Figure imgf000058_0004
상기 수학식 25의 두 수식으로부터 상기 수학식 22에서의 관계식이 만족되도록 구성할 수 있다. 따라서, 앞선 경우와는 반대로 1 , 와 公料, 만을 저장하고 이로부터
Figure imgf000058_0005
유도하도록 구성할 수 있다. 만약,
Figure imgf000058_0006
로 근사화되는 것이 아니라 2019/203569 1»(:1/10公019/004644
57 근사화된다고 한다면, 상기 수학식 25로부터 전처리 행렬로 "八을 적용하고 후처리 행렬로 DnQ(7을 적용하도록 구성할 수 있다.
한편, flipped DST7을 고려한 관계식은 다음 수학식 26과 같다.
【수학식 26]
Figure imgf000059_0001
(C = {flips 1、 JN a Q네、 c 、 P예 JN = Q j,ipSw DN [S^ J JNPppSvv JN 상기 수학식 26으로부터 상기 수학식 24가 만족되도록 구성할 수 있음을 확인할 수 있다. 또한, 상기 수학식 26으로부터 、sff 이 i、sff 로 근사화된다고 할 때 전처리 행렬은 , 이 되고 후처리 행렬은
Figure imgf000059_0002
되는 것을 확인할 수 있다. 따라서, p加 와 QM때1만을 저장하고 이로부터
Figure imgf000059_0003
Qsv 를 유도하도록 구성할 수 있다.
만약,
Figure imgf000059_0004
가 (S 로 근사화되는 것이 아니라 、 를 통해 근사화된다고 한다면, 상기 수학식 26으로부터 전처리 행렬로는
Figure imgf000059_0005
적용하고 후처리 행렬로는
Figure imgf000059_0006
을 적용하도록 구성할 수 있다. 다른 일실시예로, DST6는 DST7의 트랜스포즈 형태를 가지므로 상기 수학식 19, 20 의 관계식을 활용하면, 다음 수학식 27을 얻을 수 있다.
【수학식 27】
( } = ,( % 2019/203569 1»(:1/10公019/004644
58
(섟 } =예) , « ·/ ¾"( }我7 ¾
Figure imgf000060_0001
근사화하기 위해 ( 를 적용한다고 했을 때 전처리 행렬은 되고 후처리 행렬로는 /¾,이 되므로, ( / 에 대한 전처리 행렬과 후처리 행렬을 (¾/7'에 대한 전처리 행렬과 후처리 행렬로부터 유도할 수 있다.
따라서, < )를 근사하기 위한 전처리 행렬과 후처리 행렬를 저장하기 위해 별도의 메모리 공간이 필요 없다.
마찬가지로, [ 을 근사화하기 위해
Figure imgf000060_0002
사용하게 된다면 상기 수학식 27 에서와 같이 전처리 행렬로 섟 를 사용할 수 있고 후처리 행렬로 八/¾,,룰 사용할 수 있으므로, 마찬가지로 { 를 위한 별도의 전처리 행렬과 후처리 행렬이 필요하지는 않게 된다. 아래 수학식 28에서와 같이 、!'을 근사화하기 위한 전처리 행렬과 푸처리 행렬을
Figure imgf000060_0003
0 라 하면 { 에 대한 전처리 행렬과 후처리 행렬은 7 ,와 公!?로부터 유도될 수 있으며, 마찬가지로 ( 에 대한 전처리 행렬과 후처리 행렬도
Figure imgf000060_0004
로부터 유도될 수 있다.
【수학식 28]
Figure imgf000060_0005
2019/203569 1»(:1/10公019/004644
59
Figure imgf000061_0001
상기 수학식 28에서와 같이 [SJv】j、 를 (5™ J 로 근사화한다면 전처리 행렬과 후처리 행렬은 각기 ¾? 와 P 이 되며 (예로 근사화한다면 각각 JNQ쪄T 五、' ¾ ¾이 된다. 유사하게, 、( 11、 j을 、 로 근사화한다면 전처리 행렬과 후처리 행렬은 각기 Ql^J NDNP SJ' 이 되며 (C N JJ 로 근사화한다면 각기 JNQS T^ JN 과 DNP S^D N O] 된다. 결과적으로, 본 발명은, DST7, DCT8, DST6, flipped DST7 또는 DST7, DCT8, DST6, flipped DST7 중 일부를 이용하여 MTS 변환 조합을 구성하는 경우, (s^J ,
(섟, (C , ( 를 이용하여 DST7, DCT8, DST6, flipped DST7의 순방향 변환과 역방향 변환을 근사화할 때, 하나의 전처리 행렬과 하나의 후처리 행렬을 이용하여 다른 변환의 전처리 행렬과 후처리 행렬을 유도할 수 있다.
따라서, MTS 변환 조합에 이용되는 모든 변환들에 대한 전처리 행렬과 후처리 행렬를 저장하기 위해 필요한 메모리를 줄일 수 있게 된다. 앞서 살펴본 바와 같이, 상기 수학식 9, 10, 20의 관계식으로부터 (S f , {s^J , [cff 는 모두 ( 7로부터 파생되는 것을 확인할 수 있다. 유사하게 상기
4개의 변환에 대해서는, 어느 하나로부터 다른 모든 변환이 파생될 수 있다. 즉, 2019/203569 1»(그1^1{2019/004644 的 트랜스포즈, JN , / 의 연산을 적용하여 파생될 수 있다. 여기서, 이 연산들은 순서 또는 부호를 바꾸는 연산에 불과하다.
따라서, 여러 변환들을 근사화하기 위해 (s^J , i、sff , (c^J , 、cfi % 사용하게 된다면, 실질적으로 (C )"에 대한 변환 커널만을 저장하면 되기 때문에 메모리 공간을 줄일 수 있다.
결과적으로 DST7, DCT8, DST6, flipped DST7 또는 DST7, DCT8, DST6, flipped DST7 중 일부를 이용하여 MTS 변환 조합을 구성하는 경우, (C )7’에 대한 메모리와 하나의 전처리 행렬과하나의 후처리 행렬을 저장하기 위한 메모리만이 필요하게 된다. 만약 전처리 또는 후처리 중 하나만 적용하는 경우라면 (즉, 다른 하나는 항등 행렬이라면) 전처리 또는 후처리에 대응되는 하나의 행렬에 대해서만 저장하면 된다.
또한, 본 발명에서
Figure imgf000062_0001
특정 변환을 (e.g. (sN ynj ) 다른 변환 (e.g.
Figure imgf000062_0002
근사화하는 경우를 나타내고 있으나, 근사화 여부에 관계없이 QSH' (SN J P S7 가 하나의 독립된 변환으로 사용될 수 있다.
또한, 본 발명에서 등장하는 전처리 행렬과 후처리 행렬을 포함한 모든 변환에 대해서도 근사화 여부와 관계 없이 독립적으로 적용될 수 있다. 도 18 및 도 19는 본 발명이 적용되는 실시예들로서, 도 18은 인트라 예측 레지듀얼에 대한 MTS 매핑을 나타내고, 도 19는 인터 예측 레지듀얼에 대한
] 18 매핑을 나타낸다. 2019/203569 1»(그1'/10{2019/004644
61 실시예 4 : 전처리 행렬과후처리 행렬을 적용하는 다양한실시예들 상기 수학식 ] 9와 같이 ( , ( 、 (예, ( ")7'에 전처리 행렬 또는 후처리 행렬을 적용할 때, 경우(또는 특정 조건)에 따라 선택적으로 적용할 수 있다. 상세 실시 예들은 다음과 같다.
(실시예 4-1)은, 경우마다 전처리 또는 후처리의 적용 여부를 다르게 할 수 있다.
예를 들어, 인트라 예측 모드에 따라 전처리와 후처리의 적용 여부를 011/0 할 수 있으며, 수평 변환과 수직 변환에 대해서도 각각 전처리와 후처리의 적용 여부를 011/  할 수 있다.
또한, 전처리와 후처리의 적용 여부는 독립적으로 011/0伴할 수 있다. 예를 들어 미 모드의 수평 변환에 대해서는 전처리를 이1하고 후처리를 (江하며 수직 변환에 대해서
Figure imgf000063_0001
있다.
또한, 전처리와 후처리 둘 중 하나만 적용할 수도 있으므로, 예를 들어 전처리만 존재하는 경우, 경우에 따라 전처리에 대해서만 011/0 를 적용할 수 있다.
(실시예 4-2)는, 전처리와 후처리의 적용여부에 대한 플래그를 시그널링할 수 있다. '
예를 들어, 특정 조건( 多 특정 인트라 예측 모드에 대해) 에 대해 적용할 변환이 정해진 경우 플래그를 별도로 시그널링함으로써, 전처리 행렬과 후처리 행렬의 적용 여부를 지정할 수 있다. 예를 들어, { 를 적용하며 전처리 0 2019/203569 1»(그1^1{2019/004644
62 행렬로 ¾,,룰사용하고 후처리 행렬로 0#를 사용할 수 있다. 또한, 전처리 행렬과 후처리 행렬의 적용 여부를 하나의 플래그를 통해 지정할 수도 있고, 전처리 행렬과 후처리 행렬에 대해 각각 별도의 플래그로 지정할 수도 있다.
하나의 플래그만 사용하는 경우, 플래그가 0인지 1인지에 따라 전처리 행렬과 후처리 행렬의 적용 여부를 지정할 수 있다. 예를 들어, 상기 플래그가 0이면 전처리 행렬은 적용하지 않고 후처리 행렬을 적용하며, 상기 플래그가 1이면 전처리 행렬을 적용하고 후처리 행렬은 적용하지 않는다. 다른 일실시예로, 상기 수학식 19에서는 0015, 1)018, , 0 7에 대해서 각기 순방향 변환과 역방향 변환이 어떻게 근사화될 수 있는지가 제시되어 있다. 상기 수학식 19에서와 같이 순방향 변환에서 적용한 순서와 반대로 행렬들을 곱하고 각 행렬은 트랜스포즈의 형태로 곱해주게 되면 역방향 변환이 된다. 여기서, 순방향 1X78 변환과 역방향 0018 변환은 동일하고 순방향 0811 변환과 역방향 0811 변환은 동일하다는사실로부터, 역방향(순방향) £)018 대신에 순방향 (역방향) 1X^8을 적용할 수 있다. 마찬가지로 역방향 (순방향) 대신에 순방향(역방향) 을 적용할 수 있다. 삼각 변환(1 은0110111 31 01·!!!)들을 적용하는 모든 1^118 변환 조합에 대해 본 명세서에서 설명된 실시예들을 적용할 수 있다. 예를 들어 MTS 변환 조합 중 0 7이 적용되는 경우에 대해서는 상기 실시예 2, 3에서의 근사화 방법(즉, 전처리 단계와후처리 단계로 근사하는 방법)을 적용할 수 있다. 2019/203569 1»(그1^1{2019/004644
63 그 외, 1X718, 11, 0015 등에 대해서도 상기 실시예 2, 3에서의 근사화 방법을 적용할 수 있다.
일실시예로,
Figure imgf000065_0001
조합을 이용할 때, 0 7,£)(:18, 0 1,0(刀5를 0812, 0813, 0012, 1)(그13를 이용하여 근사화할 수 있으며, 후처리는 적용하지 않고 전처리만 적용하도록 구성할 수 있다. 이는 다음 수학식 29와 같다.
【수학식 29】
( ) (에 :, (: ( 7'
Figure imgf000065_0002
(、 세 此 、
、 I” 섟
상기 수학식 29에서와 같이 역방향 변환을 적용할 때는 순방향 변환에서의 전처리 행렬이 트랜스포즈되어 후처리 행렬로 적용된다. 다음 수학식 30에서와 같이 전처리는 적용하지 않고 후처리만 적용하도록 구성할 수도 있다.
【수학식 30]
(이:) ¾( , ,
Figure imgf000065_0003
、으 1, 이 )7'¾"
« ¾(섟)7., 4¾")¾
( 、 ¾,,(成")' 成니섟) ¾,
상기 수학식 29, 30의 전처리 또는 후처리 행렬들은 상기 도 17에서와 같은 직교 밴드 행렬일 수 있다. 2019/203569 1»(:1/10公019/004644
64 상기 수학식 9, 10, 20으로부터 、 , ( )' , 仁 이 모두 仁 만 이용하여 적용되도록 구성할수 있다. 이는 다음수학식 31과 같다.
【수학식 31]
1、 [: , 세
(섟)’' =八((: '」 ¾ 섟 =끄셰,
(섟 =섟 = = 상기 도 18 및 19는 MTS 변환조합의 일실시예들을 나타낸다.
예를 들어, 1)(그8 및 0817 만이 MTS 를 생성하기 위해 이용될 수 있다. 예를 들어, 상기 도 18 및 19는 각각 인트라 예측된 레지듀얼 및 인터 예측된 레지듀얼에 대한 MTS 예를 나타낸다.
상기 도 18 및 19의 08773-1- 1X78 은 모두 본 발명에서 제안하는 근사화 방법이 적용될 수 있다. 예를 들어, 한 변환에 대한 전처리 행렬과 후처리 행렬로부터 다른 변환의 전처리 행렬과 후처리 행렬을 유도하는 방법이 적용될 수 있다.
Figure imgf000066_0001
이외의 다른 변환에 대해서도상기 수학식
19에서와같은 방식으로 근사화할수 있다. 이는 다음수학식 32와 같다.
【수학식 32】
(A)G^QMrP^ '크成
상기 수학식 32는 )7를 (5) 로 근사화하는 경우를 나타내며, 와 5는 모든 삼각 변환( 打 ¾)1111)((〔 ) 〜{、〔기, ( )〜 (5 "))에 대응될 수 2019/203569 1»(:1/10公019/004644
65 있다, 다음 수학식 33은 상기 수학식 32의 형태를 따르는 예를 나타낸다.
【수학식 33]
Figure imgf000067_0001
따라서, DST4 또는 DCT4가 적용되는 MTS 변환 조합에서 DST4 또는 DCT4 대신에 상기 수학식 33과 같은 근사화 형태의 행렬 계산이 적용될 수 있다. 도 20은 본 발명이 적용되는 실시예로서, 전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 인코딩하는흐름도를 나타낸다.
인코더는 현재 블록의 예측 모드, 블록 모양 및/또는 블록 크기 중 적어도 하나에 기초하여 수평/수직 방향에 대한 1차 변환 (이하, 각각 수평 1차 변환, 수직 1차 변환이라 부를 수 있다)을 결정 (또는 선택)할 수 있다 (S2010). 이때, 상기 수평/수직 방향에 대한 1차 변환의 후보는 상기 도 6의 실시예들, 상기 도 18 및/또는 도 19의 실시예들 중 적어도 하나를 포함할 수 있다.
상기 인코더는 RD 최적화 (Rate Distortion optimization)를 통해 최적의 수평 1차 변환 및/또는 최적의 수직 】차 변환을 결정할 수 있다. 상기 최적의 1차 수평 변환 및/또는 상기 최적의 수직 1차 변환은 복수개의 변환 조합 중 하나에 대응될 수 있고, 상기 복수개의 변환조합은 변환 인덱스에 의해 정의될 수 있다. 상기 인코더는 상기 최적의 수평 1차 변환 및/또는 상기 최적의 수직 1차 변환에 대응되는 변환 인덱스를 시그널링할 수 있다 (S2020). 여기서, 상기 변환 인덱스는 본 명세서에서 설명한 다른 실시예들이 적용될 수 있다. 예를 들어, 상기 도 6의 실시예들, 상기 도 18 및 도 19의 실시예들 중 적어도 하나를 2019/203569 1»(그1'/10{2019/004644 的 포함할 수 있다.
다른 예로, 상기 최적의 수평 1차 변환에 대한 수평 변환 인덱스와 상기 최적의 수직 1차 변환에 대한 수직 변환 인덱스를 독립적으로 시그널링할 수도 있다. ᅮ
상기 인코더는, 상기 최적의 수평 1차 변환을 이용하여 상기 현재 블록에 대해 수평 방향으로 순방향 1차 근사 변환을 수행할 수 있다 (S2030). 여기서, 상기 현재 블록은 변환블록을 의미할 수 있다.
그리고, 상기 인코더는, 상기 최적의 수직 1차 변환을 이용하여 상기 현재 블록에 대해 수직 방향으로 순방향 1차 근사 변환을 수행할 수 있다 (S2040). 여기서, 상기 순방향 1차 근사 변환은, 상기 최적의 수평 1차 변환 또는 상기 최적의 수직 1차 변환에 전처리 행렬 및 후처리 행렬을 곱하여 생성된 변환을 나타낸다.
예를 들어, 상기 순방향 1차 근사 변환은 상기 수학식 18에 의해 생성될 수 있다.
일실시예로, 상기 전처리 행렬 및 후처리 행렬 중 적어도 하나는 항등 행렬 (identity matrix)일 수 있다.
일실시예로, 상기 전처리 행렬 및 후처리 행렬은 직교 밴드 행렬 (orthogonal band matrix)일 수 있다. 여기서, 상기 직교 밴드 행렬은 NxN 행렬의 특정 대각선 영역은 non-zero 값을 가지고, 그 이외의 영역은 0 값으로 채워지는 행렬을 나타낸다. 예를 들어, 상기 특정 대각선 영역은 각 행 또는 열마다 non-zero 값의 개수가 4 또는 3일 수 있다.
일실시예로, DST7, DCT8, DST6, flipped DST7 중 적어도 하나를 이용하여 2019/203569 1 그1/10公019/004644
67
MTS 변환 조합을 구성하는 경우, (섟; )’', i、sff , (C^J , (C^중 적어도 하나를 이용하여 DST7, DCT8, DST6, 또는 flipped DST7의 순방향 변환과 역방향 변환을 근사화할 수 있다. 즉, 하나의 전처리 행렬과 하나의 후처리 행렬을 이용하여 다른 변환의 전처리 행렬과 후처리 행렬을 유도할 수 있다.
또한, 본 실시예에서는, 수평 변환을 수행한 후 수직 변환을 수행하지만, 본 발명은 이에 한정되자 않는다. 즉, 수직 변환을 먼저 수행한 후 수평 변환을 수행할수 있다.
일실시예로, 상기 S2030 단계의 수평 방향 순방향 변환에서 순방향
DST4가 적용되고, 상기 S2040 단계의 수직 방향 순방향 변환에서 순방향
DCT4가 적용될 수 있다. 또는 반대의 경우도 가능하다.
일실시예로, 상기 수평 변환과 상기 수직 변환의 조합는 상기 도 6의 실시예들, 이후 설명하게 될 도 18 및 도 19의 실시예들 중 적어도 하나를 포함할 수 있다.
한편, 상기 인코더는, 상기 현재 블록에 대해 양자화를 수행함으로써, 변환 계수 블록을 생성할 수 있다 (S2050).
상기 인코더는, 상기 변환 계수 블록에 대해 엔트로피 인코딩을 수행하여, 비트스트림을 생성할 수 있다. 도 21은 본 발명이 적용되는 실시예로서, 전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 디코딩하는 흐름도를 나타낸다.
디코더는 비트스트림으로부터 변환 인덱스를 획득할 수 있다 (S2110). 여기서, 상기 변환 인덱스는 본 명세서에서 설명한 다른 실시예들이 적용될 수 2019/203569 1»(그1^1{2019/004644
68 있다. 예를 들어, 상가 도 6의 실시예들, 상기 도 18 및 도 19의 실시예들 중 적어도 하나를 포함할 수 있다.
상기 디코더는 상기 변환 인덱스에 대응되는 수평/수직 1차 변환을 유도할 수 있다 (82120). 이때, 상기 수평/수직 1차 변환의 후보는 상기 도 6의 실시예들, 상기 도 18 및 도 19의 실시예들 중 적어도 하나를 포함할 수 있다. 다만, 상기 821 10 및 82120 단계는 일실시예이며, 본 발명은 이에 한정되지 않는다. 예를 들어, 상기 디코더는 현재 블록의 예측 모드, 블록 모양 및/또는 블록 크기 중 적어도 하나에 기초하여 수평/수직 1차 변환을 유도할 수 있다. 다른 예로, 상기 변환 인덱스는 수평 변환에 대응되는 수평 변환 인덱스 및 수직 변환에 대응되는 수직 변환 인덱스를 포함할 수 있다.
한편, 상기 디코더는 상기 비트스트림을 엔트로피 디코딩하여 변환 계수 블록을 획득하고, 상기 변환 계수 블록에 대해 역양자화를 수행할 수 있다 (82130). 상기 디코더는 상기 역양자화된 변환 계수 블록에 대해 상기 수직 1차 변환을 이용하여 수직 방향으로 역방향 1차 근사 변환을 수행할 수 있다 2140). 그리고, 상기 디코더는 상기 수평 1차 변환을 이용하여 수평 방향으로 역방향 1차 근사 변환을 수행할 수 있다 2150).
여기서, 상기 역방향 1차 근사 변환은, 상기 수평 1차 변환 또는 상기 수직 1차 변환에 전처리 행렬 및 후처리 행렬을 곱하여 생성된 변환을 나타낸다. 예를 들어, 상기 역방향 1차 근사 변환은 상기 수학식 18에 의해 생성될 수 있다.
일실시예로, 상기 전처리 행렬 및 후처리 행렬 중 적어도 하나는 항등 행렬 ( 111¾1 )일 수 있다. 2019/203569 1»(:1/10公019/004644
69 일실시예로, 상기 전처리 행렬 및 후처리 행렬은 직교 밴드 행렬(orthogonal band matrix)일 수 있다. 여기서, 상기 직교 밴드 행렬은 NxN 행렬의 특정 대각선 영역은 non-zero 값을 가지고, 그 이외의 영역은 0 값으로 채워지는 행렬을 나타낸다. 예를 들어, 상기 특정 대각선 영역은 각 행 또는 열마다 non-zero 값의 개수가 4또는 3일 수 있다.
일실시예로, DST7, DCT8, DST6, flipped DST7 중 적어도 하나를 이용하여
MTS 변환 조합을 구성하는 경우,
Figure imgf000071_0001
(S^J , ' ( ") 중 적어도 하나를 이용하여 DST7, DCT8, DST6, 또는 flipped DST7의 순방향 변환과 역방향 변환을 근사화할 수 있다. 즉, 하나의 전처리 행렬과 하나의 후처리 행렬을 이용하여 다른 변환의 전처리 행렬과후처리 행렬을유도할수 있다.
또한, 본 실시예에서는, 수직 변환을 적용한 후 수평 변환을 적용하지만, 본 발명은 이에 한정되지 않는다. 즉, 수평 변환을 먼저 적용한 후 수직 변환을 적용할수 있다.
일실시예로, 상기 S2140 단계의 수직 방향 역방향 변환에서 역방향
DST4가 적용되고, 상기 S2150 단계의 수평 방향 역방향 변환에서 역방향
DCT4가 적용될 수 있다. 또는 반대의 경우도 가능하다.
일실시예로, 상기 수평 변환과 상기 수직 변환의 조합는 상기 도 6의 실시예들,상기 도 】 8 및 도 】9의 실시예들중 적어도 하나를포함할수 있다. 상기 디코더는 S2150 단계를 통해 레지듀얼 블록을 생성하고, 상기 레지듀얼 블록과 예측블록이 더해져서 복원 블록이 생성된다. 도 22는 본 발명이 적용되는 실시예로서, 컨텐츠 스트리밍 시스템 \¥0 2019/203569
70 구조도를 나타낸다.
상기 도 22를 살펴보면, 본 발명아 적용되는 컨텐츠 스트리밍 시스템은 크게 인코딩 서버, 스트리밍 서버, 웹 서버, 미디어 저장소, 사용자 장치 및 멀티미디어 입력 장치를 포함할 수 있다.
상기 인코딩 서버는 스마트폰, 카메라, 캠코더 등과 같은 멀티미디어 입력 장치들로부터 입력된 컨텐츠를 디지털 데이터로 압축하여 비트스트림을 생성하고 이를 상기 스트리밍 서버로 전송하는 역할을 한다. 다른 예로, 스마트폰, 카메라, 캠코더 등과 같은 멀티미디어 입력 장치들이 비트스트림을 직접 생성하는 경우, 상기 인코딩 서버는 생략될 수 있다.
상기 비트스트림은 본 발명이 적용되는 인코딩 방법 또는 비트스트림 생성 방법에 의해 생성될 수 있고, 상기 스트리밍 서버는 상기 비트스트림을 전송 또는 수신하는 과정에서 일시적으로 상기 비트스트림을 저장할 수 있다. 상기 스트리밍 서버는 웹 서버를 통한 사용자 요청에 기초하여 멀티미디어 데이터를 사용자 장치에 전송하고, 상기 웹 서버는 사용자에게 어떠한 서비스가 있는지를 알려주는 매개체 역할을 한다. 사용자가 상기 웹 서버에 원하는 서비스를 요청하면, 상기 웹 서버는 이를 스트리밍 서버에 전달하고, 상기 스트리밍 서버는 사용자에게 멀티미디어 데이터를 전송한다. 이때, 상기 컨텐츠 스트리밍 시스템은 별도의 제어 서버를 포함할 수 있고, 이 경우 상기 제어 서버는 상기 컨텐츠 스트리밍 시스템 내 각 장치 간 명령/응답을 제어하는 역할을 한다.
상기 스트리밍 서버는 미디어 저장소 및/또는 인코딩 서버로부터 컨텐츠를 수신할 수 있다. 예를 들어, 상기 인코딩 서버로부터 컨텐츠를 수신하게 2019/203569 1»(그1^1{2019/004644
71 되는 경우, 상기 컨텐츠를 실시간으로 수신할 수 있다. 이 경우, 원활한 스트리밍 서비스를 제공하기 위하여 상기 스트리밍 서버는 상기 비트스트림을 일정 시간동안 저장할 수 있다.
상기 사용자 장치의 예로는, 휴대폰, 스마트 폰 (smart phone), 노트북 컴퓨터 (laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북 (ultrabook), 웨어러블 디바이스 (wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)), 디지털 TV, 데스크탑 컴퓨터, 디지털 사이니지 등이 있을 수 있다.
상기 컨텐츠 스트리밍 시스템 내 각 서버들은 분산 서버로 운영될 수 있으며, 이 경우 각 서버에서 수신하는 데이터는 분산 처리될 수 있다. 상기 기술된 것과 같이, 본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 각 도면에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다.
또한, 본 발명이 적용되는 디코더 및 인코더는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오 (VoD) 서비스 제공 장치, OTT 비디오 (Over the top video) 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원 (3D) 비디오 장치, 화상 전화 비디오 장치, 및 의료용 비디오 장치 등에 포함될 수 2019/203569 1»(그1^1{2019/004644
72 있으며, 비디오 신호 또는 데이터 신호를 처리하기 위해 사용될 수 있다. 예를 들어, OTT 비디오 (Over the top video) 장치로는 게임 콘솔, 블루레이 플레이어, 인터넷 접속 TV, 홈시어터 시스템, 스마트폰, . 태블릿 PC, DVR(Digital Video Recoder) 등을 포함할수 있다.
또한, 본 발명이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치 및 분산 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크 (BD), 범용직렬 버스 (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파 (예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.
또한, 본 발명의 실시예는 프로그램 코드에 의한 컴퓨터 프로그램 제품으로 구현될 수 있고, 상기 프로그램 코드는 본 발명의 실시예에 의해 컴퓨터에서 수행될 수 있다. 상기 프로그램 코드는 컴퓨터에 의해 판독가능한 캐리어 상에 저장될 수 있다.
【산업상 이용가능성】
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 2019/203569 1»(:1/10公019/004644
73 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가등이 가능할 것이다.

Claims

2019/203569 1»(:1^¾2019/004644 74 【청구의 범위】
【청구항 1 ]
전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 복원하는 방법에 있어서,
상기 비디오 신호로부터 현재 블록의 변환 인덱스를 획득하는 단계, 여기서 상기 변환 인덱스는 DST7, DCT8, DST6, flipped DST7 중 적어도 하나로 구성된 복수개의 변환 조합들 중 어느 하나에 대응되고, 변환 조합은 수평 변환 및 수직 변환으로 구성됨;
상기 변환 인덱스에 대응되는 수평/수직 방향에 대한 1차 변환을 유도하는 단계;
상기 수평/수직 방향에 대한 1차 변환을 이용하여 역방향 1차 근사 변환을 수행하는 단계, 여기서 상기 역방향 1차 근사 변환은 상기 수평/수직 방향에 대한 1차 변환에 전처리 행렬 및 후처리 행렬을 곱하여 생성된 변환을 나타냄; 및
상기 역방향 1차 근사 변환된 현재 블록을 이용하여 상기 비디오 신호를 복원하는 단계
를 포함하는 것을 특징으로 하는 방법.
【청구항 2】
제 1항에 있어서,
상기 전처리 행렬 및 후처리 행렬은 직교 밴드 행렬 (orthogonal band matrix)을 나타내고, 상기 직교 밴드 행렬은 NxN 행렬의 특정 대각선 영역은 0이 아닌 값을 갖고 그 이외의 영역은 0 값을 갖는 행렬인 것을 특징으로 하는 방법.
【청구항 3 ] 2019/203569 1»(:1^1{2019/004644
75 제 2항에 있어서,
상기 특정 대각선 영역은 각 행 또는 열마다 0이 아닌 값의 개수가 4 또는 3인 것을 특징으로 하는 방법.
【청구항 4】
제 1항에 있어서,
상기 전처리 행렬 및 후처리 행렬 중 적어도 하나는 항등 행렬 ( 해1切 1패出?0인 것을 특징으로 하는 방법.
【청구항 5】
제 1항에 있어서,
상기 변환 조합은 0817, 1X78, 16,
Figure imgf000077_0001
17 중 적어도 하나로 구성되고,
상기 역방향 1차 근사 변환은 、 , , (예 ( " 중 적어도 하나를 이용하여 근사화되는 것을 특징으로 하는 방법.
【청구항 6】
제 I항에 있어서,
상기 현재 블록이 인트라 예측된 레지듀얼일 때,
상기 변환 조합 (수평 변환, 수직 변환)은, 必許7, 0817), (1X718, 0817), (0817, 0018) 및 (1X^8, 1X^8)를 포함하고,
상기 변환 조합에 대응되는 상기 변환 인덱스는 각각 0, 1, 2, 3인 것을 특징으로 하는 방법.
【청구항 7】
제 1항에 있어서, 2019/203569 1»(그1^1{2019/004644
76 상기 현재 블록이 인터 예측된 레지듀얼일 때,
상기 변환 조합 (수평 변환, 수직 변환)은, (0018, 0018), (0817, £)(그8), (0018, 0817) 및 必^7, 0^7)를 포함하고,
상기 변환 조합에 대응되는 상기 변환 인덱스는 각각 0, 1, 2, 3인 것을 특징으로 하는 방법.
【청구항 8】
전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 복원하는 장치에 있어서,
상기 비디오 신호로부터 현재 블록의 변환 인덱스를 획득하는 파싱부, 여기서 상기 변환 인덱스는 17, 0018, 0816, «^6(1 17 중 적어도 하나로 구성된 복수개의 변환 조합들 중 어느 하나에 대응되고, 변환 조합은 수평 변환 및 수직 변환으로 구성됨;
상기 변환 인덱스에 대응되는 수평/수직 방향에 대한 1차 변환을 유도하고, 상기 수평/수직 방향에 대한 1차 변환을 이용하여 역방향 1차 근사 변환을 수행하는 변환부, 여기서 상기 역방향 1차 근사 변환은 상기 수평/수직 방향에 대한 1차 변환에 전처리 행렬 및 후처리 행렬을 곱하여 생성된 변환을 나타냄; 및
상기 역방향 1차 근사 변환된 현재 블록을 이용하여 상기 비디오 신호를 복원하는 복원부
를 포함하는 것을 특징으로 하는 장치.
【청구항 9】
제 8항에 있어서, \¥0 2019/203569 1»(:1'/¾3조2019/004644
77 상기 전처리 행렬 및 후처리 행렬은 직교 밴드 행렬 (이· thogonal band matrix)을 나타내고, 상기 직교 밴드 행렬은 NxN 행렬의 특정 대각선 영역은 0이 아닌 값을 갖고 그 이외의 영역은 0 값을 갖는 행렬인 것을 특징으로 하는 장치.
【청구항 10】
제 9항에 있어서,
상기 특정 대각선 영역은 각 행 또는 열마다 0이 아닌 값의 개수가 4 또는 3인 것을 특징으로 하는 장치.
【청구항 11】
제 8항에 있어서,
상기 전처리 행렬 및 후처리 행렬 중 적어도 하나는 항등 행렬 (identity matrix)인 것을 특징으로 하는 장치.
【청구항 12】
제 8항에 있어서,
상기 변환 조합은 DST7, DCT8, DST6, flipped DST7 중 적어도 하나로 구성되고,
상기 역방향 1차 근사 변환은 fe y' , 、sff , (c^j , 、cff 중 적어도 하나를 이용하여 근사화되는 것을 특징으로 하는 장치.
【청구항 13】
제 8항에 있어서,
상기 현재 블록이 인트라 예측된 레지듀얼일 때,
상기 변환 조합 (수평 변환, 수직 변환)은, (DST7, DST7), (DCT8, DST7),
(0817, 0018) 및 (1)(:18, 0(:18)를 포함하고, 2019/203569 1»(:1^1{2019/004644
78 상기 변환 조합에 대응되는 상기 변환 인덱스는 각각 0, 1, 2, 3인 것을 특징으로 하는 장치.
【청구항 14】
제 8항에 있어서,
상기 현재 블록이 인터 예측된 레지듀얼일 때,
상기 변환 조합 (수평 변환, 수직 변환)은, (DC^S, 1)(刀8), (DST^, 1X78), (0018, 0817) 및 (0^7, ^7)를 포함하고,
상기 변환 조합에 대응되는 상기 변환 인덱스는 각각 0, 1, 2, 3인 것을 특징으로 하는 장치.
PCT/KR2019/004644 2018-04-17 2019-04-17 전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 WO2019203569A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/047,849 US11350130B2 (en) 2018-04-17 2019-04-17 Method and apparatus for processing video signal by using approximation transform on basis of preprocessing/postprocessing matrix

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862658607P 2018-04-17 2018-04-17
US62/658,607 2018-04-17

Publications (1)

Publication Number Publication Date
WO2019203569A1 true WO2019203569A1 (ko) 2019-10-24

Family

ID=68239033

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/004644 WO2019203569A1 (ko) 2018-04-17 2019-04-17 전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치

Country Status (2)

Country Link
US (1) US11350130B2 (ko)
WO (1) WO2019203569A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11259052B2 (en) * 2018-07-16 2022-02-22 Qualcomm Incorporated Transform variations of multiple separable transform selection
KR20210046002A (ko) * 2018-09-07 2021-04-27 주식회사 윌러스표준기술연구소 다중 변환 커널을 사용하는 비디오 신호 처리 방법 및 장치
WO2020071736A1 (ko) * 2018-10-01 2020-04-09 엘지전자 주식회사 비디오 신호의 부호화/복호화 방법 및 이를 위한 장치
KR20240024338A (ko) * 2019-11-21 2024-02-23 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 변환 및 계수 시그널링에 대한 방법 및 장치
GB2593778A (en) * 2020-04-03 2021-10-06 Sony Group Corp Video data encoding and decoding
GB2603559B (en) * 2021-07-22 2023-08-09 Imagination Tech Ltd Coding blocks of pixels

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130098360A (ko) * 2010-09-08 2013-09-04 삼성전자주식회사 내부 예측을 위한 적응적 이산 코사인 변환 및 이산 사인 변환을 이용한 낮은 복잡도의 변환 코딩
KR101412964B1 (ko) * 2013-01-11 2014-06-30 한밭대학교 산학협력단 Hevc를 위한 저면적 고성능 다중모드 1d 변환블록 및 이를 이용한 데이터 처리방법
KR20150050680A (ko) * 2013-10-30 2015-05-11 고려대학교 산학협력단 이산 코사인 변환 장치 및 방법
US20150172718A1 (en) * 2010-09-30 2015-06-18 Texas Instruments Incorporated Low complexity large transform
KR20170051540A (ko) * 2011-01-10 2017-05-11 퀄컴 인코포레이티드 미디어 데이터 코딩을 위한 32-포인트 변환

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11647214B2 (en) * 2018-03-30 2023-05-09 Qualcomm Incorporated Multiple transforms adjustment stages for video coding
US11039139B2 (en) * 2018-09-14 2021-06-15 Tencent America LLC Method and apparatus for identity transform in multiple transform selection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130098360A (ko) * 2010-09-08 2013-09-04 삼성전자주식회사 내부 예측을 위한 적응적 이산 코사인 변환 및 이산 사인 변환을 이용한 낮은 복잡도의 변환 코딩
US20150172718A1 (en) * 2010-09-30 2015-06-18 Texas Instruments Incorporated Low complexity large transform
KR20170051540A (ko) * 2011-01-10 2017-05-11 퀄컴 인코포레이티드 미디어 데이터 코딩을 위한 32-포인트 변환
KR101412964B1 (ko) * 2013-01-11 2014-06-30 한밭대학교 산학협력단 Hevc를 위한 저면적 고성능 다중모드 1d 변환블록 및 이를 이용한 데이터 처리방법
KR20150050680A (ko) * 2013-10-30 2015-05-11 고려대학교 산학협력단 이산 코사인 변환 장치 및 방법

Also Published As

Publication number Publication date
US11350130B2 (en) 2022-05-31
US20210218996A1 (en) 2021-07-15

Similar Documents

Publication Publication Date Title
US11616985B2 (en) Method and device for processing video signal by using reduced secondary transform
JP2023052876A (ja) 縮小された変換を用いて、ビデオ信号を処理する方法及び装置
KR102385399B1 (ko) 비디오 압축을 위한 변환을 구성하는 방법 및 장치
WO2019203569A1 (ko) 전처리/후처리 행렬에 기초하는 근사 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
JP2022529999A (ja) Bdpcmに基づく映像コーディング方法、及びその装置
US20240098258A1 (en) Method and apparatus for processing image signal
US11889080B2 (en) Method and apparatus for processing video signal by applying secondary transform to partitioned block
WO2019231291A1 (ko) 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치
WO2019194505A1 (ko) 축소된 회전기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2019190284A1 (ko) 비디오 압축을 위한 변환 커널의 저복잡도 연산을 수행하는 방법 및 장치
WO2019209050A1 (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: 19788647

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19788647

Country of ref document: EP

Kind code of ref document: A1