WO2015190839A1 - 임베디드 블록 파티셔닝을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치 - Google Patents

임베디드 블록 파티셔닝을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치 Download PDF

Info

Publication number
WO2015190839A1
WO2015190839A1 PCT/KR2015/005873 KR2015005873W WO2015190839A1 WO 2015190839 A1 WO2015190839 A1 WO 2015190839A1 KR 2015005873 W KR2015005873 W KR 2015005873W WO 2015190839 A1 WO2015190839 A1 WO 2015190839A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
coding unit
information
embedded block
embedded
Prior art date
Application number
PCT/KR2015/005873
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 CN201580040798.5A priority Critical patent/CN106664430A/zh
Priority to US15/318,131 priority patent/US20170118486A1/en
Priority to EP15807089.6A priority patent/EP3157258B1/en
Priority to KR1020167032183A priority patent/KR20170002460A/ko
Publication of WO2015190839A1 publication Critical patent/WO2015190839A1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Definitions

  • the present invention relates to a method and apparatus for encoding and decoding a video signal based on embedded block partitioning, and in particular to quadtree decomposition based on embedded block partitioning.
  • 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 tends to be characterized by high spatial resolution, high frame rate and high dimension of scene representation.
  • the processing of such content will result in a huge increase in memory storage, memory access rate, and processing power.
  • quadtree (QT) decomposition has recently been used as a mainstream video coding algorithm solution. It was initially proposed for adaptive in-loop filtering and adaptive in-loop interpolation, but later became the core of the High Efficiency Video Coding (HEVC) block partitioning and signaling scheme.
  • HEVC High Efficiency Video Coding
  • HEVC uses two independent QT decompositions. One is a prediction QT for prediction, and the other is a transform QT for block transform.
  • this QT decomposition does not allow for spatially non-uniform content representation and motion modeling relationships. It can be considered as sub-optimal.
  • a typical QT representation is limited to catching horizontal / vertical edge discontinuities at dividing locations in the block.
  • each leaf node must Assuming a motion model covers a smooth image region without discontinuities, QT decomposition will split into smaller blocks for higher accuracy.
  • QT decomposition and signaling can be sub-optimal for the spatial and motion models, leading to an increase in the number of decomposition and an increase in signaling bits.
  • this situation may be common in the process of increasing a large coding unit (LCU) size in an HEVC design.
  • LCU large coding unit
  • An object of the present invention is to propose a method for designing a coding tool for high efficiency compression and reducing the necessary computational resources.
  • Another object of the present invention is to improve the compression efficiency of a video coding system using QT decomposition.
  • Another object of the present invention is to reduce computational complexity and memory requirements by using fewer QT decomposition level numbers for the processing and / or coding of some types of image and video signals.
  • Another object of the present invention is to propose a method for QT leaf merging and to propose an algorithm for joint optimization of dual QT decomposition.
  • Another object of the present invention is to propose an algorithm for joint optimization of geometric QT and motion QT to use inter-leaf dependency.
  • the present invention provides a method of encoding and decoding a video signal utilizing QT decomposition with geometrical modeling.
  • the present invention also provides a method of adjusting QT decomposition for edges in non-dyadic locations or arbitrary spatial locations.
  • the present invention proposes a QT decomposition method using embedded block partitioning, which enables the design of a coding tool for high-efficiency compression, and significantly increases the computational resources, memory requirements, memory access bands, and computational complexity required. Can be reduced.
  • the present invention may enable more concise full QT decomposition representation and modeling for some types of image and video signals.
  • the present invention can improve the compression efficiency of a video coding system using QT decomposition.
  • the present invention can reduce computational complexity and memory requirements by using fewer QT decomposition level numbers for the processing and / or coding of some types of image and video signals.
  • 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 quadtree decomposition with embedded block to which an embodiment of the present invention is applied.
  • FIG. 5 is a flowchart illustrating a method of decoding a coding unit based on split type information according to an embodiment to which the present invention is applied.
  • FIG. 6 is a flowchart illustrating a method of decoding an embedded block according to an embodiment to which the present invention is applied.
  • FIG. 7 and 8 are flowcharts for describing a method of decoding a coding unit when performing quadtree decomposition with embedded block according to an embodiment to which the present invention is applied.
  • FIG 9 illustrates a syntax structure for decoding an embedded block according to an embodiment to which the present invention is applied.
  • FIG. 10 is a diagram for describing a parameter of an embedded block according to an embodiment to which the present invention is applied.
  • FIG. 11 is a flowchart illustrating a method of generating an embedded block according to an embodiment to which the present invention is applied.
  • FIG. 12 is a flowchart illustrating a method of encoding a coding unit when performing quadtree decomposition with embedded block according to an embodiment to which the present invention is applied.
  • FIG. 13 is a schematic block diagram of a processor for decoding an embedded block as an embodiment to which the present invention is applied.
  • the present invention provides a method of decoding a video signal, comprising: obtaining a split flag from the video signal, wherein the split flag indicates whether a coding unit is split; Obtaining split type information of the coding unit from the video signal when the coding unit is split according to the split flag, wherein the split type information includes embedded block type information, and the embedded block type information is split Indicated block (EBP) is a block at any spatial location within the coding unit; And decoding the coding unit based on the partition type information of the coding unit.
  • EBP Indicated block
  • the present invention includes the steps of obtaining number information (number information) of the partitioned block; Acquiring parameter information of each divided block according to the number information; And decoding the divided block based on the parameter information.
  • the present invention comprises the steps of generating a residual signal of the divided block; And decoding the coding unit excluding pixels of the divided block.
  • the present invention comprises the steps of generating a residual signal of the divided block; And decoding the coding unit by applying preset weight information to the residual signal.
  • the parameter information may include at least one of depth information, position information, and size information of the divided block.
  • the parameter information is characterized in that it is included in at least one of a sequence parameter set, a picture parameter set, a slice header, a coding tree unit level, or a coding unit level.
  • the present invention provides a method of encoding a video signal, comprising: performing full quadtree decomposition on a coding unit; Collecting motion information of partition blocks in the coding unit; Identifying a motion pattern of the partition blocks based on the collected motion information; And generating an embedded block by merging partition blocks having the same motion pattern, wherein the embedded block is a block at any spatial location within the coding unit. It provides a method characterized in that.
  • the present invention includes the steps of calculating a first rate-distortion cost of the embedded block and a second rate-distortion cost of the remaining block; Wherein the remaining block represents a portion excluding the embedded block from the coding unit; Determining a number of embedded blocks that optimizes a function based on the sum of the first Rate-Distortion Cost and the second Rate-Distortion Cost; And encoding the coding unit.
  • the embedded block is characterized in that it corresponds to the predefined type and size.
  • the present invention also provides an apparatus for decoding a video signal, comprising: a split flag obtainer for obtaining a split flag from the video signal, wherein the split flag indicates whether a coding unit is split; A partition type obtaining unit obtaining partition type information of the coding unit from the video signal when the coding unit is partitioned according to the partition flag, wherein the partition type information includes embedded block type information, and the embedded block type The information indicates that the divided block EBP is a block at any spatial location in the coding unit; And an embedded block decoding unit decoding the coding unit based on the partition type information of the coding unit.
  • the embedded block decoding unit may further include an embedded block parameter obtaining unit obtaining number information of the divided blocks and obtaining parameter information of each of the divided blocks according to the number information.
  • the divided block may be decoded based on the parameter information.
  • the embedded block decoding unit further includes an embedded block residual acquisition unit generating a residual signal of the divided block, and the apparatus decodes the coding unit excluding the pixels of the divided block.
  • the apparatus may further include a coding unit decoding unit.
  • the embedded block decoding unit may further include an embedded block residual acquisition unit configured to generate a residual signal of the divided block, and the apparatus may apply preset weight information to the residual signal. And a coding unit decoding unit to decode the coding unit.
  • the present invention provides an apparatus for encoding a video signal, performing a full quadtree decomposition on a coding unit, collecting motion information of partition blocks in the coding unit, Identifying a motion pattern of the partition blocks based on the collected motion information, and merging partition blocks having the same motion pattern to generate an embedded block.
  • an image divider wherein the embedded block represents a block at any spatial location within the coding unit.
  • the image divider may include a first rate-distortion cost of an embedded block and a second rate-distortion cost of a remaining block. And determine the number of embedded blocks that optimizes a function based on the sum of the first rate-distortion cost and the second rate-distortion cost. Encode the coding unit, wherein the remaining block represents a portion excluding the embedded block from the coding unit.
  • 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 unit blocks (hereinafter, referred to as “processing blocks”).
  • processing blocks 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 image segmentation unit 110 may be partitioned to include an embedded block (EB) in the coding unit.
  • the embedded block EB may mean a block at an arbitrary spatial location in the coding unit.
  • the input image may be QT decomposed, and the QT node may be decomposed to include at least one embedded block EB.
  • the embedded block EB may be referred to as an embedded block partition 'EBP' or an embedded block partitioning 'EBP', but for convenience, the embedded block EB is referred to as an embedded block EB.
  • the image dividing unit 110 may implement a process of decomposing a coding unit to include an embedded block proposed in an embodiment to be described below, and a method of coding a coding unit including the embedded block.
  • 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 differential signal. Is transmitted to the converter 120.
  • the transform unit 120 may generate a transform coefficient by applying a transform technique to the differential signal.
  • 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 recover the differential signal by applying inverse quantization and inverse transformation through an inverse quantization unit 140 and an inverse transformation unit 150 in a loop.
  • a reconstructed signal may be generated by adding the reconstructed difference 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 by the inter predictor 180 or the intra predictor 185 may be used to generate a reconstruction signal or to generate a differential 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 (ie, a bitstream) output from the encoder 100 of FIG. 1, and the received signal may be entropy decoded through the entropy decoding unit 210.
  • a signal ie, a bitstream
  • the inverse quantization unit 220 obtains a transform coefficient from the entropy decoded signal using the quantization step size information.
  • the inverse transform unit 230 obtains a residual signal by inversely transforming a transform coefficient.
  • a reconstructed signal is generated by adding the obtained difference 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.
  • a still image or video compression technique uses a block-based image compression method.
  • the block-based image compression method is a method of processing an image by dividing the image into specific block units, and may reduce memory usage and calculation amount.
  • 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.
  • 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 structure.
  • 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 set to 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 set to 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.
  • QT partitioning has recently been widely used as a video coding algorithm solution, and can be used, for example, in block partitioning and a signaling scheme.
  • QT decomposition may be used for the prediction QT used for the prediction process and the transform QT used for the block transform.
  • QT decomposition may be considered a sub-optimal in spatially non-uniform content representation and motion modeling relationships.
  • QT decomposition can capture the discontinuity of the horizontal / vertical edges at dividing locations in the block. Thus, if splitting is needed at non-dyadic locations, or if splitting is needed in non-horizontal / non-vertical directions, each leaf node must Assuming a motion model covers a smooth image region without discontinuities, QT decomposition will split into smaller blocks for higher accuracy.
  • QT decomposition and signaling can be sub-optimal for the spatial and motion models, which can lead to an increase in the number of decomposition and an increase in signaling bits.
  • such a situation may be common in the process of increasing a large coding unit (LCU) size.
  • LCU large coding unit
  • Polynomial geometrical modeling introduced during the decomposition process can identify the characteristics (eg, direction) of the segmentation node that meets the actual boundary of the image portion represented by the particular node.
  • Polynomial geometrical modeling can be described by at least one of several parameters, for example, a straight line, an angle of the dividing line, and an offset from the (0,0) node.
  • FIG. 4 is a diagram for describing quadtree decomposition with embedded block to which an embodiment of the present invention is applied.
  • the use of geometric modeling in QT decomposition can adjust QT decomposition to reduce the complexity of the actual spatial boundaries of the image portion, thereby reducing the bits for split signaling.
  • the present invention can utilize flexible block partitioning and diagonal partitioning for predictive QT.
  • the present invention may apply QT decomposition to be controlled by non-vertical and non-horizontal divisions.
  • Non-square partitions can precisely adjust QT decomposition for spatial location in QT. This makes it possible to find an appropriate compromise between complexity and performance.
  • non-square decomposition is performed at the leaf nodes of the coding tree block (CTB)
  • no further QT decomposition is allowed from undivided positions, and is a spatially localized object in QT. ) Can still be high in complexity.
  • QT decomposition using a geometric model may allow to adjust the QT decomposition for edges in non-dyadic spatial locations.
  • a geometric model at the QT leaf node assumes that no additional QT decomposition is possible to start from a non-dyadic position.
  • the present invention can use a simplified geometric model for a finite set of non-square rectangular partitioning, so-called predictive blocks, which method uses spatial edges at non-dyadic positions. It can provide a limited function of the QT to control.
  • the present invention proposes various leaf node merging strategies.
  • the present invention proposes an algorithm for joint optimization of dual QT decomposition. For example, a combination of QT decomposition for a motion model and QT decomposition for spatial boundaries in an image.
  • the present invention can provide dual QT decomposition.
  • one may be for spatial boundaries (transform QT) and the other may be for motion modeling (prediction QT).
  • the transform QT leaf node may cover the predictive QT leaf boundary, and thus may take advantage of spatial dependencies between neighboring leaf nodes of the predictive QT.
  • an embodiment of the present invention proposes a leaf merging method in predictive QT decomposition applying spatial dependencies in a motion field.
  • the merging process can be performed separately from predictive QT decomposition and transform QT decomposition, and can minimize bit consumption for the motion model.
  • the present invention proposes a method that can use inter-leaf dependencies. For example, one embodiment of the present invention may use merge mode to share motion information between PUs.
  • Next-generation video content will be characterized by high spatial resolution, fast frame rate, and high-dimensional scene representation.
  • the use of QT decomposition for such data will result in an increase in the maximum spatial size of QT and the maximum depth of QT decomposition.
  • a QT generated from a 512x512 size to an 8x8 block size may result in bit overhead for redundant decomposition for conventional content and QT decomposition of QT signaling, motion and geometric models.
  • One embodiment of the present invention proposes a case where a node and / or leaf of a QT can be broken down into a limited number of embedded blocks at any spatial location within the current node and / or leaf.
  • the embedded block may be defined as a block at any spatial location in the node (or leaf, block).
  • the node may be one of a CTU, a CU, a PU, or a TU.
  • a CTU corresponds to a root node and may be decomposed into four blocks through QT decomposition, and these are referred to as CU1, CU2, CU3, and CU4, respectively.
  • CU1, CU2 and CU4 can be disassembled again to have an embedded block.
  • CU1 may include embedded block EB1
  • CU2 may include embedded blocks EB2 and EB3
  • CU4 may include embedded block EB4.
  • the embedded block may be additionally quadratic splitting, which may be referred to as embedded QT or EQT decomposition. That is, embedded quadtree (EQT) or embedded quadtree decomposition (embedded QT decomposition) may mean that the embedded block is QT resolved.
  • embedded quadtree EQT
  • embedded quadtree decomposition embedded QT decomposition
  • the embedded block EB1 may be divided into four blocks through QT decomposition, and the divided block may be divided into four blocks through QT decomposition.
  • the block A, the blocks (b, c, d, e), the block f, and the block g may be divided into blocks. It can be further divided into block b, block c, block d, and block e. It can be seen that the embedded block EB1 is located at any spatial location in the block CU1.
  • the embedded block EB4 it may be divided into blocks p, block q, block r, and blocks, and it may be confirmed that the embedded block EB4 is located at an arbitrary spatial position in the block CU4.
  • the rest of the block except for the embedded block may be defined as a remaining block.
  • the rest of the block CU1 except for the embedded block EB1 may be defined as the remaining block RB1.
  • the remaining part except for the embedded blocks EB2 and EB3 may be defined as the remaining block RB2
  • the remaining part except for the embedded block EB4 may be defined as the remaining block RB3.
  • a parent node split into an embedded quadtree may be processed or coded as a leaf node that excludes pixels covered by embedded quadtrees.
  • the QT decomposition result can be calculated as a combined decomposition without overlap on the pixel domain between the parent node and the embedded QT.
  • CU1 may be coded except for pixels of the embedded block EB1. That is, CU1 can be coded by coding only pixels of the residual block RB1. In this case, the embedded block EB1 may be separately coded and transmitted. This coding scheme will be referred to herein as critical decomposition coding.
  • a parent node partitioned into an embedded quadtree may be processed or coded as a leaf node containing pixels covered by embedded quadtrees.
  • the QT decomposition result can be computed as a superposition of decomposition, where the result pixels processed by all embedded quadtrees in the node can be mixed by weighting the pixels processed by the parent node.
  • CU2 may be coded as a leaf node containing pixels of embedded blocks EB2 and EB3. That is, CU2 can be coded by coding both the CU2 and the pixels of the embedded blocks EB2 and EB3.
  • the pixels of the embedded blocks EB2 and EB3 may be coded by applying a weight.
  • This coding scheme is referred to herein as over-complete decomposition coding.
  • an EB parameter of an embedded block may include at least one of spatial position information, horizontal size information, vertical size information, and identification information, and the embedded block parameter may be an EB parameter. It can be applied to the used QT among the predefined QT types.
  • the EB parameter of the embedded block may include a decomposition parameter.
  • the decomposition parameter may include at least one of range information and split grid information of QT decomposition, and the split grid information is a dividing type. ), At least one of a non-dyadic type or a geometric model type.
  • the decomposition parameter may be known in advance to at least one of the encoder and the decoder.
  • the size information and the type information of the embedded block may be processed based on the identifier in the predefined type set of the embedded block.
  • the parameters of the embedded block may be signaled within the bitstream.
  • the signaling may be performed in a QT node level, QT root level, LCU level, slice header, picture parameter set (PPS), sequence parameter set (SPS), or with other syntax elements.
  • PPS picture parameter set
  • SPS sequence parameter set
  • the parameters of the embedded block may be derived from at least one of an encoder or a decoder.
  • the parameters of the embedded block may include motion information related to pixels in the embedded block.
  • the parent node of the embedded block may include motion information associated with the pixels covered by the parent node, with or without the pixels covered by the embedded block.
  • the embedded block in the parent node may share the parameters of the embedded block.
  • an embedded block in a parent node may share embedded block parameters with an embedded block in another parent node.
  • FIG. 5 is a flowchart illustrating a method of decoding a coding unit based on split type information according to an embodiment to which the present invention is applied.
  • the CTU may be divided into CUs through QT decomposition, and the divided CUs may be further divided.
  • the division flag may be used.
  • the split flag may mean information indicating whether a coding unit is split, for example, the split flag may be represented by a syntax element split_cu_flag.
  • the decoder 200 may receive a video signal and may obtain a division flag from the video signal (S510). For example, if the splitting flag is '1', it indicates that the current coding unit is split into lower coding units, and if the splitting flag is '0', it indicates that the current coding unit is not split into lower coding units.
  • the decoder 200 may obtain split type information from the video signal (S520).
  • the split type information indicates a type in which a coding unit is split.
  • the split type information may include at least one of an embedded block split type, an QT split type, and a binary split type.
  • the embedded block split type (EB split type) represents a form in which a coding unit is split to include an embedded block
  • the QT split type represents a form in which a coding unit is split through QT decomposition
  • the type (dyadic split type) represents a form in which a coding unit is divided into two blocks.
  • the decoder 200 may decode a coding unit (S530).
  • the present invention may provide different coding methods according to the partition type information. A specific coding method will be described in detail in the following embodiments.
  • FIG. 6 is a flowchart illustrating a method of decoding an embedded block according to an embodiment to which the present invention is applied.
  • the present invention proposes a method of coding an embedded block when the coding unit is divided to include an embedded block.
  • the decoder 200 may check whether the coding unit is split (S610). Whether or not the coding unit is split may be confirmed by a split flag obtained from the video signal. If the splitting flag is 1, the coding unit is split. If the splitting flag is 0, the coding unit is not split.
  • the decoder 200 may obtain split type information from the video signal (S620).
  • the split type information indicates a type in which a coding unit is split.
  • the split type information may include an embedded block split type (EB split type), a QT split type, and a binary split type. It may include at least one of.
  • the decoder 200 may check whether the split type information indicates an embedded block split type (SB split type) (S630).
  • SB split type embedded block split type
  • the decoder 200 may obtain number information of embedded blocks (S640).
  • number information of embedded blocks For example, referring to FIG. 4, partition type information of CU1, CU2, and CU3 may indicate an embedded block type. In the case of CU1 and CU3, the number of embedded blocks may represent one (EB1, EB4), respectively, and in the case of CU2, the number of embedded blocks may represent two (EB2 and EB3).
  • the decoder 200 may obtain parameter information for each embedded block according to the obtained number information of embedded blocks.
  • the parameter information may include at least one of position information, horizontal size information, and vertical size information of the embedded block.
  • the decoder 200 may decode the embedded block based on the parameter information (S660).
  • FIG. 7 and 8 are flowcharts for describing a method of decoding a coding unit when performing quadtree decomposition with embedded block according to an embodiment to which the present invention is applied.
  • a critical decomposition decoding method i.e., a method of decoding a coding unit without excluding pixels of an embedded block.
  • the decoder 200 may decode an embedded block and acquire a residual signal of the embedded block (S710). This process may be performed for each embedded block according to the number information of the embedded block.
  • the embedded block may be decoded based on an embedded block parameter (EB parameter).
  • EB parameter embedded block parameter
  • the decoder 200 may decode the current coding unit (S720), and obtain a residual signal for the residual block (S730).
  • the residual block represents an area excluding pixels of the embedded block from a coding unit.
  • the decoder 200 may decode the residual signal of the embedded block and the residual signal of the residual block based on the transform QT (S740).
  • CU1 may be coded except for pixels of embedded block EB1. That is, the embedded block EB1 and the residual block RB1 may be separately coded and transmitted.
  • pixels of an embedded block may be coded by filling with a value indicating 0 or white.
  • an over-complete decomposition decoding method i.e., a method of decoding a coding unit while including the pixels of an embedded block.
  • the decoder 200 may decode an embedded block and acquire a residual signal of the embedded block (S810). This process may be performed for each embedded block according to the number information of the embedded block.
  • the embedded block may be decoded based on an embedded block parameter (EB parameter).
  • EB parameter embedded block parameter
  • the decoder 200 may decode a current coding unit including an embedded block and acquire a residual signal of the current coding unit (S820). For example, when pixels of an embedded block are filled with 0 or white, pixels of the embedded block may be recognized as values representing 0 or white. In such a case, it is possible to code the current coding unit containing the embedded block filled with zero or white.
  • the decoder 200 may collect residual signals generated for each embedded block.
  • predefined weight information may be applied to residual signals generated for each embedded block (S830).
  • the decoder 200 may decode the residual signals based on the transform QT (S840).
  • CU2 may be coded as a leaf node containing pixels of embedded blocks EB2 and EB3.
  • the decoder 200 may decode the embedded blocks EB2 and EB3 and obtain the residual signal EB2_R of the embedded block EB2 and the residual signal EB3_R of the embedded block EB3.
  • the decoder 200 may decode the current coding unit CU2 including the embedded blocks EB2 and EB3 and obtain the residual signal CU2_R of the current coding unit CU2.
  • the decoder 200 may collect residual signals EB2_R and EB3_R generated for each embedded block, and apply the predefined weight information to each of the collected residual signals to apply the current coding unit CU2. Can be decoded.
  • the decoder 200 may decode the residual signals based on the transform QT.
  • each embodiment described herein may be omitted for overlapping content, and thus each embodiment may be combined with each other.
  • the embodiments of FIGS. 5-8 may be combined with each other.
  • FIG 9 illustrates a syntax structure for decoding an embedded block according to an embodiment to which the present invention is applied.
  • the picture constituting the video signal may be composed of at least one slice, and the slice may be divided into slice segments.
  • the slice segment may include data coding a CTU, and the CTU may include split information of a coding unit (S901).
  • the CTU may be divided into a QT structure or may be divided to include an embedded block.
  • the decoder may check whether the CTU is divided into blocks by checking the partition flag. For example, the syntax element split_cu_flag may be acquired to determine whether it is 0 or 1 (S902). If split_cu_flag is 1, it may be confirmed that the CTU is split into CUs (S903).
  • the CTU may call the coding_quad_tree () function to check the partition flag.
  • the partition flag if the partition flag is 0, the coding unit () function may be called without further splitting. If the partition flag is 1, the coding_quad_tree () function is called as many as the partitioned number, and then each coding_quad_tree () function is called. You can check the split flag at.
  • the above process is omitted in the embodiment of FIG. 9, the process may not only be applied to the embodiment of FIG. 9, but may also be similarly applied to the case in which the split type information is an embedded block split type. .
  • the embedded block may include calling a coding_quad_tree () function to check a split flag.
  • the decoder may check the partition type information.
  • the decoder may verify the split type information by obtaining the syntax element split_type_id (S904).
  • the split type information indicates a type in which a coding unit (or coding tree unit) is split.
  • the split type information includes an embedded block split type (EB split type), a QT split type, and a binary split. It may include at least one of the type (dyadic split type).
  • the partition type information may be defined as a table for assigning an identification code to each partition type.
  • the decoder may check whether the split type information is an embedded block split type (EB split type) (S905).
  • EB split type embedded block split type
  • the algorithms S905 and S907 of FIG. 9 are just one embodiment.
  • the split type information may be checked by various methods, and a separate decoding process may be applied according to the split type information. have.
  • the decoder may decode the coding unit (S906).
  • the decoder may perform other types of partitioning rather than embedded block partitioning.
  • (x0, y0, log2CbSize) of the coding unit (x0, y0, log2CbSize) may mean an absolute coordinate value and a block size of the first pixel of the CU in the luminance component.
  • partition type information is an embedded block partition type (EBP_TYPE) (S907)
  • processes S908 to S914 for decoding the embedded block and the coding unit may be performed.
  • the decoder may obtain the number information number_ebp of the embedded block (S908).
  • loop coding may be performed on each embedded block. For example, referring to FIG. 4, in the case of CU2, number_ebp is 2, and loop coding may be performed on each of EB2 and EB3.
  • Maximum depth information of the current embedded block may be obtained (S910).
  • the maximum depth information refers to the maximum partition level of the current embedded block, and may be represented by a syntax element 'log2_dif_max_ebp [i]'.
  • the horizontal position information and the vertical position information of the current embedded block may be obtained (S911 and S912).
  • the horizontal position information and the vertical position information may indicate distances in the horizontal direction and in the vertical direction from the coordinates (0,0) of the current coding unit, respectively, and include syntax elements' conditional_location _ebp _x [i] 'and' conditional_location _ebp _y [i] '.
  • the decoder may acquire additional parameter information of the current embedded block (S913).
  • the parameter information may include at least one of horizontal size information and vertical size information of the embedded block.
  • the decoder may decode the current embedded block based on an embedded block parameter (for example, S910 to S913) (S914).
  • an embedded block parameter for example, S910 to S913
  • the coding unit (conditional_location_ebp_x [i], conditional_location_ebp_y [i], log2_dif_max_ebp + log2_min_luma_coding_block_size_minus3 + 3) may mean the location and block size of the current embedded block.
  • the decoder may decode the parent node (eg, the CTU or the CU) (S915).
  • 'type_decomp' is information indicating a decoding method of the current CU, and for example, the information corresponds to one of a critical decomposition decoding method or an over-complete decomposition decoding method. Can be.
  • FIG. 10 is a diagram for describing a parameter of an embedded block according to an embodiment to which the present invention is applied.
  • embedded block parameters may be expressed within a condition range based on at least one of the size information of the current node, the number and size of previously coded embedded block parameters.
  • the embedded block parameters may include horizontal size, vertical size, maximum depth information, or spatial position information of the current node embedded block.
  • the horizontal size of EB1 may be represented by EB1_hor_x [1]
  • the vertical size of EB1 may be represented by EB1_hor_y [1].
  • the horizontal size of EB2 may be represented by EB1_hor_x [2]
  • the vertical size of EB2 may be represented by EB1_hor_y [2].
  • a node may be coded into two embedded blocks, parameters of the first embedded block are represented by thick arrows, and parameters of the second embedded block are represented by thin arrows.
  • the dimensions of the embedded block are represented by dashed lines, and the available spatial coordinate range of the embedded block parameters is represented by solid lines.
  • the possible spatial coordinate range (thick solid line) of the first embedded block does not cover the size of the entire parent node, but may be limited by the size of the embedded block.
  • the possible spatial coordinate range (thin solid line) of the second embedded block is limited by the size of the first embedded block and the second embedded block and may be limited by the position of the first embedded block.
  • the possible size range for the second embedded block may be limited by the size and position of the first block.
  • FIG. 11 is a flowchart illustrating a method of generating an embedded block according to an embodiment to which the present invention is applied.
  • the present invention can utilize a coding system for performing embedded QT.
  • the encoder 100 may perform full quadtree decomposition on a coding unit (S1110).
  • the encoder 100 may collect motion information of partition blocks (S1120).
  • the encoder 100 may generate an embedded block by merging partition blocks having the same motion pattern (S1130).
  • the encoder can use rate-distortion optimization based on a merge process (e.g., bottom-up merge strategy) that applies the full QT decomposition of the current node.
  • a merge process e.g., bottom-up merge strategy
  • the following algorithm can be used.
  • the encoder 100 may perform full decomposition on the prediction QT of the current node.
  • the encoder 100 may perform coding of the current node and calculate a reference RD cost (RefCost).
  • the encoder 100 may identify a non-overlapped motion model (or distinct motion patterns) and may predetermine a leaf node of the full quadtree decomposition of the current node. have. First, the encoder 100 may collect motion information measured for leaf nodes. For example, the encoder 100 may calculate a residual map for collecting residual errors from forward prediction and backward prediction in the current node, and calculate a motion field map in the current node.
  • the encoder 100 may collect motion information and partition information to identify a limited number of spatially subdivided motion models in the current node.
  • the encoder 100 may merge leaf nodes sharing the same motion model to perform embedded quadtree decomposition having a predefined type and size.
  • the encoder 100 For each embedded quadtree X, the encoder 100 measures the rate-distortion cost (costEqtX) and reference rate-distortion cost (RefCostX) of the parent node, excluding the pixels covered by the embedded quadtree X. Can be.
  • the encoder 100 may perform motion compensation prediction on the samples covered by the embedded quadtree, and measure the rate-distortion cost costEqtX.
  • the encoder 100 may perform motion compensation prediction on the node excluding the samples covered by the embedded quadtree, and measure the reference rate-distortion cost RefCostX. .
  • the encoder 100 may collect residuals from the rate-distortion cost costEqtX and the reference rate-distortion cost RefCostX associated with the partition block, and select the number of embedded quadtrees by using an optimization function.
  • the following equation may be used as the optimization function.
  • RefCostX represents the reference rate-distortion cost
  • costEqtX represents the rate-distortion cost associated with the partition block
  • refCost represents the reference rate-distortion cost of the previous embedded quadtree
  • the encoder 100 may encode the current node and signal it into a bitstream.
  • FIG. 12 is a flowchart illustrating a method of encoding a coding unit when performing quadtree decomposition with embedded block according to an embodiment to which the present invention is applied.
  • the encoder 100 may perform node decomposition using residuals by motion compensation prediction.
  • the encoder 100 may calculate a first rate-distortion cost (1 st RD cost) of the embedded block and a second rate-distortion cost (2 nd RD cost) of the remaining block. (S1210).
  • the encoder 100 may determine the number of embedded blocks to optimize a function, and the function may include the first rate-distortion cost (1 st RD cost) and the second rate-distortion cost (2 nd RD). cost) (S1220).
  • the encoder 100 may encode a coding unit (S1230).
  • the encoder 100 may generate a residual signal for the current node using forward / backward motion prediction.
  • the encoder 100 may identify the number of spatially subdivided regions having high residual energy.
  • the encoder 100 may divide pixel data of the spatially divided regions and calculate the number of embedded quadtrees for the identified regions.
  • the embedded quadtree may have a predefined type and size.
  • the encoder 100 can measure the rate-distortion cost (costEqtX) and reference rate-distortion cost (RefCostX) of the parent node, excluding the pixels covered by the embedded quadtree. have.
  • the encoder 100 may perform motion estimation or motion compensation prediction on the samples covered by the embedded quadtree, and measure the rate-distortion cost costEqtX. have.
  • the encoder 100 may perform motion estimation or motion compensation prediction on a node excluding samples covered by an embedded quadtree, and the reference rate-distortion cost ( RefCostX) can be measured.
  • RefCostX reference rate-distortion cost
  • the encoder 100 may collect residuals from the rate-distortion cost costEqtX and the reference rate-distortion cost RefCostX, and select the number of embedded quadtrees by using an optimization function.
  • Equation 1 may be used as the optimization function.
  • the encoder 100 may then encode the current node and signal it into a bitstream.
  • FIG. 13 is a schematic block diagram of a processor for decoding an embedded block as an embodiment to which the present invention is applied.
  • the processor to which the present invention is applied may be included in a decoder.
  • the processor 1300 may include a partition flag obtainer 1310, a partition type obtainer 1320, an embedded block decoder 1330, and a coding unit decoder 1340.
  • the embedded block decoding unit 1330 may include an embedded block parameter obtaining unit 1331 and an embedded residual obtaining unit 1332.
  • the division flag obtainer 1310 may check whether the CTU is divided into blocks by checking the division flag.
  • the partition type obtaining unit 1320 may check partition type information.
  • the split type information indicates a type in which a coding unit (or coding tree unit) is split.
  • the split type information may include an embedded block split type, an QT split type, and a QT split type. It may include at least one of a binary split type.
  • the split type obtainer 1320 may determine whether split type information is an embedded block split type.
  • the processor 1300 may decode the coding unit through the coding unit decoder 1340.
  • the processor 1300 may decode the embedded block through the embedded block decoding unit 1330.
  • the embedded block parameter acquisition unit 1331 may acquire an embedded block parameter (EB parameter) to decode the embedded block.
  • the embedded block parameter may include the number of embedded blocks, maximum depth information of embedded blocks, horizontal position information of embedded blocks, vertical position information of embedded blocks, and additional parameter information of embedded blocks. ) May be included.
  • the additional parameter information may include at least one of horizontal size information and vertical size information of the embedded block.
  • the embedded block decoding unit 1330 may decode the embedded block based on the embedded block parameter (EB parameter).
  • the embedded residual acquiring unit 1332 may acquire the residual signal of the embedded block.
  • the coding unit decoding unit 1340 may decode a parent node (eg, a CTU or a CU). In this case, a critical decomposition decoding method or an over-complete decomposition decoding method may be used.
  • a parent node eg, a CTU or a CU.
  • the embodiments described herein may be implemented and performed on a processor, microprocessor, controller, or chip.
  • the functional units illustrated in FIGS. 1, 2, and 13 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 transmission / reception 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, a mobile streaming device, a storage medium, It is provided in a camcorder, a VoD service providing device, an internet streaming service providing device, a 3D video device, a teleconference video device, a medical video device, and the like, and can be used to code a video signal and a data signal.
  • the decoding / encoding method to which the present invention is applied may be stored in a computer-readable recording medium that is produced as a program for execution on a computer, and multimedia data having a data structure according to the present invention may also be read by a computer. It can be stored in the recording medium.
  • the computer readable recording medium includes all kinds of storage devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include BD, USB, ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and also in the form of carrier waves (for example, transmission over the Internet). It also includes implementations.
  • the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted using a wired / wireless communication network.

