WO2013111977A1 - 화면 내 예측을 수행한 블록에 대한 디블록킹 방법 및 장치 - Google Patents
화면 내 예측을 수행한 블록에 대한 디블록킹 방법 및 장치 Download PDFInfo
- Publication number
- WO2013111977A1 WO2013111977A1 PCT/KR2013/000580 KR2013000580W WO2013111977A1 WO 2013111977 A1 WO2013111977 A1 WO 2013111977A1 KR 2013000580 W KR2013000580 W KR 2013000580W WO 2013111977 A1 WO2013111977 A1 WO 2013111977A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- intra
- current block
- intra prediction
- mode
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Definitions
- the present invention relates to a method and apparatus for image encoding / decoding, and more particularly, to a method and apparatus for deblocking a block on which intra prediction is performed.
- High efficiency image compression techniques can be used to solve these problems caused by high resolution and high quality image data.
- An inter-screen prediction technique for predicting pixel values included in the current picture from a picture before or after the current picture using an image compression technique an intra prediction technique for predicting pixel values included in a current picture using pixel information in the current picture
- An object of the present invention is to provide a deblocking method in consideration of a block prediction method.
- Another object of the present invention is to provide an apparatus for performing a deblocking method in consideration of a block prediction method.
- the intra prediction method for achieving the above object of the present invention is to determine the intra prediction mode of the plurality of neighboring blocks to predict the plurality of candidate intra screen prediction value of the intra prediction mode of the current block Calculating a mode, determining an intra prediction mode of the current block based on a value of predicting the intra prediction mode of the current block based on the plurality of candidate intra prediction modes, and the intra block mode of the current block;
- the method may include outputting, as a reconstruction block, a block filtered through a deblocking filter on a prediction block generated based on an intra prediction mode of the current block.
- the determining of the intra prediction mode of the current block based on a value predicted by the intra prediction mode of the current block based on the plurality of candidate intra prediction modes may include determining a prediction mode within the first candidate screen from a first neighboring block. Deriving a prediction mode in a second candidate screen from a second neighboring block, a prediction mode in a third candidate screen from a third neighboring block, a prediction mode in the first candidate screen, a prediction mode in the second candidate screen, The method may include determining an intra prediction mode of the current block by considering whether at least two intra prediction modes of the third candidate intra prediction modes are the same.
- outputting a block filtered through a deblocking filter to a prediction block generated based on an intra prediction mode of the current block as a reconstruction block may include a block adjacent to the current block.
- the method may include determining whether to use the intra skip mode, and determining a filtering method of the deblocking filter based on the determination result.
- the determining of the filtering method of the deblocking filter based on the determination result may include determining the filtering strength of the deblocking filter as the smallest value when the block adjacent to the current block uses the intra skip mode. If the block adjacent to the current block does not use the intra skip mode, determining whether the block adjacent to the current block used an intra prediction method to determine the filtering strength of the deblocking filter. Can be.
- the current block may be a block including depth information of an image.
- the intra prediction method may further include determining whether the current block is encoded in an intra skip mode.
- the determining of whether the current block is encoded in the intra skip mode may include determining whether the current block is encoded in the intra skip mode based on flag information on whether the current block is intra skip encoded.
- an image decoding apparatus may determine an intra prediction mode of a plurality of neighboring blocks to determine a prediction value of an intra prediction mode of a current block.
- the controller may include a filter unit configured to filter a prediction block generated based on an intra prediction mode of the current block through a deblocking filter.
- the prediction unit induces a prediction mode within a first candidate screen from a first neighboring block, a prediction mode within a second candidate screen from a second neighboring block, and a prediction mode within a third candidate screen from a third neighboring block and then operates within the first candidate screen. It may be implemented to determine an intra prediction mode of the current block by considering whether at least two intra prediction modes of the prediction mode, the second candidate intra prediction mode, and the third candidate intra prediction mode are the same. .
- the filtering unit may be configured to determine whether a block adjacent to the current block uses the intra skip mode, and determine a filtering method of the deblocking filter based on the determination result.
- the filtering unit determines the filtering strength of the deblocking filter as the smallest value, and the block adjacent to the current block does not use the intra skip mode. It may be implemented to determine the filtering strength of the deblocking filter by determining whether a block adjacent to the current block uses an intra prediction method.
- the current block may be a block including depth information of an image.
- the prediction unit may be implemented to determine whether the current block is encoded in an intra skip mode.
- the prediction unit may be implemented to determine whether the current block is encoded in the intra skip mode based on flag information on whether the current block is intra skip encoded.
- a block of a boundary adjacent to a block to which an intra skip skip mode is applied in determining boundary filtering strength of a deblocking filter is determined.
- boundary filtering may be weakly performed to increase encoding / decoding efficiency and reduce complexity of image encoding / decoding.
- FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
- FIG. 2 is a block diagram illustrating a configuration of an image decoding apparatus according to another embodiment of the present invention.
- FIG. 3 is a conceptual diagram illustrating a method of encoding and decoding a 3D image according to an embodiment of the present invention.
- FIG. 4 is a conceptual diagram illustrating a depth information map according to an embodiment of the present invention.
- FIG. 5 is a conceptual diagram illustrating a depth information map according to an embodiment of the present invention.
- FIG. 6 is a conceptual diagram illustrating an intra prediction method according to an exemplary embodiment of the present invention.
- FIG. 7 is a conceptual diagram illustrating an intra prediction method according to an exemplary embodiment of the present invention.
- FIG. 8 is a conceptual diagram illustrating a method of determining boundary filtering strength (bS) of deblocking filtering according to an embodiment of the present invention.
- FIG. 9 is a conceptual diagram illustrating a boundary between blocks according to an embodiment of the present invention.
- FIG. 10 is a conceptual diagram illustrating a method of adaptively changing a filtering strength according to an intra prediction mode used when using an intra skip mode according to an embodiment of the present invention.
- FIG. 11 is a block diagram illustrating a case where an intra prediction method is performed in an intra skip mode according to an embodiment of the present invention.
- FIG. 12 is a block diagram illustrating a method of configuring a current block image using only prediction blocks using neighboring blocks when in-screen encoding of an image having high correlation between pixels according to an embodiment of the present invention.
- FIG. 13 is a block diagram illustrating a method of configuring a current block image using only prediction blocks using neighboring blocks when in-screen encoding of an image having high correlation between pixels according to an embodiment of the present invention.
- first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
- the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
- each component shown in the embodiments of the present invention are shown independently to represent different characteristic functions, and do not mean that each component is made of separate hardware or one software component unit.
- each component is included in each component for convenience of description, and at least two of the components may be combined into one component, or one component may be divided into a plurality of components to perform a function.
- Integrated and separate embodiments of the components are also included within the scope of the present invention without departing from the spirit of the invention.
- the components may not be essential components for performing essential functions in the present invention, but may be optional components for improving performance.
- the present invention can be implemented including only the components essential for implementing the essentials of the present invention except for the components used for improving performance, and the structure including only the essential components except for the optional components used for improving performance. Also included in the scope of the present invention.
- FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
- the image encoding apparatus 100 may include a motion predictor 111, a motion compensator 112, an intra predictor 120, a switch 115, a subtractor 125, and a converter 130. And a quantization unit 140, an entropy encoding unit 150, an inverse quantization unit 160, an inverse transform unit 170, an adder 175, a filter unit 180, and a reference picture buffer 190.
- the image encoding apparatus 100 may encode an input image in an intra mode or an inter mode and output a bitstream. In the intra mode, the switch 115 may be switched to intra, and in the inter mode, the switch 115 may be switched to inter. The image encoding apparatus 100 may calculate a prediction block for the input block of the input image and then encode a residual between the input block and the prediction block.
- Intra mode is defined as intra prediction mode
- inter mode is inter prediction mode
- intra prediction unit 120 is intra prediction unit
- motion predictor 111 and motion compensation unit 112 are defined as inter prediction unit. Can be used.
- the intra predictor 120 may calculate a prediction block by performing spatial prediction using pixel values of blocks that are already encoded around the current block.
- the motion predictor 111 may obtain a motion vector by searching for a region that best matches an input block in the reference image stored in the reference picture buffer 190 during the motion prediction process.
- the motion compensator 112 may calculate a prediction block by performing motion compensation using the motion vector.
- the subtractor 125 may calculate a residual block by the difference between the input block and the calculated prediction block.
- the transform unit 130 may output a transform coefficient by performing a transform on the residual block.
- the transform coefficient may mean a coefficient value calculated by performing transform on the residual block and / or the residual signal.
- a quantized transform coefficient level calculated by applying quantization to a transform coefficient may also be referred to as a transform coefficient.
- the quantization unit 140 may output the quantized transform coefficient level by quantizing the input transform coefficient according to the quantization parameter.
- the entropy encoder 150 may output a bit stream by performing entropy encoding based on values calculated by the quantizer 140 or encoding parameter values calculated in the encoding process.
- the entropy encoder 150 may use an encoding method such as exponential golomb, context-adaptive variable length coding (CAVLC), or context-adaptive binary arithmetic coding (CABAC) for entropy encoding.
- CAVLC context-adaptive variable length coding
- CABAC context-adaptive binary arithmetic coding
- the image encoding apparatus performs inter prediction encoding, that is, inter prediction encoding
- the currently encoded image needs to be decoded and stored to be used as a reference image.
- the quantized coefficients are inversely quantized by the inverse quantizer 160 and inversely transformed by the inverse transformer 170.
- the inverse quantized and inverse transformed coefficients are added to the prediction block through the adder 175, and a reconstructed block is calculated.
- the reconstruction block passes through the filter unit 180, and the filter unit 180 applies at least one or more of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the reconstruction block or the reconstruction picture. can do.
- the reconstructed block that has passed through the filter unit 180 may be stored in the reference picture buffer 190.
- FIG. 2 is a block diagram illustrating a configuration of an image decoding apparatus according to another embodiment of the present invention.
- the image decoding apparatus 200 may include an entropy decoder 210, an inverse quantizer 220, an inverse transformer 230, an intra predictor 240, a motion compensator 250, and an adder ( 255, a filter unit 260, and a reference picture buffer 270.
- the image decoding apparatus 200 may receive a bitstream output from the encoder and perform decoding in an intra mode or an inter mode, and output a reconstructed image, that is, a reconstructed image.
- the switch In the intra mode, the switch may be switched to intra, and in the inter mode, the switch may be switched to inter.
- the image decoding apparatus 200 may obtain a reconstructed residual block from the input bitstream, calculate a prediction block, and then add the reconstructed residual block and the prediction block to calculate a reconstructed block, that is, a reconstruction block. .
- the entropy decoder 210 may entropy decode the input bitstream according to a probability distribution to calculate symbols including a symbol having a quantized coefficient form.
- the entropy decoding method is similar to the entropy coding method described above.
- the entropy decoding method When the entropy decoding method is applied, a small number of bits are allocated to a symbol having a high probability of occurrence and a large number of bits are allocated to a symbol having a low probability of occurrence, whereby the size of the bit string for each symbol is increased. Can be reduced. Therefore, the compression performance of image decoding can be improved through an entropy decoding method.
- the quantized coefficient is inversely quantized by the inverse quantizer 220 and inversely transformed by the inverse transformer 230, and as a result of the inverse quantization / inverse transformation of the quantized coefficient, a reconstructed residual block may be calculated.
- the intra predictor 240 may calculate a prediction block by performing spatial prediction using pixel values of blocks already decoded around the current block.
- the motion compensator 250 may calculate a prediction block by performing motion compensation using a motion vector and a reference image stored in the reference picture buffer 270.
- the reconstructed residual block and the prediction block may be added through the adder 255, and the added block may pass through the filter unit 260.
- the filter unit 260 may apply at least one or more of the deblocking filter, SAO, and ALF to the reconstructed block or the reconstructed picture.
- the filter unit 260 may output a reconstructed image, that is, a reconstructed image.
- the reconstructed picture may be stored in the reference picture buffer 270 and used for inter prediction.
- Methods for improving the prediction performance of the encoding / decoding apparatus include a method of increasing the accuracy of an interpolation image and a method of predicting a difference signal.
- the difference signal is a signal representing the difference between the original image and the predicted image.
- the "difference signal” may be used by being replaced with “difference signal”, “residual block” or “difference block” according to the context, and those skilled in the art may affect the spirit and the essence of the invention. This can be distinguished to the extent that it does not give.
- coding unit CU
- prediction unit PU
- transform unit TU
- the coding unit is an image processing unit that performs encoding / decoding, and may include information used to encode or decode the coding block and the samples of the coding block, which is a block unit set of luminance samples or chrominance samples, in which encoding / decoding is performed.
- the prediction unit is an image processing unit that performs prediction, and may include information used to predict the prediction block and the samples of the prediction block, which is a block unit set of the luminance sample or the chrominance sample on which the prediction is performed.
- the coding block may be divided into a plurality of prediction blocks.
- the transformation unit may be an image processing unit that performs transformation, and may include information used to transform the transform block and the samples of the transform block, which is a block unit set of luminance samples or color difference samples.
- the coding block may be divided into a plurality of transform blocks.
- the current block may refer to a block in which specific image processing is performed, such as a prediction block in which current prediction is performed or a coding block in which current encoding is performed.
- a prediction block in which current prediction is performed or a coding block in which current encoding is performed.
- a coding block in which current encoding is performed when one coding block is divided into two prediction blocks, a block in which prediction is performed among the divided prediction blocks may be referred to as a current block.
- the image encoding method and the image decoding method to be described later may be performed by each component included in the image encoder and the image decoder described above with reference to FIGS. 1 and 2.
- the meaning of the component may include not only the hardware meaning but also a software processing unit that may be performed through an algorithm.
- the deblocking method in a multiview image is not only an encoding / decoding method of the image encoding apparatus and the image decoding apparatus disclosed in FIGS. 1 and 2, but also an H.264 that is an image encoding / decoding method. It can also be used for MPEG-4 Part 10 advanced video coding (AVC).
- AVC advanced video coding
- FIG. 3 is a conceptual diagram illustrating a method of encoding and decoding a 3D image according to an embodiment of the present invention.
- the transmitting side 350 uses a stereo camera 300, a depth information camera 310, a multiview camera setting 320, and a 2D video to a 3D video 330.
- N Obtain video content at the time point.
- the acquired image content may include N-view video information, depth-map information thereof, and camera-related additional information.
- the video content at the time point N is compressed using a multiview video encoding method, and the compressed bitstream is transmitted to the receiver 380 through a network.
- the receiving side decodes the received bitstream using a multiview video decoding method to reconstruct an image of N views.
- the reconstructed N-view image generates virtual view images of at least N views by a depth-map-based rendering (DIBR) process.
- DIBR depth-map-based rendering
- the depth map used to generate the virtual view image represents a distance between the camera and the real object (depth information corresponding to each pixel at the same resolution as the real image) in a real number of bits in the real world.
- FIG. 4 is a conceptual diagram illustrating a depth information map according to an embodiment of the present invention.
- FIG. 4 (A) shows a “Champagne Tower” image being used in the 3D video coding standard of MPEG, an international standardization organization.
- the depth information map may be image information representing, for example, 8 bits per pixel.
- the depth information map represents the distance between the camera and the object, the correlation between pixels is very high. Especially within the object or background part, values of the same depth information appear in a wide range.
- FIG. 5 is a conceptual diagram illustrating a depth information map according to an embodiment of the present invention.
- 5A illustrates a depth information map of a "kendo" image.
- FIG. 5B is a graph showing the distribution of pixel values in a horizontal position in a “kendo” image
- FIG. 5C is a graph showing the distribution of pixel values in a vertical position in a “kendo” image.
- the pixel value of the current block can be almost predicted using only the pixel values of the neighboring block. Therefore, the residual signal, which is a difference value between the current block and the prediction block, is not large.
- the encoding and decoding processes for the residual block including the P are hardly necessary. Therefore, computational complexity can be reduced and coding efficiency can be improved by using intra picture coding using these characteristics.
- the computational complexity may be reduced by not performing deblocking filtering on the background part.
- an embodiment of the present invention discloses a method for reducing computational complexity and improving encoding efficiency in intra-picture encoding of an image having high correlation between pixels.
- the image decoding apparatus without encoding information on the residual block, only the intra prediction mode value is encoded and transmitted to the image decoding apparatus, and the image decoding apparatus generates the prediction block generated using only the intra prediction mode value.
- the video encoding / decoding method for outputting the R as a reconstructed block may be defined in the term of an intra skip mode. Since the residual block is not encoded in the intra skip mode, the prediction block may be generated by decoding only intra prediction information of the block without decoding the residual block in the decoding process of the intra skip mode.
- a block encoded in an intra skip mode may be inferred to be an intra 16x16 mode (or 8x8 mode, 4x4 mode, or NxN mode) and have no difference data.
- the information about the intra prediction mode of the block may be obtained by inferring that the intra mode (NxN prediction mode, where N is 16, 8, 4, etc.) and no difference data is referred to as an intra skip mode.
- an intra prediction direction may be inferred from a neighboring block.
- FIG. 6 is a conceptual diagram illustrating an intra prediction method according to an exemplary embodiment of the present invention.
- FIG. 6 illustrates a method of predicting an intra prediction mode of a current block based on intra prediction mode information of neighboring blocks of the current block 600.
- the intra prediction mode may include an intra prediction mode such as a vertical prediction mode (0) and a horizontal prediction mode (1) and an intra prediction mode such as a DC mode (2) and a plane mode (3). have.
- the intra prediction mode is arbitrary and additionally, the intra prediction mode may be classified according to the direction.
- the index value for the prediction direction may be set to have a smaller value as the probability of occurrence increases. For example, if the vertical prediction mode has the highest probability of in-screen prediction mode for a block, assign 0 as index number to the vertical prediction mode so that it is mapped to a short code word when encoding the intra prediction mode information directly. can do.
- the occurrence probability of the intra prediction mode may vary depending on the size of the block, and thus, the indexes for the different intra prediction modes and the intra prediction modes may be mapped and used according to the size of the block.
- IntraPredMode may be used as a variable for indicating an intra prediction mode for a block.
- the intra prediction mode for the current block 600 may be predicted based on the intra prediction mode of the neighboring block through the following steps.
- IntraPredModeA if block A 610 is not encoded or if the intra picture prediction mode of block A 610 is not available (e.g., block A 610 is coded in inter picture prediction mode). (Prediction mode information for block A 610) is set as the prediction mode in the DC prediction screen.
- IntraPredModeA which is a variable representing the intra picture prediction mode of block A 610, is determined in block A 610. It can be set as an intra prediction mode value.
- Block A 610 may have an intra prediction mode, an intra prediction mode, and an intra_skip mode as described above.
- IntraPredModeB if block B 620 is not coded or if intra-picture prediction mode of block B 620 is not available (e.g., block B 620 is coded in inter-screen prediction mode). (Prediction mode information for block B 620) is set to the prediction mode in the DC picture.
- IntraPredModeB which is a variable representing the intra-picture prediction mode in block B 620, is determined in block B 620. It can be set as an intra prediction mode value.
- Block B 620 may have an intra prediction mode, an intra prediction mode, and an intra_skip mode as described above.
- IntraPredModeA and IntraPredModeB The minimum value among IntraPredModeA and IntraPredModeB values is set as IntraPredMode of the current block (X, 600).
- (1) and (2) is a step of deriving the intra prediction mode in block A (610) to calculate the prediction value of the intra prediction mode of the current block, the above (3) and (4)
- a block B 620 derives the intra prediction mode.
- the order of steps (1, 2) and (3, 4) may vary and such embodiments are also within the scope of the present invention.
- a method other than the above method may predict the intra prediction mode for the current block.
- IntraPredModeA is set to '-1'. If not, perform step 2. '-1' set to IntraPredModeA may be used to mean that the intra prediction mode is not derived from the block.
- Block A 610 If block A 610 is encoded and in block A 610 can derive an intra picture prediction mode, block A 610 derives an intra picture prediction mode from IntraPredModeA to block IntraPredModeA. Sets the prediction mode value in the screen.
- Block A 610 may have an intra prediction mode, an intra prediction mode, and an intra_skip mode as described above.
- IntraPredModeB is set to '-1'. If not, perform step 4.
- Block B 620 If block B 620 is encoded and in block B 620 can derive an intra picture prediction mode, block B 620 derives an intra picture prediction mode from IntraPredModeB to block IntraPredModeB. Sets the prediction mode value in the screen.
- Block B 620 may have an intra prediction mode, an intra prediction mode, and an intra_skip mode as described above.
- IntraPredMode of the current block 600 is set as the prediction mode in the DC picture. Otherwise, the minimum value among IntraPredModeA and IntraPredModeB values is set to IntraPredMode of the current block (X, 600).
- An intra prediction mode value used to predict an intra prediction mode of the current block such as IntraPredModeA and IntraPredModeB, may be referred to as a candidate intra prediction mode value.
- (1) and (2) is a step of deriving the intra prediction mode in block A (610) to calculate the prediction value of the intra prediction mode of the current block, the above (3) and (4)
- a block B 620 derives the intra prediction mode.
- the order of steps (1, 2) and (3, 4) may vary and such embodiments are also within the scope of the present invention.
- the neighboring blocks used to predict the intra prediction mode value of the current block may be used in various ways. In FIG. 7, a method of predicting an intra prediction mode of a current block using three neighboring blocks will be described.
- FIG. 7 is a conceptual diagram illustrating an intra prediction method according to an exemplary embodiment of the present invention.
- the current block is estimated in the prediction mode for the current block 700 based on the intra prediction mode of the neighboring block through the following steps.
- In-picture prediction mode information of the block (block C 730) as well as the block adjacent to the block (block A 710 and block B 720) may be used.
- the intra prediction mode of block A 710 may be changed to the intra prediction mode for the current block. Can be used to set the predicted value of. Otherwise, if the intra prediction modes of the block A 710, the block B 720, and the block C 730 are all different, the intra prediction of the block A 710, the block B 720, and the block C 730 are different.
- the intra prediction mode having the minimum value among the modes may be set as the intra prediction mode for the current block.
- in-screen prediction modes of block A 710 and block C 730 are the same, and in-picture prediction modes of block B 720 and block C 730 are different.
- the prediction mode may be set as a prediction value for the intra prediction mode of the current block.
- the intra prediction mode of block A 710 when the intra prediction modes of blocks A 710 and C 730 are the same and the intra prediction modes of block B 720 and C 730 are different. May be set as a prediction value for the intra prediction mode for the current block.
- the intra prediction modes of the blocks B 720 and C 730 are the same and the intra prediction modes of the blocks A 710 and C 730 are different, the intra prediction modes of the block A 710 are different.
- the intra prediction mode of the block B 720 is changed to the current block. It can be set as the prediction value of the intra prediction mode for.
- the intra prediction modes of blocks A 710, B 720, and C 730 may be referred to as candidate intra prediction modes for predicting the intra prediction modes of the current block.
- the intra prediction mode of the current block may be set by comparing the identity.
- the intrablock prediction of the current block is not immediately determined without determining the prediction value of the intrablock prediction mode of the current block in consideration of whether the neighboring block is performing intra prediction, encoding, and intra prediction information. It is also possible to predict the mode and such embodiments are also within the scope of the present invention.
- the method of configuring the intra prediction image may be variously applied.
- the pixel of the neighboring block adjacent to the current block may be copied (padded) as it is, wherein the pixel to be copied (padded) to the current block is a pixel located above the neighboring block adjacent to the current block or Alternatively, the pixel may be located on the left side, or may be an average or weighted average of pixels adjacent to the current block.
- the reference pixel used to generate the prediction block by performing the intra prediction according to the intra prediction mode may be different.
- information about which pixel to use may be encoded and included in the bitstream.
- a pixel to be used as a prediction pixel of the current block may be determined by considering characteristics of neighboring pixels adjacent to the current block, and then the prediction block of the current block may be generated through the determined pixel.
- the prediction block for the current block may be generated based on the upper pixel adjacent to the current block. have.
- the prediction block for the current block may be generated through the pixels on the left adjacent to the current block.
- a prediction block image may be configured by using a plurality of prediction methods and mixing the average value or the sum of weights according to each method.
- the method of configuring the intra prediction block as described above may be variously changed.
- a prediction block for a current block is generated by taking a block most similar to a current block from a previous frame that has been previously encoded and then decoded.
- the generated prediction block image is differentiated from the current block image to generate a differential block image.
- the encoding is performed in two ways depending on whether a transform, quantization, and entropy encoding process is performed on the differential block image, and information on whether encoding is performed on the differential block image is included in the bitstream.
- the current block image is transformed and quantized into a block image that is differential from the predicted block image, and is then entropy encoded to output a bitstream, and inverse quantization of the quantized coefficients before entropy encoding is performed. After inverse transformation, the prediction block image is added, and the current block image is reconstructed.
- the current block image is composed of only prediction block images.
- the differential block image is not encoded, and only information on whether encoding is performed on the differential block image is included in the bitstream.
- arithmetic encoding may be performed probabilisticly in consideration of whether to encode the residual block or not by encoding information on neighboring blocks of the current block.
- a method of constructing the current block using only intra-prediction blocks may be defined as an intra skip mode, and a block encoded in the intra skip mode may have a high correlation between the current block and a neighboring block. . Therefore, in this case, even if the deblocking filtering is not performed, there may not be a step of the image.
- an embodiment of the present invention discloses a method of determining the boundary filtering strength (bS) of the deblocking filtering in the intra skip mode.
- FIG. 8 is a conceptual diagram illustrating a method of determining boundary filtering strength (bS) of deblocking filtering according to an embodiment of the present invention.
- step S800 in order to determine boundary strength (bS), first, encoding modes of blocks p and block q adjacent to each other are checked (step S800).
- whether the block p or the block q is intra coded or inter coded may mean that the block p or the block q is or belongs to an intra coded block.
- FIG. 9 is a conceptual diagram illustrating a boundary between blocks according to an embodiment of the present invention.
- blocks p (900, 920) represent blocks located on the left side 900 or upper 920 with respect to the block boundary
- blocks q (910, 930) represent the right side 910 with respect to the block boundary. Or a block located at the bottom 930.
- At least one of blocks p 900 and q 910 adjacent to each other may be intra skip mode. It can be determined whether or not is encoded. In the following embodiments of the present invention, for convenience of description, only the blocks p 900 and q 910 will be described.
- the boundary filtering strength bS is determined to be '0' (step S810).
- the strength of filtering may be expressed as an integer value. For example, it may mean that stronger filtering is performed from 0 to 4 with an edge value of 0-4.
- the integer value indicative of the boundary filtering strength may vary as arbitrary.
- step S820 when one or more blocks encoded using the intra prediction method among the blocks p 900 and q 910 exist, the process proceeds to the 'INTRA MODE' step (step S823).
- step S823 When both the block p 900 and the block q 910 are inter coded, the process may proceed to the 'INTER MODE' step (step S825).
- step S820 when it is determined that at least one intra-encoded block exists among the blocks p 900 and q 910, the boundary between the blocks p 900 and block q 910 is a macro block. It may be determined whether or not to match the boundary of (step S830).
- step S830 when the boundary between the block p 900 and the block q 910 coincides with the boundary of the macroblock, the boundary filtering strength bS is determined to be 4 (step S840). On the other hand, if the boundary between the block p 900 and the block q 910 is not the boundary of the macroblock MB, the boundary filtering strength bS is determined to be 3 (step S850).
- the boundary filtering strength bS is 4, the strongest filtering is applied in the subsequent filtering application procedure, and the smaller the value of the boundary filtering strength is, the weaker the filtering strength is. Determining whether the boundary between the blocks used in the embodiment of the present invention is a macroblock is because the step between the blocks may become larger as the boundary of the macroblock increases the strength of filtering by determining whether the boundary between the blocks is a macroblock. Can be determined.
- Determining whether the boundary between blocks is a macroblock is an example of determining what boundary character the boundary between blocks has, and the characteristics of the boundary between blocks can be determined based on other criteria. Also included in the scope of the present invention. In other words, the filtering strength may be applied differently even when the blocks are different boundary values of the partition.
- step S820 when it is determined that both the block p 900 and the block q 910 are both predicted blocks using the inter prediction, at least one of the blocks p 900 and the block q 910 is determined. It is determined whether one block has a non-zero transform coefficient (step S860).
- Orthogonal transform coefficients are also referred to as coded coefficients or non-zero transformed coefficients.
- the boundary filtering strength bS is determined to be 2 (step S870). Otherwise, the flow proceeds to the next step S880.
- step S880 whether the absolute value of the difference between one component of the motion vector, that is, the x-axis component or the y-axis component, is greater than or equal to 1 (or 4) with respect to the block p 900 and the block q 910. It is determined whether the reference frame in the compensation is different and / or the PU partition boundary.
- the reference frame is different' may include both the reference frame itself is different and the number of reference frames is different.
- step S880 when at least one of the absolute values of the difference of the motion vectors becomes 1 (or 4) or more, or when the reference frame in motion compensation is different, the boundary filtering intensity bS is determined to be 1 (step S890). ). On the other hand, when the absolute values of the differences of the motion vectors are all less than 1 (or 4) and the reference frames in the motion compensation are the same, the boundary filtering intensity bS is determined to be 0 (step S810).
- a boundary filtering strength bS of zero may indicate that no filtering is performed in a subsequent filtering application procedure.
- the determination of the boundary filtering strength bS when encoded in the intra skip mode, may be variously applied as follows.
- the boundary filtering strength between the current block and the neighboring block may be set to '0'.
- the filtering strength between the current block and the neighboring block may be set by determining whether the intra prediction modes of the current block and the neighboring block are both intra skip mode.
- the boundary filtering strength between the current block and the neighboring block may be set to '0'.
- One of the current block and neighboring blocks is a block coded using intra skip mode, and the other block is a code coded using a general intra picture prediction mode or a code coded using an inter picture prediction mode. Can be.
- the boundary filtering strength between the current block and the neighboring block can be set to '4', otherwise the filtering strength is set to '0'.
- the boundary filtering strength can be set differently according to the existence of orthogonal transform coefficients.
- the boundary filtering intensity is set to '0' and the other case is different.
- the filtering strength is adaptively adjusted according to the intra prediction mode used when using the intra skip mode of the neighboring block and the current block. Can be changed.
- FIG. 10 is a conceptual diagram illustrating a method of adaptively changing a filtering strength according to an intra prediction mode used when using an intra skip mode according to an embodiment of the present invention.
- the filtering strength of the deblocking when the filtering strength of the deblocking is set for the macroblock boundary in the vertical direction of the current block (X, 1010), the prediction direction of the neighboring blocks (A, 1000) and the current block (X, 1010) are set. ), The intra-prediction mode is the same, so the filtering strength of the deblocking can be set to '0'. Even when the macroblock boundary in the horizontal direction of the current block (X, 1030) and the neighboring blocks (B, 1020) is the same in intra prediction mode of the current block (X, 1030) and the neighboring blocks (B, 1020), the deblocking The filtering strength can be set to '0'.
- various methods may be used to determine the boundary filtering strength bS.
- FIG. 11 is a block diagram illustrating a case where an intra prediction method is performed in an intra skip mode according to an embodiment of the present invention.
- a bitstream is received and decoded to output a reconstructed image.
- the entropy decoder 1100 first decodes encoding information of differential block image information of a current block image in a bitstream.
- the decoding of the encoding information may be performed arithmetic decoding probabilisticly through the encoding information of the neighboring blocks of the current block.
- the current block image outputs a quantized coefficient by performing variable length decoding according to a probability distribution.
- the quantized coefficients are subjected to an inverse quantization process and an inverse transform process to output a difference block image, and the difference block image is added to the prediction block image that performs intra prediction to generate a reconstructed current block image.
- the intra block mode does not include differential block image information on the current block image, whether the current block image is restored to the block on which the intra prediction is performed or the image is restored to the block on which the inter prediction is performed. Information is decoded and output to the prediction method decision process 1120.
- the image is reconstructed by performing image prediction according to the decoded information to configure a current block image.
- the reconstructed current block image may be stored in the reference image buffer and later output.
- the macroblock layer (macroblock_layer) syntax is shown in Table 1 below. Can be modified to implement
- mb_intra_skip_run and “mb_intra_skip_flag” may mean that the current depth information map block is composed of only prediction images.
- the fact that the current depth map block is composed of only the prediction image may be interpreted as that the current block is a block encoded using an intra skip mode. It can also be interpreted that there is no difference data while in the intra mode (NxN prediction mode where N is 16, 8, 4, etc.).
- Mb_intra_skip_run means that the entropy coding method operates in context-based adaptive variable length coding (CAVLC)
- mb_intra_skip_flag means that the entropy coding method operates in context-based adaptive arithmetic coding CABAC.
- an example of actually implementing the intra skip method according to an embodiment of the present invention in H.264 / AVC, which is an international video standard, is performed when both intra coding and inter screen encoding are performed (I or P or B frame). Case) can be implemented by modifying the macroblock layer (macroblock_layer) syntax as shown in Table 2 below.
- “Mb_intra_skip_flag” means that the current depth information map block is composed of only prediction images. If mb_intra_skip_flag ”is '1', the differential block data is not parsed. Otherwise, when mb_intra_skip_flag ”is '0', differential block data is parsed according to the conventional method. In this case, the fact that the data of the difference block is not parsed may be interpreted as an intra skip mode, and may also be interpreted as an intra mode (NxN prediction mode where N is 16, 8, 4, etc.) and no difference data. Can be.
- FIG. 12 is a block diagram illustrating a method of configuring a current block image using only prediction blocks using neighboring blocks when in-screen encoding of an image having high correlation between pixels according to an embodiment of the present invention.
- the prediction image generator 1200 generates a prediction block through an intra prediction process or a prediction block through an inter prediction process.
- the detailed generation method is as described above.
- the predictive image selector 1210 selects the most excellent coding efficiency among the predictive images generated by the predictive image generator 1200, and the predictive image selection information is included in the bitstream.
- the subtractor 1220 generates a differential block image by subtracting the current block image from the predicted block image.
- the encoding determination unit 1230 determines whether to encode the difference block image, and outputs encoding information.
- the encoder 1240 determines whether to perform the encoding according to the encoding information determined by the encoding determiner 1230, and outputs a compressed bitstream after the transform, quantization, and entropy encoding processes are performed on the differential block image.
- the encoder may not separately encode pixel information of the difference block.
- the bitstream of the compressed differential block image output from the encoder 1240 the bitstream of the compressed differential block image output from the encoder 1240, the encoding status information output from the encoding determination unit 1230, and the prediction image output from the prediction image selector 1210.
- One bitstream is output by mixing the selection information.
- FIG. 13 is a block diagram illustrating a method of configuring a current block image using only prediction blocks using neighboring blocks when in-screen encoding of an image having high correlation between pixels according to an embodiment of the present invention.
- the demultiplexer 1300 decodes whether information about a differential image is included in a bitstream and whether predictive image selection information is included in the bitstream.
- the decryption determination unit 1310 determines whether to perform decryption according to the decryption information.
- the decoder 1320 is performed only when there is information on the difference image in the bitstream according to the decoding information.
- the decoder 1320 reconstructs the differential image through inverse quantization and inverse transformation.
- the predictive image generator 1350 generates a prediction block through an intra prediction process or generates a prediction block through an inter prediction process.
- the predicted image determiner 1340 determines an optimal predicted image of the current block from the predicted images generated by the predicted image generator 1350 through the predicted image selection information.
- the adder 1330 adds the generated prediction image and the reconstructed difference image to form a reconstructed image. At this time, if the reconstructed difference image does not exist, the predictive image is composed of the reconstructed image.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
화면 내 예측을 수행한 블록에 대한 디블록킹 방법 및 장치가 개시되어 있다. 화면 내 예측 방법은 복수의 주변 블록의 화면 내 예측 모드를 판단하여 현재 블록의 화면 내 예측 모드의 예측 값인 복수의 후보 화면 내 예측 모드를 산출하는 단계, 복수의 후보 화면 내 예측 모드를 기초로 현재 블록의 화면 내 예측 모드를 예측한 값을 기초로 상기 현재 블록의 화면 내 예측 모드를 결정하는 단계와 현재 블록이 인트라 스킵 모드(intra skip mode)를 사용하는 경우 상기 현재 블록의 화면 내 예측 모드를 기초로 생성된 예측 블록을 디블록킹 필터를 통해 필터링한 블록을 복원 블록으로 출력하는 단계를 포함할 수 있다. 따라서, 부호화/복호화 효율을 증가시키고 영상 부호화/복호화의 복잡도를 감소시킬 수 있다.
Description
본 발명은 영상 부호화/복호화 방법 및 장치에 관한 것으로 더욱 상세하게는 화면 내 예측을 수행한 블록에 대한 디블록킹 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 응용 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 데이터량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 저장하는 경우, 전송 비용과 저장 비용이 증가하게 된다. 영상 데이터가 고해상도, 고품질화 됨에 따라 발생하는 이러한 문제들을 해결하기 위해서는 고효율의 영상 압축 기술들이 활용될 수 있다.
영상 압축 기술로 현재 픽쳐의 이전 또는 이후 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 화면 간 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 화면 내 예측 기술, 출현 빈도가 높은 값에 짧은 부호를 할당하고 출현 빈도가 낮은 값에 긴 부호를 할당하는 엔트로피 부호화 기술 등 다양한 기술이 존재하고 이러한 영상 압축 기술을 이용해 영상 데이터를 효과적으로 압축하여 전송 또는 저장할 수 있다.
본 발명의 목적은 블록의 예측 방법을 고려한 디블로킹 방법을 제공하는 것이다.
또한, 본 발명의 또 다른 목적은 블록의 예측 방법을 고려한 디블로킹 방법을 수행하는 장치를 제공하는 것이다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 화면 내 예측 방법은 복수의 주변 블록의 화면 내 예측 모드를 판단하여 현재 블록의 화면 내 예측 모드의 예측 값인 복수의 후보 화면 내 예측 모드를 산출하는 단계, 상기 복수의 후보 화면 내 예측 모드를 기초로 현재 블록의 화면 내 예측 모드를 예측한 값 기초로 상기 현재 블록의 화면 내 예측 모드를 결정하는 단계와 상기 현재 블록이 인트라 스킵 모드(intra skip mode)를 사용하는 경우 상기 현재 블록의 화면 내 예측 모드를 기초로 생성된 예측 블록을 디블록킹 필터를 통해 필터링한 블록을 복원 블록으로 출력하는 단계를 포함할 수 있다. 상기 복수의 후보 화면 내 예측 모드를 기초로 현재 블록의 화면 내 예측 모드를 예측한 값을 기초로 상기 현재 블록의 화면 내 예측 모드를 결정하는 단계는 제1 주변 블록으로부터 제1 후보 화면 내 예측 모드, 제2 주변 블록으로부터 제2 후보 화면 내 예측 모드, 제3 주변 블록으로부터 제3 후보 화면 내 예측 모드를 유도하는 단계와 상기 제1 후보 화면 내 예측 모드, 상기 제2 후보 화면 내 예측 모드, 상기 제3 후보 화면 내 예측 모드 중 적어도 두 개의 화면 내 예측 모드가 동일한지 여부를 고려하여 상기 현재 블록의 화면 내 예측 모드를 결정하는 단계를 포함할 수 있다. 상기 현재 블록이 인트라 스킵 모드를 사용하는 경우 상기 현재 블록의 화면 내 예측 모드를 기초로 생성된 예측 블록을 디블록킹 필터를 통해 필터링한 블록을 복원 블록으로 출력하는 단계는 상기 현재 블록에 접해있는 블록이 상기 인트라 스킵 모드를 사용하는지 여부를 판단하는 단계와 상기 판단 결과를 기초로 상기 디블록킹 필터의 필터링 방법을 결정하는 단계를 포함할 수 있다. 상기 판단 결과를 기초로 상기 디블록킹 필터의 필터링 방법을 결정하는 단계는 상기 현재 블록에 접해있는 블록이 상기 인트라 스킵 모드를 사용한 경우, 상기 디블록킹 필터의 필터링 강도를 가장 작은 값으로 결정하는 단계와 상기 현재 블록에 접해있는 블록이 상기 인트라 스킵 모드를 사용하지 않는 경우 상기 현재 블록에 접해있는 블록이 화면 내 예측 방법을 사용하였는지 여부를 판단하여 상기 디블록킹 필터의 필터링 강도를 결정하는 단계를 포함할 수 있다. 상기 현재 블록은 영상의 깊이 정보를 포함하는 블록일 수 있다. 상기 화면 내 예측 방법은 상기 현재 블록이 인트라 스킵 모드로 부호화되었는지 여부를 판단하는 단계를 더 포함할 수 있다. 상기 현재 블록이 인트라 스킵 모드로 부호화되었는지 여부를 판단하는 단계는 현재 블록이 인트라 스킵 부호화되었는지 여부에 대한 플래그 정보를 기초로 상기 현재 블록이 인트라 스킵 모드로 부호화되었는지 여부를 판단할 수 있다.
상술한 본 발명의 또 다른 목적을 달성하기 위한 본 발명의 다른 측면에 따른 영상 복호화 장치는 복수의 주변 블록의 화면 내 예측 모드를 판단하여 현재 블록의 화면 내 예측 모드의 예측 값인 복수의 후보 화면 내 예측 모드를 산출하고 상기 복수의 후보 화면 내 예측 모드를 기초로 현재 블록의 화면 내 예측 모드를 예측한 값을 기초로 상기 현재 블록의 화면 내 예측 모드를 결정하는 예측부와 상기 현재 블록이 인트라 스킵 모드(intra skip mode)를 사용하는 경우 상기 현재 블록의 화면 내 예측 모드를 기초로 생성된 예측 블록을 디블록킹 필터를 통해 필터링하는 필터부를 포함할 수 있다. 상기 예측부는 제1 주변 블록으로부터 제1 후보 화면 내 예측 모드, 제2 주변 블록으로부터 제2 후보 화면 내 예측 모드, 제3 주변 블록으로부터 제3 후보 화면 내 예측 모드를 유도하고 상기 제1 후보 화면 내 예측 모드, 상기 제2 후보 화면 내 예측 모드, 상기 제3 후보 화면 내 예측 모드 중 적어도 두 개의 화면 내 예측 모드가 동일한지 여부를 고려하여 상기 현재 블록의 화면 내 예측 모드를 결정하도록 구현될 수 있다. 상기 필터링부는 상기 현재 블록에 접해있는 블록이 상기 인트라 스킵 모드를 사용하는지 여부를 판단하고 상기 판단 결과를 기초로 상기 디블록킹 필터의 필터링 방법을 결정하도록 구현될 수 있다. 상기 필터링부는 상기 현재 블록에 접해있는 블록이 상기 인트라 스킵 모드를 사용한 경우, 상기 디블록킹 필터의 필터링 강도를 가장 작은 값으로 결정하고 상기 현재 블록에 접해있는 블록이 상기 인트라 스킵 모드를 사용하지 않는 경우 상기 현재 블록에 접해있는 블록이 화면 내 예측 방법을 사용하였는지 여부를 판단하여 상기 디블록킹 필터의 필터링 강도를 결정하도록 구현될 수 있다. 상기 현재 블록은영상의 깊이 정보를 포함하는 블록일 수 있다. 상기 예측부는 상기 현재 블록이 인트라 스킵 모드로 부호화되었는지 여부를 판단하도록 구현될 수 있다. 상기 예측부는 현재 블록이 인트라 스킵 부호화되었는지 여부에 대한 플래그 정보를 기초로 상기 현재 블록이 인트라 스킵 모드로 부호화되었는지 여부를 판단하도록 구현될 수 있다.
상술한 바와 같이 본 발명의 실시예에 따른 화면 내 예측을 수행한 블록에 대한 디블록킹 방법 및 장치에 따르면, 디블록킹 필터의 경계 필터링 강도 결정에서 화면 내 스킵 부호화 모드가 적용된 블록과 인접한 경계의 블록 대한 디블록킹 필터를 적용시 경계 필터링이 약하게 수행되도록 결정하여 부호화/복호화 효율을 증가시키고 영상 부호화/복호화의 복잡도를 감소시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 영상 부호화 장치의 구성을 나타내는 블록도이다.
도 2는 본 발명의 또 다른 실시예에 따른 영상 복호화 장치의 구성을 나타내는 블록도이다.
도 3은 본 발명의 실시예에 따른 3차원 영상을 부호화 및 복호화하는 방법을 나타낸 개념도이다.
도 4는 본 발명의 실시예에 따른 깊이 정보 맵을 나타낸 개념도이다.
도 5는 본 발명의 실시예에 따른 깊이 정보 맵을 나타낸 개념도이다.
도 6은 본 발명의 실시예에 따른 화면 내 예측 방법을 나타낸 개념도이다.
도 7은 본 발명의 실시예에 따른 화면 내 예측 방법을 나타낸 개념도이다.
도 8은 본 발명의 실시예에 따른 디블록킹 필터링의 경계 필터링 강도(bS)를 결정하는 방법을 나타낸 개념도이다.
도 9는 본 발명의 실시예에 따른 블록 사이의 경계를 나타내기 위한 개념도이다.
도 10은 본 발명의 실시예에 따른 인트라 스킵 모드를 사용시 사용하는 화면 내 예측 모드에 따라 필터링 강도를 적응적으로 변화시키는 방법을 나타낸 개념도이다.
도 11은 본 발명의 실시예에 따른 인트라 스킵 모드로 화면 내 예측 방법을 수행하는 경우를 나타내는 블록도이다.
도 12는 본 발명의 실시예에 따른 화소간 상관성이 높은 영상에 대한 화면 내 부호화 시 현재 블록 영상을 주변 블록을 이용한 예측 블록만으로 구성하는 방법을 나타낸 블록도이다.
도 13은 본 발명의 실시예에 따른 화소간 상관성이 높은 영상에 대한 화면 내 부호화 시 현재 블록 영상을 주변 블록을 이용한 예측 블록만으로 구성하는 방법을 나타낸 블록도이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
도 1은 본 발명의 일실시예에 따른 영상 부호화 장치의 구성을 나타내는 블록도이다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 픽쳐 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 산출한 후, 입력 블록과 예측 블록의 차분(residual)을 부호화할 수 있다.
인트라 모드는 화면 내 예측 모드, 인터 모드는 화면 간 예측 모드, 인트라 예측부(120)는 화면 내 예측부, 움직임 예측부(111) 및 움직임 보상부(112)는 화면 간 예측부라는 용어로 정의되어 사용될 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 산출할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 픽쳐 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 산출할 수 있다.
감산기(125)는 입력 블록과 산출된 예측 블록의 차분에 의해 잔차 블록(residual block)을 산출할 수 있다. 변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 여기서, 변환 계수는 잔차 블록 및/또는 잔차 신호에 대한 변환을 수행함으로써 산출된 계수 값을 의미할 수 있다. 이하, 본 명세서에서는 변환 계수에 양자화가 적용되어 산출된, 양자화된 변환 계수 레벨(transform coefficient level)도 변환 계수로 불릴 수 있다.
양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 변환 계수 레벨(quantized transform coefficient level)을 출력할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
도 1의 실시예에 따른 영상 부호화 장치는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록(Reconstructed Block)이 산출된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)를 거친 복원 블록은 참조 픽쳐 버퍼(190)에 저장될 수 있다.
도 2는 본 발명의 또 다른 실시예에 따른 영상 복호화 장치의 구성을 나타내는 블록도이다.
도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 픽쳐 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 산출한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 산출할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 산출할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.
엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 복호화 방법을 통해서 영상 복호화의 압축 성능이 높아질 수 있다.
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔차 블록이 산출될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 복호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 산출할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 픽쳐 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 산출할 수 있다.
복원된 잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 픽쳐 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.
부호화/복호화 장치의 예측 성능을 향상시키기 위한 방법에는 보간(interpolation) 영상의 정확도를 높이는 방법과 차신호를 예측하는 방법이 있다. 여기서 차신호란 원본 영상과 예측 영상과의 차이를 나타내는 신호이다. 본 발명에서 “차신호”는 문맥에 따라 “차분 신호”, “잔여 블록” 또는 “차분 블록”으로 대체되어 사용될 수 있으며, 해당 기술분야에서 통상의 지식을 가진 자는 발명의 사상, 본질에 영향을 주지 않는 범위 내에서 이를 구분할 수 있을 것이다.
본 발명의 실시예에서는 영상을 처리하는 단위로 부호화 단위(coding unit, CU), 예측 단위(prediction unit, PU), 변환 단위(transform unit, TU)라는 용어를 사용할 수 있다.
부호화 단위는 부호화/복호화를 수행하는 영상 처리 단위로서 부호화/복호화가 수행되는 휘도 샘플 또는 색차 샘플의 블록 단위 집합인 부호화 블록과 부호화 블록의 샘플들을 부호화 또는 복호화하는데 사용되는 정보를 포함할 수 있다.
예측 단위는 예측을 수행하는 영상 처리 단위로서 예측이 수행되는 휘도 샘플 또는 색차 샘플의 블록 단위 집합인 예측 블록과 예측 블록의 샘플들을 예측하는데 사용되는 정보를 포함할 수 있다. 부호화 블록은 복수의 예측 블록으로 나뉘어 질 수 있다.
변환 단위는 변환을 수행하는 영상 처리 단위로서 변환이 수행되는 휘도 샘플 또는 색차 샘플의 블록 단위 집합인 변환 블록과 변환 블록의 샘플들을 변환하는데 사용되는 정보를 포함할 수 있다. 부호화 블록은 복수의 변환 블록으로 나뉘어 질 수 있다.
이하, 본 발명의 실시예에서는 특별히 구분하여 표시하지 않는 한, 블록과 유닛은 동일한 의미로 해석될 수 있다.
또한 현재 블록(current block)은 현재 예측이 수행되는 예측 블록, 현재 부호화가 수행되는 부호화 블록과 같이 특정한 영상 처리가 수행되는 블록을 지칭할 수 있다. 예를 들어, 하나의 부호화 블록이 두 개의 예측 블록으로 분할된 경우, 분할된 예측 블록 중 예측이 수행되는 블록을 현재 블록이라는 용어로 지칭하여 사용할 수 있다.
본 발명의 실시예에서 후술할 영상 부호화 방법 및 영상 복호화 방법은 도 1 및 도 2에서 전술한 영상 부호화기 및 영상 복호화기에 포함된 각 구성부에서 수행될 수 있다. 구성부의 의미는 하드웨어적인 의미뿐만 아니라 알고리즘을 통해 수행될 수 있는 소프트웨어적인 처리 단위도 포함할 수 있다.
본 발명의 실시예에 따른 다시점 영상에서의 디블록킹 방법은 도 1 및 도 2에서 개시된 영상 부호화 장치 및 영상 복호화 장치에서의 부호화/복호화 방법뿐만 아니라 기존에 개시된 영상 부호화/복호화 방법인 H.264/AVC(MPEG-4 Part 10 advanced video coding)에서도 사용될 수 있다.
도 3은 본 발명의 실시예에 따른 3차원 영상을 부호화 및 복호화하는 방법을 나타낸 개념도이다.
도 3을 참조하면, 송신 측(350)에서는 스테레오 카메라(300), 깊이 정보 카메라(310), 다시점 카메라 설정(320), 2차원 영상의 3차원 영상으로 변환(330) 등을 이용하여 N(N≥2) 시점의 영상 콘텐츠를 획득한다. 획득된 영상 콘텐츠에는 N 시점의 비디오 정보와 그것의 깊이 정보 맵(Depth-map) 정보 그리고 카메라 관련 부가 정보 등이 포함될 수 있다. N 시점의 영상 콘텐츠는 다시점 비디오 부호화 방법을 사용하여 압축되며, 압축된 비트스트림은 네트워크를 통해 수신부(380)로 전송된다. 수신 측에서는 전송받은 비트스트림을 다시점 비디오 복호화 방법을 사용하여 복호화하여 N 시점의 영상을 복원한다. 복원된 N 시점의 영상은 깊이 정보 맵 기반 랜더링(DIBR; Depth-Image-Based Rendering) 과정에 의해 N 시점 이상의 가상 시점 영상들을 생성한다. 생성된 N 시점 이상의 가상 시점 영상들은 다양한 입체 디스플레이 장치에 맞게 재생되어 사용자에게 입체감이 있는 영상을 제공하게 된다.
가상 시점 영상을 생성하는데 사용되는 깊이 정보 맵은 실세계에서 카메라와 실제 사물(object) 간의 거리(실사 영상과 동일한 해상도로 각 화소에 해당하는 깊이 정보)를 일정한 비트수로 표현한 것이다.
도 4는 본 발명의 실시예에 따른 깊이 정보 맵을 나타낸 개념도이다.
도 4의 (A)는 국제 표준화 기구인 MPEG의 3차원 비디오 부호화 표준에서 사용 중인 “Champagne Tower” 영상을 나타낸다.
도 4의 (B)는 “Champagne Tower” 영상의 깊이 정보 맵을 나타낸다. 깊이 정보 맵은 화면에 보이는 깊이 정보를 예를 들어, 화소 당 8 비트로 표현한 영상 정보일 수 있다.
깊이 정보 맵은 카메라와 객체 간의 거리를 나타내므로 화소 간 상관성이 매우 높은 특징을 가진다. 특히 객체 내부 또는 배경 부분의 경우, 동일한 깊이 정보의 값이 광범위한 범위에서 나타난다.
도 5는 본 발명의 실시예에 따른 깊이 정보 맵을 나타낸 개념도이다.
도 5에서는 깊이 정보 맵의 상관성에 대해 개시한다.
도 5의 (A)는 “kendo”영상의 깊이 정보 맵을 나타낸다.
도 5의 (B)는 “kendo” 영상에서 수평 위치에서 화소 값들의 분포를 나타낸 그래프이고, 도 5의 (C)는 “kendo” 영상에 수직 위치에서 화소 값들의 분포를 나타낸 그래프이다.
도 5의 (A), (B) 및 (C)를 참조하면, 깊이 정보 맵의 화소 간 상관성이 매우 높다는 것을 알 수 있으며, 깊이 정보 맵의 객체 내부와 배경 부분에서 깊이 정보의 값이 동일함을 확인할 수 있다.
화소 간의 상관성이 높은 영상에서 화면 내 예측을 수행할 때 현재 블록의 화소 값은 주변 블록의 화소 값만을 이용하여 거의 예측할 수 있으므로, 현재 블록과 예측 블록 간의 차이 값인 잔여 신호의 에너지가 크지 않아 잔차 신호를 포함한 잔차 블록에 대한 부호화 및 복호화 과정은 거의 필요가 없게 된다. 따라서 이러한 특성을 이용한 화면 내 부호화를 통해 계산 복잡도를 감소시키고 부호화 효율을 향상시킬 수 있다. 또한 배경 부분과 같이 깊이 정보 값이 모두 동일할 경우, 이러한 배경 부분에는 디블록킹 필터링을 수행하지 않음으로서 계산 복잡도를 감소시킬 수 있다.
이하, 본 발명의 실시예에서는 화소 간의 상관성이 높은 영상에 대한 화면 내 부호화 시, 계산 복잡도를 감소시키고 부호화 효율을 향상시키기 위한 방법에 대해 개시한다.
본 발명의 실시예에 따른 화면 예측 방법 중 잔차 블록에 대한 정보를 부호화하지 않고 화면 내 예측 모드 값만을 부호화하여 영상 복호화 장치에 전송하고 영상 복호화 장치에서는 화면 내 예측 모드 값만을 사용하여 생성된 예측 블록을 복원 블록으로 출력하는 영상 부호화/복호화 방법을 인트라 스킵(intra_skip)모드라는 용어로 정의할 수 있다. 인트라 스킵 모드에서는 잔차 블록을 부호화하지 않으므로 인트라 스킵 모드의 복호화 과정에서는 잔차 블록을 복호화하지 않고 블록의 화면 내 예측 모드 정보만을 복호화하여 예측 블록을 생성할 수 있다.
또한, 인트라 스킵(intra skip) 모드로 부호화된 블록을 인트라 16x16 모드(혹은 8x8 모드 혹은 4x4 모드 또는 NxN 모드) 이면서 차분 데이터가 없다는 것으로 유추(infer)시킬 수 있다. 또한 인트라 모드(NxN 예측 모드, 여기서 N은 16, 8, 4 등)이면서 차분 데이터가 없다는 것을 인트라 스킵(intra skip)모드라고 유추하여 블록의 화면 내 예측 모드에 대한 정보를 획득할 수 있다.
인트라 스킵(intra skip) 모드로 부호화된 블록의 경우, 화면 내 예측 방향은 주변 블록으로부터 유추할 수 있다.
도 6은 본 발명의 실시예에 따른 화면 내 예측 방법을 나타낸 개념도이다.
도 6에서는 현재 블록(600)의 주변 블록의 화면 내 예측 모드 정보를 기초로 현재 블록의 화면 내 예측 모드를 예측하는 방법에 대해 개시한다.
우선, 화면 내 예측 모드는 수직 예측 모드(0), 수평 예측 모드(1) 등과 같은 방향성 화면 내 예측 모드와 DC 모드(2), Plane 모드(3) 등과 같은 비방향성 화면 내 예측 모드가 존재할 수 있다. 이러한 화면 내 예측 모드는 임의적인 것으로서 방향성에 따라 추가적으로 화면 내 예측 모드를 구분하여 사용할 수 있다.
예측 방향에 대한 인덱스 값은 발생 확률이 높을수록 적은 값을 가지는 것으로 설정할 수 있다. 예를 들어, 블록에 대한 화면 내 예측 모드 중 수직 예측 모드가 가장 발생 확률이 높은 경우 수직 예측 모드에 인덱스 번호로 0번을 부여하여 화면 내 예측 모드 정보를 직접적으로 부호화 시 짧은 코드 워드에 매핑되도록 할 수 있다. 화면 내 예측 모드의 발생 확률은 블록의 크기에 따라 달라질 수 있어서 블록의 크기에 따라 다른 화면 내 예측 모드 및 다른 화면 내 예측 모드에 대한 인덱스를 매핑하여 사용할 수 있다. IntraPredMode는 블록에 대한 화면 내 예측 모드를 나타내기 위한 변수로서 사용될 수 있다.
본 발명의 실시예에 따른 화면 내 예측 방법에서는 아래와 같은 단계를 통해 주변 블록의 화면 내 예측 모드를 기초로 현재 블록(600)에 대한 화면 내 예측 모드를 예측할 수 있다.
(1) 블록 A(610)가 부호화 되지 않았거나 블록 A(610)의 화면 내 예측 모드를 사용할 수 없을 경우(예를 들어, 블록 A(610)가 화면 간 예측 모드로 부호화 된 경우)에는 IntraPredModeA(블록 A(610)에 대한 예측 모드 정보)를 DC 예측 화면 내 예측 모드로 설정한다.
(2) 블록 A(610)가 부호화되었고 블록 A(610)에서 화면 내 예측 모드를 유도할 수 있는 경우, 블록 A(610)의 화면 내 예측 모드를 나타내는 변수인 IntraPredModeA을 블록 A(610)의 화면 내 예측 모드 값으로 설정할 수 있다. 블록 A(610)는 화면 내 예측 모드로서 방향성 화면 내 예측 모드, 비방향성 화면 내 예측 모드, 전술한 intra_skip 모드를 가질 수 있다.
(3) 블록 B(620)가 부호화 되지 않았거나 블록 B(620)의 화면 내 예측 모드를 사용할 수 없을 경우(예를 들어, 블록 B(620)가 화면 간 예측 모드로 부호화 된 경우)에는 IntraPredModeB(블록 B(620)에 대한 예측 모드 정보)를 DC 화면 내 예측 모드로 설정한다.
(4) 블록 B(620)가 부호화되었고 블록 B(620)에서 화면 내 예측 모드를 유도할 수 있는 경우, 블록 B(620)의 화면 내 예측 모드를 나타내는 변수인 IntraPredModeB를 블록 B(620)의 화면 내 예측 모드 값으로 설정할 수 있다. 블록 B(620)는 화면 내 예측 모드로서 방향성 화면 내 예측 모드, 비방향성 화면 내 예측 모드, 전술한 intra_skip 모드를 가질 수 있다.
(5) IntraPredModeA와 IntraPredModeB 값 중에서 최소값을 현재 블록(X, 600)의 IntraPredMode로 설정한다. IntraPredModeA와 IntraPredModeB와 같이 현재 블록의 화면 내 예측 모드를 예측하기 위해 사용되는 화면 내 예측 모드값을 후보 화면 내 예측 모드값이라고 할 수 있다.
위의 (1) 및 (2)는 현재 블록의 화면 내 예측 모드의 예측 값을 산출하기 위해 블록 A(610)에서 화면 내 예측 모드를 유도하는 단계이고, 위의 (3) 및 (4)는 현재 블록의 화면 내 예측 모드의 예측 값을 산출하기 위해 블록 B(620)에서 화면 내 예측 모드를 유도하는 단계이다. 단계 (1, 2)와 단계 (3, 4)의 순서는 변할 수 있고 이러한 실시예 또한 본 발명의 권리 범위에 포함된다.
위와 같은 방법이 아닌 다른 방법으로도 현재 블록에 대한 화면 내 예측 모드를 예측할 수 있다.
(1) 만일 블록 A(610)가 부호화 되지 않았거나 블록 A(610)에서 화면 내 예측 모드를 유도할 수 없을 경우 IntraPredModeA를 ‘-1’로 설정한다. 그렇지 않다면, 2단계를 수행한다. IntraPredModeA에 설정된‘-1’은 해당 블록에서 화면 내 예측 모드가 유도되지 않았다는 의미로 사용될 수 있다.
(2) 만일 블록 A(610)가 부호화 되었고 블록 A(610)에서 화면 내 예측 모드를 유도할 수 있는 경우, 블록 A(610)로부터 화면 내 예측 모드를 유도하여 IntraPredModeA에 블록 A(610)의 화면 내 예측 모드 값을 설정한다. 블록 A(610)는 화면 내 예측 모드로서 방향성 화면 내 예측 모드, 비방향성 화면 내 예측 모드, 전술한 intra_skip 모드를 가질 수 있다.
(3) 만일 블록 B(620)가 부호화 되지 않았거나 블록 B(620)에서 화면 내 예측 모드를 유도할 수 없을 경우 IntraPredModeB를 ‘-1’로 설정한다. 그렇지 않다면, 4단계를 수행한다.
(4) 만일 블록 B(620)가 부호화 되었고 블록 B(620)에서 화면 내 예측 모드를 유도할 수 있는 경우, 블록 B(620)로부터 화면 내 예측 모드를 유도하여 IntraPredModeB에 블록 B(620)의 화면 내 예측 모드 값을 설정한다. 블록 B(620)는 화면 내 예측 모드로서 방향성 화면 내 예측 모드, 비방향성 화면 내 예측 모드, 전술한 intra_skip 모드를 가질 수 있다.
(5) 만일 IntraPredModeA와 IntraPredModeB 중에서 적어도 하나가 ‘-1’이면 현재 블록(600)의 IntraPredMode를 DC 화면 내 예측 모드로 설정한다. 그렇지 않다면 IntraPredModeA와 IntraPredModeB 값 중에서 최소값을 현재 블록(X, 600)의 IntraPredMode로 설정한다. IntraPredModeA와 IntraPredModeB와 같이 현재 블록의 화면 내 예측 모드를 예측하기 위해 사용되는 화면 내 예측 모드값을 후보 화면 내예측 모드값이라고 할 수 있다.
위의 (1) 및 (2)는 현재 블록의 화면 내 예측 모드의 예측 값을 산출하기 위해 블록 A(610)에서 화면 내 예측 모드를 유도하는 단계이고, 위의 (3) 및 (4)는 현재 블록의 화면 내 예측 모드의 예측 값을 산출하기 위해 블록 B(620)에서 화면 내 예측 모드를 유도하는 단계이다. 단계 (1, 2)와 단계 (3, 4)의 순서는 변할 수 있고 이러한 실시예 또한 본 발명의 권리 범위에 포함된다.
현재 블록의 화면 내 예측 모드값을 예측함에 있어서 사용되는 주변 블록은 다양하게 사용될 수 있다. 도 7에서는 3개의 주변 블록을 사용하여 현재 블록의 화면 내 예측 모드를 예측하는 방법에 대해 개시한다.
도 7은 본 발명의 실시예에 따른 화면 내 예측 방법을 나타낸 개념도이다.
도 7을 참조하면, 본 발명의 실시예에 따른 화면 내 예측 방법에서는 아래와 같은 단계를 통해 주변 블록의 화면 내 예측 모드를 기초로 현재 블록(700)에 대한 화면 내 예측 모드를 예측함에 있어 현재 블록과 인접한 블록(블록 A(710), 블록 B(720)) 뿐만 아니라 블록(블록 C(730))의 화면 내 예측 모드 정보를 사용할 수 있다.
예를 들어, 블록 A(710), 블록 B(720), 블록 C(730)가 모두 같은 화면 내 예측 모드인 경우, 블록 A(710)의 화면 내 예측 모드를 현재 블록에 대한 화면 내 예측 모드의 예측 값으로 설정하여 사용할 수 있다. 그렇지 않고 블록 A(710), 블록 B(720), 블록 C(730)의 화면 내 예측 모드가 모두 다를 경우, 블록 A(710), 블록 B(720), 블록 C(730)의 화면 내 예측 모드 중에서 최소값을 가진 화면 내 예측 모드를 현재 블록에 대한 화면 내 예측 모드로서 설정할 수 있다.
또 다른 예로, 블록 A(710)와 블록 C(730)의 화면 내 예측 모드가 같고 블록 B(720), 블록 C(730)의 화면 내 예측 모드가 다를 경우에 블록 B(720)의 화면 내 예측 모드를 현재 블록의 화면 내 예측 모드에 대한 예측 값으로서 설정할 수 있다. 또는 블록 A(710), 블록 C(730)의 화면 내 예측 모드가 동일하고 블록 B(720), 블록 C(730)의 화면 내 예측 모드가 다를 경우에 블록 A(710)의 화면 내 예측 모드를 현재 블록에 대한 화면 내 예측 모드에 대한 예측 값으로서 설정할 수 있다. 또한 블록 B(720), 블록 C(730)의 화면 내 예측 모드가 동일하고 블록 A(710), 블록 C(730)의 화면 내 예측 모드가 다를 경우에 블록 A(710)의 화면 내 예측 모드를 현재 블록의 화면 내 예측 모드에 대한 예측 값으로 설정할 수 있다. 혹은 블록 B(720), 블록 C(730)의 화면 내 예측 모드가 같고 블록 A(710), 블록 C(730)의 예측 방향이 다를 경우에 블록 B(720)의 화면 내 예측 모드를 현재 블록에 대한 화면 내 예측 모드의 예측 값으로 설정할 수 있다.
블록 A(710), 블록 B(720), 블록 C(730)의 화면 내 예측 모드는 현재 블록의 화면 내 예측 모드를 예측하기 위한 후보 화면 내 예측 모드라고 할 수 있고 이러한 후보 화면 내 예측 모드의 동일성 여부를 비교하여 현재 블록의 화면 내 예측 모드를 설정할 수 있다.
도 6 및 도 7에서는 주변 블록의 화면 내 예측 수행 여부, 부호화 여부 및 화면 내 예측 모드 정보 등을 고려하여 현재 블록의 화면 내 예측 모드의 예측 값을 결정하는 방법에 대해 개시하였다. 본 발명의 실시예에 따르면, 주변 블록의 화면 내 예측 수행 여부, 부호화 여부 및 화면 내 예측 모드 정보 등을 고려하여 현재 블록의 화면 내 예측 모드의 예측 값을 결정하지 않고 바로 현재 블록의 화면 내 예측 모드를 예측하는 것도 가능하고 이러한 실시예 또한 본 발명의 권리 범위에 포함된다.
여기서, 화면 내 예측 영상을 구성하는 방법은 다양하게 적용될 수 있다.
하나의 일 실시 예로서, 현재 블록에 인접한 주변 블록의 화소를 그대로 복사(패딩)하여 구성할 수 있으며, 이때 현재 블록에 복사(패딩)될 화소는 현재 블록과 인접한 주변 블록에서 상측에 위치한 화소이거나 혹은 좌측에 위치한 화소일 수 있으며, 또한 현재 블록에 인접한 화소들의 평균 혹은 가중치 평균일 수 있다. ㅇ{를 들어, 화면 내 예측 모드에 따라 화면 내 예측을 수행하여 예측 블록을 생성하기 위해 사용되는 참조 픽셀이 달라질 수 있다. 또한 어느 위치의 화소를 사용할 지에 대한 정보가 부호화되어 비트스트림에 포함될 수 있다.
또 다른 실시 예로서, 현재 블록과 인접한 주변 화소들의 특성을 고려하여 현재 블록의 예측 픽셀로 사용할 화소를 결정한 후 결정된 화소를 통해 현재 블록의 예측 블록을 생성할 수 있다. 구체적으로 현재 블록의 좌측 상단에 위치한 블록의 화소 값이 현재 블록의 좌측에 위치한 블록의 화소 값과 같거나 비슷하다면, 현재 블록에 대한 예측 블록은 현재 블록에 인접한 상단의 화소를 기초로 생성될 수 있다. 또한 현재 블록의 좌측 상단에 위치한 블록의 화소 값이 현재 블록의 상측에 위치한 블록의 화소 값과 같거나 비슷하다면, 현재 블록에 대한 예측 블록은 현재 블록에 인접한 좌측의 화소를 통해 생성할 수 있다.
또 다른 실시 예로서, 여러 예측 방법들을 혼합하여 그것의 평균값 혹은 각각의 방법에 따른 가중치의 합으로 예측 블록 영상을 구성하여 사용할 수 있다.
이 외에도 위와 같이 화면 내 예측 블록을 구성하는 방법은 다양하게 변경될 수 있다.
화면 간 예측 과정에서는 이전에 부호화된 후 복호화된 이전 프레임에서 현재 블록과 가장 유사한 블록을 가져와서 현재 블록에 대한 예측 블록을 생성한다.
생성된 예측 블록 영상은 현재 블록 영상과 차분되어 차분 블록 영상을 생성한다. 차분 블록 영상에 대해 변환 및 양자화, 그리고 엔트로피 부호화 과정이 수행되는지 혹은 수행되지 않는지에 따라 두 가지 방법으로 부호화되며, 차분 블록 영상에 대해 부호화가 수행되는지 여부의 정보는 비트스트림에 포함된다.
(1) 변환 및 양자화 과정을 수행하는 경우는 현재 블록 영상을 예측 블록 영상과 차분한 블록 영상에 변환 및 양자화한 후 엔트로피 부호화하여 비트스트림을 출력하고, 다시 엔트로피 부호화하기 전의 양자화된 계수를 역양자화 및 역변환하여 예측 블록 영상과 더한 후 현재 블록 영상을 복원한다.
(2) 변환 및 양자화 과정을 수행되지 않는 경우는 현재 블록 영상을 오직 예측 블록 영상만으로 구성한다. 여기서 차분 블록 영상은 부호화되지 않으며, 오직 차분 블록 영상에 대해 부호화가 수행되는지의 여부 정보만이 비트스트림에 포함된다. 이때 차분 블록을 부호화할지에 대한 여부 정보는 현재 블록의 주변 블록들의 부호화 여부 정보를 고려하여 확률적으로 산술 부호화를 수행할 수 있다.
전술한 바와 같이 화면 내 예측 블록만으로 현재 블록을 구성하는 방법을 인트라 스킵(intra_skip)모드라고 정의할 수 있고 인트라 스킵 모드로 부호화되는 블록의 경우, 현재 블록과 주변 블록과의 상관성이 아주 높을 수 있다. 따라서 이 경우에 디블록킹 필터링을 수행하지 않아도 영상의 단차가 존재하지 않을 수 있다.
이하 본 발명의 실시예에서는 인트라 스킵 모드에서 디블록킹 필터링의 경계 필터링 강도(bS)를 결정하는 방법에 대해 개시한다.
도 8은 본 발명의 실시예에 따른 디블록킹 필터링의 경계 필터링 강도(bS)를 결정하는 방법을 나타낸 개념도이다.
도 8을 참조하면, 경계 필터링 강도(bS, boundary strength)를 결정하기 위하여 우선 서로 인접하는 블록 p와 블록 q의 부호화 모드를 확인한다(단계 S800).
여기서 블록 p 또는 블록 q가 인트라 부호화 또는 인터 부호화되었다는 것은 블록 p 또는 블록 q가 인트라 부호화된 블록이거나 또는 이에 속한다는 것을 의미할 수 있다.
도 9는 본 발명의 실시예에 따른 블록 사이의 경계를 나타내기 위한 개념도이다.
도 9를 참조하면, 블록 p(900, 920)는 블록 경계에 대하여 좌측(900) 또는 위쪽(920)에 위치하는 블록을 나타내고, 블록 q(910, 930)는 블록 경계에 대하여 우측(910) 또는 아래쪽(930)에 위치하는 블록을 나타낸다.
도 8 및 도 9를 참조하면, 단계 S800을 통해서 경계 필터링 강도(bS)를 결정하기 위하여 우선 서로 인접하는 블록 p(900)와 블록 q(910) 중에서 적어도 하나의 블록이 인트라 스킵(intra_skip) 모드로 부호화되었는지 여부를 판단할 수 있다. 이하 본 발명의 실시예에서는 설명의 편의상 블록 p(900)와 블록 q(910)만을 고려하여 설명한다.
판단 결과, 만일 블록 p(900)와 블록 q(910) 중에서 인트라 스킵(intra_skip) 모드로 부호화된 블록이 하나 이상 존재하는 경우에는 경계 필터링 강도(bS)를 ‘0’으로 결정한다(단계 S810).
디블록킹 필터링을 수행시 필터링을 수행하는 강도를 정수 값으로 표현할 수 있다. 예를 들어, 경계 필터링 강도가 0~4의 정수 값을 가지고 0에서 4로 갈수록 더 강한 필터링을 수행하는 것을 의미할 수 있다. 경계 필터링 강도를 나타내는 정수 값은 임의적인 것으로서 변할 수 있다.
단계 S800을 통한 판단 결과, 블록 p(900)와 블록 q(910) 중에서 인트라 스킵(intra_skip) 모드로 부호화된 블록이 하나도 없다면, 블록 p(900)와 블록 q(910) 중에서 인트라 부호화된 블록(인트라 스킵 모드가 아닌 블록)이 하나 이상 존재하는 지를 판단할 수 있다(단계 S820).
단계 S820을 통한 판단 결과, 블록 p(900)와 블록 q(910) 중에서 화면 내 예측 방법을 사용하여 부호화된 블록이 하나 이상 존재하는 경우에는 ‘INTRA MODE’ 단계(단계 S823)로 진행하며, 반대로 블록 p(900)와 블록 q(910)가 모두 인터 부호화된 경우에는 ‘INTER MODE’ 단계(단계 S825)로 진행될 수 있다.
단계 S820을 통한 판단 결과, 블록 p(900)와 블록 q(910) 중에서 인트라 부호화된 블록이 적어도 하나 존재하는 것으로 판단된 경우에는, 블록 p(900)와 블록 q(910)의 경계가 매크로 블록의 경계와 일치하는지 여부를 판단할 수 있다(단계 S830).
단계 S830을 통한 판단 결과, 블록 p(900)와 블록 q(910)의 경계가 매크로블록의 경계와 일치하는 경우에는 경계 필터링 강도(bS)를 4로 결정한다(단계 S840). 반면, 블록 p(900)와 블록 q(910)의 경계가 매크로블록(Macroblock, MB)의 경계가 아닌 경우에는 경계 필터링 강도(bS)를 3으로 결정한다(단계 S850).
경계 필터링 강도(bS)가 4인 경우에는 후속하는 필터링 적용 절차에서 가장 강한 필터링이 적용되며, 경계 필터링 강도의 값이 작을수록 필터링의 강도는 약해진다. 본 발명의 실시예에서 사용되는 블록 사이의 경계가 매크로블록인지 여부를 판단하는 것은 매크로블록의 경계일수록 블록 사이에 단차가 커질 수 있기 때문에 블록 사이의 경계가 매크로블록인지 여부를 판단하여 필터링의 강도를 결정할 수 있다.
블록 사이의 경계가 매크로블록인지 여부를 판단하는 것은 블록 사이의 경계가 어떠한 경계의 성격을 가지고 있는지를 판단하는 하나의 예시로서 블록 사이의 경계의 성격을 다른 기준으로도 판단할 수 있고 이러한 실시예 또한 본 발명의 권리 범위에 포함된다. 즉, 블록 사이가 또 분할 부분(partition)의 다른 경계 값일 경우에도 필터링 강도를 다르게 적용하여 사용할 수 있다.
단계 S820을 통한 판단 결과, 블록 p(900)와 블록 q(910)가 모두가 화면 간 예측을 사용하여 예측된 블록인 것으로 판단된 경우에는, 블록 p(900)와 블록 q(910) 중에서 적어도 하나의 블록이 직교 변환 계수(Non-zero Transform Coefficient)를 가지는지 여부를 판단한다(단계 S860).
직교 변환 계수는 코딩된 계수(Coded Coefficient) 또는 0이 아닌 변환 계수(Non-zero Transformed Coefficient)라고도 한다. 판단 결과, 블록 p(900)와 블록 q(910)의 경계가 직교 변환 계수를 가지는 블록이 하나 이상 존재하는 경우에는 경계 필터링 강도(bS)를 2로 결정한다(단계 S870). 반면, 그렇지 않은 경우에는 다음 단계 S880으로 진행된다.
단계 S880에서는 블록 p(900)와 블록 q(910)에 대하여 움직임 벡터의 일 성분 즉, x축 성분 또는 y축 성분의 차의 절대값이 1(혹은 4)과 같거나 더 큰지 및/또는 움직임 보상에서의 참조 프레임이 다른지 및/또는 PU 파티션 경계인지를 판단한다. 여기서, '참조 프레임이 다르다는 것'은 참조 프레임 자체가 다르다는 것과 참조 프레임의 개수가 다르다는 것을 모두 포함할 수 있다.
단계 S880의 판단 결과, 움직임 벡터의 차의 절대값 중에서 적어도 하나가 1(또는 4)이상이 되거나 또는 움직임 보상에서의 참조 프레임이 다른 경우에는 경계 필터링 강도(bS)를 1로 결정한다(단계 S890). 반면, 움직임 벡터의 차의 절대값이 모두 1(또는 4)보다 작고 또한 움직임 보상에서의 참조 프레임이 같은 경우에는 경계 필터링 강도(bS)를 0으로 결정한다(단계 S810). 경계 필터링 강도(bS)가 0이라는 것은 후속하는 필터링 적용 절차에서 필터링을 수행하지 않는 것을 나타낼 수 있다.
본 발명의 또 다른 실시예에 따르면, 인트라 스킵(intra_skip) 모드로 부호화되었을 경우, 경계필터링 강도(bS)의 결정은 아래와 같이 다양하게 적용할 수 있다.
(1) 현재 블록과 주변 블록의 화면 내 예측 모드가 모두 인트라 스킵(intra_skip)모드일 경우에 현재 블록과 주변 블록 사이의 경계 필터링 강도를 ‘0’으로 설정할 수 있다.
전술한 도 8에서와 같이 현재 블록과 주변 블록의 화면 내 예측 모드가 모두 인트라 스킵(intra_skip)모드인지 여부를 판단하여 현재 블록과 주변 블록 사이의 필터링 강도를 설정할 수 있다.
(2) 현재 블록과 주변 블록 중에서 적어도 한 블록의 화면 내 예측 모드가 인트라 스킵(intra_skip) 모드일 경우에 현재 블록과 주변 블록 사이의 경계 필터링 강도를 ‘0’으로 설정할 수 있다.
(3) 현재 블록과 주변 블록 중에서 하나의 블록은 인트라 스킵(intra_skip) 모드를 사용하여 부호화되는 블록이고 다른 블록은 일반적인 화면 내 예측 모드를 사용하여 부호화되거나 화면 간 예측 모드를 사용하여 부호화된 블록일 수 있다.
이러한 경우, 인트라 스킵 모드를 사용하지 않은 블록에서 직교 변환 계수를 하나라도 포함하고 있는 경우에는 현재 블록과 주변 블록 사이의 경계 필터링 강도를 ‘4’로 설정할 수 있으며 그렇지 않은 경우에는 필터링 강도를 ‘0’로 설정하는 방법으로 직교 변환 계수의 유무에 따라 경계 필터링 강도를 다르게 설정할 수 있다.
(4) 현재 블록에 인접한 주변 블록의 부호화 모드가 모두 인트라 스킵(intra_skip)모드일 경우, 현재 블록과 주변 블록의 화면 내 예측 모드가 같을 경우, 경계 필터링 강도를 ‘0’으로 설정하고 다른 경우에는 경계 필터링 강도를 ‘1’로 설정하거나 그 이외의 값(2, 3, 4)으로 설정하는 방법으로 주변 블록과 현재 블록의 인트라 스킵 모드를 사용시 사용하는 화면 내 예측 모드에 따라 필터링 강도를 적응적으로 변화시킬 수 있다.
도 10은 본 발명의 실시예에 따른 인트라 스킵 모드를 사용시 사용하는 화면 내 예측 모드에 따라 필터링 강도를 적응적으로 변화시키는 방법을 나타낸 개념도이다.
도 10을 참조하면, 현재 블록(X, 1010)의 수직 방향의 매크로 블록 경계에 대하여 디블록킹의 필터링 강도를 설정하고 할 때, 주변 블록(A, 1000)의 예측 방향과 현재 블록(X, 1010)의 화면 내 예측 모드가 동일하므로 디블록킹의 필터링 강도를 ‘0’으로 설정할 수 있다. 현재 블록(X, 1030)와 주변 블록(B, 1020)의 수평 방향의 매크로 블록 경계에서도 현재 블록(X, 1030)와 주변 블록(B, 1020)의 화면 내 예측 모드가 동일할 때에도 디블록킹의 필터링 강도를 ‘0’으로 설정할 수 있다.
이외에도 경계 필터링 강도(bS)를 결정하는 방법은 여러가지 방법을 사용할 수 있다.
도 11은 본 발명의 실시예에 따른 인트라 스킵 모드로 화면 내 예측 방법을 수행하는 경우를 나타내는 블록도이다.
도 11을 참조하면, 비트스트림을 입력받아 복호화하여 재구성된 영상을 출력한다. 엔트로피 복호화부(1100)에서는 먼저 비트스트림에서 현재 블록 영상에 대한 차분 블록 영상 정보의 부호화 여부 정보를 복호화한다.
이때 부호화 여부 정보에 대한 복호화는 현재 블록의 주변 블록들의 부호화 여부 정보를 통해 확률적으로 산술 복호화를 수행할 수 있다.
만약 현재 블록 영상에 대한 차분 블록 영상 정보가 존재한다면, 현재 블록 영상은 확률 분포에 따른 가변길이 복호화를 수행하여 양자화된 계수(Quantized Coefficient)를 출력한다. 양자화된 계수는 역양자화 과정과 역변환 과정을 수행하여 차분 블록 영상을 출력하며, 차분 블록 영상은 화면 내 예측을 수행한 예측 블록 영상과 더해져서 복원된 현재 블록 영상을 생성한다.
만약 현재 블록 영상에 대한 차분 블록 영상 정보가 존재하지 않는 인트라 스킵 모드인 경우, 현재 블록 영상이 화면 내 예측을 수행한 블록으로 영상을 복원할지 또는 화면 간 예측을 수행한 블록으로 영상을 복원할지에 대한 정보를 복호화하여 예측 방법 결정 과정(1120)으로 출력한다.
예측 방법 결정 과정(1120)에서는 복호화된 정보에 따라 영상 예측을 수행하여 영상을 복원하여 현재 블록 영상을 구성한다. 복원된 현재 블록 영상은 참조 영상 버퍼에 저장되어 추후에 출력될 수 있다.
전술한 인트라 스킵 모드를 국제 동영상 표준인 H.264/AVC에 실제 구현한 일 예로, 화면 내 예측 부호화만 수행할 경우(I 프레임임 경우)에 Macroblock layer(macroblock_layer) 신택스를 아래의 표 1과 같이 수정하여 구현할 수 있다.
<표 1>
신택스 중 “mb_intra_skip_run”과 “mb_intra_skip_flag”는 현재의 깊이 정보 맵 블록이 예측 영상만으로 구성되었다는 것을 의미할 수 있다. 현재의 깊이정보 맵 블록이 예측 영상만으로 구성되었다는 것은 현재 블록이 인트라 스킵(intra skip) 모드를 사용하여 부호화된 블록이라는 것으로 해석될 수 있다. 또한 인트라 모드(NxN 예측 모드 여기서 N은 16, 8, 4 등)이면서 차분 데이터가 없다는 것으로 해석될 수 있다.
“mb_intra_skip_run”은 엔트로피 부호화 방법이 컨텍스트 기반 적응적 가변 길이 부호화(CAVLC)에서 동작하고, “mb_intra_skip_flag”는 엔트로피 부호화 방법이 컨텍스트 기반 적응적 산술 부호화 CABAC에서 동작한다.
또한, 본 발명의 실시예에 따른 인트라 스킵 방법을 국제 동영상 표준인 H.264/AVC에 실제 구현한의 일 예로, 화면 내 부호화와 화면 간 부호화를 모두 수행할 경우(I 혹은 P 혹은 B 프레임임 경우)에 Macroblock layer(macroblock_layer) 신택스를 아래의 표 2와 같이 수정하여 구현할 수 있다.
<표 2>
“mb_intra_skip_flag”는 현재의 깊이 정보 맵 블록이 예측 영상만으로 구성되었다는 것을 의미한다. 만약 mb_intra_skip_flag”가 ‘1’일 경우에는 차분 블록 데이터를 파싱(parsing)하지 않는다. 그렇지 않고 mb_intra_skip_flag”가 ‘0’일 경우에는 기존의 방법대로 차분 블록 데이터를 파싱(parsing)한다. 여기서 차분 블록의 데이터를 파싱하지 않는 다는 것을 인트라 스킵(intra skip) 모드라는 것으로 해석될 수 있으며, 또한 인트라 모드(NxN 예측 모드 여기서 N은 16, 8, 4 등)이면서 차분 데이터가 없다는 것으로 해석될 수 있다.
도 12는 본 발명의 실시예에 따른 화소간 상관성이 높은 영상에 대한 화면 내 부호화 시 현재 블록 영상을 주변 블록을 이용한 예측 블록만으로 구성하는 방법을 나타낸 블록도이다.
도 12를 참조하면, 예측 영상 생성부(1200)에서는 화면 내 예측 과정을 통해 예측 블록을 생성하거나 또는 화면 간 예측 과정을 통해 예측 블록을 생성한다. 자세한 생성 방법은 전술한 바와 같다. 예측 영상 선택부(1210)에서는 예측 영상 생성부(1200)에서 생성한 예측 영상들 중에서 가장 부호화 효율이 우수한 것을 선택하며, 예측 영상 선택 정보는 비트스트림에 포함된다. 감산부(1220)에서는 현재 블록 영상을 예측 블록 영상과 차분하여 차분 블록 영상을 생성한다.
부호화 판단부(1230)에서는 차분된 블록 영상에 대한 부호화 여부를 결정하여, 부호화 여부 정보를 출력한다. 부호화부(1240)에서는 부호화 판단부(1230)에서 결정한 부호화 여부 정보에 따라 수행 여부가 결정되며, 차분 블록 영상에 대해 변환 및 양자화 그리고 엔트로피 부호화 과정을 거친 후 압축된 비트스트림을 출력한다. 인트라 스킵 모드와 같이 차분 블록을 부호화하지 않는 경우 부호화부에서는 차분 블록의 화소 정보를 따로 부호화하지 않을 수 있다.
다중화부(1250)에서는 부호화부(1240)에서 출력된 압축된 차분 블록 영상에 대한 비트스트림과 부호화 판단부(1230)에서 출력된 부호화 여부 정보, 그리고 예측 영상 선택부(1210)에서 출력된 예측 영상 선택 정보를 혼합하여 하나의 비트스트림을 출력한다.
도 13은 본 발명의 실시예에 따른 화소간 상관성이 높은 영상에 대한 화면 내 부호화 시 현재 블록 영상을 주변 블록을 이용한 예측 블록만으로 구성하는 방법을 나타낸 블록도이다.
도 13을 참조하면, 역다중화부(1300)에서는 입력된 비트스트림에서 차분영상에 대한 정보가 비트스트림에 포함되었는지에 대한 복호화 여부 정보와 예측 영상 선택 정보를 복호화한다. 복호화 판단부(1310)에서는 복호화 여부 정보에 따라 복호화의 수행 여부를 결정한다. 복호화부(1320)는 복호화 여부 정보에 따라 비트스트림에 차분 영상에 대한 정보가 존재할 경우에만 수행된다. 복호화부(1320)에서는 역양자화와 역변환 과정을 거쳐서 차분 영상을 복원한다.
예측 영상 생성부(1350)에서는 화면 내 예측 과정을 통해 예측 블록을 생성하거나 혹은 화면 간 예측 과정을 통해 예측 블록을 생성한다. 예측 영상 결정부(1340)에서는 예측 영상 선택 정보를 통해 예측 영상 생성부(1350)에서 생성한 예측 영상 중에서 현재 블록에 대한 최적의 예측 영상을 결정한다. 가산부(1330)에서는 생성된 예측 영상과 복원된 차분 영상을 더하여 복원된 영상을 구성한다. 이때 복원된 차분 영상이 존재하지 않는다면 예측 영상이 복원된 영상으로 구성된다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (14)
- 화면 내 예측 방법에 있어서,
복수의 주변 블록의 화면 내 예측 모드를 판단하여 현재 블록의 화면 내 예측 모드의 예측 값인 복수의 후보 화면 내 예측 모드를 산출하는 단계;
상기 복수의 후보 화면 내 예측 모드를 기초로 현재 블록의 화면 내 예측 모드를 예측한 값을 기초로 상기 현재 블록의 화면 내 예측 모드를 결정하는 단계; 및
상기 현재 블록이 인트라 스킵 모드(intra skip mode)를 사용하는 경우 상기 현재 블록의 화면 내 예측 모드를 기초로 생성된 예측 블록을 디블록킹 필터를 통해 필터링한 블록을 복원 블록으로 출력하는 단계를 포함하는 화면 내 예측 방법. - 제1항에 있어서, 상기 복수의 후보 화면 내 예측 모드를 기초로 현재 블록의 화면 내 예측 모드를 예측한 값을 기초로 상기 현재 블록의 화면 내 예측 모드를 결정하는 단계는,
제1 주변 블록으로부터 제1 후보 화면 내 예측 모드, 제2 주변 블록으로부터 제2 후보 화면 내 예측 모드, 제3 주변 블록으로부터 제3 후보 화면 내 예측 모드를 유도하는 단계; 및
상기 제1 후보 화면 내 예측 모드, 상기 제2 후보 화면 내 예측 모드, 상기 제3 후보 화면 내 예측 모드 중 적어도 두 개의 화면 내 예측 모드가 동일한지 여부를 고려하여 상기 현재 블록의 화면 내 예측 모드를 결정하는 단계를 포함하는 화면 내 예측 방법. - 제1항에 있어서,
상기 현재 블록이 인트라 스킵 모드를 사용하지 않는 경우 상기 현재 블록에 접해있는 블록이 상기 인트라 스킵 모드를 사용하는지 여부를 판단하는 단계; 및
상기 판단 결과를 기초로 상기 디블록킹 필터의 필터링 방법을 결정하는 단계를 포함하는 화면 내 예측 방법. - 제3항에 있어서, 상기 판단 결과를 기초로 상기 디블록킹 필터의 필터링 방법을 결정하는 단계는,
상기 현재 블록에 접해있는 블록이 상기 인트라 스킵 모드를 사용한 경우, 상기 디블록킹 필터의 필터링 강도를 가장 작은 값으로 결정하는 단계; 및
상기 현재 블록에 접해있는 블록이 상기 인트라 스킵 모드를 사용하지 않는 경우 상기 현재 블록에 접해있는 블록이 화면 내 예측 방법을 사용하였는지 여부를 판단하여 상기 디블록킹 필터의 필터링 강도를 결정하는 단계를 포함하는 화면 내 예측 방법. - 제1항에 있어서, 상기 현재 블록은,
영상의 깊이 정보를 포함하는 블록인 화면 내 예측 방법. - 제1항에 있어서,
상기 현재 블록이 인트라 스킵 모드로 부호화되었는지 여부를 판단하는 단계를 더 포함하는 화면 내 예측 방법. - 제6항에 있어서, 상기 현재 블록이 인트라 스킵 모드로 부호화되었는지 여부를 판단하는 단계는,
현재 블록이 인트라 스킵 부호화되었는지 여부에 대한 플래그 정보를 기초로 상기 현재 블록이 인트라 스킵 모드로 부호화되었는지 여부를 판단하는 화면 내 예측 방법. - 영상 복호화 장치에 있어서,
복수의 주변 블록의 화면 내 예측 모드를 판단하여 현재 블록의 화면 내 예측 모드의 예측 값인 복수의 후보 화면 내 예측 모드를 산출하고 상기 복수의 후보 화면 내 예측 모드를 기초로 현재 블록의 화면 내 예측 모드를 예측한 값을 기초로 상기 현재 블록의 화면 내 예측 모드를 결정하는 예측부; 및
상기 현재 블록이 인트라 스킵 모드(intra skip mode)를 사용하는 경우 상기 현재 블록의 화면 내 예측 모드를 기초로 생성된 예측 블록을 디블록킹 필터를 통해 필터링하는 필터부를 포함하는 영상 복호화 장치. - 제8항에 있어서, 상기 예측부는,
제1 주변 블록으로부터 제1 후보 화면 내 예측 모드, 제2 주변 블록으로부터 제2 후보 화면 내 예측 모드, 제3 주변 블록으로부터 제3 후보 화면 내 예측 모드를 유도하고 상기 제1 후보 화면 내 예측 모드, 상기 제2 후보 화면 내 예측 모드, 상기 제3 후보 화면 내 예측 모드 중 적어도 두 개의 화면 내 예측 모드가 동일한지 여부를 고려하여 상기 현재 블록의 화면 내 예측 모드를 결정하도록 구현되는 영상 복호화 장치. - 제8항에 있어서, 상기 필터링부는,
상기 현재 블록에 접해있는 블록이 상기 인트라 스킵 모드를 사용하는지 여부를 판단하고 상기 판단 결과를 기초로 상기 디블록킹 필터의 필터링 방법을 결정하도록 구현되는 영상 복호화 장치. - 제10항에 있어서, 상기 필터링부는,
상기 현재 블록에 접해있는 블록이 상기 인트라 스킵 모드를 사용한 경우, 상기 디블록킹 필터의 필터링 강도를 가장 작은 값으로 결정하고 상기 현재 블록에 접해있는 블록이 상기 인트라 스킵 모드를 사용하지 않는 경우 상기 현재 블록에 접해있는 블록이 화면 내 예측 방법을 사용하였는지 여부를 판단하여 상기 디블록킹 필터의 필터링 강도를 결정하도록 구현되는 영상 복호화 장치. - 제8항에 있어서, 상기 현재 블록은,
영상의 깊이 정보를 포함하는 블록인 영상 복호화 장치. - 제8항에 있어서, 상기 예측부는,
상기 현재 블록이 인트라 스킵 모드로 부호화되었는지 여부를 판단하도록 구현되는 영상 복호화 장치. - 제13항에 있어서, 상기 예측부는,
현재 블록이 인트라 스킵 부호화되었는지 여부에 대한 플래그 정보를 기초로 상기 현재 블록이 인트라 스킵 모드로 부호화되었는지 여부를 판단하도록 구현되는 영상 복호화 장치.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2012-0008004 | 2012-01-26 | ||
KR20120008004 | 2012-01-26 | ||
KR20120013189 | 2012-02-09 | ||
KR10-2012-0013189 | 2012-02-09 | ||
KR1020130007910A KR20130086980A (ko) | 2012-01-26 | 2013-01-24 | 화면 내 예측을 수행한 블록에 대한 디블록킹 방법 및 장치 |
KR10-2013-0007910 | 2013-01-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013111977A1 true WO2013111977A1 (ko) | 2013-08-01 |
Family
ID=48873660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2013/000580 WO2013111977A1 (ko) | 2012-01-26 | 2013-01-24 | 화면 내 예측을 수행한 블록에 대한 디블록킹 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2013111977A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105828084A (zh) * | 2016-03-30 | 2016-08-03 | 腾讯科技(深圳)有限公司 | Hevc帧间编码处理方法和装置 |
CN109565593A (zh) * | 2016-08-01 | 2019-04-02 | 韩国电子通信研究院 | 图像编码/解码方法和设备以及存储比特流的记录介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005529527A (ja) * | 2002-06-11 | 2005-09-29 | ノキア コーポレイション | イントラ符号化に基づく空間予測 |
KR20090103776A (ko) * | 2008-03-27 | 2009-10-01 | 엘지전자 주식회사 | 비디오 신호의 인코딩 또는 디코딩 방법 및 장치 |
KR20110014000A (ko) * | 2009-08-04 | 2011-02-10 | 광운대학교 산학협력단 | 영상 데이터의 디블록킹 필터링 장치 및 방법과 이를 이용한 영상 복호화 장치 및 방법 |
KR20110073154A (ko) * | 2009-12-21 | 2011-06-29 | 한국전자통신연구원 | 영상 부호화/복호화 장치 및 방법 |
KR20110083366A (ko) * | 2010-01-14 | 2011-07-20 | 삼성전자주식회사 | 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
-
2013
- 2013-01-24 WO PCT/KR2013/000580 patent/WO2013111977A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005529527A (ja) * | 2002-06-11 | 2005-09-29 | ノキア コーポレイション | イントラ符号化に基づく空間予測 |
KR20090103776A (ko) * | 2008-03-27 | 2009-10-01 | 엘지전자 주식회사 | 비디오 신호의 인코딩 또는 디코딩 방법 및 장치 |
KR20110014000A (ko) * | 2009-08-04 | 2011-02-10 | 광운대학교 산학협력단 | 영상 데이터의 디블록킹 필터링 장치 및 방법과 이를 이용한 영상 복호화 장치 및 방법 |
KR20110073154A (ko) * | 2009-12-21 | 2011-06-29 | 한국전자통신연구원 | 영상 부호화/복호화 장치 및 방법 |
KR20110083366A (ko) * | 2010-01-14 | 2011-07-20 | 삼성전자주식회사 | 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105828084A (zh) * | 2016-03-30 | 2016-08-03 | 腾讯科技(深圳)有限公司 | Hevc帧间编码处理方法和装置 |
CN109565593A (zh) * | 2016-08-01 | 2019-04-02 | 韩国电子通信研究院 | 图像编码/解码方法和设备以及存储比特流的记录介质 |
CN109565593B (zh) * | 2016-08-01 | 2023-07-04 | 韩国电子通信研究院 | 图像编码/解码方法和设备以及存储比特流的记录介质 |
US11800116B2 (en) | 2016-08-01 | 2023-10-24 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and apparatus with sub-block intra prediction |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7241148B2 (ja) | 映像符号化/復号化方法及びその装置 | |
KR102585969B1 (ko) | 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치 | |
US10542281B2 (en) | Image encoding method and image decoding method | |
US11523133B2 (en) | Image encoding method using a skip mode, and a device using the method | |
KR20130034559A (ko) | 인트라 예측 모드 부호화/복호화 방법 및 장치 | |
KR20140019221A (ko) | 인루프 필터링 방법 및 이를 이용하는 장치 | |
KR20130085392A (ko) | 인트라 예측 처리 속도 향상을 위한 비디오의 부호화 방법 및 장치, 비디오의 복호화 방법 및 장치 | |
WO2013048033A1 (ko) | 인트라 예측 모드 부호화/복호화 방법 및 장치 | |
JP2012028863A (ja) | 動画像符号化装置 | |
KR102602978B1 (ko) | 디블록킹 필터링의 경계 필터링 강도 결정 방법 및 장치 | |
WO2013111977A1 (ko) | 화면 내 예측을 수행한 블록에 대한 디블록킹 방법 및 장치 | |
KR20130086980A (ko) | 화면 내 예측을 수행한 블록에 대한 디블록킹 방법 및 장치 | |
KR20140124434A (ko) | 깊이 정보 맵 부호화/복호화 방법 및 장치 | |
KR20220160667A (ko) | 분리된 변환 분할 | |
WO2013005966A2 (ko) | 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치 | |
KR20140082915A (ko) | 다중 계층 비디오의 계층 간 부호화/복호화 장치 및 방법 | |
KR20140048806A (ko) | 공간 해상도에 기반한 계층 간 예측 장치 및 방법 | |
KR20130116196A (ko) | 인트라 예측 모드 복호화 방법 및 장치 | |
KR20140124432A (ko) | 깊이 정보 맵 부호화/복호화 방법 및 장치 | |
KR20140124433A (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: 13741357 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13741357 Country of ref document: EP Kind code of ref document: A1 |