WO2012134204A2 - 인 루프 필터링 방법 및 그 장치 - Google Patents

인 루프 필터링 방법 및 그 장치 Download PDF

Info

Publication number
WO2012134204A2
WO2012134204A2 PCT/KR2012/002345 KR2012002345W WO2012134204A2 WO 2012134204 A2 WO2012134204 A2 WO 2012134204A2 KR 2012002345 W KR2012002345 W KR 2012002345W WO 2012134204 A2 WO2012134204 A2 WO 2012134204A2
Authority
WO
WIPO (PCT)
Prior art keywords
block
loop filter
filter
pcm
pixel value
Prior art date
Application number
PCT/KR2012/002345
Other languages
English (en)
French (fr)
Other versions
WO2012134204A3 (ko
Inventor
박승욱
임재현
김정선
박준영
최영희
전병문
전용준
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to EP12763057.2A priority Critical patent/EP2693750A4/en
Priority to US14/007,979 priority patent/US10419764B2/en
Priority to CN201280016858.6A priority patent/CN103460699B/zh
Publication of WO2012134204A2 publication Critical patent/WO2012134204A2/ko
Publication of WO2012134204A3 publication Critical patent/WO2012134204A3/ko
Priority to US16/572,294 priority patent/US10887603B2/en
Priority to US17/110,110 priority patent/US11330273B2/en
Priority to US17/715,903 priority patent/US11758149B2/en
Priority to US18/226,024 priority patent/US20230370610A1/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Definitions

  • the present invention relates to image processing, and more particularly, to an in-loop filtering method.
  • the demand for high resolution and high quality images such as high definition (HD) images and ultra high definition (UHD) images is increasing in various fields.
  • the higher the resolution and the higher quality of the image data the more information or bit rate is transmitted than the existing image data. Therefore, the image data can be transmitted by using a medium such as a conventional wired / wireless broadband line or by using a conventional storage medium.
  • the transmission cost and the storage cost are increased. High efficiency image compression techniques can be used to solve these problems.
  • Image compression technology includes an inter prediction technique for predicting pixel values included in a current picture from before and / or after a current picture, and for predicting pixel values included in a current picture by using pixel information in the current picture.
  • An object of the present invention is to provide an image encoding method and apparatus for improving image encoding / decoding efficiency.
  • Another object of the present invention is to provide an image decoding method and apparatus for improving image encoding / decoding efficiency.
  • Another technical problem of the present invention is to provide an in-loop filtering method and apparatus for improving image encoding / decoding efficiency.
  • Another technical problem of the present invention is to provide a deblocking filtering method and apparatus for improving image encoding / decoding efficiency.
  • Another technical problem of the present invention is to provide a method and apparatus for performing SAO capable of improving image encoding / decoding efficiency.
  • Another technical problem of the present invention is to provide an adaptive loop filtering method and apparatus for improving image encoding / decoding efficiency.
  • An embodiment of the present invention is a video decoding method.
  • the method may include receiving image information, generating a reconstruction block for a current block based on the image information, and applying an in-loop filter to the reconstructed block based on the image information. And generating a final reconstruction block for the current block, wherein a final pixel value in the final reconstruction block is determined according to whether an encoding mode of the current block is an intra pulse code modulation (I_PCM) mode.
  • I_PCM intra pulse code modulation
  • the in-loop filter includes a deblocking filter
  • the generating of the final reconstruction block includes bS (boundary) with respect to a block edge located at or inside the reconstruction block.
  • Strength determining whether the deblocking filter is applied to the block edge based on the bS, and deriving the final pixel value based on determining whether to apply the deblocking filter.
  • the final pixel value derivation step when the encoding mode of the current block is the I_PCM mode, the pixel value for which deblocking filtering is not performed in the reconstruction block may be determined as the final pixel value.
  • the in-loop filter includes an adaptive loop filter (ALF)
  • the generating of the final reconstruction block includes determining whether to apply the adaptive loop filter to the reconstruction block.
  • the method may further include determining a filter shape and a filter coefficient of the adaptive loop filter, and deriving the final pixel value according to the determination of whether to apply the adaptive loop filter based on the filter shape and the filter coefficient.
  • the deriving of the final pixel value when the encoding mode of the current block is the I_PCM mode, a pixel value in which adaptive loop filtering is not performed in the reconstruction block may be determined as the final pixel value.
  • the adaptive loop filter when the encoding mode of the current block is I_PCM mode, it may be determined that the adaptive loop filter is not applied to the reconstructed block.
  • the image information further includes PCM flag information indicating whether an encoding mode of the current block is an I_PCM mode, and in the determining whether to apply the adaptive loop filter, based on the PCM flag information. Whether to apply the adaptive loop filter may be determined.
  • the image information further includes PCM loop filter flag information indicating whether the in-loop filter is applied to the block encoded in the I_PCM mode, and in the determining whether to apply the adaptive loop filter, Whether to apply the adaptive loop filter may be determined based on the PCM flag information and the PCM loop filter flag information.
  • the current block is a coding unit (CU) to be decoded
  • the image information further includes ALF flag information indicating whether adaptive loop filtering is performed on the current block. And in the determining whether to apply the adaptive loop filter, whether to apply the adaptive loop filter may be determined based on the PCM flag information and the ALF flag information.
  • the in-loop filter includes at least one of a deblocking filter, SAO and ALF
  • the last of the deblocking filter, the SAO and the ALF with respect to the reconstructed block Clipping can only be performed on the output of the in-loop filter that is applied to.
  • Another embodiment of the present invention is a video encoding method.
  • the method may include generating a reconstruction block for a current block, applying an in-loop filter to the reconstruction block, generating a final reconstruction block for the current block, and applying the in loop filter. And transmitting the image information about the final pixel value in the final reconstruction block, depending on whether the encoding mode of the current block is an I_PCM (Intra Pulse Code Modulation) mode.
  • I_PCM Intelligent Pulse Code Modulation
  • the in-loop filter includes a deblocking filter
  • the generating of the final reconstructed block comprises: bS (boundary) with respect to a block edge located at or inside the reconstructed block. Strength), determining whether the deblocking filter is applied to the block edge based on the bS, and deriving the final pixel value based on determining whether to apply the deblocking filter. Further, in the final pixel value derivation step, when the encoding mode of the current block is the I_PCM mode, the pixel value for which deblocking filtering is not performed in the reconstruction block may be determined as the final pixel value.
  • the in-loop filter includes a sample adaptive offset (SAO), and in the final reconstructed block generation step, when the encoding mode of the current block is I_PCM mode, the SAO for the pixels in the reconstructed block. May not apply.
  • SAO sample adaptive offset
  • the in-loop filter includes an adaptive loop filter (ALF)
  • the generating of the final reconstruction block includes determining whether to apply the adaptive loop filter to the reconstruction block.
  • the method may further include determining a filter shape and a filter coefficient of the adaptive loop filter, and deriving the final pixel value according to the determination of whether to apply the adaptive loop filter based on the filter shape and the filter coefficient.
  • the deriving of the final pixel value when the encoding mode of the current block is the I_PCM mode, a pixel value in which adaptive loop filtering is not performed in the reconstruction block may be determined as the final pixel value.
  • the adaptive loop filter in the determining whether to apply the adaptive loop filter, it may be determined that the adaptive loop filter is not applied to the reconstructed block when the encoding mode of the current block is the I_PCM mode.
  • image encoding / decoding efficiency can be improved.
  • the image decoding method According to the image decoding method according to the present invention, the image encoding / decoding efficiency can be improved.
  • image encoding / decoding efficiency can be improved.
  • image encoding / decoding efficiency can be improved.
  • image encoding / decoding efficiency may be improved.
  • image encoding / decoding efficiency can be improved.
  • FIG. 1 is a block diagram schematically illustrating an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a conceptual diagram schematically illustrating a prediction unit according to an embodiment of the present invention.
  • FIG. 3 is a block diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 4 is a conceptual diagram schematically illustrating a prediction unit of an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 5 is a flowchart schematically illustrating an embodiment of a method for performing deblocking filtering according to the present invention.
  • FIG. 6 is a conceptual diagram schematically illustrating a band offset.
  • FIG. 7 is a conceptual diagram illustrating four representative edge types of an edge offset based on the current pixel C. Referring to FIG.
  • FIG. 8 is a conceptual diagram schematically comparing an intensity of a current pixel and a neighboring pixel and dividing it into four categories.
  • FIG. 9 is a flowchart schematically illustrating an embodiment of a method for performing adaptive loop filtering according to the present invention.
  • FIG. 10 is a flowchart schematically illustrating an operation of an encoder in a system to which the present invention is applied.
  • FIG. 11 is a flowchart schematically illustrating an operation of a decoder in a system to which the present invention is applied.
  • FIG. 12 is a flow diagram schematically illustrating one embodiment of an in-loop filtering process in accordance with the present invention.
  • each of the components in the drawings described in the present invention are shown independently for the convenience of the description of the different characteristic functions in the image encoding / decoding apparatus, each component is implemented by separate hardware or separate software It does not mean to be.
  • two or more of each configuration may be combined to form one configuration, or one configuration may be divided into a plurality of configurations.
  • Embodiments in which each configuration is integrated and / or separated 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 within the scope of the present invention.
  • the image encoding apparatus 100 may include a picture splitter 105, a predictor 110, a transformer 115, a quantizer 120, a realigner 125, and an entropy encoder 130. , An inverse quantization unit 135, an inverse transform unit 140, a filter unit 145, and a memory 150.
  • the picture dividing unit 105 may divide the input picture into at least one processing unit.
  • the processing unit may be a prediction unit (PU), a transform unit (TU), or a coding unit (CU).
  • a coding unit may mean a unit in which coding / decoding of a picture is performed.
  • One coding block in a picture to be encoded may be repeatedly divided and have a depth based on a quad tree structure.
  • a coding block that is no longer divided may correspond to the coding unit, and the encoder may perform an encoding process for the coding unit.
  • the coding unit may be configured in various sizes such as 64x64, 32x32, 16x16, and 8x8.
  • Can have One coding unit may be divided into a plurality of prediction units and / or a plurality of transform units.
  • the unit may also be called a block in some cases.
  • the predictor 110 may include an inter predictor that performs inter prediction and an intra predictor that performs intra prediction.
  • the prediction unit 110 may generate a prediction block by performing prediction on the processing unit of the picture in the picture division unit 105.
  • the processing unit of the picture in the prediction unit 110 may be a coding unit, a transformation unit, or a prediction unit.
  • the processing unit in which the prediction is performed may differ from the processing unit in which the prediction method and the details are determined.
  • the method of prediction and the prediction mode are determined in units of prediction units, and the performance of prediction may be performed in units of transform units.
  • the residual value (residual block) between the generated prediction block and the original block may be input to the converter 115.
  • prediction mode information and motion vector information used for prediction may be encoded by the entropy encoder 130 together with the residual value and transmitted to the decoder.
  • the transformer 115 performs a transform on the residual block in transform units and generates transform coefficients.
  • the transform unit in the transform unit 115 may be a transform unit and may have a quad tree structure. In this case, the size of the transform unit may be determined within a range of a predetermined maximum and minimum size.
  • the transform unit 115 may transform the residual block using a discrete cosine transform (DCT) and / or a discrete sine transform (DST).
  • DCT discrete cosine transform
  • DST discrete sine transform
  • the quantization unit 120 may generate quantization coefficients by quantizing the residual values transformed by the transformation unit 115.
  • the value calculated by the quantization unit 120 may be provided to the inverse quantization unit 135 and the reordering unit 125.
  • the reordering unit 125 may rearrange the quantization coefficients provided from the quantization unit 120. By rearranging the quantization coefficients, the efficiency of encoding in the entropy encoder 130 may be increased.
  • the reordering unit 125 may rearrange the quantization coefficients in the form of a two-dimensional block into a one-dimensional vector form through a coefficient scanning method.
  • the reordering unit 125 may increase the entropy coding efficiency of the entropy encoder 130 by changing the order of coefficient scanning based on probabilistic statistics of coefficients transmitted from the quantization unit.
  • the entropy encoder 130 may perform entropy encoding on the quantized coefficients rearranged by the reordering unit 125.
  • the entropy encoder 130 may include quantization coefficient information, block type information, prediction mode information, division unit information, prediction unit information, transmission unit information, and motion vector of the coding unit received from the reordering unit 125 and the prediction unit 110.
  • Various information such as information, reference picture information, interpolation information of a block, and filtering information can be encoded.
  • Entropy encoding may use encoding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
  • the entropy encoder 130 may store a table for performing entropy coding, such as a variable length coding (VLC) table, and the entropy encoder 130. ) May perform entropy encoding using the stored VLC table.
  • VLC variable length coding
  • the entropy encoder 130 converts a symbol into a bin and binarizes the symbol, and then performs an arithmetic encoding on the bin according to the occurrence probability of the bin to generate a bitstream. You can also create
  • a low value index and a corresponding short codeword are assigned to a symbol having a high probability of occurrence, and a high value index is assigned to a symbol having a low probability of occurrence.
  • Corresponding long codewords may be assigned. Accordingly, the bit amount of the symbols to be encoded may be reduced, and image compression performance may be improved by entropy encoding.
  • the inverse quantization unit 135 may inverse quantize the quantized values in the quantization unit 120, and the inverse transformer 140 may inversely transform the inverse quantized values in the inverse quantization unit 135.
  • the residual value generated by the inverse quantization unit 135 and the inverse transformer 140 may be combined with the prediction block predicted by the prediction unit 110 to generate a reconstructed block.
  • the filter unit 145 may apply an in-loop filter to the reconstructed block and / or picture.
  • the in loop filter may include a deblocking filter, a sample adaptive offset (SAO), a adaptive loop filter (ALF), and the like.
  • the deblocking filter may remove block distortion generated at the boundary between blocks in the reconstructed picture.
  • SAO can add an appropriate offset to the pixel value to compensate for coding errors.
  • the adaptive loop filter may perform filtering based on a value obtained by comparing a reconstructed image with an original image after the block is filtered through a deblocking filter.
  • the filter unit 145 may not apply filtering to the reconstructed block used for intra prediction.
  • the memory 150 may store the reconstructed block or the picture calculated by the filter unit 145.
  • the reconstructed block or picture stored in the memory 150 may be provided to the predictor 110 that performs inter prediction.
  • the predictor 200 may include an inter predictor 210 and an intra predictor 220.
  • the inter prediction unit 210 may generate a prediction block by performing prediction based on information of at least one picture of a previous picture or a subsequent picture of the current picture.
  • the intra predictor 220 may generate a prediction block by performing prediction based on pixel information in the current picture.
  • the inter prediction unit 210 may select a reference picture with respect to the prediction unit and select a reference block having the same size as the prediction unit in integer pixel sample units. Subsequently, the inter prediction unit 210 is most similar to the current prediction unit in sub-integer sample units such as 1/2 pixel sample unit and 1/4 pixel sample unit, so that the residual signal is minimized and the size of the motion vector to be encoded is also minimized. Can generate a predictive block. In this case, the motion vector may be expressed in units of integer pixels or less.
  • Information about the index and the motion vector of the reference picture selected by the inter prediction unit 210 may be encoded and transmitted to the decoder.
  • the image decoder 300 includes an entropy decoder 310, a reordering unit 315, an inverse quantizer 320, an inverse transformer 325, a predictor 330, and a filter 335. And a memory 340.
  • the input bit stream may be decoded according to a procedure in which image information is processed by the image encoder.
  • the entropy decoding unit 310 may perform entropy decoding on the input bitstream, and the entropy decoding method is similar to the entropy encoding method described above.
  • entropy decoding When entropy decoding is applied, a low value index and a corresponding short codeword are assigned to a symbol having a high probability of occurrence, and a high value index is assigned to a symbol having a low probability of occurrence.
  • Corresponding long codewords may be assigned. Accordingly, the bit amount of the symbols to be encoded may be reduced, and image compression performance may be improved by entropy encoding.
  • Information for generating a prediction block among the information decoded by the entropy decoder 310 may be provided to the predictor 330, and a residual value of which entropy decoding is performed by the entropy decoder may be input to the reordering unit 315.
  • the reordering unit 315 may reorder the bit stream deentropy decoded by the entropy decoding unit 310 based on a method of reordering the image encoder.
  • the reordering unit 315 may reorder the coefficients expressed in the form of a one-dimensional vector by restoring the coefficients in the form of a two-dimensional block.
  • the reordering unit 315 may be realigned by receiving information related to coefficient scanning performed by the encoder and performing reverse scanning based on the scanning order performed by the corresponding encoder.
  • the inverse quantization unit 320 may perform inverse quantization based on the quantization parameter provided by the encoder and the coefficient values of the rearranged block.
  • the inverse transform unit 325 may perform inverse DCT and / or inverse DST on DCT and DST performed by the transform unit of the encoder with respect to the quantization result performed by the image encoder.
  • the inverse transform may be performed based on a transmission unit determined by the encoder or a division unit of an image.
  • the DCT and / or DST may be selectively performed according to a plurality of pieces of information such as a prediction method, a size of the current block, and / or a prediction direction, and the inverse transformer 325 of the decoder is Inverse transformation may be performed based on the performed transformation information.
  • the prediction unit 330 may generate the prediction block based on the prediction block generation related information provided by the entropy decoding unit 310 and the previously decoded block and / or picture information provided by the memory 340.
  • the reconstruction block may be generated using the prediction block generated by the predictor 330 and the residual block provided by the inverse transform unit 325.
  • the reconstructed block and / or picture may be provided to the filter unit 335.
  • the filter unit 335 may apply an in-loop filter to the reconstructed block and / or picture.
  • the in-loop filter may include a deblocking filter, a sample adaptive offset (SAO), and / or an adaptive loop filter (ALF).
  • the memory 340 may store the reconstructed picture or block to use as a reference picture or reference block, and may provide the reconstructed picture to the output unit.
  • FIG. 4 is a conceptual diagram schematically illustrating a prediction unit of an image decoding apparatus according to an embodiment of the present invention.
  • the predictor 400 may include an intra predictor 410 and an inter predictor 420.
  • the intra prediction unit 410 may generate a prediction block based on pixel information in the current picture when the prediction mode for the corresponding prediction unit is an intra prediction mode (intra prediction mode).
  • the inter prediction unit 420 may include information necessary for inter prediction of the current prediction unit provided by the image encoder, eg, a motion vector, Inter-prediction of the current prediction unit may be performed based on information included in at least one of a previous picture or a subsequent picture of the current picture including the current prediction unit by using information about the reference picture index.
  • the motion information may be derived in response to the skip flag, the merge flag, and the like of the coding unit received from the encoder.
  • a "picture” or a “picture” can represent the same meaning as a “picture” according to the configuration or expression of the invention, the “picture” may be described as a “picture” or a “picture”.
  • inter prediction and inter prediction have the same meaning
  • intra prediction and intra prediction have the same meaning.
  • the intra predictor may generate a prediction block for the current block by performing prediction based on pixel information in the current picture. For example, the intra predictor may predict pixel values in the current block by using pixels in the reconstructed block located at the top, left, top left and / or top right with respect to the current block.
  • the processing unit in which the prediction is performed and the processing unit in which the prediction method and the specific content are determined may be different.
  • the prediction method and the prediction mode may be determined in units of PUs, and the prediction may be performed in units of TUs.
  • Intra prediction may be performed according to the intra prediction mode, for each PU in the current block (eg, CU).
  • the intra prediction mode vertical, horizontal, DC, planar, and angular modes may be used according to the position and / or prediction method of reference pixels used for pixel value prediction of the current block. There may be.
  • the prediction may be performed in the vertical direction using the pixel values of the adjacent blocks
  • the horizontal mode the prediction may be performed in the horizontal direction using the pixel values of the adjacent blocks.
  • a prediction block may be generated by an average of pixel values of reference pixels.
  • the angular mode prediction may be performed according to a predetermined angle and / or direction for each mode.
  • a predetermined prediction direction and prediction mode value may be used for intra prediction.
  • the encoder and the decoder may use an I_PCM mode (Intra Pulse Code Modulation) in addition to the intra prediction mode for lossless coding.
  • I_PCM mode Intra Pulse Code Modulation
  • the encoder may transmit the pixel values in the current block to the decoder without performing prediction, transform, and / or quantization.
  • pixel values in the current block may be coded in a raster scan order and transmitted to the decoder.
  • the decoder may not perform prediction, inverse scaling, inverse transform and / or inverse quantization on a block to which the I_PCM mode is applied. In this case, the decoder may parse the pixel values transmitted from the encoder and then directly derive the pixel values in the reconstructed block from the parsed pixel values.
  • the encoder may transmit information on whether the I_PCM mode is applied to the current block (eg, CU) to the decoder.
  • the information may be represented by, for example, a PCM flag.
  • the PCM flag may be a flag indicating whether the I_PCM mode is applied to the current CU, that is, whether the current CU is coded by the I_PCM.
  • the flag may be represented as pcm_flag.
  • the encoder may entropy-encode the flag and transmit the flag to the decoder.
  • the decoder may receive and decode the encoded PCM flag, and determine whether I_PCM is applied to the current CU using the decoded PCM flag.
  • the decoder may not perform prediction, inverse scaling, inverse transform and / or inverse quantization on the current CU.
  • the decoder may parse the pixel value transmitted from the encoder and then directly derive the reconstructed pixel value from the parsed pixel value.
  • the reconstructed pixel value may mean a reconstructed pixel value before the in-loop filter is applied.
  • the image signal may include three color signals indicating the magnitude of three primary color components of light.
  • the three color signals may be represented as R (Red), G (Green), and B (Blue), respectively.
  • the R, G, and B signals may be converted into luma and chroma signals equivalent to the R, G, and B signals.
  • the video signal may include one luma signal and two chroma signals.
  • the luma signal is a component representing the brightness of the screen
  • the chroma signal is a component representing the color (color) of the screen.
  • the luma signal may be represented by L
  • the two chroma signals may be represented by Cb and Cr, respectively.
  • the number of pixels of the chroma component in one image or block may be smaller than the number of pixels of the luma component.
  • the number of pixels of the chroma component block corresponding to the luma component block is 1/2 of the number of pixels of the luma component block in the horizontal direction and 1/2 of the number of pixels of the luma component block in the vertical direction. It may be.
  • an embodiment of a method for deriving a reconstructed pixel value of the luma component may be represented as follows.
  • currCodingUnitSize may indicate the size of the current CU.
  • currCodingUnitSize may be initialized to (1 ⁇ log2CUSize), and log2CUSize may represent a log value of the current CU size.
  • R′L may mean a reconstructed pixel value of the luma component, that is, a luma reconstructed pixel value before the in-loop filter (eg, the deblocking filter) is applied.
  • (xB, yB) may represent the coordinates of the upper left pixel in the current CU.
  • pcm_sample_luma may indicate a pixel value of a luma component encoded in I_PCM mode for the current CU and transmitted to the decoder. In this case, as an example, the pixel values of the luma component may be encoded in a raster scan order.
  • Another embodiment of a method for deriving a reconstructed pixel value of the luma component may be represented as follows.
  • nS may represent the size of the current CU.
  • nS may be initialized to (1 ⁇ log2CbSize), and log2CbSize may represent a log value of the current CU size.
  • recSamples L may mean a reconstructed pixel value of the luma component, that is, a luma reconstructed pixel value before an in-loop filter (eg, a deblocking filter) is applied.
  • (xB, yB) may represent the coordinates of the upper left pixel in the current CU.
  • pcm_sample_luma may indicate a pixel value of a luma component encoded in I_PCM mode for the current CU and transmitted to the decoder.
  • the pixel values of the luma component may be encoded in a raster scan order.
  • PCMBitDepth Y may mean the number of bits used to represent each pixel corresponding to pcm_sample_luma
  • BitDepth Y may mean the bit depth of luma component pixels in the current CU.
  • an embodiment of a method for deriving a reconstructed pixel value of a chroma component may be represented as follows.
  • currCodingUnitSizeC may indicate the size of the chroma component block for the current CU.
  • currCodingUnitSizeC may be initialized to ((1 ⁇ log2CUSize) >> 1), and log2CUSize may represent a log value of the current CU size.
  • R'Cb may mean a reconstructed pixel value of the chroma component Cb, that is, a chroma Cb reconstructed pixel value before an in-loop filter (eg, a deblocking filter) is applied
  • R'Cr is an in-loop filter
  • it may mean a reconstructed pixel value of the chroma component Cr, that is, a chroma Cr reconstruction pixel value before the deblocking filter is applied.
  • pcm_sample_chroma may indicate a pixel value of a chroma component that is encoded in I_PCM mode for the current CU and transmitted to the decoder.
  • the pixel values of the chroma component may be encoded in a raster scan order.
  • Another embodiment of the method for deriving the reconstructed pixel value of the chroma component may be represented as follows.
  • recSamples Cb may mean a reconstructed pixel value of the chroma component Cb, that is, a chroma Cb reconstructed pixel value before an in-loop filter (for example, a deblocking filter) is applied
  • recSamples Cr is an in-loop filter (for example, it may mean a reconstructed pixel value of the chroma component Cr, that is, a chroma Cr reconstructed pixel value before the deblocking filter) is applied.
  • pcm_sample_chroma may indicate a pixel value of a chroma component that is encoded in I_PCM mode for the current CU and transmitted to the decoder.
  • the pixel values of the chroma component may be encoded in a raster scan order.
  • PCMBitDepth C is the number of bits used to represent each of the pixels corresponding to pcm_sample_chroma
  • BitDepth C may indicate the current bit field (bit depth) of the chroma component pixel in the CU.
  • the decoder may parse the pixel value transmitted from the encoder, and then copy the parsed pixel value (pcm_sample_luma, pcm_sample_chroma) as it is and use it as the reconstructed pixel value.
  • the encoder may code the pixel values in the current CU without any prediction, transformation, and / or quantization, and transmit them to the decoder.
  • the I_PCM mode may correspond to a lossless coding mode, and the decoder may parse the transmitted pixel value and then directly derive the reconstructed pixel value from the parsed pixel value.
  • an in-loop filter may be applied to the reconstructed image to compensate for a difference between the original image and the reconstructed image due to an error occurring in a compression encoding process such as quantization.
  • in-loop filtering may be performed in the filter unit of the encoder and the decoder, and the filter unit may perform at least one of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) on the reconstructed image.
  • FIG. 5 is a flowchart schematically illustrating an embodiment of a method for performing deblocking filtering according to the present invention.
  • the encoder and the decoder may reconstruct an image in units of blocks.
  • block distortion may occur at boundaries between blocks in the reconstructed picture.
  • the encoder and the decoder may use a deblocking filter to remove block distortion occurring at the boundary between blocks in the reconstructed picture.
  • the deblocking filtering process can be applied to all prediction unit edges and transform unit edges in the picture. However, it may not be applied to the edge at the boundary of the picture. Accordingly, the encoder and the decoder may determine a region to which the deblocking filter is applied. Specifically, the encoder and the decoder are based on the information of the current block (position, width, height, depth, size, prediction partition mode (PartMode, etc.)), the boundary and prediction unit of the transform unit to which the deblocking filter is to be applied in the current block. The boundary of can be determined.
  • the encoder and the decoder may determine a boundary strength (bS) for a boundary between blocks and / or an edge of a block based on the determined transform unit boundary and prediction unit boundary (S510).
  • bS may mean the boundary strength between blocks.
  • an "edge" of a block may mean “boundary" between blocks.
  • the encoder and the decoder may determine the bS for the boundary between blocks in consideration of the probability of occurrence of block distortion in order to increase coding efficiency. For example, assuming a case of obtaining a bS value for a boundary (block edge) between a block P and a block Q, the encoder and the decoder determine whether the boundary corresponds to the boundary to which the deblocking filter is applied, and the direction of the block edge. Based on the position of the block and / or information on whether the block P and the block Q are encoded in the intra mode, etc., a bS value for the boundary may be determined.
  • the encoder and the decoder perform filtering by different methods on the boundary of the position where the block distortion is likely to occur and the boundary where the block distortion is unlikely to occur within the same picture. Can increase.
  • the encoder and the decoder may determine whether to perform filtering (S520).
  • the encoder and the decoder determine how much a predetermined sample line in the block P and a predetermined sample line in the block Q are placed between the boundaries. It may be determined whether filtering is performed based on whether the linearity of the filter is displayed.
  • the encoder and the decoder may determine whether to perform filtering based on the pixel value on the sample line in the block P, the pixel value on the sample line in the block Q, and the variable ⁇ value.
  • the encoder may derive a positive variable d by performing an operation according to a predetermined calculation method using the pixel value on the sample line in the block P and the pixel value on the sample line in the block Q.
  • the encoder may determine to perform filtering.
  • the variable ⁇ value may be determined according to a quantization parameter (QP) value of the current CU.
  • the variable ⁇ value may have a larger value as the quantization parameter value is larger.
  • variable ⁇ value when the quantization parameter value is 0, the variable ⁇ value may be determined as 0. Therefore, when the quantization parameter value for the current CU is 0, the variable d value is always greater than or equal to the variable ⁇ value, so that the encoder and the decoder may determine that no filtering is performed.
  • the encoder and the decoder may perform deblocking filtering according to the bS value and determining whether to perform the filtering (S530).
  • the encoder and the decoder may determine a filter applied to the boundary between blocks and / or the edge of the block based on the determined bS value.
  • the filter can be divided into a strong filter and a weak filter. That is, the encoder and the decoder may determine the filter applied to the boundary between blocks and / or the edge of the block as a strong filter or a weak filter. In this case, the encoder and the decoder may increase the encoding efficiency by filtering the boundary of the position where the block distortion is likely to occur and the boundary where the block distortion is likely to occur within the same picture in different ways.
  • the encoder deblocks the boundary between blocks and / or the edge of the block using the determined filter (for example, a strong filter or a weak filter). Filtering can be performed.
  • the encoder and the decoder may not perform deblocking filtering on the pixels in the block encoded in the I_PCM mode.
  • the encoder and the decoder may omit the deblocking filtering process for the pixels in the current CU.
  • the encoder may transmit the pixel values in the current CU to the decoder without performing prediction, transform, and / or quantization.
  • the decoder may derive the same reconstructed pixel value as the original data from the pixel value transmitted from the encoder. Therefore, in order to reconstruct an image of the best image quality, in-loop filtering (eg, deblocking filtering, SAO, ALF) may need to be omitted.
  • in-loop filtering eg, deblocking filtering, SAO, ALF
  • the encoder and the decoder may determine that the deblocking filtering is not performed on the pixels in the CU in the above-described determination step (S520). To this end, the encoder and the decoder may determine that the quantization parameter value of the current CU is 0 and determine the variable ⁇ value. In this case, the variable ⁇ value may be determined as 0, and the encoder and the decoder may determine that the filtering is not performed. In this case, the encoder and the decoder may omit the deblocking filtering process. In this case, whether the current CU is encoded by I_PCM may be determined based on, for example, a PCM flag.
  • the encoder and the decoder may determine a reconstructed pixel value in which deblocking filtering is not performed on a pixel in a block (eg, a CU) encoded in the I_PCM mode as the final pixel value of the deblocking filtering process. .
  • the encoder and the decoder may omit the deblocking filtering process.
  • a block coded in I_PCM mode is called an I_PCM block.
  • the PCM loop filter flag may be a flag indicating whether an in-loop filter is applied to an I_PCM block.
  • the flag may be pcm_loop_filter_disable_flag.
  • the encoder may transmit PCM loop filter flag information for the video sequence to the decoder, and the decoder may determine whether to apply the deblocking filter based on the transmitted PCM loop filter flag information.
  • the filter unit of the encoder and the decoder may apply SAO (Sample Adaptive Offset) as well as the deblocking filter as an in-loop filter.
  • the SAO process may correspond to another in-loop filtering process that compensates for an offset difference from an original image on a pixel-by-pixel basis for an image on which deblocking filtering is performed.
  • SAO compensates for a coding error, and in this case, the coding error may be due to quantization.
  • SAO band offset and edge offset.
  • FIG. 6 is a conceptual diagram schematically illustrating a band offset.
  • the pixels in the SAO application unit may be classified according to the intensity of each pixel.
  • the total intensity range may be divided into a predetermined number of intensity intervals, that is, bands.
  • Each band may include pixels having an intensity within a corresponding intensity interval. In this case, an offset applied to each band may be determined.
  • the entire intensity section may be 0 to 2 N ⁇ 1.
  • an intensity section of 0 to 255 may exist. 6 shows an example of dividing the entire intensity section into 32 bands having the same intensity interval.
  • each band may be 8, for example.
  • the 32 bands can be divided into a central first group and a peripheral second group.
  • the first group may consist of 16 bands, and the second group may also consist of 16 bands.
  • the offset may be applied to each band, and the offset value may be transmitted to the decoder for each band.
  • the pixels may be grouped in the same process of applying the band offset in the encoder and the offset value transmitted for each band may be applied.
  • edge offset in consideration of edge information per pixel.
  • the edge offset may be applied in consideration of the direction of the edge with respect to the current pixel and the intensity of the current pixel and surrounding pixels.
  • edges There are typically four types of edges that can appear in each direction within a block.
  • the four types of edges may include, for example, an edge having a direction of 0 degrees, an edge having a direction of 90 degrees, an edge having a direction of 135 degrees, and an edge having a direction of 45 degrees. Therefore, four kinds of edge offsets may be used for one filtering unit, that is, for an SAO application unit, depending on the angle or direction of the edge.
  • edge types of edge offsets For convenience of explanation, hereinafter, four types of edges on the SAO application unit are referred to as edge types of edge offsets.
  • FIG. 7 is a conceptual diagram illustrating four representative edge types of an edge offset based on the current pixel C.
  • (a) of FIG. 7 represents an edge of 1 degree 0 degree
  • (b) represents an edge of 1 dimension 90 degree
  • (c) represents an edge of 1 dimension 135 degree
  • (d) may represent an one-dimensional 45 degree edge.
  • four edge offsets may be used. That is, for each SAO application unit, an offset corresponding to one of four edge types may be applied.
  • the relationship between the current pixel and the surrounding pixels can be considered to apply the edge offset.
  • FIG. 8 is a conceptual diagram schematically comparing an intensity of a current pixel and a neighboring pixel and dividing it into four categories.
  • the 8A to 8D may show distributions of the current pixel C and the adjacent pixel for each category.
  • the category shown in (a) of FIG. 8 represents a case where the intensity of two adjacent pixels is larger than the current pixel C.
  • the category illustrated in (b) of FIG. 8 represents two cases in which the intensity of one of two pixels adjacent to the current pixel is smaller than the current pixel.
  • the category illustrated in (c) of FIG. 8 represents two cases in which the intensity of one of two pixels adjacent to the current pixel is larger than the current pixel.
  • the category shown in (d) of FIG. 8 represents a case where the intensity of two pixels adjacent to the current pixel is smaller than the current pixel.
  • FIGS. 8A and 8D show a case where the intensity of the current pixel is larger or smaller than the intensity of a neighboring pixel. 8B and 8D may also appear when the current pixel is located at a boundary of a predetermined area.
  • Table 1 schematically shows the four categories shown in FIG. 8.
  • C represents the current pixel.
  • Category 1 of Table 1 corresponds to FIG. 8A
  • Category 2 of Table 1 corresponds to FIG. 8B
  • Category 3 of Table 1 corresponds to FIG. 8C
  • Table 1 Category 4 may correspond to FIG. 8D.
  • the encoder may transmit an edge offset value for each category.
  • the decoder may reconstruct the pixel by adding an edge offset value corresponding to the edge type and category for each pixel. For example, after determining which mode among the four edge types of FIG. 7 belongs to, one of the categories of Table 1 may be determined to apply an offset of the corresponding category to the current pixel.
  • the SAO process is a process performed for the slice and / or the whole picture (picture). If the I_PCM mode is applied to the current CU, the encoder may transmit the pixel values in the current CU to the decoder without performing prediction, transform, and / or quantization. In this case, since the decoder may derive the same reconstructed pixel value as the original data from the pixel value transmitted from the encoder, it may be more efficient not to perform the SAO process.
  • the encoder and the decoder may not perform the SAO process on the pixels in the block encoded in the I_PCM mode in the SAO application process. That is, the encoder and the decoder may omit the SAO process for the pixel in the I_PCM block. Omission of the SAO process according to whether it is in I_PCM mode may be applied to at least one offset type of band offset and edge offset. In this case, whether SAO is applied as an example may be determined based on a PCM flag and / or a PCM loop filter flag.
  • the encoder and the decoder may determine that the SAO process is not performed.
  • the encoder and the decoder may determine the reconstructed pixel value to which the SAO is not applied as the final pixel value of the SAO process, for the pixels in the block encoded in the I_PCM mode.
  • the filter unit of the encoder and the decoder may apply the deblocking filter, the SAO as well as the adaptive loop filter (ALF) as the in-loop filter.
  • the ALF may perform filtering based on a value obtained by comparing the reconstructed image with the original image after the deblocking filtering and / or SAO process is performed.
  • FIG. 9 is a flowchart schematically illustrating an embodiment of a method for performing adaptive loop filtering according to the present invention.
  • the ALF can compensate for encoding errors using a Wiener filter and can be applied globally within a slice.
  • ALF may be applied after SAO is applied and may be applied only in the case of HE (High Efficiency).
  • the encoder and the decoder may determine whether to perform adaptive loop filtering (S910).
  • Information on whether to perform filtering may be included in the bitstream and transmitted from the encoder to the decoder.
  • the encoder may transmit ALF flag information indicating whether adaptive loop filtering is performed for each CU to the decoder.
  • the ALF flag information may correspond to a flag indicating whether adaptive loop filtering is performed on the current CU, and may be represented as alf_cu_flag as an example. That is, the ALF flag information may correspond to CU unit on / off information on the ALF.
  • the decoder may determine whether to apply ALF in units of CU using the transmitted ALF flag information.
  • Information on whether to perform filtering may include CU unit control flag information. That is, the encoder may include the CU unit control flag information in the bitstream to transmit to the decoder.
  • the CU unit control flag may be a flag indicating whether filtering can be determined on a CU basis, that is, whether ALF is adaptively applied to each CU.
  • the CU unit control flag may be represented by alf_cu_control_flag.
  • the encoder and the decoder may determine whether to apply ALF to the current CU according to the ALF flag (eg, alf_cu_flag) value. That is, when the value of alf_cu_control_flag is 1, the encoder and the decoder may turn on / off the ALF process in units of CUs according to the ALF flag value. If the alf_cu_control_flag value is 0, the CU corresponding to the alf_cu_control_flag may not have ALF flag information. That is, in this case, CU unit on / off information for ALF may not exist.
  • the ALF flag eg, alf_cu_control_flag
  • the encoder and the decoder may not perform the ALF process on the pixels in the block encoded in the I_PCM mode. That is, when the current CU is encoded in the I_PCM mode, the encoder and the decoder may omit the ALF process for the pixels in the current CU.
  • the encoder may transmit the pixel values in the current CU to the decoder without performing prediction, transform, and / or quantization.
  • the decoder may derive the same reconstructed pixel value as the original data from the pixel value transmitted from the encoder. Therefore, in order to reconstruct an image of the best image quality, in-loop filtering (eg, deblocking filtering, SAO, ALF) may need to be omitted.
  • in-loop filtering eg, deblocking filtering, SAO, ALF
  • the encoder and the decoder may determine that the ALF process is not performed on the pixels in the CU. In this case, whether the current CU is encoded in the I_PCM mode may be determined based on, for example, the PCM flag and the PCM loop filter flag. Since the PCM flag and the PCM loop filter flag have been described above, they will be omitted.
  • the encoder and the decoder may determine whether to apply ALF in a different manner according to a CU unit control flag (for example, alf_cu_control_flag.
  • alf_cu_control_flag a CU unit control flag
  • the encoder and the decoder may determine whether to apply ALF to the current CU according to an ALF flag (for example, alf_cu_flag.
  • alf_cu_flag an ALF flag
  • the encoder may allocate a value of 0 to alf_cu_flag for a CU encoded in the I_PCM mode and transmit the same to the decoder.
  • the decoder may omit the ALF process for the CU encoded in the I_PCM mode by determining whether to apply ALF according to the alf_cu_flag value.
  • the alf_cu_control_flag value is 1, the encoder and the decoder may ignore the alf_cu_flag value and skip the ALF process for the CU encoded in the I_PCM mode.
  • the CU corresponding to the alf_cu_control_flag may not have ALF flag information. That is, in this case, CU unit on / off information for ALF may not exist.
  • the encoder and the decoder may infer the alf_cu_flag value to 0 with respect to the CU encoded in the I_PCM mode and may skip the ALF process.
  • the encoder and the decoder may determine the filter shape and the filter coefficients (S920).
  • the encoder and the decoder may determine a filter shape and a filter coefficient.
  • Information about the filter shape and / or filter coefficients may be transmitted from the encoder to the decoder through a slice header.
  • the filter coefficients may be calculated in the encoder, and the number of filter coefficients may be one or more.
  • the encoder and the decoder may perform adaptive loop filtering on the pixels of the reconstructed image based on the determined filter shape and the filter coefficients (S930).
  • the reconstructed image may correspond to an image after the deblocking filtering and / or SAO process is performed.
  • FIG. 10 is a flowchart schematically illustrating an operation of an encoder in a system to which the present invention is applied.
  • the encoder may reconstruct a block (S1010).
  • the encoder may transform the residual block generated based on the prediction block and the current block, and quantize and generate a residual block reconstructed through inverse quantization and inverse transformation.
  • the encoder may generate a reconstructed block based on the reconstructed residual block and the prediction block.
  • the encoder may not perform prediction, transform, and / or quantization.
  • the encoder may code the pixel values in the current block as they are and transmit them to the decoder, and may generate a block directly reconstructed from the pixel values in the current block.
  • the encoder may apply an in-loop filter to the reconstructed block (S1020).
  • the in-loop filter may be applied in the filter unit of FIG. 1, and the deblocking filter, SAO, ALF, etc. may be applied in the filter unit.
  • the encoder may not apply one or more of the deblocking filter, SAO and ALF to the block encoded in the I_PCM mode and / or the pixels in the I_PCM block. Details thereof are as described above.
  • the encoder may then transmit the bitstream including the image information to which the deblocking filter, SAO and / or ALF, and the like are applied, and the image information about the in-loop filter (S1030).
  • FIG. 11 is a flowchart schematically illustrating an operation of a decoder in a system to which the present invention is applied.
  • the decoder may first receive a bit stream from an encoder (S1110).
  • the received bit stream may include not only video information but also information necessary to restore video information.
  • the decoder may reconstruct the block based on the received information (S1120). For example, the decoder may generate a reconstruction block based on the prediction block generated by the prediction and the residual block generated through inverse quantization and inverse transformation. As another example, when the I_PCM mode is applied to the current block, the decoder may not perform prediction, transform, and / or quantization. In this case, the encoder may code the pixel values in the current block as they are and transmit them to the decoder, and the decoder may generate a reconstruction block directly from the transmitted pixel values.
  • the decoder may apply an in-loop filter to the reconstruction block (S1130).
  • the in-loop filter may be applied in the filter unit of FIG. 3, and the deblocking filter, SAO, ALF, etc. may be applied in the filter unit.
  • the decoder may not apply one or more of the deblocking filter, SAO, and ALF to the block coded in the I_PCM mode and / or the pixels in the block coded in the I_PCM mode. Details thereof are as described above.
  • the encoder and the decoder may perform a clipping and / or rounding process on each of the outputs generated by the deblocking filter, the SAO, and the ALF process.
  • clipping may mean a process of cutting an arbitrary value into a value within a predetermined range.
  • the clipping operation can be represented by clip3 (x, y, z). At this time, if z is smaller than x, the value of clip3 (x, y, z) may be x, and if z is larger than y, the value of clip3 (x, y, z) may be y. Otherwise, the value of clip3 (x, y, z) can be z.
  • the output of each of the deblocking filter, SAO and ALF can be limited to a value within a certain range.
  • the encoder and the decoder may perform deblocking filtering and then perform clipping in a range of 8 bits for each pixel value on which the deblocking filtering is performed. After that, the encoder and the decoder may perform a SAO process and then perform clipping in a range of 8 bits for each pixel value to which the SAO is applied. Similarly, after performing the ALF process, the encoder and the decoder may perform clipping in the range of 8 bits for each pixel value to which the ALF is applied.
  • the clipping process may be applied to each of the deblocking filter, SAO, and ALF.
  • the clipping process is not limited to the above-described embodiment and may be applied only to some of the deblocking filter, SAO and ALF.
  • the output of each of the deblocking filter, SAO and ALF can be limited to a value within an 8 bit range.
  • such a plurality of clipping and / or rounding processes may result in loss of output accuracy, and coding efficiency may be reduced.
  • an in-loop filtering process can be provided to eliminate unnecessary clipping processes.
  • FIG. 12 is a flow diagram schematically illustrating one embodiment of an in-loop filtering process in accordance with the present invention.
  • the encoder and the decoder may apply an in-loop filter to the reconstructed image.
  • the in-loop filter applied to the reconstructed image may be one or more of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF).
  • SAO sample adaptive offset
  • ALF adaptive loop filter
  • the encoder and the decoder may perform clipping for each step (deblocking filtering, SAO, ALF, etc.) of the in-loop filter.
  • this can lead to loss of output accuracy and reduced coding efficiency. Therefore, the encoder and the decoder may perform clipping only for the last process and / or step performed in the in-loop filter applied to the reconstructed image. In this case, clipping may not be performed in the remaining filtering steps except for the last filtering process.
  • the encoder and the decoder may perform clipping only on pixels on which the ALF process is performed, without performing clipping in the deblocking filtering and SAO process. have. Even in this case, the final output value may be limited to a value within a certain range.
  • the encoder and the decoder may generate a reconstructed image (S1210).
  • the reconstructed image may be generated by generating a reconstructed block on a block basis.
  • the encoder and the decoder may generate a reconstruction block based on the prediction block generated by the prediction and the residual block reconstructed through inverse quantization and inverse transformation.
  • the encoder and the decoder may not perform prediction, transformation, and / or quantization on a block to which the I_PCM mode is applied.
  • the encoder may code the pixel values in the I_PCM block as it is and transmit them to the decoder, and may directly generate a reconstruction block from the pixel values in the I_PCM block.
  • the decoder may generate a reconstruction block directly from pixel values transmitted from the encoder.
  • the encoder and the decoder may determine whether to apply the SAO (S1220).
  • information about whether to apply the SAO may be encoded in the encoder and transmitted to the decoder.
  • the decoder may determine whether to apply the SAO by using the transmitted information.
  • the encoder and the decoder may not perform the SAO process on the pixels in the block encoded in the I_PCM mode.
  • the encoder and the decoder may determine that the SAO process is not performed.
  • the encoder and the decoder may perform clipping after deblocking filtering and then perform pixel clipping on each pixel value in which the deblocking filtering is performed (S1230).
  • each pixel value in which clipping is performed may correspond to a final output value of the in-loop filtering process. If clipping is performed, the in-loop filtering process may end.
  • the encoder and the decoder may perform deblocking filtering and may not perform clipping (S1240).
  • SAO since the deblocking filtering process does not correspond to the last step of the in-loop filtering process, the clipping process of the deblocking filtering step may be omitted in order to prevent loss of output accuracy and reduction of coding efficiency.
  • the encoder and the decoder may determine whether ALF is applied (S1250).
  • information on whether ALF is applied may be included in the bitstream and transmitted from the encoder to the decoder.
  • the decoder may determine whether to apply the ALF using the transmitted information.
  • the encoder and the decoder may not perform the ALF process on the pixels in the block encoded in the I_PCM mode as described above.
  • the encoder and the decoder may determine that the ALF is not applied to the pixels in the CU when the current CU is encoded in the I_PCM mode. Since the specific embodiment has been described above, it will be omitted.
  • the encoder and the decoder may perform clipping for each pixel value to which the SAO is applied after performing the SAO process (S1260).
  • each pixel value in which clipping is performed may correspond to a final output value of the in-loop filtering process. If clipping is performed, the in-loop filtering process may end.
  • the encoder and the decoder may perform a SAO process and may not perform clipping (S1270).
  • the clipping process of the SAO step may be omitted to prevent loss of output accuracy and reduction of coding efficiency.
  • the encoder and the decoder may perform an ALF process and may perform clipping on each pixel value to which the ALF is applied (S1280).
  • each pixel value for which clipping is performed may correspond to a final output value of the in-loop filtering process. If clipping is performed, the in-loop filtering process may end.

Landscapes

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

Abstract

본 발명에 따른 영상 복호화 방법은, 영상 정보를 수신하는 단계, 영상 정보에 기반하여 현재 블록에 대한 복원 블록을 생성하는 단계 및 영상 정보를 기반으로 복원 블록에 인 루프 필터(In-loop filter)를 적용하여, 현재 블록에 대한 최종 복원 블록을 생성하는 단계를 포함한다. 본 발명에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.

Description

인 루프 필터링 방법 및 그 장치
본 발명은 영상 처리에 관한 것으로서, 보다 상세하게는 인 루프 필터링 방법에 관한 것이다.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 전송되는 정보량 또는 비트량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 영상 데이터를 저장하는 경우, 전송 비용과 저장 비용이 증가된다. 이러한 문제들을 해결하기 위해서 고효율의 영상 압축 기술들이 이용될 수 있다.
영상 압축 기술에는 현재 픽쳐의 이전 및/또는 이후 픽쳐로부터 현재 픽쳐에 포함된 픽셀값을 예측하는 인터 예측(inter prediction) 기술, 현재 픽쳐 내의 픽셀 정보를 이용하여 현재 픽쳐에 포함된 픽셀값을 예측하는 인트라 예측(intra prediction) 기술, 출현 빈도가 높은 값에 짧은 코드워드를 할당하고 출현 빈도가 낮은 값에 긴 코드워드를 할당하는 엔트로피 부호화 기술 등 다양한 기술이 존재한다. 이러한 영상 압축 기술을 이용해 영상 데이터가 효과적으로 압축되어 전송 또는 저장될 수 있다.
본 발명의 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 영상 부호화 방법 및 그 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 영상 복호화 방법 및 그 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 인 루프 필터링 방법 및 그 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 디블록킹 필터링 방법 및 그 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 SAO 수행 방법 및 그 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 적응적 루프 필터링 방법 및 그 장치를 제공함에 있다.
1. 본 발명의 일 실시 형태는 영상 복호화 방법이다. 상기 방법은, 영상 정보를 수신하는 단계, 상기 영상 정보에 기반하여 현재 블록에 대한 복원 블록을 생성하는 단계 및 상기 영상 정보를 기반으로 상기 복원 블록에 인 루프 필터(In-loop filter)를 적용하여, 상기 현재 블록에 대한 최종 복원 블록을 생성하는 단계를 포함하되, 상기 최종 복원 블록 내의 최종 픽셀 값은 상기 현재 블록의 부호화 모드가 I_PCM(Intra Pulse Code Modulation) 모드인지 여부에 따라 결정된다.
2. 1에 있어서, 상기 인 루프 필터는 디블록킹 필터(deblocking filter)를 포함하고, 상기 최종 복원 블록 생성 단계는, 상기 복원 블록의 내부 또는 경계에 위치한 블록 에지(edge)에 대하여, bS(boundary Strength)를 결정하는 단계, 상기 bS를 기반으로, 상기 블록 에지에 대한 상기 디블록킹 필터의 적용 여부를 결정하는 단계 및 상기 디블록킹 필터 적용 여부 결정에 기반하여, 상기 최종 픽셀 값을 도출하는 단계를 더 포함하고, 상기 최종 픽셀 값 도출 단계에서는, 상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우, 상기 복원 블록 내의 디블록킹 필터링이 수행되지 않은 픽셀 값을 상기 최종 픽셀 값으로 결정할 수 있다.
3. 2에 있어서, 상기 디블록킹 필터 적용 여부 결정 단계에서는, 상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우, 상기 블록 에지에 대해 상기 디블록킹 필터를 적용하지 않는 것으로 결정할 수 있다.
4. 1에 있어서, 상기 인 루프 필터는 SAO(Sample Adaptive Offset)를 포함하고, 상기 최종 복원 블록 생성 단계에서는, 상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우, 상기 복원 블록 내의 픽셀에 대해 상기 SAO를 적용하지 않을 수 있다.
5. 1에 있어서, 상기 인 루프 필터는 적응적 루프 필터(ALF: Adaptive Loop Filter)를 포함하고, 상기 최종 복원 블록 생성 단계는, 상기 복원 블록에 대한 상기 적응적 루프 필터의 적용 여부를 결정하는 단계, 상기 적응적 루프 필터의 필터 모양 및 필터 계수를 결정하는 단계 및 상기 필터 모양 및 상기 필터 계수를 기반으로, 상기 적응적 루프 필터 적용 여부 결정에 따라서, 상기 최종 픽셀 값을 도출하는 단계를 더 포함하고, 상기 최종 픽셀 값 도출 단계에서는, 상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우, 상기 복원 블록 내의 적응적 루프 필터링이 수행되지 않은 픽셀 값을 상기 최종 픽셀 값으로 결정할 수 있다.
6. 5에 있어서, 상기 적응적 루프 필터 적용 여부 결정 단계에서는, 상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우, 상기 복원 블록에 대해 상기 적응적 루프 필터를 적용하지 않는 것으로 결정할 수 있다.
7. 5에 있어서, 상기 영상 정보는 상기 현재 블록의 부호화 모드가 I_PCM 모드인지 여부를 지시하는 PCM 플래그 정보를 더 포함하고, 상기 적응적 루프 필터 적용 여부 결정 단계에서는, 상기 PCM 플래그 정보에 기반하여 상기 적응적 루프 필터의 적용 여부를 결정할 수 있다.
8. 7에 있어서, 상기 영상 정보는 I_PCM 모드로 부호화되는 블록에 대해 상기 인 루프 필터가 적용되는지 여부를 지시하는 PCM 루프 필터 플래그 정보를 더 포함하고, 상기 적응적 루프 필터 적용 여부 결정 단계에서는, 상기 PCM 플래그 정보 및 상기 PCM 루프 필터 플래그 정보에 기반하여 상기 적응적 루프 필터의 적용 여부를 결정할 수 있다.
9. 7에 있어서, 상기 현재 블록은 복호화 대상이 되는 CU(Coding Unit: 부호화 유닛)이고, 상기 영상 정보는 상기 현재 블록에 대해 적응적 루프 필터링이 수행되는지 여부를 지시하는, ALF 플래그 정보를 더 포함하고, 상기 적응적 루프 필터 적용 여부 결정 단계에서는, 상기 PCM 플래그 정보 및 상기 ALF 플래그 정보에 기반하여 상기 적응적 루프 필터의 적용 여부를 결정할 수 있다.
10. 1에 있어서, 상기 인 루프 필터는 디블록킹 필터, SAO 및 ALF 중에서 적어도 하나를 포함하고, 상기 최종 복원 블록 생성 단계에서는, 상기 디블록킹 필터, 상기 SAO 및 상기 ALF 중에서 상기 복원 블록에 대해 마지막으로 적용되는 인 루프 필터의 출력에 대해서만 클리핑(clipping)을 수행할 수 있다.
11. 본 발명의 다른 실시 형태는 영상 부호화 방법이다. 상기 방법은, 현재 블록에 대한 복원 블록을 생성하는 단계, 상기 복원 블록에 인 루프 필터(In-loop filter)를 적용하여, 상기 현재 블록에 대한 최종 복원 블록을 생성하는 단계 및 상기 인 루프 필터 적용에 관한 영상 정보를 전송하는 단계를 포함하되, 상기 최종 복원 블록 내의 최종 픽셀 값은 상기 현재 블록의 부호화 모드가 I_PCM(Intra Pulse Code Modulation) 모드인지 여부에 따라 결정된다.
12. 11에 있어서, 상기 인 루프 필터는 디블록킹 필터(deblocking filter)를 포함하고, 상기 최종 복원 블록 생성 단계는, 상기 복원 블록의 내부 또는 경계에 위치한 블록 에지(edge)에 대하여, bS(boundary Strength)를 결정하는 단계, 상기 bS를 기반으로, 상기 블록 에지에 대한 상기 디블록킹 필터의 적용 여부를 결정하는 단계 및 상기 디블록킹 필터 적용 여부 결정에 기반하여, 상기 최종 픽셀 값을 도출하는 단계를 더 포함하고, 상기 최종 픽셀 값 도출 단계에서는, 상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우, 상기 복원 블록 내의 디블록킹 필터링이 수행되지 않은 픽셀 값을 상기 최종 픽셀 값으로 결정할 수 있다.
13. 11에 있어서, 상기 인 루프 필터는 SAO(Sample Adaptive Offset)를 포함하고, 상기 최종 복원 블록 생성 단계에서는, 상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우, 상기 복원 블록 내의 픽셀에 대해 상기 SAO를 적용하지 않을 수 있다.
14. 11에 있어서, 상기 인 루프 필터는 적응적 루프 필터(ALF: Adaptive Loop Filter)를 포함하고, 상기 최종 복원 블록 생성 단계는, 상기 복원 블록에 대한 상기 적응적 루프 필터의 적용 여부를 결정하는 단계, 상기 적응적 루프 필터의 필터 모양 및 필터 계수를 결정하는 단계 및 상기 필터 모양 및 상기 필터 계수를 기반으로, 상기 적응적 루프 필터 적용 여부 결정에 따라서, 상기 최종 픽셀 값을 도출하는 단계를 더 포함하고, 상기 최종 픽셀 값 도출 단계에서는, 상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우, 상기 복원 블록 내의 적응적 루프 필터링이 수행되지 않은 픽셀 값을 상기 최종 픽셀 값으로 결정할 수 있다.
15. 14에 있어서, 상기 적응적 루프 필터 적용 여부 결정 단계에서는, 상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우, 상기 복원 블록에 대해 상기 적응적 루프 필터를 적용하지 않는 것으로 결정할 수 있다.
본 발명에 따른 영상 부호화 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 영상 복호화 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 인 루프 필터링 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 디블록킹 필터링 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 SAO 수행 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 적응적 루프 필터링 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 예측부를 개략적으로 도시한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 영상 복호화 장치를 개략적으로 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 영상 복호화 장치의 예측부를 개략적으로 나타낸 개념도이다.
도 5는 본 발명에 따른 디블록킹 필터링 수행 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 6은 밴드 오프셋을 개략적으로 설명하는 개념도이다.
도 7은 에지 오프셋의 대표적인 4가지 에지 타입을 현재 픽셀(C)을 기준으로 나타낸 개념도이다.
도 8은 현재 픽셀과 주변 픽셀의 세기(intensity)를 비교하고, 네 가지 카테고리로 나눈 것을 개략적으로 설명하는 개념도이다.
도 9는 본 발명에 따른 적응적 루프 필터링 수행 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 10은 본 발명이 적용되는 시스템에서 부호화기의 동작을 개략적으로 나타내는 흐름도이다.
도 11은 본 발명이 적용된 시스템에서 복호화기의 동작을 개략적으로 나타내는 흐름도이다.
도 12는 본 발명에 따른 인 루프 필터링 프로세스의 일 실시예를 개략적으로 나타내는 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 영상 부호화/복호화 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리 범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.

도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 개략적으로 도시한 블록도이다. 도 1을 참조하면, 영상 부호화 장치(100)는 픽쳐 분할부(105), 예측부(110), 변환부(115), 양자화부(120), 재정렬부(125), 엔트로피 부호화부(130), 역양자화부(135), 역변환부(140), 필터부(145) 및 메모리(150)를 포함한다.
픽쳐 분할부(105)는 입력된 픽쳐를 적어도 하나의 처리 단위로 분할할 수 있다. 이때, 처리 단위는 예측 유닛(Prediction Unit: PU)일 수도 있고, 변환 유닛(Transform Unit: TU)일 수도 있으며, 부호화 유닛(Coding Unit: CU)일 수도 있다.
부호화 유닛(Coding Unit: CU)은 픽쳐의 부호화/복호화가 수행되는 단위를 의미할 수 있다. 부호화 대상 픽쳐 내의 하나의 코딩 블록은 쿼드 트리 구조(Quad Tree Structure)를 기반으로 깊이(Depth)를 가지며 반복적으로 분할될 수 있다. 이 때, 더 이상 분할되지 않는 코딩 블록은 상기 부호화 유닛에 해당될 수 있으며, 부호화기는 상기 부호화 유닛에 대한 부호화 과정을 수행할 수 있다.부호화 유닛은 64x64, 32x32, 16x16, 8x8 등의 여러 크기를 가질 수 있다. 하나의 부호화 유닛은 복수 개의 예측 유닛 및/또는 복수 개의 변환 유닛으로 분할될 수 있다. 이하, ‘유닛’은 경우에 따라 ‘블록’으로 불릴 수도 있다.
예측부(110)는 후술하는 바와 같이, 인터 예측을 수행하는 인터 예측부와 인트라 예측을 수행하는 인트라 예측부를 포함할 수 있다. 예측부(110)는, 픽쳐 분할부(105)에서의 픽쳐의 처리 단위에 대하여 예측을 수행하여 예측 블록을 생성할 수 있다. 예측부(110)에서 픽쳐의 처리 단위는 부호화 유닛일 수도 있고, 변환 유닛일 수도 있고, 예측 유닛일 수도 있다. 또한, 해당 처리 단위에 대하여 실시되는 예측이 인터 예측인지 인트라 예측인지를 결정하고, 각 예측 방법의 구체적인 내용(예컨대, 예측 모드 등)를 정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 다를 수 있다. 예컨대, 예측의 방법과 예측 모드 등은 예측 유닛 단위로 결정되고, 예측의 수행은 변환 유닛 단위로 수행될 수도 있다. 생성된 예측 블록과 원본 블록 사이의 잔차값(잔차 블록: residual block)은 변환부(115)로 입력될 수 있다. 또한, 예측을 위해 사용한 예측 모드 정보, 움직임 벡터(motion vector) 정보 등은 잔차값과 함께 엔트로피 부호화부(130)에서 부호화되어 복호화기에 전달될 수 있다.
변환부(115)는 변환 단위로 잔차 블록에 대한 변환(transform)을 수행하고 변환 계수를 생성한다. 변환부(115)에서의 변환 단위는 변환 유닛일 수 있으며, 쿼드 트리(quad tree) 구조를 가질 수 있다. 이때, 변환 단위의 크기는 소정의 최대 및 최소 크기의 범위 내에서 정해질 수 있다. 변환부(115)는 잔차 블록을 DCT(Discrete Cosine Transform) 및/또는 DST(Discrete Sine Transform)를 이용하여 변환할 수 있다.
양자화부(120)는 변환부(115)에서 변환된 잔차값들을 양자화하여 양자화 계수를 생성할 수 있다. 양자화부(120)에서 산출된 값은 역양자화부(135)와 재정렬부(125)에 제공될 수 있다.
재정렬부(125)는 양자화부(120)로부터 제공된 양자화 계수를 재정렬할 수 있다. 양자화 계수를 재정렬함으로써 엔트로피 부호화부(130)에서의 부호화의 효율을 높일 수 있다. 재정렬부(125)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원 블록 형태의 양자화 계수들을 1차원의 벡터 형태로 재정렬할 수 있다. 재정렬부(125)에서는 양자화부에서 전송된 계수들의 확률적인 통계를 기반으로 계수 스캔닝의 순서를 변경함으로써 엔트로피 부호화부(130)에서의 엔트로피 부호화 효율을 높일 수도 있다.
엔트로피 부호화부(130)는 재정렬부(125)에 의해 재정렬된 양자화 계수들에 대한 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화부(130)는 재정렬부(125) 및 예측부(110)로부터 전달받은 부호화 유닛의 양자화 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, 예측 유닛 정보 및 전송 단위 정보, 움직임 벡터 정보, 참조 픽쳐 정보, 블록의 보간 정보, 필터링 정보 등 다양한 정보를 부호화할 수 있다.
엔트로피 부호화에는 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법들이 사용될 수 있다. 예를 들어, 엔트로피 부호화부(130)에는 가변길이 부호화(VLC: Variable Length Coding, 이하 ‘VLC’라 함.) 테이블과 같은 엔트로피 부호화를 수행하기 위한 테이블이 저장될 수 있고, 엔트로피 부호화부(130)는 저장된 VLC 테이블을 이용하여 엔트로피 부호화를 수행할 수 있다. 또한 다른 예로서 CABAC 엔트로피 부호화 방법에서, 엔트로피 부호화부(130)는 심볼을 이진화하여 빈(bin)으로 변환한 후 빈의 발생 확률에 따라 빈에 대한 산술 부호화(arithmetic encoding)를 수행하여 비트스트림을 생성할 수도 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 낮은 값의 인덱스(index) 및 이에 대응하는 짧은 코드워드(codeword)가 할당되고, 낮은 발생 확률을 갖는 심볼에 높은 값의 인덱스 및 이에 대응하는 긴 코드워드가 할당될 수 있다. 따라서 부호화 대상 심볼들에 대한 비트량이 감소될 수 있고, 엔트로피 부호화에 의해 영상 압축 성능이 향상될 수 있다.
역양자화부(135)는 양자화부(120)에서 양자화된 값들을 역양자화하고, 역변환부(140)는 역양자화부(135)에서 역양자화된 값들을 역변환할 수 있다. 역양자화부(135) 및 역변환부(140)에서 생성된 잔차값(Residual)은 예측부(110)에서 예측된 예측 블록과 합쳐져 복원 블록(Reconstructed Block)이 생성될 수 있다.
필터부(145)는 복원된 블록 및/또는 픽쳐에 인 루프 필터(In-loop filter)를 적용할 수 있다. 인 루프 필터는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset) 및/또는 적응적 루프 필터(ALF) 등을 포함할 수 있다.
디블록킹 필터는 복원된 픽쳐에서 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF(Adaptive Loop Filter)는, 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다.
한편, 인트라 예측에 사용되는 복원 블록에 대해서 필터부(145)는 필터링을 적용하지 않을 수도 있다.
메모리(150)는 필터부(145)를 통해 산출된 복원 블록 또는 픽쳐를 저장할 수 있다. 메모리(150)에 저장된 복원 블록 또는 픽쳐는 인터 예측을 수행하는 예측부(110)에 제공될 수 있다.

