WO2016056754A1 - 3d 비디오 부호화/복호화 방법 및 장치 - Google Patents

3d 비디오 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
WO2016056754A1
WO2016056754A1 PCT/KR2015/009422 KR2015009422W WO2016056754A1 WO 2016056754 A1 WO2016056754 A1 WO 2016056754A1 KR 2015009422 W KR2015009422 W KR 2015009422W WO 2016056754 A1 WO2016056754 A1 WO 2016056754A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
prediction
view
current block
disparity vector
Prior art date
Application number
PCT/KR2015/009422
Other languages
English (en)
French (fr)
Inventor
유선미
서정동
남정학
예세훈
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to US15/510,500 priority Critical patent/US10587894B2/en
Priority to KR1020177006804A priority patent/KR20170065502A/ko
Publication of WO2016056754A1 publication Critical patent/WO2016056754A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to video coding, and more particularly, to coding of 3D video images.
  • High-efficiency image compression technology can be used to effectively transmit, store, and reproduce high-resolution, high-quality video information.
  • 3D video can provide realism and immersion using a plurality of view channels.
  • 3D video can be used in a variety of areas such as free viewpoint video (FCC), free viewpoint TV (FTV), 3DTV, surveillance and home entertainment.
  • FCC free viewpoint video
  • FTV free viewpoint TV
  • 3DTV surveillance and home entertainment.
  • 3DV video using multiple views has a high correlation between views of the same picture order count (POC). Since the multi-view image captures the same scene at the same time by using multiple adjacent cameras, that is, multiple views, the correlation between the different views is high because it contains almost the same information except for parallax and slight lighting differences.
  • POC picture order count
  • the decoding target block of the current view may be predicted or decoded with reference to the block of another view.
  • the present invention provides a method and apparatus for predicting a current block in 3D video coding.
  • the present invention provides a residual prediction method and apparatus in 3D video coding.
  • the present invention provides a residual prediction method and apparatus based on a disparity vector in 3D video coding.
  • the present invention provides a method and apparatus for performing residual prediction on a current block when a disparity vector is not derived from a neighboring block of the current block.
  • a residual prediction method includes deriving a disparity vector for a current block, performing a residual prediction on the current block based on the disparity vector, and generating a residual prediction sample.
  • the parity vector is not derived based on a neighboring block of the current block, but is derived from a preset default vector.
  • a residual prediction apparatus includes a predictor that derives a disparity vector for a current block and generates a residual prediction sample by performing residual prediction on the current block based on the disparity vector.
  • the parity vector may be derived from a preset default vector instead of a neighboring block of the current block.
  • coding efficiency in 3D video coding, by predicting a current block in a current picture, coding efficiency can be increased and data amount to be transmitted can be reduced.
  • the prediction effect can be enhanced by performing residual prediction on the current block according to a specific condition even when not only deriving the disparity vector from the neighboring block of the current block but also not.
  • FIG. 1 is a diagram schematically illustrating a process of encoding and decoding 3D video to which the present invention can be applied.
  • FIG. 2 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention may be applied.
  • FIG. 3 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention may be applied.
  • FIG. 4 is a diagram schematically illustrating an example of multi-view video coding to which the present invention may be applied.
  • 5 exemplarily shows spatial and temporal neighboring blocks to which the present invention can be applied.
  • FIG 6 shows an example of disparity derivation from an MCP coded neighboring block.
  • FIG. 7 exemplarily shows DV-MCP blocks that can be used for disparity vector derivation.
  • FIG. 10 is a flowchart schematically showing an encoding method using residual prediction according to an embodiment of the present invention.
  • FIG. 11 is a flowchart schematically illustrating a decoding method using residual prediction according to an embodiment of the present invention.
  • each configuration in the drawings described in the present invention are shown independently for the convenience of description of the different characteristic functions, it does not mean that each configuration is implemented by separate hardware or separate software.
  • two or more of each configuration may be combined to form one configuration, or one configuration may be divided into a plurality of configurations.
  • Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention without departing from the spirit of the present invention.
  • a pixel or a pel may refer to a minimum unit constituting one picture (or image).
  • 'sample' may be used as a term indicating a value of a specific pixel.
  • the sample may generally represent the value of the pixel, may represent only the pixel value of the luma component, or may represent only the pixel value of the chroma component.
  • a unit represents the basic unit of image processing.
  • the unit may include at least one of a specific region of the picture and information related to the region.
  • the unit may be used interchangeably with terms such as block or area in some cases.
  • an M ⁇ N block may represent a set of samples or transform coefficients composed of M columns and N rows.
  • FIG. 1 is a diagram schematically illustrating a process of encoding and decoding 3D video to which the present invention can be applied.
  • the 3D video encoder may encode a video picture, a depth map, and a camera parameter to output a bitstream.
  • the depth map may be composed of distance information (depth information) between a camera and a subject with respect to pixels of a corresponding video picture (texture picture).
  • the depth map may be an image in which depth information is normalized according to bit depth.
  • the depth map may be composed of recorded depth information without color difference representation.
  • the depth map may be called a depth map picture or a depth picture.
  • the disparity information indicating the correlation between views may be derived from the depth information of the depth map using camera parameters.
  • a general color image that is, a bitstream including a depth map and camera parameters together with a video picture (texture picture) may be transmitted to a decoder through a network or a storage medium.
  • the decoder side can receive the bitstream and reconstruct the video.
  • the 3D video decoder may decode the video picture and the depth map and the camera parameters from the bitstream.
  • a view required for a multi view display may be synthesized based on the decoded video picture, the depth map, and the camera parameter.
  • the display used is a stereo display, the 3D image may be displayed using pictures of two views among the reconstructed multi views.
  • the stereo video decoder can reconstruct two pictures that will each be incident into eyes from the bitstream.
  • a stereoscopic image may be displayed by using a view difference or disparity between a left image incident to the left eye and a right image incident to the right eye.
  • the multi view display is used together with the stereo video decoder, different views may be generated based on the two reconstructed pictures to display the multi view.
  • the 2D image may be restored and the image may be output to the 2D display.
  • the decoder may output one of the reconstructed images to the 2D display when using a 3D video decoder or a stereo video decoder.
  • view synthesis may be performed at the decoder side and may be performed at the display side.
  • the decoder and the display may be one device or may be separate devices.
  • the 3D video decoder, the stereo video decoder, and the 2D video decoder are described as separate decoders.
  • one decoding apparatus may perform 3D video decoding, stereo video decoding, and 2D video decoding.
  • the 3D video decoding apparatus may perform 3D video decoding
  • the stereo video decoding apparatus may perform stereo video decoding
  • the 2D video decoding apparatus may perform 2D video decoding.
  • the multi view display may output 2D video or output stereo video.
  • FIG. 2 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention may be applied.
  • the video encoding apparatus 200 may include a picture splitter 205, a predictor 210, a subtractor 215, a transformer 220, a quantizer 225, a reorderer 230, An entropy encoding unit 235, an inverse quantization unit 240, an inverse transform unit 245, an adder 250, a filter unit 255, and a memory 260 are included.
  • the picture dividing unit 205 may divide the input picture into at least one processing unit block.
  • the processing unit block may be a coding unit block, a prediction unit block, or a transform unit block.
  • the coding unit block may be split along a quad-tree structure from a largest coding unit block as a unit block of coding.
  • the prediction unit block is a block partitioning from the coding unit block and may be a unit block of sample prediction. In this case, the prediction unit block may be divided into sub blocks.
  • the transform unit block may be split along the quad tree structure from the coding unit block, and may be a unit block that derives along the transform coefficients or a unit block that derives a residual signal from the transform coefficients.
  • a coding unit block is referred to as a coding block or coding unit (CU)
  • a prediction unit block is called a prediction block or prediction unit (PU)
  • a transform unit block is called a transform block or transform unit (TU). Can be called.
  • a prediction block or prediction unit may mean a specific area in the form of a block within a picture, and may include an array of prediction samples.
  • a transform block or a transform unit may mean a specific area in a block form within a picture, and may include an array of transform coefficients or residual samples.
  • the prediction unit 210 may perform a prediction on a block to be processed (hereinafter, referred to as a current block) and generate a prediction block including prediction samples of the current block.
  • the unit of prediction performed by the prediction unit 210 may be a coding block, a transform block, or a prediction block.
  • the prediction unit 210 may determine whether intra prediction or inter prediction is applied to the current block. As an example, the prediction unit 210 may determine whether intra prediction or inter prediction is applied on a CU basis.
  • the prediction unit 210 may derive a prediction sample for the current block based on reference samples outside the current block in the picture to which the current block belongs (hereinafter, referred to as the current picture). In this case, the prediction unit 210 may (i) derive a prediction sample based on the average or interpolation of neighboring reference samples of the current block, and (ii) the neighbor reference of the current block. The prediction sample may be derived based on a reference sample present in a specific (prediction) direction with respect to the prediction sample among the samples. In case of (i), it may be called non-directional mode, and in case of (ii), it is called directional mode. The prediction unit 210 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
  • the prediction unit 210 may derive the prediction sample for the current block based on the sample specified by the motion vector on the reference picture.
  • the prediction unit 210 may derive the prediction sample for the current block by applying any one of a skip mode, a merge mode, and a motion vector prediction (MVP) mode.
  • the prediction unit 210 may use the motion information of the neighboring block as the motion information of the current block.
  • the skip mode unlike the merge mode, the difference (residual) between the prediction sample and the original sample is not transmitted.
  • the motion vector of the current block can be derived by using the motion vector of the neighboring block as a motion vector predictor.
  • the neighboring block includes a spatial neighboring block existing in the current picture and a temporal neighboring block present in the reference picture.
  • a reference picture including the temporal neighboring block may be called a collocated picture (colPic).
  • the motion information may include a motion vector and a reference picture. When the motion information of the temporal neighboring block is used in the skip mode and the merge mode, the highest picture on the reference picture list may be used as the reference picture.
  • the view may be divided into an independent view and a dependent view.
  • the prediction unit 210 may not only inter-prediction but also inter-view. You can also make predictions.
  • the predictor 210 may construct a reference picture list by including pictures of other views.
  • the prediction unit 210 may derive a disparity vector.
  • the disparity vector may add a block corresponding to the current block in another view of the same access unit (AU) as the current picture.
  • the AU may include video pictures and depth maps that correspond to the same time instance, for example in multiple views.
  • AU may mean a set of pictures having the same Picture Order Count (POC).
  • POC corresponds to the display order of the pictures and may be distinguished from the coding order.
  • the prediction unit 210 may specify a depth block in a depth view based on the disparity vector, configure the merge list, inter-view motion preidciton, and register. Dual prediction, illumination compensation (IC), view synthesis, etc. can be performed.
  • the disparity vector for the current block can be derived from the depth value using camera parameters or from the motion vector or disparity vector of the neighboring block in the current or other view.
  • the prediction unit 210 may include an inter-view merging candidate (IvMC) corresponding to temporal motion information of a reference view and an inter-view disparity vector candidate corresponding to a disparity vector.
  • IvDC inter-view merging candidate
  • a shifted IvMC candidate derived by shifting the disparity vector
  • a texture merge candidate derived from a texture picture corresponding to the case where the current block is a block on the depth map.
  • texture merging candidate (T) disparity derived merging candidate (D) derived from disparity from the texture merge candidate, view synthesis prediction candidate derived based on view synthesis: VSP) and the like can be added to the merge candidate list.
  • the number of candidates included in the merge candidate list applied to the dependent view may be limited to a predetermined value.
  • the prediction unit 210 may apply the inter-view motion vector prediction to predict the motion vector of the current block based on the disparity vector.
  • the prediction unit 210 may derive a disparity vector based on a conversion of the maximum depth value in the corresponding depth block.
  • a block including the reference sample may be used as the reference block.
  • the prediction unit 210 may use the motion vector of the reference block as a candidate motion parameter or motion vector predictor candidate of the current block, and use the disparity vector as a candidate disparity for disparity compensated prediction (DCP). Can be used as a vector.
  • DCP disparity compensated prediction
  • the subtraction unit 215 generates a residual sample which is a difference between the original sample and the prediction sample.
  • residual samples may not be generated as described above.
  • the transform unit 220 generates a transform coefficient by transforming the residual sample in units of transform blocks.
  • the quantization unit 225 may quantize the transform coefficients to generate quantized transform coefficients.
  • the reordering unit 230 rearranges the quantized transform coefficients.
  • the reordering unit 230 may reorder the quantized transform coefficients in the form of a block into a one-dimensional vector form through a coefficient scanning method.
  • the entropy encoding unit 235 may perform entropy encoding on the quantized transform coefficients.
  • Entropy encoding may include, for example, encoding methods such as exponential Golomb, context-adaptive variavle length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), and the like.
  • the entropy encoding unit 235 may encode information necessary for video reconstruction other than the quantized transform coefficients (for example, a value of a syntax element) together or separately. Entropy encoded information may be transmitted or stored in units of network abstraction layer (NAL) units in the form of bitstreams.
  • NAL network abstraction layer
  • the adder 250 reconstructs the picture by combining the residual sample and the predictive sample.
  • the residual sample and the predictive sample may be added in units of blocks to generate a reconstructed block.
  • the adder 250 has been described in a separate configuration, the adder 250 may be part of the predictor 210.
  • the filter unit 255 may apply a deblocking filter and / or a sample adaptive offset to the reconstructed picture. Through deblocking filtering and / or sample adaptive offset, the artifacts of the block boundaries in the reconstructed picture or the distortion in the quantization process can be corrected.
  • the sample adaptive offset may be applied on a sample basis and may be applied after the process of deblocking filtering is completed.
  • the memory 260 may store information necessary for reconstructed pictures or encoding / decoding.
  • the memory 260 may store (reference) pictures used for inter prediction / inter view prediction.
  • pictures used for inter prediction / inter view prediction may be designated by a reference picture set or a reference picture list.
  • one encoding device has been described as encoding independent views and dependent views, this is for convenience of description, and a separate encoding device is configured for each view, or a separate internal module (for example, each view). Prediction module) may be configured.
  • FIG. 3 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention may be applied.
  • the video decoding apparatus 300 includes an entropy decoding unit 310, a reordering unit 320, an inverse quantization unit 330, an inverse transform unit 340, a predictor 350, and an adder 360.
  • the filter unit 370 and the memory 380 are included.
  • the video decoding apparatus 300 may reconstruct the video in response to a process in which the video information is processed in the video encoding apparatus.
  • the video decoding apparatus 300 may perform video decoding using a processing unit applied in the video encoding apparatus.
  • the processing unit block of video decoding may be a coding unit block, a prediction unit block, or a transform unit block.
  • the coding unit block may be divided along the quad tree structure from the largest coding unit block as a unit block of decoding.
  • the prediction unit block is a block partitioned from the coding unit block and may be a unit block of sample prediction. In this case, the prediction unit block may be divided into sub blocks.
  • the transform unit block may be divided along the quad tree structure from the coding unit block, and may be a unit block for deriving a transform coefficient or a unit block for deriving a residual signal from the transform coefficient.
  • the entropy decoding unit 310 may parse the bitstream and output information necessary for video reconstruction or picture reconstruction.
  • the entropy decoding unit # 10 decodes information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and quantizes values of syntax elements required for video reconstruction and transform coefficients for residuals. You can print the values.
  • the bitstream may be input for each view.
  • information about each view may be multiplexed in the bitstream.
  • the entropy decoding unit 310 may de-multiply the bitstream and parse the view for each view.
  • the reordering unit 320 may rearrange the quantized transform coefficients in the form of a two-dimensional block.
  • the reordering unit 320 may perform reordering in response to coefficient scanning performed by the encoding apparatus.
  • the inverse quantization unit 330 may dequantize the quantized transform coefficients based on the (inverse) quantization parameter and output the transform coefficients.
  • information for deriving a quantization parameter may be signaled from the encoding apparatus.
  • the inverse transform unit 340 may inverse residual transform coefficients to derive residual samples.
  • the prediction unit 350 may perform prediction on the current block and generate a prediction block including prediction samples for the current block.
  • the unit of prediction performed by the prediction unit 350 may be a coding block, a transform block, or a prediction block.
  • the prediction unit 350 may determine whether to apply intra prediction or inter prediction.
  • a unit for determining which of intra prediction and inter prediction is to be applied and a unit for generating a prediction sample may be different.
  • the unit for generating a prediction sample in inter prediction and an intra prediction may also be different.
  • whether to apply inter prediction or intra prediction may be determined in units of CUs.
  • a prediction mode may be determined and a prediction sample may be generated in PU units
  • intra prediction a prediction mode may be determined in PU units and a prediction sample may be generated in TU units.
  • the prediction unit 350 may derive the prediction sample for the current block based on the neighbor reference samples in the current picture.
  • the prediction unit 350 may derive the prediction sample for the current block by applying the directional mode or the non-directional mode based on the neighbor reference samples of the current block.
  • the prediction mode to be applied to the current block may be determined using the intra prediction mode of the neighboring block.
  • the prediction unit 350 may derive the prediction sample for the current block based on the sample specified on the reference picture by the motion vector on the reference picture.
  • the prediction unit 350 may induce a prediction sample for the current block by applying any one of a skip mode, a merge mode, and an MVP mode.
  • the motion information of the neighboring block may be used as the motion information of the current block.
  • the neighboring block may include a spatial neighboring block and a temporal neighboring block.
  • the prediction unit 350 may construct a merge candidate list using motion information of available neighboring blocks, and use information indicated by the merge index on the merge candidate list as a motion vector of the current block.
  • the merge index may be signaled from the encoding device.
  • the motion information may include a motion vector and a reference picture. When the motion information of the temporal neighboring block is used in the skip mode and the merge mode, the highest picture on the reference picture list may be used as the reference picture.
  • the difference (residual) between the prediction sample and the original sample is not transmitted.
  • the motion vector of the current block may be derived using the motion vector of the neighboring block as a motion vector predictor.
  • the neighboring block may include a spatial neighboring block and a temporal neighboring block.
  • the prediction unit 350 may perform inter view prediction.
  • the prediction unit 350 may configure a reference picture list including pictures of other views.
  • the prediction unit 350 may derive a disparity vector.
  • the prediction unit 350 may specify a depth block in a depth view based on the disparity vector, configure the merge list, inter-view motion prediction, residual prediction, and IC. (illumination compensation), view synthesis, etc. can be performed.
  • the disparity vector for the current block can be derived from the depth value using the camera parameter or from the motion vector or disparity vector of the neighboring block in the current or other view.
  • Camera parameters may be signaled from the encoding device.
  • the prediction unit 350 may include an IvMC corresponding to the temporal motion information of the c-refernece view, an IvDC corresponding to the disparity vector, and a shift of the disparity vector ( shifted IvMC derived by shift), a texture merge candidate (T) derived from a texture picture corresponding to the case where the current block is a block on the depth map, and a disparity derived merge candidate derived using disparity from the texture merge candidate (D), a view synthesis prediction merge candidate (VSP) derived based on view synthesis may be added to the merge candidate list.
  • IvMC corresponding to the temporal motion information of the c-refernece view
  • an IvDC corresponding to the disparity vector
  • a shift of the disparity vector shifted IvMC derived by shift
  • T texture merge candidate
  • D disparity derived merge candidate derived using disparity from the texture merge candidate
  • VSP view synthesis prediction merge candidate
  • the number of candidates included in the merge candidate list applied to the dependent view may be limited to a predetermined value.
  • the prediction unit 350 may apply inter-view motion vector prediction to predict the motion vector of the current block based on the disparity vector.
  • the prediction unit 350 may use a block in the reference view specified by the disparity vector as the reference block.
  • the prediction unit 350 may use the motion vector of the reference block as a candidate motion parameter or a motion vector predictor candidate of the current block, and use the disparity vector as a candidate disparity for disparity compensated prediction (DCP). Can be used as a parity vector.
  • DCP disparity compensated prediction
  • the adder 360 may reconstruct the current block or the current picture by adding the residual sample and the predictive sample.
  • the adder 360 may reconstruct the current picture by adding the residual sample and the predictive sample in block units. Since the residual is not transmitted when the skip mode is applied, the prediction sample may be a reconstruction sample.
  • the adder 360 has been described in a separate configuration, the adder 360 may be part of the predictor 350.
  • the filter unit 370 may apply deblocking filtering and / or sample adaptive offset to the reconstructed picture.
  • the sample adaptive offset may be applied in units of samples and may be applied after deblocking filtering.
  • the memory 380 may store information necessary for reconstruction picture or decoding.
  • the memory 380 may store pictures used for inter prediction / inter view prediction.
  • pictures used for inter prediction / inter view prediction may be designated by a reference picture set or a reference picture list.
  • the reconstructed picture can be used as a reference picture for another picture.
  • the memory 380 may output the reconstructed picture in the output order.
  • the output unit may display a plurality of different views.
  • each decoding apparatus may operate for each view, and an internal module (eg, a prediction module) corresponding to each view in one decoding apparatus may be provided.
  • an internal module eg, a prediction module
  • Multi-view video coding can enhance video coding efficiency for the current view by coding the current picture using decoding data of another view belonging to the same access unit (AU) as the current picture.
  • AU access unit
  • views may be coded in units of AUs, and pictures may be coded in units of views. Coding proceeds between views according to a predetermined order.
  • a view that can be coded without reference to another view can be referred to as a base view or an independent view.
  • a view that can be coded by referring to an independent view or another view after the independent view is coded may be referred to as a dependent view or extended view.
  • the view referred to in coding of the current view may be referred to as a reference view.
  • coding the view includes coding a video picture, a depth map, or the like belonging to the corresponding view.
  • FIG. 4 is a diagram schematically illustrating an example of multi-view video coding to which the present invention may be applied.
  • pictures with different view IDs in the same AU and the same POC are coded according to a predefined view coding order.
  • V0 the first coded view in the AU
  • V0 may be coded without reference to another view
  • V0 may be a base view or an independent view
  • V1 the next coded view, is a dependent view.
  • the base view is coded by referring to pictures belonging to the base view without referring to other views.
  • the dependent view is coded with reference to another view already coded while being coded after the base view.
  • a CU belonging to a dependent view may perform inter prediction by referring to a picture that is already coded.
  • a method of performing prediction by referring to a picture having the same view ID is referred to as motion compensated prediction (MCP)
  • MCP motion compensated prediction
  • DCP prediction compensated prediction
  • the A block may derive prediction samples by performing MCP based on a motion vector with reference to a picture belonging to the same view V1.
  • the B block may derive prediction samples by performing DCP based on the disparity vector with reference to a picture of a view V0 different from itself in the same AU.
  • pictures of different views may be used, and depth maps of the same view may be used.
  • the disparity vector is added to the position (x, y) of the sample of the corresponding picture in the reference view corresponding to the position (x, y) of the prediction sample in the current block.
  • the location of the reference sample of the corresponding picture in the reference view may be determined.
  • the prediction sample may be derived based on the reference sample in the reference view.
  • the disparity vector may have only an x-axis component. In this case, the disparity vector may be (disp, 0), and the position (xr, y) of the reference sample may be determined as (x + disp, y). Where disp represents the value of the disparity vector.
  • the disparity vector may be derived from neighboring blocks.
  • the disparity vector can be derived by searching for spatial or temporal neighboring blocks.
  • the spatial or temporal neighboring blocks may be neighboring blocks coded based on DCP. If the first disparity vector is found according to a predetermined search order, the disparity vector derivation process is terminated.
  • the disparity vector derived from the neighboring blocks may be called a disparity vector from neighboring blocks (NBDV).
  • 5 exemplarily shows spatial and temporal neighboring blocks to which the present invention can be applied.
  • a 1 510 and B 1 520 represent spatial neighboring blocks of the current CU 500
  • T 0 530 represents temporal neighboring blocks of the current CU 500
  • a 1 510 and B 1 520 may be located on the current picture
  • T0 530 may be located on the reference picture
  • a 1 510 is the left peripheral block of the current CU 500
  • a 2 510 is the upper peripheral block of the current CU 500.
  • a 1 510 may be the lowest neighboring block among the neighboring blocks adjacent to the left boundary of the current CU 500
  • a 2 520 is adjacent to the upper boundary of the current CU 500. It may be the rightmost peripheral block among the neighboring blocks.
  • the disparity vector of the current CU 500 can be derived based on A 1 510, B 1 520, and T 0 530, and the A 1 510, B 1 520, and T 0. 530 may be searched according to a predetermined search order.
  • a temporal neighboring block T 0 530 may be searched, and if the disparity vector is not found based on the temporal neighboring block, then the spatial neighboring blocks A 1 510 and B are next. 1 520 may be searched for. And finally, neighboring blocks coded based on MCP may be searched. In this case, the disparity vector that was used when predicting the temporal interview motion vector may be searched. If the disparity vector is not found from the neighboring block through the above process, a zero disparity vector may be designated as the disparity vector of the current block CU. In this case, the zero disparity vector may point to an inter-view reference picture (a block or a sample in the reference picture) having the smallest index of the reference picture list.
  • the spatial neighboring blocks may be searched in order of A 1 510 and B 1 520, for example.
  • the first candidate picture may be a collocated picture used for temporal motion vector prediction.
  • the co-location picture may be indicated from a slice header.
  • the second candidate picture is derived based on the ascending order of the reference picture index in the reference picture list and may be added to the candidate list.
  • the second candidate picture derivation may be performed by, for example, the following method.
  • step 1) Find an NBDV in a random access point (RAP) picture. If the RAP picture is in the candidate list for the second candidate picture, the derivation process is completed. If the RAP picture is not available for the current picture, the process proceeds to step 2).
  • RAP random access point
  • a picture having the smallest TID (temporal ID) among temporal reference pictures is derived as the second candidate picture, and the derivation process is completed when the picture having the smallest TID is unique. If there is an image having the same TID in the candidate list, the process proceeds to the next step 3).
  • the second reference picture derivation process may be regarded as a process of selecting a reference picture estimated to have many disparity vectors.
  • the second reference picture derivation process may be performed for each slice and may be performed only once for each slice.
  • one temporal candidate block is searched, for example, as T 0 530 of FIG. 5.
  • the neighboring blocks coded based on the MCP may be used in the disparity derivation process.
  • FIG 6 shows an example of disparity derivation from an MCP coded neighboring block.
  • the disparity vector 630 used for the interview motion prediction is presently present. It may represent a motion vector between the picture 600 and the interview reference picture 650. This type of motion vector may be called an inter-view predicted motion vector (IvpMv), and the peripheral block 610 may be called a DV-MCP block.
  • IvpMv inter-view predicted motion vector
  • DV-MCP block DV-MCP block
  • three variables may be used.
  • a block that is coded in the merge / skip mode and whose index is 0 is selected.
  • ivpMvFlag is 1
  • ivpMvDisparityX and reViewIdx are set to the disparity vector and associated view order index used for the inter-view motion prediction, respectively.
  • the disparity vector may be derived from MV-MCP blocks coded in a skip mode.
  • MVD motion vector difference
  • residual data is signaled, which is more accurate (or better than DV-MVP blocks where DV-MCP blocks coded in skip mode are not coded in skip mode). More corresponding) disparity vector.
  • the DV-MCP block coded in skip mode may be searched in the neighboring block of the current CU. .
  • FIG. 7 exemplarily shows DV-MCP blocks that can be used for disparity vector derivation.
  • a 1 710 and B 1 720 represent DV-MCP (spatial) peripheral blocks of the current CU 700.
  • the disparity vector of the current CU 700 may be derived based on A 1 710 and B 1 720, which are MV-MCP peripheral blocks coded in the skip mode, in this case A 1 710, for example. And search (or scan) in B 1 720 order. If an MV-MCP neighboring block is coded in a skip mode, ivpMvDisparityX and reViewIdx associated with the neighboring block are returned to the derived disparity vector and view order index, and The disparity vector derivation process is terminated.
  • the zero vector that maps to the default view is defined, if a default view is defined
  • the disparity vector may be used as the disparity vector.
  • the default disparity vector may be treated as an NBDV in the DoNBDV process described later.
  • the disparity vector derived through the NBDV derivation process is selected based on a specific criterion among various disparity vector candidates derived from neighboring blocks for the current CU. This maps the position having the smallest difference between the neighboring block and the block of the interview reference picture, and may be different from the ideal disparity vector to be actually obtained.
  • the method is used on the assumption that the characteristics of the neighboring block are similar to those of the current block, if the characteristics of the block from which the disparity vector is derived are similar to those of the current CU block, the accuracy of the disparity vector is reduced. It can also fall.
  • the disparity derived based on the neighboring block may not be accurate enough to be used as the disparity for the current CU.
  • the disparity may be corrected or compensated by using the decoded depth map. have.
  • a decoded depth map of the reference view (eg base view) is available.
  • the depth map of the reference view may be utilized to improve derivation of the disparity vector required to code the texture of the dependent view. That is, the NBDV may be corrected based on the depth map, which may be referred to as depth-oriented disparity vector derivation (DoNBDV).
  • DoNBDV depth-oriented disparity vector derivation
  • the disparity vector of the current CU may be corrected through the following process.
  • a disparity vector is derived through the NBDV derivation process.
  • the disparity vector is used to indicate the position of the corresponding block in the coded depth map of the reference view having the same view order index as the view order index associated with the disparity vector. If the corresponding block is located outside or at the boundary of the depth map, the samples of the corresponding block located outside the boundary of the depth map are clipped and the samples located inside are retained.
  • the depth block of the corresponding position of the reference view is assumed to be a "virtual depth block" for the current block of the dependent view.
  • the coded depth map in view 0 (view index 0) is labeled Coded D0 830 and the texture to be coded is labeled T1 800.
  • the depth block 840 in Coded D0 830 may be derived using the disparity vector estimated through NBDV, and the depth block 850 is the depth block 840.
  • the depth value of the sample having the maximum depth value among the four corner samples of the virtual depth block 850 may be converted into the corrected disparity vector.
  • residual prediction of a current block may be performed by using residual correlation between views. That is, in multi-view video coding, residual prediction may be performed in addition to intra / inter prediction and inter-view prediction for the current block.
  • the residual prediction may be called advanced residual prediction (ARP).
  • the residual prediction method may be performed by the video encoding apparatus of FIG. 2 and the video decoding apparatus of FIG. 3. More specifically, the residual prediction method may be performed by a prediction unit of each of the video encoding apparatus and the video decoding apparatus.
  • the reference block used for the residual prediction of the current block 905 (reference sample) Are derived, and residual prediction samples for the current block 905 may be generated based on the residual of the derived reference blocks.
  • Reference blocks for residual prediction may vary depending on whether they are inter view prediction.
  • the predictor When the current block 905 is inter predicted, the predictor first derives the corresponding block 915 in the reference view Vref corresponding to the current block 905.
  • the corresponding block 915 may be derived from the picture 910 belonging to the reference view of the current block 905 among the pictures in the same AU as the current block 905.
  • the location of the corresponding block 915 may be specified using the disparity vector 920 within the picture 910 belonging to the reference view.
  • the corresponding block 915 may be used as a first reference block (residual prediction block, rpBlock, or rpSamples) for residual prediction of the current block 905.
  • first reference block residual prediction block, rpBlock, or rpSamples
  • the prediction unit derives the reference picture 920 or 930 of the corresponding block 915 in the reference view, and derives the reference block 925 or 935 from the derived reference picture 920 or 930 of the corresponding block 915. do.
  • the reference block 925 or 935 may be used as a second reference block (residual prediction reference block, rpRefBlock or rpRefSamples) for the residual prediction of the current block 905.
  • a picture having the same POC value as the reference picture 940 or 950 of the current block 905 in the current view may be selected, or the register of the current block 905. It may be a reference picture in the reference picture list used for dual prediction.
  • the reference block 925 or 935 of the corresponding block 915 is motion information of the current block 905 in the reference picture 920 or 930 of the corresponding block 915, for example, the motion vector 960 or 965 of the current block 905. ) Can be specified by performing motion compensation.
  • the reference picture 940 of the current block 905 is a picture that can be referred to as forward-directional (L0) in inter prediction, and is, for example, a picture specified by the reference picture index Ref0 in the reference picture list L0. Can be.
  • the reference picture 950 of the current block 905 is a picture that can be referred to backward-directinoal in inter prediction, and may be, for example, a picture specified by the reference picture index Ref1 in the reference picture list L1.
  • the prediction unit may use the difference between the first reference block reBlock and the second reference block rpRefBlock derived for the residual prediction as the residual prediction sample value of the current block 905 as described above.
  • the difference value obtained by subtracting the sample value of the reference block 925 or 935 from the sample value of the corresponding block 915 may be derived as the residual prediction sample value of the current block 905.
  • the prediction sample value of the current block 905 may be modified based on the residual prediction sample value of the current block 905.
  • a weighting factor may be applied to the residual prediction sample value of the current block 905.
  • the weight may be transmitted from an encoder to a decoder.
  • the weight may be called iv_res_pred_weight_idx.
  • the weight may be, for example, one of 0, 0.5 or 1.
  • the weight 0 may be indicative that residual prediction is not applied.
  • Index information indicating which weight to apply may be transmitted in units of blocks to the decoder in encoding.
  • the prediction unit When the current block 905 is inter-view predicted, the prediction unit derives the reference picture 940 or 950 in the current view and derives the reference block 945 or 955 in the reference picture 940 or 950. For example, the prediction unit may derive the reference block 945 or 955 in the reference picture 940 or 950 based on the derived temporal motion vector and the reference picture index.
  • the reference block 945 or 955 may be used as a first reference block (residual prediction block, rpBlock, or rpSamples) for residual prediction of the current block 905.
  • the prediction unit derives the corresponding block 915 in the reference view corresponding to the current block 905.
  • the corresponding block 915 may be derived from the picture 910 belonging to the reference view of the current block 905 among the pictures in the same AU as the current block 905.
  • the position of the corresponding block 915 may be specified using the disparity vector 920 of the current block 905 within the picture 910 of the reference view.
  • the prediction unit may derive the reference picture 920 or 930 of the corresponding block 915 and derive the reference block 925 or 935 from the derived reference picture 920 or 930 of the corresponding block 915. .
  • the reference block 925 or 935 may be used as a second reference block (residual prediction reference block, rpRefBlock or rpRefSamples) for the residual prediction of the current block 950.
  • a picture having the same POC value as the reference picture 940 or 950 of the current block 905 in the current view may be selected, or the current block 905 may be selected. It may be a reference picture in the reference picture list for the reference view used for residual prediction.
  • the reference block 925 or 935 of the corresponding block 915 uses motion information of the current block 905 in the reference picture 920 or 930 of the corresponding block 915, for example, the temporal motion vector of the current block 905. Can be specified by performing motion compensation.
  • the prediction unit may use the difference between the first reference block rpBlcok and the second reference block rpRefBlock derived for the residual prediction as the residual prediction sample value of the current block 915 as described above. For example, a value obtained by subtracting the sample value of the reference block 925 or 935 in the reference view from the sample value of the reference block 945 or 955 in the current view may be derived as the residual prediction value of the current block 905.
  • the prediction sample value of the current block 905 may be modified based on the residual prediction sample value of the current block 905. In this case, as described above, a weight may be applied to the residual prediction sample value of the current block 905.
  • the weight may be, for example, one of 0, 0.5 or 1.
  • a weight of 0 may indicate that residual prediction is not applied.
  • Index information indicating which weight to apply may be transmitted in units of blocks.
  • encoding / decoding may be performed using NBDV and DONBDV based on various coding tools such as IvMC, VSP, and ARP.
  • various coding tools such as IvMC, VSP, and ARP.
  • the disparity vector, target (reference) view, and availability for each CU may be used together.
  • the availability may be referred to as disparity availability and may be divided into three cases as follows.
  • DISP_DEFAULT no NBDV but default view is specified and zero vector (default vector) is used as the disparity vector
  • the above-described ARP may be performed only when the availability parameter of the CU is DISP_AVAILABLE. That is, ARP can be performed only when NBDV is obtained from neighboring blocks.
  • the coding tool it may not be necessary to distinguish whether the currently derived disparity vector is an NBDV or a zero vector on the default view. For example, a depth refinement is performed on the disparity vector candidate based on the corresponding depth block. Even when refinement is performed, coding is performed by refining the disparity vector regardless of whether it is NBDV or the default vector on the default view. However, when the ARP is performed only when there is an NBDV derived from a neighboring block, if the NBDV found from the neighboring block is a zero vector, ARP is performed, but when the default disparity vector is not performed, the ARP is not performed. By preventing such discrepancies and enabling ARP to be performed even when the default disparity vector is used, prediction and coding efficiency for the current block can be improved.
  • the aforementioned DISP_DEFAULT is regarded as DISP_AVAILABLE.
  • the information (flag) indicating disparity availability only needs to indicate two cases, not three.
  • a flag indicating disparity availability is DispAvailFlag
  • DispAvailFlag when a default view is set, DispAvailFlag may be set to one.
  • dvAvailFlag may be set to 1, when dvAvailFlag is 0, the reference view index for the current block is set as the default view index, and the disparity vector is zero. It can be set to a vector (0, 0).
  • the ARP may be performed when an RpRefPicAvailFlag indicating the availability of a reference picture for residual prediction exists, and the RpRefPicAvailflag may have a value of 1 when the above-described DispAvailFlag is 1.
  • RpRefPicAvailflag 1
  • the weight iv_res_pred_weight_idx for the residual prediction may be signaled, and ARP may be applied when the iv_res_pred_weight_idx for the current block is not zero.
  • a default view is set, and the disparity vector of the current block based on the default view and the default vector (zero vector). If A is derived, ARP may be performed on the current block.
  • FIG. 10 is a flowchart schematically showing an encoding method using residual prediction according to an embodiment of the present invention.
  • the encoding apparatus derives a disparity vector for the current block of the current view (S1000).
  • the encoding apparatus may derive the disparity vector based on the above-described NBDV derivation method. In this case, the encoding apparatus may correct the disparity vector based on the above-described DoNBDV method.
  • the encoding apparatus may derive a zero vector on the default view as a disparity vector for the current block.
  • the encoding apparatus generates a residual prediction sample of the current block (S1010).
  • the residual prediction sample generation may be performed in units of CUs.
  • the current block may be a CU block or a coding block (CB).
  • a CU may be partitioned into one or a plurality of PUs, and thus the current block may include a PU.
  • the residual prediction sample can be generated not only when the disparity vector for the current block is derived based on the NBDV but also based on the zero vector on the default view. That is, according to the present invention, the residual prediction operation can be performed even when the disparity vector for the current block is not derived from the neighboring block and the zero vector is used as the default view and the disparity vector as the reference view.
  • the encoding apparatus may generate a residual prediction sample of the current block based on the residual prediction operation.
  • the encoding apparatus may encode video information for video decoding (S1020).
  • the encoding device may entropy encode video information and output the entropy in a bitstream.
  • the output bitstream may be transmitted through a network or stored in a storage medium.
  • the video information may include information for performing residual prediction (eg, a weighted index for residual prediction).
  • the video information may include values of syntax elements for reconstructing the current block as well as residual information about the current block.
  • FIG. 11 is a flowchart schematically illustrating a decoding method using residual prediction according to an embodiment of the present invention.
  • the decoding apparatus may decode video information included in the bitstream (S1100).
  • the decoding apparatus may entropy decode the bitstream and obtain the video video information.
  • the video information may include values of syntax elements for reconstructing the current block as well as residual information about the current block.
  • the decoding apparatus may decode information about a prediction mode applied to the current block, and may decode a weight index for residual prediction.
  • the decoding apparatus derives a disparity vector for the current block of the current view (S1110).
  • the decoding apparatus may derive the disparity vector based on the above-described NBDV derivation method. In this case, the decoding apparatus may correct the disparity vector based on the above-described DoNBDV method.
  • the decoding apparatus may derive a zero vector on the default view as a disparity vector for the current block.
  • the decoding apparatus generates residual prediction samples of the current block (S1120).
  • the residual prediction sample generation may be performed in units of CUs.
  • the current block may be a CU block or a coding block (CB).
  • a CU may be partitioned into one or a plurality of PUs, and thus the current block may include a PU.
  • the residual prediction sample can be generated not only when the disparity vector for the current block is derived based on the NBDV but also based on the zero vector on the default view. That is, according to the present invention, the residual prediction operation can be performed even when the disparity vector for the current block is not derived from the neighboring block and the zero vector is used as the default view and the disparity vector as the reference view.
  • the encoding apparatus may generate a residual prediction sample of the current block based on the residual prediction operation.
  • the decoding apparatus may generate a modified prediction sample for the current block based on the prediction sample previously generated for the current block and the residual prediction sample, and based on the modified prediction sample and the residual sample, And reconstructed picture).
  • the prediction sample may be derived in a PU or prediction block (PB) unit
  • the residual prediction sample may be derived in a CU or CB unit.
  • the residual prediction sample generated in a CU unit may be partitioned in a PU unit, thereby generating a modified prediction sample based on the prediction sample and the residual prediction sample in a PU unit.
  • the decoding apparatus may generate the block of the present application by adding the residual sample to the modified prediction sample.
  • the above-described method may be implemented as a module (process, function, etc.) for performing the above-described function.
  • the module may be stored in memory and executed by a processor.
  • the memory may be internal or external to the processor and may be coupled to the processor by various well known means.

