WO2013157839A1 - 인간의 시각 특성을 이용한 오프셋 값 결정 방법 및 장치 - Google Patents

인간의 시각 특성을 이용한 오프셋 값 결정 방법 및 장치 Download PDF

Info

Publication number
WO2013157839A1
WO2013157839A1 PCT/KR2013/003230 KR2013003230W WO2013157839A1 WO 2013157839 A1 WO2013157839 A1 WO 2013157839A1 KR 2013003230 W KR2013003230 W KR 2013003230W WO 2013157839 A1 WO2013157839 A1 WO 2013157839A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
offset
pixel
category
offset value
Prior art date
Application number
PCT/KR2013/003230
Other languages
English (en)
French (fr)
Inventor
송학섭
주재환
김찬열
최종범
김재현
박정훈
이교혁
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US14/394,786 priority Critical patent/US9451269B2/en
Publication of WO2013157839A1 publication Critical patent/WO2013157839A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the present invention relates to a method and apparatus for determining an offset value using a human visual characteristic and encoding or decoding an image using the determined offset value.
  • Sample Adaptive Offset (SAO), a high efficiency video coding (HEVC) standardization technique, compensates for the difference between the original image and the reconstructed image generated by the encoding process through a pixel-by-pixel offset. To improve the efficiency together.
  • SAO Sample Adaptive Offset
  • HEVC high efficiency video coding
  • the present invention relates to a method and apparatus for determining an offset value using a human visual characteristic and encoding or decoding an image using the determined offset value.
  • the reconstructed image using the human visual system It is possible to improve the compression performance and encoding decoding speed while effectively eliminating salt noise that may be generated by applying an offset to.
  • FIG. 1 is a block diagram illustrating an internal configuration of a video encoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating an internal configuration of an adaptive offset determiner according to an exemplary embodiment of the present invention.
  • FIG. 3 is a block diagram illustrating an internal configuration of an adaptive offset determiner according to another exemplary embodiment of the present invention.
  • FIG. 4 is a block diagram illustrating an internal configuration of a video decoding apparatus according to an embodiment of the present invention.
  • 5 and 6 are flowcharts illustrating an offset determination method according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a method of determining an offset according to another embodiment of the present invention.
  • FIG. 8 is an exemplary diagram illustrating dividing an image into a plurality of blocks according to an exemplary embodiment.
  • FIG. 9 is an exemplary diagram illustrating an example of determining a category of a pixel based on an adjacent pixel value in another embodiment of the present invention.
  • FIG. 10 is an exemplary diagram illustrating an example of a category of a determined pixel according to an embodiment of the present invention.
  • FIG. 11 is an exemplary diagram illustrating an example of detecting a background pixel value of a pixel according to an embodiment of the present invention.
  • FIG. 12 is a graph illustrating a distribution of background pixel values according to an embodiment of the present invention.
  • FIG. 13 is an exemplary diagram illustrating a method for determining a block partition structure according to another embodiment of the present invention.
  • the offset determination method comprises the steps of: dividing the current image into a plurality of blocks; Determining a category of pixels in each of the divided blocks based on adjacent pixel values; Determining offset values of pixels belonging to the determined respective categories; And adjusting an offset value based on a characteristic of the category and a background pixel value of each pixel, wherein the offset value is an average value of a difference between an original image and a reconstructed image of pixels belonging to one category, and the background value.
  • the pixel value is an average value of pixel values in a background pixel block to which the pixel belongs among the divided background pixel blocks to obtain a background pixel value.
  • the adjusting of the offset value may include detecting a background pixel value of a pixel corresponding to the offset value; And adjusting the offset value based on the detected background pixel value and the determined category characteristic.
  • the detecting of the background pixel value may include detecting a background pixel value of a pixel corresponding to the offset value when the determined category characteristic corresponds to a local min value or a local max value. It is done.
  • Adjusting the offset value may include determining whether the background pixel value belongs to a visually sensitive area; And adjusting the offset value according to the determination result.
  • the adjusting of the offset value may include adjusting the offset value to 0 when the characteristic of the determined category is a local minimum value and the background pixel value belongs to a visually sensitive area and the offset value is a negative value. If the characteristic of the category is a local maximum value, the background pixel value belongs to a visually sensitive area, and the offset value is a positive value, the offset value is adjusted to zero.
  • the adjusting of the offset value may include adjusting the offset value to 0 if the current pixel value is the same as the first adjacent pixel value but smaller than the second adjacent pixel value and the offset value is a negative value.
  • the offset value is adjusted to 0 when the value is equal to one adjacent pixel value but larger than the second adjacent pixel value and the offset value is a positive value.
  • the offset determination method further includes determining a sample adaptive offset (SAO) type of each block by using the adjusted offset value, and determining the SAO type of each block includes: Detecting an offset value of each category for each SAO type; And determining an optimal SAO type and a block partitioning structure in consideration of the detected offset value and whether each block is partitioned.
  • SAO sample adaptive offset
  • the offset determination method according to the present invention may further include correcting pixel values of the reconstructed image for each category using the offset value.
  • image as used throughout this specification describes not only the term “image” but also various forms of video image information that may be known in the art as "frame”, “field”, and “slice”. Is used as a generic term.
  • FIG. 1 is a block diagram illustrating an internal configuration of a video encoding apparatus according to an embodiment of the present invention.
  • the video encoding apparatus 100 may include a motion estimator 101, a motion compensator 102, an intra predictor 103, a subtractor 104, and a transform unit ( 105, a quantization unit 106, an entropy encoding unit 107, an inverse quantization unit 108, an inverse transform unit 109, an adder 110, and an adaptive offset determiner 111.
  • the motion estimator 101 uses a reference image of at least one of the reference images reconstructed by the adder 110, and is currently input from the outside of the images constituting the moving image (hereinafter referred to as "current image"). Estimate the movement of. In more detail, the motion estimator 101 performs motion estimation on each of blocks corresponding to an inter mode among blocks constituting the current image. From among the reference images reconstructed by the reconstructor 112, a block of the reference image that best matches the inter mode block of the current image is determined, and the displacement between the block of the reference image and the block of the current image determined as described above is determined. Calculate the motion vector represented.
  • the motion compensator 102 generates a predicted image of the current image from at least one reference image reconstructed by the reconstructor 112.
  • the motion compensator 102 uses the values of blocks of at least one reference image indicated by the motion vector of each of the blocks of the current image calculated by the motion estimator 101 to determine the current image.
  • the prediction image of the current image is generated by determining the value of the blocks.
  • the intra predictor 103 is located in the neighborhood of the current block among the blocks of the current image first reconstructed by the adder 110 for each of blocks corresponding to an intra mode among the blocks constituting the current image.
  • the predicted image of the current image is generated by predicting the value of the current block from the value of the block.
  • the subtractor 104 subtracts the predicted image generated by the motion compensator 102 or the intra predictor 103 from the current image to generate a residual image of the current image and the predicted image.
  • the converter 105 converts the residual image generated by the subtractor 104 from the spatial domain to the frequency domain.
  • the transform unit 105 may convert the residual image calculated by the subtractor 104 from the spatial domain to the frequency domain using a discrete Hadamard transform (DHT), an integer transform of a discrete cosine transform (DCT), or the like. have.
  • DHT discrete Hadamard transform
  • DCT discrete cosine transform
  • the quantization unit 106 quantizes the results converted by the transformation unit 105.
  • the quantization unit 106 divides the values generated by transforming the residual image by the transformation unit 105 into quantization sizes, and approximates the result to integer values.
  • the entropy encoder 107 generates a bit stream by entropy encoding the results quantized by the quantizer 26.
  • the entropy coding unit 107 may entropy code the results quantized by the quantization unit 106 using Context-Adaptive Variable-Length Coding (CAVLC), Context-Adaptive Binary Arithmetic Coding (CAVAC), or the like. have.
  • the entropy encoder 107 may perform information on video decoding, for example, index information of a reference image used for inter prediction, motion vector information, and neighbors used for intra prediction, in addition to the result quantized by the quantization unit 106. Entropy encoding may be performed on the position information of the block.
  • the inverse quantization unit 108 dequantizes the results quantized by the quantization unit 106.
  • the inverse quantization unit 108 restores transform coefficient values by multiplying integer values approximated by the quantization unit 106 by a quantization magnitude.
  • the inverse transformer 109 reconstructs the residual image of the current image and the predicted image by converting the results quantized by the inverse quantizer 108, that is, transform coefficient values from the frequency domain to the spatial domain.
  • the adder 110 generates a reconstructed image of the current image by adding the residual image reconstructed by the inverse transform unit 109 to the predicted image generated by the motion compensator 102 or the intra predictor 103.
  • the adaptive offset determiner 111 may encode an adaptive offset (hereinafter, referred to as an “offset”) that may be determined in units of pixels.
  • the offset may be used to compensate for an error generated when the residual image of the current image is quantized.
  • the offset may be determined from an average value of the difference between pixels of the current image and pixels of the reconstructed image that belong to the same category.
  • the category may be determined based on the adjacent pixel value of the current pixel. Since the category is a value that can be determined according to the adjacent pixel value of each pixel, only the offset for each category can be encoded.
  • Offset is a value that can be used in SAO (Sample Adaptive Offset) technology.
  • SAO technology compensates for the difference between the original image and the reconstructed image generated by the encoding process, such as quantization, through a pixel-by-pixel offset, thereby subjective picture quality and encoding efficiency. It is a technology that can be improved together.
  • an offset may be defined as an average value of an error between an original pixel org and a reconstructed pixel recn for N pixels.
  • the N pixels may be pixels belonging to the same category. Therefore, the offset may be determined for each category, and the same offset may be applied to the reconstructed image for each category. The determined offset may be used to compensate for an error of the reconstructed image rec n as shown in Equation 2 in the decoding process.
  • the SAO technique since the error between the original image and the reconstructed image is directly calculated, the improvement of the objective image quality as well as the subjective image quality can be guaranteed. In addition, since a reconstructed image compensated for a difference between an original image and a reconstructed image is used as a reference image, encoding efficiency may be improved. However, when the SAO technique is applied to an image, when the offset value having a negative value or a positive value is applied to a pixel having a smaller or larger value than the adjacent pixel, the difference between the current pixel value and the adjacent pixel value is greater. As it increases, salt noise may occur.
  • the adaptive offset determiner 111 may adjust the offset using a human visual feature to remove salt noise that may be generated when the offset is applied to the reconstructed image.
  • the offset is adjusted to 0 so that the difference between the current pixel value and the adjacent pixel is not increased, thereby preventing the generation of salt noise.
  • the compression ratio may be lowered because the error existing in the reconstructed image is not compensated as the offset is not applied.
  • the adaptive offset determiner 111 may determine whether the background pixel value of the pixel belongs to a visually sensitive region. In the case of belonging to the visually sensitive region, the offset may be adjusted to 0 so that the difference between the current pixel value and the adjacent pixel is small so that the difference between the current pixel value and the adjacent pixel value that may be recognized as salt noise is relatively small. . If the background pixel value of the pixel does not belong to the visually sensitive region, the offset may not be adjusted because the difference between the current pixel value and the adjacent pixel value, which may be recognized as salt noise, is relatively large.
  • the current pixel belongs to a visually sensitive region based on the background pixel value of the pixel, so that even if the offset becomes larger than the current pixel value and the adjacent pixel value, Offsets may be applied to insensitive areas. Therefore, it is possible to prevent the generation of the salt noise that may be generated by applying the offset, and to minimize the problem that the coding efficiency is lowered by not applying the offset.
  • FIG. 2 is a block diagram illustrating an internal configuration of an adaptive offset determiner according to an exemplary embodiment of the present invention.
  • the adaptive offset determiner 200 of FIG. 2 corresponds to the adaptive offset determiner 111 of FIG. 1 and will not be repeated.
  • the adaptive offset determiner 200 may include an offset determiner 210, an offset adjuster 220, and a data encoder 230.
  • the offset determiner 210 may determine an offset value for each category in each of the plurality of blocks.
  • the block division structure is not limited and may be determined in various ways.
  • the category may be determined based on the adjacent pixel value of the pixel, but is not limited thereto and may be determined only by the current pixel value.
  • the categories may be divided according to the difference between adjacent pixel values of the pixels, which will be described in more detail with reference to FIG. 6.
  • the offset determination unit 210 may determine which category each pixel belonging to the block belongs to, and may determine an offset value according to Equation 1 using pixel values belonging to the same category. Therefore, the offset value may be determined for each category.
  • the offset adjuster 220 may adjust the offset value determined by the offset determiner 210 based on the characteristics of the category and the background pixel value of the pixel.
  • the data encoder 230 may generate a bit stream by encoding the offset adjusted by the offset adjuster 220. Like the entropy encoder 107, the data encoder 230 may entropy encode using Context-Adaptive Variable-Length Coding (CAVLC), Context-Adaptive Binary Arithmetic Coding (CAVAC), or the like.
  • the adaptive offset determiner 200 does not include the data encoder 230, but transmits the adjusted offset as information for video decoding to the entropy encoder 107 so that the offset may be obtained by the entropy encoder 107. Can be encoded.
  • FIG. 3 is a block diagram illustrating an internal configuration of an adaptive offset determiner according to another exemplary embodiment of the present invention.
  • the adaptive offset determiner 300 of FIG. 3 corresponds to the adaptive offset determiner 111 of FIG. 1 and will not be repeated.
  • the offset determiner 310, the offset adjuster 320, and the data encoder 330 of FIG. 3 correspond to the offset determiner 210, the offset adjuster 220, and the data encoder 230 of FIG. 2. Duplicate contents will be omitted.
  • the adaptive offset determiner 300 may include a block type and division determiner 340 and an offset applier 350 in addition to the offset determiner 310, the offset adjuster 320, and the data encoder 330. ) May be further included.
  • the adaptive offset determiner 300 may determine a block partition structure having an optimal encoding efficiency and an SAO type of each block by using an offset value. SAO types may be classified according to relative positions of adjacent pixels that may be referenced when categories are determined based on adjacent pixel values.
  • the reference image compensated for the error generated by the quantization may be used to generate the predictive image.
  • an offset may be determined according to an adaptive structure of a block unit that may apply an optimal SAO type to each divided block.
  • a large CU (LCU) block can be divided into sub-blocks up to 4-depth, and different sub-blocks have different SAO types. Can be.
  • the SAO type pixels in a block may be classified according to categories, and an offset may be determined for each category.
  • the adaptive offset determiner 300 determines a block partition structure and SAO type that is optimal in terms of coding efficiency, encodes the determined block partition structure and SAO type information, and transmits the encoded block partition structure and SAO type information to a video decoding apparatus.
  • block division structure information sao_split_flag, which is information indicating whether a block is divided, and sao_type_idx, which is information representing an SAO type applied to each divided lower block, may be additionally transmitted.
  • sao_split_flag may have a value of 1 if the corresponding block is divided and 0 if it is not divided, and a block having a value of 1 may have a lower block.
  • the SAO type applicable to the divided blocks may be classified into a type that does not apply SAO, an edge offset (EO) type, and a band offset (BO) type.
  • the EO type may be classified into four types of EO based on the position of the adjacent pixel relative to the current pixel.
  • the adaptive offset determiner 300 may classify a category to which the pixel belongs according to a relative magnitude relationship between the current pixel and the adjacent pixel, and apply different offsets to the classified categories.
  • categories may be classified according to pixel values, and an offset may be determined and encoded for each category.
  • an offset of a block corresponding to this type may not be determined.
  • the offset determiner 310 may determine an offset value for each SAO type in each block divided into a plurality of blocks and transmit the offset value to the offset adjuster 320.
  • the offset determination unit 310 may determine an offset value for each category for each SAO type of blocks so that the block division structure and the SAO type of the block can be determined.
  • the SAO type and the partition structure determiner 340 may be used to determine the block partition structure and the SAO type of each block.
  • the offset determiner 310 may determine an offset value for each category for each SAO type for the divided blocks and the blocks for which the divided blocks are re-divided.
  • the SAO type and partition structure determination unit 340 may be requested to deliver an offset value for the repartitioned block.
  • the offset determination unit 310 determines an offset value for each SAO type for the blocks in which the subdivided block is re-divided, for each category, and uses the SAO type and the division structure determination unit to adjust the offset value adjusted through the offset adjustment unit 320. 340).
  • the offset adjuster 320 may adjust the offset value based on the category characteristic and the background pixel value.
  • the SAO type of the offset value that can be adjusted may be an EO type.
  • the SAO type and division structure determination unit 340 may determine the SAO type and the block division structure of each block based on the offset value of each block by the offset adjustment unit 320. For example, the SAO type and partition structure determination unit 340 may determine an offset value in one LCU block among blocks in which an image is divided into a plurality of LCU blocks. Based on the offset value determined for each SAO type for each category, the SAO type having an optimal coding efficiency in the current block may be determined. In addition, the SAO type and partition structure determiner 340 may optimize the encoding efficiency of each block that partitions the LCU block based on an offset value determined for each SAO type that may be applied to the blocks that partition the LCU block. You can determine the SAO type with.
  • the offset values may be transmitted from the offset adjuster 320.
  • the SAO type and partition structure determination unit 340 encodes an optimal encoding based on the offset value according to the determined SAO type of the one LCU block and the offset value according to the determined SAO type of each block partitioning the LCU block. A block partition structure having efficiency can be determined.
  • the SAO type and partition structure determination unit 340 when the encoding efficiency of the one LCU block is optimal, the SAO type and partition structure determination unit 340 finally determines the determined SAO type of the one LCU block as the SAO type of the LCU block, and the other LCU block. As for the method discussed above, the block partition structure and the SAO type can be determined. On the other hand, when the coding efficiency of each block partitioning the LCU block is optimal, the SAO type and partition structure determination unit 340 uses the offset value according to the determined SAO type of the blocks partitioning the LCU block, The divided block may be subdivided like the one LCU block.
  • the SAO type and partition structure determiner 340 may determine a SAO type having an optimal coding efficiency for each of the re-partitioned blocks, and may determine a block partition structure having an optimal coding efficiency using an offset value. If it is determined that the re-partitioned block structure has an optimal coding efficiency, the SAO type and partition structure determination unit 340 may repartition the re-partitioned block to search for a block splitting structure having an optimal coding efficiency.
  • the offset values of the subdivided block may be received by the SAO type and division structure determiner 340 from the offset adjuster 320 by requesting the offset determiner 310.
  • the number of times that the divided block is searched by re-dividing the divided block may be limited to a predetermined number, for example, the number of divided into four circuits, so as not to be searched indefinitely.
  • the offset application unit 350 may generate a reference image in which an offset value according to the SAO type and the block partition structure of each block finally determined by the SAO type and the partition structure determiner 340 is applied to the reconstructed image.
  • the reference picture may be used by the video encoding apparatus to generate a residual picture that is a difference between the current picture and the reference picture.
  • the encoding apparatus may further improve encoding efficiency by encoding using a reference image compensated for by an error generated by quantization of a reconstructed image.
  • FIG. 4 is a block diagram illustrating an internal configuration of a video decoding apparatus according to an embodiment of the present invention.
  • the video decoding apparatus 400 may include an entropy decoder 401, an inverse quantizer 402, an inverse transform unit 403, a motion compensator 404, and intra prediction.
  • a unit 405, an adder 406, and an adaptive offset applier 407 may be included.
  • An image restoration process of the video decoding apparatus 400 illustrated in FIG. 4 may be performed in the same manner as an image restoration process of the video encoding apparatus 100 illustrated in FIG. 1. Therefore, even if omitted below, the contents described above with respect to the video encoding apparatus 100 shown in FIG. 1 may also be applied to the video decoding apparatus 400 according to the present embodiment.
  • the entropy decoder 401 entropy decodes the bit stream output from the video encoding apparatus 100 shown in FIG. 1 to restore integer values corresponding to a video and information for video decoding.
  • the inverse quantization unit 402 restores transform coefficient values by inverse quantization of integer values restored by the entropy decoding unit 401.
  • the inverse transformer 403 reconstructs the residual image of the current image and the predicted image by converting the transform coefficient values reconstructed by the inverse quantizer 402 from the frequency domain to the spatial domain.
  • the motion compensator 404 may generate a prediction image of the current image from at least one reference image among the reference images generated by the adaptive offset applying unit 407.
  • the intra predictor 405 is a block of the current image among blocks constituting the deleted image reconstructed by the adaptive offset applying unit 407 for each of blocks corresponding to the intra mode among the blocks constituting the current image.
  • a predictive image of the current image is generated by predicting the value of the block of the current image from the value of the reconstructed block located in the neighborhood of.
  • the adder 406 generates a reconstructed image of the current image by adding the residual image reconstructed by the inverse transform unit 403 to the predicted image generated by the motion compensator 404 or the intra predictor 405.
  • the adaptive offset applying unit 407 may generate a reconstructed image to which the offset value is applied by applying an offset value for each category to the reconstructed image generated by the adder 406. According to another embodiment of the present invention, the adaptive offset applying unit 407 may apply the offset value to the reconstructed image by further using the block division structure and the SAO type information.
  • the block division structure, the SAO type information, and the offset value for each category may be generated by decoding the bit stream by the entropy decoding unit 401.
  • the generated reconstructed image may be transferred to the motion compensator 404 and the intra predictor 405 and used as a reference image for generating the reconstructed image.
  • the encoding efficiency may be further improved.
  • FIG. 5 is a flowchart illustrating a method of determining an offset according to an embodiment of the present invention.
  • the adaptive offset determiner 111 may divide a plurality of blocks for determining an offset of a current image.
  • the block division may be divided like a block divided in the encoding process of the image, but may be divided in various ways without being limited thereto.
  • the adaptive offset determiner 111 may determine a category of pixels in each block.
  • the category may be determined by comparing an adjacent pixel value and a current pixel value for each block.
  • the category may be determined according to the relative magnitude relationship between the adjacent pixel value and the current pixel value. Pixels belonging to a category including the current pixel smaller or larger than the adjacent pixel values may have a large difference between the current pixel value and the adjacent pixel value when an offset is applied to the reconstructed image, thereby generating salt noise. Therefore, according to an embodiment of the present invention, the offset value of the category in which the salt noise is likely to be generated may be adjusted based on the visual characteristics of the human.
  • the adaptive offset determiner 111 may determine an average value of the difference between the original image and the reconstructed image of the pixels belonging to one category as the offset value of the category.
  • the offset value may be applied to pixels belonging to the category of the reconstructed image through an adjusting process.
  • the adaptive offset determiner 111 may adjust the offset value based on the characteristics of the category and the background pixel value of the pixel. As discussed above, the offset value of the category in which the salt noise is likely to be generated may be adjusted based on whether the background pixel value of the pixel belongs to the sensitive region.
  • the background pixel value of one background pixel block of the background pixel block of the image may be determined as an average pixel value of pixels belonging to the background pixel block.
  • the background pixel block may be divided independently from the block divided in step S501.
  • the offset value may be adjusted for each pixel based on whether the background pixel value of each pixel belongs to the sensitive region.
  • the average value of the pixels belonging to the background pixel block may be determined as the background pixel value.
  • the offset is adjusted to 0 so that the difference between the current pixel value and the adjacent pixel is small so that the difference between the current pixel value and the adjacent pixel value that can be recognized as salt noise is small. Can be. If the background pixel value of the pixel does not belong to the visually sensitive region, the offset value determined in step S505 may not be adjusted since the difference between the current pixel value and the adjacent pixel value that may be recognized as salt noise is relatively large.
  • Steps S601 and S603 of FIG. 6 correspond to steps S501 and S503 of FIG. 5, and descriptions thereof will be omitted.
  • the adaptive offset determiner 111 may divide a plurality of blocks for determining an offset of a current image.
  • the adaptive offset determiner 111 may determine a category of pixels in each block based on an adjacent pixel value of each pixel. There are five categories that can be determined in step S603, where category 1 is a case where the current pixel has a smaller pixel value than adjacent pixels, and category 2 is the same as the first neighboring pixel value and the current pixel value, but the second neighboring pixel. The value is smaller than the current pixel value. In category 3, the first adjacent pixel value is equal to the current pixel value, but the second adjacent pixel value is larger than the current pixel value. Category 4 is when the current pixel is larger than the adjacent pixels. The pixel values of the categories 1 to 4 may be displayed as shown in the graph of FIG. 10. The category 0 may belong to pixels that do not belong to the categories 1 to 4, and the offset value may not be determined in the category 0.
  • the adaptive offset determiner 111 may detect background pixel values of pixels belonging to each category in operation S607 with respect to pixel values of category 1 or 4.
  • the background pixel value of one background pixel block of the background pixel block of the image may be determined as an average pixel value of pixels belonging to the background pixel block.
  • the offset value of the category may be adjusted based on whether the average value of the background pixel values of the pixels belonging to the same category belongs to the sensitive area, or whether the background pixel value of each pixel belongs to the sensitive area.
  • the offset value may be adjusted for each pixel based on the result.
  • a description will be given based on a case in which an offset value is adjusted for each category.
  • the adaptive offset determiner 111 determines whether an average value of background pixel values of pixels belonging to the same category belongs to a sensitive area, and if the average value of background pixel values belongs to a sensitive area, category 1 or The offset of each category can be adjusted based on whether the offset value of 4 is a negative or positive value.
  • the adaptive offset determiner 111 may adjust the offset value to 0 in step S617. Since the pixels belonging to the category 1 are larger than the adjacent pixels by applying a negative offset, salt noise may be generated in the reconstructed image to which the offset is applied. Therefore, the adaptive offset determiner 111 may prevent generation of salt noise by adjusting the offset value having the background pixel value belonging to the visual sensitive area to 0.
  • the adaptive offset determiner 111 may adjust the offset value to 0 in step S617. Since the pixels belonging to the category 4 are larger than the adjacent pixels by applying a positive offset, salt noise may be generated in the reconstructed image to which the offset is applied. Therefore, the adaptive offset determiner 111 may prevent generation of salt noise by adjusting the offset value having the background pixel value belonging to the visual sensitive area to 0.
  • the adaptive offset determiner 111 does not adjust the offset value.
  • the offset of category 1 is a positive value including 0 or the category 4 offset is a negative value including 0, the difference between the current pixel value and the adjacent pixel value does not become larger by applying an offset. It is preferable that 111 does not adjust the offset value.
  • the adaptive offset determiner 111 may adjust the offset value without considering the background pixel value of the category. This is because the pixels corresponding to the categories 2 and 3 belong to the edge region, and if the pixel values of the edge region are arbitrarily changed, distortion may be more severe. On the other hand, since the pixels corresponding to the aforementioned categories 1 and 4 generally belong to a fabric or texture region, unlike the edge region, distortion is less likely to occur even if the pixel value is changed. Therefore, in the pixels corresponding to categories 1 and 4, an offset value may be adjusted based on a background pixel value according to an embodiment of the present invention. However, when the offset value of the category 2 is a negative value or the offset value of the category 3 is a positive value, considering that salt noise is generated when the offset value is applied, the offset value is preferably adjusted to zero.
  • steps S619 and S621 when the offset value of category 2 is a negative value, the adaptive offset determiner 111 may adjust the offset value to 0 in step S623.
  • steps S625 and S627 when the offset value of category 3 is a positive value, the adaptive offset determiner 111 may adjust the offset value to 0 in step S623.
  • the offset of category 2 is a positive value including 0 or the category 3 offset is a negative value including 0 in step S621 or S627
  • the difference between the current pixel value and the adjacent pixel value does not become larger by applying the offset.
  • the offset value is preferably not adjusted. Since the offset value is not applied to the pixels belonging to category 0, which is an area to which the offset value is not applied other than the categories 1 to 4, the offset value is not adjusted.
  • FIG. 7 is a flowchart illustrating a method of determining an offset according to another embodiment of the present invention.
  • the adaptive offset determiner 111 may divide a current image into a plurality of LCU blocks.
  • the LCU block may be independently divided regardless of whether to divide a CU (code unit) block for image encoding.
  • the adaptive offset determiner 111 may determine the SAO type of the block having the optimal coding efficiency based on the offset value determined for each category for each SAO type of the divided block.
  • the adaptive offset determining unit 111 repartitions the divided one block, and optimizes the blocks based on the offset value for each category for each SAO type for each repartitioned block.
  • a SAO type having encoding efficiency may be determined for each block.
  • the coding efficiency of the block may be obtained based on an offset value determined for each category classified according to each SAO type.
  • the adaptive offset determiner 111 may compare the encoding efficiency of the divided block according to the SAO type determined in operation S703 with the encoding efficiency of the subdivided blocks according to the SAO type determined in operation S707.
  • the encoding efficiency of the block according to the SAO type determined in step S703 or S707 may be obtained based on an offset value determined for each category classified according to the SAO type.
  • the adaptive offset determiner 111 may determine whether there are more blocks in which the SAO type is not determined in step S717. If present, the steps below S703 may be repeatedly performed in another block in which the SAO type is not determined in step S719. On the other hand, if it does not exist, it is assumed that the SAO types of all blocks are determined, and information about a block partition structure having an optimal encoding efficiency, an SAO type of each block, and an offset value for each category of each block may be encoded in step S721. have.
  • step S703 or less may be repeatedly performed on each of the blocks that have been repartitioned in step S705 and repartitioned in step S715 again.
  • the steps of step S703 or less may be repeatedly performed on each of the blocks that have been repartitioned in step S705 and repartitioned in step S715 again.
  • the depth of the block refers to the number of times the block is divided, and the depth when the LCU block is first divided in the image is 0, and the depth of the block in which the LCU block is divided may be 1.
  • step S709 it may be determined that 1 is added to the block depth in step S711, and it may be determined whether the block depth is greater than or equal to a predetermined reference value in step S713. If the block depth is greater than or equal to the predetermined reference value, the block is no longer subdivided, and the steps below S703 may be repeatedly performed for the block for which the SAO type is not determined.
  • FIG. 8 is an exemplary diagram illustrating dividing an image into a plurality of blocks according to an exemplary embodiment.
  • an image may be divided into lower blocks up to 4 depths in the same manner as a quadtree based CU partitioning method.
  • the sao_split_flag value 80 of each block may have a value of 0 or 1 depending on whether each block is divided.
  • the sao_split_flag value 80 may have a value of 0 for a non-partitioned block and 1 for a block having a subpartition.
  • sao_type_idx values 81 and 82 represent SAO type values of each block, and blocks without lower blocks may have sao_type_idx values.
  • the sao_type_idx value may have an integer value of 0, 1, 2, 3, 4, etc., and each integer value may correspond one-to-one with the SAO type.
  • the block partition for determining the offset of the image is not limited thereto and may be partitioned by various methods.
  • FIG. 9 is an exemplary diagram illustrating an example of determining a category of a pixel based on an adjacent pixel value in another embodiment of the present invention.
  • the SAO type may be determined according to the position of the adjacent pixel N to determine the category of the pixel ⁇ .
  • the SAO type may be determined as a total of four EO types of 0 degrees, 90 degrees, 135 degrees, and 45 degrees according to adjacent pixels and positions of the pixels. Therefore, the SAO type determination of the block in FIG. 7 may determine the SAO type including the four EO types.
  • the SAO type that may be determined may further include a BO type and a type that does not apply SAO in addition to the EO type. If the SAO type is determined, a category may be determined according to the determined SAO type.
  • the position of the adjacent pixel to be referred for category determination may be determined by the determined EO type.
  • the category of each pixel may be determined based on the relative magnitude of the current pixel and the adjacent pixels existing at the determined position.
  • FIG. 10 is an exemplary diagram illustrating an example of a category of a determined pixel according to an embodiment of the present invention.
  • category 1 includes a concave edge having a smaller pixel value than adjacent pixels having pixel index x-1 and x + 1.
  • category 2 is the edge of the concave edge where the current pixel is less than or equal to the pixel value than adjacent pixels.
  • Category 3 is the edge of the convex edge where the current pixel is greater than or equal to the pixel value, and category 4 is the convex edge where the current pixel is greater than the adjacent pixels.
  • the category 0 (not shown) may belong to pixels that do not belong to the categories 1 to 4, and the offset value may not be determined in the category 0.
  • FIG. 11 is an exemplary diagram illustrating an example of detecting a background pixel value of a pixel according to an embodiment of the present invention.
  • an average pixel value of pixels belonging to the background pixel block 12 to which the current pixel 11 belongs to among the divided background pixel blocks for detecting the background pixel value is used as the background pixel value of the current pixel 11. Can be determined.
  • the adaptive offset determiner 111 may adjust the offset for each category based on the average of the background pixel values of the pixels belonging to the same category, or adjust the offset to be applied to each pixel for each pixel based on the background pixel value of each pixel. .
  • FIG. 12 is a graph illustrating a distribution of background pixel values according to an embodiment of the present invention.
  • the graph of FIG. 12 illustrates a difference value between adjacent pixels that may recognize that the current pixel may be visually distinguished from the adjacent pixels according to the background pixel value.
  • the difference value that allows the current pixel to be visually distinguished from the adjacent pixel is significantly higher than that of other regions 13 and 15. You can see that it is small. That is, when the background pixel value belongs to the value 14 between T1 and T2, the difference between the current pixel value and the adjacent pixel value is likely to be visually distinguished at least by the current pixel value. Accordingly, since the change in the pixel value can be easily recognized in the 14 region, salt noise can be easily generated.
  • the adaptive offset determiner 111 adjusts the offset of the pixels belonging to the region to 0 to remove the salt noise. Can be. In the remaining 13 or 15 regions, even if the difference between the current pixel value and the adjacent pixel value is large, the possibility of visually distinguishing the current pixel value is relatively low, and thus the possibility of generating salt noise is relatively low. May not adjust the offset to increase coding efficiency.
  • FIG. 13 is an exemplary diagram illustrating a method for determining a block partition structure according to another embodiment of the present invention.
  • the adaptive offset determiner 111 may determine a block division structure and an SAO type of an image by comparing coding efficiency of one block 20 and the blocks 21 in which the block is divided. .
  • the adaptive offset determiner 111 may determine the SAO type and the block division structure for the LCU block 120 having a depth of zero. Dividing the block 20 of depth 0 into four blocks is the blocks 21 of depth 1.
  • the adaptive offset determination unit 111 may determine the optimal SAO type and the offset value for each category for the optimal SAO type for each of the blocks 20 and the blocks 21 having a depth of 1 with a depth of 0.
  • the adaptive offset determiner 111 may compare the coding efficiency of the block 20 having a depth 0 and the blocks 21 having a depth 1 using the determined offset value.
  • the SAO type for the block 20 having depth 0 may be finally determined. Subsequently, coding efficiency may be compared with blocks of which the block is divided with respect to another block having a depth of 0 whose SAO type is not determined.
  • the blocks 23, 24, 25, and 26 are divided into blocks 23, 24, 25, and 26 of depth 1, respectively.
  • the coding efficiency may be compared with the blocks 27, 28, 29, and 30 having a depth of 2.
  • coding efficiency is higher than that of the divided blocks 27, 29, and 30, and thus may not be split anymore.
  • the coding efficiency is lower than that of the blocks 28 having the depth 2, and thus the coding efficiency may be compared with the blocks in which the blocks 28 having the depth 2 are repartitioned.
  • Block 31 shows an example in which the block division structure is partially determined, and blocks 23, 25, and 26 are finally determined to be no longer partitioned, and thus, each block is determined to be a block having a depth of 1.
  • the partitioned block 32 of the block 31 is determined to have a higher coding efficiency of the partitioned block, so that the partitioned block 32 may be subdivided.
  • the reconstructed image using the human visual system It is possible to improve the compression performance and encoding decoding speed while effectively eliminating salt noise that may be generated by applying an offset to.
  • the present invention can be embodied as code that can be read by a computer (including all devices having an information processing function) on a computer-readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording devices include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like.