도 2는 본 발명의 일 실시예에 따른 예측부를 개략적으로 도시한 개념도이다. 도 2를 참조하면 예측부(200)는 인터 예측부(210) 및 인트라 예측부(220) 를 포함할 수 있다.
인터 예측부(210)는 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 또한, 인트라 예측부(220)는 현재 픽쳐 내의 픽셀 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 예측부(210)는 예측 유닛에 대하여, 참조 픽쳐를 선택하고 예측 유닛과 동일한 크기의 참조 블록을 정수 픽셀 샘플 단위로 선택할 수 있다. 이어서, 인터 예측부(210)는 1/2 픽셀 샘플 단위와 1/4 픽셀 샘플 단위와 같이 정수 이하 샘플 단위로 현재 예측 유닛과 가장 유사하여 잔차 신호가 최소화되며 부호화되는 움직임 벡터 크기 역시 최소가 될 수 있는 예측 블록을 생성할 수 있다. 이때, 움직임 벡터는 정수 픽셀 이하의 단위로 표현될 수 있다.
인터 예측부(210)가 선택한 참조 픽쳐의 인덱스와 움직임 벡터에 관한 정보는 부호화되어 복호화기에 전달될 수 있다.

도 3은 본 발명의 일 실시예에 따른 영상 복호화 장치를 개략적으로 나타낸 블록도이다. 도 3을 참조하면, 영상 복호화기(300)는 엔트로피 복호화부(310), 재정렬부(315), 역양자화부(320), 역변환부(325), 예측부(330), 필터부(335) 및 메모리(340)를 포함할 수 있다.
영상 부호화기에 영상 비트 스트림이 입력된 경우, 입력된 비트 스트림은 영상 부호화기에서 영상 정보가 처리된 절차에 따라서 복호화될 수 있다.
엔트로피 복호화부(310)는 입력된 비트스트림에 대하여 엔트로피 복호화를 수행할 수 있으며, 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다. 엔트로피 복호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 낮은 값의 인덱스(index) 및 이에 대응하는 짧은 코드워드(codeword)가 할당되고, 낮은 발생 확률을 갖는 심볼에 높은 값의 인덱스 및 이에 대응하는 긴 코드워드가 할당될 수 있다. 따라서 부호화 대상 심볼들에 대한 비트량이 감소될 수 있고, 엔트로피 부호화에 의해 영상 압축 성능이 향상될 수 있다.
엔트로피 복호화부(310)에서 복호화된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(330)로 제공되고 엔트로피 복호화부에서 엔트로피 복호화가 수행된 잔차값은 재정렬부(315)로 입력될 수 있다.
재정렬부(315)는, 엔트로피 복호화부(310)에서 엔트로피 복호화된 비트 스트림을 영상 부호화기에서 재정렬한 방법을 기초로 재정렬할 수 있다. 재정렬부(315)는 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부(315)는 부호화기에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 해당 부호화부에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통해 재정렬을 수행할 수 있다.
역양자화부(320)는 부호화기에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.
역변환부(325)는, 영상 부호화기에서 수행된 양자화 결과에 대해 부호화기의 변환부가 수행한 DCT 및 DST에 대해, 역DCT 및/또는 역DST를 수행할 수 있다. 역변환은 부호화기에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 부호화기의 변환부에서 DCT 및/또는 DST는 예측 방법, 현재 블록의 크기 및/또는 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 복호화기의 역변환부(325)는 부호화기의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
예측부(330)는 엔트로피 복호화부(310)에서 제공된 예측 블록 생성 관련 정보와 메모리(340)에서 제공된 이전에 복호화된 블록 및/또는 픽쳐 정보를 기초로 예측 블록을 생성할 수 있다. 복원 블록은 예측부(330)에서 생성된 예측 블록과 역변환부(325)에서 제공된 잔차 블록을 이용해 생성될 수 있다.
복원된 블록 및/또는 픽쳐는 필터부(335)로 제공될 수 있다. 필터부(335)는 복원된 블록 및/또는 픽쳐에 인 루프 필터(In-loop filter)를 적용할 수 있다. 상기 인 루프 필터는 디블록킹 필터, SAO(Sample Adaptive Offset) 및/또는 적응적 루프 필터(ALF) 등을 포함할 수 있다.
메모리(340)는 복원된 픽쳐 또는 블록을 저장하여 참조 픽쳐 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽쳐를 출력부로 제공할 수 있다.