Landscapes

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

Abstract

본 발명의 멀티 뷰 비디오를 코딩하는 장치 및 방법에 관한 것으로, 본 발명에 따른 레지듀얼 예측 방법은 현재 블록에 대한 디스패리티 벡터를 도출하는 단계, 상기 디스패리티 벡터를 기반으로 현재 블록에 대한 레지듀얼 예측을 수행하고, 레지듀얼 예측 샘플을 생성하는 단계를 포함하되, 상기 디스패리티 벡터는 현재 블록의 주변 블록을 기반으로 도출되지 않고, 기 설정된 디폴트 벡터로부터 도출되는 것을 특징으로 한다. 본 발명에 따르면, 현재 블록의 주변 블록으로부터 디스패리티 벡터를 유도하는 경우 뿐 아니라 유도하지 않는 경우에도 특정 조건에 따라 현재 블록에 대한 레지듀얼 예측을 수행함으로써, 예측 효과를 높일 수 있다.

Description

3D 비디오 부호화/복호화 방법 및 장치
본 발명은 비디오 코딩에 관한 기술로서, 보다 상세하게는 3D 비디오 영상의 코딩에 관한 것이다.
최근 고해상도, 고품질의 영상에 대한 요구가 다양한 응용 분야에서 증가하고 있다. 하지만 영상이 고해상도를 가지고 고품질이 될수록 해당 영상에 대한 정보량도 함께 증가한다.
따라서, 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 정보를 전송하거나 기존의 저장 매체를 이용해 영상 정보를 저장하는 경우에는, 정보의 전송 비용과 저장 비용이 증가하게 된다. 고해상도, 고품질 영상의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위해 고효율의 영상 압축 기술을 이용할 수 있다.
한편, 고해상/대용량의 영상을 처리할 수 있게 됨에 따라서, 3D 비디오를 이용한 디지털 방송 서비스가 차세대 방송 서비스의 하나로 주목 받고 있다. 3D 비디오는 복수의 시점(view) 채널을 이용하여 현장감과 몰입감을 제공할 수 있다.
3D 비디오는 FCC(free viewpoint video), FTV(free viewpoint TV_), 3DTV, 사회 안전망(surveillance) 및 홈 엔터테인먼트와 같은 다양한 영역에 사용될 수 있다.
싱글 뷰 비디오(single view video)와 달리 멀티 뷰를 이용한 3DV 비디오는 동일한 POC(picture order count)의 뷰들 사이에 높은 상관도(correlation)을 가진다. 멀티 뷰 영상은 인접한 여러 카메라 즉, 여러 시점(view)을 이용하여 똑같은 장면을 동시에 촬영하기 때문에, 시차와 약간의 조명 차이를 제외하면 거의 같은 정보를 담고 있으므로 서로 다른 뷰 간의 상관도가 높다.
따라서, 멀티 뷰 비디오의 인코딩/디코딩에서는 서로 다른 뷰 사이의 상관도를 고려하여, 현재 뷰의 인코딩 및/또는 디코딩에 필요한 정보를 획득할 수 있다. 예를 들어, 현재 뷰의 디코딩 대상 블록을 다른 뷰의 블록을 참조하여 예측하거나 디코딩할 수 있다.
본 발명은 3D 비디오 코딩에서 현재 블록을 예측하는 방법 및 장치를 제공한다.
본 발명은 3D 비디오 코딩에서 레지듀얼 예측 방법 및 장치를 제공한다.
본 발명은 3D 비디오 코딩에서 디스패리티(disparity) 벡터에 기반한 레지듀얼 예측 방법 및 장치를 제공한다.
본 발명은 현재 블록의 주변 블록으로부터 디스패리티 벡터를 유도하지 않는 경우 현재 블록에 대한 레지듀얼 예측을 수행하는 방법 및 장치를 제공한다.
본 발명의 일 실시예에 따르면, 레지듀얼 예측 방법이 제공된다. 상기 레지듀얼 예측 방법은 현재 블록에 대한 디스패리티 벡터를 도출하는 단계, 상기 디스패리티 벡터를 기반으로 현재 블록에 대한 레지듀얼 예측을 수행하고, 레지듀얼 예측 샘플을 생성하는 단계를 포함하되, 상기 디스패리티 벡터는 현재 블록의 주변 블록을 기반으로 도출되지 않고, 기 설정된 디폴트 벡터로부터 도출된 것을 특징으로 한다.
본 발명의 다른 실시예에 따르면, 레지듀얼 예측 장치가 제공된다. 상기 레지듀얼 예측 장치는 현재 블록에 대한 디스패리티 벡터를 도출하고, 상기 디스패리티 벡터를 기반으로 현재 블록에 대한 레지듀얼 예측을 수행하여 레지듀얼 예측 샘플을 생성하는 예측부를 포함하되, 상기 예측부는 디스패리티 벡터를 현재 블록의 주변 블록을 기반으로 도출하지 않고, 기 설정된 디폴트 벡터로부터 도출하는 것을 특징으로 한다.
본 발명에 따르면 3D 비디오 코딩에서 현재 픽처 내의 현재 블록을 예측함으로써 코딩 효율을 높이고, 전송되어야 하는 데이터량을 줄일 수 있다.
본 발명에 따르면 3D 비디오 코딩에서 레지듀얼 예측을 수행함으로써, 예측 효율 및 코딩 효율을 높일 수 있다.
본 발명에 따르면, 현재 블록의 주변 블록으로부터 디스패리티 벡터를 유도하는 경우 뿐 아니라 유도하지 않는 경우에도 특정 조건에 따라 현재 블록에 대한 레지듀얼 예측을 수행함으로써, 예측 효과를 높일 수 있다.
도 1은 본 발명이 적용될 수 있는 3D 비디오의 인코딩 및 디코딩 과정을 개략적으로 설명하는 도면이다.
도 2는 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 3은 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 4는 본 발명이 적용될 수 있는 멀티 뷰 비디도 코딩의 일 예를 개략적으로 설명하기 위한 도면이다.
도 5는 본 발명이 적용될 수 있는 공간적 및 시간적 주변 블록을 예시적으로 나타낸다.
도 6은 MCP 코딩된 주변 블록으로부터 디스패리티 도출하는 예를 나타낸다.
도 7은 디스패리티 벡터 도출에 사용될 수 있는 DV-MCP 블록들을 예시적으로 나타낸다.
도 8은 가상 뎁스 블록을 찾는 예를 나타낸다.
도 9는 본 발명의 실시예에 따른 레지듀얼 예측 방법을 개략적으로 나타낸다.
도 10은 본 발명의 실시예에 따른 레지듀얼 예측을 이용한 인코딩 방법을 개략적으로 나타낸 순서도이다.
도 11은 본 발명의 실시예에 따른 레지듀얼 예측을 이용한 디코딩 방법을 개략적으로 나타낸 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정 실시예에 한정하려고 하는 것이 아니다. 본 명세서에서 상용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 도는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
본 명에서에서 픽셀(pixel) 또는 펠(pel)은 하나의 픽처(또는 영상)을 구성하는 최소의 단위를 의미할 수 있다. 또한, 특정한 픽셀의 값을 나타내는 용어로서 '샘플(sample)'이 사용될 수 있다. 샘플은 일반적으로 픽셀의 값을 나타낼 수 있으며, 휘도(luma) 성분의 픽셀 값만을 나타낼 수도 있고, 채도(chroma) 성분의 픽셀 값만을 나타낼 수도 있다.
유닛(unit)은 영상 처리의 기본 단위를 나타낸다. 유닛은 픽처의 특정 영역 및 해당 영역에 관련된 정보 중 적어도 하나를 포함할 수 있다. 유닛은 경우에 따라서 블록(block) 또는 영역(area) 등의 용어와 혼용하여 사용될 수 있다. 일반적인 경우, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타낼 수 있다.
도 1은 본 발명이 적용될 수 있는 3D 비디오의 인코딩 및 디코딩 과정을 개략적으로 설명하는 도면이다.
도 1을 참조하면, 3D 비디오 인코더는 비디오 픽처 및 뎁스 맵(depth map)과 카메라 파라미터(camera parameter)를 인코딩하여 비트스트림으로 출력할 수 있다.
뎁스 맵은 대응하는 비디오 픽처(텍스처 픽처)의 픽셀에 대하여 카메라와 피사체 간의 거리 정보(깊이 정보)로 구성될 수 있다. 예컨대, 뎁스 맵은 깊이 정보를 비트 뎁스(bit depth)에 따라 정규화한 영상일 수 있다. 이 때, 뎁스 맵은 색차 표현없이 기록된 깊이 정보로 구성될 수 있다. 뎁스 맵은 뎁스 맵 픽처 또는 뎁스 픽처로 불릴 수 있다.
일반적으로 피사체와의 거리와 디스패리티는 서로 반비례하므로, 카메라 파라미터를 이용하여 뎁스 맵의 깊이 정보로부터 뷰 간의 상관도를 나타내는 디스패리티 정보를 유도할 수 있다.
일반적인 컬러 영상 즉, 비디오 픽처(텍스처 픽처)와 함께 뎁스 맵과 카메라 파라미터를 포함하는 비트스트림은 네트워크(network) 또는 저장매체를 통해 디코더로 전송될 수 있다.
디코더 측에서는 비트스트림을 수신해서 비디오를 복원할 수 있다. 디코더 측에서 3D 비디오 디코더가 이용되는 경웅, 3D 비디오 디코더는 비트스트림으로부터 비디오 픽처와 뎁스 맵 및 카메라 파라미터를 디코딩할 수 있다. 디코딩된 비디오 픽처와 뎁스 맵 그리고 카메라 파라미터를 기반으로 멀티 뷰(multi view) 디스플레이에 필요한 뷰들을 합성할(synthesize) 수도 있다. 이 때, 사용되는 디스플레이가 스테레오(stereo) 디스플레이인 경우라면, 복원된 멀티 뷰들 중에서 두 개의 뷰에 대한 픽처들을 이용하여 3D 영상을 디스플레이 할 수 있다.
스테레오 비디오 디코더가 사용되는 경우에, 스트레오 비디오 디코더는 비트스트림으로부터 양 안(eyes)에 각각 입사될 두 픽처를 복원할 수 있다. 스테레오 디스플레이에서는 왼쪽 눈에 입사되는 좌측 영상과 우측 눈에 입사되는 우측 영상의 시차(view difference) 혹은 디스패리티(disparity)를 이용해서 입체 영상을 디스플레이 할 수 있다. 스테레오 비디오 디코더와 함께 멀티 뷰 디스플레이가 사용되는 경우에는, 복원된 두 픽처를 기반으로 다른 뷰들을 생성하여 멀티 뷰를 디스플레이할 수도 있다.
2D 디코더가 사용되는 경우에는 2차원 영상을 복원해서 2D 디스플레이로 영상을 출력할 수 있다. 2D 디스플레이를 사용하지만, 디코더는 3D 비디오 디코더를 사용하거나 스테레오 비디오 디코더를 사용하는 경우에는 복원된 영상들 중 하나를 2D 디스플레이로 출력할 수도 있다.
도 1의 구성에서, 뷰 합성은 디코더 측에서 수행될 수도 있고, 디스플레이 측에서 수행될 수도 있다. 또한, 디코더와 디스플레이는 하나의 장치일 수도 있고 별도의 장치일 수 도 있다.
도 1에서는 설명의 편의를 위하여 3D 비디오 디코더와 스테레오 비디오 디코더 그리고 2D 비디오 디코더가 별도의 디코더인 것으로 설명하였으나, 하나의 디코딩 장치가 3D 비디오 디코딩, 스테레오 비디오 디코딩 그리고 2D 비디오 디코딩을 모두 수행할 수도 있다. 또한, 3D 비디오 디코딩 장치가 3D 비디오 디코딩을 수행하고, 스테레오 비디오 디코딩 장치가 스테레오 비디오 디코딩을 수행하며, 2D 비디오 디코딩 장치가 2D 비디오 디코딩을 수행할 수도 있다. 더 나아가, 멀티 뷰 디스플레이가 2D 비디오를 출력하거나 스테레오 비디오를 출력할 수도 있다.
도 2는 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 2를 참조하면, 비디오 인코딩 장치(200)는 픽처 분할부(205), 예측부(210), 감산부(215), 변환부(220), 양자화부(225), 재정렬부(230), 엔트로피 인코딩부(235), 역양자화부(240), 역변환부(245), 가산부(250), 필터부(255) 및 메모리(260)을 포함한다.
픽처 분할부(205)는 입력된 픽처를 적어도 하나의 처리 유닛 블록(processing unit block)으로 분할할 수 있다. 이 때, 처리 유닛 블록은 코딩 유닛 블록(coding unit block), 예측 유닛 블록(prediction unit block) 또는 변환 유닛 블록(transform unit block)일 수 있다. 코딩 유닛 블록은 코딩의 유닛 블록으로서 최대(largest) 코딩 유닛 블록으로부터 쿼드 트리 구조(quad-tree structure)를 따라서 분할(split)될 수 있다. 예측 유닛 블록은 코딩 유닛 블록으로부터 파티셔닝(partitioning)되는 블록으로서, 샘플 예측의 유닛 블록일 수 있다. 이 때, 예측 유닛 블록은 서브 블록(sub block)으로 나뉠 수도 있다. 변환 유닛 블록은 코딩 유닛 블록으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 따라서 유도하는 유닛 블록 또는 변환 계수로부터 레지듀얼 신호(residual signal)를 유도하는 유닛 블록일 수 있다.
이하, 코딩 유닛 블록은 코딩 블록 또는 코딩 유닛(coding unit, CU), 예측 유닛 블록은 예측 블록 또는 예측 유닛(prediction unit, PU), 변환 유닛 블록은 변환 블록 또는 변환 유닛(transform unit, TU)라고 불릴 수 있다.
예측 블록 또는 예측 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 예측 샘플의 어레이(array)를 포함할 수 있다. 또한, 변환 블록 또는 변환 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 변환 계수 또는 레지듀얼 샘플의 어레이를 포함할 수 있다.
예측부(210)는 처리 대상 블록(이하, 현재 블록이라 함)에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측 블록을 생성할 수 있다. 예측부(210)에서 수행되는 예측의 단위는 코딩 블록일 수 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
예측부(210)는 현재 블록에 인트라 예측이 적용되는지 인터 예측이 적용되는지를 결정할 수 있다. 일 예로, 예측부(210)는 CU 단위로 인트라 예측 또는 인터 예측이 적용되는지를 결정할 수 있다.
인트라 예측의 경우에, 예측부(210)는 현재 블록이 속하는 픽처(이하, 현재 픽처) 내의 현재 블록 외부의 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이 때, 예측부(210)는 (i) 현재 블록의 주변(neighboring) 참조 샘플들의 평균(average) 혹은 인터폴레이션(interpolation)을 기반으로 예측 샘플을 유도할 수 있고, (ii) 현재 블록의 주변 참조 샘플들 중 예측 샘플에 대하여 특정 (예측) 방향에 존재하는 참조 샘플을 기반으로 상기 예측 샘플을 유도할 수도 있다. (i)의 경우는 비방향성 모드, (ii)의 경우는 방향성(directional) 모드라고 불릴 수 있다. 예측부(210)는 주변 블록에 적용된 예측 모드를 이용하여, 현재 블록에 적용되는 예측 모드를 결정할 수도 있다.
인터 예측의 경우에, 예측부(210)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 샘플을 기반으로, 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(210)는 스킵(skip) 모드, 머지(merge) 모드, 및 MVP(motion vector prediction) 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 스킵 모드와 머지 모드의 경우에, 예측부(210)는 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다. 스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차(레지듀얼)이 전송되지 않는다. MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(motion vector predictor)로 이용하여 현재 블록의 움직임 벡터 예측자(motion vector predictor)로 이용하여 현재 블록의 움직임 벡터를 유도할 수 있다.
인터 예측의 경우에, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처(reference picture)에 존재하는 시간적 주변 블록(temporal neighboring block)을 포함한다. 상기 시간적 주변 블록을 포함하는 참조 픽처는 동일 위치 픽처(collocated picture, colPic)라고 불릴 수도 있다. 움직임 정보(motion information)는 움직임 벡터와 참조 픽처를 포함할 수 있다. 스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트(reference picture list) 상의 최상위 픽처가 참조 픽처로서 이용될 수도 있다.
멀티 뷰의 경우, 독립 뷰(independent view)와 종속 뷰(dependent view)로 구분될 수 있으며, 종속 뷰에 대한 인코딩의 경우에, 예측부(210)는 인터 예측 뿐 아니라 인터 뷰(inter-view) 예측을 수행할 수도 있다.
예측부(210)는 다른 뷰의 픽처를 포함하여 참조 픽처 리스트를 구성할 수 있다. 인터 뷰 예측을 위해, 예측부(210)는 디스패리티 벡터를 유도할 수 있다. 현재 뷰 내 다른 픽처에서 현재 블록에 대응하는 블록을 특정하는 움직임 벡터와 달리, 디스패리티 벡터는 현재 픽처와 동일한 AU(access unit)의 다른 뷰에서 현재 블록에 대응하는 블록을 톡정할 수 있다. AU는 예를 들어 멀티 뷰에서, 동일 시점(same time instance)에 대응하는(correspond) 비디오 픽처들 및 뎁스 맵들을 포함할 수 있다. 여기서, AU는 POC(Picture Order Count)가 같은 픽처들의 집합을 의미할 수 있다. POC는 픽처의 디스플레이 순서에 대응하며, 코딩 순서와 구분될 수 있다.
예측부(210)는 디스패리티 벡터를 기반으로, 뎁스 뷰(depth view) 내의 뎁스 블록(depth block)을 특정할 수 있고, 머지 리스트의 구성, 인터 뷰 움직임 예측(inter-view motion preidciton), 레지듀얼 예측, IC(illumination compensation), 뷰 합성 등을 수행할 수 있다.
현재 블록에 대한 디스패리티 벡터는 카메라 파라미터를 이용하여 뎁스 값으로부터 유도되거나, 현재 또는 다른 뷰 내 주변 블록의 움직임 벡터 또는 디스패리티 벡터로부터 유도될 수 있다.
예컨대, 예측부(210)는 참조 뷰(reference view)의 시간적 움직임 정보에 대응하는 인터 뷰 머지 후보(inter-view merging candidate: IvMC), 디스패리티 벡터 대응하는 인터 뷰 디스패리티 벡터 후보(inter-view disparity vector candidate: IvDC), 디스패리티 벡터의 쉬프트(shift)에 의해 유도되는 쉬프티드 인터뷰 머지 후보(shifted IvMC), 현재 블록이 뎁스 맵 상의 블록인 경우에 대응하는 텍스처 픽처로부터 유도되는 텍스처 머지 후보(texture merging candidate: T), 텍스처 머지 후보로부터 디스패리티를 이용하여 유도되는 디스패리티 유도 머지 후보(disparity derived merging candidate: D), 뷰 합성에 기반해서 유도되는 뷰 합성 예측 머지 후보(view synthesis prediction candidate: VSP) 등을 머지 후보 리스트에 추가할 수 있다.
이 때, 종속 뷰에 적용되는 머지 후보 리스트에 포함되는 후보의 개수는 소정의 값으로 제한될 수 있다.
또한, 예측부(210)는 인터 뷰 움직임 벡터 예측을 적용하여, 디스패리티 벡터를 기반으로 현재 블록의 움직임 벡터를 예측할 수도 있다. 이 때, 예측부(210)는 대응하는 깊이 블록 내 최대 깊이 값의 전환(conversion)에 기반하여 디스패리티 벡터를 유도할 수 있다. 참조 뷰 내의 현재 블록의 샘플 위치에 디스패리티 벡터를 더하여 참조 뷰 내 참조 샘플의 위치가 특정되면, 참조 샘플을 포함하는 블록을 참조 블록으로 이용할 수 있다. 예측부(210)는 참조 블록의 움직임 벡터를 현재 블록의 후보 움직임 파라미터 혹은 움직임 벡터 예측자 후보로 이용할 수 있으며, 상기 디스패리티 벡터를 디스패리티 보상 예측(disparity compensated prediction: DCP)을 위한 후보 디스패리티 벡터로 이용할 수 있다.
감산부(215)는 원본 샘플과 예측 샘플 간의 차이인 래지듀얼 샘플을 생성한다. 스킵 모드가 적용되는 경우에는, 상술한 바와 같이 레지듀얼 샘플을 생성하지 않을 수 있다.
변환부(220)는 변환 블록 단위로 레지듀얼 샘플을 변환하여 변환 계수(transform coefficient)를 생성한다. 양자화부(225)는 변환 계수들을 양자화하여, 양자화된 변환 계수를 생성할 수 있다.
재정렬부(230)는 양자화된 변환 계수를 재정렬한다. 재정렬부(230)는 계수들 스캐닝(scanning) 방법을 통해 블록 형태의 양자화된 변환 계수들을 1차원 벡터 형태로 재정렬할 수 있다.
엔트로피 인코딩부(235)는 양자화된 변환 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩은 예를 들어 지수 골롬(exponential Golomb), CAVLC(context-adaptive variavle length coding), CABAC(context-adaptive binary arithmetic coding) 등과 같은 인코딩 방법을 포함할 수 있다. 엔트로피 인코딩부(235)는 양자화된 변환 계수 외 비디오 복원에 필요한 정보들(예컨대 신택스 요소(syntax element)의 값 등)을 함께 또는 별도로 인코딩할 수도 있다. 엔트로피 인코딩된 정보들은 비트스트림 형태로 NAL(network abstraction layer) 유닛 단위로 전송 또는 저장될 수 있다.
가산부(250)는 레지듀얼 샘플과 예측 샘플을 합쳐서 픽처를 복원한다. 레지듀얼 샘플과 예측 샘플은 블록 단위로 더해져서 복원 블록이 생성될 수 있다. 여기서 가산부(250)는 별도의 구성으로 설명하였으나, 가산부(250)는 예측부(210)의 일부일 수 있다.
복원된 픽처(reconstructed picture)에 대하여 필터부(255)는 디블록킹 필터 및/또는 샘플 적응적 오프셋(sample adaptive offset)을 적용할 수 있다. 디블록킹 필터링 및/또는 샘플 적응적 오프셋을 통해, 복원 픽처 내 블록 경계의 아티팩트나 양자화 과정에서의 왜곡이 보정될 수 있다. 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링의 과정이 완료된 후 적용될 수 있다.
메모리(260)는 복원 픽처 또는 인코딩/디코딩에 필요한 정보를 저장할 수 있다. 예컨대, 메모리(260)는 인터 예측/인터 뷰 예측에 사용되는 (참조) 픽처들을 저장할 수 있다. 이 때, 인터 예측/인터 뷰 예측에 사용되는 픽처들은 참조 픽처 세트(reference picture set) 혹은 참조 픽처 리스트(reference picture list)에 의해 지정될 수 있다.
여기서는, 하나의 인코딩 장치가 독립 뷰 및 종속 뷰를 인코딩하는 것으로 설명하였으나, 이는 설명의 편의를 위한 것으로서, 각 뷰별로 별도의 인코딩 장치가 구성되거나, 각 뷰별로 별도의 내부 모듈(예컨대, 각 뷰별 예측 모듈)이 구성될 수도 있다.
도 3은 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 3을 참조하면, 비디오 디코딩 장치(300)는 엔트로피 디코딩부(310), 재정렬부(320), 역양자화부(330), 역변환부(340), 예측부(350), 가산부(360), 필터부(370), 메모리(380)를 포함한다.
비디오 정보를 포함하는 비트스트림이 입력되면, 비디오 디코딩 장치는(300)는 비디오 인코딩 장치에서 비디오 정보가 처리된 프로세스에 대응하여 비디오를 복원할 수 있다.
예컨대, 비디오 디코딩 장치(300)는 비디오 인코딩 장치에서 적용된 처리 유닛을 이용하여 비디오 디코딩을 수행할 수 있다. 따라서 비디오 디코딩의 처리 유닛 블록은 코딩 유닛 블록, 예측 유닛 블록 또는 변환 유닛 블록일 수 있다. 코딩 유닛 블록은 디코딩의 유닛 블록으로서 최대 코딩 유닛 블록으로부터 쿼드 트리 구조를 따라서 분할될 수 있다. 예측 유닛 블록은 코딩 유닛 블록으로부터 파티셔닝되는 블록으로서, 샘플 예측의 유닛 블록일 수 있다. 이 때, 예측 유닛 블록은 서브 블록으로 나뉠 수도 있다. 변환 유닛 블록은 코딩 유닛 블록으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 유도하는 유닛 블록 또는 변환 계수로부터 레지듀얼 신호를 유도하는 유닛 블록일 수 있다.
엔트로피 디코딩부(310)는 비트스트림을 파싱하여 비디오 복원 또는 픽처 복원에 필요한 정보를 출력할 수 있다. 예컨대, 엔트로피 디코딩부(#10)는 지수 골롬 부호화, CAVLC 또는 CABAC 등의 코딩 방법을 기초로 비트스트림 내 정보를 디코딩하고, 비디오 복원에 필요한 신택스 엘리먼트의 값, 레지듀얼에 관한 변환 계수의 양자화된 값 들을 출력할 수 있다.
3D 비디오를 재생하기 위해 복수의 뷰(view)를 처리하는 경우, 비트스트림은 각 뷰 별로 입력될 수 있다. 혹은, 비트스트림 내에서 각 뷰에 대한 정보가 멀티플렉싱되어 있을 수 있다. 이 경우, 엔트로피 디코딩부(310)는 비트스트림을 역다중화(de-multiplixing)하여 뷰 별로 파싱(parsing)할 수도 있다.
재정렬부(320)는 양자화되어 있는 변환 계수들을 2차원의 블록 형태로 재정렬할 수 있다. 재정렬부(320)는 인코딩 장치에서 수행된 계수 스캐닝에 대응하여 재정렬을 수행할 수 있다.
역양자화부(330)는 양자화되어 있는 변환 계수들을 (역)양자화 파라미터를 기반으로 역양자화하여 변환 계수를 출력할 수 있다. 이 때, 양자화 파라미터를 유도하기 위한 정보는 인코딩 장치로부터 시그널링될 수 있다.
역변환부(340)는 변환 계수들을 역변환하여 레지듀얼 샘플들을 유도할 수 있다.
예측부(350)는 현재 블록에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측 블록을 생성할 수 있다. 예측부(350)에서 수행되는 예측의 단위는 코딩 블록일 수도 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
예측부(350)는 인트라 예측을 적용할 것인지 인터 예측을 적용할 것인지를 결정할 수 있다. 이 때, 인트라 예측과 인터 예측 중 어느 것을 적용할 것인지를 결정하는 단위와 예측 샘플을 생성하는 단위는 상이할 수 있다. 아울러, 인터 예측과 안트라 예측에 있어서 예측 샘플을 생성하는 단위 또한 상이할 수 있다. 예를 들어, 인터 예측과 인트라 예측 중 어느 것을 적용할 것인지는 CU 단위로 결정할 수 있다. 또한 예를 들어, 인터 예측에 있어서 PU 단위로 예측 모드를 결정하고 예측 샘플을 생성할 수 있고, 인트라 예측에 있어서 PU 단위로 예측 모드를 결정하고 TU 단위로 예측 샘플을 생성할 수도 있다.
인트라 예측의 경우에, 예측부(350)는 현재 픽처 내의 주변 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(350)는 현재 블록의 주변 참조 샘플을 기반으로 방향성 모드 또는 비방향성 모드를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이 때, 주변 블록의 인트라 예측 모드를 이용하여 현재 블록에 적용할 예측 모드가 결정될 수도 있다.
인터 예측의 경우에, 예측부(350)는 참조 픽처 상에서 움직임 벡터에 의해 참조 픽처 상에서 특정되는 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(350)는 스킵(skip) 모드, 머지(merge) 모드 및 MVP 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다.
스킵 모드와 머지 모드의 경우에, 주변 블록의 움직임 정보가 현재 블록의 움직임 정보로 이용될 수 있다. 이 때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.
예측부(350)는 가용한 주변 블록의 움직임 정보로 머지 후보 리스트를 구성하고, 머지 인덱스가 머지 후보 리스트 상에서 지시하는 정보를 현재 블록의 움직임 벡터로 사용할 수 있다. 머지 인덱스는 인코딩 장치로부터 시그널링될 수 있다. 움직임 정보는 움직임 벡터와 참조 픽처를 포함할 수 있다. 스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트 상의 최상위 픽처가 참조 픽처로서 이용될 수 있다.
스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차이(레지듀얼)이 전송되지 않는다.
MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(motion vector predictor)로 이용하여 현재 블록의 움직임 벡터가 유도될 수 있다. 이 때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.
종속 뷰(dependent view)에 대한 경우에, 예측부(350)는 인터 뷰 예측을 수행할 수 있다. 이 때, 예측부(350)는 다른 뷰의 픽처를 포함하여 참조 픽처 리스트를 구성할 수 있다.
인터 뷰 예측을 위해, 예측부(350)는 디스패리티 벡터를 유도할 수 있다. 예측부(350)는 디스패리티 벡터를 기반으로, 뎁스 뷰(depth view) 내의 뎁스 블록을 특정할 수도 있고, 머지 리스트의 구성, 인터 뷰 움직임 예측(inter-view motion prediction), 레지듀얼 예측, IC(illumination compensation), 뷰 합성 등을 수행할 수 있다.
현재 블록에 대한 디스패리티 벡터는 카메라 파라미터를 이용하여 뎁스 값으로부터 유도되거나, 현재 또는 다른 뷰 내 주변 블록의 움직임 벡터 또는 디스패리티 벡터로부터 유도될 수 있다. 카메라 파라미터는 인코딩 장치로부터 시그널링될 수 있다.
종속 뷰의 현재 블록에 머지 모드를 적용하는 경우에, 예측부(350)는 c마조 뷰(refernece view)의 시간적 움직임 정보에 대응하는 IvMC, 디스패리티 벡터에 대응하는 IvDC, 디스패리티 벡터의 쉬프트(shift)에 의해 유도되는 쉬프티드 IvMC, 현재 블록이 뎁스 맵 상의 블록인 경우에 대응하는 텍스처 픽처로부터 유도되는 텍스처 머지 후보(T), 텍스처 머지 후보로부터 디스패리티를 이용하여 유도되는 디스패리티 유도 머지 후보(D), 뷰 합성에 기반해서 유도되는 뷰 합성 예측 머지 후보(VSP) 등을 머지 후보 리스트에 추가할 수 있다.
이 때, 종속 뷰에 적용되는 머지 후보 리스트에 포함되는 후보의 개수는 소정의 값으로 제한될 수 있다.
또한, 예측부(350)는 인터 뷰 움직임 벡터 예측을 적용하여, 디스패리티 벡터를 기반으로 현재 블록의 움직임 벡터를 예측할 수도 있다. 이 때, 예측부(350)는 디스패리티 벡터에 의해서 특정되는 참조 뷰 내 블록을 참조 블록으로 이용할 수 있다. 예측부(350)는 참조 블록의 움직임 벡터를 현재 블록의 후보 움직임 파라미터 혹은 움짐익 벡터 예측자 후보로 이용할 수 있으며, 상기 디스패리티 벡터를 디스패리티 보상 예측(disparity compensated prediction: DCP)을 위한 후보 디스패리티 벡터로 이용할 수 있다.
가산부(360)는 레지듀얼 샘플과 예측 샘플을 더하여 현재 블록 혹은 현재 픽처를 복원할 수 있다. 가산부(360)는 레지듀얼 샘플과 예측 샘플을 블록 단위로 더하여 현재 픽처를 복원할 수도 있다. 스킵 모드가 적용된 경우에는 레지듀얼이 전송되지 않으므로, 예측 샘플이 복원 샘플이 될 수 있다. 여기서는 가산부(360)를 별도의 구성으로 설명하였으나, 가산부(360)는 예측부(350)의 일부일 수도 있다.
필터부(370)는 복원된 픽처에 디블록킹 필터링 및/또는 샘플 적응적 오프셋을 적용할 수 있다. 이 때, 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링 이후 적용될 수도 있다.
메모리(380)는 복원 픽처 또는 디코딩에 필요한 정보를 저장할 수 있다. 예컨대, 메모리(380)는 인터 예측/인터 뷰 예측에 사용되는 픽처들을 저장할 수 있다. 이 때, 인터 예측/인터 뷰 예측에 사용되는 픽처들은 참조 픽처 세트 혹은 참조 픽처 리스트에 의해 지정될 수도 있다. 복원된 픽처는 다른 픽처에 대한 참조 픽처로서 이용될 수 있다.
또한, 메모리(380)는 복원된 픽처를 출력 순서에 따라서 출력할 수도 있다. 도시되지는 않았으나, 3D 영상을 재생하기 위해, 출력부는 복수의 서로 다른 뷰를 디스플레이할 수 있다.
도 3의 예에서는, 하나의 디코딩 장치에서 독립 뷰(independent view)와 종속 뷰(dependent view)가 디코딩되는 것으로 설명하였으나, 이는 설명의 편의를 위한 것으로서 본 발명은 이에 한정되지 않는다. 예컨대, 뷰 별로 각각의 디코딩 장치가 동작할 수도 있고, 하나의 디코딩 장치 내의 각 뷰에 대응하는 내부 모듈(예컨대, 예측 모듈)이 구비될 수도 있다.
멀티 뷰 비디오 코딩은 현재 픽처와 동일한 AU(access unit)에 속하는 다른 뷰의 디코딩 데이터를 이용하여 현재 픽처를 코딩함으로써 현재 뷰에 대한 비디오 코딩 효율을 높일 수 있다.
멀티 뷰 비디오 코딩에서는 AU 단위로 뷰들을 코딩할 수 있고, 뷰 단위로 픽처들을 코딩할 수도 있다. 뷰들 간에는 정해진 순서에 따라서 코딩이 진행된다. 다른 뷰의 참조 없이 코딩될 수 있는 뷰를 베이스 뷰(base view) 또는 독립 뷰라고 할 수 있다. 또한 독립 뷰가 코딩된 뒤에 독립 뷰 또는 다른 뷰를 참조해서 코딩될 수 있는 뷰를 종속 뷰 또는 확장 뷰라고 할 수 있다. 또한, 현재 뷰가 종속 뷰인 경우, 현재 뷰의 코딩에 참조되는 뷰를 참조 뷰라고 할 수도 있다. 여기서 뷰를 코딩한다 함은 해당 뷰에 속하는 비디오 픽처, 뎁스 맵 등을 코딩함을 포함한다.
도 4는 본 발명이 적용될 수 있는 멀티 뷰 비디도 코딩의 일 예를 개략적으로 설명하기 위한 도면이다.
멀티 뷰 비디오를 코딩하는 경우, 하나의 AU 내 뷰 ID가 다르고 POC가 같은 픽처들은 미리 정의된 뷰 코딩 순서(view coding order)에 따라 코딩된다.
예컨대, 도 4에 도시된 바와 같이, 두 개의 뷰(뷰 V0 및 뷰 V1)를 코딩하고, 뷰 코딩 순서가 뷰 V0, 뷰 V1 순인 경우라 하자. 이 때, AU 내 가장 먼저 코딩되는 뷰인 V0는 다른 뷰의 참조 없이 코딩될 수 있으며, 상기 V0는 베이스 뷰 혹은 독립 뷰가 되며, 다음으로 코딩되는 뷰인 V1은 종속 뷰가 된다.
베이스 뷰는 다른 뷰를 참조하지 않고 베이스 뷰에 속한 픽처를 참조하여 코딩된다. 종속 뷰는 베이스 뷰 다음에 코딩되면서 이미 코딩된 다른 뷰를 참조하여 코딩된다.
멀티 뷰 비디오 코딩에서 종속 뷰에 속한 CU는 이미 코딩된 픽처를 참조하여 인터 예측을 수행할 수 있다. 이 때, 뷰 ID가 동일한 픽처를 참조하여 예측을 수행하는 방법은 움직임 보상 예측(motion compensated prediction: MCP)라고 하고, 동일 AU 내 뷰 ID가 다른 픽처를 참조하여 예측을 수행하는 방법을 디스패리티 보상 예측(disparity compensated prediction: DCP)라고 한다.
예컨대, 도 4를 참조하면, A 블록은 자신과 같은 뷰(V1)에 속하는 픽처를 참조하여 움직임 벡터를 기반으로 MCP를 수행하여 예측 샘플들을 유도할 수 있다. B 블록은 동일 AU 내 자신과 다른 뷰(V0)의 픽처를 참조하여 디스패리티 벡터를 기반으로 DCP를 수행하여 예측 샘플들을 유도할 수 있다. 멀티 뷰 비디오를 코딩할 때, 다른 뷰의 픽처를 이용할 수 있고, 동일 뷰의 뎁스 맵을 이용할 수도 있다.
예를 들어, DCP를 수행하여 예측 샘플들을 유도하는 경우, 현재 블록 내 예측 샘플의 위치 (x, y)에 대응하는 참조 뷰 내 대응 픽처의 샘플의 위치(x, y)에 디스패리티 벡터를 더하여, 참조 뷰 내 대응 픽처의 참조 샘플의 위치를 결정할 수 있다. 상기 참조 뷰 내 상기 참조 샘플을 기반으로 상기 예측 샘플을 유도할 수 있다. 일 예로, 디스패리티 벡터는 x축 성분만을 가지고 있을 수 있다. 이 경우 디스패리티 벡터는 (disp, 0)일 수 있으며, 참조 샘플의 위치 (xr, y)는 (x+disp,y)로 결정될 수 있다. 여기서 disp는 상기 디스패리티 벡터의 값을 나타낸다.
본 발명에 따르면, 일 예로, 상기 디스패리티 벡터는 주변 블록들로부터 도출(derivate)될 수 있다. 이 경우, 각 CU에 대하여, 공간적 또는 시간적 주변 블록을 탐색함으로써, 디스패리티 벡터를 유도할 수 있다. 여기서 상기 공간적 또는 시간적 주변 블록은 DCP 기반으로 코딩된 주변 블록들일 수 있다. 정해진 탐색 순서에 따라 최초의 디스패리티 벡터를 찾았을 경우, 디스패리티 벡터 도출 프로세스는 종료된다. 상기 주변 블록들로부터 도출되는 디스패리티 벡터는 NBDV(disparity vector from neighboring blocks)라고 불릴 수 있다.
도 5는 본 발명이 적용될 수 있는 공간적 및 시간적 주변 블록을 예시적으로 나타낸다.
도 5를 참조하면, A1(510) 및 B1(520)은 현재 CU(500)의 공간적 주변 블록을 나타내고, T0(530)은 현재 CU(500)의 시간적 주변 블록을 나타낸다. A1(510) 및 B1(520)은 현재 픽처 상에 위치할 수 있으며, T0(530)은 참조 픽처 상에 위치할 수 있다. A1(510)은 현재 CU(500)의 좌측 주변 블록이고, A2(510)은 현재 CU(500)의 상측 주변 블록이다. 구체적으로 예를 들어, A1(510)은 현재 CU(500)의 좌측 경계에 인접한 주변 블록들 중 가장 아래쪽 주변 블록일 수 있고, A2(520)은 현재 CU(500)의 상측 경계에 인접한 주변 블록들 중 가장 오른쪽 주변 블록일 수 있다.
현재 CU(500)의 디스패리티 벡터는 A1(510), B1(520) 및 T0(530)를 기반으로 도출될 수 있으며, 상기 A1(510), B1(520) 및 T0(530)는 정해진 탐색 순서에 따라 탐색될 수 있다.
예를 들어, 처음으로 시간적 주변 블록(T0(530))이 탐색될 수 있으며, 시간적 주변 블록을 기반으로 디스패리티 벡터를 찾지 못하였을 경우, 다음으로 공간적 주변 블록(A1(510) 및 B1(520))이 탐색될 수 있다. 그리고 마지막으로 MCP 기반으로 코딩된 주변 블록이 탐색될 수 있다. 이 경우, 시간적 인터 뷰 움직임 벡터를 예측할 때 사용되었던 디스패리티 벡터가 탐색될 수 있다. 만약, 상기 과정을 통하여 주변 블록으로부터 디스패리티 벡터를 찾지 못한 경우, 영(zero) 디스패리티 벡터가 현재 블록(CU)의 디스패리티 벡터로 지정될 수 있다. 이 경우 상기 영 디스패리티 벡터는 참조 픽처 리스트의 가장 작은 인덱스를 가지는 인터 뷰 참조 픽처(해당 참조 픽처 내의 블록 또는 샘플)를 가리킬(point) 수 있다.
상기 공간적 주변 블록들 중에서는 예를 들어 A1(510) 및 B1(520) 순으로 탐색될 수 있다.
한편, 상기 시간적 주변 블록을 탐색함에 있어서, 최대 2개의 참조 픽처가 탐색에 사용될 수 있다. 첫번째 후보 픽처(first candidate picture)는 시간적 움직임 벡터 예측(temporal motion vector prediction)을 위하여 사용되는 동일위치 픽처(collocated picture)일 수 있다. 상기 동일위치 픽처는 슬라이스 헤더(slice header)로부터 지시될 수 있다. 두번째 후보 픽처(second candidate picture)는 참조 픽처 리스트 내의 참조 픽처 인덱스의 오름차순(ascending order)을 기반으로 도출되며, 후보 리스트에 추가될 수 있다. 예를 들어 두번째 후보 픽처 도출은 예를 들어 다음과 같은 방법으로 수행될 수 있다.
1) RAP(random access point) 픽처에서 NBDV를 찾는다. 만일 상기 두번째 후보 픽처를 위한 후보 리스트에 상기 RAP 픽처가 있으면 상기 도출 과정은 완료된다. 상기 RAP 픽처가 현재 픽처를 위하여 가용하지 않은(not available) 경우, 다음 2) 단계로 넘어간다.
2) 시간적 참조 픽처들 중 가장 작은 TID(temporal ID)를 갖는 픽처가 상기 두번째 후보 픽처로 도출되며, 가장 작은 TID를 갖는 픽처가 유일한 경우 상기 도출 과정은 완료된다. 만일 후보 리스트 내에 같은 TID를 갖는 영상이 존재한다면, 다음 3) 단계로 넘어간다.
3) 같은 TID를 갖는 참조 픽처가 두 개 이상 존재할 경우, 현재 픽처와 POC(picture order count) 차이가 가장 작은 픽처가 상기 두번째 후보 픽처로 도출된다.
상기와 같은 두번째 참조 픽처 도출 과정은 디스패리티 벡터를 많이 가지고 있을 것으로 추정되는 참조 픽처를 선택하는 과정으로 볼 수 있다. 상기와 같은 두번째 참조 픽처 도출 과정은 슬라이스(slice) 별로 수행될 수 있으며, 슬라이스 별로 단 한번만 수행될 수 있다.
각각의 후보 픽처에 대하여, 예를 들어 도 5의 T0(530)와 같이, 하나의 시간적 후보 블록이 탐색된다.
한편, 상술한 바와 같은 DPC 기반으로 코딩된 주변 블록들에 더하여, MCP 기반으로 코딩된 주변 블록들이 디스패리티 도출 과정에 사용될 수 있다.
도 6은 MCP 코딩된 주변 블록으로부터 디스패리티 도출하는 예를 나타낸다.
도 6을 참조하면, 주변 블록(610)이 MCP로 코딩되었으며, 주변 블록(610)의 움직임 벡터가 인터 뷰 움직임 예측으로 예측되었다면, 인터 뷰 움직임 예측을 위하여 사용된 디스패리티 벡터(630)는 현재 픽처(600)와 인터 뷰 참조 픽처(650) 간 움직임 벡터를 나타낼 수 있다. 이러한 타입의 움직임 벡터는 인터 뷰 예측 움직임 벡터(inter-view predicted motion vector: IvpMv)라고 불릴 수 있으며, 상기 주변 블록(610)은 DV-MCP 블록으로 불릴 수 있다.
블록이 DV-MCP 블록인지 아닌지 지시하고 상기 인터 뷰 움직임 예측에 사용된 상기 디스패리티 벡터를 저장하기 위하여, 다음과 같은 세개의 변수가 사용될 수 있다.
- ivpMvFlag
- ivpMvDisparityX
- refViewIdx
주변 블록 중 머지/스킵 모드로 코딩되었고, 그 인덱스가 0인 블록이 선택된다. 이러한 경우, ivpMvFlag가 1이고, ivpMvDisparityX와 reViewIdx는 상기 인터 뷰 움직임 예측을 위하여 사용된 디스패리티 벡터 및 연관된(associated) 뷰 순서 인덱스로 각각 설정된다.
상기 디스패리티 벡터는 스킵 모드로 코딩된 MV-MCP 블록들로부터 도출될 수 있다. 블록이 스킵 모드로 코딩되는 경우 MVD(motion vector difference)나 레지듀얼 데이터가 시그널링되지 않고, 이는 스킵 모드로 코딩된 DV-MCP 블록이 스킵 모드로 코딩되지 않은 DV-MVP 블록에 비하여 더 정확한(또는 더 상응하는) 디스패리티 벡터를 가지고 있음을 나타낸다.
만약 DCP 코딩된 블록을 공간적 및 시간적 주변 블록들로부터 찾지 못한 경우(즉, 공간적 NBDV나 시간적 NBDV를 찾지 못한 경우), 현재 CU의 주변 블록에서 스킵 모드로 코딩된 DV-MCP 블록을 탐색할 수 있다.
도 7은 디스패리티 벡터 도출에 사용될 수 있는 DV-MCP 블록들을 예시적으로 나타낸다.
도 7을 참조하면, A1(710) 및 B1(720)은 현재 CU(700)의 DV-MCP (공간적) 주변 블록들을 나타낸다. 현재 CU(700)의 디스패리티 벡터는 스킵 모드로 코딩된 MV-MCP 주변 블록들인 A1(710) 및 B1(720)을 기반으로 도출될 수 있으며, 이 경우 예를 들어 A1(710) 및 B1(720) 순서로 탐색(또는 스캔)이 수행될 수 있다. 만약, MV-MCP 주변 블록(a DV-MCP neighboring block)이 스킵 모드로 코딩된 경우, 해당 주변 블록과 연관된 ivpMvDisparityX와 reViewIdx가 상기 도출되는 디스패리티 벡터 및 뷰 순서 인덱스로 반환(return)되고, 상기 디스패리티 벡터 도출 과정은 종료된다. 한편, DC-MCP 블록들로부터 상기 디스패리티 벡터 도출에 요구되는 메모리 양을 줄이기 위하여, 도 7에서 도시된 바와 같이 B1(720)이 현재 CTU(coding tree unit) 내에 위치하는 때에만, 상기 B1(720)이 활용(utilize)될 수 있다. 즉, 이 경우 공간적 주변 블록 A1(710)만 활용될 수 있다.
(얘는 뒤로 빼는 게 좋을 듯)만약, 상기와 같은 디스패리티 벡터 도출 과정을 통하여도, 주변 블록들에서 이용 가능한 DV가 전혀 없는 경우, 디폴트 뷰가 정의되어 있다면 상기 디폴트 뷰로 사상되는 영 벡터를 디폴트 디스패리티 벡터로서 상기 디스패리티 벡터로 사용할 수 있다. 상기 디폴트 디스패리티 벡터는 후술하는 DoNBDV 과정에서 NBDV로서 취급될 수 있다.
한편, 상기 NBDV 도출 과정을 통해 유도된 디스패리티 벡터는 현재 CU에 대한 주변 블록으로부터 유도된 여러 디스패리티 벡터 후보들 중 특정 기준에 의하여 선택된 것이다. 이는 주변 블록과 인터 뷰 참조 픽처의 블록 중 가장 적은 차이를 갖는 위치를 사상한 것으로서, 실제 구하고자 하는 이상적인(ideal) 디스패리티 벡터와는 차이가 있을 수 있다. 또한, 상기 방법은 주변 블록의 특성이 현재 블록의 특성과 유사하다는 가정 하에 사용하는 것이기 때문에 만일 디스패리티 벡터를 유도한 블록의 특성과 현재 CU 블록의 특성과의 유사성이 떨어지면, 디스패리티 벡터의 정확성 또한 떨어질 수 있다. 이와 같이 주변 블록을 기반으로 도출된 디스패리티는 현재 CU에 대한 디스패리티로 사용하기에는 정확성이 떨어질 수 있으며, 이러한 단점을 보완하기 위하여, 이미 복호화된 뎁스 맵을 이용하여 디스패리티를 보정 또는 보상할 수 있다.
종속 뷰의 텍스처를 코딩하는 시점에서, 참조 뷰(예를 들어 베이스 뷰)의 디코딩된 뎁스 맵이 이용가능하다. 참조 뷰의 뎁스 맵을 활용하여 상기 종속 뷰의 텍스처를 코딩하는데 필요한 상기 디스패리티 벡터의 도출을 개선(improve)할 수 있다. 즉, 뎁스 맵의 기반으로 NBDV를 보정할 수 있으며, 이는 DoNBDV(Depth-oriented disparity vector derivation)라고 불릴 수 있다. DoNBDV에 따른 경우, 현재 CU의 디스패리티 벡터는 다음과 같은 과정을 통하여 보정될 수 있다.
1) NBDV 도출 과정을 통하여 디스패리티 벡터를 도출한다.
2) 상기 디스패리티 벡터와 연관된 뷰 순서 인덱스와 동일한 뷰 순서 인덱스를 갖는 참조 뷰의 코딩된 뎁스 맵 내의 대응 블록의 위치를 지시하기 위하여 상기 디스패리티 벡터가 사용된다. 만약 상기 대응 블록이 뎁스 맵 외부나 경계에 위치하는 경우, 상기 뎁스 맵의 경계를 기준으로 외부에 위치하는 상기 대응 블록의 샘플들은 클리핑되고(clipped), 내부에 위치하는 샘플들은 유지된다.
3) 상기 참조 뷰의 대응되는 위치의 뎁스 블록을 종속 뷰의 현재 블록에 대한 "가상 뎁스 블록(virtual depth block)"으로 가정된다.
4) 상기 가상 뎁스 블록의 네 코너 샘플들의 최대 뎁스 값을 찾는다.
5) 상기 최대 뎁스 값이 디스패리티로 전환된다.
도 8은 가상 뎁스 블록을 찾는 예를 나타낸다.
도 8을 참조하면, 뷰 0(뷰 인덱스 0) 내의 코딩된 뎁스 맵은 Coded D0(830)으로 표기되었고, 코딩되는(to be coded) 텍스처는 T1(800)으로 표기되었다. 현재 블록(CB, 810)를 위하여, Coded D0(830) 내의 뎁스 블록(840)은 NBDV를 통하여 추정된 디스패리티 벡터를 이용하여 도출될 수 있으며, 가장 뎁스 블록(850)은 상기 뎁스 블록(840)의 대응되는 위치를 기반으로 도출될 수 있다. 가상 뎁스 블록(850)의 네개의 코너 샘플들 중 최대 뎁스 값을 가지는 샘플의 뎁스 값이 상기 보정된 디스패리티 벡터로 전환될 수 있다.
한편, 멀티 뷰 비디오 코딩에서는 레지듀얼 신호의 코딩 효율을 높이기 위해서, 뷰들 사이의 레지듀얼 상관관계(resieual correlation)을 이용하여 현재 블록에 대한 레지듀얼 예측을 수행할 수 있다. 즉, 멀티 뷰 비디오 코딩에서는 현재 블록에 대한 인트라/인터 예측, 인터 뷰 예측 외에도 레지듀얼 예측을 수행할 수 있다. 상기 레지듀얼 예측은 ARP(advanced residual prediction)으로 불릴 수도 있다.
도 9는 본 발명의 실시예에 따른 레지듀얼 예측 방법을 개략적으로 나타낸다. 상기 레지듀얼 예측 방법은 상술한 도 2의 비디오 인코딩 장치 및 도 3의 비디오 디코딩 장치에 의해 수행될 수 있다. 보다 구체적으로, 상기 레지듀얼 예측 방법은 비디오 인코딩 장치와 비디오 디코딩 장치 각각의 예측부에 의해 수행될 수 있다.
도 9를 참조하면, 현재 뷰(Vcurr) 내 현재 픽처(900)에서 현재 블록(905)의 레지듀얼을 예측하는 경우, 현재 블록(905)의 레지듀얼 예측을 위해 사용되는 참조 블록(참조 샘플)들이 유도되고, 유도된 참조 블록들의 레지듀얼을 기반으로 현재 블록(905)에 대한 레지듀얼 예측 샘플들이 생성될 수 있다.
여기서, (1) 현재 블록(905)이 시간적 참조 픽처(temporal reference pictrue)로 부터 예측되는 인터 예측인지, (2)현재 블록(905)이 인터 뷰 참조 픽처(inter-view reference picture)로부터 예측되는 인터 뷰 예측인지에 따라 레지듀얼 예측을 위한 참조 블록들이 달라질 수 있다.
먼저, 현재 블록(905)이 인터 예측된 경우 레지듀얼 예측 방법에 대해 설명한다.
현재 블록(905)이 인터 예측된 경우, 예측부는 먼저 현재 블록(905)에 대응되는 참조 뷰(Vref) 내 대응 블록(915)을 유도한다.
대응 블록(915)은 현재 블록(905)과 동일 AU 내 픽처들 중에서 현재 블록(905)의 참조 뷰에 속하는 픽처(910)로부터 유도될 수 있다. 대응 블록(915)의 위치는 참조 뷰에 속하는 픽처(910) 내에서 디스패리티 벡터(920)를 이용하여 특정될 수 있다.
이 때, 대응 블록(915)는 현재 블록(905)의 레지듀얼 예측을 위한 제1 참조 블록(레지듀얼 예측 블록, rpBlock, 혹은 rpSamples)으로 사용될 수 있다.
다음으로, 예측부는 참조 뷰 내 대응 블록(915)의 참조 픽처(920 혹은 930)를 유도하고, 유도된 대응 블록(915)의 참조 픽처(920 혹은 930)로부터 참조 블록(925 혹은 935)를 유도한다.
이 때, 참조 블록(925 혹은 935)은 현재 블록(905)의 레지듀얼 예측을 위한 제2 참조 블록(레지듀얼 예측 참조 블록, rpRefBlock 혹은 rpRefSamples)으로 사용될 수 있다.
대응 블록(915)의 참조 픽처(920 혹은 930)는 현재 뷰 내 현재 블록(905)의 참조 픽처(940 혹은 950)와 동일한 POC 값을 가지는 픽처가 선택된 수도 있고, 또는 현재 블록(905)의 레지듀얼 예측을 위해 사용되는 참조 픽처 리스트 내 참조 픽처일 수도 있다.
대응 블록(915)의 참조 블록(925 혹은 935)는 대응 블록(915)의 참조 픽처(920 혹은 930)에서 현재 블록(905)의 움직임 정보, 예컨대 현재 블록(905)의 움직임 벡터(960 혹은 965)를 이용하여 움직임 보상을 수행함으로써 특정될 수 있다.
여기서, 현재 블록(905)의 참조 픽처(940)은 인터 예측 시 순방향(forward-directional, L0)으로 참조될 수 있는 픽처이며, 예컨대 참조 픽처 리스트 L0 내에서 참조 픽처 인덱스 Ref0에 의해 특정되는 픽처일 수 있다.
현재 블록(905)의 참조 픽처(950)는 인터 예측 시 역방향(backward-directinoal)으로 참조될 수 있는 픽처이며, 예컨대 참조 픽처 리스트 L1 내에서 참조 픽처 인덱스 Ref1에 의해 특정되는 픽처일 수 있다.
예측부는 상기와 같이 레지듀얼 예측을 위해 유도된 제1 참조 블록(reBlock)과 제2 참조 블록(rpRefBlock) 간의 차이를 현재 블록(905)의 레지듀얼 예측 샘플 값으로 사용할 수 있다. 예컨대, 대응 블록(915)의 샘플 값에서 참조 블록(925 혹은 935)의 샘플 값을 뺀 차이값을 현재 블록(905)의 레지듀얼 예측 샘플 값으로 유도할 수 있다.
레지듀얼 예측이 적용되는 경우, 현재 블록(905)의 예측 샘플 값은 현재 블록(905)의 레지듀얼 예측 샘플 값을 기반으로 수정(modify)될 수 있다. 이 때, 현재 블록(905)의 레지듀얼 예측 샘플 값에 가중치(weighting factor)를 적용할 수도 있다. 상기 가중치는 인코더에서 디코더로 전송될 수 있으며, 예를 들어 상기 가중치는 iv_res_pred_weight_idx로 불릴 수 있다.
가중치는 예를 들어 0, 0.5 또는 1 중의 한 값일 수 있다. 가중치 0은 레지듀얼 예측이 적용되지 않는다는 것을 지시하는 것일 수 있다. 어떤 가중치를 적용할 것인지를 지시하는 인덱스 정보가 부호화에서는 복호화기로 블록 단위로 전송될 수 있다.
다음으로, 현재 블록(905)이 인터 뷰 예측된 경우 레지듀얼 예측 방법에 대해 설명한다.
현재 블록(905)이 인터 뷰 예측된 경우, 예측부는 현재 뷰 내 참조 픽처(940 혹은 950)을 유도하고, 참조 픽처(940 혹은 950) 내 참조 블록(945 혹은 955)를 유도한다. 일 예로, 예측부는 유도된 시간적 움직임 벡터(temproal motion vector) 및 참조 픽처 인덱스를 기반으로 참조 픽처(940 혹은 950) 내 참조 블록(945 혹은 955)를 유도할 수 있다.
이 때, 참조 블록(945 혹은 955)는 현재 블록(905)의 레지듀얼 예측을 위한 제1 참조 블록(레지듀얼 예측 블록, rpBlock, 혹은 rpSamples)으로 사용될 수 있다.
다음으로 예측부는 현재 블록(905)과 대응되는 참조 뷰 내 대응 블록(915)를 유도한다.
상술한 바와 같이, 대응 블록(915)은 현재 블록(905)과 동일 AU 내 픽처들 중에서 현재 블록(905)의 참조 뷰에 속하는 픽처(910)로부터 유도될 수 있다. 이 때, 대응 블록(915)의 위치는 참조 뷰의 픽처(910) 내에서 현재 블록(905)의 디스패리티 벡터(920)을 이용하여 특정될 수 있다.
다음으로, 예측부는 대응 블록(915)의 참조 픽처(920 혹은 930)를 유도하고, 유도된 대응 블록(915)의 참조 픽처(920 혹은 930)으로부터 참조 블록(925 혹은 935)를 유도할 수 있다.
이 때, 참조 블록(925 혹은 935)는 현재 블록(950)의 레지듀얼 예측을 위한 제2 참조 블록(레지듀얼 예측 참조 블록, rpRefBlock 혹은 rpRefSamples)으로 사용될 수 있다.
대응 블록(915)의 참조 픽처(920 혹은 930)은 현재 뷰 내 현재 블록(905)의 참조 픽처(940 혹은 950)과 동일한 POC 값을 가지는 픽처가 선택될 수도 있고, 또는 현재 블록(905)의 레지듀얼 예측으리 위해 사용되는 참조 뷰에 대한 참조 픽처 리스트 내 참조 픽처일 수도 있다.
대응 블록(915)의 참조 블록(925 혹은 935)는 대응 블록(915)의 참조 픽처(920 혹은 930)에서 현재 블록(905)의 움직임 정보, 예컨대 현재 블록(905)의 시간적 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 특정될 수 있다.
다음으로 예측부는 상기와 같이 레지듀얼 예측을 위해 유도된 제1 참조 블록(rpBlcok)과 제2 참조 블록(rpRefBlock) 간의 차이를 현재 블록(915)의 레지듀얼 예측 샘플 값으로 사용할 수 있다. 예컨대, 현재 뷰 내 참조 블록(945 혹은 955)의 샘플 값에서 참조 뷰 내 참조 블록(925 혹은 935)의 샘플 값을 뺀 값을 현재 블록(905)의 레지듀얼 예측 값으로 유도할 수 있다.
레지듀얼 예측이 적용되는 경우, 현재 블록(905)의 예측 샘플 값은 현재 블록(905)의 레지듀얼 예측 샘플 값을 기반으로 수정될 수 있다. 이 때, 상술한 바와 같이 현재 블록(905)의 레지듀얼 예측 샘플 값에 가중치를 적용할 수도 있다.
상술한 바와 같이, 가중치는 예를 들어 0, 0.5 또는 1 중의 한 값일 수 있다. 가중치 0은 레지듀얼 예측이 적용되지 않는다는 것을 지시할 수 있다. 어떤 가중치를 적용할 것인지를 지시하는 인덱스 정보가 블록 단위로 전송될 수 있다.
본 발명에 따르면, 상술한 IvMC, VSP, ARP 등의 다양한 코딩 툴을 기반으로 NBDV 및 DONBDV를 이용하여 인코딩/디코딩을 수행할 수 있다. 이 때, 현재 블록에 대하여 디스패리티 벡터가 있는지 체크를 함으로써, 이러한 툴들의 적용 가능 여부를 판별할 수 있다. 이 경우, 각 CU에 대한 디스패리티 벡터, 타겟(참조) 뷰, 그리고 가용성(availability)가 함께 이용될 수 있다. 상기 가용성은 디스패리티 가용성이라 불릴 수 있으며, 다음과 같이 세 가지 경우로 나누어질 수 있다.
- DISP_AVAILABLE: 주변 블록으로부터 NBDV를 얻은 경우
- DISP_DEFAULT: NBDV는 없지만 디폴트 뷰가 지정되어 있고 영 벡터(디폴트 벡터)를 디스패리티 벡터로 사용하는 경우
- DISP_NONE: 디스패리티 벡터를 사용할 수 없는 경우
이 경우, 일 예로, 상술한 ARP는 CU의 이용가능성 파라미터가 DISP_AVAILABLE인 경우에만 수행될 수 있다. 즉, ARP는 주변 블록으로부터 NBDV를 얻은 경우에 한하여 수행될 수 있다.
그러나, 코딩 툴에서는 현재 도출된 디스패리티 벡터가 NBDV인지 디폴트 뷰 상의 영 벡터인지 여부의 구분은 불필요 할 수 있으며, 일 예로 대응하는 뎁스 블록을 기반으로 디스패리티 벡터 후보에 대하여 수행되는 뎁스 정제(depth refinement)를 수행하는 경우에도, NBDV인지 디폴트 뷰 상의 디폴트 벡터인지 여부에 관계없이 디스패리티 벡터를 정제하여 코딩이 수행되고 있다. 하지만 주변 블록으로부터 도출된 NBDV가 존재할 경우에 한하여 상기 ARP가 수행되는 경우, 만약 주변 블록으로부터 찾은 NBDV가 영 벡터인 경우에는 ARP를 수행하지만, 디폴트 디스패리티 벡터인 경우에는 ARP를 수행하지 않게 된다. 이러한 불일치를 방지하고, 디폴트 디스패리티 벡터가 사용되는 경우에도 ARP를 수행할 수 있도록 함으로써, 현재 블록에 대한 예측 및 코딩 효율을 향상시킬 수 있다.
따라서, 본 발명에 따르면 상술한 DISP_DEFAULT를 DISP_AVAILABLE로 간주한다. 이 경우 디스패리티 가용성을 지시하는 정보(플래그)가 기존 3가지가 아닌 2가지 경우만을 지시하면 된다. 예를 들어, 본 발명에 따르면, 디스패리티 가용성을 지시하는 플래그가 DispAvailFlag라고 가정할 경우, 디폴트 뷰가 설정되는 경우, DispAvailFlag가 1로 설정될 수 있다. 또한 예를 들어, 본 발명에 따르면 NBDV가 가용한 경우 dvAvailFlag가 1로 설정될 수 있으며, 상기 dvAvailFlag가 0인 경우에 현재 블록에 대한 참조 뷰 인덱스가 디폴트 뷰 인덱스로 설정되고, 디스패리티 벡터가 영 벡터 (0, 0)으로 설정될 수 있다.
구체적으로 예를 들어, 레지듀얼 예측을 위한 참조 픽처의 가용성을 나타내는 RpRefPicAvailFlag가 존재하는 경우에 상기 ARP가 수행될 수 있으며, 상기 RpRefPicAvailflag는 상술한 DispAvailFlag가 1인 경우에 1 값을 가질 수 있다. RpRefPicAvailflag가 1인 경우에 상기 레지듀얼 예측을 위한 가중치인 iv_res_pred_weight_idx가 시그널링될 수 있으며, 현재 블록에 대한 상기 iv_res_pred_weight_idx가 0이 아닌 경우에 ARP가 적용될 수 있다.
즉, 본 발명에 따르면 현재 블록에 대하여 주변 블록으로부터 도출된 NBDV가 존재하지 않는 경우에도, 디폴트 뷰가 설정되어 있고, 상기 디폴트 뷰 및 디폴트 벡터(제로 벡터)를 기반으로 상기 현재 블록의 디스패리티 벡터가 도출되면, 현재 블록에 대하여 ARP를 수행할 수 있다.
도 10은 본 발명의 실시예에 따른 레지듀얼 예측을 이용한 인코딩 방법을 개략적으로 나타낸 순서도이다.
도 10을 참조하면, 인코딩 장치는 현재 뷰의 현재 블록에 대한 디스패리티 벡터를 도출한다(S1000). 인코딩 장치는 상술한 NBDV 도출 방법을 기반으로 디스패리티 벡터를 도출할 수 있다. 이 경우 인코딩 장치는 상술한 DoNBDV 방법을 기반으로 상기 디스패리티 벡터를 보정할 수 있다. 또는 인코딩 장치는 NBDV가 이용 가능하지 않고, 디폴트 뷰가 설정되어 있는 경우에, 상기 디폴트 뷰 상의 영 벡터를 상기 현재 블록에 대한 디스패리티 벡터로 도출할 수 있다.
인코딩 장치는 상기 현재 블록의 레지듀얼 예측 샘플을 생성한다(S1010). 상기 레지듀얼 예측 샘플 생성은 CU 단위로 수행될 수 있다. 이 경우 상기 현재 블록은 CU 블록 또는 CB(coding block)이 될 수 있다. 한편, CU는 하나 또는 복수의 PU들로 파티셔닝될 수 있으며, 따라서 현재 블록은 PU를 포함할 수도 있다.
본 발명에 따르면 현재 블록에 대한 상기 디스패리티 벡터가 NBDV를 기반으로 도출된 경우 뿐 아니라 디폴트 뷰 상의 영 벡터를 기반으로 도출된 경우에도 상기 레지듀얼 예측 샘플을 생성할 수 있다. 즉, 본 발명에 따르면 현재 블록에 대한 디스패리티 벡터가 주변 블록으로부터 도출되지 않고, 참조 뷰로 디폴트 뷰 그리고 디스패리티 벡터로 영 벡터를 사용하는 경우에도 레지듀얼 예측 동작을 수행할 수 있다. 인코딩 장치는 상기 레지듀얼 예측 동작을 기반으로 상기 현재 블록의 레지듀얼 예측 샘플을 생성할 수 있다.
인코딩 장치는 비디오 디코딩을 위한 비디오 정보를 인코딩할 수 있다(S1020). 인코딩 장치는 비디오 정보를 엔트로피 인코딩하여 비트스트림으로 출력할 수 있다. 출력된 비트스트림은 네트워크를 통해 전송되거나 저장매체에 저장될 수 있다. 비디오 정보는 레지듀얼 예측을 수행하기 위한 정보(예를 들어 레지듀얼 예측을 위한 가중치 인덱스)를 포함할 수 있다. 상기 비디오 정보는 현재 블록에 대한 레지듀얼 정보 뿐 아니라, 현재 블록을 복원하기 위한 신택스 엘리먼트의 값들을 포함할 수 있다.
도 11은 본 발명의 실시예에 따른 레지듀얼 예측을 이용한 디코딩 방법을 개략적으로 나타낸 순서도이다.
디코딩 장치는 비트스트림에 포함된 비디오 정보를 디코딩할 수 있다(S1100). 디코딩 장치는 상기 비트스트림을 엔트로피 디코딩하고 상기 비디오 비디오 정보를 획득할 수 있다. 상기 비디오 정보는 현재 블록에 대한 레지듀얼 정보 뿐 아니라, 현재 블록을 복원하기 위한 신택스 엘리먼트의 값들을 포함할 수 있다.
예를 들어, 디코딩 장치는 현재 블록에 적용되는 예측 모드에 관한 정보를 디코딩할 수 있고, 레지듀얼 예측을 위한 가중치 인덱스를 디코딩할 수 있다.
디코딩 장치는 현재 뷰의 현재 블록에 대한 디스패리티 벡터를 도출한다(S1110). 디코딩 장치는 상술한 NBDV 도출 방법을 기반으로 디스패리티 벡터를 도출할 수 있다. 이 경우 디코딩 장치는 상술한 DoNBDV 방법을 기반으로 상기 디스패리티 벡터를 보정할 수 있다. 또는 디코딩 장치는 NBDV가 이용 가능하지 않고, 디폴트 뷰가 설정되어 있는 경우에, 상기 디폴트 뷰 상의 영 벡터를 상기 현재 블록에 대한 디스패리티 벡터로 도출할 수 있다.
디코딩 장치는 상기 현재 블록의 레지듀얼 예측 샘플을 생성한다(S1120). 상기 레지듀얼 예측 샘플 생성은 CU 단위로 수행될 수 있다. 이 경우 상기 현재 블록은 CU 블록 또는 CB(coding block)이 될 수 있다. 한편, CU는 하나 또는 복수의 PU들로 파티셔닝될 수 있으며, 따라서 현재 블록은 PU를 포함할 수도 있다.
본 발명에 따르면 현재 블록에 대한 상기 디스패리티 벡터가 NBDV를 기반으로 도출된 경우 뿐 아니라 디폴트 뷰 상의 영 벡터를 기반으로 도출된 경우에도 상기 레지듀얼 예측 샘플을 생성할 수 있다. 즉, 본 발명에 따르면 현재 블록에 대한 디스패리티 벡터가 주변 블록으로부터 도출되지 않고, 참조 뷰로 디폴트 뷰 그리고 디스패리티 벡터로 영 벡터를 사용하는 경우에도 레지듀얼 예측 동작을 수행할 수 있다. 인코딩 장치는 상기 레지듀얼 예측 동작을 기반으로 상기 현재 블록의 레지듀얼 예측 샘플을 생성할 수 있다.
디코딩 장치는 현재 블록에 대하여 기 생성된 예측 샘플 및 상기 레지듀얼 예측 샘플을 기반으로 현재 블록에 대한 수정된 예측 샘플을 생성할 수 있고, 상기 수정된 예측 샘플 및 레지듀얼 샘플을 기반으로 복원 블록(및 복원 픽처)를 생성할 수 있다. 예를 들어 이 경우, 상기 예측 샘플은 PU 또는 PB(prediction block) 단위로 도출될 수 있고, 상기 레지듀얼 예측 샘플은 CU 또는 CB 단위로 도출될 수 있다. CU 단위로 생성된 레지듀얼 예측 샘플은 PU 단위로 파티셔닝될 수 있으며, 이를 통하여 PU 단위에서 상기 예측 샘플 및 상기 레지듀얼 예측 샘플을 기반으로 수정된 예측 샘플을 생성할 수 있다. 디코딩 장치는 상기 수정된 예측 샘플에 레지듀얼 샘플을 더하여 본원 블록을 생성할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 할 것이다.
본 발명에서 실시예들이 소프트웨어로 구현될 때, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리에 저장되고, 프로세서에 의해 실행될 수 있다. 메모리는 프로세서 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다.