Abstract

본 발명은, 비디오 신호를 디코딩하는 방법에 있어서, 상기 비디오 신호로부터 분할 플래그(split flag)를 획득하는 단계, 여기서 상기 분할 플래그는 코딩 유닛이 분할되는지 여부를 나타냄; 상기 분할 플래그에 따라 상기 코딩 유닛이 분할되는 경우, 상기 비디오 신호로부터 상기 코딩 유닛의 분할 타입 정보를 획득하는 단계, 여기서 상기 분할 타입 정보는 임베디드 블록 타입 정보를 포함하고, 상기 임베디드 블록 타입 정보는 분할된 블록(EBP)이 상기 코딩 유닛 내 임의의 공간상 위치에 있는 블록임을 나타냄; 및 상기 코딩 유닛의 분할 타입 정보에 기초하여, 상기 코딩 유닛을 디코딩하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.

Description

임베디드 블록 파티셔닝을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
본 발명은 임베디드 블록 파티셔닝(Embedded Block Partitioning)에 기초하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치, 특히, 임베디드 블록 파티셔닝에 기초한 쿼드트리 분해(Quadtree Decomposition)에 관한 것이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 등의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다.
차세대 비디오 컨텐트는 고해상도(high spatial resolution), 고프레임율(high frame rate) 및 장면 표현(scene representation)의 고차원화를 특징으로 하는 경향이 있다. 그러한 컨텐트의 처리는 메모리 저장(memory storage), 메모리 처리율(memory access rate) 및 처리 전력(processing power) 면에서 엄청난 증가를 가져올 것이다.
따라서, 이러한 요구를 다루고 해결책을 제시하는 코딩 툴을 디자인할 필요가 있다. 특히, 쿼드트리(Quadtree, 이하 'QT'라 함) 분해는 최근 메인스트림 비디오 코딩 알고리즘 해결책으로 이용되고 있다. 초기에 적응적인 인루프 필터링 및 적응적인 인루프 인터폴레이션을 위해 제안되었지만, 나중에는 HEVC(High Efficiency Video Coding) 블록 파티셔닝 및 시그널링 방식의 핵심이 되었다. HEVC는 2가지 독립적인 QT 분해를 이용한다. 하나는 예측을 위한 예측 QT(prediction QT)이고, 다른 하나는 블록 변환(block transform)을 위한 변환 QT(transform QT)이다. 유연한 파티셔닝(Flexible partitioning) 및 효율적인 분할 시그널링(split signaling)을 위한 전력 소모에도 불구하고, 이러한 QT 분해는 공간적으로 비균일한 컨텐트 표현(spatially non-uniform content representation) 및 모션 모델링(motion modeling) 관계에서 차선책(sub-optimal)으로 고려될 수 있다.
전형적인 QT 표현(representation)은 블록 내 양분된 위치(dyadic locations)에서 수평/수직 엣지 불연속성을 잡는 것에 한정된다. 따라서, 만약 양분되지 않은 위치(non-dyadic location)에서 분할이 필요한 경우, 또는 비수평(non-horizontal)/비수직(non-vertical) 방향에서 분할이 필요한 경우, 각 리프 노드(leaf node)가 하나의 모션 모델(motion model)로 불연속성 없이 매끄러운 이미지 영역(smooth image region)을 커버한다고 가정할 때, QT 분해(quadtree decomposition)는 더 높은 정확도를 위해 더 작은 블록들로 분할할 것이다.
어떤 환경에서는, QT 분해 및 시그널링은 공간 및 모션 모델에 대한 차선책(sub-optimal)이 될 수 있고, 이는 분해 수(number of decomposition)의 증가 및 시그널링 비트의 증가를 가져온다. 특히 이러한 상황은 HEVC 디자인에서 LCU(Largest Coding Unit) 사이즈를 증가시키는 과정에 일반적일 수 있다.
따라서, 기하학적 모델을 이용한 QT 분해를 활용하고 양분되지 않은 공간(non-dyadic spatial locations)에 위치한 에지에서 QT 분해를 조정할 필요가 있다.
본 발명의 목적은 고효율 압축을 위한 코딩 툴을 디자인하고 필수 계산 리소스를 감소시키기 위한 방법을 제안하고자 한다.
본 발명의 또 다른 목적은 몇몇 타입의 이미지 및 비디오 신호에 대해 보다 간결한 전체 쿼드트리 분해 표현(full QT decomposition representation) 및 모델링을 가능하게 하고자 한다.
본 발명의 또 다른 목적은 QT 분해를 이용하는 비디오 코딩 시스템의 압축 효율을 향상시키고자 한다.
본 발명의 또 다른 목적은 몇몇 타입의 이미지 및 비디오 신호의 처리 및/또는 코딩에 대해 보다 적은 QT 분해 레벨 수를 이용함으로써 계산 복잡도 및 메모리 요구사항을 감소시키고자 한다.
본 발명의 또 다른 목적은 일반적인 컨텐트에 대한 중복적인 분해를 감소시키고, QT 분해의 시그널링 및 모션과 기하학적 모델의 시그널링에 대한 주요 비트 오버헤드(significant bit overhead)를 감소시키고자 한다.
본 발명의 또 다른 목적은 QT 리프 머징(QT leaf merging)을 위한 방법을 제안하고, 듀얼 QT 분해의 결합 최적화(joint optimization)를 위한 알고리즘을 제안하고자 한다.
본 발명의 또 다른 목적은 리프 간 종속성(inter-leaf dependency)을 이용하기 위해 기하학적 QT(geometrical QT) 및 모션 QT(motion QT)의 결합 최적화(joint optimization)를 위한 알고리즘을 제안하고자 한다.
본 발명은 기하학적 모델링을 이용한 QT 분해(QT decomposition with geometrical modeling)를 활용하여 비디오 신호를 인코딩 및 디코딩하는 방법을 제공한다.
또한, 본 발명은 양분되지 않은 위치(non-dyadic location) 또는 임의의 공간 위치(arbitrary spatial locations)에 있는 에지에 대해 QT 분해를 조절하는 방법을 제공한다.
본 발명은 임베디드 블록 파티셔닝(embedded block partitioning)을 이용한 QT 분해 방법을 제안함으로써, 고효율 압축을 위한 코딩 툴의 디자인을 가능하게 하고, 또한 필요한 계산 리소스, 메모리 요구사항, 메모리 액세스 대역 및 계산 복잡도를 현저하게 감소시킬 수 있다.
또한, 본 발명은 몇몇 타입의 이미지 및 비디오 신호에 대해 보다 간결한 전체 쿼드트리 분해 표현(full QT decomposition representation) 및 모델링을 가능하게 할 수 있다.
또한, 본 발명은 QT 분해를 이용하는 비디오 코딩 시스템의 압축 효율을 향상시킬 수 있다.
또한, 본 발명은 몇몇 타입의 이미지 및 비디오 신호의 처리 및/또는 코딩에 대해 보다 적은 QT 분해 레벨 수를 이용함으로써 계산 복잡도 및 메모리 요구사항을 감소시킬 수 있다.
본 발명의 또 다른 목적은 일반적인 컨텐트에 대한 중복적인 분해를 감소시키고, QT 분해의 시그널링 및 모션과 기하학적 모델의 시그널링에 대한 주요 비트 오버헤드(significant bit overhead)를 감소시킬 수 있다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 3은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.
도 4는 본 발명이 적용되는 일실시예로서, 임베디드 블록이 적용된 쿼드트리 분해(quadtree decomposition with embedded block)를 설명하기 위한 도면이다.
도 5는 본 발명이 적용되는 일실시예로서, 분할 타입 정보에 기초하여 코딩 유닛을 디코딩하는 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명이 적용되는 일실시예로서, 임베디드 블록을 디코딩하는 방법을 설명하기 위한 흐름도이다.
도 7 및 도 8은 본 발명이 적용되는 일실시예들로서, 임베디드 블록이 적용된 쿼드트리 분해(quadtree decomposition with embedded block) 수행시 코딩 유닛을 디코딩하는 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명이 적용되는 일실시예로서, 임베디드 블록을 디코딩하기 위한 신택스 구조를 나타낸다.
도 10은 본 발명이 적용되는 일실시예로서, 임베디드 블록의 파라미터를 설명하기 위한 도면이다.
도 11은 본 발명이 적용되는 일실시예로서, 임베디드 블록을 생성하는 방법을 설명하기 위한 흐름도이다.
도 12는 본 발명이 적용되는 일실시예로서, 임베디드 블록이 적용된 쿼드트리 분해(quadtree decomposition with embedded block) 수행시 코딩 유닛을 인코딩하는 방법을 설명하기 위한 흐름도이다.
도 13은 본 발명이 적용되는 실시예로서, 임베디드 블록을 디코딩하는 프로세서의 개략적인 블록도를 나타낸다.
본 발명은, 비디오 신호를 디코딩하는 방법에 있어서, 상기 비디오 신호로부터 분할 플래그(split flag)를 획득하는 단계, 여기서 상기 분할 플래그는 코딩 유닛이 분할되는지 여부를 나타냄; 상기 분할 플래그에 따라 상기 코딩 유닛이 분할되는 경우, 상기 비디오 신호로부터 상기 코딩 유닛의 분할 타입 정보를 획득하는 단계, 여기서 상기 분할 타입 정보는 임베디드 블록 타입 정보를 포함하고, 상기 임베디드 블록 타입 정보는 분할된 블록(EBP)이 상기 코딩 유닛 내 임의의 공간상 위치에 있는 블록임을 나타냄; 및 상기 코딩 유닛의 분할 타입 정보에 기초하여, 상기 코딩 유닛을 디코딩하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명은, 상기 분할된 블록의 개수 정보(number information)를 획득하는 단계; 상기 개수 정보에 따라, 분할된 블록 각각의 파라미터 정보를 획득하는 단계; 및 상기 파라미터 정보에 기초하여, 상기 분할된 블록을 디코딩하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 본 발명은, 상기 분할된 블록의 레지듀얼 신호를 생성하는 단계; 및 상기 분할된 블록의 픽셀을 제외한 상기 코딩 유닛을 디코딩하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 본 발명은, 상기 분할된 블록의 레지듀얼 신호를 생성하는 단계; 및 상기 레지듀얼 신호에 기설정된 가중치 정보를 적용하여, 상기 코딩 유닛을 디코딩하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 본 발명에서, 상기 파라미터 정보는 상기 분할된 블록의 깊이 정보, 위치 정보 및 사이즈 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.
또한, 본 발명에서, 상기 파라미터 정보는 시퀀스 파라미터 셋, 픽쳐 파라미터 셋, 슬라이스 헤더, 코딩 트리 유닛 레벨, 또는 코딩 유닛 레벨 중 적어도 하나에 포함되는 것을 특징으로 한다.
또한, 본 발명은, 비디오 신호를 인코딩하는 방법에 있어서, 코딩 유닛에 대해 전체 QT 분해(full quadtree decomposition)를 수행하는 단계; 상기 코딩 유닛 내 분할 블록들(partition blocks)의 모션 정보를 수집하는 단계; 상기 수집된 모션 정보에 기초하여, 상기 분할 블록들(partition blocks)의 모션 패턴을 식별하는 단계; 및 동일한 모션 패턴을 갖는 분할 블록들(partition blocks)을 머지(merge)함으로써, 임베디드 블록(embedded block)을 생성하는 단계를 포함하되, 상기 임베디드 블록은 상기 코딩 유닛 내 임의의 공간상 위치에 있는 블록을 나타내는 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명은, 임베디드 블록(embedded block)의 제 1 율-왜곡 비용(Rate-Distortion Cost) 및 잔여 블록(remaining block)의 제 2 율-왜곡 비용(Rate-Distortion Cost)을 산출하는 단계, 여기서 상기 잔여 블록(remaining block)은 상기 코딩 유닛으로부터 상기 임베디드 블록을 제외한 부분을 나타냄; 상기 제 1 율-왜곡 비용(Rate-Distortion Cost)와 상기 제 2 율-왜곡 비용(Rate-Distortion Cost)의 합에 기초한 함수를 최적화하는 임베디드 블록의 개수를 결정하는 단계; 및 상기 코딩 유닛을 인코딩하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 본 발명에서, 상기 임베디드 블록은 기정의된 타입과 사이즈에 대응되는 것을 특징으로 한다.
또한, 본 발명은, 비디오 신호를 디코딩하는 장치에 있어서, 상기 비디오 신호로부터 분할 플래그(split flag)를 획득하는 분할 플래그 획득부, 여기서 상기 분할 플래그는 코딩 유닛이 분할되는지 여부를 나타냄; 상기 분할 플래그에 따라 상기 코딩 유닛이 분할되는 경우, 상기 비디오 신호로부터 상기 코딩 유닛의 분할 타입 정보를 획득하는 분할 타입 획득부, 여기서 상기 분할 타입 정보는 임베디드 블록 타입 정보를 포함하고, 상기 임베디드 블록 타입 정보는 분할된 블록(EBP)이 상기 코딩 유닛 내 임의의 공간상 위치에 있는 블록임을 나타냄; 및 상기 코딩 유닛의 분할 타입 정보에 기초하여, 상기 코딩 유닛을 디코딩하는 임베디드 블록 디코딩부를 포함하는 것을 특징으로 하는 장치를 제공한다.
또한, 본 발명에서, 상기 임베디드 블록 디코딩부는, 상기 분할된 블록의 개수 정보(number information)를 획득하고, 상기 개수 정보에 따라 분할된 블록 각각의 파라미터 정보를 획득하는 임베디드 블록 파라미터 획득부를 더 포함하고, 상기 분할된 블록은 상기 파라미터 정보에 기초하여 디코딩되는 것을 특징으로 한다.
또한, 본 발명에서, 상기 임베디드 블록 디코딩부는, 상기 분할된 블록의 레지듀얼 신호를 생성하는 임베디드 블록 레지듀얼 획득부를 더 포함하고, 상기 장치는, 상기 분할된 블록의 픽셀을 제외한 상기 코딩 유닛을 디코딩하는 코딩 유닛 디코딩부를 더 포함하는 것을 특징으로 한다.
또한, 본 발명에서, 상기 임베디드 블록 디코딩부는, 상기 분할된 블록의 레지듀얼 신호를 생성하는 임베디드 블록 레지듀얼 획득부를 더 포함하고, 상기 장치는, 상기 레지듀얼 신호에 기설정된 가중치 정보를 적용하여, 상기 코딩 유닛을 디코딩하는 코딩 유닛 디코딩부를 더 포함하는 것을 특징으로 한다.
또한, 본 발명은, 비디오 신호를 인코딩하는 장치에 있어서, 코딩 유닛에 대해 전체 QT 분해(full quadtree decomposition)를 수행하고, 상기 코딩 유닛 내 분할 블록들(partition blocks)의 모션 정보를 수집하고, 상기 수집된 모션 정보에 기초하여 상기 분할 블록들(partition blocks)의 모션 패턴을 식별하고, 동일한 모션 패턴을 갖는 분할 블록들(partition blocks)을 머지(merge)함으로써, 임베디드 블록(embedded block)을 생성하는 영상 분할부를 포함하되, 상기 임베디드 블록은 상기 코딩 유닛 내 임의의 공간상 위치에 있는 블록을 나타내는 것을 특징으로 하는 장치를 제공한다.
또한, 본 발명에서, 상기 영상 분할부는, 임베디드 블록(embedded block)의 제 1 율-왜곡 비용(Rate-Distortion Cost) 및 잔여 블록(remaining block)의 제 2 율-왜곡 비용(Rate-Distortion Cost)을 산출하고, 상기 제 1 율-왜곡 비용(Rate-Distortion Cost)와 상기 제 2 율-왜곡 비용(Rate-Distortion Cost)의 합에 기초한 함수를 최적화하는 임베디드 블록의 개수를 결정하고, 상기 장치는 상기 코딩 유닛을 인코딩하되, 상기 잔여 블록(remaining block)은 상기 코딩 유닛으로부터 상기 임베디드 블록을 제외한 부분을 나타내는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 의해서 설명되는 본 발명의 구성과 작용은 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
또한, 본 발명에서 사용되는 용어들은 발명을 설명하기 위해 선택된 일반적인 용어들이나, 유사한 의미를 갖는 다른 용어가 있는 경우 보다 적절한 해석을 위해 대체 가능할 것이다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다. 또한, 파티셔닝(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)일 수 있다.
다만, 상기 용어들은 본 발명에 대한 설명의 편의를 위해 사용할 뿐이며, 본 발명은 해당 용어의 정의에 한정되지 않는다. 또한, 본 명세서에서는 설명의 편의를 위해, 비디오 신호를 인코딩 또는 디코딩하는 과정에서 이용되는 단위로써 코딩 유닛이라는 용어를 사용하지만, 본 발명은 그에 한정되지 않으며 발명 내용에 따라 적절하게 해석 가능할 것이다.
특히, 본 발명에 있어서, 영상 분할부(110)는 코딩 유닛 내 임베디드 블록(embedded block, 'EB')을 포함하도록 분할할 수 있다. 여기서, 상기 임베디드 블록(EB)은 상기 코딩 유닛 내 임의의 공간 위치에 있는 블록을 의미할 수 있다. 예를 들어, 입력된 영상이 QT 분해될 수 있고, QT 노드는 적어도 하나의 임베디드 블록(EB)을 포함하도록 분해될 수 있다. 한편, 임베디드 블록(EB)은 임베디드 블록 파티션(embedded block partition, 'EBP') 또는 임베디드 블록 파티셔닝(embedded block partitioning, 'EBP')이라 부를 수도 있으나, 본 명세서에서는 편의상 임베디드 블록(EB)이라 한다.
상기 영상 분할부(110)는 이하 설명하는 실시예에서 제안하는 임베디드 블록을 포함하도록 코딩 유닛을 분해하는 과정, 그리고 상기 임베디드 블록을 포함하는 코딩 유닛을 코딩하는 방법을 구현할 수 있다.
인코더(100)는 입력 영상 신호에서 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호(prediction signal)를 감산하여 차분 신호(residual signal)를 생성할 수 있고, 생성된 차분 신호는 변환부(120)로 전송된다.
변환부(120)는 차분 신호에 변환 기법을 적용하여 변환 계수(transform coefficient)를 생성할 수 있다.
양자화부(130)는 변환 계수를 양자화하여 엔트로피 인코딩부(190)로 전송하고, 엔트로피 인코딩부(190)는 양자화된 신호(quantized signal)를 엔트로피 코딩하여 비트스트림으로 출력할 수 있다.
한편, 양자화부(130)로부터 출력된 양자화된 신호(quantized signal)는 예측 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 신호(quantized signal)는 루프 내의 역양자화부(140) 및 역변환부(150)를 통해 역양자화 및 역변환을 적용함으로써 차분 신호를 복원할 수 있다. 복원된 차분 신호를 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성될 수 있다.
한편, 위와 같은 압축 과정에서 인접한 블록들이 서로 다른 양자화 파라미터에 의해 양자화됨으로써 블록 경계가 보이는 열화가 발생될 수 있다. 이러한 현상을 블록킹 열화(blocking artifacts)라고 하며, 이는 화질을 평가하는 중요한 요소 중의 하나이다. 이러한 열화를 줄이기 위해 필터링 과정을 수행할 수 있다. 이러한 필터링 과정을 통해 블록킹 열화를 제거함과 동시에 현재 픽쳐에 대한 오차를 줄임으로써 화질을 향상시킬 수 있게 된다.
필터링부(160)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼(170)에 전송한다. 복호 픽쳐 버퍼(170)에 전송된 필터링된 신호는 인터 예측부(180)에서 참조 픽쳐로 사용될 수 있다. 이처럼, 필터링된 픽쳐를 화면간 예측 모드에서 참조 픽쳐로 이용함으로써 화질 뿐만 아니라 부호화 효율도 향상시킬 수 있다.
복호 픽쳐 버퍼(170)는 필터링된 픽쳐를 인터 예측부(180)에서의 참조 픽쳐으로 사용하기 위해 저장할 수 있다.
인터 예측부(180)는 복원 픽쳐(reconstructed picture)를 참조하여 시간적 중복성 및/또는 공간적 중복성을 제거하기 위해 시간적 예측 및/또는 공간적 예측을 수행한다. 여기서, 예측을 수행하기 위해 이용되는 참조 픽쳐는 이전 시간에 부호화/복호화 시 블록 단위로 양자화와 역양자화를 거친 변환된 신호이기 때문에, 블로킹 아티팩트(blocking artifact)나 링잉 아티팩트(ringing artifact)가 존재할 수 있다.
따라서, 인터 예측부(180)는 이러한 신호의 불연속이나 양자화로 인한 성능 저하를 해결하기 위해, 로우패스 필터(lowpass filter)를 적용함으로써 픽셀들 사이의 신호를 서브 픽셀 단위로 보간할 수 있다. 여기서, 서브 픽셀은 보간 필터를 적용하여 생성된 가상의 화소를 의미하고, 정수 픽셀은 복원된 픽쳐에 존재하는 실제 화소를 의미한다. 보간 방법으로는 선형 보간, 양선형 보간(bi-linear interpolation), 위너 필터(wiener filter) 등이 적용될 수 있다.
보간 필터는 복원 픽쳐(reconstructed picture)에 적용되어 예측의 정밀도를 향상시킬 수 있다. 예를 들어, 인터 예측부(180)는 정수 픽셀에 보간 필터를 적용하여 보간 픽셀을 생성하고, 보간 픽셀들(interpolated pixels)로 구성된 보간 블록(interpolated block)을 예측 블록(prediction block)으로 사용하여 예측을 수행할 수 있다.
인트라 예측부(185)는 현재 부호화를 진행하려고 하는 블록의 주변에 있는 샘플들을 참조하여 현재 블록을 예측할 수 있다. 인트라 예측부(185)는, 인트라 예측을 수행하기 위해 다음과 같은 과정을 수행할 수 있다. 먼저, 예측 신호를 생성하기 위해 필요한 참조 샘플을 준비할 수 있다. 그리고, 준비된 참조 샘플을 이용하여 예측 신호를 생성할 수 있다. 이후, 예측 모드를 부호화하게 된다. 이때, 참조 샘플은 참조 샘플 패딩 및/또는 참조 샘플 필터링을 통해 준비될 수 있다. 참조 샘플은 예측 및 복원 과정을 거쳤기 때문에 양자화 에러가 존재할 수 있다. 따라서, 이러한 에러를 줄이기 위해 인트라 예측에 이용되는 각 예측 모드에 대해 참조 샘플 필터링 과정이 수행될 수 있다.
상기 인터 예측부(180) 또는 상기 인트라 예측부(185)를 통해 생성된 예측 신호(prediction signal)는 복원 신호를 생성하기 위해 이용되거나 차분 신호를 생성하기 위해 이용될 수 있다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 2를 참조하면, 디코더(200)는 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 필터링부(240), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer Unit)(250), 인터 예측부(260) 및 인트라 예측부(265)를 포함하여 구성될 수 있다.
그리고, 디코더(200)를 통해 출력된 복원 영상 신호(reconstructed video signal)는 재생 장치를 통해 재생될 수 있다.
디코더(200)는 도 1의 인코더(100)로부터 출력된 신호(즉, 비트스트림)을 수신할 수 있고, 수신된 신호는 엔트로피 디코딩부(210)를 통해 엔트로피 디코딩될 수 있다.
역양자화부(220)에서는 양자화 스텝 사이즈 정보를 이용하여 엔트로피 디코딩된 신호로부터 변환 계수(transform coefficient)를 획득한다.
역변환부(230)에서는 변환 계수를 역변환하여 차분 신호(residual signal)를 획득하게 된다.
획득된 차분 신호를 인터 예측부(260) 또는 인트라 예측부(265)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성된다.
필터링부(240)는 복원 신호(reconstructed signal)에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼부(250)에 전송한다. 복호 픽쳐 버퍼부(250)에 전송된 필터링된 신호는 인터 예측부(260)에서 참조 픽쳐로 사용될 수 있다.
본 명세서에서, 인코더(100)의 필터링부(160), 인터 예측부(180) 및 인트라 예측부(185)에서 설명된 실시예들은 각각 디코더의 필터링부(240), 인터 예측부(260) 및 인트라 예측부(265)에도 동일하게 적용될 수 있다.
일반적으로 정지 영상 또는 동영상 압축 기술(예를 들어, HEVC)에서는 블록 기반의 영상 압축 방법을 이용한다. 블록 기반의 영상 압축 방법은 영상을 특정 블록 단위로 나누어서 처리하는 방법으로서, 메모리 사용과 연산량을 감소시킬 수 있다.
도 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) 구조로 분해될 수 있다. 예를 들어, 하나의 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의 코딩 모드로 인트라 예측 모드가 사용되는지 인터 예측 모드가 사용되는지에 따라 상이하게 분할될 수 있다.
기존의 대부분의 정지 영상 또는 동영상 압축 기술(예를 들어, HEVC)에서는 블록 기반의 영상 압축 방법을 이용한다. 다만, 이러한 블록 기반의 영상 압축 기술은 영상의 분할 형태가 정방형으로 고정되어 있으므로 영상의 특성을 적절하게 반영하지 못할 수 있으며, 특히 복잡한 텍스쳐 코딩에 적합하지 않다. 이에 따라 보다 효과적으로 영상을 압축할 수 있는 영상 압축 기술이 요구된다.
QT 분할(QT partitioning)은 최근 비디오 코딩 알고리즘 해결책으로 많이 활용되고 있으며, 예를 들어 블록 분할(block partitioning), 시그널링 방법(signaling scheme)에 이용될 수 있다.
QT 분해(QT decomposition)는 예측 과정에 이용되는 예측 QT(prediction QT) 및 블록 변환(block transform)에 이용되는 변환 QT(transform QT)에 이용될 수 있다.
QT 분해(QT decomposition)는 공간 비균일 컨텐트 표현(spatially non-uniform content representation) 및 모션 모델링(motion modeling) 관계에서 차선책(sub-optimal)으로 고려될 수 있다.
QT 분해는 블록 내 양분된 위치(dyadic locations)에서 수평/수직 에지의 불연속성을 캡쳐(capture)할 수 있다. 따라서, 만약 양분되지 않은 위치(non-dyadic location)에서 분할이 필요한 경우, 또는 비수평(non-horizontal)/비수직(non-vertical) 방향에서 분할이 필요한 경우, 각 리프 노드(leaf node)가 하나의 모션 모델(motion model)로 불연속성 없이 매끄러운 이미지 영역(smooth image region)을 커버한다고 가정할 때, QT 분해(quadtree decomposition)는 더 높은 정확도를 위해 더 작은 블록들로 분할할 것이다.
어떤 환경에서는, QT 분해 및 시그널링은 공간 및 모션 모델에 대한 차선책(sub-optimal)이 될 수 있고, 이는 분해 수(number of decomposition)의 증가 및 시그널링 비트의 증가를 가져올 수 있다. 특히 이러한 상황은 LCU(Largest Coding Unit) 사이즈를 증가시키는 과정에 일반적일 수 있다.
이러한 문제를 극복하기 위해, 본 발명은 기하학적 모델링을 이용한 QT 분해를 제안한다. 분해 과정에서 소개되는 다항의 기하학적 모델링(polynomial geometrical modeling)은 특정 노드에 의해 표현된 이미지 부분의 실제 경계와 만나는 분할 노드의 특성(예를 들어, 방향)을 식별할 수 있다. 다항의 기하학적 모델링(polynomial geometrical modeling)은 몇 가지 파라미터들, 예를 들어, 직선, 분할선의 각도 및 (0,0) 노드로부터의 오프셋 중 적어도 하나에 의해 설명될 수 있다.
도 4는 본 발명이 적용되는 일실시예로서, 임베디드 블록이 적용된 QT 분해(quadtree decomposition with embedded block)를 설명하기 위한 도면이다.
QT 분해에 있어서 기하학적 모델링의 이용은 이미지 부분의 실제 공간 경계에 대한 복잡도를 감소시키기 위해 QT 분해를 조절할 수 있고, 그로 인해 분할 시그널링을 위한 비트를 감소시킬 수 있다.
본 발명은 예측 QT에 대해 유연한 블록 파티셔닝과 대각 파티셔닝을 이용할 수 있다. 또한, 본 발명은 비수직 분할 및 비수평 분할에 의해 조절될 수 있도록 QT 분해를 적용할 수 있다.
비정방(non-square) 파티션들은 QT 내 공간 위치에 대해 QT 분해를 정밀한 정확도로 조정할 수 있다. 이는 복잡도와 수행 능력 사이의 적절한 타협점을 찾을 수 있게 한다. 그러나, 비정방(non-square) 분해는 CTB(Coding Tree Block)의 리프 노드에서 수행되기 때문에, 양분되지 않은 위치로부터는 어떠한 추가적인 QT 분해도 허용되지 않으며, QT 내 공간적으로 세분화된 객체(spatially localized object)를 표현하기 위해 여전히 복잡도는 높을 수 있다.
기하학적 모델을 이용한 QT 분해는 양분되지 않은(non-dyadic) 공간 위치에 있는 에지에 대해 QT 분해를 조정하도록 할 수 있다. 그러나, 기하학적 모델을 이용한 QT 분해를 수행하기 위한 합리적인 복잡도의 최적화 알고리즘이 제공될 필요가 있다. QT 리프 노드에서 기하학적 모델을 이용하는 것은, 어떠한 추가적인 QT 분해도 양분되지 않은(non-dyadic) 위치로부터 시작하는 것이 가능하지 않음을 가정한다. 본 발명은 소위 예측 블록이라 하는, 비정방 직각 파티셔닝(non-square rectangular partitioning)의 한정된 세트에 대해 단순화된 기하학적 모델을 이용할 수 있고, 이러한 방법은 양분되지 않은(non-dyadic) 위치에서의 공간적 에지를 조절하기 위한 QT의 제한된 기능을 제공할 수 있다.
QT 분해는 만약 그들의 부모 노드가 다른 경우 이웃 리프 노드들 간의 의존성을 이용하는데 어려움이 있다. 이를 해결하기 위해, 본 발명은 다양한 리프 노드 머징 전략들을 제안한다. 게다가, 본 발명은 듀얼 QT(dual QT) 분해의 결합 최적화(joint optimization)를 위한 알고리즘을 제안한다. 예를 들어, 모션 모델을 위한 QT 분해 및 이미지 내 공간 경계를 위한 QT 분해의 결합을 들 수 있다.
좀더 실질적인 해결책으로써, 본 발명은 듀얼 QT 분해를 제공할 수 있다. 예를 들어, 하나는 공간 경계에 대한 것(변환 QT)이고, 다른 하나는 모션 모델링에 대한 것(예측 QT)일 수 있다. 변환 QT 리프 노드는 예측 QT 리프 경계를 포괄할 수 있고, 따라서 예측 QT의 이웃 리프 노드들 간 공간적 종속성을 이용할 수 있다.
모션 모델링과 관련하여, 본 발명의 일실시예는 모션 필드에서의 공간적 종속성을 적용하는 예측 QT 분해에서 리프 머징(leaf merging) 방법을 제안한다. 머징 과정은 예측 QT 분해 및 변환 QT 분해와는 별도로 수행될 수 있고, 모션 모델을 위한 비트 소모를 최소화할 수 있다. 따라서, 본 발명은 리프 간 종속성을 이용할 수 있는 방법을 제안하고자 한다. 예를 들어, 본 발명의 일실시예는 PU 간 모션 정보를 공유하기 위해 머지 모드를 이용할 수 있다.
차세대 비디오 컨텐트는 고 공간해상도, 빠른 시간샘플링(frame rate), 장면 표현의 고차원화 등이 특징이 될 것이다. 그러한 데이터에 대한 QT 분해의 이용은 QT의 최대 공간 사이즈 및 QT 분해의 최대 깊이의 증가를 초래할 것이다. 예를 들어, 512x512 사이즈에서 8x8블록 사이즈로 생성된 QT는 통상적인 컨텐트에 대한 중복 분해 및 QT 시그널링, 모션 및 기하학적 모델의 QT 분해에 대한 비트 오버헤드를 초래할 수 있다.
본 발명의 일실시예에서는, QT의 노드 및/또는 리프가 현재 노드 및/또는 리프 내 임의 공간 위치에 있는 제한된 수의 임베디드 블록(embedded block)으로 분해될 수 있는 경우를 제안한다. 이때, 임베디드 블록은 노드(또는 리프, 블록) 내 임의의 공간 위치에 있는 블록으로 정의될 수 있다. 예를 들어, 상기 노드는 CTU, CU, PU 또는 TU 중 하나일 수 있다.
예를 들어, 도 4를 살펴보면, CTU는 루트 노드(root node)에 해당되고, QT 분해를 통해 4개의 블록들로 분해될 수 있고, 이들을 각각 CU1, CU2, CU3 및 CU4라 한다. 그리고, CU1, CU2 및 CU4는 임베디드 블록을 갖도록 다시 분해될 수 있다. 예를 들어, CU1은 임베디드 블록 EB1을 포함할 수 있고, CU2는 임베디드 블록 EB2 및 EB3을 포함할 수 있으며, CU4는 임베디드 블록 EB4를 포함할 수 있다.
본 발명의 일실시예에서, 임베디드 블록은 추가적으로 사면 분할(quadratic splitting)될 수 있고, 이를 임베디드 쿼드트리(embedded QT, EQT), 또는 임베디드 쿼드트리 분해라고 할 수 있다. 즉, 임베디드 쿼드트리(EQT) 또는 임베디드 쿼드트리 분해(embedded QT decomposition)는 임베디드 블록이 QT 분해되는 것을 의미할 수 있다.
예를 들어, 임베디드 블록 EB1은 QT 분해를 통해 4개의 블록들로 분할될 수 있고, 분할된 블록은 다시 QT 분해를 통해 4개의 블록들로 분할될 수 있다.
도 4를 살펴보면, 임베디드 블록 EB1의 경우, 블록a, 블록 (b,c,d,e), 블록f, 블록g로 분할될 수 있고, 2사분면의 블록 (b,c,d,e)는 다시 블록b, 블록c, 블록d, 블록e로 분할될 수 있다. 상기 임베디드 블록 EB1은 블록 CU1 내의 임의의 공간 위치에 위치하고 있음을 확인할 수 있다.
임베디드 블록 EB2과 EB3의 경우, 추가 분할 없이 블록 CU2 내의 임의의 공간 위치에 위치하고 있음을 확인할 수 있다.
임베디드 블록 EB4의 경우, 블록p, 블록q, 블록r, 블록s로 분할될 수 있고, 블록 CU4 내의 임의의 공간 위치에 위치하고 있음을 확인할 수 있다.
한편, 블록 내 임베디드 블록을 제외한 나머지 부분을 잔여 블록(remaining block)이라 정의할 수 있다. 예를 들어, 블록 CU1 내에 임베디드 블록 EB1을 제외한 나머지 부분을 잔여 블록 RB1이라 정의할 수 있다. 마찬가지로, 블록 CU2의 경우, 임베디드 블록 EB2, EB3을 제외한 나머지 부분을 잔여블록 RB2로 정의할 수 있으며, 블록 CU4의 경우 임베디드 블록 EB4를 제외한 나머지 부분을 잔여블록 RB3으로 정의할 수 있다.
본 발명의 일실시예로, 임베디드 쿼드트리로 분할되는 부모 노드는 임베디드 쿼드트리들로 커버된 픽셀들을 배제하는 리프 노드로써 처리 또는 코딩될 수 있다. QT 분해 결과는 부모 노드와 임베디드 QT 간 픽셀 도메인 상 오버랩없이 결합된 분해로 산출될 수 있다. 예를 들어, 도 4의 경우, CU1은 임베디드 블록 EB1의 픽셀들을 제외한 채로 코딩될 수 있다. 즉, 잔여블록 RB1의 픽셀들에 대해서만 코딩함으로써 CU1을 코딩할 수 있다. 이때, 임베디드 블록 EB1은 별도로 코딩하여 전송할 수 있다. 이러한 코딩 방식을 본 명세서에서는 핵심 분해 코딩(critical decomposition coding)이라 부르기로 한다.
본 발명의 다른 실시예로, 임베디드 쿼드트리로 분할되는 부모 노드는 임베디드 쿼드트리들로 커버된 픽셀들을 포함하는 리프 노드로써 처리 또는 코딩될 수 있다. QT 분해 결과는 분해의 중첩으로 산출될 수 있고, 여기서, 노드 내 모든 임베디드 쿼드트리에 의해 처리되는 결과 픽셀들은 부모 노드에 의해 처리되는 픽셀들에 가중치를 부가하여 혼합될 수 있다. 예를 들어, 도 4의 경우, CU2는 임베디드 블록 EB2 및 EB3의 픽셀들을 포함하는 리프 노드(leaf node)로써 코딩될 수 있다. 즉, CU2와 임베디드 블록 EB2 및 EB3의 픽셀들을 모두 코딩함으로써 CU2를 코딩할 수 있다. 이때, 임베디드 블록 EB2 및 EB3의 픽셀들은 가중치를 적용하여 코딩될 수 있다. 이러한 코딩 방식을 본 명세서에서는 중첩 분해 코딩(over-complete decomposition coding)이라 부르기로 한다.
본 발명의 다른 실시예로, 임베디드 블록의 파라미터(EB parameter)는 공간 위치 정보, 수평 사이즈 정보, 수직 사이즈 정보 및 식별 정보 중 적어도 하나를 포함할 수 있고, 상기 임베디드 블록의 파라미터(EB parameter)는 기정의된 QT 타입들 중 이용된 QT에 대해 적용될 수 있다.
본 발명의 다른 실시예로, 임베디드 블록의 파라미터(EB parameter)는 분해 파라미터(decomposition parameter)를 포함할 수 있다. 예를 들어, 상기 분해 파라미터는 QT 분해의 범위 정보(range information), 분할 그리드 정보(split grid information) 중 적어도 하나를 포함할 수 있고, 상기 분할 그리드 정보(split grid information)는 양분 타입(dyadic type), 비양분 타입(non-dyadic type) 또는 기하학적 모델 타입 중 적어도 하나를 포함할 수 있다.
본 발명의 다른 실시예로, 분해 파라미터(decomposition parameter)는 인코더와 디코더 중 적어도 하나에 미리 알려질 수 있다.
본 발명의 다른 실시예로, 임베디드 블록의 사이즈 정보 및 타입 정보는 상기 임베디드 블록의 기정의된 타입 세트 내 식별자에 기초하여 처리될 수 있다.
본 발명의 다른 실시예로, 임베디드 블록의 파라미터는 비트스트림 내에서 신호화될 수 있다. 상기 신호화(signaling)는 QT 노드 레벨, QT 루트 레벨, LCU 레벨, 슬라이스 헤더, PPS(Picture Parameter Set), SPS(Sequence Parameter Set) 내에서 또는 다른 신택스 엘리먼트와 함께 수행될 수 있다.
본 발명의 다른 실시예로, 임베디드 블록의 파라미터는 인코더 또는 디코더 중 적어도 하나로부터 유도될 수 있다.
본 발명의 다른 실시예로, 임베디드 블록의 파라미터는 임베디드 블록 내 픽셀들과 관련된 모션 정보를 포함할 수 있다.
본 발명의 다른 실시예로, 임베디드 블록의 부모 노드는 임베디드 블록에 의해 커버된 픽셀들을 포함하거나 포함하지 않은 채로, 부모 노드에 의해 커버된 픽셀들과 관련된 모션 정보를 포함할 수 있다.
본 발명의 다른 실시예로, 부모 노드 내 임베디드 블록은 임베디드 블록의 파라미터를 공유할 수 있다.
본 발명의 다른 실시예로, 부모 노드 내 임베디드 블록은 또 다른 부모 노드 내 임베디드 블록과 함께 임베디드 블록 파라미터를 공유할 수 있다.
이하에서는, 인코더 및 디코더 측면에서 수행가능한 실시예들 및 시그널링에 대해 설명하도록 한다.
도 5는 본 발명이 적용되는 일실시예로서, 분할 타입 정보(split type information)에 기초하여 코딩 유닛을 디코딩하는 방법을 설명하기 위한 흐름도이다.
앞서 살펴본 바와 같이, CTU는 QT 분해를 통해 CU로 분할될 수 있고, 분할된 CU는 추가적으로 더 분할될 수 있다. 이때, 분할 플래그가 이용될 수 있다. 상기 분할 플래그는 코딩 유닛이 분할되는지 여부를 나타내는 정보를 의미할 수 있고, 예를 들어 상기 분할 플래그는 신택스 요소 split_cu_flag로 표현될 수 있다.
디코더(200)는 비디오 신호를 수신할 수 있고, 상기 비디오 신호로부터 분할 플래그를 획득할 수 있다(S510). 예를 들어, 상기 분할 플래그가 '1'이면, 현재 코딩 유닛은 하위 코딩 유닛으로 분할되는 것을 나타내고, 상기 분할 플래그가 '0'이면, 현재 코딩 유닛은 하위 코딩 유닛으로 분할되지 않는 것을 나타낸다.
한편, 디코더(200)는 비디오 신호로부터 분할 타입 정보(split type information)를 획득할 수 있다(S520). 상기 분할 타입 정보는 코딩 유닛이 분할되는 타입을 나타낸다. 예를 들어, 상기 분할 타입 정보는 임베디드 블록 분할 타입(EB split type), QT 분할 타입(QT split type) 및 이원 분할 타입(dyadic split type) 중 적어도 하나를 포함할 수 있다. 상기 임베디드 블록 분할 타입(EB split type)은 코딩 유닛이 임베디드 블록을 포함하도록 분할되는 형태를 나타내고, QT 분할 타입(QT split type)은 코딩 유닛이 QT 분해를 통해 분할되는 형태를 나타내며, 그리고 이원 분할 타입(dyadic split type)은 코딩 유닛이 2개의 블록으로 분할되는 형태를 나타낸다.
상기 분할 타입 정보에 기초하여, 상기 디코더(200)는 코딩 유닛을 디코딩할 수 있다(S530). 이때, 본 발명은 상기 분할 타입 정보에 따라 서로 다른 코딩 방법을 제공할 수 있다. 구체적인 코딩 방법은 이하의 실시예에서 상세히 설명하도록 한다.
도 6은 본 발명이 적용되는 일실시예로서, 임베디드 블록을 디코딩하는 방법을 설명하기 위한 흐름도이다.
본 발명은 코딩 유닛이 임베디드 블록을 포함하도록 분할되었을 때 상기 임베디드 블록을 코딩하는 방법을 제안한다.
디코더(200)는 코딩 유닛이 분할되는지 여부를 확인할 수 있다(S610). 상기 코딩 유닛이 분할되는지 여부는 비디오 신호로부터 획득된 분할 플래그에 의해 확인될 수 있다. 상기 분할 플래그가 1이면, 상기 코딩 유닛은 분할되는 것을 나타내고, 상기 분할 플래그가 0이면, 상기 코딩 유닛은 분할되지 않는 것을 나타낸다.
상기 확인 결과, 상기 코딩 유닛이 분할되는 경우, 상기 디코더(200)는 비디오 신호로부터 분할 타입 정보를 획득할 수 있다(S620). 상기 분할 타입 정보는 코딩 유닛이 분할되는 타입을 나타내며, 예를 들어, 상기 분할 타입 정보는 임베디드 블록 분할 타입(EB split type), QT 분할 타입(QT split type) 및 이원 분할 타입(dyadic split type) 중 적어도 하나를 포함할 수 있다.
상기 디코더(200)는, 상기 분할 타입 정보가 임베디드 블록 분할 타입(EB split type)을 나타내는지 여부를 확인할 수 있다(S630).
상기 분할 타입 정보가 임베디드 블록 분할 타입을 나타내면, 상기 디코더(200)는 임베디드 블록의 개수 정보(number information of embedded block)를 획득할 수 있다(S640). 예를 들어, 도 4를 살펴보면, CU1, CU2, CU3의 분할 타입 정보는 임베디드 블록 타입을 나타낼 수 있다. 그리고, CU1 및 CU3의 경우, 임베디드 블록의 개수 정보는 각각 1개 (EB1, EB4)를 나타내고, CU2의 경우, 임베디드 블록의 개수 정보는 2개 (EB2 and EB3)를 나타낼 수 있다.
상기 디코더(200)는, 상기 획득된 임베디드 블록의 개수 정보(number information of embedded block)에 따라, 각 임베디드 블록에 대해 파라미터 정보를 획득할 수 있다(S650). 예를 들어, 상기 파라미터 정보는 임베디드 블록의 위치 정보, 수평 사이즈 정보, 수직 사이즈 정보 중 적어도 하나를 포함할 수 있다.
상기 디코더(200)는, 상기 파라미터 정보에 기초하여 상기 임베디드 블록을 디코딩할 수 있다(S660).
도 7 및 도 8은 본 발명이 적용되는 일실시예들로서, 임베디드 블록이 적용된 쿼드트리 분해(quadtree decomposition with embedded block) 수행시 코딩 유닛을 디코딩하는 방법을 설명하기 위한 흐름도이다.
본 발명의 일실시예로, 핵심 분해 디코딩(critical decomposition decoding) 방법, 즉 임베디드 블록의 픽셀들을 제외한 채로 코딩 유닛을 디코딩하는 방법을 제안한다.
도 7을 살펴보면, 디코더(200)는 임베디드 블록을 디코딩하고, 임베디드 블록의 레지듀얼 신호를 획득할 수 있다(S710). 이러한 과정은, 임베디드 블록의 개수 정보에 따라 각 임베디드 블록에 대해 수행될 수 있다. 상기 임베디드 블록은 임베디드 블록 파라미터(EB parameter)에 기초하여 디코딩될 수 있다.
상기 디코더(200)는 현재 코딩 유닛을 디코딩하고(S720), 잔여블록에 대한 레지듀얼 신호를 획득할 수 있다(S730). 여기서, 상기 잔여블록은 코딩 유닛으로부터 상기 임베디드 블록의 픽셀들을 제외한 영역을 나타낸다.
상기 디코더(200)는 변환 QT에 기초하여 임베디드 블록의 레지듀얼 신호와 상기 잔여블록의 레지듀얼 신호를 디코딩할 수 있다(S740).
예를 들어, 도 4를 참조하면, CU1은 임베디드 블록 EB1의 픽셀들을 제외한 채로 코딩될 수 있다. 즉, 임베디드 블록 EB1과 잔여블록 RB1을 별도로 코딩하여 전송할 수 있다.
다른 예로, 임베디드 블록의 픽셀들은 0이나 흰색을 나타내는 값으로 채워져 코딩될 수 있다.
본 발명의 다른 실시예로, 중첩 분해 디코딩(over-complete decomposition decoding) 방법, 즉 임베디드 블록의 픽셀들을 포함한 채로 코딩 유닛을 디코딩하는 방법을 제안한다.
도 8을 살펴보면, 디코더(200)는 임베디드 블록을 디코딩하고, 임베디드 블록의 레지듀얼 신호를 획득할 수 있다(S810). 이러한 과정은, 임베디드 블록의 개수 정보에 따라 각 임베디드 블록에 대해 수행될 수 있다. 상기 임베디드 블록은 임베디드 블록 파라미터(EB parameter)에 기초하여 디코딩될 수 있다.
상기 디코더(200)는 임베디드 블록을 포함하는 현재 코딩 유닛을 디코딩하고, 상기 현재 코딩 유닛의 레지듀얼 신호를 획득할 수 있다(S820). 예를 들어, 임베디드 블록의 픽셀들이 0이나 흰색으로 채워진 경우, 임베디드 블록의 픽셀들은 0이나 흰색을 나타내는 값으로 인식될 수 있다. 이러한 경우, 0이나 흰색으로 채워진 임베디드 블록을 포함하는 현재 코딩 유닛을 코딩할 수 있다.
상기 디코더(200)는 각 임베디드 블록에 대해 생성된 레지듀얼 신호들을 수집(aggregate)할 수 있다. 그리고, 각 임베디드 블록에 대해 생성된 레지듀얼 신호들에 대해 기정의된 가중치 정보를 적용할 수 있다(S830).
상기 디코더(200)는 변환 QT에 기초하여 레지듀얼 신호들을 디코딩할 수 있다(S840).
예를 들어, 도 4의 경우, CU2는 임베디드 블록 EB2 및 EB3의 픽셀들을 포함하는 리프 노드(leaf node)로써 코딩될 수 있다. 디코더(200)는 임베디드 블록 EB2 및 EB3를 디코딩하고, 임베디드 블록 EB2의 레지듀얼 신호 EB2_R 및 임베디드 블록 EB3의 레지듀얼 신호 EB3_R를 획득할 수 있다. 그리고, 상기 디코더(200)는 임베디드 블록 EB2 및 EB3를 포함하는 현재 코딩 유닛 CU2을 디코딩하고, 상기 현재 코딩 유닛 CU2의 레지듀얼 신호 CU2_R를 획득할 수 있다.
상기 디코더(200)는 각 임베디드 블록에 대해 생성된 레지듀얼 신호들, EB2_R 및 EB3_R를 수집할 수 있고, 수집된 레지듀얼 신호들 각각에 대해 기정의된 가중치 정보를 적용함으로써 상기 현재 코딩 유닛 CU2을 디코딩할 수 있다.
상기 디코더(200)는 변환 QT에 기초하여 레지듀얼 신호들을 디코딩할 수 있다.
본 명세서에서 설명되는 각 실시예들은 중복되는 내용에 대해 생략될 수 있으며, 따라서 각 실시예들은 서로 조합 가능할 것이다. 예를 들어, 도 5 내지 도8의 실시예들은 서로 조합 가능할 것이다.
도 9는 본 발명이 적용되는 일실시예로서, 임베디드 블록을 디코딩하기 위한 신택스 구조를 나타낸다.
비디오 신호를 구성하는 픽쳐는 적어도 하나의 슬라이스로 이루어질 수 있고, 슬라이스는 다시 슬라이스 세그먼트로 분할될 수 있다. 상기 슬라이스 세그먼트는 CTU를 코딩한 데이터를 포함할 수 있고, 상기 CTU는 코딩 유닛의 분할 정보를 포함할 수 있다(S901).
상기 CTU는 앞에서 살펴본 바와 같이, QT 구조로 분할될 수 있고, 또는 임베디드 블록을 포함하도록 분할될 수 있다.
디코더는 분할 플래그를 확인함으로써, CTU가 블록들로 분할되었는지 여부를 확인할 수 있다. 예를 들어, 신택스 엘리먼트 split_cu_flag를 획득하여 0 또는 1인지 여부를 확인할 수 있다(S902). split_cu_flag 가 1이면, CTU는 CU들로 분할되었음을 확인할 수 있다(S903).
다른 실시예로, 상기 CTU는 coding_quad_tree() 함수를 호출하여 분할 플래그를 확인할 수 있다. 이때, 상기 분할 플래그가 0이면 더 이상 분할되지 않고 coding unit()함수가 호출될 수 있고, 상기 분할 플래그가 1이면 분할된 개수만큼의 coding_quad_tree() 함수를 호출하고, 다시 각 coding_quad_tree() 함수 내에서 분할 플래그를 확인할 수 있다. 도 9의 실시예에서는 상기 과정이 생략되어 있지만, 상기 과정은 도 9의 실시예에 적용될 수 있을 뿐만 아니라, 분할 타입 정보가 임베디드 블록 분할 타입(EB split type)인 경우에도 유사하게 적용될 수 있을 것이다. 예를 들어, S907 "else" 단계 이하에서, 임베디드 블록은 coding_quad_tree() 함수를 호출하여 분할 플래그를 확인하는 과정을 포함할 수 있다.
그리고, 디코더는 분할 타입 정보를 확인할 수 있다. 예를 들어, 디코더는 신택스 엘리먼트 split_type_id를 획득하여 분할 타입 정보를 확인할 수 있다(S904). 상기 분할 타입 정보는 코딩 유닛(또는 코딩 트리 유닛)이 분할되는 타입을 나타내며, 예를 들어, 상기 분할 타입 정보는 임베디드 블록 분할 타입(EB split type), QT 분할 타입(QT split type) 및 이원 분할 타입(dyadic split type) 중 적어도 하나를 포함할 수 있다. 상기 분할 타입 정보는 각 분할 타입마다 식별 코드를 부여하는 테이블로 정의될 수 있다.
디코더는 분할 타입 정보가 임베디드 블록 분할 타입(EB split type)인지 여부를 확인할 수 있다(S905). 도 9의 S905 및 S907 알고리즘은 하나의 실시예에 불과할 뿐이며, 상기 분할 타입 정보가 복수개인 경우에는 다양한 방법으로 상기 분할 타입 정보를 확인할 수 있으며, 상기 분할 타입 정보에 따라 별도의 디코딩 과정이 적용될 수 있다.
상기 분할 타입 정보가 임베디드 블록 분할 타입(EBP_TYPE)이 아닌 경우(S905), 디코더는 코딩 유닛을 디코딩할 수 있다(S906). 예를 들어, 디코더는 임베디드 블록 분할이 아닌, 다른 타입의 분할을 수행할 수 있다. 이때, coding unit(x0,y0,log2CbSize)의 (x0,y0,log2CbSize)는 휘도 성분에서 CU의 첫번째 픽셀의 절대 좌표 값 및 블록 크기를 의미할 수 있다.
한편, 상기 분할 타입 정보가 임베디드 블록 분할 타입(EBP_TYPE)인 경우(S907), 임베디드 블록 및 코딩 유닛을 디코딩하기 위한 위한 과정(S908~ S914)이 수행될 수 있다.
먼저, 디코더는 임베디드 블록의 개수 정보(number_ebp)를 획득할 수 있다(S908). 그리고, 상기 개수 정보에 따라, 각 임베디드 블록에 대해 루프 코딩을 수행할 수 있다(S909). 예를 들어, 도 4를 살펴보면, CU2의 경우, number_ebp 는 2이고, EB2, EB3 각각에 대해 루프 코딩을 수행할 수 있다.
현재 임베디드 블록의 최대 깊이 정보를 획득할 수 있다(S910). 예를 들어, 상기 최대 깊이 정보는 현재 임베디드 블록의 최대 분할 레벨을 의미하고, 신택스 요소 'log2_dif_max_ ebp [i]'로 표현될 수 있다.
현재 임베디드 블록의 수평 위치 정보 및 수직 위치 정보를 획득할 수 있다(S911, S912). 상기 수평 위치 정보 및 수직 위치 정보는 현재 코딩 유닛의 좌표 (0,0)으로부터 각각 수평 방향으로, 수직 방향으로 떨어진 거리를 나타낼 수 있고, 신택스 요소 'conditional_location _ebp _x[i]' 및 'conditional_location _ebp _y[i]'로 표현될 수 있다.
디코더는 현재 임베디드 블록의 추가적인 파라미터 정보(additional parameter information)를 획득할 수 있다(S913). 예를 들어, 상기 파라미터 정보는 임베디드 블록의 수평 사이즈 정보, 수직 사이즈 정보 중 적어도 하나를 포함할 수 있다.
디코더는 임베디드 블록 파라미터(EB parameter)(예를 들어 S910~S913)에 기초하여 현재 임베디드 블록을 디코딩할 수 있다(S914). 예를 들어, coding unit(conditional_location_ebp _x[i], conditional_location_ebp_y[i], log2_dif_max_ebp + log2_min_luma_coding_block_size_minus3+3)는 현재 임베디드 블록의 위치 및 블록 크기를 의미할 수 있다.
상기와 같이, 임베디드 블록을 디코딩한 후, 디코더는 부모 노드(예를 들어, CTU 또는 CU)에 대해 디코딩할 수 있다(S915). S915에서 'type_decomp'는 현재 CU의 디코딩 방법을 나타내는 정보이며, 예를 들어, 상기 정보는 핵심 분해 디코딩 방법(critical decomposition decoding method) 또는 중첩 분해 디코딩 방법(over-complete decomposition decoding method) 중 하나에 대응될 수 있다.
도 10은 본 발명이 적용되는 일실시예로서, 임베디드 블록의 파라미터를 설명하기 위한 도면이다.
본 발명의 일실시예로, 임베디드 블록 파라미터(EB parameters)는 현재 노드의 사이즈 정보, 이전 코딩된 임베디드 블록 파라미터의 개수 및 사이즈 중 적어도 하나에 기초하여, 조건 범위 내에서 표현될 수 있다. 여기서, 임베디드 블록 파라미터(EB parameters)는 수평 사이즈, 수직 사이즈, 최대 깊이 정보(maximum depth information) 또는 현재 노드 임베디드 블록의 공간 위치 정보를 포함할 수 있다. 예를 들어, 도 10을 살펴보면, EB1의 수평 사이즈는 EB1_hor_x[1]으로 표현될 수 있고, EB1의 수직 사이즈는 EB1_hor_y[1]으로 표현될 수 있다. EB2의 수평 사이즈는 EB1_hor_x[2]으로 표현될 수 있고, EB2의 수직 사이즈는 EB1_hor_y[2]으로 표현될 수 있다.
상기 도 10에서, 노드는 2개의 임베디드 블록들로 코딩될 수 있고, 첫번째 임베디드 블록의 파라미터들은 두꺼운 화살표로 표현되었고, 두번째 임베디드 블록의 파라미터들은 얇은 화살표로 표현되었다. 임베디드 블록의 차원은 점선으로 표현되었고, 임베디드 블록 파라미터들의 이용가능한 공간 좌표 범위는 실선으로 표현되었다.
첫번째 임베디드 블록의 가능한 공간 좌표 범위(두꺼운 실선)는 전체 부모 노드의 사이즈를 포괄하지 않고, 임베디드 블록의 사이즈에 의해 제한될 수 있다. 두번째 임베디드 블록의 가능한 공간 좌표 범위(얇은 실선)는, 첫번째 임베디드 블록 및 두번째 임베디드 블록의 사이즈에 의해 제한되고 첫번째 임베디드 블록의 위치에 의해 제한될 수 있다. 또한, 두번째 임베디드 블록에 대한 가능한 사이즈 범위는 첫번째 블록의 사이즈 및 위치에 의해 제한될 수 있다.
도 11은 본 발명이 적용되는 일실시예로서, 임베디드 블록을 생성하는 방법을 설명하기 위한 흐름도이다.
본 발명은 임베디드 QT를 수행하기 위한 코딩 시스템을 이용할 수 있다.
본 발명의 일실시예로, 인코더(100)는 코딩 유닛에 대해 전체 쿼드트리 분해(full quadtree decomposition)를 수행할 수 있다(S1110).
상기 인코더(100)는 파티션 블록들의 모션 정보를 수집할 수 있다 (S1120).
그리고, 상기 인코더(100)는 동일한 모션 패턴을 갖는 파티션 블록들을 머지함으로써 임베디드 블록을 생성할 수 있다(S1130).
본 발명의 다른 실시예는 아래에서 보다 상세히 설명하도록 한다.
임베디드 블록을 포함하는 QT 분해의 경우, 인코더는 현재 노드의 전체 QT 분해를 적용한 머지 과정(예를 들어, 바텀-업(bottom-up) 머지 전략)에 기초하여 율-왜곡 최적화를 이용할 수 있다. 예를 들어, 다음과 같은 알고리즘을 이용할 수 있다.
인코더(100)는 현재 노드의 예측 QT에 대해 전체 분해(full decomposition)를 수행할 수 있다. 상기 인코더(100)는 현재 노드의 코딩을 수행하고 참조 율-왜곡 비용(reference RD cost, RefCost)을 산출할 수 있다.
상기 인코더(100)는 오버랩되지 않은 모션 모델(non-overlapped motion model)(또는 구별되는 모션 패턴(distinct motion patterns))을 식별할 수 있고, 현재 노드의 전체 쿼드트리 분해의 리프 노드를 미리 결정할 수 있다. 먼저, 상기 인코더(100)는 리프 노드들에 대해 측정된 모션 정보를 수집할 수 있다. 예를 들어, 상기 인코더(100)는 현재 노드 내 포워드 예측 및 백워드 예측으로부터 레지듀얼 에러를 수집하는 레지듀얼 맵을 산출할 수 있고, 상기 현재 노드 내 모션 필드 맵을 산출할 수 있다.
상기 인코더(100)는 상기 현재 노드 내 공간적으로 세분화된 모션 모델들의 제한된 수를 식별하기 위해 모션 정보와 파티션 정보를 수집할 수 있다.
상기 인코더(100)는 기정의된 타입과 사이즈를 갖는 임베디드 쿼드트리 분해를 수행하기 위해 동일한 모션 모델을 공유하는 리프 노드들을 머지할 수 있다.
각각의 임베디드 쿼드트리 X에 대해, 상기 인코더(100)는 임베디드 쿼드트리 X에 의해 커버된 픽셀들을 제외한 채로, 부모 노드의 율-왜곡 비용(costEqtX) 및 참조 율-왜곡 비용(RefCostX)을 측정할 수 있다.
상기 인코더(100)는 임베디드 쿼드트리에 의해 커버된 샘플들에 대해 모션 보상 예측(motion compensation prediction)을 수행할 수 있고, 그 율-왜곡 비용(costEqtX)을 측정할 수 있다.
또한, 상기 인코더(100)는 임베디드 쿼드트리에 의해 커버된 샘플들을 제외하는 노드에 대해 모션 보상 예측(motion compensation prediction)을 수행할 수 있고, 그 참조 율-왜곡 비용(RefCostX)을 측정할 수 있다.
상기 인코더(100)는 파티션 블록과 관련된 율-왜곡 비용(costEqtX) 및 참조 율-왜곡 비용(RefCostX)으로부터 레지듀얼을 수집하고, 최적화 함수를 이용함으로써 임베디드 쿼드트리 개수를 선택할 수 있다. 여기서, 상기 최적화 함수는 아래 수학식이 이용될 수 있다.
Figure PCTKR2015005873-appb-M000001
여기서, RefCostX는 참조 율-왜곡 비용을 나타내고, costEqtX는 파티션 블록과 관련된 율-왜곡 비용을 나타내며, refCost는 이전 임베디드 쿼드트리의 참조 율-왜곡 비용을 나타낸다.
상기 인코더(100)는 현재 노드를 인코딩하고 비트스트림으로 신호화할 수 있다.
도 12는 본 발명이 적용되는 일실시예로서, 임베디드 블록이 적용된 쿼드트리 분해(quadtree decomposition with embedded block) 수행시 코딩 유닛을 인코딩하는 방법을 설명하기 위한 흐름도이다.
본 발명에서, 인코더(100)는 모션 보상 예측에 의한 레지듀얼을 이용하여 노드 분해를 수행할 수 있다.
본 발명의 일실시예에서, 상기 인코더(100)는 임베디드 블록의 제1 율-왜곡 비용(1st RD cost) 및 잔여 블록의 제2 율-왜곡 비용(2nd RD cost)을 산출할 수 있다(S1210).
그리고, 상기 인코더(100)는 함수를 최적화하기 위해 임베디드 블록의 수를 결정할 수 있고, 상기 함수는 상기 제1 율-왜곡 비용(1st RD cost) 및 상기 제2 율-왜곡 비용(2nd RD cost)의 합에 기초한다(S1220).
그리고, 상기 인코더(100)는 코딩 유닛을 인코딩할 수 있다(S1230).
본 발명의 다른 실시예는 아래에서 보다 상세히 설명하도록 한다.
인코더(100)는 포워드/백워드 모션 예측을 이용하는 현재 노드에 대해 레지듀얼 신호를 생성할 수 있다. 상기 인코더(100)는 높은 레지듀얼 에너지를 갖는 공간적으로 세분화된 영역들의 개수를 식별할 수 있다. 그리고, 상기 인코더(100)는 상기 공간적으로 세분화된 영역들의 픽셀 데이터를 분할할 수 있고, 식별된 영역에 대해 임베디드 쿼드트리의 개수를 산출할 수 있다. 이때, 상기 임베디드 쿼드트리는 기정의된 타입과 사이즈를 가질 수 있다.
각각의 임베디드 쿼드트리 X에 대해, 상기 인코더(100)는 임베디드 쿼드트리에 의해 커버된 픽셀들을 제외한 채로, 부모 노드의 율-왜곡 비용(costEqtX) 및 참조 율-왜곡 비용(RefCostX)을 측정할 수 있다.
상기 인코더(100)는 임베디드 쿼드트리에 의해 커버된 샘플들에 대해 모션 측정(Motion estimation) 또는 모션 보상 예측(motion compensation prediction)을 수행할 수 있고, 그 율-왜곡 비용(costEqtX)을 측정할 수 있다.
또한, 상기 인코더(100)는 임베디드 쿼드트리에 의해 커버된 샘플들을 제외하는 노드에 대해 모션 측정(Motion estimation) 또는 모션 보상 예측(motion compensation prediction)을 수행할 수 있고, 그 참조 율-왜곡 비용(RefCostX)을 측정할 수 있다.
상기 인코더(100)는 율-왜곡 비용(costEqtX) 및 참조 율-왜곡 비용(RefCostX)으로부터 레지듀얼을 수집하고, 최적화 함수를 이용함으로써 임베디드 쿼드트리 개수를 선택할 수 있다. 여기서, 상기 최적화 함수는 상기 수학식 1이 이용될 수 있다.
그리고 나서, 상기 인코더(100)는 현재 노드를 인코딩하고 비트스트림으로 신호화할 수 있다.
도 13은 본 발명이 적용되는 실시예로서, 임베디드 블록을 디코딩하는 프로세서의 개략적인 블록도를 나타낸다.
본 발명이 적용되는 프로세서는 디코더에 포함될 수 있다. 프로세서(1300)는 분할 플래그 획득부(1310), 분할 타입 획득부(1320), 임베디드 블록 디코딩부(1330) 및 코딩 유닛 디코딩부(1340)을 포함할 수 있다. 그리고, 상기 임베디드 블록 디코딩부(1330)는 임베디드 블록 파라미터 획득부(1331) 및 임베디드 레지듀얼 획득부(1332)를 포함할 수 있다.
이하, 설명에서는 앞에서 설명했던 중복적인 내용들은 생략하며, 도 13의 실시예는 도 1 내지 도 12에서 설명한 실시예들이 적용 가능할 것이다.
분할 플래그 획득부(1310)는 분할 플래그를 확인함으로써, CTU가 블록들로 분할되었는지 여부를 확인할 수 있다.
분할 타입 획득부(1320)는 분할 타입 정보를 확인할 수 있다. 여기서, 상기 분할 타입 정보는 코딩 유닛(또는 코딩 트리 유닛)이 분할되는 타입을 나타내며, 예를 들어, 상기 분할 타입 정보는 임베디드 블록 분할 타입(EB split type), QT 분할 타입(QT split type) 및 이원 분할 타입(dyadic split type) 중 적어도 하나를 포함할 수 있다.
상기 분할 타입 획득부(1320)는 분할 타입 정보가 임베디드 블록 분할 타입(EB split type)인지 여부를 확인할 수 있다.
상기 분할 타입 정보가 임베디드 블록 분할 타입(EBP_TYPE)이 아닌 경우, 상기 프로세서(1300)는 코딩 유닛 디코딩부(1340)를 통해 코딩 유닛을 디코딩할 수 있다.
그러나, 상기 분할 타입 정보가 임베디드 블록 분할 타입(EBP_TYPE)인 경우, 상기 프로세서(1300)는 임베디드 블록 디코딩부(1330)를 통해 임베디드 블록을 디코딩할 수 있다.
임베디드 블록 파라미터 획득부(1331)는 임베디드 블록을 디코딩하기 위해 임베디드 블록 파라미터(EB parameter)를 획득할 수 있다. 예를 들어, 상기 임베디드 블록 파라미터(EB parameter)는 임베디드 블록의 개수 정보, 임베디드 블록의 최대 깊이 정보, 임베디드 블록의 수평 위치 정보, 임베디드 블록의 수직 위치 정보 및 임베디드 블록의 추가적인 파라미터 정보(additional parameter information)를 포함할 수 있다. 예를 들어, 상기 추가적인 파라미터 정보는 임베디드 블록의 수평 사이즈 정보, 수직 사이즈 정보 중 적어도 하나를 포함할 수 있다.
임베디드 블록 디코딩부(1330)는 임베디드 블록 파라미터(EB parameter)에 기초하여 임베디드 블록을 디코딩할 수 있다. 이때, 임베디드 레지듀얼 획득부(1332)는 상기 임베디드 블록의 레지듀얼 신호를 획득할 수 있다.
상기와 같이, 임베디드 블록을 디코딩한 후, 코딩 유닛 디코딩부(1340)는 부모 노드(예를 들어, CTU 또는 CU)에 대해 디코딩할 수 있다. 이때, 핵심 분해 디코딩 방법(critical decomposition decoding method) 또는 중첩 분해 디코딩 방법(over-complete decomposition decoding method)이 이용될 수 있다.
상기 기술된 것과 같이, 본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 상기 도 1, 도 2 및 도 13에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다.
또한, 본 발명이 적용되는 디코더 및 인코더는 멀티미디어 방송 송/수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시 카메라, 비디오 채팅 장치, 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, VoD 서비스 제공 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원 비디오 장치, 텔레컨퍼런스 비디오 장치 및 의료 비디오 장치 등에 구비되어, 비디오 신호 및 데이터 신호 등을 코딩하는데 사용될 수 있다.
또한, 본 발명이 적용되는 디코딩/인코딩 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 BD, USB, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 인코딩 방법에 의해 생성된 비트스트림은 컴퓨터가 읽을 수 있는 기록 매체에 저장되거나, 유/무선 통신망을 이용해 전송될 수 있다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (15)

  1. 비디오 신호를 디코딩하는 방법에 있어서,
    상기 비디오 신호로부터 분할 플래그(split flag)를 획득하는 단계, 여기서 상기 분할 플래그는 코딩 유닛이 분할되는지 여부를 나타냄;
    상기 분할 플래그에 따라 상기 코딩 유닛이 분할되는 경우, 상기 비디오 신호로부터 상기 코딩 유닛의 분할 타입 정보를 획득하는 단계, 여기서 상기 분할 타입 정보는 임베디드 블록 타입 정보를 포함하고, 상기 임베디드 블록 타입 정보는 분할된 블록(EBP)이 상기 코딩 유닛 내 임의의 공간상 위치에 있는 블록임을 나타냄; 및
    상기 코딩 유닛의 분할 타입 정보에 기초하여, 상기 코딩 유닛을 디코딩하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 디코딩 단계는,
    상기 분할된 블록의 개수 정보(number information)를 획득하는 단계;
    상기 개수 정보에 따라, 분할된 블록 각각의 파라미터 정보를 획득하는 단계; 및
    상기 파라미터 정보에 기초하여, 상기 분할된 블록을 디코딩하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 분할된 블록의 레지듀얼 신호를 생성하는 단계; 및
    상기 분할된 블록의 픽셀을 제외한 상기 코딩 유닛을 디코딩하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  4. 제2항에 있어서,
    상기 분할된 블록의 레지듀얼 신호를 생성하는 단계; 및
    상기 레지듀얼 신호에 기설정된 가중치 정보를 적용하여, 상기 코딩 유닛을 디코딩하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  5. 제2항에 있어서,
    상기 파라미터 정보는 상기 분할된 블록의 깊이 정보, 위치 정보 및 사이즈 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 파라미터 정보는 시퀀스 파라미터 셋, 픽쳐 파라미터 셋, 슬라이스 헤더, 코딩 트리 유닛 레벨, 또는 코딩 유닛 레벨 중 적어도 하나에 포함되는 것을 특징으로 하는 방법.
  7. 비디오 신호를 인코딩하는 방법에 있어서,
    코딩 유닛에 대해 전체 쿼드트리 분해(full quadtree decomposition)를 수행하는 단계;
    상기 코딩 유닛 내 분할 블록들(partition blocks)의 모션 정보를 수집하는 단계;
    상기 수집된 모션 정보에 기초하여, 상기 분할 블록들(partition blocks)의 모션 패턴을 식별하는 단계; 및
    동일한 모션 패턴을 갖는 분할 블록들(partition blocks)을 머지(merge)함으로써, 임베디드 블록(embedded block)을 생성하는 단계를 포함하되,
    상기 임베디드 블록은 상기 코딩 유닛 내 임의의 공간상 위치에 있는 블록을 나타내는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    임베디드 블록(embedded block)의 제 1 율-왜곡 비용(Rate-Distortion Cost) 및 잔여 블록(remaining block)의 제 2 율-왜곡 비용(Rate-Distortion Cost)을 산출하는 단계, 여기서 상기 잔여 블록(remaining block)은 상기 코딩 유닛으로부터 상기 임베디드 블록을 제외한 부분을 나타냄;
    상기 제 1 율-왜곡 비용(Rate-Distortion Cost)와 상기 제 2 율-왜곡 비용(Rate-Distortion Cost)의 합에 기초한 함수를 최적화하는 임베디드 블록의 개수를 결정하는 단계; 및
    상기 코딩 유닛을 인코딩하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  9. 제7항에 있어서,
    상기 임베디드 블록은 기정의된 타입과 사이즈에 대응되는 것을 특징으로 하는 방법.
  10. 비디오 신호를 디코딩하는 장치에 있어서,
    상기 비디오 신호로부터 분할 플래그(split flag)를 획득하는 분할 플래그 획득부, 여기서 상기 분할 플래그는 코딩 유닛이 분할되는지 여부를 나타냄;
    상기 분할 플래그에 따라 상기 코딩 유닛이 분할되는 경우, 상기 비디오 신호로부터 상기 코딩 유닛의 분할 타입 정보를 획득하는 분할 타입 획득부, 여기서 상기 분할 타입 정보는 임베디드 블록 타입 정보를 포함하고, 상기 임베디드 블록 타입 정보는 분할된 블록(EBP)이 상기 코딩 유닛 내 임의의 공간상 위치에 있는 블록임을 나타냄; 및
    상기 코딩 유닛의 분할 타입 정보에 기초하여, 상기 코딩 유닛을 디코딩하는 임베디드 블록 디코딩부
    를 포함하는 것을 특징으로 하는 장치.
  11. 제10항에 있어서, 상기 임베디드 블록 디코딩부는,
    상기 분할된 블록의 개수 정보(number information)를 획득하고, 상기 개수 정보에 따라 분할된 블록 각각의 파라미터 정보를 획득하는 임베디드 블록 파라미터 획득부
    를 더 포함하고,
    상기 분할된 블록은 상기 파라미터 정보에 기초하여 디코딩되는 것을 특징으로 하는 장치.
  12. 제11항에 있어서,
    상기 임베디드 블록 디코딩부는, 상기 분할된 블록의 레지듀얼 신호를 생성하는 임베디드 블록 레지듀얼 획득부를 더 포함하고,
    상기 장치는, 상기 분할된 블록의 픽셀을 제외한 상기 코딩 유닛을 디코딩하는 코딩 유닛 디코딩부를 더 포함하는 것을 특징으로 하는 장치.
  13. 제11항에 있어서,
    상기 임베디드 블록 디코딩부는, 상기 분할된 블록의 레지듀얼 신호를 생성하는 임베디드 블록 레지듀얼 획득부를 더 포함하고,
    상기 장치는, 상기 레지듀얼 신호에 기설정된 가중치 정보를 적용하여, 상기 코딩 유닛을 디코딩하는 코딩 유닛 디코딩부를 더 포함하는 것을 특징으로 하는 장치.
  14. 비디오 신호를 인코딩하는 장치에 있어서,
    코딩 유닛에 대해 전체 쿼드트리 분해(full quadtree decomposition)를 수행하고, 상기 코딩 유닛 내 분할 블록들(partition blocks)의 모션 정보를 수집하고, 상기 수집된 모션 정보에 기초하여 상기 분할 블록들(partition blocks)의 모션 패턴을 식별하고, 동일한 모션 패턴을 갖는 분할 블록들(partition blocks)을 머지(merge)함으로써, 임베디드 블록(embedded block)을 생성하는 영상 분할부를 포함하되,
    상기 임베디드 블록은 상기 코딩 유닛 내 임의의 공간상 위치에 있는 블록을 나타내는 것을 특징으로 하는 장치.
  15. 제14항에 있어서,
    상기 영상 분할부는, 임베디드 블록(embedded block)의 제 1 율-왜곡 비용(Rate-Distortion Cost) 및 잔여 블록(remaining block)의 제 2 율-왜곡 비용(Rate-Distortion Cost)을 산출하고, 상기 제 1 율-왜곡 비용(Rate-Distortion Cost)와 상기 제 2 율-왜곡 비용(Rate-Distortion Cost)의 합에 기초한 함수를 최적화하는 임베디드 블록의 개수를 결정하고,
    상기 장치는 상기 코딩 유닛을 인코딩하되,
    상기 잔여 블록(remaining block)은 상기 코딩 유닛으로부터 상기 임베디드 블록을 제외한 부분을 나타내는 것을 특징으로 하는 장치.
PCT/KR2015/005873 2014-06-11 2015-06-11 임베디드 블록 파티셔닝을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치 WO2015190839A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201580040798.5A CN106664430A (zh) 2014-06-11 2015-06-11 利用嵌入块分割对视频信号进行编码和解码的方法及装置
US15/318,131 US20170118486A1 (en) 2014-06-11 2015-06-11 Method And Apparatus For Encoding And Decoding Video Signal Using Embedded Block Partitioning
EP15807089.6A EP3157258B1 (en) 2014-06-11 2015-06-11 Method and device for encoding and decoding video signal by using embedded block partitioning
KR1020167032183A KR20170002460A (ko) 2014-06-11 2015-06-11 임베디드 블록 파티셔닝을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462010985P 2014-06-11 2014-06-11
US62/010,985 2014-06-11

Publications (1)

Publication Number Publication Date
WO2015190839A1 true WO2015190839A1 (ko) 2015-12-17

Family

ID=54833846

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/005873 WO2015190839A1 (ko) 2014-06-11 2015-06-11 임베디드 블록 파티셔닝을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치

Country Status (5)

Country Link
US (1) US20170118486A1 (ko)
EP (1) EP3157258B1 (ko)
KR (1) KR20170002460A (ko)
CN (1) CN106664430A (ko)
WO (1) WO2015190839A1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109479131A (zh) * 2016-06-24 2019-03-15 世宗大学校产学协力团 视频信号处理方法及装置
CN110073661A (zh) * 2017-01-06 2019-07-30 高通股份有限公司 用于视频译码的多种类型树架构
CN111263146A (zh) * 2016-10-04 2020-06-09 金起佰 用于划分图像的方法
CN111492655A (zh) * 2017-12-14 2020-08-04 交互数字Vc控股公司 用于视频压缩的基于纹理的分区决定
CN113508588A (zh) * 2019-01-02 2021-10-15 弗劳恩霍夫应用研究促进协会 编码和解码图像
US11223852B2 (en) 2016-03-21 2022-01-11 Qualcomm Incorporated Coding video data using a two-level multi-type-tree framework
CN115695803A (zh) * 2023-01-03 2023-02-03 宁波康达凯能医疗科技有限公司 一种基于极限学习机的帧间图像编码方法
US11936841B2 (en) 2016-10-04 2024-03-19 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11218697B2 (en) 2017-05-26 2022-01-04 Sk Telecom Co., Ltd. Apparatus and method for video encoding or decoding supporting various block sizes
KR102435881B1 (ko) 2017-05-26 2022-08-24 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
CN112601083A (zh) * 2017-06-28 2021-04-02 华为技术有限公司 一种图像数据的编码、解码方法及装置
WO2019234604A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Extended quad-tree with asymmetric sub-blocks
WO2020009419A1 (ko) * 2018-07-02 2020-01-09 인텔렉추얼디스커버리 주식회사 병합 후보를 사용하는 비디오 코딩 방법 및 장치
US10404980B1 (en) * 2018-07-10 2019-09-03 Tencent America LLC Intra prediction with wide angle mode in video coding
CN111107358A (zh) * 2018-10-26 2020-05-05 北京字节跳动网络技术有限公司 块分割中的冗余降低
CN111901593B (zh) * 2019-05-04 2024-01-02 华为技术有限公司 一种图像划分方法、装置及设备
WO2021071186A1 (ko) * 2019-10-07 2021-04-15 에스케이텔레콤 주식회사 픽처 분할 방법 및 복호화 장치
KR20220085819A (ko) * 2019-11-27 2022-06-22 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
CN112532987A (zh) * 2019-12-02 2021-03-19 腾讯科技(深圳)有限公司 视频编码方法、解码方法、装置
CN111669602B (zh) * 2020-06-04 2022-08-16 北京大学深圳研究生院 编码单元的划分方法、装置、编码器及存储介质
CN113808594A (zh) * 2021-02-09 2021-12-17 京东科技控股股份有限公司 编码节点处理方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080025390A1 (en) * 2006-07-25 2008-01-31 Fang Shi Adaptive video frame interpolation
US20110310976A1 (en) * 2010-06-17 2011-12-22 Qualcomm Incorporated Joint Coding of Partition Information in Video Coding
JP2012080213A (ja) * 2010-09-30 2012-04-19 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0818930B1 (en) * 1996-07-08 2002-05-22 Hyundai Curitel, Inc. Video coding method
KR100303685B1 (ko) * 1996-09-30 2001-09-24 송문섭 영상 예측부호화 장치 및 그 방법
KR20070033313A (ko) * 2003-09-23 2007-03-26 코닌클리케 필립스 일렉트로닉스 엔.브이. 콘벡스 훌 탐색을 이용한 레이트-왜곡 비디오 데이터 분할
CN105959688B (zh) * 2009-12-01 2019-01-29 数码士有限公司 用于解码高分辨率图像的方法
KR101442127B1 (ko) * 2011-06-21 2014-09-25 인텔렉추얼디스커버리 주식회사 쿼드트리 구조 기반의 적응적 양자화 파라미터 부호화 및 복호화 방법 및 장치
US9955187B2 (en) * 2014-03-28 2018-04-24 University-Industry Cooperation Group Of Kyung Hee University Method and apparatus for encoding of video using depth information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080025390A1 (en) * 2006-07-25 2008-01-31 Fang Shi Adaptive video frame interpolation
US20110310976A1 (en) * 2010-06-17 2011-12-22 Qualcomm Incorporated Joint Coding of Partition Information in Video Coding
JP2012080213A (ja) * 2010-09-30 2012-04-19 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TOMOYUKI YAMAMOTO ET AL.: "AHG 13: Sub-region extraction - position calculation and comparison of different approaches", JCT-VC 17TH MEETING, 29 March 2014 (2014-03-29), Valencia, ES, pages 1 - 6, XP030116099 *
X.-W. YIN ET AL.: "Prediction and adaptive scanning in block-set wavelet image coder", IEE PROCEEDINGS - VISION, IMAGE AND SIGNAL PROCESSING, vol. 153, no. 2, April 2006 (2006-04-01), pages 1 - 31, XP006026159 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11223852B2 (en) 2016-03-21 2022-01-11 Qualcomm Incorporated Coding video data using a two-level multi-type-tree framework
CN109479131B (zh) * 2016-06-24 2023-09-01 世宗大学校产学协力团 视频信号处理方法及装置
CN109479131A (zh) * 2016-06-24 2019-03-15 世宗大学校产学协力团 视频信号处理方法及装置
CN111263146A (zh) * 2016-10-04 2020-06-09 金起佰 用于划分图像的方法
US11677926B1 (en) 2016-10-04 2023-06-13 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
US11778158B2 (en) 2016-10-04 2023-10-03 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
US11863732B1 (en) 2016-10-04 2024-01-02 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
US11936841B2 (en) 2016-10-04 2024-03-19 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
CN110073661B (zh) * 2017-01-06 2021-09-14 高通股份有限公司 用于编码和解码视频数据的方法和装置
CN110073661A (zh) * 2017-01-06 2019-07-30 高通股份有限公司 用于视频译码的多种类型树架构
CN111492655A (zh) * 2017-12-14 2020-08-04 交互数字Vc控股公司 用于视频压缩的基于纹理的分区决定
CN113508588A (zh) * 2019-01-02 2021-10-15 弗劳恩霍夫应用研究促进协会 编码和解码图像
CN115695803A (zh) * 2023-01-03 2023-02-03 宁波康达凯能医疗科技有限公司 一种基于极限学习机的帧间图像编码方法

Also Published As

Publication number Publication date
EP3157258B1 (en) 2020-08-05
EP3157258A1 (en) 2017-04-19
KR20170002460A (ko) 2017-01-06
EP3157258A4 (en) 2018-05-09
CN106664430A (zh) 2017-05-10
US20170118486A1 (en) 2017-04-27

Similar Documents

Publication Publication Date Title
WO2015190839A1 (ko) 임베디드 블록 파티셔닝을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
WO2018236031A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020218793A1 (ko) Bdpcm에 기반한 영상 코딩 방법 및 그 장치
WO2018236028A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020256389A1 (ko) Bdpcm 기반 영상 디코딩 방법 및 그 장치
WO2020246849A1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
WO2019017694A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2016129872A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2015076634A1 (en) Method and apparatus for encoding and decoding video signal using adaptive sampling
WO2020256344A1 (ko) 영상 코딩에서 변환 커널 세트를 나타내는 정보의 시그널링
WO2019022537A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020141879A1 (ko) 영상 코딩 시스템에서 서브 블록 기반 시간적 머지 후보를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
WO2020256346A1 (ko) 변환 커널 세트에 관한 정보에 대한 코딩
WO2021040400A1 (ko) 팔레트 모드 기반 영상 또는 비디오 코딩
WO2020235960A1 (ko) Bdpcm 에 대한 영상 디코딩 방법 및 그 장치
WO2017030418A1 (ko) 다중 그래프 기반 모델에 따라 최적화된 변환을 이용하여 비디오 신호를 인코딩/ 디코딩하는 방법 및 장치
WO2021118293A1 (ko) 필터링 기반 영상 코딩 장치 및 방법
WO2020242183A1 (ko) 광각 인트라 예측 및 변환에 기반한 영상 코딩 방법 및 그 장치
WO2020180043A1 (ko) Lmcs에 기반한 영상 코딩 방법 및 그 장치
WO2020145620A1 (ko) Mpm 리스트를 사용하는 인트라 예측 기반 영상 코딩 방법 및 장치
WO2016204479A1 (ko) 영상의 부호화/복호화 방법 및 이를 위한 장치
WO2020055208A1 (ko) 인트라 예측을 수행하는 영상 예측 방법 및 장치
WO2016200235A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2019199093A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2021201463A1 (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: 15807089

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20167032183

Country of ref document: KR

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2015807089

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015807089

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15318131

Country of ref document: US