도 4는 본 발명의 일 실시예에 따른 영상 복호화 장치의 예측부를 개략적으로 나타낸 개념도이다.
도 4를 참조하면, 예측부(400)는 인트라 예측부(410) 및 인터 예측부(420)를 포함할 수 있다.
인트라 예측부(410)는 해당 예측 유닛에 대한 예측 모드가 인트라 예측(intra prediction) 모드(화면 내 예측 모드)인 경우에, 현재 픽쳐 내의 픽셀 정보를 기초로 예측 블록을 생성할 수 있다.
인터 예측부(420)는 해당 예측 유닛에 대한 예측 모드가 인터 예측(inter prediction) 모드(화면 간 예측 모드)인 경우에, 영상 부호화기에서 제공된 현재 예측 유닛의 인터 예측에 필요한 정보, 예컨대 움직임 벡터, 참조 픽쳐 인덱스 등에 관한 정보를 이용해 현재 예측 유닛이 포함된 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐에 포함된 정보를 기초로 현재 예측 유닛에 대한 인터 예측을 수행할 수 있다.
이때, 움직임 정보는, 부호화기로부터 수신되는 부호화 유닛의 스킵 플래그, 머지 플래그 등이 확인된 경우, 이에 대응하여 유도될 수 있다.
이하, 발명의 구성 또는 표현에 따라 “영상” 또는 “화면”이 “픽쳐”와 같은 의미를 나타낼 수 있는 경우,“픽쳐”는 “영상” 또는 “화면”으로 기술될 수 있다. 또한 인터 예측(inter prediction)과 화면 간 예측은 동일한 의미를 가지며, 인트라 예측(intra prediction)과 화면 내 예측은 동일한 의미를 가진다.

