WO2014014276A1 - 인루프 필터링 방법 및 이를 이용하는 장치 - Google Patents

인루프 필터링 방법 및 이를 이용하는 장치 Download PDF

Info

Publication number
WO2014014276A1
WO2014014276A1 PCT/KR2013/006401 KR2013006401W WO2014014276A1 WO 2014014276 A1 WO2014014276 A1 WO 2014014276A1 KR 2013006401 W KR2013006401 W KR 2013006401W WO 2014014276 A1 WO2014014276 A1 WO 2014014276A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
prediction
current block
boundary
filtering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/KR2013/006401
Other languages
English (en)
French (fr)
Inventor
방건
정원식
허남호
김경용
박광훈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Kyung Hee University
Original Assignee
Electronics and Telecommunications Research Institute ETRI
Kyung Hee University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electronics and Telecommunications Research Institute ETRI, Kyung Hee University filed Critical Electronics and Telecommunications Research Institute ETRI
Priority to US14/399,823 priority Critical patent/US20150146779A1/en
Priority claimed from KR1020130084336A external-priority patent/KR20140019221A/ko
Publication of WO2014014276A1 publication Critical patent/WO2014014276A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Definitions

  • the present invention relates to an encoding and decoding process of an image, and more particularly, to an in-loop filling method of an image and an apparatus using the same.
  • an inter prediction technique for predicting pixel values included in a current picture from a previous and / or subsequent picture in time, and predicting pixel values included in a current picture using pixel information in the current picture.
  • An intra prediction technique an entropy encoding technique of allocating a short code to a symbol with a high frequency of appearance and a long code to a symbol with a low frequency of appearance may be used.
  • Video compression technology is a technology that provides a constant network bandwidth under a limited operating environment of hardware without considering a fluid network environment.
  • a new compression technique is required to compress image data applied to a network environment in which bandwidth changes frequently, and a scalable video encoding / decoding method may be used for this purpose.
  • the 3D video vividly provides the user with a three-dimensional effect as seen and felt in the real world through the three-dimensional stereoscopic display device.
  • three-dimensional video standards are underway in MPEG of the video standardization organization ISO / IEC.
  • the 3D video standard includes standards for advanced data formats and related technologies that can support not only stereoscopic images but also autostereoscopic images using real images and their depth information maps.
  • FIG. 1 is a diagram illustrating the basic structure and data format of a 3D video system, and shows an example of a system currently considered in a 3rd video standard.
  • a 3D Content Production side generates a stereo camera, a depth camera, a multi-camera setup, and a two-dimensional image as a three-dimensional image. 2D / 3D conversion is used to acquire the image content at the time of N (N ⁇ 2).
  • the acquired image content may include video information of N viewpoints (N x Video), depth-map information thereof, and camera-related additional information.
  • the video content of the N view is compressed using a multi-view video encoding method (Multi-View), and the compressed bitstream is transmitted to the terminal through a network, for example, through digital video broadcasting (DVB).
  • Multi-View multi-view video encoding method
  • DVD digital video broadcasting
  • the receiving side decodes the received bitstream by using a multi-view video decoding method (Depth-Image? Based Rendering) to restore an image of N views.
  • a multi-view video decoding method (Depth-Image? Based Rendering) to restore 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 generated virtual viewpoint images of N or more views are reproduced according to various stereoscopic display devices (for example, 2D display, M-View 3D display, and head-tracked stereo display) to provide a stereoscopic image to the user.
  • various stereoscopic display devices for example, 2D display, M-View 3D display, and head-tracked stereo display
  • the depth information map used to generate the virtual view image represents a distance between the camera and the real object in the real world (depth information corresponding to each pixel at the same resolution as the real image) in a constant number of bits.
  • FIG. 2 is a diagram illustrating a depth information map of “balloons” images used in the 3D video coding standard of MPEG, an international standardization organization.
  • FIG. 2 (a) is an actual image of the “balloons” image and shows a depth information map of the (b) balloons ”image of FIG. 2. (b) represents depth information at 8 bits per pixel.
  • FIG. 3 is a diagram illustrating an example of an encoding structure diagram of H.264.
  • the encoding structure of H.264 is generally known to have the highest coding efficiency among video coding standards developed to date for encoding the depth information map.
  • a unit for processing data in an H.264 encoding structure diagram is a macroblock having a size of 16x16 pixels, and receives an image and performs encoding in an intra mode or an inter mode. And output the bitstream.
  • the switch In the intra mode, the switch is switched to intra, and in the inter mode, the switch is switched to inter.
  • the main flow of the encoding process is to first generate a prediction block for the input block image, then obtain the difference between the input block and the prediction block and encode the difference.
  • the generation of the prediction block is performed according to the intra mode and the inter mode.
  • a prediction block is generated by spatial prediction by using neighboring pixel values already encoded in the current block in the intra prediction process.
  • the motion vector is found from the reference image stored in the reference image buffer to find the best match with the currently input block, and then motion compensation is performed using the obtained motion vector. By generating the predictive block.
  • a residual block is generated by obtaining a difference between a currently input block and a prediction block, and then encoded.
  • the method of encoding a block is largely divided into an intra mode and an inter mode.
  • the intra mode is divided into 16x16, 8x8, and 4x4 intra modes
  • the inter mode is divided into 16x16, 16x8, 8x16, and 8x8 inter modes.
  • 8x8 inter mode it is divided into 8x8, 8x4, 4x8 and 4x4 sub inter mode.
  • Encoding of the residual block is performed in the order of transform, quantization, and entropy encoding.
  • the block encoded in the 16x16 intra mode performs transform on the differential block, and outputs transform coefficients, and collects only DC coefficients from the output transform coefficients and performs Hadamard transform again to output hard-mad transformed DC coefficients.
  • the transform process receives the input residual block, performs transform, and outputs a transform coefficient.
  • the quantization process outputs a quantized coefficient obtained by performing quantization on the input transform coefficient according to the quantization parameter.
  • the input quantized coefficients are subjected to entropy encoding according to a probability distribution, and are output as a bitstream.
  • H.264 performs inter-frame predictive encoding, it is necessary to decode and store the currently encoded image for use as a reference image of a later input image. Therefore, by performing inverse quantization and inverse transformation on the quantized coefficients, a reconstructed block is generated through a predictive image and an adder, and then a blocking artifact generated during the encoding process is removed by a deblocking filter, and then stored in a reference image buffer. do.
  • FIG. 4 is a diagram illustrating an example of a decoding structure diagram of H.264.
  • a unit for processing data in an H.264 decoding structure diagram is a macroblock having a size of 16x16 pixels, and decoding in an intra mode or an inter mode by receiving a bitstream. The reconstructed image is output.
  • the switch In the intra mode, the switch is switched to intra, and in the inter mode, the switch is switched to inter.
  • the main flow of the decoding process is to first generate a prediction block, and then decode the input bitstream to generate a reconstructed block by adding the block and the prediction block.
  • the generation of the prediction block is performed according to the intra mode and the inter mode.
  • the prediction block is generated by performing spatial prediction using the neighboring pixel values of the current block in the intra prediction process, and in the inter mode, the prediction block is stored using the motion vector.
  • the prediction block is generated by finding a region in the reference image and performing motion compensation.
  • quantized coefficients are output by performing entropy decoding on the input bitstream according to a probability distribution.
  • the quantized coefficients are subjected to inverse quantization and inverse transformation to generate a reconstructed block through a predictive image and an adder, and then remove a blocking artifact through a deblocking filter, and store them in a reference image buffer.
  • HEVC High Efficiency Video Coding
  • MPEG Moving Picture Experts Group
  • VCEG Video Coding Experts Group
  • the goal is to encode at twice the compression efficiency.
  • 3D broadcasting and mobile communication networks can provide high quality video at lower frequencies than currently available.
  • the present invention provides a method for determining a boundary filtering strength (bS) of a boundary adjacent to a block to which a skip coding mode is applied in a screen is 0 when determining a boundary filtering strength when using a deblocking filter among in-loop filtering methods, and an apparatus using the same. Is in.
  • Another technical problem of the present invention is to reduce the complexity in video encoding and decoding, and to improve the quality of the virtual image generated through the decoded depth image.
  • Another object of the present invention is to provide an image encoding method, a sampling method, and a filtering method for a depth information map.
  • An image decoding method may include generating a predicted pixel value of a neighboring block adjacent to a current block as a pixel value of the current block when intra prediction of a depth information map.
  • the configuring of the prediction image may include copying (padding) peripheral pixels adjacent to a current block to configure an intra prediction image, determining pixels to be copied in consideration of characteristics of neighboring pixels adjacent to the current block, and then determining the determined pixels.
  • the method may be configured by at least one of a method of constructing a current block and a method of constructing and using a predicted block image using a sum of weights according to respective methods or a mean value of a mixture of a plurality of prediction methods.
  • An image decoding method for depth information includes generating a prediction block for a current block of the depth information; Generating a reconstruction block of the current block based on the prediction block; And performing filtering on the reconstructed block, and whether to perform the filtering may be determined according to block information of the current block and encoding information of the current block.
  • the encoding information includes information about a portion having the same depth, a portion to be a background, and a portion corresponding to the inside of the object in the reconstructed image, and a portion having the same depth, a portion to be a background, and an object in the restoration block.
  • the filtering may not be performed on at least one of the portions corresponding to the internal portions.
  • a deblocking filter, a sample adaptive offset filter (SAO) filter, and an adaptive loop are included in at least one of a portion having the same depth, a background portion, and a portion corresponding to a portion inside the object in the reconstruction block.
  • At least one of an adaptive loop filter (ALF) and in-loop joint inter-view depth filtering (JVDF) may not be performed.
  • the encoding information includes information about a portion having the same depth, a background portion, and a portion corresponding to the inside of the object in the restoration block, and the portion having the same depth, the portion that is a background, and the object in the restoration block.
  • Weak filtering may be performed on at least one of the portions corresponding to the portion corresponding to the inside.
  • the method may include performing upsampling on the reconstructed block, and the upsampling may pad one sample value to a predetermined number of sample values.
  • the upsampling may not be performed in at least one of a portion having the same depth, a background portion, and a portion corresponding to the inside of the object in the restoration block.
  • the filtering of the reconstructed block may include determining boundary filtering strengths of two adjacent blocks; And applying filtering on the pixel values of the two blocks according to the boundary filtering intensity, and determining the boundary filtering intensity includes whether at least one block of two adjacent blocks is intraskip coded.
  • Determining If it is determined that both of the two blocks are not intra skip coded, determining whether at least one block of two adjacent blocks is intra coded; If it is determined that both blocks are not intra coded, determining whether at least one of the two blocks has an orthogonal transform coefficient; If it is determined that the two blocks do not have orthogonal transform coefficients, at least one of the absolute value of the difference between the x-axis component or the y-axis component of the motion vector with respect to the two blocks is 1 (or 4) or Or determining whether motion compensation is performed based on another reference frame; And determining whether the absolute values of the differences of the motion vectors are all less than 1 (or 4) and whether the motion compensation is performed based on the same reference frame.
  • the boundary filtering strength bS may be determined to be zero.
  • the boundary filtering strength may be determined as one of 0, 1, 2, and 3. .
  • generating the prediction block may infer a prediction direction for the current block from a neighboring block adjacent to the current block.
  • the filtering of the reconstructed block may include determining boundary filtering strengths of two adjacent blocks; And applying filtering on the pixel values of the two blocks according to the boundary filtering intensity, and determining the boundary filtering intensity when the prediction direction of the current block and a neighboring block adjacent to the current block is the same.
  • the boundary filtering intensity bS may be determined as 0.
  • the filtering of the reconstructed block may include determining boundary filtering strengths of two adjacent blocks; Applying filtering of the pixel values of the two blocks according to the boundary filtering intensity, and determining the boundary filtering intensity is an intra skip in which the prediction mode of the current block does not exist difference information, If the intra prediction direction for the current block is the horizontal direction, the boundary filtering intensity for the vertical boundary of the current block is set to '0', and the prediction mode of the current block is intra skip without difference information. When the intra prediction direction for the current block is a vertical direction, the boundary filtering intensity for the horizontal boundary of the current block may be set to '0'.
  • the filtering of the reconstructed block may include determining boundary filtering strengths of two adjacent blocks; And applying filtering on the pixel values of the two blocks according to the boundary filtering intensity, wherein determining the boundary filtering intensity includes a boundary between the current block and a neighboring block adjacent to the current block. If the boundary matches, the boundary filtering strength may be set to '0'.
  • the image decoding apparatus for depth information includes a prediction image generation unit for generating a prediction block for the current block of the depth information and an addition for generating a reconstruction block of the current block based on the prediction block. Wealth;
  • a filter unit configured to perform filtering on the reconstruction block, wherein the filter unit comprises: a boundary filtering intensity determiner for determining boundary filtering strengths of two adjacent blocks; And a filtering applying unit for applying filtering on the pixel values of the two blocks according to the boundary filtering strength.
  • the boundary filtering strength determiner may determine the boundary filtering strength bS as 0 when at least one block of two adjacent blocks is intraskip coded.
  • the boundary filtering strength determiner determines that one block of two adjacent blocks is an intraskip coding mode and the other block is a general coding mode (intra or inter), and when there are at least one orthogonal transform coefficient in the general coding mode.
  • the boundary filtering intensity bS may be determined as one of 1, 2, 3, and 4.
  • a method for determining a boundary filtering strength (bS) of a boundary adjacent to a block to which an in-screen skip coding mode is applied is 0 when determining a boundary filtering strength when using a deblocking filter in an in-loop filtering method and an apparatus using the same.
  • the complexity of video encoding and decoding is reduced, and the image quality of the virtual image generated through the decoded depth image is thereby improved.
  • an image encoding method, a sampling method, and a filtering method for a depth information map are provided.
  • 1 is a diagram illustrating the basic structure and data format of a 3D video system.
  • FIG. 2 is a diagram illustrating a depth information map for an image of "balloons”.
  • FIG. 3 is a diagram illustrating an example of an encoding structure diagram of H.264.
  • FIG. 4 is a diagram illustrating an example of a decoding structure diagram of H.264.
  • FIG. 5 is a control block diagram illustrating a configuration of a video encoding apparatus according to an embodiment of the present invention.
  • FIG. 6 is a control block diagram illustrating a configuration of a video decoding apparatus according to an embodiment of the present invention.
  • 7A is a diagram illustrating a depth information map for a “kendo” image.
  • FIG. 7B is a 2D graph showing pixel values in a horizontal direction at an arbitrary position of a depth information map for a “kendo” image.
  • FIG. 7C is a 2D graph showing pixel values in a horizontal direction at an arbitrary position of a depth information map for a kendo ”image.
  • FIG. 8 is a diagram illustrating a prediction method in a plane-based split screen.
  • FIG. 9 illustrates neighboring blocks used to infer a prediction direction for a current block according to an embodiment of the present invention.
  • FIG. 10 is a control flowchart illustrating a method of deriving an intra prediction direction with respect to a current block according to an embodiment of the present invention.
  • 11 is a control flowchart illustrating a method of deriving an intra prediction direction with respect to a current block according to another embodiment of the present invention.
  • FIG. 12 illustrates neighboring blocks used to infer a prediction direction for a current block according to another embodiment of the present invention.
  • FIG. 13 is a diagram illustrating an example of a down sampling method of a depth information map.
  • FIG. 14 is a diagram illustrating an example of an upsampling method of a depth information map.
  • 15 is a control flowchart illustrating a method of determining boundary filtering strength bS of deblocking filtering according to an embodiment of the present invention.
  • 16 is a diagram illustrating the boundary between adjacent blocks p and block q.
  • 17 is a control flowchart illustrating a method of determining boundary filtering strength bS of deblocking filtering according to another embodiment of the present invention.
  • FIG. 18 illustrates a prediction direction and a macroblock boundary of a current block and neighboring blocks according to an embodiment of the present invention.
  • 19 is a diagram illustrating an example of an encoding mode of a current block and a current block boundary.
  • 20 is a control block diagram illustrating a configuration of a video encoding apparatus according to an embodiment of the present invention.
  • 21 is a control block diagram illustrating a configuration of a video decoding apparatus 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. 5 is a block diagram illustrating a configuration of a video encoding apparatus according to an embodiment.
  • a scalable video encoding / decoding method or apparatus may be implemented by extension of a general video encoding / decoding method or apparatus that does not provide scalability, and the block diagram of FIG. 5 is scalable.
  • An embodiment of an image encoding apparatus that may be the basis of a video encoding apparatus is illustrated.
  • 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 deblocking filter unit 180, and a reference image buffer 190.
  • the image encoding apparatus 100 may perform encoding in an intra mode or an inter mode on an input image and output a bit stream.
  • Intra prediction means intra prediction and inter prediction means inter prediction.
  • the switch 115 is switched to intra, and in the inter mode, the switch 115 is switched to inter.
  • the image encoding apparatus 100 may generate a prediction block for an input block of an input image and then encode a difference between the input block and the prediction block.
  • the selection of encoding or not encoding the generated block may be determined to be excellent in terms of rate distortion.
  • the generation of the prediction block may be generated through intra prediction or may be generated through inter prediction. In this case, selection of whether to perform intra prediction or inter prediction may be determined to be excellent in encoding efficiency in terms of rate distortion.
  • the intra predictor 120 may generate 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 image buffer 190 during the motion prediction process.
  • the motion compensator 112 may generate a prediction block by performing motion compensation using the motion vector and the reference image stored in the reference image buffer 190.
  • the subtractor 125 may generate a residual block by the difference between the input block and the generated prediction block.
  • the transform unit 130 may output a transform coefficient by performing transform on the residual block.
  • the quantization unit 140 may output the quantized coefficient by quantizing the input transform coefficient according to the quantization parameter.
  • the entropy encoding unit 150 entropy encodes a symbol according to a probability distribution based on values calculated by the quantization unit 140 or encoding parameter values calculated in the encoding process, thereby generating a bit stream. You can print
  • the entropy encoding method is a method of receiving a symbol having various values and expressing it in a decodable column while removing statistical redundancy.
  • Encoding parameters are parameters necessary for encoding and decoding, and may include information that may be inferred during encoding or decoding, as well as information encoded by an encoder and transmitted to a decoder, such as syntax elements. Means necessary information. Coding parameters may be, for example, intra / inter prediction modes, moving / motion vectors, reference picture indexes, coding block patterns, presence or absence of residual signals, transform coefficients, quantized transform coefficients, quantization parameters, block sizes, block partitioning information, or the like. May include statistics.
  • the residual signal may mean a difference between the original signal and the prediction signal, and a signal in which the difference between the original signal and the prediction signal is transformed or a signal in which the difference between the original signal and the prediction signal is converted and quantized It may mean.
  • the residual signal may be referred to as a residual block in block units.
  • the entropy encoder 150 may store a table for performing entropy encoding, such as a variable length coding (VLC) table, and the entropy encoder 150 may store the stored variable length encoding. Entropy encoding may be performed using the (VLC) table. In addition, the entropy encoder 150 derives a binarization method of a target symbol and a probability model of a target symbol / bin, and then performs entropy encoding using the derived binarization method or a probability model. You may.
  • VLC variable length coding
  • CABAC context-adaptive binary arithmetic coding
  • the quantized coefficients may be 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 reconstruction block can be generated.
  • the reconstruction block passes through the deblocking filter unit 180, and the deblocking filter unit 180 restores at least one or more of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF). It can be applied to the reconstructed picture.
  • the reconstructed block that has passed through the deblocking filter unit 180 may be stored in the reference image buffer 190.
  • FIG. 6 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment.
  • a scalable video encoding / decoding method or apparatus may be implemented by extension of a general video encoding / decoding method or apparatus that does not provide scalability
  • the block diagram of FIG. 2 is scalable video decoding.
  • An embodiment of an image decoding apparatus that may be the basis of an apparatus is shown.
  • the image decoding apparatus 200 may include an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an intra predictor 240, a motion compensator 250, and deblocking.
  • the filter unit 260 and the reference image buffer 270 are included.
  • 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 generate a reconstructed block, that is, a reconstructed block by obtaining a residual block reconstructed from the received bitstream, generating a prediction block, and adding the reconstructed residual block and the prediction block.
  • the entropy decoding unit 210 may entropy decode the input bitstream according to a probability distribution to generate symbols including symbols in the form of quantized coefficients.
  • the entropy decoding method is a method of generating each symbol by receiving a binary string.
  • the entropy decoding method is similar to the entropy coding method described above.
  • the quantized coefficients are inversely quantized by the inverse quantizer 220 and inversely transformed by the inverse transformer 230, and as a result of the inverse quantization / inverse transformation of the quantized coefficients, a reconstructed residual block may be generated.
  • the intra predictor 240 may generate a predictive block by performing spatial prediction using pixel values of an already encoded block around the current block.
  • the motion compensator 250 may generate a prediction block by performing motion compensation using the motion vector and the reference image stored in the reference image buffer 270.
  • the reconstructed residual block and the prediction block are added through the adder 255, and the added block passes through the deblocking filter unit 260.
  • the deblocking 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 deblocking filter 260 outputs a reconstructed image, that is, a reconstructed image.
  • the reconstructed picture may be stored in the reference picture buffer 270 to be used for inter prediction.
  • the depth information map used to generate the virtual view image represents the distance between the camera and the object, so the correlation between pixels is very high. Especially in the case of the inside of the object or the background part, the value of the same depth information appears widely.
  • FIG. 7A is a diagram showing a depth information map for a “kendo” image
  • FIG. 7B is a 2D graph showing values of pixels in a horizontal direction at an arbitrary position of the depth information map for a “kendo” image
  • FIG. 7C Is a 2D graph showing pixel values in a horizontal direction at an arbitrary position of a depth information map for a kendo ”image.
  • FIGS. 7A to 7C it can be seen that the inter-pixel correlation of the depth information map is very high. In particular, it can be seen that the value of the depth information is the same in the object and the background of the depth information map.
  • FIG. 7B the pixel value of the portion corresponding to the horizontal line II-II is illustrated in FIG. 7A, and as shown in FIG. 7A, the portion corresponding to the horizontal line II-II of FIG. 7A is divided into two regions. If FIG. 7B reflects these two areas, it can be seen that the depth information values in the two areas are the same.
  • FIG. 7C illustrates pixel values of the portion corresponding to the vertical line III-III in FIG. 7A. As illustrated, the portion corresponding to the vertical line III-III of FIG. 7B is divided into two regions. If FIG. 7C reflects these two areas, it can be seen that the depth information values in the two areas are the same.
  • the pixel value of the current block can be almost predicted using only the pixel values of the neighboring block. Therefore, the encoding and decoding process of the residual signal, which is a difference between the current block and the prediction block, is performed. Almost no need.
  • the object boundary portion of the depth information map is a very important element in virtual image synthesis.
  • An example of a method of encoding an object boundary part of the depth information map is a plane-based intra-prediction method.
  • FIG. 8 is a diagram illustrating a prediction method in a plane-based split screen.
  • the prediction method in a plane-based split screen is a method of splitting and encoding a current block into two regions (whether inside an object or outside an object) based on neighboring pixels of the current block.
  • the divided binary bitmap information is transmitted to the decoder.
  • the prediction method within a plane-based split screen is a method applied to an object boundary part of a depth information map.
  • the image quality of the virtual composite image may be improved when the depth information map is used while maintaining the characteristics of the object boundary, that is, without smoothing or crushing the object boundary. Therefore, the object boundary portion of the depth information map may not be filtered to crush the object boundary such as a defiltering process.
  • the existing deblocking filtering method removes the blocking phenomenon at the block boundary due to the encoding mode (intra prediction or inter prediction) between two adjacent blocks, the sameness of the reference picture between the two blocks, and the difference in the motion information between the two blocks. It is a method for doing so. Therefore, when the deblocking filter is performed on the block boundary part, the strength of the deblocking is determined by the coding mode between the two blocks (either intra prediction or inter prediction), equality of reference pictures between the two blocks, and difference in motion information between the two blocks. To judge. For example, when one of the two blocks is predicted in the picture and the other block is encoded in the inter prediction mode, a very severe blocking phenomenon may occur between the two blocks, and in this case, the deblocking filter may be performed with a strong strength.
  • the deblocking filter May not be performed or the deblocking filter may be weakly performed.
  • the deblocking filter removes the blocking phenomenon in the image and improves the subjective quality of the image.
  • the depth map is only used to generate the virtual composite image and is not output to the actual display device. Therefore, the block boundary of the depth information map may be necessary to improve the quality of the virtual composite image, rather than the subjective quality improvement aspect.
  • the deblocking filter (or other filtering methods) of the depth information map includes an encoding mode (either intra prediction or inter prediction) between two blocks, equality of reference pictures between two blocks, and movement information of the current block, not motion information between two blocks. It is necessary to set whether to perform filtering and the strength of filtering according to the encoding mode.
  • the current block is encoded by a plane-based split coding method that encodes an object boundary portion
  • it may be more effective not to perform a deblocking filter on the block boundary in order to avoid crushing the boundary portion of the object as much as possible. have.
  • the depth information map is depth information for representing a sense of distance between objects, and generally has a very gentle value.
  • the depth information has the same broad value.
  • the depth information of the neighboring block may be padded to configure depth information of the current block.
  • the filtering process that is applied to the general image may not be required in the part having the same depth information.
  • the sampling (up-sampling or down-sampling) process can also be applied simply.
  • the present invention proposes an intra picture encoding method of various depth information maps and a filtering and sampling method of the depth information map.
  • the prediction block When generating a prediction block using the intra prediction method, the prediction block is generally predicted through neighboring blocks of the current block in which encoding has been performed. As described above, a method of configuring the current block using only intra-prediction blocks is called an intra prediction mode.
  • a block encoded in the intra prediction mode is referred to as an intra skip mode when the intra 16x16 mode (or 8x8 mode, 4x4 mode, or NxN mode) and no differential data are present.
  • an intra prediction prediction direction may be inferred from a coded neighboring block in space.
  • the block encoded in the intra skip mode does not transmit intra prediction picture information and other information to the decoding device, and deduces intra prediction picture information of the current block through information of neighboring blocks. Can be.
  • FIG. 9 illustrates neighboring blocks used to infer a prediction direction for a current block according to an embodiment of the present invention.
  • the intra prediction direction with respect to the current block X may be inferred from neighboring blocks A and B adjacent to the current block X.
  • the neighboring block may mean all blocks adjacent to the current block (X).
  • FIG. 10 is a control flowchart illustrating a method of deriving an intra prediction direction with respect to a current block according to an embodiment of the present invention.
  • the intra prediction direction includes the vertical prediction (0), the horizontal prediction (1), the DC prediction (2) using a predetermined average value, and the plane (diagonal) prediction (3).
  • the value for the prediction direction has a smaller value as the probability of occurrence increases.
  • vertical prediction (0) has the highest probability of occurrence.
  • the prediction direction information on the current block may be represented by IntraPredMode.
  • Step 1) The availability of the block A is determined (S1000a).
  • IntraPredModeA prediction direction information for block A
  • S1001 the DC prediction direction
  • step 2 If block A is available, perform step 2.
  • IntraPredModeA is set to IntraPredMode of block A, that is, the prediction direction information of block A as IntraPredModeA ( S1002).
  • Step 3 If block B is not available, such as when block B is not encoded or the coding mode of block B is not available (S1000b), IntraPredModeB (prediction direction information for block B) is set as the DC prediction direction ( S1003).
  • IntraPredModeB prediction direction information for block B
  • Step 4 If block B is an intra 16x16 encoding mode (or 8x8 encoding mode or 4x4 encoding mode) or intra_skip encoding mode, IntraPredMode of block B is set to IntraPredModeB (S1004).
  • Step 5 a minimum value among IntraPredModeA and IntraPredModeB values may be set to IntraPredMode of the current block X (S1005).
  • 11 is a control flowchart illustrating a method of deriving an intra prediction direction with respect to a current block according to another embodiment of the present invention.
  • Step 1) If block A is not encoded or the coding mode of block A cannot be used, if block A is not available (S1100a), IntraPredModeA is set to '-1' (S1101).
  • step 2 If block A is available, perform step 2.
  • Step 2 If block A is an intra 16x16 encoding mode (or 8x8 encoding mode or 4x4 encoding mode) or intra_skip encoding mode, IntraPredModeA is set to IntraPredMode of block A, that is, the prediction direction information of block A as IntraPredModeA (S1102). ).
  • Step 3) If block B is not encoded or the coding mode of block B cannot be used (S1100b), IntraPredModeB is set to '-1'. If not, perform step 4.
  • Step 4 If block B is an intra 16x16 encoding mode (or 8x8 encoding mode or 4x4 encoding mode) or intra_skip encoding mode, IntraPredMode of block B is set to IntraPredModeB (S1104).
  • Step 5 Then, if at least one of IntraPredModeA and IntraPredModeB is '-1' (S1105), IntraPredMode of the current block X is set as the DC prediction direction (S1106).
  • IntraPredModeA and IntraPredModeB values are set to IntraPredMode of the current block X (S1107).
  • FIG. 12 illustrates neighboring blocks used to infer a prediction direction for a current block according to another embodiment of the present invention.
  • the prediction direction information of the block C may be used as well as the blocks A and B adjacent to the current block.
  • the prediction direction for the current block may be inferred through the characteristics of the prediction directions of blocks A, B, and C.
  • the prediction direction of block A may be set as the prediction direction for the current block.
  • the minimum value among the prediction directions of blocks A, B, and C may be set as the prediction direction for the current block.
  • the prediction direction of the block B may be set as the prediction direction with respect to the current block.
  • the prediction direction of the block A may be set as the prediction direction with respect to the current block.
  • the prediction direction of the block A may be set as the prediction direction with respect to the current block.
  • the prediction direction of the block B may be set as the prediction direction for the current block.
  • the pixel of the neighboring block adjacent to the current block image may be copied (padded) as it is, wherein the pixel to be copied (padded) to the current block is the upper pixel in the neighboring block adjacent to the current block
  • the pixel may be a left pixel, and may be an average or weighted average of pixels adjacent to the current block.
  • information on which position of the pixel to use may be encoded and included in the bitstream. This method may be similar to the intra prediction method of H.264 / AVC.
  • the pixel to be copied may be determined in consideration of characteristics of neighboring pixels adjacent to the current block, and then the current block may be configured through the determined pixel.
  • the prediction block for the current block may be generated through the upper pixel adjacent to the current block.
  • the prediction block for the current block may be generated through 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.
  • the intra prediction direction information for the current block is not transmitted to the decoder.
  • the intra prediction direction information may be inferred from the neighboring block or other information.
  • 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 may be included in the bitstream. The two methods are as follows.
  • 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 may be included in the bitstream.
  • information for generating a prediction block image of the current block may be configured from information of neighboring blocks.
  • the prediction block generation information and the differential block image are not encoded, and only the information on whether the encoding is performed on the prediction block generation information and the differential block image may be 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.
  • the depth information map may be filtered (eg, a deblocking filter, a sample adaptive offset (SAO) filter, an adaptive loop filter (ALF), and depth information filtering between in-loop combining time points).
  • a deblocking filter e.g, a sample adaptive offset (SAO) filter, an adaptive loop filter (ALF), and depth information filtering between in-loop combining time points.
  • SAO sample adaptive offset
  • ALF adaptive loop filter
  • depth information filtering between in-loop combining time points.
  • JVDF In-loop Joint inter-View Depth Filtering
  • the filtering may be weakly performed or not performed on the background of the depth map or the inside of the object.
  • the deblocking filter may be weakly performed or not performed on the depth information map.
  • a sample adaptive offset (SAO) filter may not be applied to the depth information map.
  • adaptive loop filter can be applied only to the object boundary part, and / or only to the internal part of the object, and / or to the background part of the depth information map.
  • an adaptive loop filter may not be applied to the depth information map.
  • JVDF joint inter-view depth filtering
  • JVDF joint inter-view depth filtering
  • no filtering may be applied to the depth map.
  • the decoded depth map is up-sampled.
  • This sampling process typically uses a 4 or 6 tap upsampling (or downsampling) filter.
  • Such a sampling filter has a disadvantage of high complexity and is not particularly suitable for an image having a very monotonous characteristic such as a depth information map. Therefore, it is desirable that the upsampling and downsampling filter suitable for the characteristics of the depth information map be very simple and simple.
  • FIG. 13 is a diagram illustrating an example of a down sampling method of a depth information map.
  • one sample (pixel) per four samples (pixels) may be copied as it is from the depth information map 1310 of the original size, thereby configuring the down sampled depth information map 1320.
  • This method can only be used in the background part of the depth map or inside an object.
  • any depth information value of the current block is downsampled without going through a downsampling process. Applicable to all pixels (pixels).
  • FIG. 14 is a diagram illustrating an example of an upsampling method of a depth information map.
  • one sample (pixel) may be copied as it is from the down-sampled depth information map 1410 and copied (or padded) to four samples (pixels) of the up-sampled depth information map 1420. .
  • This method can only be used in the background part of the depth map or inside an object.
  • any depth information value of the current block (or any region) is not up-sampled, and the depth information map block (or any region) of the depth information map is upsampled. Applicable to all pixels
  • a depth map may be encoded by combining an intra-picture encoding method of the depth map and a filtering and sampling method of the depth map, and an embodiment thereof is as follows.
  • a method of configuring a current block image using only prediction blocks, adjusting the filtering strength of the deblocking filter for the prediction block, or determining whether to apply the deblocking filter is described.
  • an intra skip mode in which the intra prediction direction for the current block is inferred from neighboring blocks adjacent to the current block, that is, the current block is composed only of the intra prediction pictures may be referred to as an intra skip mode.
  • the correlation with the neighboring block is very high. Therefore, in this case, deblocking filtering may not be performed.
  • 15 is a control flowchart illustrating a method of determining boundary filtering strength bS of deblocking filtering according to an embodiment of the present invention.
  • 16 is a diagram showing the boundary between adjacent blocks p and block q.
  • block p and block q correspond to adjacent blocks sharing boundaries with each other.
  • Block p represents a block located on the left side with respect to the vertical boundary and above the horizontal boundary
  • block q represents a block located on the right side with respect to the vertical boundary and located below the horizontal boundary.
  • coding modes of blocks p and q adjacent to each other may be checked.
  • whether the block p or q is intra coded or inter coded may mean that the block p or q is an intra coded macroblock or belongs to it.
  • the intra skip mode may be regarded as an intra mode (NxN prediction mode, where N is 16, 8, 4, etc.) but no difference data.
  • an intra skip mode may be regarded as an intra mode (N ⁇ N prediction mode, where N is 16, 8, 4, etc.) and there is no difference data.
  • the boundary filtering strength bS may be determined as '0' (S1502).
  • a boundary filtering strength (bS) of zero indicates that no filtering is performed in subsequent filtering application procedures.
  • inter encoding means predictive encoding using an image of a reconstructed frame having a different time from the current frame as a reference frame.
  • the boundary filtering intensity bS may be determined to be 4 (S1505).
  • the boundary filtering strength bS is 4, it means that the strongest filtering is applied in the subsequent filtering application procedure.
  • the boundary filtering strength bS may be determined to be 3 (S1506).
  • Orthogonal transform coefficients may also be referred to as coded coefficients or non-zero transformed coefficients.
  • the boundary filtering strength bS is determined to be 2 (S1508).
  • the absolute value of one component of the motion vector that is, the x-axis component or the y-axis component with respect to block p and block q is It is determined whether it is equal to or greater than 1 (or 4) and / or whether the reference frame in motion compensation is different and / or the PU partition boundary (S1509).
  • the reference frame is different' may include both the reference frame itself is different and the number of reference frames is different.
  • the boundary filtering intensity bS may be determined as 1 (S1510).
  • the boundary filtering intensity bS is determined to be 0 (S1502).
  • 17 is a control flowchart illustrating a method of determining boundary filtering strength bS of deblocking filtering according to another embodiment of the present invention.
  • the boundary filtering strength of the block p and the block q may be set to '0' (1702).
  • the boundary filtering strength may be set weakly (or strongly), and in one embodiment, an arbitrary value may be set. Alternatively, filtering may not be performed.
  • the boundary filtering intensity bS may be determined to be 4 (S1705).
  • the boundary filtering strength bS is 4, it means that the strongest filtering is applied in the subsequent filtering application procedure.
  • the boundary filtering strength bS may be determined as 3 (S1706).
  • the boundary filtering strength bS is determined to be 2 (S1708).
  • the absolute value of one component of the motion vector that is, the x-axis component or the y-axis component with respect to block p and block q is It is determined whether it is equal to or greater than 1 (or 4) and / or whether the reference frame in the motion compensation is different and / or the PU partition boundary (S1709).
  • the reference frame is different' may include both the reference frame itself is different and the number of reference frames is different.
  • the boundary filtering intensity bS may be determined as 1 (S1710).
  • the boundary filtering intensity bS is determined to be 0 (S1702).
  • the boundary filtering strength between the current block and the neighboring block may be set to '0'.
  • the boundary filtering strength may be set weakly (or strongly), and in one embodiment, an arbitrary value may be set. Alternatively, filtering may not be performed.
  • the boundary filtering strength between the current block and the neighboring block may be set to '4' (or 3, 2, 1). Otherwise, the filtering strength may be set to 0 (or 1, 2, 3). Alternatively, the boundary filtering strength may be set weakly (or strongly), and in one embodiment, an arbitrary value may be set. Alternatively, filtering may not be performed.
  • the boundary filtering intensity is set to '0' when the intra prediction direction of the current block and the neighboring block is the same; otherwise, the boundary filtering intensity is set to '1'. It can be set to 'or other values (2, 3, 4). Alternatively, the boundary filtering strength may be set weakly (or strongly), and in one embodiment, an arbitrary value may be set. Alternatively, filtering may not be performed.
  • FIG. 18 illustrates a prediction direction and a macroblock boundary of a current block and neighboring blocks according to an embodiment of the present invention.
  • the filtering strength of the deblocking when setting the filtering strength of deblocking with respect to the vertical macroblock boundary of the current block X, the prediction direction of the neighboring block A and the prediction direction of the current block X are shown. Since the same, the filtering strength of the deblocking can be set to '0'. Alternatively, the boundary filtering strength may be set weakly (or strongly), and in one embodiment, an arbitrary value may be set. Alternatively, filtering may not be performed. This example may be equally applied to the horizontal boundary between the current block X and the neighboring block B.
  • the boundary filtering intensity for the vertical boundary is set to '0' or no filtering is performed.
  • the boundary filtering intensity for the horizontal boundary is set to '0' or no filtering is performed. In other cases, the boundary filtering strength may be weakened or no filtering may be performed.
  • the boundary filtering intensity for the vertical boundary is set to '0' or filtering is performed. Do not perform.
  • This example applies equally to the horizontal boundary between the current block X and the neighboring block B.
  • the boundary filtering strength bS may be determined in various ways.
  • FIG. 19 is a diagram illustrating an example of an encoding mode of a current block and a current block boundary. The above-described method may be applied to each of the boundaries of FIG. 19 or in combination.
  • the above methods may be applied to a macroblock (or arbitrary block) boundary that is a coding basic unit of a current block.
  • the methods may be applied at a block (or arbitrary block) boundary inside the current block.
  • the deblocking filter is not applied to the boundary of both blocks X and A. You may not.
  • the boundary filtering strength of both blocks X and B can be set to '0'. have.
  • the boundary filtering strength may be set weakly (or strongly), and in one embodiment, an arbitrary value may be set.
  • the boundary filtering strength bS may be determined to be three.
  • the deblocking filter removes the blocking phenomenon in the image and improves the subjective quality of the image.
  • the depth map is only used to generate the virtual composite image and is not output to the actual display device. Therefore, the block boundary of the depth information map may be necessary to improve the quality of the virtual composite image, rather than the subjective quality improvement aspect.
  • the deblocking filter (or other filtering methods) of the depth map includes encoding modes (either intra prediction or inter prediction) between two blocks, equality of reference pictures between the two blocks, and movement information of the current block, not motion information between the two blocks. It is necessary to set whether to perform filtering and the strength of filtering according to the encoding mode.
  • the deblocking filter should not be performed on the block boundary in order to prevent the object boundary from being crushed as much as possible.
  • pixel values around a vertical boundary of the corresponding block may be the same. Therefore, the deblocking filter may not be performed on the block boundary.
  • pixel values around the horizontal boundary may not be the same, and a deblocking filter should be performed on the block boundary. That is, if the current block is encoded of the intra skip block, filtering may be performed on the boundary according to the prediction direction in the screen of the current block rather than the correlation of neighboring blocks. Alternatively, whether to perform filtering may be determined according to the encoding mode of the current block and the neighboring block and the intra prediction direction.
  • the boundary of the current block is a horizontal boundary, the following process may be applied.
  • the filter strength of the deblocking filter (bS) can be weakly set, for example, can be set to '0'.
  • filtering of the deblocking filter Strength can be strongly given, for example, it can be set to '4'. Otherwise, if the block boundary is not the macro block boundary, the filter strength of the deblocking filter (bS) may be weakened, and may be set to '0' as an example.
  • the filter strength (bS) of the deblocking filter may be applied according to the process described with reference to FIG. 17.
  • the boundary of the current block is a vertical boundary, the following process may be applied.
  • the filter strength of the deblocking filter (bS) can be weakly set, for example, can be set to '0'.
  • filtering of the deblocking filter Strength can be strongly given, for example, it can be set to '4'. Otherwise, if the block boundary is not the macro block boundary, the filter strength of the deblocking filter (bS) may be weakened, and may be set to '0' as an example.
  • the filter strength (bS) of the deblocking filter may be applied according to the process described with reference to FIG. 17.
  • the strength of the filter strength (bS) of the deblocking filter may be weakly set at an object boundary of the depth information map to which the prediction method in the plane-based split screen of FIG. 8 is applied, and may be set to '0' as an example.
  • the derivation of the filtering strength (bS) of the deblocking filter may be performed as follows. The following method can be applied for the boundary of the current block for both the horizontal boundary or the vertical boundary.
  • the filtering strength of the deblocking filter may be weakened, and as an example, it may be set to '1'.
  • the filter strength of the deblocking filter (bS) may be weakened, and may be set to '0' as an example.
  • macroblock_layer In case of performing only intra picture coding (I frame), if the above proposed methods are implemented according to international video standard H.264 / AVC, the macroblock layer (macroblock_layer) syntax is shown in Table 1 below.
  • Mb_intra_skip_run and “mb_intra_skip_flag” mean that the current depth information map block consists only of the predicted image.
  • the fact that the current depth information map block is composed of only the prediction image may be interpreted as an intra skip mode, and also that it is an intra mode (NxN prediction mode where N is 16, 8, 4, etc.) and there is no difference data. Can be interpreted.
  • 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.
  • “moreDataFlag” indicates whether to parse encoding information (prediction block generation information and residual signal block information) with respect to the current block. If “moreDataFlag” is '1', the encoding information about the current block is parsed. If “moreDataFlag” is '0', the encoding block moves to the next block without parsing the encoding information about the current block.
  • “Mb_intra_skip_flag” means that the current depth map block is composed of only prediction images. If mb_intra_skip_flag ”is '1', 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.) but no difference data. Can be.
  • FIG. 20 is a control block diagram illustrating a configuration of a video encoding apparatus according to an embodiment of the present invention.
  • FIG. 20 is a diagram illustrating an encoding method of a method of configuring a current block image by only prediction blocks using neighboring blocks when in-screen encoding of an image having high correlation between pixels.
  • the prediction image generator 310 generates a prediction block through an intra prediction process or generates a prediction block through an inter prediction process. Detailed generation methods are described in detail in the above section.
  • the predictive image selecting unit 320 selects the most excellent encoding efficiency among the predictive images generated by the predictive image generating unit 310, and the predictive image selection information is included in the bitstream.
  • the subtractor 330 generates a differential block image by subtracting the current block image from the predicted block image.
  • the encoding determiner 340 determines whether to encode the generated block image and the prediction information of the predicted block, and outputs encoding information.
  • the encoder 350 determines whether to perform the encoding according to the encoding information determined by the encoding determiner 340, and outputs the compressed bitstream after the transform, quantization, and entropy encoding processes are performed on the differential block image.
  • One bitstream is output by mixing the selection information.
  • FIG. 21 is a control block diagram illustrating a configuration of a video decoding apparatus according to an embodiment of the present invention.
  • FIG. 21 is a diagram illustrating a decoding apparatus of a method of configuring a current block image using only prediction blocks using neighboring blocks when intra-picture encoding is performed on an image having high correlation between pixels.
  • the demultiplexer 410 decodes whether the information about the difference image is included in the bitstream and whether the information is included in the bitstream and the predictive image selection information.
  • the decryption determining unit 420 determines whether to perform the decoding unit 430 according to the decoding information.
  • the decoder 430 is performed only when information on generation information of the differential image and the prediction block exists in the bitstream according to the decoding information.
  • the decoder 430 reconstructs the differential image through inverse quantization and inverse transformation.
  • the prediction image generator 460 generates a prediction block through an intra prediction process or generates a prediction block through an inter prediction process.
  • the prediction image determiner 450 determines an optimal prediction image for the current block from the prediction images generated by the prediction image generator 460 through the prediction image selection information.
  • the adder 440 configures the reconstructed image by adding the generated prediction image and the reconstructed difference 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