Claims (8)

  1. 레지듀얼 예측 방법으로,
    현재 블록에 대한 디스패리티 벡터를 도출하는 단계;
    상기 디스패리티 벡터를 기반으로 현재 블록에 대한 레지듀얼 예측을 수행하고, 레지듀얼 예측 샘플을 생성하는 단계를 포함하되,
    상기 디스패리티 벡터는 현재 블록의 주변 블록을 기반으로 도출되지 않고, 기 설정된 디폴트 벡터로부터 도출된 것을 특징으로 하는, 레지듀얼 예측 방법.
  2. 제 1항에 있어서,
    상기 디폴트 벡터는 영 벡터임을 특징으로 하는, 레지듀얼 예측 방법.
  3. 제 2항에 있어서,
    상기 현재 블록에 대한 상기 디스패리티 벡터의 가용성을 나타내는 플래그 정보는 가용 및 불가용의 두 가지 상태정보를 나타내며, 상기 디스패리티 정보가 상기 기 설정된 디폴트 벡터로부터 도출된 경우에 상기 플래그 정보는 1 값을 나타냄을 특징으로 하는, 레지듀얼 예측 방법.
  4. 제 2항에 있어서,
    상기 레지듀얼 예측 샘플 생성이 수행되는 상기 현재 블록은 CU(coding unit) 블록임을 특징으로 하는, 레지듀얼 예측 방법.
  5. 제 4항에 있어서,
    현재 블록에 대한 인터 예측 또는 인터 뷰 예측을 수행하여 예측 샘플을 생성하는 단계;
    상기 예측 샘플 및 상기 레지듀얼 예측 샘플을 기반으로 수정된 예측 샘플을 생성하는 단계를 포함함을 특징으로 하는, 레지듀얼 예측 방법.
  6. 제 5항에 있어서,
    상기 레지듀얼 예측 샘플 생성은 상기 CU 블록에 대하여 수행되고,
    상기 CU 블록은 하나 또는 복수의 PU(prediction unit) 블록들로 파티셔닝되고, 상기 예측 샘플 생성 및 상기 수정된 예측 샘플 생성은 상기 하나 또는 복수의 PU 블록들에 대하여 수행되는 것을 특징으로 하는, 레지듀얼 예측 방법.
  7. 제 2항에 있어서,
    비트스트림을 통하여 레지듀얼 예측에 관한 정보를 수신하는 단계를 포함하되,
    상기 레지듀얼 예측에 관한 정보는 레지듀얼 예측을 위한 가중치 정보를 포함하고,
    상기 가중치 정보는 상기 디스패리티 벡터가 현재 블록의 주변 블록을 기반으로 도출되거나 상기 디폴트 벡터로부터 도출된 경우에 상기 레지듀얼 예측에 관한 정보에 포함되어 수신되고,
    상기 가중치 정보가 0을 나타내지 않는 경우, 상기 현재 블록에 대한 레지듀얼 예측을 수행함을 특징으로 하는, 레지듀얼 예측 방법.
  8. 레지듀얼 예측 장치로서,
    현재 블록에 대한 디스패리티 벡터를 도출하고, 상기 디스패리티 벡터를 기반으로 현재 블록에 대한 레지듀얼 예측을 수행하여 레지듀얼 예측 샘플을 생성하는 예측부를 포함하고,
    상기 예측부는 상기 디스패리티 벡터를 현재 블록의 주변 블록을 기반으로 도출하지 않고, 기 설정된 디폴트 벡터로부터 도출하는 것을 특징으로 하는, 레지듀얼 예측 장치.