Landscapes

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

Abstract

현재 영상을 복수개의 블록으로 분할하고, 인접 화소 값에 기초하여 분할된 각 블록 내 화소들의 카테고리를 결정하고, 결정된 각 카테고리에 속하는 화소들의 오프셋 값을 결정하고, 카테고리의 특성 및 각 화소의 배경 화소 값에 기초하여 오프셋 값을 조정하고, 오프셋 값은 하나의 카테고리에 속하는 화소들의 원본 영상과 복원 영상 간의 차이값의 평균값이고, 배경 화소 값은 배경 화소 값을 구하기 위해 분할된 배경 화소 블록들 중 화소가 속하는 배경 화소 블록 내 화소 값들의 평균 값인 오프셋 결정 방법이 개시된다.

Description

인간의 시각 특성을 이용한 오프셋 값 결정 방법 및 장치
본 발명은 인간의 시각 특성을 이용하여 오프셋 값을 결정하고, 결정된 오프셋 값을 이용하여 영상을 부호화하거나 복호화하는 방법 및 장치에 대한 것이다.
HEVC(High Efficiency Video Coding) 표준화 기술 중 SAO(Sample Adaptive Offset) 기술은 영상의 부호화 과정을 통해 발생하는 원본 영상과 복원 영상 간의 차이를 화소 단위의 오프셋(offset)을 통해 보상함으로써, 주관적 화질 및 부호화 효율을 같이 향상시키는 것이다.
그러나, SAO 기술이 영상에 적용될 때, 인접 화소보다 더 작거나 더 큰 값을 가지는 화소에 대하여 음수값 또는 양수값을 가진 오프셋 값이 적용되는 경우, 현재 화소 값과 인접 화소 값과의 차이가 더 커짐에 따라 솔트 노이즈(salt noise)가 발생하는 문제점이 있다.
본 발명은 인간의 시각 특성을 이용하여 오프셋 값을 결정하고, 결정된 오프셋 값을 이용하여 영상을 부호화하거나 복호화하는 방법 및 장치에 대한 것이다.
본 발명의 일 실시 예에 의하면, 오프셋 값이 화소 값에 적용될 때, 화소 값이 인접 화소 값보다 더 작거나 더 큰 값으로 결정되는 경우, 인간의 시각 특징(Human visual system)을 이용하여 복원 영상에 오프셋을 적용함으로써 발생될 수 있는 솔트 노이즈를 효과적으로 제거하면서, 압축 성능 및 인코딩 디코딩 속도를 개선할 수 있다.
도 1은 본 발명의 일 실시 예에 의한 동영상 부호화 장치의 내부 구성을 나타낸 블록도이다.
도 2 는 본 발명의 일 실시 예에 의한 적응적 오프셋 결정부의 내부 구성을 나타낸 블록도이다.
도 3은 본 발명의 다른 실시 예에 의한 적응적 오프셋 결정부의 내부 구성을 나타낸 블록도이다.
도 4는 본 발명의 일 실시 예에 의한 동영상 복호화 장치의 내부 구성을 나타낸 블록도이다.
도 5 및 도 6은 본 발명의 일 실시 예에 의한 오프셋 결정 방법을 나타낸 순서도이다.
도 7은 본 발명의 다른 실시 예에 의한 오프셋 결정 방법을 나타낸 순서도이다.
도 8은 본 발명의 일 실시 예에 있어서, 영상을 다수의 블록으로 분할한 것을 도시한 예시도이다.
도 9는 본 발명의 다른 실시 예에 있어서, 인접 화소 값에 기초하여 화소의 카테고리를 결정하는 일 예를 도시한 예시도이다.
도 10은 본 발명의 일 실시 예에 있어서, 결정된 화소의 카테고리의 일 예를 도시한 예시도이다.
도 11은 본 발명의 일 실시 예에 있어서, 화소의 배경 화소 값을 검출하는 일 예를 도시한 예시도이다.
도 12는 본 발명의 일 실시 예에 있어서, 배경 화소 값의 분포를 나타낸 그래프이다.
도 13은 본 발명의 다른 실시 예에 의한 블록 분할 구조 결정 방법을 도시한 예시도이다.
상기 기술적 과제를 달성하기 위하여, 본 발명에 따른 오프셋 결정 방법은 현재 영상을 복수개의 블록으로 분할하는 단계; 인접 화소 값에 기초하여 상기 분할된 각 블록 내 화소들의 카테고리를 결정하는 단계; 상기 결정된 각 카테고리에 속하는 화소들의 오프셋 값을 결정하는 단계; 및 상기 카테고리의 특성 및 각 화소의 배경 화소 값에 기초하여 오프셋 값을 조정하는 단계를 포함하고, 상기 오프셋 값은 하나의 카테고리에 속하는 화소들의 원본 영상과 복원 영상 간의 차이값의 평균값이고, 상기 배경 화소 값은 배경 화소 값을 구하기 위해 분할된 배경 화소 블록들 중 상기 화소가 속하는 배경 화소 블록 내 화소 값들의 평균 값인 것을 특징으로 한다.
상기 오프셋 값을 조정하는 단계는 상기 오프셋 값과 대응되는 화소의 배경 화소 값을 검출하는 단계; 및 상기 검출된 배경 화소 값 및 상기 결정된 카테고리 특성에 기초하여, 상기 오프셋 값을 조정하는 단계를 포함하는 것을 특징으로 한다.
상기 배경 화소 값을 검출하는 단계는 상기 결정된 카테고리 특성이 국부 최소 값(local min) 또는 국부 최대 값(local max)에 해당하는 경우, 상기 오프셋 값과 대응되는 화소의 배경 화소 값을 검출하는 것을 특징으로 한다.
상기 오프셋 값을 조정하는 단계는 상기 배경 화소 값이 시각적으로 민감한 영역에 속하는지 여부를 판단하는 단계; 및 상기 판단 결과에 따라 오프셋 값을 조정하는 단계를 포함하는 것을 특징으로 한다.
상기 오프셋 값을 조정하는 단계는 상기 결정된 카테고리의 특성이 국부 최소 값이고, 상기 배경 화소 값이 시각적으로 민감한 영역에 속하고, 오프셋 값이 음수값인 경우, 오프셋 값을 0으로 조정하고, 상기 결정된 카테고리의 특성이 국부 최대 값이고, 상기 배경 화소 값이 시각적으로 민감한 영역에 속하고, 오프셋 값이 양수값인 경우, 오프셋 값을 0으로 조정하는 것을 특징으로 한다.
상기 오프셋 값을 조정하는 단계는 현재 화소 값이 제1 인접 화소 값과 동일하나, 제2 인접 화소 값보다 작고, 오프셋 값이 음수값이면, 오프셋 값을 0으로 조정하고, 상기 현재 화소 값이 제1 인접 화소 값과 동일하나, 제2 인접 화소 값보다 크고, 오프셋 값이 양수값이면, 오프셋 값을 0으로 조정하는 것을 특징으로 한다.
본 발명에 따른 오프셋 결정 방법은 상기 조정된 오프셋 값을 이용하여 각 블록의 SAO(Sample adaptive offset) 타입을 결정하는 단계를 더 포함하고, 상기 각 블록의 SAO 타입을 결정하는 단계는, 각 블록의 SAO 타입 별로 각 카테고리의 오프셋 값을 검출하는 단계; 및 상기 검출된 오프셋 값과 각 블록의 분할 여부를 고려하여 최적의 SAO 타입과 블록 분할 구조를 결정하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 오프셋 결정 방법은 상기 오프셋 값을 이용하여 상기 복원 영상의 화소 값들을 카테고리 별로 보정하는 단계를 더 포함하는 것을 특징으로 한다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
본 발명의 원리는 임의의 인트라-프레임과 인터-프레임 기반의 인코딩 표준에 적용될 수 있다. 본 명세서 전반에 걸쳐 사용되는 "영상"이라는 용어는 "영상"이라는 용어 자체뿐만 아니라, "프레임", "필드", 및 "슬라이스"로서 관련 분야에서 알려질 수 있는 비디오 이미지 정보의 다양한 형태들을 설명하기 위한 포괄적인 용어로서 사용된다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.
도 1은 본 발명의 일 실시 예에 의한 동영상 부호화 장치의 내부 구성을 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 일 실시 예에 의한 동영상 부호화 장치(100)는 움직임 추정부(101), 움직임 보상부(102), 인트라 예측부(103), 감산기(104), 변환부(105), 양자화부(106), 엔트로피 부호화부(107), 역양자화부(108), 역변환부(109), 가산기(110) 및 적응적 오프셋 결정부(111)를 포함할 수 있다.
움직임 추정부(101)는 가산기(110)에 의해 복원된 참조 영상들 중 적어도 하나의 참조 영상을 이용하여, 동영상을 구성하는 영상들 중 외부로부터 현재 입력된 영상(이하 "현재 영상"이라 한다)의 움직임을 추정(estimate)한다. 보다 상세하게 설명하면, 움직임 추정부(101)는 현재 영상을 구성하는 블록들 중 인터 모드(inter mode)에 해당하는 블록들 각각에 대하여 움직임 추정을 수행한다. 복원부(112)에 의해 복원된 참조 영상들 중 현재 영상의 인터 모드 블록에 가장 잘 매칭(matching)되는 참조 영상의 블록을 결정하고, 이와 같이 결정된 참조 영상의 블록과 현재 영상의 블록간의 변위를 나타내는 움직임 벡터(motion vector)를 산출한다.
움직임 보상부(102)는 복원부(112)에 의해 복원된 적어도 하나의 참조 영상으로부터 현재 영상의 예측 영상을 생성한다. 보다 상세하게 설명하면, 움직임 보상부(102)는 움직임 추정부(101)에 의해 산출된 현재 영상의 블록들 각각의 움직임 벡터가 지시하는 적어도 하나의 참조 영상의 블록들의 값을 이용하여 현재 영상의 블록들의 값으로 결정함으로써 현재 영상의 예측 영상을 생성한다.
인트라 예측부(103)는 현재 영상을 구성하는 블록들 중 인트라 모드(intra mode)에 해당하는 블록들 각각에 대하여 가산기(110)에 의해 먼저 복원된 현재 영상의 블록들 중 현재 블록의 이웃에 위치한 블록의 값으로부터, 현재 블록의 값을 예측함으로써 현재 영상의 예측 영상을 생성한다.
감산기(104)는 현재 영상으로부터 움직임 보상부(102) 또는 인트라 예측부(103)에 의해 생성된 예측 영상을 감산함으로써 현재 영상과 예측 영상의 잔차 영상(residue image)을 생성한다.
변환부(105)는 감산기(104)에 의해 생성된 잔차 영상을 공간 영역으로부터 주파수 영역으로 변환한다. 예를 들면, 변환부(105)는 DHT(Discrete Hadamard Transform), DCT(Discrete Cosine Transform)의 정수 변환 등을 이용하여 감산기(104)에 의해 산출된 잔차 영상을 공간 영역으로부터 주파수 영역으로 변환할 수 있다.
양자화부(106)는 변환부(105)에 의해 변환된 결과들을 양자화한다. 보다 상세하게 설명하면, 양자화부(106)는 잔차 영상이 변환부(105)에 의해 변환되어 생성된 값들을 양자화 크기(quantization size)로 나누고, 그 결과를 정수 값들로 근사화한다.
엔트로피 부호화부(107)는 양자화부(26)에 의해 양자화된 결과들을 엔트로피 부호화함으로써 비트 스트림을 생성한다. 예를 들면, 엔트로피 부호화부(107)는 CAVLC(Context-Adaptive Variable-Length Coding), CAVAC(Context-Adaptive Binary Arithmetic Coding) 등을 이용하여 양자화부(106)에 의해 양자화된 결과들을 엔트로피 부호화할 수 있다. 특히, 엔트로피 부호화부(107)는 양자화부(106)에 의해 양자화된 결과 이외에 동영상 복호화를 위한 정보, 예를 들면 인터 예측에 사용된 참조 영상의 색인 정보, 움직임 벡터 정보, 인트라 예측에 사용된 이웃 블록의 위치 정보 등을 엔트로피 부호화할 수 있다.
역양자화부(108)는 양자화부(106)에 의해 양자화된 결과들을 역양자화한다. 보다 상세하게 설명하면, 역양자화부(108)는 양자화부(106)에 의해 근사화된 정수 값들에 양자화 크기를 곱함으로써 변환 계수 값들을 복원한다.
역변환부(109)는 역양자화부(108)에 의해 역양자화된 결과들, 즉 변환 계수 값들을 주파수 영역으로부터 공간 영역으로 변환함으로써 현재 영상과 예측 영상의 잔차 영상을 복원한다.
가산기(110)는 움직임 보상부(102) 또는 인트라 예측부(103)에 의해 생성된 예측 영상에 역변환부(109)에 의해 복원된 잔차 영상을 가산함으로써 현재 영상의 복원 영상을 생성한다.
적응적 오프셋 결정부(111)는 화소 단위로 결정될 수 있는 적응적 오프셋(adaptive offset)(이하 '오프셋'이라 한다)을 부호화할 수 있다. 오프셋은 현재 영상의 잔차 영상이 양자화되면서 발생된 오차를 보상하기 위해 이용될 수 있다. 오프셋은 동일한 카테고리 내의 속하는 현재 영상의 화소들과 복원 영상의 화소들 간 차이값의 평균값으로부터 결정될 수 있다. 카테고리는 현재 화소의 인접 화소 값에 기초하여 결정될 수 있다. 카테고리는 각 화소의 인접 화소 값에 따라 결정될 수 있는 값이므로 각 카테고리 별로 오프셋만 부호화될 수 있다.
오프셋은 SAO(Sample Adaptive Offset) 기술에서 사용될 수 있는 값으로, SAO 기술은 양자화 등의 부호화 과정을 통해 발생하는 원본 영상과 복원 영상 간의 차이를 화소 단위의 오프셋을 통해 보상함으로써, 주관적 화질 및 부호화 효율을 같이 향상시킬 수 있는 기술이다.
수학식 1을 참조하면, 오프셋은 N개의 화소에 대해 원본 화소(orgn)와 복원 화소(recn) 간의 오차의 평균값으로 정의될 수 있다. 이때 N 개의 화소는 동일한 카테고리에 속하는 화소들일 수 있다. 따라서, 오프셋은 카테고리마다 결정될 수 있고, 카테고리마다 동일한 오프셋이 복원 영상에 적용될 수 있다. 결정된 오프셋은 복호화 과정에서 수학식 2와 같이 복원 영상(recn)의 오차를 보상하는데 이용될 수 있다.
[수학식 1]
offset=
Figure PCTKR2013003230-appb-I000001
[수학식 2]
rec'n=recn+offset, where n=0,1, … , N-1
SAO 기술에 의하면, 원본 영상과 복원 영상 간의 오차를 직접 계산하기 때문에 주관적 화질뿐만 아니라 객관적 화질의 향상이 보장될 수 있다. 또한 원본 영상과 복원 영상 간 차이가 보상된 복원 영상이 참조 영상으로 활용됨으로써 부호화 효율이 향상될 수 있다. 다만, SAO 기술이 영상에 적용될 때, 인접 화소보다 더 작거나 더 큰 값을 가지는 화소에 대하여 음수값 또는 양수값을 가진 오프셋 값이 적용되는 경우, 현재 화소 값과 인접 화소 값과의 차이가 더 커짐에 따라 솔트 노이즈가 발생될 수 있다.
적응적 오프셋 결정부(111)는 복원 영상에 오프셋이 적용됨에 따라 발생될 수 있는 솔트 노이즈를 제거하기 위해 인간의 시각 특징을 이용하여 오프셋을 조정할 수 있다.
카테고리의 특성이 국부 최소 값, 즉 현재 화소 값이 인접 화소들보다 작은 값을 가지고, 결정된 오프셋 값이 음수값인 제1 경우와 카테고리의 특성이 국부 최대 값, 즉 현재 화소 값이 인접 화소들보다 큰 값을 가지고, 결정된 오프셋 값이 양수값인 제2 경우에는, 복원 영상에 오프셋이 적용되면 현재 화소 값과 인접 화소와의 차이가 더 커짐에 따라 오프셋이 적용된 복원 영상에 솔트 노이즈가 발생할 수 있다. 이러한 경우, 현재 화소 값과 인접 화소와의 차이가 더 커지지 않도록 오프셋이 0으로 조정됨으로써 솔트 노이즈의 발생을 저지할 수 있다. 그러나, 오프셋을 강제로 0으로 조정하는 방법에 의하면 오프셋이 적용되지 않음에 따라 복원 영상에 존재하는 오차가 보상되지 않으므로 압축률이 낮아질 수 있다는 문제점이 존재한다.
따라서, 솔트 노이즈를 제거하기 위해 적응적 오프셋 결정부(111)는 화소의 배경 화소 값이 시각적으로 민감한 영역에 속하는지 판단할 수 있다. 시각적으로 민감한 영역에 속하는 경우, 솔트 노이즈로 인식될 수 있는 현재 화소 값과 인접 화소 값 간의 차이가 상대적으로 작으므로, 현재 화소 값과 인접 화소와의 차이가 더 커지지 않도록 오프셋이 0으로 조정될 수 있다. 화소의 배경 화소 값이 시각적으로 민감한 영역에 속하지 않는 경우에는, 솔트 노이즈로 인식될 수 있는 현재 화소 값과 인접 화소 값 간의 차이가 상대적으로 크므로 오프셋은 조정되지 않을 수 있다.
본 발명의 일 실시 예에 의하면, 화소의 배경 화소 값에 기초하여 현재 화소가 시각적으로 민감한 영역에 속하는지 판단함으로써, 오프셋이 현재 화소값과 인접 화소 값과의 차이가 더 커지게 하더라도 솔트 노이즈에 민감하지 않은 영역에는 오프셋이 적용될 수 있다. 따라서, 오프셋 적용으로 발생될 수 있는 솔트 노이즈의 발생을 방지하고, 오프셋을 적용시키지 않음에 따 부호화 효율이 낮아지는 문제점을 최소화할 수 있다.
도 2 는 본 발명의 일 실시 예에 의한 적응적 오프셋 결정부의 내부 구성을 나타낸 블록도이다. 도 2의 적응적 오프셋 결정부(200)는 도 1의 적응적 오프셋 결정부(111)와 대응되는 것으로 중복되는 내용은 생략하기로 한다.
도 2를 참조하면, 적응적 오프셋 결정부(200)는 오프셋 결정부(210), 오프셋 조정부(220) 및 데이터 부호화부(230)를 포함할 수 있다.
오프셋 결정부(210)는 복수 개로 분할된 각 블록에서 카테고리 별로 오프셋 값을 결정할 수 있다. 본 발명의 일 실시 예에 있어서, 블록 분할 구조는 제한되지 않고, 다양한 방법으로 결정될 수 있다. 카테고리는 화소의 인접 화소 값에 기초하여 결정될 수 있는데 이에 제한되지 않고 현재 화소 값만으로도 결정될 수 있다. 카테고리는 화소의 인접 화소 값과의 차이에 따라 나뉠 수 있는데, 도 6과 관련하여 더 자세히 설명하기로 한다. 오프셋 결정부(210)는 블록 내 속하는 화소들이 각각 어느 카테고리에 속하는지 판단하고, 동일한 카테고리에 속하는 화소 값들을 이용하여 상기 수학식 1에 따라 오프셋 값을 결정할 수 있다. 따라서, 오프셋 값은 카테고리 별로 결정될 수 있다.
오프셋 조정부(220)는 오프셋 결정부(210)에 의해 결정된 오프셋 값을 카테고리의 특성과 화소의 배경 화소 값에 기초하여 조정할 수 있다.
데이터 부호화부(230)는 오프셋 조정부(220)에 의해 조정된 오프셋을 부호화하여 비트 스트림을 생성할 수 있다. 데이터 부호화부(230)는 엔트로피 부호화부(107)와 같이 CAVLC(Context-Adaptive Variable-Length Coding), CAVAC(Context-Adaptive Binary Arithmetic Coding) 등을 이용하여 엔트로피 부호화할 수 있다. 적응적 오프셋 결정부(200)는 데이터 부호화부(230)를 포함하지 않고, 엔트로피 부호화부(107)로 동영상 복호화를 위한 정보로서 상기 조정된 오프셋을 전달하여 엔트로피 부호화부(107)에 의해 오프셋이 부호화될 수 있다.
도 3은 본 발명의 다른 실시 예에 의한 적응적 오프셋 결정부의 내부 구성을 나타낸 블록도이다. 도 3의 적응적 오프셋 결정부(300)는 도 1의 적응적 오프셋 결정부(111)와 대응되는 것으로 중복되는 내용은 생략하기로 한다. 또한, 도 3의 오프셋 결정부(310), 오프셋 조정부(320) 및 데이터 부호화부(330)는 도 2의 오프셋 결정부(210), 오프셋 조정부(220) 및 데이터 부호화부(230)와 대응되는 것으로 중복되는 내용은 생략하기로 한다.
도 3을 참조하면, 적응적 오프셋 결정부(300)는 오프셋 결정부(310), 오프셋 조정부(320) 및 데이터 부호화부(330) 외에 블록 타입 및 분할 결정부(340)와 오프셋 적용부(350)를 더 포함할 수 있다. 또한, 적응적 오프셋 결정부(300)는 오프셋 값을 이용하여 최적의 부호화 효율을 가지는 블록 분할 구조와 각 블록의 SAO 타입을 결정할 수 있다. SAO 타입은 카테고리가 인접 화소 값에 기초하여 결정될 때 참조될 수 있는 인접 화소의 상대적인 위치에 따라 구분될 수 있다. 또한 오프셋 적용부(350)가 더 포함됨으로써, 양자화에 의해 발생된 오차가 보상된 참조 영상이 예측 영상을 생성하는데 이용될 수 있다.
일반적으로 양자화 과정에서 발생되는 오차는 예측 정확도에 따라서 서로 다르게 나타날 수 있다. 예를 들어, 정확한 예측이 수행된 블록은 양자화 과정에 의해 발생되는 오차가 거의 발생하지 않는 반면, 부정확한 예측이 수행된 블록은 잔여 신호가 많이 발생하므로 양자화 과정에서 오차가 많이 발생할 가능성이 높다. 따라서, SAO 기술에 의하면 분할된 블록마다 최적의 SAO 타입을 적용할 수 있는 블록 단위의 적응적인 구조에 따라 오프셋이 결정될 수 있다. 쿼드트리 기반의 CU(code unit) 분할 방법과 동일한 방식으로 LCU(Largest CU) 블록을 최대 4-깊이(depth)까지 하위 블록으로 분할할 수 있으며, 분할된 각 하위 블록에는 서로 다른 SAO 타입이 적용될 수 있다. SAO 타입에 따라 블록 내 화소들을 카테고리별로 분류할 수 있고, 카테고리 별로 오프셋이 결정될 수 있다.
본 발명의 다른 실시 예에 있어서, 적응적 오프셋 결정부(300)는 부호화 효율 측면에서 최적인 블록 분할 구조 및 SAO 타입을 결정하고, 결정된 블록 분할 구조와 SAO 타입 정보를 부호화하여 동영상 복호화 장치로 전송할 수 있다. 따라서, 블록 분할 구조 정보로서, 블록의 분할 여부를 표현하는 정보인 sao_split_flag 및 분할된 각 하위 블록에 적용된 SAO 타입을 표현하는 정보인 sao_type_idx가 추가적으로 전송될 수 있다. sao_split_flag 는 해당 블록이 분할된 경우에는 1, 분할되지 않은 경우에는 0의 값을 가질 수 있으며, 1의 값을 가지는 블록은 하위 블록을 가질 수 있다.
분할된 블록들에 적용 가능한 SAO 타입은 SAO를 적용하지 않는 타입, EO(Edge Offset) 타입 및 BO(Band Offset) 타입으로 구분될 수 있다. 또한, EO 타입은 인접 화소의 현재 화소에 대한 상대적인 위치에 기초하여 4 종류의 EO 타입으로 구분될 수 있다. EO 타입에 의하면, 적응적 오프셋 결정부(300)는 현재 화소와 인접 화소 간 상대적인 대소 관계에 따라 해당 화소가 속하는 카테고리를 분류하고, 분류된 카테고리 별로 서로 다른 오프셋을 적용할 수 있다. BO 타입의 경우, 화소 값에 따라 카테고리가 분류될 수 있으며, 각 카테고리 별로 오프셋이 결정되고 부호화될 수 있다. SAO를 적용하지 않는 타입의 경우, 오프셋이 적용되지 않으므로 이 타입에 해당되는 블록의 오프셋은 결정되지 않을 수 있다.
오프셋 결정부(310)는 복수 개로 분할된 각 블록에서 SAO 타입마다 카테고리 별로 오프셋 값을 결정하여 오프셋 조정부(320)로 전달할 수 있다. 오프셋 결정부(310)는 블록 분할 구조와 블록의 SAO 타입이 결정될 수 있도록 블록들의 각 SAO 타입마다 카테고리 별로 오프셋 값을 결정할 수 있다. 결정된 오프셋 값은 오프셋 조정부(320)에 의해 조정된 후, SAO 타입 및 분할 구조 결정부(340)가 블록 분할 구조와 각 블록의 SAO 타입을 결정하는데 이용될 수 있다. 예를 들어, 오프셋 결정부(310)는 분할된 블록들과 분할된 블록들이 재분할된 블록들에 대한 각 SAO 타입마다 카테고리 별로 오프셋 값을 결정할 수 있다. 그리고, 재분할된 블록들의 부호화 효율이 더 높으면 SAO 타입 및 분할 구조 결정부(340)로부터 재분할된 블록이 다시 분할된 블록에 대한 오프셋 값을 전달해줄 것을 요청 받을 수 있다. 오프셋 결정부(310)는 재분할된 블록이 다시 분할된 블록들에 대한 각 SAO 타입마다 카테고리 별로 오프셋 값을 결정하고, 오프셋 조정부(320)를 통해 조정된 오프셋 값을 SAO 타입 및 분할 구조 결정부(340)로 전달할 수 있다.
오프셋 조정부(320)는 오프셋 값을 카테고리 특성 및 배경 화소 값에 기초하여 조정할 수 있다. 본 발명의 다른 실시 예에 있어서, 조정될 수 있는 오프셋 값의 SAO 타입은 EO 타입일 수 있다.
SAO 타입 및 분할 구조 결정부(340)는 오프셋 조정부(320)에 의해 각 블록의 카테고리 별 오프셋 값에 기초하여 각 블록의 SAO 타입 및 블록 분할 구조를 결정할 수 있다. 예를 들어, SAO 타입 및 분할 구조 결정부(340)는 영상이 다수의 LCU(Largest CU) 블록으로 분할된 블록 중 하나의 LCU 블록에서 오프셋 값을 결정하고자 할 때, 하나의 LCU 블록에 대한 각 SAO 타입마다 카테고리 별로 결정된 오프셋 값에 기초하여, 현재 블록에서 최적의 부호화 효율을 가지는 SAO 타입을 결정할 수 있다. 또한, SAO 타입 및 분할 구조 결정부(340)는 상기 LCU 블록을 분할한 각 블록들에 적용될 수 있는 SAO 타입마다 카테고리 별로 결정된 오프셋 값에 기초하여 상기 LCU 블록을 분할한 각 블록들의 최적의 부호화 효율을 가지는 SAO 타입을 결정할 수 있다. 상기 오프셋 값들은 오프셋 조정부(320)로부터 전달될 수 있다. 그리고, SAO 타입 및 분할 구조 결정부(340)는 상기 하나의 LCU 블록의 결정된 SAO 타입에 따른 오프셋 값과 상기 LCU 블록을 분할한 각각의 블록의 결정된 SAO 타입에 따른 오프셋 값에 기초하여 최적의 부호화 효율을 가지는 블록 분할 구조를 결정할 수 있다.
즉, SAO 타입 및 분할 구조 결정부(340)는 상기 하나의 LCU 블록의 부호화 효율이 최적인 경우, 상기 하나의 LCU 블록의 결정된 SAO 타입을 상기 LCU 블록의 SAO 타입으로 최종 결정하고, 다른 LCU 블록에 대하여도 앞서 논의한 방법과 동일하게 블록 분할 구조와 SAO 타입을 결정할 수 있다. 반면, 상기 LCU 블록을 분할한 각각의 블록들의 부호화 효율이 최적인 경우, SAO 타입 및 분할 구조 결정부(340)는 상기 LCU 블록을 분할한 블록들의 결정된 SAO 타입에 따른 오프셋 값을 이용하여, 상기 분할된 블록을 상기 하나의 LCU 블록과 같이 재분할할 수 있다. SAO 타입 및 분할 구조 결정부(340)는 재분할된 블록 각각에 대하여 최적의 부호화 효율을 가지는 SAO 타입을 결정하고, 오프셋 값을 이용하여 최적의 부호화 효율을 갖는 블록 분할 구조를 결정할 수 있다. 재분할된 블록 구조가 최적의 부호화 효율을 갖는 것으로 결정되면, SAO 타입 및 분할 구조 결정부(340)는 재분할된 블록을 다시 재분할 하여 최적의 부호화 효율을 가지는 블록 분할 구조를 탐색할 수 있다. 재분할된 블록의 오프셋 값들은 SAO 타입 및 분할 구조 결정부(340)가 오프셋 결정부(310)에 요청하여 오프셋 조정부(320)로부터 전달받을 수 있다. 분할된 블록을 재분할하여 블록 분할 구조를 탐색하는 횟수는 무한대로 탐색되지 않도록 소정 횟수, 예를 들면 4회로 분할 횟수가 제한될 수 있다.
오프셋 적용부(350)는 SAO 타입 및 분할 구조 결정부(340)에 의해 최종 결정된 각 블록의 SAO 타입 및 블록 분할 구조에 따른 오프셋 값을 복원 영상에 적용시킨 참조 영상을 생성할 수 있다. 참조 영상은 동영상 부호화 장치가 현재 영상과 참조 영상 간의 차이인 잔차 영상을 생성하기 위해 이용될 수 있다. 본 발명의 다른 실시 예에 의한, 동영상 부호화 장치는 복원 영상의 양자화로 발생되는 오차가 보상된 참조 영상을 이용하여 부호화함으로써, 부호화 효율이 더 향상될 수 있다.
도 4는 본 발명의 일 실시 예에 의한 동영상 복호화 장치의 내부 구성을 나타낸 블록도이다.
도 4를 참조하면, 본 발명의 일 실시 예에 의한 동영상 복호화 장치(400)는 엔트로피 복호화부(401), 역양자화부(402), 역변환부(403), 움직임 보상부(404), 인트라 예측부(405), 가산기(406) 및 적응적 오프셋 적용부(407)를 포함할 수 있다. 도 4에 도시된 동영상 복호화 장치(400)의 영상 복원 과정은 도 1에 도시된 동영상 부호화 장치(100)의 영상 복원 과정과 동일하게 진행될 수 있다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 동영상 부호화 장치(100)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 동영상 복호화 장치(400)에도 적용될 수 있다.
엔트로피 복호화부(401)는 도 1에 도시된 동영상 부호화 장치(100)로부터 출력된 비트 스트림을 엔트로피 복호화함으로서 동영상에 해당하는 정수 값들과 동영상 복호화를 위한 정보 등을 복원한다.
역양자화부(402)는 엔트로피 복호화부(401)에 의해 복원된 정수 값들을 역양자화함으로서 변환 계수 값들을 복원한다.
역변환부(403)는 역양자화부(402)에 의해 복원된 변환 계수 값들을 주파수 영역으로부터 공간 영역으로 변환함으로써 현재 영상과 예측 영상의 잔차 영상을 복원한다.
움직임 보상부(404)는 적응적 오프셋 적용부(407)에 의해 생성된 참조 영상들 중 적어도 하나의 참조 영상으로부터 현재 영상의 예측 영상을 생성할 수 있다.
인트라 예측부(405)는 현재 영상을 구성하는 블록들 중 인트라 모드에 해당하는 블록들 각각에 대하여 적응적 오프셋 적용부(407)에 의해 복원된 h제 영상을 구성하는 블록들 중 현재 영상의 블록의 이웃에 위치한 복원 블록의 값으로부터 현재 영상의 블록의 값을 예측함으로써 현재 영상의 예측 영상을 생성한다.
가산기(406)는 움직임 보상부(404) 또는 인트라 예측부(405)에 의해 생성된 예측 영상에 역변환부(403)에 의해 복원된 잔차 영상을 가산함으로써 현재 영상의 복원 영상을 생성한다.
적응적 오프셋 적용부(407)는 가산기(406)에 의해 생성된 복원 영상에 카테고리 별로 오프셋 값을 적용시켜 오프셋 값이 적용된 복원 영상을 생성할 수 있다. 본 발명의 다른 실시 예에 의하면, 적응적 오프셋 적용부(407)는 블록 분할 구조 및 SAO 타입 정보를 더 이용하여 오프셋 값을 복원 영상에 적용시킬 수 있다. 상기 블록 분할 구조 및 SAO 타입 정보, 카테고리 별 오프셋 값은 엔트로피 복호화부(401)에 의해 비트 스트림이 복호화되어 생성될 수 있다.
생성된 복원 영상은 움직임 보상부(404)와 인트라 예측부(405)로 전달되어 복원 영상을 생성하기 위한 참조 영상으로 이용될 수 있다. 본 발명의 일 실시 예에 의하면, 부호화 과정에서 발생될 수 있는 현재 영상과 복원 영상 간의 오차가 복원 영상에 오프셋 값을 적용함으로써 보상될 수 있으므로 부호화 효율이 더 향상될 수 있다.
도 5는 본 발명의 일 실시 예에 의한 오프셋 결정 방법을 나타낸 순서도이다.
도 5를 참조하면, 단계 S501에서, 적응적 오프셋 결정부(111)는 현재 영상의 오프셋을 결정하기 위한 복수 개의 블록으로 분할할 수 있다. 이때 블록 분할은 영상의 부호화 과정에서 분할되는 블록과 같이 분할될 수도 있으나 이에 제한되지 않고 다양한 방법으로 분할될 수 있다.
단계 S503에서, 적응적 오프셋 결정부(111)는 각 블록 내 화소들의 카테고리를 결정할 수 있다. 카테고리는 블록 별로 인접 화소 값과 현재 화소 값을 비교하여 결정될 수 있다. 본 발명의 일 실시 예에 있어서, 카테고리는 인접 화소 값과 현재 화소 값의 상대적인 대소 관계에 따라 결정될 수 있다. 인접 화소 값들보다 더 작거나 더 큰 현재 화소를 포함하는 카테고리에 속한 화소들은 복원 영상에 오프셋이 적용되면 현재 화소 값과 인접 화소 값과의 차이가 더 커질 수 있으므로 솔트 노이즈가 발생될 수 있다. 따라서, 본 발명의 일 실시 예에 의하면, 솔트 노이즈가 발생될 가능성이 있는 카테고리의 오프셋 값은 인간의 시각적 특성에 기초하여 조정될 수 있다.
단계 S505에서, 적응적 오프셋 결정부(111)는 하나의 카테고리에 속하는 화소들의 원본 영상과 복원 영상 간의 차이값의 평균 값을 상기 카테고리의 오프셋 값으로 결정할 수 있다. 상기 오프셋 값은 조정 과정을 거쳐 복원 영상의 상기 카테고리에 속하는 화소들에 적용될 수 있다.
단계 S507에서, 적응적 오프셋 결정부(111)는 카테고리의 특성 및 화소의 배경 화소 값에 기초하여 오프셋 값을 조정할 수 있다. 앞서 논의한 바와 같이 솔트 노이즈가 발생될 가능성이 있는 카테고리의 오프셋 값은, 화소의 배경 화소 값이 민감 영역에 속하는지 여부에 기초하여 조정될 수 있다. 영상의 배경 화소 블록 중 하나의 배경 화소 블록의 배경 화소 값은 상기 배경 화소 블록에 속하는 화소들의 평균 화소 값으로 결정될 수 있다. 상기 배경 화소 블록은 단계 S501에서 분할된 블록과는 독립적으로 분할될 수 있다.
각 화소의 배경 화소 값이 민감 영역에 속하는지 여부에 기초하여 화소 별로 오프셋 값이 조정될 수 있다. 이 경우, 각 화소가 속하는 배경 화소 블록에서, 배경 화소 블록에 속하는 화소들의 평균 값이 배경 화소 값으로 결정될 수 있다.
배경 화소 값이 시각적으로 민감한 영역에 속하는 경우, 솔트 노이즈로 인식될 수 있는 현재 화소 값과 인접 화소 값 간의 차이가 작으므로, 현재 화소 값과 인접 화소와의 차이가 더 커지지 않도록 오프셋이 0으로 조정될 수 있다. 화소의 배경 화소 값이 시각적으로 민감한 영역에 속하지 않는 경우에는, 솔트 노이즈로 인식될 수 있는 현재 화소 값과 인접 화소 값 간의 차이가 상대적으로 크므로 단계 S505에서 결정된 오프셋 값은 조정되지 않을 수 있다.
도 6은 본 발명의 일 실시 예에 의한 오프셋 결정 방법을 나타낸 순서도이다. 도 6의 단계 S601 및 단계 S603은 도 5의 단계 S501 및 단계 S503과 대응되는 것으로서 중복되는 설명은 생략하기로 한다.
도 6을 참조하면, 단계 S601에서, 적응적 오프셋 결정부(111)는 현재 영상의 오프셋을 결정하기 위한 복수 개의 블록으로 분할할 수 있다.
단계 S603에서, 적응적 오프셋 결정부(111)는 각 화소의 인접 화소 값에 기초하여 각 블록 내 화소들의 카테고리를 결정할 수 있다. 단계 S603에서 결정될 수 있는 카테고리는 총 5가지로, 카테고리 1은 현재 화소가 인접 화소들보다 화소 값이 작은 경우이고, 카테고리 2는 제1 인접화소 값과 현재 화소 값이 동일하나, 제2 인접 화소 값은 현재 화소 값보다 작은 경우이다. 카테고리 3은 제1 인접화소 값과 현재 화소 값이 동일하나, 제2 인접 화소 값은 현재 화소 값보다 큰 경우이다. 카테고리 4는 현재 화소가 인접 화소들보다 큰 경우이다. 상기 카테고리 1 내지 4의 화소 값은 도 10의 그래프와 같이 표시될 수 있다. 카테고리 0은 상기 카테고리 1 내지 4에 속하지 않은 화소들이 속할 수 있으며, 카테고리 0에서는 오프셋 값이 결정되지 않을 수 있다.
단계 S605에서, 적응적 오프셋 결정부(111)는 카테고리 1 또는 4인 화소 값들에 대하여, 단계 S607에서, 각 카테고리에 속하는 화소들의 배경 화소 값을 검출할 수 있다. 앞서 논의한 바와 같이, 영상의 배경 화소 블록 중 하나의 배경 화소 블록의 배경 화소 값은 상기 배경 화소 블록에 속하는 화소들의 평균 화소 값으로 결정될 수 있다. 그리고, 동일한 카테고리에 속한 화소들의 배경 화소 값의 평균 값이 민감 영역에 속하는지 여부에 기초하여 상기 카테고리의 오프셋 값이 조정될 수 있다, 또는, 각 화소의 배경 화소 값이 민감 영역에 속하는지 여부에 기초하여 화소 별로 오프셋 값이 조정될 수 있다. 이하에서는 카테고리 별로 오프셋 값이 조정되는 경우를 기준으로 설명하기로 한다.
단계 S609에서, 적응적 오프셋 결정부(111)는 동일한 카테고리에 속한 화소들의 배경 화소 값의 평균 값이 민감 영역에 속하는지 판단하고, 배경 화소 값의 평균 값이 민감 영역에 속하는 경우, 카테고리 1 또는 4의 오프셋 값이 음수값 또는 양수값인지에 기초하여 각 카테고리의 오프셋을 조정할 수 있다.
단계 S611 및 S615에서, 적응적 오프셋 결정부(111)는 카테고리 1의 오프셋 값이 음수값인 경우, 단계 S617에서 오프셋 값을 0으로 조정할 수 있다. 상기 카테고리 1에 속한 화소들은 음수값의 오프셋 적용으로 인접 화소와의 차이가 더 커지게 되므로, 오프셋이 적용된 복원 영상에서 솔트 노이즈가 발생될 수 있다. 따라서, 적응적 오프셋 결정부(111)는 시각적 민감 영역에 속한 배경 화소 값을 가지는 오프셋 값을 0으로 조정함으로써, 솔트 노이즈의 발생을 저지할 수 있다.
단계 S611 및 S613에서, 적응적 오프셋 결정부(111)는 카테고리 4의 오프셋 값이 양수값인 경우, 단계 S617에서 오프셋 값을 0으로 조정할 수 있다. 상기 카테고리 4에 속한 화소들은 양수값의 오프셋 적용으로 인접 화소와의 차이가 더 커지게 되므로, 오프셋이 적용된 복원 영상에서 솔트 노이즈가 발생될 수 있다. 따라서, 적응적 오프셋 결정부(111)는 시각적 민감 영역에 속한 배경 화소 값을 가지는 오프셋 값을 0으로 조정함으로써, 솔트 노이즈의 발생을 저지할 수 있다.
이외에 카테고리의 배경 화소값의 평균 값이 시각적 민감 영역에 포함되지 않는 경우, 솔트 노이즈가 인식되기 어려운 경우에 속하므로 적응적 오프셋 결정부(111)는 오프셋 값을 조정하지 않음이 바람직하다. 또한, 카테고리 1의 오프셋이 0을 포함한 양수값 또는 카테고리 4의 오프셋이 0을 포함한 음수값인 경우, 현재 화소 값과 인접 화소 값 간의 차이가 오프셋 적용으로 더 커지는 경우가 아니므로 적응적 오프셋 결정부(111)는 오프셋 값을 조정하지 않음이 바람직하다.
단계 S619 내지 S623에서, 적응적 오프셋 결정부(111)는 카테고리의 배경 화소 값을 고려하지 않고, 오프셋 값을 조정할 수 있다. 카테고리 2 및 3에 해당하는 화소들은 대개 엣지 영역에 속하여서, 엣지 영역의 화소 값을 임의로 변경하는 경우 왜곡이 더 심해질 수 있기 때문이다. 반면, 앞서 언급된 카테고리 1 및 4에 해당하는 화소들은 대개 패브릭(fabric) 또는 텍스쳐(texture) 영역에 속하므로, 엣지 영역과는 달리 화소 값을 변경하여도 왜곡이 심하게 발생될 가능성이 적다. 따라서, 카테고리 1 및 4에 해당하는 화소들은 본 발명의 일 실시 예에 따라 배경 화소 값에 기초하여 오프셋 값이 조정될 수 있다. 그러나, 카테고리 2의 오프셋 값이 음수값이거나, 카테고리 3의 오프셋 값이 양수값인 경우 오프셋 값 적용 시 솔트 노이즈가 발생됨을 고려하여, 오프셋 값은 0으로 조정됨이 바람직하다.
따라서, 단계 S619 및 S621에서, 적응적 오프셋 결정부(111)는 카테고리 2의 오프셋 값이 음수값인 경우, 단계 S623에서 오프셋 값을 0으로 조정할 수 있다. 또한, 단계 S625 및 S627에서, 적응적 오프셋 결정부(111)는 카테고리 3의 오프셋 값이 양수값인 경우, 단계 S623에서 오프셋 값을 0으로 조정할 수 있다.
이외에, 단계 S621 또는 S627에서 카테고리 2의 오프셋이 0을 포함한 양수값 또는 카테고리 3의 오프셋이 0을 포함한 음수값인 경우, 현재 화소 값과 인접 화소 값 간의 차이가 오프셋 적용으로 더 커지는 경우가 아니므로 오프셋 값은 조정되지 않음이 바람직하다. 카테고리 1 내지 4 이외에 오프셋 값이 적용되지 않는 영역인 카테고리 0에 속하는 화소들은 오프셋 값이 적용되지 않으므로, 오프셋 값은 조정되지 않음이 바람직하다.
도 7은 본 발명의 다른 실시 예에 의한 오프셋 결정 방법을 나타낸 순서도이다.
도 7을 참조하면, 단계 S701에서, 적응적 오프셋 결정부(111)는 현재 영상을 복수개의 LCU 블록으로 분할할 수 있다. 상기 LCU 블록은 영상 부호화를 위한 CU(code unit) 블록 분할 여부와 관계없이 독립적으로 분할될 수 있다.
단계 S703에서, 적응적 오프셋 결정부(111)는 분할된 하나의 블록에 대한 각 SAO 타입마다 카테고리 별로 결정된 오프셋 값에 기초하여 최적의 부호화 효율을 가지는 상기 블록의 SAO 타입을 결정할 수 있다.
또한, 단계 S705 및 S707에서, 적응적 오프셋 결정부(111)는 상기 분할된 하나의 블록을 재분할하고, 재분할된 각각의 블록에 대한 각 SAO 타입마다 카테고리 별로 오프셋 값에 기초하여 상기 블록들의 최적의 부호화 효율을 가지는 SAO 타입을 각 블록별로 결정할 수 있다.
블록의 부호화 효율은 각 SAO 타입에 따라 분류된 카테고리 별로 결정된 오프셋 값에 기초하여 획득될 수 있다.
단계 S709에서, 적응적 오프셋 결정부(111)는 단계 S703에서 결정된 SAO 타입에 따른 분할된 하나의 블록의 부호화 효율과, 단계 S707에서 결정된 SAO 타입에 따른 재분할된 블록들의 부호화 효율을 비교할 수 있다. 단계 S703 또는 S707에서 결정된 SAO 타입에 따른 블록의 부호화 효율은 상기 SAO 타입에 따라 분류된 카테고리 별로 결정된 오프셋 값에 기초하여 획득될 수 있다.
단계 S703에서 결정된 SAO 타입에 따른 블록의 부호화 효율이 더 높은 경우, 적응적 오프셋 결정부(111)는 단계 S717에서 SAO 타입이 결정되지 않은 블록이 더 존재하는지 판단할 수 있다. 존재하는 경우, 단계 S719에서 SAO 타입이 결정되지 않은 다른 블록에서 S703 이하의 단계가 반복적으로 수행될 수 있다. 반면, 존재하지 않는 경우, 모든 블록의 SAO 타입이 결정된 것으로 보고, 단계 S721에서 최적의 부호화 효율을 가지는 블록 분할 구조에 대한 정보, 각 블록의 SAO 타입 및 각 블록의 카테고리별 오프셋 값이 부호화될 수 있다.
한편, 단계 S707에서 결정된 SAO 타입에 따른 블록의 부호화 효율이 더 높은 경우, 단계 S705에서 재분할된 블록들이 단계 S715에서, 다시 재분할되어 다시 재분할된 블록 각각에 대해 단계 S703 이하의 단계가 반복적으로 수행될 수 있다. 다만, 단계 S715 이전에 블록의 깊이(depth)가 소정 기준값 이상인지를 판단하여, 블록 분할이 무한대로 수행되지 않게 할 수 있다. 블록의 깊이는 블록이 분할된 횟수를 의미하는 것으로, 영상에서 처음 분할된 LCU 블록일 때의 깊이가 0이고, LCU 블록이 분할된 블록의 깊이는 1일 수 있다. 따라서, 단계 S709에서 재분할된 블록들의 부호화 효율이 더 높은 것으로 판단되면, 단계 S711에서 블록 깊이에 1이 더해지고, 단계 S713에서 블록 깊이가 소정 기준값 이상인지 판단될 수 있다. 블록 깊이가 소정 기준값 이상인 경우에는 블록은 더 이상 재분할되지 않고, SAO 타입이 결정되지 않은 블록에 대하여 단계 S703 이하의 단계가 반복적으로 수행될 수 있다.
도 8은 본 발명의 일 실시 예에 있어서, 영상을 다수의 블록으로 분할한 것을 도시한 예시도이다.
도 8을 참조하면, 영상은 쿼드 트리(quadtree) 기반의 CU 분할 방법과 동일한 방식으로 LCU 블록을 최대 4 깊이까지의 하위 블록으로 분할될 수 있다. 각 블록의 블록 분할 여부에 따라 각 블록의 sao_split_flag 값(80)은 0 또는 1의 값을 가질 수 있다. sao_split_flag 값(80)은 분할되지 않은 블록은 0, 분할되어 하위 블록을 가지는 블록은 1을 값을 가질 수 있다.
도 8에서, sao_type_idx 값(81, 82)은 각 블록의 SAO 타입 값을 나타낸 것으로 하위 블록이 없는 블록이 sao_type_idx 값을 가질 수 있다. sao_type_idx 값은 0, 1, 2, 3, 4 등의 정수 값을 가질 수 있고, 각 정수 값은 SAO 타입과 일대일로 대응될 수 있다.
다만, 본 발명의 일 실시 예에 의하면, 영상의 오프셋 결정을 위한 블록 분할은 이에 제한되지 않고 다양한 방법으로 분할될 수 있다.
도 9는 본 발명의 다른 실시 예에 있어서, 인접 화소 값에 기초하여 화소의 카테고리를 결정하는 일 예를 도시한 예시도이다.
도 9를 참조하면, 화소ⓒ의 카테고리를 결정하기 위해 참조하는 인접 화소(N)의 위치에 따라 SAO 타입이 결정될 수 있다. 인접 화소와 화소의 위치에 따라 0도, 90도, 135도, 45도의 총 4가지의 EO 타입으로서 SAO 타입이 결정될 수 있다. 그러므로 도 7에서의 블록의 SAO 타입 결정은 상기 4가지의 EO 타입을 포함한 SAO 타입이 결정될 수 있다. 본 발명의 다른 실시 예에 있어서, 결정될 수 있는 SAO 타입은 EO 타입 외에, BO 타입과 SAO를 적용하지 않는 타입을 더 포함할 수 있다. SAO 타입이 결정되면, 결정된 SAO 타입에 따라 카테고리가 결정될 수 있다. 결정된 SAO 타입이 EO 타입 중 하나인 경우에는, 결정된 EO 타입에 의해 카테고리 결정을 위해 참조될 인접 화소의 위치가 결정될 수 있다. 각 화소의 카테고리는 현재 화소와 상기 결정된 위치에 존재하는 인접 화소들의 상대적인 대소 관계에 기초하여 결정될 수 있다.
도 10은 본 발명의 일 실시 예에 있어서, 결정된 화소의 카테고리의 일 예를 도시한 예시도이다.
본 발명의 일 실시 예에 있어서, 결정될 수 있는 카테고리는 총 5가지로, 카테고리 1은 픽셀 인덱스 x 인 현재 화소가 픽셀 인덱스 x-1 및 x+1인 인접 화소들보다 화소 값이 작은 오목 엣지(concave)이고, 카테고리 2는 현재 화소가 인접 화소들보다 화소 값이 작거나 같은 오목 엣지의 가장자리이다. 카테고리 3은 현재 화소가 인접 화소들보다 화소 값이 같거나 큰 볼록 엣지의 가장자리이고, 카테고리 4는 현재 화소가 인접 화소들보다 큰 볼록 엣지(convex)이다. 카테고리 0(미도시)은 카테고리 1 내지 4에 속하지 않은 화소들이 속할 수 있으며, 카테고리 0에서는 오프셋 값이 결정되지 않을 수 있다.
도 11은 본 발명의 일 실시 예에 있어서, 화소의 배경 화소 값을 검출하는 일 예를 도시한 예시도이다.
도 11을 참조하면, 배경 화소 값을 검출하기 위해 분할된 배경 화소 블록 중 현재 화소(11)가 속한 배경 화소 블록(12) 내에 속하는 화소들의 평균 화소 값이 현재 화소(11)의 배경 화소 값으로 결정될 수 있다.
적응적 오프셋 결정부(111)는 동일한 카테고리에 속하는 화소들의 배경 화소 값의 평균에 기초하여 카테고리 별로 오프셋을 조정하거나, 각 화소의 배경 화소 값에 기초하여 각 화소에 적용될 오프셋을 화소 별로 조정할 수 있다.
도 12는 본 발명의 일 실시 예에 있어서, 배경 화소 값의 분포를 나타낸 그래프이다.
도 12의 그래프는, 배경 화소 값에 따라 현재 화소가 인접 화소와 시각적으로 구별될 수 있다고 인지할 수 있는 인접 픽셀과의 차이값을 나타낸 것이다. 도 12의 그래프를 참조하면, 배경 화소 값이 T1과 T2 사이 영역(14)의 값에 속하는 경우 현재 화소가 인접 화소와 시각적으로 구별될 수 있는 차이값이 다른 영역(13, 15)에 비해 현저히 작음을 알 수 있다. 즉, 배경 화소 값이 T1과 T2 사이의 값(14)에 속하는 경우, 현재 화소 값과 인접 화소 값의 차이가 적어도 현재 화소 값이 시각적으로 구별될 가능성이 높다. 따라서, 상기 14 영역에서는 화소 값의 변화를 잘 인식할 수 있어 솔트 노이즈가 쉽게 발생할 수 있으므로, 적응적 오프셋 결정부(111)는 상기 영역에 속하는 화소들의 오프셋을 0으로 조정하여 솔트 노이즈를 제거할 수 있다. 나머지 13 또는 15 영역의 경우, 현재 화소 값과 인접 화소 값의 차이가 커도 현재 화소 값이 시각적으로 구별될 가능성이 상대적으로 낮아서 솔트 노이즈의 발생 가능성이 상대적으로 적기 때문에 적응적 오프셋 결정부(111)는 부호화 효율을 높이기 위해서 오프셋을 조정하지 않을 수 있다.
도 13은 본 발명의 다른 실시 예에 의한 블록 분할 구조 결정 방법을 도시한 예시도이다.
도 13을 참조하면, 적응적 오프셋 결정부(111)는 하나의 블록(20)과 상기 블록이 분할된 블록들(21)의 부호화 효율을 비교함으로써 영상의 블록 분할 구조와 SAO 타입을 결정할 수 있다.
자세히 설명하면, 적응적 오프셋 결정부(111)는 깊이 0의 LCU 블록(120)을 위해 SAO 타입 및 블록 분할 구조를 결정할 수 있다. 깊이 0의 블록(20)을 4개의 블록으로 분할한 것이 깊이 1의 블록들(21)이다. 적응적 오프셋 결정부(111)는 깊이 0의 블록(20)과 깊이 1의 블록들(21) 각각을 블록 별로 최적의 SAO 타입과 최적의 SAO 타입에 대한 카테고리 별 오프셋 값을 결정할 수 있다. 적응적 오프셋 결정부(111)는 상기 결정된 오프셋 값을 이용하여 깊이 0의 블록(20)과 깊이 1의 블록들(21)의 부호화 효율을 비교할 수 있다.
깊이 0의 블록(20)의 부호화 효율이 더 높은 경우에는 깊이 0의 블록(20)에 대한 SAO 타입을 최종적으로 결정할 수 있다. 이어서, SAO 타입이 결정되지 않은 다른 깊이 0의 블록에 대하여 상기 블록이 분할된 블록들과 부호화 효율이 비교될 수 있다.
또한, 깊이 1의 블록들(21)의 부호화 효율이 더 높은 경우에는 깊이 1의 블록들 각각(23, 24, 25, 26)에 대하여 상기 블록들(23, 24, 25, 26)이 분할된 깊이 2의 블록들(27, 28, 29, 30)과 부호화 효율이 비교될 수 있다.
깊이 1의 블록(23, 25, 26)의 경우, 분할된 블록들(27, 29, 30)보다 부호화 효율이 높아 더 이상 분할되지 않을 수 있다. 깊이 1의 블록(24)의 경우, 깊이 2의 블록들(28)보다 부호화 효율이 낮아, 깊이 2의 블록들(28)이 재분할된 블록들과 부호화 효율이 비교될 수 있다.
블록(31)은 블록 분할 구조가 일부 결정된 일 예를 나타낸 것으로, 블록(23,25,26)은 더 이상 분할되지 않는 것으로 최종 결정되어, 각각 깊이 1의 블록으로 결정되었다. 반면, 블록(31)의 분할된 블록(32)은 분할된 블록의 부호화 효율이 더 높은 것으로 결정되어, 상기 분할된 블록(32)은 재분할될 수 있다.
본 발명의 일 실시 예에 의하면, 오프셋 값이 화소 값에 적용될 때, 화소 값이 인접 화소 값보다 더 작거나 더 큰 값으로 결정되는 경우, 인간의 시각 특징(Human visual system)을 이용하여 복원 영상에 오프셋을 적용함으로써 발생될 수 있는 솔트 노이즈를 효과적으로 제거하면서, 압축 성능 및 인코딩 디코딩 속도를 개선할 수 있다.
본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장 장치 등이 있다.
비록 상기 설명이 다양한 실시예들에 적용되는 본 발명의 신규한 특징들에 초점을 맞추어 설명되었지만, 본 기술 분야에 숙달된 기술을 가진 사람은 본 발명의 범위를 벗어나지 않으면서도 상기 설명된 장치 및 방법의 형태 및 세부 사항에서 다양한 삭제, 대체, 및 변경이 가능함을 이해할 것이다. 따라서, 본 발명의 범위는 상기 설명에서보다는 첨부된 특허청구범위에 의해 정의된다. 특허청구범위의 균등 범위 안의 모든 변형은 본 발명의 범위에 포섭된다.

