WO2018044125A1 - 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치 - Google Patents

레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치 Download PDF

Info

Publication number
WO2018044125A1
WO2018044125A1 PCT/KR2017/009615 KR2017009615W WO2018044125A1 WO 2018044125 A1 WO2018044125 A1 WO 2018044125A1 KR 2017009615 W KR2017009615 W KR 2017009615W WO 2018044125 A1 WO2018044125 A1 WO 2018044125A1
Authority
WO
WIPO (PCT)
Prior art keywords
layer
matrix
transform
rotation
lgt
Prior art date
Application number
PCT/KR2017/009615
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 KR1020197007149A priority Critical patent/KR20190039562A/ko
Priority to US16/329,624 priority patent/US10743025B2/en
Publication of WO2018044125A1 publication Critical patent/WO2018044125A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to a method and apparatus for encoding / decoding a video signal, and more particularly, to a technique of approximating a target transform using a layered givens transform.
  • Compression coding refers to a series of signal processing techniques for transmitting digitized information through a communication line or for storing in a form suitable for a storage medium.
  • Media such as an image, an image, an audio, and the like may be a target of compression encoding.
  • a technique of performing compression encoding on an image is called video image compression.
  • Next-generation video content will be characterized by high spatial resolution, high frame rate and high dimensionality of scene representation. Processing such content would result in a tremendous increase in terms of memory storage, memory access rate, and processing power. Thus, there is a need to design new coding tools to process next generation video content more efficiently.
  • DCT Discrete Cosine Transform
  • KLT Karhunen-Loeve Transform
  • a mode-dependent transform scheme is designed to reduce the complexity of a KLT where a separable KLT for each mode is not separable.
  • ADST Asymmetric Discrete Sine Transform
  • An object of the present invention is to propose a method of designing a transform having a significantly lower computational complexity while exhibiting a compression performance similar to a target computation of a high computational complexity.
  • LGT Layered Givens Transform
  • the present invention proposes a method of approximating a non-separable transform using a Layered Givens Transform (LGT).
  • LGT Layered Givens Transform
  • an object of the present invention is to propose a method for performing optimization for each layer in order to design a layered given transform (LGT).
  • LGT layered given transform
  • an object of the present invention is to propose a method for optimizing layers constituting a layered givens transform (LGT) using a Hungarian algorithm and a Blossomom algorithm.
  • LGT layered givens transform
  • An aspect of the present invention is a method for performing a transform using a layered givens transform, wherein at least one rotation layer is based on a given transformation matrix H and an error parameter. ) And a permutation layer; Obtaining a layered givens transform (LGT) coefficient based on the rotation layer and the permutation layer; And performing quantization and entropy encoding on the LGT coefficients, wherein the permutation layer may include a permutation matrix obtained by replacing rows of an identity matrix.
  • LGT layered givens transform
  • said rotation layer comprises a permutation matrix and a rotation matrix, said rotation matrix comprising at least one pairwise rotation matrix.
  • the rotation layer or the permutation layer is derived through an optimization process, and the optimization process is performed based on a matching between a layered givens transform (LGT) matrix and the given transform matrix (H), and the layered layer Givens Transform) matrix may be derived using the rotation layer and the permutation layer.
  • LGT layered givens transform
  • H given transform matrix
  • the optimization process of the permutation layer may be performed using a Hungarian algorithm.
  • the optimization of the rotation layer comprises: determining an optimal rotation angle of the rotation matrix in the rotation layer based on matching of the LGT matrix and the given transformation matrix (H); And determining non-overlapping pairs that maximize the sum of gains determined based on the optimal rotation angle.
  • non-overlapping pairs that maximize the total sum of the gains can be determined using a blooms algorithm.
  • the optimization of the rotation layer may further include setting at least one other rotation layer in the LGT matrix as an identity matrix.
  • the LGT coefficients may be obtained by applying the rotation layer and the permutation layer to input data arranged in a lexicographic order.
  • a layered givens transform in a method of performing inverse transformation using a layered givens transform, may be performed by performing entropy decoding and inverse quantization on a residual signal included in a video signal. Obtaining coefficients; Deriving at least one rotation layer and permutation layer based on a given transformation matrix H and an error parameter; Performing inverse-transform on the LGT coefficients based on the rotation layer and the permutation layer; And reconstructing the video signal by using the inverse transformed coefficients, wherein the permutation layer may include a permutation matrix obtained by replacing rows of an identity matrix.
  • said rotation layer comprises a permutation matrix and a rotation matrix, said rotation matrix comprising at least one pairwise rotation matrix.
  • the rotation layer or the permutation layer is derived through an optimization process, and the optimization process is performed based on a matching between a layered givens transform (LGT) matrix and the given transform matrix (H), and the layered layer Givens Transform) matrix may be derived using the rotation layer and the permutation layer.
  • LGT layered givens transform
  • H given transform matrix
  • the optimization process of the permutation layer may be performed using a Hungarian algorithm.
  • the optimization of the rotation layer comprises: determining an optimal rotation angle of the rotation matrix in the rotation layer based on matching of the LGT matrix and the given transformation matrix (H); And determining non-overlapping pairs that maximize the sum of gains determined based on the optimal rotation angle.
  • non-overlapping pairs that maximize the total sum of the gains can be determined using a blooms algorithm.
  • the optimization of the rotation layer may further include setting at least one other rotation layer in the LGT matrix as an identity matrix.
  • An aspect of the present invention provides an apparatus for performing inverse transformation using a layered givens transform, comprising: an entropy decoding unit for entropy decoding a residual signal included in a video signal; An inverse quantizer for inversely quantizing the entropy decoded residual signal to obtain a layered givens transform (LGT) coefficient; A layer derivation unit for deriving at least one rotation layer and a permutation layer based on a given transformation matrix H and an error parameter; An inverse transform unit performing an inverse-transform on the LGT coefficients based on the rotation layer and the permutation layer; And a reconstruction unit for reconstructing the video signal by using the inverse transformed coefficient, wherein the permutation layer may include a permutation matrix obtained by replacing rows of an identity matrix.
  • LGT layered givens transform
  • encoding performance can be improved by designing a transform having a compression efficiency equal to or similar to a given target transform in a computationally reduced complexity compared to the target transform.
  • FIG. 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.
  • FIG. 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.
  • FIG. 3 is a diagram for describing a division structure of a coding unit according to an embodiment to which the present invention is applied.
  • FIG. 4 is a diagram illustrating a method of arranging two-dimensional data blocks into a one-dimensional array as an embodiment to which the present invention is applied.
  • FIG. 5 is a diagram illustrating an example in which a permutation matrix is applied as an embodiment to which the present invention is applied.
  • FIG. 6 is a diagram illustrating an example in which a rotation matrix is applied as an embodiment to which the present invention is applied.
  • FIG. 7 is a diagram illustrating an example of transformation to which the present invention is applied.
  • FIG. 8 is a diagram illustrating a method of applying a layered Givens transform in forward and reverse directions as an embodiment to which the present invention is applied.
  • FIG. 9 is an embodiment to which the present invention is applied and is a diagram illustrating a method of applying a rotating layer.
  • FIG. 10 is a diagram illustrating a method of determining a permutation layer using a Hungarian algorithm as an embodiment to which the present invention is applied.
  • FIG. 11 is a diagram illustrating a method of determining a rotating layer using a bloom algorithm as an embodiment to which the present invention is applied.
  • FIG. 12 is a conceptual diagram illustrating an optimization method of a layered Givens transform as an embodiment to which the present invention is applied.
  • 13 and 14 are flowcharts for explaining an algorithm for designing a layered Givens transform as an embodiment to which the present invention is applied.
  • 15 is an embodiment to which the present invention is applied and shows approximations by LGT transform, row-column transform, and separable transform.
  • FIG. 16 is a diagram illustrating an example of a method of applying a reduced dimension LGT as an embodiment to which the present invention is applied.
  • 17 is a diagram illustrating a schematic block diagram of a transform unit and a quantizer in an encoder to which the present invention is applied.
  • FIG. 18 is a diagram illustrating a schematic block diagram of an inverse transform unit and an inverse quantization unit in a decoder to which the present invention is applied.
  • 19 is a flowchart illustrating a process of performing encoding by using a layered Givens transform as an embodiment to which the present invention is applied.
  • 20 is an embodiment to which the present invention is applied and is a flowchart illustrating a process of performing decoding by using a layered Givens transform.
  • 21 is a diagram illustrating a decoder to which the present invention is applied in more detail.
  • terms used in the present invention may be replaced for more appropriate interpretation when there are general terms selected to describe the invention or other terms having similar meanings.
  • signals, data, samples, pictures, frames, 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.
  • FIG. 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 may include 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 decoded picture buffer (DPB) 170, an inter predictor 180, an intra predictor 185, and an entropy encoder 190.
  • DPB decoded picture buffer
  • the image divider 110 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 terms are only used for the convenience of description of the present invention, the present invention is not limited to the definition of the terms.
  • 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 transformer 120 may generate a transform coefficient by applying a transform technique to the residual signal.
  • the conversion process may be applied to pixel blocks having the same size as the square, or may be applied to blocks of variable size rather than square.
  • the quantization unit 130 may quantize the transform coefficients and transmit the quantized coefficients to the entropy encoding unit 190, and the entropy encoding unit 190 may entropy code the quantized signal and output the bitstream.
  • the quantized signal output from the quantization unit 130 may be used to generate a prediction signal.
  • the quantized signal may restore the residual signal by applying inverse quantization and inverse transformation through the inverse quantization unit 140 and the inverse transform unit 150 in the 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.
  • the filtering unit 160 applies filtering to the reconstruction signal and outputs it to the reproduction apparatus or transmits the decoded picture buffer to the decoding picture buffer 170.
  • 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, a blocking artifact or a ringing artifact may exist. have.
  • the inter prediction unit 180 may interpolate the signals between pixels in sub-pixel units by applying a lowpass filter in order to solve 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, wiener filter, or the like may be applied.
  • the interpolation filter may be applied to a reconstructed picture to improve the precision of prediction.
  • 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. You can make predictions.
  • 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, reference samples 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. Accordingly, the reference sample filtering process may be performed for each prediction mode used for intra prediction to reduce such an error.
  • 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.
  • FIG. 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).
  • a decoded picture buffer unit 250, an inter predictor 260, and an intra predictor 265 may be included.
  • the reconstructed video signal output through the decoder 200 may be reproduced through the reproducing apparatus.
  • the decoder 200 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.
  • 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.
  • the embodiments described in the transform unit 120 and the respective functional units of the encoder 100 may be equally applied to the inverse transform unit 230 and the corresponding functional units of the decoder, respectively.
  • FIG. 3 is a diagram for describing a division structure of a coding unit according to an embodiment to which the present invention is applied.
  • the encoder may split one image (or picture) in units of a rectangular Coding Tree Unit (CTU).
  • CTU Coding Tree Unit
  • one CTU is sequentially encoded according to a raster scan order.
  • the size of the CTU may be set to any one of 64x64, 32x32, and 16x16, but the present invention is not limited thereto.
  • the encoder may select and use the size of the CTU according to the resolution of the input video or the characteristics of the input video.
  • the CTU may include a coding tree block (CTB) for a luma component and a coding tree block (CTB) for two chroma components corresponding thereto.
  • One CTU may be decomposed into a quadtree (QT) structure.
  • QT quadtree
  • one CTU may be divided into four units having a square shape and each side is reduced by half in length.
  • the decomposition of this QT structure can be done recursively.
  • a root node of a QT may be associated with a CTU.
  • the QT may be split until it reaches a leaf node, where the leaf node may be referred to as a coding unit (CU).
  • CU coding unit
  • a CU may mean a basic unit of coding in which an input image is processed, for example, intra / inter prediction is performed.
  • the CU may include a coding block (CB) for a luma component and a CB for two chroma components corresponding thereto.
  • CB coding block
  • the size of the CU may be determined as any one of 64x64, 32x32, 16x16, and 8x8.
  • the present invention is not limited thereto, and in the case of a high resolution image, the size of the CU may be larger or more diverse.
  • the CTU corresponds to a root node and has the smallest depth (ie, level 0) value.
  • the CTU may not be divided according to the characteristics of the input image. In this case, the CTU corresponds to a CU.
  • the CTU may be decomposed in QT form, and as a result, lower nodes having a depth of level 1 may be generated. And, a node that is no longer partitioned (ie, a leaf node) in a lower node having a depth of level 1 corresponds to a CU.
  • CU (a), CU (b) and CU (j) corresponding to nodes a, b and j are divided once in the CTU and have a depth of level 1.
  • At least one of the nodes having a depth of level 1 may be split into QT again.
  • a node that is no longer partitioned (ie, a leaf node) in a lower node having a level 2 depth corresponds to a CU.
  • CU (c), CU (h), and CU (i) corresponding to nodes c, h and i are divided twice in the CTU and have a depth of level 2.
  • At least one of the nodes having a depth of 2 may be divided into QTs.
  • a node that is no longer partitioned (ie, a leaf node) in a lower node having a depth of level 3 corresponds to a CU.
  • CU (d), CU (e), CU (f), and CU (g) corresponding to nodes d, e, f, and g are divided three times in the CTU, and level 3 Has a depth of
  • the maximum size or the minimum size of the CU may be determined according to characteristics (eg, resolution) of the video image or in consideration of encoding efficiency. Information about this or information capable of deriving the information may be included in the bitstream.
  • a CU having a maximum size may be referred to as a largest coding unit (LCU), and a CU having a minimum size may be referred to as a smallest coding unit (SCU).
  • LCU largest coding unit
  • SCU smallest coding unit
  • a CU having a tree structure may be hierarchically divided with predetermined maximum depth information (or maximum level information).
  • Each partitioned CU may have depth information. Since the depth information indicates the number and / or degree of division of the CU, the depth information may include information about the size of the CU.
  • the size of the SCU can be obtained by using the size and maximum depth information of the LCU. Or conversely, using the size of the SCU and the maximum depth information of the tree, the size of the LCU can be obtained.
  • information indicating whether the corresponding CU is split may be delivered to the decoder.
  • the information may be defined as a split flag and may be represented by a syntax element "split_cu_flag".
  • the division flag may be included in all CUs except the SCU. For example, if the split flag value is '1', the corresponding CU is divided into four CUs again. If the split flag value is '0', the CU is not divided anymore and the coding process for the CU is not divided. Can be performed.
  • the division process of the CU has been described as an example, but the QT structure described above may also be applied to the division process of a transform unit (TU) which is a basic unit for performing transformation.
  • TU transform unit
  • the TU may be hierarchically divided into a QT structure from a CU to be coded.
  • a CU may correspond to a root node of a tree for a transform unit (TU).
  • the TU divided from the CU may be divided into smaller lower TUs.
  • the size of the TU may be determined by any one of 32x32, 16x16, 8x8, and 4x4.
  • the present invention is not limited thereto, and in the case of a high resolution image, the size of the TU may be larger or more diverse.
  • information indicating whether the corresponding TU is divided may be delivered to the decoder.
  • the information may be defined as a split transform flag and may be represented by a syntax element "split_transform_flag".
  • the division conversion flag may be included in all TUs except the TU of the minimum size. For example, if the value of the division conversion flag is '1', the corresponding TU is divided into four TUs again. If the value of the division conversion flag is '0', the corresponding TU is no longer divided.
  • a CU is a basic unit of coding in which intra prediction or inter prediction is performed.
  • a CU may be divided into prediction units (PUs).
  • the PU is a basic unit for generating a prediction block, and may generate different prediction blocks in PU units within one CU.
  • the PU may be divided differently according to whether an intra prediction mode or an inter prediction mode is used as a coding mode of a CU to which the PU belongs.
  • Transform coding is one of the most important tools used in modern image and video compression.
  • transform coefficients are generated.
  • the generated transform coefficients are quantized and entropy encoded and then sent to the decoder.
  • the decoder reconstructs the data by inverse transforming the transform coefficients after entropy decoding and inverse quantization and then using an inverse transform.
  • the transform is chosen as an orthonormal transform that allows simple inverse transform and quantization.
  • DCT discrete Discrete Cosine Transform
  • DST Discrete Cosine Transform
  • a separable transform In the case of data of an N ⁇ N block, a separable transform generally requires an operation of N 3 . If the separable transform used has a fast implementation, the operation count is reduced to N 2 * logN.
  • KLT Karhunen-Loeve Transform
  • SOT Sparse Orthonormal Transform
  • the present invention proposes a method of designing an easy-to-calculate version of a general transform. Specifically, when a target transform is given, a method of designing a Layered Givens Transform (LGT) that approximates a target transform is proposed.
  • LGT Layered Givens Transform
  • the present invention will be described using a square block of NxN pixels.
  • the present invention is not limited thereto, and the present invention can be extended to not only square blocks but also non-square blocks, multiple dimensions, and non-pixel type data. Conversion can be performed.
  • the target transform H applicable to the NxN block can be approximated by a layered Givens transform consisting of a combination of a rotation layer and a permutation layer.
  • the layered-givens transform may be referred to as a layered transform, and the present invention is not limited to the term.
  • N 2 is assumed to be an even number.
  • FIG. 4 is a diagram illustrating a method of arranging two-dimensional data blocks into a one-dimensional array as an embodiment to which the present invention is applied.
  • Two-dimensional data blocks can be arranged into one-dimensional arrays in order to apply an inseparable transformation.
  • 4x4 sized blocks may be arranged in row-first lexicographic order, as shown in FIG. 4. Within each row, they can be sorted in column order. Although not shown in FIG. 4, they may be ordered in column-first order.
  • the encoder / decoder may arrange the two-dimensional blocks in a one-dimensional array in various ways in addition to the lexical order.
  • the layered Givens transform can be applied for any NxN transform.
  • non-separable transforms have higher compression performance than separable transforms, while fast implementation is difficult and requires high computational complexity. Therefore, embodiments of the present invention will be described with reference to a case where the target transform is a non-separable transform, but the present invention is not limited thereto. That is, the layered Givens transform may be applied to a separable transform or may be applied to a non-separable transform.
  • a general non-separable transform H that can be applied to an N ⁇ N block can be represented by an N 2 xN 2 matrix.
  • the method proposed in the present invention may be used to approximate a non-orthogonal transform, it is assumed for convenience of description that the target transform H satisfies normal orthogonal, that is, the following equation (1).
  • H T represents a transpose matrix of H
  • I represents an identity matrix of N 2 xN 2
  • N 2 xN 2 permutation matrix P satisfies the following equation 2 as a normal orthogonal matrix.
  • Each row of P may contain a single nonzero element.
  • FIG. 5 is a diagram illustrating an example in which a permutation matrix is applied as an embodiment to which the present invention is applied.
  • the encoder / decoder can shuffle the data vectors as shown in FIG. 5 by applying a permutation matrix. By performing such shuffling, subsequent operations can be efficiently performed. For example, shuffling may allow non-zero coefficients to be concentrated in a specific area.
  • the present invention proposes a method for finding the layered Givens transform G (N 2 xN 2 ) approximated to H given a target transform H.
  • G may be expressed as Equation 3 below.
  • G i N 2 xN 2
  • P 0 N 2 xN 2
  • M the integer M
  • G i may be expressed as Equation 4 below.
  • T (i, j ) is a pairwise rotation matrix (ie, a Givens rotation matrix). That is, the Givens rotation layer G i may be composed of a combination of a permutation matrix and a rotation matrix. T (i, j) will be described with reference to the drawings below.
  • FIG. 6 is a diagram illustrating an example in which a rotation matrix is applied as an embodiment to which the present invention is applied.
  • the rotation matrix T ( i, j ) may be expressed as Equation 5 below.
  • T ( i) , j ) in order to allow reflection with rotation (ie, rotation plus reflection), T ( i) , j ) can be considered. That is, in one embodiment of the present invention, T ( i, j ) can form pairwise rotation and rotation plus reflection.
  • FIG. 7 is a diagram illustrating an example of transformation to which the present invention is applied.
  • T ( i, j ) may be set to a general two-dimensional nonlinear transformation that takes two inputs and produces two outputs as shown in FIG. 7 (a).
  • T ( i, j ) may be set to a linear transformation or a nonlinear transformation having two or more dimensions as shown in FIG. 7 (b).
  • the LGT of the present invention may include two-dimensional or multi-dimensional linear transformation or non-linear transformation, as shown in FIG. 7.
  • Equation 7 the rotation matrix T i may be expressed as shown in Equation 7.
  • the forward general transform (that is, the target transform H) may obtain the transform coefficient c general by using Equation 8 below.
  • the LGT can obtain the LGT transform coefficient c LGT using the following equation (9).
  • Equation 10 The inverse transform of the transform coefficients generated by Equations 8 and 9 may be performed by Equation 10 below.
  • FIG. 8 is a diagram illustrating a method of applying a layered Givens transform in forward and reverse directions as an embodiment to which the present invention is applied.
  • the encoder may obtain the LGT transform coefficient by applying the forward LGT transform.
  • the encoder may acquire the LGT transform coefficient by sequentially applying the rotation layer and the permutation layer to the input data x as shown in FIG. 8 (a).
  • the encoder / decoder may restore x by applying a reverse LGT transform to the LGT transform coefficients.
  • the decoder may reconstruct (or obtain) x by sequentially applying the permutation layer and the rotation layer as shown in FIG. 8B to the LGT transform coefficients.
  • FIG. 9 is an embodiment to which the present invention is applied and is a diagram illustrating a method of applying a rotating layer.
  • the Givens rotation layer G i may be configured by a combination of a permutation matrix and a rotation matrix.
  • the encoder / decoder may apply a permutation matrix to efficiently apply pairwise rotation.
  • the encoder / decoder may apply reverse rotation to the shuffled data and then inverse shuffle.
  • the target transform H may be a KLT, a sparse orthonormal transform (SOT), a curvelet transform, a contourlet transform, or a complex wavelet transform.
  • the layered Givens transform G may be designed using Equation 11 below.
  • Equation 11 is an optimization problem of G matching the target transform H.
  • Tr ⁇ A ⁇ is called a trace of the matrix A
  • Equation 11 may be expressed as Equation 12 below.
  • the trace represents the sum of the diagonal components of the matrix.
  • Equation 12 may be arranged as Equation 13.
  • Equation 14 By accepting a weight vector w having a positive element, minimization can generally be obtained.
  • the weight vector represents the importance of each basis vector (that is, each column of H) in H.
  • the importance may be determined according to the frequency of each component. Therefore, when considering the weight vector w, the minimization problem of Equation 11 can be expressed as Equation 14 below.
  • Equation 15 the weight matrix W (N 2 xN 2 ) may be expressed as in Equation 15 below.
  • Equation 11 or 14 results in an optimization problem of each layer constituting the layered Givens transform.
  • a method of determining (or deriving) permutation layer P 0 will be described.
  • Equation 14 may be arranged as in Equation 16 below.
  • FIG. 10 is a diagram illustrating a method of determining a permutation layer using a Hungarian algorithm as an embodiment to which the present invention is applied.
  • the encoder / decoder may determine an optimal assignment that does not overlap between nodes using a Hungarian algorithm. Specifically, in Equation 16 Is The sum of the diagonal matrices of. The encoder / decoder is reminded We can calculate the optimal assignment that maximizes.
  • the bloom method may be used to design a permutation matrix.
  • the layered Givens transform G may be composed of a combination of a Givens rotation layer and a permutation layer.
  • G may include one or more Givens rotation layers.
  • Equation 14 described above may be summarized as in Equation 17 below.
  • G i selects a pair of rows from R i , Rotate the selected pair to match a pair of co-located rows in the same.
  • the optimal G i can be determined by selecting the best pair and the best rotation angle that minimize equation (17).
  • the encoder / decoder may calculate the best rotation angle of each pair by setting pair gain and determine pairs that maximize the sum of the pair gains. First, the method of determining the rotation angle by setting the pair gain is described.
  • Equation 17 Assume that G i selected rows p and q as the j th pair to rotate by T ( i, j ) . And r (i, p) and r ( i, q ) determine the rows p and q of R i and h ( i, p ) and h (i, q) Determine rows p and q of. Based on this, Equation 17 described above may be expressed as Equation 18 below.
  • the optimal rotation angle ⁇ ( i, j ) may be determined as a value that minimizes Equation 18.
  • Some equations of Equation 18 may be defined as c (i, p, q) and s (i, p, q) as shown in Equation 19 below.
  • Equation 18 may be arranged as Equation 21.
  • the pair gain for the case of rotation plus reflection can be obtained by swapping r (i, p) and r ( i, q ) with each other in Equation 18 or 19 above.
  • the final pair gain gain (i, p, q) may be determined (or set) as the gain having the maximum value of the two pair gains calculated in the case of rotation and in the case of rotation plus reflection.
  • the pair gain gain (i, p, q) can be modified in consideration of computational complexity and memory complexity.
  • the equation (22) instead The pair gain can be calculated using
  • the pair gain gain (i, p, q) may be calculated considering only a limited set of ⁇ ( i, j ) .
  • ⁇ ( i, j ) an encoder / decoder Instead of all ⁇ ( i, j ) satisfying We can consider ⁇ ( i, j ) to satisfy. here, Is It may be a distinct angle to satisfy each. Based on such ⁇ (i, j) , ⁇ ( i, j ) can be determined to minimize the above equation (18 ) . E.g, May be k * (2 ⁇ / m), where m may be the total number of angles.
  • the pair gain gain (i, p, q) can be calculated to allow for a specific pair (or limited pair) p and q.
  • the pair gain may be modified as in Equation 23 below.
  • may be any value, for example, 1, 10, 17, 123, 1024, 2048, and the like.
  • the pair gain may be calculated using the following equation (24).
  • f (p, q) may correspond to a general function.
  • the encoder / decoder may then derive the optimal Givens rotation layer G i by determining the total pairs that maximize the sum of the pair gains.
  • the encoder / decoder determines an edge set ⁇ in which each vertex corresponds to one edge, i.e., satisfies the condition that the vertices do not overlap at multiple edges, and the sum of edge weights within the ⁇ is the maximum ⁇ . Can be determined. This can be expressed as Equation 25 below.
  • edges may be determined such that the sum of pair gains of edges is maximized in an edge ⁇ corresponding to each vertex. This maximum matching problem can be solved using the Blossom algorithm. It demonstrates with reference to the following drawings.
  • FIG. 11 is a diagram illustrating a method of determining a rotating layer using a bloom algorithm as an embodiment to which the present invention is applied.
  • the encoder / decoder may find a maximum matching pair of edges that do not overlap by using a bloom algorithm.
  • the encoder / decoder may use the bloom algorithm to determine the edges where the total pair gain (or weight) of the non-overlapping edges is maximum.
  • Encoder / decoder may be based on determining the optimal N 2/2 pairs, and the optimum rotation of each pair (or rotation plus reflection) each using the method described above to calculate the (i, j) T. This leads to an optimal G i .
  • the present invention proposes an algorithm for designing a layered Givens transform that approximates a target transform.
  • FIG. 12 is a conceptual diagram illustrating an optimization method of a layered Givens transform as an embodiment to which the present invention is applied.
  • the optimizer of the layered Givens transform inputs the target transform H (or desired transform H) and related parameters, and outputs the optimized LGT.
  • the optimizer may be implemented in a configuration included in the encoder and the decoder.
  • the algorithm for designing the layered Givens transform can consist of the following six algorithms (or procedures):
  • the first is an optimization algorithm for permutation layer P 0 .
  • Table 1 shows an example of an optimization algorithm of P 0 . Specifically,
  • Second is the optimization algorithm of the Givens rotation layer G i .
  • Table 2 shows an example of an optimization algorithm of G i . Specifically,
  • the descent algorithm In the descent algorithm, the above-described optimization algorithm of P 0 is called, and changing the Givens rotation layer to derive an optimal layer matching the target transform H.
  • the descent algorithm can take the initial LGT G 0 as input. Or, assume that the initial LGT G 0 is given.
  • Table 3 shows an example of the descent algorithm. Specifically,
  • m represents a number of iterations to find an optimal value as a variable for counting.
  • the err () function indicates a matching error for the target transformation. The lower the value of err (), the higher the approximation to the target transform.
  • the larger this value the smaller the number of iterations can find the optimal value (ie, faster convergence). The smaller this is, the higher the approximation to the target transform can be.
  • Equation 28 Using Equation 28 below Compute the error err 0 (m) for.
  • Equation 29 Compute the error err k (m) for.
  • Equation 30 k 'is set to k which minimizes an error value.
  • the random neighbor search algorithm may take G as an input. Or, assume G is given.
  • Table 4 shows an example of a random neighbor search algorithm. Specifically,
  • the simulated annealing algorithm a random neighbor search algorithm is called.
  • the random neighbor search algorithm is applied to find the optimal value by repeatedly comparing the derived solution (i.e., the new optimal value) with the existing solution.
  • the simulated annealing algorithm can take an initial LGT G 0 as input. Or, assume that the initial LGT G 0 is given.
  • Table 5 shows an example of a simulated annealing algorithm. Specifically,
  • the admission decision algorithm it is determined whether to select a newly obtained solution (ie, an optimal value) based on the probability.
  • the admission decision algorithm may input err (m), err (cur), and the number of iterations m. Or, assume that err (m), err (cur), and the number of repetitions m are given.
  • Table 6 above shows an example of an admission decision algorithm. Specifically,
  • Equation 33 1.Calculate the current temperature t based on m. For example, t may be calculated using Equation 33 below.
  • MAX_ITER_COUNT represents the maximum number of repetitions. As the number of repetitions increases, the value of t may decrease.
  • p may be calculated using Equation 34 below.
  • 13 and 14 are flowcharts for explaining an algorithm for designing a layered Givens transform as an embodiment to which the present invention is applied.
  • the descent algorithm described above may be performed in steps as shown in FIG. 13.
  • the encoder / decoder performs initialization (S1301).
  • Equation 26 the variable m representing the number of iterations and the err () function representing a matching error for the target transformation are initialized.
  • the err () function can be initialized using a given initial LGT.
  • the encoder / decoder individually optimizes each layer constituting the LGT (S1302).
  • the encoder / decoder may derive the optimal layer matching the target transformation H by changing the layers one by one.
  • the encoder / decoder updates the LGT using the optimal layer selected in step S1302 (S1303).
  • the encoder / decoder determines whether the error value converges based on the updated LGT (S1304).
  • step S1304 If the result of the determination in step S1304 does not converge, by performing step S1302 again, iteration is performed until the error values converge (S1305).
  • step S1305 If the result of the determination in step S1305 converges, the determined optimal LGT is determined as a local optimum.
  • the LGT optimized by the descent algorithm described above can be obtained, but because the optimization and update are performed one layer without optimizing several layers at once, the global optimum is higher than the local optimum. It may have limitations that can not be reached and converge. This limitation can be overcome by performing a simulated annealing algorithm.
  • the simulated annealing algorithm described above may be performed in steps as shown in FIG. 14.
  • the encoder / decoder performs initialization (S1401). 13 may be performed in the same manner as in step S1301.
  • the encoder / decoder finds the neighbor of the current LGT (S1402). In this case, the aforementioned random neighbor search algorithm may be performed.
  • the encoder / decoder finds a local optimum based on the searched neighbors (S1403). That is, the encoder / decoder newly determines a local optimum based on the layers initialized through the random neighbor search algorithm. In this case, the descent algorithm described above with reference to FIG. 12 may be performed.
  • the encoder / decoder calculates a jump probability p (S1404) and determines whether to set the current local optimum to the local optimum found in step S1403 based on the jump probability p value (S1405).
  • the jump may mean a newly obtained local optimal adoption, and the jump probability p may be determined based on the current iteration number and the maximum iteration number. In this case, the admission decision algorithm described above may be performed.
  • step S1405 if a jump (or approval) is determined, the encoder / decoder sets the current LGT to the local optimum found in step S1403 (S1406).
  • the encoder / decoder sequentially repeats the steps from S1402 to S1406 until the maximum number of repetitions is reached (S1407).
  • the encoder / decoder determines the current LGT as the optimal LGT (S1408).
  • KLT corresponds to an optimal transformation.
  • a Gaussian process has a covariance matrix K that satisfies Equation 35 below.
  • Equation 35 Equation 11 described above may be arranged as Equation 36 below.
  • Equation 36 may be performed, for example, by repeatedly obtaining G m using Equation 37 below.
  • Equation 37 may be solved using the methods described in the LGT design and LGT design algorithm.
  • other minimization techniques or optimization techniques using the covariance matrix K may be used.
  • a sparse transform can be obtained using a training set of vectors arranged in columns of the matrix X.
  • LGT may be obtained by using Equation 38 below.
  • Equation 38 may be performed, for example, by repeatedly obtaining C and G m using Equation 39 below.
  • hard_threshold () is a function that takes a value of 0 when it is smaller than a specific threshold. That is, the magnitude of the absolute value of the coefficient If less, it may be set to a value of zero.
  • G m may be obtained using the methods described earlier in LGT design and LGT design algorithm. And other minimizations regarding X can be used.
  • 15 is an embodiment to which the present invention is applied and shows approximations by LGT transform, row-column transform, and separable transform.
  • a target transform is a transform basis that cannot be separated.
  • LGT Compared with the approximation using row-column transformation and separable transformation, LGT preserves high fidelity for the target transformation basis compared to other transformations. That is, LGT can obtain much higher approximations for target transforms than approximations using row-column transforms and separable transforms.
  • one or more LGTs may be used to convert N 2 data signal values.
  • the decoder may select a specific LGT by using information received from the encoder (that is, an index indicating the specific LGT) among a plurality of derived LGTs.
  • the encoder / decoder may apply a plurality of LGTs sequentially. For example, the encoder / decoder may perform transformation using the LGT of the first stage and then perform additional transformation using the LGT of the second stage.
  • reduced dimensional LGT may be used to convert N 2 data signal values as follows.
  • Normal LGT ie, LGT described above
  • LGT G may be equivalent to transforming all N 2 elements of X using LGT G. That is, the normal LGT can be said to have an N 2 dimension.
  • the encoder / decoder may perform transformation using LGT of reduced dimension.
  • N 2 x 1 vector obtained from the N ⁇ N data block is x.
  • x may be a vector arranged in lexicographic order from N ⁇ N data blocks.
  • the permutation matrix Q 1 (N 2 xN 2 ) can be applied to X.
  • the reduced dimension LGT in the N 1 (N 1 ⁇ N 2 ) dimension may be applied to the first N 1 element of Q 1x (ie x applied with Q 1 ). And, the remaining elements of Q 1x may be passed to form a transform coefficient vector y (N 2 x 1), and another reduced dimension LGT may be applied.
  • the encoder / decoder can be applied to N 2 -N 1 LGT dimension of the remaining elements of the Q 1x.
  • N 3 other reduced dimensions of LGT may be applied by skipping the transform or recursively.
  • y may be further transformed in a similar manner as above using Q 2 (N 2 xN 2 ) and N 2 .
  • L may be any positive integer such as 1, 2, 7, 117,...
  • l represents the number of times the transformation is applied repeatedly.
  • the same value may be used as Q 1 (N 2 xN 2 ) and N 1 (N 1 ⁇ N 2 ), or different values may be used for each repetition.
  • FIG. 16 is a diagram illustrating an example of a method of applying a reduced dimension LGT as an embodiment to which the present invention is applied.
  • LGT having a reduced dimension in subgroup units may be applied.
  • the final permutation matrix Q final (N 2 xN 2 ) may be applied to the coefficients produced by the LGT in the reduced dimension.
  • LGT may be used to convert pixel values.
  • LGT can be used to further transform (ie, quadratic) transform coefficients of other transforms.
  • the other transform may be a DCT, DST, KLT, SOT, wavelet transform, or the like.
  • the number M of LGT layers may be determined at the encoder and transmitted to the decoder based on computational complexity.
  • the number M of LGT layers may be determined at the encoder and transmitted to the decoder based on rate-distortion optimization.
  • the rotation or rotation plus reflection, T ( i, j ) and vice versa can be performed using parallel processing.
  • the encoder selects and transforms an LGT or other transform (e.g., DCT) based on a complexity and / or rate-distortion perspective for a data block, and selects and transforms the selected transform and / or associated with the decoder. Parameter information may be signaled.
  • an LGT or other transform e.g., DCT
  • the encoder applies M 1 LGT layers to the data block, quantizes it, and applies the LGT result coefficient to the baseline decoder as a baseline coefficient. Can be transmitted.
  • the encoder can then apply additional LGT layers to the data block, calculate residual LGT coefficient information about the quantized baseline coefficients, and transmit the residual information as an enhancement layer.
  • the enhancement layer decoder may perform inverse transformation and calculate data by calculating an additional LGT layer starting with the decoded baseline LGT coefficients, applying all LGT layers to the residual information.
  • 17 is a diagram illustrating a schematic block diagram of a transform unit and a quantizer in an encoder to which the present invention is applied.
  • the encoder may select and transform the LGT or other transform (eg, DCT) based on computational complexity or rate-distortion optimization, and signal the selected transform and / or related parameter information to the decoder. .
  • DCT digital tomography
  • the converter 120 and the quantizer 130 may include the DCT converter 1721, the LGT converter 1722, the first quantizer 1731, the second quantizer 1732, and the RDO.
  • the decision unit 1735 may be configured to be included.
  • the DCT converter 1721 and / or the LGT converter 1722 may transmit the transform coefficient obtained by converting the residual signal to the first quantizer 1731 and / or the second quantizer 1732.
  • the RDO determiner 1735 may select a DCT transform or an LGT transform based on the RDO, and the entropy encoding unit 190, the inverse quantizer 140, or the like may determine information related to the determined transform or parameter information related to the LGT transform.
  • the inverse transform unit 150 may transmit.
  • FIG. 18 is a diagram illustrating a schematic block diagram of an inverse transform unit and an inverse quantization unit in a decoder to which the present invention is applied.
  • the decoder may receive transform type information, parameter information related to a transform, and / or transform coefficients.
  • An inverse transform may be selected based on the received transform type, and inverse quantization may be performed.
  • an inverse transform may be performed on the transform coefficients.
  • the inverse quantization unit 220 and the inverse transform unit 230 are the first inverse quantization unit 1821, the second inverse quantization unit 1822, the DCT inverse transform unit 1831, and the LGT inverse transform unit 1832. It may be configured to include).
  • the decoder may receive information related to the selected transform from the encoder. If the DCT transform is selected, inverse quantization and inverse transform may be performed by the first inverse quantization unit 1821 and the DCT inverse transform unit 1831. If the LGT transformation is selected, inverse quantization and inverse transformation may be performed by the second inverse quantization unit 1822 and the LGT inverse transformation unit 1832.
  • 19 is a flowchart illustrating a process of performing encoding by using a layered Givens transform as an embodiment to which the present invention is applied.
  • the encoder derives at least one rotation layer and permutation layer based on the given transformation matrix H and an error parameter (S1901).
  • the permutation layer may include a permutation matrix obtained by substituting rows of an identity matrix.
  • the permutation matrix may be obtained by performing one or more times a process of selecting and exchanging two rows starting from a unit matrix.
  • the rotation layer may include a permutation matrix and a rotation matrix, and the rotation matrix may include at least one pairwise rotation matrix.
  • the bi-rotation matrix may be formed in consideration of bi-rotation as in Equation 5 described above, or may be formed in consideration of bi-rotation plus reflection as in Equation 6 described above.
  • the error parameter represents a variable or matrix for calculating an approximation of a target transformation and may be referred to as an 'error calculation method' or a 'weight matrix'.
  • the error parameter may be determined based on Equation 11, Equation 14, or Equation 26 described above.
  • the permutation layer may be derived through an optimization process, and the optimization process may be performed based on matching of the layered Givens transformation matrix with the given transformation matrix H.
  • the layered Givens transformation matrix may be derived from the rotation layer and the permutation layer by using Equation 3 described above.
  • the optimization process of the permutation layer may be performed using a Hungarian algorithm.
  • the encoder may determine an optimal assignment that does not overlap between nodes using Equation 16 described above.
  • the rotation layer or the permutation layer is derived through an optimization process, and the optimization process may be performed based on a matching between a layered Givens transform matrix and the given transform matrix H.
  • the optimization process of the rotation layer based on the matching of the layered Givens transformation matrix and the given transformation matrix (H) determines the optimal rotation angle of the rotation matrix in the rotation layer, This can be done by determining non-overlapping pairs that maximize the sum of gains determined based on the optimal rotation angle.
  • the encoder may find a maximum matching pair of edges that do not overlap by using a bloom algorithm.
  • the optimization of the rotation layer may further include setting at least one other rotation layer in the layered Givens transformation matrix as an identity matrix.
  • the global optimal value may be found while comparing the newly derived optimal value with the existing optimal value through the initialization of the neighboring layers.
  • the encoder acquires a Layered Givens Transform (LGT) coefficient based on the rotation layer and the permutation layer (S1902).
  • LGT Layered Givens Transform
  • the layered Givens transform coefficient may be obtained by applying the rotation layer and the permutation layer to input data arranged in a lexicalographic order.
  • the encoder performs quantization and entropy encoding on the layered givens transform (LGT) coefficients (S1903).
  • LGT layered givens transform
  • 20 is an embodiment to which the present invention is applied and is a flowchart illustrating a process of performing decoding by using a layered Givens transform.
  • the decoder obtains LGT (Layered Givens Transform) coefficients by performing entropy decoding and inverse quantization on the residual signal included in the video signal received from the encoder (S2001).
  • LGT Lane Givens Transform
  • the decoder derives at least one rotation layer and permutation layer based on the given transformation matrix H and an error parameter (S2002).
  • the permutation layer may include a permutation matrix obtained by substituting rows of an identity matrix.
  • the rotation layer may include a permutation matrix and a rotation matrix, and the rotation matrix may include at least one pairwise rotation matrix.
  • the bi-rotation matrix may be formed in consideration of bi-rotation as in Equation 5 described above, or may be formed in consideration of bi-rotation plus reflection as in Equation 6 described above.
  • the error parameter may be determined based on Equation 11, Equation 14 or Equation 26.
  • the permutation layer may be derived through an optimization process, and the optimization process may be performed based on matching of the layered Givens transformation matrix with the given transformation matrix H.
  • the layered Givens transformation matrix may be derived from the rotation layer and the permutation layer by using Equation 3 described above.
  • the optimization process of the permutation layer may be performed using a Hungarian algorithm.
  • the decoder may determine an optimal assignment that does not overlap between nodes using Equation 16 described above.
  • the rotation layer or the permutation layer is derived through an optimization process, and the optimization process may be performed based on a matching between a layered Givens transform matrix and the given transform matrix H.
  • the optimization process of the rotation layer based on the matching of the layered Givens transformation matrix and the given transformation matrix (H) determines the optimal rotation angle of the rotation matrix in the rotation layer, This can be done by determining non-overlapping pairs that maximize the sum of gains determined based on the optimal rotation angle.
  • the decoder may find a maximum matching pair of edges that do not overlap by using a blossom algorithm.
  • the optimization of the rotation layer may further include setting at least one other rotation layer in the layered Givens transformation matrix as an identity matrix.
  • the global optimal value may be found while comparing the newly derived optimal value with the existing optimal value through the initialization of the neighboring layers.
  • the decoder performs inverse-transform on the layered givens transform (LGT) coefficients based on the rotation layer and the permutation layer (S2003), and the decoder reconstructs the video signal using the inverse transformed coefficients. (S2004).
  • LGT layered givens transform
  • the method may include inducing LGT in an encoding process and obtaining LGT coefficients by applying the derived LGT.
  • inducing LGT in the decoding process and induced LGT. Performing an inverse transform using may be included.
  • the optimal LGT may be derived off-line using the method described above.
  • the encoder / decoder may select an optimal LGT derived through offline based on a prediction mode or context and use the same to perform encoding / decoding.
  • the encoder may encode the optimal LGT derived through offline based on Rate-Distortion Optimization (RDO) and signal information related to the selected LGT to the decoder.
  • RDO Rate-Distortion Optimization
  • the decoder may perform decoding using the optimal LGT derived through offline and the LGT related information received from the encoder.
  • 21 is a diagram illustrating a decoder to which the present invention is applied in more detail.
  • the decoder 200 implements the functions, processes, and / or methods proposed in FIGS. 2 to 20.
  • the decoder 200 may include an entropy decoding unit 2101, an inverse quantization unit 2102, a layer induction unit 2103, an inverse transform unit 2104, and a reconstruction unit 2105.
  • the layer induction unit 2103 is illustrated in a separate configuration from the inverse transform unit 2104, but the layer induction unit 2103 may be implemented in a configuration included in the inverse transform unit 2104.
  • the entropy decoding unit 2101 and the inverse quantization unit 2102 obtain layered Givens transform coefficients by performing entropy decoding and inverse quantization on the residual signal included in the video signal received from the encoder.
  • the layer derivation unit 2103 derives at least one rotation layer and a permutation layer based on the given transformation matrix H and an error parameter (S2002).
  • the permutation layer may include a permutation matrix obtained by substituting rows of an identity matrix.
  • the rotation layer may include a permutation matrix and a rotation matrix, and the rotation matrix may include at least one pairwise rotation matrix.
  • the bi-rotation matrix may be formed in consideration of bi-rotation as in Equation 5 described above, or may be formed in consideration of bi-rotation plus reflection as in Equation 6 described above.
  • the error parameter may be determined based on Equation 11, Equation 14 or Equation 26.
  • the permutation layer may be derived through an optimization process, and the optimization process may be performed based on matching of the layered Givens transformation matrix with the given transformation matrix H.
  • the layered Givens transformation matrix may be derived from the rotation layer and the permutation layer by using Equation 3 described above.
  • the optimization process of the permutation layer may be performed using a Hungarian algorithm.
  • the layer derivation unit 2103 may determine an optimal assignment that does not overlap between nodes using Equation 16 described above.
  • the rotation layer or the permutation layer is derived through an optimization process, and the optimization process may be performed based on a matching between a layered Givens transform matrix and the given transform matrix H.
  • the optimization process of the rotation layer based on the matching of the layered Givens transformation matrix and the given transformation matrix (H) determines the optimal rotation angle of the rotation matrix in the rotation layer, This can be done by determining non-overlapping pairs that maximize the sum of gains determined based on the optimal rotation angle.
  • the layer inducing unit 2103 may find a maximum matching pair of edges that do not overlap by using a blossom algorithm.
  • the optimization of the rotation layer may further include setting at least one other rotation layer in the layered Givens transformation matrix as an identity matrix.
  • the global optimal value may be found while comparing the newly derived optimal value with the existing optimal value through the initialization of the neighboring layers.
  • An inverse transform unit 2104 performs an inverse-transform on the layered givens transform (LGT) coefficients based on the rotation layer and the permutation layer, and a reconstructor 2105 uses the inverse transformed coefficients. Restore the video signal.
  • LGT layered givens transform
  • the embodiments described herein may be implemented and performed on a processor, microprocessor, controller, or chip.
  • the functional units illustrated in FIGS. 1, 2, and 4 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 providing devices, internet streaming service providing devices, three-dimensional (3D) video devices, video telephony video devices, and medical video devices, and the like, for processing video and data signals Can be used for
  • 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 for storing computer readable data.
  • the computer-readable recording medium may include, for example, a Blu-ray disc (BD), a universal serial bus (USB), a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device. Can be.
  • the computer-readable recording medium also includes media embodied in the form of a carrier wave (eg, transmission over the Internet).
  • the bit stream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은, 레이어드 기븐스 변환(Layered Givens Transform)을 이용하여 변환을 수행하는 방법에 있어서, 주어진 변환 행렬(H) 및 에러 파라미터(error parameter)에 기초하여 적어도 하나의 회전 레이어(rotation layer) 및 순열 레이어(permutation layer)를 유도하는 단계; 상기 회전 레이어 및 상기 순열 레이어에 기초하여 LGT(Layered Givens Transform) 계수를 획득하는 단계; 및 상기 LGT 계수에 대해 양자화 및 엔트로피 인코딩을 수행하는 단계를 포함하되, 상기 순열 레이어는 단위 행렬(identity matrix)의 행(row)을 치환함으로써 획득되는 순열 행렬을 포함하는 방법을 제공한다.

