WO2013015484A1 - 연성 디블록킹 필터링을 이용한 부호화/복호화 방법 및 장치 - Google Patents
연성 디블록킹 필터링을 이용한 부호화/복호화 방법 및 장치 Download PDFInfo
- Publication number
- WO2013015484A1 WO2013015484A1 PCT/KR2011/006823 KR2011006823W WO2013015484A1 WO 2013015484 A1 WO2013015484 A1 WO 2013015484A1 KR 2011006823 W KR2011006823 W KR 2011006823W WO 2013015484 A1 WO2013015484 A1 WO 2013015484A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- filtering
- pixel
- boundary
- prediction
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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
Definitions
- the present invention relates to a method and apparatus for encoding / decoding using flexible deblocking filtering. More specifically, in encoding and decoding an image, the number and / or position of pixels to be subjected to deblocking filtering, or the deblocking filtering method according to a predetermined criterion are equal to or different from each other in the P block and the Q block.
- the present invention relates to a method and apparatus for encoding / decoding using soft deblocking filtering to improve encoding / decoding efficiency.
- Moving Picture Experts Group (MPEG) and Video Coding Experts Group (VCEG) have developed video compression techniques that are superior and superior to the existing MPEG-4 Part 2 and H.263 standards.
- the new standard is called H.264 / AVC (Advanced video Coding) and co-published as MPEG-4 Part 10 AVC and ITU-T Recommendation H.264.
- residual signals are generated by performing intra / inter prediction processes in units of blocks having various types of subblocks, and encoding is reduced by further reducing the number of bits through conversion and quantization processes on the generated residual signals. Will be performed. Looking at the conventional encoding through the macroblock from the encoder side, the input image is divided into 16 ⁇ 16 macroblock units, and each macroblock is estimated by the size of a sub macroblock that may be obtained according to the inter / intra mode.
- an embodiment of the present invention uses the number and / or position of pixels to be deblocked filtering, or the deblocking filtering method in the P block and the Q block in accordance with a predetermined criterion. By defining differently, the encoding / decoding efficiency is improved.
- a prediction block is generated by predicting a current block
- a residual block is generated by subtracting the prediction block from the current block
- the residual block is converted and Quantize to generate a bitstream and inverse quantize and inverse transform the transformed and quantized residual block to recover the residual block, add the prediction block to the reconstructed residual block to recover the current block, and restore one or more restored current blocks. Filtering so that the number of pixels of the first block and the number of pixels of the second block that are filtered according to a predetermined criterion for the first block and the second block that participate in the filtering for filtering between sub-blocks in the including frame are different from each other.
- Video encoder for filtering use; And reconstructing the quantized frequency transform block from the bitstream and inverse quantizing and inverse transforming the reconstructed quantized frequency transform block to generate a prediction block of the current block to reconstruct and reconstruct the residual block, and generating the reconstructed residual block.
- Reconstruct the current block by adding the predicted prediction blocks and filter the first block and the second block participating in the filtering according to a predetermined criterion for filtering between subblocks within a frame including one or more reconstructed current blocks.
- An image encoding / decoding apparatus includes an image decoder configured to filter the number of pixels of a first block to be different from the number of pixels of a second block.
- a prediction block is generated by predicting a current block, a residual block is generated by subtracting the prediction block from the current block, and the residual block is transformed and quantized by A predictive encoding unit for reconstructing the residual block by encoding and inversely quantizing and inversely transforming the transformed and quantized residual block, and adding the prediction block to the reconstructed residual block to reconstruct the current block; And a number of pixels and a second number of pixels of the first block filtered according to a predetermined criterion for the first block and the second block participating in the filtering for filtering between sub-blocks in a frame including one or more restored current blocks. It provides a video encoding apparatus comprising a deblocking filter for filtering so that the number of pixels of the block different from each other.
- the predetermined criterion may be linearity in the unit of pixel lines in the sub-block depth direction based on a block boundary that is a boundary between the first block and the second block.
- the predetermined criterion is
- the linearity may be linearity of a subblock unit in a subblock depth direction based on a block boundary that is a boundary between the first block and the second block.
- the number of pixels filtered in the subblock determined to be linear may be greater than the number of pixels filtered in the subblock determined to be nonlinear.
- the predetermined criterion is
- a representative pixel line may be selected in the subblock, and linearity of each subblock unit may be obtained by using each linearity of the representative pixel lines.
- the first block and the second block may be filtered using different pixel shift values according to the position of the pixel based on a block boundary that is a boundary between the first block and the second block.
- the image encoding apparatus may further include an offset value transmitter that transmits an offset value for the parameter when a filtering parameter required for deblocking filtering is set to a predetermined value.
- the deblocking filter may adaptively determine a target pixel to be used for filtering based on the prediction information used for the prediction.
- the deblocking filter may determine the number of the target pixels based on an intra prediction block size included in the prediction information.
- the deblocking filter may determine the filtering direction of the target pixel based on an intra prediction mode included in the prediction information when the prediction is intra prediction.
- a prediction block is generated by predicting a current block, a residual block is generated by subtracting the prediction block from the current block, and the residual block is transformed and quantized by An image encoder for reconstructing the residual block by encoding and inversely quantizing and inversely transforming the transformed and quantized residual block and reconstructing the current block by adding the prediction block to the reconstructed residual block; And a block boundary based on a block boundary that is a boundary between the first block and the second block with respect to the first block and the second block participating in the filtering for filtering between sub-blocks within a frame including one or more restored current blocks. It provides a video encoding apparatus comprising a deblocking filter for filtering using a pixel shift value different according to the position.
- the pixel shift value of the pixel located inside the first pixel may be obtained using the pixel shift value of the first pixel of the block boundary that is a boundary between the first block and the second block.
- the pixel shift value of the pixel located inside may be a value obtained by dividing the pixel shift value of the first pixel by a position value of the block boundary reference.
- the filter coefficient for calculating the pixel shift value of the first pixel of the block boundary that is the boundary between the first block and the second block may be different from the filter coefficient for calculating the pixel shift value of the pixel located in the inner side.
- an apparatus for decoding an image comprising: a bitstream decoder for generating a quantized frequency transform block from a bitstream; An inverse quantization and inverse transform unit for restoring a residual block by inverse quantization and inverse transformation of the quantized frequency transform block; A prediction unit generating a prediction block of the current block to be reconstructed; An adder configured to add the reconstructed residual block and the generated prediction block to reconstruct a current block; And a number of pixels and a second number of pixels of the first block filtered according to a predetermined criterion for the first block and the second block participating in the filtering for filtering between sub-blocks in a frame including one or more restored current blocks. It provides a video decoding apparatus comprising a deblocking filter for filtering so that the number of pixels of the block is different.
- an apparatus for decoding an image comprising: a bitstream decoder for generating a quantized frequency transform block from a bitstream; An inverse quantization and inverse transform unit for restoring a residual block by inverse quantization and inverse transformation of the quantized frequency transform block; A prediction unit generating a prediction block of the current block to be reconstructed; An adder configured to add the reconstructed residual block and the generated prediction block to reconstruct a current block; And a block boundary based on a block boundary that is a boundary between the first block and the second block with respect to the first block and the second block participating in the filtering for filtering between sub-blocks within a frame including one or more restored current blocks. It provides a video decoding apparatus comprising a deblocking filter for filtering using a pixel shift value different according to the position.
- a prediction block is generated by predicting a current block, the prediction block is subtracted from the current block, a residual block is generated, and the residual block is transformed and Quantize to generate a bitstream and inverse quantize and inverse transform the transformed and quantized residual block to recover the residual block, add the prediction block to the reconstructed residual block to recover the current block, and restore one or more restored current blocks. Filtering so that the number of pixels of the first block and the number of pixels of the second block that are filtered according to a predetermined criterion for the first block and the second block that participate in the filtering for filtering between sub-blocks in the including frame are different from each other.
- the image encoding method comprising: filtering using; And reconstructing the quantized frequency transform block from the bitstream and inverse quantizing and inverse transforming the reconstructed quantized frequency transform block to generate a prediction block of the current block to reconstruct and reconstruct the residual block, and generating the reconstructed residual block.
- Reconstruct the current block by adding the predicted prediction blocks and filter the first block and the second block participating in the filtering according to a predetermined criterion for filtering between subblocks within a frame including one or more reconstructed current blocks.
- a prediction block is generated by predicting a current block, a residual block is generated by subtracting the prediction block from the current block, and the residual block is transformed and quantized by
- a deblocking filtering step of filtering so that the number of pixels of a block is different from each other is provided.
- a prediction block is generated by predicting a current block, a residual block is generated by subtracting the prediction block from the current block, and the residual block is transformed and quantized by
- a block boundary based on a block boundary that is a boundary between the first block and the second block with respect to the first block and the second block participating in the filtering for filtering between sub-blocks within a frame including one or more restored current blocks.
- a deblocking filtering step of filtering using a pixel shift value different according to a position is provided.
- a method of decoding an image comprising: a bitstream decoding step of generating a quantized frequency transform block from a bitstream; An inverse quantization and inverse transformation step of restoring a residual block by inverse quantization and inverse transformation of the quantized frequency transform block; A prediction step of generating a prediction block of the current block to be reconstructed; An addition step of reconstructing a current block by adding the reconstructed residual block and the generated prediction block; And a number of pixels and a second number of pixels of the first block filtered according to a predetermined criterion for the first block and the second block participating in the filtering for filtering between sub-blocks in a frame including one or more restored current blocks.
- a deblocking filtering step of filtering so that the number of pixels of a block is different from each other is provided.
- a method of decoding an image comprising: a bitstream decoding step of generating a quantized frequency transform block from a bitstream; An inverse quantization and inverse transformation step of restoring a residual block by inverse quantization and inverse transformation of the quantized frequency transform block; A prediction step of generating a prediction block of the current block to be reconstructed; An addition step of reconstructing a current block by adding the reconstructed residual block and the generated prediction block; And a block boundary based on a block boundary that is a boundary between the first block and the second block with respect to the first block and the second block participating in the filtering for filtering between sub-blocks within a frame including one or more restored current blocks.
- a deblocking filtering step of filtering using a pixel shift value different according to a position is provided.
- the number and / or position of pixels to be deblocked filtering, or the deblocking filtering method may be the same or different from each other in the P block and the Q block.
- FIG. 1 is a block diagram schematically illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
- FIG. 2 is a diagram illustrating a block P and a block Q to be deblocking filtering targets.
- FIG. 3 is a diagram for describing an example of deblocking filtering according to an embodiment of the present invention.
- FIG. 4 is a diagram for describing an example of an implementation of deblocking filtering according to an embodiment of the present invention.
- 5 is a diagram illustrating an example of determining linearity in units of blocks.
- FIG. 6 is a diagram illustrating an example of determining additional linearity in units of blocks.
- FIG. 7 is a block diagram schematically illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
- FIG. 8 is a diagram illustrating a process of determining a target pixel to which filtering is applied.
- FIG. 1 is a block diagram schematically illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
- the image encoding apparatus 100 is an apparatus for encoding an image, and includes a predictor 110, a subtractor 120, a transform and quantizer 130, Scanner (140), Bitstream Generator (Bitstream Generator) 150, Inverse Quantizer and Transformer (160), Adder (170) and Deblocking Filter (180) It can be configured to include.
- the video encoding apparatus 100 may be a personal computer (PC), a TV, a notebook computer, a personal digital assistant (PDA), a portable multimedia player (PMP), or a PlayStation Portable (PSP).
- a wireless terminal such as a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a personal area network, and the like, a communication device such as a communication modem for communicating with various devices or a wired / wireless communication network, a memory for storing various programs and data for encoding an image, Means a variety of devices including a microprocessor for executing and operating a program.
- a communication device such as a communication modem for communicating with various devices or a wired / wireless communication network, a memory for storing various programs and data for encoding an image, Means a variety of devices including a microprocessor for executing and operating a program
- the input image to be encoded may be input in units of blocks.
- the shape of a block may be M ⁇ N, where M and N are 2 n (where n is an integer of 1 or more). It may be a natural number having a value of, in particular, M and N may be greater than 16, respectively, and M and N may be different integers or the same integer.
- a different type of block may be used for each frame to be encoded, and information about a block type, which is information about the frame type, may be encoded for each frame so that a form of a block of a frame to be decoded when the image decoding apparatus decodes the encoded data may be used. I can tell you.
- Determination of which type of block to use can be made by selecting the type of block that has the best efficiency by encoding the current frame into various types of blocks, or by selecting the type of block according to the analyzed characteristics by analyzing the characteristics of the frame. have. For example, if the image of the frame has a high correlation in the horizontal direction, a block having a long shape in the horizontal direction may be selected, and if the image has a high correlation in the vertical direction, a block having a long shape in the vertical direction may be selected.
- the image encoding apparatus 100 may further include a block type determiner (not shown) that determines the block type and encodes information about the block type in the encoded data.
- a block type determiner (not shown) that determines the block type and encodes information about the block type in the encoded data.
- the predictive encoding unit of the present invention includes a predictor 110, a subtractor 120, a transform and quantizer 130, a scanner 140, a bitstream generator 150, an inverse quantization and inverse transform unit 160, and an adder. It may be configured to include a portion 170.
- the prediction unit 110 generates a predicted block by predicting a block to be currently encoded in the input image (hereinafter referred to as a 'current block'). That is, the prediction unit 110 predicts the current block of the input image by using intra prediction or inter prediction, and has a predicted pixel value as the pixel value of each pixel. Create a block.
- the block in order to optimize the predicted pixel value, the block may be divided into smaller blocks and predicted as necessary. That is, the prediction block may be generated in units of subblocks divided from the blocks.
- the block may be an MxN-type block having a square or rectangular shape as described above, and the subblock may be a block having a size of 2 p and 2 q , respectively, within a range not exceeding the size of the current block. (P and q may be the same value or different values).
- the subtraction unit 120 may generate a residual block by subtracting the prediction block from the current block. That is, the subtractor 120 generates a residual block having a residual signal by calculating a difference between an original pixel value of each pixel of the current block and a predicted pixel value of each pixel of the prediction block. do.
- the transform and quantization unit 130 may determine a transform and quantization type according to the block type of the current block, and transform and quantize the residual block according to the determined transform and quantization type.
- the sizes of the current block, the prediction block, and the residual block and the size of the transform block to be transformed and quantized may be different.
- the size of the transform block to be transformed and quantized may be selected within a range not exceeding the size of the residual block.
- a size of a transform block that is a target of transform and quantization that exceeds the size of the residual block may be selected.
- the transform block means a block that is a unit of transform and is composed of transform coefficients or pixel values. For example, an RxS transform coefficient block coded using an RxS size transform or an RxS pixel block decoded using an inverse transform of an RxS size.
- the image encoding apparatus 100 converts a residual block using a plurality of transforms available, such as 4x4, 8x4, 4x8, 8x8, 16x8, 8x16, and 16x16, and has the highest coding efficiency among them. You can finally select the transformation.
- the current block, the prediction block, and the residual block may all have a size of 16 ⁇ 16.
- the transform and quantization unit 130 receiving the 16x16 residual block may divide the 16x16 residual block into two 16x8 subblocks, and then perform 16x8 transform to output two 16x8 transform coefficient blocks.
- the transform and quantization unit 130 transforms the residual signal of the residual block into a frequency domain to generate and quantize a residual block having a transform coefficient, and then transforms the quantized residual block with the quantized transform coefficient. Create a Transformed and Quantized Residual Block.
- the transform method includes a spatial signal such as a Hadamard transform and a discrete cosine transform based integer transform (hereinafter, referred to as an integer transform) to the frequency domain. Transformation techniques may be used, and various quantization techniques such as Dead Zone Uniform Threshold Quantization (DZUTQ) or Quantization Weighted Matrix (DZUTQ) are used as quantization schemes. Can be.
- DZUTQ Dead Zone Uniform Threshold Quantization
- DZUTQ Quantization Weighted Matrix
- the scanner 140 scans the quantization transform coefficients of the residual block transformed and quantized by the transform and quantization unit 130 to generate a quantization transform coefficient sequence.
- the scanning method considers characteristics of a transform technique, a quantization technique, and a block (current block or subblock), and the scanning order may be determined such that the scanned quantization transform coefficient sequence has a minimum length.
- the scanner 140 is illustrated and described as being implemented independently of the bitstream generator 150, but the scanner 140 may be omitted, and its function may be integrated into the bitstream generator 150.
- the bitstream generator 150 encodes the transformed and quantized frequency coefficient blocks to generate encoded data. That is, the bitstream generator 150 generates encoded data by encoding a quantized transform coefficient sequence generated by scanning coefficients of the frequency coefficient block transformed and quantized by the transform and quantization unit 130, or by generating the encoded data to the scanner 140. The quantized transform coefficient sequence generated by scanning is encoded to generate encoded data.
- the bitstream generator 150 may include not only a bit string encoding the quantized transform coefficient sequence but also various pieces of information necessary to decode the encoded bit sequence in the encoded data.
- the various pieces of information necessary to decode the encoded bit strings include information about a block type, information about an intra prediction mode when the prediction mode is an intra prediction mode, and information about a motion vector when the prediction mode is an inter prediction mode. Information, information on transform and quantization types, and the like, but also various other information.
- the inverse quantization and inverse transform unit 160 inverse quantizes and inverse transforms the frequency coefficient block transformed and quantized by the transform and quantization unit 130 to reconstruct the residual block.
- Inverse quantization and inverse transformation may be performed by inversely performing a transform process and a quantization process performed by the transform and quantization unit 130. That is, the inverse quantization and inverse transform unit 160 may use the transform and quantization unit (for example, information on a transform and quantization type) generated and transmitted from the transform and quantization unit 140 (for example, information about a transform and quantization type).
- Inverse quantization and inverse transformation may be performed by inversely performing the transform and quantization scheme 130.
- the adder 170 reconstructs the current block by adding the prediction block predicted by the predictor 110 and the residual block inverse quantized and inverse transformed by the inverse quantization and inverse transform unit 160.
- the deblocking filter 180 deblocks and filters the block restored by the adder 170.
- the deblocking may be performed at that time for each block, and may be performed at the same time in a unit of frame.
- the unit of the deblocking filtering of the present invention is not limited to the description in this embodiment.
- the deblocking filter 180 reduces blocking effects occurring at a block boundary or a transform boundary by prediction, transform, and quantization of blocks in an image. Meanwhile, the deblocking filter 180 may filter using information on a transform and quantization type transmitted together with the restored current block. Information on this transform and quantization type may be passed to the deblocking filter 180.
- the deblocking filter 180 is a first block filtered according to a predetermined criterion for the first block and the second block participating in the filtering for filtering between subblocks in a frame including one or more restored current blocks. Filtering is performed so that the number of pixels and the number of pixels of the second block are different from each other, and / or by using pixel shift values different according to the position of the pixels based on a block boundary that is a boundary between the first block and the second block.
- the predetermined criterion may be linearity in the unit of pixel lines in the sub-block depth direction based on a block boundary that is a boundary between the first block and the second block, and the predetermined criterion is the first block and the second block.
- the linearity of the subblock unit in the subblock depth direction with respect to the block boundary that is the boundary of may be.
- the frame means a unit in which deblocking is performed, and a frame may be formed by a block or a set of blocks.
- the meaning of a subblock may mean a predetermined block unit (eg, a prediction unit or a transform-quantization unit) divided within a frame in which deblocking is performed.
- a prediction unit or a transform-quantization unit e.g., a prediction unit or a transform-quantization unit
- the predetermined criterion for determining the filtering method may be a relative block size of P and Q blocks, or may refer to linearity described later.
- the present invention may be performed in units of blocks or lines in accordance with various predetermined criteria. The number or position of pixels to be filtered can be changed.
- the deblocking filter 180 is used as a method for eliminating the above-described blocking, and the block size (which may be an M ⁇ N macroblock) and the block boundary, the RxS transform size in the block determined by the transform and quantization unit 130 are determined. As a result, filtering can be performed on the boundary between the transform and the transform, and the boundary between the block and the transform.
- the form of RxS refers to a square or rectangular transform type. Blocking may occur by performing transform and quantization according to a transform unit, and in order to eliminate such blocking, a deblocking filter is applied to both the block boundary and the transform boundary. Applicable As a result, filtering can be applied to the boundary of the block type and the transform type.
- the boundary of the block may be a boundary of prediction, and the application of deblocking filtering to the transformation boundary and / or the prediction boundary may be implemented to be applied when some conditions are met. For example, if there is no quantized non-zero transform coefficient, deblocking filtering may not be applied.
- FIG. 2 is a diagram illustrating a block P and a block Q to be deblocking filtering targets.
- deblocking filter 180 when the deblocking filter 180 performs deblocking filtering for a boundary between the P block and the Q block, the pixel blocks included in the P block and the Q block (eg, FIG. 2).
- the first pixel lines of p 3,0 to q 3,0 are described using the same number and / or position of pixels for the same pixel line as p 3 to q 3 for convenience.
- deblocking filtering may be performed by modifying two pixels based on a boundary. That is, the number and / or positions of pixels to be subjected to deblocking filtering may be defined to be the same in the P block and the Q block without determining based on a predetermined criterion.
- the pixels included in the P block are p 3 , p 2 , p 1 , p 0 and the pixels included in the Q block are q 3 , q 2 , q 1 , q 0 .
- FIG. 3 is a diagram for describing an example of deblocking filtering according to an embodiment of the present invention.
- the solid line is the pixel after the filtering
- the dotted line is the pixel after the filtering.
- the deblocking filter 180 calculates a value of ⁇ (hereinafter, referred to as a delta) as shown in Equation 1 to perform the filtering process, and applies the pixels of the P block and the Q block to ⁇ and ⁇ / 2.
- the deblocking filtering may be performed by applying the pixel shift value as shown in Equation 2.
- the Clip3 (A, B, x) function outputs a B value if the value of x is larger than B, and outputs an A value if the value of x is smaller than A, otherwise the value of x Clipping function to output
- p0, q0, p1 and q1 are values before filtering and p0 ', q0', p1 'and q1' are values after filtering.
- 2 used for "(q 0 -p 0 ) ⁇ 2" as a filtering coefficient means a 2-bit shift of (q 0 -p 0 ) to the left, so it is equal to 4 times "(( q 1 -p 1 ) "is multiplied by 1, so (4, 1) is the filter coefficient. Since " ⁇ 3" at the end of Equation 1 means a 3-bit shift to the right, the filter coefficient may be viewed as (4/8. 1/8).
- the value 4 added in "(q 1 -p 1 ) +4" is an offset value for purifying the filtered result. Therefore, (4, 1, 4) or (4/8, 1/8, 4/8) can be regarded as a filter coefficient.
- filter coefficients show one embodiment of the filter implementation, it is also possible to use a filter coefficient different from that described in Equation (1). This is also applicable to other filters to be described later using the other coefficients, not limited to the illustrated equation.
- deblocking filtering can be easily implemented by using the same filter coefficient for the luminance signal Luma value and the chroma signal value.
- the t c value may be strongly filtered by adopting a large value, or may be weakly filtered by selecting a small value, and the pixel variation range may be adjusted by the t c value.
- the filtering parameter such as a t c value, may be predefined by the user, or may be transmitted from the image encoding apparatus to the image decoding apparatus. If a preset value is set by the user, the filtering parameter may be changed from the image encoding apparatus to the image decoding apparatus as necessary. It is also possible to set the value by sending an offset value and correcting it little by little.
- the offset value may be transmitted to the image decoding apparatus using the deblocking filter 180 or a separate offset value transmitter (not shown).
- the pixel shift value is obtained using the delta value determined by Equation 1, and the pixel value is changed as shown in Equation 2 using the delta value.
- Equation 2 is a specific example of how to change the degree of filtering according to a predetermined criterion, and is an example of using different pixel shift values for each pixel position. That is, the position of the filtered pixel becomes a predetermined criterion, and the degree of filtering may be adjusted by using different pixel shift values according to the criterion (ie, the position of the pixel). That is, delta is used for the first pixel p 0 or q 0 , and delta / 2 is used as the pixel shift value through filtering for the second pixel p 1 or q 1 .
- q 1 that may be newly generated in the process of minimizing the difference between the pixels p 0
- a new delta value is calculated through new filtering for the block P or the block Q inner pixel p 1 or q 1 , as shown in Equation 3, and the inside of the P block and the Q block are calculated. Deblocking filtering is performed by applying to each pixel.
- the pixel shift value of ⁇ p is used for p 1, which is an internal pixel of block P
- the pixel shift value of ⁇ q is used for q 1, which is an internal pixel of block Q.
- the same delta values are calculated for the blocks P and Q, but different deltas for the blocks P and Q as in Equation 3, respectively. Calculate the value.
- the pixel lines included in the P block and the Q block (for example, FIG. 2).
- Deblocking filtering may be performed to modify the pixel of the pixel.
- FIG. 4 is a diagram for describing a deblocking filtering implementation according to another embodiment of the present invention.
- FIG. 4 is a diagram for describing a deblocking filtering implementation according to another embodiment of the present invention.
- an example in which a P block is one pixel and a Q block is two pixels is modified based on a block boundary. That is, as described above, the pixel value may be changed by filtering the same number of pixels (eg, two) on each side based on the P / Q block boundary, but different from each other on the basis of the boundary as in this embodiment. It may be desirable to change the number of pixels.
- the pixels before filtering of the Q block are flat, while the P block has a value protruding from the peripheral pixel in the p1 pixel.
- the P block side may filter only the p0 pixel at the boundary and the two pixels facing the boundary may improve the subjective image quality according to the image. That is, it is advantageous to implement a case where the P block and the Q block define different numbers and positions of pixels to be subjected to deblocking filtering based on a predetermined criterion.
- deblocking filtering is performed on different numbers of P block pixels and Q block pixels as shown in Equation 4.
- the predetermined criterion (the predetermined criterion for determining the number and position of pixels to be filtered for each block) may be defined in various ways depending on the application and the application. For example, the same method as in Equation 5 for measuring the degree of linearity of the pixel may be used.
- the linearity of the pixels ie, d p0 and d q0
- a predetermined threshold (beta) is measured.
- a predetermined threshold (beta)
- the condition of (d p0 ⁇ beta) fulfilled for the pixels p 1 performs filtering, and otherwise does not perform the filtering on the pixel p 1.
- filtering is performed on the q 1 pixel, otherwise, the filtering is not performed on the q 1 pixel.
- the threshold beta may be assumed to be predetermined in advance in the image encoding apparatus and the image decoding apparatus, and may be obtained by downloading the threshold value from the quantization degree or the user (that is, the image encoding apparatus side or the image decoding apparatus side).
- a value may be used, or a predetermined value or a value determined by the degree of quantization may be set, and a user may make a slight offset adjustment as necessary (the offset value may be determined by the image decoding apparatus on the image encoding apparatus side). It may be set in a variety of ways, such as a method for determining the value).
- the offset value may be transmitted to the image decoding apparatus using the deblocking filter 180 or a separate offset value transmitter (not shown). As shown in FIG.
- the subblock depth direction based on the block boundary refers to p 0- > p 1- > p 2 in the P block based on the block boundary located between p 0 and q 0 .
- the Q block means the direction of q 0- > q 1- > q 2 .
- 5 is a diagram illustrating an example of determining linearity in units of blocks.
- the determination process based on the predetermined criterion described above may be performed in units of pixels as shown in Equation 5, and according to an application and an application, block units (or subblocks in a frame as shown in Equation 6). The same determination result may be collectively applied to all pixel lines of the corresponding block.
- Equation (6) uses 2nd and 5th as representative values of the block, as shown in FIG. 2, for example, when a group of 8 pixel lines constitutes one block. . That is, the representative pixel lines may be selected in the subblocks, and the linearity of each subblock unit may be obtained using the linearity of the representative pixel lines.
- the non-linearity of the block P can be expected to be based on the characteristics of the image, so that only one pixel is filtered and the block Q is Since the linearity of the image is very linear, such linearity must be maintained even after the deblocking filtering, so it may be desirable to filter two pixels.
- the block P and the block by applying delta values (delta for the first pixel, delta / 2 for the second pixel) to each other according to the position of each pixel according to a predetermined criterion as shown in FIG. 4 and Equation (7).
- delta values delta for the first pixel, delta / 2 for the second pixel
- the delta value may be asymmetric with respect to the boundary surface.
- the delta value for the first pixel p 0 of the block P may be adjusted to minimize the difference between the pixels P 0
- delta / 2 may be applied to the first pixel of the block P.
- the pixel shift value may be fixed according to the number and / or position of the pixels to which the deblocking filtering is applied (for example, the pixel at the first position is delta and the pixel at the second position is delta / 2).
- the exemplary embodiment of the present invention illustrates that at most two pixels are filtered
- those skilled in the art can easily filter one or more (V) pixels by the method mentioned in the exemplary embodiment of the present invention. I can reason about it.
- the pixel shift value is variably used according to the number and / or position of the pixels to which the deblocking filtering is applied (when the V pixels are filtered, the first pixel is delta, the second pixel is delta / 2, ..., The pixel at the V-th position may be delta / V).
- the pixel delta value may be used by multiplying the same delta value by a weight determined according to each position of the V pixels.
- the weight may be assumed to be predetermined in advance in the image encoding apparatus and the image decoding apparatus, and may be sent by the user (ie, the image encoding apparatus).
- deblocking filtering may be performed by calculating a new delta according to the number and / or position of each pixel.
- the linearity determination criteria such as Equation 5 or Equation 6 may be applied to the predetermined determination criterion for determining the number and / or position of the aforementioned pixels, but in some cases (for example, If the size is very large) additional criteria such as Equation 9 may apply.
- FIG. 6 is a diagram illustrating an example of determining additional linearity in units of blocks.
- Equation 9 Although the criterion in Equation 9 is applied for each pixel line, it may be uniformly applied in units of blocks as shown in FIG. 6 using Equation 10. This is to simplify the filtering operation.
- a plurality of filters having different characteristics e.g., number and / or location of filtering participating pixels, filtering intensity, etc.
- a predetermined criterion e.g., pixel unit, block.
- Different filters can be applied for each unit). That is, deblocking filtering may be performed by defining one filter as shown in ⁇ Equation 1>, calculating delta values, and using different pixel shift values, or as shown in ⁇ Equation 1> and ⁇ Equation 11>.
- One or more filters having different characteristics may be provided, and different filters may be applied in predetermined units according to predetermined criteria.
- deblocking filtering can be easily implemented by using the same filter coefficient for the luminance signal Luma value and the chroma signal value.
- the predetermined criterion may be defined according to the characteristics of the filter. That is, linearity as shown in Equation 5 may be a criterion for determination, and in addition, a criterion as shown in Equation 9 may be added. Or a whole new set of criteria may be defined.
- the predetermined criterion may be the relative block size of the P and Q blocks, or may mean linearity described later.
- the filtering method may be different based on the size or shape of the subblock (rectangle / square; horizontally long rectangle, vertically long rectangle, etc.).
- the deblocking filter 180 may adaptively determine a target pixel to be used for filtering based on prediction information (eg, intra prediction information or inter prediction information).
- the intra prediction information or the inter prediction information may mean the size or shape of the sub block.
- the prediction information in the case of inter prediction
- FIG. 8 when the number of pixels to be filtered is different from each other in the block P and the block Q, different filtering methods may be used for the block P and the block Q.
- FIG. That is, in this case, the number of pixels to be filtered may be determined based on the size of the intra prediction block included in the intra prediction information. As shown in FIG.
- the number of pixels to be filtered may be four blocks P and six blocks Q.
- the number of pixels to be filtered may be determined based on the size of the intra prediction block included in the intra prediction information. That is, in FIG. 8, the number of pixels for which filtering is performed may include two blocks P and four blocks Q.
- the deblocking filter 180 may determine the position (ie, the filtering direction) of the target pixel based on the direction of the intra prediction mode included in the intra prediction information.
- FIG. 7 is a block diagram schematically illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
- the image decoding apparatus 700 may be a personal computer (PC), a notebook computer, a TV, a personal digital assistant (PDA).
- PC personal computer
- PDA personal digital assistant
- PMP Portable Multimedia Player
- PMP Portable Multimedia Player
- PSP PlayStation Portable
- Wireless Terminal Wireless Terminal
- Digital TV etc.
- the present invention refers to various devices including a communication device such as a communication modem, a memory for storing various programs and data for decoding an image, a microprocessor for executing and operating a program, and the like.
- the image decoding apparatus 700 includes a bitstream decoder 710, an inverse scanner 720, an inverse quantization and inverse transform unit 730, a predictor 740, an adder 750, and the like. And a deblocking filter 760.
- some components may be selectively omitted depending on the implementation manner, and when the inverse scanner 720 is omitted, the functions may be integrated into the bitstream decoder 710 to be implemented.
- the bitstream decoder 710 decodes the encoded data to restore the transformed and quantized residual block. That is, the bitstream decoder 710 restores the quantization transform coefficient sequence by decoding the encoded data.
- the function of the scanner 140 is integrated into the bitstream generator 150. Since the inverse scanner 720 is also omitted in the image encoding apparatus 700 and its function is integrated and implemented in the bitstream decoder 710, the bitstream decoder 710 inversely scans the reconstructed quantized transform coefficient sequence and transforms it. And reconstruct the quantized residual block.
- the bitstream decoder 710 may decode or extract encoded data to decode or extract not only residual and quantized residual blocks but also information necessary for decoding.
- the information necessary for decoding refers to information necessary for decoding the coded bit string in the encoded data. For example, information about a block type, information about an intra prediction mode when the prediction mode is an intra prediction mode, and an inter prediction mode In the prediction mode, information on a motion vector, information on a transform and quantization type, and the like may be included, but various other information may be included.
- the information about the block type may be transferred to the inverse quantization and inverse transform unit 730 and the prediction unit 740, and the information about the transform and quantization type may be transferred to the inverse quantization and inverse transform unit 730.
- Information necessary for prediction such as information about a mode and information about a motion vector, may be transmitted to the predictor 740.
- the inverse scanner 720 restores and transfers the quantization transform coefficient sequence from the bitstream decoder 710, the inverse scanner 720 restores the transformed and quantized residual blocks by inverse scanning of the quantization transform coefficient sequence.
- the inverse scanner 720 inversely scans the extracted quantization coefficient sequence by various inverse scanning methods such as inverse zigzag scan to generate a residual block having quantization coefficients.
- the inverse scanning method obtains information on the size of the transform from the bitstream decoder 710 and restores the residual block using the corresponding inverse scanning method.
- the inverse scanner 720 is omitted in the image encoding apparatus 700 so that the function may be omitted. It may be integrated into the bitstream decoder 710.
- the bitstream decoder 710 or the inverse scanner 720 may perform transform and quantization according to the transform and quantization type identified by the information on the transform and quantization type, which are recovered by decoding the encoded data in the bitstream decoder 710. Backscan the quantized residual block.
- the inverse scanning method performed by the inverse scanner 720 according to the transform and quantization type is performed by the method in which the scanner 140 in the image encoding apparatus 100 scans the quantized transform coefficients of the transformed and quantized residual block. Since it is the same as or similar to that described, a detailed description of the method of reverse scanning is omitted.
- the inverse quantization and inverse transform unit 730 inversely quantizes and inverse transforms the transformed and quantized residual block to be restored to restore the residual block.
- the inverse quantization and inverse transform unit 730 performs inverse quantization and inverse transformation on the residual blocks that are transformed and quantized according to the transform and quantization type identified by the information on the transform and quantization type transmitted from the bitstream decoder 710. Perform.
- the method of inverse quantization and inverse transformation by the inverse quantization and inverse transformation unit 730 according to the transformation and quantization type according to the transformation and quantization type is performed by the transformation and quantization unit 730 of the image encoding apparatus 100. Since the process of transforming and quantizing according to the same or similar to performing the inverse, detailed description of the method of inverse quantization and inverse transformation will be omitted.
- the prediction unit 740 generates a prediction block for the current block.
- the prediction unit 740 predicts the current block using information on the block type transferred from the bitstream decoder 710 and information necessary for prediction. That is, the prediction unit 740 determines the size and shape of the current block according to the block type identified by the information on the block type, and uses the intra prediction mode or the motion vector identified by the information required for the prediction. Predictive to generate a prediction block. In this case, the prediction unit 740 may generate the prediction block by dividing the current block into subblocks and combining the prediction subblocks generated by predicting the divided subblocks.
- the adder 750 reconstructs the current block by adding the residual block reconstructed by the inverse quantization and inverse transform unit 730 and the prediction block generated by the predictor 740.
- the deblocking filter 760 filters the current block reconstructed by the adder 750, and the reconstructed filtered current block is accumulated in units of pictures and stored in a memory (not shown) as a reference picture to be predicted by the predictor 740. Is used to predict the next block or next picture in.
- the deblocking filter 760 filters the current block reconstructed by the adder 750.
- the method for filtering the current block in which the deblocking filter 760 is reconstructed performs the same or similar operation as that of the method for the deblocking filter 180 in the image encoding apparatus 100 to filter the current block. Omit.
- the image decoding apparatus receives an offset value receiver (not shown) when the image encoding apparatus transmits an offset value for the corresponding parameter in a bitstream. It may be configured to include).
- the deblocking filter 760 can perform deblocking filtering using the offset value received here.
- the offset value receiver (not shown) may be configured as a unique module, but may be configured by integrating the function of the offset value receiver (not shown) into the bitstream decoder 710.
- the image encoding / decoding apparatus connects the bitstream (encoded data) output terminal of the image encoding apparatus 100 of FIG. 1 by connecting the bitstream input terminal of the image decoding apparatus 700 of FIG. 7. Can be implemented.
- the image encoding / decoding apparatus includes a prediction unit 110 that predicts a current block to generate a prediction block, a subtraction unit 120 that subtracts the current block and the prediction block to generate a residual block, and A transform and quantization type selected according to a block type of a block, a transform and quantization unit 130 for transforming and quantizing a residual block according to the determined transform and quantization type, and an encoded image by encoding the transformed and quantized residual block
- the bitstream generator 150 generating data, the inverse quantization and inverse transform unit 160 which inversely quantizes and inverse transforms the transformed and quantized residual blocks to restore the residual blocks, and adds the prediction block to the reconstructed residual blocks
- a video encoding apparatus 100 including an adder 170 for generating a signal and a deblocking filter 180 for performing filtering on a reconstruction block (the image according to an embodiment of the present invention).
- An image encoder in an encoding / decoding apparatus a bitstream decoder 710 for decoding encoded data to reconstruct transformed and quantized residual blocks, and inverse quantization of transformed and quantized residual blocks according to transform and quantization types. And an inverse quantization and inverse transform unit 730 for reconstructing the residual block by inverse transform, a predictor 740 for predicting the current block to generate a prediction block, and an addition for reconstructing the current block by adding the reconstructed residual block and the prediction block.
- a video decoding apparatus 700 including a deblocking filter 760 for filtering a boundary region between a reconstructed current block and an adjacent block (in an image encoding / decoding apparatus according to an embodiment of the present invention). An image decoder).
- a method of encoding an image may include generating a prediction block by predicting a current block, subtracting the prediction block from the current block, generating a residual block, and encoding and transforming the residual block.
- the deblocking filtering step of filtering using pixel shift values different according to positions is included.
- the method may further include an offset value transmitting step of transmitting an offset value for the parameter.
- the deblocking filtering step may include performing filtering of the first block that is filtered according to a predetermined criterion for the first block and the second block participating in the filtering for filtering between subblocks in a frame including one or more restored current blocks.
- the filtering may be performed such that the number of pixels and the number of pixels of the second block are different from each other.
- the video encoding step corresponds to the function of the video encoding unit and the deblocking filtering step corresponds to the function of the deblocking filter 180, detailed description thereof will be omitted.
- a method of decoding an image includes: a bitstream decoding step of generating a quantized frequency transform block from a bitstream; An inverse quantization and inverse transformation step of restoring a residual block by inverse quantization and inverse transformation of the quantized frequency transform block; A prediction step of generating a prediction block of the current block to be reconstructed; An addition step of reconstructing a current block by adding the reconstructed residual block and the generated prediction block; And a number of pixels and a second number of pixels of the first block filtered according to a predetermined criterion for the first block and the second block participating in the filtering for filtering between sub-blocks in a frame including one or more restored current blocks.
- a deblocking filtering step of filtering so that the number of pixels of the block is different from each other is included.
- the method may further include an offset value receiving step of receiving an offset value for the parameter.
- bitstream decoding step corresponds to the operation of the bitstream decoding unit 710
- the inverse quantization and inverse transform steps correspond to the operations of the inverse quantization and inverse transform unit 730
- the prediction step is the operation of the prediction unit 750.
- the addition step corresponds to the operation of the adder 740
- the deblocking filtering step corresponds to the function of the deblocking filter 760, and thus a detailed description thereof will be omitted.
- An image encoding / decoding method may be realized by combining the image encoding method according to an embodiment of the present invention and the image decoding method according to an embodiment of the present invention.
- a prediction block is generated by predicting a current block
- a residual block is generated by subtracting the prediction block from the current block
- the residual block is transformed and quantized into a bitstream.
- deconstruct the residual block by inverse quantization and inverse transformation of the transformed and quantized residual block, add the prediction block to the reconstructed residual block, reconstruct the current block, and include a frame within at least one reconstructed current block.
- the first block and the second block participating in the filtering are filtered so that the number of pixels of the first block and the number of pixels of the second block that are filtered according to a predetermined criterion are different from each other.
- Filtering by using a pixel shift value different according to the position of a pixel based on a block boundary that is a boundary between a block and the second block.
- Reconstruct the current block by adding the predicted prediction blocks and filter the first block and the second block participating in the filtering according to a predetermined criterion for filtering between subblocks within a frame including one or more reconstructed current blocks.
- an image decoding step of filtering the number of pixels of the first block to be different from the number of pixels of the second block.
- the boundary of the block to be filtered is illustrated as the boundary between the left block and the right block.
- the boundary between the upper block and the lower block may be filtered in the same manner.
- Some or all of the components constituting the embodiments of the present invention may be selectively combined to be implemented as a computer program having a program module that performs some or all of the functions combined in one or a plurality of hardware. Codes and code segments constituting the computer program may be easily inferred by those skilled in the art. Such a computer program may be stored in a computer readable storage medium and read and executed by a computer, thereby implementing embodiments of the present invention.
- the storage medium of the computer program may include a magnetic recording medium, an optical recording medium, a carrier wave medium, and the like.
- the present invention improves the encoding / decoding efficiency by defining the number and / or position of pixels subject to deblocking filtering, or the deblocking filtering method in the P block and the Q block in the same or different manner according to a predetermined criterion. It is very useful invention because it is effective.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명의 일 실시예에 따르면, 영상을 부호화/복호화하는 장치에 있어서, 소정의 기준에 따라, 디블록킹 필터링의 대상이 되는 화소의 개수 및/또는 위치를 P 블록과 Q 블록에 동일하게 또는 서로 다르게 정의하는 것을 특징으로 하는 영상 부호화/복호화 장치를 제공한다.
Description
본 발명은 연성 디블록킹 필터링을 이용한 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 영상을 부호화하고 복호화하는데 있어서, 소정의 기준에 따라, 디블록킹 필터링의 대상이 되는 화소의 개수 및/또는 위치, 또는 디블로킹 필터링 방법을 P 블록과 Q 블록에 동일하게 또는 서로 다르게 정의함으로써 부호화/복호화 효율을 향상시키는 연성 디블록킹 필터링을 이용한 부호화/복호화 방법 및 장치에 관한 것이다.
MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)은 기존의 MPEG-4 Part 2와 H.263 표준안보다 더욱 우수하고 뛰어난 비디오 압축 기술을 개발하였다. 이 새로운 표준안은 H.264/AVC(Advanced video Coding)이라 호칭하고 MPEG-4 Part 10 AVC와 ITU-T Recommendation H.264로 공동 발표되었다.
H.264/AVC 표준안에서는 다양한 형태의 서브 블록을 갖는 블록 단위로 인트라/인터 예측과정을 수행하여 잔여신호를 생성하며, 생성된 잔여신호에 대해 변환 및 양자화 과정을 거쳐 더욱 비트수를 줄여 부호화를 수행하게 된다. 종래의 매크로블록을 통한 부호화를 부호화기 측면에서 살펴 보면, 입력 영상을 16×16 매크로블록 단위로 나누고, 각 매크로블록은 인터/인트라 모드에 따라 가질 수 있는 서브 매크로블록의 크기로 예측을 수행하여 잔여 블록을 생성하며, 생성된 잔여 블록은 4×4 혹은 8×8 단위의 이산 코사인 트랜스폼 (DCT: Discrete Cosine Transform)을 기반으로 설계된 정수 트랜스폼(Integer Transform)을 적용하여 주파수 계수를 생성하고, 주파수 계수를 다시 주어진 양자화 계수(QP: Quantization Parameter)에 따라 주파수 계수를 양자화한다. 그리고 트랜스폼 및 양자화 과정으로 인하여 발생하는 블록화 현상을 디블록킹 필터링을 통해 줄여줄 수 있다.
이러한 블록화 현상을 제거하기 위하여 더욱 효율적인 디블록킹 필터링을 함으로써 영상의 주관적/객관적 성능을 향상하는 알고리즘이 필요하다.
전술한 문제점을 해결하기 위해 본 발명의 실시예는 소정의 기준에 따라, 디블록킹 필터링의 대상이 되는 화소의 개수 및/또는 위치, 또는 디블로킹 필터링 방법을 P 블록과 Q 블록에 동일하게 또는 서로 다르게 정의함으로써 부호화/복호화 효율을 향상시킨다.
본 발명의 일 실시예에 따르면, 영상을 부호화/복호화하는 장치에 있어서, 현재블록을 예측하여 예측블록을 생성하고 상기 현재블록에서 상기 예측블록을 감산하여 잔차블록을 생성하고 상기 잔차블록을 변환 및 양자화하여 비트스트림을 발생하고 상기 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원하고 상기 복원된 잔차블록에 상기 예측블록을 가산하여 현재블록을 복원하고, 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하거나 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 영상부호화기; 및 상기 비트스트림으로부터 양자화된 주파수변환 블록을 복원하고 상기 복원된 양자화된 주파수변환블록을 역 양자화 및 역변환하여 잔차블록을 복원하고 복원할 현재 블록의 예측블록을 생성하고 상기 복원되는 잔차 블록과 상기 생성된 예측 블록을 가산하여 현재 블록을 복원하고 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하는 영상복호화기를 포함하는 것을 특징으로 하는 영상 부호화/복호화 장치를 제공한다.
본 발명의 일 실시예에 따르면, 영상을 부호화하는 장치에 있어서, 현재블록을 예측하여 예측블록을 생성하고 상기 현재블록에서 상기 예측블록을 감산하여 잔차블록을 생성하고 상기 잔차블록을 변환 및 양자화하여 부호화하고 상기 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원하고 상기 복원된 잔차블록에 상기 예측블록을 가산하여 현재블록을 복원하는 예측부호화부; 및 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하는 디블록킹 필터를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
상기 소정의 판단기준은, 상기 제1블록과 상기 제2블록의 경계인 블록경계를 기준으로 한 서브블록 깊이 방향의 화소줄단위의 선형성일 수 있다.
상기 소정의 판단기준은,
상기 제1블록과 상기 제2블록의 경계인 블록경계를 기준으로 한 서브블록 깊이 방향의 서브블록 단위의 선형성일 수 있다.
선형적인 것으로 판정된 서브블록에서 필터링되는 화소의 수는 비선형인 것으로 판정된 서브블록의 필터링되는 화소의 수보다 클 수 있다.
상기 소정의 판단기준은,
상기 서브블록 내에서 대표 화소줄을 선정하고 상기 대표 화소줄에 대한 각각의 선형성을 이용하여 상기 서브블록 단위의 선형성을 구할 수 있다.
상기 제1블록 및 제2블록에 대하여 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링할 수 있다.
상기 영상 부호화 장치는, 디블록킹 필터링에 필요한 필터링 파라미터가 소정의 기설정 값으로 설정된 경우, 상기 파라미터에 대한 오프셋값을 전송하는 오프셋값 전송부를 추가로 포함할 수 있다.
상기 디블록킹 필터는, 상기 예측에 사용된 예측정보에 근거하여 필터링에 이용할 대상 화소를 적응적으로 결정할 수 있다.
상기 디블록킹 필터는, 상기 예측정보에 포함된 인트라 예측블록 크기에 근거하여 상기 대상 화소의 개수를 결정할 수 있다.
상기 디블록킹 필터는, 상기 예측이 인트라 예측인 경우 상기 예측정보에 포함된 인트라 예측모드에 근거하여 상기 대상 화소의 필터링 방향을 결정할 수 있다.
본 발명의 일 실시예에 따르면, 영상을 부호화하는 장치에 있어서, 현재블록을 예측하여 예측블록을 생성하고 상기 현재블록에서 상기 예측블록을 감산하여 잔차블록을 생성하고 상기 잔차블록을 변환 및 양자화하여 부호화하고 상기 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원하고 상기 복원된 잔차블록에 상기 예측블록을 가산하여 현재블록을 복원하는 영상부호화부; 및 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 디블록킹 필터를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
상기 제1블록과 상기 제2블록의 경계인 블록경계의 첫번째 화소의 화소변이 값을 이용하여 상기 첫번째 화소의 안쪽에 위치하는 화소의 화소변이 값을 구할 수 있다.
상기 안쪽에 위치하는 화소의 화소변이 값은 상기 첫번째 화소의 화소변이 값을 상기 블록경계 기준의 위치값으로 나눈 값일 수 있다.
상기 제1블록과 상기 제2블록의 경계인 블록경계의 첫번째 화소의 화소변이 값을 구하는 필터계수와 상기 안쪽에 위치하는 화소의 화소변이 값을 구하는 필터계수는 서로 다른 것일 수 있다.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 장치에 있어서, 비트스트림으로부터 양자화된 주파수변환 블록을 생성하는 비트스트림 복호부; 상기 양자화된 주파수변환블록을 역 양자화 및 역변환하여 잔차블록을 복원하는 역양자화 및 역변환부; 복원할 현재 블록의 예측블록을 생성하는 예측부; 상기 복원되는 잔차 블록과 상기 생성된 예측 블록을 가산하여 현재 블록을 복원하는 가산부; 및 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하는 디블록킹 필터를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 장치에 있어서, 비트스트림으로부터 양자화된 주파수변환 블록을 생성하는 비트스트림 복호부; 상기 양자화된 주파수변환블록을 역 양자화 및 역변환하여 잔차블록을 복원하는 역양자화 및 역변환부; 복원할 현재 블록의 예측블록을 생성하는 예측부; 상기 복원되는 잔차 블록과 상기 생성된 예측 블록을 가산하여 현재 블록을 복원하는 가산부; 및 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 디블록킹 필터를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
본 발명의 일 실시예에 따르면, 영상을 부호화/복호화하는 방법에 있어서, 현재블록을 예측하여 예측블록을 생성하고 상기 현재블록에서 상기 예측블록을 감산하여 잔차블록을 생성하고 상기 잔차블록을 변환 및 양자화하여 비트스트림을 발생하고 상기 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원하고 상기 복원된 잔차블록에 상기 예측블록을 가산하여 현재블록을 복원하고, 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하거나 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 영상부호화단계; 및 상기 비트스트림으로부터 양자화된 주파수변환 블록을 복원하고 상기 복원된 양자화된 주파수변환블록을 역 양자화 및 역변환하여 잔차블록을 복원하고 복원할 현재 블록의 예측블록을 생성하고 상기 복원되는 잔차 블록과 상기 생성된 예측 블록을 가산하여 현재 블록을 복원하고 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하는 영상복호화단계를 포함하는 것을 특징으로 하는 영상 부호화/복호화 방법을 제공한다.
본 발명의 일 실시예에 따르면, 영상을 부호화하는 방법에 있어서, 현재블록을 예측하여 예측블록을 생성하고 상기 현재블록에서 상기 예측블록을 감산하여 잔차블록을 생성하고 상기 잔차블록을 변환 및 양자화하여 부호화하고 상기 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원하고 상기 복원된 잔차블록에 상기 예측블록을 가산하여 현재블록을 복원하는 예측부호화단계; 및 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하는 디블록킹 필터링 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
본 발명의 일 실시예에 따르면, 영상을 부호화하는 방법에 있어서, 현재블록을 예측하여 예측블록을 생성하고 상기 현재블록에서 상기 예측블록을 감산하여 잔차블록을 생성하고 상기 잔차블록을 변환 및 양자화하여 부호화하고 상기 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원하고 상기 복원된 잔차블록에 상기 예측블록을 가산하여 현재블록을 복원하는 영상부호화단계; 및 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 디블록킹 필터링 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 방법에 있어서, 비트스트림으로부터 양자화된 주파수변환 블록을 생성하는 비트스트림 복호단계; 상기 양자화된 주파수변환블록을 역 양자화 및 역변환하여 잔차블록을 복원하는 역양자화 및 역변환단계; 복원할 현재 블록의 예측블록을 생성하는 예측단계; 상기 복원되는 잔차 블록과 상기 생성된 예측 블록을 가산하여 현재 블록을 복원하는 가산단계; 및 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하는 디블록킹 필터링 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 방법에 있어서, 비트스트림으로부터 양자화된 주파수변환 블록을 생성하는 비트스트림 복호단계; 상기 양자화된 주파수변환블록을 역 양자화 및 역변환하여 잔차블록을 복원하는 역양자화 및 역변환단계; 복원할 현재 블록의 예측블록을 생성하는 예측단계; 상기 복원되는 잔차 블록과 상기 생성된 예측 블록을 가산하여 현재 블록을 복원하는 가산단계; 및 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 디블록킹 필터링 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
본 발명에 의하면, 영상 부호화/복호화 장치에서 소정의 기준에 따라, 디블록킹 필터링의 대상이 되는 화소의 개수 및/또는 위치, 또는 디블로킹 필터링 방법 등을 P 블록과 Q 블록에 동일하게 또는 서로 다르게 정의함으로써 부호화/복호화 효율을 향상시키는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
도 2는 디블록킹 필터링 대상이 되는 블록 P와 블록 Q를 예시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 디블록킹 필터링 구현예를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 디블록킹 필터링 구현예를 설명하기 위한 도면이다.
도 5는 블록 단위의 선형성 결정 예를 도시한 도면이다.
도 6은 블록 단위의 추가적인 선형성 결정 예를 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
도 8은 필터링을 적용할 대상 화소를 결정하는 과정을 예시하는 도면이다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 영상을 부호화하는 장치로서, 예측부(Predictor, 110), 감산부(Subtracter, 120), 변환 및 양자화부(Transformer and Quantizer, 130), 스캐너(Scanner, 140), 비트스트림 생성부(Bitstream Generator, 150), 역양자화 및 역변환부(Inverse Quantizer and Transformer, 160), 가산부(Adder, 170) 및 디블록킹 필터(Deblocking Filter, 180)를 포함하여 구성될 수 있다. 이러한 영상 부호화 장치(100)는 개인용 컴퓨터(PC: Personal Computer), TV, 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 단말기(Wireless Terminal), 디지털 TV 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
부호화하고자 하는 입력 영상은 블록 단위로 입력될 수 있는데, 본 발명의 일 실시예에서, 블록의 형태는 M×N일 수 있으며, 여기서, M과 N은 2n(단, n은 1 이상의 정수임)의 값을 가지는 자연수일 수 있는데, 특히 M과 N은 각각 16보다 클 수 있으며 M과 N은 서로 다른 정수 혹은 동일한 정수일 수 있다. 또한, 부호화할 프레임마다 다른 형태의 블록을 이용할 수 있으며, 이에 대한 정보인 블록 타입에 대한 정보를 각 프레임마다 부호화하여, 영상 복호화 장치에서 부호화된 데이터를 복호화할 때 복호화할 프레임의 블록의 형태를 알 수 있도록 할 수 있다. 어떠한 형태의 블록을 이용할지에 대한 결정은 현재 프레임을 다양한 형태의 블록으로 부호화하여 최적의 효율을 내는 블록의 형태를 선택하거나, 프레임의 특성을 분석하여 분석된 특성에 따라 블록의 형태를 선택할 수 있다. 예를 들면, 프레임의 영상이 가로 방향의 상관성이 높으면 가로 방향으로 긴 형태의 블록이 선택될 수 있고, 세로 방향의 상관성이 높으면 세로 방향으로 긴 형태의 블록이 선택될 수 있다.
이를 위해, 영상 부호화 장치(100)는 블록 타입을 결정하고 블록 타입에 대한 정보를 부호화하여 부호화 데이터에 포함시키는 블록 타입 결정기(미도시)를 추가로 포함하여 구성될 수 있다.
한편 본 발명의 예측부호화부는 예측부(110), 감산부(120), 변환 및 양자화부(130), 스캐너(140), 비트스트림 생성부(150), 역양자화 및 역변환부(160) 및 가산부(170)를 포함하여 구성될 수 있다.
예측부(110)는 입력 영상에서 현재 부호화하고자 하는 블록(이하에서는 '현재 블록(Current Block)'이라 칭함)을 예측하여 예측 블록(Predicted Block)을 생성한다. 즉, 예측부(110)는 인트라 예측(Intra Prediction) 또는 인터 예측(Inter Prediction) 등을 이용하여 입력 영상의 현재 블록을 예측함으로써 예측 화소값(Predicted Pixel Value)을 각 화소의 화소값으로 가지는 예측 블록을 생성한다.
이때, 예측 화소값을 최적화하기 위해, 필요에 따라 블록은 더 작은 형태의 블록으로 나뉘어져 예측될 수 있다. 즉, 블록으로부터 분할된 서브블록(Subblock) 단위로 예측 블록이 생성될 수 있다. 여기서, 블록은 전술한 바와 같이 정사각형 혹은 직사각형 형태를 가지는 MxN 형태의 블록일 수 있으며, 서브블록은 현재 블록의 크기를 넘어서지 않는 범위 내에서 가로와 세로 각각 2p, 2q 크기를 가지는 블록일 수 있다(단, p와 q는 같은 값이거나 서로 다른 값일 수 있다).
감산부(120)는 현재 블록에서 예측 블록을 감산하여 잔여 블록(Residual Block)을 생성할 수 있다. 즉, 감산부(120)는 현재 블록의 각 화소의 원 화소값 (Original Pixel Value)과 예측 블록의 각 화소의 예측 화소값의 차이값을 계산하여 잔여 신호(Residual Signal)를 가지는 잔여 블록을 생성한다.
변환 및 양자화부(130)는 현재 블록의 블록 타입에 따라 변환 및 양자화 타입을 결정하고, 결정된 변환 및 양자화 타입에 따라 잔여 블록을 변환 및 양자화할 수 있다.
이때, 현재 블록, 예측 블록 및 잔여 블록의 크기와 변환 및 양자화의 대상이 되는 변환 블록의 크기는 다를 수 있다. 변환 및 양자화의 대상이 되는 변환 블록의 크기는 잔여 블록의 크기를 초과하지 않는 범위 내에서 선택될 수 있다. 또 다른 경우에는 잔여 블록의 크기를 초과하는 변환 및 양자화의 대상이 되는 변환 블록의 크기를 선택할 수도 있다. 여기서 변환 블록이라 함은 변환의 단위가 되는 블록을 의미하고 변환계수 또는 화소값들로 이루어진다. 예컨대 RxS 크기의 변환을 이용하여 부호화된 RxS 변환계수블록 또는 RxS 크기의 역변환을 이용하여 복호된 RxS 화소블록을 의미한다.
본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 4x4, 8x4, 4x8, 8x8, 16x8, 8x16, 16x16 등 이용가능한 복수의 변환들을 사용하여 잔여 블록을 변환한 후 그 중 가장 부호화 효율이 높은 변환을 최종적으로 선택할 수 있다.
예컨대, 인트라 예측 또는 인터 예측이 16x16 블록 단위로 수행되는 경우, 현재 블록, 예측 블록 및 잔차 블록은 모두 16x16 크기를 가질 수 있다. 16x16 잔차 블록을 입력받은 변환 및 양자화부(130)는 16x16 잔차 블록을 두 개의 16x8 서브블록으로 나눈 후 16x8 변환을 수행하여 두 개의 16x8 변환계수 블록을 출력할 수 있다.
변환 및 양자화부(130)는 잔여 블록의 잔여 신호를 주파수 영역(Frequency Domain)으로 변환하여 변환 계수(Transform Coefficient)를 가지는 잔여 블록을 생성하고 양자화하여 양자화된 변환 계수를 가지는 변환 및 양자화된 잔여 블록(Transformed and Quantized Residual Block)을 생성한다.
여기서, 변환 방식으로는 하다마드 변환(Hadamard Transform), 이산 코사인 트랜스폼 기반의 정수 변환(Discrete Cosine Transform Based Integer Transform, 이하 '정수 변환'이라고 약칭함) 등과 같은 공간 영역의 영상 신호를 주파수 영역으로 변환하는 기법이 이용될 수 있으며, 양자화 방식으로는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization, 이하 'DZUTQ'라 칭함) 또는 양자화 가중치 매트릭스(Quantization Weighted Matrix) 등과 같은 다양한 양자화 기법이 이용될 수 있다.
스캐너(140)는 변환 및 양자화부(130)에 의해 변환 및 양자화된 잔여 블록의 양자화 변환 계수들을 스캐닝(Scanning)하여 양자화 변환 계수열을 생성한다. 이때, 스캐닝 방식은 변환 기법, 양자화 기법, 블록(현재 블록 또는 서브블록)의 특성을 고려하며, 스캐닝 순서는 스캐닝한 양자화 변환 계수열이 최소의 길이가 되도록 결정될 수 있다. 도 1에서는 스캐너(140)가 비트스트림 생성부(150)와 독립적으로 구현되는 것으로 도시하고 설명하지만, 스캐너(140)는 생략되어 그 기능이 비트스트림 생성부(150)에 통합될 수 있다.
비트스트림 생성부(150)는 변환 및 양자화된 주파수계수 블록을 부호화하여 부호화 데이터를 생성한다. 즉, 비트스트림 생성부(150)는 변환 및 양자화부(130)에 의해 변환 및 양자화된 주파수계수 블록의 계수들을 스캔하여 생성되는 양자화 변환 계수열을 부호화하여 부호화 데이터를 생성하거나 스캐너(140)에 의해 스캔되어 생성되는 양자화 변환 계수열을 부호화하여 부호화 데이터를 생성한다.
이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 이용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술이 사용될 수도 있을 것이다. 또한, 비트스트림 생성부(150)는 양자화 변환 계수열을 부호화한 비트열뿐만 아니라 부호화된 비트열을 복호화하는 데 필요한 다양한 정보들을 부호화 데이터에 포함시킬 수 있다. 여기서, 부호화된 비트열을 복호화하는 데 필요한 다양한 정보들이란 블록 타입에 대한 정보, 예측 모드가 인트라 예측 모드인 경우에는 인트라 예측 모드에 대한 정보, 예측 모드가 인터 예측 모드인 경우에는 움직임 벡터에 대한 정보, 변환 및 양자화 타입에 대한 정보 등이 될 수 있지만, 이외의 다양한 정보들이 될 수도 있다.
역양자화 및 역변환부(160)는 변환 및 양자화부(130)에 의해 변환 및 양자화된 주파수계수 블록을 역양자화(Inverse Quantization)하고 역변환(Inverse Transform)하여 잔여 블록을 복원(Reconstruction)한다. 역양자화와 역변환은 변환 및 양자화부(130)가 수행한 변환 과정과 양자화 과정을 역으로 수행함으로써 이루어질 수 있다. 즉, 역양자화 및 역변환부(160)는 변환 및 양자화부(140)로부터 발생되어 전달되는 변환 및 양자화에 관한 정보(예를 들어, 변환 및 양자화 타입에 대한 정보)를 이용하여 변환 및 양자화부(130)가 변환 및 양자화한 방식을 역으로 수행하여 역양자화 및 역변환을 수행할 수 있다.
가산부(170)는 예측부(110)에 의해 예측된 예측 블록과 역양자화 및 역변환부(160)에 의해 역양자화 및 역변환된 잔여 블록을 가산하여 현재 블록을 복원한다.
디블록킹 필터(180)는 가산부(170)에 의해 복원되는 블록을 디블록킹 필터링한다. 한편, 디블록킹은 블록별로 그때 그때 할 수도 있고, 프레임단위로 모아 한꺼번에 할 수도 있는 등 다양한 구현이 가능하며, 본 발명의 디블록킹 필터링의 단위는 본 실시예에서의 설명에 한정되지 않는다.
디블록킹 필터(180)는 영상의 블록 단위의 예측, 변환 및 양자화에 의해 블록 경계 또는 변환 경계에서 발생하는 블록화 현상(Blocking Effects)을 감소시킨다. 한편, 디블록킹 필터(180)는 복원된 현재 블록과 함께 전송되는 변환 및 양자화 타입에 대한 정보를 이용하여 필터링할 수 있다. 이 변환 및 양자화 타입에 대한 정보는 디블록킹 필터(180)로 전달될 수 있다.
디블록킹 필터(180)는 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링, 및/또는, 제1블록과 제2블록의 경계인 블록경계를 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링 한다. 또한, 소정의 판단기준은, 제1블록과 제2블록의 경계인 블록경계를 기준으로 한 서브블록 깊이 방향의 화소줄단위의 선형성일 수도 있으며, 소정의 판단기준은, 제1블록과 제2블록의 경계인 블록경계를 기준으로 한 서브블록 깊이 방향의 서브블록 단위의 선형성일 수도 있다. 여기서 프레임의 의미는 디블록킹이 이루지는 단위를 의미하며 블록 또는 블록의 집합으로 프레임을 형성할 수 있다. 또한 서브블록의 의미는 디블록킹이 이루어지는 프레임 내에서 나누어진 소정의 블록 단위(예를 들어, 예측 단위 또는 변환-양자화의 단위)를 의미할 수 있다. 이하의 디블록킹 필터링의 설명 시에 블록이란 용어를 사용하는 경우에 이는 프레임 내의 서브블록을 의미할 수 있다. 이는 후술하는 영상 복호화(700) 장치에서의 디블록킹 필터(760)에서도 동일하다.
여기서 필터링 방법을 결정하는 소정의 판단기준은, P, Q블록의 상대적인 블록 크기일 수도 있고, 후술하는 선형성 등을 의미할 수도 있으며, 본 발명은 다양한 소정의 판단기준에 따라 블록단위로 또는 줄단위로 필터링 되는 화소의 개수 또는 위치를 변경할 수 있다.
전술한 블록화 현상을 없애기 위한 방법으로 디블록킹 필터(180)를 사용하는데, 블록(M×N 매크로블록일 수 있다.)과 블록 경계, 변환 및 양자화부(130)에서 결정된 블록 내의 RxS 변환 크기에 따라 변환과 변환의 경계, 블록과 변환의 경계에도 필터링을 수행할 수 있다. RxS의 형태는 정사각형 혹은 직사각형의 변환 형태를 모두 말하는 것이고, 블록화 현상은 변환 단위에 따라 변환 및 양자화를 수행함으로써 발생할 수 있으며, 이러한 블록화 현상을 없애기 위해 블록의 경계와 변환 경계에 모두 디블록킹 필터를 적용할 수 있다. 결과적으로 블록의 형태와 변환 형태에 따른 경계에 대해서 필터링을 적용할 수 있다. 여기서, 블록의 경계란 예측의 경계일 수 있으며, 변환경계 및/또는 예측경계에 대하여 디블로킹 필터링의 적용은 일부 조건의 충족시에 적용하도록 구현할 수 있다. 예를 들어, 양자화된 0이 아닌 변환계수가 없는 경우에는 디블로킹 필터링을 적용하지 않을 수 있다.
도 2는 디블록킹 필터링 대상이 되는 블록 P와 블록 Q를 예시한 도면이다.
도 2에 도시된 바와 같이, 디블록킹 필터(180)는 P 블록과 Q 블록 사이의 경계를 위한 디블록킹 필터링을 수행하는 경우, P 블록과 Q 블록에 포함된 화소줄(예를 들어, 도 2의 첫번째 화소줄 (p3,0 ~ q3,0)을 사용하여 설명한다. 이런 하나의 화소줄을 편의상 p3 ~ q3라 하자)에 대해 동일한 개수 및/또는 위치의 화소를 수정(본 실시 예 설명에서는 경계를 기준으로 2개의 화소를 수정)함으로써 디블록킹 필터링을 수행할 수 있다. 즉, 소정의 기준에 의한 판단과정 없이 디블록킹 필터링의 대상이 되는 화소의 개수 및/또는 위치를 P 블록과 Q 블록에서 동일하도록 정의할 수 있다. 여기서, P블록에 포함되는 화소는 p3, p2, p1, p0이고 Q블록에 포함되는 화소는 q3, q2, q1, q0이다.
도 3은 본 발명의 일 실시예에 따른 디블록킹 필터링 구현예를 설명하기 위한 도면이다. 도 3에서 실선은 필터링 전의 화소를 이은 것이고, 점선은 필터링 후의 화소를 이은 것이다.
디블록킹 필터(180)에서 수행되는 구체적인 필터링 동작은 다음과 같다.
디블록킹 필터(180)는 필터링 과정을 수행하기 위하여 <수학식 1>과 같이 △(이하 델타(delta)라 부름) 값을 연산하고, △와 △/2 처럼 P 블록과 Q 블록의 화소에 대한 화소변이값을 <수학식 2> 와 같이 적용함으로써 디블록킹 필터링을 수행할 수 있다.
[수학식 1]에서 Clip3(A,B,x) 함수는 x의 값이 B 보다 크면 B 값을 출력하고, x의 값이 A 보다 작으면 A 값을 출력하며, 그 이외의 경우는 x 값을 그대로 출력하는 클리핑(clipping) 함수이다. 또한 <수학식 1>에서 p0, q0, p1, q1은 필터링 전의 값이고 p0', q0', p1', q1'은 필터링 후의 값이다. <수학식 1>에서 필터링 계수로서 "(q0-p0)<<2"에 사용된 2는 (q0-p0)를 좌측으로 2bit 시프트한 것을 의미하므로 곱하기 4에 해당하며, "(q1-p1)"는 곱하기 1이므로 (4, 1)은 필터계수이다. 수학식 1의 제일 뒤의 "<<3"은 우측으로 3비트 시프트를 의미하므로 필터계수를 (4/8. 1/8)로 볼 수도 있다. 또한, "(q1-p1)+4"에서 더해진 값 4는 필터링된 결과치를 정수화시키기 위한 오프셋 값이다. 따라서, (4, 1, 4) 또는 (4/8, 1/8, 4/8)를 필터계수라고 볼 수 있다. 이 모든 필터계수는 필터구현의 하나의 실현예를 보여주는 것이므로, <수학식1> 에 기술된 것과 다른 필터계수를 사용하는 것도 가능하다. 이는 뒤에 나올 다른 필터들에 대하여도 마찬가지로 예시된 수학식에 한정되지 않고 다른 계수들을 사용한 것을 적용이 가능하다. 또한, 휘도신호(Luma) 값과 색차신호(Chroma) 값에 대하여, 동일한 필터계수를 사용하도록 함으로써 디블록킹 필터링을 간단하게 구현할 수 있다.
또한 tc 값은 큰 값을 채택하여 강한 필터링을 할 수도 있고, 작은 값을 택하여 약한 필터링을 할 수도 있으며, tc 값에 의해 화소변이 범위가 조절될 수 있다. tc 값과 같은 필터링 파라미터는 사용자에 의해 미리 정의될 수도 있고, 영상 부호화 장치에서 영상 복호화 장치로 전송될 수도 있으며, 사용자에 의하여 기설정 값이 설정된 후에 필요에 따라 영상 부호화 장치에서 영상 복호화 장치로 오프셋 값을 전송하여 조금씩 보정하는 방법으로 그 값을 설정할 수도 있다. 이러한 오프셋 값은 디블록킹 필터(180) 또는 별도의 오프셋값 전송부(도시하지 않음)를 이용하여 영상 복호화 장치로 전송할 수 도 있다.
<수학식 1> 에 의하여 결정된 델타 값을 이용하여 화소변이값을 구하고 이를 사용하여 <수학식 2>와 같이 화소값을 변경한다.
<수학식 2>는 소정의 판단기준에 따라, 필터링 정도를 어떻게 변화시키는가를 보여주는 구체적 하나의 실현예로서 화소위치별로 서로 다른 화소 변이 값을 사용한 예이다. 즉, 필터링 되는 화소의 위치가 소정의 판단기준이 되며, 그 기준(즉, 화소의 위치)에 따라 서로 다른 화소 변이 값을 사용하도록 하여 필터링 되는 정도를 조절할 수 있다. 즉, 첫번째 화소(p0 또는 q0)를 위해서는 delta, 두번째 화소(p1 또는 q1)를 위해서는 delta/2를 필터링을 통한 화소 변이값으로 사용하는 것이다. 이렇게 함으로써, 블록 P와 블록 Q간의 경계 화소(p0 | q0)간의 차이를 최소화하는 과정에서 새롭게 발생할 수 있는 블록 P 또는 블록 Q 내부 화소 간의 경계 ( (p1 | p0 ), 또는 (q0 | q1 ))간의 차이를 최소화 할 수 있다. 즉, 종래처럼 블록 경계에서의 차이만을 최소화하게 되면 이 때문에 블록 내부에서 새로운 차이가 다시 발생할 수 있으므로 상기의 방법을 통해 이를 또한 최소화할 수 있다.
상기 블록 P와 블록 Q의 경계의 화소(p0 | q0)간의 차이를 최소화하는 과정에서 새롭게 발생할 수 있는 블록 P 또는 블록 Q 내부 화소(p1 | p0 또는 q0 | q1)간의 차이를 최소화하기 위한 또 다른 구현예로서는, <수학식 3>과 같이 블록 P 또는 블록 Q 내부 화소(p1 또는 q1)를 위한 새로운 필터링을 통해 새로운 delta 값을 연산하고, P 블록과 Q 블록의 내부 화소에 각각 적용함으로써 디블록킹 필터링을 수행하는 것이다.
즉, 블록 P 내부 화소인 p1 에 대하여는 △p의 화소변이값을 사용하고 블록 Q 내부 화소인 q1에 대하여는 △q 의 화소변이값을 사용하는 것이다. 전술한 [수학식 1] 및 [수학식 2]의 실현예에서는 블록 P 및 블록 Q에 대하여 동일한 delta 값을 계산하였으나, [수학식 3]의 경우와 같이 블록 P 및 블록 Q에 대하여 각각 다른 delta 값을 계산한다.
또한, 화소변이값을 구하여 화소값을 변경하는 과정은 <수학식 2>를 이용하되, P, Q블록 화소에 대하여 <수학식 3> 에 의하여 결정된 delta 값들을 이용하도록 할 수 있다. 즉, 이 경우 p0'=p0+delta_p, q0'=q0-delta_q, p1'=p1+delta_p/2, q1'=q1-delta_q/2 가 된다.
<수학식 1> 및 <수학식 3>에 나타난 delta값 계산에 서로 같은 필터를 적용한 예를 사용하여 설명하였으나, 서로 다른 계수의 필터가 각각 적용되는 경우도 생각할 수 있다.
본 발명의 다른 실시예에 따르면, 도 2에 도시된 바와 같은 P 블록과 Q 블록의 경계를 위한 디블록킹 필터링을 수행하는 경우, P 블록과 Q 블록에 포함된 화소줄(예를 들어, 도 2의 첫번째 화소줄 p3,0 ~ q3,0를 다시 p3 ~ q3라 하자)에 대해 소정의 판단기준을 적용함으로써, P 블록과 Q 블록에 속한 화소에 대해 서로 다른 개수 및/또는 위치의 화소를 수정하는 디블록킹 필터링을 수행할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 디블록킹 필터링 구현예를 설명하기 위한 도면이다.
본 발명의 다른 실시예에서는 블록 경계를 기준으로 P 블록은 1개의 화소, Q 블록은 2개의 화소를 수정하는 예를 보여주고 있다. 즉, 전술한 바와 같이 P/Q 블록 경계기준으로 각각 양쪽에 동일 개수(예, 두개)의 화소를 필터링을 통하여 화소값을 변경할 수도 있으나, 본 실시예에서와 같이 경계기준으로 양쪽 블록에 서로 다른 개수의 화소를 변경하는 것이 바람직할 경우도 있다.
도 4를 참조하면, Q블록의 필터링전 화소들은 평탄한 반면, P 블록은 p1 화소에서 주변화소에 비해 돌출된 값이 있다. 이 경우 영상에 따라 P블록 쪽은 가장 경계에 있는 p0 화소만을 필터링하고, Q블록에 대해서는 경계에 면한 2개의 화소를 필터링하는 것이 주관적 화질을 더 좋게 할 수 있다. 즉, 소정의 판단기준에 의해 디블록킹 필터링의 대상이 되는 화소의 개수 및 위치를 P 블록과 Q 블록이 서로 다르게 정의하는 경우가 유리한 경우를 구현하는 것이다.
도 4에서의 경우 디블록킹 필터(180)에서 수행되는 구체적인 필터링 동작은 다음과 같다.
<수학식 1>을 이용하여 delta 값을 연산한 후, <수학식 4>처럼 서로 다른 개수의 P 블록 화소와 Q 블록 화소에 디블록킹 필터링을 수행한다.
이 경우, 상기 소정의 판단기준(각 블록에 대해 필터링 대상이 되는 화소의 개수 및 위치를 결정하는 소정의 기준)은 적용 및 응용에 따라 다양한 방법으로 정의할 수 있으나, 상기 판단소정의 기준은 일례로, 화소의 선형성(Linearity) 정도를 측정하는 <수학식 5>과 같은 방법을 사용할 수 있다.
즉, 블록 P와 블록 Q 각각에 대하여 <수학식 5>와 같이 블록경계를 기준으로 한 서브블록 깊이 방향으로 화소의 선형성(즉, dp0 및 dq0)을 측정하고 이를 소정의 문턱값(beta)과 비교한다. 예를 들어, (dp0 < beta)의 조건이 충족되면 p1 화소에 대하여 필터링을 수행하고, 그렇지 않은 경우는 p1 화소에 대하여 필터링을 수행하지 않는다. 마찬가지로 (dq0 < beta)의 조건이 충족되면 q1 화소에 대하여 필터링을 수행하고, 그렇지 않은 경우는 q1 화소에 대하여 필터링을 수행하지 않는다. 여기서 문턱값(beta)은 사전에 영상 부호화 장치 및 영상 복호화 장치에서 서로 미리 정하여진 것을 가정할 수도 있고, 양자화정도나 사용자(즉, 영상 부호화 장치 측 또는 영상 복호화 장치 측)로부터 문턱값을 다운로드한 값을 사용할 수도 있고, 사전에 미리 정하여진 값 또는 양자화정도에 의해 정해진 값 등을 설정한 후 사용자가 필요에 따라 약간의 오프셋(Offset) 조정을 하여(오프셋 값은 영상 부호화 장치 측에서 영상 복호화 장치 측으로 전송될 수 있음)값을 정하는 방법 등으로 설정되는 등 다양한 방법으로 설정될 수 있다. 이 오프셋 값은 디블록킹 필터(180) 또는 별도의 오프셋값 전송부(도시하지 않음)를 이용하여 영상 복호화 장치로 전송할 수 도 있다. 또한 블록경계를 기준으로 한 서브블록 깊이 방향이란, 도 4에 도시한 바와 같이, p0와 q0 사이에 위치하는 블록경계를 기준으로 하여 P 블록에서는 p0-> p1-> p2의 방향, Q블록에서는 q0-> q1-> q2의 방향을 의미한다.
도 5는 블록 단위의 선형성 결정 예를 도시한 도면이다.
전술한 소정의 기준에 따른 판단 과정은 <수학식 5>와 같이 화소줄 단위로 수행될 수도 있으며, 적용 및 응용에 따라 도 5 및 <수학식 6>과 같이 블록 단위(또는, 프레임 내의 서브블록 단위를 의미할 수 있음)로 수행되어 해당 블록의 모든 화소줄에 동일한 판단 결과를 일괄적으로 적용하도록 할 수도 있다.
수학식 6과 같이 블록별로 일률적으로 수행하도록 하면, 각 화소줄 별로 최적의 결정을 각각 내릴 수는 없지만 각 화소줄 별로 <수학식 5>와 같은 소정의 판단을 수행하지 않아도 되므로 수행동작을 빠르게 할 수 있는 장점이 있다. <수학식 6>은 도 2에 도시한 바와 같이, 8개의 화소줄의 모임이 1개의 블록을 구성하는 경우를 예를 들어볼 때, 그 블록의 대표값으로 2번째, 5번째를 사용하는 것이다. 즉, 서브블록 내에서 대표 화소줄을 선정하고 대표 화소줄에 대한 각각의 선형성을 이용하여 서브블록 단위의 선형성을 구할 수 있다.
즉, 도 4의 예와 같이, 블록 P는 비선형적이고, 블록 Q는 선형적이라고 가정할 경우, 블록 P의 비선형성은 영상의 특성에 근거한 것이라 예상할 수 있으므로 1 개의 화소만을 필터링하고, 블록 Q는 영상의 특성상 매우 선형적이므로 디블록킹 필터링 이후에도 이러한 선형성을 유지해야 하므로 2개의 화소를 필터링하는 것이 바람직할 수도 있다.
이 경우, 도 4 및 <수학식 7>과 같은 소정의 기준에 따라, 각 화소의 위치에 따라 서로 delta 값(첫번째 화소를 위해서는 delta, 두번째 화소를 위해서는 delta/2)을 적용함으로써 블록 P와 블록 Q의 경계의 화소(p0 | q0)간의 차이를 최소화함으로써 발생할 수 있는 블록 Q 내부 화소(q0 | q1)간의 차이를 최소화한다. 수학식 7에서 경계면을 기준으로 비대칭적인 delta값을 가질 수 있음을 알 수 있다.
또는, 블록 P 내부 화소(p0 | p1)간의 차이를 최소화하기 위해 블록 P의 첫번째 화소(p0)를 위한 delta 값을 조절할 수도 있다. 예를 들어, <수학식 8>과 같이, 블록 P의 첫번째 화소를 위해 delta/2를 적용할 수도 있다.
즉, 디블록킹 필터링이 적용되는 화소의 개수 및/또는 위치에 따라 화소변이값을 고정하여 사용(예: 첫번째 위치의 화소는 delta, 두번째 위치의 화소는 delta/2)할 수도 있고, 디블록킹 필터링이 적용되는 화소의 개수 및/또는 위치에 따라 화소변이값을 가변적으로 사용(예를 들어, 2개의 화소가 필터링 되는 경우는 첫번째 위치의 화소는 delta, 두번째 위치의 화소는 delta/2 를 사용; 1개의 화소가 필터링 되는 경우는 delta/2를 사용)할 수도 있다.
또한, 본 발명의 실시예에서는 최대 2개의 화소가 필터링되는 것으로 예시하였으나, 본 발명의 실시예에서 언급한 방법으로 1개 이상 내지는 복수개(V 개)의 화소가 필터링될 수도 있음을 당업자는 용이하게 추론할 수 있을 것이다. 이 경우, 디블록킹 필터링이 적용되는 화소의 개수 및/또는 위치에 따라 화소변이값을 가변적으로 사용(V 개의 화소가 필터링 되는 경우는 첫번째 위치의 화소는 delta, 두번째 위치의 화소는 delta/2, …, V 번째 위치의 화소는 delta/V)할 수 있다. 이때, 동일한 delta 값에 V 개의 화소의 각 위치에 따라 결정되는 가중치를 곱하여 화소변이값을 사용하도록 할 수 있다.
여기서 가중치는 사전에 영상 부호화 장치 및 영상 복호화 장치에서 서로 미리 정하여진 것을 가정할 수도 있고, 사용자(즉, 영상 부호화 장치 측)가 보내줄 수 있다. 또는 각각의 화소의 개수 및/또는 위치에 따라 새로운 delta를 연산하는 방법으로 디블록킹 필터링을 수행할 수 있다.
전술한 화소의 개수 및/또는 위치를 결정하는 소정의 판단 기준을 위해 <수학식 5> 또는 <수학식 6>와 같은 선형성 판단 기준이 그대로 적용될 수 있으나, 경우에 따라 (예를 들어, V의 크기가 매우 큰 경우) <수학식 9>와 같은 추가적인 기준이 적용될 수도 있다.
도 6은 블록 단위의 추가적인 선형성 결정 예를 도시한 도면이다.
수학식 9에서의 기준은 화소줄별로 적용되지만, <수학식 10>을 사용하여 도 6과 같이 블록 단위로 일률적으로 적용될 수도 있다. 이는 필터링 수행동작을 간단히 하기 위함이다.
또는 서로 다른 특성(예를 들어, 필터링 참여 화소 개수 및/또는 위치, 필터링 강도 등)을 갖는 다수의 필터를 구비하고, 소정의 판단기준에 따라 소정의 단위(예를 들어, 화소줄 단위, 블록 단위 등)별로 서로 다른 필터를 적용할 수 있다. 즉, <수학식 1>과 같이 하나의 필터를 정의하여 delta 값을 계산하고 서로 다른 화소변이값을 사용함으로써 디블록킹 필터링을 수행할 수도 있고, <수학식 1> 및 <수학식 11>과 같이 서로 다른 특성을 갖는 필터를 하나 이상 구비하고, 소정의 판단기준에 따라 소정의 단위로 서로 다른 필터를 적용할 수 있다. 또한, 휘도신호(Luma) 값과 색차신호(Chroma) 값에 대하여, 동일한 필터계수를 사용하도록 함으로써 디블록킹 필터링을 간단하게 구현할 수 있다.
이 경우, 필터의 특성에 따라 상기 소정의 판단기준이 정의될 수 있다. 즉, <수학식 5>와 같은 선형성이 판단의 기준이 될 수 있으며, 추가적으로 <수학식 9>와 같은 기준이 추가되어 판단될 수도 있다. 또는 전혀 새로운 소정의 기준이 정의될 수도 있다.
전술하였듯이, 소정의 판단기준은, P, Q블록의 상대적인 블록 크기일 수도 있고, 후술하는 선형성 등을 의미할 수도 있다. 예를 들어, 서브 블록의 크기 또는 모양(직사각형/정사각형; 가로로 긴 직사각형, 세로로 긴 직사각형 등)에 의거하여 필터링 방법을 달리 할 수 있다.
예를 들어, 디블록킹 필터(180)는, 예측정보(예컨대, 인트라 예측정보 또는 인터 예측정보)에 근거하여 필터링에 이용할 대상 화소를 적응적으로 결정할 수 있다. 여기서 의미하는 인트라 예측정보 또는 인터 예측정보는 서브 블록의 크기 또는 모양을 의미하는 것일 수 있다. 또는 예측정보(인터 예측인 경우)는 인터예측에 사용된 움직임벡터, 참조인덱스 정보 등일 수도 있다. 도 8의 예시와 같이, 필터링의 대상이 되는 화소의 개수가 블록 P와 블록 Q가 서로 다를 경우, 블록 P와 블록 Q에 서로 다른 필터링 방법을 사용할 수 있다. 즉, 이 경우 인트라 예측정보에 포함된 인트라 예측블록 크기에 근거하여 필터링 대상 화소의 개수를 결정할 수 있다. 도 8에서와 같이 필터링의 대상이 되는 화소의 개수는 블록 P가 4개, 블록 Q가 6 개가 되도록 할 수 있다. 또한 인트라 예측정보에 포함된 인트라 예측블록 크기에 근거하여 필터링 대상 화소의 개수를 결정할 수도 있다. 즉, 도 8에서 필터링이 수행되는 화소의 개수는 블록 P가 2개, 블록 Q가 4 개가 되도록 할 수 있다.
또한, 디블록킹 필터(180)는, 인트라 예측정보에 포함된 인트라 예측모드의 방향성에 근거하여 대상 화소의 위치(즉, 필터링 방향)을 결정할 수도 있다.
도 7은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 복호화 장치(700)는 도 1을 통해 전술한 영상 부호화 장치(100)와 같이, 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, TV, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 단말기(Wireless Terminal), 디지털 TV 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
본 발명의 일 실시예에 따른 영상 복호화 장치(700)는 비트스트림 복호부(710), 역스캐너(720), 역양자화 및 역변환부(730), 예측부(740), 가산부(750) 및 디블록킹 필터(760)를 포함하여 구성될 수 있다. 여기서, 일부 구성요소는 구현 방식에 따라 선택적으로 생략될 수 있으며, 역스캐너(720)가 생략되는 경우에는 그 기능이 비트스트림 복호부(710)에 통합되어 구현될 수 있다.
비트스트림 복호부(710)는 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록을 복원한다. 즉, 비트스트림 복호부(710)는 부호화 데이터를 복호화하여 양자화 변환 계수열을 복원하는데, 영상 부호화 장치(100)에서 스캐너(140)의 기능이 비트스트림 생성부(150)에 통합되어 구현된 경우 영상 부호화 장치(700)에서도 역스캐너(720)는 생략되어 그 기능이 비트스트림 복호부(710)에 통합되어 구현되므로, 비트스트림 복호부(710)는 복원된 양자화 변환 계수열을 역스캐닝하여 변환 및 양자화된 잔여 블록을 복원할 수 있다.
또한, 비트스트림 복호부(710)는 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록뿐만 아니라 복호화에 필요한 정보들을 복호화하거나 추출할 수 있다. 복호화에 필요한 정보들은 부호화 데이터 내의 부호화된 비트열을 복호화하는 데 필요한 정보들을 말하며, 예를 들어 블록 타입에 대한 정보, 예측 모드가 인트라 예측 모드인 경우에는 인트라 예측 모드에 대한 정보, 예측 모드가 인터 예측 모드인 경우에는 움직임 벡터에 대한 정보, 변환 및 양자화 타입에 대한 정보 등이 될 수 있지만, 이외의 다양한 정보들이 포함될 수도 있다.
블록 타입에 대한 정보는 역양자화 및 역변환부(730)와 예측부(740)로 전달될 수 있으며, 변환 및 양자화 타입에 대한 정보는 역양자화 및 역변환부(730)로 전달될 수 있으며, 인트라 예측 모드에 대한 정보와 움직임 벡터에 대한 정보와 같은 예측에 필요한 정보들은 예측부(740)로 전달될 수 있다.
역스캐너(720)는 비트스트림 복호부(710)에서 양자화 변환 계수열을 복원하여 전달하면 양자화 변환 계수열을 역스캐닝하여 변환 및 양자화된 잔여 블록을 복원한다.
역스캐너(720)는 추출된 양자화 계수열을 역 지그재그 스캔 등 다양한 역스캐닝 방식으로 역스캐닝하여 양자화 계수를 갖는 잔여 블록을 생성한다. 이때의 역스캐닝 방식은 비트스트림 복호부(710)에서 변환의 크기에 대한 정보를 얻어 이에 해당하는 역스캐닝 방법을 사용하여 잔여 블록을 복원하게 된다.
전술한 바와 같이, 영상 부호화 장치(100)에서 스캐너(140)의 기능이 비트스트림 생성부(150)에 통합되어 구현된 경우 영상 부호화 장치(700)에서도 역스캐너(720)는 생략되어 그 기능이 비트스트림 복호부(710)에 통합될 수 있다. 또한, 비트스트림 복호부(710) 또는 역스캐너(720)는 비트스트림 복호부(710)에서 부호화 데이터를 복호화하여 복원되는 변환 및 양자화 타입에 대한 정보에 의해 식별되는 변환 및 양자화 타입에 따라 변환 및 양자화된 잔여 블록을 역스캐닝한다. 여기서, 역스캐너(720)가 변환 및 양자화 타입에 따라 역스캐닝하는 방법은 영상 부호화 장치(100)에서의 스캐너(140)가 변환 및 양자화된 잔여 블록의 양자화 변환 계수들을 스캐닝하는 방법을 역으로 수행하는 것과 동일 또는 유사하므로, 역스캐닝하는 방법에 대한 상세한 설명은 생략한다.
역양자화 및 역변환부(730)는 복원되는 변환 및 양자화된 잔여 블록을 역양자화 및 역변환하여 잔여 블록을 복원한다. 이때, 역양자화 및 역변환부(730)는 비트스트림 복호부(710)로부터 전달되는 변환 및 양자화 타입에 대한 정보에 의해 식별되는 변환 및 양자화 타입에 따라 변환 및 양자화된 잔여 블록을 역양자화 및 역변환을 수행한다. 여기서, 역양자화 및 역변환부(730)가 변환 및 양자화된 잔여 블록을 변환 및 양자화 타입에 따라 역양자화 및 역변환하는 방법은 영상 부호화 장치(100)의 변환 및 양자화부(730)에서 변환 및 양자화 타입에 따라 변환 및 양자화하는 과정을 역으로 수행하는 것과 동일 또는 유사하므로, 역양자화 및 역변환하는 방법에 대한 상세한 설명은 생략한다.
예측부(740)는 현재 블록에 대한 예측 블록을 생성한다. 여기서, 예측부(740)는 비트스트림 복호부(710)로부터 전달되는 블록 타입에 대한 정보와 예측에 필요한 정보를 이용하여 현재 블록을 예측한다. 즉, 예측부(740)는 블록 타입에 대한 정보에 의해 식별되는 블록 타입에 따라 현재 블록의 크기와 형태를 결정하고, 예측에 필요한 정보에 의해 식별되는 인트라 예측 모드 또는 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성한다. 이때, 예측부(740)는 현재 블록을 서브블록으로 분할하고 분할된 서브블록별로 예측하여 생성되는 예측 서브블록을 결합하여 예측 블록을 생성할 수 있다.
가산부(750)는 역양자화 및 역변환부(730)에 의해 복원되는 잔여 블록과 예측부(740)에 의해 생성되는 예측 블록을 가산하여 현재 블록을 복원한다.
디블록킹 필터(760)는 가산부(750)에 의해 복원되는 현재 블록을 필터링하고, 복원되어 필터링된 현재 블록은 픽처 단위로 누적되어 참조 픽처로서 메모리(미도시) 등에 저장되어 예측부(740)에서 다음 블록 또는 다음 픽처를 예측할 때 활용된다.
디블록킹 필터(760)는 가산부(750)에 의해 복원되는 현재 블록을 필터링한다. 디블록킹 필터(760)가 복원되는 현재 블록을 필터링하는 방법은 영상 부호화 장치(100)에서의 디블록킹 필터(180)가 현재블록을 필터링하는 방법과 동일 또는 유사한 동작을 수행하므로 더 이상의 상세한 설명은 생략한다.
한편, 디블록킹 필터링에 필요한 필터링 파라미터가 소정의 기설정 값으로 설정된 경우, 영상 부호화 장치에서 해당 파라미터에 대한 오프셋값을 비트스트림으로 전송하는 경우 영상 복호화 장치는 이를 수신하는 오프셋값 수신부(도시하지 않음)를 포함하여 구성될 수 있다. 디블록킹 필터(760)는 여기서 수신된 오프셋값을 이용하여 디블록킹 필터링을 수행할 수 있다. 한편, 오프셋값 수신부(도시하지 않음)는 독작적인 모듈로 구성할 수도 있으나 오프셋값 수신부(도시하지 않음)의 기능을 비트스트림 복호부(710)에 통합하여 구성될 수도 있다.
한편, 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는 도 1의 영상 부호화 장치(100)의 비트스트림(부호화 데이터) 출력단을 도 7의 영상 복호화 장치(700)의 비트스트림 입력단을 연결함으로써 구현할 수 있다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는 현재 블록을 예측하여 예측 블록을 생성하는 예측부(110), 현재 블록과 예측 블록을 감산하여 잔여 블록을 생성하는 감산부(120), 현재 블록의 블록 타입에 따라 선택되는 변환 및 양자화 타입을 결정하고, 결정된 변환 및 양자화 타입에 따라 잔여 블록을 변환 및 양자화하는 변환 및 양자화부(130), 변환 및 양자화된 잔여 블록을 부호화하여 부호화된 영상 데이터를 생성하는 비트스트림 생성부(150), 변환 및 양자화된 잔여 블록을 역 양자화 및 역변환하여 잔여 블록을 복원하는 역양자화 및 역변환부(160), 복원된 잔여 블록에 예측 블록을 가산하여 복원 블록을 발생하는 가산부(170), 복원 블록에 필터링을 수행하는 디블록킹 필터(180)를 포함하는 영상 부호화 장치(100)(본 발명의 일 실시예에서의 영상 부호화/복호화 장치에서의 영상 부호화기를 구현)와, 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록을 복원하는 비트스트림 복호부(710), 변환 및 양자화된 잔여 블록을 변환 및 양자화 타입에 따라 역 양자화 및 역 변환하여 잔여 블록을 복원하는 역양자화 및 역변환부(730), 현재 블록을 예측하여 예측 블록을 생성하는 예측부(740), 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원하는 가산부(750), 복원된 현재 블록과 인접하는 블록 간의 경계 영역을 필터링하는 디블록킹 필터(760)를 포함하는 영상 복호화 장치(700)(본 발명의 일 실시예에서 따른 영상 부호화/복호화 장치에서의 영상 복호화기를 구현)를 구비할 수 있다.
본 발명의 일 실시예에 따른 영상을 부호화하는 방법은, 현재블록을 예측하여 예측블록을 생성하고 상기 현재블록에서 상기 예측블록을 감산하여 잔차블록을 생성하고 상기 잔차블록을 변환 및 양자화하여 부호화하고 상기 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원하고 상기 복원된 잔차블록에 상기 예측블록을 가산하여 현재블록을 복원하는 영상부호화단계; 및 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 디블록킹 필터링 단계를 포함한다. 경우에 따라서 디블록킹 필터링에 필요한 필터링 파라미터가 소정의 기설정 값으로 설정된 경우, 상기 파라미터에 대한 오프셋값을 전송하는 오프셋값 전송단계를 추가로 포함할 수 있다.
여기서 디블록킹 필터링 단계는 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링할 수도 있다.
여기서, 영상부호화단계는 영상부호화부의 기능에, 디블록킹 필터링 단계는 디블록킹 필터(180)의 기능에 각각 대응되므로 상세한 설명은 생략한다.
본 발명의 일 실시예에 따른 영상을 복호화하는 방법은, 비트스트림으로부터 양자화된 주파수변환 블록을 생성하는 비트스트림 복호단계; 상기 양자화된 주파수변환블록을 역 양자화 및 역변환하여 잔차블록을 복원하는 역양자화 및 역변환단계; 복원할 현재 블록의 예측블록을 생성하는 예측단계; 상기 복원되는 잔차 블록과 상기 생성된 예측 블록을 가산하여 현재 블록을 복원하는 가산단계; 및 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하는 디블록킹 필터링 단계를 포함한다. 경우에 따라서, 디블록킹 필터링에 필요한 필터링 파라미터가 소정의 기설정 값으로 설정된 경우, 상기 파라미터에 대한 오프셋값을 수신하는 오프셋값 수신단계를 추가로 포함할 수 있다.
여기서, 비트스트림 복호단계는 비트스트림 복호부(710)의 동작에 대응되며, 역양자화 및 역변환단계는 역양자화 및 역변환부(730)의 동작에 대응되며, 예측단계는 예측부(750)의 동작에 대응되며, 가산단계는 가산부(740)의 동작에 대응되며, 디블록킹 필터링 단계는 디블록킹 필터(760)의 기능에 대응되므로 상세한 설명은 생략한다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 본 발명의 일 실시예에 따른 영상 부호화 방법과 본 발명의 일 실시예에 따른 영상 복호화 방법을 결합하여 구현함으로써 실현할 수 있다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 현재블록을 예측하여 예측블록을 생성하고 상기 현재블록에서 상기 예측블록을 감산하여 잔차블록을 생성하고 상기 잔차블록을 변환 및 양자화하여 비트스트림을 발생하고 상기 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원하고 상기 복원된 잔차블록에 상기 예측블록을 가산하여 현재블록을 복원하고, 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하거나 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 영상부호화단계; 및 상기 비트스트림으로부터 양자화된 주파수변환 블록을 복원하고 상기 복원된 양자화된 주파수변환블록을 역 양자화 및 역변환하여 잔차블록을 복원하고 복원할 현재 블록의 예측블록을 생성하고 상기 복원되는 잔차 블록과 상기 생성된 예측 블록을 가산하여 현재 블록을 복원하고 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하는 영상복호화단계를 포함한다.
본 발명의 실시예에서 필터링하는 블록의 경계가 좌측 블록과 우측 블록 사이의 경계인 것으로 예시되었으나, 상측 블록과 하측 블록 사이의 경계에 대하여도 동일한 방법으로 필터링을 수행할 수 있다.
본 발명의 실시예를 구성하는 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명은 소정의 기준에 따라, 디블록킹 필터링의 대상이 되는 화소의 개수 및/또는 위치, 또는 디블로킹 필터링 방법을 P 블록과 Q 블록에 동일하게 또는 서로 다르게 정의함으로써 부호화/복호화 효율을 향상시키는 효과가 있어서 매우 유용한 발명이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은 2011년 07월 22일 한국에 출원한 특허출원번호 제 10-2011-0073306 호 및 2011년 09월 15일 한국에 출원한 특허출원번호 제 10-2011-0093139 호 에 대해 미국 특허법 119(a)조(35 U.S.C § 119(a))에 따라 우선권을 주장하면, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다. 아울러, 본 특허출원은 미국 이외에 국가에 대해서도 위와 동일한 동일한 이유로 우선권을 주장하면 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.
Claims (48)
- 영상을 부호화/복호화하는 장치에 있어서,현재블록을 예측하여 예측블록을 생성하고 상기 현재블록에서 상기 예측블록을 감산하여 잔차블록을 생성하고 상기 잔차블록을 변환 및 양자화하여 비트스트림을 발생하고 상기 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원하고 상기 복원된 잔차블록에 상기 예측블록을 가산하여 현재블록을 복원하고, 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하거나 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 영상부호화기; 및상기 비트스트림으로부터 양자화된 주파수변환 블록을 복원하고 상기 복원된 양자화된 주파수변환블록을 역 양자화 및 역변환하여 잔차블록을 복원하고 복원할 현재 블록의 예측블록을 생성하고 상기 복원되는 잔차 블록과 상기 생성된 예측 블록을 가산하여 현재 블록을 복원하고 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하는 영상복호화기를 포함하는 것을 특징으로 하는 영상 부호화/복호화 장치.
- 영상을 부호화하는 장치에 있어서,현재블록을 예측하여 예측블록을 생성하고 상기 현재블록에서 상기 예측블록을 감산하여 잔차블록을 생성하고 상기 잔차블록을 변환 및 양자화하여 부호화하고 상기 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원하고 상기 복원된 잔차블록에 상기 예측블록을 가산하여 현재블록을 복원하는 예측부호화부; 및하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하는 디블록킹 필터를 포함하는 것을 특징으로 하는 영상 부호화 장치.
- 제2항에 있어서,상기 소정의 판단기준은,상기 제1블록과 상기 제2블록의 경계인 블록경계를 기준으로 한 서브블록 깊이 방향의 화소줄단위의 선형성인 것을 특징으로 하는 영상 부호화 장치.
- 제2항에 있어서,상기 소정의 판단기준은,상기 제1블록과 상기 제2블록의 경계인 블록경계를 기준으로 한 서브블록 깊이 방향의 서브블록 단위의 선형성인 것을 특징으로 하는 영상 부호화 장치.
- 제3항 또는 4항에 있어서,선형적인 것으로 판정된 서브블록에서 필터링되는 화소의 수는 비선형인 것으로 판정된 서브블록의 필터링되는 화소의 수보다 큰 것을 특징으로 하는 영상 부호화 장치.
- 제4항에 있어서,상기 소정의 판단기준은,상기 서브블록 내에서 대표 화소줄을 선정하고 상기 대표 화소줄에 대한 각각의 선형성을 이용하여 상기 서브블록 단위의 선형성을 구하는 것을 특징으로 하는 영상 부호화 장치.
- 제2항에 있어서,상기 제1블록 및 제2블록에 대하여 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 영상 부호화 장치.
- 제2항에 있어서,상기 영상 부호화 장치는,디블록킹 필터링에 필요한 필터링 파라미터가 소정의 기설정 값으로 설정된 경우, 상기 파라미터에 대한 오프셋값을 전송하는 오프셋값 전송부를 추가로 포함하는 것을 특징으로 하는 영상 부호화 장치.
- 제 2항에 있어서,상기 디블록킹 필터는, 상기 예측에 사용된 예측정보에 근거하여 필터링에 이용할 대상 화소를 적응적으로 결정하는 것을 특징으로 하는 부호화 장치.
- 제 9항에 있어서,상기 디블록킹 필터는, 상기 예측정보에 포함된 예측블록의 크기에 근거하여 상기 대상 화소의 개수를 결정하는 것을 특징으로 하는 부호화 장치.
- 제 9항에 있어서,상기 디블록킹 필터는, 상기 예측이 인트라 예측인 경우 상기 예측정보에 포함된 인트라 예측모드에 근거하여 상기 대상 화소의 필터링 방향을 결정하는 것을 특징으로 하는 부호화 장치.
- 영상을 부호화하는 장치에 있어서,현재블록을 예측하여 예측블록을 생성하고 상기 현재블록에서 상기 예측블록을 감산하여 잔차블록을 생성하고 상기 잔차블록을 변환 및 양자화하여 부호화하고 상기 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원하고 상기 복원된 잔차블록에 상기 예측블록을 가산하여 현재블록을 복원하는 영상부호화부; 및하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 디블록킹 필터를 포함하는 것을 특징으로 하는 영상 부호화 장치.
- 제12항에 있어서,상기 제1블록과 상기 제2블록의 경계인 블록경계의 첫번째 화소의 화소변이 값을 이용하여 상기 첫번째 화소의 안쪽에 위치하는 화소의 화소변이 값을 구하는 것을 특징으로 하는 영상 부호화 장치.
- 제13항에 있어서,상기 안쪽에 위치하는 화소의 화소변이 값은 상기 첫번째 화소의 화소변이 값을 상기 블록경계 기준의 위치값으로 나눈 값인 것을 특징으로 하는 영상 부호화 장치.
- 제12항에 있어서,상기 제1블록과 상기 제2블록의 경계인 블록경계의 첫번째 화소의 화소변이 값을 구하는 필터계수와 상기 안쪽에 위치하는 화소의 화소변이 값을 구하는 필터계수는 서로 다른 것을 특징으로 하는 영상 부호화 장치.
- 영상을 복호화하는 장치에 있어서,비트스트림으로부터 양자화된 주파수변환 블록을 생성하는 비트스트림 복호부;상기 양자화된 주파수변환블록을 역 양자화 및 역변환하여 잔차블록을 복원하는 역양자화 및 역변환부;복원할 현재 블록을 예측하여 예측블록을 생성하는 예측부;상기 복원되는 잔차 블록과 상기 생성된 예측 블록을 가산하여 현재 블록을 복원하는 가산부; 및하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하는 디블록킹 필터를 포함하는 것을 특징으로 하는 영상 복호화 장치.
- 제16항에 있어서,상기 소정의 판단기준은,상기 제1블록과 상기 제2블록의 경계인 블록경계를 기준으로 한 서브블록 깊이 방향의 화소줄단위의 선형성인 것을 특징으로 하는 영상 복호화 장치.
- 제16항에 있어서,상기 소정의 판단기준은,상기 제1블록과 상기 제2블록의 경계인 블록경계를 기준으로 한 서브블록 깊이 방향의 서브블록 단위의 선형성인 것을 특징으로 하는 영상 복호화 장치.
- 제17항 또는 18항에 있어서,선형적인 것으로 판정된 서브블록에서 필터링되는 화소의 수는 비선형인 것으로 판정된 서브블록의 필터링되는 화소의 수보다 큰 것을 특징으로 하는 영상 복호화 장치.
- 제18항에 있어서,상기 소정의 판단기준은,상기 서브블록 내에서 대표 화소줄을 선정하고 상기 대표 화소줄에 대한 각각의 선형성을 이용하여 상기 서브블록 단위의 선형성을 구하는 것을 특징으로 하는 영상 복호화 장치.
- 제16항에 있어서,상기 제1블록 및 제2블록에 대하여 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 영상 복호화 장치.
- 제16항에 있어서,상기 영상 복호화 장치는,디블록킹 필터링에 필요한 필터링 파라미터가 소정의 기설정 값으로 설정된 경우, 상기 파라미터에 대한 오프셋값을 수신하는 오프셋값 수신부를 추가로 포함하는 것을 특징으로 하는 영상 복호화 장치.
- 제 16항에 있어서,상기 디블록킹 필터는, 상기 예측에 사용된 예측정보에 근거하여 필터링에 이용할 대상 화소를 적응적으로 결정하는 것을 특징으로 하는 복호화 장치.
- 제 23항에 있어서,상기 디블록킹 필터는, 상기 예측정보에 포함된 예측블록 크기에 근거하여 상기 대상 화소의 개수를 결정하는 것을 특징으로 하는 복호화 장치.
- 제 23항에 있어서,상기 디블록킹 필터는, 상기 예측이 인트라 예측인 경우 상기 예측정보에 포함된 인트라 예측모드에 근거하여 상기 대상 화소의 필터링 방향을 결정하는 것을 특징으로 하는 복호화 장치.
- 영상을 복호화하는 장치에 있어서,비트스트림으로부터 양자화된 주파수변환 블록을 생성하는 비트스트림 복호부;상기 양자화된 주파수변환블록을 역 양자화 및 역변환하여 잔차블록을 복원하는 역양자화 및 역변환부;복원할 현재 블록의 예측블록을 생성하는 예측부;상기 복원되는 잔차 블록과 상기 생성된 예측 블록을 가산하여 현재 블록을 복원하는 가산부; 및하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 디블록킹 필터를 포함하는 것을 특징으로 하는 영상 복호화 장치.
- 제26항에 있어서,상기 제1블록과 상기 제2블록의 경계인 블록경계의 첫번째 화소의 화소변이 값을 이용하여 상기 첫번째 화소의 안쪽에 위치하는 화소의 화소변이 값을 구하는 것을 특징으로 하는 영상 복호화 장치.
- 제27항에 있어서,상기 안쪽에 위치하는 화소의 화소변이 값은 상기 첫번째 화소의 화소변이 값을 상기 블록경계 기준의 위치값으로 나눈 값인 것을 특징으로 하는 영상 복호화 장치.
- 제26항에 있어서,상기 제1블록과 상기 제2블록의 경계인 블록경계의 첫번째 화소의 화소변이 값을 구하는 필터계수와 상기 안쪽에 위치하는 화소의 화소변이 값을 구하는 필터계수는 서로 다른 것을 특징으로 하는 영상 복호화 장치.
- 영상을 부호화/복호화하는 방법에 있어서,현재블록을 예측하여 예측블록을 생성하고 상기 현재블록에서 상기 예측블록을 감산하여 잔차블록을 생성하고 상기 잔차블록을 변환 및 양자화하여 비트스트림을 발생하고 상기 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원하고 상기 복원된 잔차블록에 상기 예측블록을 가산하여 현재블록을 복원하고, 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하거나 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 영상부호화단계; 및상기 비트스트림으로부터 양자화된 주파수변환 블록을 복원하고 상기 복원된 양자화된 주파수변환블록을 역 양자화 및 역변환하여 잔차블록을 복원하고 복원할 현재 블록의 예측블록을 생성하고 상기 복원되는 잔차 블록과 상기 생성된 예측 블록을 가산하여 현재 블록을 복원하고 하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하는 영상복호화단계를 포함하는 것을 특징으로 하는 영상 부호화/복호화 방법.
- 영상을 부호화하는 방법에 있어서,현재블록을 예측하여 예측블록을 생성하고 상기 현재블록에서 상기 예측블록을 감산하여 잔차블록을 생성하고 상기 잔차블록을 변환 및 양자화하여 부호화하고 상기 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원하고 상기 복원된 잔차블록에 상기 예측블록을 가산하여 현재블록을 복원하는 예측부호화단계; 및하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하는 디블록킹 필터링 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
- 제31항에 있어서,상기 소정의 판단기준은,상기 제1블록과 상기 제2블록의 경계인 블록경계를 기준으로 한 서브블록 깊이 방향의 화소줄단위 또는 서브블록 단위의 선형성인 것을 특징으로 하는 영상 부호화 방법.
- 제32항에 있어서,선형적인 것으로 판정된 서브블록에서 필터링되는 화소의 수는 비선형인 것으로 판정된 서브블록의 필터링되는 화소의 수보다 큰 것을 특징으로 하는 영상 부호화 방법.
- 제31항에 있어서,상기 제1블록 및 제2블록에 대하여 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 영상 부호화 방법.
- 제31항에 있어서,상기 영상 부호화 방법은,디블록킹 필터링에 필요한 필터링 파라미터가 소정의 기설정 값으로 설정된 경우, 상기 파라미터에 대한 오프셋값을 전송하는 오프셋값 전송단계를 추가로 포함하는 것을 특징으로 하는 영상 부호화 방법.
- 제 31항에 있어서,상기 디블록킹 필터링 단계에서는, 상기 예측에 사용된 예측정보에 근거하여 필터링에 이용할 대상 화소를 적응적으로 결정하는 것을 특징으로 하는 부호화 방법.
- 영상을 부호화하는 방법에 있어서,현재블록을 예측하여 예측블록을 생성하고 상기 현재블록에서 상기 예측블록을 감산하여 잔차블록을 생성하고 상기 잔차블록을 변환 및 양자화하여 부호화하고 상기 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원하고 상기 복원된 잔차블록에 상기 예측블록을 가산하여 현재블록을 복원하는 영상부호화단계; 및하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 디블록킹 필터링 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
- 제37항에 있어서,상기 제1블록과 상기 제2블록의 경계인 블록경계의 첫번째 화소의 화소변이 값을 이용하여 상기 첫번째 화소의 안쪽에 위치하는 화소의 화소변이 값을 구하는 것을 특징으로 하는 영상 부호화 방법.
- 제37항에 있어서,상기 제1블록과 상기 제2블록의 경계인 블록경계의 첫번째 화소의 화소변이 값을 구하는 필터계수와 상기 안쪽에 위치하는 화소의 화소변이 값을 구하는 필터계수는 서로 다른 것을 특징으로 하는 영상 부호화 방법.
- 영상을 복호화하는 방법에 있어서,비트스트림으로부터 양자화된 주파수변환 블록을 생성하는 비트스트림 복호단계;상기 양자화된 주파수변환블록을 역 양자화 및 역변환하여 잔차블록을 복원하는 역양자화 및 역변환단계;복원할 현재 블록을 예측하여 예측블록을 생성하는 예측단계;상기 복원되는 잔차 블록과 상기 생성된 예측 블록을 가산하여 현재 블록을 복원하는 가산단계; 및하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 소정의 판단기준에 따라 필터링되는 제1블록의 화소수와 제2블록의 화소수가 서로 다르도록 필터링하는 디블록킹 필터링 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.
- 제40항에 있어서,상기 소정의 판단기준은,상기 제1블록과 상기 제2블록의 경계인 블록경계를 기준으로 한 서브블록 깊이 방향의 화소줄단위 또는 서브블록 단위의 선형성인 것을 특징으로 하는 영상 복호화 방법.
- 제41항에 있어서,선형적인 것으로 판정된 서브블록에서 필터링되는 화소의 수는 비선형인 것으로 판정된 서브블록의 필터링되는 화소의 수보다 큰 것을 특징으로 하는 영상 복호화 방법.
- 제40항에 있어서,상기 제1블록 및 제2블록에 대하여 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 영상 복호화 방법.
- 제40항에 있어서,상기 영상 복호화 방법은,디블록킹 필터링에 필요한 필터링 파라미터가 소정의 기설정 값으로 설정된 경우, 상기 파라미터에 대한 오프셋값을 수신하는 오프셋값 수신단계를 추가로 포함하는 것을 특징으로 하는 영상 부호화 방법.
- 제 40항에 있어서,상기 디블록킹 필터링 단계에서는, 상기 예측에 사용된 예측정보에 근거하여 필터링에 이용할 대상 화소를 적응적으로 결정하는 것을 특징으로 하는 부호화 방법.
- 영상을 복호화하는 방법에 있어서,비트스트림으로부터 양자화된 주파수변환 블록을 생성하는 비트스트림 복호단계;상기 양자화된 주파수변환블록을 역 양자화 및 역변환하여 잔차블록을 복원하는 역양자화 및 역변환단계;복원할 현재 블록의 예측블록을 생성하는 예측단계;상기 복원되는 잔차 블록과 상기 생성된 예측 블록을 가산하여 현재 블록을 복원하는 가산단계; 및하나 이상의 복원된 현재블록을 포함하는 프레임 내에서 서브블록 사이의 필터링을 위하여 필터링에 참여하는 제1블록 및 제2블록에 대하여 상기 제1블록과 상기 제2블록의 경계인 블록경계 기준으로 화소의 위치에 따라 다른 화소변이 값을 이용하여 필터링하는 디블록킹 필터링 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.
- 제46항에 있어서,상기 제1블록과 상기 제2블록의 경계인 블록경계의 첫번째 화소의 화소변이 값을 이용하여 상기 첫번째 화소의 안쪽에 위치하는 화소의 화소변이 값을 구하는 것을 특징으로 하는 영상 복호화 방법.
- 제46항에 있어서,상기 제1블록과 상기 제2블록의 경계인 블록경계의 첫번째 화소의 화소변이 값을 구하는 필터계수와 상기 안쪽에 위치하는 화소의 화소변이 값을 구하는 필터계수는 서로 다른 것을 특징으로 하는 영상 복호화 방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201180072461.4A CN103718556B (zh) | 2011-07-22 | 2011-09-15 | 利用灵活解块滤波的编码解码装置和方法 |
US14/159,736 US9554139B2 (en) | 2011-07-22 | 2014-01-21 | Encoding/decoding apparatus and method using flexible deblocking filtering |
US14/919,080 US10070135B2 (en) | 2011-07-22 | 2015-10-21 | Encoding/decoding apparatus and method using flexible deblocking filtering |
US16/054,195 US10477216B2 (en) | 2011-07-22 | 2018-08-03 | Encoding/decoding apparatus and method using flexible deblocking filtering |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20110073306 | 2011-07-22 | ||
KR10-2011-0073306 | 2011-07-22 | ||
KR10-2011-0093139 | 2011-09-15 | ||
KR1020110093139A KR101834541B1 (ko) | 2011-07-22 | 2011-09-15 | 연성 디블록킹 필터링을 이용한 부호화/복호화 방법 및 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/159,736 Continuation US9554139B2 (en) | 2011-07-22 | 2014-01-21 | Encoding/decoding apparatus and method using flexible deblocking filtering |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013015484A1 true WO2013015484A1 (ko) | 2013-01-31 |
Family
ID=47601292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2011/006823 WO2013015484A1 (ko) | 2011-07-22 | 2011-09-15 | 연성 디블록킹 필터링을 이용한 부호화/복호화 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2013015484A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113261280A (zh) * | 2018-12-26 | 2021-08-13 | 交互数字Vc控股公司 | 运动补偿边界滤波 |
CN114697679A (zh) * | 2015-09-11 | 2022-07-01 | 株式会社Kt | 图像解码方法、图像编码方法和包括比特流的设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009089267A (ja) * | 2007-10-02 | 2009-04-23 | Canon Inc | イントラ予測符号化装置、イントラ予測符号化方法及びプログラム |
KR20100029343A (ko) * | 2008-09-08 | 2010-03-17 | 에스케이 텔레콤주식회사 | 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치 |
KR20100079037A (ko) * | 2008-12-30 | 2010-07-08 | 삼성전자주식회사 | 비디오 영상 부호화 방법 및 장치 |
-
2011
- 2011-09-15 WO PCT/KR2011/006823 patent/WO2013015484A1/ko active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009089267A (ja) * | 2007-10-02 | 2009-04-23 | Canon Inc | イントラ予測符号化装置、イントラ予測符号化方法及びプログラム |
KR20100029343A (ko) * | 2008-09-08 | 2010-03-17 | 에스케이 텔레콤주식회사 | 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치 |
KR20100079037A (ko) * | 2008-12-30 | 2010-07-08 | 삼성전자주식회사 | 비디오 영상 부호화 방법 및 장치 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697679A (zh) * | 2015-09-11 | 2022-07-01 | 株式会社Kt | 图像解码方法、图像编码方法和包括比特流的设备 |
CN113261280A (zh) * | 2018-12-26 | 2021-08-13 | 交互数字Vc控股公司 | 运动补偿边界滤波 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101888333B1 (ko) | 연성 디블록킹 필터링을 이용한 부호화/복호화 방법 및 장치 | |
WO2011145819A2 (ko) | 영상 부호화/복호화 장치 및 방법 | |
WO2013062197A1 (ko) | 영상 복호화 장치 | |
WO2011142603A2 (ko) | 영상의 필터링 방법 및 장치와 그를 이용한 부호화/복호화를 위한 방법 및 장치 | |
WO2010027182A2 (ko) | 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2012018197A2 (ko) | 인트라 예측 복호화 장치 | |
WO2012018198A2 (ko) | 예측 블록 생성 장치 | |
WO2013109039A1 (ko) | 가중치예측을 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2011145836A2 (ko) | 인트라 블록 및 인터 블록이 혼합된 코딩블록을 이용하는 영상 부호화/복호화 장치 및 그 방법 | |
WO2013062196A1 (ko) | 영상 복호화 장치 | |
WO2009113791A2 (ko) | 영상 부호화장치 및 영상 복호화장치 | |
WO2011031044A2 (ko) | 고해상도 동영상의 부호화/복호화 방법 및 장치 | |
WO2013062198A1 (ko) | 영상 복호화 장치 | |
WO2012023762A2 (ko) | 인트라 예측 복호화 방법 | |
WO2012144876A2 (ko) | 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2013005941A2 (ko) | 영상 부호화 및 복호화 방법과 장치 | |
WO2010114283A9 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2011004986A2 (ko) | 영상 부호화/복호화 방법 및 장치 | |
WO2012074248A2 (ko) | 인트라예측모드의 중복성을 최소화하기 위한 영상 부호화/복호화 방법 및 장치 | |
WO2013062191A1 (ko) | 인트라 예측 모드에서의 영상 부호화 방법 및 장치 | |
KR101418101B1 (ko) | 저주파수 성분을 고려한 영상 부호화/복호화 방법 및 장치 | |
WO2012026794A2 (ko) | 인트라 예측을 이용한 부호화 및 복호화 장치와 방법 | |
WO2012011672A2 (ko) | 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2013002550A2 (ko) | 고속 코딩 단위(Coding Unit) 모드 결정을 통한 부호화/복호화 방법 및 장치 | |
WO2012046979A2 (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: 11869869 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 03/06/2014) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11869869 Country of ref document: EP Kind code of ref document: A1 |