본 발명의 일 실시예예 따른 깊이 정보에 대한 영상 복호화 방법은 상기 깊이 정보의 현재 블록에 대한 예측 블록을 생성하는 단계와, 상기 예측 블록에 기초하여 상기 현재 블록의 복원 블록을 생성하는 단계와, 상기 복원 블록에 필터링을 수행하는 단계를 포함하고, 상기 필터링 수행 여부는 상기 현재 블록의 블록 정보 및 상기 현재 블록의 부호화 정보에 따라 결정될 수 있다.

Description

인루프 필터링 방법 및 이를 이용하는 장치
본 발명은 영상의 부호화 및 복호화 처리에 관한 것으로서, 보다 상세하게는 영상의 인루프 필어링 방법 및 이를 이용하는 장치에 관한 것이다.
최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되면서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며 이에 따라 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축기술이 요구되고 있다.
영상 압축을 위해, 시간적으로 이전 및/또는 이후의 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 인터(inter) 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 인트라(intra) 예측 기술, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술 등이 사용될 수 있다.
영상 압축 기술에는 유동적인 네트워크 환경을 고려하지 않고 하드웨어의 제한적인 동작 환경하에서 일정한 네트워크 대역폭을 제공하는 기술이 있다. 그러나 수시로 대역폭이 변화하는 네트워크 환경에 적용되는 영상 데이터를 압축하기 위해서는 새로운 압축 기술이 요구되고, 이를 위해 스케일러블(scalable) 비디오 부호화/복호화 방법이 사용될 수 있다.
한편, 3차원 비디오는 3차원 입체 디스플레이 장치를 통해 사용자에게 실 세계에서 보고 느끼는 것과 같은 입체감을 생생하게 제공한다. 이와 관련된 연구로써 비디오 표준화 단체인 ISO/IEC의 MPEG에서는 3차원 비디오 표준이 진행 중이다. 3차원 비디오 표준은 실제 영상과 그것의 깊이 정보 맵을 이용하여 스테레오스코픽 영상뿐만 아니라 오토스테레오스코픽 영상의 재생 등을 지원할 수 있는 진보된 데이터 형식과 그에 관련된 기술에 대한 표준을 포함하고 있다.
도 1은 3차원 비디오 시스템의 기본 구조와 데이터 형식을 도시한 도면으로 현재 3차워 비디오 표준에서 고려하고 있는 시스템의 일 예를 나타내고 있다.
도시된 바와 같이, 컨텐츠를 생성하는 송신 측(3D Content Production)에서는 스테레오 카메라(stereo camera), 깊이 정보 카메라(depth camera), 다시점 카메라(mult-camera setup), 2차원 영상을 3차원 영상으로 변환(2D/3D conversion) 등을 이용하여 N(N≥2) 시점의 영상 콘텐츠를 획득한다.
획득된 영상 콘텐츠에는 N 시점의 비디오 정보(N x Video)와 그것의 깊이 정보 맵(Depth-map) 정보 그리고 카메라 관련 부가정보 등이 포함될 수 있다.
N 시점의 영상 콘텐츠는 다시점 비디오 부호화 방법(Multi-View)을 사용하여 압축되며, 압축된 비트스트림은 네트워크를 통해, 예를 들어, DVB(Digital Video Broadcasting) 등을 통해 단말로 전송된다.
수신 측에서는 전송 받은 비트스트림을 다시점 비디오 복호화 방법(Depth-Image ?Based Rendering)하여 복호화하여 N 시점의 영상을 복원한다.
복원된 N 시점의 영상은 깊이 정보 맵 기반 랜더링(DIBR; Depth-Image-Based Rendering) 과정에 의해 N 시점 이상의 가상 시점 영상들을 생성한다.
생성된 N 시점 이상의 가상시점 영상들은 다양한 입체 디스플레이 장치(예컨대, 2D Display, M-View 3D Display, Head-Tracked Stereo Display)에 맞게 재생되어 사용자에게 입체감이 있는 영상을 제공하게 된다.
가상시점 영상을 생성하는데 사용되는 깊이 정보 맵은 실세계에서 카메라와 실제 사물(object) 간의 거리(실사 영상과 동일한 해상도로 각 화소에 해당하는 깊이 정보)를 일정한 비트수로 표현한 것이다.
도 2는 국제 표준화 기구인 MPEG의 3차원 비디오 부호화 표준에서 사용 중인 “balloons” 영상에 대한 깊이 정보 맵을 도시한 도면이다.
도 2의 (a)는 “balloons” 영상에 대한 실제 영상이고, 도 2의 (b) balloons” 영상에 대한 깊이 정보 맵을 나타낸다. (b)는 깊이 정보를 화소당 8비트로 표현한 것이다.
도 3은 H.264의 부호화 구조도의 일 예를 도시한 도면이다. H.264의 부호화 구조는 깊이 정보 맵을 부호화하기 위해서는 일반적으로 현재까지 개발된 비디오 부호화 표준 중에서 최고의 부호화 효율을 가지는 것으로 알려져 있다.
도 3을 참조하면, H.264 부호화 구조도에서 데이터를 처리하는 단위는 가로 세로 16x16화소 크기의 매크로 블록(Macroblock)이며, 영상을 입력 받아 인트라(Intra) 모드 또는 인터(Inter) 모드로 부호화를 수행하고 비트스트림을 출력한다.
인트라 모드일 경우, 스위치가 인트라로 전환이 되며, 인터 모드일 경우에는 스위치가 인터로 전환이 된다. 부호화 과정의 주요한 흐름은 먼저 입력된 블록 영상에 대한 예측 블록을 생성한 후, 입력된 블록과 예측 블록의 차분을 구해 그 차분을 부호화하는 것이다.
먼저 예측 블록의 생성은 인트라 모드와 인터 모드에 따라 수행이 된다.
먼저 인트라 모드일 경우에는 인트라 예측 과정에서 현재 블록의 이미 부호화된 주변 화소값을 이용하여 공간적 예측으로 예측 블록을 생성한다.
인터 모드일 경우에는 움직임 예측 과정에서 참조 영상 버퍼에 저장되어 있는 참조 영상에서 현재 입력된 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터(Motion Vector)를 구한 후, 구한 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다.
상기 설명한 것과 같이 현재 입력된 블록과 예측 블록의 차분을 구하여 잔여 블록(Residual Block)을 생성한 후, 이에 대한 부호화을 수행한다.
블록을 부호화하는 방법은 크게 인트라 모드와 인터 모드로 나누어진다. 예측 블록의 크기에 따라 인트라 모드일 경우에는 16x16, 8x8, 4x4 인트라 모드로 나누어지며, 인터 모드일 경우에는 16x16, 16x8, 8x16, 8x8 인터 모드로 나누어 진다. 8x8 인터모드일 경우에는 다시 8x8, 8x4, 4x8, 4x4 서브 인터 모드로 나누어진다.
잔여 블록에 대한 부호화는 변환, 양자화, 엔트로피(Entropy) 부호화의 순서로 수행이 된다. 먼저 16x16 인트라 모드로 부호화되는 블록은 차분 블록에 변환을 수행하여 변환계수를 출력하고, 출력된 변환계수 중에서 DC 계수만을 모아서 다시 하다마드 변환을 수행하여 하드마드 변환된 DC 계수를 출력한다.
16x16 인트라 모드를 제외한 다른 부호화 모드로 부호화되는 블록에서 변환 과정은 입력된 잔여 블록을 입력 받아 변환(Transform)을 수행하여 변환계수(Transform Coefficient)를 출력한다. 그리고 양자화 과정에서는 입력된 변환계수를 양자화 파라미터에 따라 양자화를 수행한 양자화된 계수(Quantized Coefficient)를 출력한다.
그리고 엔트로피 부호화 과정에서는 입력된 양자화된 계수를 확률 분포에 따른 엔트로피 부호화를 수행하여 비트스트림으로 출력된다.
H.264는 프레임간(Inter-frame) 예측 부호화를 수행하기 때문에 현재 부호화된 영상을 이후에 입력된 영상의 참조 영상으로 사용하기 위해 복호화하여 저장할 필요가 있다. 따라서 양자화된 계수를 역양자화 과정과 역변환을 수행하여 예측 영상과 가산기를 통해 재구성된 블록을 생성한 후 디블록킹 필터를 통해 부호화 과정에서 발생한 블록킹 현상(Blocking Artifact)을 제거한 후, 참조 영상 버퍼에 저장한다.
도 4는 H.264의 복호화 구조도의 일 예를 도시한 도면이다.
도 4를 참조하면, H.264 복호화 구조도에서 데이터를 처리하는 단위는 가로 세로 16x16화소 크기의 매크로블록(Macroblock)이며, 비트스트림을 입력 받아 인트라(Intra) 모드 또는 인터(Inter) 모드로 복호화가 수행되어 재구성된 영상을 출력한다.
인트라 모드일 경우, 스위치가 인트라로 전환이 되며, 인터 모드일 경우에는 스위치가 인터로 전환이 된다.
복호화 과정의 주요한 흐름은 먼저 예측 블록을 생성한 후, 입력 받은 비트스트림을 복호화한 결과 블록과 예측 블록을 더하여 재구성된 블록을 생성하는 것이다.
먼저 예측 블록의 생성은 인트라 모드와 인터 모드에 따라 수행이 된다.
먼저 인트라 모드일 경우에는 인트라 예측 과정에서 현재 블록의 이미 부호화된 주변 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성하며, 인터 모드일 경우에는 움직임 벡터를 이용하여 참조 영상 버퍼에 저장되어 있는 참조 영상에서 영역을 찾아 움직임 보상을 수행함으로써 예측 블록을 생성한다.
엔트로피 복호화 과정에서는 입력된 비트스트림을 확률 분포에 따른 엔트로피 복호화를 수행하여 양자화된 계수(Quantized Coefficient)를 출력한다. 양자화된 계수를 역양자화과정과 역변환을 수행하여 예측 영상과 가산기를 통해 재구성된 블록을 생성한 다음 디블록킹 필터를 통해 블록킹 현상(Blocking Artifact)를 제거한 후, 참조 영상 버퍼에 저장한다.
깊이 정보 맵을 부호화하는 또 다른 방법의 일 예로 현재 표준화가 진행 중인 HEVC(High Efficiency Video Coding)를 사용할 수 있다. 이 표준은 현재 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)는 공동으로 차세대 비디오 코덱인 HEVC(High Efficiency Video Coding)를 표준화하고 있으며, UHD 영상까지 포함한 영상을 H.264/AVC 대비 2배의 압축효율로 부호화를 하는 것을 목표로 하고 있다. 이는 HD, UHD 영상뿐만 아니라 3D 방송 및 이동통신망에서도 현재보다 낮은 주파수로 고화질의 영상을 제공할 수 있다.
본 발명의 기술적 과제는 인루프 필터링 방식 중 디블록킹 필터 사용시 경계 필터링 강도 결정에서 화면 내 스킵 부호화 모드가 적용된 블록과 인접한 경계의 경계 필터링 강도(bS)를 0으로 결정하는 방법 및 이를 이용하는 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 비디오 부호화 및 복호화에서 복잡도를 감소시키는 동시에 이를 통해 부복호화 된 깊이 영상을 통해 생성되는 가상 영상의 화질을 향상시키는 것이다.
본 발명의 다른 기술적 과제는 깊이 정보 맵에 대한 영상 부호화 방법, 샘플링 방법 및 필터링 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 영상 복호화 방법은 깊이 정보 맵의 화면 내 예측 시 현재 블록과 인접한 주변 블록의 예측 화소값을 상기 현재 블록의 화소값으로 생성하는 단계를 포함할 수 있다.
부호화된 차분 영상 정보와 복호화 여부 정보 그리고 예측 블록 영상 생성 방법에 대한 선택 정보를 역다중화하는 단계; 입력된 비트스트림에서 현재 블록에 대한 복호화 여부 정보를 복호화하는 단계; 상기 복호화 여부 정보에 따라 상기 현재 블록에 대한 차분 영상 정보 및 예측 블록의 생성 정보를 복호화하는 단계; 예측 블록 영상 생성 방법에 대한 선택 정보에 따라 화면 내 예측 방법과 화면 간 예측 방법 중에서 예측 방법을 선택하는 단계; 예측 영상을 구성하기 위해서 주변 블록으로부터 현재 블록에 대한 예측 방향을 유추하는 단계; 상기 예측 방향에 따라 현재 블록 영상에 대한 예측 영상을 구성하는 단계를 포함할 수 있다.
상기 예측 영상을 구성하는 단계는, 현재 블록에 인접한 주변 화소를 복사(패딩)하여 화면 내 예측 영상을 구성하는 방법, 현재 블록과 인접한 주변 화소의 특성을 고려하여 복사할 화소를 결정한 후 결정된 화소를 통해 현재 블록을 구성하는 방법 및 복수의 예측 방법들을 혼합하여 혼합한 값의 평균값 또는 각각의 방법에 따른 가중치의 합으로 예측 블록 영상을 구성하여 사용하는 방법 중 적어도 하나에 의하여 구성될 수 있다.
본 발명의 다른 실시예에 따른 깊이 정보에 대한 영상 복호화 방법은 상기 깊이 정보의 현재 블록에 대한 예측 블록을 생성하는 단계와; 상기 예측 블록에 기초하여 상기 현재 블록의 복원 블록을 생성하는 단계와; 상기 복원 블록에 필터링을 수행하는 단계를 포함하고, 상기 필터링 수행 여부는 상기 현재 블록의 블록 정보 및 상기 현재 블록의 부호화 정보에 따라 결정될 수 있다.
상기 부호화 정보는 상기 복원 영상 내에서 동일 깊이를 갖는 부분, 배경이 되는 부분 및 객체 내부에 대응되는 부분에 대한 정보를 포함하고, 상기 복원 블록 내에서 동일 깊이를 갖는 부분, 배경이 되는 부분 및 객체 내부에 대응되는 부분에 대응되는 부분 중 적어도 하나에는 상기 필터링을 수행하지 않을 수 있다.
상기 복원 블록 내에서 동일 깊이를 갖는 부분, 배경이 되는 부분 및 객체 내부에 대응되는 부분에 대응되는 부분 중 적어도 하나에는 디블록킹 필터, 샘플 적응형 보상(SAO; Sample Adaptive Offset) 필터, 적응형 루프 필터(ALF; Adaptive Loop Filter), 인루프 결합 시점간 깊이정보 필터링(JVDF; In-loop Joint inter-View Depth Filtering) 중 적어도 하나를 수행하지 않을 수 있다.
상기 부호화 정보는 상기 복원 블록 내에서 동일 깊이를 갖는 부분, 배경이 되는 부분 및 객체 내부에 대응되는 부분에 대한 정보를 포함하고, 상기 복원 블록 내에서 동일 깊이를 갖는 부분, 배경이 되는 부분 및 객체 내부에 대응되는 부분에 대응되는 부분 중 적어도 하나에는 약한 필터링이 수행될 수 있다.
상기 복원 블록에 대한 업샘플링을 수행하는 단계를 포함하고, 상기 업샘플링은 하나의 샘플값을 기설정된 개수의 샘플값으로 패딩할 수 있다.
상기 업샘플링은 상기 복원 블록 내에서 동일 깊이를 갖는 부분, 배경이 되는 부분 및 객체 내부에 대응되는 부분 중 적어도 하나에서 수행되지 않을 수 있다.
상기 복원 블록에 필터링을 수행하는 단계는 인접한 두 개의 블록에 대한 경계 필터링 강도를 결정하는 단계; 상기 경계 필터링 강도에 따라서 상기 두 개의 블록의 화소값에 대한 필터링을 적용하는 단계를 포함하고, 상기 경계 필터링 강도를 결정하는 단계는 인접한 두 개의 블록 중에서 적어도 하나의 블록이 인트라 스킵(intraskip) 부호화되었는지를 판단하는 단계와; 상기 두 개의 블록이 모두 인트라 스킵(intraskip) 부호화되지 않은 것으로 판단되는 경우, 인접한 두 개의 블록 중에서 적어도 하나의 블록이 인트라 부호화되었는지를 판단하는 단계와; 상기 두 개의 블록이 모두 인트라 부호화되지 않은 것으로 판단되는 경우, 상기 두 개의 블록 중에서 적어도 하나의 블록이 직교 변환 계수를 갖는지를 판단하는 단계와; 상기 두 개의 블록이 모두 직교 변환 계수를 갖지 않는 것으로 판단되는 경우, 상기 두 개의 블록에 대하여 움직임 벡터의 x축 성분 또는 y축 성분의 차의 절대값 중에서 적어도 하나가 1(혹은 4)이상이 되거나 또는 움직임 보상이 다른 참조 프레임에 기초하여 수행되었는지를 판단하는 단계와; 상기 움직임 벡터의 차의 절대값이 모두 1(혹은 4)보다 작고 또한 상기 움직임 보상이 같은 참조 프레임에 기초하여 수행되었는지를 판단하는 단계를 포함할 수 있다.
인접한 두 개의 블록 중에서 적어도 하나의 블록이 인트라 스킵(intraskip) 부호화되었을 경우 경계 필터링 강도(bS)를 0으로 결정할 수 있다.
인접한 두 블록 중 한 블록이 인트라 스킵(intraskip) 부호화 모드이고 다른 블록이 일반적인 부호화 모드(인트라 혹은 인터)로 판단되는 경우 및 일반적인 부호화 모드에서 직교 변환 계수가 적어도 하나 존재할 경우에는 경계 필터링 강도(bS)를 1, 2, 3, 4 중 어느 하나로 결정할 수 있다.
인접한 두 블록이 모두 일반적인 부호화 모드(인트라 혹은 인터)로 판단되는 경우 및 일반적인 부호화 모드에서 직교 변환 계수가 적어도 하나 존재하지 않는 경우에는 경계 필터링 강도를 0, 1, 2, 3 중 어느 하나로 결정할 수 있다.
상기 현재 블록의 예측 모드가 차분 정보가 존재하지 않는 인트라 스킵인 경우, 상기 예측 블록을 생성하는 단계는 상기 현재 블록에 대한 예측 방향을 상기 현재 블록과 인접한 주변 블록으로부터 유추할 수 있다.
상기 복원 블록에 필터링을 수행하는 단계는 인접한 두 개의 블록에 대한 경계 필터링 강도를 결정하는 단계; 상기 경계 필터링 강도에 따라서 상기 두 개의 블록의 화소값에 대한 필터링을 적용하는 단계를 포함하고, 상기 경계 필터링 강도를 결정하는 단계는 상기 현재 블록 및 상기 현재 블록에 인접한 주변 블록의 예측 방향이 같은 경우, 상기 경계 필터링 강도(bS)를 0으로 결정할 수 있다.
상기 복원 블록에 필터링을 수행하는 단계는 인접한 두 개의 블록에 대한 경계 필터링 강도를 결정하는 단계; 상기 경계 필터링 강도에 따라서 상기 두 개의 블록의 화소값에 대한 필터링을 적용하는 단계를 포함하고, 상기 경계 필터링 강도를 결정하는 단계는 상기 현재 블록의 예측 모드가 차분 정보가 존재하지 않는 인트라 스킵이고, 현재 블록에 대한 화면 내 예측 방향이 수평 방향일 경우, 상기 현재 블록의 수직 경계에 대한 상기 경계 필터링 강도를 ‘0’으로 설정하고, 상기 현재 블록의 예측 모드가 차분 정보가 존재하지 않는 인트라 스킵이고, 현재 블록에 대한 화면 내 예측 방향이 수직 방향일 경우, 상기 현재 블록의 수평 경계에 대한 상기 경계 필터링 강도를 ‘0’으로 설정할 수 있다.
상기 복원 블록에 필터링을 수행하는 단계는 인접한 두 개의 블록에 대한 경계 필터링 강도를 결정하는 단계; 상기 경계 필터링 강도에 따라서 상기 두 개의 블록의 화소값에 대한 필터링을 적용하는 단계를 포함하고, 상기 경계 필터링 강도를 결정하는 단계는 상기 현재 블록과 상기 현재 블록에 인접한 주변 블록의 경계가 매크로블록의 경계와 일치하는 경우, 상기 경계 필터링 강도를 ‘0’으로 설정할 수 있다.
본 발명의 다른 실시예에 따른 깊이 정보에 대한 영상 복호화 장치는 상기 깊이 정보의 현재 블록에 대한 예측 블록을 생성하는 예측영상 생성부와 상기 예측 블록에 기초하여 상기 현재 블록의 복원 블록을 생성하는 가산부와; 상기 복원 블록에 필터링을 수행하는 필터부를 포함하고, 상기 필터부는 인접한 두 개의 블록에 대한 경계 필터링 강도를 결정하기 위한 경계 필터링 강도 결정부; 및 상기 경계 필터링 강도에 따라서 상기 두 개의 블록의 화소값에 대한 필터링을 적용하기 위한 필터링 적용부를 포함할 수 있다.
상기 경계 필터링 강도 결정부는 인접한 두 개의 블록 중에서 적어도 하나의 블록이 인트라 스킵(intraskip) 부호화되었을 경우 경계 필터링 강도(bS)를 0으로 결정할 수 있다.
상기 경계 필터링 강도 결정부는 인접한 두 블록 중 한 블록이 인트라 스킵(intraskip) 부호화 모드이고 다른 블록이 일반적인 부호화 모드(인트라 혹은 인터)로 판단되는 경우 및 일반적인 부호화 모드에서 직교 변환 계수가 적어도 하나 존재할 경우에는 경계 필터링 강도(bS)를 1, 2, 3, 4 중 어느 하나로 결정할 수 있다.
본 발명의 일 실시예에 따르면 인루프 필터링 방식 중 디블록킹 필터 사용시 경계 필터링 강도 결정에서 화면 내 스킵 부호화 모드가 적용된 블록과 인접한 경계의 경계 필터링 강도(bS)를 0으로 결정하는 방법 및 이를 이용하는 장치가 제공된다.
본 발명의 다른 기술적 실시예에 따르면 비디오 부호화 및 복호화에서 복잡도를 감소시키는 동시에 이를 통해 부복호화 된 깊이 영상을 통해 생성되는 가상 영상의 화질을 향상된다.
본 발명의 다른 기술적 실시예에 따르면 깊이 정보 맵에 대한 영상 부호화 방법, 샘플링 방법 및 필터링 방법이 제공된다.
도 1은 3차원 비디오 시스템의 기본 구조와 데이터 형식을 도시한 도면이다.
도 2는 “balloons” 영상에 대한 깊이 정보 맵을 도시한 도면이다
도 3은 H.264의 부호화 구조도의 일 예를 도시한 도면이다.
도 4는 H.264의 복호화 구조도의 일 예를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 비디오 부호화 장치의 구성을 나타내는 제어 블록도이다.
도 6은 본 발명의 일 실시예에 따른 비디오 복호화 장치의 구성을 나타내는 제어 블록도이다.
도 7a는 “kendo”영상에 대한 깊이 정보 맵을 도시한 도면이다.
도 7b는 “kendo”영상에 대한 깊이 정보 맵의 임의의 위치에서 수평 방향으로 화소의 값을 도시한 2D 그래프이다.
도 7c는 kendo”영상에 대한 깊이 정보 맵의 임의의 위치에서 수평 방향으로 화소의 값을 도시한 2D 그래프이다.
도 8은 플레인 기반 분할 화면 내 예측 방법을 설명하기 도면이다.
도 9는 본 발명의 일 실시예에 따라 현재 블록에 대한 예측 방향을 유추하기 위하여 사용되는 주변 블록들을 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따라 현재 블록에 대한 화면 내 예측 방향을 유도하는 방법을 설명하기 위한 제어 흐름도이다.
도 11은 본 발명의 다른 실시예에 따라 현재 블록에 대한 화면 내 예측 방향을 유도하는 방법을 설명하기 위한 제어 흐름도이다.
도 12는 본 발명의 다른 실시예에 따라 현재 블록에 대한 예측 방향을 유추하기 위하여 사용되는 주변 블록들을 도시한 도면이다.
도 13은 깊이 정보 맵의 다운 샘플링 방법을 일 예를 도시한 도면이다.
도 14는 깊이 정보 맵의 업샘플링 방법을 일 예를 도시한 도면이다.
도 15는 본 발명의 일 실시예에 따른 디블록킹 필터링의 경계 필터링 강도(bS)를 결정하는 방법을 설명하기 위한 제어흐름도이다.
도 16은 인접한 블록 p 및 블록 q의 경계를 도시한 도면이다.
도 17은 본 발명의 다른 실시예에 따른 디블록킹 필터링의 경계 필터링 강도(bS)를 결정하는 방법을 설명하기 위한 제어흐름도이다.
도 18은 본 발명의 일 실시예에 따른 현재 블록과 주변 블록의 예측 방향 및 매크로블록 경계를 도시한 도면이다.
도 19는 현재 블록의 부호화 모드 및 현재 블록 경계의 일 예를 도시한 도면이다.
도 20은 본 발명의 일 실시예에 따른 비디오 부호화 장치의 구성을 나타내는 제어 블록도이다.
도 21은 본 발명의 일 실시예에 따른 비디오 복호화 장치의 구성을 나타내는 제어 블록도이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
도 5는 비디오 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다. 스케일러블(scalable) 비디오 부호화/복호화 방법 또는 장치는 스케일러빌리티(scalability)를 제공하지 않는 일반적인 영상 부호화/복호화 방법 또는 장치의 확장(extension)에 의해 구현될 수 있으며, 도 5의 블록도는 스케일러블 비디오 부호화 장치의 기초가 될 수 있는 영상 부호화 장치의 일 실시예를 나타낸다.
도 5를 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 디블록킹 필터부(180) 및 참조영상 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림(bit stream)을 출력할 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환된다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화할 수 있다.
이때 생성된 차분에 대한 블록을 부호화할지 혹은 부호화하지 않을지에 대한 선택은 율왜곡 관점에서 부호화 효율이 우수한 것으로 판단될 수 있다. 예측 블록의 생성은 화면 내 예측 과정을 통해 생성되거나 혹은 화면 간 예측을 통해 생성될 수 있다. 이때 화면 내 예측을 수행할 지 혹은 화면 간 예측을 수행할 지에 대한 선택은 율왜곡 관점에서 부호화 효율이 우수한 것으로 판단될 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터와 참조 영상 버퍼(190)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔여 블록(residual block)을 생성할 수 있다. 변환부(130)는 잔여 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로, 심볼(symbol)을 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bit stream)을 출력할 수 있다. 엔트로피 부호화 방법은 다양한 값을 갖는 심볼을 입력 받아, 통계적 중복성을 제거하면서, 복호 가능한 2진수의 열로 표현하는 방법이다.
여기서, 심볼이란 부호화/복호화 대상 구문 요소(syntax element) 및 부호화 파라미터(coding parameter), 잔여 신호(residual signal)의 값 등을 의미한다. 부호화 파라미터는 부호화 및 복호화에 필요한 매개변수로서, 구문 요소와 같이 부호화기에서 부호화되어 복호화기로 전달되는 정보뿐만 아니라, 부호화 혹은 복호화 과정에서 유추될 수 있는 정보를 포함할 수 있으며 영상을 부호화하거나 복호화할 때 필요한 정보를 의미한다. 부호화 파라미터는 예를 들어 인트라/인터 예측모드, 이동/움직임 벡터, 참조 영상 색인, 부호화 블록 패턴, 잔여 신호 유무, 변환 계수, 양자화된 변환 계수, 양자화 파라미터, 블록 크기, 블록 분할 정보 등의 값 또는 통계를 포함할 수 있다. 또한 잔여 신호는 원신호와 예측 신호의 차이를 의미할 수 있고, 또한 원신호와 예측 신호의 차이가 변환(transform)된 형태의 신호 또는 원신호와 예측 신호의 차이가 변환되고 양자화된 형태의 신호를 의미할 수도 있다. 잔여 신호는 블록 단위에서는 잔여 블록이라 할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다.
엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법이 사용될 수 있다. 예를 들어, 엔트로피 부호화부(150)에는 가변 길이 부호화(VLC: Variable Lenghth Coding/Code) 테이블과 같은 엔트로피 부호화를 수행하기 위한 테이블이 저장될 수 있고, 엔트로피 부호화부(150)는 저장된 가변 길이 부호화(VLC) 테이블을 사용하여 엔트로피 부호화를 수행할 수 있다. 또한 엔트로피 부호화부(150)는 대상 심볼의 이진화(binarization) 방법 및 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출한 후, 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 부호화를 수행할 수도 있다.
양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환될 수 있다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성될 수 있다.
복원 블록은 디블록킹 필터부(180)를 거치고, 디블록킹 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 디블록킹 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장될 수 있다.
도 6은 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다. 도 1에서 상술한 바와 같이 스케일러블 비디오 부호화/복호화 방법 또는 장치는 스케일러빌리티를 제공하지 않는 일반적인 영상 부호화/복호화 방법 또는 장치의 확장에 의해 구현될 수 있으며, 도 2의 블록도는 스케일러블 비디오 복호화 장치의 기초가 될 수 있는 영상 복호화 장치의 일 실시예를 나타낸다.
도 6를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 디블록킹 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔여 블록(residual block)을 얻고 예측 블록을 생성한 후 복원된 잔여 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 디코딩부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 2진수의 열을 입력 받아 각 심볼들을 생성하는 방법이다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔여 블록(residual block)이 생성될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
복원된 잔여 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 디블록킹 필터부(260)를 거친다. 디블록킹 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 디블록킹 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력한다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 화면 간 예측에 사용될 수 있다.
한편, 가상시점 영상을 생성하는데 사용되는 깊이 정보 맵은 카메라와 객체 간의 거리를 나타내므로 화소간 상관성이 매우 높다. 특히 객체 내부 혹은 배경 부분의 경우, 동일한 깊이 정보의 값이 광범위하게 나타난다.
도 7a는 “kendo”영상에 대한 깊이 정보 맵을 도시한 도면이고, 도 7b는 “kendo”영상에 대한 깊이 정보 맵의 임의의 위치에서 수평 방향으로 화소의 값을 도시한 2D 그래프이며, 도 7c는 kendo”영상에 대한 깊이 정보 맵의 임의의 위치에서 수평 방향으로 화소의 값을 도시한 2D 그래프이다.
도 7a 내지 도 7c에서 확인할 수 있듯이, 깊이 정보 맵의 화소간 상관성이 매우 높다는 것을 알 수 있다. 특히, 깊이 정보 맵의 객체 내부와 배경 부분에서 깊이 정보의 값이 동일함을 확인할 수 있다.
도 7b의 경우, 도 7a에서 수평선 Ⅱ-Ⅱ에 대응하는 부분의 화소 값을 도시한 것으로, 도시된 바와 같이 도 7a의 수평선(Ⅱ-Ⅱ)에 대응하는 부분은 두 개의 영역으로 구분되고 있다. 도 7b는 이러한 두 개의 영역을 반영하고 있으면, 두 개의 영역 내에서의 깊이 정보 값들을 동일함을 알 수 있다.
도 7c는 도 7a에서 수직선 Ⅲ-Ⅲ에 대응하는 부분의 화소 값을 도시한 것으로, 도시된 바와 같이 도 7b의 수직선(Ⅲ-Ⅲ)에 대응하는 부분은 두 개의 영역으로 구분되고 있다. 도 7c는 이러한 두 개의 영역을 반영하고 있으면, 두 개의 영역 내에서의 깊이 정보 값들을 동일함을 알 수 있다.
화소 간의 상관성이 높은 영상에서 화면 내 예측을 수행할 때 현재 블록의 화소 값은 주변 블록의 화소 값만을 이용하여 거의 예측할 수 있으므로, 현재 블록과 예측 블록 간의 차이 값인 잔여 신호에 대한 부호화 및 복호화 과정은 거의 필요 없게 된다.
이런 경우, 도 5 및 도 6에 도시된 바와 같이, 잔여 신호에 대한 변환 및 양자화 과정, 역양자화 및 역변환 과정이 필요 없게 된다.
따라서 이러한 특성을 이용한 화면 내 부호화를 통해 계산 복잡도를 감소시키고 부호화 효율을 향상시킬 수 있다. 또한 배경 부분이나 객체 내부와 같이 깊이 정보 값이 모두 동일할 경우, 해당 부분에 필터링(예를 들어, 디블록킹 필터, 샘플 적응형 보상(SAO; Sample Adaptive Offset) 필터, 적응형 루프 필터(ALF; Adaptive Loop Filter) 등)과 같은 과정을 수행하지 않음으로써 계산 복잡도를 감소시킬 수 있다.
깊이 정보 맵의 객체 경계 부분은 가상 영상 합성에 매우 중요한 요소이다. 이러한 깊이 정보 맵의 객체 경계부분을 부호화하는 방법의 일 예로 플레인 기반 분할 화면 내 예측 방법이 있다.
도 8은 플레인 기반 분할 화면 내 예측 방법을 설명하기 도면이다.
도 8과 같이, 플레인 기반 분할 화면 내 예측 방법은 현재 블록의 주변 픽셀을 기반으로 현재 블록을 두 가지 영역(객체 내부인지 객체 외부인지)으로 분할 하여 부호화하는 방법이다. 이때 분할된 이진 비트맵 정보는 복호기에 전송된다.
플레인 기반 분할 화면 내 예측 방법은 깊이 정보 맵의 객체 경계 부분에 적용되는 방법이다. 이러한 방법과 같이 객체 경계부분의 특성을 유지시키면서, 즉, 객체 경계를 스무딩하거나 뭉개지 않고, 깊이 정보 맵을 이용할 경우 가상 합성 영상의 화질이 향상될 수 있다. 따라서 깊이 정보 맵의 객체 경계 부분에는 디필터링 과정과 같은 객체 경계를 뭉개는 필터링을 수행하지 않을 수 있다.
기존의 디블록킹 필터링 방법은 두 인접한 블록간의 부호화 모드(화면 내 예측인지 화면 간 예측인지), 두 블록 간의 참조픽쳐의 동일성, 두 블록간의 움직임 정보의 차이 등으로 인한 블록 경계 부분의 블록킹 현상을 제거하기 위한 방법이다. 따라서 블록 경계 부분에 디블록킹 필터를 수행할 때 디블록킹의 강도를 두 블록 간의 부호화 모드(화면 내 예측인지 화면 간 예측인지), 두 블록 간의 참조픽쳐의 동일성, 두 블록간의 움직임 정보의 차이 등으로 판단한다. 일 예로 두 블록 중 하나는 화면 내 예측되었고 다른 한 블록은 화면 간 예측 모드로 부호화 되었을 경우, 두 블록간에는 매우 심한 블록킹 현상이 발생할 수 있으며, 이러한 경우 강한 강도로 디블록킹 필터를 수행할 수 있다.
또 다른 일예로, 두 블록 모두 화면 간 예측이 수행되었고 두 블록의 참조픽쳐가 동일하고 또한 두 블록간의 움직임 정보가 동일할 경우, 두 블록간에는 블록킹 현상이 발생하지 않을 수 있으며, 이러한 경우 디블록킹 필터를 수행하지 않거나 혹은 디블록킹 필터를 약하게 수행할 수 있다.
이러한 디블록킹 필터는 영상에서의 블록킹 현상을 제거하여 영상의 주관적 화질을 향상시키는 역할을 수행한다. 하지만 깊이 정보 맵은 가상합성 영상을 생성하기 위해서 사용할 뿐 실제 디스플레이 장치로 출력되지 않는다. 따라서 이러한 깊이 정보 맵의 블록 경계는 주관적 화질 향상 측면이 아닌 가상 합성 영상을 화질을 향상시키기 위해 필요할 수 있다.
또한 깊이 정보 맵의 디블록킹 필터(혹은 다른 필터링 방법들)는 두 블록 간의 부호화 모드(화면 내 예측인지 화면 간 예측인지), 두 블록 간의 참조 픽쳐의 동일성, 두 블록간의 움직임 정보가 아닌 현재 블록의 부호화 모드에 따라 필터링의 수행 여부 및 필터링의 강도를 설정할 필요가 있다.
예를 들어, 현재 블록이 객체 경계 부분을 부호화하는 플래인 기반 분할 부호화 방법으로 부호화되었을 경우, 객체의 경계 부분을 최대한 뭉개지 않게 하기 위해서는 블록 경계에 대하여 디블록킹 필터를 수행하지 않는 것이 더 효과적일 수 있다.
이하에서, 화소간의 상관성이 높은 영상에 대한 화면 내 부호화 시, 계산복잡도를 감소시키고 부호화 효율을 향상시키는 방법을 제안한다. 깊이 정보 맵은 객체들간의 거리감을 나타내기 위한 깊이 정보이며, 일반적으로 매우 완만한 값을 가진다.
특히, 배경 부분이나 객체 내부의 경우, 깊이 정보가 광범위하게 동일한 값을 가진다. 이러한 특징을 기반으로 하여 주변 블록의 깊이 값을 패딩(padding)하여 현재 블록의 깊이 정보를 구성할 수 있다.
또한 광범위하게 동일한 깊이 정보 값을 가지는 부분에는 일반적인 영상에 적용하는 필터링 과정이 필요 없을 수 있다. 또한 샘플링(업-샘플링 혹은 다운-샘플링) 과정도 단순하게 적용할 수 있다. 본 발명에서는 다양한 깊이 정보 맵의 화면 내 부호화 방법과 깊이 정보 맵의 필터링 및 샘플링 방법을 제안한다.
깊이 정보 맵의 화면 내 부호화 방법
화면 내 예측 방법을 이용하여 예측 블록을 생성할 때에는 일반적으로 이미 부호화가 수행된 현재 블록의 주변 블록을 통해 예측된다. 이와 같이 화면 내 예측 블록만으로 현재 블록을 구성하는 방법을 인트라 예측 모드라 한다.
본 발명에서는 인트라 예측 모드로 부호화된 블록을 인트라 16x16 모드(혹은 8x8 모드 혹은 4x4 모드 혹은 NxN 모드) 이면서 차분 데이터가 없을 경우를 인트라 스킵(intra skip)모드라고 한다. 인트라 스킵(intra skip) 모드로 부호화된 블록의 경우의 장점으로는 해당 블록을 화면 내 예측 방향을 공간상의 부호화된 주변 블록으로부터 유추할 수 있다. 다시 말하면, 인트라 스킵(intra skip)모드로 부호화된 블록은 화면 내 예측 방향 정보 및 그 이외 정보를 디코딩 장치로 전송하지 않으며, 단지 주변 블록의 정보를 통해 현재 블록의 화면 내 예측 방향 정보를 유도할 수 있다.
도 9는 본 발명의 일 실시예에 따라 현재 블록에 대한 예측 방향을 유추하기 위하여 사용되는 주변 블록들을 도시한 도면이다.
도 9를 참조하면, 현재 블록(X)에 대한 화면 내 예측 방향은 현재 블록(X)에 인접한 주변 블록(A, B)들로부터 유추할 수 있다. 여기서 주변 블록은 현재 블록(X)에 인접한 모든 블록을 의미 할 수 있다. 현재 블록(X)에 대한 화면 내 예측 방향을 유도하는 방법은 여러 가지가 될 수 있으며, 그 일 실시예는 아래 상세히 설명된다.
도 10은 본 발명의 일 실시예에 따라 현재 블록에 대한 화면 내 예측 방향을 유도하는 방법을 설명하기 위한 제어 흐름도이다.
우선, 화면 내 예측 방향은 수직 예측(0), 수평 예측(1), 소정의 평균값을 이용하는 DC 예측(2), Plane(대각선) 예측(3)이 존재하는 것으로 가정한다. 예측 방향에 대한 값은 발생확률이 높을수록 적은 값을 가진다. 예를 들어 수직 예측(0)이 가장 발생확률이 높다. 그 이외에도 많은 예측 방향이 존재할 수 있으며, 예측 방향의 발생 확률은 블록의 크기에 따라 달라진다. 현재 블록에 대한 예측 방향 정보는 IntraPredMode로 나타낼 수 있다.
1 단계) 블록 A의 가용성을 판단한다(S1000a). 블록 A가 가용하지 않는 경우, 예를 들어 블록 A가 부호화 되지 않았거나 블록 A의 부호화 모드를 사용할 수 없을 경우에는 IntraPredModeA(블록 A에 대한 예측 방향 정보)를 DC 예측 방향으로 설정한다(S1001).
반면, 블록 A가 가용하다면, 2단계를 수행한다.
2 단계) 만약, 블록 A가 인트라 16x16 부호화 모드(혹은 8x8 부호화 모드 혹은 4x4 부호화 모드)이거나 혹은 intra_skip 부호화 모드일 경우, IntraPredModeA에 블록 A의 IntraPredMode, 즉 블록 A의 예측 방향 정보를 IntraPredModeA로 설정한다(S1002).
3 단계) 만일 블록 B가 부호화 되지 않았거나 블록 B의 부호화 모드를 사용할 수 없을 경우와 같이 블록 B가 가용하지 않으면(S1000b) IntraPredModeB(블록 B에 대한 예측 방향 정보)를 DC 예측 방향으로 설정한다(S1003).
그렇지 않다면, 4단계를 수행한다.
4 단계) 만일 블록 B가 인트라 16x16 부호화 모드(혹은 8x8 부호화 모드 혹은 4x4 부호화 모드)이거나 혹은 intra_skip 부호화 모드일 경우, 블록 B의 IntraPredMode를 IntraPredModeB로 설정한다(S1004).
5 단계) 그런 후, IntraPredModeA와 IntraPredModeB 값 중에서 최소값을 현재 블록(X)의 IntraPredMode로 설정할 수 있다(S1005)
도 11은 본 발명의 다른 실시예에 따라 현재 블록에 대한 화면 내 예측 방향을 유도하는 방법을 설명하기 위한 제어 흐름도이다.
1 단계) 만일 블록 A가 부호화 되지 않았거나 블록 A의 부호화 모드를 사용할 수 없을 경우, 블록 A가 가용하지 않는 경우에는(S1100a) IntraPredModeA를 ‘-1’로 설정한다(S1101).
반면, 블록 A가 가용하다면, 2단계를 수행한다.
2 단계) 만일 블록 A가 인트라 16x16 부호화 모드(혹은 8x8 부호화 모드 혹은 4x4 부호화 모드)이거나 혹은 intra_skip 부호화 모드일 경우, IntraPredModeA에 블록 A의 IntraPredMode, 즉 블록 A의 예측 방향 정보를 IntraPredModeA로 설정한다(S1102).
그리고 블록 B에 대한 화면 내 예측 방향을 유도하는 단계를 수행한다.
3 단계) 만일 블록 B가 부호화 되지 않았거나 블록 B의 부호화 모드를 사용할 수 없을 경우에는(S1100b) IntraPredModeB를 ‘-1’로 설정한다. 그렇지 않다면, 4단계를 수행한다.
4 단계) 만일 블록 B가 인트라 16x16 부호화 모드(혹은 8x8 부호화 모드 혹은 4x4 부호화 모드)이거나 혹은 intra_skip 부호화 모드일 경우, 블록 B의 IntraPredMode를 IntraPredModeB로 설정한다(S1104).
5 단계) 그런 후, 만일 IntraPredModeA와 IntraPredModeB 중에서 적어도 하나가 ‘-1’이면(S1105) 현재 블록(X)의 IntraPredMode를 DC 예측 방향으로 설정한다(S1106).
그렇지 않다면 IntraPredModeA와 IntraPredModeB 값 중에서 최소값을 현재 블록(X)의 IntraPredMode로 설정한다(S1107).
도 12는 본 발명의 다른 실시예에 따라 현재 블록에 대한 예측 방향을 유추하기 위하여 사용되는 주변 블록들을 도시한 도면이다.
도 12와 같이, 현재 블록과 인접한 블록(A, B) 뿐만 아니라 블록(C)의 예측 방향 정보를 사용할 수 있다. 이 때 현재 블록에 대한 예측 방향은 블록 A, B, C의 예측 방향의 특성을 통해 유추할 수 있다.
예를 들어, 블록 A, B, C가 모두 같은 예측 방향일 경우, 블록 A의 예측 방향을 현재 블록에 대한 예측 방향으로 설정할 수 있다.
그렇지 않고 예측 방향이 모두 다를 경우, 블록 A, B, C 의 예측 방향 중에서 최소값을 현재 블록에 대한 예측 방향으로 설정할 수 있다.
또한 블록 A, C의 예측 방향이 같고 블록 B, C 의 예측 방향이 다를 경우에 블록 B의 예측 방향을 현재 블록에 대한 예측 방향으로 설정할 수 있다.
혹은 블록 A, C의 예측 방향이 같고 블록 B, C 의 예측 방향이 다를 경우에 블록 A의 예측 방향을 현재 블록에 대한 예측 방향으로 설정할 수 있다.
또한 블록 B, C의 예측 방향이 같고 블록 A, C 의 예측 방향이 다를 경우에 블록 A의 예측 방향을 현재 블록에 대한 예측 방향으로 설정할 수 있다.
혹은 블록 B, C의 예측 방향이 같고 블록 A, C 의 예측 방향이 다를 경우에 블록 B의 예측 방향을 현재 블록에 대한 예측 방향으로 설정할 수 있다.
현재 블록에 대한 예측 방향이 결정된 후, 화면 내 예측 영상을 구성하는 방법은 다양하게 구현될 수 있다.
하나의 일 실시 예로서, 현재 블록 영상에 인접한 주변 블록의 화소를 그대로 복사(패딩)하여 구성할 수 있으며, 이때 현재 블록에 복사(패딩)될 화소는 현재 블록과 인접한 주변 블록에서 상측의 화소이거나 혹은 좌측의 화소일 수 있으며, 또한 현재 블록에 인접한 화소들의 평균 혹은 가중치 평균일 수 있다.
또한 어느 위치의 화소를 사용할 지에 대한 정보가 부호화되어 비트스트림에 포함될 수 있다. 이 방법은 H.264/AVC의 화면 내 예측 방법과 유사할 수 있다.
또 다른 실시 예로서, 현재 블록과 인접한 주변 화소들의 특성을 고려하여 복사할 화소를 결정한 후 결정된 화소를 통해 현재 블록을 구성할 수 있다.
구체적으로 현재 블록의 좌상단에 위치한 블록의 화소값이 현재 블록의 좌측에 위치한 블록의 화소값과 같거나 비슷하다면, 현재 블록에 대한 예측 블록은 현재 블록에 인접한 상단의 화소를 통해 생성할 수 있다. 또한 현재 블록의 좌상단에 위치한 블록의 화소값이 현재 블록의 상측에 위치한 블록의 화소값과 같거나 비슷하다면, 현재 블록에 대한 예측 블록은 현재 블록에 인접한 좌측의 화소를 통해 생성할 수 있다.
또 다른 실시 예로서, 여러 예측 방법들을 혼합하여 그것의 평균값 혹은 각각의 방법에 따른 가중치의 합으로 예측 블록 영상을 구성하여 사용할 수 있다.
이 외에도 위와 같이 화면 내 예측 블록을 구성하는 방법은 다양하게 변경될 수 있다.
위와 같이 현재 블록에 대한 화면 내 예측 방향을 현재 블록에 인접한 주변 블록들로부터 유추함으로써, 현재 블록에 대한 화면 내 예측 방향 정보는 디코더로 전송되지 않는다. 다시 말하면 인트라 스킵이 적용된 블록의 경우, 화면 내 예측 방향 정보는 주변 블록 혹은 그 이외의 정보를 통해 유추될 수 있다.
화면 간 예측 과정에서는 이전에 부호화된 후 복호화된 이전 프레임에서 현재 블록과 가장 유사한 블록을 가져와서 현재 블록에 대한 예측 블록을 생성한다.
생성된 예측 블록 영상은 현재 블록 영상과 차분되어 차분 블록 영상을 생성한다. 차분 블록 영상에 대해 변환 및 양자화, 그리고 엔트로피 부호화 과정이 수행되는지 혹은 수행되지 않는지에 따라 두 가지 방법으로 부호화되며, 차분 블록 영상에 대해 부호화가 수행되는 지의 여부 정보는 비트스트림에 포함될 수 있다. 두 가지 방법은 아래와 같다.
(1) 변환 및 양자화 과정을 수행하는 경우는 현재 블록 영상을 예측 블록 영상과 차분한 블록 영상에 변환 및 양자화한 후 엔트로피 부호화하여 비트스트림을 출력하고, 다시 엔트로피 부호화하기 전의 양자화된 계수를 역양자화 및 역변환하여 예측 블록 영상과 더한 후 현재 블록 영상을 복원한다.
(2) 변환 및 양자화 과정을 수행되지 않는 경우는 현재 블록 영상을 오직 예측 블록 영상만으로 구성한다. 여기서 차분 블록 영상은 부호화되지 않으며, 오직 차분 블록 영상에 대해 부호화가 수행되는지의 여부 정보만 비트스트림에 포함될 수 있다.
또한, 현재 블록의 예측 블록 영상을 생성하기 위한 정보(화면 내 예측 방향 정보 혹은 화면 간 예측 움직임 정보)는 주변 블록의 정보로부터 구성될 수 있다. 이 때, 예측 블록 생성 정보 및 차분 블록 영상은 부호화되지 않으며, 예측 블록 생성 정보 및 차분 블록 영상에 대해 부호화가 수행되는지의 여부 정보만 비트스트림에 포함될 수 있다. 이때 차분 블록을 부호화할지에 대한 여부 정보는 현재 블록의 주변 블록들의 부호화 여부 정보를 고려하여 확률적으로 산술 부호화를 수행할 수 있다.
깊이 정보 맵의 필터링 및 샘플링 방법
깊이 정보 맵의 특성은 매우 단조로우며, 특히 배경 부분이나 객체 내부의 경우 동일한 깊이 정보 값을 가진다. 따라서 깊이 정보 맵에 대해서는 필터링(예를 들어, 디블록킹 필터, 샘플 적응형 보상(SAO; Sample Adaptive Offset) 필터, 적응형 루프 필터(ALF; Adaptive Loop Filter), 인루프 결합 시점간 깊이 정보 필터링(JVDF; In-loop Joint inter-View Depth Filtering)등)을 수행하지 않을 수 있다. 혹은 깊이 정보 맵의 배경 부분이나 객체 내부에 대하여 필터링을 약하게 수행하거나 혹은 수행하지 않을 수 있다.
실시 일 예로, 깊이 정보 맵에 대하여 디블록킹 필터를 약하게 수행하거나 혹은 수행하지 않을 수 있다.
또한 깊이 정보 맵에 대하여 샘플 적응형 보상(SAO; Sample Adaptive Offset) 필터를 적용하지 않을 수 있다.
또한 깊이 정보 맵에 대하여 적응형 루프 필터(ALF; Adaptive Loop Filter)를 객체 경계 부분에만 적용하거나 혹은(그리고) 객체 내부 부분에만 적용하거나 혹은(그리고) 배경 부분에만 적용할 수 있다. 혹은 깊이 정보 맵에 대하여 적응형 루프 필터(ALF; Adaptive Loop Filter)를 적용하지 않을 수 있다.
또한 깊이 정보 맵에 대하여 인루프 결합 시점간 깊이 정보 필터링(JVDF; In-loop Joint inter-View Depth Filtering)을 객체 경계 부분에만 적용하거나 혹은(그리고) 객체 내부 부분에만 적용하거나 혹은(그리고) 배경 부분에만 적용할 수 있다.
혹은 깊이 정보 맵에 대하여 인루프 결합 시점간 깊이 정보 필터링(JVDF; In-loop Joint inter-View Depth Filtering)을 적용하지 않을 수 있다.
또한 깊이 정보 맵에 대하여 어떠한 필터링도 적용하지 않을 수 있다.
또한 일반적으로 깊이 정보 맵을 부호화할 때, 원본 깊이 정보 맵을 다운-샘플링을 수행하여 부호화하고 실제 사용할 경우에는 복호화된 깊이 정보 맵을 업-샘플링하여 사용한다. 이러한 샘플링 과정은 일반적으로 4탭 혹은 6탭 업샘플링(혹은 다운샘플링) 필터 등을 이용한다. 이러한 샘플링 필터는 복잡도가 높다는 단점이 있으며 특히 깊이 정보 맵처럼 매우 단조로운 특성을 지니는 영상에는 적합하지 않다. 따라서 깊이 정보 맵의 특성에 맞는 업샘플링 및 다운 샘플링 필터는 매우 간단하고 단순한 것이 바람직하다.
도 13은 깊이 정보 맵의 다운 샘플링 방법을 일 예를 도시한 도면이다.
도 13과 같이, 원본 크기의 깊이 정보 맵(1310)에서 4개의 샘플(화소) 당 하나의 샘플(화소)를 그대로 복사하여 다운 샘플링된 깊이 정보 맵(1320)을 구성할 수 있다.
이러한 방법은 깊이 정보 맵의 배경 부분이나 객체 내부에서만 사용할 수도 있다.
또는 배경 부분이나 객체 내부의 깊이 정보 맵의 깊이 정보 값이 동일하므로 다운 샘플링 과정을 거치지 않고, 현재 블록(혹은 임의 영역)의 어떠한 깊이 정보 값을 다운 샘플링된 깊이 정보 맵 블록(혹은 임의 영역)의 모든 픽셀(화소)에 적용할 수 있다.
도 14는 깊이 정보 맵의 업샘플링 방법을 일 예를 도시한 도면이다.
도 14와 같이, 다운 샘플링된 깊이 정보 맵(1410)에서 하나의 샘플(화소)을 그대로 복사하여 업 샘플링된 깊이 정보 맵(1420)의 4개 샘플(화소)에 복사(혹은 패딩)할 수 있다.
이러한 방법은 깊이 정보 맵의 배경 부분이나 객체 내부에서만 사용할 수도 있다.
또는 배경 부분이나 객체 내부의 깊이 정보 맵의 깊이 정보 값이 동일하므로 업 샘플링 과정을 거치지 않고, 현재 블록(혹은 임의 영역)의 어떠한 깊이 정보 값을 업 샘플링된 깊이 정보 맵 블록(혹은 임의 영역)의 모든 픽셀(화소)에 적용할 수 있다
깊이 정보 맵에 대한 업샘플링으로 인한 복잡도를 감소시키고, 업샘플링된 깊이 정보 맵은 업샘플링 되기 전의 깊이 정보 맵에 비해 메모리가 더 많이 요구되는 점을 고려하여 업샘플링을 수행하지 않은 상태로 깊이 정보 맵을 사용할 수 있다.
깊이정보 맵의 화면 내 부호화 방법과 그것의 필터링 및 샘플링 방법
본 발명의 일 예에 따르면, 깊이 정보 맵의 화면 내 부호화 방법과 깊이 정보 맵의 필터링 및 샘플링 방법을 조합하여 깊이정보 맵을 부호화할 수 있으며, 그 실시 일 예는 아래와 같다.
본 발명의 일 실시예에 따라, 이하에서는 현재 블록 영상을 예측 블록만으로 구성하고 예측 블록에 대한 디블록킹 필터의 필터링 강도를 조절하거나 혹은 디블록킹 필터의 적용 여부를 결정하는 방법이 기술된다.
상술한 화면 내 예측 방법 중, 현재 블록에 대한 화면 내 예측 방향을 현재 블록에 인접한 주변 블록들로부터 유추하는, 즉 화면 내 예측 블록만으로 현재 블록을 구성하는 방법을 인트라 스킵(intra_skip)모드라고 명명할 수 있다. 이러한 인트라 스킵 모드로 선택된 블록의 경우, 주변 블록과의 상관성이 아주 높다. 따라서 이 경우에 디블록킹 필터링을 수행하지 않을 수 있다.
도 15는 본 발명의 일 실시예에 따른 디블록킹 필터링의 경계 필터링 강도(bS)를 결정하는 방법을 설명하기 위한 제어흐름도이다.
또한, 도 16은 인접한 블록 p 및 블록 q의 경계를 도시한 도면이다.
도 15 및 도 16을 참조하여 인트라 스킵 모드에서 디블록킹 필터링의 경계 필터링 강도(bS)를 결정하는 방법을 설명하면 다음과 같다.
우선, 도 16에 도시된 바와 같이, 블록 p 및 블록 q는 서로 경계를 공유하는 인접한 블록에 대응한다. 블록 p는 수직 방향 경계에 대하여 좌측에 위치하고, 수평 방향 경계의 위쪽에 위치하는 블록을 나타내고, 블록 q는 수직 방향 경계에 대하여 우측에 위치하고, 수평 방향 경계의 아래쪽에 위치하는 블록을 나타낸다.
경계 필터링 강도(bS)를 결정하기 위하여 우선 서로 인접하는 블록 p와 q 들의 부호화 모드를 확인할 수 있다. 여기서 블록 p 또는 q가 인트라 부호화 또는 인터 부호화되었다는 것은 블록 p 또는 q가 인트라 부호화된 매크로블록이거나 또는 이에 속한다는 것을 의미할 수 있다.
도 15를 참조하면, 경계 필터링 강도(bS)를 결정하기 위하여 먼저 서로 인접하는 블록 p와 블록 q 들 중에서 적어도 하나의 블록이 인트라 스킵(intra_skip) 모드로 부호화되었는지를 판단한다(S1501).
여기서 인트라 스킵(intra skip) 모드는 인트라 모드(NxN 예측 모드, 여기서 N은 16, 8, 4 등)이면서 차분 데이터가 없다는 것으로 간주될 수 있다. 또는 인트라 모드(NxN 예측 모드, 여기서 N은 16, 8, 4 등)이면서 차분 데이터가 없다는 것을 인트라 스킵(intra skip)모드라고 간주할 수 있다.
판단 결과, 만일 블록 p와 q 중에서 인트라 스킵(intra_skip) 모드로 부호화된 블록이 하나 이상 존재하는 경우에는 경계 필터링 강도(bS)를 ‘0’으로 결정할 수 있다(S1502). 경계필터링 강도(bS)가 0이라는 것은 후속하는 필터링 적용 절차에서 필터링을 수행하지 않는 것을 나타낸다.
반면, 그렇지 않다면, 즉 블록 p와 q 중에서 인트라 스킵(intra_skip) 모드로 부호화된 블록이 하나도 존재하지 않는 다면, 블록 p와 블록 q 중에서 인트라 부호화된 블록(인트라 스킵 모드가 아닌 블록)이 하나 이상 존재하는 지를 판단한다(S1503).
판단 결과, 블록 p와 블록 q 중에서 인트라 부호화된 블록이 하나 이상 존재하는 경우에는, ‘INTRA MODE’ 단계로 진행하며, 반대로 블록 p와 블록 q가 모두 인터 부호화된 경우에는 ‘INTER MODE’ 단계로 진행할 수 있다.
여기서, 인터 부호화는 현재 프레임과 시간이 다른 재구성 프레임의 영상을 참조 프레임으로 이용하는 예측 부호화를 의미한다.
‘INTRA MODE’ 단계에서 블록 p와 q 중에서 인트라 부호화된 블록이 적어도 하나 존재하는 것으로 판단된 경우에는(S1503), 블록 p와 블록 q의 경계가 매크로블록(Macro block, MB)의 경계와 일치하는지를 판단한다(S1504).
판단결과, 블록 p와 블록 q의 경계가 매크로블록(Macro block, MB)의 경계와 일치하는 경우에는 경계 필터링 강도(bS)를 4로 결정할 수 있다(S1505). 경계 필터링 강도(bS)가 4인 경우에는 후속하는 필터링 적용 절차에서 가장 강한 필터링이 적용되는 것을 의미하며 경계 필터링 강도(bS) 값이 작을수록 필터링의 강도는 약해진다.
반면, 블록 p와 블록 q의 경계가 매크로블록(Macro block, MB)의 경계가 아닌 경우에는 경계 필터링 강도(bS)를 3으로 결정할 수 있다(S1506).
‘INTER MODE’ 단계에서 블록 p와 블록 q 모두가 인터 부호화된 블록인 것으로 판단된 경우에는, 블록 p와 블록 q 중에서 적어도 하나가 직교 변환 계수(Non-zero Transform Coefficient)를 가지는지를 판단한다(S1507).
직교 변환 계수는 코딩된 계수(Coded Coefficient) 또는 0이 아닌 변환 계수(Non-zero Transformed Coefficient)라고도 할 수 있다.
판단 결과, 블록 p와 블록 q의 경계가 직교 변환계수를 가지는 블록이 하나 이상 존재하는 경우에는 경계 필터링 강도(bS)를 2로 결정한다(S1508).
반면, 블록 p와 블록 q의 경계가 직교 변환계수를 가지는 블록이 하나 이상 존재하지 않으면, 블록 p와 블록 q에 대하여 움직임 벡터의 일 성분 즉, x축 성분 또는 y축 성분의 차의 절대값이 1(혹은 4)와 같거나 더 큰지 및/또는 움직임 보상에서의 참조 프레임이 다른지 및/또는 PU 파티션 경계인지를 판단한다(S1509).
여기서, '참조 프레임이 다르다는 것'은 참조 프레임 자체가 다르다는 것과 참조 프레임의 개수가 다르다는 것을 모두 포함할 수 있다.
판단결과, 움직임 벡터의 차의 절대값 중에서 적어도 하나가 1(혹은 4)이상이 되거나 또는 움직임 보상에서의 참조 프레임이 다른 경우에는 경계 필터링 강도(bS)를 1로 결정할 수 있다(S1510).
반면, 움직임 벡터의 차의 절대값이 모두 1(혹은 4)보다 작고 또한 움직임 보상에서의 참조 프레임이 같은 경우에는 경계 필터링 강도(bS)를 0으로 결정한다(S1502).
도 17은 본 발명의 다른 실시예에 따른 디블록킹 필터링의 경계 필터링 강도(bS)를 결정하는 방법을 설명하기 위한 제어흐름도이다.
도 17을 참조하면, 우선 경계 필터링 강도(bS)를 결정하기 위하여 블록 p와 블록 q 모두 인트라 스킵(intra_skip) 모드로 부호화되었는지를 판단한다(S1701).
판단 결과, 블록 p와 블록 q 모두 인트라 스킵(intra_skip) 모드로 부호화 되었으면 블록 p와 블록 q의 경계 필터링 강도를 ‘0’으로 설정할 수 있다(1702)
또는 블록 p와 블록 q 모두 인트라 스킵(intra_skip) 모드로 부호화 되었으면 경계 필터링 강도를 약하게(혹은 강하게) 설정할 수 있으며 그 일 실시 예로 임의값을 설정할 수 있다. 혹은 필터링을 수행하지 않을 수 있다.
한편, 블록 p와 블록 q 모두 인트라 스킵(intra_skip) 모드로 부호화가 아니면, 블록 p와 q 중에서 인트라 부호화된 블록(인트라 스킵 모드가 아닌 블록)이 하나 이상 존재하는 지를 판단한다(S1703).
판단 결과, 블록 p와 블록 q 중에서 인트라 부호화된 블록이 하나 이상 존재하는 경우에는, ‘INTRA MODE’ 단계로 진행하며, 반대로 블록 p와 블록 q가 모두 인터 부호화된 경우에는 ‘INTER MODE’ 단계로 진행할 수 있다.
‘INTRA MODE’ 단계에서 블록 p와 q 중에서 인트라 부호화된 블록이 적어도 하나 존재하는 것으로 판단된 경우에는(S1703), 블록 p와 블록 q의 경계가 매크로블록(Macro block, MB)의 경계와 일치하는지를 판단한다(S1704).
판단 결과, 블록 p와 블록 q의 경계가 매크로블록(Macro block, MB)의 경계와 일치하는 경우에는 경계 필터링 강도(bS)를 4로 결정할 수 있다(S1705). 경계 필터링 강도(bS)가 4인 경우에는 후속하는 필터링 적용 절차에서 가장 강한 필터링이 적용되는 것을 의미하며 경계 필터링 강도(bS) 값이 작을수록 필터링의 강도는 약해진다.
반면, 블록 p와 블록 q의 경계가 매크로블록(Macro block, MB)의 경계가 아닌 경우에는 경계 필터링 강도(bS)를 3으로 결정할 수 있다(S1706).
‘INTER MODE’ 단계에서 블록 p와 블록 q 모두가 인터 부호화된 블록인 것으로 판단된 경우에는, 블록 p와 블록 q 중에서 적어도 하나가 직교 변환 계수(Non-zero Transform Coefficient)를 가지는지를 판단한다(S1507).
판단 결과, 블록 p와 블록 q의 경계가 직교 변환계수를 가지는 블록이 하나 이상 존재하는 경우에는 경계 필터링 강도(bS)를 2로 결정한다(S1708).
반면, 블록 p와 블록 q의 경계가 직교 변환계수를 가지는 블록이 하나 이상 존재하지 않으면, 블록 p와 블록 q에 대하여 움직임 벡터의 일 성분 즉, x축 성분 또는 y축 성분의 차의 절대값이 1(혹은 4)와 같거나 더 큰지 및/또는 움직임 보상에서의 참조 프레임이 다른지 및/또는 PU 파티션 경계인지를 판단한다(S1709).
여기서, '참조 프레임이 다르다는 것'은 참조 프레임 자체가 다르다는 것과 참조 프레임의 개수가 다르다는 것을 모두 포함할 수 있다.
판단결과, 움직임 벡터의 차의 절대값 중에서 적어도 하나가 1(혹은 4)이상이 되거나 또는 움직임 보상에서의 참조 프레임이 다른 경우에는 경계 필터링 강도(bS)를 1로 결정할 수 있다(S1710).
반면, 움직임 벡터의 차의 절대값이 모두 1(혹은 4)보다 작고 또한 움직임 보상에서의 참조 프레임이 같은 경우에는 경계 필터링 강도(bS)를 0으로 결정한다(S1702).
한편, 현재 블록과 주변 블록 중에서 적어도 한 블록이 인트라 스킵(intra_skip)모드일 경우에 현재 블록과 주변 블록 사이의 경계 필터링 강도를 ‘0’으로 설정할 수 있다. 혹은 경계 필터링 강도를 약하게(혹은 강하게) 설정할 수 있으며 그 일 실시 예로 임의값을 설정할 수 있다. 혹은 필터링을 수행하지 않을 수 있다.
또는, 현재 블록과 주변 블록 중에서 한 블록은 인트라 스킵(intra_skip)모드이고 다른 블록은 일반적인 부호화 모드(인트라(혹은 인터) 부호화 모드)일 경우, 일반적인 부호화 모드(인트라(혹은 인터) 부호화 모드)의 블록에서 직교 변환계수를 하나라도 포함하고 있는 경우에는 현재 블록과 주변 블록 사이의 경계 필터링 강도를 ‘4’(혹은 3, 2, 1)로 설정할 수 있다. 반면, 그렇지 않은 경우에는 필터링 강도를 0(혹은 1, 2, 3)으로 설정할 수 있다. 혹은 경계 필터링 강도를 약하게(혹은 강하게) 설정할 수 있으며 그 일 실시 예로 임의값을 설정할 수 있다. 혹은 필터링을 수행하지 않을 수 있다.
현재 블록에 인접한 주변 블록의 부호화 모드가 인트라 스킵(intra_skip)모드일 경우, 현재 블록과 주변 블록의 인트라 예측 방향이 같을 때는 경계 필터링 강도를 ‘0’으로 설정하고 다른 경우에는 경계 필터링 강도를 ‘1’로 설정하거나 그 이외의 값(2,3,4)으로 설정할 수 있다. 혹은 경계 필터링 강도를 약하게(혹은 강하게) 설정할 수 있으며 그 일 실시 예로 임의값을 설정할 수 있다. 혹은 필터링을 수행하지 않을 수 있다.
도 18은 본 발명의 일 실시예에 따른 현재 블록과 주변 블록의 예측 방향 및 매크로블록 경계를 도시한 도면이다.
예를 들어, 도 18을 참조하면, 현재 블록(X)의 수직 매크로 블록 경계에 대하여 디블록킹의 필터링 강도를 설정하고 할 때, 주변 블록(A)의 예측 방향과 현재 블록(X)의 예측 방향이 동일하므로 디블록킹의 필터링 강도를 ‘0’으로 설정할 수 있다. 혹은 경계 필터링 강도를 약하게(혹은 강하게) 설정할 수 있으며 그 일 실시 예로 임의값을 설정할 수 있다. 혹은 필터링을 수행하지 않을 수 있다. 이러한 예는 현재 블록(X)와 주변 블록(B)의 수평 경계에서도 동일하게 적용될 수 있다.
또한, 현재 블록이 인트라 스킵(intra_skip)모드이고 현재 블록에 대한 화면 내 예측 방향이 수평 방향일 경우, 수직 경계에 대한 경계 필터링 강도를 ‘0’으로 설정하거나 혹은 필터링을 수행하지 않는다. 또한 현재 블록이 인트라 스킵(intra_skip)모드이고 현재 블록에 대한 화면 내 예측 방향이 수직 방향일 경우, 수평 경계에 대한 경계 필터링 강도를 ‘0’으로 설정하거나 혹은 필터링을 수행하지 않는다. 다른 경우에는 경계 필터링 강도를 약하게 주거나 혹은 필터링을 수행하지 않을 수 있다.
예를 들어, 8을 참조하면, 현재 블록이 인트라 스킵(intra_skip)모드이고 현재 블록에 대한 화면 내 예측 방향이 수평 방향일 경우, 수직 경계에 대한 경계 필터링 강도를 ‘0’으로 설정하거나 혹은 필터링을 수행하지 않는다. 이러한 예는 현재 블록(X)와 주변 블록(B)의 수평 경계에서도 동일하게 적용된다. 이외에도 경계필터링 강도(bS)를 결정하는 방법은 여러 가지가 될 수 있다.
도 19는 현재 블록의 부호화 모드 및 현재 블록 경계의 일 예를 도시한 도면이다. 상술한 방법을 도 19의 경계들에 각각 혹은 조합하여 적용할 수 있다.
도 19에서 현재 블록의 부호화 기본 단위인 매크로블록(혹은 임의의 블록) 경계에 상기 방법들을 적용할 수 있다. 또한 도 19에서 현재 블록의 내부의 블록(혹은 임의의 블록) 경계에서 상기 방법들을 적용할 수 있다.
예를 들어, 현재 블록(X)이 인트라 스킵이고, 현재 블록(X)의 좌측에 인접한 주변 블록(A)이 인트라 스킵인 경우, 양 블록(X, A)의 경계에는 디블록킹 필터를 적용하지 않을 수 있다.
현재 블록(A)이 인트라 스킵이고, 현재 블록(A)의 상측에 인접한 주변 블록(B)이 인트라 모드로 부호화된 경우, 양 블록(X, B)의 경계 필터링 강도를 ‘0’으로 설정할 수 있다. 혹은 경계 필터링 강도를 약하게(혹은 강하게) 설정할 수 있으며 그 일 실시 예로 임의값을 설정할 수 있다. 또는, 현재 블록(X)과 주변 블록(A, B)의 경계가 매크로블록의 경계와 일치하는지를 판단하고, 판단결과, 현재 블록(X)과 주변 블록(A, B)의 경계가 매크로블록의 경계와 일치하는 경우에는 경계 필터링 강도(bS)를 4로 결정할 수 있다. 반면, 현재 블록(X)과 주변 블록(A, B)의 경계가 매크로블록(Macro block, MB)의 경계가 아닌 경우에는 경계 필터링 강도(bS)를 3으로 결정할 수 있다.
이러한 디블록킹 필터는 영상에서의 블록킹 현상을 제거하여 영상의 주관적 화질을 향상시키는 역할을 수행한다. 하지만 깊이 정보 맵은 가상합성 영상을 생성하기 위해서 사용할 뿐 실제 디스플레이 장치로 출력되지 않는다. 따라서 이러한 깊이 정보 맵의 블록 경계는 주관적 화질 향상 측면이 아닌 가상 합성 영상을 화질을 향상시키기 위해 필요할 수 있다.
또한 깊이정보 맵의 디블록킹 필터(혹은 다른 필터링 방법들)는 두 블록 간의 부호화 모드(화면 내 예측인지 화면 간 예측인지), 두 블록 간의 참조 픽쳐의 동일성, 두 블록간의 움직임 정보가 아닌 현재 블록의 부호화 모드에 따라 필터링의 수행 여부 및 필터링의 강도를 설정할 필요가 있다.
예를 들어, 현재 블록이 객체 경계 부분을 부호화하는 플래인 기반 분할 부호화 방법으로 부호화되었을 경우, 객체의 경계 부분을 최대한 뭉개지 않게 하기 위해서는 블록 경계에 대하여 디블록킹 필터를 수행하지 않아야 한다.
또 다른 일 예로 현재 블록이 인트라 스킵 방법으로 부호화 되었고 현재 블록이 주변 왼쪽 블록의 인접한 픽셀로부터 수평 패딩(padding)되어 유도되었다면, 해당 블록의 수직 경계 주변의 픽셀 값은 동일할 수 있다. 따라서 이러한 블록 경계에는 디블록킹 필터를 수행하지 않을 수 있다.
반대로 이러한 경우에 수평 경계 주변의 픽셀값은 동일하지 않을 수 있으며, 이러한 블록 경계에는 디블록킹 필터를 수행하여야 한다. 즉, 현재 블록이 인트라 스킵 블록의 부호화되었다면 주변 블록의 상관성이 아닌 현재 블록의 화면 내 예측 방향에 따라 경계에 필터링을 수행할 수 있다. 혹은 현재 블록과 주변 블록의 부호화 모드 및 화면 내 예측 방향에 따라 필터링 수행 여부를 결정할 수 있다.
상술한 방법을 조합하여 디블록킹 필터의 필터링 강도(bS)를 유도하는 방법은 아래와 같다.
만약, 현재 블록의 경계가 수평 경계일 경우, 아래 과정을 적용될 수 있다.
만일 현재 블록의 경계를 기준으로 인접한 두 블록의 부호화 모드가 인트라 스킵이고(혹은 두 블록중 하나가 인트라 스킵이고) 해당 블록의 화면내 방향이 수직일 경우, 디블록킹 필터의 필터강 강도(bS)를 약하게 줄 수 있으며 일예로 ‘0’으로 설정할 수 있다.
만일 그렇지 않고 현재 블록의 경계를 기준으로 인접한 두 블록의 부호화 모드 중 하나라도 인트라 스킵이 적용된 블록이 존재하고 그리고 블록의 경계가 매크로 블록 경계(혹은 임의의 블록 경계)일 경우, 디블록킹 필터의 필터링 강도를 강하게 줄 수 있으며, 일 예로 ‘4’로 설정할 수 있다. 그렇지 않고 만일 블록의 경계가 매크로 블록 경계가 아니라면 디블록킹 필터의 필터강 강도(bS)를 약하게 줄 수 있으며 일예로 ‘0’으로 설정할 수 있다.
그리고, 다음으로, 도 17에서 설명한 과정을 따라 디블록킹 필터의 필터강 강도(bS)를 적용할 수 있다.
만일 현재 블록의 경계가 수직경계일 경우, 아래와 같은 과정이 적용될 수 있다.
만일 현재 블록의 경계를 기준으로 인접한 두 블록의 부호화 모드가 인트라 스킵이고(혹은 두 블록 중 하나가 인트라 스킵이고) 해당 블록의 화면 내 방향이 수평일 경우, 디블록킹 필터의 필터강 강도(bS)를 약하게 줄 수 있으며 일 예로 ‘0’으로 설정할 수 있다.
만일 그렇지 않고 현재 블록의 경계를 기준으로 인접한 두 블록의 부호화 모드 중 하나라도 인트라 스킵이 적용된 블록이 존재하고 그리고 블록의 경계가 매크로 블록 경계(혹은 임의의 블록 경계)일 경우, 디블록킹 필터의 필터링 강도를 강하게 줄 수 있으며, 일 예로 ‘4’로 설정할 수 있다. 그렇지 않고 만일 블록의 경계가 매크로 블록 경계가 아니라면 디블록킹 필터의 필터강 강도(bS)를 약하게 줄 수 있으며 일예로 ‘0’으로 설정할 수 있다.
다음은 도 17에서 설명한 과정을 따라 디블록킹 필터의 필터강 강도(bS)를 적용할 수 있다.
또는 도 8의 플레인 기반 분할 화면 내 예측 방법이 적용된 깊이 정보 맵의 객체 경계부분에는 디블록킹 필터의 필터강 강도(bS)를 약하게 설정할 수 있으며, 일예로 ‘0’으로 설정할 수 있다. 이 방법을 이용한 일 실시예로 디블록킹 필터의 필터링 강도(bS)를 유도하는 과정은 아래와 같이 수행될 수 있다. 하기 방법은 현재 블록의 경계가 수평경계 혹은 수직 경계 모두에 대하여 적용될 수 있다.
만일 현재 블록의 경계를 기준으로 인접한 두 블록의 부호화 모드가 플레인 기반 분할 화면 내 예측 방법이 적용된 블록이고(혹은 두 블록 중 하나일 경우) 그리고 블록의 경계가 매크로 블록 경계(혹은 임의의 블록 경계)일 경우, 디블록킹 필터의 필터링 강도를 약하게 줄 수 있으며, 일 예로 ‘1’로 설정할 수 있다.
그렇지 않고 만일 블록의 경계가 매크로 블록 경계가 아니라면 디블록킹 필터의 필터강 강도(bS)를 약하게 줄 수 있으며 일 예로 ‘0’으로 설정할 수 있다.
화면 내 부호화만 수행할 경우(I 프레임임 경우), 위의 제안된 방법들을 국제 동영상 표준인 H.264/AVC에 맞추어 구현하면 Macroblock layer(macroblock_layer) 신택스는 아래 표 1과 같다.
표 1
Figure PCTKR2013006401-appb-T000001
Figure PCTKR2013006401-appb-I000001
“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에서 동작한다.
위 신택스에서 “moreDataFlag”는 현재 블록에 대하여 부호화 정보(예측 블록 생성 정보 및 잔여신호 블록 정보)를 파싱(parsing)할지를 나타낸다. 만일, “moreDataFlag”가 ‘1’이면, 현재 블록에 대한 부호화 정보를 파싱하고 ‘0’이면 현재 블록에 대한 부호화 정보를 파싱하지 않고 다음 블록으로 넘어간다.
“mb_intra_skip_flag”가 ‘1’일경우에는 “moreDataFlag”가 ‘0’으로 설정되므로 현재 블록에 대한 부호화 정보를 파싱하지 않고 다음 블록으로 넘어간다. 다시 말하면, “mb_intra_skip_flag”가 ‘1’일경우에는 현재 블록에 대하여 부호화 정보(예측 블록 생성 정보 및 잔여신호 블록 정보)를 파싱(parsing)하지 않는다.
또한, 화면 내 부호화와 화면 간 부호화를 모두 수행할 경우(I 혹은 P 혹은 B 프레임임 경우), 위의 제안된 방법들을 국제 동영상 표준인 H.264/AVC에 맞추어 구현하면 Macroblock layer(macroblock_layer) 신택스는 아래 표 2과 같다.
표 2
Figure PCTKR2013006401-appb-T000002
“mb_intra_skip_flag”는 현재의 깊이정보 맵 블록이 예측 영상만으로 구성되었다는 것을 의미한다. 만약 mb_intra_skip_flag”가 ‘1’일 경우에는 차분 블록 데이터를 파싱(parsing)하지 않는다. 그렇지 않고 mb_intra_skip_flag”가 ‘0’일 경우에는 기존 방법대로 차분 블록 데이터를 파싱(parsing)한다. 여기서 차분 블록의 데이터를 파싱하지 않는 다는 것을 인트라 스킵(intra skip) 모드라는 것으로 해석될 수 있으며, 또한 인트라 모드(NxN 예측 모드 여기서 N은 16, 8, 4 등)이면서 차분 데이터가 없다는 것으로 해석될 수 있다.
위 신택스에서 “mb_intra_skip_flag”가 ‘1’일경우에는 “mb_type”과 “sub_mb_pred( mb_type )”과 “mb_pred( mb_type )”과 “coded_block_pattern”과 “transform_size_8x8_flag”과 “mb_qp_delta”과 “residual()” 등이 파싱되지 않는다. 즉, “mb_intra_skip_flag”가 ‘1’일경우에는 현재 블록에 대하여 부호화 정보(예측 블록 생성 정보 및 잔여신호 블록 정보)를 파싱(parsing)하지 않는다.
표 2의 신택스를 slice_data() 신택스 적용하면 표 3 내지 표 5와 같이 표현될 수 있다.
표 3
Figure PCTKR2013006401-appb-T000003
Figure PCTKR2013006401-appb-I000002
표 4
Figure PCTKR2013006401-appb-T000004
Figure PCTKR2013006401-appb-I000003
표 5
Figure PCTKR2013006401-appb-T000005
Figure PCTKR2013006401-appb-I000004
표 3 내지 표 5에서 “moreDataFlag”는 현재 블록에 대하여 부호화 정보(예측 블록 생성 정보 및 잔여신호 블록 정보)를 파싱(parsing)할지를 나타낸다.
만일, “moreDataFlag”가 ‘1’이면, 현재 블록에 대한 부호화 정보를 파싱하고 ‘0’이면 현재 블록에 대한 부호화 정보를 파싱하지 않고 다음 블록으로 넘어간다.
“mb_intra_skip_flag”가 ‘1’일경우에는 “moreDataFlag”가 ‘0’으로 설정되므로 현재 블록데 애한 부호화 정보를 파싱하지 않고 다음 블록으로 넘어간다. 다시 말하면, “mb_intra_skip_flag”가 ‘1’일경우에는 현재 블록에 대하여 부호화 정보(예측 블록 생성 정보 및 잔여신호 블록 정보)를 파싱(parsing)하지 않는다.
도 20은 본 발명의 일 실시예에 따른 비디오 부호화 장치의 구성을 나타내는 제어 블록도이다. 도 20은 화소간 상관성이 높은 영상에 대한 화면 내 부호화시 현재 블록 영상을 주변 블록을 이용한 예측 블록만으로 구성하는 방법의 부호화 장치를 도시한 도면이다.
예측영상 생성부(310)에서는 화면 내 예측 과정을 통해 예측 블록을 생성하거나 혹은 화면 간 예측 과정을 통해 예측 블록을 생성한다. 자세한 생성 방법은 상기 절에 자세히 설명하였다.
예측영상 선택부(320)에서는 예측영상 생성부(310)에서 생성한 예측 영상들 중에서 가장 부호화 효율이 우수한 것을 선택하며, 예측 영상 선택 정보는 비트스트림에 포함된다.
감산부(330)에서는 현재 블록 영상을 예측 블록 영상과 차분하여 차분 블록 영상을 생성한다.
부호화 판단부(340)에서는 차분된 블록 영상 및 예측 블록의 생성 정보에 대한 부호화 여부를 결정하여, 부호화 여부 정보를 출력한다.
부호화부(350)에서는 부호화 판단부(340)에서 결정한 부호화 여부 정보에 따라 수행여부가 결정되며, 차분 블록 영상에 대해 변환 및 양자화 그리고 엔트로피 부호화과정을 거친 후 압축된 비트스트림을 출력한다.
다중화부(360)에서는 부호화부(350)에서 출력된 압축된 차분 블록 영상에 대한 비트스트림과 부호화 판단부(340)에서 출력된 부호화 여부 정보, 그리고 예측 영상 선택부(320)에서 출력된 예측 영상 선택 정보를 혼합하여 하나의 비트스트림을 출력한다.
도 21은 본 발명의 일 실시예에 따른 비디오 복호화 장치의 구성을 나타내는 제어 블록도이다. 도 21는 화소간 상관성이 높은 영상에 대한 화면 내 부호화시 현재 블록 영상을 주변 블록을 이용한 예측 블록만으로 구성하는 방법의 복호화 장치를 도시한 도면이다.
역다중화부(410)에서는 입력된 비트스트림에서 차분영상에 대한 정보가 비트스트림에 포함되었는지에 대한 복호화 여부 정보와 예측 영상 선택 정보를 복호화한다.
복호화 판단부(420)에서는 복호화 여부 정보에 따라 복호화부(430)의 수행여부를 결정한다.
복호화부(430)는 복호화 여부 정보에 따라 비트스트림에 차분 영상 및 예측 블록의 생성 정보에 대한 정보가 존재할 경우에만 수행된다. 복호화부(430)에서는 역양자화와 역변환 과정을 거쳐서 차분 영상을 복원한다.
예측 영상 생성부(460)에서는 화면 내 예측 과정을 통해 예측 블록을 생성하거나 혹은 화면 간 예측 과정을 통해 예측 블록을 생성한다. “
예측영상 결정부(450)에서는 예측 영상 선택 정보를 통해 예측영상 생성부(460)에서 생성한 예측 영상 중에서 현재 블록에 대한 최적의 예측 영상을 결정한다.
가산부(440)에서는 생성된 예측 영상과 복원된 차분 영상을 더하여 복원된 영상을 구성한다. 이때 복원된 차분 영상이 존재하지 않는다면 예측 영상이 복원된 영상으로 구성된다.
상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (20)

  1. 깊이 정보 맵의 화면 내 예측 시 현재 블록과 인접한 주변 블록의 예측 화소값을 상기 현재 블록의 화소값으로 생성하는 단계를 포함하는 영상 복호화 방법.
  2. 제1항에 있어서,
    부호화된 차분 영상 정보와 복호화 여부 정보 그리고 예측 블록 영상 생성 방법에 대한 선택 정보를 역다중화하는 단계;
    입력된 비트스트림에서 현재 블록에 대한 복호화 여부 정보를 복호화하는 단계;
    상기 복호화 여부 정보에 따라 상기 현재 블록에 대한 차분 영상 정보 및 예측 블록의 생성 정보를 복호화하는 단계;
    예측 블록 영상 생성 방법에 대한 선택 정보에 따라 화면 내 예측 방법과 화면 간 예측 방법 중에서 예측 방법을 선택하는 단계;
    예측 영상을 구성하기 위해서 주변 블록으로부터 현재 블록에 대한 예측 방향을 유추하는 단계;
    상기 예측 방향에 따라 현재 블록 영상에 대한 예측 영상을 구성하는 단계를 포함하는 영상 복호화 방법.
  3. 제2항에 있어서,
    상기 예측 영상을 구성하는 단계는,
    현재 블록에 인접한 주변 화소를 복사(패딩)하여 화면 내 예측 영상을 구성하는 방법, 현재 블록과 인접한 주변 화소의 특성을 고려하여 복사할 화소를 결정한 후 결정된 화소를 통해 현재 블록을 구성하는 방법 및 복수의 예측 방법들을 혼합하여 혼합한 값의 평균값 또는 각각의 방법에 따른 가중치의 합으로 예측 블록 영상을 구성하여 사용하는 방법 중 적어도 하나에 의하여 구성되는 것을 특징으로 하는 영상 복호화 방법.
  4. 깊이 정보에 대한 영상 복호화 방법에 있어서,
    상기 깊이 정보의 현재 블록에 대한 예측 블록을 생성하는 단계와;
    상기 예측 블록에 기초하여 상기 현재 블록의 복원 블록을 생성하는 단계와;
    상기 복원 블록에 필터링을 수행하는 단계를 포함하고,
    상기 필터링 수행 여부는 상기 현재 블록의 블록 정보 및 상기 현재 블록의 부호화 정보에 따라 결정되는 것을 특징으로 하는 영상 복호화 방법.
  5. 제4항에 있어서,
    상기 부호화 정보는 상기 복원 영상 내에서 동일 깊이를 갖는 부분, 배경이 되는 부분 및 객체 내부에 대응되는 부분에 대한 정보를 포함하고,
    상기 복원 블록 내에서 동일 깊이를 갖는 부분, 배경이 되는 부분 및 객체 내부에 대응되는 부분에 대응되는 부분 중 적어도 하나에는 상기 필터링을 수행하지 않는 것을 특징으로 하는 영상 복호화 방법.
  6. 제5항에 있어서,
    상기 복원 블록 내에서 동일 깊이를 갖는 부분, 배경이 되는 부분 및 객체 내부에 대응되는 부분에 대응되는 부분 중 적어도 하나에는 디블록킹 필터, 샘플 적응형 보상(SAO; Sample Adaptive Offset) 필터, 적응형 루프 필터(ALF; Adaptive Loop Filter), 인루프 결합 시점간 깊이정보 필터링(JVDF; In-loop Joint inter-View Depth Filtering) 중 적어도 하나를 수행하지 않는 영상 복호화 방법.
  7. 제4항에 있어서,
    상기 부호화 정보는 상기 복원 블록 내에서 동일 깊이를 갖는 부분, 배경이 되는 부분 및 객체 내부에 대응되는 부분에 대한 정보를 포함하고,
    상기 복원 블록 내에서 동일 깊이를 갖는 부분, 배경이 되는 부분 및 객체 내부에 대응되는 부분에 대응되는 부분 중 적어도 하나에는 약한 필터링이 수행되는 것을 특징으로 하는 영상 복호화 방법.
  8. 제4항에 있어서,
    상기 복원 블록에 대한 업샘플링을 수행하는 단계를 포함하고,
    상기 업샘플링은 하나의 샘플값을 기설정된 개수의 샘플값으로 패딩하는 것을 특징으로 하는 영상 복호화 방법.
  9. 제8항에 있어서,
    상기 업샘플링은 상기 복원 블록 내에서 동일 깊이를 갖는 부분, 배경이 되는 부분 및 객체 내부에 대응되는 부분 중 적어도 하나에서 수행되지 않는 것을 특징으로 하는 영상 복호화 방법.
  10. 제4항에 있어서,
    상기 복원 블록에 필터링을 수행하는 단계는
    인접한 두 개의 블록에 대한 경계 필터링 강도를 결정하는 단계;
    상기 경계 필터링 강도에 따라서 상기 두 개의 블록의 화소값에 대한 필터링을 적용하는 단계를 포함하고,
    상기 경계 필터링 강도를 결정하는 단계는
    인접한 두 개의 블록 중에서 적어도 하나의 블록이 인트라 스킵(intraskip) 부호화되었는지를 판단하는 단계와;
    상기 두 개의 블록이 모두 인트라 스킵(intraskip) 부호화되지 않은 것으로 판단되는 경우, 인접한 두 개의 블록 중에서 적어도 하나의 블록이 인트라 부호화되었는지를 판단하는 단계와;
    상기 두 개의 블록이 모두 인트라 부호화되지 않은 것으로 판단되는 경우, 상기 두 개의 블록 중에서 적어도 하나의 블록이 직교 변환 계수를 갖는지를 판단하는 단계와;
    상기 두 개의 블록이 모두 직교 변환 계수를 갖지 않는 것으로 판단되는 경우, 상기 두 개의 블록에 대하여 움직임 벡터의 x축 성분 또는 y축 성분의 차의 절대값 중에서 적어도 하나가 1(혹은 4)이상이 되거나 또는 움직임 보상이 다른 참조 프레임에 기초하여 수행되었는지를 판단하는 단계와;
    상기 움직임 벡터의 차의 절대값이 모두 1(혹은 4)보다 작고 또한 상기 움직임 보상이 같은 참조 프레임에 기초하여 수행되었는지를 판단하는 단계를 포함하는 것을 특징으로 하는 영상 복호호 방법.
  11. 제10항에 있어서,
    인접한 두 개의 블록 중에서 적어도 하나의 블록이 인트라 스킵(intraskip) 부호화되었을 경우 경계 필터링 강도(bS)를 0으로 결정하는 것을 특징으로 하는 영상 복호호 방법.
  12. 제10항에 있어서,
    인접한 두 블록 중 한 블록이 인트라 스킵(intraskip) 부호화 모드이고 다른 블록이 일반적인 부호화 모드(인트라 혹은 인터)로 판단되는 경우 및 일반적인 부호화 모드에서 직교 변환 계수가 적어도 하나 존재할 경우에는 경계 필터링 강도(bS)를 1, 2, 3, 4 중 어느 하나로 결정하는 것을 특징으로 하는 영상 복호화 방법.
  13. 제10항에 있어서,
    인접한 두 블록이 모두 일반적인 부호화 모드(인트라 혹은 인터)로 판단되는 경우 및 일반적인 부호화 모드에서 직교 변환 계수가 적어도 하나 존재하지 않는 경우에는 경계 필터링 강도를 0, 1, 2, 3 중 어느 하나로 결정하는 것을 특징으로 하는 영상 복호화 방법.
  14. 제4항에 있어서,
    상기 현재 블록의 예측 모드가 차분 정보가 존재하지 않는 인트라 스킵인 경우,
    상기 예측 블록을 생성하는 단계는 상기 현재 블록에 대한 예측 방향을 상기 현재 블록과 인접한 주변 블록으로부터 유추하는 것을 특징으로 하는 영상 복호화 방법.
  15. 제4항에 있어서,
    상기 복원 블록에 필터링을 수행하는 단계는
    인접한 두 개의 블록에 대한 경계 필터링 강도를 결정하는 단계;
    상기 경계 필터링 강도에 따라서 상기 두 개의 블록의 화소값에 대한 필터링을 적용하는 단계를 포함하고,
    상기 경계 필터링 강도를 결정하는 단계는
    상기 현재 블록 및 상기 현재 블록에 인접한 주변 블록의 예측 방향이 같은 경우, 상기 경계 필터링 강도(bS)를 0으로 결정하는 것을 특징으로 하는 영상 복호화 방법.
  16. 제4항에 있어서,
    상기 복원 블록에 필터링을 수행하는 단계는
    인접한 두 개의 블록에 대한 경계 필터링 강도를 결정하는 단계;
    상기 경계 필터링 강도에 따라서 상기 두 개의 블록의 화소값에 대한 필터링을 적용하는 단계를 포함하고,
    상기 경계 필터링 강도를 결정하는 단계는
    상기 현재 블록의 예측 모드가 차분 정보가 존재하지 않는 인트라 스킵이고, 현재 블록에 대한 화면 내 예측 방향이 수평 방향일 경우, 상기 현재 블록의 수직 경계에 대한 상기 경계 필터링 강도를 ‘0’으로 설정하고,
    상기 현재 블록의 예측 모드가 차분 정보가 존재하지 않는 인트라 스킵이고, 현재 블록에 대한 화면 내 예측 방향이 수직 방향일 경우, 상기 현재 블록의 수평 경계에 대한 상기 경계 필터링 강도를 ‘0’으로 설정하고 는 것을 특징으로 하는 영상 복호화 방법.
  17. 제4항에 있어서,
    상기 복원 블록에 필터링을 수행하는 단계는
    인접한 두 개의 블록에 대한 경계 필터링 강도를 결정하는 단계;
    상기 경계 필터링 강도에 따라서 상기 두 개의 블록의 화소값에 대한 필터링을 적용하는 단계를 포함하고,
    상기 경계 필터링 강도를 결정하는 단계는
    상기 현재 블록과 상기 현재 블록에 인접한 주변 블록의 경계가 매크로블록의 경계와 일치하는 경우, 상기 경계 필터링 강도를 ‘0’으로 설정하고 는 것을 특징으로 하는 영상 복호화 방법.
  18. 깊이 정보에 대한 영상 복호화 장치에 있어서,
    상기 깊이 정보의 현재 블록에 대한 예측 블록을 생성하는 예측영상 생성부와;
    상기 예측 블록에 기초하여 상기 현재 블록의 복원 블록을 생성하는 가산부와;
    상기 복원 블록에 필터링을 수행하는 필터부를 포함하고,
    상기 필터부는
    인접한 두 개의 블록에 대한 경계 필터링 강도를 결정하기 위한 경계 필터링 강도 결정부; 및 상기 경계 필터링 강도에 따라서 상기 두 개의 블록의 화소값에 대한 필터링을 적용하기 위한 필터링 적용부를 포함하는 것을 특징으로 하는 영상 복호화 장치.
  19. 제18항에 있어서,
    상기 경계 필터링 강도 결정부는 인접한 두 개의 블록 중에서 적어도 하나의 블록이 인트라 스킵(intraskip) 부호화되었을 경우 경계 필터링 강도(bS)를 0으로 결정하는 것을 특징으로 하는 영상 복호호 장치.
  20. 제18항에 있어서,
    상기 경계 필터링 강도 결정부는 인접한 두 블록 중 한 블록이 인트라 스킵(intraskip) 부호화 모드이고 다른 블록이 일반적인 부호화 모드(인트라 혹은 인터)로 판단되는 경우 및 일반적인 부호화 모드에서 직교 변환 계수가 적어도 하나 존재할 경우에는 경계 필터링 강도(bS)를 1, 2, 3, 4 중 어느 하나로 결정하는 것을 특징으로 하는 영상 복호화 장치.