도 2 및 도 4의 실시예에서 상술한 바와 같이, 인트라 예측부는 현재 픽쳐 내의 픽셀 정보를 기초로 예측을 수행하여 현재 블록에 대한 예측 블록을 생성할 수 있다. 예를 들어, 인트라 예측부는 현재 블록을 중심으로, 상단, 좌측, 좌측 상단 및/또는 우측 상단에 위치한 복원된 블록 내의 픽셀들을 이용하여 현재 블록 내의 픽셀값을 예측할 수 있다. 이 때, 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 다를 수 이다. 예컨대, 예측의 방법과 예측 모드 등은 PU 단위로 결정되고, 예측의 수행은 TU 단위로 이루어질 수도 있다.
인트라 예측은 현재 블록(예를 들어, CU) 내의 각 PU에 대한, 인트라 예측 모드에 따라 수행될 수 있다. 인트라 예측 모드에는, 현재 블록의 픽셀값 예측에 사용되는 참조 픽셀들의 위치 및/또는 예측 방식 등에 따라, 수직(vertical), 수평(horizontal), DC, 플래너(planar), 앵귤러(angular) 모드 등이 있을 수 있다. 수직 모드에서는 인접 블록의 픽셀값을 사용하여 수직 방향으로 예측이 수행되고, 수평 모드에서는 인접 블록의 픽셀값을 사용하여 수평 방향으로 예측이 수행될 수 있다. 또한 DC 모드에서는 참조 픽셀들의 픽셀값 평균에 의해 예측 블록이 생성될 수 있다. 앵귤러 모드에서는 각각의 모드에 대해 미리 정해진 각도 및/또는 방향에 따라 예측이 수행될 수 있다. 또한 인트라 예측을 위해, 미리 정해진 예측 방향 및 예측 모드값이 사용될 수도 있다.
현재 블록에 대한 예측 모드가 인트라 모드인 경우, 부호화기 및 복호화기는 무손실(lossless) 부호화를 위해, 상기 인트라 예측 모드 외에 I_PCM 모드(Intra Pulse Code Modulation)를 이용할 수 있다. 현재 블록에 대해 I_PCM 모드가 적용되는 경우, 부호화기는 예측, 변환 및/또는 양자화 등을 수행하지 않고, 현재 블록 내의 픽셀 값들을 그대로 복호화기로 전송할 수 있다. 이 때, 일례로 현재 블록 내의 픽셀 값들은 래스터 스캔(raster scan) 순서로 코딩되어 복호화기로 전송될 수 있다. 복호화기는 I_PCM 모드가 적용되는 블록에 대해서는, 예측, 역스케일링(inverse scaling), 역변환(inverse transform) 및/또는 역양자화 등을 수행하지 않을 수 있다. 이 때, 복호화기는 부호화기로부터 전송된 픽셀 값들을 파싱(parsing)한 후, 파싱된 픽셀 값들로부터 바로 복원 블록(reconstructed block) 내의 픽셀 값을 도출할 수 있다.
I_PCM 모드가 사용되는 경우, 부호화기는 현재 블록(예를 들어, CU)에 대해 I_PCM 모드가 적용되는지 여부에 관한 정보를 복호화기로 전송할 수 있다. 상기 정보는 일례로, PCM 플래그에 의해 나타내어질 수 있다. 여기서, 상기 PCM 플래그는 현재 CU에 대해 I_PCM 모드가 적용되는지 여부, 즉 현재 CU가 I_PCM에 의해 코딩되는지 여부를 지시하는 플래그일 수 있다. 일 실시예로, 상기 플래그는 pcm_flag로 나타내어질 수도 있다. 부호화기는 상기 플래그를 엔트로피 부호화하여 복호화기로 전송할 수 있다. 이 때, 복호화기는 부호화된 PCM 플래그를 수신, 복호화할 수 있고, 복호화된 PCM 플래그를 이용하여 현재 CU에 대해 I_PCM이 적용되는지 여부를 결정할 수 있다.
상술한 바와 같이, 현재 CU 내의 픽셀 값들이 I_PCM으로 코딩된 경우, 복호화기는 현재 CU에 대해 예측, 역스케일링, 역변환 및/또는 역양자화 등을 수행하지 않을 수 있다. 이 때, 복호화기는 부호화기로부터 전송된 픽셀 값을 파싱한 후, 파싱된 픽셀 값으로부터 바로 복원 픽셀 값을 도출할 수 있다. 여기서, 복원 픽셀 값은 인 루프 필터(In-loop filter)가 적용되기 전의 복원된 픽셀 값을 의미할 수 있다.
한편, 일반적으로 영상 신호는 빛의 3원색 성분의 크기를 나타내는 세 가지의 색 신호를 포함할 수 있다. 상기 세 가지의 색 신호는 각각 R(Red), G(Green), B(Blue)로 표시될 수 있다. 영상 처리에 사용되는 주파수 대역을 줄이기 위해, 상기 R, G, B 신호는 상기 R, G, B 신호와 등가인 루마(luma), 크로마(chroma) 신호로 변환될 수 있다. 이 때, 영상 신호는 하나의 루마 신호와 두 개의 크로마 신호를 포함할 수 있다. 여기서, 루마 신호는 화면의 밝기를 나타내는 성분이고, 크로마 신호는 화면의 색(color)을 나타내는 성분이다. 루마 신호는 L로 표시될 수 있고, 두 개의 크로마 신호는 각각 Cb, Cr로 표시될 수 있다. 인간의 눈은 루마 신호에 대해서 민감하고, 크로마 신호에 대해서 둔감하므로, 하나의 영상 또는 블록 내에서 크로마 성분의 픽셀 수가 루마 성분의 픽셀 수보다 작을 수 있다. 4:2:0 영상 포맷에서, 루마 성분 블록에 대응하는 크로마 성분 블록의 픽셀 수는, 수평 방향으로 루마 성분 블록의 픽셀 수의 1/2, 수직 방향으로 루마 성분 블록의 픽셀 수의 1/2일 수도 있다.
현재 CU가 I_PCM 모드로 부호화된 경우, 루마 성분의 복원 픽셀 값을 도출하는 방법의 일 실시예는 다음과 같이 나타내어질 수 있다.
Figure PCTKR2012002345-appb-I000001