Claims (15)

  1. 현재 영상을 복수개의 블록으로 분할하는 단계;
    인접 화소 값에 기초하여 상기 분할된 각 블록 내 화소들의 카테고리를 결정하는 단계;
    상기 결정된 각 카테고리에 속하는 화소들의 오프셋 값을 결정하는 단계; 및
    상기 카테고리의 특성 및 각 화소의 배경 화소 값에 기초하여 오프셋 값을 조정하는 단계를 포함하고,
    상기 오프셋 값은 하나의 카테고리에 속하는 화소들의 원본 영상과 복원 영상 간의 차이값의 평균값이고,
    상기 배경 화소 값은 배경 화소 값을 구하기 위해 분할된 배경 화소 블록들 중 상기 화소가 속하는 배경 화소 블록 내 화소 값들의 평균 값인 것을 특징으로 하는 오프셋 결정 방법.
  2. 제1항에 있어서, 상기 오프셋 값을 조정하는 단계는
    상기 오프셋 값과 대응되는 화소의 배경 화소 값을 검출하는 단계; 및
    상기 검출된 배경 화소 값 및 상기 결정된 카테고리 특성에 기초하여, 상기 오프셋 값을 조정하는 단계를 포함하는 것을 특징으로 하는 오프셋 결정 방법.
  3. 제2항에 있어서, 상기 배경 화소 값을 검출하는 단계는
    상기 결정된 카테고리 특성이 국부 최소 값(local min) 또는 국부 최대 값(local max)에 해당하는 경우, 상기 오프셋 값과 대응되는 화소의 배경 화소 값을 검출하는 것을 특징으로 하는 오프셋 결정 방법.
  4. 제1항에 있어서, 상기 오프셋 값을 조정하는 단계는
    상기 배경 화소 값이 시각적으로 민감한 영역에 속하는지 여부를 판단하는 단계; 및
    상기 판단 결과에 따라 오프셋 값을 조정하는 단계를 포함하는 것을 특징으로 하는 오프셋 결정 방법.
  5. 제1항에 있어서, 상기 오프셋 값을 조정하는 단계는
    상기 결정된 카테고리의 특성이 국부 최소 값이고, 상기 배경 화소 값이 시각적으로 민감한 영역에 속하고, 오프셋 값이 음수값인 경우, 오프셋 값을 0으로 조정하고,
    상기 결정된 카테고리의 특성이 국부 최대 값이고, 상기 배경 화소 값이 시각적으로 민감한 영역에 속하고, 오프셋 값이 양수값인 경우, 오프셋 값을 0으로 조정하는 것을 특징으로 하는 오프셋 결정 방법.
  6. 제1항에 있어서, 상기 오프셋 값을 조정하는 단계는
    현재 화소 값이 제1 인접 화소 값과 동일하나, 제2 인접 화소 값보다 작고, 오프셋 값이 음수값이면, 오프셋 값을 0으로 조정하고,
    상기 현재 화소 값이 제1 인접 화소 값과 동일하나, 제2 인접 화소 값보다 크고, 오프셋 값이 양수값이면, 오프셋 값을 0으로 조정하는 것을 특징으로 하는 오프셋 결정 방법.
  7. 제1항에 있어서,
    상기 오프셋 값을 이용하여 상기 복원 영상의 화소 값들을 카테고리 별로 보정하는 단계를 더 포함하는 것을 특징으로 하는 오프셋 결정 방법.
  8. 현재 영상을 부호화하는 부호화부;
    상기 부호화된 현재 영상을 복호화함으로써 상기 현재 영상의 복원 영상을 생성하는 복호화부;
    상기 현재 영상을 복수개의 블록으로 분할하고, 인접 화소 값에 기초하여 상기 분할된 각 블록 내 화소들의 카테고리를 결정하고, 상기 결정된 각 카테고리에 속하는 화소들의 오프셋 값을 결정하는 오프셋 결정부;
    상기 카테고리의 특성 및 각 화소의 배경 화소 값에 기초하여 오프셋 값을 조정하는 오프셋 조정부를 포함하고,
    상기 오프셋 값은 하나의 카테고리에 속하는 화소들의 원본 영상과 복원 영상 간의 차이값의 평균값이고,
    상기 배경 화소 값은 배경 화소 값을 구하기 위해 분할된 배경 화소 블록들 중 상기 화소가 속하는 배경 화소 블록 내 화소 값들의 평균 값인 것을 특징으로 하는 동영상 부호화 장치.
  9. 제8항에 있어서, 상기 오프셋 조정부는
    상기 오프셋 값과 대응되는 화소의 배경 화소 값을 검출하고, 상기 검출된 배경 화소 값 및 상기 결정된 카테고리 특성을 이용하여, 상기 오프셋 값을 조정하는 것을 특징으로 하는 동영상 부호화 장치.
  10. 제9항에 있어서, 상기 오프셋 조정부는
    상기 결정된 카테고리 특성이 국부 최소 값(local min) 또는 국부 최대 값(local max)에 해당하는 경우, 상기 오프셋 값과 대응되는 화소의 배경 화소 값을 검출하는 것을 특징으로 하는 동영상 부호화 장치.
  11. 제8항에 있어서, 상기 오프셋 조정부는
    상기 배경 화소 값이 시각적으로 민감한 영역에 속하는지 여부를 판단하고, 상기 판단 결과에 따라 오프셋 값을 조정하는 것을 특징으로 하는 동영상 부호화 장치.
  12. 제8항에 있어서, 상기 오프셋 조정부는
    상기 결정된 카테고리의 특성이 국부 최소 값이고, 상기 배경 화소 값이 시각적으로 민감한 영역에 속하고, 오프셋 값이 음수값인 경우, 오프셋 값을 0으로 조정하고,
    상기 결정된 카테고리의 특성이 국부 최대 값이고, 상기 배경 화소 값이 시각적으로 민감한 영역에 속하고, 오프셋 값이 양수값인 경우, 오프셋 값을 0으로 조정하는 것을 특징으로 하는 동영상 부호화 장치.
  13. 제8항에 있어서, 상기 오프셋 조정부는
    현재 화소 값이 제1 인접 화소 값과 동일하나, 제2 인접 화소 값보다 작고, 오프셋 값이 음수값이면, 오프셋 값을 0으로 조정하고,
    상기 현재 화소 값이 제1 인접 화소 값과 동일하나, 제2 인접 화소 값보다 크고, 오프셋 값이 양수값이면, 오프셋 값을 0으로 조정하는 것을 특징으로 하는 동영상 부호화 장치.
  14. 부호화된 현재 영상을 복호화함으로써 상기 현재 영상의 복원 영상을 생성하는 복호화부;
    부호화된 오프셋 값을 복호화하고, 상기 복호화된 오프셋 값을 상기 복원 영상에 적용하는 오프셋 적용부를 포함하고,
    상기 현재 영상을 복수개의 블록으로 분할하고, 인접 화소 값에 기초하여 상기 분할된 각 블록 내 화소들의 카테고리를 결정하여, 상기 결정된 각 카테고리에 속하는 화소들의 오프셋 값이 결정되고,
    상기 오프셋 값은 상기 카테고리의 특성 및 각 화소의 배경 화소 값에 기초하여 조정되고,
    상기 오프셋 값은 하나의 카테고리에 속하는 화소들의 원본 영상과 복원 영상 간의 차이값의 평균값이고,
    상기 배경 화소 값은 배경 화소 값을 구하기 위해 분할된 배경 화소 블록들 중 상기 화소가 속하는 배경 화소 블록 내 화소 값들의 평균 값인 것을 특징으로 하는 동영상 복호화 장치.
  15. 제1항 내지 제7항 중 어느 한 항에 의한 방법을 컴퓨터에서 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