PCT/KR2013/006401 2012-07-17 2013-07-17 인루프 필터링 방법 및 이를 이용하는 장치 Ceased WO2014014276A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/399,823 US20150146779A1 (en) 2012-07-17 2013-07-17 In-loop filtering method and apparatus using same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2012-0077592 2012-07-17
KR20120077592 2012-07-17
KR1020130084336A KR20140019221A (ko) 2012-07-17 2013-07-17 인루프 필터링 방법 및 이를 이용하는 장치
KR10-2013-0084336 2013-07-17

Publications (1)

Publication Number Publication Date
WO2014014276A1 true WO2014014276A1 (ko) 2014-01-23

Family

ID=49949043

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/006401 Ceased WO2014014276A1 (ko) 2012-07-17 2013-07-17 인루프 필터링 방법 및 이를 이용하는 장치

Country Status (1)

Country Link
WO (1) WO2014014276A1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019059646A1 (ko) * 2017-09-20 2019-03-28 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN110651478A (zh) * 2017-05-17 2020-01-03 株式会社Kt 用于视频信号处理的方法和装置
CN114342384A (zh) * 2020-03-27 2022-04-12 腾讯美国有限责任公司 用于去块操作的高级控制
CN114556915A (zh) * 2019-10-10 2022-05-27 北京字节跳动网络技术有限公司 几何分割模式中被编解码的块的去块
CN114946190A (zh) * 2019-11-18 2022-08-26 Lg电子株式会社 用于控制环路滤波的图像编码装置和方法
CN114982245A (zh) * 2019-11-18 2022-08-30 Lg电子株式会社 基于滤波的图像编码装置和方法
CN115134611A (zh) * 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
CN115152238A (zh) * 2019-12-23 2022-10-04 Lg电子株式会社 基于滤波的图像编码装置和方法
US11689735B2 (en) 2019-09-01 2023-06-27 Beijing Bytedance Network Technology Co., Ltd. Alignment of prediction weights in video coding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090078114A (ko) * 2008-01-14 2009-07-17 광주과학기술원 가변적 화면 그룹 예측 구조를 이용한 다시점 영상 부호화방법 및 장치, 영상 복호화 장치 그리고 상기 방법을수행하는 프로그램이 기록된 기록 매체
WO2010002214A2 (ko) * 2008-07-02 2010-01-07 삼성전자 주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR20100102516A (ko) * 2009-03-11 2010-09-24 경희대학교 산학협력단 블록기반 깊이정보 맵의 코딩 방법과 장치, 및 이를 이용한 3차원 비디오 코딩 방법
KR20110018188A (ko) * 2009-08-17 2011-02-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR20110093532A (ko) * 2010-02-12 2011-08-18 삼성전자주식회사 그래프 기반 화소 예측을 이용한 영상 부호화/복호화 시스템 및 방법 그리고 깊이 맵 부호화 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090078114A (ko) * 2008-01-14 2009-07-17 광주과학기술원 가변적 화면 그룹 예측 구조를 이용한 다시점 영상 부호화방법 및 장치, 영상 복호화 장치 그리고 상기 방법을수행하는 프로그램이 기록된 기록 매체
WO2010002214A2 (ko) * 2008-07-02 2010-01-07 삼성전자 주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR20100102516A (ko) * 2009-03-11 2010-09-24 경희대학교 산학협력단 블록기반 깊이정보 맵의 코딩 방법과 장치, 및 이를 이용한 3차원 비디오 코딩 방법
KR20110018188A (ko) * 2009-08-17 2011-02-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR20110093532A (ko) * 2010-02-12 2011-08-18 삼성전자주식회사 그래프 기반 화소 예측을 이용한 영상 부호화/복호화 시스템 및 방법 그리고 깊이 맵 부호화 시스템 및 방법

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134607A (zh) * 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
US12231697B2 (en) 2015-06-11 2025-02-18 Dolby Laboratories Licensing Corporation Method for encoding and decoding image using adaptive deblocking filtering, and apparatus therefor
CN115134611A (zh) * 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
CN115134609A (zh) * 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
CN110651478A (zh) * 2017-05-17 2020-01-03 株式会社Kt 用于视频信号处理的方法和装置
US12267483B2 (en) 2017-05-17 2025-04-01 Kt Corporation Method and device for video signal processing
CN110651478B (zh) * 2017-05-17 2023-11-21 株式会社Kt 用于视频信号处理的方法和装置
WO2019059646A1 (ko) * 2017-09-20 2019-03-28 주식회사 케이티 비디오 신호 처리 방법 및 장치
US12219165B2 (en) 2019-09-01 2025-02-04 Beijing Bytedance Network Technology Co., Ltd. Alignment of prediction weights in video coding
US11689735B2 (en) 2019-09-01 2023-06-27 Beijing Bytedance Network Technology Co., Ltd. Alignment of prediction weights in video coding
CN114556915A (zh) * 2019-10-10 2022-05-27 北京字节跳动网络技术有限公司 几何分割模式中被编解码的块的去块
US11758143B2 (en) 2019-10-10 2023-09-12 Beijing Bytedance Network Technology Co., Ltd Motion vector handling in geometry partition mode
CN114556915B (zh) * 2019-10-10 2023-11-10 北京字节跳动网络技术有限公司 几何分割模式中被编解码的块的去块
CN114982245A (zh) * 2019-11-18 2022-08-30 Lg电子株式会社 基于滤波的图像编码装置和方法
US12081805B2 (en) 2019-11-18 2024-09-03 Lg Electronics Inc. Image coding device and method, for controlling loop filtering
CN114946190A (zh) * 2019-11-18 2022-08-26 Lg电子株式会社 用于控制环路滤波的图像编码装置和方法
US12262062B2 (en) 2019-11-18 2025-03-25 Lg Electronics Inc. In-loop filtering-based image coding device and method
CN115152238A (zh) * 2019-12-23 2022-10-04 Lg电子株式会社 基于滤波的图像编码装置和方法
US11973990B2 (en) 2020-03-27 2024-04-30 Tencent America LLC Signaling for modified deblocking filter operations
CN114342384B (zh) * 2020-03-27 2024-06-14 腾讯美国有限责任公司 一种视频解码方法、装置和计算机可读存储介质
CN114342384A (zh) * 2020-03-27 2022-04-12 腾讯美国有限责任公司 用于去块操作的高级控制

