WO2014007520A1 - 영상 부호화/복호화 방법 및 장치 - Google Patents

영상 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
WO2014007520A1
WO2014007520A1 PCT/KR2013/005864 KR2013005864W WO2014007520A1 WO 2014007520 A1 WO2014007520 A1 WO 2014007520A1 KR 2013005864 W KR2013005864 W KR 2013005864W WO 2014007520 A1 WO2014007520 A1 WO 2014007520A1
Authority
WO
WIPO (PCT)
Prior art keywords
current block
block
scale factor
transform
derived
Prior art date
Application number
PCT/KR2013/005864
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
Priority to CN202210015288.4A priority Critical patent/CN115052157A/zh
Application filed by 한국전자통신연구원, 경희대학교 산학협력단 filed Critical 한국전자통신연구원
Priority to CN202210015293.5A priority patent/CN115065823A/zh
Priority to CN202210014962.7A priority patent/CN115052156A/zh
Priority to CN202210015295.4A priority patent/CN115052159A/zh
Priority to US14/412,316 priority patent/US9843809B2/en
Priority to JP2015520053A priority patent/JP2015526013A/ja
Priority to CN201380042182.2A priority patent/CN104521232A/zh
Priority claimed from KR1020130077047A external-priority patent/KR102399795B1/ko
Priority to CN202210014961.2A priority patent/CN115052155A/zh
Priority to CN202210015290.1A priority patent/CN115052158A/zh
Priority to CN202210024647.2A priority patent/CN114786016A/zh
Publication of WO2014007520A1 publication Critical patent/WO2014007520A1/ko
Priority to US15/802,824 priority patent/US10045031B2/en
Priority to US16/024,300 priority patent/US10554983B2/en
Priority to US16/023,857 priority patent/US10187644B2/en
Priority to US16/024,190 priority patent/US10554982B2/en
Priority to US16/023,670 priority patent/US10187643B2/en
Priority to US16/023,983 priority patent/US10419765B2/en
Priority to US16/530,463 priority patent/US20190356924A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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 encoding / decoding of an image, and more particularly, to a scaling method and apparatus for transform coefficients.
  • HD high definition
  • UHD Ultra High Definition
  • HEVC High Efficiency Video Coding
  • 3D broadcasting and mobile communication networks can provide high quality video at lower frequencies than currently available.
  • the present invention provides an image encoding / decoding method and apparatus capable of improving encoding / decoding efficiency.
  • the present invention provides a method and apparatus for scaling transform coefficients (or residual signals) that can improve encoding / decoding efficiency.
  • the present invention provides a method and apparatus for quantization / dequantization for a transform skip block capable of improving encoding / decoding efficiency.
  • an image decoding method includes deriving a scale factor for the current block according to whether the current block is a transform skip block and performing scaling on the current block based on the scale factor.
  • the scale factor for the current block is derived based on the position of transform coefficients in the current block, and the transform skip block is a block to which no transform is applied to the current block, and an inverse transform is applied to the current block. It is specified based on information indicating whether or not to do so.
  • a basic scale factor may be derived regardless of the position of transform coefficients in the current block.
  • the basic scale factor may have a predetermined scale factor value, and the predetermined scale factor value may be 16.
  • the basic scale factor may have a different scale factor value depending on whether the current block uses a quantization matrix.
  • the basic scale factor may have a different scale factor value depending on whether the current block is a luminance block or a chrominance block.
  • a flag indicating whether a transform skip algorithm is used for a picture including the current block may be signaled through a picture parameter set (PPS).
  • PPS picture parameter set
  • the basic scale factor may include scale factor information on the luminance signal and the color difference signal.
  • a base scale factor is derived regardless of the position of transform coefficients in the current block. can do.
  • a scale factor for the current block when the current block is not a transform skip block, a scale factor for the current block may be derived using a quantization matrix based on the position of transform coefficients in the current block. Can be.
  • an image decoding apparatus includes a dequantization unit for deriving a scale factor for the current block according to whether the current block is a transform skip block and performing scaling for the current block based on the scale factor.
  • the scale factor for the current block is derived based on the position of transform coefficients in the current block, and the transform skip block is a block to which no transform is applied to the current block and a transform is applied to the current block. It may be specified based on the information indicating whether or not to.
  • a video encoding method includes deriving a scale factor for the current block according to whether the current block is a transform skip block and performing scaling on the current block based on the scale factor.
  • the scale factor for the current block is derived based on the position of transform coefficients in the current block, and the transform skip block is a block to which no transform is applied to the current block and a transform is applied to the current block. It may be specified based on the information indicating whether or not to.
  • a basic scale factor may be derived regardless of the position of transform coefficients in the current block.
  • the basic scale factor may have a predetermined scale factor value, and the predetermined scale factor value may be 16.
  • the basic scale factor may have a different scale factor value depending on whether the current block uses a quantization matrix.
  • the basic scale factor may have a different scale factor value depending on whether the current block is a luminance block or a chrominance block.
  • a flag indicating whether a transform skip algorithm is used for a picture including the current block may be signaled through a picture parameter set (PPS).
  • PPS picture parameter set
  • the basic scale factor may include scale factor information on the luminance signal and the color difference signal.
  • a base scale factor is derived regardless of the position of transform coefficients in the current block. can do.
  • a scale factor for the current block when the current block is not a transform skip block, a scale factor for the current block may be derived using a quantization matrix based on the position of transform coefficients in the current block. Can be.
  • an image encoding apparatus includes a quantization unit that derives a scale factor for the current block according to whether the current block is a transform skip block and performs scaling on the current block based on the scale factor.
  • the scale factor for the current block is derived based on the position of transform coefficients in the current block, and the transform skip block is a block to which no transform is applied to the current block and a transform is applied to the current block. It may be specified based on the information indicating whether or not to.
  • the block to which the transform skip algorithm is applied does not perform a transform / inverse transform process, and thus has a transform coefficient characteristic different from that of a block in which a transform / inverse transform process is performed. That is, when the scaling method applied to the block that has performed the conventional transform / inverse transform process is applied to the transform skip block as it is, encoding / decoding efficiency can be reduced. Accordingly, by applying the scale factor to the transform skip block irrespective of the position of the transform coefficient in the block, encoding and decoding efficiency can be increased.
  • FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 3 is a diagram schematically illustrating a segmentation structure of an image when an image is encoded.
  • FIG. 4 is a diagram illustrating a form of a prediction unit PU that a coding unit CU may include.
  • FIG. 5 is a diagram illustrating a form of a transform unit (TU) that a coding unit CU may include.
  • TU transform unit
  • FIG. 6 is a flowchart illustrating a scaling method for a residual signal (or transform coefficient) according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a scaling method for a residual signal (or transform coefficient) according to another embodiment of the present invention.
  • a component when a component is connected to or connected to another component, it may mean that the component is directly connected to or connected to the other component, and another component is present in between. It may mean that.
  • the content described as including a specific configuration in this specification does not exclude a configuration other than the configuration, it means that additional configuration may be included in the scope of the technical idea of the present invention or the present invention.
  • first and second may be used to describe various configurations, but the configurations are not limited by the terms. The terms are used to distinguish one configuration from another.
  • first configuration may be referred to as the second configuration, and similarly, the second configuration may also be referred to as the first configuration.
  • each component shown in the embodiments of the present invention are independently shown to represent different characteristic functions, and do not mean that each component is made of separate hardware or one software component unit.
  • each component is listed as a component for convenience of description, and at least two of the components may form one component, or one component may be divided into a plurality of components to perform a function.
  • the integrated and separated embodiments of each component are also included in the scope of the present invention without departing from the spirit of the present invention.
  • the components may not be essential components for performing essential functions in the present invention, but may be optional components for improving performance.
  • the present invention can be implemented including only the components essential for implementing the essentials of the present invention except for the components used for improving performance, and the structure including only the essential components except for the optional components used for improving performance. Also included in the scope of the present invention.
  • a unit means a unit of image encoding and decoding.
  • a coding or decoding unit refers to a divided unit when an image is divided into subdivided units and encoded or decoded.
  • Block Macro Block (MB), Coding Unit (CU), Prediction Unit (PU), Transform Unit (TU), Coding Block (CB), It may be called a prediction block (PB), a transform block (TB), or the like.
  • PB prediction block
  • TB transform block
  • One unit may be divided into smaller sub-units.
  • a block refers to an MxN array of samples, and M and N have positive integer values. Blocks can often refer to two-dimensional arrays.
  • Transform Unit is a basic unit when performing encoding / decoding of residual signal such as transform, inverse transform, quantization, inverse quantization, transform coefficient encoding / decoding, and one transform unit is divided. Can be divided into a number of small conversion units. In this case, when a residual signal exists in the form of a block, it may be referred to as a residual block.
  • the quantization matrix refers to a matrix used in the quantization or inverse quantization process to improve the subjective or objective image quality of an image. Quantization matrices are also called scaling lists.
  • the quantization matrix can be divided into a default matrix, a non-default matrix, and a flat matrix.
  • the base matrix may mean a predetermined quantization matrix defined in the encoder and the decoder.
  • the non-base matrix may be a quantization matrix that is not previously defined in the encoder and the decoder and is transmitted / received by the user.
  • the planar matrix may mean a matrix in which all elements in the matrix have the same value.
  • Scaling refers to a process of multiplying a transform coefficient level by a factor and generating a transform coefficient as a result. Scaling is also known as dequantization.
  • a transform coefficient refers to a coefficient value generated after performing a transform.
  • a quantized transform coefficient level obtained by applying quantization to a transform coefficient is also collectively used as a transform coefficient.
  • the quantization parameter refers to a value used when scaling transform coefficient levels in quantization and inverse quantization.
  • the quantization parameter may be a value mapped to a quantization step size.
  • a parameter set corresponds to header information of a structure in a bitstream, and refers to a meaning that collectively refers to a sequence parameter set, a picture parameter set, an adaptation parameter set, and the like.
  • FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
  • the image encoding apparatus 100 may include a motion predictor 111, a motion compensator 112, an intra predictor 120, a switch 115, a subtractor 125, a transformer 130, A quantization unit 140, an entropy encoding unit 150, an inverse quantization unit 160, an inverse transform unit 170, an adder 175, a filter unit 180, and a reference image buffer 190 are included.
  • the image encoding apparatus 100 may encode an input image in an intra mode or an inter mode and output a bitstream.
  • the switch 115 may be switched to intra, and in the inter mode, the switch 115 may be switched to inter.
  • Intra prediction means intra prediction and inter prediction means inter prediction.
  • the image encoding apparatus 100 may generate a prediction block for an input block of an input image and then encode a residual between the input block and the prediction block. In this case, the input image may mean an original picture.
  • the intra predictor 120 may generate a prediction block by performing spatial prediction using pixel values of blocks that are already encoded / decoded around the current block.
  • the motion predictor 111 may obtain a motion vector by searching for a region that best matches an input block in the reference image stored in the reference picture buffer 190 during the motion prediction process.
  • the motion compensator 112 may generate a prediction block by performing motion compensation using the motion vector.
  • the motion vector is a two-dimensional vector used for inter prediction, and may indicate an offset between the current encoding / decoding target image and the reference image.
  • the subtractor 125 may generate a residual block by the difference between the input block and the generated prediction block.
  • the transform unit 130 may output a transform coefficient by performing a transform on the residual block.
  • the quantization unit 140 may quantize the input transform coefficient according to a quantization parameter or a quantization parameter, and output a quantized coefficient.
  • the entropy encoder 150 may output a bit stream by performing entropy encoding based on values calculated by the quantizer 140 or encoding parameter values calculated in the encoding process.
  • entropy encoding When entropy encoding is applied, a small number of bits are assigned to a symbol having a high probability of occurrence and a large number of bits are assigned to a symbol having a low probability of occurrence, thereby representing bits for encoding symbols. The size of the heat can be reduced. Therefore, compression performance of image encoding may be increased through entropy encoding.
  • the entropy encoder 150 may use an encoding method such as Exponential-Golomb, Context-Adaptive Variable Length Coding (CAVLC), or Context-Adaptive Binary Arithmetic Coding (CABAC) for entropy encoding.
  • an encoding method such as Exponential-Golomb, Context-Adaptive Variable Length Coding (CAVLC), or Context-Adaptive Binary Arithmetic Coding (CABAC) for entropy encoding.
  • the image encoding apparatus 100 Since the image encoding apparatus 100 according to the embodiment of FIG. 1 performs inter prediction encoding, that is, inter prediction encoding, the currently encoded image needs to be decoded and stored to be used as a reference image. Accordingly, the quantized coefficients are inversely quantized by the inverse quantizer 160 and inversely transformed by the inverse transformer 170. The inverse quantized and inverse transformed coefficients are added to the prediction block by the adder 175 and a reconstruction block is generated.
  • the reconstruction block passes through the filter unit 180, and the filter unit 180 applies at least one or more of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the reconstructed block or reconstructed picture. can do.
  • the filter unit 180 may be referred to as an adaptive in-loop filter.
  • the deblocking filter can remove block distortion generated at the boundary between blocks.
  • SAO can add an appropriate offset to the pixel value to compensate for coding errors.
  • the ALF may perform filtering based on a value obtained by comparing the reconstructed image with the original image.
  • the reconstructed block that has passed through the filter unit 180 may be stored in the reference picture buffer 190.
  • FIG. 2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
  • the image decoding apparatus 200 may include an entropy decoder 210, an inverse quantizer 220, an inverse transformer 230, an intra predictor 240, a motion compensator 250, and an adder 255. ), A filter unit 260 and a reference picture buffer 270.
  • the image decoding apparatus 200 may receive a bitstream output from the encoder and perform decoding in an intra mode or an inter mode, and output a reconstructed image, that is, a reconstructed image.
  • the switch In the intra mode, the switch may be switched to intra, and in the inter mode, the switch may be switched to inter.
  • the image decoding apparatus 200 may obtain a reconstructed residual block from the received bitstream, generate a prediction block, and then add the reconstructed residual block and the prediction block to generate a reconstructed block, that is, a reconstruction block. .
  • the entropy decoder 210 may entropy decode the input bitstream according to a probability distribution to generate symbols including symbols in the form of quantized coefficients.
  • the quantized coefficients are inversely quantized by the inverse quantizer 220 and inversely transformed by the inverse transformer 230, and as a result of the inverse quantization / inverse transformation of the quantized coefficients, a reconstructed residual block may be generated.
  • the intra predictor 240 may generate a prediction block by performing spatial prediction using pixel values of blocks that are already decoded around the current block.
  • the motion compensator 250 may generate a predictive block by performing motion compensation using the reference vector stored in the motion vector and the reference picture buffer 270.
  • the residual block and the prediction block may be added through the adder 255, and the added block may pass through the filter unit 260.
  • the filter unit 260 may apply at least one or more of the deblocking filter, SAO, and ALF to the reconstructed block or the reconstructed picture.
  • the filter unit 260 may output a reconstructed image, that is, a reconstructed image.
  • the reconstructed picture may be stored in the reference picture buffer 270 and used for inter prediction.
  • FIG. 3 is a diagram schematically illustrating a segmentation structure of an image when an image is encoded.
  • HEVC High Efficiency Video Coding
  • coding is performed by a coding unit (CU) to efficiently segment an image.
  • CU coding unit
  • an image 300 is sequentially divided into units of a largest coding unit (LCU) (hereinafter referred to as an LCU), and then a division structure is determined by an LCU unit.
  • the partition structure refers to a distribution of coding units (hereinafter, referred to as CUs) for efficiently encoding an image in the LCU 310, which is reduced to one CU by half of its horizontal and vertical sizes. It may be determined according to whether to split into CUs.
  • the partitioned CU may be recursively divided into four CUs whose horizontal size and vertical size are reduced by half with respect to the CU partitioned in the same manner.
  • the CU may be recursively divided up to a predefined depth.
  • Depth information is information indicating the size of a CU, and is stored for each CU.
  • the depth of the LCU may be 0, and the depth of the smallest coding unit (SCU) may be a predefined maximum depth.
  • the LCU is a coding unit having a maximum coding unit size as described above, and the smallest coding unit (SCU) is a coding unit having a minimum coding unit size.
  • an LCU having a minimum depth of 0 may be 64x64 pixels, and an SCU having a maximum depth of 3 may be 8x8 pixels.
  • a 64x64 pixel CU (LCU) may be represented by depth 0, a 32x32 pixel CU by 1, a 16x16 pixel CU by 2, and an 8x8 pixel CU (SCU) by 3 by depth.
  • information on whether to partition a specific CU may be expressed through partition information of 1 bit per CU.
  • This partitioning information may be included in all CUs except the SCU. For example, when partitioning a CU, 0 may be stored in partitioning information, and when partitioning a CU, 1 may be stored in partitioning information.
  • a CU partitioned from an LCU may include a prediction unit (PU) or a prediction block (PB) that is a basic unit for prediction and a transform unit (TU) or Transform Block (TB) that is a basic unit for transformation. Can be.
  • PU prediction unit
  • PB prediction block
  • TU transform unit
  • TB Transform Block
  • FIG. 4 is a diagram illustrating a form of a prediction unit PU that a coding unit CU may include.
  • the prediction unit (hereinafter, referred to as PU) is a basic unit for performing prediction, and is encoded in any one of a skip mode, an inter mode, and an intra mode, and is partitioned into various forms according to each mode. Can be.
  • the 2N ⁇ 2N mode 410 having the same size as the CU may be supported without a partition in the CU.
  • nRx2N mode 445 eight partitioned forms within a CU, such as 2Nx2N mode 410, 2NxN mode 415, Nx2N mode 420, NxN mode 425, 2NxnU mode 430, 2NxnD mode 435 nLx2N mode 440 and nRx2N mode 445 may be supported.
  • the 2Nx2N mode 410 and the NxN mode 425 may be supported in the CU.
  • FIG. 5 is a diagram illustrating a form of a transform unit (TU) that a coding unit CU may include.
  • TU transform unit
  • the transform unit (hereinafter, referred to as TU) is a basic unit used for spatial transform and quantization / dequantization (scaling) process in a CU.
  • the TU may have a square or rectangular shape.
  • a CU that is no longer split among CUs partitioned from the LCU may be split into one or more TUs.
  • the partition structure of the TU may be a quad-tree structure.
  • one CU 510 may be divided into one or more times according to a quadtree structure and configured as TUs of various sizes.
  • intra prediction (hereinafter, referred to as intra prediction) encoding may be performed as in H.264 / AVC.
  • an intra prediction mode (or prediction directionality) of the current block may be derived and encoded from a neighboring block located near the current block.
  • the prediction image for the signal obtained by performing the prediction based on the intra prediction mode may have a difference value from the original image.
  • the difference image having a difference between the predicted image and the original image may be entropy encoded through frequency domain transformation and quantization.
  • an integer transform, a discrete cosine transform (DCT), an integer discrete sine transform (DST), or an intra prediction mode-dependent DCT / DST block may be used. Depending on the size, it can be applied selectively and adaptively.
  • a transform skip algorithm may be applied to increase coding efficiency in screen contents such as a document image or a presentation image of PowerPoint.
  • the encoder When the transform skip algorithm is applied, the encoder performs quantization of a residual image (residual block) having a difference value between an original image and a predicted image without performing a frequency conversion process, and performs entropy encoding on the residual block.
  • the decoder entropy decodes the residual block and performs dequantization (scaling) to generate a reconstructed residual block. Therefore, the block to which the transform skip algorithm is applied skips the frequency transform / inverse transform process.
  • a scale factor may be differently applied according to the position of transform coefficients in a block to improve subjective quality of an image.
  • SPS sequence parameter set
  • PPS picture parameter set
  • a scaling process for transform coefficients may be performed as follows.
  • the input here is:
  • cIdx is '0', it means a luminance signal. If cIdx is '1' or cIdx is '2', it means a color difference signal. In addition, when cIdx is '1', it means Cb in the color difference signal, and when cIdx is '2', Cr means in the color difference signal.
  • BitDepth Y and BitDepth C mean the number of bits (eg, 8 bits) of the sample for the current image.
  • Equation 1 The array levelScale [] for the scaling variables is shown in Equation 1 below.
  • the scaled transform coefficient is calculated by the following procedure.
  • the scale factor m ij is derived through the following process.
  • Equation 3 m ij is derived as in Equation 3 below.
  • SizeID is derived through Table 1 according to the size of the transform block
  • RefMatrixID and trafoType are derived from Equations 4 and 5, respectively.
  • scaling_list_pred_matrix_id_delta is signaled through a sequence parameter set (SPS) or a picture parameter set (PPS) of a bitstream.
  • Table 1 shows an example of a SizeID value according to the size of a transform block.
  • the block to which the transform skip algorithm is applied (hereinafter, referred to as a transform skip block) does not perform a frequency conversion process. Therefore, the block in which the conventional frequency conversion process is performed and the transform skip block may have different transform coefficient characteristics. That is, when the scaling method applied to the block on which the conventional frequency conversion process is performed is applied to the transform skip block as it is, the coding efficiency can be reduced.
  • the present invention provides a method for performing scaling in consideration of a case of a transform skip block.
  • a scale factor derived from the quantization matrix according to the position of transform coefficients in a block May be applied differently.
  • This method uses the property that the energy of the residual block is compressed to the upper left position (low frequency region) of the block during transform of the block, so that it is generally applied to the high frequency region which is less sensitive to the human eye than the low frequency region sensitive to the human eye.
  • Quantization is performed with a larger quantization step size. In this way, subjective image quality can be improved for the area sensitive to the human eye during image encoding.
  • the residual block does not perform frequency domain transform / inverse transform and thus is not compressed toward the low frequency domain within the block.
  • the quantization / dequantization method used in the existing frequency domain is applied, distortion in an image or a block becomes severe. Therefore, when a quantization matrix is used in an image, a scaling (quantization / dequantization) method for minimizing distortion in an image or a block is required for a block (transform skip block) that does not perform frequency domain transform / inverse transform.
  • a scaling (quantization / dequantization) method for minimizing distortion in an image or a block is required for a block (transform skip block) that does not perform frequency domain transform / inverse transform.
  • a quantization matrix is not applied to a transform skip block. This method can apply the same basic scale factor regardless of the position of transform coefficients in a block.
  • Example 1 A method and apparatus for applying the same scale factor to a transform skip block regardless of the position of transform coefficients in the block
  • FIG. 6 is a flowchart illustrating a scaling method for a residual signal (or transform coefficient) according to an embodiment of the present invention.
  • the method of FIG. 6 may be performed by the encoding apparatus of FIG. 1 or the decoding apparatus of FIG. 2 described above. More specifically, it may be performed by the quantization unit or inverse quantization unit of FIG. 1 or 2. In the embodiment of FIG. 6, for convenience of description, the method of FIG. 6 is described as being performed by the encoding apparatus, but the same may be applied to the decoding apparatus.
  • m ij is the current block to be applied during the scaling for the current residual signal (or transform coefficient of the block quantization or de-quantization) may be derived in accordance with whether the conversion skipped block.
  • the encoding apparatus determines whether the current block is a transform skip block (S600).
  • whether the current block is a transform skip block may be determined based on information indicating whether the transform skip block is a transform skip block.
  • the information indicating whether or not the transform skip block is a flag (transSkipFlag).
  • This flag transSkipFlag value can be derived by entropy decoding information about the transform skip block in the bitstream. If the current block is a transform skip block, the transSkipFlag value may be 1, otherwise the transSkipFlag value may be 0.
  • the encoding apparatus derives the scale factor m ij regardless of the position of the residual signal (or transform coefficient) in the current block (S610). .
  • the scale factor m ij may be set to a predetermined basic scale factor value T.
  • the predetermined basic scale factor value T may be sixteen.
  • the encoder is a current block within the residual signal scale factor based on the location of (or transform coefficient) (m ij) ( S620).
  • the scale factor m ij may be set differently according to the position of the residual signal (or transform coefficient) in the current block by using the quantization matrix, and may be derived as shown in Equation 7 as shown in FIG. 6. have.
  • ScalingFactor is an array that stores scale factors.
  • SizeID may be a value for indicating the size of the current block (transform block or quantization matrix), and a SizeID value may be derived according to the size of the current block (transform block) as shown in Table 1 above.
  • RefMatrixID and trafoType may be derived from Equations 8 and 9, respectively.
  • nW means the width of the current block.
  • the MatrixID value may mean the type of quantization matrix according to the prediction mode and the color component, and for example, the MatrixID value may be derived as shown in Table 2 below.
  • scaling_list_pred_matrix_id_delta is signaled through a sequence parameter set (SPS) or picture parameter set (PPS) of a bitstream.
  • SPS sequence parameter set
  • PPS picture parameter set
  • nW means the width of the current block
  • nH means the height of the current block
  • Table 2 shows MatrixID values according to prediction modes and color components.
  • FIG. 7 is a flowchart illustrating a scaling method for a residual signal (or transform coefficient) according to another embodiment of the present invention.
  • the method of FIG. 7 may be performed by the encoding apparatus of FIG. 1 or the decoding apparatus of FIG. 2 described above. More specifically, it may be performed by the quantization unit or inverse quantization unit of FIG. 1 or 2. In the embodiment of FIG. 7, for convenience of description, the method of FIG. 7 is described as being performed by the encoding apparatus. However, the same may be applied to the decoding apparatus.
  • the scale factor (m ij ) applied when scaling (quantization or inverse quantization) of the residual signal (or transform coefficient) of the current block depends on whether the current block is a transform skip block and whether a quantization matrix is used. Can be derived accordingly.
  • the encoding apparatus determines whether the current block uses a quantization matrix and whether the current block is a transform skip block (S700).
  • whether the current block uses the quantization matrix may be determined based on information indicating whether the quantization matrix is used.
  • the information indicating whether the quantization matrix is used may be a flag (scaling_list_enable_flag). This flag scaling_list_enable_flag value can be derived by entropy decoding information about the use of the quantization matrix in the bitstream. If the current block uses a quantization matrix, the scaling_list_enable_flag value is 1, otherwise the scaling_list_enable_flag value is 0.
  • whether the current block is a transform skip block may be determined based on information indicating whether the transform skip block is a transform skip block.
  • the information indicating whether or not the transform skip block is a flag (transSkipFlag). This flag transSkipFlag value can be derived by entropy decoding information about the transform skip block in the bitstream. If the current block is a transform skip block, the transSkipFlag value may be 1, otherwise the transSkipFlag value may be 0.
  • the encoding apparatus scales the scale factor regardless of the position of the residual signal (or transform coefficient) in the current block.
  • (m ij ) is derived (S710).
  • the scale factor m ij may be set to a predetermined basic scale factor value T.
  • the predetermined basic scale factor value T may be sixteen.
  • the encoding apparatus derives the scale factor m ij based on the position of the residual signal (or transform coefficient) in the current block (S720).
  • the scale factor m ij may be set differently according to the position of the residual signal (or transform coefficient) in the current block by using the quantization matrix, and may be derived as shown in Equation S720 of FIG. 7. Since the scale factor m ij derived through the equation shown in step S720 is the same as described with reference to FIG. 6 (step S620), the description is omitted here.
  • the current block when the current block (current encoding or decoding target block) is a transform skip block, the current block (transform skip block) may be used regardless of the position of a coefficient (or signal) in the current block.
  • a scale factor with a predetermined value T is applied.
  • the scale factor value according to the embodiment of the present invention may be set differently according to various coding parameters applied to the corresponding block.
  • the scale factor value to be applied to the block may be set as follows according to a parameter (for example, scaling_list_enable_flag) indicating whether to use a quantization matrix.
  • a parameter for example, scaling_list_enable_flag
  • the T1 and / or T2 values may be determined and signaled by the encoder or may use a predetermined value.
  • the decoder can parse the bitstream to obtain T1 and / or T2 values.
  • the scale factor value to be applied to the block may be set as follows according to information (for example, color component index cIdx) that can induce color characteristics of the signal of the block.
  • the color component index cIdx represents a luminance signal (Y signal) or a color difference signal (Cb signal or Cr signal) according to the value.
  • Example 1 Set the default scale factor value to 'Ty' or 'Tc' depending on whether the signal in the block is a brightness signal (luminance signal) or not. For example, if it is a brightness signal, set the default scale factor value to 'Ty'; if not, set the default scale factor value to 'Tc'.
  • Example 2 Set the default scale factor for each color component in the block. For example, in the case of a luminance signal (Y signal), the basic scale factor value is set to 'Ty', and if the color difference signal is a Cb signal, the basic scale factor value is set to 'Tcb', and the color scale signal is a Cr signal, the basic scale Set factor value to 'Tcr'.
  • the Ty, Tc, Tcb and / or Tcr values may be determined and signaled by the encoder or may use a predetermined value.
  • the decoder may parse the bitstream to obtain Ty, Tc, Tcb and / or Tcr values.
  • the above-described methods for determining the basic scale factor according to the encoding parameter according to the embodiment of the present invention may be applied independently or in combination, but for the same transform skip block, the coefficients (or the coefficients within the block (the encoding or decoding target block) may be applied.
  • the same scale factor value should always be applied regardless of the position of the signal).
  • the input here is:
  • cIdx is '0', it means a luminance signal. If cIdx is '1' or cIdx is '2', it means a color difference signal. In addition, when cIdx is '1', it means Cb in the color difference signal, and when cIdx is '2', Cr means in the color difference signal.
  • BitDepth Y and BitDepth C mean the number of bits (eg, 8 bits) of the sample for the current image.
  • the scaled transform coefficient is calculated by the following procedure.
  • the scale factor m ij is derived through the following process.
  • m ij is derived as in Equation 11 below.
  • Equation 12 m ij is derived as in Equation 12 below.
  • SizeID is derived through Table 1 according to the size of the block
  • RefMatrixID and trafoType are derived from Equations 13 and 14, respectively.
  • scaling_list_pred_matrix_id_delta is signaled through a sequence parameter set (SPS) of a bitstream.
  • the scaled transform coefficient d ij is then derived from the following equation (15).
  • the transform coefficient scaled through the scaling process as described above performs an inverse transform process.
  • the current transform block to which the transform skip is applied does not perform the inverse transform process but performs only the following 'shift' operation process.
  • d ij is an array of scaled transform coefficients
  • r ij is an array of residual blocks obtained by inverse transforming the scaled transform coefficients.
  • a portion of the transformation process for scaled transform coefficients may be performed as follows.
  • the input here is:
  • cIdx is '0', it means a luminance signal. If cIdx is '1' or cIdx is '2', it means a color difference signal. In addition, when cIdx is '1', it means Cb in the color difference signal, and when cIdx is '2', Cr means in the color difference signal.
  • the encoding mode (PredMode) for the current block is an intra prediction mode (Intra)
  • the Log2 (nW * nH) value is equal to '4' and the cIdx value is '0'
  • the intra prediction direction mode (intra) of the luminance signal According to the prediction mode, the variables horizTrType and vertTrType are obtained through Table 3 below. If not, the variables horizTrType and vertTrType are set to '0'.
  • Table 3 shows an example of horizTrType and vertTrType values according to the intra prediction mode.
  • the residual signal for the current block is obtained in the following order.
  • the inverse transform process is performed on scaled transform coefficients with the variables horizTrType and vertTrType.
  • the size of the current block (nW, nH), the scaled transform coefficient array (nWxnH array d), and the variable horizTrType are input to perform an inverse transform in the horizontal direction to output the array (nWxnH array e).
  • BitDepth means the number of bits (eg, 8 bits) of the sample for the current image.
  • the reconstructed residual block may be generated by performing the scaling process of the transform coefficients and the transform process for the scaled transform coefficients as described above.
  • the reconstructed block may be generated by adding the predicted block generated through intra prediction or inter prediction to the reconstructed residual block.
  • the reconstruction block may be a block to which the loop filter is applied or a block to which the loop filter is not applied.
  • the present invention provides a method for signaling a base scale factor derived according to whether or not a transform skip block.
  • the base scale factor derived according to whether it is a transform skip block may be signaled through a sequence parameter set (SPS).
  • SPS sequence parameter set
  • Table 4 shows an example of SPS syntax for signaling basic scale factor information according to an embodiment of the present invention.
  • transform_skip_enabled_flag indicates whether to use a transform skip algorithm for the current sequence.
  • flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, flat_scale_factor_cr_minus16 are signaled.
  • these values may be encoded (se (v)) in a form having a positive or negative sign.
  • these values may be encoded (ue (v)) in the form of 0 and a positive sign.
  • flat_scale_factor_y_minus16 means a scale factor for the luminance signal. For example, when the flat_scale_factor_y_minus16 value is '0', the scale factor for the luminance signal is '16' because '16' is added to the '0'.
  • flat_scale_factor_cb_minus16 means a scale factor for the color difference signal Cb
  • flat_scale_factor_cr_minus16 means a scale factor for the color difference signal Cr.
  • the scale factor for the luminance signal or the chrominance signal may be derived as in Equations 18 to 20.
  • the basic scale factor FlatScalingFactor [cIdx] stores scale factors for the luminance signal and the color difference signal. For example, if the color component index cIdx is 0, a luminance Y signal, a Cb color difference signal, and a Cr color difference signal may be indicated. Also, the FlatScalingFactor [cIdx] value may have a range of arbitrary values. For example, an 8-bit signal may have a value of '-15' to '255-16'.
  • the basic scale factor for the luminance signal may be derived as shown in Equation 18.
  • the basic scale factor for the Cb chrominance signal may be derived as shown in Equation 19.
  • the basic scale factor for the Cr color difference signal may be derived as shown in Equation 20.
  • the scaling process for transform coefficients may be performed as follows by reflecting a method of signaling a basic scale factor derived according to whether the transform skip block is a transform skip block according to an embodiment of the present invention.
  • the input here is:
  • a transSkipFlag value of 1 indicates that transform skip has been applied to the current block.
  • a transSkipFlag value of 0 indicates that no transform skip has been applied to the current block.
  • cIdx is '0', it means a luminance signal. If cIdx is '1' or cIdx is '2', it means a color difference signal. In addition, when cIdx is '1', it means Cb in the color difference signal, and when cIdx is '2', Cr means in the color difference signal.
  • BitDepth Y and BitDepth C mean the number of bits (eg, 8 bits) of the sample for the current image.
  • the scaled transform coefficient is calculated by the following procedure.
  • the scale factor m ij is derived through the following process.
  • SizeID is derived through Table 1 according to the size of the block
  • RefMatrixID and trafoType are derived from Equations 24 and 25, respectively.
  • scaling_list_pred_matrix_id_delta is signaled through a sequence parameter set (SPS) of a bitstream.
  • the basic scale factor derived according to whether or not the transform skip block according to an embodiment of the present invention may be signaled through the PPS (Picture Parameter Set) or the slice header (SliceHeader) as well as the above-described SPS. It may also be signaled in CU or TU.
  • PPS Picture Parameter Set
  • SliceHeader slice header
  • the flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, and flat_scale_factor_cr_minus16 values signaled by the above-described SPS may be updated and used in the PPS (or SliceHeader, CU, TU).
  • Table 5 shows an example of PPS syntax for signaling basic scale factor information according to another embodiment of the present invention.
  • transform_skip_enabled_flag indicates whether to use a transform skip algorithm for the current picture. If a transform skip algorithm is used, the pps_flat_scaling_factor_present_flag value is signaled.
  • the signaled flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, flat_scale_factor_cr_minus16 values are used as the scale factor for the transform skip block of the current picture. At this time, these values may continue to be used until they are not changed again. Alternatively, these values can be applied only to the current picture and the scale factor values used in the SPS can be applied to the next picture.
  • flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, and flat_scale_factor_cr_minus16 may be encoded (se (v)) in a form having a positive or negative sign.
  • these values may be encoded (ue (v)) in the form of 0 and a positive sign.
  • the flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, and flat_scale_factor_cr_minus16 values may be signaled with different values for the luminance signal and the chrominance signal, respectively.
  • the flat_scale_factor_y_minus16 value may be used to signal the scale factor for the luminance signal
  • the flat_scale_factor_cb_minus16 value may be used to signal the scale factor for the Cb color difference signal
  • the flat_scale_factor_cr_minus16 value may be used to signal the scale factor for the Cr color difference signal.
  • the signal may be signaled using flat_scale_factor_y_minus16 as the scale factor for the luminance signal and flat_scale_factor_cb_cr_minus16 as the scale factor for the color difference signal.
  • the signal may be signaled using one value flat_scale_factor_y_cb_cr_minus16 as a scale factor for the luminance signal and the color difference signal.
  • the flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, flat_scale_factor_cr_minus16 values signaled by the SPS or PPS may be updated by the SliceHeader (or CU, TU).
  • Table 6 shows an example of a slice header syntax for signaling basic scale factor information according to another embodiment of the present invention.
  • transform_skip_enabled_flag indicates whether to use a transform skip algorithm for the current slice. If a transform skip algorithm is used, the flat_scaling_factor_override_flag value is signaled.
  • flat_scaling_factor_override_flag '0'
  • flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16 and flat_scale_factor_cr_minus16 applied in the above-described SPS or PPS are used as scale factors for the transform skip block.
  • the flat_scaling_factor_override_flag value is '1'
  • the corresponding values are signaled to update the flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, and flat_scale_factor_cr_minus16 values applied in the above-described SPS or PPS.
  • the flat_scale_factor_y_delta, flat_scale_factor_cb_delta, and flat_scale_factor_cr_delta values are used as scale factors for transform skip blocks of the current slice.
  • flat_scale_factor_y_delta, flat_scale_factor_cb_delta, and flat_scale_factor_cr_delta values may be encoded (se (v)) in a form having a positive or negative sign.
  • these values may be encoded (ue (v)) in the form of 0 and a positive sign.
  • the flat_scale_factor_y_delta, flat_scale_factor_cb_delta, and flat_scale_factor_cr_delta values may be signaled with different values for the luminance signal and the chrominance signal, respectively.
  • the flat_scale_factor_y_delta value may be used to signal the scale factor for the luminance signal
  • the flat_scale_factor_cb_delta value may be used to signal the scale factor for the Cb color difference signal
  • the flat_scale_factor_cr_delta value may be used to signal the scale factor for the Cr color difference signal.
  • the signal may be signaled using flat_scale_factor_y_delta as the scale factor for the luminance signal and flat_scale_factor_cb_cr_delta as the scale factor for the color difference signal.
  • the signal may be signaled using one flat_scale_factor_y_cb_cr_delta as a scale factor for the luminance signal and the color difference signal.
  • a basic scale factor may be derived as shown in Equations 27 to 29 by using the flat_scale_factor_y_delta, flat_scale_factor_cb_delta, and flat_scale_factor_cr_delta values signaled as described above.
  • the basic scale factor FlatScalingFactor [cIdx] stores scale factors for the luminance signal and the color difference signal. For example, if the color component index cIdx is 0, a luminance Y signal, a Cb color difference signal, and a Cr color difference signal may be indicated. Also, the FlatScalingFactor [cIdx] value may have a range of arbitrary values. For example, an 8-bit signal may have a value of '-15' to '255-16'.
  • the basic scale factor for the luminance signal may be derived as shown in Equation 27 using flat_scale_factor_y_delta.
  • the basic scale factor for the Cb color difference signal may be derived as shown in Equation 28 using flat_scale_factor_cb_delta.
  • the basic scale factor for the Cr color difference signal may be derived as shown in Equation 29 using flat_scale_factor_cr_delta.
  • the above-described embodiments may vary the application range according to the block size or CU depth or TU depth.
  • the variable for determining the coverage (for example, the size or depth information of the block) may be set so that the encoder and the decoder use a predetermined value, or may cause the encoder to use a predetermined value according to a profile or level. If a value is described in the bitstream, the decoder may obtain this value from the bitstream and use it.
  • Method A applies only to a depth above a given depth
  • method B applies only to a given depth below
  • method C applies only to a given depth.
  • Table 7 shows an example of a method of determining a range to apply the methods of the present invention according to the CU (or TU) depth.
  • the notation 'O' means applying the method to the corresponding depth of the CU (or TU)
  • the notation 'X' means not applying the method to the corresponding depth of the CU (or TU).
  • the method A, method B, method C can be applied to the embodiments of the present invention.
  • the embodiments of the present invention are not applied to all depths of a CU (or TU), they may be indicated using any indicator (eg, a flag), and one greater than the maximum value of the CU depth is applied. It may be expressed by signaling with a CU depth value indicating a range.
  • any indicator eg, a flag
  • the method of determining the range to which the methods of the present invention are applied according to the depth of the above-described CU (or TU) may be applied differently according to the size of the luminance block and the chrominance block, and also applied differently to the luminance image and the chrominance image. can do.
  • Table 8 is an example schematically showing a combination of methods for determining an application range according to sizes of a luminance block and a chrominance block.
  • the present invention Embodiment 1 of the present invention can be applied to a luminance signal, a color difference signal, and a horizontal signal and a vertical signal.
  • the methods are described based on a flowchart as a series of steps or blocks, but the present invention is not limited to the order of steps, and certain steps may occur in a different order or at the same time than other steps described above. Can be. Also, one of ordinary skill in the art appreciates that the steps shown in the flowcharts are not exclusive, that other steps may be included, or that one or more steps in the flowcharts may be deleted without affecting the scope of the present invention. I can understand.