PCT/KR2015/009422 2014-10-08 2015-09-07 3d 비디오 부호화/복호화 방법 및 장치 WO2016056754A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/510,500 US10587894B2 (en) 2014-10-08 2015-09-07 Method and device for encoding/decoding 3D video
KR1020177006804A KR20170065502A (ko) 2014-10-08 2015-09-07 3d 비디오 부호화/복호화 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462061178P 2014-10-08 2014-10-08
US62/061,178 2014-10-08

Publications (1)

Publication Number Publication Date
WO2016056754A1 true WO2016056754A1 (ko) 2016-04-14

Family

ID=55653326

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/009422 WO2016056754A1 (ko) 2014-10-08 2015-09-07 3d 비디오 부호화/복호화 방법 및 장치

Country Status (3)

Country Link
US (1) US10587894B2 (ko)
KR (1) KR20170065502A (ko)
WO (1) WO2016056754A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113873239A (zh) * 2016-06-24 2021-12-31 株式会社Kt 用于处理视频信号的方法和设备

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6506036B2 (ja) * 2015-02-02 2019-04-24 オリンパス株式会社 撮像機器
KR102459853B1 (ko) * 2017-11-23 2022-10-27 삼성전자주식회사 디스패리티 추정 장치 및 방법
KR102030384B1 (ko) * 2018-06-19 2019-11-08 광운대학교 산학협력단 잔차 계수 부호화/복호화 방법 및 장치
CN112262576A (zh) 2018-06-11 2021-01-22 光云大学校产学协力团 残差系数编码/解码方法和装置
US20210092390A1 (en) * 2019-09-23 2021-03-25 Alibaba Group Holding Limited Methods and apparatuses for prediction refinement with optical flow in reference picture resampling
US11956441B2 (en) * 2021-12-23 2024-04-09 Ati Technologies Ulc Identifying long term reference frame using scene detection and perceptual hashing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000125305A (ja) * 1998-10-20 2000-04-28 Nippon Hoso Kyokai <Nhk> 動きベクトルの評価方法および装置
KR20080007069A (ko) * 2006-07-14 2008-01-17 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
KR20140049498A (ko) * 2011-02-10 2014-04-25 파나소닉 주식회사 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호 방법, 동화상 복호 장치, 및 동화상 부호화 복호 장치
WO2014075625A1 (en) * 2012-11-16 2014-05-22 Mediatek Inc. Method and apparatus of constrained disparity vector derivation in 3d video coding
US20140176674A1 (en) * 2012-12-21 2014-06-26 Qualcomm Incorporated Disparity vector derivation in three-dimensional video coding

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9503720B2 (en) * 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
US20130258052A1 (en) * 2012-03-28 2013-10-03 Qualcomm Incorporated Inter-view residual prediction in 3d video coding
US9503702B2 (en) * 2012-04-13 2016-11-22 Qualcomm Incorporated View synthesis mode for three-dimensional video coding
US9325990B2 (en) * 2012-07-09 2016-04-26 Qualcomm Incorporated Temporal motion vector prediction in video coding extensions
US9615090B2 (en) * 2012-12-28 2017-04-04 Qualcomm Incorporated Parsing syntax elements in three-dimensional video coding
US9967586B2 (en) * 2013-01-07 2018-05-08 Mediatek Inc. Method and apparatus of spatial motion vector prediction derivation for direct and skip modes in three-dimensional video coding
US9596448B2 (en) * 2013-03-18 2017-03-14 Qualcomm Incorporated Simplifications on disparity vector derivation and motion vector prediction in 3D video coding
US9609347B2 (en) * 2013-04-04 2017-03-28 Qualcomm Incorporated Advanced merge mode for three-dimensional (3D) video coding
US9930363B2 (en) * 2013-04-12 2018-03-27 Nokia Technologies Oy Harmonized inter-view and view synthesis prediction for 3D video coding
US9948915B2 (en) * 2013-07-24 2018-04-17 Qualcomm Incorporated Sub-PU motion prediction for texture and depth coding
WO2015021914A1 (en) * 2013-08-13 2015-02-19 Mediatek Inc. Method of deriving default disparity vector in 3d and multiview video coding
US9948950B2 (en) * 2014-01-03 2018-04-17 Qualcomm Incorporated Disparity vector and/or advanced residual prediction for video coding
US9967592B2 (en) * 2014-01-11 2018-05-08 Qualcomm Incorporated Block-based advanced residual prediction for 3D video coding
US10158884B2 (en) * 2014-03-19 2018-12-18 Qualcomm Incorporated Simplified merge list construction process for 3D-HEVC
CN108632629B9 (zh) * 2014-03-19 2021-06-15 株式会社Kt 针对多视图视频信号生成合并候选列表的方法及解码装置
CN107005705B (zh) * 2014-10-07 2021-03-09 三星电子株式会社 使用层间预测对多层图像进行编码或解码的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000125305A (ja) * 1998-10-20 2000-04-28 Nippon Hoso Kyokai <Nhk> 動きベクトルの評価方法および装置
KR20080007069A (ko) * 2006-07-14 2008-01-17 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
KR20140049498A (ko) * 2011-02-10 2014-04-25 파나소닉 주식회사 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호 방법, 동화상 복호 장치, 및 동화상 부호화 복호 장치
WO2014075625A1 (en) * 2012-11-16 2014-05-22 Mediatek Inc. Method and apparatus of constrained disparity vector derivation in 3d video coding
US20140176674A1 (en) * 2012-12-21 2014-06-26 Qualcomm Incorporated Disparity vector derivation in three-dimensional video coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113873239A (zh) * 2016-06-24 2021-12-31 株式会社Kt 用于处理视频信号的方法和设备