PCT/KR2013/003230 2012-04-17 2013-04-17 인간의 시각 특성을 이용한 오프셋 값 결정 방법 및 장치 WO2013157839A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/394,786 US9451269B2 (en) 2012-04-17 2013-04-17 Method and apparatus for determining offset values using human visual characteristics

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261625377P 2012-04-17 2012-04-17
US61/625,377 2012-04-17

Publications (1)

Publication Number Publication Date
WO2013157839A1 true WO2013157839A1 (ko) 2013-10-24

Family

ID=49383724

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/003230 WO2013157839A1 (ko) 2012-04-17 2013-04-17 인간의 시각 특성을 이용한 오프셋 값 결정 방법 및 장치

Country Status (3)

Country Link
US (1) US9451269B2 (ko)
KR (1) KR102133528B1 (ko)
WO (1) WO2013157839A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391985A (zh) * 2017-06-21 2017-11-24 努比亚技术有限公司 一种解密图像验证方法、终端及计算机可读存储介质
CN114679583A (zh) * 2018-09-03 2022-06-28 华为技术有限公司 视频编码器、视频解码器及对应方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150049821A1 (en) * 2013-08-16 2015-02-19 Qualcomm Incorporated In-loop depth map filtering for 3d video coding
US9955187B2 (en) * 2014-03-28 2018-04-24 University-Industry Cooperation Group Of Kyung Hee University Method and apparatus for encoding of video using depth information

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070047523A (ko) * 2005-11-02 2007-05-07 삼성전자주식회사 영상의 부호화,복호화 방법 및 장치
JP2011223340A (ja) * 2010-04-09 2011-11-04 Ntt Docomo Inc 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、及び、動画像復号プログラム
US20110274158A1 (en) * 2010-05-10 2011-11-10 Mediatek Inc. Method and Apparatus of Adaptive Loop Filtering
WO2012030193A2 (ko) * 2010-09-02 2012-03-08 엘지전자 주식회사 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR20120028262A (ko) * 2010-09-13 2012-03-22 한국전자통신연구원 엔트로피 부호화/복호화 방법 및 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060018940A1 (en) 2004-07-21 2006-01-26 E. I. Du Pont De Nemours And Company Stabilized antimicrobial composition
KR20120020262A (ko) 2010-08-30 2012-03-08 명화공업주식회사 가압성형을 이용한 마그네슘 벌크재의 제조방법 및 그 벌크재
KR101838183B1 (ko) * 2010-09-30 2018-03-16 한국전자통신연구원 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
US8861617B2 (en) 2010-10-05 2014-10-14 Mediatek Inc Method and apparatus of region-based adaptive loop filtering
WO2012175195A1 (en) * 2011-06-20 2012-12-27 Panasonic Corporation Simplified pipeline for filtering

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070047523A (ko) * 2005-11-02 2007-05-07 삼성전자주식회사 영상의 부호화,복호화 방법 및 장치
JP2011223340A (ja) * 2010-04-09 2011-11-04 Ntt Docomo Inc 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、及び、動画像復号プログラム
US20110274158A1 (en) * 2010-05-10 2011-11-10 Mediatek Inc. Method and Apparatus of Adaptive Loop Filtering
WO2012030193A2 (ko) * 2010-09-02 2012-03-08 엘지전자 주식회사 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR20120028262A (ko) * 2010-09-13 2012-03-22 한국전자통신연구원 엔트로피 부호화/복호화 방법 및 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391985A (zh) * 2017-06-21 2017-11-24 努比亚技术有限公司 一种解密图像验证方法、终端及计算机可读存储介质
CN107391985B (zh) * 2017-06-21 2020-10-09 江苏泮池信息技术有限公司 一种解密图像验证方法、终端及计算机可读存储介质
CN114679583A (zh) * 2018-09-03 2022-06-28 华为技术有限公司 视频编码器、视频解码器及对应方法
US11641466B2 (en) 2018-09-03 2023-05-02 Huawei Technologies Co., Ltd. Video encoder, a video decoder and corresponding methods