Abstract

영상 부호화/복호화 방법 및 장치가 개시된다. 상기 영상 복호화 방법은 현재 블록이 변환 스킵 블록인지 여부에 따라 상기 현재 블록에 대한 스케일 팩터를 도출하는 단계 및 상기 스케일 팩터를 기반으로 상기 현재 블록에 대한 스케일링을 수행하는 단계를 포함하며, 상기 현재 블록에 대한 스케일 팩터는 상기 현재 블록 내 변환 계수의 위치를 기반으로 도출되며, 상기 변환 스킵 블록은 상기 현재 블록에 대해 변환을 적용하지 않은 블록이며, 상기 현재 블록에 대해 역변환을 적용할지 여부를 나타내는 정보를 기반으로 특정된다.

Description

영상 부호화/복호화 방법 및 장치
본 발명은 영상의 부호화/복호화에 관한 것으로, 보다 상세하게는 변환 계수에 대한 스케일링 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 해상도(1280x1024 혹은 1920x1080)를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되고 있다. 이에 따라 많은 사용자들이 고해상도, 고화질의 영상에 많이 익숙해지고 있으며 그에 발맞춰서 많은 기관에서는 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 동영상 표준화 단체들은 보다 높은 해상도, 고화질의 영상에 대한 압축기술의 필요성을 인식하게 되었다. 또한 현재 HDTV, 휴대전화, 블루레이 플레이어에 사용되는 H.264/AVC보다 높은 압축 효율을 통해 동일한 화질을 유지하면서도 주파수 대역이나 저장 측면에서 많은 이득을 얻을 수 있는 새로운 표준이 절실한 실정이다.
현재 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)는 공동으로 차세대 비디오 코덱인 HEVC(High Efficiency Video Coding)를 표준화하고 있으며, UHD 영상까지 포함한 영상을 H.264/AVC 대비 2배의 압축효율로 부호화를 하는 것을 목표로 하고 있다. 이는 HD, UHD 영상뿐만 아니라 3D 방송 및 이동통신망에서도 현재보다 낮은 주파수로 고화질의 영상을 제공할 수 있다.
본 발명은 부호화/복호화 효율을 향상시킬 수 있는 영상 부호화/복호화 방법 및 장치를 제공한다.
본 발명은 부호화/복호화 효율을 향상시킬 수 있는 변환 계수(혹은 잔여 신호)의 스케일링 방법 및 장치를 제공한다.
본 발명은 부호화/복호화 효율을 향상시킬 수 있는 변환 스킵 블록에 대한 양자화/역양자화 방법 및 장치를 제공한다.
본 발명의 일 양태에 따르면, 영상 복호화 방법이 제공된다. 상기 영상 복호화 방법은 현재 블록이 변환 스킵 블록인지 여부에 따라 상기 현재 블록에 대한 스케일 팩터를 도출하는 단계 및 상기 스케일 팩터를 기반으로 상기 현재 블록에 대한 스케일링을 수행하는 단계를 포함한다.
상기 현재 블록에 대한 스케일 팩터는, 상기 현재 블록 내 변환 계수의 위치를 기반으로 도출되며, 상기 변환 스킵 블록은, 상기 현재 블록에 대해 변환을 적용하지 않은 블록이며, 상기 현재 블록에 대해 역변환을 적용할지 여부를 나타내는 정보를 기반으로 특정된다.
상기 현재 블록에 대한 스케일 팩터를 도출하는 단계에서는, 상기 현재 블록이 변환 스킵 블록일 경우, 상기 현재 블록 내 변환 계수의 위치에 상관없이 기본 스케일 팩터를 도출할 수 있다.
상기 기본 스케일 팩터는 소정의 스케일 팩터 값을 가지며, 상기 소정의 스케일 팩터 값은 16일 수 있다.
상기 기본 스케일 팩터는 상기 현재 블록이 양자화 행렬을 사용하는지 여부에 따라 다른 스케일 팩터 값을 가질 수 있다.
상기 기본 스케일 팩터는 상기 현재 블록이 휘도 블록인지 색차 블록인지에 따라 다른 스케일 팩터 값을 가질 수 있다.
상기 현재 블록을 포함하는 픽처에 변환 스킵 알고리즘이 사용되는지 여부를 나타내는 플래그가 PPS(Picture Parameter Set)를 통해 시그널링될 수 있다.
상기 기본 스케일 팩터는 휘도 신호와 색차 신호에 대한 스케일 팩터 정보를 포함할 수 있다.
상기 현재 블록에 대한 스케일 팩터를 도출하는 단계에서는, 상기 현재 블록이 변환 스킵 블록이거나 혹은 상기 현재 블록이 양자화 행렬을 사용하지 않을 경우, 상기 현재 블록 내 변환 계수의 위치에 상관없이 기본 스케일 팩터를 도출할 수 있다.
상기 현재 블록에 대한 스케일 팩터를 도출하는 단계에서는, 상기 현재 블록이 변환 스킵 블록이 아닌 경우, 상기 현재 블록 내 변환 계수의 위치를 기반으로 양자화 행렬을 이용하여 상기 현재 블록에 대한 스케일 팩터를 도출할 수 있다.
본 발명의 다른 양태에 따르면, 영상 복호화 장치가 제공된다. 상기 영상 복호화 장치는 현재 블록이 변환 스킵 블록인지 여부에 따라 상기 현재 블록에 대한 스케일 팩터를 도출하고, 상기 스케일 팩터를 기반으로 상기 현재 블록에 대한 스케일링을 수행하는 역양자화부를 포함한다.
상기 현재 블록에 대한 스케일 팩터는, 상기 현재 블록 내 변환 계수의 위치를 기반으로 도출되며, 상기 변환 스킵 블록은, 상기 현재 블록에 대해 변환을 적용하지 않은 블록이며, 상기 현재 블록에 대해 변환을 적용할지 여부를 나타내는 정보를 기반으로 특정될 수 있다.
본 발명의 또 다른 양태에 따르면, 영상 부호화 방법이 제공된다. 상기 영상 부호화 방법은 현재 블록이 변환 스킵 블록인지 여부에 따라 상기 현재 블록에 대한 스케일 팩터를 도출하는 단계 및 상기 스케일 팩터를 기반으로 상기 현재 블록에 대한 스케일링을 수행하는 단계를 포함한다.
상기 현재 블록에 대한 스케일 팩터는, 상기 현재 블록 내 변환 계수의 위치를 기반으로 도출되며, 상기 변환 스킵 블록은, 상기 현재 블록에 대해 변환을 적용하지 않은 블록이며, 상기 현재 블록에 대해 변환을 적용할지 여부를 나타내는 정보를 기반으로 특정될 수 있다.
상기 현재 블록에 대한 스케일 팩터를 도출하는 단계에서는, 상기 현재 블록이 변환 스킵 블록일 경우, 상기 현재 블록 내 변환 계수의 위치에 상관없이 기본 스케일 팩터를 도출할 수 있다.
상기 기본 스케일 팩터는 소정의 스케일 팩터 값을 가지며, 상기 소정의 스케일 팩터 값은 16일 수 있다.
상기 기본 스케일 팩터는 상기 현재 블록이 양자화 행렬을 사용하는지 여부에 따라 다른 스케일 팩터 값을 가질 수 있다.
상기 기본 스케일 팩터는 상기 현재 블록이 휘도 블록인지 색차 블록인지에 따라 다른 스케일 팩터 값을 가질 수 있다.
상기 현재 블록을 포함하는 픽처에 변환 스킵 알고리즘이 사용되는지 여부를 나타내는 플래그가 PPS(Picture Parameter Set)를 통해 시그널링될 수 있다.
상기 기본 스케일 팩터는 휘도 신호와 색차 신호에 대한 스케일 팩터 정보를 포함할 수 있다.
상기 현재 블록에 대한 스케일 팩터를 도출하는 단계에서는, 상기 현재 블록이 변환 스킵 블록이거나 혹은 상기 현재 블록이 양자화 행렬을 사용하지 않을 경우, 상기 현재 블록 내 변환 계수의 위치에 상관없이 기본 스케일 팩터를 도출할 수 있다.
상기 현재 블록에 대한 스케일 팩터를 도출하는 단계에서는, 상기 현재 블록이 변환 스킵 블록이 아닌 경우, 상기 현재 블록 내 변환 계수의 위치를 기반으로 양자화 행렬을 이용하여 상기 현재 블록에 대한 스케일 팩터를 도출할 수 있다.
본 발명의 또 다른 양태에 따르면, 영상 부호화 장치가 제공된다. 상기 영상 부호화 장치는 현재 블록이 변환 스킵 블록인지 여부에 따라 상기 현재 블록에 대한 스케일 팩터를 도출하고, 상기 스케일 팩터를 기반으로 상기 현재 블록에 대한 스케일링을 수행하는 양자화부를 포함한다.
상기 현재 블록에 대한 스케일 팩터는, 상기 현재 블록 내 변환 계수의 위치를 기반으로 도출되며, 상기 변환 스킵 블록은, 상기 현재 블록에 대해 변환을 적용하지 않은 블록이며, 상기 현재 블록에 대해 변환을 적용할지 여부를 나타내는 정보를 기반으로 특정될 수 있다.
변환 스킵 알고리즘이 적용된 블록은 변환/역변환 과정을 수행하지 않으므로, 기존의 변환/역변환 과정을 수행한 블록과는 서로 다른 변환 계수 특성을 지닌다. 즉, 기존의 변환/역변환 과정을 수행한 블록에 적용하였던 스케일링 방법을 그대로 변환 스킵 블록에 적용할 경우 부호화/복호화 효율을 감소시킬 수 있다. 따라서, 변환 스킵 블록에 대해서는 블록 내 변환 계수의 위치에 상관없이 동일하게 스케일 팩터를 적용함으로써, 부호화 및 복호화 효율을 증가시킬 수 있다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 영상을 부호화할 때 영상의 분할 구조를 개략적으로 나타내는 도면이다.
도 4는 코딩 유닛(CU)이 포함할 수 있는 예측 유닛(PU)의 형태를 도시한 도면이다.
도 5는 코딩 유닛(CU)이 포함할 수 있는 변환 유닛(TU)의 형태를 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 잔여 신호(혹은 변환 계수)에 대한 스케일링 방법을 나타내는 순서도이다.
도 7은 본 발명의 다른 실시예에 따른 잔여 신호(혹은 변환 계수)에 대한 스케일링 방법을 나타내는 순서도이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 해당 설명을 생략할 수도 있다.
본 명세서에서 어떤 구성 요소가 다른 구성 요소에 연결되어 있다거나 접속되어 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있는 것을 의미할 수도 있고, 중간에 다른 구성 요소가 존재하는 것을 의미할 수도 있다. 아울러, 본 명세서에서 특정 구성을 포함한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성들을 설명하는데 사용될 수 있지만, 상기 구성들은 상기 용어에 의해 한정되지 않는다. 상기 용어들은 하나의 구성을 다른 구성으로부터 구별하는 목적으로 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성은 제2 구성으로 명명될 수 있고, 유사하게 제2 구성도 제1 구성으로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성 단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 하나의 구성부를 이루거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있다. 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리 범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
우선, 설명의 편의를 도모하고 발명의 이해를 돕기 위해, 본 명세서에서 사용되는 용어들에 대하여 간략하게 설명한다.
유닛(unit)은 영상 부호화 및 복호화의 단위를 의미한다. 다시 말하면, 영상 부호화/복호화 시, 부호화 혹은 복호화 단위라 함은 하나의 영상을 세분화된 유닛으로 분할하여 부호화 혹은 복호화 할 때 그 분할된 단위를 말한다. 블록(block), 매크로 블록(Macro Block; MB), 부호화 유닛(Coding Unit; CU), 예측 유닛(Prediction Unit; PU), 변환 유닛(Transform Unit; TU), 부호화 블록(Coding Block; CB), 예측 블록(Prediction Block; PB), 변환 블록(Transform Block; TB) 등으로 부를 수 있다. 하나의 유닛은 크기가 더 작은 하위 유닛으로 분할될 수 있다.
블록(block)은 샘플(sample)의 MxN 배열을 말하며, M과 N은 양의 정수 값을 가진다. 블록은 흔히 2차원 형태의 배열을 의미할 수 있다.
변환 유닛(Transform Unit; TU)은 변환, 역변환, 양자화, 역양자화, 변환 계수 부호화/복호화와 같이 잔여 신호(residual signal)의 부호화/복호화를 수행할 때의 기본 유닛이며, 하나의 변환 유닛은 분할되어 크기가 작은 다수의 변환 유닛으로 분할될 수 있다. 이때, 잔여 신호(residual signal)가 블록 형태로 존재할 경우 잔여 블록(residual block)이라고 할 수 있다.
양자화 행렬(quantization matrix)은 영상의 주관적 화질 혹은 객관적 화질을 향상시키기 위해서 양자화 혹은 역양자화 과정에서 이용하는 행렬을 의미한다. 양자화 행렬은 스케일링 리스트(scaling list)라고도 불린다.
양자화 행렬은 기본 행렬(default matrix), 비기본 행렬(non-default matrix), 평면 행렬(flat matrix)로 나뉠 수 있다. 기본 행렬은 부호화기와 복호화기에서 미리 정의되어 있는 소정의 양자화 행렬을 의미할 수 있다. 비기본 행렬은 부호화기와 복호화기에서 미리 정의되지 않고, 사용자에 의해서 전송/수신되는 양자화 행렬을 의미할 수 있다. 평면 행렬은 행렬 내 모든 원소가 동일한 값을 가지는 행렬을 의미할 수 있다.
스케일링(scaling)은 변환 계수 레벨에 인수를 곱하는 과정을 의미하며, 결과로 변환 계수를 생성한다. 스케일링은 역양자화(dequantization)라고도 한다.
변환 계수(transform coefficient)는 변환을 수행하고 나서 생성된 계수값을 말한다. 본 명세서에서는 변환 계수에 양자화를 적용한 양자화된 변환 계수 레벨(transform coefficient level)도 변환 계수라 통칭하여 사용한다.
양자화 매개변수(quantization parameter)는 양자화 및 역양자화에서 변환 계수 레벨을 스케일링할 때 사용되는 값을 의미한다. 이때, 양자화 매개변수는 양자화 스텝 크기(step size)에 매핑된 값일 수 있다.
파라미터 세트(parameter set)는 비트스트림 내의 구조 중 헤더 정보에 해당하며, 시퀀스 파라미터 세트(sequence parameter set), 픽처 파라미터 세트(picture parameter set), 적응 파라미터 세트(adaptation parameter set) 등을 통칭하는 의미를 가진다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 1을 참조하면, 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 영상 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분(residual)을 부호화할 수 있다. 이때, 입력 영상은 원 영상(original picture)를 의미할 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화/복호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 픽처 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터이며, 현재 부호화/복호화 대상 영상과 참조 영상 사이의 오프셋을 나타낼 수 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록(residual block)을 생성할 수 있다.
변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터(quantization parameter, 또는 양자화 매개변수)에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다. 엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수-골롬(Exponential-Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
도 1의 실시예에 따른 영상 부호화 장치(100)는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(180)는 적응적 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 필터부(180)를 거친 복원 블록은 참조 픽처 버퍼(190)에 저장될 수 있다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2를 참조하면, 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 픽처 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다.
영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 생성한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다.
엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다.
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔차 블록이 생성될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 복호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 픽처 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 픽처 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.
도 3은 영상을 부호화할 때 영상의 분할 구조를 개략적으로 나타내는 도면이다.
HEVC(High Efficiency Video Coding)에서는 영상을 효율적으로 분할하기 위해 코딩 유닛(Coding Unit; CU)으로 부호화를 수행한다.
도 3을 참조하면, HEVC에서는 영상(300)을 최대 코딩 유닛(Largest Coding Unit; LCU)(이하, LCU라 함) 단위로 순차적으로 분할한 후, LCU 단위로 분할 구조를 결정한다. 분할 구조는 LCU(310) 내에서 영상을 효율적으로 부호화하기 위한 코딩 유닛(이하, CU라 함)의 분포를 의미하며, 이러한 분포는 하나의 CU를 그 가로 크기 및 세로 크기의 절반으로 감소된 4개의 CU로 분할할지 여부에 따라 결정될 수 있다. 분할된 CU는 동일한 방식으로 분할된 CU에 대해서 그 가로 크기 및 세로 크기가 절반씩 감소된 4개의 CU로 재귀적으로 분할될 수 있다.
이때, CU의 분할은 미리 정의된 깊이까지 재귀적으로 분할될 수 있다. 깊이 정보는 CU의 크기를 나타내는 정보로써, 각 CU마다 저장되어 있다. 예컨대, LCU의 깊이는 0이고, SCU(Smallest Coding Unit)의 깊이는 미리 정의된 최대 깊이일 수 있다. 여기서, LCU는 상술한 바와 같이 최대 코딩 유닛 크기를 가지는 코딩 유닛이며, SCU(Smallest Coding Unit)는 최소 코딩 유닛 크기를 가지는 코딩 유닛이다.
LCU(310)로부터 가로 및 세로 크기의 절반으로 분할을 수행할 때마다 CU의 깊이는 1씩 증가한다. 각각의 깊이 별로, 분할을 수행하지 않는 CU의 경우에는 2Nx2N 크기를 가지며, 분할을 수행하는 CU의 경우에는 2Nx2N 크기의 CU에서 NxN 크기를 가지는 4개의 CU로 분할된다. N의 크기는 깊이가 1씩 증가할 때마다 절반으로 감소한다.
도 3을 참조하면, 최소 깊이가 0인 LCU의 크기는 64x64 화소이고, 최대 깊이가 3인 SCU의 크기는 8x8 화소일 수 있다. 이때, 64x64 화소의 CU(LCU)는 깊이 0으로, 32x32 화소의 CU는 깊이 1로, 16x16 화소의 CU는 깊이 2로, 8x8 화소의 CU(SCU)는 깊이 3으로 표현될 수 있다.
또한, 특정 CU를 분할할지에 대한 정보는 CU마다 1비트의 분할 정보를 통해 표현될 수 있다. 이 분할 정보는 SCU를 제외한 모든 CU에 포함될 수 있으며, 예컨대 CU를 분할하지 않을 경우에는 분할 정보에 0을 저장할 수 있고, CU를 분할할 경우에는 분할 정보에 1을 저장할 수 있다.
한편, LCU로부터 분할된 CU는 예측을 위한 기본 단위인 예측 유닛(Prediction Unit; PU 또는 Prediction Block; PB)과 변환을 위한 기본 단위인 변환 유닛(Transform Unit; TU 또는 Transform Block; TB)으로 구성될 수 있다.
도 4는 코딩 유닛(CU)이 포함할 수 있는 예측 유닛(PU)의 형태를 도시한 도면이다.
LCU로부터 분할된 CU 중 더 이상 분할되지 않는 CU는 하나 이상의 예측 유닛으로 분할되며 이 행위 자체 역시 분할(partition)(혹은 파티션)이라고 일컫는다. 예측 유닛(이하, PU라 함)은 예측을 수행하는 기본 단위로써, 스킵(skip) 모드, 인터(inter) 모드, 인트라(intra) 모드 중 어느 하나로 부호화되며, 각 모드에 따라서 다양한 형태로 파티션될 수 있다.
도 4를 참조하면, 스킵 모드의 경우, CU 내에서 파티션 없이, CU와 동일한 크기를 갖는 2Nx2N 모드(410)를 지원할 수 있다.
인터 모드의 경우, CU 내에서 8가지의 파티션된 형태, 예컨대 2Nx2N 모드(410), 2NxN 모드(415), Nx2N 모드(420), NxN 모드(425), 2NxnU 모드(430), 2NxnD 모드(435), nLx2N 모드(440), nRx2N 모드(445)를 지원할 수 있다.
인트라 모드의 경우, CU 내에서 2Nx2N 모드(410), NxN 모드(425)를 지원할 수 있다.
도 5는 코딩 유닛(CU)이 포함할 수 있는 변환 유닛(TU)의 형태를 도시한 도면이다.
변환 유닛(이하, TU라 함)은 CU 내에서 공간 변환과 양자화/역양자화(스케일링) 과정을 위해 사용되는 기본 단위이다. TU는 정사각형 또는 직사각형 형태를 가질 수 있다. LCU로부터 분할된 CU 중 더 이상 분할되지 않는 CU는 하나 혹은 그 이상의 TU로 분할될 수 있다.
이때, TU의 분할 구조는 쿼드트리(quad-tree) 구조일 수 있다. 예컨대, 도 5에 도시된 바와 같이, 하나의 CU(510)가 쿼드트리 구조에 따라서 한번 혹은 그 이상 분할되어 다양한 크기의 TU들로 구성될 수 있다.
한편, HEVC에서는 H.264/AVC와 같이 화면 내 예측(이하, 인트라 예측) 부호화를 수행할 수 있다. 이때 현재 블록의 주변에 위치한 주변 블록으로부터 현재 블록의 인트라 예측 모드(혹은 예측 방향성)를 유도하여 부호화할 수 있다.
상기와 같이, 인트라 예측 모드를 기반으로 예측이 수행됨으로써 취득된 신호에 대한 예측 영상은 원본 영상과의 차이 값을 가질 수 있다. 이러한 예측 영상과 원본 영상 간의 차이 값을 가지는 차분 영상은 주파수 영역 변환과 양자화를 거쳐 엔트로피 부호화될 수 있다. 이때, 주파수 영역 변환의 부호화 효율을 높이고자 정수 변환, 정수 이산 여현 변환(Discrete Cosine Transform; DCT), 정수 이산 정현 변환(Discrete Sine Transform; DST), 또는 인트라 예측 모드 종속적인 DCT/DST 등을 블록 크기에 따라 선택적, 적응적으로 적용할 수 있다.
또한, 문서 영상이나 혹은 파워포인트의 프리젠테이션 영상과 같은 스크린 컨텐츠(screen contents)에서 부호화 효율을 높이기 위해서 변환 스킵(Transform SKIP) 알고리즘을 적용할 수 있다.
변환 스킵 알고리즘을 적용할 경우, 부호화기에서는 원본 영상과 예측 영상 간의 차이 값을 가지는 차분 영상(잔여 블록)을 주파수 변환 과정 없이 바로 양자화하여 잔여 블록에 대해 엔트로피 부호화를 수행한다. 그리고 복호화기에서는 잔여 블록에 대해 엔트로피 복호화하고 역양자화(스케일링)를 수행하여 복원된 잔여 블록을 생성한다. 따라서 이러한 변환 스킵 알고리즘이 적용된 블록은 주파수 변환/역변환 과정을 건너뛰게 된다.
양자화/역양자화 과정에서는 영상의 주관적 화질 향상을 위해 블록 내 변환 계수의 위치에 따라 스케일 팩터(scale factor)를 다르게 적용할 수 있다. 반면, 양자화/역양자화를 수행할 때 블록 내 변환 계수의 위치에 상관없이 스케일 팩터를 동일하게 적용하는 방법이 있다. 이러한 방법의 적용 여부는 비트스트림의 SPS(Sequence Parameter Set) 혹은 PPS(Picture Parameter Set)를 통해 시그널링될 수 있다.
상기 과정의 일 실시예로, 변환 계수의 스케일링 과정(Scaling Process for transform coefficients)은 아래와 같이 수행될 수 있다.
변환 계수의 스케일링 과정
여기서의 입력은 다음과 같다.
- 현재 변환 블록의 너비 Width; nW
- 현재 변환 블록의 높이 Height; nH
- 요소(element) cij를 가진 변환 계수의 배열; (nWxnH) array d
- 현재 블록의 휘도 신호 및 색차 신호에 대한 인덱스; cIdx
만일 cIdx 가 ‘0’ 이면 휘도 신호를 의미하고, cIdx가 ‘1’ 이거나 혹은 cIdx가 ‘2’이면 색차 신호를 의미한다. 또한 cIdx 가 ‘1’이면 색차 신호에서 Cb를 의미하고, cIdx 가 ‘2’이면 색차 신호에서 Cr을 의미한다.
- 양자화 파라미터; qP
여기서의 출력은 다음과 같다.
- 스케일된 변환 계수에 대한 배열; (nWxnH) array dij
변수 log2TrSize 는 log2TrSize = ( Log2( nW ) + Log2( nH ) ) >> 1 를 통해 유도된다. 변수 shift는 cIdx에 따라 다르게 유도된다. cIx가 ‘0’과 같다면(휘도 신호라면), shift = BitDepthY + log2TrSize - 5 로부터 유도되며, 그렇지 않다면(색차 신호), shift = BitDepthC + log2TrSize - 5 로부터 유도된다. 여기서 BitDepthY 와 BitDepthC 는 현재 영상에 대한 샘플의 비트수(예를 들어, 8 비트)를 의미한다.
스케일링 변수들에 대한 배열 levelScale[ ]은 다음 수학식 1과 같다.
수학식 1
Figure PCTKR2013005864-appb-M000001
스케일된 변환 계수는 다음의 과정을 통해 계산된다.
먼저, 스케일 팩터 mij가 다음 과정을 통해 유도된다.
- 만일 scaling_list_enable_flag 가 '0'이라면, mij는 다음 수학식2와 같이 유도된다.
수학식 2
Figure PCTKR2013005864-appb-M000002
- 그렇지 않다면, mij는 다음 수학식 3과 같이 유도된다.
수학식 3
Figure PCTKR2013005864-appb-M000003
여기서, SizeID는 변환 블록의 크기에 따라 아래 표 1을 통해 유도되며, RefMatrixID 그리고 trafoType는 아래 수학식 4와 수학식 5로부터 각각 유도된다. 또한, 수학식 4에서 scaling_list_pred_matrix_id_delta은 비트스트림의 SPS(Sequence Parameter Set) 혹은 PPS(Picture Parameter Set)를 통해 시그널링 된다.
수학식 4
Figure PCTKR2013005864-appb-M000004
수학식 5
Figure PCTKR2013005864-appb-M000005
표 1은 변환 블록의 크기에 따른 SizeID 값을 나타내는 일예이다.
표 1
Figure PCTKR2013005864-appb-T000001
다음으로, 스케일된 변환 계수 dij는 다음 수학식 6으로부터 유도된다.
수학식 6
Figure PCTKR2013005864-appb-M000006
한편, 상술한 바와 같이 변환 스킵 알고리즘이 적용된 블록(이하, 변환 스킵 블록이라 함)은 주파수 변환 과정을 수행하지 않는다. 따라서, 기존의 주파수 변환 과정을 수행한 블록과 변환 스킵 블록은 서로 다른 변환 계수 특성을 가질 수 있다. 즉, 기존의 주파수 변환 과정을 수행한 블록에 적용하였던 스케일링 방법을 그대로 변환 스킵 블록에 적용할 경우 부호화 효율을 감소시킬 수 있다.
따라서, 본 발명에서는 변환 스킵 블록일 경우를 고려하여 스케일링을 수행하는 방법을 제공한다.
부호화기와 복호화기에서 영상의 주관적 화질을 향상시키기 위해서 양자화 행렬(기본 행렬 및 비기본 행렬)을 사용하는 경우, 블록 내 변환 계수(transform coefficient)의 위치에 따라 양자화 행렬로부터 유도된 스케일 팩터(scale factor)가 달리 적용될 수 있다. 이러한 방법은 블록의 변환(transform)시 잔여 블록의 에너지가 블록의 좌측 상단 위치(저주파수 영역)로 압축되는 특성을 이용해서 일반적으로 인간의 눈에 민감한 저주파수 영역보다는 인간의 눈에 덜 민감한 고주파수 영역에 대해서 더 큰 양자화 스텝 크기(step size)로 양자화를 수행한다. 이러한 방법을 통해서 영상 부호화 시 인간의 눈에 민감한 영역에 대해 주관적 화질을 향상시킬 수 있다.
하지만, 변환 스킵이 적용된 경우, 잔여 블록은 주파수 영역 변환/역변환을 수행하지 않으므로 블록 내에서 저주파수 영역 쪽으로 압축되지 않는다. 이러한 경우 기존의 주파수 영역에 사용하는 양자화/역양자화 방법을 적용하게 되면 영상 혹은 블록 내의 왜곡이 심해지는 단점이 있다. 따라서, 영상 내에서 양자화 행렬을 사용할 경우 주파수 영역 변환/역변환을 수행하지 않는 블록(변환 스킵 블록)에 대해서는 영상 혹은 블록 내의 왜곡을 최소화할 수 있는 스케일링(양자화/역양자화) 방법이 필요하다. 예컨대, 변환 스킵 블록에 대해서는 양자화 행렬이 적용되지 않게 하는 방법이 있다. 이러한 방법은 블록 내 변환 계수의 위치에 상관없이 기본 스케일 팩터를 동일하게 적용할 수 있다.
[실시예1] 변환 스킵 블록에 대하여 블록 내 변환 계수의 위치에 상관없이 스케일 팩터를 동일하게 적용하는 방법 및 장치
도 6은 본 발명의 일 실시예에 따른 잔여 신호(혹은 변환 계수)에 대한 스케일링 방법을 나타내는 순서도이다.
도 6의 방법은 상술한 도 1의 부호화 장치 또는 상술한 도 2의 복호화 장치에서 수행될 수 있다. 보다 구체적으로는, 도 1 또는 도 2의 양자화부 혹은 역양자화부에서 수행될 수 있다. 도 6의 실시예에서는 설명의 편의를 위해 도 6의 방법이 부호화 장치에서 수행되는 것으로 설명하나, 이는 복호화 장치에서도 동일하게 적용될 수 있다.
도 6을 참조하면, 현재 블록의 잔여 신호(혹은 변환 계수)에 대한 스케일링(양자화 혹은 역양자화)시 적용되는 스케일 팩터(mij)는 현재 블록이 변환 스킵 블록인지에 따라 유도될 수 있다.
부호화 장치는 현재 블록이 변환 스킵 블록인지 여부를 판단한다(S600).
이때, 현재 블록이 변환 스킵 블록인지 여부는, 변환 스킵 블록인지 여부를 지시하는 정보를 통해 판단될 수 있다. 예를 들어, 변환 스킵 블록인지 여부를 지시하는 정보는 플래그(transSkipFlag)일 수 있다. 이러한 플래그 transSkipFlag 값은 비트스트림 내의 변환 스킵 블록에 관한 정보를 엔트로피 복호화해서 유도될 수 있다. 만일 현재 블록이 변환 스킵 블록이면 transSkipFlag 값이 1이고, 그렇지 않으면 transSkipFlag 값이 0일 수 있다.
만일 현재 블록이 변환 스킵 블록일 경우(예컨대, transSkipFlag 값이 1인 경우), 부호화 장치는 현재 블록 내 잔여 신호(혹은 변환 계수)의 위치에 상관없이 스케일 팩터(mij)를 유도한다(S610).
이때, 도 6에 도시된 바와 같이, 스케일 팩터(mij)는 소정의 기본 스케일 팩터 값(T)으로 설정될 수 있다. 예를 들어, 소정의 기본 스케일 팩터 값(T)은 16일 수 있다.
그렇지 않고 현재 블록이 변환 스킵 블록이 아닌 경우(예컨대, transSkipFlag 값이 0인 경우), 부호화 장치는 현재 블록 내 잔여 신호(혹은 변환 계수)의 위치를 기반으로 스케일 팩터(mij)를 유도한다(S620).
이때, 스케일 팩터(mij)는 양자화 행렬을 이용해서 현재 블록 내 잔여 신호(혹은 변환 계수)의 위치에 따라 다르게 설정될 수 있으며, 도 6에 도시된 바와 같이 다음 수학식 7과 같이 유도될 수 있다.
수학식 7
Figure PCTKR2013005864-appb-M000007
여기서, ScalingFactor는 스케일 팩터를 저장하고 있는 배열이다. SizeID는 현재 블록(변환 블록 혹은 양자화 행렬)의 크기를 나타내기 위한 값일 수 있으며, 상술한 표 1과 같이 현재 블록(변환 블록)의 크기에 따라 SizeID 값이 유도될 수 있다. RefMatrixID와 trafoType는 아래 수학식 8과 수학식 9로부터 각각 유도될 수 있다. nW는 현재 블록의 너비를 의미한다.
수학식 8
Figure PCTKR2013005864-appb-M000008
여기서, MatrixID 값은 예측 모드 및 색 성분(color component)에 따른 양자화 행렬의 종류를 의미할 수 있으며, 일예로 아래 표 2와 같이 MatrixID 값이 유도될 수 있다. scaling_list_pred_matrix_id_delta는 비트스트림의 SPS(Sequence Parameter Set) 혹은 PPS(Picture Parameter Set)를 통해 시그널링 된다.
수학식 9
Figure PCTKR2013005864-appb-M000009
여기서, nW는 현재 블록의 너비를 의미하고, nH는 현재 블록의 높이를 의미한다.
표 2는 예측 모드 및 색 성분에 따른 MatrixID 값을 나타낸다.
표 2
Figure PCTKR2013005864-appb-T000002
도 7은 본 발명의 다른 실시예에 따른 잔여 신호(혹은 변환 계수)에 대한 스케일링 방법을 나타내는 순서도이다.
도 7의 방법은 상술한 도 1의 부호화 장치 또는 상술한 도 2의 복호화 장치에서 수행될 수 있다. 보다 구체적으로는, 도 1 또는 도 2의 양자화부 혹은 역양자화부에서 수행될 수 있다. 도 7의 실시예에서는 설명의 편의를 위해 도 7의 방법이 부호화 장치에서 수행되는 것으로 설명하나, 이는 복호화 장치에서도 동일하게 적용될 수 있다.
도 7을 참조하면, 현재 블록의 잔여 신호(혹은 변환 계수)에 대한 스케일링(양자화 혹은 역양자화)시 적용되는 스케일 팩터(mij)는 현재 블록이 변환 스킵 블록인지 여부와 양자화 행렬의 사용 여부에 따라 유도될 수 있다.
부호화 장치는 현재 블록이 양자화 행렬을 사용하는지 여부와 변환 스킵 블록인지 여부를 판단한다(S700).
이때, 현재 블록이 양자화 행렬을 사용하는지 여부는, 양자화 행렬의 사용 여부를 지시하는 정보를 통해 판단할 수 있다. 예를 들어, 양자화 행렬의 사용 여부를 지시하는 정보는 플래그(scaling_list_enable_flag)일 수 있다. 이러한 플래그 scaling_list_enable_flag 값은 비트스트림 내의 양자화 행렬의 사용에 관한 정보를 엔트로피 복호화해서 유도될 수 있다. 만일 현재 블록이 양자화 행렬을 사용할 경우 scaling_list_enable_flag 값은 1이고, 그렇지 않은 경우 scaling_list_enable_flag 값은 0이다.
또한, 현재 블록이 변환 스킵 블록인지 여부는, 변환 스킵 블록인지 여부를 지시하는 정보를 통해 판단될 수 있다. 예를 들어, 변환 스킵 블록인지 여부를 지시하는 정보는 플래그(transSkipFlag)일 수 있다. 이러한 플래그 transSkipFlag 값은 비트스트림 내의 변환 스킵 블록에 관한 정보를 엔트로피 복호화해서 유도될 수 있다. 만일 현재 블록이 변환 스킵 블록이면 transSkipFlag 값이 1이고, 그렇지 않으면 transSkipFlag 값이 0일 수 있다.
만일 현재 블록이 변환 스킵 블록이거나 혹은 양자화 행렬을 사용하지 않을 경우(예컨대, transSkipFlag == 1 or scaling_list_enable_flag == 0), 부호화 장치는 현재 블록 내 잔여 신호(혹은 변환 계수)의 위치에 상관없이 스케일 팩터(mij)를 유도한다(S710).
이때, 도 7에 도시된 바와 같이, 스케일 팩터(mij)는 소정의 기본 스케일 팩터 값(T)으로 설정될 수 있다. 예를 들어, 소정의 기본 스케일 팩터 값(T)은 16일 수 있다.
그렇지 않다면(현재 블록이 변환 스킵 블록이 아니면서 양자화 행렬을 사용할 경우), 부호화 장치는 현재 블록 내 잔여 신호(혹은 변환 계수)의 위치를 기반으로 스케일 팩터(mij)를 유도한다(S720).
이때, 스케일 팩터(mij)는 양자화 행렬을 이용해서 현재 블록 내 잔여 신호(혹은 변환 계수)의 위치에 따라 다르게 설정될 수 있으며, 도 7의 단계 S720에 도시된 수학식과 같이 유도될 수 있다. 단계 S720에 도시된 수학식을 통해 유도되는 스케일 팩터(mij)는 도 6(단계 S620)에서 설명한 바와 같으므로, 여기서는 설명을 생략한다.
도 6 및 도 7을 통해 상술한 바와 같이, 현재 블록(현재 부호화 혹은 복호화 대상 블록)이 변환 스킵 블록일 경우, 현재 블록 내 계수(혹은 신호)의 위치에 상관없이 현재 블록(변환 스킵 블록)에 대해 소정의 값(T)을 갖는 스케일 팩터를 적용하였다. 이때, 본 발명의 실시예에 따른 스케일 팩터 값은 해당 블록에 적용되는 다양한 부호화 파라미터에 따라 다르게 설정될 수 있다.
일예로, 해당 블록에 적용될 스케일 팩터 값은 양자화 행렬의 사용 여부를 나타내는 파라미터(예를 들어, scaling_list_enable_flag) 값에 따라 아래와 같이 설정될 수 있다.
- 양자화 행렬을 사용하는 경우(예컨대, scaling_list_enable_flag == 1), 기본 스케일 팩터 값은 'T1'으로 설정(mij = T1)
- 양자화 행렬을 사용하지 않는 경우(예컨대, scaling_list_enable_flag == 0), 기본 스케일 팩터 값은 'T2'으로 설정(mij = T2)
여기서, T1 및/또는 T2 값은 부호화기가 결정하여 시그널링할 수도 있고 미리 정해진 값을 사용할 수도 있다. 비트스트림을 통해 시그널링 될 경우, 복호화기는 비트스트림을 파싱하여 T1 및/또는 T2 값을 구할 수 있다.
다른 예로, 해당 블록에 적용될 스케일 팩터 값은 해당 블록의 신호에 대한 색상 특성을 유도할 수 있는 정보(예를 들어, 색상 성분 인덱스 cIdx) 값에 따라 아래와 같이 설정될 수 있다. 색상 성분 인덱스 cIdx는 그 값에 따라 휘도 신호(Y 신호) 혹은 색차 신호(Cb 신호 혹은 Cr 신호)를 나타낸다.
- 예1 : 해당 블록의 신호가 밝기 신호(휘도 신호)인지 아닌지에 따라 기본 스케일 팩터 값을 ‘Ty’ 혹은 ‘Tc’로 설정. 예를 들어, 밝기 신호이면 기본 스케일 팩터 값을 ‘Ty’로 설정하고, 밝기 신호가 아니면(색차 신호이면) 기본 스케일 팩터 값을 ‘Tc’로 설정함.
- 예2 : 해당 블록의 색상 성분 별로 기본 스케일 팩터 값을 설정. 예를 들어, 휘도 신호(Y 신호)의 경우 기본 스케일 팩터 값을 ‘Ty’로 설정하고, 색차 신호가 Cb 신호일 경우 기본 스케일 팩터 값을 ‘Tcb’로 설정하고, 색차 신호가 Cr 신호일 경우 기본 스케일 팩터 값을 ‘Tcr’로 설정함.
여기서, Ty, Tc, Tcb 및/또는 Tcr 값은 부호화기가 결정하여 시그널링할 수도 있고 미리 정해진 값을 사용할 수도 있다. 비트스트림을 통해 시그널링 될 경우, 복호화기는 비트스트림을 파싱하여 Ty, Tc, Tcb 및/또는 Tcr 값을 구할 수 있다.
상술한 본 발명의 실시예에 따른 부호화 파라미터에 따라 기본 스케일 팩터를 결정하는 방법들은 독립적으로 적용될 수도 있고 조합되어 적용될 수도 있으나, 동일한 변환 스킵 블록에 대하여는 블록(부호화 또는 복호화 대상 블록) 내 계수(혹은 신호)의 위치에 상관없이 항상 동일한 스케일 팩터 값이 적용되어야 한다.
상술한 본 발명의 실시예들을 반영한 변환 계수의 스케일링 과정(Scaling Process for transform coefficients)은 아래와 같이 수행될 수 있다.
변환 계수의 스케일링 과정
여기서의 입력은 다음과 같다.
- 현재 변환 블록의 너비 Width; nW
- 현재 변환 블록의 높이 Height; nH
- 요소(element) cij를 가진 변환 계수의 배열; (nWxnH) array d
- 현재 변환 블록의 변환 스킵 적용 여부 정보
- 현재 블록의 휘도 신호 및 색차 신호에 대한 인덱스; cIdx
만일 cIdx 가 ‘0’ 이면 휘도 신호를 의미하고, cIdx가 ‘1’ 이거나 혹은 cIdx가 ‘2’이면 색차 신호를 의미한다. 또한 cIdx 가 ‘1’이면 색차 신호에서 Cb를 의미하고, cIdx 가 ‘2’이면 색차 신호에서 Cr을 의미한다.
- 양자화 파라미터; qP
여기서의 출력은 다음과 같다.
- 스케일된 변환 계수에 대한 배열; (nWxnH) array dij
변수 log2TrSize 는 log2TrSize = ( Log2( nW ) + Log2( nH ) ) >> 1 를 통해 유도된다. 변수 shift는 cIdx에 따라 다르게 유도된다. cIx가 ‘0’과 같다면(휘도 신호라면), shift = BitDepthY + log2TrSize - 5 로부터 유도되며, 그렇지 않다면(색차 신호), shift = BitDepthC + log2TrSize - 5 로부터 유도된다. 여기서 BitDepthY 와 BitDepthC 는 현재 영상에 대한 샘플의 비트수(예를 들어, 8 비트)를 의미한다.
스케일링 변수들의 배열 levelScale[]은 다음 수학식 10과 같다.
수학식 10
Figure PCTKR2013005864-appb-M000010
스케일된 변환 계수는 다음의 과정을 통해 계산된다.
먼저, 스케일 팩터 mij가 다음 과정을 통해 유도된다.
- 만일 scaling_list_enable_flag 가 '0'이거나 현재 변환 블록이 변환 스킵 블록이라면, mij는 다음 수학식 11과 같이 유도된다.
수학식 11
Figure PCTKR2013005864-appb-M000011
- 그렇지 않다면, mij는 다음 수학식 12와 같이 유도된다.
수학식 12
Figure PCTKR2013005864-appb-M000012
여기서, SizeID는 블록의 크기에 따라 상술한 표 1을 통해 유도되며, RefMatrixID 그리고 trafoType는 아래 수학식 13과 수학식 14로부터 각각 유도된다. 또한, 수학식 13에서 scaling_list_pred_matrix_id_delta은 비트스트림의 SPS(Sequence Parameter Set)를 통해 시그널링 된다.
수학식 13
Figure PCTKR2013005864-appb-M000013
수학식 14
Figure PCTKR2013005864-appb-M000014
다음으로 스케일된 변환 계수 dij는 다음 수학식 15로부터 유도된다.
수학식 15
Figure PCTKR2013005864-appb-M000015
한편, 상기와 같이 스케일링 과정을 통해 스케일된 변환 계수는 역변환 과정을 수행한다. 이때, 변환 스킵이 적용된 현재 변환 블록은 역변환 과정을 수행하지 않고 아래와 같은 ‘shift’ 연산 과정만 수행한다.
1. 만일 현재 블록의 cIdx가 ‘0’이라면(휘도 신호라면) shift = 13 - BitDepthY 이고, 그렇지 않다면(색차 신호라면) shift = 13 - BitDepthC 이다.
2. 잔여 블록에 대한 배열 rij (i=0..(nW)-1, j=0..(nH)-1)는 다음과 같이 설정한다.
만일 shift가 ‘0’보다 크다면, rij = ( dij + (1 << ( shift - 1) ) ) >> shift 이고, 그렇지 않다면 rij = ( dij << ( -shift ) 이다.
여기서, dij 는 스케일된 변환 계수에 대한 배열이며, rij 는 스케일된 변환 계수를 역변환하여 구해진 잔여 블록에 대한 배열을 의미한다.
상술한 스케일된 변환 계수의 역변환 과정을 반영한 실시예로, 스케일된 변환 계수를 위한 변환 과정(Transformation process for scaled transform coefficients) 부분은 아래와 같이 수행될 수 있다.
스케일된 변환 계수를 위한 변환 과정
여기서의 입력은 다음과 같다.
- 현재 변환 블록의 너비 Width; nW
- 현재 변환 블록의 높이 Height; nH
- 요소(element) dij를 가진 스케일된 변환 계수의 배열; (nWxnH) array d
- 현재 블록에 대한 변환 스킵 적용 여부 정보
- 현재 블록의 휘도 신호 및 색차 신호에 대한 인덱스; cIdx
만일 cIdx 가 ‘0’ 이면 휘도 신호를 의미하고, cIdx가 ‘1’ 이거나 혹은 cIdx가 ‘2’이면 색차 신호를 의미한다. 또한 cIdx 가 ‘1’이면 색차 신호에서 Cb를 의미하고, cIdx 가 ‘2’이면 색차 신호에서 Cr을 의미한다.
여기서의 출력은 다음과 같다.
- 스케일된 변환 계수를 역변환하여 구해진 잔여 블록에 대한 배열; (nWxnH) array r
현재 블록에 대한 부호화 모드(PredMode)가 화면 내 예측 모드(Intra)이고, Log2(nW*nH) 값이 ‘4’와 같고 cIdx 값이 ‘0’이면, 휘도 신호의 화면 내 예측 방향 모드(인트라 예측 모드)에 따라 변수 horizTrType과 vertTrType은 아래 표 3를 통해 구해진다. 만일 그렇지 않다면, 변수 horizTrType과 vertTrType은 ‘0’으로 설정한다.
표 3은 인트라 예측 모드에 따른 horizTrType과 vertTrType 값의 일예를 나타낸다.
표 3
Figure PCTKR2013005864-appb-T000003
현재 블록에 대한 잔여 신호는 아래와 같은 순서로 구한다.
먼저, 만일 현재 블록에 대한 변환 스킵이 적용되었을 경우에는 다음을 적용한다.
1. 만일 cIdx가 '0'이라면 shift = 13 - BitDepthY 이고, 그렇지 않다면 shift = 13 - BitDepthC 이다.
2. 잔여 블록에 대한 배열 rij (i=0..(nW)-1, j=0..(nH)-1)는 다음과 같이 설정한다.
- 만일 shift가 '0'보다 크다면, rij = ( dij + (1 << ( shift - 1) ) ) >> shift 이고, 그렇지 않다면, rij = ( dij << ( -shift ) 이다.
만일, 현재 블록에 대한 변환 스킵이 적용되지 않았을 경우에는 다음을 적용한다.
1. 변수 horizTrType과 vertTrType 값을 가지고 스케일된 변환 계수에 대한 역변환 과정을 수행한다. 먼저 현재블록의 크기(nW, nH)와 스케일된 변환 계수 배열(nWxnH array d), 변수 horizTrType 을 입력 받아 수평방향으로 1차원 역변환을 수행하여 배열(nWxnH array e)를 출력한다.
2. 다음으로 배열(nWxnH array e)을 입력 받아 배열(nWxnH array g)를 다음수학식 16과 같이 유도한다.
수학식 16
Figure PCTKR2013005864-appb-M000016
3. 다음으로 현재 블록의 크기(nW, nH)와 배열(nWxnH array g), 변수 vertTrType을 입력 받아 수직방향으로 1차원 역변환을 수행한다.
4. 다음으로 cIdx에 따라 잔여 블록에 대한 배열 (nWxnH) array r을 다음 수학식 17과 같이 설정한다.
수학식 17
Figure PCTKR2013005864-appb-M000017
여기서, shift는 cIdx가 '0'일 때는 shift = 20 - BitDepthY 이고, 그렇지 않으면 shift = 20 - BitDepthC 값을 가진다. BitDepth는 현재 영상에 대한 샘플의 비트수(예를 들어, 8 비트)를 의미한다.
상술한 바와 같은 변환 계수의 스케일링 과정과 스케일된 변환 계수를 위한 변환 과정을 수행함으로써 복원된 잔여 블록을 생성할 수 있다. 그리고 복원된 잔여 블록에, 인트라 예측 혹은 인터 예측을 통해 생성된 예측 블록을 가산함으로써 복원 블록을 생성할 수 있다. 이때, 복원 블록은 루프 필터가 적용된 블록일 수도 있고, 루프 필터가 적용되지 않은 블록일 수도 있다.
이하, 본 발명에서는 변환 스킵 블록인지 여부에 따라 유도되는 기본 스케일 팩터를 시그널링하는 방법을 제공한다.
본 발명의 일 실시예에 따르면, 변환 스킵 블록인지 여부에 따라 유도되는 기본 스케일 팩터는 SPS(Sequence Parameter Set)를 통해 시그널링될 수 있다.
표 4는 본 발명의 일 실시예에 따른 기본 스케일 팩터 정보를 시그널링하기 위한 SPS 신택스의 일예를 나타낸다.
표 4
Figure PCTKR2013005864-appb-T000004
표 4를 참조하면, transform_skip_enabled_flag는 현재 시퀀스에 변환 스킵 알고리즘을 사용할지 여부를 나타낸다.
만일 변환 스킵 알고리즘이 사용될 경우, flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, flat_scale_factor_cr_minus16이 시그널링된다. 여기서 이 값들은 양수 혹은 음수 부호를 가지는 형태로 부호화(se(v))될 수 있다. 혹은 이 값들은 0과 양수 부호를 가지는 형태로 부호화(ue(v))될 수 있다.
flat_scale_factor_y_minus16은 휘도 신호에 대한 스케일 팩터를 의미한다. 예를 들어, flat_scale_factor_y_minus16 값이 ‘0’이면 휘도 신호에 대한 스케일 팩터는 상기 ‘0’ 에 ‘16’이 더해져서 ‘16’ 값을 가진다.
flat_scale_factor_cb_minus16은 색차 신호 Cb에 대한 스케일 팩터를 의미하고, flat_scale_factor_cr_minus16은 색차 신호 Cr에 대한 스케일 팩터를 의미한다.
이와 관련하여, 휘도 신호 혹은 색차 신호에 대한 스케일 팩터는 다음 수학식 18 내지 20과 같이 유도될 수 있다.
여기서, 기본 스케일 팩터 FlatScalingFactor[cIdx]는 휘도 신호와 색차 신호에 대한 스케일 팩터를 저장하고 있다. 예를 들어, 색상 성분 인덱스 cIdx가 0이면 휘도(Y) 신호, 1이면 Cb 색차 신호, 2이면 Cr 색차 신호를 지시할 수 있다. 또한 FlatScalingFactor[cIdx] 값은 임의의 값의 범위를 가질 수 있으며, 일예로 8비트 신호의 경우 ‘-15’부터 ‘255-16’의 값을 가질 수 있다.
휘도 신호에 대한 기본 스케일 팩터는 수학식 18과 같이 유도될 수 있다.
수학식 18
Figure PCTKR2013005864-appb-M000018
Cb 색차 신호에 대한 기본 스케일 팩터는 수학식 19와 같이 유도될 수 있다.
수학식 19
Figure PCTKR2013005864-appb-M000019
Cr 색차 신호에 대한 기본 스케일 팩터는 수학식 20과 같이 유도될 수 있다.
수학식 20
Figure PCTKR2013005864-appb-M000020
상술한 본 발명의 일 실시예에 따른 변환 스킵 블록인지 여부에 따라 유도되는 기본 스케일 팩터를 시그널링하는 방법을 반영하여, 변환 계수의 스케일링 과정(Scaling Process for transform coefficients)을 아래와 같이 수행할 수 있다.
변환 계수의 스케일링 과정
여기서의 입력은 다음과 같다.
- 현재 변환 블록의 너비 Width; nW
- 현재 변환 블록의 높이 Height; nH
- 요소(element) cij를 가진 변환 계수의 배열; (nWxnH) array d
- 현재 변환 블록의 변환 스킵 적용 여부 정보; transSkipFlag
transSkipFlag 값이 1이면 현재 블록에 변환 스킵이 적용되었음을 나타내고, transSkipFlag 값이 0이면 현재 블록에 변환 스킵이 적용되지 않았음을 나타낸다.
- 현재 블록의 휘도 신호 및 색차 신호에 대한 인덱스; cIdx
만일 cIdx가 ‘0’이면 휘도 신호를 의미하고, cIdx가 ‘1’이거나 혹은 cIdx가 ‘2’이면 색차 신호를 의미한다. 또한 cIdx가 ‘1’이면 색차 신호에서 Cb를 의미하고, cIdx가 ‘2’이면 색차 신호에서 Cr을 의미한다.
- 양자화 파라미터; qP
여기서의 출력은 다음과 같다.
- 스케일된 변환 계수에 대한 배열; (nWxnH) array dij
변수 log2TrSize 는 log2TrSize = ( Log2( nW ) + Log2( nH ) ) >> 1 를 통해 유도된다. 변수 shift는 cIdx에 따라 다르게 유도된다. cIx가 ‘0’과 같다면(휘도 신호라면), shift = BitDepthY + log2TrSize - 5 로부터 유도되며, 그렇지 않다면(색차 신호), shift = BitDepthC + log2TrSize - 5 로부터 유도된다. 여기서 BitDepthY 와 BitDepthC 는 현재 영상에 대한 샘플의 비트수(예를 들어, 8 비트)를 의미한다.
스케일링 변수들의 배열 levelScale[]은 다음 수학식 21과 같다.
수학식 21
Figure PCTKR2013005864-appb-M000021
스케일된 변환 계수는 다음의 과정을 통해 계산된다.
먼저, 스케일 팩터 mij가 다음 과정을 통해 유도된다.
- 만일 scaling_list_enable_flag 가 '0'이라면, mij는 다음 수학식 22와 같이 유도된다.
수학식 22
Figure PCTKR2013005864-appb-M000022
- 그렇지 않다면(즉, scaling_list_enable_flag 가 '1'이라면, mij는 다음 수학식 23과 같이 유도된다.
수학식 23
Figure PCTKR2013005864-appb-M000023
여기서, SizeID는 블록의 크기에 따라 상술한 표 1을 통해 유도되며, RefMatrixID 그리고 trafoType는 아래 수학식 24와 수학식 25로부터 각각 유도된다. 수학식 24에서 scaling_list_pred_matrix_id_delta은 비트스트림의 SPS(Sequence Parameter Set)를 통해 시그널링 된다.
수학식 24
Figure PCTKR2013005864-appb-M000024
수학식 25
Figure PCTKR2013005864-appb-M000025
다음으로 스케일된 변환 계수 dij는 다음 수학식 26으로부터 유도된다.
수학식 26
Figure PCTKR2013005864-appb-M000026
한편, 본 발명의 실시예에 따른 변환 스킵 블록인지 여부에 따라 유도되는 기본 스케일 팩터는 상술한 SPS뿐만 아니라 PPS(Picture Parameter Set) 혹은 슬라이스 헤더(SliceHeader)를 통해 시그널링될 수 있다. 또한 CU 단위 혹은 TU 단위로 시그널링될 수도 있다.
상술한 SPS에서 시그널링되는 flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, flat_scale_factor_cr_minus16 값은 PPS(혹은 SliceHeader, CU, TU)에서 갱신하여 사용할 수 있다.
표 5는 본 발명의 다른 실시예에 따른 기본 스케일 팩터 정보를 시그널링하기 위한 PPS 신택스의 일예를 나타낸다.
표 5
Figure PCTKR2013005864-appb-T000005
표 5를 참조하면, transform_skip_enabled_flag는 현재 픽처에 변환 스킵 알고리즘을 사용할지 여부를 나타낸다. 만일 변환 스킵 알고리즘이 사용될 경우, pps_flat_scaling_factor_present_flag 값이 시그널링된다.
예를 들어, 만일 pps_flat_scaling_factor_present_flag 값이 ‘0’일 경우, 상술한 SPS에서 적용하였던 flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, flat_scale_factor_cr_minus16을 변환 스킵 블록을 위한 스케일 팩터로 사용한다. 그렇지 않고 만일 pps_flat_scaling_factor_present_flag 값이 ‘1’일 경우, 상술한 SPS에서 적용하였던 flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, flat_scale_factor_cr_minus16 값을 갱신하기 위하여 해당 값들이 시그널링 된다.
시그널링된 flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, flat_scale_factor_cr_minus16 값들은 현재 픽처의 변환 스킵 블록에 대한 스케일 팩터로 사용된다. 이때, 이 값들은 다시 변경되지 않을 때까지 계속 사용될 수 있다. 혹은 이 값들은 현재 픽처에만 적용하여 사용하고 다음 픽처에서는 SPS에서 사용하였던 스케일 팩터 값들을 적용할 수 있다.
여기서, flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, flat_scale_factor_cr_minus16은 양수 혹은 음수 부호를 가지는 형태로 부호화(se(v))될 수 있다. 혹은 이 값들은 0과 양수 부호를 가지는 형태로 부호화(ue(v))될 수 있다.
flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, flat_scale_factor_cr_minus16 값들은 휘도 신호 및 색차 신호마다 각각 다른 값을 가지고 각각 시그널링될 수 있다. 예컨대, flat_scale_factor_y_minus16 값은 휘도 신호에 대한 스케일 팩터, flat_scale_factor_cb_minus16 값은 Cb 색차 신호에 대한 스케일 팩터, flat_scale_factor_cr_minus16 값은 Cr 색차 신호에 대한 스케일 팩터를 시그널링하는데 사용될 수 있다. 혹은, 휘도 신호에 대한 스케일 팩터로 flat_scale_factor_y_minus16, 색차 신호에 대한 스케일 팩터로 flat_scale_factor_cb_cr_minus16을 이용하여 시그널링할 수도 있다. 혹은, 휘도 신호 및 색차 신호에 대한 스케일 팩터로 하나의 값 flat_scale_factor_y_cb_cr_minus16을 이용하여 시그널링할 수도 있다.
상술한 바와 같이, SPS 혹은 PPS에서 시그널링되는 flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, flat_scale_factor_cr_minus16 값은 SliceHeader(혹은 CU, TU)에서 갱신하여 사용할 수 있다.
표 6은 본 발명의 또 다른 실시예에 따른 기본 스케일 팩터 정보를 시그널링하기 위한 슬라이스 헤더(SliceHeader) 신택스의 일예를 나타낸다.
표 6
Figure PCTKR2013005864-appb-T000006
표 6을 참조하면, transform_skip_enabled_flag는 현재 슬라이스에 변환 스킵 알고리즘을 사용할지 여부를 나타낸다. 만일 변환 스킵 알고리즘이 사용될 경우, flat_scaling_factor_override_flag 값이 시그널링된다.
예를 들어, 만일 flat_scaling_factor_override_flag 값이 ‘0’일 경우, 상술한 SPS 혹은 PPS에서 적용하였던 flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, flat_scale_factor_cr_minus16을 변환 스킵 블록을 위한 스케일 팩터로 사용한다. 그렇지 않고 만일 flat_scaling_factor_override_flag 값이 ‘1’일 경우, 상술한 SPS 혹은 PPS에서 적용하였던 flat_scale_factor_y_minus16, flat_scale_factor_cb_minus16, flat_scale_factor_cr_minus16 값을 갱신하기 위하여 해당 값들이 시그널링된다.
flat_scale_factor_y_delta, flat_scale_factor_cb_delta, flat_scale_factor_cr_delta 값들은 현재 슬라이스의 변환 스킵 블록에 대한 스케일 팩터로 사용된다.
여기서, flat_scale_factor_y_delta, flat_scale_factor_cb_delta, flat_scale_factor_cr_delta 값들은 양수 혹은 음수 부호를 가지는 형태로 부호화(se(v))될 수 있다. 혹은 이 값들은 0과 양수 부호를 가지는 형태로 부호화(ue(v))될 수 있다.
flat_scale_factor_y_delta, flat_scale_factor_cb_delta, flat_scale_factor_cr_delta 값들은 휘도 신호 및 색차 신호마다 각각 다른 값을 가지고 각각 시그널링될 수 있다. 예컨대, flat_scale_factor_y_delta 값은 휘도 신호에 대한 스케일 팩터, flat_scale_factor_cb_delta 값은 Cb 색차 신호에 대한 스케일 팩터, flat_scale_factor_cr_delta 값은 Cr 색차 신호에 대한 스케일 팩터를 시그널링하는데 사용될 수 있다. 혹은, 휘도 신호에 대한 스케일 팩터로 flat_scale_factor_y_delta, 색차 신호에 대한 스케일 팩터로 flat_scale_factor_cb_cr_delta를 이용하여 시그널링할 수도 있다. 혹은, 휘도 신호 및 색차 신호에 대한 스케일 팩터로 하나의 값 flat_scale_factor_y_cb_cr_delta을 이용하여 시그널링할 수도 있다.
상기와 같이 시그널링된 flat_scale_factor_y_delta, flat_scale_factor_cb_delta, flat_scale_factor_cr_delta 값들을 이용하여 아래 수학식 27 내지 29와 같이 기본 스케일 팩터를 유도할 수 있다.
여기서, 기본 스케일 팩터 FlatScalingFactor[cIdx]는 휘도 신호와 색차 신호에 대한 스케일 팩터를 저장하고 있다. 예를 들어, 색상 성분 인덱스 cIdx가 0이면 휘도(Y) 신호, 1이면 Cb 색차 신호, 2이면 Cr 색차 신호를 지시할 수 있다. 또한 FlatScalingFactor[cIdx] 값은 임의의 값의 범위를 가질 수 있으며, 일예로 8비트 신호의 경우 ‘-15’부터 ‘255-16’의 값을 가질 수 있다.
휘도 신호에 대한 기본 스케일 팩터는 flat_scale_factor_y_delta를 이용하여 수학식 27과 같이 유도될 수 있다.
수학식 27
Figure PCTKR2013005864-appb-M000027
Cb 색차 신호에 대한 기본 스케일 팩터는 flat_scale_factor_cb_delta를 이용하여 수학식 28과 같이 유도될 수 있다.
수학식 28
Figure PCTKR2013005864-appb-M000028
Cr 색차 신호에 대한 기본 스케일 팩터는 flat_scale_factor_cr_delta를 이용하여 수학식 29와 같이 유도될 수 있다.
수학식 29
Figure PCTKR2013005864-appb-M000029
한편, 상술한 실시예들은 블록 크기 혹은 CU 깊이 혹은 TU 깊이 등에 따라 적용 범위를 달리할 수 있다. 이렇게 적용 범위를 결정하는 변수(예컨대, 블록의 크기 혹은 깊이 정보)는, 부호화기 및 복호화기가 미리 정해진 값을 사용하도록 설정할 수도 있고, 프로파일 또는 레벨에 따라 정해진 값을 사용하도록 할 수도 있고, 부호화기가 변수 값을 비트스트림에 기재하면 복호화기가 비트스트림으로부터 이 값을 구하여 사용할 수도 있다.
CU 깊이에 따라 적용 범위를 달리할 때는 표 7에 예시한 바와 같이, 다음 세가지 방법이 적용될 수 있다. 방법 A는 주어진 깊이 이상의 깊이에만 적용하는 방식, 방법 B는 주어진 깊이 이하에만 적용하는 방식, 방법 C는 주어진 깊이에만 적용하는 방식이다.
표 7은 CU(혹은 TU) 깊이에 따라 본 발명의 방법들을 적용하는 범위를 결정하는 방법의 일예를 나타낸 것이다. 표 7에서 ‘O’ 표기는 CU(혹은 TU)의 해당 깊이에 해당 방법을 적용하는 것을 의미하며, ‘X’ 표기는 CU(혹은 TU)의 해당 깊이에 해당 방법을 적용하지 않는 것을 의미한다.
표 7
Figure PCTKR2013005864-appb-T000007
표 7을 참조하면, CU(혹은 TU) 깊이가 2인 경우, 본 발명의 실시예들에 대해 방법 A, 방법 B, 방법 C를 모두 적용할 수 있다.
CU(혹은 TU)의 모든 깊이에 대하여 본 발명의 실시예들을 적용하지 않는 경우, 임의의 지시자(예를 들어, flag)를 사용하여 나타낼 수도 있고, CU 깊이의 최대값보다 하나 더 큰 값을 적용 범위를 나타내는 CU 깊이 값으로 시그널링 함으로써 표현할 수도 있다.
또한, 상술한 CU(혹은 TU) 깊이에 따라 본 발명의 방법들을 적용하는 범위를 결정하는 방법은, 휘도 블록과 색차 블록의 크기에 따라 다르게 적용할 수 있으며, 또한 휘도 영상 및 색차 영상에 다르게 적용할 수 있다.
표 8은 휘도 블록 및 색차 블록의 크기에 따라 적용 범위를 결정하는 방법들의 조합을 개략적으로 나타낸 일예이다.
표 8
Figure PCTKR2013005864-appb-T000008
표 8의 방법들 중 방법 “사 1”을 살펴보면, 휘도 블록의 크기가 8(8x8, 8x4, 2x8 등)인 경우이고 그리고 색차 블록의 크기가 4(4x4, 4x2, 2x4)인 경우, 본 발명의 실시예1(사 1 - 실시예1)을 휘도 신호 및 색차 신호 및 수평 신호 및 수직 신호에 적용할 수 있다.
상술한 실시예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호범위는 특허청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (20)

  1. 현재 블록이 변환 스킵 블록인지 여부에 따라 상기 현재 블록에 대한 스케일 팩터를 도출하는 단계; 및
    상기 스케일 팩터를 기반으로 상기 현재 블록에 대한 스케일링을 수행하는 단계를 포함하며,
    상기 현재 블록에 대한 스케일 팩터는, 상기 현재 블록 내 변환 계수의 위치를 기반으로 도출되며,
    상기 변환 스킵 블록은, 상기 현재 블록에 대해 변환을 적용하지 않은 블록이며, 상기 현재 블록에 대해 역변환을 적용할지 여부를 나타내는 정보를 기반으로 특정되는 것을 특징으로 하는 영상 복호화 방법.
  2. 제1항에 있어서,
    상기 현재 블록에 대한 스케일 팩터를 도출하는 단계에서는,
    상기 현재 블록이 변환 스킵 블록일 경우,
    상기 현재 블록 내 변환 계수의 위치에 상관없이 기본 스케일 팩터를 도출하는 것을 특징으로 하는 영상 복호화 방법.
  3. 제2항에 있어서,
    상기 기본 스케일 팩터는 소정의 스케일 팩터 값을 가지며,
    상기 소정의 스케일 팩터 값은 16인 것을 특징으로 하는 영상 복호화 방법.
  4. 제2항에 있어서,
    상기 기본 스케일 팩터는 상기 현재 블록이 양자화 행렬을 사용하는지 여부에 따라 다른 스케일 팩터 값을 가지는 것을 특징으로 하는 영상 복호화 방법.
  5. 제2항에 있어서,
    상기 기본 스케일 팩터는 상기 현재 블록이 휘도 블록인지 색차 블록인지에 따라 다른 스케일 팩터 값을 가지는 것을 특징으로 하는 영상 복호화 방법.
  6. 제1항에 있어서,
    상기 현재 블록을 포함하는 픽처에 변환 스킵 알고리즘이 사용되는지 여부를 나타내는 플래그가 PPS(Picture Parameter Set)를 통해 시그널링되는 것을 특징으로 하는 영상 복호화 방법.
  7. 제6항에 있어서,
    상기 기본 스케일 팩터는 휘도 신호와 색차 신호에 대한 스케일 팩터 정보를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  8. 제1항에 있어서,
    상기 현재 블록에 대한 스케일 팩터를 도출하는 단계에서는,
    상기 현재 블록이 변환 스킵 블록이거나 혹은 상기 현재 블록이 양자화 행렬을 사용하지 않을 경우,
    상기 현재 블록 내 변환 계수의 위치에 상관없이 기본 스케일 팩터를 도출하는 것을 특징으로 하는 영상 복호화 방법.
  9. 제1항에 있어서,
    상기 현재 블록에 대한 스케일 팩터를 도출하는 단계에서는,
    상기 현재 블록이 변환 스킵 블록이 아닌 경우,
    상기 현재 블록 내 변환 계수의 위치를 기반으로 양자화 행렬을 이용하여 상기 현재 블록에 대한 스케일 팩터를 도출하는 것을 특징으로 하는 영상 복호화 방법.
  10. 현재 블록이 변환 스킵 블록인지 여부에 따라 상기 현재 블록에 대한 스케일 팩터를 도출하고,
    상기 스케일 팩터를 기반으로 상기 현재 블록에 대한 스케일링을 수행하는 역양자화부를 포함하며,
    상기 현재 블록에 대한 스케일 팩터는, 상기 현재 블록 내 변환 계수의 위치를 기반으로 도출되며,
    상기 변환 스킵 블록은, 상기 현재 블록에 대해 변환을 적용하지 않은 블록이며, 상기 현재 블록에 대해 변환을 적용할지 여부를 나타내는 정보를 기반으로 특정되는 것을 특징으로 하는 영상 복호화 장치.
  11. 현재 블록이 변환 스킵 블록인지 여부에 따라 상기 현재 블록에 대한 스케일 팩터를 도출하는 단계; 및
    상기 스케일 팩터를 기반으로 상기 현재 블록에 대한 스케일링을 수행하는 단계를 포함하며,
    상기 현재 블록에 대한 스케일 팩터는, 상기 현재 블록 내 변환 계수의 위치를 기반으로 도출되며,
    상기 변환 스킵 블록은, 상기 현재 블록에 대해 변환을 적용하지 않은 블록이며, 상기 현재 블록에 대해 변환을 적용할지 여부를 나타내는 정보를 기반으로 특정되는 것을 특징으로 하는 영상 부호화 방법.
  12. 제11항에 있어서,
    상기 현재 블록에 대한 스케일 팩터를 도출하는 단계에서는,
    상기 현재 블록이 변환 스킵 블록일 경우,
    상기 현재 블록 내 변환 계수의 위치에 상관없이 기본 스케일 팩터를 도출하는 것을 특징으로 하는 영상 부호화 방법.
  13. 제12항에 있어서,
    상기 기본 스케일 팩터는 소정의 스케일 팩터 값을 가지며,
    상기 소정의 스케일 팩터 값은 16인 것을 특징으로 하는 영상 부호화 방법.
  14. 제12항에 있어서,
    상기 기본 스케일 팩터는 상기 현재 블록이 양자화 행렬을 사용하는지 여부에 따라 다른 스케일 팩터 값을 가지는 것을 특징으로 하는 영상 부호화 방법.
  15. 제12항에 있어서,
    상기 기본 스케일 팩터는 상기 현재 블록이 휘도 블록인지 색차 블록인지에 따라 다른 스케일 팩터 값을 가지는 것을 특징으로 하는 영상 부호화 방법.
  16. 제11항에 있어서,
    상기 현재 블록을 포함하는 픽처에 변환 스킵 알고리즘이 사용되는지 여부를 나타내는 플래그가 PPS(Picture Parameter Set)를 통해 시그널링되는 것을 특징으로 하는 영상 부호화 방법.
  17. 제16항에 있어서,
    상기 기본 스케일 팩터는 휘도 신호와 색차 신호에 대한 스케일 팩터 정보를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  18. 제11항에 있어서,
    상기 현재 블록에 대한 스케일 팩터를 도출하는 단계에서는,
    상기 현재 블록이 변환 스킵 블록이거나 혹은 상기 현재 블록이 양자화 행렬을 사용하지 않을 경우,
    상기 현재 블록 내 변환 계수의 위치에 상관없이 기본 스케일 팩터를 도출하는 것을 특징으로 하는 영상 부호화 방법.
  19. 제11항에 있어서,
    상기 현재 블록에 대한 스케일 팩터를 도출하는 단계에서는,
    상기 현재 블록이 변환 스킵 블록이 아닌 경우,
    상기 현재 블록 내 변환 계수의 위치를 기반으로 양자화 행렬을 이용하여 상기 현재 블록에 대한 스케일 팩터를 도출하는 것을 특징으로 하는 영상 부호화 방법.
  20. 현재 블록이 변환 스킵 블록인지 여부에 따라 상기 현재 블록에 대한 스케일 팩터를 도출하고,
    상기 스케일 팩터를 기반으로 상기 현재 블록에 대한 스케일링을 수행하는 양자화부를 포함하며,
    상기 현재 블록에 대한 스케일 팩터는, 상기 현재 블록 내 변환 계수의 위치를 기반으로 도출되며,
    상기 변환 스킵 블록은, 상기 현재 블록에 대해 변환을 적용하지 않은 블록이며, 상기 현재 블록에 대해 변환을 적용할지 여부를 나타내는 정보를 기반으로 특정되는 것을 특징으로 하는 영상 부호화 장치.
PCT/KR2013/005864 2012-07-02 2013-07-02 영상 부호화/복호화 방법 및 장치 WO2014007520A1 (ko)

Priority Applications (17)

Application Number Priority Date Filing Date Title
CN202210024647.2A CN114786016A (zh) 2012-07-02 2013-07-02 图像编码/解码方法和非暂时性计算机可读记录介质
CN202210015293.5A CN115065823A (zh) 2012-07-02 2013-07-02 视频编码/解码方法和非暂时性计算机可读记录介质
CN202210014962.7A CN115052156A (zh) 2012-07-02 2013-07-02 视频编码/解码方法和非暂时性计算机可读记录介质
CN202210015295.4A CN115052159A (zh) 2012-07-02 2013-07-02 视频编码/解码方法和非暂时性计算机可读记录介质
US14/412,316 US9843809B2 (en) 2012-07-02 2013-07-02 Method and apparatus for coding/decoding image
JP2015520053A JP2015526013A (ja) 2012-07-02 2013-07-02 映像符号化方法及び装置、並びに映像復号化方法及び装置
CN202210015290.1A CN115052158A (zh) 2012-07-02 2013-07-02 视频编码/解码方法和非暂时性计算机可读记录介质
CN202210014961.2A CN115052155A (zh) 2012-07-02 2013-07-02 图像编码/解码方法和非暂时性计算机可读记录介质
CN201380042182.2A CN104521232A (zh) 2012-07-02 2013-07-02 用于编码/解码图像的方法和设备
CN202210015288.4A CN115052157A (zh) 2012-07-02 2013-07-02 图像编码/解码方法和非暂时性计算机可读记录介质
US15/802,824 US10045031B2 (en) 2012-07-02 2017-11-03 Method and apparatus for coding/decoding image
US16/023,983 US10419765B2 (en) 2012-07-02 2018-06-29 Method and apparatus for coding/decoding image
US16/024,300 US10554983B2 (en) 2012-07-02 2018-06-29 Method and apparatus for coding/decoding image
US16/023,670 US10187643B2 (en) 2012-07-02 2018-06-29 Method and apparatus for encoding and decoding image
US16/023,857 US10187644B2 (en) 2012-07-02 2018-06-29 Method and apparatus for coding/decoding image
US16/024,190 US10554982B2 (en) 2012-07-02 2018-06-29 Method and apparatus for coding/decoding image
US16/530,463 US20190356924A1 (en) 2012-07-02 2019-08-02 Method and apparatus for coding/decoding image

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20120071938 2012-07-02
KR10-2012-0071938 2012-07-02
KR1020130077047A KR102399795B1 (ko) 2012-07-02 2013-07-02 영상 부호화/복호화 방법 및 장치
KR10-2013-0077047 2013-07-02

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/412,316 A-371-Of-International US9843809B2 (en) 2012-07-02 2013-07-02 Method and apparatus for coding/decoding image
US15/802,824 Continuation US10045031B2 (en) 2012-07-02 2017-11-03 Method and apparatus for coding/decoding image

Publications (1)

Publication Number Publication Date
WO2014007520A1 true WO2014007520A1 (ko) 2014-01-09

Family

ID=49882226

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/005864 WO2014007520A1 (ko) 2012-07-02 2013-07-02 영상 부호화/복호화 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2014007520A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018044088A1 (ko) * 2016-08-31 2018-03-08 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2021187684A1 (ko) * 2020-03-16 2021-09-23 고려대학교 산학협력단 화질 개선 영상 기반의 원본 영상 저장장치 및 그를 위한 어플리케이션
CN113545064A (zh) * 2019-03-04 2021-10-22 阿里巴巴集团控股有限公司 用于处理视频内容的方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005184042A (ja) * 2003-12-15 2005-07-07 Sony Corp 画像復号装置及び画像復号方法並びに画像復号プログラム
US20070223579A1 (en) * 2006-03-27 2007-09-27 Yiliang Bao Method and system for coding and decoding information associated with video compression
KR20090099234A (ko) * 2008-03-17 2009-09-22 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
KR20120033218A (ko) * 2010-09-29 2012-04-06 한국전자통신연구원 적응적 부호화 및 복호화 대상 영역 결정 방법 및 장치
KR20120066593A (ko) * 2010-12-14 2012-06-22 오수미 인터 예측 부호화된 동영상 복호화 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005184042A (ja) * 2003-12-15 2005-07-07 Sony Corp 画像復号装置及び画像復号方法並びに画像復号プログラム
US20070223579A1 (en) * 2006-03-27 2007-09-27 Yiliang Bao Method and system for coding and decoding information associated with video compression
KR20090099234A (ko) * 2008-03-17 2009-09-22 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
KR20120033218A (ko) * 2010-09-29 2012-04-06 한국전자통신연구원 적응적 부호화 및 복호화 대상 영역 결정 방법 및 장치
KR20120066593A (ko) * 2010-12-14 2012-06-22 오수미 인터 예측 부호화된 동영상 복호화 방법

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11445194B2 (en) 2016-08-31 2022-09-13 Kt Corporation Method and apparatus for processing video signal
CN109644281A (zh) * 2016-08-31 2019-04-16 株式会社Kt 用于处理视频信号的方法和设备
US10764583B2 (en) 2016-08-31 2020-09-01 Kt Corporation Method and apparatus for processing video signal
CN109644281B (zh) * 2016-08-31 2021-10-29 株式会社Kt 用于处理视频信号的方法和设备
CN113873243A (zh) * 2016-08-31 2021-12-31 株式会社Kt 用于对视频进行解码的方法和用于对视频进行编码的方法
US11412223B2 (en) 2016-08-31 2022-08-09 Kt Corporation Method and apparatus for processing video signal
US11445193B2 (en) 2016-08-31 2022-09-13 Kt Corporation Method and apparatus for processing video signal
WO2018044088A1 (ko) * 2016-08-31 2018-03-08 주식회사 케이티 비디오 신호 처리 방법 및 장치
US11445195B2 (en) 2016-08-31 2022-09-13 Kt Corporation Method and apparatus for processing video signal
CN113873243B (zh) * 2016-08-31 2024-02-20 株式会社Kt 用于对视频进行解码的方法和用于对视频进行编码的方法
US11962774B2 (en) 2016-08-31 2024-04-16 Kt Corporation Method and apparatus for processing video signal
CN113545064A (zh) * 2019-03-04 2021-10-22 阿里巴巴集团控股有限公司 用于处理视频内容的方法和系统
WO2021187684A1 (ko) * 2020-03-16 2021-09-23 고려대학교 산학협력단 화질 개선 영상 기반의 원본 영상 저장장치 및 그를 위한 어플리케이션

Similar Documents

Publication Publication Date Title
WO2017204532A1 (ko) 영상 부호화/복호화 방법 및 이를 위한 기록 매체
WO2017222326A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018026118A1 (ko) 영상 부호화/복호화 방법
WO2018066867A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2017018664A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020076143A1 (ko) 다중 가정 예측을 사용하는 비디오 신호 처리 방법 및 장치
WO2018070809A1 (ko) 영상 처리 방법, 그를 이용한 영상 복호화 및 부호화 방법
WO2016195460A1 (ko) 화면 내 예측에 대한 부호화/복호화 방법 및 장치
WO2014003423A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2018097626A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017086746A1 (ko) 화면내 예측 모드 부호화/복호화 방법 및 장치
WO2018124843A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2012043989A2 (ko) 블록 분할 방법 및 복호화 장치
WO2011049397A2 (en) Method and apparatus for decoding video according to individual parsing or decoding in data unit level, and method and apparatus for encoding video for individual parsing or decoding in data unit level
WO2011087295A2 (en) Method and apparatus for encoding and decoding video by using pattern information in hierarchical data unit
WO2018047995A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2011071328A2 (en) Method and apparatus for encoding video, and method and apparatus for decoding video
WO2013002554A2 (ko) 픽셀 분류에 따른 오프셋 조정을 이용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2019190201A1 (ko) 비디오 신호 처리 방법 및 장치
WO2019066524A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2014010943A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2017086738A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2021107532A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2020111843A1 (ko) 화면 내 예측 필터링을 이용한 비디오 신호 처리 방법 및 장치
WO2018056701A1 (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: 13812944

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14412316

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2015520053

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 13812944

Country of ref document: EP

Kind code of ref document: A1