Also Published As

Publication number Publication date
US20170289573A1 (en) 2017-10-05
US10587894B2 (en) 2020-03-10
KR20170065502A (ko) 2017-06-13

Similar Documents

Publication Publication Date Title
WO2016056754A1 (ko) 3d 비디오 부호화/복호화 방법 및 장치
WO2012081879A1 (ko) 인터 예측 부호화된 동영상 복호화 방법
WO2018070632A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2016200043A1 (ko) 비디오 코딩 시스템에서 가상 참조 픽처 기반 인터 예측 방법 및 장치
WO2017188565A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2016056821A1 (ko) 3d 비디오 코딩을 위한 움직임 정보 압축 방법 및 장치
WO2018021585A1 (ko) 영상 코딩 시스템에서 인트라 예측 방법 및 장치
WO2017048008A1 (ko) 영상 코딩 시스템에서 인터 예측 방법 및 장치
WO2016056782A1 (ko) 비디오 코딩에서 뎁스 픽처 코딩 방법 및 장치
WO2018174357A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2015057033A1 (ko) 3d 비디오 부호화/복호화 방법 및 장치
WO2018128222A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2016056779A1 (ko) 3d 비디오 코딩에서 카메라 파라미터 처리 방법 및 장치
WO2020005002A1 (ko) 영상 코딩 시스템에서 인터 예측에 따른 템플릿 영역 도출 방법 및 장치
WO2020141932A1 (ko) Cpr 기반 mmvd를 이용하는 인터 예측 방법 및 장치
WO2020141831A2 (ko) 인트라 블록 카피 예측을 이용한 영상 코딩 방법 및 장치
WO2015057032A1 (ko) 멀티 뷰를 포함하는 비디오 부호화/복호화 방법 및 장치
WO2020145656A1 (ko) Tmvp 후보의 가용 여부를 시그널링하는 방법 및 장치
WO2018074813A1 (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
WO2020141884A1 (ko) Cpr 기반 mmvd를 사용하는 영상 코딩 방법 및 장치
WO2020004879A1 (ko) 영상 코딩 시스템에서 복수의 주변 블록들을 사용하는 인터 예측에 따른 영상 디코딩 방법 및 장치
WO2019225932A1 (ko) 영상 코딩 시스템에서 dmvr을 사용하는 영상 디코딩 방법 및 그 장치
WO2014098380A1 (ko) 계층적 비디오 코딩에서 색차 블록의 화면 내 예측 모드를 복호화하는 방법 및 이러한 방법을 사용하는 장치
WO2021107622A1 (ko) 영상/비디오 코딩 방법 및 장치
WO2018128228A1 (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: 15848595

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20177006804

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15510500

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

Country of ref document: EP

Kind code of ref document: A1