여기서, currCodingUnitSize는 현재 CU의 크기를 나타낼 수 있다. currCodingUnitSize는 (1 << log2CUSize)로 초기화될 수 있으며, log2CUSize는 현재 CU 크기의 로그(log) 값을 나타낼 수 있다. 또한, R’L은 인 루프 필터(예를 들어, 디블록킹 필터)가 적용되기 전의 루마 성분의 복원된 픽셀 값, 즉 루마 복원 픽셀 값을 의미할 수 있다. (xB, yB)는 현재 CU 내의 가장 좌측 상단 픽셀의 좌표를 나타낼 수 있다. pcm_sample_luma는 현재 CU에 대해 I_PCM 모드로 부호화되어 복호화기로 전송되는 루마 성분의 픽셀 값을 나타낼 수 있다. 이 때, 일례로, 상기 루마 성분의 픽셀 값은 래스터 스캔 순서로 부호화되어 있을 수 있다.
현재 CU가 I_PCM 모드로 부호화된 경우, 루마 성분의 복원 픽셀 값을 도출하는 방법의 다른 실시예는 다음과 같이 나타내어질 수 있다.
Figure PCTKR2012002345-appb-I000002

여기서, nS는 현재 CU의 크기를 나타낼 수 있다. nS는 (1 << log2CbSize)로 초기화될 수 있으며, log2CbSize는 현재 CU 크기의 로그(log) 값을 나타낼 수 있다. recSamplesL은 인 루프 필터(예를 들어, 디블록킹 필터)가 적용되기 전의 루마 성분의 복원된 픽셀 값, 즉 루마 복원 픽셀 값을 의미할 수 있다. (xB, yB)는 현재 CU 내의 가장 좌측 상단 픽셀의 좌표를 나타낼 수 있다. pcm_sample_luma는 현재 CU에 대해 I_PCM 모드로 부호화되어 복호화기로 전송되는 루마 성분의 픽셀 값을 나타낼 수 있다. 이 때, 일례로, 상기 루마 성분의 픽셀 값은 래스터 스캔 순서로 부호화되어 있을 수 있다. 또한, PCMBitDepthY는 pcm_sample_luma에 해당되는 픽셀 각각을 나타내기 위해 사용되는 비트 수를 의미하고, BitDepthY는 현재 CU 내의 루마 성분 픽셀들의 비트 심도를 의미할 수 있다.
현재 CU가 I_PCM 모드로 부호화된 경우, 크로마 성분의 복원 픽셀 값을 도출하는 방법의 실시예는 다음과 같이 나타내어질 수 있다.
Figure PCTKR2012002345-appb-I000003

여기서, currCodingUnitSizeC는 현재 CU에 대한 크로마 성분 블록의 크기를 나타낼 수 있다. currCodingUnitSizeC는 ((1 << log2CUSize)>>1)로 초기화될 수 있으며, log2CUSize는 현재 CU 크기의 로그(log) 값을 나타낼 수 있다. 또한, R’Cb는 인 루프 필터(예를 들어, 디블록킹 필터)가 적용되기 전의 크로마 성분 Cb의 복원된 픽셀 값, 즉 크로마 Cb 복원 픽셀 값을 의미할 수 있고, R’Cr은 인 루프 필터(예를 들어, 디블록킹 필터)가 적용되기 전의 크로마 성분 Cr의 복원된 픽셀 값, 즉 크로마 Cr 복원 픽셀 값을 의미할 수 있다. pcm_sample_chroma는 현재 CU에 대해 I_PCM 모드로 부호화되어 복호화기로 전송되는 크로마 성분의 픽셀 값을 나타낼 수 있다. 이 때, 일례로, 상기 크로마 성분의 픽셀 값은 래스터 스캔 순서로 부호화되어 있을 수 있다.
현재 CU가 I_PCM 모드로 부호화된 경우, 크로마 성분의 복원 픽셀 값을 도출하는 방법의 다른 실시예는 다음과 같이 나타내어질 수 있다.
Figure PCTKR2012002345-appb-I000004

여기서, recSamplesCb는 인 루프 필터(예를 들어, 디블록킹 필터)가 적용되기 전의 크로마 성분 Cb의 복원된 픽셀 값, 즉 크로마 Cb 복원 픽셀 값을 의미할 수 있고, recSamplesCr은 인 루프 필터(예를 들어, 디블록킹 필터)가 적용되기 전의 크로마 성분 Cr의 복원된 픽셀 값, 즉 크로마 Cr 복원 픽셀 값을 의미할 수 있다. pcm_sample_chroma는 현재 CU에 대해 I_PCM 모드로 부호화되어 복호화기로 전송되는 크로마 성분의 픽셀 값을 나타낼 수 있다. 이 때, 일례로, 상기 크로마 성분의 픽셀 값은 래스터 스캔 순서로 부호화되어 있을 수 있다. 또한, PCMBitDepthC는 pcm_sample_chroma에 해당되는 픽셀 각각을 나타내기 위해 사용되는 비트 수를 의미하고, BitDepthC는 현재 CU 내의 크로마 성분 픽셀들의 비트 심도(bit depth)를 의미할 수 있다.
상술한 복원 픽셀값 도출 방법들에 의하면, 복호화기는 부호화기로부터 전송된 픽셀 값을 파싱한 후, 파싱된 픽셀 값(pcm_sample_luma, pcm_sample_chroma)을 그대로 복사하여 복원 픽셀 값으로 사용할 수 있다. 현재 CU에 대해 I_PCM 모드가 적용되는 경우, 부호화기는 예측, 변환 및/또는 양자화 등을 수행하지 않고, 현재 CU 내의 픽셀 값들을 그대로 코딩하여 복호화기로 전송할 수 있다. 따라서, I_PCM 모드는 무손실(lossless) 부호화 모드에 해당될 수 있고, 복호화기는 전송된 픽셀 값을 파싱한 후, 파싱된 픽셀 값으로부터 바로 복원 픽셀 값을 도출할 수 있다.

한편, 양자화(quantization) 등 압축 부호화 과정에서 발생하는 에러에 의한 원본(original) 영상과 복원 영상의 차이를 보상하기 위해, 복원 영상에는 인 루프 필터(In-loop filter)가 적용될 수 있다. 앞서 설명한 바와 같이, 인 루프 필터링은 부호화기 및 복호화기의 필터부에서 수행될 수 있으며, 필터부는 디블록킹 필터, SAO(Sample Adaptive Offset) 및 적응적 루프 필터(ALF) 중 적어도 하나를 복원 영상에 대해 적용할 수 있다.