Similar Documents

Publication Publication Date Title
WO2014014276A1 (ko) 인루프 필터링 방법 및 이를 이용하는 장치
WO2015122549A1 (ko) 동영상 처리 방법 및 장치
WO2018030599A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2019066524A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2020004990A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2019216714A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2013157825A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2014003379A1 (ko) 영상 디코딩 방법 및 이를 이용하는 장치
WO2019203610A1 (ko) 영상의 처리 방법 및 이를 위한 장치
WO2019194514A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2014010943A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2014038906A1 (ko) 영상 복호화 방법 및 이를 이용하는 장치
WO2021054811A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2011129672A2 (ko) 영상 부호화/복호화 장치 및 방법
WO2022182174A1 (ko) 인트라 예측 모드 도출 기반 인트라 예측 방법 및 장치
WO2018034374A1 (ko) 인트라 예측 필터링을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
WO2020213867A1 (ko) 스케일링 리스트 데이터의 시그널링 기반 비디오 또는 영상 코딩
WO2019194463A1 (ko) 영상의 처리 방법 및 이를 위한 장치
WO2019151795A1 (ko) 움직임 정보를 처리하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
WO2021025526A1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
WO2011129673A2 (ko) 영상 부호화/복호화 장치 및 방법
WO2020213866A1 (ko) 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩
WO2021201551A1 (ko) 비디오 또는 영상 코딩 시스템에서의 흑백 영상에 대한 크로마 디블록킹 파라미터 정보에 기반한 영상 코딩 방법
WO2023048500A1 (ko) 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체
WO2013168952A1 (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: 13819477

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14399823

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13819477

Country of ref document: EP

Kind code of ref document: A1