Description

레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치
본 발명은 비디오 신호의 인코딩/디코딩 방법 및 장치에 관한 것이며, 보다 구체적으로 레이어드 기븐스 변환(Layered Givens Transform)을 이용하여 주어진 타겟 변환(target transform)을 근사화하는 기술에 관한 것이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 등의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다.
차세대 비디오 컨텐츠는 고해상도(high spatial resolution), 고프레임율(high frame rate) 및 영상 표현의 고차원화(high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장(memory storage), 메모리 액세스율(memory access rate) 및 처리 전력(processing power) 측면에서 엄청난 증가를 가져올 것이다. 따라서, 차세대 비디오 컨텐츠를 보다 효율적으로 처리하기 위한 새로운 코딩 툴을 디자인할 필요가 있다.
특히, 많은 이미지 처리 및 압축 기법들은 분리 가능한 변환들을 채택하고 있다. 예를 들어, 이산 코사인 변환(Discrete Cosine Transform, 이하 'DCT'라 함)은 인터 픽셀 상관이 높은 경우 카루넨 루베 변환(Karhunen-Loeve transform, 이하 'KLT'라 함)으로의 양호한 근사화를 제공하고, 저복잡도 구현이 가능하기 때문에 광범위하게 이용되고 있다. 분리 가능한 변환들의 이용과 상관없이, 자연적인 이미지 압축은 매우 상이한 통계적 특성들을 가지고 있기 때문에, 신호 블록들의 가변적인 통계적 특성들에 적용될 수 있는 복잡한 변환을 이용하여야 더 나은 압축을 수행할 수 있게 된다.
실제적인 구현들은 지금까지 저복잡도의 합리적인 코딩 이득을 제공하기 위하여 이러한 변환들의 분리 가능한 근사화(separable approximation)에 초점이 맞춰져 왔다. 예를 들어, 모드-의존 변환 방식(mode-dependent transform scheme)은 각 모드에 대하여 분리 가능한 KLT가 분리 가능하지 않은 KLT의 복잡도를 경감시키도록 설계되었다. 다른 예로, 비대칭 이산 사인 변환(Asymmetric Discrete Sine Transform, 이하 'ADST'라 함)은 하이브리드 DCT/ADST 기술로 통합되었고, 분리 가능한 희소 정규직교 변환(separable sparse orthonormal transform) 설계 등이 고려되었다.
본 발명의 목적은 높은 연산 복잡도의 타겟 변환(target transform)과 유사한 압축 성능을 보이면서 현저하게 낮은 연산 복잡도를 가지는 변환을 설계하는 방법을 제안한다.
또한, 본 발명의 목적은 타겟 변환(target transform)이 주어질 때 타겟 변환에 근사하는(approximate) 레이어드 기븐스 변환(LGT: Layered Givens Transform)을 설계하는 방법을 제안한다.
또한, 본 발명은 LGT(Layered Givens Transform)를 이용하여 분리 가능하지 않은 변환(non-separable transform)을 근사화하는 방법을 제안한다.
또한, 본 발명의 목적은 LGT(Layered Givens Transform)를 설계하기 위하여 각 레이어 별로 최적화를 수행하는 방법을 제안한다.
또한, 본 발명의 목적은 헝가리안 알고리즘(Hungarian algorithm)과 블러섬 알고리즘(Blossom algorithm)을 이용하여 LGT(Layered Givens Transform)를 구성하는 레이어들을 최적화하는 방법을 제안한다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상은, 레이어드 기븐스 변환(Layered Givens Transform)을 이용하여 변환을 수행하는 방법에 있어서, 주어진 변환 행렬(H) 및 에러 파라미터(error parameter)에 기초하여 적어도 하나의 회전 레이어(rotation layer) 및 순열 레이어(permutation layer)를 유도하는 단계; 상기 회전 레이어 및 상기 순열 레이어에 기초하여 LGT(Layered Givens Transform) 계수를 획득하는 단계; 및 상기 LGT 계수에 대해 양자화 및 엔트로피 인코딩을 수행하는 단계를 포함하되, 상기 순열 레이어는 단위 행렬(identity matrix)의 행(row)을 치환함으로써 획득되는 순열 행렬을 포함할 수 있다.
바람직하게, 상기 회전 레이어는 순열 행렬 및 회전 행렬을 포함하고, 상기 회전 행렬은 적어도 하나의 쌍 회전 행렬(pairwise rotation matrix)을 포함할 수 있다.
바람직하게, 상기 회전 레이어 또는 상기 순열 레이어는 최적화 과정을 통해서 유도되고, 상기 최적화 과정은 LGT(Layered Givens Transform) 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 수행되고, 상기 LGT(Layered Givens Transform) 행렬은 상기 회전 레이어 및 상기 순열 레이어를 이용하여 유도될 수 있다.
바람직하게, 상기 순열 레이어의 최적화 과정은 헝가리안 알고리즘(Hungarian algorithm)을 이용하여 수행될 수 있다.
바람직하게, 상기 회전 레이어의 최적화 과정은, 상기 LGT 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 상기 회전 레이어 내 회전 행렬의 최적의 회전 각(optimal rotation angle)을 결정하는 단계; 및 상기 최적의 회전 각에 기초하여 결정되는 이득(gain)의 총 합을 최대로 하는 중복되지 않는 쌍들(pairs)을 결정하는 단계로 수행될 수 있다.
바람직하게, 상기 이득의 총 합을 최대로 하는 중복되지 않는 쌍들은 블러섬 알고리즘(blossom algorithm)을 이용하여 결정될 수 있다.
바람직하게, 상기 회전 레이어의 최적화 과정은, 상기 LGT 행렬 내 적어도 하나의 다른 회전 레이어를 단위 행렬(identity matrix)로 설정하는 단계를 더 포함하여 수행될 수 있다.
바람직하게, 상기 LGT 계수를 획득하는 단계는, 사전식 순서(Lexicographic Order)로 정렬된 입력 데이터에 대하여 상기 회전 레이어 및 상기 순열 레이어를 적용함으로써 상기 LGT 계수를 획득할 수 있다.
본 발명의 다른 일 양상은, 레이어드 기븐스 변환(Layered Givens Transform)을 이용하여 역변환을 수행하는 방법에 있어서, 비디오 신호에 포함된 레지듀얼 신호에 대하여 엔트로피 디코딩 및 역양자화를 수행함으로써 LGT(Layered Givens Transform) 계수를 획득하는 단계; 주어진 변환 행렬(H) 및 에러 파라미터(error parameter)에 기초하여 적어도 하나의 회전 레이어(rotation layer) 및 순열 레이어(permutation layer)를 유도하는 단계; 상기 회전 레이어 및 상기 순열 레이어에 기초하여 상기 LGT 계수에 대하여 역변환(inverse-transform)을 수행하는 단계; 및 상기 역변환된 계수를 이용하여 상기 비디오 신호를 복원하는 단계를 포함하되, 상기 순열 레이어는 단위 행렬(identity matrix)의 행(row)을 치환함으로써 획득되는 순열 행렬을 포함할 수 있다.
바람직하게, 상기 회전 레이어는 순열 행렬 및 회전 행렬을 포함하고, 상기 회전 행렬은 적어도 하나의 쌍 회전 행렬(pairwise rotation matrix)을 포함할 수 있다.
바람직하게, 상기 회전 레이어 또는 상기 순열 레이어는 최적화 과정을 통해서 유도되고, 상기 최적화 과정은 LGT(Layered Givens Transform) 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 수행되고, 상기 LGT(Layered Givens Transform) 행렬은 상기 회전 레이어 및 상기 순열 레이어를 이용하여 유도될 수 있다.
바람직하게, 상기 순열 레이어의 최적화 과정은 헝가리안 알고리즘(Hungarian algorithm)을 이용하여 수행될 수 있다.
바람직하게, 상기 회전 레이어의 최적화 과정은, 상기 LGT 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 상기 회전 레이어 내 회전 행렬의 최적의 회전 각(optimal rotation angle)을 결정하는 단계; 및 상기 최적의 회전 각에 기초하여 결정되는 이득(gain)의 총 합을 최대로 하는 중복되지 않는 쌍들(pairs)을 결정하는 단계로 수행될 수 있다.
바람직하게, 상기 이득의 총 합을 최대로 하는 중복되지 않는 쌍들은 블러섬 알고리즘(blossom algorithm)을 이용하여 결정될 수 있다.
바람직하게, 상기 회전 레이어의 최적화 과정은, 상기 LGT 행렬 내 적어도 하나의 다른 회전 레이어를 단위 행렬(identity matrix)로 설정하는 단계를 더 포함하여 수행될 수 있다.
본 발명의 일 양상은, 레이어드 기븐스 변환(Layered Givens Transform)을 이용하여 역변환을 수행하는 장치에 있어서, 비디오 신호에 포함된 레지듀얼 신호를 엔트로피 디코딩하는 엔트로피 디코딩부; 상기 엔트로피 디코딩된 레지듀얼 신호를 역양자화하여 LGT(Layered Givens Transform) 계수를 획득하는 역양자화부; 주어진 변환 행렬(H) 및 에러 파라미터(error parameter)에 기초하여 적어도 하나의 회전 레이어(rotation layer) 및 순열 레이어(permutation layer)를 유도하는 레이어 유도부; 상기 회전 레이어 및 상기 순열 레이어에 기초하여 상기 LGT 계수에 대하여 역변환(inverse-transform)을 수행하는 역변환부; 및 상기 역변환된 계수를 이용하여 상기 비디오 신호를 복원하는 복원부를 포함하되, 상기 순열 레이어는 단위 행렬(identity matrix)의 행(row)을 치환함으로써 획득되는 순열 행렬을 포함할 수 있다.
본 발명의 실시예에 따르면, 타겟 변환 대비 현저하게 감소된 계산 복잡도에서 주어진 타겟 변환과 동일 또는 유사한 압축 효율을 갖는 변환을 설계함으로써 부호화 성능을 높일 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 3은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.
도 4는 본 발명이 적용되는 실시예로서, 2차원의 데이터 블록을 1차원 배열로 정렬하는 방법을 예시하는 도면이다.
도 5는 본 발명이 적용되는 실시예로서, 순열 행렬이 적용되는 일례를 나타내는 도면이다.
도 6는 본 발명이 적용되는 실시예로서, 회전 행렬이 적용되는 일례를 나타내는 도면이다.
도 7은 본 발명이 적용되는 변환의 일례를 나타내는 도면이다.
도 8은 본 발명이 적용되는 실시예로서, 순방향 및 역방향의 레이어드 기븐스 변환의 적용 방법을 예시하는 도면이다.
도 9은 본 발명이 적용되는 실시예로서, 회전 레이어의 적용 방법을 예시하는 도면이다.
도 10은 본 발명이 적용되는 실시예로서, 헝가리안 알고리즘(Hungarian algorithm)을 이용한 순열 레이어의 결정 방법을 예시하는 도면이다.
도 11은 본 발명이 적용되는 실시예로서, 블러섬 알고리즘(Blossom algorithm)을 이용한 회전 레이어의 결정 방법을 예시하는 도면이다.
도 12은 본 발명이 적용되는 실시예로서, 레이어드 기븐스 변환의 최적화 방법을 설명하기 위한 개념도이다.
도 13 및 도 14은 본 발명이 적용되는 실시예로서, 레이어드 기븐스 변환을 설계하는 알고리즘을 설명하기 위한 흐름도 있다.
도 15는 본 발명이 적용되는 실시예로서, LGT 변환, 행-열 변환(row-column transform) 및 분리 가능한 변환에 의한 근사화들을 나타낸다.
도 16은 본 발명이 적용되는 일 실시예로서, 감소된 차원의 LGT를 적용하는 방법의 일례를 나타내는 도면이다.
도 17은 본 발명이 적용되는 인코더 내 변환부 및 양자화부의 개략적인 블록도를 예시하는 도면이다.
도 18은 본 발명이 적용되는 디코더 내 역변환부 및 역양자화부의 개략적인 블록도를 예시하는 도면이다.
도 19는 본 발명이 적용되는 실시예로서, 레이어드 기븐스 변환을 이용하여 인코딩을 수행하는 과정을 설명하기 위한 흐름도이다.
도 20은 본 발명이 적용되는 실시예로서, 레이어드 기븐스 변환을 이용하여 디코딩을 수행하는 과정을 설명하기 위한 흐름도이다.
도 21은 본 발명이 적용되는 디코더를 보다 구체적으로 예시하는 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 의해서 설명되는 본 발명의 구성과 작용은 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
또한, 본 발명에서 사용되는 용어들은 발명을 설명하기 위해 선택된 일반적인 용어들이나, 유사한 의미를 갖는 다른 용어가 있는 경우 보다 적절한 해석을 위해 대체 가능할 것이다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다. 또한, 파티셔닝(partitioning), 분해(decomposition), 스플리팅 (splitting) 및 분할(division) 등의 경우에도 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 인코더(100)는 영상 분할부(110), 변환부(120), 양자화부(130), 역양자화부(140), 역변환부(150), 필터링부(160), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer)(170), 인터 예측부(180), 인트라 예측부(185) 및 엔트로피 인코딩부(190)를 포함하여 구성될 수 있다.
영상 분할부(110)는 인코더(100)에 입력된 입력 영상(Input image)(또는, 픽쳐, 프레임)를 하나 이상의 처리 유닛으로 분할할 수 있다. 예를 들어, 상기 처리 유닛은 코딩 트리 유닛(CTU: Coding Tree Unit), 코딩 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit) 또는 변환 유닛(TU: Transform Unit)일 수 있다.
다만, 상기 용어들은 본 발명에 대한 설명의 편의를 위해 사용할 뿐이며, 본 발명은 해당 용어의 정의에 한정되지 않는다. 또한, 본 명세서에서는 설명의 편의를 위해, 비디오 신호를 인코딩 또는 디코딩하는 과정에서 이용되는 단위로써 코딩 유닛이라는 용어를 사용하지만, 본 발명은 그에 한정되지 않으며 발명 내용에 따라 적절하게 해석 가능할 것이다.
인코더(100)는 입력 영상 신호에서 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호(prediction signal)를 감산하여 잔여 신호(residual signal)를 생성할 수 있고, 생성된 잔여 신호는 변환부(120)로 전송된다.
변환부(120)는 잔여 신호에 변환 기법을 적용하여 변환 계수(transform coefficient)를 생성할 수 있다. 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블록에 적용될 수도 있고, 정사각형이 아닌 가변 크기의 블록에도 적용될 수 있다.
양자화부(130)는 변환 계수를 양자화하여 엔트로피 인코딩부(190)로 전송하고, 엔트로피 인코딩부(190)는 양자화된 신호(quantized signal)를 엔트로피 코딩하여 비트스트림으로 출력할 수 있다.
양자화부(130)로부터 출력된 양자화된 신호(quantized signal)는 예측 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 신호(quantized signal)는 루프 내의 역양자화부(140) 및 역변환부(150)를 통해 역양자화 및 역변환을 적용함으로써 잔여 신호를 복원할 수 있다. 복원된 잔여 신호를 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성될 수 있다.
한편, 위와 같은 압축 과정에서 블록 단위로 양자화가 수행됨으로써 양자화 에러로 인하여 블록 경계가 보이는 열화가 발생될 수 있다. 이러한 현상을 블록킹 열화(blocking artifacts)라고 하며, 이는 화질을 평가하는 중요한 요소 중의 하나이다. 이러한 열화를 줄이기 위해 필터링 과정을 수행할 수 있다. 이러한 필터링 과정을 통해 블록킹 열화를 제거함과 동시에 현재 픽쳐에 대한 오차를 줄임으로써 화질을 향상시킬 수 있게 된다.
필터링부(160)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼(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)으로 사용하여 예측을 수행할 수 있다.
한편, 인트라 예측부(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)는 재생 장치를 통해 재생될 수 있다.
디코더(200)는 도 1의 인코더(100)로부터 출력된 신호을 수신할 수 있고, 수신된 신호는 엔트로피 디코딩부(210)를 통해 엔트로피 디코딩될 수 있다.
역양자화부(220)에서는 양자화 스텝 사이즈 정보를 이용하여 엔트로피 디코딩된 신호로부터 변환 계수(transform coefficient)를 획득한다.
역변환부(230)에서는 변환 계수를 역변환하여 잔여 신호(residual signal)를 획득하게 된다.
획득된 잔여 신호를 인터 예측부(260) 또는 인트라 예측부(265)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성된다.
필터링부(240)는 복원 신호(reconstructed signal)에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼부(250)에 전송한다. 복호 픽쳐 버퍼부(250)에 전송된 필터링된 신호는 인터 예측부(260)에서 참조 픽쳐로 사용될 수 있다.
본 명세서에서, 인코더(100)의 변환부(120) 및 각 기능 유닛들에서 설명된 실시예들은 각각 디코더의 역변환부(230) 및 대응되는 기능 유닛들에도 동일하게 적용될 수 있다.
도 3은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.
인코더는 하나의 영상(또는 픽쳐)을 사각형 형태의 코딩 트리 유닛(CTU: Coding Tree Unit) 단위로 분할할 수 있다. 그리고, 래스터 스캔 순서(raster scan order)에 따라 하나의 CTU 씩 순차적으로 인코딩한다.
예를 들어, CTU의 크기는 64x64, 32x32, 16x16 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않는다. 인코더는 입력된 영상의 해상도 또는 입력된 영상의 특성 등에 따라 CTU의 크기를 선택하여 사용할 수 있다. CTU은 휘도(luma) 성분에 대한 코딩 트리 블록(CTB: Coding Tree Block)과 이에 대응하는 두 개의 색차(chroma) 성분에 대한 코딩 트리 블록(CTB: Coding Tree Block)을 포함할 수 있다.
하나의 CTU은 쿼드트리(quadtree, 이하 'QT'라 함) 구조로 분해될 수 있다. 예를 들어, 하나의 CTU은 정사각형 형태를 가지면서 각 변의 길이가 절반씩 감소하는 4개의 유닛으로 분할될 수 있다. 이러한 QT 구조의 분해는 재귀적으로 수행될 수 있다.
도 3을 참조하면, QT의 루트 노드(root node)는 CTU와 관련될 수 있다. QT는 리프 노드(leaf node)에 도달할 때까지 분할될 수 있고, 이때 상기 리프 노드는 코딩 유닛(CU: Coding Unit)으로 지칭될 수 있다.
CU는 입력 영상의 처리 과정, 예컨대 인트라(intra)/인터(inter) 예측이 수행되는 코딩의 기본 단위를 의미할 수 있다. CU는 휘도(luma) 성분에 대한 코딩 블록(CB: Coding Block)과 이에 대응하는 두 개의 색차(chroma) 성분에 대한 CB를 포함할 수 있다. 예를 들어, CU의 크기는 64x64, 32x32, 16x16, 8x8 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않으며, 고해상도 영상일 경우, CU의 크기는 더 커지거나 다양해질 수 있다.
도 3을 참조하면, CTU는 루트 노드(root node)에 해당되고, 가장 작은 깊이(depth)(즉, 레벨 0) 값을 가진다. 입력 영상의 특성에 따라 CTU가 분할되지 않을 수도 있으며, 이 경우 CTU은 CU에 해당된다.
CTU은 QT 형태로 분해될 수 있으며, 그 결과 레벨 1의 깊이를 가지는 하위 노드들이 생성될 수 있다. 그리고, 레벨 1의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 a, b 및 j에 대응하는 CU(a), CU(b), CU(j)는 CTU에서 한 번 분할되었으며, 레벨 1의 깊이를 가진다.
레벨 1의 깊이를 가지는 노드 중 적어도 어느 하나는 다시 QT 형태로 분할될 수 있다. 그리고, 레벨 2의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 c, h 및 i에 대응하는 CU(c), CU(h), CU(i)는 CTU에서 두 번 분할되었으며, 레벨 2의 깊이를 가진다.
또한, 레벨 2의 깊이를 가지는 노드 중 적어도 어느 하나는 다시 QT 형태로 분할될 수 있다. 그리고, 레벨 3의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 d, e, f, g에 대응하는 CU(d), CU(e), CU(f), CU(g)는 CTU에서 3번 분할되었으며, 레벨 3의 깊이를 가진다.
인코더에서는 비디오 영상의 특성(예를 들어, 해상도)에 따라서 혹은 부호화의 효율을 고려하여 CU의 최대 크기 또는 최소 크기를 결정할 수 있다. 그리고, 이에 대한 정보 또는 이를 유도할 수 있는 정보가 비트스트림에 포함될 수 있다. 최대 크기를 가지는 CU를 최대 코딩 유닛(LCU: Largest Coding Unit)이라고 지칭하며, 최소 크기를 가지는 CU를 최소 코딩 유닛(SCU: Smallest Coding Unit)이라고 지칭할 수 있다.
또한, 트리 구조를 갖는 CU는 미리 정해진 최대 깊이 정보(또는, 최대 레벨 정보)를 가지고 계층적으로 분할될 수 있다. 그리고, 각각의 분할된 CU는 깊이 정보를 가질 수 있다. 깊이 정보는 CU의 분할된 횟수 및/또는 정도를 나타내므로, CU의 크기에 관한 정보를 포함할 수도 있다.
LCU가 QT 형태로 분할되므로, LCU의 크기 및 최대 깊이 정보를 이용하면 SCU의 크기를 구할 수 있다. 또는 역으로, SCU의 크기 및 트리의 최대 깊이 정보를 이용하면, LCU의 크기를 구할 수 있다.
하나의 CU에 대하여, 해당 CU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_cu_flag"로 표현될 수 있다. 상기 분할 플래그는 SCU을 제외한 모든 CU에 포함될 수 있다. 예를 들어, 상기 분할 플래그의 값이 '1'이면 해당 CU는 다시 4개의 CU으로 나누어지고, 상기 분할 플래그의 값이 '0'이면 해당 CU는 더 이상 나누어지지 않고 해당 CU에 대한 코딩 과정이 수행될 수 있다.
앞서 도 3의 실시예에서는 CU의 분할 과정에 대해 예로 들어 설명하였으나, 변환을 수행하는 기본 단위인 변환 유닛(TU: Transform Unit)의 분할 과정에 대해서도 상술한 QT 구조를 적용할 수 있다.
TU는 코딩하려는 CU로부터 QT 구조로 계층적으로 분할될 수 있다. 예를 들어, CU는 변환 유닛(TU)에 대한 트리의 루트 노트(root node)에 해당될 수 있다.
TU는 QT 구조로 분할되므로 CU로부터 분할된 TU는 다시 더 작은 하위 TU로 분할될 수 있다. 예를 들어, TU의 크기는 32x32, 16x16, 8x8, 4x4 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않으며, 고해상도 영상일 경우, TU의 크기는 더 커지거나 다양해질 수 있다.
하나의 TU에 대하여, 해당 TU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 변환 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_transform_flag"로 표현될 수 있다.
상기 분할 변환 플래그는 최소 크기의 TU을 제외한 모든 TU에 포함될 수 있다. 예를 들어, 상기 분할 변환 플래그의 값이 '1'이면 해당 TU은 다시 4개의 TU으로 나누어지고, 상기 분할 변환 플래그의 값이 '0'이면 해당 TU은 더 이상 나누어지지 않는다.
상기에서 설명한 바와 같이, CU는 인트라 예측 또는 인터 예측이 수행되는 코딩의 기본 단위이다. 입력 영상을 보다 효과적으로 코딩하기 위하여 CU를 예측 유닛(PU: Prediction Unit) 단위로 분할할 수 있다.
PU는 예측 블록을 생성하는 기본 단위로서, 하나의 CU 내에서도 PU 단위로 서로 다르게 예측 블록을 생성할 수 있다. PU는 PU가 속하는 CU의 코딩 모드로 인트라 예측 모드가 사용되는지 인터 예측 모드가 사용되는지에 따라 상이하게 분할될 수 있다.
변환 코딩은 현대의 이미지 및 비디오 압축에 사용되는 가장 중요한 도구들 중 하나이다. 변환을 사용하여 데이터를 선형적으로 변환함으로써, 변환 계수가 생성된다. 생성된 변환 계수는 양자화 및 엔트로피 인코딩된 후, 디코더로 전송된다. 디코더는 엔트로피 디코딩 및 역양자화 후, 역변환을 사용하여 변환 계수를 역변환함으로써, 데이터를 복원한다. 일반적으로 변환은 간단한 역변환 및 양자화를 허용하는 정규직교(orthonormal) 변환으로 선택된다. 특히, 이미지 및 비디오 데이터의 경우, 분리 가능한(separable) 이산 코사인 변환(DCT: Discrete Cosine Transform), 이산 사인 변환(DST: Discrete Cosine Transform) 및 기타 유사한 변환을 활용하는 것이 매우 일반적이다.
NxN 블록의 데이터의 경우 일반적으로 분리 가능한 변환(separable transform)은 N3의 연산이 요구된다. 만약 이용된 분리 가능한 변환이 빠른 구현(fast implementation)을 갖는다면, 연산 카운트는 N2*logN으로 감소한다.
압축 효율을 높이기 위하여, 입력 데이터의 통계를 보다 효과적으로 일치시키도록 설계하여 변환 계수가 통계적으로 독립적이 되도록 하는 것이 중요하다. 예를 들어, 카루넨-루베 변환(KLT: Karhunen-Loeve Transform) 또는 희소 정규직교 변환(SOT: Sparse Orthonormal Transform)을 사용함으로써 압축을 향상시킬 수 있다. 다만, 이러한 변환은 빠른 구현이 어려운 분리 불가능한(non-separable) 변환에 해당한다. 즉, 이러한 분리 불가능한 변환을 적용하려면 N4 연산이 필요하다.
본 발명은, 일반적인 변환(general transform)의 계산 용이한 버전을 설계하는 방법을 제안한다. 구체적으로, 타겟 변환(target transform)이 주어질 때, 타겟 변환에 근사하는(approximate) 레이어드 기븐스 변환(LGT: Layered Givens Transform)을 설계하는 방법을 제안한다.
본 발명에 따르면, 타겟 변환 대비 현저하게 감소된 계산 복잡도에서 주어진 타겟 변환과 동일 또는 유사한 압축 효율을 갖는 변환을 설계할 수 있다.
이하에서는, NxN 픽셀의 정방형 블록을 사용하여 본 발명을 설명할 것이다. 다만, 본 발명은 이에 한정되지 않으며, 정방형 블록뿐 아니라 비정방형 블록(non-square blocks), 다차원(multiple dimensions) 및 비픽셀 유형(non-pixel type)의 데이터로 확장 가능하며, 이로 인해 보다 적응적인 변환을 수행할 수 있다.
본 발명에서, NxN 블록에 적용가능한 타겟 변환 H는 회전 레이어(rotation layer)와 순열 레이어(permutation layer)의 조합으로 구성되는 레이어드 기븐스 변환에 의해 근사화될 수 있다. 본 발명에서, 레이어드-기븐스 변환은 레이어드 변환으로 지칭될 수 있으며, 본 발명은 본 용어에 한정되지 않는다.
LGT(Layered Givens Transform)의 정의
이하에서, NxN 이미지 또는 비디오 블록과 변환의 매트릭스 표현을 살펴본다. 본 발명의 설명에 있어, 설명의 편의를 위해 N2은 짝수라 가정한다.
도 4는 본 발명이 적용되는 실시예로서, 2차원의 데이터 블록을 1차원 배열로 정렬하는 방법을 예시하는 도면이다.
분리 불가능한 변환을 적용하기 위해서 2차원의 데이터 블록(또는 2차원 배열)을 1차원 배열로 정렬될 수 있다. 예를 들어, 4x4 크기의 블록은 도 4에 도시된 바와 같이 행-우선(row-first)의 사전식(lexicographic) 순서로 정렬될 수 있다. 그리고, 각각의 행 안에서는 열(column) 순서로 정렬될 수 있다. 도 4에 도시되지 않았지만, 열-우선(column-first) 순서로 정렬될 수도 있다. 다만, 본 발명이 이에 한정되는 것은 아니며, 인코더/디코더는 사전식 순서 이외에 다양한 여러 방법으로 2차원 블록을 1차원 배열로 정렬할 수 있다.
본 발명에서, 레이어드 기븐스 변환은 임의의 NxN 변환에 대하여 적용될 수 있다. 일반적으로 분리 불가능한 변환은 분리 가능한 변환 대비 높은 압축 성능을 가지는 반면, 빠른 구현이 어렵고 높은 연산 복잡도를 요구한다. 따라서, 타겟 변환이 분리 불가능한 변환인 경우를 위주로 본 발명의 실시예들을 설명하기로 하나, 본 발명이 이에 한정되는 것은 아니다. 즉, 레이어드 기븐스 변환은 분리 가능한 변환에 적용될 수도 있고, 분리 불가능한 변환에 적용될 수도 있다.
NxN 블록에 적용될 수 있는 일반적인 분리 불가능한 변환 H는 N2xN2 행렬로 나타낼 수 있다. 본 발명에서 제안하는 방법은 비 정규 직교(non-orthogonal) 변환을 근사화하기 위해 사용될 수도 있지만, 설명의 편의상 타겟 변환 H는 정규 직교, 즉, 다음의 수학식 1을 만족하는 것으로 가정한다.
Figure PCTKR2017009615-appb-M000001
여기서, HT는 H의 전치 행렬(transpose matrix)을 나타내고, I는 N2xN2의 항등 행렬(identity matrix)을 나타낸다. 또한, N2xN2 순열 행렬(permutation matrix) P는 정규 직교 행렬로서 다음의 수학식 2를 만족한다.
Figure PCTKR2017009615-appb-M000002
P의 각 행은 단일의(single) 0이 아닌 원소를 포함할 수 있다. 데이터 벡터 x가 주어질 때, y=P*x를 만족하는 벡터 y는 벡터 x의 엘리먼트(element)들을 셔플링(shuffling)함으로써 획득될 수 있다.
도 5는 본 발명이 적용되는 실시예로서, 순열 행렬이 적용되는 일례를 나타내는 도면이다.
인코더/디코더는 순열 행렬을 적용함으로써 도 5에 도시된 바와 같이 데이터 벡터를 셔플링할 수 있다. 이와 같은 셔플링을 수행함으로써, 뒤에 이어지는 연산이 효율적으로 수행되도록 할 수 있다. 예를 들어, 셔플링을 통해 0이 아닌 계수(non-zero coefficient)가 특정 영역에 집중되도록 할 수 있다.
본 발명은, 타겟 변환 H가 주어질 때, H에 근사화된 레이어드 기븐스 변환 G(N2xN2)를 찾는 방법을 제안한다. G는 다음의 수학식 3과 같이 나타낼 수 있다.
Figure PCTKR2017009615-appb-M000003
여기서, Gi(N2xN2)(이때, i=1,2,…,M)는 기븐스 회전 레이어(Givens rotation layer)(또는 회전 레이어, 회전 행렬)이고, P0(N2xN2)는 순열 레이어(또는 순열 행렬)이다. 정수 M은, 예를 들어, 1, 2, 5, 10, logN,N 등의 임의의 값을 가질 수 있다. Gi는 다음의 수학식 4와 같이 나타낼 수 있다.
Figure PCTKR2017009615-appb-M000004
여기서, Pi(N2xN2)는 순열 행렬이고, T( i,j )는 쌍(pairwise) 회전 행렬(즉, 기븐스 회전 행렬)이다. 즉, 기븐스 회전 레이어 Gi는 순열 행렬과 회전 행렬의 조합으로 구성될 수 있다. T(i,j)는 아래의 도면을 참조하여 설명한다.
도 6는 본 발명이 적용되는 실시예로서, 회전 행렬이 적용되는 일례를 나타내는 도면이다.
도 6(a)를 참조하면, 회전 행렬 T( i,j )는 다음의 수학식 5와 같이 나타낼 수 있다.
Figure PCTKR2017009615-appb-M000005
도 6(b)를 참조하면, 본 발명의 일 실시예에서, 회전과 더불어 반사(reflection)를 허용하기 위해(즉, 회전 플러스 반사(rotation plus reflection)) 다음의 수학식 6과 같은 T( i,j )를 고려할 수 있다. 즉, 본 발명의 일 실시예에서, T( i,j )는 쌍 회전(pairwise rotation)과 회전 플러스 반사를 형성할 수 있다.
Figure PCTKR2017009615-appb-M000006
도 7은 본 발명이 적용되는 변환의 일례를 나타내는 도면이다.
본 발명의 일 실시예에서, T( i,j )는 도 7(a)에 도시된 바와 같이 2 개의 입력을 받아 2개의 출력을 생성하는 일반적인 2차원 비선형 변환으로 설정될 수 있다.
또한, 본 발명의 일 실시예에서, T( i,j )는 도 7(b)에 도시된 바와 같이 2 이상의 차원을 가지는 선형 변환 또는 비선형 변환으로 설정될 수 있다.
또한, 본 발명의 LGT는 도 7에 도시된 바와 같이, 2차원 또는 다차원의 선형 변환 또는 비선형 변환을 포함할 수 있다.
앞서 설명한 수학식 5 또는 수학식 6을 이용하면, 회전 행렬 Ti는 다음의 수학식 7과 같이 표현될 수 있다.
Figure PCTKR2017009615-appb-M000007
데이터 벡터 x에 대하여, 순방향(forward) 일반 변환(즉, 타겟 변환 H)은 다음의 수학식 8을 이용하여 변환 계수 cgeneral을 획득할 수 있다.
Figure PCTKR2017009615-appb-M000008
한편, LGT는 다음의 수학식 9를 이용하여 LGT 변환 계수 cLGT를 획득할 수 있다.
Figure PCTKR2017009615-appb-M000009
수학식 8 및 수학식 9에 의해 생성된 변환 계수의 역변환은 다음의 수학식 10에 의해 수행될 수 있다.
Figure PCTKR2017009615-appb-M000010
도 8은 본 발명이 적용되는 실시예로서, 순방향 및 역방향의 레이어드 기븐스 변환의 적용 방법을 예시하는 도면이다.
도 8(a)를 참조하면, 인코더는 순방향 LGT 변환을 적용함으로써, LGT 변환 계수를 획득할 수 있다. 구체적으로, 인코더는 입력 데이터 x에 순차적으로 도 8(a)에 도시된 바와 같이 회전 레이어와 순열 레이어를 적용함으로써, LGT 변환 계수를 획득할 수 있다.
도 8(b)를 참조하면, 인코더/디코더는 LGT 변환 계수에 역방향 LGT 변환을 적용함으로써, x를 복원할 수 있다. 구체적으로, 디코더는 LGT 변환 계수에 순차적으로 도 8(b)에 도시된 바와 같이 순열 레이어와 회전 레이어를 적용함으로써, x를 복원(또는 획득)할 수 있다.
도 9은 본 발명이 적용되는 실시예로서, 회전 레이어의 적용 방법을 예시하는 도면이다.
도 9을 참조하면, 기븐스 회전 레이어 Gi는 순열 행렬과 회전 행렬의 조합으로 구성될 수 있다. 인코더/디코더는 쌍(pairwise) 회전을 효율적으로 적용하기 위하여 순열 행렬을 적용할 수 있다. 인코더/디코더는 셔플링된 데이터에 회전 행렬을 적용한 후, 역 셔플링할 수 있다.
본 발명의 일 실시예에서, 타겟 변환 H는 KLT, SOT(Sparse Orthonormal Transform), 커브렛 변환(curvelet transform), 컨투어렛 변환(contourlet transform) 또는 복합 웨이브렛 변환(complex wavelet transform)일 수 있다.
LGT(Layered Givens Transform)의 설계
타겟 변환 H가 주어질 때, 레이어드 기븐스 변환 G는 다음의 수학식 11을 이용하여 설계될 수 있다.
Figure PCTKR2017009615-appb-M000011
여기서,
Figure PCTKR2017009615-appb-I000001
는 프로베니우스 놈(Frobenius norm)을 나타낸다. 상기 수학식 11은 타겟 변환 H에 매칭되는 G의 최적화 문제이다. Tr{A}을 행렬 A의 트레이스(trace)라고 할 때, 상기 수학식 11은 다음의 수학식 12와 같이 표현될 수 있다. 여기서, 트레이스는 행렬의 대각 성분의 합을 나타낸다.
Figure PCTKR2017009615-appb-M000012
앞서 가정한 바와 같이 H와 G는 정규 직교이기 때문에, 수학식 12는 수학식 13과 같이 정리될 수 있다.
Figure PCTKR2017009615-appb-M000013
양의 요소(positive element)를 가지는 가중치 벡터 w를 수용함으로써, 일반적이 최소화가 획득될 수 있다. 여기서, 가중치 벡터는 H 내 각 기저 벡터(basis vector)(즉, H의 각 열(column))의 중요도(importance)를 나타낸다. 여기서, 중요도는 각 성분의 주파수에 따라 결정될 수 있다. 따라서, 가중치 벡터 w를 고려할 때, 수학식 11의 최소화 문제는 다음의 수학식 14와 같이 나타낼 수 있다.
Figure PCTKR2017009615-appb-M000014
여기서, 가중치 행렬 W(N2xN2)는 다음의 수학식 15와 같이 표현될 수 있다.
Figure PCTKR2017009615-appb-M000015
수학식 11 또는 수학식 14의 최적화 문제는 레이어드 기븐스 변환을 구성하는 각 레이어들의 최적화 문제로 귀결된다. 이하에서, 순열 레이어 P0의 결정(또는 유도) 방법을 설명한다.
트레이스 속성을 이용하여 수학식 14는 다음의 수학식 16과 같이 정리될 수 있다.
Figure PCTKR2017009615-appb-M000016
이 경우, P0를 제외한 다른 변수들은 고정되어 있다고 가정한다. 수학식 16의 최소화 문제는
Figure PCTKR2017009615-appb-I000002
의 최대화 문제이다. 이때, P0는 헝가리안 알고리즘(Hungarian algorithm)을 이용하여 결정될 수 있다. 아래의 도면을 참조하여 설명한다.
도 10은 본 발명이 적용되는 실시예로서, 헝가리안 알고리즘(Hungarian algorithm)을 이용한 순열 레이어의 결정 방법을 예시하는 도면이다.
도 10을 참조하면, 인코더/디코더는 헝가리안 알고리즘을 이용하여 각 노드간 중복되지 않는 최적 할당(optimal assignment)을 결정할 수 있다. 구체적으로, 앞서 수학식 16에서
Figure PCTKR2017009615-appb-I000003
Figure PCTKR2017009615-appb-I000004
의 대각 행렬의 합을 나타낸다. 인코더/디코더는 헝가리안 방법을 통해 상기
Figure PCTKR2017009615-appb-I000005
를 최대화하는 최적의 할당(optimal assignment)을 계산할 수 있다.
본 발명의 일 실시예에서, 블러섬 방법(blossom method)은 순열 행렬을 설계하는데 사용될 수도 있다.
이하에서는, 기븐스 회전 레이어 Gi의 결정 방법을 설명하도록 한다.
앞서 수학식 3에서 설명한 바와 같이, 레이어드 기븐스 변환 G는 기븐스 회전 레이어와 순열 레이어의 조합으로 구성될 수 있다. 이때, G는 하나 이상의 기븐스 회전 레이어를 포함할 수 있다. 복수 개의 기븐스 레이어들 중, i 번째 기븐스 회전 레이어 Gi를 최적화하기 위하여, 전술한 수학식 14는 다음의 수학식 17과 같이 정리될 수 있다.
Figure PCTKR2017009615-appb-M000017
여기서,
Figure PCTKR2017009615-appb-I000006
이고,
Figure PCTKR2017009615-appb-I000007
이다. Gi는 Ri에서 행의 쌍을 선택하고,
Figure PCTKR2017009615-appb-I000008
내 동일한 위치의(co-located) 행의 쌍과 매칭시키기 위해 상기 선택된 쌍을 회전한다. 최적의 Gi는 수학식 17을 최소화하는 최상의 쌍과 최상의 회전 각을 선택함으로써 결정될 수 있다. 먼저, 인코더/디코더는 쌍 이득(pair gain)을 설정함으로써 각 쌍의 최상의 회전 각을 계산하고, 상기 쌍 이득의 합을 최대화하는 쌍(pair)들을 결정할 수 있다. 쌍 이득의 설정을 통한 회전 각의 결정 방법을 먼저 살펴본다.
Gi가 T( i,j )에 의해 회전할 j번째 쌍으로서, 행 p와 q를 선택하였다고 가정한다. 그리고, r(i,p), r( i,q )는 Ri의 행 p와 q를 결정하고, h( i,p )와 h(i,q)
Figure PCTKR2017009615-appb-I000009
의 행 p와 q를 결정한다. 이를 바탕으로 앞서 설명한 수학식 17은 다음의 수학식 18과 같이 나타낼 수 있다.
Figure PCTKR2017009615-appb-M000018
최적의 회전 각 θ( i,j )는 수학식 18을 최소화하는 값으로 결정될 수 있다. 수학식 18의 일부 수식은 다음의 수학식 19와 같이 c(i,p,q)와 s(i,p,q)로 정의될 수 있다.
Figure PCTKR2017009615-appb-M000019
Gi가 행 p와 q를 선택할 때, 최적의 회전 각 θ( i,j )는 다음의 수학식 20을 만족한다.
Figure PCTKR2017009615-appb-M000020
수학식 19 및 20을 이용하여 수학식 18은 수학식 21과 같이 정리할 수 있다.
Figure PCTKR2017009615-appb-M000021
즉, 최적의 Gi를 획득하기 위해 행 p와 q를 쌍으로 선택하여 회전시키는 경우를 고려했을 때, 기븐스 회전을 수행하지 않는 경우 대비 최적화 이득은
Figure PCTKR2017009615-appb-I000010
와 같다. 따라서, 기븐스 회전에 대한 쌍 이득은 다음의 수학식 22와 같이 정의할 수 있다.
Figure PCTKR2017009615-appb-M000022
회전 플러스 반사의 경우에 대한 쌍 이득은 전술한 수학식 18 또는 19에서 r(i,p)와 r( i,q )를 서로 교체함으로써 획득될 수 있다. 이 경우, 최종 쌍 이득 gain(i,p,q)은 회전의 경우와 회전 플러스 반사의 경우에 계산되는 두 쌍 이득 중 최대값을 가지는 이득으로 결정(또는 설정)될 수 있다.
본 발명의 일 실시예로, 쌍 이득 gain(i,p,q)은 계산 복잡도 및 메모리 복잡도를 고려하여 수정될 수 있다. 예를 들어, 수학식 22의
Figure PCTKR2017009615-appb-I000011
대신
Figure PCTKR2017009615-appb-I000012
를 이용하여 쌍 이득이 계산될 수 있다.
본 발명의 일 실시예로, 쌍 이득 gain(i,p,q)은 θ( i,j )의 제한된 셋(set)만을 고려하여 계산될 수도 있다. 예를 들어, 인코더/디코더는
Figure PCTKR2017009615-appb-I000013
를 만족하는 모든 θ( i,j ) 대신에,
Figure PCTKR2017009615-appb-I000014
를 만족하는 θ( i,j )를 고려할 수 있다. 여기서,
Figure PCTKR2017009615-appb-I000015
Figure PCTKR2017009615-appb-I000016
를 만족하는 각각 구별되는 각도일 수 있다. 이와 같은 θ(i,j)에 기초하여 전술한 수학식 18을 최소화하는 θ( i,j )가 결정될 수 있다. 예를 들어,
Figure PCTKR2017009615-appb-I000017
는 k*(2π/m)일 수 있고, 여기서, m은 전체 각도의 개수일 수 있다.
본 발명의 일 실시예로, 쌍 이득 gain(i,p,q)은 특정 쌍(또는 제한된 쌍) p와 q를 허용하여 계산될 수 있다. 예를 들어, 메모리 접근, 캐쉬 미스(cache miss) 등을 제한하기 위하여 상기 쌍 이득은 다음의 수학식 23과 같이 수정될 수 있다.
Figure PCTKR2017009615-appb-M000023
여기서, Δ는 임의의 값으로서, 예를 들어, 1,10,17,123,1024,2048 등의 값을 가질 수 있다. 또한, 예를 들어, 상기 쌍 이득은 다음의 수학식 24을 이용하여 계산될 수도 있다.
Figure PCTKR2017009615-appb-M000024
여기서, f(p,q)는 일반적인 함수에 해당할 수 있다.
다음으로, 인코더/디코더는 쌍 이득의 합을 최대화하는 총 쌍(pair)들을 결정함으로써, 최적의 기븐스 회전 레이어 Gi를 유도할 수 있다.
Gi의 최적화는 모든 비 교차 쌍들(nonintersecting pair)에 대해 상기 쌍 이득의 합을 최대화함으로써 달성될 수 있다. 이는 그래프 이론에서 최대 매칭(maximum matching)의 문제로 귀결될 수 있다.
이때, N2개 행의 인덱스들이 그래프의 꼭지점(vertex)들로 결정된다고 가정한다. 그리고, 앞서 수학식 22의 쌍 이득 gain(i,p,q)=gain(i,e)이 그래프의 전체 엣지 셋(edge set) E 내 엣지 e(e={p,q})의 가중치라고 가정한다.
인코더/디코더는 E 중에서 각 꼭지점이 하나의 엣지에 대응되는, 즉, 꼭지점이 여러 엣지에 중복되지 않는 조건을 만족하는 엣지 셋 Ω를 결정하고, 상기 Ω 내에서 엣지 가중치의 합이 최대가 되는 Ω를 결정할 수 있다. 이는 다음의 수학식 25와 같이 표현할 수 있다.
Figure PCTKR2017009615-appb-M000025
여기서, ek와 el은 전체 엣지 셋 E 내 엣지를 나타낸다. 수학식 25를 참조하면, 각 꼭지점이 하나의 엣지에 대응되는 엣지 Ω 내에서 엣지들의 쌍 이득의 총합이 최대가 되도록 엣지들이 결정될 수 있다. 이러한 최대 매칭 문제는 블러섬 알고리즘(Blossom algorithm)을 이용하여 해결될 수 있다. 아래의 도면을 참조하여 설명한다.
도 11은 본 발명이 적용되는 실시예로서, 블러섬 알고리즘(Blossom algorithm)을 이용한 회전 레이어의 결정 방법을 예시하는 도면이다.
도 11을 참조하면, 인코더/디코더는 블러섬 알고리즘을 이용하여, 중복되지 않는 엣지들의 최대 매칭 쌍(maximum matching pair)을 찾을 수 있다. 다시 말해, 인코더/디코더는 블러섬 알고리즘을 이용하여 중복되지 않는 엣지들의 총 쌍 이득(또는 가중치)이 최대가 되는 엣지들을 결정할 수 있다.
인코더/디코더는 상술한 방법을 이용하여 최적의 N2/2 개의 쌍들을 결정하고, 각 쌍들의 최적의 회전(또는 회전 플러스 반사) 각에 기초하여 T( i,j )를 계산할 수 있다. 이를 통해 최적의 Gi가 유도된다.
LGT(Layered Givens Transform)의 설계 알고리즘
전술한 수학식 14의 LGT 설계 문제에 대한 해법으로서, 본 발명은 타겟 변환에 근사하는 레이어드 기븐스 변환을 설계하는 알고리즘을 제안한다.
도 12은 본 발명이 적용되는 실시예로서, 레이어드 기븐스 변환의 최적화 방법을 설명하기 위한 개념도이다.
도 12을 참조하면, 레이어드 기븐스 변환의 최적화기(optimizer)는 타겟 변환 H(또는 원하는 변환(desired transform) H)와 관련 파라미터들을 입력으로 하여, 최적화된 LGT를 출력한다. 상기 최적화기는 인코더와 디코더에 포함되는 구성으로 구현될 수 있다.
레이어드 기븐스 변환을 설계하는 알고리즘은 아래의 6가지 알고리즘(또는 절차)로 구성될 수있다.
첫 번째는, 순열 레이어 P0의 최적화 알고리즘이다.
Figure PCTKR2017009615-appb-T000001
상기 표 1은 P0의 최적화 알고리즘의 일례을 나타낸다. 구체적으로 살펴보면,
1. 헝가리안 방법을 사용하여 수학식 16을 최소화하는 P0를 결정한다.
두 번째는, 기븐스 회전 레이어 Gi의 최적화 알고리즘이다.
Figure PCTKR2017009615-appb-T000002
상기 표 2는 Gi의 최적화 알고리즘의 일례를 나타낸다. 구체적으로 살펴보면,
1. 모든 가능한 쌍에 대한 쌍 이득(pair gain) gain(i,p,q)를 계산한다.
2. 블러섬 방법(blossom method)을 사용하여 수학식 25를 최대로 하는 중복되지 않는 최적의 쌍들을 결정한다.
3. 최적의 쌍들을 사용하여 Pi, 최적의 T( i,j ) 및 Gi를 구성한다.
세 번째는, 디센트 알고리즘(Descent algorithm)이다. 디센트 알고리즘에서, 전술한 P0의 최적화 알고리즘이 호출되며, 기븐스 회전 레이어를 변경해가면서 타겟 변환 H에 매칭되는 최적의 레이어를 유도한다. 디센트 알고리즘은, 초기의 LGT G0를 입력으로 할 수 있다. 또는, 초기의 LGT G0는 주어진 것으로 가정한다.
Figure PCTKR2017009615-appb-T000003
상기 표 3는 디센트 알고리즘의 일례를 나타낸다. 구체적으로 살펴보면,
1. 다음의 수학식 26와 같이 초기값을 설정한다.
Figure PCTKR2017009615-appb-M000026
여기서, m은 카운팅(counting)을 위한 변수로서 최적 값을 찾기 위해 반복을 수행하는 횟수를 나타낸다. 그리고, err() 함수는 타겟 변환에 대한 매칭 에러를 나타낸다. 상기 err() 값이 낮을수록 타겟 변환에 대한 근사도가 높아질 수 있다.
2. 다음의 수학식 27을 만족할 때까지 아래의 단계를 반복한다.
Figure PCTKR2017009615-appb-M000027
여기서,
Figure PCTKR2017009615-appb-I000018
은 충분히 작은 값으로서 임계값(threshold)을 나타낸다.
Figure PCTKR2017009615-appb-I000019
이 클수록 적은 반복 횟수로도 최적 값을 찾을 수 있다(즉, 빨리 수렴할 수 있다).
Figure PCTKR2017009615-appb-I000020
이 작을수록 타겟 변환에 대한 근사 정도가 높아질 수 있다.
(1) m을 1만큼 증가시킨다. 즉, m을 m+1 값으로 설정한다.
(2) P0를 최적화한다. 이때, 앞서 설명한 P0의 최적화 알고리즘이 수행될 수 있다.
(3) 최적화된 P0를 이용하여 Gm-1 내 P0를 업데이트함으로써, LGT 후보
Figure PCTKR2017009615-appb-I000021
를 구성한다. 즉, Gm-1 에서 P0가 업데이트된
Figure PCTKR2017009615-appb-I000022
가 이용된다. 이 경우, Gm- 1는 변하지 않는다.
(4) 다음의 수학식 28을 이용하여
Figure PCTKR2017009615-appb-I000023
에 대한 에러 err0(m)를 계산한다.
Figure PCTKR2017009615-appb-M000028
(5) k가 1부터 m이 될 때까지 아래의 a), b), c) 단계를 반복한다.
a) Gk를 최적화한다. 이때, 앞서 설명한 Gi의 최적화 알고리즘이 수행될 수 있다.
b) 최적화된 Gk를 이용하여 Gm-1 내 Gk를 업데이트함으로써, 후보
Figure PCTKR2017009615-appb-I000024
를 구성한다. 즉, Gm-1 에서 Gk가 업데이트된
Figure PCTKR2017009615-appb-I000025
가 이용된다. 이 경우, Gm- 1는 변하지 않는다.
c) 다음의 수학식 29을 이용하여 상기
Figure PCTKR2017009615-appb-I000026
에 대한 에러 errk(m)을 계산한다.
Figure PCTKR2017009615-appb-M000029
(6) 다음의 수학식 30을 이용하여 k’를 에러 값을 최소로하는 k로 설정한다.
Figure PCTKR2017009615-appb-M000030
(7) Gm
Figure PCTKR2017009615-appb-I000027
로 설정한다.
(8) 에러 err(m)을 errk (m)으로 설정한다.
3. 레이어드 기븐스 변환 G를 Gm으로 설정한다.
네 번째는, 랜덤 이웃(random neighbor) 탐색 알고리즘이다. 랜덤 이웃 탐색 알고리즘에서, 보다 효과적으로 최적 값을 결정하기 위하여 일부 레이어들을 랜덤 값으로 설정하고 전술한 디센트 알고리즘을 호출한다. 랜덤 이웃 탐색 알고리즘은 G를 입력으로 할 수 있다. 또는, G는 주어진 것으로 가정한다.
Figure PCTKR2017009615-appb-T000004
상기 표 4는 랜덤 이웃 탐색 알고리즘의 일례를 나타낸다. 구체적으로 살펴보면,
1. 랜덤하게 G에서 M/2+1 레이어들을 선택한다. 다만, 선택되는 레이어들의 수는 하나의 예시로서, 본 발명이 이에 제한되지 않는다.
2. 선택된 레이어들을 항등 행렬(identity matrix)로 설정함으로써, Ginit 를 구성한다.
3. G’를 Ginit 를 입력으로 하는 디센트 알고리즘의 출력으로 설정한다.
4. G’를 반환한다.
다섯 번째는, 시뮬레이티드 어닐링 알고리즘(Simulated annealing algorithm)이다. 시뮬레이티드 어닐링 알고리즘에서, 랜덤 이웃 탐색 알고리즘이 호출된다. 랜덤 이웃 탐색 알고리즘을 적용하여 유도된 솔루션(즉, 새로운 최적값)과 기존의 솔루션을 반복적으로 비교하면서, 최적 값을 찾는다. 시뮬레이티드 어닐링 알고리즘은, 초기의 LGT G0를 입력으로 할 수 있다. 또는, 초기의 LGT G0는 주어진 것으로 가정한다.
Figure PCTKR2017009615-appb-T000005
상기 표 5는 시뮬레이티드 어닐링 알고리즘의 일례를 나타낸다. 구체적으로 살펴보면,
1. 다음의 수학식 31과 같이 초기값을 설정한다.
Figure PCTKR2017009615-appb-M000031
2. 현재 레이어드 기븐스 변환 G(cur)를 G0으로 설정하고, 현재 에러 err(cur)를 err(0)로 설정한다.
3. m이 최대 반복 횟수보다 크거나 같을 때까지 아래의 a), b), c), d), e) 단계를 반복한다.
a) m을 1만큼 증가시킨다. 즉, m을 m+1 값으로 설정한다.
b) Gm을 G(cur)를 입력으로 하는 랜덤 이웃 탐색 알고리즘의 출력으로 설정한다.
C) 다음의 수학식 32을 이용하여 Gm에 대한 에러 err(m)을 계산한다.
Figure PCTKR2017009615-appb-M000032
d) 승인 여부를 나타내는 변수 accept를 err(m), err(cur) 및 m을 입력으로 하는 승인 결정 알고리즘의 출력으로 설정한다. 승인 결정 알고리즘은 후술한다.
e) accept 값이 1이면, G(cur)를 Gm으로 설정하고, err(cur)를 err(m)으로 설정한다.
4. G(cur)를 출력한다.
여섯 번째는, 승인(acceptance) 결정 알고리즘이다. 승인 결정 알고리즘에서, 확률에 기초하여 새롭게 획득한 솔루션(즉, 최적 값)을 선택할지 여부를 결정한다. 승인 결정 알고리즘은 err(m), err(cur), 반복 횟수 m을 입력으로 할 수 있다. 또는, err(m), err(cur), 반복 횟수 m이 주어진 것으로 가정한다.
Figure PCTKR2017009615-appb-T000006
상기 표 6는 승인 결정 알고리즘의 일례를 나타낸다. 구체적으로 살펴보면,
1. m에 기초하여 현재 온도 t를 계산한다. 예를 들어, t는 다음의 수학식 33를 이용하여 계산될 수 있다.
Figure PCTKR2017009615-appb-M000033
여기서, MAX_ITER_COUNT는 최대 반복 횟수를 나타낸다. 반복 횟수가 증가할수록 t 값은 낮아질 수 있다.
2. err(m), err(cur) 및 t에 기초하여 승인 확률 p를 결정한다.
예를 들어, p는 다음의 수학식 34를 이용하여 계산될 수 있다.
Figure PCTKR2017009615-appb-M000034
수학식 34를 참조하면, 랜덤 이웃 탐색 알고리즘을 통해서 새롭게 획득된 최적 값에 따른 에러 값의 차이가 동일한 경우에도 t 값이 낮은 경우에는 승인되지 않을 수 있다.
3. 결정된 승인 확률 p에 기초하여 베르누이 랜덤 변수(Bernoulli random variable) A를 생성한다.
4. 만약 A가 1이면, accept를 반환하고, 아니면, reject를 반환한다. 또는, accept 값으로 A 값을 설정한다.
도 13 및 도 14은 본 발명이 적용되는 실시예로서, 레이어드 기븐스 변환을 설계하는 알고리즘을 설명하기 위한 흐름도 있다.
전술한 디센트 알고리즘은 도 13에 도시된 바와 같은 단계로 수행될 수 있다.
인코더/디코더는 초기화를 수행한다(S1301).
앞서 설명한 수학식 26를 이용하여 반복 횟수(number of iteration)를 나타내는 변수 m과 타겟 변환에 대한 매칭 에러를 나타내는 err() 함수를 초기화한다. 상기 err() 함수는 주어진 초기의 LGT를 이용하여 초기화될 수 있다.
인코더/디코더는 LGT를 구성하는 각 레이어에 대하여 개별적으로 최적화를 수행한다(S1302).
전술한 바와 같이, 인코더/디코더는 레이어를 한 개씩 변경해가면서 타겟 변환 H에 매칭되는 최적의 레이어를 유도할 수 있다.
인코더/디코더는 S1302 단계에서 선택된 최적의 레이어를 이용하여 LGT를 업데이트한다(S1303).
인코더/디코더는 업데이트된 LGT에 기초하여 에러 값이 수렴하는지 여부를 판단한다(S1304).
S1304 단계에서 판단한 결과 수렴하지 않는 경우, 다시 S1302 단계를 수행함으로써, 에러 값이 수렴할 때까지 반복(iteration)을 수행한다(S1305).
S1305 단계에서 판단한 결과 수렴하는 경우, 결정된 최적의 LGT 를 로컬 최적(local optimum)으로 결정한다.
위에서 설명한 디센트 알고리즘에 의해서도 최적화된 LGT을 얻을 수 있지만, 여러 레이어들을 한번에 최적화하지 않고 한 레이어씩 최적화 및 업데이트를 수행하기 때문에, 로컬 최적보다 타겟 변환에 대한 근사도가 높은 글로벌 최적(global optimum)에 이르지 못하고 수렴하게 되는 한계를 가질 수 있다. 이러한 한계는 시뮬레이티드 어닐링 알고리즘을 수행함으로써 극복될 수 있다. 전술한 시뮬레이티드 어닐링 알고리즘은 도 14에 도시된 바와 같은 단계로 수행될 수 있다.
인코더/디코더는 초기화를 수행한다(S1401). 앞서 도 13에서 S1301 단계와 동일하게 수행될 수 있다.
인코더/디코더는 현재 LGT의 이웃을 찾는다(S1402). 이때, 전술한 랜덤 이웃 탐색 알고리즘이 수행될 수 있다.
인코더/디코더는 탐색된 이웃에 기초하여 로컬 최적을 찾는다(S1403). 즉, 인코더/디코더는 상기 랜덤 이웃 탐색 알고리즘을 통해 초기화된 레이어들에 기초하여 새롭게 로컬 최적을 결정한다. 이때, 앞서 도 12에서 설명한 디센트 알고리즘이 수행될 수 있다.
인코더/디코더는 점프 확률 p를 계산하고(S1404), 점프 확률 p값에 기초하여 현재 로컬 최적을 상기 S1403 단계에서 찾은 로컬 최적으로 설정할지 여부를 판단한다(S1405). 여기서, 점프는 새롭게 획득된 로컬 최적의 채택을 의미할 수 있고, 점프 확률 p은 현재 반복 횟수와 최대 반복 횟수에 기초하여 결정될 수 있다. 이때, 앞서 설명한 승인 결정 알고리즘이 수행될 수 있다.
S1405 단계에서 판단한 결과, 점프(또는 승인)이 결정되면, 인코더/디코더는 현재 LGT를 S1403 단계에서 찾은 로컬 최적으로 설정한다(S1406).
인코더/디코더는 최대 반복 횟수에 이를 때까지 상기 S1402 단계부터 S1406 단계까지의 단계를 순차적으로 반복 수행한다(S1407).
현재 반복 횟수가 최대 반복 회수에 도달한 경우, 인코더/디코더는 현재 LGT를 최적의 LGT로 결정한다(S1408).
공분산 확장(covariance extension)
가우시안 프로세스(Gaussian process)의 경우, KLT는 최적의 변환에 해당한다. 가우시안 프로세스가 다음의 수학식 35를 만족하는 공분산 행렬(covariance matrix) K를 갖는 경우를 가정한다.
Figure PCTKR2017009615-appb-M000035
여기서, H는 KLT이고, Λ는 고유치(eigen value)의 대각 행렬이다. 상기 수학식 35를 이용하면 앞서 설명한 수학식 11은 다음의 수학식 36와 같이 정리될 수 있다.
Figure PCTKR2017009615-appb-M000036
수학식 36의 최소화는, 예를 들어, 다음의 수학식 37을 이용하여 Gm을 반복적으로 획득함으로써 수행될 수 있다.
Figure PCTKR2017009615-appb-M000037
수학식 37은 앞서 LGT 설계 및 LGT 설계 알고리즘에서 설명한 방법들을 사용하여 해결될 수 있다. 또한, 공분산 행렬 Κ를 이용하는 다른 최소화 기법(또는 최적화 기법)이 사용될 수도 있다.
트레이닝 데이터 확장(Training Data Extension)
희소 변환(sparse transform)은 행렬 X의 열에 배열된 벡터들의 트레이닝 셋(training set)을 이용하여 획득될 수 있다. 이러한 경우, LGT 는 다음의 수학식 38을 이용하여 획득될 수 있다.
Figure PCTKR2017009615-appb-M000038
여기서, x는 입력 데이터를 나타내고, C는 X의 열에 대해 획득된 lGT 계수를 나타내며,
Figure PCTKR2017009615-appb-I000028
는 L0 놈(norm)을 나타낸다. 그리고, λ는 양자화 파라미터에 따라 결정되는 값이다. 입력 데이터는 비 정규 직교(non-orthogonal) 행렬일 수 있다. 따라서, LGT를 획득하기 위하여 비 정규 직교 행렬이 이용될 수 있다. 수학식 38의 최소화는, 예를 들어, 다음의 수학식 39을 이용하여 C와 Gm을 반복적으로 획득함으로써 수행될 수 있다.
Figure PCTKR2017009615-appb-M000039
여기서, hard_threshold()는 특정 임계값 보다 작은 경우 0의 값을 취하는 함수이다. 즉, 계수의 절대값의 크기가
Figure PCTKR2017009615-appb-I000029
보다 작으면 0의 값으로 설정될 수 있다. Gm은 앞서 앞서 LGT 설계 및 LGT 설계 알고리즘에서 설명한 방법들을 사용하여 획득될 수 있다. 그리고, X에 관한 다른 최소화가 사용될 수 있다.
도 15는 본 발명이 적용되는 실시예로서, LGT 변환, 행-열 변환(row-column transform) 및 분리 가능한 변환에 의한 근사화들을 나타낸다.
도 15를 참조하면, 타겟 변환은 분리 불가능한 변환 기저인 경우를 가정한다.
행-열 변환 및 분리 가능한 변환을 사용한 근사화와 비교할 때, LGT는 다른 변환들 대비 타겟 변환 기저에 대한 높은 충실도(fidelity)를 보존한다. 즉, LGT는 행-열 변환 및 분리 가능한 변환을 사용하는 근사화 대비 타겟 변환에 훨씬 더 높은 근사를 획득할 수 있다.
추가 실시예
본 발명의 일 실시예로, N2개의 데이터 신호 값들을 변환하기 위하여 하나 이상의 LGT가 사용될 수 있다. 디코더 측을 예로 들면, 디코더는 유도된 여러 개의 LGT 중에서 인코더로부터 수신된 정보(즉, 특정 LGT를 지시하는 인덱스)를 이용하여 특정 LGT를 선택할 수 있다. 또는, 인코더/디코더는 복수 개의 LGT를 순차적으로 적용할 수도 있다. 예를 들어, 인코더/디코더는 첫 번째 스테이지(stage)의 LGT를 이용하여 변환을 수행한 후, 두 번째 스테이지의 LGT를 이용하여 추가적으로 변환을 수행할 수 있다.
본 발명의 일 실시예로, 감소된 차원의(reduced dimensional) LGT는 아래와 같이 N2개의 데이터 신호 값들을 변환하는데 사용될 수 있다. 정규 LGT(즉, 앞서 설명한 LGT)는 LGT G를 사용하여 X의 모든 N2 요소들을 변환하는 것과 동일할 수 있다. 즉, 정규 LGT는 N2 차원을 갖는다고 할 수 있다. 반면에, 인코더/디코더는 감소된 차원의 LGT를 이용하여 변환을 수행할 수도 있다.
- NxN 데이터 블록으로부터 획득된 N2x1 벡터를 x라고 가정한다. 이 경우, 예를 들어, x는 NxN 데이터 블록으로부터 사전식 순서로 정렬된 벡터일 수 있다.
- 순열 행렬 Q1(N2xN2)은 X에 적용될 수 있다. N1(N1≤N2) 차원의 감소된 차원의 LGT는 Q1x(즉, Q1이 적용된 x)의 첫 번째 N1 요소에 적용될 수 있다. 그리고, Q1x의 나머지 요소는 변환 계수 벡터 y(N2x1)를 형성하기 위해 전달될 수도 있고, 다른 감소된 차원의 LGT가 적용될 수도 있다.
- 예를 들어, Q1x의 나머지 요소에 다른 감소된 차원의 LGT가 적용되는 경우, 인코더/디코더는 Q1x의 나머지 요소에 N2-N1 차원의 LGT를 적용할 수 있다.
- 예를 들어, Q1x의 나머지 요소에 다른 감소된 차원의 LGT가 적용되는 경우, 인코더/디코더는 N2-N1 요소 중에서 N2 요소에 대해서 다른 감소된 차원의 LGT를 적용하고, 나머지 N2-N1-N2 요소에 대해서는 변환을 스킵하거나 재귀적(recursive)으로 N3개의 또 다른 감소된 차원의 LGT를 적용할 수도 있다.
- 또한, y는 Q2(N2xN2)와 N2를 사용하여 위와 유사한 방식으로 추가 변환될 수도 있다.
- 또한, 추가 변환은 Q1(N2xN2), N1(N1≤N2) 및 l(l=1,...,L)을 사용하여 특정 횟수 만큼 반복될 수도 있다. 상기 L은 1, 2, 7, 117, ...과 같은 임의의 양의 정수일 수 있다. 여기서, l은 변환이 반복적으로 적용되는 횟수를 나타낸다. 반복이 수행되는 과정에서, Q1(N2xN2)과 N1(N1≤N2)으로 동일한 값이 이용될 수도 있고, 반복마다 서로 다른 값이 이용될 수도 있다.
도 16은 본 발명이 적용되는 일 실시예로서, 감소된 차원의 LGT를 적용하는 방법의 일례를 나타내는 도면이다.
도 16을 참조하면, 순열 행렬이 적용된 데이터가 중복되지 않는 범위에서, 서브 그룹 단위로 감소된 차원의 LGT가 적용될 수 있다.
본 발명의 일 실시예로, 최종 순열 행렬 Qfinal(N2xN2)은 감소된 차원의 LGT에 의해 생성된 계수들에 적용될 수 있다.
본 발명의 일 실시예로, LGT는 픽셀 값을 변환하는데 사용될 수 있다.
본 발명의 일 실시예로, LGT는 다른 변환의 변환 계수를 추가로 변환(즉, 2차 변환)하는데 사용될 수 있다. 이때, 상기 다른 변환은 DCT, DST, KLT, SOT, 웨이브렛 변환 등일 수 있다.
본 발명의 일 실시예로, LGT 레이어들의 개수 M은 계산 복잡도에 기초하여 인코더에서 결정되고 디코더로 전송될 수 있다.
본 발명의 일 실시예로, LGT 레이어들의 개수 M은 율-왜곡 최적화(rate-distortion optimization)에 기초하여 인코더에서 결정되고 디코더로 전송될 수 있다.
본 발명의 일 실시예로, 회전 또는 회전 플러스 반사, T( i,j ) 및 그 역들은 병렬 처리를 사용하여 수행될 수 있다.
본 발명의 일 실시예로, 인코더는 데이터 블록에 대해 복잡도 및/또는 율-왜곡 관점에 기초하여 LGT 또는 다른 변환(예를 들어, DCT)을 선택하여 변환하고, 디코더에 선택된 변환 및/또는 관련 파라미터 정보를 시그널링할 수 있다.
본 발명의 일 실시예로, 인코더 및 디코더 모두 이전에 디코딩된 데이터를 사용하여 LGT를 결정할 수 있다. 이때, 인코더 및 디코더는 상기 데이터에 대한 공분산 또는 스파스 모델링(sparse modeling)을 사용하여 LGT를 결정할 수 있다. 그리고, 인코더는 LGT 계수를 변환 및 인코딩할 수 있다. 디코더는 변환 계수를 디코딩하고 인버스 LGT를 적용할 수 있다. 이 경우, LGT 선택에 관련된 정보가 시그널링이 수행되지 않을 수 있다.
스케일러블 압축 애플리케이션 (scalable compression applications)을 목표로 하는 일 실시예에서, 인코더는 데이터 블록에 대하여 M1 개의 LGT 레이어들을 적용하고, 양자화하고, 베이스라인(baseline) 계수로서 베이스라인 디코더에 LGT 결과 계수를 전송할 수 있다. 그리고, 인코더는 데이터 블록에 대하여 추가(further) LGT 레이어들을 적용하고, 양자화된 베이스라인 계수에 관한 레지듀얼(residual) LGT 계수 정보를 계산하고, 레지듀얼 정보를 향상 계층(enhancement layer)으로서 전송할 수 있다. 향상 레이어 디코더는 디코딩된 베이스 라인 LGT 계수로 시작하는 추가 LGT 레이어를 계산하고, 레지듀얼 정보에 모든 LGT 레이어들을 적용함으로써 역변환을 수행할 수 있고, 데이터를 복원할 수 있다.
도 17은 본 발명이 적용되는 인코더 내 변환부 및 양자화부의 개략적인 블록도를 예시하는 도면이다.
인코더는 연산 복잡도 또는 율-왜곡 최적화(Rate-distortion Optimization)에 기초하여 LGT 또는 다른 변환(예를 들어, DCT)을 선택하여 변환하고, 디코더에 선택된 변환 및/또는 관련 파라미터 정보를 시그널링할 수 있다.
구체적으로, 앞서 도 1에서 변환부(120)와 양자화부(130)은 DCT 변환부(1721), LGT 변환부(1722), 제 1 양자화부(1731), 제 2 양자화부(1732) 및 RDO 결정부(1735)를 포함하여 구성될 수 있다.
DCT 변환부(1721) 및/또는 LGT 변환부(1722)는 잔차 신호를 변환한 변환 계수를 제 1 양자화부(1731) 및/또는 제 2 양자화부(1732)로 전송할 수 있다. 그리고, RDO 결정부(1735)은 RDO에 기초하여 DCT 변환 또는 LGT 변환을 선택할 수 있고, 결정된 변환에 관련된 정보 또는 LGT 변환과 관련된 파라미터 정보를 엔트로피 인코딩부(190), 역양자화부(140) 또는 역변환부(150)로 전송할 수 있다.
도 18은 본 발명이 적용되는 디코더 내 역변환부 및 역양자화부의 개략적인 블록도를 예시하는 도면이다.
디코더는 변환 타입 정보, 변환에 관련된 파라미터 정보 및/또는 변환 계수를 수신할 수 있다. 수신된 변환 타입에 기초하여 역변환을 선택하고, 역양자화를 수행할 수 있다. 그리고, 변환 계수에 대하여 역변환을 수행할 수 있다.
구체적으로, 앞서 도 2에서 역양자화부(220), 역변환부(230)는 제 1 역양자화부(1821), 제 2 역양자화부(1822), DCT 역변환부(1831) 및 LGT 역변환부(1832)를 포함하여 구성될 수 있다. 디코더는 인코더로부터 선택된 변환에 관련된 정보를 수신할 수 있다. 만약, DCT 변환이 선택된 경우, 제 1 역양자화부(1821) 및 DCT 역변환부(1831)에 의해 역양자화 및 역변환이 수행될 수 있다. 만약, LGT 변환이 선택된 경우, 제 2 역양자화부(1822) 및 LGT 역변환부(1832)에 의해 역양자화 및 역변환이 수행될 수 있다.
도 19는 본 발명이 적용되는 실시예로서, 레이어드 기븐스 변환을 이용하여 인코딩을 수행하는 과정을 설명하기 위한 흐름도이다.
인코더는 주어진 변환 행렬(H) 및 에러 파라미터(error parameter)에 기초하여 적어도 하나의 회전 레이어(rotation layer) 및 순열 레이어(permutation layer)를 유도한다(S1901). 전술한 바와 같이, 상기 순열 레이어는 단위 행렬(identity matrix)의 행(row)을 치환함으로써 획득되는 순열 행렬을 포함할 수 있다. 상기 순열 행렬은 단위 행렬부터 출발하여 2개의 행(row)을 선택하여 교환하는 과정을 1회 또는 복수 회 수행함으로써 획득될 수 있다.
그리고, 상기 회전 레이어는 순열 행렬 및 회전 행렬을 포함하고, 상기 회전 행렬은 적어도 하나의 쌍 회전 행렬(pairwise rotation matrix)을 포함할 수 있다.
전술한 바와 같이, 상기 쌍 회전 행렬은 앞서 설명한 수학식 5와 같이 쌍 회전을 고려하여 형성될 수도 있고, 앞서 설명한 수학식 6과 같이 쌍 회전 플러스 반사를 고려하여 형성될 수도 있다.
또한, 상기 에러 파라미터는 타겟 변환에 대한 근사도를 계산하기 위한 변수 또는 행렬을 나타내며, ‘에러 계산 방법’ 또는 ‘가중 행렬(weight matrix)’ 등으로 지칭될 수 있다. 상기 에러 파라미터는 앞서 설명한 수학식 11, 수학식 14 또는 수학식 26에 기초하여 결정될 수 있다.
앞서 도 10에서 설명한 바와 같이, 상기 순열 레이어는 최적화 과정을 통해서 유도될 수 있고, 상기 최적화 과정은 레이어드 기븐스 변환 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 수행될 수 있다. 여기서, 상기 레이어드 기븐스 변환 행렬은 앞서 설명한 수학식 3을 이용하여 상기 회전 레이어 및 상기 순열 레이어로부터 유도될 수 있다. 또한, 상기 순열 레이어의 최적화 과정은 헝가리안 알고리즘(Hungarian algorithm)을 이용하여 수행될 수 있다. 구체적으로, 앞서 설명한 수학식 16을 이용하여 인코더는 각 노드간 중복되지 않는 최적 할당(optimal assignment)을 결정할 수 있다.
앞서 도 11에서 설명한 바와 같이, 상기 회전 레이어 또는 상기 순열 레이어는 최적화 과정을 통해서 유도되고, 상기 최적화 과정은 레이어드 기븐스 변환 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 수행될 수 있다. 구체적으로, 상기 회전 레이어의 최적화 과정은, 상기 레이어드 기븐스 변환 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 상기 회전 레이어 내 회전 행렬의 최적의 회전 각(optimal rotation angle)을 결정하고, 상기 최적의 회전 각에 기초하여 결정되는 이득(gain)의 총 합을 최대로 하는 중복되지 않는 쌍들(pairs)을 결정함으로써 수행될 수 있다. 앞서 수학식 25에서 설명한 바와 같이, 인코더는 블러섬 알고리즘을 이용하여, 중복되지 않는 엣지들의 최대 매칭 쌍(maximum matching pair)을 찾을 수 있다.
또한, 상기 회전 레이어의 최적화 과정은, 상기 레이어드 기븐스 변환 행렬 내 적어도 하나의 다른 회전 레이어를 단위 행렬(identity matrix)로 설정하는 단계를 더 포함할 수 있다. 앞서, 시뮬레이션된 어닐링 알고리즘에서 설명한 바와 같이, 이웃하는 레이어들의 초기화를 통해 새롭게 유도된 최적 값과 기존의 최적 값을 비교하면서 글로벌 최적(global optimal) 값을 찾을 수 있다.
인코더는 상기 회전 레이어 및 상기 순열 레이어에 기초하여 LGT(Layered Givens Transform) 계수를 획득한다(S1902).
앞서 도 5에서 설명한 바와 같이, 사전식 순서(Lexicographic Order)로 정렬된 입력 데이터에 대하여 상기 회전 레이어 및 상기 순열 레이어를 적용함으로써 상기 레이어드 기븐스 변환 계수가 획득될 수 있다.
인코더는 상기 LGT(Layered Givens Transform) 계수에 대해 양자화 및 엔트로피 인코딩을 수행한다(S1903).
도 20은 본 발명이 적용되는 실시예로서, 레이어드 기븐스 변환을 이용하여 디코딩을 수행하는 과정을 설명하기 위한 흐름도이다.
디코더는 인코더로부터 수신한 비디오 신호에 포함된 레지듀얼 신호에 대하여 엔트로피 디코딩 및 역양자화를 수행함으로써 LGT(Layered Givens Transform) 계수를 획득한다(S2001).
디코더는 주어진 변환 행렬(H) 및 에러 파라미터(error parameter)에 기초하여 적어도 하나의 회전 레이어(rotation layer) 및 순열 레이어(permutation layer)를 유도한다(S2002). 전술한 바와 같이, 상기 순열 레이어는 단위 행렬(identity matrix)의 행(row)을 치환함으로써 획득되는 순열 행렬을 포함할 수 있다. 그리고, 상기 회전 레이어는 순열 행렬 및 회전 행렬을 포함하고, 상기 회전 행렬은 적어도 하나의 쌍 회전 행렬(pairwise rotation matrix)을 포함할 수 있다.
전술한 바와 같이, 상기 쌍 회전 행렬은 앞서 설명한 수학식 5와 같이 쌍 회전을 고려하여 형성될 수도 있고, 앞서 설명한 수학식 6과 같이 쌍 회전 플러스 반사를 고려하여 형성될 수도 있다.
또한, 상기 에러 파라미터는 수학식 11, 수학식 14 또는 수학식 26에 기초하여 결정될 수 있다.
앞서 도 10에서 설명한 바와 같이, 상기 순열 레이어는 최적화 과정을 통해서 유도될 수 있고, 상기 최적화 과정은 레이어드 기븐스 변환 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 수행될 수 있다. 여기서, 상기 레이어드 기븐스 변환 행렬은 앞서 설명한 수학식 3을 이용하여 상기 회전 레이어 및 상기 순열 레이어로부터 유도될 수 있다. 또한, 상기 순열 레이어의 최적화 과정은 헝가리안 알고리즘(Hungarian algorithm)을 이용하여 수행될 수 있다. 구체적으로, 앞서 설명한 수학식 16을 이용하여 디코더는 각 노드간 중복되지 않는 최적 할당(optimal assignment)을 결정할 수 있다.
앞서 도 11에서 설명한 바와 같이, 상기 회전 레이어 또는 상기 순열 레이어는 최적화 과정을 통해서 유도되고, 상기 최적화 과정은 레이어드 기븐스 변환 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 수행될 수 있다. 구체적으로, 상기 회전 레이어의 최적화 과정은, 상기 레이어드 기븐스 변환 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 상기 회전 레이어 내 회전 행렬의 최적의 회전 각(optimal rotation angle)을 결정하고, 상기 최적의 회전 각에 기초하여 결정되는 이득(gain)의 총 합을 최대로 하는 중복되지 않는 쌍들(pairs)을 결정함으로써 수행될 수 있다. 앞서 수학식 25에서 설명한 바와 같이, 디코더는 블러섬 알고리즘을 이용하여, 중복되지 않는 엣지들의 최대 매칭 쌍(maximum matching pair)을 찾을 수 있다.
또한, 상기 회전 레이어의 최적화 과정은, 상기 레이어드 기븐스 변환 행렬 내 적어도 하나의 다른 회전 레이어를 단위 행렬(identity matrix)로 설정하는 단계를 더 포함할 수 있다. 앞서, 시뮬레이션된 어닐링 알고리즘에서 설명한 바와 같이, 이웃하는 레이어들의 초기화를 통해 새롭게 유도된 최적 값과 기존의 최적 값을 비교하면서 글로벌 최적(global optimal) 값을 찾을 수 있다.
디코더는 상기 회전 레이어 및 상기 순열 레이어에 기초하여 상기 LGT(Layered Givens Transform) 계수에 대하여 역변환(inverse-transform)을 수행하고(S2003), 디코더는 상기 역변환된 계수를 이용하여 상기 비디오 신호를 복원한다(S2004).
도 19를 참조하면, 인코딩 프로세스에 LGT를 유도하는 단계와 유도된 LGT를 적용하여 LGT 계수를 획득하는 단계가 포함될 수 있고, 도 20을 참조하면, 디코딩 프로세스에 LGT를 유도하는 단계와 유도된 LGT를 이용하여 역변환을 수행하는 단계가 포함될 수 있다.
한편, 본 발명의 일 실시예에서, 최적의 LGT는 전술한 방법을 이용하여 오프라인(off-line)에서 유도될 수도 있다. 이 경우, 인코더/디코더는 오프라인을 통해 유도된 최적의 LGT를 예측 모드 또는 컨텍스트(context)에 기초하여 선택하고 이를 이용하여 인코딩/디코딩을 수행할 수 있다. 또는, 인코더는 오프라인을 통해 유도된 최적의 LGT를 RDO(Rate-Distortion Optimization)에 기초하여 인코딩을 수행하고, 선택된 LGT에 관련된 정보를 디코더에 시그널링 할 수 있다. 디코더는 오프라인을 통해 유도된 최적의 LGT 및 인코더로부터 수신된 LGT 관련 정보를 이용하여 디코딩을 수행할 수 있다.
도 21은 본 발명이 적용되는 디코더를 보다 구체적으로 예시하는 도면이다.
도 21을 참조하면, 디코더(200)는 앞서 도 2 내지 도 20에서 제안된 기능, 과정 및/또는 방법을 구현한다. 구체적으로, 디코더(200)는 엔트로피 디코딩부(2101), 역양자화부(2102), 레이어 유도부(2103), 역변환부(2104) 및 복원부(2105)를 포함하여 구성될 수 있다. 도 21에서 레이어 유도부(2103)는 역변환부(2104)와 별개의 구성으로 도시하고 있지만, 상기 레이어 유도부(2103)는 역변환부(2104)에 포함되는 구성으로 구현될 수 있다.
엔트로피 디코딩부(2101) 및 역양자화부(2102)는 인코더로부터 수신한 비디오 신호에 포함된 레지듀얼 신호에 대하여 엔트로피 디코딩 및 역양자화를 수행함으로써 레이어드 기븐스 변환 계수를 획득한다.
레이어 유도부(2103)는 주어진 변환 행렬(H) 및 에러 파라미터(error parameter)에 기초하여 적어도 하나의 회전 레이어(rotation layer) 및 순열 레이어(permutation layer)를 유도한다(S2002). 전술한 바와 같이, 상기 순열 레이어는 단위 행렬(identity matrix)의 행(row)을 치환함으로써 획득되는 순열 행렬을 포함할 수 있다. 그리고, 상기 회전 레이어는 순열 행렬 및 회전 행렬을 포함하고, 상기 회전 행렬은 적어도 하나의 쌍 회전 행렬(pairwise rotation matrix)을 포함할 수 있다.
전술한 바와 같이, 상기 쌍 회전 행렬은 앞서 설명한 수학식 5와 같이 쌍 회전을 고려하여 형성될 수도 있고, 앞서 설명한 수학식 6과 같이 쌍 회전 플러스 반사를 고려하여 형성될 수도 있다.
또한, 상기 에러 파라미터는 수학식 11, 수학식 14 또는 수학식 26에 기초하여 결정될 수 있다.
앞서 도 10에서 설명한 바와 같이, 상기 순열 레이어는 최적화 과정을 통해서 유도될 수 있고, 상기 최적화 과정은 레이어드 기븐스 변환 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 수행될 수 있다. 여기서, 상기 레이어드 기븐스 변환 행렬은 앞서 설명한 수학식 3을 이용하여 상기 회전 레이어 및 상기 순열 레이어로부터 유도될 수 있다. 또한, 상기 순열 레이어의 최적화 과정은 헝가리안 알고리즘(Hungarian algorithm)을 이용하여 수행될 수 있다. 구체적으로, 앞서 설명한 수학식 16을 이용하여 레이어 유도부(2103)는 각 노드간 중복되지 않는 최적 할당(optimal assignment)을 결정할 수 있다.
앞서 도 11에서 설명한 바와 같이, 상기 회전 레이어 또는 상기 순열 레이어는 최적화 과정을 통해서 유도되고, 상기 최적화 과정은 레이어드 기븐스 변환 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 수행될 수 있다. 구체적으로, 상기 회전 레이어의 최적화 과정은, 상기 레이어드 기븐스 변환 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 상기 회전 레이어 내 회전 행렬의 최적의 회전 각(optimal rotation angle)을 결정하고, 상기 최적의 회전 각에 기초하여 결정되는 이득(gain)의 총 합을 최대로 하는 중복되지 않는 쌍들(pairs)을 결정함으로써 수행될 수 있다. 앞서 수학식 25에서 설명한 바와 같이, 레이어 유도부(2103)는 블러섬 알고리즘을 이용하여, 중복되지 않는 엣지들의 최대 매칭 쌍(maximum matching pair)을 찾을 수 있다.
또한, 상기 회전 레이어의 최적화 과정은, 상기 레이어드 기븐스 변환 행렬 내 적어도 하나의 다른 회전 레이어를 단위 행렬(identity matrix)로 설정하는 단계를 더 포함할 수 있다. 앞서, 시뮬레이션된 어닐링 알고리즘에서 설명한 바와 같이, 이웃하는 레이어들의 초기화를 통해 새롭게 유도된 최적 값과 기존의 최적 값을 비교하면서 글로벌 최적(global optimal) 값을 찾을 수 있다.
역변환부(2104)는 상기 회전 레이어 및 상기 순열 레이어에 기초하여 상기 LGT(Layered Givens Transform) 계수에 대하여 역변환(inverse-transform)을 수행하고, 복원부(2105)는 상기 역변환된 계수를 이용하여 상기 비디오 신호를 복원한다.
상기 기술된 것과 같이, 본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 상기 도 1, 도 2 및 도 4에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다.
또한, 본 발명이 적용되는 디코더 및 인코더는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오(VoD) 서비스 제공 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원(3D) 비디오 장치, 화상 전화 비디오 장치, 및 의료용 비디오 장치 등에 포함될 수 있으며, 비디오 신호 및 데이터 신호를 처리하기 위해 사용될 수 있다.
또한, 본 발명이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크(BD), 범용 직렬 버스(USB), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파(예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트 스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (16)

  1. 레이어드 기븐스 변환(Layered Givens Transform)을 이용하여 변환을 수행하는 방법에 있어서,
    주어진 변환 행렬(H) 및 에러 파라미터(error parameter)에 기초하여 적어도 하나의 회전 레이어(rotation layer) 및 순열 레이어(permutation layer)를 유도하는 단계;
    상기 회전 레이어 및 상기 순열 레이어에 기초하여 LGT(Layered Givens Transform) 계수를 획득하는 단계; 및
    상기 LGT 계수에 대해 양자화 및 엔트로피 인코딩을 수행하는 단계를 포함하되,
    상기 순열 레이어는 단위 행렬(identity matrix)의 행(row)을 치환함으로써 획득되는 순열 행렬을 포함하는 방법.
  2. 제 1항에 있어서,
    상기 회전 레이어는 순열 행렬 및 회전 행렬을 포함하고,
    상기 회전 행렬은 적어도 하나의 쌍 회전 행렬(pairwise rotation matrix)을 포함하는 방법.
  3. 제 1항에 있어서,
    상기 회전 레이어 또는 상기 순열 레이어는 최적화 과정을 통해서 유도되고, 상기 최적화 과정은 LGT(Layered Givens Transform) 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 수행되고,
    상기 LGT(Layered Givens Transform) 행렬은 상기 회전 레이어 및 상기 순열 레이어를 이용하여 유도되는 방법.
  4. 제 3항에 있어서,
    상기 순열 레이어의 최적화 과정은 헝가리안 알고리즘(Hungarian algorithm)을 이용하여 수행되는 것을 특징으로 하는 방법.
  5. 제 3항에 있어서,
    상기 회전 레이어의 최적화 과정은,
    상기 LGT 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 상기 회전 레이어 내 회전 행렬의 최적의 회전 각(optimal rotation angle)을 결정하는 단계; 및
    상기 최적의 회전 각에 기초하여 결정되는 이득(gain)의 총 합을 최대로 하는 중복되지 않는 쌍들(pairs)을 결정하는 단계,
    로 수행되는 것을 특징으로 하는 방법.
  6. 제 5항에 있어서,
    상기 이득의 총 합을 최대로 하는 중복되지 않는 쌍들은 블러섬 알고리즘(blossom algorithm)을 이용하여 결정되는 방법.
  7. 제 5항에 있어서,
    상기 회전 레이어의 최적화 과정은,
    상기 LGT 행렬 내 적어도 하나의 다른 회전 레이어를 단위 행렬(identity matrix)로 설정하는 단계를 더 포함하여 수행되는 방법.
  8. 제 1항에 있어서,
    상기 LGT 계수를 획득하는 단계는,
    사전식 순서(Lexicographic Order)로 정렬된 입력 데이터에 대하여 상기 회전 레이어 및 상기 순열 레이어를 적용함으로써 상기 LGT 계수를 획득하는 방법.
  9. 레이어드 기븐스 변환(Layered Givens Transform)을 이용하여 역변환을 수행하는 방법에 있어서,
    비디오 신호에 포함된 레지듀얼 신호에 대하여 엔트로피 디코딩 및 역양자화를 수행함으로써 LGT(Layered Givens Transform) 계수를 획득하는 단계;
    주어진 변환 행렬(H) 및 에러 파라미터(error parameter)에 기초하여 적어도 하나의 회전 레이어(rotation layer) 및 순열 레이어(permutation layer)를 유도하는 단계;
    상기 회전 레이어 및 상기 순열 레이어에 기초하여 상기 LGT 계수에 대하여 역변환(inverse-transform)을 수행하는 단계; 및
    상기 역변환된 계수를 이용하여 상기 비디오 신호를 복원하는 단계를 포함하되,
    상기 순열 레이어는 단위 행렬(identity matrix)의 행(row)을 치환함으로써 획득되는 순열 행렬을 포함하는 방법.
  10. 제 9항에 있어서,
    상기 회전 레이어는 순열 행렬 및 회전 행렬을 포함하고,
    상기 회전 행렬은 적어도 하나의 쌍 회전 행렬(pairwise rotation matrix)을 포함하는 방법.
  11. 제 9항에 있어서,
    상기 회전 레이어 또는 상기 순열 레이어는 최적화 과정을 통해서 유도되고, 상기 최적화 과정은 LGT(Layered Givens Transform) 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 수행되고,
    상기 LGT(Layered Givens Transform) 행렬은 상기 회전 레이어 및 상기 순열 레이어를 이용하여 유도되는 방법.
  12. 제 11항에 있어서,
    상기 순열 레이어의 최적화 과정은 헝가리안 알고리즘(Hungarian algorithm)을 이용하여 수행되는 것을 특징으로 하는 방법.
  13. 제 11항에 있어서,
    상기 회전 레이어의 최적화 과정은,
    상기 LGT 행렬과 상기 주어진 변환 행렬(H)과의 매칭에 기초하여 상기 회전 레이어 내 회전 행렬의 최적의 회전 각(optimal rotation angle)을 결정하는 단계; 및
    상기 최적의 회전 각에 기초하여 결정되는 이득(gain)의 총 합을 최대로 하는 중복되지 않는 쌍들(pairs)을 결정하는 단계,
    로 수행되는 것을 특징으로 하는 방법.
  14. 제 13항에 있어서,
    상기 이득의 총 합을 최대로 하는 중복되지 않는 쌍들은 블러섬 알고리즘(blossom algorithm)을 이용하여 결정되는 방법.
  15. 제 13항에 있어서,
    상기 회전 레이어의 최적화 과정은,
    상기 LGT 행렬 내 적어도 하나의 다른 회전 레이어를 단위 행렬(identity matrix)로 설정하는 단계를 더 포함하여 수행되는 방법.
  16. 레이어드 기븐스 변환(Layered Givens Transform)을 이용하여 역변환을 수행하는 장치에 있어서,
    비디오 신호에 포함된 레지듀얼 신호를 엔트로피 디코딩하는 엔트로피 디코딩부;
    상기 엔트로피 디코딩된 레지듀얼 신호를 역양자화하여 LGT(Layered Givens Transform) 계수를 획득하는 역양자화부;
    주어진 변환 행렬(H) 및 에러 파라미터(error parameter)에 기초하여 적어도 하나의 회전 레이어(rotation layer) 및 순열 레이어(permutation layer)를 유도하는 레이어 유도부;
    상기 회전 레이어 및 상기 순열 레이어에 기초하여 상기 LGT 계수에 대하여 역변환(inverse-transform)을 수행하는 역변환부; 및
    상기 역변환된 계수를 이용하여 상기 비디오 신호를 복원하는 복원부를 포함하되,
    상기 순열 레이어는 단위 행렬(identity matrix)의 행(row)을 치환함으로써 획득되는 순열 행렬을 포함하는 장치.
PCT/KR2017/009615 2016-09-01 2017-09-01 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치 WO2018044125A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020197007149A KR20190039562A (ko) 2016-09-01 2017-09-01 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치
US16/329,624 US10743025B2 (en) 2016-09-01 2017-09-01 Method and apparatus for performing transformation using layered givens transform

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662382759P 2016-09-01 2016-09-01
US62/382,759 2016-09-01

Publications (1)

Publication Number Publication Date
WO2018044125A1 true WO2018044125A1 (ko) 2018-03-08

Family

ID=61309399

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/009615 WO2018044125A1 (ko) 2016-09-01 2017-09-01 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치

Country Status (3)

Country Link
US (1) US10743025B2 (ko)
KR (1) KR20190039562A (ko)
WO (1) WO2018044125A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019194505A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 축소된 회전기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2019231291A1 (ko) * 2018-05-31 2019-12-05 엘지전자 주식회사 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치
WO2020013541A1 (ko) * 2018-07-12 2020-01-16 엘지전자 주식회사 비디오 신호를 처리하기 위한 방법 및 장치
KR102664785B1 (ko) * 2018-07-12 2024-05-17 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 비디오 신호를 처리하기 위한 방법 및 장치

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020003268A2 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Definition of zero unit
WO2021054783A1 (ko) * 2019-09-21 2021-03-25 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
JP7299413B2 (ja) * 2019-09-21 2023-06-27 エルジー エレクトロニクス インコーポレイティド 変換に基づく映像コーディング方法及びその装置
US11412258B2 (en) * 2020-02-12 2022-08-09 Tencent America LLC Line graph transforms (LGTs) using 8-bit and 10-bit cores
US11405647B2 (en) * 2020-02-18 2022-08-02 Tencent America LLC Primary transforms using 8-bit and 10-bit cores
US20230100043A1 (en) * 2021-09-30 2023-03-30 Tencent America LLC Adaptive Transforms for Compound Inter-Intra Prediction Modes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100776235B1 (ko) * 2003-07-14 2007-11-16 프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우. 변환 표시로의 변환 또는 변환 표시의 역변환을 위한 장치및 방법
KR20130116924A (ko) * 2011-01-10 2013-10-24 퀄컴 인코포레이티드 미디어 데이터 코딩을 위한 32-포인트 변환
KR101362696B1 (ko) * 2011-10-19 2014-02-17 전북대학교산학협력단 하이브리드 아키텍쳐가 적용된 신호 변환 장치, 신호 변환 방법 및 기록매체
US20150055697A1 (en) * 2013-08-20 2015-02-26 Media Tek Inc. Method and Apparatus of Transform Process for Video Coding
US20160219290A1 (en) * 2015-01-26 2016-07-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7502743B2 (en) * 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
JP4676140B2 (ja) * 2002-09-04 2011-04-27 マイクロソフト コーポレーション オーディオの量子化および逆量子化
DE10345996A1 (de) * 2003-10-02 2005-04-28 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Verarbeiten von wenigstens zwei Eingangswerten
KR20070085471A (ko) * 2004-11-05 2007-08-27 유니버시티 오브 플로리다 리서치 파운데이션, 인크. Mimo 통신을 위한 균일 채널 분해
CN1983910B (zh) * 2005-12-16 2010-11-24 华为技术有限公司 一种多天线数字无线通信系统中信号检测的方法
JP5964755B2 (ja) * 2009-12-31 2016-08-03 トムソン ライセンシングThomson Licensing ビデオ符号化および復号化用の適応型結合前処理および後処理フィルタのための方法および装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100776235B1 (ko) * 2003-07-14 2007-11-16 프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우. 변환 표시로의 변환 또는 변환 표시의 역변환을 위한 장치및 방법
KR20130116924A (ko) * 2011-01-10 2013-10-24 퀄컴 인코포레이티드 미디어 데이터 코딩을 위한 32-포인트 변환
KR101362696B1 (ko) * 2011-10-19 2014-02-17 전북대학교산학협력단 하이브리드 아키텍쳐가 적용된 신호 변환 장치, 신호 변환 방법 및 기록매체
US20150055697A1 (en) * 2013-08-20 2015-02-26 Media Tek Inc. Method and Apparatus of Transform Process for Video Coding
US20160219290A1 (en) * 2015-01-26 2016-07-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019194505A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 축소된 회전기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2019231291A1 (ko) * 2018-05-31 2019-12-05 엘지전자 주식회사 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치
US11470316B2 (en) 2018-05-31 2022-10-11 Lg Electronics Inc. Method and device for performing transformation by using layered-givens transform
WO2020013541A1 (ko) * 2018-07-12 2020-01-16 엘지전자 주식회사 비디오 신호를 처리하기 위한 방법 및 장치
KR20210013758A (ko) * 2018-07-12 2021-02-05 엘지전자 주식회사 비디오 신호를 처리하기 위한 방법 및 장치
US11689744B2 (en) 2018-07-12 2023-06-27 Lg Electronics Inc. Methods and apparatuses for processing video signal
KR102555966B1 (ko) * 2018-07-12 2023-07-17 엘지전자 주식회사 비디오 신호를 처리하기 위한 방법 및 장치
KR102664785B1 (ko) * 2018-07-12 2024-05-17 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 비디오 신호를 처리하기 위한 방법 및 장치

Also Published As

Publication number Publication date
US10743025B2 (en) 2020-08-11
US20190349602A1 (en) 2019-11-14
KR20190039562A (ko) 2019-04-12

Similar Documents

Publication Publication Date Title
WO2018044125A1 (ko) 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치
WO2019235797A1 (ko) 축소된 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2020149648A1 (ko) 변환 스킵 플래그를 이용한 영상 코딩 방법 및 장치
WO2019235887A1 (ko) 인트라 예측 모드에 기초하여 변환 인덱스 코딩을 수행하는 방법 및 이를 위한 장치
WO2020050665A1 (ko) 비디오 신호의 부호화/복호화 방법 및 이를 위한 장치
WO2018038554A1 (ko) 이차 변환을 이용한 비디오 신호의 인코딩/디코딩 방법 및 장치
WO2017014585A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2016195455A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2020009434A1 (ko) 이차 변환을 기반으로 비디오 신호를 처리하는 방법 및 장치
WO2016129872A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2018190523A1 (ko) 영상의 부호화/복호화 방법 및 이를 위한 장치
WO2020046086A1 (ko) 영상 신호를 처리하기 위한 방법 및 장치
WO2017010850A1 (ko) 분리 가능한 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2016190690A1 (ko) 적응적인 분리가능한 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2020159316A1 (ko) 이차 변환에 기반한 영상 코딩 방법 및 그 장치
WO2018174457A1 (ko) 영상 처리 방법 및 이를 위한 장치
WO2020050651A1 (ko) 다중 변환 선택에 기반한 영상 코딩 방법 및 그 장치
WO2020171592A1 (ko) 영상 코딩 시스템에서 레지듀얼 정보를 사용하는 영상 디코딩 방법 및 그 장치
WO2020130661A1 (ko) 이차 변환에 기반한 영상 코딩 방법 및 그 장치
WO2020050668A1 (ko) 영상 신호를 처리하기 위한 방법 및 장치
WO2018101685A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018124332A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2021086055A1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
WO2021096290A1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
WO2019117646A1 (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: 17847050

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20197007149

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 17847050

Country of ref document: EP

Kind code of ref document: A1