도 5는 본 발명에 따른 디블록킹 필터링 수행 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
상술한 바와 같이, 부호화기 및 복호화기는 블록 단위로 영상을 복원할 수 있다. 이러한 블록 단위의 영상 복원이 수행되는 경우, 복원된 픽쳐 내의 블록 간 경계에는 블록 왜곡이 발생할 수 있다. 따라서, 부호화기 및 복호화기는 복원된 픽쳐에서 블록 간의 경계에 발생하는 블록 왜곡을 제거하기 위해, 디블록킹 필터를 이용할 수 있다.
디블록킹 필터링 프로세스는, 픽쳐 내의 모든 예측 유닛 에지(edge)와 변환 유닛 에지에 적용될 수 있다. 다만, 픽쳐의 경계에 있는 에지에는 적용되지 않을 수 있다. 따라서, 부호화기 및 복호화기는 디블록킹 필터가 적용되는 영역을 결정할 수 있다. 구체적으로, 부호화기 및 복호화기는 현재 블록의 정보(위치, 폭, 높이, 깊이, 사이즈, 예측 파티션 모드(PartMode 등))를 기반으로, 현재 블록 내에서 디블록킹 필터가 적용될 변환 유닛의 경계와 예측 유닛의 경계를 결정할 수 있다.
도 5를 참조하면, 부호화기 및 복호화기는 상기 결정된 변환 유닛 경계 및 예측 유닛 경계를 기반으로, 블록 간의 경계 및/또는 블록의 에지에 대한 bS(Boundary Strength)를 결정할 수 있다(S510). 여기서, bS는 블록 간의 경계 강도를 의미할 수 있다. 이하, 본 명세서에서는 설명의 편의를 위해, 특별한 설명이 없는 한 블록의 ‘에지(edge)’는 블록 간의 ‘경계(boundary)’를 의미할 수도 있다.
하나의 픽쳐 내에서는, 블록 왜곡이 발생하기 쉬운 위치와 블록 왜곡이 발생하기 어려운 위치가 존재할 수 있다. 따라서, 부호화기 및 복호화기는 부호화 효율을 높이기 위하여, 블록 왜곡의 발생 확률을 고려하여 블록 간의 경계에 대한 bS를 결정할 수 있다. 예를 들어, 블록 P와 블록 Q 사이의 경계(블록 에지)에 대한 bS 값을 구하는 경우를 가정하면, 부호화기 및 복호화기는 상기 경계가 디블록킹 필터가 적용되는 경계에 해당되는지 여부, 블록 에지의 방향, 블록의 위치 및/또는 상기 블록 P 및 상기 블록 Q가 인트라 모드로 부호화되었는지 여부에 관한 정보 등에 기반하여, 상기 경계에 대한 bS 값을 결정할 수 있다.
이 때, 후술되는 바와 같이, 부호화기 및 복호화기는 동일 픽쳐 내에서 블록 왜곡이 발생할 확률이 높은 위치의 경계와 블록 왜곡이 발생할 확률이 낮은 위치의 경계에 대해 서로 다른 방법으로 필터링을 수행함으로써, 부호화 효율을 높일 수 있다.
bS가 결정되면, 부호화기 및 복호화기는 필터링 수행 여부를 결정할 수 있다(S520).
블록 P와 블록 Q 사이의 경계(블록 에지)에 대한 bS 값을 구하는 경우를 가정하면, 부호화기 및 복호화기는 블록 P 내 소정의 샘플 라인과 블록 Q 내 소정의 샘플 라인이 경계를 사이에 두고 어느 정도의 선형성을 보이는지를 기준으로 필터링 수행 여부를 결정할 수 있다.
이 때, 부호화기 및 복호화기는 블록 P 내 샘플 라인상의 픽셀 값, 블록 Q 내 샘플 라인상의 픽셀 값 및 변수 β 값을 기반으로, 필터링 수행 여부를 결정할 수 있다. 부호화기는 블록 P 내 샘플 라인상의 픽셀 값, 블록 Q 내 샘플 라인상의 픽셀 값을 이용하여 소정의 계산 방법에 따른 연산을 수행함으로써, 양의 변수 d 값을 도출할 수 있다. 이 때, 상기 변수 d 값이 상기 변수 β 값보다 작은 경우, 부호화기는 필터링을 수행한다는 결정을 할 수 있다. 여기서, 상기 변수 β 값은 현재 CU의 양자화 파라미터(QP: Quantization Parameter)값에 따라 결정될 수 있다. 변수 β 값은 양자화 파라미터 값이 클수록 큰 값을 가질 수 있고, 예를 들어, 양자화 파라미터 값이 0일 때, 변수 β 값은 0으로 결정될 수 있다. 따라서, 현재 CU에 대한 양자화 파라미터 값이 0일 때, 변수 d 값은 항상 변수 β 값보다 크거나 같으므로, 부호화기 및 복호화기는 필터링을 수행하지 않는다는 결정을 할 수 있다.
다시 도 5를 참조하면, 부호화기 및 복호화기는 상기 bS 값 및 상기 필터링 수행 여부 결정에 따라, 디블록킹 필터링을 수행할 수 있다(S530).
부호화기 및 복호화기는 상기 결정된 bS 값을 기반으로, 블록 간의 경계 및/또는 블록의 에지에 적용되는 필터를 결정할 수 있다. 필터는 강한 필터(strong filter) 및 약한 필터(weak filter)로 나뉠 수 있다. 즉, 부호화기 및 복호화기는 블록 간의 경계 및/또는 블록의 에지에 적용되는 필터를 강한 필터로 결정할 수도 있고, 약한 필터로 결정할 수도 있다. 이 때, 부호화기 및 복호화기는 동일 픽쳐 내에서 블록 왜곡이 발생할 확률이 높은 위치의 경계와 블록 왜곡이 발생할 확률이 낮은 위치의 경계에 대해 서로 다른 방법으로 필터링을 수행함으로써, 부호화 효율을 높일 수 있다.
상기 필터링 수행 여부 결정 단계(S520)에서 필터링이 수행되는 것으로 결정된 경우, 부호화기는 상기 결정된 필터(예를 들어, 강한 필터 또는 약한 필터)를 이용하여 블록 간의 경계 및/또는 블록의 에지에 대해 디블록킹 필터링을 수행할 수 있다.
한편, I_PCM 모드로 부호화된 블록 내의 픽셀에 대해, 부호화기 및 복호화기는 디블록킹 필터링을 수행하지 않을 수 있다. 일례로, 현재 CU가 I_PCM 모드로 부호화된 경우, 부호화기 및 복호화기는 현재 CU 내의 픽셀에 대한 디블록킹 필터링 프로세스를 생략할 수 있다. 상술한 바와 같이, I_PCM 모드가 적용되는 경우, 부호화기는 예측, 변환 및/또는 양자화 등을 수행하지 않고, 현재 CU 내의 픽셀 값들을 그대로 복호화기로 전송할 수 있다. 이 때, 복호화기는 부호화기로부터 전송된 픽셀 값으로부터 원본 데이터와 동일한 복원 픽셀 값을 도출할 수 있다. 따라서, 최상의 화질의 영상을 복원하기 위해, 인 루프 필터링(예를 들어, 디블록킹 필터링, SAO, ALF) 과정이 생략될 필요가 있을 수 있다.
일 실시예로, 현재 CU가 I_PCM으로 부호화된 경우, 부호화기 및 복호화기는 상술한 필터링 수행 여부 결정 단계(S520)에서, 해당 CU 내의 픽셀에 대해 디블록킹 필터링을 수행하지 않는다는 결정을 할 수 있다. 이를 위해, 부호화기 및 복호화기는 현재 CU의 양자화 파라미터 값이 0이라 간주하고 변수 β 값을 결정할 수 있다. 이 때, 변수 β 값은 0으로 결정될 수 있고, 부호화기 및 복호화기는 필터링을 수행하지 않는다는 결정을 할 수 있다. 즉, 이 경우 부호화기 및 복호화기는 디블록킹 필터링 과정을 생략할 수 있다. 이 때, 현재 CU가 I_PCM으로 부호화되었는지 여부는 일례로, PCM 플래그에 기반하여 판단될 수 있다.
다른 실시예로, 부호화기 및 복호화기는 I_PCM 모드로 부호화된 블록(예를 들어, CU) 내의 픽셀에 대해, 디블록킹 필터링이 수행되지 않은 복원 픽셀 값을 디블록킹 필터링 과정의 최종 픽셀 값으로 결정할 수 있다. 디블록킹 필터링이 수행되지 않은 복원 픽셀 값을 최종 픽셀 값으로 결정함으로써, 부호화기 및 복호화기는 디블록킹 필터링 과정을 생략할 수 있다. 이하, I_PCM 모드로 부호화된 블록은 I_PCM 블록이라 한다.
이 때, I_PCM 블록에 대해 디블록킹 필터링이 수행되지 않은 복원 픽셀 값이 최종 픽셀 값으로 결정되는지 여부는, PCM 루프 필터 플래그를 기반으로 결정될 수도 있다. 상기 PCM 루프 필터 플래그는 I_PCM 블록에 대해 인 루프 필터가 적용되는지 여부를 지시하는 플래그일 수 있다. 일 실시예로, 상기 플래그는 pcm_loop_filter_disable_flag일 수 있다. 부호화기는 비디오 시퀀스에 대한 PCM 루프 필터 플래그 정보를 복호화기로 전송할 수 있고, 복호화기는 상기 전송된 PCM 루프 필터 플래그 정보에 기반하여 디블록킹 필터 적용 여부를 결정할 수 있다.

한편, 상술한 바와 같이, 부호화기 및 복호화기의 필터부는 인 루프 필터로서 디블록킹 필터뿐만 아니라 SAO(Sample Adaptive Offset)를 적용할 수도 있다. SAO 프로세스는 디블록킹 필터링이 수행된 영상에 대해 픽셀 단위로 원본 영상과의 오프셋 차이를 보상해 주는 또 하나의 인 루프 필터링 프로세스에 해당될 수 있다. SAO는 부호화 에러(coding error)를 보상해 주는 것으로서, 이 경우 부호화 에러는 양자화 등에 기인한 것일 수 있다. SAO 에는 밴드 오프셋(band offset) 및 에지 오프셋(edge offset)의 두 가지 타입이 존재할 수 있다.

도 6은 밴드 오프셋을 개략적으로 설명하는 개념도이다.
밴드 오프셋을 적용하기 위해서, SAO 적용 유닛 내의 픽셀들은 각 픽셀의 세기(intensity)에 따라 분류될 수 있다. 전체 세기의 범위는 소정 개수의 세기 구간(intensity interval) 즉, 밴드(band)로 나뉠 수 있다. 각 밴드는 해당 세기 간격(interval) 내의 세기를 갖는 픽셀들을 포함할 수 있다. 이 때, 각 밴드 별로 적용되는 오프셋이 정해질 수 있다.
N 비트 픽셀들로 구성되는 영상에 대해서는, 전체 세기 구간은 0~2N-1 이 될 수 있다. 예컨대, 8 비트 픽셀의 경우에는 0~255 의 세기 구간이 존재할 수 있다. 도 6에서는 전체 세기 구간을 32개의 동일한 세기 간격을 가지는 밴드로 나누는 예를 도시하고 있다.
도 6을 참조하면, 각 밴드의 세기 구간은 일례로 8이 될 수 있다. 32개의 밴드는 중앙의 제1 그룹과 주변의 제2 그룹으로 나뉠 수 있다. 제1 그룹은 16개의 밴드로 구성되고, 제2 그룹 역시 16개의 밴드로 구성될 수 있다. 오프셋은 각 밴드 별로 적용될 수 있으며, 각 밴드 별로 오프셋 값이 복호화기로 전송될 수 있다.
복호화기에서는 부호화기에서 밴드 오프셋을 적용하는 과정에 동일하게 픽셀들을 그룹핑(grouping)하고 밴드 별로 전송된 오프셋 값을 적용할 수 있다.

SAO의 두 번째 타입으로서, 픽셀 별 에지 정보를 고려한 에지 오프셋이 있을 수 있다. 에지 오프셋은 현재 픽셀을 기준으로 한 에지의 방향 그리고 현재 픽셀과 주변 픽셀의 세기를 고려하여 적용될 수 있다.
블록 내에서 방향 별로 나타날 수 있는 에지에는, 대표적으로 4가지 타입이 있을 수 있다. 상기 4가지 타입의 에지에는 예를 들어, 0도의 방향을 가지는 에지, 90도의 방향을 가지는 에지, 135도의 방향을 가지는 에지, 45도의 방향을 가지는 에지가 있을 수 있다. 따라서, 에지 오프셋은 에지의 각도 또는 방향에 따라 하나의 필터링을 위한 유닛, 즉 SAO 적용 유닛을 위한 4가지 종류가 사용될 수 있다. 이하, 설명의 편의를 위해, SAO 적용 유닛상의 4가지 에지 종류를 에지 오프셋의 에지 타입이라고 한다.
도 7은 에지 오프셋의 대표적인 4가지 에지 타입을 현재 픽셀(C)을 기준으로 나타낸 개념도이다. 도 7을 참조하면, 도 7의 (a)는 1차원 0 도(0 degree)의 에지를 나타내며, (b)는 1차원 90도의 에지를 나타내고, (c)는 1차원 135도의 에지를 나타내며, (d)는 1차원 45도의 에지를 나타낼 수 있다. 도 7에 도시된 네 방향의 에지 타입에 따라서, 네 가지 에지 오프셋이 이용될 수 있다. 즉, 각 SAO 적용 유닛에 대해서, 네 가지 에지 타입 중 하나에 대응하는 오프셋이 적용될 수 있다.

에지 타입이 결정된 뒤, 에지 오프셋을 적용하기 위해 현재 픽셀과 주변 픽셀 사이의 관계가 고려될 수 있다.
도 8은 현재 픽셀과 주변 픽셀의 세기(intensity)를 비교하고, 네 가지 카테고리로 나눈 것을 개략적으로 설명하는 개념도이다.
도 8의 (a) 내지 (d)는 각 카테고리 별로 현재 픽셀(C)과 인접 픽셀의 분포를 나타낼 수 있다. 도 8의 (a)에 도시된 카테고리는 현재 픽셀(C)보다 인접하는 두 픽셀의 세기가 더 큰 경우를 나타낸다. 도 8의 (b)에 도시된 카테고리는 현재 픽셀에 인접하는 두 픽셀 중 한 픽셀의 세기가 현재 픽셀보다 작은 두 경우를 나타낸다. 도 8의 (c)에 도시된 카테고리는 현재 픽셀에 인접하는 두 픽셀 중 한 픽셀의 세기가 현재 픽셀보다 큰 두 경우를 나타낸다. 도 8의 (d)에 도시된 카테고리는 현재 픽셀에 인접하는 두 픽셀의 세기가 현재 픽셀보다 작은 경우를 나타낸다.
예컨대, 도 8의 (a)와 (d)는 현재 픽셀의 세기가 주변 픽셀의 세기와 대비하여 더 크거나 더 작은 경우를 나타낸다. 또한, 도 8의 (b)와 (d)는 현재 픽셀이 소정의 영역의 경계(boundary)에 위치하는 경우에 나타날 수도 있다.
표 1은 도 8에 도시된 네 가지 카테고리를 개략적으로 나타낸다.
[표 1]
Figure PCTKR2012002345-appb-I000005

표 1에서 C는 현재 픽셀을 나타낸다. 표 1의 카테고리 1은 도 8의 (a)에 대응하며, 표 1의 카테고리 2는 도 8의 (b)에 대응하고, 표 1의 카테고리 3은 도 8의 (c)에 대응하며, 표 1의 카테고리 4는 도 8의 (d)에 대응할 수 있다.
부호화기는 각 카테고리 별로 에지 오프셋 값을 전송할 수 있다. 복호화기는 각각의 픽셀에 대해 에지 타입과 카테고리에 대응하는 에지 오프셋 값을 더해서 픽셀을 복원할 수 있다. 예컨대, 현재 픽셀이 도 7의 4 가지 에지 타입 중 어느 모드에 속하는지를 결정한 뒤에, 표 1의 카테고리 중 어느 카테고리에 속하는지를 결정해서 해당 카테고리의 오프셋을 현재 픽셀에 적용할 수 있다.

한편, SAO 프로세스는 슬라이스(slice) 및/또는 픽쳐(picture) 전체에 대해 수행되는 프로세스이다. 만일 현재 CU에 대해 I_PCM 모드가 적용된다면, 부호화기는 예측, 변환 및/또는 양자화 등을 수행하지 않고, 현재 CU 내의 픽셀 값들을 그대로 복호화기로 전송할 수 있다. 이 때, 복호화기는 부호화기로부터 전송된 픽셀 값으로부터 원본 데이터와 동일한 복원 픽셀 값을 도출할 수 있으므로, SAO 프로세스를 수행하지 않는 것이 더 효율적일 수 있다.
따라서, 부호화기 및 복호화기는 SAO 적용 과정에서 I_PCM 모드로 부호화된 블록 내의 픽셀에 대해, SAO 프로세스를 수행하지 않을 수 있다. 즉, 부호화기 및 복호화기는 I_PCM 블록 내의 픽셀에 대한 SAO 프로세스를 생략할 수 있다. I_PCM 모드인지 여부에 따른 SAO 프로세스의 생략은, 밴드 오프셋 및 에지 오프셋 중 적어도 하나의 오프셋 타입에 대하여 적용될 수 있다. 이 때, 일례로 SAO가 적용되는지 여부는 PCM 플래그 및/또는 PCM 루프 필터 플래그 등에 기반하여 결정될 수 있다.
일례로, I_PCM 모드로 부호화된 블록 내의 픽셀에 대해, 부호화기 및 복호화기는 SAO 과정을 수행하지 않는다는 결정을 할 수 있다. 또한, 부호화기 및 복호화기는 I_PCM 모드로 부호화된 블록 내의 픽셀에 대해, SAO가 적용되지 않은 복원 픽셀 값을 SAO 과정의 최종 픽셀 값으로 결정할 수도 있다.

한편, 상술한 바와 같이, 부호화기 및 복호화기의 필터부는 인 루프 필터로서 디블록킹 필터, SAO 뿐만 아니라 ALF(Adaptive Loop Filter: 적응적 루프 필터)를 적용할 수도 있다. ALF는 디블록킹 필터링 및/또는 SAO 과정이 수행된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다.

도 9는 본 발명에 따른 적응적 루프 필터링 수행 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
ALF는 빈너 필터(Wiener filter)를 이용하여 부호화 에러를 보상할 수 있으며, 슬라이스 내에 글로벌하게 적용될 수 있다. ALF는 SAO가 적용된 뒤에 적용될 수 있으며, HE(High Efficiency)의 경우에만 적용되도록 할 수도 있다.
도 9를 참조하면, 부호화기 및 복호화기는 적응적 루프 필터링 수행 여부를 결정할 수 있다(S910).
필터링 수행 여부에 관한 정보는 비트스트림 내에 포함되어 부호화기로부터 복호화기로 전송될 수 있다. 일례로, 부호화기는 각각의 CU에 대해 적응적 루프 필터링이 수행되는지 여부를 지시하는 ALF 플래그 정보를 복호화기로 전송할 수 있다. 여기서, 상기 ALF 플래그 정보는 현재 CU에 대해 적응적 루프 필터링이 수행되는지 여부를 지시하는 플래그에 해당될 수 있고, 일례로 alf_cu_flag 로 나타내어질 수 있다. 즉, ALF 플래그 정보는 ALF에 대한 CU 단위 온/오프(on/off) 정보에 해당될 수 있다. 복호화기는 상기 전송된 ALF 플래그 정보를 이용하여, CU 단위로 ALF 적용 여부를 결정할 수 있다.
필터링 수행 여부에 관한 정보에는, CU 단위 제어 플래그 정보도 포함될 수 있다. 즉, 부호화기는 CU 단위 제어 플래그 정보를 비트스트림에 포함시켜 복호화기로 전송할 수 있다. 여기서, 상기 CU 단위 제어 플래그는 CU 단위로 필터링 수행 여부가 결정될 수 있는지 여부, 즉 각 CU에 대해 ALF가 적응적으로 적용되는지 여부를 지시하는 플래그일 수 있다. 일례로, CU 단위 제어 플래그는 alf_cu_control_flag로 나타내어질 수 있다.
예를 들어, alf_cu_control_flag 값이 1인 경우, 부호화기 및 복호화기는 ALF 플래그(예를 들어, alf_cu_flag) 값에 따라, 현재 CU에 대한 ALF 적용 여부를 결정할 수 있다. 즉, alf_cu_control_flag 값이 1인 경우, 부호화기 및 복호화기는 ALF 플래그 값에 따라 CU 단위로 ALF 프로세스를 온/오프(on/off)할 수 있다. alf_cu_control_flag 값이 0인 경우, 상기 alf_cu_control_flag에 대응되는 CU는 ALF 플래그 정보를 갖지 않을 수 있다. 즉, 이 경우에는 ALF에 대한 CU 단위 온/오프(on/off) 정보가 존재하지 않을 수 있다.
한편, I_PCM 모드로 부호화된 블록 내의 픽셀에 대해, 부호화기 및 복호화기는 ALF 과정을 수행하지 않을 수 있다. 즉, 현재 CU가 I_PCM 모드로 부호화된 경우, 부호화기 및 복호화기는 현재 CU 내의 픽셀에 대한 ALF 과정을 생략할 수 있다. 상술한 바와 같이, I_PCM 모드가 적용되는 경우, 부호화기는 예측, 변환 및/또는 양자화 등을 수행하지 않고, 현재 CU 내의 픽셀 값들을 그대로 복호화기로 전송할 수 있다. 이 때, 복호화기는 부호화기로부터 전송된 픽셀 값으로부터 원본 데이터와 동일한 복원 픽셀 값을 도출할 수 있다. 따라서, 최상의 화질의 영상을 복원하기 위해, 인 루프 필터링(예를 들어, 디블록킹 필터링, SAO, ALF) 과정이 생략될 필요가 있을 수 있다.
일 실시예로, 현재 CU가 I_PCM 모드로 부호화된 경우, 부호화기 및 복호화기는 해당 CU 내의 픽셀에 대해 ALF 과정을 수행하지 않는다는 결정을 할 수 있다. 이 때, 현재 CU가 I_PCM 모드로 부호화되었는지 여부는 일례로, PCM 플래그 및 PCM 루프 필터 플래그에 기반하여 판단될 수 있다. PCM 플래그 및 PCM 루프 필터 플래그에 대해서는 상술한 바 있으므로, 생략하기로 한다.
또한, 현재 CU가 I_PCM 모드로 부호화된 경우, 부호화기 및 복호화기는 CU 단위 제어 플래그(예를 들어, alf_cu_control_flag. 이하, alf_cu_control_flag라 함.) 값에 따라 다른 방법으로 ALF 적용 여부를 결정할 수도 있다.
상술한 바와 같이 alf_cu_control_flag 값이 1인 경우, 부호화기 및 복호화기는 ALF 플래그(예를 들어, alf_cu_flag. 이하, alf_cu_flag라 함.) 값에 따라, 현재 CU에 대한 ALF 적용 여부를 결정할 수 있다. 이 때, 일례로 부호화기는 I_PCM 모드로 부호화된 CU에 대해서는 alf_cu_flag에 0의 값을 할당하여 복호화기로 전송할 수 있다. 이러한 경우, 복호화기는 alf_cu_flag 값에 따라 ALF 적용 여부를 결정함으로써, I_PCM 모드로 부호화된 CU에 대한 ALF 과정을 생략할 수 있다. 다른 예로, alf_cu_control_flag 값이 1인 경우, 부호화기 및 복호화기는 I_PCM 모드로 부호화된 CU에 대해 alf_cu_flag 값을 무시하고 ALF 과정을 생략할 수도 있다.
alf_cu_control_flag 값이 0인 경우, 상기 alf_cu_control_flag에 대응되는 CU는 ALF 플래그 정보를 갖지 않을 수 있다. 즉, 이 경우에는 ALF에 대한 CU 단위 온/오프(on/off) 정보가 존재하지 않을 수 있다. 이 때, 부호화기 및 복호화기는 I_PCM 모드로 부호화된 CU에 대해 alf_cu_flag 값을 0으로 추정(infer)하여, ALF 수행 과정을 생략할 수 있다.
다시 도 9를 참조하면, 부호화기 및 복호화기는 필터 모양 및 필터 계수를 결정할 수 있다(S920).
ALF 과정이 수행되는 것으로 결정된 경우, 부호화기 및 복호화기는 필터 모양(filter shape) 및 필터 계수(filter coefficient)를 결정할 수 있다. 필터 모양 및/또는 필터 계수에 관한 정보는 슬라이스 헤더(slice header)를 통해 부호화기로부터 복호화기로 전송될 수 있다. 예를 들어, 필터 계수는 부호화기에서 계산될 수 있으며, 필터 계수의 개수는 하나 이상일 수 있다.
필터 모양 및 필터 계수가 결정되면, 부호화기 및 복호화기는 상기 결정된 필터 모양 및 필터 계수에 기반하여, 복원된 영상의 픽셀에 대해 적응적 루프 필터링을 수행할 수 있다(S930). 이 때, 상기 복원된 영상은 디블록킹 필터링 및/또는 SAO 과정이 수행된 후의 영상에 해당될 수 있다.

