WO2016129872A1 - 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 - Google Patents

그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 Download PDF

Info

Publication number
WO2016129872A1
WO2016129872A1 PCT/KR2016/001252 KR2016001252W WO2016129872A1 WO 2016129872 A1 WO2016129872 A1 WO 2016129872A1 KR 2016001252 W KR2016001252 W KR 2016001252W WO 2016129872 A1 WO2016129872 A1 WO 2016129872A1
Authority
WO
WIPO (PCT)
Prior art keywords
transform
graph
unit
information
partition
Prior art date
Application number
PCT/KR2016/001252
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 KR1020177022570A priority Critical patent/KR20170116043A/ko
Priority to US15/550,721 priority patent/US10742988B2/en
Priority to CN201680015228.5A priority patent/CN107431813B/zh
Publication of WO2016129872A1 publication Critical patent/WO2016129872A1/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/96Tree coding, e.g. quad-tree 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
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Definitions

  • the present invention relates to a method and apparatus for encoding and decoding a video signal using a graph-based transform. Specifically, the present invention relates to a method of adaptively applying a graph-based transform based on heterogeneity between blocks and a method of applying a separable graph-based 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.
  • a graph is a data representation form useful for describing relationship information between pixels, and a graph-based signal processing method of expressing and processing such relationship information between pixels as a graph is used.
  • Such graph-based signal processing can generalize concepts such as sampling, filtering, transformation, etc. using a graph in which each signal sample represents a vertex and the relationships of the signals are represented by graph edges with positive weights.
  • graph-based signal processing methods are required in many applications as well as video compression.
  • the present invention provides a method of applying an adaptive graph-based transform based on boundary information in a block.
  • the present invention provides a method of applying a graph-based transform according to prediction unit partition information of a coding unit.
  • the present invention provides a method of applying different graph-based transforms according to the configuration of a coding unit or a transform unit.
  • the present invention seeks to define flag information indicating which graph based transform to apply at the coding unit or transform unit level.
  • the present invention provides a method of applying one transform by merging adjacent transform units.
  • the present invention provides a method of applying transformation using partition information for the transformation unit.
  • the present invention provides a method of predicting a graph-based transform of a current block by using information on a graph-based transform of a neighboring block.
  • the present invention provides a method of applying a non-square graph based transform according to prediction unit partition information of a coding unit.
  • the present invention provides a way to reduce the overhead for coding graph information.
  • the present invention provides a method for defining and signaling a template for graph-based transformations.
  • the present invention provides a method of allocating code words for each coding mode according to the frequency of appearance of a graph-based transform template.
  • the present invention provides a method of applying different separable graph-based transforms for the row and column directions of a coding block.
  • the present invention can process video signals more efficiently by applying adaptive graph-based transforms based on intra-block boundary information, and can be more efficient especially when blocks are complexly divided.
  • the present invention can significantly reduce the overhead for coding graph information by defining a template for graph based transformation and providing a method for signaling it.
  • the present invention ensures the flexibility to adaptively apply the transform, and can reduce the computational complexity.
  • the present invention enables faster adaptation to changing statistical characteristics in different video segments and can provide variability in performing transformations.
  • the present invention can reduce the computational complexity for coding a video signal by using separable transforms, and can significantly reduce the overhead in transmission and transform selection of the transform matrix.
  • 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 for describing a process of obtaining a graph-based transformation matrix based on a 1D graph and a 2D graph as an embodiment to which the present invention is applied.
  • FIG. 5 illustrates an internal block diagram of a graph-based transform unit for performing transformation based on PU partition information of a coding unit according to an embodiment to which the present invention is applied.
  • FIG. 6 is a diagram for describing a method of applying a transform generated from a 1D graph in a horizontal direction when a 2N ⁇ 2N coding unit is divided into nL ⁇ 2N.
  • FIG. 7 is a flowchart illustrating a process of applying a GBT based on PU partition information of a coding unit according to an embodiment to which the present invention is applied.
  • FIG. 8 is a diagram for describing a method of applying different transforms according to boundary information in a block when a 2N ⁇ 2N coding unit is divided into four N ⁇ N transform units according to an embodiment to which the present invention is applied.
  • FIG. 9 is a diagram for describing a method of applying different transformations according to differences between motion information values of prediction units according to an embodiment to which the present invention is applied.
  • FIG. 10 is a diagram for describing a method of merging a plurality of transform units and performing transform when a transform unit in a coding unit has similar properties as an embodiment to which the present invention is applied.
  • FIG. 11 is a diagram for describing a method of performing transformation by using partition information of a transformation unit according to an embodiment to which the present invention is applied.
  • FIG. 12 is a flowchart illustrating a decoding process of applying a GBT based on an edge weight of a graph signal according to an embodiment to which the present invention is applied.
  • FIG. 13 is a diagram for describing a method of predicting graph-based transform information of a current block by using graph-based transform information of a neighboring block, according to an embodiment to which the present invention is applied.
  • FIG. 14 is a diagram for describing a method of applying a non-square graph-based transform based on prediction unit partition information of a coding unit according to an embodiment to which the present invention is applied.
  • FIG. 15 is a diagram for describing a method of applying a different separable transform to each line of a 2D graph as an embodiment to which the present invention is applied.
  • FIG. 16 illustrates an example of one-dimensional graphs that may be a transformation basis for applying a separable transform as an embodiment to which the present invention is applied.
  • FIG. 17 is a diagram for describing a method for signaling a weighted template based on boundary information in a block according to an embodiment to which the present invention is applied;
  • FIG. 18 is a diagram for boundary within a block as an embodiment to which the present invention is applied;
  • 19 and 20 are flowcharts for describing a method of encoding / decoding an index representing a graph-based conversion template according to embodiments to which the present invention is applied.
  • the present invention provides a method of decoding a video signal using a graph-based transform, comprising: extracting prediction unit partition information of a current coding unit from the video signal; Obtaining a graph-based transform kernel from preset table information based on the prediction unit partition information; And performing inverse transform on a transform unit using the graph-based transform kernel, wherein the graph-based transform kernel corresponds to at least one of the prediction unit partition information or edge weights, and the edge weights are correlated between pixels. It provides a method characterized in that the predetermined value representing the relationship.
  • the edge weight is characterized by having a relatively small value at the division boundary of the prediction unit.
  • the coding unit when the coding unit is composed of a plurality of transform units, different transform types are applied to the first transform unit overlapping the partition boundary and the second transform unit not overlapping the partition boundary. .
  • the present invention also provides an apparatus for decoding a video signal using a graph-based transform, the apparatus comprising: a bitstream extracting unit for extracting prediction unit partition information of a current coding unit from the video signal; And an inverse transform unit configured to obtain a graph-based transform kernel from preset table information based on the prediction unit partition information, and perform an inverse transform on the transform unit using the graph-based transform kernel.
  • the graph-based transform kernel corresponds to at least one of the prediction unit partition information or the edge weight, and the edge weight is a predetermined value indicating a correlation between pixels.
  • the present invention provides a method of decoding a video signal using a graph-based transform, the method comprising: receiving an edge weight in a graph corresponding to a coding unit, wherein the edge weight is a value representing a correlation between pixels; Obtaining a graph-based transform kernel of a transform unit based on the edge weights; And reconstructing the transform unit by using the graph-based transform kernel, wherein the edge weight is determined based on coding information of a prediction unit.
  • the present invention provides a method of encoding a video signal using a graph-based transform, the method comprising: calculating an edge weight in a graph corresponding to a coding unit, wherein the edge weight is a value representing a correlation between pixels; Generating a separate graph-based transform kernel for the rows and columns of the transform unit based on the coding information of the prediction unit; And performing a transform on the transform unit using the graph-based transform kernel, wherein the graph-based transform kernel is generated based on the edge weight, wherein the edge weight is a relatively small value at a partition boundary. It provides a method characterized by having.
  • the coding unit when the coding unit is composed of a plurality of transform units, different transform types are applied to the first transform unit overlapping the partition boundary and the second transform unit not overlapping the partition boundary, and the first transform unit is applied.
  • the first transform unit is applied to the graph-based transform kernel
  • the second transform unit is applied to a transform kernel other than the graph-based transform kernel.
  • the coding information of the prediction unit may include at least one of partition information or motion information.
  • the graph-based transform kernel is applied if the difference between the motion information of the plurality of prediction units is greater than a predetermined threshold value It is done.
  • the present invention in the apparatus for decoding a video signal using a graph-based transform, receiving an edge weight in the graph corresponding to the coding unit, the edge weight is a value representing the correlation between pixels, the edge weight A inverse transform unit for obtaining a graph-based transform kernel of the transform unit and restoring the transform unit using the graph-based transform kernel, wherein the edge weights are determined based on the coding information of the prediction unit.
  • An apparatus characterized in that it is determined based on.
  • the present invention in the apparatus for encoding a video signal using a graph-based transform, calculates the edge weight in the graph corresponding to the coding unit, the edge weight is a value representing the inter-pixel correlation, A graph-based transform unit for generating a separate graph-based transform kernel for the rows and columns of the transform unit based on the coding information, and performs a transform on the transform unit using the graph-based transform kernel Wherein the graph-based transform kernel is generated based on the edge weights, wherein the edge weights have a relatively small value at the segmentation boundary.
  • the present invention provides a method of decoding a video signal using a graph-based transform, the method comprising: receiving index information representing a graph-based transform template, wherein the graph-based transform template corresponds to a pattern of a residual signal; Obtaining a graph-based transform kernel corresponding to the index information; And restoring a transform unit by using the graph-based transform kernel.
  • the present invention also provides a method of encoding a video signal using a graph-based signal, the method comprising: identifying a pattern of a residual signal; Determining a graph-based transform template corresponding to the pattern of the residual signal; And encoding an index representing the determined graph based transformation template.
  • the present invention in the apparatus for decoding a video signal using a graph-based transform, receiving index information indicating a graph-based transform template, wherein the graph-based transform template corresponds to the pattern of the residual signal, the index And an inverse transform unit for obtaining a graph-based transform kernel corresponding to the information and restoring a transform unit by using the graph-based transform kernel.
  • the present invention in the device for encoding a video signal using a graph-based signal, to identify the pattern (pattern) of the residual signal, the graph-based transform template corresponding to the pattern of the residual signal (graph-based transform template) ) And a graph-based transform unit for encoding an index representing the determined graph-based transform template.
  • the present invention provides a method of encoding a video signal using a graph-based transform, the method comprising the steps of deriving a one-dimensional edge weight for each row or column in the target unit, wherein the edge weight is a value representing the inter-pixel correlation ; Loading a one-dimensional graph-based transform kernel corresponding to the one-dimensional edge weight; Generating a graph-based transform kernel optimized for the target unit by combining the one-dimensional graph-based transform kernel; And performing a transformation on the target unit by using the graph-based transformation kernel.
  • At least one of the vertices of both ends of the one-dimensional graph corresponding to the one-dimensional graph-based transformation kernel comprises a self weight.
  • 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 transform unit 120 may apply an adaptive graph-based transform based on boundary information in a block.
  • the transform unit 120 may apply a graph-based transform according to prediction unit partition information (PU partition information) of the coding unit.
  • PU partition information prediction unit partition information
  • the transform unit 120 may apply different graph-based transforms according to the coding unit or the configuration of the transform unit.
  • the transform unit 120 may apply one transform by merging adjacent transform units.
  • the transform unit 120 may apply transform using partition information on the transform unit.
  • the transform unit 120 may predict the graph-based transform of the current block by using information on the graph-based transform of the neighboring block.
  • the transform unit 120 may apply a non-square graph-based transform according to the prediction unit partition information (PU partition information) of the coding unit.
  • the transform unit 120 may apply different separable graph-based transforms for the row direction and the column direction of the coding unit.
  • 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 in the previous time, blocking artifacts or ringing artifacts may exist. have.
  • the inter prediction unit 180 may interpolate the signals between pixels in sub-pixel units by applying a lowpass filter 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 may include an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, a filtering unit 240, and a decoded picture buffer unit (DPB) 250. ), An inter predictor 260, and an intra predictor 265.
  • the reconstructed video signal output through the decoder 200 may be reproduced through the reproducing apparatus.
  • 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 obtained transform coefficients may be applied to various embodiments described in the transform unit 120 of FIG.
  • 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 by the filtering unit 160, the inter prediction unit 180, and the intra prediction unit 185 of the encoder 100 are respectively the filtering unit 240, the inter prediction unit 260, and the decoder. The same may be applied to the intra predictor 265.
  • 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 any more 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.
  • FIG. 4 is a diagram for describing a process of obtaining a graph-based transformation matrix based on a 1D graph and a 2D graph as an embodiment to which the present invention is applied.
  • FIG. 4A illustrates a one-dimensional graph corresponding to each line of the pixel block
  • FIG. 4B illustrates a two-dimensional graph corresponding to the pixel block.
  • the graph vertex is associated with each pixel of the pixel block, and the value of the graph vertex may be expressed as a pixel value.
  • the graph edge may mean a line connecting graph vertices.
  • the graph edge is used to represent some form of statistical dependence in the signal, and a value representing the strength may be referred to as an edge weight.
  • a one-dimensional graph is shown, 0, 1, 2, and 3 represent positions of each vertex, and w 0 , w 1 , and w 2 represent edge weights between the vertices.
  • Each vertex may be connected to all other vertices, and an edge weight of zero may be assigned to the edges connecting the unrelated or weakly associated vertices. However, for the sake of simplicity, the edge with an edge weight of zero can be completely removed.
  • a transform obtained from a graph signal may be defined as a graph-based transform (hereinafter, referred to as 'GBT').
  • 'GBT' graph-based transform
  • GBT graph-based transform
  • the relationship information between pixels can be expressed in various ways. For example, relationship information between pixels may be expressed based on similarities between pixel values, whether they belong to the same PU, whether they belong to the same object, or the like.
  • the relationship information between pixels may be represented by edge presence and edge weight values between pixels when each pixel corresponds to a vertex of a graph.
  • the GBT may be obtained through the following process.
  • the encoder or decoder may obtain graph information from the target block of the video signal.
  • a GBT kernel can be obtained by performing eigen decomposition on the Laplacian matrix as shown in Equation 1 below.
  • Equation 1 L denotes a Laplacian matrix, U denotes an eigen matrix, and U T denotes a transpose matrix of U.
  • U that satisfies Equation 1 may mean a GBT kernel.
  • FIG. 5 illustrates an internal block diagram of a graph-based transform unit for performing transformation based on PU partition information of a coding unit according to an embodiment to which the present invention is applied.
  • the graph-based transform unit 500 to which the present invention is applied may include a boundary checker 510, a transform kernel acquirer 520, and a transform performer 530.
  • the graph-based converter 500 may exist as a separate functional unit as shown in FIG. 5. In this case, the graph-based converter 500 may be located in front of the converter 120 of FIG. 1. The invention is not limited to this. In addition, the graph-based converter 500 may be included in the converter 120 of FIG. 1.
  • the boundary checking unit 510 may check partition information when the target unit is divided into a plurality of blocks.
  • the target unit may be any one of a CTB, a CU, a PU, a TU, a processing unit, a block, or a frame.
  • the boundary checker 510 may detect a boundary from the PU partition information.
  • the conversion kernel obtaining unit 520 may obtain a conversion kernel based on the partition information.
  • the transform kernel may be a graph-based transform kernel in consideration of edge weights, and the graph-based transform kernel may be obtained from a predetermined table stored in an encoder or a decoder.
  • the edge weight is a value indicating the degree of correlation between pixels. For example, the edge weight may be determined to be close to 1, and to be close to 0.
  • the edge weight may be a fixed value set according to partition information. For example, graph edges that overlap partition boundaries may have smaller edge weights than graph edges that do not. This is because graph edges overlapping partition boundaries show correlations between pixels belonging to different partitions.
  • the conversion execution unit 530 may perform a conversion by using the obtained conversion kernel.
  • the graph-based converter 500 may include a graph signal generator 560, a PU division check unit 570, and an edge weight setting unit 580. It may include.
  • the graph signal generator 560 may generate a graph corresponding to the target unit.
  • the target unit may be any one of a CTB, a CU, a PU, a TU, a processing unit, a block, or a frame.
  • the Laplacian matrix of the graph as in Equation 1 may be used for graph-based signal processing.
  • the PU partition checking unit 570 may check the PU partition information when the target unit is divided into PUs having various shapes.
  • the edge weight setting unit 580 may set an edge weight adaptively to the edge of the graph signal according to the PU partition information. For example, graph edges that overlap PU partition boundaries may set smaller edge weights than graph edges that are not.
  • the graph-based transform unit 500 may generate a corresponding graph-based transform kernel using the edge weights.
  • the encoder may transmit at least one of an edge weight or a graph-based transform kernel to the decoder.
  • At least one of the edge weights or the graph-based transform kernel may be a sequence parameter set (SPS), a picture parameter set (PPS), a slice, a coding unit (CU), a prediction unit (PU), a block, a polygon, a processing unit, and a specific unit. May be transmitted at at least one level.
  • the encoder or decoder may pre-generate transform kernels for every combination of the edge weights. In such a case, the encoder may obtain corresponding transform kernels by sending an index for each combination to the decoder.
  • FIG. 6 is a diagram for describing a method of applying a transform generated from a 1D graph in a horizontal direction when a 2N ⁇ 2N coding unit is divided into nL ⁇ 2N.
  • the present invention provides embodiments for applying the GBT based on boundary information between block units.
  • GBT may be applied based on boundary information between PUs.
  • the GBT can be defined by dividing into separable GBT and non-separable GBT.
  • the separable GBT can be defined as a one-dimensional transform applied separately for the horizontal and vertical directions
  • the non-separable GBT is a transform applied at once for the entire NxN image.
  • the non-separable GBT may be an N 2 xN 2 transform kernel obtained from an N ⁇ N two- dimensional graph.
  • the separable GBT is referred to as SGBT
  • NSGBT the non-separable GBT.
  • PGBT a GBT applied based on PU partition information in a CU
  • PSGBTs separable GBTs in the PGBTs
  • PNSGBTs non-separable GBTs. do.
  • FIG. 6 (a) when a 2Nx2N CU is divided into nLx2N sizes and the transform is applied to the same size as the corresponding CU, the transform generated from the 1D graph of FIG. 6 (a) may be applied in the horizontal direction.
  • FIG. 6 (b) since pixels belonging to different partitions A and B are expected to have small correlations, graph edges existing at the boundary between partition A and partition B may have different graph edges. It is possible to give an edge weight ⁇ smaller than the applied edge weight ⁇ .
  • the edge weight means a value indicating the degree of correlation between pixels.
  • Equation 1 An eigen vector matrix obtained by generating a Laplacian matrix with respect to the 1D graph as shown in FIG. 6 (b) and then performing eigen decomposition as shown in Equation 1 is applicable. This is the transform kernel created from the 1D graph.
  • FIG. 7 is a flowchart illustrating a process of applying a GBT based on PU partition information of a coding unit according to an embodiment to which the present invention is applied.
  • the present invention provides an encoding and decoding embodiment for applying GBT based on PU partition information of a coding unit. For example, when a CU is divided into various types of PUs, GBT may be applied based on boundary information between PUs.
  • the encoder may check PU partition information when a CU is divided into a plurality of PUs.
  • a partition boundary may be detected from the PU partition information (S710).
  • the encoder may obtain a graph-based transform kernel corresponding to at least one of the PU partition information and a predetermined edge weight from a preset table (S720).
  • the edge weight may be a fixed value set according to the PU partition information.
  • the edge weights may be set such that graph edges that overlap PU partition boundaries have smaller edge weights than graph edges that do not.
  • a transform may be performed on the transform unit using the obtained graph-based transform kernel (S730).
  • a decoding embodiment of applying GBT based on PU partition information of a CU is provided. For example, when a CU is divided into various types of PUs, inverse GBT may be applied based on boundary information between PUs. In the case of a decoder, the process is similar to that performed in the encoder.
  • the decoder can confirm the block division information by extracting the block division information from the video signal.
  • the block partitioning information may include PU partition information, and the decoder may detect a partition boundary from the PU partition information.
  • syntax information including the block partition information may be extracted by a bitstream extractor (not shown) in a decoder.
  • the decoder may obtain a graph-based transform kernel corresponding to at least one of the PU partition information and a preset edge weight from a preset table.
  • the edge weight may be a fixed value set according to the PU partition information.
  • the edge weights may be set such that graph edges that overlap PU partition boundaries have smaller edge weights than graph edges that do not.
  • An inverse transform may be performed on a transform unit by using the obtained graph-based transform kernel.
  • the encoder may calculate an edge weight in a graph corresponding to the coding unit.
  • the edge weight may mean a value indicating correlation between pixels.
  • a separate graph-based transform kernel is generated for the rows and columns of the transform unit (TU) based on the coding information of the prediction unit (PU). Can be generated.
  • the graph-based kernel is generated based on the edge weight, and the edge weight may have a relatively small value at the PU partition boundary.
  • the transformation may be performed on the transform unit using the generated graph-based transform kernel.
  • the conversion type may include at least one of GBT, SGBT, NSGBT, PGBT, PSGBT, PNSGBT, DCT, DST, or KLT.
  • the graph-based transform kernel may be applied to the first transform unit, and a transform kernel other than the graph-based transform kernel may be applied to the second transform unit.
  • FIG. 8 is a diagram for describing a method of applying different transforms according to boundary information in a block when a 2N ⁇ 2N coding unit is divided into four N ⁇ N transform units according to an embodiment to which the present invention is applied.
  • FIG. 8A when a 2N ⁇ 2N CU is divided into nL ⁇ 2N sizes, let the left partition be Partition A and the right partition be Partition B.
  • the 2Nx2N CU may be divided into four NxN TUs and may be converted.
  • different Transforms may be applied to each TU.
  • PSGBT may be applied to transform blocks TU1 and TU3 including a partition boundary
  • DCT may be applied to TU2 and TU4 not including a partition boundary.
  • PSGBT may be applied to transform blocks TU1 and TU3 including a partition boundary
  • DCT may be applied to TU2 and TU4 not including a partition boundary.
  • the PSGBT may apply each PSGBT for each row and column, or may apply the PNSGBT obtained from the corresponding 2D graph at once. Therefore, GBT can be appropriately applied to any partition scheme or coding scheme.
  • edge weights applied to other graph edges are applied to graph edges existing at the boundary between partitions A and B. It is possible to give an edge weight ⁇ smaller than ( ⁇ ).
  • FIG. 9 is a diagram for describing a method of applying different transformations according to differences between motion information values of prediction units according to an embodiment to which the present invention is applied.
  • different types of GBTs may be applied based on information such as whether they are coded in an intra prediction or inter prediction scheme, a CU size, heterogeneity of a PU partition, and the like.
  • GBTs may be applied to one TU based on information such as TU size or PU partition boundary.
  • a normal separable GBT may be applied to a small TU and a PGBT may be applied to a large TU.
  • the TUs may be divided according to partition boundaries without applying the PGBT, and then GBT or DCT may be applied to each TU. In this case, the division flag may not be defined.
  • a transform type to be applied may be designated by transmitting a flag indicating whether to apply a PSGBT or a DCT (or GBT).
  • a specific transformation may be applied without a flag, and when the size is large, it may be selectively applied through a flag.
  • FIG. 10 is a diagram for describing a method of merging a plurality of transform units and performing transform when a transform unit in a coding unit has similar properties as an embodiment to which the present invention is applied.
  • one transform method may be applied by merging several adjacent TUs. For example, if there are four TUs in one CU as shown in FIG. 10 and the four TUs (TU1, TU2, TU3, TU4) have similar properties or coding information, the four TUs are one. After merging to TU, one conversion method can be applied. In this case, as an example of the similar property or coding information, the four TUs may have the same motion information, but the present invention is not limited thereto.
  • the embodiment described with reference to FIG. 8 may also be applied to the present invention.
  • the PU boundary information may be used to determine whether to apply the PGBT or the general GBT.
  • a PGBT may be applied, and when the merged TU block does not include a PU boundary, a general GBT may be applied.
  • information on which TUs are merged may be separately signaled.
  • bitmap data of the smallest TU unit may be sent to merge TUs having a value of 1 into one TU.
  • TU merge flag information e.g, TU merge flag
  • 16 TUs may be checked, and as a result of the check, TUs having a TU merge flag of 1 may be selected.
  • the TU merge flag may determine whether TUs having 1 are adjacent to each other and perform merge on adjacent TUs.
  • one transform may be applied to the merged TUs. For example, when the TU merge flag of TU1, TU2, TU3, and TU4 of FIG. 8 is 1, and the TU merge flag of the remaining TUs is 0, merge TU1, TU2, TU3, and TU4 that are adjacent to each other and convert one of them.
  • the method can be applied.
  • FIG. 11 is a diagram for describing a method of performing transformation by using partition information of a transformation unit according to an embodiment to which the present invention is applied.
  • a conversion method may be applied in consideration of partition information on a TU, apart from a split flag for a QT description on a TU.
  • TUs are divided as shown in FIG. In the case of TU1, it is divided in the horizontal direction.
  • a conversion method may be applied as shown in FIG. 11 (b) or 11 (c) according to partition information of TU1.
  • NSDCT non-square DCT
  • the PGBT may be applied based on partition information.
  • flag information indicating whether the TU partition information matches or is aligned with the PU partition information may be transmitted. For example, when the TU partition and the PU partition coincide, the TU partition information can be reduced by transmitting flag information indicating that the TU partition and the PU partition coincide.
  • a shape in which a rectangle is floating in the middle may be defined as a form of a TU partition (thick dotted line).
  • the internal partition can be divided into deeper levels.
  • FIG. 12 is a flowchart illustrating a decoding process of applying a GBT based on an edge weight of a graph signal according to an embodiment to which the present invention is applied.
  • the present invention provides a decoding embodiment of applying the GBT based on the edge weight of the graph signal.
  • the decoder may receive an edge weight in a graph corresponding to a coding unit (S1210).
  • the edge weight may mean a value indicating correlation between pixels.
  • the edge weight may be determined based on coding information of a prediction unit.
  • the coding information may include at least one of PU partition information or motion information.
  • the edge weight may have a relatively small value at the division boundary of the prediction unit.
  • a graph-based transform kernel of a transform unit may be obtained (S1220).
  • the transform unit may be restored using the graph-based transform kernel (S1230).
  • the conversion type may include at least one of GBT, SGBT, NSGBT, PGBT, PSGBT, PNSGBT, DCT, DST, or KLT.
  • FIG. 13 is a diagram for describing a method of predicting graph-based transform information of a current block by using graph-based transform information of a neighboring block, according to an embodiment to which the present invention is applied.
  • the GBT information of the neighboring TU may be used to code the GBT to be applied to the current TU.
  • an index indicating a GBT type of a neighboring TU may be used as a prediction value.
  • the same GBT is likely to be applied because they share the same partition boundary.
  • the same 1D GBT may be applied to the horizontal direction.
  • a vertical (or horizontal) GBT may be used as a predictor from a left TU, and a horizontal GBT may be used as a predictor.
  • a horizontal GBT may be used as a predictor.
  • Directional (or longitudinal) GBTs can be used as predictors.
  • the neighboring TU when the neighboring TU belongs to another PU, it may not refer to the GBT information.
  • the GBT information may be referred to only when the PU to which the current TU belongs and the PU to which the neighboring TU belongs are in angular prediction mode in a similar or identical direction.
  • FIG. 14 is a diagram for describing a method of applying a non-square graph-based transform based on prediction unit partition information of a coding unit according to an embodiment to which the present invention is applied.
  • non-square GBT may be applied based on PU partition information of a CU. For example, when a PU partition exists as shown in FIG. 14 (a), Nx2N SEGBT (SEGBT) or Nx2N non-separable GBT (NSGBT) may be applied to each PU partition.
  • SEGBT SEGBT
  • Nx2N non-separable GBT Nx2N non-separable GBT
  • a PU partition boundary exists between PU0 and PU1, and in the case of a TU including a PU partition boundary, that is, TU0 and TU2, a non-square GBT may be applied.
  • a non-square GBT may be applied.
  • two non-square GBTs may be applied to each of TU0 and TU2 based on a PU partition boundary.
  • square GBT or DCT may be applied.
  • FIG. 15 is a diagram for describing a method of applying a different separable transform to each line of a 2D graph as an embodiment to which the present invention is applied.
  • FIG. 15 illustrates a two-dimensional graph corresponding to a pixel block, a graph vertex is associated with each pixel of the pixel block, and the value of the graph vertex may be expressed as a pixel value.
  • the line connecting the graph vertices means a graph edge.
  • the graph edge is used to represent some form of statistical dependence in a signal, and a value representing the strength may be referred to as an edge weight.
  • NGBT 2D non-separable GBT
  • SGBTs 1D separable GBTs
  • edge weights of each side can be used to create and apply a 2D non-separable GBT (NSGBT) kernel.
  • SGBT 1D separable GBT
  • 1D SGBT Separable GBT
  • 1D separate GBTs may be applied to each line.
  • 1D SGBT may be applied to each combination.
  • one GBT template set for an NxN TU consists of M four-connected graphs, a total of M N 2 xN 2 conversion matrices must be prepared so that the memory for storing them The demand is large.
  • one 4-connected graph can be constructed by combining at least one 1D graph element, only a transformation for at least one 1D graph element is required, and thus a memory for storing transformation matrices. The amount can be reduced.
  • a variety of 4-connected 2D graphs can be generated with a limited number of 1D graph elements, thereby creating a GBT template set suitable for each mode combination. Can be customized Even if the total number of GBT templates increases, the underlying number of 1D transforms will remain the same, minimizing the amount of memory required. For example, after preparing a limited number of (a i0 , a i1 , a i2 ) and (b 0j , b 1j , b 2j ) combinations in FIG. In this case, one 4-connected 2D graph may be generated.
  • the combination of 1D transforms is used to customize the combination of 1D transforms. can do.
  • FIG. 16 illustrates an example of one-dimensional graphs that may be a transformation basis for applying a separable transform as an embodiment to which the present invention is applied.
  • Embodiments for 1D graphs that can be the basis for a line can be described as follows.
  • the correlation is small for only one pixel pair, so that only the weight value of the corresponding edge is set small.
  • a small edge weight may be set for the graph edge including the block boundary.
  • a self-loop may or may not exist at both ends, or only one side may have a self-loop.
  • FIGS. 16A and 16B illustrate a case in which a self-loop exists only at one end of the 1D graph
  • FIG. 16C shows a magnetic loop (across the 1D graph).
  • self-loop is present
  • FIG. 16 (d) shows a case in which no self-loop exists in the 1D graph.
  • the self-loop represents a dependency with an adjacent vertex and may mean, for example, a self weight. That is, weights may be further added to a portion where a self loop exists.
  • a separate 1D separable transform set may be defined according to the TU size.
  • the transform coefficient data increases with O (N 4 ) as the TU size increases, but in the case of a separable transform, it increases with O (N 2 ). Accordingly, the following configuration may be possible by combining various underlying 1D separable transforms.
  • a template in which a loop exists a template in which self-loops exist at both ends as shown in FIG. 16 (c), and a self-loop does not exist in both sides as shown in FIG. 16 (d). Templates. If these are all available, the four cases above are possible for rows and columns, respectively, so that a template index for a total of 16 combinations can be defined.
  • a template index is signaled, and a separate weight value is additionally assigned to only an edge corresponding to the boundary. You can apply a template instead.
  • FIG. 17 is a diagram for describing a method for signaling a weighted template based on boundary information in a block according to an embodiment to which the present invention is applied;
  • FIG. 18 is a diagram for boundary within a block as an embodiment to which the present invention is applied;
  • information indicating that the template to which the boundary information is considered may be separately signaled through a flag.
  • the PU partition boundary may be formed as a solid line. If the CU consists of four TUs (TU0, TU1, TU2, TU3), TU1 and TU3 share a PU partition boundary. Accordingly, 1D SGBT (Separable GBT) obtained from a 1D graph represented by an edge (indicated by a dotted line) having a small weight value in the middle may be applied to TU1 and TU3.
  • 1D SGBT Separable GBT
  • a rectangular TU can be combined by applying a 1D SGBT (SGBT) suitable for each direction, and different 1D SGBTs (SGBTs) can be applied to the horizontal / vertical directions.
  • SGBT 1D SGBT
  • SGBTs 1D SGBTs
  • 19 and 20 are flowcharts for describing a method of encoding / decoding an index representing a graph-based conversion template according to embodiments to which the present invention is applied.
  • a GBT template for a certain pattern may be defined as a GBT template, and a GBT template may be determined for each TU.
  • residual data constituting the TU can be represented by several patterns, first, GBTs for the patterns can be obtained. In addition, it is possible to select which pattern of GBT to apply to each TU.
  • the pattern is referred to as a GBT template, and according to an embodiment of the present invention, index information for designating a GBT template to be applied to each TU may be signaled.
  • index information for designating a GBT template to be applied to each TU may be signaled.
  • a method of encoding / decoding the index information is described, and how to reduce the number by using various coding mode information and how to adjust the type and number of GBT templates applied to each coding mode will be described. do.
  • the encoder may check a pattern of the residual signal (S1910).
  • a GBT template corresponding to the pattern of the residual signal may be determined.
  • the encoder and the decoder may already know the information on the GBT template or may decide at the time of coding.
  • An index indicating the determined graph based transformation template may be encoded (S1930). This may be performed by the transform unit 120 of FIG. 1 or the graph-based transform unit 500 of FIG. 5.
  • the decoder may receive index information indicating the graph-based transformation template (S2010).
  • the graph-based conversion template may correspond to the pattern of the residual signal.
  • the decoder may acquire a graph-based transform kernel corresponding to the index information (S2020).
  • the conversion unit may be restored using the graph-based conversion kernel (S2030). This may be performed by an inverse transformer in the decoder, whereby the residual signal is reconstructed and added to the predicted signal to reconstruct the video signal.
  • a codeword having a different length may be allocated according to the frequency of appearance of the GBT template.
  • a template having a high frequency of appearance may be assigned a short codeword and a template having a lower frequency of appearance may be assigned a longer codeword.
  • the frequency of appearance of the GBT templates may vary depending on the coding mode.
  • the appearance frequency of the GBT templates may vary according to the YUV component, the TU size, and the angular prediction mode.
  • the appearance frequency of GBT templates may vary depending on the YUV component, the TU size, whether the PU partition boundary is within the TU, the value of the fractional part of the motion vector, and the like. Therefore, the present invention proposes a method of differently assigning codewords for GBT templates according to coding modes.
  • the first bit may be allocated as a flag indicating the 0 th GBT template and the remaining bits may be distinguished by the following bits. For example, when the total number of GBT templates is 9, the 0th GBT template assigns 0 as a codeword (flag role), and the remaining 1-8th GBT templates are allocated up to 1000-1111 with the addition of 3-bit fixed length codewords. Can be.
  • the GBT template corresponding to index 0 may be differently set according to a coding mode.
  • the 0 th GBT template may be set differently for each combination of the YUV component, the TU size, and the intra prediction mode.
  • the GBT template that is applied with the highest frequency for each mode combination may be arranged in the 0th.
  • the plurality of GBT templates are separated using two or more bits instead of a 1-bit flag as in the first embodiment, followed by subsequent bits.
  • the remaining GBT templates can be distinguished.
  • codewords having different lengths may be assigned to each group according to the probabilities. If the probability distribution is different for each mode combination, different GBT templates may be matched for each codeword for each mode combination. For example, codeword allocation examples according to the increasing order of GBT template index are shown in Tables 1 to 2 below.
  • different codeword sets may be allocated to each mode combination.
  • the size of the codeword set may be set differently for each mode combination. This is because the probability distribution of the GBT templates differs for each mode combination, and the occurrence frequency of the specific GBT templates is very low, so there is no problem even when excluded from the list of GBT templates.
  • different types of GBT template sets may be defined according to mode combinations.
  • the mode combination 1 may be selected from the GBT templates A, B, C, and D
  • the mode combination 2 may be selected from the GBT templates B, C, E, F, and G.
  • the signaling of the GBT template index for the color difference component can be reduced by half by using the same GBT template for each processing unit (eg, TU).
  • the size of the side information may be reduced by extending the size of the processing unit signaling the GBT template index to a unit (eg, a CU) larger than the TU.
  • a separate 1D separate GBT may be applied to the horizontal direction and the vertical direction.
  • GBT template indexes for the horizontal direction and the vertical direction may be separately coded. Since the distribution of GBT templates in the horizontal direction and the distribution of GBT templates in the vertical direction are different for each mode combination, different codeword sets may be applied to the corresponding GBT templates according to the directions. In addition, different GBT template sets may be applied to the horizontal direction and the vertical direction for each mode combination, and the number of GBT templates constituting the corresponding GBT template set may be configured differently.
  • the frequency of use distribution of the transformation for the vertical (or horizontal) direction may vary. Accordingly, depending on what the GBT template for one direction is, it is possible to separately set the template set configuration, the codeword allocation method, etc. for the GBT in the other direction.
  • the mode encoding may be performed based on the similarity between the GBT template index for the neighboring block and the GBT template index for the current block. For example, when the GBT template index for the neighboring block and the GBT template index for the current block are similar, the GBT template index for the neighboring block may be determined as Most Probable Mode (MPM).
  • MPM Most Probable Mode
  • the GBT template 0 may be selected. If the flag for the GBT template index 0 is 1, the MPM flag (mpm_flag) may be transmitted. In this case, if the MPM flag (mpm_flag) is 1, one of the GBT templates of the neighboring block may be selected. If the MPM flag (mpm_flag) is 0, the GBT template index may be directly transmitted. In this case, the GBT template index may be represented by a fixed length bit string.
  • the embodiments described herein may be implemented and performed on a processor, microprocessor, controller, or chip.
  • the functional units illustrated in FIGS. 1 and 2 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 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.

Abstract

본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 방법에 있어서, 상기 비디오 신호로부터 현재 코딩 유닛의 예측 유닛 파티션 정보를 추출하는 단계; 상기 예측 유닛 파티션 정보에 기초하여 기설정된 테이블 정보로부터 그래프 기반 변환 커널(graph-based transform kernel)을 획득하는 단계; 및 상기 그래프 기반 변환 커널을 이용하여 변환 유닛에 대해 역변환을 수행하는 단계를 포함하되, 상기 그래프 기반 변환 커널은 상기 예측 유닛 파티션 정보 또는 에지 가중치 중 적어도 하나에 대응되고, 상기 에지 가중치는 픽셀 간 상관 관계를 나타내는 기설정된 값인 것을 특징으로 하는 방법을 제공한다.

Description

그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
본 발명은 그래프 기반 변환(graph-based transform)을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치에 관한 것이다. 구체적으로, 블록 단위 간 이질성에 기초하여 적응적으로 그래프 기반 변환(graph-based transform)을 적용하는 방법 및 분리 가능한 그래프 기반 변환(separable graph-based transform)을 적용하는 방법에 관한 것이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 등의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다.
차세대 비디오 컨텐츠는 고해상도(high spatial resolution), 고프레임율(high frame rate) 및 영상 표현의 고차원화(high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장(memory storage), 메모리 액세스율(memory access rate) 및 처리 전력(processing power) 측면에서 엄청난 증가를 가져올 것이다.
따라서, 차세대 비디오 컨텐츠를 보다 효율적으로 처리하기 위한 코딩 툴을 디자인할 필요가 있다.
특히, 그래프는 픽셀 간 관계 정보를 기술하는데 유용한 데이터 표현 형태로써, 이러한 픽셀 간 관계 정보를 그래프로 표현하여 처리하는 그래프 기반 신호 처리 방식이 활용되고 있다. 이러한 그래프 기반 신호 처리는 각 신호 샘플이 꼭지점(vertex)을 나타내며 신호의 관계들이 양의 가중치를 가지는 그래프 에지로 나타내어지는 그래프를 사용하여 샘플링, 필터링, 변환 등과 같은 개념들을 일반화할 수 있다. 따라서, 보다 효율적인 그래프 기반의 신호 처리 방법이 비디오 압축 분야뿐만 아니라 많은 응용 분야에서 요구된다.
블록 내 경계 정보에 기초하여 적응적인 그래프 기반 변환을 적용하는 방법을 제공하고자 한다.
블록이 복잡하게 분할되어 있는 경우 적응적으로 그래프 기반 변환을 적용하는 방법을 제공하고자 한다.
그래프 정보를 코딩하기 위한 오버헤드를 감소시키는 방안을 제공하고자 한다.
그래프 기반 변환에 대한 템플릿을 정의하고 이를 시그널링하는 방법을 제공하고자 한다.
그래프 기반 변환 템플릿의 출현 빈도에 따라 코딩 모드별로 코드 워드를 할당하는 방법을 제공하고자 한다.
코딩 블록의 행 방향과 열 방향에 대해 서로 다른 분리 가능한 그래프 기반 변환을 적용하는 방법을 제공하고자 한다.
본 발명은 블록 내 경계 정보에 기초하여 적응적인 그래프 기반 변환을 적용하는 방법을 제공한다.
본 발명은 코딩 유닛의 예측 유닛 파티션 정보에 따라 그래프 기반 변환을 적용하는 방법을 제공한다.
본 발명은 코딩 유닛 또는 변환 유닛의 구성에 따라 서로 다른 그래프 기반 변환을 적용하는 방법을 제공한다.
본 발명은 코딩 유닛 또는 변환 유닛 레벨에서 어떠한 그래프 기반 변환을 적용할지를 나타내는 플래그 정보를 정의하고자 한다.
본 발명은 인접한 변환 유닛을 머지(merge)하여 하나의 변환을 적용하는 방법을 제공한다.
본 발명은 변환 유닛에 대한 파티션 정보를 이용하여 변환을 적용하는 방법을 제공한다.
본 발명은 주변 블록의 그래프 기반 변환에 대한 정보를 이용하여 현재 블록의 그래프 기반 변환을 예측하는 방법을 제공한다.
본 발명은 코딩 유닛의 예측 유닛 파티션 정보에 따라 비정방형(non-square) 그래프 기반 변환을 적용하는 방법을 제공한다.
본 발명은 그래프 정보를 코딩하기 위한 오버헤드를 감소시키는 방안을 제공한다.
본 발명은 그래프 기반 변환에 대한 템플릿을 정의하고 이를 시그널링하는 방법을 제공한다.
본 발명은 그래프 기반 변환 템플릿의 출현 빈도에 따라 코딩 모드별로 코드 워드를 할당하는 방법을 제공한다.
본 발명은 코딩 블록의 행 방향과 열 방향에 대해 서로 다른 분리 가능한 그래프 기반 변환을 적용하는 방법을 제공한다.
본 발명은, 블록 내 경계 정보에 기초하여 적응적인 그래프 기반 변환을 적용함으로써 보다 효율적으로 비디오 신호를 처리할 수 있으며, 특히 블록이 복잡하게 분할되어 있는 경우에 보다 효율적일 수 있다.
또한, 본 발명은 그래프 기반 변환에 대한 템플릿을 정의하고 이를 시그널링하는 방법을 제공함으로써 그래프 정보를 코딩하기 위한 오버헤드를 현저히 감소시킬 수 있다.
또한, 그래프 기반 변환 템플릿의 출현 빈도에 따라 코딩 모드별로 코드 워드를 할당하는 방법을 제공함으로써 전송하는 데이터 크기를 줄일 수 있으며, 코딩 블록의 행 방향과 열 방향에 대해 서로 다른 분리 가능한 그래프 기반 변환을 적용함으로써 보다 효율적인 코딩을 수행할 수 있게 된다.
또한, 본 발명은, 변환을 적응적으로 적용할 수 있는 유연성을 확보하며, 연산 복잡도를 감소시킬 수 있다.
또한, 본 발명은, 서로 다른 비디오 세그먼트들에서 변화하는 통계적 특성에 대해 보다 빠른 적응을 가능하게 하며, 변환을 수행함에 있어서의 변동성을 제공할 수 있다.
또한, 본 발명은, 분리 가능한 변환을 이용함으로써 비디오 신호를 코딩하기 위한 연산 복잡도를 감소시킬 수 있으며, 변환 행렬의 전송 및 변환 선택에서의 오버헤드를 현저히 감소시킬 수 있다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 3은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.
도 4는 본 발명이 적용되는 일실시예로서, 1차원 그래프와 2차원 그래프에 기초하여 그래프 기반 변환 매트릭스를 획득하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명이 적용되는 일실시예로서, 코딩 유닛의 PU 파티션 정보에 기초하여 변환을 수행하는 그래프 기반 변환부의 내부 블록도를 나타낸다.
도 6 본 발명이 적용되는 일실시예로서, 2Nx2N 코딩 유닛이 nLx2N으로 분할된 경우 1차원 그래프로부터 생성된 변환을 수평 방향으로 적용하는 방법을 설명하기 위한 도면이다.
도 7은 본 발명이 적용되는 일실시예로서, 코딩 유닛의 PU 파티션 정보에 기초하여 GBT를 적용하는 과정의 흐름도이다.
도 8은 본 발명이 적용되는 일실시예로서, 2Nx2N 코딩 유닛이 4개의 NxN 변환 유닛으로 분할되어 경우 블록 내 경계 정보에 따라 서로 다른 변환을 적용하는 방법을 설명하기 위한 도면이다.
도 9는 본 발명이 적용되는 일실시예로서, 예측 유닛들의 모션 정보 값들 간의 차이에 따라 서로 다른 변환을 적용하는 방법을 설명하기 위한 도면이다.
도 10은 본 발명이 적용되는 일실시예로서, 코딩 유닛 내 변환 유닛이 유사한 성질을 갖는 경우 복수개의 변환 유닛을 머지하여 변환을 수행하는 방법을 설명하기 위한 도면이다.
도 11은 본 발명이 적용되는 일실시예로서, 변환 유닛의 파티션 정보를 이용하여 변환을 수행하는 방법을 설명하기 위한 도면이다.
도 12는 본 발명이 적용되는 일실시예로서, 그래프 신호의 에지 가중치에 기초하여 GBT를 적용하는 디코딩 과정의 흐름도이다.
도 13은 본 발명이 적용되는 일실시예로서, 주변 블록의 그래프 기반 변환 정보를 이용하여 현재 블록의 그래프 기반 변환 정보를 예측하는 방법을 설명하기 위한 도면이다.
도 14는 본 발명이 적용되는 일실시예로서, 코딩 유닛의 예측 유닛 파티션 정보에 기초하여 비정방형 그래프 기반 변환을 적용하는 방법을 설명하기 위한 도면이다.
도 15는 본 발명이 적용되는 일실시예로서, 2차원 그래프의 각 라인마다 서로 다른 분리가능한 변환(separable transform)을 적용하는 방법을 설명하기 위한 도면이다.
도 16은 본 발명이 적용되는 일실시예로서, 분리가능한 변환(separable transform)을 적용하기 위한 변환 기저가 될 수 있는 1차원 그래프들의 예를 나타낸다.
도 17은 본 발명이 적용되는 일실시예로서, 블록 내 경계 정보에 기초하여 가중치 적용된 템플릿을 시그널링하는 방법을 설명하기 위한 도면이고, 도 18은 본 발명이 적용되는 일실시예로서, 블록 내 경계 정보에 기초하여 1차원의 분리가능한 변환(separable transform)을 적용하는 방법을 설명하기 위한 도면이다.
도 19 및 도 20은 본 발명이 적용되는 실시예들로, 그래프 기반 변환 템플릿을 나타내는 인덱스를 인코딩/디코딩하는 방법을 설명하기 위한 흐름도이다.
본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 방법에 있어서, 상기 비디오 신호로부터 현재 코딩 유닛의 예측 유닛 파티션 정보를 추출하는 단계; 상기 예측 유닛 파티션 정보에 기초하여 기설정된 테이블 정보로부터 그래프 기반 변환 커널(graph-based transform kernel)을 획득하는 단계; 및 상기 그래프 기반 변환 커널을 이용하여 변환 유닛에 대해 역변환을 수행하는 단계를 포함하되, 상기 그래프 기반 변환 커널은 상기 예측 유닛 파티션 정보 또는 에지 가중치 중 적어도 하나에 대응되고, 상기 에지 가중치는 픽셀 간 상관 관계를 나타내는 기설정된 값인 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명에서, 상기 에지 가중치는 상기 예측 유닛의 분할 경계에서 상대적으로 작은 값을 갖는 것을 특징으로 한다.
또한, 본 발명에서, 상기 코딩 유닛이 복수개의 변환 유닛으로 구성된 경우, 상기 분할 경계와 겹치는 제 1 변환 유닛과 상기 분할 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용되는 것을 특징으로 한다.
또한, 본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 장치에 있어서, 상기 비디오 신호로부터 현재 코딩 유닛의 예측 유닛 파티션 정보를 추출하는 비트스트림 추출부; 및 상기 예측 유닛 파티션 정보에 기초하여 기설정된 테이블 정보로부터 그래프 기반 변환 커널(graph-based transform kernel)을 획득하고, 상기 그래프 기반 변환 커널을 이용하여 변환 유닛에 대해 역변환을 수행하는 역변환부를 포함하되, 상기 그래프 기반 변환 커널은 상기 예측 유닛 파티션 정보 또는 에지 가중치 중 적어도 하나에 대응되고, 상기 에지 가중치는 픽셀 간 상관 관계를 나타내는 기설정된 값인 것을 특징으로 하는 장치를 제공한다.
또한, 본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 방법에 있어서, 코딩 유닛에 대응되는 그래프 내 에지 가중치를 수신하는 단계, 여기서 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값임; 상기 에지 가중치에 기초하여, 변환 유닛의 그래프 기반 변환 커널(graph-based transform kernel)을 획득하는 단계; 및 상기 그래프 기반 변환 커널을 이용하여 상기 변환 유닛을 복원하는 단계를 포함하되, 상기 에지 가중치는 예측 유닛의 코딩 정보에 기초하여 결정된 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 인코딩하는 방법에 있어서, 코딩 유닛에 대응되는 그래프 내 에지 가중치를 산출하는 단계, 여기서 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값임; 예측 유닛의 코딩 정보에 기초하여, 변환 유닛의 행과 열에 대해 별개의 그래프 기반 변환 커널(graph-based transform kernel)을 생성하는 단계; 및 상기 그래프 기반 변환 커널을 이용하여, 상기 변환 유닛에 대해 변환을 수행하는 단계를 포함하되, 상기 그래프 기반 변환 커널은 상기 에지 가중치에 기초하여 생성되며, 상기 에지 가중치는 분할 경계에서 상대적으로 작은 값을 갖는 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명에서, 상기 코딩 유닛이 복수개의 변환 유닛으로 구성되는 경우, 상기 분할 경계와 겹치는 제 1 변환 유닛과 상기 분할 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용되고, 상기 제 1 변환 유닛은 상기 그래프 기반 변환 커널이 적용되고, 상기 제 2 변환 유닛은 상기 그래프 기반 변환 커널이 아닌 다른 변환 커널이 적용되는 것을 특징으로 한다.
또한, 본 발명에서, 상기 예측 유닛의 코딩 정보는 파티션 정보 또는 모션 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.
또한, 본 발명에서, 상기 코딩 유닛이 복수개의 예측 유닛들로 구성되는 경우, 상기 복수개의 예측 유닛들의 모션 정보들 간의 차이값이 기설정된 임계값보다 크면 중 상기 그래프 기반 변환 커널이 적용되는 것을 특징으로 한다.
또한, 본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 장치에 있어서, 코딩 유닛에 대응되는 그래프 내 에지 가중치를 수신하되, 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값이고, 상기 에지 가중치에 기초하여 변환 유닛의 그래프 기반 변환 커널(graph-based transform kernel)을 획득하고, 상기 그래프 기반 변환 커널을 이용하여 상기 변환 유닛을 복원하는 역변환부를 포함하되, 상기 에지 가중치는 예측 유닛의 코딩 정보에 기초하여 결정된 것을 특징으로 하는 장치를 제공한다.
또한, 본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 인코딩하는 장치에 있어서, 코딩 유닛에 대응되는 그래프 내 에지 가중치를 산출하되, 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값이고, 예측 유닛의 코딩 정보에 기초하여 변환 유닛의 행과 열에 대해 별개의 그래프 기반 변환 커널(graph-based transform kernel)을 생성하고, 상기 그래프 기반 변환 커널을 이용하여 상기 변환 유닛에 대해 변환을 수행하는 그래프 기반 변환부를 포함하되, 상기 그래프 기반 변환 커널은 상기 에지 가중치에 기초하여 생성되며, 상기 에지 가중치는 분할 경계에서 상대적으로 작은 값을 갖는 것을 특징으로 하는 장치를 제공한다.
또한, 본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 방법에 있어서, 그래프 기반 변환 템플릿을 나타내는 인덱스 정보를 수신하는 단계, 여기서 상기 그래프 기반 변환 템플릿은 잔여 신호의 패턴에 대응됨; 상기 인덱스 정보에 대응되는 그래프 기반 변환 커널을 획득하는 단계; 및 상기 그래프 기반 변환 커널을 이용하여 변환 유닛을 복원하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명은, 그래프 기반 신호를 이용하여 비디오 신호를 인코딩하는 방법에 있어서, 잔여 신호의 패턴(pattern)을 확인하는 단계; 상기 잔여 신호의 패턴에 대응되는 그래프 기반 변환 템플릿(graph-based transform template)을 결정하는 단계; 및 상기 결정된 그래프 기반 변환 템플릿을 나타내는 인덱스를 인코딩하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 장치에 있어서, 그래프 기반 변환 템플릿을 나타내는 인덱스 정보를 수신하되, 여기서 상기 그래프 기반 변환 템플릿은 잔여 신호의 패턴에 대응되고, 상기 인덱스 정보에 대응되는 그래프 기반 변환 커널을 획득하고, 상기 그래프 기반 변환 커널을 이용하여 변환 유닛을 복원하는 역변환부를 포함하는 것을 특징으로 하는 장치.
또한, 본 발명은, 그래프 기반 신호를 이용하여 비디오 신호를 인코딩하는 장치에 있어서, 잔여 신호의 패턴(pattern)을 확인하고, 상기 잔여 신호의 패턴에 대응되는 그래프 기반 변환 템플릿(graph-based transform template)을 결정하고, 상기 결정된 그래프 기반 변환 템플릿을 나타내는 인덱스를 인코딩하는 그래프 기반 변환부를 포함하는 것을 특징으로 하는 장치를 제공한다.
또한, 본 발명은, 그래프 기반 변환를 이용하여 비디오 신호를 인코딩하는 방법에 있어서, 타겟 유닛 내 각각의 행 또는 열에 대한 1차원 에지 가중치를 유도하는 단계, 여기서 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값임; 상기 1차원 에지 가중치에 대응되는 1차원 그래프 기반 변환 커널을 불러오는 단계; 상기 1차원 그래프 기반 변환 커널을 조합함으로써, 상기 타겟 유닛에 최적화된 그래프 기반 변환 커널을 생성하는 단계; 및 상기 그래프 기반 변환 커널을 이용하여, 상기 타겟 유닛에 대해 변환을 수행하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명에서, 상기 1차원 그래프 기반 변환 커널에 대응되는 1차원 그래프의 양끝 꼭지점들 중 적어도 하나는 자기 가중치(self weight)를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 의해서 설명되는 본 발명의 구성과 작용은 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
또한, 본 발명에서 사용되는 용어들은 발명을 설명하기 위해 선택된 일반적인 용어들이나, 유사한 의미를 갖는 다른 용어가 있는 경우 보다 적절한 해석을 위해 대체 가능할 것이다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다. 또한, 파티셔닝(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)를 생성할 수 있다. 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블록에 적용될 수도 있고, 정사각형이 아닌 가변 크기의 블록에도 적용될 수 있다.
본 발명의 일실시예로, 상기 변환부(120)는 블록 내 경계 정보에 기초하여 적응적인 그래프 기반 변환을 적용할 수 있다.
본 발명의 다른 일실시예로, 상기 변환부(120)는 코딩 유닛의 예측 유닛 파티션 정보(PU partition information)에 따라 그래프 기반 변환을 적용할 수 있다.
본 발명의 다른 일실시예로, 상기 변환부(120)는 코딩 유닛 또는 변환 유닛의 구성에 따라 서로 다른 그래프 기반 변환을 적용할 수 있다.
본 발명의 다른 일실시예로, 상기 변환부(120)는 인접한 변환 유닛을 머지(merge)하여 하나의 변환을 적용할 수 있다.
본 발명의 다른 일실시예로, 상기 변환부(120)는 변환 유닛에 대한 파티션 정보를 이용하여 변환을 적용할 수 있다.
본 발명의 다른 일실시예로, 상기 변환부(120)는 주변 블록의 그래프 기반 변환에 대한 정보를 이용하여 현재 블록의 그래프 기반 변환을 예측할 수 있다.
본 발명의 다른 일실시예로, 상기 변환부(120)는 코딩 유닛의 예측 유닛 파티션 정보(PU partition information)에 따라 비정방형(non-square) 그래프 기반 변환을 적용할 수 있다.
본 발명의 다른 일실시예로, 상기 변환부(120)는 코딩 유닛의 행 방향과 열 방향에 대해 서로 다른 분리가능한 그래프 기반 변환을 적용할 수 있다.
양자화부(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)를 획득한다. 여기서, 획득된 변환 계수는 상기 도 1의 변환부(120)에서 설명한 다양한 실시예들이 적용된 것일 수 있다.
역변환부(230)에서는 변환 계수를 역변환하여 잔여 신호(residual signal)를 획득하게 된다.
획득된 잔여 신호를 인터 예측부(260) 또는 인트라 예측부(265)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성된다.
필터링부(240)는 복원 신호(reconstructed signal)에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼부(250)에 전송한다. 복호 픽쳐 버퍼부(250)에 전송된 필터링된 신호는 인터 예측부(260)에서 참조 픽쳐로 사용될 수 있다.
본 명세서에서, 인코더(100)의 필터링부(160), 인터 예측부(180) 및 인트라 예측부(185)에서 설명된 실시예들은 각각 디코더의 필터링부(240), 인터 예측부(260) 및 인트라 예측부(265)에도 동일하게 적용될 수 있다.
도 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의 코딩 모드로 인트라 예측 모드가 사용되는지 인터 예측 모드가 사용되는지에 따라 상이하게 분할될 수 있다.
도 4는 본 발명이 적용되는 일실시예로서, 1차원 그래프와 2차원 그래프에 기초하여 그래프 기반 변환 매트릭스를 획득하는 과정을 설명하기 위한 도면이다.
본 발명의 일실시예로, 이미지 내 픽셀 블록의 처리를 위해 사용될 수 있는 그래프 타입은 도 4를 통해 설명될 수 있다. 예를 들어, 도 4(a)는 픽셀 블록의 각 라인에 대응되는 1차원 그래프를 나타내고, 도 4(b)는 픽셀 블록에 대응되는 2차원 그래프를 나타낼 수 있다.
그래프 꼭지점(vertex)은 픽셀 블록의 각 픽셀에 연관되며, 그래프 꼭지점의 값은 픽셀 값으로 표현될 수 있다. 그리고, 그래프 에지(graph edge)는 그래프 꼭지점을 연결하는 선을 의미할 수 있다. 상기 그래프 에지는 신호 내의 어떠한 형태의 통계적 의존성을 나타내기 위해 사용되며, 그 강도를 나타내는 값을 에지 가중치(edge weight)라 할 수 있다.
예를 들어, 도 4(a)를 살펴보면, 1차원 그래프를 나타내며, 0,1,2,3은 각 꼭지점의 위치를 나타내고, w0,w1,w2는 각 꼭지점 간의 에지 가중치를 나타낸다. 도 4(b)를 살펴보면, 2차원 그래프를 나타내며, aij (i=0,1,2,3,j=0,1,2), bkl (k=0,1,2,l=0,1,2,3)는 각 꼭지점 간의 에지 가중치를 나타낸다.
각 꼭지점은 모든 다른 꼭지점에 연결될 수 있으며, 0의 에지 가중치는 서로 연관되지 않거나 약하게 연관된 꼭지점들을 연결하는 에지에 할당될 수 있다. 다만, 표현의 간단화를 위해, 0의 에지 가중치를 갖는 에지는 완전히 제거될 수 있다.
본 발명이 적용되는 일실시예로, 그래프 신호로부터 획득되는 변환을 그래프 기반 변환(Graph-Based Transform, 이하 'GBT'라 함)이라 정의할 수 있다. 예를 들어, TU를 구성하는 픽셀 간의 관계 정보를 그래프로 표현한다고 할 때, 이 그래프로부터 얻어진 변환을 GBT라고 할 수 있다.
픽셀 간의 관계 정보는 다양한 방법으로 표현될 수 있다. 예를 들어, 픽셀 값들 사이의 유사성, 동일한 PU에 속해 있는지 여부, 같은 오브젝트에 속해 있는지 여부 등에 기초하여 픽셀 간의 관계 정보를 표현할 수 있다. 상기 픽셀 간 관계 정보는 각 픽셀을 그래프의 꼭지점에 대응시켰을 때 픽셀들 간의 에지 유무 및 에지 가중치(edge weight) 값으로 표현될 수 있다. 이 경우, 상기 GBT는 다음과 같은 과정을 통해 획득될 수 있다. 예를 들어, 인코더 또는 디코더는 비디오 신호의 타겟 블록으로부터 그래프 정보를 획득할 수 있다. 상기 획득된 그래프 정보로부터 라플라시안 행렬(Laplacian matrix)를 획득한 다음, 상기 라플라시안 행렬(Laplacian matrix)에 대해 아래 수학식 1과 같이 고유 분해(eigen decomposition)를 수행함으로써 GBT 커널을 획득할 수 있다.
수학식 1
Figure PCTKR2016001252-appb-M000001
상기 수학식 1에서, L은 라플라시안 행렬, U는 고유 행렬(eigen matrix), UT는 U의 전치행렬을 의미한다. 여기서, 상기 수학식 1을 만족하는 U가 GBT 커널을 의미할 수 있다.
도 5는 본 발명이 적용되는 일실시예로서, 코딩 유닛의 PU 파티션 정보에 기초하여 변환을 수행하는 그래프 기반 변환부의 내부 블록도를 나타낸다.
도 5(a)를 살펴보면, 본 발명이 적용되는 그래프 기반 변환부(500)는 경계 확인부(510), 변환 커널 획득부(520) 및 변환 수행부(530)를 포함할 수 있다. 상기 그래프 기반 변환부(500)는 도 5에서와 같이 별개의 기능 유닛으로 존재할 수 있고, 이 경우 상기 그래프 기반 변환부(500)는 상기 도 1의 변환부(120) 앞에 위치할 수 있으나, 본 발명은 이에 한정되지 않는다. 또한, 상기 그래프 기반 변환부(500)는 상기 도 1의 변환부(120) 내에 포함될 수도 있다.
상기 경계 확인부(510)는 타겟 유닛이 복수개의 블록들로 분할되어 있는 경우 파티션 정보를 확인할 수 있다. 예를 들어, 상기 타겟 유닛은 CTB, CU, PU, TU, 처리 유닛, 블록, 또는 프레임 중 어느 하나일 수 있다. 구체적 예로, 현재 CU가 복수개의 PU로 분할되어 있는 경우, 상기 경계 확인부(510)는 PU 파티션 정보로부터 경계(boundary)를 감지할 수 있다.
상기 변환 커널 획득부(520)는 상기 파티션 정보에 기초하여 변환 커널을 획득할 수 있다. 여기서, 상기 변환 커널은 에지 가중치를 고려한 그래프 기반 변환 커널일 수 있으며, 상기 그래프 기반 변환 커널은 인코더 또는 디코더에 저장되어 있는 기설정된 테이블로부터 획득될 수 있다. 상기 에지 가중치는 픽셀 간의 상관 관계 정도를 나타내는 값이며, 예를 들어 1에 가까울수록 상관 관계가 높으며 0에 가까울수록 상관 관계가 낮다고 판단할 수 있다.
또한, 상기 에지 가중치는 파티션 정보에 따라 설정된 고정값일 수 있다. 예를 들어, 파티션 경계와 겹치는 그래프 에지는 그렇지 않은 그래프 에지보다 더 작은 에지 가중치를 가질 수 있다. 이는, 파티션 경계와 겹치는 그래프 에지는 서로 다른 파티션에 속하는 픽셀들 간의 상관 관계를 나타내기 때문이다.
상기 변환 수행부(530)는 상기 획득된 변환 커널을 이용하여 변환을 수행할 수 있다.
도 5(b)를 살펴보면, 본 발명이 적용되는 다른 실시예로, 상기 그래프 기반 변환부(500)는 그래프 신호 생성부(560), PU 분할 확인부(570) 및 에지 가중치 설정부(580)를 포함할 수 있다.
상기 그래프 신호 생성부(560)은 타겟 유닛에 대응되는 그래프를 생성할 수 있다. 예를 들어, 상기 타겟 유닛은 CTB, CU, PU, TU, 처리 유닛, 블록, 또는 프레임 중 어느 하나일 수 있다. 상기 수학식 1에서와 같은 상기 그래프의 라플라시안 행렬이 그래프 기반의 신호 처리를 위해 사용될 수 있다.
그리고, 상기 PU 분할 확인부(570)는, 타겟 유닛이 다양한 모양의 PU들로 분할되는 경우 PU 파티션 정보를 확인할 수 있다.
상기 에지 가중치 설정부(580)는 상기 PU 파티션 정보에 따라 상기 그래프 신호의 에지에 대해 적응적으로 에지 가중치를 설정할 수 있다. 예를 들어, PU 파티션 경계와 겹치는 그래프 에지는 그렇지 않은 그래프 에지들보다 더 작은 에지 가중치를 설정할 수 있다.
그리고, 상기 그래프 기반 변환부(500)에서는 상기 에지 가중치를 이용하여 대응되는 그래프 기반 변환 커널을 생성할 수 있다.
이러한 경우, 인코더에서는 에지 가중치 또는 그래프 기반 변환 커널 중 적어도 하나를 디코더로 전송할 수 있다. 상기 에지 가중치 또는 상기 그래프 기반 변환 커널 중 적어도 하나는 SPS(Sequence Parameter Set), PPS(Picture Parameter Set), 슬라이스, CU(Coding Unit), PU(Prediction Unit), 블록, 폴리곤, 처리 유닛 및 특정 유닛 중 적어도 하나의 레벨에서 전송될 수 있다.
본 발명이 적용되는 다른 실시예로, 이용가능한 에지 가중치들의 조합을 한정할 수 있는 경우, 인코더 또는 디코더는 상기 에지 가중치들의 모든 조합에 대해 변환 커널들을 미리 생성할 수 있다. 이러한 경우, 인코더는 각 조합에 대한 인덱스를 디코더로 전송함으로써 대응되는 변환 커널들을 획득할 수도 있다.
도 6 본 발명이 적용되는 일실시예로서, 2Nx2N 코딩 유닛이 nLx2N으로 분할된 경우 1차원 그래프로부터 생성된 변환을 수평 방향으로 적용하는 방법을 설명하기 위한 도면이다.
CU의 PU 파티션 정보를 바탕으로 GBT를 적용하는 실시예
본 발명은 블록 유닛 간의 경계 정보에 기초하여 GBT를 적용하는 실시예들을 제공한다. 일실시예로, CU가 다양한 형태의 PU들로 분할되는 경우, PU들 간의 경계 정보에 기초하여 GBT를 적용할 수 있다.
GBT는 분리 가능한 GBT(separable GBT)와 비분리 GBT(Non-separable GBT)로 나누어서 정의될 수 있다. 여기서, 분리 가능한 GBT(separable GBT)는 수평 방향과 수직 방향에 대해 별개로 적용되는 1차원 변환으로 정의될 수 있고, 비분리 GBT(Non-separable GBT)는 NxN 이미지 전체에 대해 한번에 적용되는 변환으로 정의될 수 있다. 예를 들어, 상기 비분리 GBT(Non-separable GBT)는 NxN 2차원 그래프로부터 획득된 N2xN2 변환 커널일 수 있다. 이하에서는, 분리 가능한 GBT(separable GBT)를 SGBT라 하고, 비분리 GBT(Non-separable GBT)를 NSGBT라 한다.
또한, 본 명세서에서는, CU 내 PU 파티션 정보에 기초하여 적용되는 GBT를 PGBT라고 명명하고, PGBT 중에 분리 가능한 GBT(separable GBT)는 PSGBT, 비분리 GBT(Non-separable GBT)는 PNSGBT라고 명명하기로 한다.
본 발명이 적용되는 PGBT의 실시예는 다음과 같다. 도 6(a)에서와 같이 2Nx2N CU가 nLx2N 크기로 분할된 경우 해당 CU와 동일한 크기로 변환을 적용한다고 했을 때, 수평 방향으로 도 6(a)의 1D 그래프로부터 생성한 변환을 적용할 수 있다. 예를 들어, 도 6(b)를 살펴보면, 서로 다른 파티션 A, B에 속한 픽셀들은 서로 상관성(correlation)이 작을 것으로 예상되므로, 파티션 A와 파티션 B 간의 경계에 존재하는 그래프 에지에는 다른 그래프 에지에 적용되는 에지 가중치(α)보다 더 작은 에지 가중치(β)를 부여할 수 있다. 여기서, 에지 가중치는 픽셀 간의 상관(correlation) 정도를 나타내는 값을 의미한다.
상기 도 6(b)와 같은 1D 그래프에 대해서 라플라시안 매트릭스(Laplacian matrix)를 생성한 후 이에 대해 상기 수학식 1과 같이 고유 분해(eigen decomposition)를 수행하여 얻어진 아이겐 벡터 매트릭스(eigen vector matrix)가 해당 1D 그래프로부터 생성한 변환 커널(transform kernel)이 된다.
도 7은 본 발명이 적용되는 일실시예로서, 코딩 유닛의 PU 파티션 정보에 기초하여 GBT를 적용하는 과정의 흐름도이다.
본 발명은 코딩 유닛의 PU 파티션 정보에 기초하여 GBT를 적용하는 인코딩 및 디코딩 실시예를 제공한다. 예를 들어, CU가 다양한 형태의 PU들로 분할되는 경우, PU들 간의 경계 정보에 기초하여 GBT를 적용할 수 있다.
먼저, 인코더는, CU가 복수개의 PU들로 분할되어 있는 경우 PU 파티션 정보를 확인할 수 있다. 그리고, 상기 PU 파티션 정보로부터 파티션 경계(partition boundary)를 감지할 수 있다(S710).
상기 인코더는 기설정된 테이블로부터 상기 PU 파티션 정보와 기설정된 에지 가중치 중 적어도 하나에 대응되는 그래프 기반 변환 커널을 획득할 수 있다(S720). 여기서, 상기 에지 가중치는 PU 파티션 정보에 따라 설정된 고정값일 수 있다. 예를 들어, 상기 에지 가중치는 PU 파티션 경계와 겹치는 그래프 에지는 그렇지 않은 그래프 에지보다 더 작은 에지 가중치를 갖도록 설정될 수 있다.
상기 획득된 그래프 기반 변환 커널을 이용하여 변환 유닛에 대해 변환을 수행할 수 있다(S730).
본 발명의 다른 실시예로, CU의 PU 파티션 정보에 기초하여 GBT를 적용하는 디코딩 실시예를 제공한다. 예를 들어, CU가 다양한 형태의 PU들로 분할되는 경우, PU들 간의 경계 정보에 기초하여 역GBT를 적용할 수 있다. 디코더의 경우, 상기 인코더에서 수행되는 과정과 유사하다.
디코더는, 비디오 신호로부터 블록 분할 정보를 추출함으로써 블록 분할 정보를 확인할 수 있다. 예를 들어, 상기 블록 분할 정보는 PU 파티션 정보를 포함할 수 있으며, 디코더는 상기 PU 파티션 정보로부터 파티션 경계(partition boundary)를 감지할 수 있다. 한편, 상기 블록 분할 정보를 포함한 신택스 정보들은 디코더 내 비트스트림 추출기(미도시)에 의해 추출될 수 있다.
상기 디코더는 기설정된 테이블로부터 상기 PU 파티션 정보와 기설정된 에지 가중치 중 적어도 하나에 대응되는 그래프 기반 변환 커널을 획득할 수 있다. 여기서, 상기 에지 가중치는 PU 파티션 정보에 따라 설정된 고정값일 수 있다. 예를 들어, 상기 에지 가중치는 PU 파티션 경계와 겹치는 그래프 에지는 그렇지 않은 그래프 에지보다 더 작은 에지 가중치를 갖도록 설정될 수 있다.
상기 획득된 그래프 기반 변환 커널을 이용하여 변환 유닛에 대해 역변환을 수행할 수 있다.
본 발명이 적용되는 다른 실시예로, 인코더는, 코딩 유닛에 대응되는 그래프 내 에지 가중치를 산출할 수 있다. 여기서, 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값을 의미할 수 있다.
만약, CU가 다양한 형태의 PU들로 분할되는 경우, 예측 유닛(PU)의 코딩 정보에 기초하여, 변환 유닛(TU)의 행과 열에 대해 별개의 그래프 기반 변환 커널(graph-based transform kernel)을 생성할 수 있다. 이때, 상기 그래프 기반 커널은 상기 에지 가중치에 기초하여 생성되고, 상기 에지 가중치는 PU 파티션 경계에서 상대적으로 작은 값을 가질 수 있다.
상기 생성된 그래프 기반 변환 커널을 이용하여 상기 변환 유닛에 대해 변환을 수행할 수 있다.
다른 예로, 상기 코딩 유닛이 복수개의 변환 유닛으로 구성되는 경우, 상기 PU 파티션 경계와 겹치는 제 1 변환 유닛과 상기 PU 파티션 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용될 수 있다. 예를 들어, 변환 타입으로는 GBT, SGBT, NSGBT, PGBT, PSGBT, PNSGBT, DCT, DST, 또는 KLT 중 적어도 하나를 포함할 수 있다.
구체적 예로, 상기 제 1 변환 유닛은 상기 그래프 기반 변환 커널이 적용되고, 상기 제 2 변환 유닛은 상기 그래프 기반 변환 커널이 아닌 다른 변환 커널이 적용될 수 있다.
도 8은 본 발명이 적용되는 일실시예로서, 2Nx2N 코딩 유닛이 4개의 NxN 변환 유닛으로 분할되어 경우 블록 내 경계 정보에 따라 서로 다른 변환을 적용하는 방법을 설명하기 위한 도면이다.
도 8(a)에서와 같이 2Nx2N CU가 nLx2N 크기로 분할된 경우, 왼쪽 파티션을 파티션 A, 오른쪽 파티션을 파티션 B라 하자. 이때, 2Nx2N CU는 4개의 NxN TU로 분할되어 변환될 수 있고, 이 경우 각 TU 마다 서로 다른 방식의 변환이 적용될 수 있다. 예를 들어, 파티션 경계를 포함하는 변환 블록 TU1과 TU3에는 PSGBT가 적용될 수 있고, 파티션 경계를 포함하지 않는 TU2와 TU4에는 DCT가 적용될 수 있다. 즉, 파티션 경계를 포함하는 변환 블록에 대해 PSGBT를 적용함으로써 보다 적응적인 변환을 수행할 수 있게 된다.
이때, 상기 PSGBT는 행과 열 별로 각각의 PSGBT를 적용할 수도 있고, 또는 해당 2D 그래프로부터 획득된 PNSGBT를 한 번에 적용할 수도 있다. 따라서, 어떠한 파티션 방식 또는 코딩 구조에서라도 GBT를 적절히 적용할 수 있다.
도 8(b)를 살펴보면, 서로 다른 파티션 A, B에 속한 픽셀들은 서로 상관성(correlation)이 작을 것으로 예상되므로, 파티션 A와 파티션 B 간의 경계에 존재하는 그래프 에지에는 다른 그래프 에지에 적용되는 에지 가중치(α)보다 더 작은 에지 가중치(β)를 부여할 수 있다.
도 9는 본 발명이 적용되는 일실시예로서, 예측 유닛들의 모션 정보 값들 간의 차이에 따라 서로 다른 변환을 적용하는 방법을 설명하기 위한 도면이다.
CU 또는 TU의 구성에 따라 이종의 GBT를 적용
한 CU에 대해, 인트라 예측 또는 인터 예측 방식으로 코딩되었는지 여부, CU 크기, PU 파티션의 이질성 등의 정보에 기초하여 서로 다른 종류의 GBT를 적용할 수 있다.
한 TU에 대해서도 TU 크기나 PU 파티션 경계의 포함 여부 등의 정보에 기초하여 서로 다른 종류의 GBT를 적용할 수 있다. 예를 들어, 작은 TU에 대해서는 일반 분리 가능한 GBT(separable GBT)를 작용하고 큰 TU에 대해서는 PGBT를 적용할 수 있다.
또 다른 예로, 한 PU 경계에 대해 인접한 PU들의 모션 벡터 값 차이가 큰 경우, 두 PU가 이질적인 특성을 갖는다고 판단하여, 도 9(a)에서와 같이 해당 경계를 포함하는 PU에 대해서는 PGBT를 적용할 수 있다.
또는, 도 9(b)에서와 같이, 상기 모션 벡터 값 차이가 큰 경우, 오히려 PGBT를 적용하지 않고 파티션 경계에 따라 TU들을 분할한 후 각 TU에 대해서 GBT 또는 DCT를 적용하도록 구성할 수도 있다. 이 경우, 분할 플래그를 정의하지 않을 수 있다.
본 발명이 적용되는 다른 실시예로, CU 또는 TU 레벨에서 어떠한 GBT를 적용할지를 플래그를 통해 지정할 수 있다.
예를 들어, CU 또는 TU 레벨에서 변환 블록이 PU 경계를 만났을 때 PSGBT를 적용할지 DCT(또는 GBT)를 적용할지 여부를 나타내는 플래그를 전송함으로써 적용할 변환 종류를 지정할 수 있다.
또 다른 예로, CU (또는 TU) 크기가 작은 경우에는 특정 변환을 플래그 없이 적용하고, 크기가 큰 경우에 플래그를 통해 선택적으로 적용하도록 할 수 있다.
도 10은 본 발명이 적용되는 일실시예로서, 코딩 유닛 내 변환 유닛이 유사한 성질을 갖는 경우 복수개의 변환 유닛을 머지하여 변환을 수행하는 방법을 설명하기 위한 도면이다.
도 10을 살펴보면, 몇 개의 인접한 TU들을 머지(merge)하여 하나의 변환 방법을 적용할 수 있다. 예를 들어, 도 10에서와 같이 하나의 CU 내의 4개의 TU가 존재하고 상기 4개의 TU들 (TU1, TU2, TU3, TU4)이 유사한 성질 또는 코딩 정보를 갖는 경우, 상기 4개의 TU들을 하나의 TU로 머지(merge)한 후 하나의 변환 방법을 적용할 수 있다. 이때, 상기 유사한 성질 또는 코딩 정보의 예로, 상기 4개의 TU들이 동일한 모션 정보를 갖는 경우를 들 수 있으나, 본 발명은 이에 한정되지 않는다.
본 발명이 적용되는 다른 실시예로, 도 8에서 설명한 실시예가 본 발명에도 적용될 수 있다. 예를 들어, PU 경계 정보 등을 활용하여 PGBT를 적용할지 또는 일반 GBT를 적용할지 여부를 결정할 수 있다. 구체적 예로, 상기 머지한 TU 블록이 PU 경계를 포함하는 경우 PGBT를 적용하고, PU 경계를 포함하지 않는 경우 일반 GBT를 적용할 수 있다.
본 발명이 적용되는 다른 실시예로, 어떤 TU들을 머지(merge)할 지에 대한 정보를 별도로 시그널링할 수 있다. 예를 들어, 가장 작은 TU 단위의 비트맵(bitmap) 데이터를 보내서 1의 값을 갖는 TU들을 하나의 TU로 머지(merge)하도록 할 수 있다. 또한, CU 내의 TU들 뿐만 아니라 CU 경계를 넘어선 TU들에 대해서도 머지(merge)할 수 있다.
본 발명이 적용되는 다른 실시예로, 어떤 TU들을 머지(merge)할 지에 대한 플래그 정보(예를 들어, TU 머지 플래그)를 전송함으로써 어떤 TU들을 머지할 지를 결정할 수 있다. 예를 들어, 16개의 TU들의 TU 머지 플래그 정보를 확인할 수 있고, 확인 결과 TU 머지 플래그가 1인 TU 들을 선별할 수 있다. 그리고, 상기 TU 머지 플래그가 1인 TU 들이 인접하고 있는지 여부를 확인하고, 인접한 TU들에 대해서는 머지를 수행할 수 있다. 그리고, 머지된 TU들에 대해서는 한번의 변환이 적용되도록 할 수 있다. 예를 들어, 도 8의 TU1, TU2, TU3, TU4의 TU 머지 플래그가 1이고, 나머지 TU들의 TU 머지 플래그는 0인 경우, 서로 인접하고 있는 TU1, TU2, TU3, TU4를 머지하여 하나의 변환 방법을 적용할 수 있다.
도 11은 본 발명이 적용되는 일실시예로서, 변환 유닛의 파티션 정보를 이용하여 변환을 수행하는 방법을 설명하기 위한 도면이다.
TU에 대한 파티션 정보를 이용한 변환 적용
본 발명이 적용되는 일실시예로, TU에 대한 QT 기술을 위한 분할 플래그(split flag)와는 별도로, TU에 대한 파티션(partition) 정보를 고려하여 변환 방법을 적용할 수 있다.
예를 들어, 도 11(a)에서와 같이 TU가 분할되어 있다고 가정하자. TU1의 경우 수평 방향으로 분할되어 있고, 이때 TU1의 파티션 정보에 따라 도 11(b) 또는 도 11(c)와 같이 변환 방법이 적용될 수 있다. 도 11(b)의 경우, TU1 내의 파티션 영역별로 비정방형 DCT(non-square DCT, NSDCT)를 적용할 수 있다. 또는, 도 11(c)의 경우와 같이, 파티션 정보에 기초하여 PGBT를 적용할 수도 있다.
다른 예로, TU 파티션에 대한 정보량을 줄이기 위해, TU 파티션 정보가 PU 파티션 정보와 일치하는지 또는 정렬(align)이 되는지 여부를 나타내는 플래그 정보를 전송할 수도 있다. 예를 들어, TU 파티션과 PU 파티션이 일치하는 경우에는, TU 파티션과 PU 파티션이 일치한다는 플래그 정보를 전송함으로써 TU 파티션 정보를 감소시킬 수 있다.
다른 예로, 도 10에서와 같이 사각형이 중간에 플로팅(floating)되어 있는 모양도 TU 파티션(굵은 점선)의 한 형태로 정의할 수 있다. 또한, 도 10의 TU1, TU2, TU3, TU4와 같이, 내부 파티션은 더 깊은 레벨로 분할될 수 있다.
도 12는 본 발명이 적용되는 일실시예로서, 그래프 신호의 에지 가중치에 기초하여 GBT를 적용하는 디코딩 과정의 흐름도이다.
본 발명은 그래프 신호의 에지 가중치에 기초하여 GBT를 적용하는 디코딩 실시예를 제공한다.
먼저, 디코더는, 코딩 유닛에 대응되는 그래프 내 에지 가중치를 수신할 수 있다(S1210). 여기서, 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값을 의미할 수 있다. 그리고, CU가 다양한 형태의 PU들로 분할되어 코딩된 경우, 상기 에지 가중치는 예측 유닛의 코딩 정보에 기초하여 결정된 것일 수 있다. 이때, 상기 코딩 정보는 PU 파티션 정보 또는 모션 정보 중 적어도 하나를 포함할 수 있다. 상기 에지 가중치는 상기 예측 유닛의 분할 경계에서 상대적으로 작은 값을 가질 수 있다.
상기 에지 가중치에 기초하여, 변환 유닛의 그래프 기반 변환 커널(graph-based transform kernel)을 획득할 수 있다(S1220).
상기 그래프 기반 변환 커널을 이용하여 상기 변환 유닛을 복원할 수 있다(S1230). 이때, 상기 코딩 유닛이 복수개의 변환 유닛으로 구성된 경우, 상기 분할 경계와 겹치는 제 1 변환 유닛과 상기 분할 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용될 수 있다. 예를 들어, 상기 변환 타입으로는 GBT, SGBT, NSGBT, PGBT, PSGBT, PNSGBT, DCT, DST, 또는 KLT 중 적어도 하나를 포함할 수 있다.
도 13은 본 발명이 적용되는 일실시예로서, 주변 블록의 그래프 기반 변환 정보를 이용하여 현재 블록의 그래프 기반 변환 정보를 예측하는 방법을 설명하기 위한 도면이다.
주변 GBT 정보를 통한 현재 GBT의 예측
현재 TU에 적용할 GBT의 종류가 주변 TU에 대한 GBT의 종류와 유사한 경우, 현재 TU에 적용할 GBT를 코딩하기 위해 주변 TU의 GBT 정보를 이용할 수 있다. 예를 들어, 현재 TU의 GBT 종류를 나타내는 인덱스(index)를 코딩할 때 주변 TU의 GBT 종류를 가리키는 인덱스(index)를 예측 값으로 사용할 수 있다. 구체적 예로, 도 13에서 위아래로 인접한 TU 0와 TU 2의 경우 동일한 파티션 경계(partition boundary)를 공유하고 있기 때문에 동일한 GBT가 적용될 가능성이 크다. 가로 방향에 대해서는 동일한 1D GBT가 적용될 수 있다. 따라서, 현재 TU의 최적 GBT를 결정할 때 주변 TU의 GBT 정보를 활용하는 것이 가능하다.
본 발명이 적용되는 다른 실시예로, 분리 가능한 GBT(Separable GBT)의 경우, 좌측 TU로부터는 세로 방향의 (또는 가로 방향의) GBT를 예측자(predictor)로 이용할 수 있고, 상측 TU로부터는 가로 방향의 (또는 세로 방향의) GBT를 예측자(predictor)로 이용할 수 있다.
다른 실시예로, 주변 TU가 다른 PU에 속하는 경우 GBT 정보를 참조하지 않을 수 있다.
또한, 인트라 코딩의 경우, 현재 TU가 속한 PU와 주변 TU가 속한 PU가 유사 또는 동일한 방향의 앵귤러 예측 모드(angular prediction mode)인 경우에 한해 GBT 정보를 참조할 수도 있다.
도 14는 본 발명이 적용되는 일실시예로서, 코딩 유닛의 예측 유닛 파티션 정보에 기초하여 비정방형 그래프 기반 변환을 적용하는 방법을 설명하기 위한 도면이다.
비정방형(Non-square) GBT의 적용
본 발명이 적용되는 일실시예로, CU의 PU 파티션 정보에 기초하여 비정방형(non-square) GBT를 적용할 수 있다. 예를 들어, 도 14(a)에서와 같이 PU 파티션이 존재하는 경우, 각 PU 파티션에 대해 Nx2N SGBT(separable GBT) 또는 Nx2N NSGBT(non-separable GBT)를 적용할 수 있다.
다른 실시예로, TU가 분할(split)된 경우 PU 파티션 경계(partition boundary)를 포함하는 TU의 경우는 2개의 비정방(non-square) GBT를 적용하고, 그렇지 않는 경우에는 정방 GBT(square GBT) 또는 DCT를 적용할 수 있다. 예를 들어, 도 14(b)에서와 같이 PU0와 PU1 사이에 PU 파티션 경계가 존재하고, PU 파티션 경계를 포함하는 TU, 즉 TU0와 TU2의 경우, 비정방(non-square) GBT가 적용될 수 있다. 이때, TU0와 TU2 각각은, PU 파티션 경계를 기준으로 2개의 비정방(non-square) GBT가 적용될 수 있다. 그리고, PU 파티션 경계를 포함하지 않는 TU들, 즉 TU1과 TU3의 경우, 정방 GBT(square GBT) 또는 DCT가 적용될 수 있다.
도 15는 본 발명이 적용되는 일실시예로서, 2차원 그래프의 각 라인마다 서로 다른 분리가능한 변환(separable transform)을 적용하는 방법을 설명하기 위한 도면이다.
상기 도 15는 픽셀 블록에 대응되는 2차원 그래프를 나타내며, 그래프 꼭지점(vertex)은 픽셀 블록의 각 픽셀에 연관되며, 그래프 꼭지점의 값은 픽셀 값으로 표현될 수 있다. 여기서, 그래프 꼭지점을 연결하는 선은 그래프 에지(graph edge)를 의미한다. 앞서 살펴본 바와 같이, 상기 그래프 에지는 신호 내의 어떠한 형태의 통계적 의존성을 나타내기 위해 사용되며, 그 강도를 나타내는 값을 에지 가중치(edge weight)라 할 수 있다. 예를 들어, 도 15를 살펴보면, 2차원 그래프를 나타내며, aij (i=0,1,2,3,j=0,1,2), bkl (k=0,1,2,l=0,1,2,3)는 각 꼭지점 간의 에지 가중치를 나타낸다.
본 발명이 적용되는 일실시예로, 직각 방향으로 이웃한 픽셀들에 대해서만 그래프 에지를 연결하는 2D 그래프의 경우(이를 4-connected graph라 하기도 한다), 2D NSGBT(non-separable GBT)를 적용할 수도 있지만 열(row) 방향과 행(column) 방향에 각각 1D SGBT(separable GBT)를 적용할 수 있다.
예를 들어, 도 15의 2D 그래프의 각 꼭지점에 대해 최대 4개의 이웃한 꼭지점을 가지므로 4-연결 그래프(4-connected graph)라고 할 수 있으며, 여기서, 각 변의 에지 가중치(edge weight) (aij, bkl)를 이용하여 2D NSGBT(non-separable GBT) 커널(kernel)을 생성해서 적용할 수 있다.
구체적 예로, 열(row) 방향에 대해서는 각 열(row)에 대해 i번째 열의 에지 가중치 ai0, ai1, ai2로 이루어진 그래프에 대한 1D SGBT(separable GBT)를 적용하고 각 행(column)에 대해서는 j번째 행(column) b0j, b1j, b2j의 에지 가중치로 이루어진 그래프에 대한 1D SGBT(separable GBT)를 적용할 수 있다.
다른 실시예로, 임의의 4-연결 그래프(4-connected graph)의 경우 각 라인마다 (가로 방향과 세로 방향 모두에 대해) 서로 다른 1D SGBT(separable GBT)을 적용할 수 있다. 예를 들어, 도 15에서 각 열(row)과 행(column)에 대해 에지 가중치(edge weight)의 조합이 다른 경우, 각 조합에 대한 1D SGBT를 적용할 수 있다.
한편, NxN TU에 대한 한 GBT 템플릿 셋(template set)이 M 개의 4-연결 그래프(4-connected graph)들로 구성된 경우, 총 M 개의 N2xN2 변환 매트릭스들이 준비되어야 하므로 이들을 저장하기 위한 메모리 요구량이 커진다. 따라서, 하나의 4-연결 그래프(4-connected graph)를 적어도 하나의 1D 그래프 요소로 조합하여 구성할 수 있다면, 적어도 하나의 1D 그래프 요소에 대한 변환만이 필요하게 되므로 변환 매트릭스들을 저장하기 위한 메모리 양을 줄일 수 있다.
본 발명의 일실시예로, 제한된 개수의 1D 그래프 요소들로 다양한 4-연결 2D 그래프(4-connected 2D graph)들을 생성할 수 있고, 그럼으로써 각 모드 조합에 적합한 GBT 템플릿 셋(template set)을 커스터마이징할 수 있다. 총 GBT 템플릿 개수가 늘어난다 할지라도 기저를 이루는 1D 변환들의 수는 그대로일 것이므로 필요한 메모리 양을 최소화할 수 있다. 예를 들어, 도 15에서 제한된 개수의 (ai0, ai1, ai2)과 (b0j, b1j, b2j) 조합들을 준비한 후, 각 조합에 대한 1D 그래프들을 단위로 하여 이들을 적절히 연결하게 되면 하나의 4-연결 2D 그래프(4-connected 2D graph)를 생성할 수 있다.
예를 들어, 현재 코딩 블록에 대해서, 그래프 에지 정보, 파티션 정보, 픽셀 간 상관성(correlation) 정보 등을 비트스트림으로부터 전달받거나 주변 정보로부터 유도가 가능한 경우, 이 정보들을 이용하여 1D 변환들의 조합을 커스터마이징할 수 있다.
도 16은 본 발명이 적용되는 일실시예로서, 분리가능한 변환(separable transform)을 적용하기 위한 변환 기저가 될 수 있는 1차원 그래프들의 예를 나타낸다.
한 라인에 대해서 기저가 될 수 있는 1D 그래프들에 대한 실시예들로는 다음과 같이 설명될 수 있다.
첫번째 실시예로, 한 픽셀 쌍(pixel pair)에 대해서만 상관성(correlation)이 작아서 해당 에지(edge)의 가중치 값만 작게 설정하는 경우를 들 수 있다. 예를 들어, 블록 경계를 포함하는 픽셀 쌍(pixel pair)의 경우 상관성이 상대적으로 작으므로 블록 경계를 포함하는 그래프 에지에 대해 작은 에지 가중치를 설정할 수 있다.
두번째 실시예로, 양단에 자기 루프(self-loop)가 존재하거나, 존재하지 않는 경우, 또는 한 쪽만 자기 루프(self-loop)가 존재하는 경우를 들 수 있다. 예를 들어, 도 16(a)와 도 16(b)는 1D 그래프 양단의 한 쪽에만 자기 루프(self-loop)가 존재하는 경우를 나타내고, 도 16(c)는 1D 그래프 양단에 자기 루프(self-loop)가 존재하는 경우를 나타내며, 도 16(d)는 1D 그래프 양단에 자기 루프(self-loop)가 존재하지 않는 경우를 나타낸다. 여기서, 자기 루프(self-loop)란 인접 꼭지점(vertex)와의 의존성(dependency)을 나타내는 것으로, 예를 들어 자기 가중치를 의미할 수 있다. 즉, 자기 루프(self-loop)가 존재하는 부분에 가중치를 더 부여할 수 있다.
본 발명의 다른 실시예로, TU 사이즈에 따라 별도의 1D 분리 가능한 변환 셋(separable transform set)을 정의할 수 있다. 비분리 변환(Non-separable transform)의 경우 TU 사이즈가 커질수록 O(N4)으로 변환 계수 데이터가 늘어나지만, 분리 가능한 변환(separable transform)의 경우는 O(N2)으로 늘어가게 된다. 따라서, 기저를 이루는 여러 가지 1D 분리 가능한 변환(separable transform)들을 조합함으로써 다음과 같은 구성이 가능할 수 있다.
예를 들어, 1D 분리 가능한 변환(separable transform) 템플릿으로, 도 16(a)와 같이 왼쪽에 자기 루프(self-loop)가 존재하는 템플릿, 도 16(b)와 같이 오른쪽에 자기 루프(self-loop)가 존재하는 템플릿, 도 16(c)와 같이 양단에 자기 루프(self-loop)가 존재하는 템플릿, 및 도 16(d)와 같이 양쪽에 자기 루프(self-loop)가 모두 존재하지 않는 템플릿을 들 수 있다. 이들이 모두 이용가능한 경우, 열(row)과 행(column)에 대해 각기 상기 4가지 경우들이 가능하므로 총 16개의 조합에 대한 템플릿 인덱스(template index)를 정의할 수 있다.
다른 실시예로, TU 중간에 파티션 경계(partition boundary) 또는 오브젝트 경계(object boundary)가 존재하는 경우 템플릿 인덱스(template index)를 시그널링하되, 경계에 해당하는 에지에 대해서만 추가적으로 작은 가중치 값을 부여한 별도의 템플릿을 대신 적용할 수 있다.
도 17은 본 발명이 적용되는 일실시예로서, 블록 내 경계 정보에 기초하여 가중치 적용된 템플릿을 시그널링하는 방법을 설명하기 위한 도면이고, 도 18은 본 발명이 적용되는 일실시예로서, 블록 내 경계 정보에 기초하여 1차원의 분리가능한 변환(separable transform)을 적용하는 방법을 설명하기 위한 도면이다.
본 발명의 일실시예로, 경계 정보가 고려된 템플릿을 적용할 것이라는 정보를 플래그를 통해 별도로 시그널링할 수 있다. 예를 들어, 도 17에서와 같이 한 CU가 nRx2N 형태로 파티션된 경우, PU 파티션 경계가 실선과 같이 형성될 수 있다. 만약, 상기 CU가 4개의 TU들(TU0, TU1, TU2, TU3)로 구성되는 경우 TU1과 TU3은 PU 파티션 경계를 공유한다. 따라서, TU1과 TU3에 대해서는 도 18과 같이 중간에 작은 가중치 값을 가진 에지(점선으로 표시)로 표현된 1D 그래프로부터 획득된 1D SGBT(separable GBT)를 적용할 수 있다.
또한, 직사각형(rectangular) 모양의 TU에 대해서도 각 방향에 적합한 1D SGBT(separable GBT)를 적용하여 조합할 수 있고, 수평/수직 방향에 대해 각기 서로 다른 1D SGBT(separable GBT)를 적용할 수도 있다.
도 19 및 도 20은 본 발명이 적용되는 실시예들로, 그래프 기반 변환 템플릿을 나타내는 인덱스를 인코딩/디코딩하는 방법을 설명하기 위한 흐름도이다.
본 발명이 적용되는 일실시예로, 일정한 패턴에 대한 GBT를 GBT 템플릿으로 정의하고, TU마다 어떤 GBT 템플릿을 적용할지 결정할 수 있다.
만약 TU를 구성하는 잔여 데이터(residual data)가 몇 개의 패턴들로 대표될 수 있다고 하면, 먼저 해당 패턴들에 대한 GBT를 각기 획득할 수 있다. 그리고, TU마다 어떤 패턴의 GBT를 적용할지를 선택할 수 있다.
잔여 데이터(residual data)마다 해당 그래프와 연관된 정보를 모두 코딩해야 한다면 상당한 오버헤드가 발생할 것이다. 따라서, 상기와 같이 대표되는 패턴들을 정한 후 패턴을 가리키는 인덱스를 코딩함으로써 오버헤드를 대폭 감소시킬 수 있다.
본 명세서에서는 상기의 패턴을 GBT 템플릿이라고 하며, 본 발명의 실시예로 TU마다 적용할 GBT 템플릿을 지정해 주는 인덱스 정보를 시그널링할 수 있다. 이하의 실시예에서는 상기 인덱스 정보를 인코딩/디코딩하는 방법을 설명하고, 여러 가지 코딩 모드 정보를 활용하여 어떻게 줄일 수 있을 지와 코딩 모드 별로 적용되는 GBT 템플릿들의 종류와 개수를 조절하는 방법을 설명하도록 한다.
먼저, 인코더는 잔여 신호의 패턴(pattern)을 확인할 수 있다(S1910).
그리고, 상기 잔여 신호의 패턴에 대응되는 GBT 템플릿(graph-based transform template)을 결정할 수 있다(S1920). 이때, 인코더와 디코더는 이미 상기 GBT 템플릿에 대한 정보를 알고 있거나, 또는 코딩시에 결정할 수도 있다.
상기 결정된 그래프 기반 변환 템플릿을 나타내는 인덱스를 인코딩할 수 있다(S1930). 이는 도 1의 변환부(120) 또는 도 5의 그래프 기반 변환부(500)에 의해 수행될 수 있다.
한편, 디코더는 그래프 기반 변환 템플릿을 나타내는 인덱스 정보를 수신할 수 있다(S2010). 여기서, 상기 그래프 기반 변환 템플릿은 잔여 신호의 패턴에 대응될 수 있다.
그리고, 상기 디코더는 상기 인덱스 정보에 대응되는 그래프 기반 변환 커널을 획득할 수 있다(S2020).
상기 그래프 기반 변환 커널을 이용하여 변환 유닛을 복원할 수 있다(S2030). 이는 디코더 내 역변환부에 의해 수행될 수 있으며, 이를 통해 잔여 신호가 복원되고 예측된 신호와 더해져 비디오 신호를 복원하게 된다.
본 발명의 다른 일실시예로, GBT 템플릿 별로 코드워드(codeword)를 할당하여 부가 정보(side information)를 코딩하는 경우, GBT 템플릿의 출현 빈도에 따라 다른 길이의 코드워드(codeword)를 할당할 수 있다. 예를 들어, 출현 빈도가 높은 템플릿의 경우 짧은 길이의 코드워드(codeword)를 할당하고, 출현 빈도가 보다 낮은 템플릿의 경우는 보다 긴 코드워드(codeword)를 할당할 수 있다.
다른 실시예로, GBT 템플릿들의 출현 빈도는 코딩 모드에 따라 달라질 수 있다. 예를 들어, 인트라 예측(intra prediction)의 경우 YUV 성분, TU 크기, 앵귤러 예측 모드(angular prediction mode)에 따라 GBT 템플릿들의 출현 빈도가 달라질 수 있다. 인터 예측(inter prediction)의 경우 YUV 성분, TU 크기, PU 파티션 경계가 TU 내부에 걸쳐있는지 여부, 모션 벡터의 소수(fractional) 부분에 대한 값 등에 따라 GBT 템플릿들의 출현 빈도가 달라질 수 있다. 따라서 본 발명에서는 코딩 모드 별로 GBT 템플릿들에 대한 코드워드를 다르게 할당하는 방법을 제안한다.
첫번째 실시예로, 첫 번째 비트는 0번째 GBT 템플릿을 가리키는 플래그로 할당하고 뒤따르는 비트들로 나머지 GBT 템플릿들을 구분할 수 있다. 예를 들어 전체 GBT 템플릿 개수가 9개일 때 0번째 GBT 템플릿은 코드워드로서 0을 할당하고(플래그 역할), 나머지 1~8번째 GBT 템플릿은 3비트 고정 길이 코드워드를 덧붙여 1000~1111까지 할당할 수 있다.
다른 예로, 변형된 형태로서 코딩 모드에 따라 인덱스 0에 (1비트 플래그만 할당) 대응되는 GBT 템플릿을 다르게 설정할 수 있다. 예를 들어 YUV 성분, TU 크기, 인트라 예측 모드 등에 대한 조합 별로 0번째 GBT 템플릿을 다르게 설정할 수 있다. 그리고, 각 모드 조합 별로 가장 높은 빈도로 적용되는 GBT 템플릿을 0번째에 배치할 수 있다.
두번째 실시예로, 비슷하게 큰 확률을 보이는 복수개의 GBT 템플릿들이 존재하는 경우, 첫번째 실시예에서처럼 1비트 플래그를 두는 대신 2개 이상의 비트들을 이용하여 상기 복수개의 GBT 템플릿들을 구분하고, 뒤이은 비트들로 나머지 GBT 템플릿들을 구분할 수 있다.
다른 예로, 모든 GBT 템플릿들이 비슷한 확률을 가지는 그룹들로 나뉘는 경우, 확률에 따라 각 그룹에 대해 다른 길이의 코드워드를 부여할 수 있다. 모드 조합 별로 확률 분포가 다른 경우, 모드 조합 별로 코드워드마다 다른 GBT 템플릿을 매칭시킬 수 있다. 예를 들어, GBT 템플릿 인덱스(GBT template index)의 증가 순서에 따른 코드워드 할당 예시는 다음 표 1 내지 2와 같다.
표 1
템플릿 인덱스(template index) 코드워드(codeword)
0 0
1 10
2 110
3 1110
4 1111
표 2
템플릿 인덱스(template index) 코드워드(codeword)
0 00
1 01
2 10
3 110
4 1110
5 1111
본 발명의 다른 실시예로, 모드 조합마다 다른 코드워드 셋(codeword set)을 할당할 수 있다. 또한, 모드 조합마다 코드워드 셋(codeword set)의 크기를 다르게 설정할 수 있다. 이는 모드 조합마다 GBT 템플릿들의 확률 분포가 다르고, 특정 GBT 템플릿들에 대해서는 발생 빈도가 매우 적어 GBT 템플릿 리스트에서 제외하여도 크게 문제가 없기 때문이다.
본 발명의 다른 실시예로, 모드 조합에 따라 다른 종류의 GBT 템플릿 셋이 정의될 수 있다. 예를 들어, 모드 조합 1에 대해서는 GBT 템플릿 A,B,C,D 중에서 선택할 수 있게 하고, 모드 조합 2에 대해서는 GBT 템플릿 B,C,E,F,G 중에서 선택하도록 할 수 있다.
본 발명의 다른 실시예로, 색차 성분 Cb와 Cr의 경우 각 처리 유닛(예를 들어, TU)에 대해 동일한 GBT 템플릿을 사용하도록 함으로써 색차 성분에 대한 GBT 템플릿 인덱스의 시그널링을 절반으로 줄일 수 있다. 또는, GBT 템플릿 인덱스를 시그널링하는 처리 유닛의 크기를 TU보다 큰 단위(예를 들어, CU)로 확장함으로써 부가 정보(side information)의 크기를 줄일 수 있다.
본 발명의 다른 실시예로, 수평 방향과 수직 방향에 별도의 1D SGBT(separable GBT)가 적용되도록 구성할 수 있다. 이때, 수평 방향과 수직 방향에 대한 GBT 템플릿 인덱스를 별개로 코딩할 수 있다. 모드 조합 별로 수평 방향에 대한 GBT 템플릿들의 분포와 수직 방향에 대한 GBT 템플릿들의 분포가 다르기 때문에, 방향에 따라 해당 GBT 템플릿들에 대해 서로 다른 코드워드 셋(codeword set)을 적용할 수 있다. 또한, 모드 조합 별로 수평 방향과 수직 방향에 대해 각기 다른 GBT 템플릿 셋을 적용할 수 있으며, 해당 GBT 템플릿 셋을 구성하는 GBT 템플릿들의 개수도 다르게 구성할 수 있다.
수평(또는 수직) 방향에 대한 변환이 어떤 방식인지에 따라 수직(또는 수평) 방향에 대한 변환의 사용 빈도 분포가 달라질 수 있다. 따라서, 한쪽 방향에 대한 GBT 템플릿이 무엇인가에 따라, 다른 방향의 GBT에 대해 템플릿 셋 구성이나 코드워드 할당 방식 등을 별도로 설정할 수 있다.
본 발명의 다른 실시예로, 주변 블록에 대한 GBT 템플릿 인덱스와 현재 블록에 대한 GBT 템플릿 인덱스의 유사성에 기초하여 모드 부호화를 수행할 수 있다. 예를 들어, 주변 블록에 대한 GBT 템플릿 인덱스와 현재 블록에 대한 GBT 템플릿 인덱스가 유사한 경우 주변 블록에 대한 GBT 템플릿 인덱스를 MPM(Most Probable Mode)으로 결정할 수 있다.
구체적 예로, 0번 GBT 템플릿 인덱스에 대한 플래그가 0이면 0번 GBT 템플릿 선택할 수 있고, 0번 GBT 템플릿 인덱스에 대한 플래그가 1이면 MPM 플래그(mpm_flag)를 전송할 수 있다. 이 경우, MPM 플래그(mpm_flag)가 1이면 주변 블록의 GBT 템플릿들 중 하나를 선택할 수 있고, MPM 플래그(mpm_flag)가 0이면 GBT 템플릿 인덱스를 직접 전송할 수 있다. 이때, 상기 GBT 템플릿 인덱스는 고정 길이 비트 열로 표현될 수 있다.
상기 기술된 것과 같이, 본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 상기 도 1 및 도 2에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다.
또한, 본 발명이 적용되는 디코더 및 인코더는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오(VoD) 서비스 제공 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원(3D) 비디오 장치, 화상 전화 비디오 장치, 및 의료용 비디오 장치 등에 포함될 수 있으며, 비디오 신호 및 데이터 신호를 처리하기 위해 사용될 수 있다.
또한, 본 발명이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크(BD), 범용 직렬 버스(USB), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파(예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트 스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (15)

  1. 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 방법에 있어서,
    상기 비디오 신호로부터 현재 코딩 유닛의 예측 유닛 파티션 정보를 추출하는 단계;
    상기 예측 유닛 파티션 정보에 기초하여 기설정된 테이블 정보로부터 그래프 기반 변환 커널(graph-based transform kernel)을 획득하는 단계; 및
    상기 그래프 기반 변환 커널을 이용하여 변환 유닛에 대해 역변환을 수행하는 단계
    를 포함하되,
    상기 그래프 기반 변환 커널은 상기 예측 유닛 파티션 정보 또는 에지 가중치 중 적어도 하나에 대응되고, 상기 에지 가중치는 픽셀 간 상관 관계를 나타내는 기설정된 값인 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 에지 가중치는 예측 유닛의 분할 경계에서 상대적으로 작은 값을 갖는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 현재 코딩 유닛이 복수개의 변환 유닛으로 구성된 경우, 상기 분할 경계와 겹치는 제 1 변환 유닛과 상기 분할 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용되는 것을 특징으로 하는 방법.
  4. 그래프 기반 변환을 이용하여 비디오 신호를 인코딩하는 방법에 있어서,
    코딩 유닛에 대응되는 그래프 내 에지 가중치를 산출하는 단계, 여기서 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값임;
    예측 유닛의 코딩 정보에 기초하여, 변환 유닛의 행과 열에 대해 별개의 그래프 기반 변환 커널(graph-based transform kernel)을 생성하는 단계; 및
    상기 그래프 기반 변환 커널을 이용하여, 상기 변환 유닛에 대해 변환을 수행하는 단계
    를 포함하되,
    상기 그래프 기반 변환 커널은 상기 에지 가중치에 기초하여 생성되며, 상기 에지 가중치는 분할 경계에서 상대적으로 작은 값을 갖는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 코딩 유닛이 복수개의 변환 유닛으로 구성되는 경우, 상기 분할 경계와 겹치는 제 1 변환 유닛과 상기 분할 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용되는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 제 1 변환 유닛은 상기 그래프 기반 변환 커널이 적용되고, 상기 제 2 변환 유닛은 상기 그래프 기반 변환 커널이 아닌 다른 변환 커널이 적용되는 것을 특징으로 하는 방법.
  7. 제4항에 있어서,
    상기 예측 유닛의 코딩 정보는 파티션 정보 또는 모션 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 코딩 유닛이 복수개의 예측 유닛들로 구성되는 경우, 상기 복수개의 예측 유닛들의 모션 정보들 간의 차이값이 기설정된 임계값보다 크면 중 상기 그래프 기반 변환 커널이 적용되는 것을 특징으로 하는 방법.
  9. 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 장치에 있어서,
    상기 비디오 신호로부터 현재 코딩 유닛의 예측 유닛 파티션 정보를 추출하는 비트스트림 추출부; 및
    상기 예측 유닛 파티션 정보에 기초하여 기설정된 테이블 정보로부터 그래프 기반 변환 커널(graph-based transform kernel)을 획득하고, 상기 그래프 기반 변환 커널을 이용하여 변환 유닛에 대해 역변환을 수행하는 역변환부
    를 포함하되,
    상기 그래프 기반 변환 커널은 상기 예측 유닛 파티션 정보 또는 에지 가중치 중 적어도 하나에 대응되고, 상기 에지 가중치는 픽셀 간 상관 관계를 나타내는 기설정된 값인 것을 특징으로 하는 장치.
  10. 제9항에 있어서,
    상기 에지 가중치는 예측 유닛의 분할 경계에서 상대적으로 작은 값을 갖는 것을 특징으로 하는 장치.
  11. 제10항에 있어서,
    상기 현재 코딩 유닛이 복수개의 변환 유닛으로 구성된 경우, 상기 분할 경계와 겹치는 제 1 변환 유닛과 상기 분할 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용되는 것을 특징으로 하는 장치.
  12. 그래프 기반 변환을 이용하여 비디오 신호를 인코딩하는 장치에 있어서,
    코딩 유닛에 대응되는 그래프 내 에지 가중치를 산출하되, 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값이고, 예측 유닛의 코딩 정보에 기초하여 변환 유닛의 행과 열에 대해 별개의 그래프 기반 변환 커널(graph-based transform kernel)을 생성하고, 상기 그래프 기반 변환 커널을 이용하여 상기 변환 유닛에 대해 변환을 수행하는 그래프 기반 변환부
    를 포함하되,
    상기 그래프 기반 변환 커널은 상기 에지 가중치에 기초하여 생성되며, 상기 에지 가중치는 분할 경계에서 상대적으로 작은 값을 갖는 것을 특징으로 하는 장치.
  13. 제12항에 있어서,
    상기 코딩 유닛이 복수개의 변환 유닛으로 구성되는 경우, 상기 분할 경계와 겹치는 제 1 변환 유닛과 상기 분할 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용되는 것을 특징으로 하는 장치.
  14. 제13항에 있어서,
    상기 제 1 변환 유닛은 상기 그래프 기반 변환 커널이 적용되고, 상기 제 2 변환 유닛은 상기 그래프 기반 변환 커널이 아닌 다른 변환 커널이 적용되는 것을 특징으로 하는 장치.
  15. 제12항에 있어서,
    상기 예측 유닛의 코딩 정보는 파티션 정보 또는 모션 정보 중 적어도 하나를 포함하고,
    상기 코딩 유닛이 복수개의 예측 유닛들로 구성되는 경우, 상기 복수개의 예측 유닛들의 모션 정보들 간의 차이값이 기설정된 임계값보다 크면 중 상기 그래프 기반 변환 커널이 적용되는 것을 특징으로 하는 장치.
PCT/KR2016/001252 2015-02-12 2016-02-04 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 WO2016129872A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020177022570A KR20170116043A (ko) 2015-02-12 2016-02-04 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
US15/550,721 US10742988B2 (en) 2015-02-12 2016-02-04 Method and apparatus for processing video signal using graph-based transform
CN201680015228.5A CN107431813B (zh) 2015-02-12 2016-02-04 使用基于图的变换处理视频信号的方法和装置

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201562115587P 2015-02-12 2015-02-12
US62/115,587 2015-02-12
US201562138397P 2015-03-26 2015-03-26
US62/138,397 2015-03-26
US201562139774P 2015-03-29 2015-03-29
US62/139,774 2015-03-29

Publications (1)

Publication Number Publication Date
WO2016129872A1 true WO2016129872A1 (ko) 2016-08-18

Family

ID=56614859

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/001252 WO2016129872A1 (ko) 2015-02-12 2016-02-04 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치

Country Status (4)

Country Link
US (1) US10742988B2 (ko)
KR (1) KR20170116043A (ko)
CN (1) CN107431813B (ko)
WO (1) WO2016129872A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3407607A1 (en) * 2017-05-24 2018-11-28 Thomson Licensing Method and device for encoding and reconstructing a point cloud
CN114449272A (zh) * 2017-07-04 2022-05-06 三星电子株式会社 使用多核变换的视频解码/编码方法和设备

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101899090B1 (ko) * 2014-09-26 2018-09-14 엘지전자 주식회사 기하 요소를 이용하여 그래프 기반의 신호를 처리하는 방법 및 장치
US10721467B2 (en) * 2015-05-05 2020-07-21 Lg Electronics Inc. Method and device for processing coding unit in image coding system
ITUB20153724A1 (it) * 2015-09-18 2017-03-18 Sisvel Tech S R L Metodi e apparati per codificare e decodificare immagini o flussi video digitali
IT201600122898A1 (it) * 2016-12-02 2018-06-02 Ecole Polytechnique Fed Lausanne Epfl Metodi e apparati per codificare e decodificare immagini o flussi video digitali
US11134272B2 (en) * 2017-06-29 2021-09-28 Qualcomm Incorporated Memory reduction for non-separable transforms
US10484695B2 (en) * 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps
WO2019089864A1 (en) * 2017-11-01 2019-05-09 Vid Scale, Inc. Overlapped block motion compensation
KR20230164751A (ko) 2017-12-15 2023-12-04 엘지전자 주식회사 비분리 2차 변환에 기반한 영상 코딩 방법 및 그 장치
BR112020012033A2 (pt) * 2017-12-15 2020-11-24 Lg Electronics Inc. método de codificação de imagem com base em transformação e dispositivo para o mesmo
WO2020046084A1 (ko) * 2018-09-02 2020-03-05 엘지전자 주식회사 영상 신호를 처리하기 위한 방법 및 장치
EP3881546A4 (en) * 2018-12-04 2022-01-26 Huawei Technologies Co., Ltd. VIDEO ENCODER, VIDEO DECODER, AND CORRESPONDING METHOD
CN110392256B (zh) * 2019-03-09 2020-12-11 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、编码端、解码端和系统
US11785254B2 (en) * 2020-05-29 2023-10-10 Tencent America LLC Implicit mode dependent primary transforms

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110093532A (ko) * 2010-02-12 2011-08-18 삼성전자주식회사 그래프 기반 화소 예측을 이용한 영상 부호화/복호화 시스템 및 방법 그리고 깊이 맵 부호화 시스템 및 방법
KR20110134578A (ko) * 2010-06-09 2011-12-15 주육환 시공시에 문틀의 수평을 조절하는 장치
KR20130050901A (ko) * 2011-11-08 2013-05-16 경희대학교 산학협력단 디블록킹 필터링의 경계 필터링 강도 결정 방법 및 장치
JP2014007477A (ja) * 2012-06-21 2014-01-16 Research Organization Of Information & Systems 濃淡画像符号化装置及び復号装置
JP2014195324A (ja) * 2009-10-20 2014-10-09 Sharp Corp 動画像符号化装置、動画像復号装置、動画像符号化・復号システム、動画像符号化方法および動画像復号方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100579890B1 (ko) * 2004-12-30 2006-05-15 삼성전자주식회사 움직임 적응적 영상처리 장치 및 그 방법
US7889924B2 (en) * 2006-04-10 2011-02-15 Siemens Medical Solutions Usa, Inc. Globally optimal uninitialized graph-based rectilinear shape segmentation
JP5045320B2 (ja) * 2007-09-05 2012-10-10 ソニー株式会社 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP4945533B2 (ja) * 2008-09-09 2012-06-06 株式会社東芝 画像処理装置及び画像処理方法
EP2360927A3 (en) * 2010-02-12 2011-09-28 Samsung Electronics Co., Ltd. Image encoding/decoding system using graph based pixel prediction and encoding system and method
KR20110135787A (ko) * 2010-06-11 2011-12-19 삼성전자주식회사 엣지-적응 변환을 이용한 영상 부호화/복호화 시스템 및 방법
JP5000781B1 (ja) * 2011-11-09 2012-08-15 楽天株式会社 画像処理装置、画像処理装置の制御方法、プログラム、及び情報記憶媒体
CN103501441B (zh) 2013-09-11 2016-08-17 北京交通大学长三角研究院 一种基于人类视觉系统的多描述视频编码方法
US9565451B1 (en) * 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014195324A (ja) * 2009-10-20 2014-10-09 Sharp Corp 動画像符号化装置、動画像復号装置、動画像符号化・復号システム、動画像符号化方法および動画像復号方法
KR20110093532A (ko) * 2010-02-12 2011-08-18 삼성전자주식회사 그래프 기반 화소 예측을 이용한 영상 부호화/복호화 시스템 및 방법 그리고 깊이 맵 부호화 시스템 및 방법
KR20110134578A (ko) * 2010-06-09 2011-12-15 주육환 시공시에 문틀의 수평을 조절하는 장치
KR20130050901A (ko) * 2011-11-08 2013-05-16 경희대학교 산학협력단 디블록킹 필터링의 경계 필터링 강도 결정 방법 및 장치
JP2014007477A (ja) * 2012-06-21 2014-01-16 Research Organization Of Information & Systems 濃淡画像符号化装置及び復号装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3407607A1 (en) * 2017-05-24 2018-11-28 Thomson Licensing Method and device for encoding and reconstructing a point cloud
WO2018215134A1 (en) * 2017-05-24 2018-11-29 Interdigital Vc Holdings, Inc. Methods and devices for encoding and reconstructing a point cloud
US11627339B2 (en) 2017-05-24 2023-04-11 Interdigital Vc Holdings, Inc. Methods and devices for encoding and reconstructing a point cloud
CN114449272A (zh) * 2017-07-04 2022-05-06 三星电子株式会社 使用多核变换的视频解码/编码方法和设备
CN114449271A (zh) * 2017-07-04 2022-05-06 三星电子株式会社 使用多核变换的视频解码/编码方法和设备
CN114449270A (zh) * 2017-07-04 2022-05-06 三星电子株式会社 使用多核变换的视频解码/编码方法和设备
CN114554203A (zh) * 2017-07-04 2022-05-27 三星电子株式会社 使用多核变换的视频解码/编码方法和设备
CN114554203B (zh) * 2017-07-04 2023-09-22 三星电子株式会社 使用多核变换的视频解码/编码方法和设备
CN114449271B (zh) * 2017-07-04 2023-09-22 三星电子株式会社 使用多核变换的视频解码/编码方法和设备
CN114449272B (zh) * 2017-07-04 2023-09-26 三星电子株式会社 使用多核变换的视频解码/编码方法和设备
CN114449270B (zh) * 2017-07-04 2023-09-26 三星电子株式会社 使用多核变换的视频解码/编码方法和设备

Also Published As

Publication number Publication date
US10742988B2 (en) 2020-08-11
CN107431813B (zh) 2020-04-10
US20180041760A1 (en) 2018-02-08
CN107431813A (zh) 2017-12-01
KR20170116043A (ko) 2017-10-18

Similar Documents

Publication Publication Date Title
WO2016129872A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2018128323A1 (ko) 이차 변환을 이용한 비디오 신호의 인코딩/디코딩 방법 및 장치
WO2018070790A1 (ko) 영상의 부호화/복호화 방법 및 장치
WO2018008906A1 (ko) 비디오 신호 처리 방법 및 장치
WO2016072775A1 (ko) 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2017014585A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2018128322A1 (ko) 영상 처리 방법 및 이를 위한 장치
WO2018062788A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2018236028A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017010850A1 (ko) 분리 가능한 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2013002555A2 (ko) 산술부호화를 수반한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2018056763A1 (ko) 템플릿 기반 가중치를 이용하여 예측을 수행하는 방법 및 장치
WO2018070713A1 (ko) 크로마 성분에 대한 인트라 예측 모드를 유도하는 방법 및 장치
WO2016190690A1 (ko) 적응적인 분리가능한 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2015190839A1 (ko) 임베디드 블록 파티셔닝을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
WO2018038554A1 (ko) 이차 변환을 이용한 비디오 신호의 인코딩/디코딩 방법 및 장치
WO2018062880A1 (ko) 영상 처리 방법 및 이를 위한 장치
WO2013115572A1 (ko) 계층적 데이터 단위의 양자화 파라메터 예측을 포함하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2018044089A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018105759A1 (ko) 영상 부호화/복호화 방법 및 이를 위한 장치
WO2011019213A2 (ko) 적응적인 루프 필터링을 이용한 비디오의 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2020213944A1 (ko) 영상 코딩에서 매트릭스 기반의 인트라 예측을 위한 변환
WO2020213946A1 (ko) 변환 인덱스를 이용하는 영상 코딩
WO2020213945A1 (ko) 인트라 예측 기반 영상 코딩에서의 변환
WO2019221472A1 (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: 16749412

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20177022570

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15550721

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16749412

Country of ref document: EP

Kind code of ref document: A1