Also Published As

Publication number Publication date
US20150086124A1 (en) 2015-03-26
KR102133528B1 (ko) 2020-07-14
KR20130117706A (ko) 2013-10-28
US9451269B2 (en) 2016-09-20

Similar Documents

Publication Publication Date Title
WO2017069419A1 (ko) 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
WO2013069932A1 (ko) 영상의 부호화 방법 및 장치, 및 복호화 방법 및 장치
WO2010114283A2 (ko) 비디오 신호 처리 방법 및 장치
WO2017052000A1 (ko) 영상 코딩 시스템에서 움직임 벡터 정제 기반 인터 예측 방법 및 장치
WO2010050706A2 (ko) 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2011019246A2 (en) Method and apparatus for encoding/decoding image by controlling accuracy of motion vector
WO2016204360A1 (ko) 영상 코딩 시스템에서 조도 보상에 기반한 블록 예측 방법 및 장치
WO2011099792A2 (ko) 비디오 신호의 처리 방법 및 장치
WO2013062197A1 (ko) 영상 복호화 장치
WO2019240448A1 (ko) 성분 간 참조 기반의 비디오 신호 처리 방법 및 장치
WO2011145819A2 (ko) 영상 부호화/복호화 장치 및 방법
WO2012018197A2 (ko) 인트라 예측 복호화 장치
WO2013100635A1 (ko) 3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치
WO2013109039A1 (ko) 가중치예측을 이용한 영상 부호화/복호화 방법 및 장치
WO2013002587A2 (ko) 적응적인 양자화 파라미터 차분값을 이용한 영상의 부호화 및 복호화 방법과 장치
WO2017043766A1 (ko) 비디오 부호화, 복호화 방법 및 장치
WO2013157814A1 (ko) 영상의 레퍼런스 픽쳐 세트를 결정하기 위한 방법 및 장치
WO2019194500A1 (ko) 인트라 예측에 기반한 영상 코딩 방법 및 그 장치
WO2019112071A1 (ko) 영상 코딩 시스템에서 크로마 성분의 효율적 변환에 기반한 영상 디코딩 방법 및 장치
WO2018212430A1 (ko) 영상 코딩 시스템에서 주파수 도메인 필터링 방법 및 그 장치
WO2013157839A1 (ko) 인간의 시각 특성을 이용한 오프셋 값 결정 방법 및 장치
WO2011090352A2 (ko) 영역 기반의 부호화/복호화 장치 및 방법
WO2019059721A1 (ko) 해상도 향상 기법을 이용한 영상의 부호화 및 복호화
WO2014058207A1 (ko) 다시점 비디오 신호의 인코딩 방법, 디코딩 방법 및 이에 대한 장치
WO2015182927A1 (ko) 다시점 비디오 신호 처리 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13778197

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14394786

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13778197

Country of ref document: EP

Kind code of ref document: A1