도 10은 본 발명이 적용되는 시스템에서 부호화기의 동작을 개략적으로 나타내는 흐름도이다.
도 10을 참조하면, 부호화기는 블록을 복원할 수 있다(S1010). 일례로 부호화기는 예측 블록과 현재 블록을 기반으로 생성된 레지듀얼 블록을 변환하고, 양자화한 뒤에 역양자화 및 역변환을 거쳐서 복원된 레지듀얼 블록을 생성할 수 있다. 부호화기는 복원된 레지듀얼 블록 및 예측 블록을 기반으로 복원된 블록을 생성할 수 있다. 다른 예로, 현재 블록에 대해 I_PCM 모드가 적용되는 경우, 부호화기는 예측, 변환 및/또는 양자화 등을 수행하지 않을 수 있다. 이 때, 부호화기는 상기 현재 블록 내의 픽셀 값들을 그대로 코딩하여 복호화기로 전송할 수 있으며, 상기 현재 블록 내의 픽셀 값들로부터 바로 복원된 블록을 생성할 수 있다.
이어서, 부호화기는 복원된 블록에 인 루프 필터를 적용할 수 있다(S1020). 인 루프 필터는 도 1의 필터부에서 적용될 수 있으며, 필터부에서는 디블록킹 필터, SAO, ALF 등이 적용될 수 있다. 이 때, 부호화기는 I_PCM 모드로 부호화된 블록 및/또는 상기 I_PCM 블록 내의 픽셀에 대해서는, 디블록킹 필터, SAO 및 ALF 중에서 하나 이상을 적용하지 않을 수 있다. 이에 대한 구체적인 내용은 상술한 바와 같다.
부호화기는 이어서 디블록킹 필터, SAO 및/또는 ALF 등이 적용된 영상 정보 및 인 루프 필터에 관한 영상 정보가 포함된 비트스트림을 복호화기에 전송할 수 있다(S1030).

도 11은 본 발명이 적용된 시스템에서 복호화기의 동작을 개략적으로 나타내는 흐름도이다.
도 11을 참조하면, 복호화기는 우선 부호화기로부터 비트 스트림을 수신할 수 있다(S1110). 수신한 비트 스트림에는, 영상 정보뿐만 아니라, 영상 정보를 복원하기 위해 필요한 정보가 포함되어 있을 수 있다.
복호화기는 수신한 정보를 기반으로 블록을 복원할 수 있다(S1120). 일례로 복호화기는 예측에 의해 생성된 예측 블록과 역양자화 및 역변환을 통해 생성한 레지듀얼 블록을 기반으로 복원 블록을 생성할 수 있다. 다른 예로, 현재 블록에 대해 I_PCM 모드가 적용된 경우, 복호화기는 예측, 변환 및/또는 양자화 등을 수행하지 않을 수 있다. 이 때, 부호화기는 현재 블록 내의 픽셀 값들을 그대로 코딩하여 복호화기로 전송할 수 있으며, 복호화기는 상기 전송된 픽셀 값들로부터 바로 복원 블록을 생성할 수 있다.
이어서, 복호화기는 복원 블록에 인 루프 필터를 적용할 수 있다(S1130). 인 루프 필터는 도 3의 필터부에서 적용될 수 있으며, 필터부에서는 디블록킹 필터, SAO, ALF 등이 적용될 수 있다. 이 때, 복호화기는 I_PCM 모드로 부호화된 블록 및/또는 상기 I_PCM 모드로 부호화된 블록 내의 픽셀에 대해서는, 디블록킹 필터, SAO 및 ALF 중에서 하나 이상을 적용하지 않을 수 있다. 이에 대한 구체적인 내용은 상술한 바와 같다.

한편, 상술한 인 루프 필터링 수행 과정에서, 부호화기 및 복호화기는 디블록킹 필터, SAO 및 ALF 과정에 의해 생성된 출력 각각에 대해 클리핑(clipping) 및/또는 라운딩(rounding) 과정을 수행할 수 있다. 여기서, 클리핑은 임의의 값을 일정 범위 내의 값으로 절삭하는 프로세스를 의미할 수 있다. 일례로, 클리핑 연산은 clip3(x, y, z)에 의해 나타내어질 수 있다. 이 때, z가 x보다 작으면 clip3(x, y, z)의 값은 x가 되고, z가 y보다 크면 clip3(x, y, z)의 값은 y가 될 수 있다. 그렇지 않으면, clip3(x, y, z)의 값은 z가 될 수 있다. 상기 클리핑 과정에 의해, 디블록킹 필터, SAO 및 ALF 각각의 출력은 일정 범위 내의 값으로 제한될 수 있다.
일 실시예로, 입력 영상 내의 픽셀 각각을 나타내기 위해 사용되는 비트 수, 즉 비트 심도(bit depth)가 8 비트라 가정한다. 이 때, 부호화기 및 복호화기는 디블록킹 필터링을 수행한 후, 디블록킹 필터링이 수행된 픽셀값 각각에 대해 8 비트의 범위로 클리핑을 수행할 수 있다. 이후, 부호화기 및 복호화기는 SAO 과정을 수행한 후, SAO가 적용된 픽셀값 각각에 대해 8 비트의 범위로 클리핑을 수행할 수 있다. 마찬가지로, 부호화기 및 복호화기는 ALF 과정을 수행한 후, ALF가 적용된 픽셀값 각각에 대해 8 비트의 범위로 클리핑을 수행할 수 있다.
클리핑 과정은 상술한 바와 같이 디블록킹 필터, SAO 및 ALF 각각에 대해 모두 적용될 수 있다. 그러나, 클리핑 과정은 상술한 실시예에 한하지 않고, 디블록킹 필터, SAO 및 ALF 중 일부에 대해서만 적용될 수도 있다.
상술한 복수의 클리핑 및/또는 라운딩 과정에 의해, 디블록킹 필터, SAO 및 ALF 각각의 출력은 8 비트 범위 내의 값으로 제한될 수 있다. 그러나, 이러한 복수의 클리핑 및/또는 라운딩 과정은 출력 정확도(accuracy)의 손실(loss)을 초래할 수 있고, 코딩 효율이 감소될 수 있다. 따라서, 불필요한 클리핑 프로세스를 제거하기 위한 인 루프 필터링 프로세스가 제공될 수 있다.

도 12는 본 발명에 따른 인 루프 필터링 프로세스의 일 실시예를 개략적으로 나타내는 흐름도이다.
상술한 바와 같이, 부호화기 및 복호화기는 복원 영상에 인 루프 필터(In-loop filter)를 적용할 수 있다. 복원 영상에 적용되는 인 루프 필터는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset) 및 적응적 루프 필터(ALF) 중 하나 이상일 수 있다.
부호화기 및 복호화기는 인 루프 필터의 각 단계(디블록킹 필터링, SAO, ALF 등)마다 각각 클리핑을 수행할 수 있다. 그러나, 이 경우에는 출력 정확도 손실 및 코딩 효율 감소를 초래할 수 있다. 따라서, 부호화기 및 복호화기는 복원 영상에 적용되는 인 루프 필터 중에서 마지막에 수행되는 프로세스 및/또는 단계에 대해서만 클리핑을 수행할 수도 있다. 이 경우, 마지막 필터링 프로세스를 제외한 나머지 필터링 단계에서는 클리핑이 수행되지 않을 수 있다. 예를 들어, 복원 영상에 디블록킹 필터링, SAO, ALF가 모두 적용되는 경우, 부호화기 및 복호화기는 디블록킹 필터링 및 SAO 과정에서 클리핑을 수행하지 않고, ALF 과정이 수행된 픽셀에 대해서만 클리핑을 수행할 수 있다. 이 경우에도, 최종 출력 값은 일정 범위 내의 값으로 제한될 수 있다.
도 12를 참조하면, 부호화기 및 복호화기는 복원 영상을 생성할 수 있다(S1210).
복원 영상은 블록 단위로 복원 블록을 생성함으로써, 생성될 수 있다. 일례로, 부호화기 및 복호화기는 예측에 의해 생성된 예측 블록과 역양자화 및 역변환을 통해 복원된 레지듀얼 블록을 기반으로 복원 블록을 생성할 수 있다. 다른 예로, I_PCM 모드가 적용된 블록에 대해 부호화기 및 복호화기는 예측, 변환 및/또는 양자화 등을 수행하지 않을 수 있다. 이 때, 부호화기는 I_PCM 블록 내의 픽셀 값들을 그대로 코딩하여 복호화기로 전송할 수 있으며, I_PCM 블록 내의 픽셀 값들로부터 바로 복원 블록을 생성할 수 있다. 또한, 복호화기는 부호화기로부터 전송된 픽셀 값들로부터 바로 복원 블록을 생성할 수 있다.
복원 영상이 생성되면, 부호화기 및 복호화기는 SAO 적용 여부를 판단할 수 있다(S1220).
일례로 SAO 적용 여부에 관한 정보는 부호화기에서 부호화되어 복호화기로 전송될 수 있다. 이 때, 복호화기는 상기 전송된 정보를 이용하여 SAO 적용 여부를 판단할 수 있다. 또한, 상술한 바와 같이 부호화기 및 복호화기는 I_PCM 모드로 부호화된 블록 내의 픽셀에 대해, SAO 프로세스를 수행하지 않을 수 있다. 따라서, 예를 들어 I_PCM 모드로 부호화된 블록 내의 픽셀에 대해, 부호화기 및 복호화기는 SAO 과정을 수행하지 않는다는 결정을 할 수 있다.
SAO가 적용되지 않는 경우, 부호화기 및 복호화기는 디블록킹 필터링을 수행한 후 디블록킹 필터링이 수행된 각각의 픽셀 값에 대해 클리핑을 수행할 수 있다(S1230). 이 때, 클리핑이 수행된 각각의 픽셀 값은 인 루프 필터링 프로세스의 최종 출력 값에 해당될 수 있다. 클리핑이 수행되면, 인 루프 필터링 과정은 종료될 수 있다.
SAO가 적용되는 경우, 부호화기 및 복호화기는 디블록킹 필터링을 수행하고, 클리핑을 수행하지 않을 수 있다(S1240). SAO가 적용되는 경우에는 디블록킹 필터링 프로세스가 인 루프 필터링 프로세스의 마지막 단계에 해당되지 않으므로, 출력 정확도 손실 및 코딩 효율 감소를 방지하기 위해 디블록킹 필터링 단계의 클리핑 과정이 생략될 수 있다.
SAO가 적용되는 경우, 디블록킹 필터링이 수행되면 부호화기 및 복호화기는 ALF 적용 여부를 판단할 수 있다(S1250).
일례로 ALF 적용 여부에 관한 정보는 비트스트림 내에 포함되어 부호화기로부터 복호화기로 전송될 수 있다. 이 때, 복호화기는 상기 전송된 정보를 이용하여, ALF 적용 여부를 판단할 수 있다. 또한, 상술한 바와 같이 I_PCM 모드로 부호화된 블록 내의 픽셀에 대해, 부호화기 및 복호화기는 ALF 과정을 수행하지 않을 수 있다. 따라서 예를 들어, 부호화기 및 복호화기는 현재 CU가 I_PCM 모드로 부호화된 경우, 해당 CU 내의 픽셀에 대해 ALF를 적용하지 않는다는 결정을 할 수 있다. 구체적인 실시예는 상술한 바 있으므로, 생략하기로 한다.
ALF가 적용되지 않는 경우, 부호화기 및 복호화기는 SAO 과정을 수행한 후 SAO가 적용된 각각의 픽셀 값에 대해 클리핑을 수행할 수 있다(S1260). 이 때, 클리핑이 수행된 각각의 픽셀 값은 인 루프 필터링 프로세스의 최종 출력 값에 해당될 수 있다. 클리핑이 수행되면, 인 루프 필터링 과정은 종료될 수 있다.
ALF가 적용되는 경우, 부호화기 및 복호화기는 SAO 과정을 수행하고, 클리핑을 수행하지 않을 수 있다(S1270). ALF가 적용되는 경우에는 SAO 프로세스가 인 루프 필터링 프로세스의 마지막 단계에 해당되지 않으므로, 출력 정확도 손실 및 코딩 효율 감소를 방지하기 위해 SAO 단계의 클리핑 과정이 생략될 수 있다.
이 때, SAO 프로세스가 수행된 후 부호화기 및 복호화는 ALF 과정을 수행할 수 있고, ALF가 적용된 각각의 픽셀 값에 대해 클리핑을 수행할 수 있다(S1280). 여기서, 클리핑이 수행된 각각의 픽셀 값은 인 루프 필터링 프로세스의 최종 출력 값에 해당될 수 있다. 클리핑이 수행되면, 인 루프 필터링 과정이 종료될 수 있다.

상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당업자라면 순서도에 나타낸 단계들이 배타적이지 않고, 다른 단계가 포함되거나 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능합을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (15)

  1. 영상 정보를 수신하는 단계;
    상기 영상 정보에 기반하여 현재 블록에 대한 복원 블록을 생성하는 단계; 및
    상기 영상 정보를 기반으로 상기 복원 블록에 인 루프 필터(In-loop filter)를 적용하여, 상기 현재 블록에 대한 최종 복원 블록을 생성하는 단계를 포함하되,
    상기 최종 복원 블록 내의 최종 픽셀 값은 상기 현재 블록의 부호화 모드가 I_PCM(Intra Pulse Code Modulation) 모드인지 여부에 따라 결정되는 것을 특징으로 하는 영상 복호화 방법.
  2. 제 1항에 있어서,
    상기 인 루프 필터는 디블록킹 필터(deblocking filter)를 포함하고,
    상기 최종 복원 블록 생성 단계는,
    상기 복원 블록의 내부 또는 경계에 위치한 블록 에지(edge)에 대하여, bS(boundary Strength)를 결정하는 단계;
    상기 bS를 기반으로, 상기 블록 에지에 대한 상기 디블록킹 필터의 적용 여부를 결정하는 단계; 및
    상기 디블록킹 필터 적용 여부 결정에 기반하여, 상기 최종 픽셀 값을 도출하는 단계를 더 포함하고,
    상기 최종 픽셀 값 도출 단계에서는,
    상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우,
    상기 복원 블록 내의 디블록킹 필터링이 수행되지 않은 픽셀 값을 상기 최종 픽셀 값으로 결정하는 것을 특징으로 하는 영상 복호화 방법.
  3. 제 2항에 있어서,
    상기 디블록킹 필터 적용 여부 결정 단계에서는,
    상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우,
    상기 블록 에지에 대해 상기 디블록킹 필터를 적용하지 않는 것으로 결정하는 것을 특징으로 하는 영상 복호화 방법.
  4. 제 1항에 있어서,
    상기 인 루프 필터는 SAO(Sample Adaptive Offset)를 포함하고,
    상기 최종 복원 블록 생성 단계에서는,
    상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우,
    상기 복원 블록 내의 픽셀에 대해 상기 SAO를 적용하지 않는 것을 특징으로 하는 영상 복호화 방법.
  5. 제 1항에 있어서,
    상기 인 루프 필터는 적응적 루프 필터(ALF: Adaptive Loop Filter)를 포함하고,
    상기 최종 복원 블록 생성 단계는,
    상기 복원 블록에 대한 상기 적응적 루프 필터의 적용 여부를 결정하는 단계;
    상기 적응적 루프 필터의 필터 모양 및 필터 계수를 결정하는 단계; 및
    상기 필터 모양 및 상기 필터 계수를 기반으로, 상기 적응적 루프 필터 적용 여부 결정에 따라서, 상기 최종 픽셀 값을 도출하는 단계를 더 포함하고,
    상기 최종 픽셀 값 도출 단계에서는,
    상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우,
    상기 복원 블록 내의 적응적 루프 필터링이 수행되지 않은 픽셀 값을 상기 최종 픽셀 값으로 결정하는 것을 특징으로 하는 영상 복호화 방법.
  6. 제 5항에 있어서,
    상기 적응적 루프 필터 적용 여부 결정 단계에서는,
    상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우,
    상기 복원 블록에 대해 상기 적응적 루프 필터를 적용하지 않는 것으로 결정하는 것을 특징으로 하는 영상 복호화 방법.
  7. 제 5항에 있어서,
    상기 영상 정보는 상기 현재 블록의 부호화 모드가 I_PCM 모드인지 여부를 지시하는 PCM 플래그 정보를 더 포함하고,
    상기 적응적 루프 필터 적용 여부 결정 단계에서는,
    상기 PCM 플래그 정보에 기반하여 상기 적응적 루프 필터의 적용 여부를 결정하는 것을 특징으로 하는 영상 복호화 방법.
  8. 제 7항에 있어서,
    상기 영상 정보는 I_PCM 모드로 부호화되는 블록에 대해 상기 인 루프 필터가 적용되는지 여부를 지시하는 PCM 루프 필터 플래그 정보를 더 포함하고,
    상기 적응적 루프 필터 적용 여부 결정 단계에서는,
    상기 PCM 플래그 정보 및 상기 PCM 루프 필터 플래그 정보에 기반하여 상기 적응적 루프 필터의 적용 여부를 결정하는 것을 특징으로 하는 영상 복호화 방법.
  9. 제 7항에 있어서,
    상기 현재 블록은 복호화 대상이 되는 CU(Coding Unit: 부호화 유닛)이고,
    상기 영상 정보는 상기 현재 블록에 대해 적응적 루프 필터링이 수행되는지 여부를 지시하는, ALF 플래그 정보를 더 포함하고,
    상기 적응적 루프 필터 적용 여부 결정 단계에서는,
    상기 PCM 플래그 정보 및 상기 ALF 플래그 정보에 기반하여 상기 적응적 루프 필터의 적용 여부를 결정하는 것을 특징으로 하는 영상 복호화 방법.
  10. 제 1항에 있어서,
    상기 인 루프 필터는 디블록킹 필터, SAO 및 ALF 중에서 적어도 하나를 포함하고,
    상기 최종 복원 블록 생성 단계에서는,
    상기 디블록킹 필터, 상기 SAO 및 상기 ALF 중에서 상기 복원 블록에 대해 마지막으로 적용되는 인 루프 필터의 출력에 대해서만 클리핑(clipping)을 수행하는 것을 특징으로 하는 영상 복호화 방법.
  11. 현재 블록에 대한 복원 블록을 생성하는 단계;
    상기 복원 블록에 인 루프 필터(In-loop filter)를 적용하여, 상기 현재 블록에 대한 최종 복원 블록을 생성하는 단계; 및
    상기 인 루프 필터 적용에 관한 영상 정보를 전송하는 단계를 포함하되,
    상기 최종 복원 블록 내의 최종 픽셀 값은 상기 현재 블록의 부호화 모드가 I_PCM(Intra Pulse Code Modulation) 모드인지 여부에 따라 결정되는 것을 특징으로 하는 영상 부호화 방법.
  12. 제 11항에 있어서,
    상기 인 루프 필터는 디블록킹 필터(deblocking filter)를 포함하고,
    상기 최종 복원 블록 생성 단계는,
    상기 복원 블록의 내부 또는 경계에 위치한 블록 에지(edge)에 대하여, bS(boundary Strength)를 결정하는 단계;
    상기 bS를 기반으로, 상기 블록 에지에 대한 상기 디블록킹 필터의 적용 여부를 결정하는 단계; 및
    상기 디블록킹 필터 적용 여부 결정에 기반하여, 상기 최종 픽셀 값을 도출하는 단계를 더 포함하고,
    상기 최종 픽셀 값 도출 단계에서는,
    상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우,
    상기 복원 블록 내의 디블록킹 필터링이 수행되지 않은 픽셀 값을 상기 최종 픽셀 값으로 결정하는 것을 특징으로 하는 영상 부호화 방법.
  13. 제 11항에 있어서,
    상기 인 루프 필터는 SAO(Sample Adaptive Offset)를 포함하고,
    상기 최종 복원 블록 생성 단계에서는,
    상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우,
    상기 복원 블록 내의 픽셀에 대해 상기 SAO를 적용하지 않는 것을 특징으로 하는 영상 부호화 방법.
  14. 제 11항에 있어서,
    상기 인 루프 필터는 적응적 루프 필터(ALF: Adaptive Loop Filter)를 포함하고,
    상기 최종 복원 블록 생성 단계는,
    상기 복원 블록에 대한 상기 적응적 루프 필터의 적용 여부를 결정하는 단계;
    상기 적응적 루프 필터의 필터 모양 및 필터 계수를 결정하는 단계; 및
    상기 필터 모양 및 상기 필터 계수를 기반으로, 상기 적응적 루프 필터 적용 여부 결정에 따라서, 상기 최종 픽셀 값을 도출하는 단계를 더 포함하고,
    상기 최종 픽셀 값 도출 단계에서는,
    상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우,
    상기 복원 블록 내의 적응적 루프 필터링이 수행되지 않은 픽셀 값을 상기 최종 픽셀 값으로 결정하는 것을 특징으로 하는 영상 부호화 방법.
  15. 제 14항에 있어서,
    상기 적응적 루프 필터 적용 여부 결정 단계에서는,
    상기 현재 블록의 부호화 모드가 I_PCM 모드인 경우,
    상기 복원 블록에 대해 상기 적응적 루프 필터를 적용하지 않는 것으로 결정하는 것을 특징으로 하는 영상 부호화 방법.
PCT/KR2012/002345 2011-03-30 2012-03-30 인 루프 필터링 방법 및 그 장치 WO2012134204A2 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
EP12763057.2A EP2693750A4 (en) 2011-03-30 2012-03-30 IN-LOOP FILTER PROCESS AND DEVICE THEREFOR
US14/007,979 US10419764B2 (en) 2011-03-30 2012-03-30 In-loop filtering method and apparatus for same
CN201280016858.6A CN103460699B (zh) 2011-03-30 2012-03-30 环路滤波方法及其设备
US16/572,294 US10887603B2 (en) 2011-03-30 2019-09-16 In-loop filtering method and apparatus for same
US17/110,110 US11330273B2 (en) 2011-03-30 2020-12-02 In-loop filtering method and apparatus for same
US17/715,903 US11758149B2 (en) 2011-03-30 2022-04-07 In-loop filtering method and apparatus for same
US18/226,024 US20230370610A1 (en) 2011-03-30 2023-07-25 In-loop filtering method and apparatus for same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161469786P 2011-03-30 2011-03-30
US61/469,786 2011-03-30
US201161470500P 2011-04-01 2011-04-01
US61/470,500 2011-04-01

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/007,979 A-371-Of-International US10419764B2 (en) 2011-03-30 2012-03-30 In-loop filtering method and apparatus for same
US16/572,294 Continuation US10887603B2 (en) 2011-03-30 2019-09-16 In-loop filtering method and apparatus for same

Publications (2)

Publication Number Publication Date
WO2012134204A2 true WO2012134204A2 (ko) 2012-10-04
WO2012134204A3 WO2012134204A3 (ko) 2013-01-10

Family

ID=46932152

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/002345 WO2012134204A2 (ko) 2011-03-30 2012-03-30 인 루프 필터링 방법 및 그 장치

Country Status (4)

Country Link
US (5) US10419764B2 (ko)
EP (1) EP2693750A4 (ko)
CN (5) CN107249131B (ko)
WO (1) WO2012134204A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018212430A1 (ko) * 2017-05-15 2018-11-22 엘지전자 주식회사 영상 코딩 시스템에서 주파수 도메인 필터링 방법 및 그 장치
CN112383780A (zh) * 2013-08-16 2021-02-19 上海天荷电子信息有限公司 点匹配参考集和索引来回扫描串匹配的编解码方法和装置
CN113767623A (zh) * 2019-04-16 2021-12-07 北京字节跳动网络技术有限公司 用于视频编解码的自适应环路滤波

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8488663B2 (en) * 2009-09-23 2013-07-16 Maxlinear, Inc. Impulse noise mitigation under out-of-band interference conditions
AU2012221588B2 (en) 2011-02-22 2015-12-17 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
MX2013000093A (es) 2011-02-22 2013-02-27 Panasonic Corp Metodo de filtro, dispositivo de codificacion de imagen dinamica, dispositivo de decodificacion de imagen dinamica y dispositivo de codificacion y decodificacion de imagen dinamica.
CN103503456B (zh) * 2011-05-10 2017-03-22 联发科技股份有限公司 用于重建视频的环内处理方法及其装置
JP2013034163A (ja) 2011-06-03 2013-02-14 Sony Corp 画像処理装置及び画像処理方法
KR20120140181A (ko) * 2011-06-20 2012-12-28 한국전자통신연구원 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치
EP2736253B1 (en) 2011-07-19 2020-03-11 Tagivan Ii Llc Filtering method, moving image decoding method, moving image encoding method, moving image decoding apparatus, moving image encoding apparatus, and moving image encoding/decoding apparatus
GB201119206D0 (en) * 2011-11-07 2011-12-21 Canon Kk Method and device for providing compensation offsets for a set of reconstructed samples of an image
US9277194B2 (en) * 2011-11-08 2016-03-01 Texas Instruments Incorporated Method and apparatus for image and video coding using hierarchical sample adaptive band offset
MX2013014976A (es) * 2012-05-25 2014-04-02 Panasonic Corp Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
US20150049821A1 (en) * 2013-08-16 2015-02-19 Qualcomm Incorporated In-loop depth map filtering for 3d video coding
EP3138293A4 (en) * 2014-04-29 2017-05-24 Microsoft Technology Licensing, LLC Encoder-side decisions for sample adaptive offset filtering
KR101974261B1 (ko) * 2016-06-24 2019-04-30 한국과학기술원 Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치
CN111819856A (zh) * 2018-03-07 2020-10-23 华为技术有限公司 用于视频编码的环路滤波装置及方法
CN117528079A (zh) * 2018-09-24 2024-02-06 华为技术有限公司 用于执行质量优化去块的图像处理设备和方法
CN109660797A (zh) * 2018-11-09 2019-04-19 北京达佳互联信息技术有限公司 自适应滤波方法、装置、电子设备及计算机可读介质
CN109862374A (zh) * 2019-01-07 2019-06-07 北京大学 一种自适应环路滤波方法及装置
CN117956149A (zh) * 2019-03-08 2024-04-30 佳能株式会社 自适应环路滤波器
CN115243056A (zh) 2019-03-24 2022-10-25 抖音视界有限公司 视频处理中的多参数自适应环路滤波
SG11202112263YA (en) * 2019-05-04 2021-12-30 Huawei Tech Co Ltd An encoder, a decoder and corresponding methods using an adaptive loop filter
WO2020231140A1 (ko) * 2019-05-14 2020-11-19 엘지전자 주식회사 적응적 루프 필터 기반 비디오 또는 영상 코딩
KR20200132753A (ko) * 2019-05-15 2020-11-25 현대자동차주식회사 영상 부호화 및 복호화 방법 및 장치
KR20220019241A (ko) * 2019-07-08 2022-02-16 엘지전자 주식회사 적응적 루프 필터 기반 비디오 또는 영상 코딩
CN117221541A (zh) * 2019-07-08 2023-12-12 Lg电子株式会社 图像编解码方法、数据发送方法及计算机可读存储介质
KR20230170072A (ko) * 2021-05-26 2023-12-18 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 교차-컴포넌트 샘플 적응적 오프셋에서의 코딩 강화

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2660138B1 (fr) * 1990-03-26 1992-06-12 France Telecom Cnet Dispositif de codage/decodage de signaux d'image.
US6618443B1 (en) 1997-03-12 2003-09-09 Matsushita Electric Industrial Co., Ltd. Upsampling filter for a down conversion system
US7450641B2 (en) * 2001-09-14 2008-11-11 Sharp Laboratories Of America, Inc. Adaptive filtering based upon boundary strength
US8284844B2 (en) * 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
JP4240283B2 (ja) 2002-10-10 2009-03-18 ソニー株式会社 復号装置及び復号方法
CN1255018C (zh) * 2003-07-10 2006-05-10 沈阳农业大学 双向单坡日光温室
DE102004059978B4 (de) * 2004-10-15 2006-09-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz und zum Decodieren einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Restwerte-Prädiktion sowie ein Computerprogramm und ein computerlesbares Medium
JP4643454B2 (ja) * 2006-01-10 2011-03-02 株式会社東芝 動画像復号装置及び動画像復号方法
JP2008022383A (ja) 2006-07-13 2008-01-31 Matsushita Electric Ind Co Ltd 画像符号化装置
US8204129B2 (en) 2007-03-27 2012-06-19 Freescale Semiconductor, Inc. Simplified deblock filtering for reduced memory access and computational complexity
CN100562114C (zh) * 2007-08-30 2009-11-18 上海交通大学 视频解码方法与解码装置
US7741720B2 (en) * 2007-09-25 2010-06-22 Silverbrook Research Pty Ltd Electronic device with wire bonds adhered between integrated circuits dies and printed circuit boards
CN101179720B (zh) * 2007-11-16 2010-09-01 海信集团有限公司 一种视频解码方法
EP2157799A1 (en) 2008-08-18 2010-02-24 Panasonic Corporation Interpolation filter with local adaptation based on block edges in the reference frame
KR20110014000A (ko) 2009-08-04 2011-02-10 광운대학교 산학협력단 영상 데이터의 디블록킹 필터링 장치 및 방법과 이를 이용한 영상 복호화 장치 및 방법
US9185430B2 (en) * 2010-03-15 2015-11-10 Mediatek Singapore Pte. Ltd. Deblocking filtering method and deblocking filter
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US8660174B2 (en) * 2010-06-15 2014-02-25 Mediatek Inc. Apparatus and method of adaptive offset for video coding
US10992958B2 (en) * 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
US9210442B2 (en) * 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
US9749657B2 (en) * 2011-01-21 2017-08-29 Sharp Kabushiki Kaisha Buffer compression for motion vector competition
MX2013000093A (es) * 2011-02-22 2013-02-27 Panasonic Corp Metodo de filtro, dispositivo de codificacion de imagen dinamica, dispositivo de decodificacion de imagen dinamica y dispositivo de codificacion y decodificacion de imagen dinamica.
KR102014177B1 (ko) * 2011-05-04 2019-10-21 한국전자통신연구원 에러에 강인한 인-루프 필터를 이용하는 영상 부호화/복호화 방법과 그에 관한 시그널링 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None
See also references of EP2693750A4

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383780A (zh) * 2013-08-16 2021-02-19 上海天荷电子信息有限公司 点匹配参考集和索引来回扫描串匹配的编解码方法和装置
WO2018212430A1 (ko) * 2017-05-15 2018-11-22 엘지전자 주식회사 영상 코딩 시스템에서 주파수 도메인 필터링 방법 및 그 장치
CN113767623A (zh) * 2019-04-16 2021-12-07 北京字节跳动网络技术有限公司 用于视频编解码的自适应环路滤波
CN113767623B (zh) * 2019-04-16 2024-04-02 北京字节跳动网络技术有限公司 用于视频编解码的自适应环路滤波

Also Published As

Publication number Publication date
CN107249131A (zh) 2017-10-13
EP2693750A4 (en) 2016-09-28
CN107249131B (zh) 2020-04-24
CN103460699A (zh) 2013-12-18
US20230370610A1 (en) 2023-11-16
CN107396129B (zh) 2020-05-05
US10887603B2 (en) 2021-01-05
US20210092402A1 (en) 2021-03-25
US11330273B2 (en) 2022-05-10
EP2693750A2 (en) 2014-02-05
CN107197258B (zh) 2020-04-28
US10419764B2 (en) 2019-09-17
CN103460699B (zh) 2017-06-20
CN107172424B (zh) 2020-04-14
CN107197258A (zh) 2017-09-22
US20200014932A1 (en) 2020-01-09
US20140023136A1 (en) 2014-01-23
US11758149B2 (en) 2023-09-12
WO2012134204A3 (ko) 2013-01-10
CN107396129A (zh) 2017-11-24
US20220232225A1 (en) 2022-07-21
CN107172424A (zh) 2017-09-15

Similar Documents

Publication Publication Date Title
US11758149B2 (en) In-loop filtering method and apparatus for same
JP7051773B2 (ja) イントラ予測方法とそれを利用した符号化器及び復号化器
KR102492009B1 (ko) 영상 정보 부호화 및 복호화 방법
WO2013042884A1 (ko) 영상 부호화/복호화 방법 및 그 장치
KR102656595B1 (ko) 영상 정보 인코딩 및 디코딩 방법
WO2013058541A1 (ko) 영상 부호화/복호화 방법 및 그 장치
EP2801195A1 (en) Devices and methods for sample adaptive offset coding and/or selection of edge offset parameters
WO2012138032A1 (ko) 영상 정보 부호화 방법 및 복호화 방법
WO2015008478A1 (en) Modified coding for a transform skipped block for cabac in hevc
US20240056585A1 (en) Coding method, encoder, and decoder
CN116998150A (zh) 视频编解码中网格量化的状态转换

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: 12763057

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 14007979

Country of ref document: US

Ref document number: 2012763057

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE