WO2013055148A2 - 영상 인코딩 방법 및 디코딩 방법 - Google Patents

영상 인코딩 방법 및 디코딩 방법 Download PDF

Info

Publication number
WO2013055148A2
WO2013055148A2 PCT/KR2012/008311 KR2012008311W WO2013055148A2 WO 2013055148 A2 WO2013055148 A2 WO 2013055148A2 KR 2012008311 W KR2012008311 W KR 2012008311W WO 2013055148 A2 WO2013055148 A2 WO 2013055148A2
Authority
WO
WIPO (PCT)
Prior art keywords
block
information
motion information
current
view
Prior art date
Application number
PCT/KR2012/008311
Other languages
English (en)
French (fr)
Other versions
WO2013055148A3 (ko
Inventor
성재원
예세훈
손은용
정지욱
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to US14/351,307 priority Critical patent/US9712819B2/en
Publication of WO2013055148A2 publication Critical patent/WO2013055148A2/ko
Publication of WO2013055148A3 publication Critical patent/WO2013055148A3/ko
Priority to US15/652,078 priority patent/US10659758B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • 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/527Global motion vector estimation
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0085Motion estimation from stereoscopic image signals

Definitions

  • the present invention relates to an image information processing technique, and more particularly, to a 3D image encoding and decoding method and an apparatus using the same.
  • a high-efficiency image compression technique can be used to efficiently transmit, store and reproduce information of high-resolution and high-quality images.
  • 3D video has received attention as one of the next generation broadcasting services as it can process high resolution / large capacity video.
  • 3D video can provide a sense of presence and immersion using a plurality of view channels.
  • 3D video can be used in various areas such as free viewpoint video (FVV), free viewpoint TV (FTV), 3DTV, surveillance and home entertainment.
  • FVV free viewpoint video
  • FTV free viewpoint TV
  • 3DTV surveillance and home entertainment.
  • 3D video using multi-view has a high correlation between views of the same POC (picture order count). Since multi-view images capture the same scene simultaneously using several cameras, that is, different viewpoints, the multi-view images have almost the same information except for a time difference and a slight illumination difference.
  • POC picture order count
  • the decoding target block of the current view can be predicted or decoded by referring to the block of another view.
  • the relationship between different views can be calculated and used for prediction.
  • motion information e.g., motion vectors
  • An object of the present invention is to provide a method and apparatus for determining or deriving motion information of a current view image by reusing motion information of another view image in encoding and decoding 3D images.
  • An object of the present invention is to provide a method and apparatus for determining or deriving motion information of a depth image by reusing motion information of a texture image in 3D image encoding and decoding.
  • An object of the present invention is to provide a method and apparatus for encoding / decoding a depth image based on motion information obtained by reusing motion information of a texture image.
  • One embodiment of the present invention is a video encoding method, comprising: determining motion information of a current block; and transmitting information for deriving the motion information, wherein the motion information of the current block is determined
  • the motion information of the current block can be determined by recycling the motion information of the reference block.
  • the current block may be a block of a texture picture
  • the reference block may be a block in a reference view.
  • the information for deriving the motion information may include information indicating that the motion information of the reference block should be reused, information indicating the direction of the reference view, GDV Galobal Disparity Vector). ≪ / RTI >
  • the GDV for the reference block may be determined for each region in a picture to which the current block belongs, and the region for which the GDV is determined may have a quadtree structure.
  • the information for deriving the motion information may include information indicating whether to divide the quadtree structure, and when the GDV determining region is not divided, the GDV And may include information specifying a value.
  • the current block may be a block of a depth picture
  • the reference block may be a block within a texture picture of the same view.
  • motion information of the current block may be determined based on motion information of the reference block and motion information of neighboring blocks of the reference block .
  • the motion information of the current block may be determined based on motion information of the sub-blocks of the reference block.
  • the information for deriving the motion information may include offset information for compensating the depth value of the current block based on the motion information of the reference block.
  • an image decoding method comprising: receiving information for deriving motion information of a current block; and deriving motion information of the current block based on information for deriving the motion information
  • the motion information of the current block may be determined by reusing the motion information of the reference block.
  • the current block is a block of a texture picture
  • the motion information of the current block is derived by reusing motion information of another block in the view information for deriving the motion information Information
  • the block in the reference view can be set as the reference block.
  • the information for deriving the motion information may include information indicating a direction of the reference view and / or information indicating a Global Disparity Vector (GDV) for the reference block have.
  • GDV Global Disparity Vector
  • the information for deriving the motion information may include a GDV for the reference block, and the value of the GDV may be set for each region in a picture to which the current block belongs.
  • the region in which the GDV value is specified may have a quadtree structure, and the information for deriving the motion information includes information indicating a maximum depth of the quadtree structure;
  • the area in which the GDV value is specified may have a quad tree structure, and the information for deriving the motion information may include information indicating whether the GDV setting area is divided, May include information indicating the GDV value in case the GDV setting area to which it belongs is not divided.
  • the current block is a block of a depth picture
  • the information for deriving the motion information instructs to derive the motion information of the current block by reusing motion information of the block in the texture picture Information
  • a block in the texture picture in the same view as the depth picture can be set as the reference block.
  • motion information of the current block may be derived based on motion information of the reference block and motion information of neighboring blocks of the reference block have.
  • motion information of the current block may be derived based on motion information of the sub-blocks of the reference block.
  • the information for deriving the motion information may include offset information for compensating the depth value of the current block based on the motion information of the reference block.
  • the present invention in the 3D image encoding and decoding, by reusing motion information (e.g., a motion vector), it is possible to reduce the amount of information transferred and reduce the complexity of information processing.
  • motion information e.g., a motion vector
  • motion information of a current view image can be determined or derived by reusing motion information of another view image.
  • the motion information of the texture image can be reused to determine or derive the motion information of the depth image.
  • the present invention can improve the coding efficiency and reduce the overhead by recycling the motion vector of another view image to the current view image or recycling the motion vector of the texture image to the depth image.
  • FIG. 1 is a view for schematically explaining an example of image information for processing a three-dimensional image.
  • FIG. 2 is a block diagram schematically illustrating an encoding apparatus according to an embodiment of the present invention.
  • FIG. 3 is a block diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 4 is a diagram schematically illustrating a method of performing inter-view prediction using a GDV in a 3D video encoding / decoding process.
  • Fig. 5 is a view for schematically explaining an example of a case of decoding multi-view video.
  • FIG. 6 is a diagram schematically illustrating an example in which a skip mode is applied, as an example of inter-view prediction.
  • FIG. 7 is a diagram schematically illustrating an example of a neighboring block usable for predicting a current block in inter prediction using a merge mode.
  • FIG. 8 is a diagram schematically illustrating another example of a neighboring block usable for predicting a current block in inter prediction.
  • FIG. 9 is a diagram schematically illustrating an example of a motion vector predictor that can be used in inter-view prediction.
  • FIG. 10 is a diagram schematically illustrating another example of a motion vector predictor that can be used in inter-view prediction.
  • FIG. 11 is a view schematically illustrating the direction of a reference view.
  • FIG. 12 is a view for schematically explaining an example of a method of defining a GDV for each area of a current picture and applying it to inter-view prediction.
  • FIG. 13 is a view for schematically explaining an example in which the same scene is represented by a texture image and a depth image.
  • FIG. 14 is a diagram schematically illustrating a method of predicting a depth image of a current view using motion information of a texture image.
  • FIG. 15 is a view for schematically explaining a method of deriving a motion vector of a current depth block from a motion vector of a corresponding texture block.
  • 16 is a flowchart schematically illustrating a method of encoding a 3D image by reusing motion information according to the present invention.
  • 17 is a flowchart schematically illustrating an example of a method of determining motion information of a texture image and performing prediction using the texture information in the encoding apparatus according to the present invention.
  • FIG. 18 is a flowchart schematically illustrating an example of a method of performing a depth image prediction using motion information of a texture image according to the present invention.
  • 19 is a flowchart schematically illustrating a method of decoding a 3D image by reusing motion information according to the present invention.
  • 20 is a view schematically illustrating an example of a method of deriving motion information of a texture image according to the present invention.
  • 21 is a diagram schematically illustrating an example of a method of deriving motion information of a depth image by a decoding apparatus according to the present invention.
  • the image input to the encoding device may be a texture image and a depth map.
  • the depth map means an image representing the distance from the viewpoint to the surface of the object in the image.
  • the viewpoint may be, for example, a camera for photographing the corresponding image.
  • the depth map (depth image) can be generated through a camera that captures depth.
  • the texture image is an image constituting a three-dimensional image and includes information other than depth information (for example, color, contrast, and the like), and may be composed of multi-view images.
  • a depth map (depth image) and a texture image may be respectively processed in an encoding / decoding process to be described later, and a texture image may be processed for each view.
  • the texture image may be referred to for processing of the depth map
  • the depth map may be referred to for processing of the texture image.
  • it may be processed by referring to an image of another view.
  • FIG. 1 is a view for schematically explaining an example of image information for processing a three-dimensional image.
  • a texture picture VT1 of the view 1 (V1), a depth map DV1 and a texture image VT2 of the view 2 (V2) and a depth map DV2 may exist in the same POC (Picture Order Count).
  • the POC indicates the image output order, and the order in which the images having the same POC are output is the same.
  • depth map VD1 'in view 1 and other views may be generated through warping using additional information such as camera parameters and depth information.
  • the encoding apparatus 200 includes a picture dividing unit 205, a predicting unit 210, a transforming unit 215, a quantizing unit 220, a reordering unit 225, an entropy encoding unit 230, An inverse quantization unit 235, an inverse transform unit 240, a filter unit 245, and a memory 250.
  • the picture dividing unit 205 can divide the inputted picture into at least one processing unit block.
  • the block as a processing unit may be a prediction unit (PU), a transform unit (TU), a coding unit (CU) Quot;). ≪ / RTI >
  • the prediction unit 210 generates a prediction block by performing prediction on a processing unit of a picture in the picture dividing unit 205.
  • the processing unit of the picture in the prediction unit 210 may be a CU, a TU, or a PU.
  • the predicting unit 210 may determine a prediction method to be applied to the processing unit, and may determine concrete contents (for example, prediction mode, etc.) of each prediction method.
  • the prediction unit 210 may apply any of intra prediction, inter prediction, and inter-view prediction as a prediction method.
  • the prediction unit 210 may generate a prediction block by performing prediction based on information of at least one of a previous picture and / or a following picture of the current picture through inter prediction.
  • the prediction unit 210 may generate a prediction block by performing prediction based on pixel information in the current picture through intra prediction.
  • the prediction unit 210 can generate a prediction block by referring to pictures of different views through inter-view prediction.
  • a skip mode As a method of inter prediction, a skip mode, a merge mode, MVP (Motion Vector Prediction), or the like can be used.
  • a reference block having the same size as the PU can be selected for the PU by selecting a reference picture.
  • the prediction unit 210 generates a prediction block that minimizes a residual signal and a motion vector for a current block.
  • the residual can be used as a reconstruction block so that residuals can be generated, transformed, quantized, and not transmitted.
  • the prediction mode is determined in units of PU, and prediction can be performed in units of PU.
  • the prediction mode may be determined in units of PU, and intra prediction may be performed in units of TU.
  • the prediction mode may have 33 directional prediction modes and at least two non-directional modes.
  • the non-directional mode may include a DC prediction mode and a planer mode (Planar mode).
  • a prediction block may be generated after applying a filter to a reference sample. At this time, whether to apply the filter to the reference sample can be determined according to the intra prediction mode and / or the size of the current block.
  • the prediction unit 210 uses a global disparity vector (GDV) that specifies the position of a corresponding block that can be referred to in the prediction of the current block in the current view in the reference view, And generate a prediction block.
  • GDV global disparity vector
  • the predictor 210 may perform inter-view prediction on a current block by applying a skip mode, applying a skip mode, or using MVP on the basis of motion information of a corresponding block, like inter prediction .
  • the PUs can be blocks of various sizes / types.
  • the PU may be a 2N ⁇ 2N block, a 2N ⁇ N block, an N ⁇ 2N block, or an N ⁇ N block (N is an integer).
  • a PU such as an N ⁇ mN block, an mN ⁇ N block, a 2N ⁇ mN block, or an mN ⁇ 2N block (m ⁇ 1) may be further defined.
  • a residual value (a residual block or a residual signal) between the generated prediction block and the original block is input to the conversion unit 215.
  • the prediction mode information, motion vector information, and disparity vector used for prediction are encoded in the entropy encoding unit 230 together with the residual value, and then transmitted to the decoding apparatus.
  • the conversion unit 215 performs conversion on a residual block for each conversion unit and generates conversion coefficients.
  • the conversion unit 215 may perform the downsampling on the texture image and the depth map, and then perform the conversion.
  • the downsampling may be performed on the low frequency region in the texture image and the depth map, or may be performed on the region in which the detail characteristic is not important. Downsampling can reduce complexity and improve coding efficiency.
  • the conversion unit in the conversion unit 215 may be a TU and may have a quad tree structure. At this time, the size of the conversion unit can be set within a range of predetermined maximum and minimum sizes.
  • the transforming unit 215 may transform the residual block using DCT (Discrete Cosine Transform) and / or DST (Discrete Sine Transform).
  • the quantization unit 220 may quantize the residual values converted by the conversion unit 215 to generate a quantization coefficient.
  • the values calculated by the quantization unit 220 are provided to the inverse quantization unit 235 and the reorder unit 225.
  • the reordering unit 225 rearranges the quantization coefficients provided from the quantization unit 220.
  • the encoding efficiency in the entropy encoding unit 230 can be increased by rearranging the quantization coefficients.
  • the reordering unit 225 may rearrange the quantization coefficients in a two-dimensional block form into a one-dimensional vector form through a coefficient scanning method.
  • the reordering unit 225 may increase the entropy encoding efficiency in the entropy encoding unit 230 by changing the order of the coefficient scanning based on the probabilistic statistics of the coefficients transmitted from the quantization unit.
  • the entropy encoding unit 230 may perform entropy encoding on the rearranged quantization coefficients by the reordering unit 225.
  • an encoding method such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC) may be used.
  • CABAC Context-Adaptive Binary Arithmetic Coding
  • the entropy encoding unit 230 encodes quantization coefficient information, block type information, prediction mode information, division unit information, transmission unit information, motion vector information, reference picture information, and block information received from the reordering unit 225 and the prediction unit 210, Interpolation information, filtering information, and the like.
  • the entropy encoding unit 230 may multiplex the image information for the multi-view and the image information for the depth map and transmit the multiplexed image as a bit stream.
  • the inverse quantization unit 235 dequantizes the quantized values in the quantization unit 220 and the inverse transformation unit 240 inversely transforms the dequantized values in the inverse quantization unit 235.
  • the inverse transformation unit 240 may perform upsampling on the inverse transformed residual block when downsampling is performed in the transform unit 215. [ The sampling rate of the upsampling may be determined corresponding to the sampling rate of the downsampling performed in the conversion unit 215. [
  • the residual value generated by the inverse quantization unit 235 and the inverse transform unit 240 and the predicted block predicted by the predictor 210 may be combined to generate a reconstructed block.
  • the adder may be regarded as a separate unit (reconstruction block generation unit) for generating a reconstruction block.
  • the filter unit 245 may apply at least one of a deblocking filter, an Adaptive Loop Filter (ALF), and a Sample Adaptive Offset (SAO) to the reconstructed picture as necessary.
  • ALF Adaptive Loop Filter
  • SAO Sample Adaptive Offset
  • the deblocking filter can remove the distortion caused in the boundary between the blocks in the reconstructed picture.
  • the ALF Adaptive Loop Filter
  • SAO restores the offset difference from the original image in units of pixels for a residual block to which a deblocking filter is applied and is applied in the form of a band offset and an edge offset.
  • the memory 250 may store the restored block or picture calculated through the filter unit 245. [ The reconstruction block or the picture stored in the memory 250 may be provided to the prediction unit 210 which performs inter prediction.
  • the image decoding apparatus 300 includes an entropy decoding unit 310, a reordering unit 315, an inverse quantization unit 320, an inverse transformation unit 325, a prediction unit 330, a filter unit 335, And a memory 340.
  • the input bitstream may be decoded according to a procedure in which image information is processed in the image encoding apparatus.
  • VLC variable length coding
  • 'VLC' variable length coding
  • CABAC CABAC
  • the entropy decoding unit 310 may perform entropy decoding after demultiplexing the received bit stream.
  • Information for generating a predictive block from the information decoded by the entropy decoding unit 310 is supplied to the predicting unit 330.
  • the residual value for which the entropy decoding is performed in the entropy decoding unit 310 is provided to the reordering unit 315 Can be input.
  • the reordering unit 315 may rearrange the entropy-decoded bitstream in the entropy decoding unit 310 based on a method of rearranging the bitstream in the image encoding apparatus.
  • the reordering unit 315 can rearrange the coefficients represented in the one-dimensional vector form by restoring the coefficients of the two-dimensional block form again.
  • the reordering unit 315 can perform reordering by receiving information related to the coefficient scanning performed in the encoding apparatus and performing a reverse scanning based on the scanning order performed in the encoding apparatus.
  • the inverse quantization unit 320 may perform inverse quantization based on the quantization parameters provided by the encoding apparatus and the coefficient values of the re-arranged blocks.
  • the inverse transform unit 325 may perform inverse DCT and / or inverse DST on the DCT and DST performed by the transform unit of the encoding apparatus, on the quantization result performed by the image encoding apparatus.
  • the inverse transformation may be performed based on the transmission unit determined in the encoding apparatus or the division unit of the image.
  • the DCT and / or DST in the transform unit of the encoding apparatus can be selectively performed according to a plurality of information such as prediction method, size and prediction direction of the current block, and the inverse transform unit 325 of the decoding apparatus transforms It is possible to perform an inverse conversion based on the performed conversion information.
  • the inverse transformation unit 325 can perform upsampling on the inverse-transformed residual block in response to the downsampling performed in the encoding apparatus.
  • the prediction unit 330 may generate a prediction block based on the prediction block generation related information provided by the entropy decoding unit 310 and the previously decoded block and / or picture information provided in the memory 340.
  • the prediction unit 340 may perform intra prediction to generate a prediction block based on pixel information in the current picture, and generate a prediction block.
  • the prediction unit 340 predicts the inter prediction of the current block based on information included in at least one of the previous picture of the current picture or the following picture And generate a prediction block.
  • motion information necessary for inter prediction of a current block provided in the encoding apparatus for example, information on a motion vector, a reference picture index, and the like can be derived in response to checking skip flags, merge flags, and the like received from the encoding apparatus.
  • the prediction unit 340 can predict the current block and generate the prediction block using the reference picture in another view.
  • the reconstruction block may be generated using the prediction block generated by the prediction unit 330 and the residual block provided by the inverse transform unit 325.
  • the adder may be regarded as a separate unit (reconstruction block generation unit) for generating a reconstruction block.
  • the residual is not transmitted and the prediction block can be a restoration block.
  • the restored block and / or picture may be provided to the filter unit 335.
  • the filter unit 335 may apply deblocking filtering, sample adaptive offset (SAO), and / or ALF to the restored blocks and / or pictures as needed.
  • SAO sample adaptive offset
  • the memory 340 may store the reconstructed picture or block to be used as a reference picture or a reference block, and may provide the reconstructed picture to the output unit. Although not shown, the output unit can provide a 3DV image using restored multi-view pictures.
  • a multi-view video sequence photographed by a plurality of cameras is used.
  • the global disparity can be regarded as a difference in global variation existing between pictures of the same time in a different view from a picture of a specific time in the current view.
  • GDV Global Disparity Vector
  • FIG. 4 is a diagram schematically illustrating a method of performing inter-view prediction using a GDV in a 3D video encoding / decoding process.
  • FIG. 4 for convenience of explanation, the case of texture images in each view will be described as an example.
  • FIG. 4 illustrates an example in which inter-view prediction is performed on a current block 410 in a picture 400 of an n-th view Vn among multi-views.
  • the motion information of the reference block 430 in the picture 420 of the m-th view Vm of the multi-view may be referred to for inter-view prediction of the current block 410.
  • the picture 400 of the n-th view and the picture 420 of the m-th view are the same time, that is, pictures of the same POC (Picture Order Count).
  • the POC is information indicating the output order of a picture.
  • the relationship between the current block 410 and the reference block 430 belonging to different views can be defined by the GDVnm 450.
  • the upper left pixel (x, y) of the current block 410 in the nth view and the The relationship of the upper left pixel (x ', y') of the reference block 430 can be expressed by Equation (1).
  • GDV nm (dvx nm , dvy nm )
  • the current block 410 of the n-th view may be predicted 460 using the reference block 430 of the m-th view specified by the GDV derived as Equation 1 as a reference block.
  • the encoding apparatus can select a disparity as a global disparity between the corresponding views in order to minimize an error between two pictures of different views at the same POC. For example, a disparity having an optimum SAD (Sum of Absolute Differences) value between two views can be determined on a block-by-block basis. At this time, MSE (Mean Square Error), MAD (Mean Absolute Difference), or the like may be used instead of SAD.
  • SAD Sum of Absolute Differences
  • GDV Global Disparity Vector
  • the encoding apparatus may transmit the calculated GDV information as a bit stream so that the same GDV is used in the decoding apparatus.
  • motion information is taken from a block (reference block) in a reference picture of a reference view corresponding to the current block of the current view by GDV and used for prediction of the current block .
  • motion information e.g., a motion vector
  • a reference block may be copied and used as a temporal motion vector of a current block, or may be used as a motion vector predictor of a current block.
  • FIG. 4 the case of texture images is described as an example, but the present invention is not limited thereto.
  • the description in the example of FIG. 4 can be applied to the case of the depth maps or the case of the depth map and the texture image.
  • Fig. 5 is a view for schematically explaining an example of a case of decoding multi-view video.
  • the pictures of the three views (V0, V1, V2) are decoded, the pictures of each view form a sequence according to the POC, and eight consecutive pictures in the POC order are grouped into one group Picture: GOP) is described as an example.
  • GOP group Picture
  • a texture image will be described as an example for convenience of explanation.
  • GDV 10 is a GDV used to predict a current block of view V1 with a view V0 as a reference view
  • GDV 12 is used to predict a current block of view V1 by using a view V2 as a reference view
  • GDV 20 is the GDV used to predict the current block of view V2 with view V0 as the reference view.
  • the GDV indicates the correspondence of two blocks between pictures at the same time (POC) of two different views.
  • Each GDV may be transmitted as a bitstream from the encoding device as described above, and the decoding device may use the GDV from the bitstream to decode it.
  • GDV 20 (dvx 20 , dvy 20 ) is a global disparity vector (GDV) for specifying the position of a reference block in the reference view V 0 when decoding the current view V 2, as described above.
  • V0 (reference view) indicates the position of the corresponding block 430 (reference block) in the reference picture 510 when the upper left position of the current block in the current picture 500 is (x, y)
  • the upper left position (x ', y') can be specified as shown in Equation (2).
  • the encoding apparatus and the decoding apparatus perform prediction on a current block by referring to motion information of a block in a reference view determined by GDV in the case of inter-view prediction.
  • the encoding apparatus and the decoding apparatus copy the motion information in the reference block 530 of the position (x ', y') specified by the GDV 20 and store the motion information as a temporal motion vector of the current block 520 Or may be used as a motion vector predictor of the current block 520.
  • FIG. 5 the case of texture images is described as an example, but the present invention is not limited thereto.
  • the description in the example of FIG. 5 can be applied to the case of the depth maps or the case of the depth map and the texture image.
  • the images of the respective views constituting the multi-view video image (video) are obtained by photographing the same scene through a plurality of cameras (for example, cameras arranged side by side). Therefore, texture correlation and motion correlation between images of neighboring views are high.
  • inter-view prediction when performing inter-view prediction, high texture correlation between neighboring views can be exploited.
  • inter prediction can be performed using a picture of a neighboring view as a reference picture.
  • the motion information used in the inter prediction in the corresponding block of the reference view can be directly applied to the current block of the current view.
  • a skip mode can be applied in inter-view prediction.
  • FIG. 6 is a diagram schematically illustrating an example in which a skip mode is applied, as an example of inter-view prediction.
  • skip mode utilizes high motion correlation between neighboring views.
  • the motion information used in the inter prediction mode of the reference view can be applied to the skip mode coding of the current view.
  • the motion information of the current view is predicted based on the motion information of the reference view.
  • the current block 610 is also inter-view predicted based on the GDV for the corresponding block 620 in the reference view, even in the current POC (POC cur ) of the non-anchor picture.
  • the GDV is used to calculate the position of the block (corresponding block) corresponding to the current block in the reference picture of the neighboring view to which it refers.
  • the motion information used in the calculated corresponding block is directly used for the coding of the current block when the skip mode is applied.
  • Anchor pictures are pictures in which all slices are reference slices in the same access unit. Thus, inter prediction is not used for the anchor picture, and inter-view prediction is used. In addition, pictures following an anchor picture in POC order can be predicted using inter-view prediction without using inter prediction using information of previously coded pictures.
  • the motion information of the neighboring blocks can be reused to predict the current block.
  • the neighboring block includes a collocated block corresponding to the current block in a picture different from the spatial neighboring block of the current block in the current picture.
  • one of motion information of neighboring blocks is used as motion information of the current block.
  • the encoding apparatus does not transmit the residual signal, and the decoding apparatus can use the prediction signal generated using the motion information of the neighboring block as the restoration signal of the current block.
  • the encoding apparatus can transmit the difference value of the motion vector using one of the motion vectors of the neighboring blocks as the motion vector predictor of the current block. Based on the difference value of the received motion vector, The motion vector for the current block can be restored.
  • the motion information of the current block can be predicted by reusing the motion information of the neighboring block.
  • FIG. 7 is a diagram schematically illustrating an example of a neighboring block usable for predicting a current block in inter prediction using a merge mode.
  • motion vector information of an upper block 700 motion vector information of a left block 710, and a block of a color co-located block 720, motion vector information of the bottom left corner block 730, and motion vector information of the top right corner block 740 to the motion vector predictor motion vector predictor candidates.
  • the motion vector predictor may include motion vector information used in the corresponding block, reference picture index information, prediction direction information, and the like.
  • the motion vector predictor also includes the motion vector information used in the corresponding block, and the reference picture index to be used for prediction of the current picture may be determined in the encoding apparatus and transmitted to the decoding apparatus.
  • the reference picture index for example, the reference picture index for the Col block
  • the reference picture index for the temporal merge candidate is set such that a specific reference picture among the candidate reference pictures in the reference picture list .
  • the encoding apparatus can select a motion vector predictor of the current block from the motion vector predictor candidates. For example, the encoding apparatus can determine a motion information predictor of a current block in consideration of Rate Distortion Optimization (RDO), compression efficiency, and the like.
  • RDO Rate Distortion Optimization
  • the decoding apparatus may receive information indicating which motion information predictor is to be used from the encoding apparatus, and may predict a current block using the motion information predictor.
  • the motion vector predictor candidate as shown in FIG. 7 can be used in the same manner as the merge mode.
  • the reference picture index may be separately transmitted from the encoding apparatus to the decoding apparatus.
  • FIG. 8 is a diagram schematically illustrating another example of a neighboring block usable for predicting a current block in inter prediction.
  • the encoding apparatus and the decoding apparatus can predict the current block using motion information of neighboring blocks of the current block 860.
  • the motion information of a collided block 850 corresponding to the current block 860 in a picture different from the left block 840 of the current block 860 to a motion information predictor can be used as a predictor.
  • the encoding apparatus can select a motion vector predictor of the current block from the motion vector predictor candidates. For example, the encoding apparatus can determine a motion information predictor of a current block in consideration of Rate Distortion Optimization (RDO), compression efficiency, and the like.
  • RDO Rate Distortion Optimization
  • the decoding apparatus may receive information indicating which motion information predictor is to be used from the encoding apparatus, and may predict a current block using the motion information predictor.
  • the motion vector predictor may include a motion vector applied to the corresponding block, a reference picture index, and the like.
  • the motion vector and the reference picture index for the neighboring block can be applied to the current block as the information of the selected motion vector predictor.
  • MVP is used, a motion vector for a neighboring block can be applied to a current block as information of a selected motion vector predictor.
  • the reference picture index can be transmitted from the encoding device to the decoding device.
  • the reference picture index for example, the reference picture index for the Col block
  • the temporal merge candidate is set such that a specific reference picture among the candidate reference pictures in the reference picture list .
  • prediction of the current block can be performed using the motion information of the neighboring blocks, as in the example of FIGS. 7 and 8.
  • the neighboring blocks include blocks corresponding to the current block in another view.
  • FIG. 9 is a diagram schematically illustrating an example of a motion vector predictor that can be used in inter-view prediction.
  • FIG. 9 illustrates an example in which the information of the reference view V0 can be referred to in the prediction of the current view V1.
  • the upper block 930 of the current block 915, the upper right block 935 of the current block 915, and the current block 915 of the current block 915 which are spatial adjacent blocks in the current picture 900, Prediction of the current block 915 using motion information (predictor) of the left block 925 of the current block 915 and the motion information (predictor) of the lower left block 920 of the current block 915.
  • the encoding apparatus / decoding apparatus includes the motion information 960 of the upper block 930 of the current block 915, the motion information 965 of the upper right block 935 of the current block 915, the current block 915, The inter prediction of the current block 915 is performed using the motion information 955 of the left block 925 and the motion information 950 of the lower left block 920 of the current block 915 as candidates of the motion vector predictor Can be performed.
  • the encoding apparatus / decoding apparatus can perform inter-prediction on the current block 915 using the motion information 970 of the Col block 940 as a motion vector predictor candidate.
  • a reference block 945 corresponding to the current block 915 in a picture (reference picture 910) having the same POC as the current picture 900 of the current picture 900 among the pictures of another view (reference view, V0) May be used.
  • the encoding device / decoding device may perform inter-view prediction on the current block 915 using motion information 975 of a reference block 945 of another view V0 as a motion vector predictor candidate.
  • the encoding apparatus may determine which motion vector predictor is to be used for prediction of the current block 915 among the motion vector predictor candidates and may transmit information on the determined motion vector predictor to the decoding apparatus.
  • the decoding apparatus may derive a motion vector predictor to be used for prediction of the current block 915 based on the information transmitted from the encoding apparatus.
  • a prediction for a current block can be performed by adding a predictor for inter-view prediction to a motion information predictor candidate for the current block 915.
  • a motion vector predictor inter-view motion vector predictor
  • FIG. 7 a motion vector predictor for inter-view prediction is added to the motion vector predictor candidates as shown in FIG. 7 to apply it to inter prediction modes such as a skip mode, Can be reused.
  • the motion vector predictor 975 used in the case of the inter-view prediction includes motion vectors, a reference picture index refIdx, an inter prediction direction, etc. as motion information of the corresponding block 945 found using the GDV
  • the information of at least one of the information of the mobile terminal 100 may be included.
  • the motion vector predictor 975 can be applied to each prediction mode (skip mode, merge mode, and MVP use mode) of inter-view prediction and inter prediction, and can be applied to a reference view V0 determined by a corresponding block using GDV If block 945 is not a block to which inter prediction has been applied, the motion vector predictor for inter-view prediction may not be defined or used.
  • FIG. 10 is a diagram schematically illustrating another example of a motion vector predictor that can be used in inter-view prediction.
  • FIG. 10 shows an example in which the information of the reference view V0 can be referred to in the prediction of the current view V1.
  • the upper right block 1020 of the current block 1015, the upper block 1025 of the current block 1015, the current block 1015 of the current block 1015, which are spatial adjacent blocks in the current picture 1000 (Predictor) of the current block 1015 using the motion information (predictor) of the upper left block 1030 of the current block 1015, the lower left block 1035 of the current block 1015, and the left block 1040 of the current block 1015.
  • Prediction can be performed.
  • the encoding apparatus / decoding apparatus includes motion information 1055 of the upper right block 1020 of the current block 1015, motion information 1060 of the upper block 1025 of the current block 1015, The motion information 1035 of the upper left block 1030, the motion information 1070 of the lower left block 1035 of the current block 1015 and the motion information 1075 of the left block 1040 of the current block 1015 move
  • the inter prediction of the current block 1015 can be performed using the predictor candidate as a vector predictor candidate.
  • the encoding apparatus / decoding apparatus can perform inter prediction on the current block 1015 using the motion information 1080 of the Col block 1045 as a motion vector predictor candidate.
  • a reference block 1050 corresponding to the current block 1015 in a picture (reference picture 1010) of the same POC as the current picture 1000 (reference picture 1010) among pictures of another view (reference view, V0) May be used.
  • the encoding device / decoding device may perform inter-view prediction on the current block 1015 using motion information 1085 of a reference block 1050 of another view V0 as a motion vector predictor candidate.
  • the encoding apparatus may determine which motion vector predictor is to be used for prediction of the current block 1015 among the motion vector predictor candidates and may transmit information on the determined motion vector predictor to the decoding apparatus.
  • the decoding apparatus may derive a motion vector predictor to be used for prediction of the current block 1015 based on the information transmitted from the encoding apparatus.
  • a predictor for inter-view prediction can be added to the motion information predictor candidate for the current block 1015 to predict the current block.
  • a motion vector predictor (inter-view motion vector predictor) for inter-view prediction is added to the motion vector predictor candidates as shown in FIG. 8 to apply it to inter prediction modes such as a skip mode, Can be reused.
  • the motion vector predictor 1085 used in the case of the inter-view prediction is a motion vector of the corresponding block 1050 found using the GDV as shown in the figure.
  • the information of at least one of the information of the mobile terminal 100 may be included.
  • the motion vector predictor 1085 may be applied to each prediction mode (skip mode, merge mode, MVP use mode) of inter-view prediction and inter prediction, If block 1050 is not a block to which inter prediction is applied, the motion vector predictor for inter-view prediction may be undefined or unused.
  • the motion vector predictors 1055, 1060, 1065, 1070, 1075, 1080, and 1085 include information indicating a reference picture to be used for prediction of a current block, You may. Or MVP, the motion vector predictors 1055, 1060, 1065, 1070, 1075, 1080, and 1085 include information on a motion vector, and information indicating a reference picture for a current block is separately decoded Or transmitted to the device.
  • motion information of a block (corresponding block or reference block) in another view (reference view) corresponding to the current block is reused to predict a target block (current block) in the current view .
  • the encoding apparatus can transmit necessary information in the slice header for this purpose.
  • the decoding apparatus can perform inter-view prediction on the current block based on the received information.
  • Table 1 schematically shows an example of the information transmitted in the slice header.
  • the encoding apparatus transmits information necessary for inter-view prediction in a slice header.
  • the decoding apparatus parses or entropy-decodes the received bit stream to obtain information necessary for inter-view prediction in the slice header, and performs inter-view prediction based on the obtained information.
  • inter_view_motion_reuse_info_flag indicates whether or not information on reuse of motion information (e.g., a motion vector) is transmitted to a current slice corresponding to the slice header in inter-view prediction.
  • information on reusing motion information includes information indicating whether to reuse motion information.
  • the reuse of motion information includes performing a prediction on a current block using motion information of a neighboring block of the current block, and neighboring blocks of the current block include blocks corresponding to the current block in another view.
  • inter_view_motion_reuse_dir specifies a view referred to by the current view in the case of reusing motion information in inter-view prediction (when motion information is taken from a neighboring block). For example, if the value of inter_view_motion_reuse_dir is 0, the view in the first direction is referred to, and if the value of inter_view_motion_reuse_dir is 1, the view in the second direction opposite to the first direction can be indicated. For example, when arranging views constituting a multi-view according to view points, the direction from the right view to the left view may be referred to as the L0 direction, and the direction from the left view to the right view may be defined as the L1 direction.
  • FIG. 11 is a view schematically illustrating the direction of a reference view.
  • a case where five views (V0 to V4) of the same object 1110 taken at the same point in time (POCi) exists will be described as an example.
  • the case where five views exist is described as an example, but the present invention is not limited thereto, and the views may be less than five or more.
  • L0 direction referring to other views in the left direction
  • L1 direction reference to other views in the right direction
  • global_disparity_vector_x and global_disparity_vector_y specify the position of a block to which motion information is to be referred to in a reference picture (for example, a picture having the same POC as the current picture) in the reference view based on the position of the current block (for example, TU, PU or CU to be decoded) .
  • global_disparity_vector_x and global_disparity_vector_y specify the x component and the y component of the GDV for the current block.
  • the GDV for the current block represents the difference between the position corresponding to the position of the current block in the reference picture and the position of the reference block (or the difference between the position of the current block in the current picture and the position corresponding to the position of the reference block) .
  • the value of global_disparity_vector_x and global_disparity_vector_y may be defined in units of a predetermined pixel, for example, 4 pixels, 8 pixels or 16 pixels.
  • FIG. 12 is a view for schematically explaining an example of a method of defining a GDV for each area of a current picture and applying it to inter-view prediction.
  • a current picture (slice) is divided into regions having the same motion in a quad-tree manner.
  • Optimal GDV information is assigned to each region having the same motion.
  • the GDV for the current block can be determined as the GDV of the area to which the current block belongs in the picture.
  • FIG. 12 a case where the current picture 1200 is divided up to the depth 2 (divided into two) will be described as an example. It is assumed that in the primary division in which the current picture 1200 is divided into four regions, the upper left side block, the upper right side block, and the lower left side block are divided into four regions where the motion in the block is uniform and the lower right block is divided into the same regions.
  • the three blocks 1210, 1240, and 1270 of the seven blocks have the same motion and commonly use GDV0, which is the largest GDV.
  • the other two blocks 1220 and 1250 have the same motion and use GDV1 in common.
  • the remaining two blocks 1130 and 1160 have the same motion and commonly use GVD2, which is the smallest GVD.
  • a minimum unit of a quad-tree partition for allocating GDV information may be limited to a predetermined size.
  • the minimum unit of quad tree partitioning may be limited to LCU, CU, PU, or TU, or may be limited to a predetermined size (e.g., 4x4 pixels, 8x8 pixels, 16x16 pixels, 32x32 pixels, or 64x64 pixels) It is possible.
  • the GDV for the current block can be determined as the GDV of the area to which the current block belongs in the current picture.
  • the encoding apparatus signals the GDV information to be used for inter-view prediction of the current block to the encoding apparatus, where the GDV indicates the position of a specific partition (block, area) in the reference view picture based on the current block.
  • the decoding apparatus can determine which GDV to use by referring to quad tree partition information to which GDV is allocated for inter-view prediction.
  • the encoding apparatus transmits a GDV for inter-view prediction of the current block, and the decoding apparatus can perform inter-view prediction on the current block using the received GDV.
  • the GDV can be determined for each area of the current picture divided by the quadtree partitioning.
  • Table 2 shows an example of quadtree information about GDVs transmitted in a sequence parameter set for inter-view prediction.
  • the encoding apparatus transmits information on the maximum depth information on which the GDV is defined and the size of the maximum block to which the GDV is allocated in the sequence parameter set.
  • max_gdv_qtree_depth specifies the maximum depth of the quadtree structure for the GDV. That is, max_gdv_qtree_depth represents the maximum depth in the quad-tree structure sending GDV information.
  • max_gdv_unit_size_log_scale specifies the size of the largest region in the quadtree structure for GDV information.
  • max_gdv_unit_size_log_scale indicates a value obtained by dividing the size of the maximum area (for example, the maximum unit) by the size of the reference block in the quad-tree structure sending GDV information and taking the log (log2) as a scaled value.
  • an LCU Large CU
  • Table 3 shows an example of information transmitted in the slice header for inter-view prediction when GDV is set for each region.
  • the encoding apparatus transmits information necessary for inter-view prediction in a slice header.
  • the decoding apparatus parses or entropy-decodes the received bit stream to obtain information necessary for inter-view prediction in the slice header, and performs inter-view prediction based on the obtained information.
  • inter_view_motion_reuse_info_flag indicates whether or not information on reuse of motion information (e.g., a motion vector) is transmitted to a current slice corresponding to the slice header in inter-view prediction.
  • information on reusing motion information includes information indicating whether to reuse motion information.
  • the reuse of motion information includes performing a prediction on a current block using motion information of a neighboring block of the current block, and neighboring blocks of the current block include blocks corresponding to the current block in another view.
  • inter_view_motion_reuse_dir specifies a view referred to by the current view in the case of reusing motion information in inter-view prediction (when motion information is taken from a neighboring block). For example, if the value of inter_view_motion_reuse_dir is 0, the view in the first direction is referred to, and if the value of inter_view_motion_reuse_dir is 1, the view in the second direction opposite to the first direction can be indicated. For example, when the views constituting the multi-view are arranged according to the view points, the direction from the left view to the right view is referred to as the L0 direction, and the direction from the right view to the left view is referred to as the L1 direction.
  • global_disparity_vector_x and global_disparity_vector_y specify the position of a block to which motion information is to be referred to in a reference picture (for example, a picture having the same POC as the current picture) in the reference view based on the position of the current block (for example, TU, PU or CU to be decoded) .
  • global_disparity_vector_x and global_disparity_vector_y specify the x component and the y component of the GDV for the current block.
  • the GDV for the current block represents the difference between the position corresponding to the position of the current block in the reference picture and the position of the reference block (or the difference between the position of the current block in the current picture and the position corresponding to the position of the reference block) .
  • the value of global_disparity_vector_x and global_disparity_vector_y may be defined in units of a predetermined pixel, for example, 4 pixels, 8 pixels or 16 pixels.
  • num_gdv specifies the number of regions having the same GDV.
  • num_gdv specifies the number of GDVs used for inter-view prediction.
  • 3 can be transmitted as the value of num_gdv.
  • a quadtree for allocating gdv is set.
  • a flag (split_flag) indicating whether or not to split is transmitted in the quad-tree structure.
  • the GDV is specified in the quad-tree structure as the partitioning index i of the partitioned partition and its depth.
  • the partitioning index is divided into four blocks, for example, values of 0 for the upper left block, 1 for the upper right block, 2 for the lower right block, and 3 for the lower left block may be allocated.
  • the GDV value for that block is transmitted.
  • the present invention is not limited to this and can also be applied to the depth image.
  • the depth image includes a series of depth images, each depth image representing the distance from the optical center of the camera where the image is taken to the points of the 3D scene as a gray level.
  • the depth image captures the 3D structure of the scene and much of the depth image consists of gray values that change smoothly along the surface of the object, separated by an edge representing the boundary of the object in the image. do.
  • FIG. 13 is a view for schematically explaining an example in which the same scene is represented by a texture image and a depth image.
  • FIG. 13 (a) shows a texture image of a scene in which a person appears.
  • Fig. 13 (b) shows a depth image of a scene in which a character appears, and gray levels are also expressed along the surface of an object in the scene.
  • the depth image represents a geometric description. In other words, it represents the distance from the corresponding texture image (video) to the scene content. Therefore, the temporal evolution of the motion contents in the texture image is highly correlated with the temporal change of the motion content in the corresponding depth image. For example, motion vectors around object boundaries tend to coincide with texture images and depth images.
  • the depth image has characteristics associated with the corresponding texture image, and particularly high correlation is often seen in the object boundary region. Accordingly, the motion information (e.g., motion vector) of the corresponding texture image can be reused as motion information (e.g., motion vector) of the depth image.
  • the motion information e.g., motion vector
  • FIG. 14 is a diagram schematically illustrating a method of predicting a depth image of a current view using motion information of a texture image.
  • the current depth block 1495 of the current depth picture 1490 among the depth images VD1 of the view V1 has the same POC as the current depth picture 1490 of the text images VT1 of the view V1 May be predicted using the motion information of the texture block 1415 corresponding to the current depth block 1495 in the text image 1400.
  • the motion vector of the texture block 1415 corresponding to the current depth block 1495 may be used as the motion vector of the current depth block 1495.
  • the motion information of the texture block 1415 can be predicted based on the motion information of the neighboring blocks.
  • the motion information of the reference texture picture 1410 having the same POC as the current picture 1400 among the texture images VT0 of the reference view V0 is used to calculate And may perform inter-view prediction for the current texture block 1415.
  • the motion vector predictor candidates currently available to the texture block 1415 include upper left block 1420, upper block 1425, upper left block 1430, lower left block 1435, left block 1440, 1460, 1465, 1470, 1475 of the current view V1 and motion information 1480 of the Col block 1445 in another texture picture 1405 of the current view V1.
  • the motion information 1485 of the reference block 1450 corresponding to the current texture block 1415 in the texture picture 1410 having the same POC as the current texture picture 1400 among the pictures of other views is referred to as a motion vector predictor candidate .
  • the encoding apparatus may determine which motion vector predictor is to be used for prediction of the current texture block 1415 among the motion vector predictor candidates, and may transmit information on the determined motion vector predictor to the decoding apparatus. Also, the encoding apparatus can determine whether to use the motion information (motion vector) of the current texture block 1415 as motion information of the current depth block 1495, and can transmit information about the motion information.
  • the decoding device may derive a motion vector predictor to use in predicting the current texture block 1415 based on the information transmitted from the encoding device. Also, the decoding apparatus can derive motion information (motion vector) of the current depth block 1495 using motion information of the current texture block 1415 based on information transmitted from the encoding apparatus.
  • motion information motion vector
  • texture block In FIG. 14, the terms texture block, current depth block, current texture picture and current depth picture are used for the sake of convenience of description. However, this means that the current texture block and the current depth block are simultaneously encoded or decoded No,
  • the motion information of the current texture block has a relationship that can be used by the current depth block.
  • the difference between the object depth of the reference picture and the depth of the depth image which is referred to by the texture image, Lt; / RTI >
  • the difference in the depth values may cause a large difference between the motion vector obtained from the texture image and the motion vector of the depth image.
  • a DC offset may be selectively applied to compensate for the movement .
  • the depth image can be more effectively encoded / decoded.
  • motion vector segmentation / integration e.g., motion vector segmentation
  • a corresponding texture image block e.g., macroblock, CU, PU, TU, Mode
  • a DC offset value may be searched or determined to compensate for a difference in depth due to movement of the object away from the camera or movement toward the camera in the scene.
  • Equation 3 shows an example of a method for determining motion vector reuse based on rate-distortion optimization.
  • ⁇ ) D + ⁇ (R MV + R mb_type + R reuse_type + R offset)
  • Equation 3 J represents the cost, and [lambda] represents the Lagrange multiplier.
  • I corresponds to the pixel value of the depth image
  • I ref corresponds to the pixel value of the reference depth image
  • D offset is a DC offset value that minimizes the D when reuse_type value is 1, which will be described later.
  • a motion vector MV for the depth image block can be derived from the corresponding block of the texture image using the D offset value. The summation of the D values is performed for the positions in the target block (X? MB).
  • Xp represents the predicted sample position of the reference picture indicated by the motion vector as the sum of the position X of the target pixel and the motion vector (MV) in the depth image block.
  • R MV is a bit rate for encoding a motion vector associated with the reference picture index refIdx and has a value of 0 when the value of reuse_type is 1.
  • R offset is the bit rate for encoding the D offset presented only when the value of reuse_type is 1.
  • R mb_type is a bit rate for encoding the information (mb_type) of a block type
  • R reuse_type is the bit rate for encoding the motion vector recycling type (MV reuse_type).
  • mb_type indicates the size and / or prediction mode (e.g., skip mode, merge mode, MVP usage mode, etc.) of the corresponding block (e.g., macroblock, CU, PU or TU).
  • prediction mode e.g., skip mode, merge mode, MVP usage mode, etc.
  • Equation (3) the case where the corresponding block is a macroblock has been described as an example. However, the present invention is not limited to this, and the contents of Equation (3) can be applied equally to a case where the corresponding block is a CU, a PU or a TU.
  • the encoding apparatus can determine the necessary information including the DC offset D offset based on Equation (3).
  • the encoding apparatus can compensate the texture image utilized by the depth image when the depth image recovers motion information of the texture image using the DC offset information. Further, the encoding apparatus can transmit information including the DC offset to the decoding apparatus.
  • the decoding apparatus can perform decoding on the depth image based on the received information. For example, when the information received from the encoding device indicates decoding of a depth image based on motion information of a texture image, the decoding device uses motion information (e.g., a motion vector) and a DC offset value of the corresponding texture image The current depth block can be decoded.
  • motion information e.g., a motion vector
  • the encoding apparatus can transmit to the decoding apparatus information indicating whether to use the motion information of the corresponding texture block or how to use the motion information of the texture block.
  • Table 4 shows an example of a syntax for signaling information for using motion information of a texture image for decoding a depth image.
  • Table 4 shows an example in which the current depth block is a CU.
  • reuse_type indicates whether to use the motion information of the texture image to decode the current depth block. If the reuse_type indicates that a texture image is to be used, a DC offset value is transmitted between the texture image and the depth image to compensate for the motion of the object (movement in the depth direction, e.g., movement in the camera direction).
  • the current depth block is decoded without using the motion information of the texture image. Therefore, the current depth block can be predicted using a general prediction mode.
  • the current depth block may be intra-predicted using adjacent pixels in the current depth picture when intra prediction is applied.
  • the current depth block may be inter-predicted based on the reference depth image using skip mode, merge mode, or MVP mode.
  • Inter prediction and intra prediction of a depth image can be performed in the same manner as inter prediction and intra prediction of a texture image.
  • the current depth block is decoded using the motion information of the texture image. Therefore, the prediction of the current depth block can be performed based on the motion information of the corresponding texture block.
  • a DC offset value that compensates for motion of the object between the texture image and the depth image may be transmitted to the decoding device. The DC offset value is added to the restored pixel value of the current depth block to compensate for motion of the object between the texture image and the depth image.
  • the motion information (e.g., motion vector) of the current depth image may be derived from motion information (e.g., motion vector) of the texture image considering the size of the texture block corresponding to the current depth block .
  • the DC_offset value is transmitted when the value of reuse_type is 1, but the DC_offset value may be selectively applied as described above. For example, when the reuse_type value is 1 and the motion information of the texture image is used, the DC offset value is not transmitted or the DC_offset value is set to 0 when there is no difference in the depth value between the texture image and the depth image, .
  • FIG. 15 is a view for schematically explaining a method of deriving a motion vector of a current depth block from a motion vector of a corresponding texture block.
  • the motion vector of the current depth block corresponds to the motion vector of the corresponding texture block, May be derived based on motion vectors of neighboring blocks.
  • a motion vector of a current depth block may be derived as an average of motion vectors of neighboring blocks of a texture block corresponding to a motion vector of a corresponding texture block.
  • the motion vector of the current depth block may be derived to the median of the motion vector of the neighboring blocks of the texture block corresponding to the motion vector of the corresponding texture block.
  • the corresponding texture block may be a macroblock, CU, PU, TU, and the like.
  • FIG. 15A schematically illustrates a method of deriving a motion vector of a current depth block when the size of a current depth block is equal to or greater than the size of a corresponding texture block (for example, a candidate mb_type indicated from the encoding apparatus)
  • a corresponding texture block for example, a candidate mb_type indicated from the encoding apparatus
  • the motion vector of the current depth block 1500 is determined as a motion vector of the corresponding texture block 1510.
  • the motion vectors of the neighboring texture blocks 1520, 1530, 1540, 1550, and 1560 may be derived as an average of the motion vectors of the corresponding texture block 1510 and the motion vectors of the neighboring texture blocks 1520, 1530, 1540, 1550, 1560.
  • the motion vector of the current depth block 1500 may be derived as a median of motion vectors of the corresponding texture block 1510 and motion vectors of the neighboring texture blocks 1520, 1530, 1540, 1550, 1560.
  • a motion vector of the current depth block 1500 may be derived using only a part of the motion vectors of neighboring texture blocks.
  • the motion vector of the current depth block 1500 may be derived as the median or average of the motion vector of the corresponding texture block 1510, the motion vector of the left texture block 1530, and the motion vector of the upper texture block 1550 .
  • the motion vector of the current depth block is derived based on the motion vectors of the sub- .
  • the motion vector of the current depth block may be derived as an average of motion vectors for the sub-blocks in the corresponding texture block.
  • the motion vector of the current depth block may be derived to the median of the motion vectors for the sub-blocks in the corresponding texture block.
  • the corresponding texture block and / or the sub-block in the corresponding texture block may be macroblock, CU, PU, TU, and the like.
  • 15B is a view for schematically explaining a method of deriving a motion vector of a current depth block when the size of the current depth block is smaller than the size of the corresponding texture block (for example, the candidate mb_type indicated from the encoding device) .
  • the motion vector of the current depth block 1570 is greater than the motion vector of the current depth block 1570, (Sb0, sb1, ..., sb i , ... sb n, n is the number of subblocks).
  • the motion vector of the current depth block 1570 may be derived as an average of motion vectors for the subblocks sb0, sb1, ..., sb i , ..., sb n in the corresponding texture block 1580.
  • the motion vector of the current depth block 1570 may also be derived to the median of motion vectors for the subblocks sb0, sb1, ..., sb i , ..., sb n in the corresponding texture block 1580.
  • 16 is a flowchart schematically illustrating a method of encoding a 3D image by reusing motion information according to the present invention.
  • the encoding apparatus determines motion information of a texture image in a current view (S1610).
  • the encoding apparatus can determine the motion information of the current block (or the current block to be decoded) of the texture image using the motion information of the neighboring block.
  • the neighboring block includes a block corresponding to the current block in a picture in another view of the same POC as the current picture, as well as a spatial neighboring block and temporally neighboring block (corresponding block of another picture in the same view) of the current block.
  • the encoding apparatus predicts the current block using the motion information of the current block determined based on the motion information of the neighboring block, and encodes the current block.
  • the contents of prediction and encoding are as described above including the explanation regarding FIG.
  • the encoding apparatus can determine the motion information of the depth image (S1620).
  • the encoding apparatus may determine the motion information of the depth image based on the motion information of the texture image or may determine the motion information of the depth information based on the motion information of the reference block in the reference depth image.
  • the encoding apparatus may determine an offset for the depth image (S1630).
  • a depth difference may occur between the object in the block referenced by the texture image and the object in the current depth block.
  • the encoding apparatus can compensate the reconstructed pixel value through DC (Direct Current) offset considering the depth difference.
  • DC Direct Current
  • the encoding apparatus can transmit motion information (S1640).
  • the encoding apparatus may encode motion information of the texture image and motion information of the depth image and transmit the encoded motion information to the decoding apparatus as a bitstream.
  • the transformations, quantization, reordering, and entropy encoding performed in the encoding process are as described above including the description regarding FIG.
  • the information to be transmitted may include the information described in Tables 1 to 4.
  • the encoding apparatus uses information (for example, inter_view_motion_info_flag) indicating whether motion information of a reference picture belonging to another view is to be used, motion information of a reference picture belonging to another view (E.g., inter_view_motion_reuse_dir) indicating whether to refer to the view, information on the GDV value indicating the location of the block to be referred to (e.g., global_disparity_vector_x, global_disparity_vector_y).
  • information for example, inter_view_motion_info_flag
  • inter_view_motion_reuse_dir motion information of a reference picture belonging to another view
  • information on the GDV value indicating the location of the block to be referred to (e.g., global_disparity_vector_x, global_disparity_vector_y).
  • num_gdv indicating the number of GDVs defined in the current picture
  • partition information split_flag
  • GDV information gdv_id May be transmitted together.
  • information on the maximum depth of the partition e.g., max_gdv_qtree_depth
  • the maximum size of the area e.g., max_gdv_unit_size_log_scale
  • the encoding apparatus may include information (e.g., reuse_type) indicating whether motion information of the depth image is to be derived based on motion information of the texture image, and motion information of the depth image based on motion information of the texture image (E.g., DC_offset) related to the offset value to compensate the restored pixel value.
  • information e.g., reuse_type
  • motion information of the depth image is to be derived based on motion information of the texture image
  • motion information of the depth image E.g., DC_offset
  • each step is described as being performed in the encoding device for convenience of explanation, but the present invention is not limited thereto.
  • the determination of the motion information and the offset may be performed in the prediction unit of the encoding apparatus.
  • 17 is a flowchart schematically illustrating an example of a method of determining motion information of a texture image and performing prediction using the texture information in the encoding apparatus according to the present invention.
  • the encoding apparatus determines a reference block to be used for prediction of a current texture block (S1710).
  • the prediction of the current texture block includes inter-prediction within the same view and inter-view prediction between different views.
  • the encoding apparatus can determine a block to be referred to from neighboring blocks of the current texture block.
  • the blocks that can use the motion information of the current block as the neighboring block of the current texture block are as described in FIG. 9 and FIG.
  • the encoding apparatus may determine the motion information of the reference block as a motion information predictor (S1720).
  • the encoding apparatus can use the motion information of the selected reference block among the reference block candidates as a motion information predictor.
  • the motion information predictor may include only information on a motion vector for the block, and information on a motion vector and a reference picture index. When the motion information predictor includes only the information on the motion vector for the block, the encoding apparatus may separately transmit the information of the reference picture required for prediction to the decoding apparatus.
  • the encoding apparatus may calculate a residual for the current texture block based on the motion information predictor (S1730).
  • the motion information predictor may include a reference picture index as well as a motion vector.
  • the encoding apparatus can generate the prediction block based on the pixel value of the block indicated by the motion information predictor, and calculate the residual for the current texture block.
  • the decoding apparatus may not generate or transmit residuals.
  • the motion information predictor to be used for prediction may include a motion vector predictor, i.e., MVP information, and the index of the reference picture may be separately determined.
  • the encoding apparatus can generate a prediction block for the current texture block based on the motion information predictor and the reference picture index, and calculate a residual for the current texture block.
  • FIG. 18 is a method for determining motion information of a depth image in the encoding apparatus according to the present invention and performing prediction using the motion information.
  • a method for performing a depth image prediction using motion information of a texture image Fig.
  • the encoding apparatus determines a block of the texture image corresponding to the current depth block (S1810).
  • the encoding apparatus can determine the motion information of the current depth block using the motion information of the texture image.
  • the encoding apparatus determines a block of the texture image to be referred to in the current depth block.
  • the block of the texture image corresponding to the current depth image may be a texture image in the same view and a block in the texture image having the same POC as the current depth image.
  • the corresponding block in the texture image may be the same position as the current depth block in the texture image of the same view and the same POC as the depth image.
  • the corresponding block in the texture image may be a block including a pixel corresponding to a pixel specifying the current depth block in the same view as the depth image and in the texture image of the same POC.
  • the encoding apparatus can calculate the motion information of the current depth block based on the motion information of the texture image (S1820).
  • the motion information of the current depth block may be determined based on the motion information of the corresponding texture block.
  • the motion information of the current depth block may be determined using the motion information of the corresponding texture block and the motion information of the neighboring blocks of the corresponding texture block.
  • the method of determining the motion information of the current depth block based on the motion information of the texture image is the same as that described in Fig.
  • the encoding apparatus may determine an offset for the current depth block (S1830). As described above, when the depth image uses the motion information of the texture image, a depth difference may occur between the object in the block referenced by the texture image and the object in the current depth block.
  • the encoding apparatus can determine a direct current (DC) offset value considering the difference in depth. The error of the reconstructed pixel value due to the depth difference can be compensated for through the DC offset.
  • DC direct current
  • the encoding apparatus restores the current depth block (S 1840).
  • the encoding apparatus can recover the current depth block using the motion information of the texture image.
  • the motion information on the current depth block obtained from the motion information of the texture image may include a reference picture (reference depth image) index as well as a motion vector.
  • the encoding apparatus can generate a prediction block based on the pixel value of the depth image block indicated by the motion information on the current depth block obtained from the motion information of the texture image, and calculate the residual for the current depth block.
  • the motion information includes a motion vector predictor, i.e. MVP information, and the index of the reference picture can be separately determined.
  • the encoding apparatus can generate the prediction block for the current depth block based on the motion information predictor and the reference picture (reference depth image) index, and calculate the residual for the current depth block.
  • the encoding apparatus can use the depth block (depth image) restored based on the residual and the prediction block for prediction of the depth block to be encoded later. Further, the encoding apparatus may encode information on the residual of the current depth block and prediction information, and transmit the encoded information to the decoding apparatus.
  • the current depth block is encoded using motion information of another depth image It is possible.
  • the encoding apparatus can transmit to the decoding apparatus information indicating whether to use the motion information of the texture image as shown in Table 4.
  • 19 is a flowchart schematically illustrating a method of decoding a 3D image by reusing motion information according to the present invention.
  • the decoding apparatus receives information (bit stream) from the encoding apparatus (S1910).
  • the received information (bit stream) includes parameters necessary for decoding in addition to the video information including the residual.
  • the decoding apparatus can acquire necessary information through entropy decoding.
  • the received information may include the information described in Tables 1 to 4.
  • information e.g., inter_view_motion_info_flag
  • inter_view_motion_reuse_dir indicating whether to refer to the block to be referred to
  • information e.g., global_disparity_vector_x, global_disparity_vector_y
  • GDV value indicating the location of the block to be referred to.
  • num_gdv indicating the number of GDVs defined in the current picture
  • partition information split_flag
  • GDV information gdv_id
  • information about the maximum depth (e.g., max_gdv_qtree_depth) of the partition and the maximum size of the area e.g., max_gdv_unit_size_log_scale) regarding the area in which the GDV is defined may be received together or separately.
  • a motion vector of the restored pixel Information (e.g., DC_offset) regarding the offset value compensating the value may be included in the received information.
  • the decoding apparatus can derive motion information of the texture image based on the received information (S1920).
  • the decoding apparatus can derive the motion information of the current block based on the motion information of the corresponding block of another view when the received information indicates the recycling of the motion information in the inter-view prediction. For example, in a case where a merge mode or a skip mode is applied in inter-view prediction, the decoding apparatus can use motion information on a corresponding block of another view as motion information of a current texture block.
  • the motion information includes a motion vector and a reference picture index.
  • the decoding apparatus may derive a motion vector of a current block by adding a motion vector difference value to a motion vector of a corresponding block of another view as a predictor.
  • the reference picture index and the motion vector difference value may be transmitted from the encoding apparatus.
  • the decoding apparatus may derive the motion information of the depth image (S1930).
  • the decoding apparatus may derive motion information of a current depth block by reusing motion information of a texture image or derive motion information of a current depth block based on motion information of another texture image. Whether or not to recycle the motion information of the texture image can be indicated by the information transmitted from the encoding device.
  • the decoding apparatus can restore the texture image (texture block) using the derived motion information.
  • the derived motion information may include a reference picture index as well as a motion vector.
  • the decoding apparatus can generate the prediction block based on the pixel value of the block indicated by the motion information.
  • the decoding device may recover the current texture block by summing the residual for the current texture block with the prediction block.
  • the residual is not transmitted, and the decoding apparatus can make the prediction block a reconstruction block.
  • the index of the reference picture may be transmitted separately.
  • the decoding apparatus can generate a prediction block for the current texture block based on the motion information and the reference picture index, and restore the current texture block by summing with the residual.
  • the decoding apparatus can restore the depth image (depth block) using the derived motion information.
  • the motion information may include a reference picture (reference depth image) index as well as a motion vector.
  • the decoding apparatus may generate a prediction block for the current depth block based on the pixel value of the block indicated by the motion information, and may add the residual block to the residual to generate a reconstruction block.
  • the decoding apparatus can make the prediction block a reconstruction block.
  • the index of the reference picture (reference depth image) can be transmitted separately.
  • the decoding apparatus can generate a prediction block for the current depth block based on the motion information and the reference picture (reference depth image) index, and generate a restoration block in addition to the residual.
  • the decoding apparatus has been described as receiving each step of Fig. 19 for convenience of explanation, some or all of the steps of Fig. 19 may be performed in a predetermined unit in the decoding apparatus. For example, S1920 and S1930 may be performed in the predicting unit in the decoding apparatus.
  • 20 is a view schematically illustrating an example of a method of deriving motion information of a texture image according to the present invention.
  • the decoding apparatus derives information necessary for prediction from information received from the encoding apparatus (S2010).
  • the information required for the prediction can be received from the encoding device through the bitstream.
  • the received information may include the information described in Tables 1 to 3.
  • information e.g., inter_view_motion_info_flag
  • Reference view direction information indicating the location of the block to be referred to
  • information on the GDV value indicating the location of the block to be referred to
  • Information indicating the number of GDVs defined in the current picture and partition information about the area in which the GDV is defined may be included in the received information when the GDV is indicated for each area of the current picture.
  • the decoding apparatus may derive motion information of the texture image (S2020).
  • the decoding apparatus can use the same POC picture of the view referred to by the current view among the views in the direction indicated by the reference view direction information (e.g., inter_view_motion_reuse_dir) transmitted from the encoding apparatus, as a reference picture have.
  • the reference block in the reference picture may be indicated by GDV information (e.g., global_disparity_vector_x, global_disparity_vector_y, or gdv_id).
  • motion information of a reference block can be used as motion information of a current texture block.
  • the motion information includes a motion vector and a reference picture index.
  • the decoding apparatus can use the motion vector of the reference block as a motion vector predictor of the current texture block, and add the motion vector difference received from the encoding apparatus to generate a motion vector of the current texture block.
  • the reference picture index can be transmitted from the encoding apparatus.
  • 21 is a diagram schematically illustrating an example of a method of deriving motion information of a depth image by a decoding apparatus according to the present invention.
  • the decoding apparatus derives motion information of a texture block corresponding to a current depth block (S2110).
  • the method of deriving the motion information of the texture block is as described in the preceding section including FIG.
  • the decoding apparatus derives motion information of the current depth block (S2120).
  • the method of deriving the motion information of the current depth block based on the motion information of the texture block is as described in FIG.
  • the decoding apparatus can restore the depth image (depth block) using the derived motion information.
  • the derived motion information may include a reference picture (reference depth image) index as well as a motion vector.
  • the decoding apparatus can generate the prediction block based on the pixel value of the block indicated by the motion information.
  • the decoding device may recover the current texture block by summing the residual for the current depth block with the prediction block.
  • the skip mode the residual is not transmitted, and the decoding apparatus can make the prediction block a reconstruction block.
  • the index of the reference picture may be transmitted separately.
  • the decoding apparatus can generate a prediction block for the current depth block based on the motion information and the reference picture index, and recover the current depth block by summing with the residual.
  • the decoding device applies the offset value to restore the current depth block .
  • 'video' and 'picture' are used in a mixed manner. However, it is not intended to use 'picture' and 'picture' separately from each other.
  • 'picture' As a concept, it is noted that the term " picture "
  • 'depth image', 'depth picture' and 'depth map' are used in a mixed manner.
  • 'depth image', 'depth picture' Depth image ',' depth picture ', and' depth map ' can be used in the same concept according to the description of the present invention.
  • the depth information uses the motion information of the texture image' means that the motion information of the current depth block in the depth image is determined based on the motion information (s) of the corresponding texture block (s) And using the motion information of the block as motion information of the depth block or deriving the motion information of the depth block using motion information of the texture blocks.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 영상 인코딩 방법 및 디코딩 방법에 관한 것으로서, 본 발명에 따른 영상 인코딩 방법은 현재 블록의 움직임 정보를 결정하는 단계 및 상기 움직임 정보를 유도하기 위한 정보를 전송하는 단계를 포함하며, 상기 현재 블록의 움직임 정보를 결정하는 단계에서는 상기 현재 블록의 움직임 정보를 참조 블록의 움직임 정보를 재활용하여 결정할 수 있다.

Description

영상 인코딩 방법 및 디코딩 방법
본 발명은 영상 정보 처리 기술에 관한 것으로서, 더 구체적으로는 3D 영상의 인코딩 방법 및 디코딩 방법과 이를 이용하는 장치에 관한 것이다.
최근 고해상도, 고품질의 영상에 대한 요구가 다양한 응용 분야에서 증가하고 있다. 하지만, 영상이 고해상도를 가지고 고품질이 될수록 해당 영상에 관한 정보량도 함께 증가한다.
따라서 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 정보를 전송하거나 기존의 저장 매체를 이용해 영상 정보를 저장하는 경우에는, 정보의 전송 비용과 저장 비용이 증가하게 된다. 고해상도, 고품질 영상의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위해 고효율의 영상 압축 기술을 이용할 수 있다.
한편, 고해상/대용량의 영상을 처리할 수 있게 됨에 따라서, 3D 비디오를 이용한 디지털 방송 서비스가 차세대 방송 서비스의 하나로 주목 받고 있다. 3D 비디오는 복수의 시점(view) 채널을 이용하여 현장감과 몰입감을 제공할 수 있다.
3D 비디오는 FVV(free viewpoint video), FTV(free viewpoint TV), 3DTV, surveillance 및 홈 엔터테인먼트와 같은 다양한 영역에 사용될 수 있다.
싱글 뷰 비디오(single view video)와 달리 멀티 뷰를 이용한 3D 비디오는 동일한 POC(picture order count)의 뷰들 사이에 높은 상관도(correlation)를 가진다. 멀티 뷰 영상은 인접한 여러 카메라 즉, 여러 시점(view)를 이용하여 동일한 장면을 동시에 촬영하기 때문에, 시차와 약간의 조명 차이를 제외하면 거의 같은 정보를 담고 있으므로 서로 다른 뷰 간의 상관도가 높다.
따라서, 멀티 뷰 비디오의 인코딩/디코딩에서는 서로 다른 뷰 사이의 상관도를 고려할 수 있다. 예를 들어, 현재 뷰의 디코딩 대상 블록을 다른 뷰의 블록을 참조하여 예측하거나 디코딩할 수 있다. 이 경우에, 서로 다른 뷰 간의 관계를 산출하여 예측에 이용할 수 있다.
본 발명은 3D 영상의 인코딩 및 디코딩에 있어서, 움직임 정보(예컨대, 움직임 벡터)를 재사용하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 3D 영상의 인코딩 및 디코딩에 있어서, 다른 뷰 영상의 움직임 정보를 재활용하여 현재 뷰 영상의 움직임 정보를 결정 또는 유도하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 3D 영상의 인코딩 및 디코딩에 있어서, 텍스처 영상의 움직임 정보를 재활용하여 깊이 영상의 움직임 정보를 결정 또는 유도하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 다른 뷰 영상의 움직임 벡터를 재활용하여 얻은 움직임 정보를 기반으로 현재 뷰 영상을 인코딩/디코딩 하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 텍스처 영상의 움직임 정보를 재활용하여 얻은 움직임 정보를 기반으로 깊이 영상을 인코딩/디코딩 하는 방법 및 장치를 제공하는 것을 목적으로 한다.
(1)본 발명의 일 실시형태는 영상 인코딩 방법으로서, 현재 블록의 움직임 정보를 결정하는 단계 및 상기 움직임 정보를 유도하기 위한 정보를 전송하는 단계를 포함하며, 상기 현재 블록의 움직임 정보를 결정하는 단계에서는 상기 현재 블록의 움직임 정보를 참조 블록의 움직임 정보를 재활용하여 결정할 수 있다.
(2) (1)에 있어서, 상기 현재 블록은 텍스처 픽처의 블록이고, 상기 참조 블록은 참조 뷰 내 블록일 수 있다.
(3) (2)에 있어서, 상기 움직임 정보를 유도하기 위한 정보는, 상기 참조 블록의 움직임 정보를 재활용할 것을 지시하는 정보, 상기 참조 뷰의 방향을 지시하는 정보, 상기 참조 블록에 대한 GDV(Galobal Disparity Vector)를 지시하는 정보 중 적어도 하나를 포함할 수 있다.
(4) (2)에 있어서, 상기 참조 블록에 대한 GDV는 상기 현재 블록이 속하는 픽처 내에서 영역별로 결정될 수 있으며, 상기 GDV가 결정되는 영역은 쿼드 트리 구조를 가질 수 있다.
(5) (4)에 있어서, 상기 움직임 정보를 유도하기 위한 정보는, 상기 쿼드 트리 구조의 최대 깊이 정보 및 최대 크기 정보를 포함할 수 있으며, 상기 GDV가 결정되는 영역이 최대 깊이의 영역인 경우에는 GDV 값을 지정하는 정보를 포함할 수 있다.
(6) (4)에 있어서, 상기 움직임 정보를 유도하기 위한 정보는, 상기 쿼드 트리 구조에 대한 분할 여부를 지시하는 정보를 포함할 수 있으며, 상기 GDV가 결정되는 영역이 분할되지 않는 경우에는 GDV 값을 지정하는 정보를 포함할 수 있다.
(7) (1)에 있어서, 상기 현재 블록은 깊이 픽처의 블록이고, 상기 참조 블록은 동일 뷰의 텍스처 픽처 내 블록일 수 있다.
(8) (7)에 있어서, 상기 현재 블록이 상기 참조 블록보다 큰 경우에, 상기 현재 블록의 움직임 정보는 상기 참조 블록의 움직임 정보 및 상기 참조 블록의 주변 블록들의 움직임 정보를 기반으로 결정될 수 있다.
(9) (7)에 있어서, 상기 현재 블록이 상기 참조 블록보다 작은 경우에, 상기 현재 블록의 움직임 정보는 상기 참조 블록의 서브 블록들의 움직임 정보를 기반으로 결정될 수 있다.
(10) (7)에 있어서, 상기 움직임 정보를 유도하기 위한 정보는, 상기 참조 블록의 움직임 정보를 기반을 복원된 현재 블록의 깊이 값을 보상하는 오프셋 정보를 포함할 수 있다.
(11) 본 발명의 다른 실시형태는 영상 디코딩 방법으로서, 현재 블록의 움직임 정보를 유도하기 위한 정보를 수신하는 단계 및 상기 움직임 정보를 유도하기 위한 정보를 기반으로 상기 현재 블록의 움직임 정보를 유도하는 단계를 포함하며, 상기 현재 블록의 움직임 정보를 유도하는 단계에서는 상기 현재 블록의 움직임 정보를 참조 블록의 움직임 정보를 재활용하여 결정할 수 있다.
(12) (11)에 있어서, 상기 현재 블록은 텍스처 픽처의 블록이고, 상기 움직임 정보를 유도하기 위한 정보가 다른 뷰 내 블록의 움직임 정보를 재활용하여 상기 현재 블록의 움직임 정보를 유도할 것을 지시하는 정보를 포함하는 경우에, 참조 뷰 내 블록을 상기 참조 블록으로 설정할 수 있다.
(13) (12)에 있어서, 상기 움직임 정보를 유도하기 위한 정보는, 상기 참조 뷰의 방향을 지시하는 정보 및/또는 상기 참조 블록에 대한 GDV(Global Disparity Vector)를 지시하는 정보를 포함할 수 있다.
(14) (12)에 있어서, 상기 움직임 정보를 유도하기 위한 정보는 상기 참조 블록에 대한 GDV를 포함할 수 있으며, 상기 GDV의 값은 상기 현재 블록이 속하는 픽처 내에서 영역별로 설정될 수 있다.
(15) (14)에 있어서, 상기 GDV 값이 특정되는 영역은 쿼드 트리 구조를 가질 수 있으며, 상기 움직임 정보를 유도하기 위한 정보는, 상기 쿼드 트리 구조의 최대 깊이를 지시하는 정보; 및
상기 현재 블록이 최대 깊이의 GDV 설정 영역인 경우에 GDV 값을 지시하는 정보를 포함할 수 있다.
(16) (14)에 있어서, 상기 GDV 값이 특정되는 영역은 쿼드 트리 구조를 가질 수 있으며, 상기 움직임 정보를 유도하기 위한 정보는, 상기 GDV 설정 영역의 분할 여부를 지시하는 정보 및 상기 현재 블록이 속하는 GDV 설정 영역이 분할되지 않는 경우에 GDV 값을 지시하는 정보를 포함할 수 있다.
(17) (11)에 있어서, 상기 현재 블록은 깊이 픽처의 블록이고, 상기 움직임 정보를 유도하기 위한 정보가 텍스처 픽처 내 블록의 움직임 정보를 재활용하여 상기 현재 블록의 움직임 정보를 유도할 것을 지시하는 정보를 포함하는 경우에, 상기 깊이 픽처와 동일 뷰 내의 텍스처 픽처 내 블록을 상기 참조 블록으로 설정할 수 있다.
(18) (17)에 있어서, 상기 현재 블록이 상기 참조 블록보다 큰 경우에, 상기 현재 블록의 움직임 정보는 상기 참조 블록의 움직임 정보 및 상기 참조 블록의 주변 블록들의 움직임 정보를 기반으로 유도될 수 있다.
(19) (17)에 있어서, 상기 현재 블록이 상기 참조 블록보다 작은 경우에, 상기 현재 블록의 움직임 정보는 상기 참조 블록의 서브 블록들의 움직임 정보를 기반으로 유도될 수 있다.
(20) (17)에 있어서, 상기 움직임 정보를 유도하기 위한 정보는, 상기 참조 블록의 움직임 정보를 기반을 복원된 현재 블록의 깊이 값을 보상하는 오프셋 정보를 포함할 수 있다.
본 발명에 의하면, 3D 영상의 인코딩 및 디코딩에 있어서, 움직임 정보(예컨대, 움직임 벡터)를 재사용함으로서, 정보의 전송량을 줄이고 정보 처리의 복잡도를 저감할 수 있다.
본 발명에 의하면, 다른 뷰 영상의 움직임 정보를 재활용하여 현재 뷰 영상의 움직임 정보를 결정 또는 유도할 수 있다.
본 발명에 의하면, 텍스처 영상의 움직임 정보를 재활용하여 깊이 영상의 움직임 정보를 결정 또는 유도할 수 있다.
본 발명은 다른 뷰 영상의 움직임 벡터를 현재 뷰 영상에 재활용하거나, 텍스처 영상의 움직임 벡터를 깊이 영상에 재활용함으로써 코딩 효율을 향상 시키고 오버 헤드를 줄일 수 있다.
도 1은 3차원 영상을 처리하기 위한 영상 정보의 일 예를 개략적으로 설명하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 인코딩 장치를 개략적으로 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 영상 디코딩 장치를 개략적으로 나타낸 블록도이다.
도 4는 3D 비디오 인코딩/디코딩 과정에서 GDV를 이용하여 인터-뷰 예측이 수행되는 방법을 개략적으로 설명하는 도면이다.
도 5는 멀티 뷰의 비디오를 디코딩 하는 경우의 일 예를 개략적으로 설명하는 도면이다.
도 6은 인터-뷰 예측의 일 예로서, 스킵 모드가 적용되는 예를 개략적으로 설명하는 도면이다.
도 7은 머지 모드를 이용한 인터 예측에서 현재 블록의 예측에 이용 가능한 주변 블록의 일 예를 개략적으로 설명하는 도면이다.
도 8은 인터 예측에서 현재 블록의 예측에 이용 가능한 주변 블록의 다른 예를 개략적으로 설명하는 도면이다.
도 9는 인터-뷰 예측에서 사용될 수 있는 움직임 벡터 예측자의 일 예를 개략적으로 설명하는 도면이다.
도 10은 인터-뷰 예측에서 사용될 수 있는 움직임 벡터 예측자의 다른 예를 개략적으로 설명하는 도면이다.
도 11은 참조 뷰의 방향을 개략적으로 설명하는 도면이다.
도 12는 현재 픽처의 각 영역별로 GDV를 정의하여 인터-뷰 예측에 적용하는 방법의 일 예를 개략적으로 설명하는 도면이다.
도 13은 동일한 장면을 텍스처 영상과 깊이 영상으로 나타낸 일 예를 개략적으로 설명하는 도면이다.
도 14는 현재 뷰의 깊이 영상을 텍스처 영상의 움직임 정보를 이용하여 예측하는 방법을 개략적으로 설명하는 도면이다.
도 15는 대응하는 텍스처 블록의 움직임 벡터로부터 현재 깊이 블록의 움직임 벡터를 유도하는 방법을 개략적으로 설명하는 도면이다.
도 16은 본 발명에 따라서 움직임 정보를 재활용하여 3D 영상을 인코딩 하는 방법을 개략적으로 설명하는 순서도이다.
도 17은 본 발명에 따라서 인코딩 장치에서 텍스처 영상의 움직임 정보를 결정하고 이를 이용하여 예측을 수행하는 방법의 일 예를 개략적으로 설명하는 순서도이다.
도 18은 본 발명에 따라서 텍스처 영상의 움직임 정보를 이용하여 깊이 영상의 예측을 수행하는 방법의 일 예를 개략적으로 설명하는 순서도이다.
도 19는 본 발명에 따라서 움직임 정보를 재활용하여 3D 영상을 디코딩 하는 방법을 개략적으로 설명하는 순서도이다.
도 20은 본 발명에 따라서 디코딩 장치가 텍스처 영상의 움직임 정보를 유도하는 방법의 일 예를 개략적으로 설명하는 도면이다.
도 21은 본 발명에 따라서 디코딩 장치가 깊이 영상의 움직임 정보를 유도하는 방법의 일 예를 개략적으로 설명하는 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 영상 인코딩 장치/디코딩 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
3 차원 입체 영상을 디스플레이 장치에 재현하기 위한 인코딩/디코딩에 있어서, 인코딩 장치에 입력되는 영상은 텍스처 영상(texture image)과 깊이 맵(depth map)일 수 있다. 깊이 맵은 시점(viewpoint)로부터 영상 내 물체의 표면(surface)까지의 거리를 나타내는 영상을 의미한다. 여기서, 시점은, 예컨대 해당 영상을 촬영하는 카메라일 수 있다. 깊이 맵(깊이 영상)은 깊이를 촬영하는 카메라를 통해 생성될 수 있다.
텍스처 영상은 3차원 영상을 구성하는 영상으로서 깊이 정보 이외의 정보(예컨대, 색상, 명암 등)를 포함하는 영상을 의미하며, 멀티 뷰(multi-view)의 영상들로 구성될 수도 있다.
3차원 영상을 처리하기 위해, 후술하는 인코딩/디코딩 과정에서는 깊이 맵(깊이 영상)과 텍스쳐 영상이 각각 처리될 수 있으며, 텍스처 영상의 경우도 각 뷰(view) 별로 처리될 수 있다. 이때, 깊이 맵의 처리를 위해 텍스처 영상이 참조될 수 있고, 텍스처 영상의 처리를 위해 깊이 맵이 참조될 수도 있다. 또한, 텍스처 영상의 경우 다른 뷰의 영상을 참조하여 처리될 수도 있다.
도 1은 3차원 영상을 처리하기 위한 영상 정보의 일 예를 개략적으로 설명하는 도면이다.
3차원 영상을 처리하기 위해서 상술한 바와 같이, 복수 뷰(view)의 영상이 처리된다. 도 1에서는 설명의 편의를 위해 두 뷰(V1, V2)를 이용하는 영상 처리를 예로서 설명한다.
도 1을 참조하면, 동일한 POC(Picture Order Count)에서 뷰 1(V1)의 텍스처 픽처 VT1과 깊이 맵(depth map) DV1 그리고 뷰 2(V2)의 텍스처 영상 VT2와 깊이 맵 DV2가 존재할 수 있다. POC는 영상 출력 순서를 나타내며, POC가 동일한 영상은 출력되는 순서가 동일하다고 할 수 있다.
V1의 깊이 맵 DV1을 기반으로 카메라 파라미터와 깊이 정보 등 추가적인 정보를 이용한 와핑(warping)을 통해 뷰 1과 다른 뷰에서의 깊이 맵 VD1’을 생성할 수도 있다.
도 2는 본 발명의 일 실시예에 따른 인코딩 장치를 개략적으로 도시한 블록도이다. 도 2를 참조하면, 인코딩 장치(200)는 픽처 분할부(205), 예측부(210), 변환부(215), 양자화부(220), 재정렬부(225), 엔트로피 인코딩부(230), 역양자화부(235), 역변환부(240), 필터부(245) 및 메모리(250)를 구비한다.
픽처 분할부(205)는 입력된 픽처를 적어도 하나의 처리 단위 블록으로 분할할 수 있다. 이때, 처리 단위로서의 블록은 예측 유닛(Prediction Unit, 이하 ‘PU’라 함)일 수도 있고, 변환 유닛(Transform Unit, 이하 ‘TU’라 함)일 수도 있으며, 코딩 유닛(Coding Unit, 이하 ‘CU’라 함)일 수도 있다.
예측부(210)는 픽처 분할부(205)에서 픽처의 처리 단위에 대하여 예측을 수행하여 예측 블록을 생성한다. 예측부(210)에서 픽처의 처리 단위는 CU일 수도 있고, TU일 수도 있고, PU일 수도 있다. 또한, 예측부(210)는 해당 처리 단위에 대하여 적용되는 예측 방법을 결정하고, 각 예측 방법의 구체적인 내용(예컨대, 예측 모드 등)을 정할 수 있다.
예측부(210)는 예측 방법으로서 인트라 예측(intra prediction), 인터 예측(inter prediction), 인터 뷰(inter-view) 예측 중 어느 하나를 적용할 수 있다.
예측부(210)는 인터 예측을 통해서 현재 픽처의 이전 픽처 및/또는 이후 픽처 중 적어도 한 픽처의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 예측부(210)는 인트라 예측을 통해서 현재 픽처 내의 픽셀 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 예측부(210)는 인터-뷰 예측을 통해서 서로 다른 뷰의 픽처를 참조하여 예측 블록을 생성할 수 있다.
인터 예측의 방법으로서, 스킵(skip) 모드, 머지(merge) 모드, MVP(Motion Vector Predtiction) 등을 이용할 수 있다. 인터 예측에서는 PU에 대하여, 참조 픽처를 선택하고 PU와 동일한 크기의 참조 블록을 선택할 수 있다. 예측부(210)는 현재 블록에 대한 레지듀얼(residual) 신호와 움직임 벡터를 최소화하는 예측 블록을 생성한다.
인터 예측을 통해 선택된 참조 픽처의 인덱스, 움직임 벡터(ex. Motion Vector Predictor), 레지듀얼 신호 등의 정보는 엔트로피 인코딩되어 디코딩 장치에 전달된다. 스킵 모드가 적용되는 경우에는 레지듀얼을 예측 블록을 복원 블록으로 할 수 있으므로, 레지듀얼을 생성, 변환, 양자화, 전송하지 않을 수 있다.
인트라 예측을 수행하는 경우에는, PU 단위로 예측 모드가 정해져서 PU 단위로 예측이 수행될 수 있다. 또한, PU 단위로 예측 모드가 정해지고 TU 단위로 인트라 예측이 수행될 수도 있다.
인트라 예측에서 예측 모드는 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비방향성 모드는 DC 예측 모드 및 플래이너 모드(Planar 모드)을 포함할 수 있다.
인트라 예측에서는 참조 샘플에 필터를 적용한 후 예측 블록을 생성할 수도 있다. 이때, 참조 샘플에 필터를 적용할 것인지는 현재 블록의 인트라 예측 모드 및/또는 사이즈에 따라 결정될 수 있다.
인터-뷰 예측에서 예측부(210)는 참조 뷰에서 현재 뷰 내 현재 블록의 예측에 참조 가능한 대응 블록의 위치를 특정하는 글로벌 디스패러티 벡터(Global Disparity Vector: GDV)를 이용하여 현재 블록에 대한 예측을 수행하고, 예측 블록을 생성할 수 있다. 예측부(210)는 대응 블록의 움직임 정보를 기반으로, 인터 예측과 동일하게, 스킵 모드를 적용하거나, 스킵 모드를 적용하거나, MVP를 이용하여 현재 블록에 대한 인터-뷰 예측을 수행할 수 있다.
PU는 다양한 사이즈/형태의 블록일 수 있다. 예컨대 PU는 2N×2N 블록, 2N×N 블록, N×2N 블록, 또는 N×N 블록 (N은 정수) 등일 수 있다. 또한, 상술한 크기의 PU 외에, N×mN 블록, mN×N 블록, 2N×mN 블록 또는 mN×2N 블록 (m<1) 등의 PU를 더 정의하여 사용할 수도 있다.
생성된 예측 블록과 원본 블록 사이의 레지듀얼 값(레지듀얼 블록 또는 레지듀얼 신호)은 변환부(215)로 입력된다. 또한, 예측을 위해 사용한 예측 모드 정보, 움직임 벡터 정보, 디스패러티 벡터 등은 레지듀얼 값과 함께 엔트로피 인코딩부(230)에서 인코딩되어 디코딩 장치에 전달된다.
변환부(215)는 변환 단위별로 레지듀얼 블록에 대한 변환을 수행하고 변환 계수를 생성한다.
변환부(215)는 텍스처 영상과 깊이 맵에 대한 다운 샘플링을 수행한 후에 변환을 수행할 수도 있다. 다운 샘플링은 텍스처 영상과 깊이 맵에서, 저주파 영역에 대해 수행될 수도 있고, 디테일(detail)한 특성이 중요시되지 않는 영역에 대해서 수행될 수도 있다. 다운 샘플링을 통해 복잡도를 낮추고 코딩 효율을 높일 수 있다.
변환부(215)에서의 변환 단위는 TU일 수 있으며, 쿼드 트리(quad tree) 구조를 가질 수 있다. 이때, 변환 단위의 크기는 소정의 최대 및 최소 크기의 범위 내에서 정해질 수 있다. 변환부(215)는 레지듀얼 블록을 DCT(Discrete Cosine Transform) 및/또는 DST(Discrete Sine Transform)를 이용하여 변환할 수 있다.
양자화부(220)는 변환부(215)에서 변환된 레지듀얼 값들을 양자화하여 양자화 계수를 생성할 수 있다. 양자화부(220)에서 산출된 값은 역양자화부(235)와 재정렬부(225)에 제공된다.
재정렬부(225)는 양자화부(220)로부터 제공된 양자화 계수를 재정렬한다. 양자화 계수를 재정렬함으로써 엔트로피 인코딩부(230)에서의 인코딩 효율을 높일 수 있다. 재정렬부(225)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원 블록 형태의 양자화 계수들을 1차원의 벡터 형태로 재정렬할 수 있다. 재정렬부(225)에서는 양자화부에서 전송된 계수들의 확률적인 통계를 기반으로 계수 스캔닝의 순서를 변경함으로써 엔트로피 인코딩부(230)에서의 엔트로피 인코딩 효율을 높일 수도 있다.
엔트로피 인코딩부(230)는 재정렬부(225)에 의해 재정렬된 양자화 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩에는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding) 등과 같은 인코딩 방법을 사용할 수 있다. 엔트로피 인코딩부(230)는 재정렬부(225) 및 예측부(210)로부터 전달받은 양자화 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, 전송 단위 정보, 움직임 벡터 정보, 참조 픽처 정보, 블록의 보간 정보, 필터링 정보 등 다양한 정보를 인코딩할 수 있다.
엔트로피 인코딩부(230)는 멀티 뷰에 대한 영상 정보와 깊이 맵에 대한 영상 정보를 다중화하여 비트스트림으로 전송할 수도 있다.
역양자화부(235)는 양자화부(220)에서 양자화된 값들을 역양자화하고, 역변환부(240)는 역양자화부(235)에서 역양자화된 값들을 역변환한다. 역변환부(240)는 변환부(215)에서 다운 샘플링이 수행된 경우에, 역변환된 레지듀얼 블록에 업 샘플링을 수행할 수 있다. 업 샘플링의 샘플링 비율은 변환부(215)에서 수행된 다운 샘플링의 샘플링 비율에 대응하여 결정될 수 있다.
역양자화부(235) 및 역변환부(240)에서 생성된 레지듀얼 값과 예측부(210)에서 예측된 예측 블록이 합쳐져 복원 블록(Reconstructed Block)이 생성될 수 있다.
도 2에서는 가산기를 통해서, 레지듀얼 블록과 예측 블록이 합쳐져 복원 블록이 생성되는 것으로 설명하고 있다. 이때, 가산기를 복원 블록을 생성하는 별도의 유닛(복원 블록 생성부)로 볼 수도 있다.
필터부(245)는 필요에 따라 디블록킹 필터, ALF(Adaptive Loop Filter), SAO(Sample Adaptive Offset) 중 적어도 하나를 복원된 픽처에 적용할 수 있다.
디블록킹 필터는 복원된 픽처에서 블록 간의 경계에 생긴 왜곡을 제거할 수 있다. ALF(Adaptive Loop Filter)는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. ALF는 고효율을 적용하는 경우에 수행될 수도 있다. SAO는 디블록킹 필터가 적용된 레지듀얼 블록에 대하여, 픽셀 단위로 원본 영상과의 오프셋 차이를 복원하며, 밴드 오프셋(Band Offset), 에지 오프셋(Edge Offset) 등의 형태로 적용된다.
메모리(250)는 필터부(245)를 통해 산출된 복원 블록 또는 픽처를 저장할 수 있다. 메모리(250)에 저장된 복원 블록 또는 픽처는 인터 예측을 수행하는 예측부(210)에 제공될 수 있다.
도 3은 본 발명의 일 실시예에 따른 영상 디코딩 장치를 개략적으로 나타낸 블록도이다. 도 3을 참조하면, 영상 디코딩 장치(300)는 엔트로피 디코딩부(310), 재정렬부(315), 역양자화부(320), 역변환부(325), 예측부(330), 필터부(335) 메모리(340)를 포함할 수 있다.
영상 인코딩 장치에서 영상 비트스트림이 입력된 경우, 입력된 비트스트림은 영상 인코딩 장치에서 영상 정보가 처리된 절차에 따라서 디코딩될 수 있다.
예컨대, 영상 인코딩 장치에서 엔트로피 인코딩을 수행하기 위해 CAVLC 등의 가변 길이 부호화(Variable Length Coding: VLC, 이하 ‘VLC’ 라 함)가 사용된 경우에, 엔트로피 디코딩부(310)도 인코딩 장치에서 사용한 VLC 테이블과 동일한 VLC 테이블로 구현하여 엔트로피 디코딩을 수행할 수 있다. 또한, 영상 인코딩 장치에서 엔트로피 인코딩을 수행하기 위해 CABAC을 이용한 경우에, 엔트로피 디코딩부(310)는 이에 대응하여 CABAC을 이용한 엔트로피 디코딩을 수행할 수 있다.
인코딩 장치로부터 수신한 비트스트림이 멀티 뷰에 대한 영상 정보와 깊이 맵에 대한 영상 정보가 다중화된 것이라면, 엔트로피 디코딩부(310)는 수신한 비트스트림를 역다중화한 후 엔트로피 디코딩을 수행할 수도 있다.
엔트로피 디코딩부(310)에서 디코딩된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(330)로 제공되고, 엔트로피 디코딩부(310)에서 엔트로피 디코딩이 수행된 레지듀얼 값은 재정렬부(315)로 입력될 수 있다.
재정렬부(315)는 엔트로피 디코딩부(310)에서 엔트로피 디코딩된 비트스트림을 영상 인코딩 장치에서 재정렬한 방법을 기초로 재정렬할 수 있다. 재정렬부(315)는 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부(315)는 인코딩 장치에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 인코딩 장치에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통해 재정렬을 수행할 수 있다.
역양자화부(320)는 인코딩 장치에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.
역변환부(325)는 영상 인코딩 장치에서 수행된 양자화 결과에 대해, 인코딩 장치의 변환부가 수행한 DCT 및 DST에 대해 역DCT 및/또는 역DST를 수행할 수 있다. 역변환은 인코딩 장치에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 인코딩 장치의 변환부에서 DCT 및/또는 DST는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 디코딩 장치의 역변환부(325)는 인코딩 장치의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
인코딩 장치에서 레지듀얼 블록에 다운 샘플링이 수행된 후에 변환이 이루어졌다면, 역변환부(325)는 인코딩 장치에서 수행된 다운 샘플링에 대응하여 역변환된 레지듀얼 블록에 대한 업 샘플링을 수행할 수 있다.
예측부(330)는 엔트로피 디코딩부(310)에서 제공된 예측 블록 생성 관련 정보와 메모리(340)에서 제공된 이전에 디코딩된 블록 및/또는 픽처 정보를 기초로 예측 블록을 생성할 수 있다.
현재 블록에 대한 예측 모드가 인트라 예측(intra prediction) 모드인 경우에, 예측부(340)는 현재 픽처 내의 픽셀 정보를 기초로 예측 블록을 생성하는 인트라 예측을 수행하고 예측 블록을 생성할 수 있다.
현재 블록에 대한 예측 모드가 인터 예측(inter prediction) 모드인 경우에, 예측부(340)는 현재 픽처의 이전 픽처 또는 이후 픽처 중 적어도 하나의 픽처에 포함된 정보를 기초로 현재 블록에 대한 인터 예측을 수행하고 예측 블록을 생성할 수 있다. 이때, 인코딩 장치에서 제공된 현재 블록의 인터 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보는 인코딩 장치로부터 수신한 스킵 플래그, 머지 플래그 등을 확인하고 이에 대응하여 유도될 수 있다.
현재 블록에 대해 인터-뷰 예측이 적용된 경우에, 예측부(340)는 다른 뷰 내의 참조 픽처를 이용하여 현재 블록에 대한 예측을 수행하고 예측 블록을 생성할 수 있다.
복원 블록은 예측부(330)에서 생성된 예측 블록과 역변환부(325)에서 제공된 레지듀얼 블록을 이용해 생성될 수 있다. 도 3에서는 가산기에서 예측 블록과 레지듀얼 블록이 합쳐져 복원 블록이 생성되는 것으로 설명하고 있다. 이때, 가산기를 복원 블록을 생성하는 별도의 유닛(복원 블록 생성부)로 볼 수 있다.
스킵 모드가 적용되는 경우에는 레지듀얼이 전송되지 않으며 예측 블록을 복원 블록으로 할 수 있다.
복원된 블록 및/또는 픽처는 필터부(335)로 제공될 수 있다. 필터부(335)는 필요에 따라서 복원된 블록 및/또는 픽처에 디블록킹 필터링, SAO(Sample Adaptive Offset) 및/또는 ALF 등을 적용할 수 있다.
메모리(340)는 복원된 픽처 또는 블록을 저장하여 참조 픽처 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽처를 출력부로 제공할 수 있다. 도시되지는 않았으나, 출력부는 복원된 멀티 뷰의 픽처들을 이용하여 3DV 영상을 제공할 수 있다.
3D 비디오 인코딩/디코딩에서는 복수의 카메라에서 촬영된 멀티 뷰 비디오 시퀀스가 이용된다. 서로 다른 뷰(view, 視點)에서 촬영된 영상들 사이에서는 글로벌 디스패러티(global disparity)라고 하는 차이(disparity)가 존재한다. 글로벌 디스패러티는 현재 뷰(View)에서 특정 시간의 픽처와 다른 뷰에서 동일한 시간의 픽처 사이에 존재하는 전체적인(global) 변이의 차이라고 할 수 있다. 이때, 두 뷰 사이의 전체적인 변이의 차이는 글로벌 디스패터리 벡터(Global Disparity Vector: GDV, 이하 ‘GDV’ 라 함)를 통해 나타낼 수 있다.
도 4는 3D 비디오 인코딩/디코딩 과정에서 GDV를 이용하여 인터-뷰 예측이 수행되는 방법을 개략적으로 설명하는 도면이다. 도 4에서는 설명의 편의를 위해, 각 뷰 내의 텍스쳐 영상들에 대한 경우를 예로서 설명한다.
도 4에서는 멀티 뷰들 중에서 n번째 뷰(Vn)의 픽처(400) 내 현재 블록(410)에 대하여 인터-뷰 예측을 수행하는 경우를 예로서 설명한다.
도 4를 참조하면, 현재 블록(410)의 인터-뷰 예측을 위해, 멀티-뷰 중 m번째 뷰(Vm)의 픽처(420) 내 참조 블록(430)의 움직임 정보를 참조할 수 있다. n번째 뷰의 픽처(400)와 m 번째 뷰의 픽처(420)은 동일한 시간, 즉 동일한 POC(Picture Order Count)의 픽처이다. POC는 픽처의 출력 순서를 나타내는 정보이다.
서로 다른 뷰에 속하는 현재 블록(410)과 참조 블록(430)의 관계는 GDVnm(450)에 의해 정의될 수 있다. 현재 블록(410)을 m 번째 뷰에 투영한 블록(440)과 참조 블록(430)의 관계를 생각하면, n 번째 뷰에서 현재 블록(410)의 좌상단 픽셀 (x, y)와 m 번째 뷰에서 참조 블록(430)의 좌상단 픽셀 (x’, y’)의 관계는 수식 1과 같이 나타낼 수 있다.
<수식 1>
(x’, y’) = GDVnm + (x, y)
GDVnm = (dvxnm, dvynm)
n 번째 뷰의 현재 블록(410)은 수식 1과 같이 유도된 GDV에 의해 특정되는 m 번째 뷰의 참조 블록(430)를 참조 블록으로 해서 예측(460)될 수 있다.
인코딩 장치는 동일한 POC에서 서로 다른 뷰의 두 픽처에 대한 오차를 최소화하는 디스패리티를 해당 뷰 간의 글로벌 디스패리티로 선택할 수 있다. 예컨대, 두 뷰 사이에서 최적의 SAD(Sum of Absolute Differences) 값을 가지는 디스페리티를 블록 단위로 결정할 수 있다. 이때, SAD 대신 MSE(Mean Square Error), MAD(Mean Absolute Difference) 등이 이용될 수도 있다.
GDV(Global Disparity Vector, 전역 변이 벡터)는 선택된 글로벌 디스패리티를 나타내는 벡터 표현이 된다.
인코딩 장치는 산출한 GDV 정보를 비트스트림으로 전송하여 디코딩 장치에서도 동일한 GDV가 사용되도록 할 수 있다.
GDV를 이용하여 인터-뷰 예측을 하는 경우에는, GDV에 의해 현재 뷰의 현재 블록에 대응하는 참조 뷰(reference view)의 참조 픽처 내 블록(참조 블록)에서 움직임 정보를 가져와 현재 블록의 예측에 이용할 수 있다. 예컨대, 참조 블록의 움직임 정보(예컨대, 움직임 벡터)를 복사하여 현재 블록의 시간적 움직임 벡터(temporal motion vector)로 이용하거나, 현재 블록의 움직임 벡터 예측자(motion vector predictor)로 이용할 수 있다.
도 4에서는 텍스처 영상들에 대한 경우를 예로서 설명하였으나, 본 발명은 이에 한정하지 않는다. 도 4의 예에서 설명한 내용은 깊이 맵들에 대한 경우 또는 깊이 맵과 텍스처 영상 간의 경우에도 동일하게 적용될 수 있다.
도 5는 멀티 뷰의 비디오를 디코딩 하는 경우의 일 예를 개략적으로 설명하는 도면이다. 도 5의 예에서는 세 뷰(V0, V1, V2)의 비디오를 디코딩하는 경우로서, 각 뷰의 픽처들이 POC에 따라서 시퀀스를 이루고 있으며, POC 순서상 연속된 8개의 픽처가 하나의 그룹(Group Of Picture: GOP)를 이루는 경우를 일 예로서 설명하고 있다. 또한 도 5에서도 설명의 편의를 위해 텍스처 영상에 대한 경우를 예로서 설명한다.
도 5에 있어서, GDV10은 뷰 V0를 참조 뷰(reference view)로 해서 뷰 V1의 현재 블록을 예측하는데 이용되는 GDV이며, GDV12는 뷰 V2를 참조 뷰로 해서 뷰 V1의 현재 블록을 예측하는데 이용되는 GDV이고, GDV20은 뷰 V0을 참조 뷰로 해서 뷰 V2의 현재 블록을 예측하는데 이용되는 GDV이다. GDV는 서로 다른 두 뷰(view)의 동일한 시점(time, 즉 POC)에 있는 픽처들 사이에서, 두 블록의 대응 관계를 지시한다.
각 GDV는 상술한 바와 같이 인코딩 장치로부터 비트스트림으로 전송되거나 되며, 디코딩 장치는 비트스트림으로부터 GDV를 디코딩하여 이용할 수 있다.
도 5를 참조하면, 뷰 V2에서 현재 픽처(500)의 현재 블록(520)에 대한 예측을 뷰 V0의 참조 픽처(510) 내 블록(530, 참조 블록)을 참조하여 수행한다. 현재 픽처(500)와 참조 픽처(510)는 동일한 POC (POC=2)를 가진다. GDV20 = (dvx20, dvy20)는 상술한 바와 같이, 현재 뷰(V2)를 디코딩할 때, 참조 뷰(V0)에서 참조 블록의 위치를 특정하기 위한 GDV(Global Disparity Vector)이다.
수식 1을 참조하면, V0에서 현재 픽처(500) 내 현재 블록의 좌상단 위치가 (x, y)인 경우에, V2(참조 뷰)에서 참조 픽처(510) 내 대응 블록(430, 참조 블록)의 좌상단 위치 (x’, y’)는 수식 2와 같이 특정될 수 있다.
<수식 2>
(x’, y’) = (x, y) + GDV 20
인코딩 장치 및 디코딩 장치는 인터-뷰 예측의 경우에 GDV에 의해 결정되는 참조 뷰 내 블록의 움직임 정보를 참조하여 현재 블록에 대한 예측을 수행한다. 예컨대, 도 5의 예에서, 인코딩 장치 및 디코딩 장치는 GDV20에 의해 특정되는 위치 (x’, y’)의 참조 블록(530)에서 움직임 정보를 복사하여 현재 블록(520)의 시간적 움직임 벡터로 이용하거나 현재 블록(520)의 움직임 벡터 예측자로 이용할 수 있다.
도 5에서는 텍스처 영상들에 대한 경우를 예로서 설명하였으나, 본 발명은 이에 한정하지 않는다. 도 5의 예에서 설명한 내용은 깊이 맵들에 대한 경우 또는 깊이 맵과 텍스처 영상 간의 경우에도 동일하게 적용될 수 있다.
한편, 멀티-뷰 비디오 영상(video)을 구성하는 각 뷰의 영상은 동일한 장면을 복수의 카메라(예컨대, 나란히 배치된 카메라들)을 통해 촬영하여 얻어진다. 따라서, 이웃하는 뷰의 영상들 간에는 텍스처 상관도(texture correlation)와 움직임 상관도(motion correlation)가 높다.
멀티-뷰를 이용하는 비디오 코딩에 있어서, 인터-뷰 예측(inter-view prediction)을 수행할 때는 이웃하는 뷰들 간의 높은 텍스처 상관도를 활용할 수 있다. 예컨대, 인터-뷰 예측에서는 이웃하는 뷰의 픽처를 참조 픽처로 이용하여 인터 예측을 수행할 수 있다.
인터-뷰 예측을 할 때, 이웃 뷰(참조 뷰)와의 텍스처 상관도가 높다면, 참조 뷰의 대응 블록에서 인터 예측에 사용된 움직임 정보를 현재 뷰의 현재 블록에 그대로 적용할 수 있다. 예컨대, 인터-뷰 예측에 있어서 스킵 모드를 적용할 수 있다.
도 6은 인터-뷰 예측의 일 예로서, 스킵 모드가 적용되는 예를 개략적으로 설명하는 도면이다.
도 6에서는 설명의 편의를 위해 인터-뷰 예측이 수행되는 두 뷰(참조 뷰와 현재 뷰) 간에 스킵 모드가 적용되는 예를 설명한다.
인터-뷰 예측에서 스킵 모드는 이웃하는 뷰 사이의 높은 움직임 상관도를 활용한다. 참조 뷰의 인터 예측 모드에 사용된 움직임 정보를 현재 뷰의 스킵 모드 코딩에 적용할 수 있다.
도 6을 참조하면, 앵커(anchor) 픽처의 POCA에서 참조 뷰의 움직임 정보를 기반으로 현재 뷰의 움직임 정보가 예측된다. 논 앵커(non-anchor) 픽처의 현재 POC(POCcur)에서도 현재 블록(610)은 참조 뷰 내 대응 블록(620)에 대한 GDV를 기반으로 인터-뷰 예측된다. GDV는 참조 하는 이웃 뷰의 참조 픽처에서 현재 블록에 대응하는 블록(대응 블록)의 위치를 산출하기 위해 사용된다. 산출된 대응 블록에서 사용된 움직임 정보는 스킵 모드가 적용되는 경우에 현재 블록의 코딩에 그대로 이용된다.
앵커 픽처는 동일한 액세스 유닛 내에서 모든 슬라이스가 참조 슬라이스들인 픽처들이다. 따라서, 앵커 픽처에 인터 예측(inter prediction)은 이용되지 않으며 인터-뷰 예측(inter-view)이 이용된다. 또한, POC 순서상 앵커 픽처를 뒤따르는 픽처들도 앞서 코딩된 픽처들의 정보를 이용한 인터 예측을 사용하지 않고 인터-뷰 예측을 사용하여 예측될 수 있다.
한편, 인터 예측의 경우에는 주변 블록의 움직임 정보를 재활용하여 현재 블록에 대한 예측을 수행할 수 있다. 이때, 주변 블록은 현재 픽처 내에서 현재 블록의 공간적 주변 블록과 다른 픽처 내에서 현재 블록에 대응하는 블록(collocated block)을 포함한다.
예컨대, 머지 모드와 스킵 모드의 경우에는 주변 블록의 움직임 정보들 중 어느 하나를 현재 블록의 움직임 정보로 이용한다. 스킵 모드의 경우에 인코딩 장치는 레지듀얼 신호를 전송하지 않고, 디코딩 장치는 주변 블록의 움직임 정보를 이용하여 생성한 예측 신호를 현재 블록의 복원 신호로서 이용할 수 있다. MVP를 이용하는 경우에도, 인코딩 장치는 주변 블록들의 움직임 벡터 중 어느 하나를 현재 블록의 움직임 벡터 예측자로 사용하여 움직임 벡터의 차이값을 전송할 수 있고, 디코딩 장치는 수신한 움직임 벡터의 차이값을 기반으로 현재 블록에 대한 움직임 벡터를 복원할 수 있다.
상술한 바와 같이, 인터 예측의 경우에는 주변 블록의 움직임 정보를 재활용하여 현재 블록의 움직임 정보를 예측할 수 있다.
도 7은 머지 모드를 이용한 인터 예측에서 현재 블록의 예측에 이용 가능한 주변 블록의 일 예를 개략적으로 설명하는 도면이다.
도 7을 참조하면, 현재 블록(750) 주변 블록들의 움직임 벡터 정보 중 상측 블록(above block, 700)의 움직임 벡터 정보, 좌측 블록(left block, 710)의 움직임 벡터 정보, Col 블록(co-located block, 720)의 움직임 벡터 정보, 좌하단(bottom left corner) 블록(730)의 움직임 벡터 정보, 우상측(top right corner) 블록(740)의 움직임 벡터 정보들을 현재 블록의 움직임 벡터 예측자(motion vector predictor) 후보로 이용할 수 있다.
움직임 벡터 예측자는 해당 블록에서 사용된 움직임 벡터 정보, 참조 픽처 인덱스 정보, 예측 방향 정보 등을 포함할 수 있다. 움직임 벡터 예측자는 또한, 해당 블록에서 사용된 움직임 벡터 정보를 포함하고, 현재 픽처의 예측에 이용될 참조 픽처 인덱스는 인코딩 장치에서 결정되어 디코딩 장치로 전송될 수도 있다. 한편, 머지 모드 또는 스킵 모드에서 시간적 머지 후보에 대한 참조 픽처 인덱스(예컨대, Col 블록에 대한 참조 픽처 인덱스)는 Col 블록이 참조하는 픽처와 무관하게 참조 픽처 리스트 내의 후보 참조 픽처들 중에서 특정 참조 픽처가 사용될 수도 있다.
인코딩 장치는 움직임 벡터 예측자 후보들 중에서 현재 블록의 움직임 벡터 예측자를 선택할 수 있다. 예컨대, 인코딩 장치는 RDO(Rate Distortion Optimization), 압축 효율 등을 고려하여 현재 블록의 움직임 정보 예측자를 결정할 수 있다. 디코딩 장치는 인코딩 장치로부터 어떤 움직임 정보 예측자를 사용할 것인지를 지시하는 정보를 수신하고, 해당 움직임 정보 예측자를 이용하여 현재 블록에 대한 예측을 수행할 수 있다.
한편, 스킵 모드와 MVP를 이용하는 예측 모드에서도 도 7에 도시된 바와 같은 움직임 벡터 예측자 후보를 머지 모드와 동일하게 이용할 수 있다. MVP를 이용하는 경우에는 참조 픽처 인덱스가 별도로 인코딩 장치로부터 디코딩 장치로 전송될 수도 있다.
도 8은 인터 예측에서 현재 블록의 예측에 이용 가능한 주변 블록의 다른 예를 개략적으로 설명하는 도면이다.
인코딩 장치와 디코딩 장치는 현재 블록(860) 주변 블록들의 움직임 정보를 이용하여 현재 블록에 대한 예측을 수행할 수 있다. 도 8을 참조하면, 현재 블록(860)의 좌상측 블록(800), 현재 블록(860)의 상측 블록(810), 현재 블록의 우상측 블록(820), 현재 블록(860)의 좌하단 블록(830), 현재 블록(860)의 좌측 블록(840)과 다른 픽처에서 현재 블록(860)에 대응하는 Col 블록(collocated block, 850)의 움직임 정보 중 어느 하나를 현재 블록에 대한 움직임 정보 예측자(predictor)로 사용할 수 있다.
인코딩 장치는 움직임 벡터 예측자 후보들 중에서 현재 블록의 움직임 벡터 예측자를 선택할 수 있다. 예컨대, 인코딩 장치는 RDO(Rate Distortion Optimization), 압축 효율 등을 고려하여 현재 블록의 움직임 정보 예측자를 결정할 수 있다. 디코딩 장치는 인코딩 장치로부터 어떤 움직임 정보 예측자를 사용할 것인지를 지시하는 정보를 수신하고, 해당 움직임 정보 예측자를 이용하여 현재 블록에 대한 예측을 수행할 수 있다.
상술한 바와 같이, 움직임 벡터 예측자는 대응하는 블록에 적용된 움직임 벡터, 참조 픽처 인덱스 등을 포함할 수 있다. 예컨대, 머지 모드 또는 스킵 모드의 경우에, 선택된 움직임 벡터 예측자의 정보로서 주변 블록에 대한 움직임 벡터, 참조 픽처 인덱스를 현재 블록에 적용할 수 있다. MVP를 이용하는 경우에는 선택된 움직임 벡터 예측자의 정보로서 주변 블록에 대한 움직임 벡터를 현재 블록에 적용할 수 있다. MVP를 이용하는 경우에, 참조 픽처 인덱스는 인코딩 장치로부터 디코딩 장치로 전송될 수 있다. 한편, 머지 모드 또는 스킵 모드에서 시간적 머지 후보에 대한 참조 픽처 인덱스(예컨대, Col 블록에 대한 참조 픽처 인덱스)는 Col 블록이 참조하는 픽처와 무관하게 참조 픽처 리스트 내의 후보 참조 픽처들 중에서 특정 참조 픽처가 사용될 수도 있다.
인터-뷰 예측의 경우에도, 도 7 및 도 8의 예와 같이, 주변 블록의 움직임 정보를 이용하여 현재 블록에 대한 예측을 수행할 수 있다. 인터-뷰 예측에서 주변 블록의 정보를 이용하는 경우에, 주변 블록은 다른 뷰에서 현재 블록에 대응하는 블록을 포함한다.
도 9는 인터-뷰 예측에서 사용될 수 있는 움직임 벡터 예측자의 일 예를 개략적으로 설명하는 도면이다.
도 9에서는 현재 뷰(V1)의 예측에 있어서 참조 뷰(V0)의 정보를 참조할 수 있는 경우를 예로서 설명하고 있다. 또한, 도 9에서는 도 7의 예에서와 같이 현재 픽처(900) 내 공간적 인접 블록들인 현재 블록(915)의 상측 블록(930), 현재 블록(915)의 우상측 블록(935), 현재 블록(915)의 좌측 블록(925), 현재 블록(915)의 좌하단 블록(920)의 움직임 정보(예측자)를 이용하여 현재 블록(915)에 대한 인터 예측을 수행할 수 있다. 즉, 인코딩 장치/디코딩 장치는 현재 블록(915)의 상측 블록(930)의 움직임 정보(960), 현재 블록(915)의 우상측 블록(935)의 움직임 정보(965), 현재 블록(915)의 좌측 블록(925)의 움직임 정보(955), 현재 블록(915)의 좌하단 블록(920)의 움직임 정보(950)를 움직임 벡터 예측자 후보로 이용하여 현재 블록(915)에 대한 인터 예측을 수행할 수 있다.
또한, 현재 블록(915)의 주변 블록으로서 현재 뷰(V1)의 다른 픽처(905)에서 현재 블록(915)에 대응하는 Col 블록(940)을 이용할 수도 있다. 인코딩 장치/디코딩 장치는 Col 블록(940)의 움직임 정보(970)를 움직임 벡터 예측자 후보로 이용하여 현재 블록(915)에 대한 인터 예측을 수행할 수 있다.
아울러, 현재 블록의 주변 블록으로서 다른 뷰(참조 뷰, V0)의 픽처들 중 현재 픽처(900)와 동일한 POC의 픽처(참조 픽처, 910)에서 현재 블록(915)에 대응하는 참조 블록(945)을 이용할 수도 있다. 인코딩 장치/디코딩 장치는 다른 뷰(V0)의 참조 블록(945)의 움직임 정보(975)를 움직임 벡터 예측자 후보로 이용하여 현재 블록(915)에 대한 인터-뷰 예측을 수행할 수 있다.
인코딩 장치는 상기 움직임 벡터 예측자 후보들 중 현재 블록(915)의 예측에 어떤 움직임 벡터 예측자를 이용할 것인지를 결정하고 결정된 움직임 벡터 예측자에 관한 정보를 디코딩 장치에 전송할 수 있다. 디코딩 장치는 인코딩 장치로부터 전송된 정보를 기반으로 현재 블록(915)의 예측에 이용할 움직임 벡터 예측자를 유도할 수 있다.
상술한 바와 같이, 도 9의 예에서는 현재 블록(915)에 대한 움직임 정보 예측자 후보에 인터-뷰 예측을 위한 예측자(predictor)를 추가하여 현재 블록에 대한 예측을 수행할 수 있다. 예컨대, 도 7과 같은 움직임 벡터 예측자 후보들에 인터-뷰 예측을 위한 움직임 벡터 예측자(인터-뷰 움직임 벡터 예측자)를 추가하여, 스킵 모드와 같은 인터 예측 모드들에 적용하는 방식으로 주변 블록들의 움직임 정보를 재활용할 수 있다.
인터-뷰 예측의 경우에 사용되는 움직임 벡터 예측자(975)는 도시된 바와 같이 GDV를 이용하여 찾은 대응 블록(945)의 움직임 정보로서, 움직임 벡터, 참조 픽처 인덱스(refIdx), 인터 예측 방향 등의 정보 중 적어도 하나의 정보를 포함할 수 있다.
움직임 벡터 예측자(975)는 인터-뷰 예측과 인터 예측의 각 예측 모드(스킵 모드, 머지 모드, MVP 사용 모드)에 적용될 수 있으며, GDV를 이용하여 대응하는 블록으로 결정된 참조 뷰(V0)의 블록(945)이 인터 예측이 적용된 블록이 아닌 경우에는 인터-뷰 예측을 위한 움직임 벡터 예측자는 정의되지 않거나 사용되지 않을 수 있다.
도 10은 인터-뷰 예측에서 사용될 수 있는 움직임 벡터 예측자의 다른 예를 개략적으로 설명하는 도면이다.
도 10에서는 현재 뷰(V1)의 예측에 있어서 참조 뷰(V0)의 정보를 참조할 수 있는 경우를 예로서 설명하고 있다. 또한, 도 10에서는 도 8의 예에서와 같이 현재 픽처(1000) 내 공간적 인접 블록들인 현재 블록(1015)의 우상단 블록(1020), 현재 블록(1015)의 상측 블록(1025), 현재 블록(1015)의 좌상단 블록(1030), 현재 블록(1015)의 좌하단 블록(1035), 현재 블록(1015)의 좌측 블록(1040)의 움직임 정보(예측자)를 이용하여 현재 블록(1015)에 대한 인터 예측을 수행할 수 있다. 즉, 인코딩 장치/디코딩 장치는 현재 블록(1015)의 우상단 블록(1020)의 움직임 정보(1055), 현재 블록(1015)의 상측 블록(1025)의 움직임 정보(1060), 현재 블록(1015)의 좌상단 블록(1030)의 움직임 정보(1065), 현재 블록(1015)의 좌하단 블록(1035)의 움직임 정보(1070), 현재 블록(1015)의 좌측 블록(1040)의 움직임 정보(1075)를 움직임 벡터 예측자 후보로 이용하여 현재 블록(1015)에 대한 인터 예측을 수행할 수 있다.
또한, 현재 블록(1015)의 주변 블록으로서 현재 뷰(V1)의 다른 픽처(1005)에서 현재 블록(1015)에 대응하는 Col 블록(1045)을 이용할 수도 있다. 인코딩 장치/디코딩 장치는 Col 블록(1045)의 움직임 정보(1080)를 움직임 벡터 예측자 후보로 이용하여 현재 블록(1015)에 대한 인터 예측을 수행할 수 있다.
아울러, 현재 블록의 주변 블록으로서 다른 뷰(참조 뷰, V0)의 픽처들 중 현재 픽처(1000)와 동일한 POC의 픽처(참조 픽처, 1010)에서 현재 블록(1015)에 대응하는 참조 블록(1050)을 이용할 수도 있다. 인코딩 장치/디코딩 장치는 다른 뷰(V0)의 참조 블록(1050)의 움직임 정보(1085)를 움직임 벡터 예측자 후보로 이용하여 현재 블록(1015)에 대한 인터-뷰 예측을 수행할 수 있다.
인코딩 장치는 상기 움직임 벡터 예측자 후보들 중 현재 블록(1015)의 예측에 어떤 움직임 벡터 예측자를 이용할 것인지를 결정하고 결정된 움직임 벡터 예측자에 관한 정보를 디코딩 장치에 전송할 수 있다. 디코딩 장치는 인코딩 장치로부터 전송된 정보를 기반으로 현재 블록(1015)의 예측에 이용할 움직임 벡터 예측자를 유도할 수 있다.
상술한 바와 같이, 도 10의 예에서는 현재 블록(1015)에 대한 움직임 정보 예측자 후보에 인터-뷰 예측을 위한 예측자(predictor)를 추가하여 현재 블록에 대한 예측을 수행할 수 있다. 예컨대, 도 8과 같은 움직임 벡터 예측자 후보들에 인터-뷰 예측을 위한 움직임 벡터 예측자(인터-뷰 움직임 벡터 예측자)를 추가하여, 스킵 모드와 같은 인터 예측 모드들에 적용하는 방식으로 주변 블록들의 움직임 정보를 재활용할 수 있다.
인터-뷰 예측의 경우에 사용되는 움직임 벡터 예측자(1085)는 도시된 바와 같이 GDV를 이용하여 찾은 대응 블록(1050)의 움직임 정보로서, 움직임 벡터, 참조 픽처 인덱스(refIdx), 인터 예측 방향 등의 정보 중 적어도 하나의 정보를 포함할 수 있다.
움직임 벡터 예측자(1085)는 인터-뷰 예측과 인터 예측의 각 예측 모드(스킵 모드, 머지 모드, MVP 사용 모드)에 적용될 수 있으며, GDV를 이용하여 대응하는 블록으로 결정된 참조 뷰(V0)의 블록(1050)이 인터 예측이 적용된 블록이 아닌 경우에는 인터-뷰 예측을 위한 움직임 벡터 예측자는 정의되지 않거나 사용되지 않을 수 있다.
스킵 모드 또는 머지 모드가 적용되는 경우에, 움직임 벡터 예측자들(1055, 1060, 1065, 1070, 1075, 1080, 1085)은 움직임 벡터 외에 현재 블록의 예측에 이용될 참조 픽처를 지시하는 정보를 포함할 수도 있다. 혹은 MVP를 이용하는 경우에, 움직임 벡터 예측자들(1055, 1060, 1065, 1070, 1075, 1080, 1085)은 움직임 벡터에 관한 정보를 포함하며, 현재 블록에 대한 참조 픽처를 지시하는 정보는 별도로 디코딩 장치에 전송되도록 할 수도 있다.
상술한 바와 같이, 인터-뷰 예측에서도 현재 블록에 대응하는 다른 뷰(참조 뷰) 내 블록(대응 블록 혹은 참조 블록)의 움직임 정보를 재활용하여 현재 뷰 내 대상 블록(현재 블록)의 예측을 수행할 수 있다.
인코딩 장치는 이를 위해 슬라이스 헤더에서 필요한 정보를 전송할 수 있다. 디코딩 장치는 수신한 정보를 기반으로 현재 블록에 대한 인터-뷰 예측을 수행할 수 있다.
표 1은 슬라이스 헤더에서 전송되는 정보의 일 예를 개략적으로 나타낸다.
<표 1>
Figure PCTKR2012008311-appb-I000001
표 1을 참조하면, 인코딩 장치는 슬라이스 헤더에서 인터-뷰 예측을 위해 필요한 정보를 전송한다. 디코딩 장치는 수신한 비트스트림을 파싱 또는 엔트로피 디코딩하여 슬라이스 헤더에서 인터-뷰 예측을 위해 필요한 정보를 획득하고 이를 기반으로 인터-뷰 예측을 수행할 수 있다.
inter_view_motion_reuse_info_flag는 인터-뷰 예측에 있어서 해당 슬라이스 헤더에 대응하는 현재 슬라이스에 움직임 정보(예컨대 움직임 벡터)를 재사용하는 것에 관한 정보가 전송되는지를 지시한다. 예컨대, 움직임 정보(예컨대 움직임 벡터)를 재사용하는 것에 관한 정보는 움직임 정보를 재사용하는지를 지시하는 정보를 포함한다. 움직임 정보의 재사용은 현재 블록의 주변 블록의 움직임 정보를 이용하여 현재 블록에 대한 예측을 수행하는 것을 포함하며, 현재 블록의 주변 블록은 다른 뷰에서 현재 블록에 대응하는 블록을 포함한다.
inter_view_motion_reuse_dir은 인터-뷰 예측에 있어서 움직임 정보를 재사용하는 경우(움직임 정보를 주변블록으로부터 가져오는 경우)에 현재 뷰가 참조하는 뷰를 특정한다. 예를 들어, inter_view_motion_reuse_dir의 값이 0이면 제1 방향의 뷰를 참조하고, inter_view_motion_reuse_dir의 값이 1이면 제1 방향과 반대 방향인 제2 방향의 뷰를 참조하는 것을 지시하도록 할 수 있다. 예컨대, 멀티-뷰를 구성하는 뷰들을 각 시점(view point)에 따라 배치하였을 때, 오른쪽 뷰로부터 왼쪽 뷰로의 방향을 L0 방향이라고 하고, 왼쪽 뷰로부터 오른쪽 뷰로의 방향을 L1 방향이라고 설정할 수 있다.
도 11은 참조 뷰의 방향을 개략적으로 설명하는 도면이다. 도 11에서는, 동일 시점(POCi)에서 동일 객체(1110)을 촬영한 5 개의 뷰들(V0~V4)이 존재하는 경우를 예로서 설명한다. 여기서는 5 개의 뷰들이 존재하는 경우를 예로서 설명하나, 본 발명은 이에 한정되지 않으며, 뷰들은 5개보다 더 적을 수도 있고, 더 많을 수도 있다.
도 11을 참조하면, 각 뷰들에 대하여 인터-뷰 예측을 적용하는 경우에 상술한 바와 같이, 좌측 방향으로 다른 뷰들을 참조하는 것을 L0 방향이라고 하고, 우측 방향으로 다른 뷰들을 참조하는 것을 L1 방향이라고 할 수 있다.
따라서, 도 11의 예를 참조할 때, 현재 뷰의 뷰 ID가 1이고 L0 방향으로 뷰 ID가 0인 뷰를 참조하고, L1 방향으로 뷰 ID가 2인 뷰를 참조하는 경우, inter_view_motion_reuse_dir의 값이 0이면 뷰 ID가 0인 뷰의 움직임 정보를 이용하고, inter_view_motion_reuse_dir의 값이 1이면 뷰 ID가 2인 뷰의 움직임 정보를 이용하도록 할 수 있다.
global_disparity_vector_x, global_disparity_vector_y는 현재 블록(예컨대, 디코딩하는 TU, PU 또는 CU)의 위치를 기준으로 참조 뷰 내의 참조 픽처(예컨대, 현재 픽처와 동일 POC의 픽처)에서 움직임 정보를 참조하려는 블록의 위치를 특정한다. 다시 말하면, global_disparity_vector_x, global_disparity_vector_y는 현재 블록에 대한 GDV의 x 성분과 y 성분을 특정한다. 현재 블록에 대한 GDV는 참조 픽처 내에서 현재 블록의 위치에 대응하는 위치와 참조 블록의 위치 사이의 차이(혹은 현재 픽처에서 현재 블록의 위치와 참조 블록의 위치에 대응하는 위치 사이의 차이)를 나타낸다. global_disparity_vector_x, global_disparity_vector_y의 값, 즉 GDV의 값은 소정의 픽셀 단위, 예컨대, 4 픽셀, 8 픽셀 또는 16 픽셀 단위로 정의될 수도 있다.
한편, 픽처 내의 배경과 전경이 서로 다른 움직임(motion)을 가지는 경우에는 매 참조 픽처마다 하나의 GDV를 정의하는 것보다 현재 픽처 내의 영역별로 여러 개의 GDV를 정의하는 것이 더 효율적이다.
도 12는 현재 픽처의 각 영역별로 GDV를 정의하여 인터-뷰 예측에 적용하는 방법의 일 예를 개략적으로 설명하는 도면이다.
도 12를 참조하면, 현재 픽처(슬라이스)는 쿼드 트리(Quad-Tree) 방식으로 동일한 움직임을 가지는 영역으로 분할된다. 동일한 움직임을 가지는 영역마다 각각 최적의 GDV 정보가 할당된다. 현재 블록에 대한 GDV는 픽처 내에서 현재 블록이 속하는 영역의 GDV로 결정될 수 있다.
도 12에서는 현재 픽처(1200)가 깊이 2까지 분할(2번 분할)되는 경우를 예로서 설명한다. 현재 픽처(1200)가 네 개의 영역으로 분할된 1차 분할에서 좌상측 블록, 우상측 블록, 좌하측 블록은 블록 내 움직임이 균일하고 우하측 블록은 다시 움직임이 동일한 네 영역으로 분할된다고 가정한다.
분할의 결과, 7 개의 블록 중 세 블록(1210, 1240, 1270)은 동일한 움직임을 가지며, 가장 큰 GDV인 GDV0을 공통으로 사용한다. 다른 두 블록(1220, 1250) 역시 동일한 움직임으로 가지며 GDV1을 공통으로 사용한다. 나머지 두 블록(1130, 1160)도 동일한 움직임을 가지며 가장 작은 GVD인 GVD2를 공통으로 사용한다.
이때, GDV 정보를 할당하기 위한 쿼드 트리 분할(quad-tree partition)의 최소 단위를 소정의 크기로 한정할 수도 있다. 예컨대, 쿼드 트리 분할의 최소 단위를 LCU, CU, PU 또는 TU로 한정할 수도 있고, 처리 단위가 아닌 소정의 크기(예컨대, 4x4 픽셀, 8x8 픽셀, 16x16 픽셀, 32x32 픽셀 또는 64x64 픽셀)로 한정될 수도 있다.
현재 블록에 대한 GDV는 현재 픽처 내에서 현재 블록이 속하는 영역의 GDV로 결정될 수 있다. 인코딩 장치에서는 현재 블록의 인터-뷰 예측에 사용될 GDV의 정보를 인코딩 장치로 시그널링하며, 이때 GDV는 현재 블록을 기준으로 참조 뷰의 픽처 내 특정 파티션(블록, 영역)의 위치를 지시한다. 디코딩 장치는 현재 블록(CU 또는 LCU)를 디코딩할 때, 인터-뷰 예측을 위하여 GDV를 할당한 쿼드 트리 파티션 정보를 참조하여 어떤 GDV를 사용할 것인지를 판단할 수 있다.
예를 들어, 인코딩 장치는 현재 블록의 인터-뷰 예측을 위한 GDV를 전송하고, 디코딩 장치는 수신한 GDV를 이용하여 현재 블록에 대한 인터-뷰 예측을 수행할 수 있다. 이때, GDV는 쿼드 트리 파티셔닝에 의해 분할된 현재 픽처의 각 영역별로 중 결정될 수 있다.
표 2는 인터-뷰 예측을 위해 시퀀스 파라미터 셋(sequence parameter set)으로 전송되는 GDV에 관한 쿼드 트리 정보의 일 예를 나타낸 것이다.
<표 2>
Figure PCTKR2012008311-appb-I000002
인코딩 장치는 시퀀스 파라미터 셋에서 GDV가 정의되는 최대 깊이 정보와 GDV가 할당되는 최대 블록의 크기에 관한 정보를 전송한다.
표 2에서, max_gdv_qtree_depth는 GDV에 관한 쿼드-트리 구조의 최대 깊이를 특정한다. 즉, max_gdv_qtree_depth는 GDV 정보를 보내는 쿼드-트리 구조에서의 최대 깊이를 나타낸다.
max_gdv_unit_size_log_scale는 GDV 정보에 관한 쿼드-트리 구조에서 최대 영역의 크기를 특정한다. 예컨대, max_gdv_unit_size_log_scale는 GDV 정보를 보내는 쿼드-트리 구조에서 최대 영역(예컨대, 최대 유닛)의 크기를 기준 블록의 크기로 나누어 스케일링한 값에 로그(log2)를 취한 값을 나타낸다. 이때, 기준 블록으로서 LCU(Largest CU)를 사용할 수 있다.
표 3은 영역별로 GDV를 설정하는 경우에 인터-뷰 예측을 위해 슬라이스 헤더에서 전송되는 정보의 일 예를 나타낸 것이다.
<표 3>
Figure PCTKR2012008311-appb-I000003
표 3을 참조하면, 인코딩 장치는 슬라이스 헤더에서 인터-뷰 예측을 위해 필요한 정보를 전송한다. 디코딩 장치는 수신한 비트스트림을 파싱 또는 엔트로피 디코딩하여 슬라이스 헤더에서 인터-뷰 예측을 위해 필요한 정보를 획득하고 이를 기반으로 인터-뷰 예측을 수행할 수 있다.
inter_view_motion_reuse_info_flag는 인터-뷰 예측에 있어서 해당 슬라이스 헤더에 대응하는 현재 슬라이스에 움직임 정보(예컨대 움직임 벡터)를 재사용하는 것에 관한 정보가 전송되는지를 지시한다. 예컨대, 움직임 정보(예컨대 움직임 벡터)를 재사용하는 것에 관한 정보는 움직임 정보를 재사용하는지를 지시하는 정보를 포함한다. 움직임 정보의 재사용은 현재 블록의 주변 블록의 움직임 정보를 이용하여 현재 블록에 대한 예측을 수행하는 것을 포함하며, 현재 블록의 주변 블록은 다른 뷰에서 현재 블록에 대응하는 블록을 포함한다.
inter_view_motion_reuse_dir은 인터-뷰 예측에 있어서 움직임 정보를 재사용하는 경우(움직임 정보를 주변블록으로부터 가져오는 경우)에 현재 뷰가 참조하는 뷰를 특정한다. 예를 들어, inter_view_motion_reuse_dir의 값이 0이면 제1 방향의 뷰를 참조하고, inter_view_motion_reuse_dir의 값이 1이면 제1 방향과 반대 방향인 제2 방향의 뷰를 참조하는 것을 지시하도록 할 수 있다. 가령, 멀티-뷰를 구성하는 뷰들을 각 시점(view point)에 따라 배치하였을 때, 왼쪽 뷰부터 오른쪽 뷰로의 방향을 L0 방향이라고 하고, 오른쪽 뷰로부터 왼쪽 뷰로의 방향을 L1 방향이라고 하자. 현재 뷰의 뷰 ID가 1이고 L0 방향으로 뷰 ID가 0인 뷰를 참조하고, L1 방향으로 뷰 ID가 2인 뷰를 참조하는 경우, inter_view_motion_reuse_dir의 값이 0이면 뷰 ID가 0인 뷰의 움직임 정보를 이용하고, inter_view_motion_reuse_dir의 값이 1이면 뷰 ID가 2인 뷰의 움직임 정보를 이용하도록 할 수 있다.
global_disparity_vector_x, global_disparity_vector_y는 현재 블록(예컨대, 디코딩하는 TU, PU 또는 CU)의 위치를 기준으로 참조 뷰 내의 참조 픽처(예컨대, 현재 픽처와 동일 POC의 픽처)에서 움직임 정보를 참조하려는 블록의 위치를 특정한다. 다시 말하면, global_disparity_vector_x, global_disparity_vector_y는 현재 블록에 대한 GDV의 x 성분과 y 성분을 특정한다. 현재 블록에 대한 GDV는 참조 픽처 내에서 현재 블록의 위치에 대응하는 위치와 참조 블록의 위치 사이의 차이(혹은 현재 픽처에서 현재 블록의 위치와 참조 블록의 위치에 대응하는 위치 사이의 차이)를 나타낸다. global_disparity_vector_x, global_disparity_vector_y의 값, 즉 GDV의 값은 소정의 픽셀 단위, 예컨대, 4 픽셀, 8 픽셀 또는 16 픽셀 단위로 정의될 수도 있다.
num_gdv는 동일한 GDV를 가지는 영역의 개수를 특정한다. 다시 말하면, num_gdv는 인터-뷰 예측에 사용되는 GDV의 개수를 특정한다. 예컨대, 도 11의 예와 같은 경우라면, num_gdv의 값으로서 3이 전송될 수 있다.
표 3을 참조하면, num_gdv의 값이 0보다 큰 경우에 gdv를 할당하기 위한 쿼드-트리가 설정된다. 쿼드-트리 구조에서 분할 여부를 지시하는 플래그(split_flag)가 전송된다.
GDV는 쿼드-트리 구조에서 분할된 파티션의 파니셔닝 인덱스 i와 해당 깊이로 특정된다. 파티셔닝 인덱스는 네 개의 블록으로 분할되는 경우에 예컨대, 좌상측 블록에 0, 우상측 블록에 1, 우하측 블록에 2, 좌하측 블록에 3의 값이 할당될 수 있다.
해당 블록의 깊이가 GDV를 할당하기 위한 쿼드 트리 구조의 최대 깊이에 해당하거나 더 이상 분할되지 않는 경우에, 해당 블록에 대한 GDV값이 전송된다.

지금까지는 멀티-뷰 영상들 중 텍스처 영상에 관해 움직임 정보를 재활용하여 3D 비디오를 코딩/디코딩하는 것에 관하여 설명하였으나, 본 발명은 이에 한정되지 않으며, 깊이 영상에도 적용될 수 있다.
깊이 영상은 일련의 깊이 이미지를 포함하며, 각각의 깊이 이미지는 영상을 촬영하는 카메라의 광학적 중심(optical center)로부터 3D 장면(scene)의 포인트들까지의 거리를 그레이 레벨(gray level)로 나타낸다.
깊이 영상은 장면의 3D 구조를 포착(capture)하며 깊이 영상의 많은 부분은 영상 내 객체의 경계(boundary)를 나타내는 에지에 의해 분리되는 객체의 표면에 따라서 부드럽게 변하는 그레이 값(gray value)들로 구성된다.
도 13은 동일한 장면을 텍스처 영상과 깊이 영상으로 나타낸 일 예를 개략적으로 설명하는 도면이다.
도 13(a)는 인물이 등장하는 장면의 텍스처 영상을 나타낸다. 도 13(b)는 인물이 등장하는 장면의 깊이 영상을 나타내며, 장면 내 객체(object)의 표면에 따라서 그레이 레벨도 표현된다.
깊이 영상은 기하학적 묘사(geometric description)를 나타낸다. 다시 말하면, 대응하는 텍스처 영상(video) 내에서 장면 콘텐츠까지의 거리를 나타낸다. 따라서 텍스처 영상 내 움직임 콘텐츠(motion contents)의 시간적 변화(temporal evolution)은 대응하는 깊이 영상의 영상 내 움직임 콘텐츠의 시간적 변화와 높은 상관성을 가지게 된다. 예컨대, 객체(object) 경계들 주위의 움직임 벡터들은 텍스처 영상과 깊이 영상에서 일치하는 경향을 가지게 된다.
따라서, 깊이 영상과 텍스처 영상 간 움직임 정보의 유사성을 활용함으로써 깊이 영상의 코딩/디코딩을 더 효과적으로 수행할 수 있다.
상술한 바와 같이, 깊이 영상은 대응하는 텍스처 영상과 연관된 특성을 가지며, 특히 객체 경계 영역에서 높은 상관도를 자주 보인다. 따라서, 대응하는 텍스처 영상의 움직임 정보(예컨대, 움직임 벡터)를 깊이 영상의 움직임 정보(예컨대, 움직임 벡터)로서 재활용할 수 있다.
도 14는 현재 뷰의 깊이 영상을 텍스처 영상의 움직임 정보를 이용하여 예측하는 방법을 개략적으로 설명하는 도면이다.
도 14를 참조하면, 뷰 V1의 깊이 영상들(VD1) 중 현재 깊이 픽처(1490)의 현재 깊이 블록(1495)은 뷰 V1의 텍스트 영상들(VT1) 중 현재 깊이 픽처(1490)와 동일한 POC의 텍스트 영상(1400) 내에서 현재 깊이 블록(1495)에 대응하는 텍스처 블록(1415)의 움직임 정보를 이용하여 예측될 수 있다. 예컨대, 현재 깊이 블록(1495)에 대응하는 텍스처 블록(1415)의 움직임 벡터를 현재 깊이 블록(1495)의 움직임 벡터로 이용할 수 있다.
이때, 텍스처 블록(1415)의 움직임 정보는 주변 블록의 움직임 정보를 기반으로 예측될 수 있다. 예컨대, 도 10의 예와 같이, 참조 뷰(V0)의 텍스처 영상들(VT0) 중 현재 픽처(1400)와 동일한 POC를 갖는 참조 텍스처 픽처(1410)의 움직임 정보를 이용하여 현재 뷰(V1)의 현재 텍스처 블록(1415)에 대한 인터-뷰 예측을 수행할 수 있다.
현재 텍스처 블록(1415)이 이용할 수 있는 움직임 벡터 예측자 후보들은 공간적 인접 블록들인 우상단 블록(1420), 상측 블록(1425), 좌상단 블록(1430), 좌하단 블록(1435), 좌측 블록(1440)의 움직임 정보들(1455, 1460, 1465, 1470, 1475)과 현재 뷰(V1)의 다른 텍스처 픽처(1405) 내 Col 블록(1445)의 움직임 정보(1480)를 포함한다. 또한, 다른 뷰의 픽처들 중 현재 텍스처 픽처(1400)와 동일한 POC의 텍스처 픽처(1410)에서 현재 텍스처 블록(1415)에 대응하는 참조 블록(1450)의 움직임 정보(1485)를 움직임 벡터 예측자 후보로 이용할 수도 있다.
인코딩 장치는 상기 움직임 벡터 예측자 후보들 중 현재 텍스처 블록(1415)의 예측에 어떤 움직임 벡터 예측자를 이용할 것인지를 결정하고 결정된 움직임 벡터 예측자에 관한 정보를 디코딩 장치에 전송할 수 있다. 또한, 인코딩 장치는 현재 깊이 블록(1495)의 움직임 정보로서 현재 텍스처 블록(1415)의 움직임 정보(움직임 벡터)를 이용할 것인지를 결정하고, 이에 관한 정보를 전송할 수 있다.
디코딩 장치는 인코딩 장치로부터 전송된 정보를 기반으로 현재 텍스처 블록(1415)의 예측에 이용할 움직임 벡터 예측자를 유도할 수 있다. 또한, 디코딩 장치는 인코딩 장치로부터 전송된 정보를 기반으로 현재 깊이 블록(1495)의 움직임 정보(움직임 벡터)를 현재 텍스처 블록(1415)의 움직임 정보를 이용하여 유도할 수 있다.
도 14에서는 설명의 편의를 위해 현재 텍스처 블록과 현재 깊이 블록, 현재 텍스처 픽처와 현재 깊이 픽처 등의 용어를 사용하였으나, 이는 현재 텍스처 블록과 현재 깊이 블록이 동시에 인코딩 또는 디코딩 대상이 된다는 것을 의미하는 것이 아니며,
현재 텍스처 블록의 움직임 정보를 현재 깊이 블록이 이용할 수 있는 관계를 가진다는 것을 의미한다.
한편, 텍스처 픽처의 움직임 영상의 움직임 정보를 깊이 영상의 인코딩/디코딩에 이용하는 경우에 객체가 카메라 쪽으로 이동하거나 카메라로부터 멀어져서 텍스처 영상이 참조한 참조 픽처의 객체 깊이와 깊이 영상의 객체 깊이 사이에 차이가 발생할 수 있다. 깊이 값의 차이는 텍스처 영상으로부터 획득하는 움직임 벡터와 깊이 영상의 움직임 벡터 간에 큰 차이를 초래할 우려가 있다.
따라서, 대응하는 텍스처 영상의 움직임 정보를 깊이 영상의 움직임 정보로 사용하고, 깊이 값의 차이를 초래할 장면 내 객체의 움직임이 있는 경우에는 이를 보상하기 위해 선택적으로 DC 오프셋을 적용하는 방법을 고려할 수 있다.
텍스처 영상의 움직임 정보를 재활용하여 깊이 영상을 처리하면, 깊이 영상을 더 효과적으로 인코딩/디코딩 할 수 있다.
구체적으로, 움직임 벡터의 재활용에 있어서, 대응하는 텍스처 영상 블록(예컨대, 매크로 블록, CU, PU, TU 등)의 움직임 벡터를 깊이 영상의 예측에 어떻게 재사용할 것인지를 결정하기 위해 움직임 벡터 분할/통합 모드를 도입할 수 있다.
또한, 장면 내에서 객체가 카메라로부터 멀어지는 움직임 또는 카메라에 가까워지는 움직임으로 인해 깊이의 차이가 생기는 경우 이를 보상하기 위해 DC 오프셋 값을 검색 또는 결정하여 적용할 수도 있다.
적용되는 DC 오프셋 값은 인코딩 장치가 코스트를 고려하여 결정할 수 있다. 수식 3은 율-왜곡 최적화를 기반으로 움직임 벡터 재사용을 결정하는 방법의 일 예를 나타낸 것이다.
<수식 3>
J( mb_type, reuse_type | λ ) = D + λ ( RMV + Rmb_type + Rreuse_type + Roffset )
D=∑ ( I(X) – Iref(Xp) – Doffset)2
수식 3에서 J는 코스트를 나타내며, λ는 라그랑제 승수(Lagrange multiplier)를 나타낸다.
I는 깊이 영상의 픽셀 값에 대응하며, Iref는 참조 깊이 영상의 픽셀 값에 대응한다.
Doffset은 후술하는 reuse_type의 값이 1인 경우에 상기 D를 최소화하는 DC 오프셋 값이다. Doffset 값을 이용하여 텍스처 영상의 대응 블록으로부터 깊이 영상 블록에 대한 움직임 벡터(MV)를 유도할 수 있다. D 값의 합(summation)은 대상 블록 내 위치(X∈MB)들에 대해 수행된다.
Xp는 깊이 영상 블록 내 대상 픽셀의 위치 X와 움직임 벡터(MV)의 합으로서, 움직임 벡터에 의해 지시되는 참조 픽처의 예측 샘플 위치를 나타낸다.
RMV는 참조 픽처 인덱스(refIdx)와 관련된 움직임 벡터를 인코딩하기 위한 비트율(bit rate)로서, reuse_type의 값이 1인 경우에는 0의 값을 가진다.
Roffset은 reuse_type의 값이 1인 경우에만 제시되는 Doffset을 인코딩하기 위한 비트율이다.
Rmb_type은 블록 타입의 정보(mb_type)을 인코딩하기 위한 비트율이며, Rreuse_type은 움직임 벡터 재활용 타입(MV reuse_type)을 인코딩하기 위한 비트율이다.
mb_type은 해당 블록(예컨대, 매크로 블록, CU, PU 혹은 TU 등)의 크기 및/또는 예측 모드(예컨대, 스킵 모드, 머지 모드, MVP 이용 모드 등)를 지시한다.
수식 3에서는 해당 블록이 매크로 블록인 경우를 예로서 설명하였으나, 본 발명은 이에 한정되지 않고, 수식 3의 내용은 해당 블록이 CU, PU 혹은 TU 등인 경우에도 동일하게 적용될 수 있다.
인코딩 장치는 수식 3을 기반으로 DC 오프셋 Doffset을 포함하여 필요한 정보를 결정할 수 있다. 인코딩 장치는 DC 오프셋 정보를 이용하여 깊이 영상이 텍스처 영상의 움직임 정보를 재활용하는 경우에, 깊이 영상이 활용하는 텍스처 영상에 대한 보상을 수행할 수 있다. 또한, 인코딩 장치는 DC 오프셋을 포함한 정보를 디코딩 장치로 전송할 수 있다.
디코딩 장치는 수신한 정보를 기반으로 깊이 영상에 대한 디코딩을 수행할 수 있다. 예컨대, 디코딩 장치는 인코딩 장치로부터 수신한 정보가 텍스처 영상의 움직임 정보를 기반으로 깊이 영상을 디코딩하는 것을 지시하는 경우, 대응하는 텍스처 영상의 움직임 정보(예컨대, 움직임 벡터)와 DC 오프셋 값을 이용하여 현재 깊이 블록을 디코딩 할 수 있다.
이때, 상술한 바와 같이 인코딩 장치는 대응하는 텍스처 블록의 움직임 정보를 이용할 것인지 또한 텍스처 블록의 움직임 정보를 이용하는 경우에는 어떻게 이용할 것인지를 지시하는 정보를 디코딩 장치에 전송할 수 있다.
표 4는 텍스처 영상의 움직임 정보를 깊이 영상의 디코딩에 이용하기 위한 정보를 시그널링하는 신택스의 일 예를 나타낸 것이다.
<표 4>
Figure PCTKR2012008311-appb-I000004
표 4는 현재 깊이 블록이 CU인 경우를 예로서 설명한다. 표 4를 참조하면, reuse_type는 현재 깊이 블록의 디코딩에 텍스처 영상의 움직임 정보를 이용할 것인지를 지시한다. reuse_type가 텍스처 영상을 이용하는 것을 지시하는 경우에는, 텍스처 영상과 깊이 영상 사이에서 객체의 움직임(깊이의 차이를 만드는 움직임, 예컨대, 카메라 방향의 움직임)을 보상하는 DC 오프셋 값이 전송된다.
구체적으로, reuse_type의 값이 0인 경우에는 텍스처 영상의 움직임 정보를 이용하지 않고 현재 깊이 블록을 디코딩한다. 따라서, 현재 깊이 블록은 일반적인 예측 모드를 이용하여 예측될 수 있다.
예컨대, 현재 깊이 블록은 인트라 예측이 적용되는 경우에 현재 깊이 픽처 내 인접하는 픽셀들을 이용하여 인트라 예측될 수 있다. 또한, 인터 예측이 적용되는 경우에, 현재 깊이 블록은 스킵 모드, 머지 모드 또는 MVP 모드를 이용하여 참조 깊이 영상을 기반으로 인터 예측될 수 있다. 깊이 영상의 인터 예측 및 인트라 예측은 텍스처 영상의 인터 예측 및 인트라 예측과 동일하게 수행될 수 있다.
reuse_type의 값이 0인 경우에, 텍스처 영상과 깊이 영상 사이에서 객체의 움직임을 보상하는 DC 오프셋 값은 전송되지 않는다.
reuse_type의 값이 1인 경우에는 텍스처 영상의 움직임 정보를 이용하여 현재 깊이 블록을 디코딩한다. 따라서, 현재 깊이 블록에 대한 예측은 대응하는 텍스처 블록의 움직임 정보를 기반으로 수행될 수 있다. 이 경우에, 표 4에서 예시한 바와 같이, 텍스처 영상과 깊이 영상 사이에서 객체의 움직임을 보상하는 DC 오프셋 값이 디코딩 장치로 전송될 수 있다. DC 오프셋 값은 현재 깊이 블록의 복원된 픽셀 값에 추가되어 텍스처 영상과 깊이 영상 사이에서 객체의 움직임을 보상할 수 있다.
reuse_type의 값이 1인 경우에 현재 깊이 영상의 움직임 정보(예컨대, 움직임 벡터)는 현재 깊이 블록에 대응하는 텍스처 블록의 크기를 고려하여 텍스처 영상의 움직임 정보(예컨대, 움직임 벡터)로부터 유도될 수 있다.
표 4에서는 reuse_type의 값이 1인 경우에 DC_offset 값이 전송되는 것으로 설명하였으나, 상술한 바와 같이 DC_offset 값은 선택적으로 적용될 수도 있다. 예컨대, reuse_type 값이 1인 경우로서 텍스처 영상의 움직임 정보를 이용하는 경우에도 참조 대상이 되는 텍스처 영상과 깊이 영상 간의 깊이 값 차이가 없거나 적은 경우에는 DC-offset 값을 전송하지 않거나 DC_offset 값을 0으로 설정할 수 있다.
도 15는 대응하는 텍스처 블록의 움직임 벡터로부터 현재 깊이 블록의 움직임 벡터를 유도하는 방법을 개략적으로 설명하는 도면이다.
현재 깊이 블록의 사이즈가 대응하는 텍스처 블록(예컨대, 인코딩 장치로부터 지시되는 후보 mb_type)의 사이즈보다 크거나 같은 경우에, 현재 깊이 블록의 움직임 벡터는 대응하는 텍스처 블록의 움직임 벡터와 대응하는 텍스처 블록의 주변 블록들의 움직임 벡터를 기반으로 유도될 수 있다. 예컨대, 현재 깊이 블록의 움직임 벡터는 대응하는 텍스처 블록의 움직임 벡터와 대응하는 텍스처 블록의 주변 블록들의 움직임 벡터의 평균으로 유도될 수 있다. 또는 현재 깊이 블록의 움직임 벡터는 대응하는 텍스처 블록의 움직임 벡터와 대응하는 텍스처 블록의 주변 블록들의 움직임 벡터의 미디언으로 유도될 수도 있다. 이때, 대응하는 텍스처 블록은 매크로 블록, CU, PU, TU 등일 수 있다.
도 15(a)는 현재 깊이 블록의 사이즈가 대응하는 텍스처 블록(예컨대, 인코딩 장치로부터 지시되는 후보 mb_type)의 사이즈보다 크거나 같은 경우에 현재 깊이 블록의 움직임 벡터를 유도하는 방법을 개략적으로 설명하는 도면이다.
도 15(a)를 참조하면, 현재 깊이 블록(1500)이 대응하는 텍스처 블록(1510)보다 크거나 같은 경우에, 현재 깊이 블록(1500)의 움직임 벡터는 대응하는 텍스처 블록(1510)의 움직임 벡터와 주변 텍스처 블록들(1520, 1530, 1540, 1550, 1560)의 움직임 벡터를 기반으로 결정될 수 있다. 예컨대, 현재 깊이 블록(1500)의 움직임 벡터는 대응하는 텍스처 블록(1510)의 움직임 벡터와 주변 텍스처 블록들(1520, 1530, 1540, 1550, 1560)의 움직임 벡터들의 평균으로서 유도될 수 있다. 혹은 현재 깊이 블록(1500)의 움직임 벡터는 대응하는 텍스처 블록(1510)의 움직임 벡터와 주변 텍스처 블록들(1520, 1530, 1540, 1550, 1560)의 움직임 벡터들의 미디언으로서 유도될 수도 있다.
또한, 현재 깊이 블록(1500)이 대응하는 텍스처 블록(1510)보다 크거나 같은 경우에는, 주변 텍스처 블록들의 움직임 벡터들 중에서 일부만을 이용하여 현재 깊이 블록(1500)의 움직임 벡터를 유도할 수도 있다. 예컨대, 현재 깊이 블록(1500)의 움직임 벡터는 대응하는 텍스처 블록(1510)의 움직임 벡터, 좌측 텍스처 블록(1530)의 움직임 벡터 및 상측 텍스처 블록(1550)의 움직임 벡터의 미디언 또는 평균으로 유도될 수 있다.
현재 깊이 블록의 사이즈가 대응하는 텍스처 블록(예컨대, 인코딩 장치로부터 지시되는 후보 mb_type)의 사이즈보다 작은 경우에, 현재 깊이 블록의 움직임 벡터는 대응하는 텍스처 블록 내 서브-블록들의 움직임 벡터들을 기반으로 유도될 수 있다. 예컨대, 현재 깊이 블록의 움직임 벡터는 대응하는 텍스처 블록 내 서브-블록들에 대한 움직임 벡터들의 평균으로 유도될 수 있다. 혹은 현재 깊이 블록의 움직임 벡터는 대응하는 텍스처 블록 내 서브-블록들에 대한 움직임 벡터들의 미디언으로 유도될 수도 있다. 이때, 대응하는 텍스처 블록 및/또는 대응하는 텍스처 블록 내 서브-블록은 매크로 블록, CU, PU, TU 등일 수 있다.
도 15(b)는 현재 깊이 블록의 사이즈가 대응하는 텍스처 블록(예컨대, 인코딩 장치로부터 지시되는 후보 mb_type)의 사이즈보다 작은 경우에 현재 깊이 블록의 움직임 벡터를 유도하는 방법을 개략적으로 설명하는 도면이다.
도 15(b)를 참조하면, 현재 깊이 블록(1570)이 대응하는 텍스처 블록(1580)보다 크거나 같은 경우에, 현재 깊이 블록(1570)의 움직임 벡터는 대응하는 텍스처 블록(1580) 내 서브 블록들(sb0, sb1,…, sbi, …sbn, n은 서브 블록의 개수)의 움직임 벡터를 기반으로 결정될 수 있다. 예컨대, 현재 깊이 블록(1570)의 움직임 벡터는 대응하는 텍스처 블록(1580) 내 서브 블록들(sb0, sb1,…, sbi, …sbn)에 대한 움직임 벡터들의 평균으로 유도될 수 있다. 또한, 현재 깊이 블록(1570)의 움직임 벡터는 대응하는 텍스처 블록(1580) 내 서브 블록들(sb0, sb1,…, sbi, …sbn)에 대한 움직임 벡터들의 미디언으로 유도될 수도 있다.
도 16은 본 발명에 따라서 움직임 정보를 재활용하여 3D 영상을 인코딩 하는 방법을 개략적으로 설명하는 순서도이다.
도 16을 참조하면, 인코딩 장치는 현재 뷰에서 텍스처 영상의 움직임 정보를 결정한다(S1610). 인코딩 장치는 텍스처 영상의 현재 디코딩 대상 블록(혹은 예측 대상 블록)의 움직임 정보를 주변 블록의 움직임 정보를 이용하여 결정할 수 있다. 이때, 주변 블록은 현재 블록의 공간적 주변 블록과 시간적 주변 블록(동일 뷰 내 다른 픽처의 대응 블록)뿐만 아니라, 현재 픽처와 동일한 POC의 다른 뷰 내 픽처에서 현재 블록에 대응하는 블록을 포함한다. 인코딩 장치는 주변 블록의 움직임 정보를 기반으로 결정한 현재 블록의 움직임 정보를 이용하여 현재 블록에 대한 예측을 수행하고, 현재 블록을 인코딩 할 수 있다. 예측과 인코딩에 관한 내용은 도 2에 관한 설명을 포함하여 상술한 바와 같다.
인코딩 장치는 깊이 영상의 움직임 정보를 결정할 수 있다(S1620). 인코딩 장치는 깊이 영상의 움직임 정보를 텍스처 영상의 움직임 정보를 기반으로 결정할 수도 있고, 다른 깊이 영상의 움직임 정보(참조 깊이 영상 내 참조 블록의 움직임 정보)를 기반으로 결정할 수도 있다.
인코딩 장치는 깊이 영상에 대한 오프셋을 결정할 수 있다(S1630). 깊이 영상이 텍스처 영상의 움직임 정보를 이용하는 경우에, 텍스처 영상이 참조하는 블록에서의 객체와 현재 깊이 블록에서의 객체 사이에 깊이의 차이가 발생할 수 있다. 인코딩 장치는 깊이의 차이를 고려한 DC(Direct Current) 오프셋을 통해 복원된 픽셀값을 보상할 수 있다.
인코딩 장치는 움직임 정보를 전송할 수 있다(S1640). 인코딩 장치는 텍스처 영상의 움직임 정보와 깊이 영상의 움직임 정보를 인코딩하여 비트스트림으로 디코딩 장치에 전송할 수 있다. 인코딩 과정에서 수행되는 변환, 양자화, 재정렬 및 엔트로피 인코딩은 도 2에 관한 설명을 포함하여 앞서 설명한 바와 같다.
전송되는 정보는 표 1 내지 표 4에서 설명한 정보들을 포함할 수 있다.
인코딩 장치는 인터-뷰 예측을 수행하는 경우에 다른 뷰에 속하는 참조 픽처의 움직임 정보를 이용할 것인지를 지시하는 정보(예컨대, inter_view_motion_info_flag), 다른 뷰에 속하는 참조 픽처의 움직임 정보를 이용하는 경우에 어느 방향의 뷰를 참조할 것인지를 지시하는 정보(예컨대, inter_view_motion_reuse_dir), 참조할 블록의 위치를 지시하는 GDV값에 관한 정보(예컨대, global_disparity_vector_x, global_disparity_vector_y)를 전송할 수 있다. 현재 픽처의 영역별로 GDV가 설정되는 경우에는 현재 픽처에서 정의된 GDV의 개수를 지시하는 정보(예컨대, num_gdv)와 GDV가 정의되는 영역에 관한 분할 정보(split_flag) 및 현재 영역에서의 GDV 정보(gdv_id)가 함께 전송될 수도 있다. 이때, GDV가 정의되는 영역에 관한 분할의 최대 깊이(예컨대, max_gdv_qtree_depth)와 영역의 최대 크기에 관한 정보(예컨대, max_gdv_unit_size_log_scale)도 함께 또는 별도로 전송될 수 있다.
또한, 인코딩 장치는 깊이 영상의 움직임 정보를 텍스처 영상의 움직임 정보를 기반으로 유도할 것인지를 지시하는 정보(예컨대, reuse_type), 깊이 영상의 움직임 정보를 텍스처 영상의 움직임 정보를 기반으로 유도하는 경우에 복원된 픽셀 값을 보상하는 오프셋 값에 관한 정보(예컨대, DC_offset)를 전송할 수도 있다.
각 정보가 전송되는 위치는 표 1 내지 표 4에서 설명한 바와 같다.
도 16에서는 설명의 편의를 위해 각 단계가 인코딩 장치에서 수행되는 것으로 설명하였으나, 본 발명은 이에 한정되지 않는다. 예컨대, 움직임 정보와 오프셋의 결정은 인코딩 장치의 예측부에서 수행될 수 있다.
도 17은 본 발명에 따라서 인코딩 장치에서 텍스처 영상의 움직임 정보를 결정하고 이를 이용하여 예측을 수행하는 방법의 일 예를 개략적으로 설명하는 순서도이다.
도 17을 참조하면, 인코딩 장치는 현재 텍스처 블록의 예측에 이용할 참조 블록을 결정한다(S1710). 현재 텍스처 블록의 예측은 동일 뷰 내에서의 인터 예측과 서로 다른 뷰 사이의 인터-뷰 예측을 포함한다. 인코딩 장치는 현재 텍스처 블록의 주변 블록들 중에서 참조할 블록을 결정할 수 있다. 현재 텍스처 블록의 주변 블록으로서 해당 블록의 움직임 정보를 이용할 수 있는 블록들은 도 9 및 도 10에서 설명한 바와 같다.
인코딩 장치는 참조 블록의 움직임 정보를 움직임 정보 예측자로서 결정할 수 있다(S1720). 인코딩 장치는 참조 블록 후보들 중 선택된 참조 블록의 움직임 정보를 움직임 정보 예측자로 이용할 수 있다. 움직임 정보 예측자는 해당 블록에 대한 움직임 벡터에 관한 정보만을 포함할 수도 있고, 움직임 벡터와 참조 픽처 인덱스에 관한 정보를 포함할 수도 있다. 움직임 정보 예측자가 해당 블록에 대한 움직임 벡터에 관한 정보만을 포함하는 경우에, 인코딩 장치는 예측에 필요한 참조 픽처의 정보를 디코딩 장치에 별도로 전송할 수도 있다.
인코딩 장치는 움직임 정보 예측자를 기반으로 현재 텍스처 블록에 대한 레지듀얼을 산출할 수 있다(S1730). 인터 예측 또는 인터-뷰 예측에서 스킵 모드 또는 머지 모드가 적용되는 경우에, 움직임 정보 예측자는 움직임 벡터뿐만 아니라 참조 픽처 인덱스를 포함할 수 있다. 이 경우, 인코딩 장치는 움직임 정보 예측자가 지시하는 블록의 픽셀 값을 기반으로 예측 블록을 생성하고, 현재 텍스처 블록에 대한 레지듀얼을 산출할 수 있다. 스킵 모드의 경우에 디코딩 장치는 레지듀얼을 생성하지 않거나 전송하지 않을 수 있다. 인터 예측 또는 인터-뷰 예측에서 MVP를 이용하는 경우에는 예측에 사용될 움직임 정보 예측자는 움직임 벡터 예측자, 즉 MVP 정보를 포함하며 참조 픽처의 인덱스는 별도로 결정될 수 있다. 이 경우, 인코딩 장치는 움직임 정보 예측자와 참조 픽처 인덱스를 기반으로 현재 텍스처 블록에 대한 예측 블록을 생성하고, 현재 텍스처 블록에 대한 레지듀얼을 산출할 수 있다.
도 18은 본 발명에 따라서 인코딩 장치에서 깊이 영상의 움직임 정보를 결정하고 이를 이용하여 예측을 수행하는 방법으로서, 텍스처 영상의 움직임 정보를 이용하여 깊이 영상의 예측을 수행하는 방법의 일 예를 개략적으로 설명하는 순서도이다.
도 18을 참조하면, 텍스처 영상의 움직임 정보를 이용하는 경우에, 인코딩 장치는 현재 깊이 블록에 대응하는 텍스처 영상의 블록을 결정한다(S1810). 인코딩 장치는 현재 깊이 블록의 움직임 정보를 텍스처 영상의 움직임 정보를 이용하여 결정할 수 있다. 이 경우에, 인코딩 장치는 현재 깊이 블록에서 참조할 텍스처 영상의 블록을 결정한다. 현재 깊이 영상에 대응하는 텍스처 영상의 블록은 동일 뷰 내의 텍스처 영상으로서 현재 깊이 영상과 동일한 POC를 가지는 텍스처 영상 내 블록일 수 있다. 텍스처 영상 내 대응 블록은 깊이 영상과 동일 뷰 및 동일 POC의 텍스처 영상에서 현재 깊이 블록과 동일한 위치의 블록일 수 있다. 또한, 텍스처 영상 내 대응 블록은 깊이 영상과 동일 뷰 및 동일 POC의 텍스처 영상에서 현재 깊이 블록을 특정하는 픽셀에 대응하는 픽셀을 포함하는 블록일 수도 있다.
인코딩 장치는 텍스처 영상의 움직임 정보를 기반으로 현재 깊이 블록의 움직임 정보를 산출할 수 있다(S1820). 현재 깊이 블록의 움직임 정보는 대응하는 텍스처 블록의 움직임 정보를 기반으로 결정될 수 있다. 또한, 현재 깊이 블록의 움직임 정보는 대응하는 텍스처 블록의 움직임 정보 및 대응하는 텍스처 블록의 주변 블록의 움직임 정보를 이용하여 결정될 수 있다. 이때, 텍스처 영상의 움직임 정보를 기반으로 현재 깊이 블록의 움직임 정보를 결정하는 방법은 도 15에서 설명한 바와 동일하다.
인코딩 장치는 현재 깊이 블록에 대한 오프셋을 결정할 수 있다(S1830). 상술한 바와 같이, 깊이 영상이 텍스처 영상의 움직임 정보를 이용하는 경우에, 텍스처 영상이 참조하는 블록에서의 객체와 현재 깊이 블록에서의 객체 사이에 깊이의 차이가 발생할 수 있다. 인코딩 장치는 깊이의 차이를 고려한 DC(Direct Current) 오프셋 값을 결정할 수 있다. 깊이 차이에 의한 복원 픽셀 값의 오류는 DC 오프셋을 통해 보상될 수 있다.
인코딩 장치는 현재 깊이 블록을 복원한다(S1840). 인코딩 장치는 텍스처 영상의 움직임 정보를 이용하여 현재 깊이 블록을 복원할 수 있다. 스킵 모드 또는 머지 모드가 적용되는 경우에, 텍스처 영상의 움직임 정보로부터 얻은 현재 깊이 블록에 대한 움직임 정보는 움직임 벡터뿐만 아니라 참조 픽처(참조 깊이 영상) 인덱스를 포함할 수 있다. 인코딩 장치는 텍스처 영상의 움직임 정보로부터 얻은 현재 깊이 블록에 대한 움직임 정보가 지시하는 깊이 영상 블록의 픽셀 값을 기반으로 예측 블록을 생성하고, 현재 깊이 블록에 대한 레지듀얼을 산출할 수 있다. 인터 예측 또는 인터-뷰 예측에서 MVP를 이용하는 경우에는 움직임 정보는 움직임 벡터 예측자, 즉 MVP 정보를 포함하며 참조 픽처의 인덱스는 별도로 결정될 수 있다. 이 경우, 인코딩 장치는 움직임 정보 예측자와 참조 픽처(참조 깊이 영상) 인덱스를 기반으로 현재 깊이 블록에 대한 예측 블록을 생성하고, 현재 깊이 블록에 대한 레지듀얼을 산출할 수 있다.
인코딩 장치는 레지듀얼과 예측 블록을 기반으로 복원한 깊이 블록(깊이 영상)을 이후에 인코딩되는 깊이 블록의 예측에 이용할 수 있다. 또한, 인코딩 장치는 현재 깊이 블록의 레지듀얼에 관한 정보 및 예측에 관한 정보를 인코딩하여 디코딩 장치에 전송할 수도 있다.
한편, 도 16과 도 18에서는 텍스처 영상의 움직임 정보를 이용하여 현재 깊이 블록을 복원하는 것을 설명하였으나, 현재 깊이 블록은 표 4와 관련하여 설명한 바와 같이, 다른 깊이 영상의 움직임 정보를 이용하여 인코딩될 수도 있다. 인코딩 장치는 표 4에서와 같이 텍스처 영상의 움직임 정보를 이용할 것인지를 지시하는 정보를 디코딩 장치에 전송할 수 있다.
도 19는 본 발명에 따라서 움직임 정보를 재활용하여 3D 영상을 디코딩 하는 방법을 개략적으로 설명하는 순서도이다.
도 19를 참조하면, 디코딩 장치는 인코딩 장치로부터 정보(비트스트림)을 수신한다(S1910). 수신한 정보(비트스트림)는 레지듀얼을 포함한 영상 정보 외에도 디코딩에 필요한 파라미터 등을 포함한다. 디코딩 장치는 엔트로피 디코딩을 통해 필요한 정보를 획득할 수 있다.
수신한 정보는 표 1 내지 표 4에서 설명한 정보들을 포함할 수 있다. 예컨대, 인터-뷰 예측을 수행하는 경우에 다른 뷰에 속하는 참조 픽처의 움직임 정보를 이용할 것인지를 지시하는 정보(예컨대, inter_view_motion_info_flag), 다른 뷰에 속하는 참조 픽처의 움직임 정보를 이용하는 경우에 어느 방향의 뷰를 참조할 것인지를 지시하는 정보(예컨대, inter_view_motion_reuse_dir), 참조할 블록의 위치를 지시하는 GDV값에 관한 정보(예컨대, global_disparity_vector_x, global_disparity_vector_y)가 포함될 수 있다. 현재 픽처의 영역별로 GDV가 설정되는 경우에는 현재 픽처에서 정의된 GDV의 개수를 지시하는 정보(예컨대, num_gdv)와 GDV가 정의되는 영역에 관한 분할 정보(split_flag) 및 현재 영역에서의 GDV 정보(gdv_id)가 포함될 수도 있다. 이때, GDV가 정의되는 영역에 관한 분할의 최대 깊이(예컨대, max_gdv_qtree_depth)와 영역의 최대 크기에 관한 정보(예컨대, max_gdv_unit_size_log_scale)도 함께 또는 별도로 수신될 수 있다.
또한, 깊이 영상의 움직임 정보를 텍스처 영상의 움직임 정보를 기반으로 유도할 것인지를 지시하는 정보(예컨대, reuse_type), 깊이 영상의 움직임 정보를 텍스처 영상의 움직임 정보를 기반으로 유도하는 경우에 복원된 픽셀 값을 보상하는 오프셋 값에 관한 정보(예컨대, DC_offset) 등이 수신한 정보에 포함될 수 있다.
각 정보가 전송되는(수신되는) 비트 스트림 상의 위치는 표 1 내지 표 4에서 설명한 바와 같다.
디코딩 장치는 수신한 정보를 기반으로 텍스처 영상의 움직임 정보를 유도할 수 있다(S1920). 디코딩 장치는 수신한 정보가 인터-뷰 예측에 있어서 움직임 정보의 재활용을 지시하는 경우에는 다른 뷰의 대응 블록에 대한 움직임 정보를 기반으로 현재 블록의 움직임 정보를 유도할 수 있다. 예컨대, 인터-뷰 예측에 있어서 머지 모드 또는 스킵 모드가 적용되는 경우에, 디코딩 장치는 다른 뷰의 대응 블록에 대한 움직임 정보를 현재 텍스처 블록의 움직임 정보로 이용할 수 있다. 이때, 움직임 정보는 움직임 벡터와 참조 픽처 인덱스를 포함한다. 인터-뷰 예측에 있어서 MVP를 이용한 경우에, 디코딩 장치는 다른 뷰의 대응 블록에 대한 움직임 벡터를 예측자로 하고 움직임 벡터 차이값을 더하여 현재 블록의 움직임 벡터를 유도할 수 있다. 이 경우, 참조 픽처 인덱스와 움직임 벡터 차이값은 인코딩 장치로부터 전송될 수 있다.
디코딩 장치는 깊이 영상의 움직임 정보를 유도할 수 있다(S1930). 디코딩 장치는 텍스처 영상의 움직임 정보를 재활용하여 현재 깊이 블록의 움직임 정보를 유도할 수도 있고, 다른 텍스처 영상의 움직임 정보를 기반으로 현재 깊이 블록의 움직임 정보를 유도할 수도 있다. 텍스처 영상의 움직임 정보를 재활용할 것인지는 인코딩 장치로부터 전송된 정보에 의해 지시될 수 있다.
디코딩 장치는 유도한 움직임 정보를 이용하여 텍스처 영상(텍스처 블록)을 복원할 수 있다. 예컨대, 인터 예측 또는 인터-뷰 예측에서 스킵 모드 또는 머지 모드가 적용되는 경우에, 유도된 움직임 정보는 움직임 벡터뿐만 아니라 참조 픽처 인덱스를 포함할 수 있다. 디코딩 장치는 움직임 정보가 지시하는 블록의 픽셀 값을 기반으로 예측 블록을 생성할 수 있다. 디코딩 장치는 현재 텍스처 블록에 대한 레지듀얼을 예측 블록과 합하여 현재 텍스처 블록을 복원할 수 있다. 스킵 모드의 경우에는 레지듀얼이 전송되지 않으며, 디코딩 장치는 예측 블록을 복원 블록으로 할 수 있다. 인터 예측 또는 인터-뷰 예측에서 MVP를 이용하는 경우에 참조 픽처의 인덱스는 별도로 전송될 수 있다. 디코딩 장치는 움직임 정보와 참조 픽처 인덱스를 기반으로 현재 텍스처 블록에 대한 예측 블록을 생성하고, 레지듀얼과의 합으로 현재 텍스처 블록을 복원할 수 있다.
디코딩 장치는 유도한 움직임 정보를 이용하여 깊이 영상(깊이 블록)을 복원할 수 있다. 스킵 모드 또는 머지 모드가 적용되는 경우에, 움직임 정보는 움직임 벡터뿐만 아니라 참조 픽처(참조 깊이 영상) 인덱스를 포함할 수 있다. 디코딩 장치는 움직임 정보가 지시하는 블록의 픽셀 값을 기반으로 현재 깊이 블록에 대한 예측 블록을 생성하고, 레지듀얼과 합하여 복원 블록을 생성할 수 있다. 스킵 모드의 경우에, 디코딩 장치는 예측 블록을 복원 블록으로 할 수 있다. 인터 예측 또는 인터-뷰 예측에서 MVP를 이용하는 경우에 참조 픽처(참조 깊이 영상)의 인덱스는 별도로 전송될 수 있다. 디코딩 장치는 움직임 정보와 참조 픽처(참조 깊이 영상) 인덱스를 기반으로 현재 깊이 블록에 대한 예측 블록을 생성하고, 레지듀얼과 더하여 복원 블록을 생성할 수 있다.
여기서는 설명의 편의를 위해 디코딩 장치가 도 19의 각 단계를 수신하는 것으로 설명하였으나, 도 19의 단계들 중 일부 또는 전부는 디코딩 장치 내 소정의 유닛에서 수행될 수도 있다. 예컨대, S1920 및 S1930은 디코딩 장치 내 예측부에서 수행될 수 있다.
도 20은 본 발명에 따라서 디코딩 장치가 텍스처 영상의 움직임 정보를 유도하는 방법의 일 예를 개략적으로 설명하는 도면이다.
도 20을 참조하면, 디코딩 장치는 인코딩 장치로부터 수신한 정보로부터 예측에 필요한 정보를 유도한다(S2010). 예측에 필요한 정보는 비트스트림을 통해 인코딩 장치로부터 수신될 수 있다. 수신한 정보는 표 1 내지 표 3에서 설명한 정보들을 포함할 수 있다. 예컨대, 인터-뷰 예측을 수행하는 경우에 다른 뷰에 속하는 참조 픽처의 움직임 정보를 이용할 것인지를 지시하는 정보(예컨대, inter_view_motion_info_flag), 다른 뷰에 속하는 참조 픽처의 움직임 정보를 이용하는 경우에 어느 방향의 뷰를 참조할 것인지를 지시하는 정보(참조 뷰 방향 정보), 참조할 블록의 위치를 지시하는 GDV값에 관한 정보가 수신한 정보에 포함될 수 있다. 현재 픽처의 영역별로 GDV가 지시되는 경우에는 현재 픽처에서 정의된 GDV의 개수를 지시하는 정보와 GDV가 정의되는 영역에 관한 분할 정보가 수신한 정보에 포함될 수 있다.
디코딩 장치는 텍스처 영상의 움직임 정보를 유도할 수 있다(S2020). 인터-뷰 예측을 수행하는 경우에, 디코딩 장치는 인코딩 장치로부터 전송된 참조 뷰 방향 정보(예컨대, inter_view_motion_reuse_dir)가 지시하는 방향의 뷰들 중 현재 뷰가 참조하는 뷰의 동일 POC 픽처를 참조 픽처로 이용할 수 있다. 이때, 참조 픽처 내의 참조 블록은 GDV 정보(예컨대, global_disparity_vector_x, global_disparity_vector_y 또는 gdv_id)에 의해 지시될 수 있다.
스킵 모드 또는 머지 모드가 적용되는 경우에, 참조 블록의 움직임 정보를 현재 텍스처 블록의 움직임 정보로 이용할 수 있다. 이 경우, 움직임 정보는 움직임 벡터와 참조 픽처 인덱스를 포함한다.
MVP를 이용하는 경우에, 디코딩 장치는 참조 블록의 움직임 벡터를 현재 텍스처 블록의 움직임 벡터 예측자로 이용하고, 인코딩 장치로부터 수신한 움직임 벡터 차이를 더하여 현재 텍스처 블록의 움직임 벡터를 생성할 수 있다. 이 경우, 참조 픽처 인덱스는 인코딩 장치로부터 전송될 수 있다.
도 21은 본 발명에 따라서 디코딩 장치가 깊이 영상의 움직임 정보를 유도하는 방법의 일 예를 개략적으로 설명하는 도면이다.
도 21을 참조하면, 디코딩 장치는 현재 깊이 블록에 대응하는 텍스처 블록의 움직임 정보를 유도한다(S2110). 텍스처 블록의 움직임 정보를 유도하는 방법은 도 20을 포함하여 앞선 부분에서 설명한 바와 같다.
디코딩 장치는 현재 깊이 블록의 움직임 정보를 유도한다(S2120). 디코딩 장치는 인코딩 장치로부터 수신한 정보가 텍스처 영상의 움직임 정보를 이용할 것을 지시하는 경우(예컨대, reuse_type=1인 경우)에 대응하는 텍스처 블록의 움직임 정보를 기반으로 현재 깊이 영상의 움직임 정보를 유도한다. 텍스처 블록의 움직임 정보를 기반으로 현재 깊이 블록의 움직임 정보를 유도하는 방법은 도 15에서 설명한 바와 같다.
인코딩 장치로부터 수신한 정보가 텍스처 영상의 움직임 정보를 이용하지 않을 것을 지시하는 경우(예컨대, reuse_type=0)에, 디코딩 장치는 동일한 뷰의 다른 깊이 영상을 참조하여 현재 깊이 블록의 움직임 정보를 유도할 수 있다.
디코딩 장치는 유도한 움직임 정보를 이용하여 깊이 영상(깊이 블록)을 복원할 수 있다. 예컨대, 인터 예측 또는 인터-뷰 예측에서 스킵 모드 또는 머지 모드가 적용되는 경우에, 유도된 움직임 정보는 움직임 벡터뿐만 아니라 참조 픽처(참조 깊이 영상) 인덱스를 포함할 수 있다. 디코딩 장치는 움직임 정보가 지시하는 블록의 픽셀 값을 기반으로 예측 블록을 생성할 수 있다. 디코딩 장치는 현재 깊이 블록에 대한 레지듀얼을 예측 블록과 합하여 현재 텍스처 블록을 복원할 수 있다. 스킵 모드의 경우에는 레지듀얼이 전송되지 않으며, 디코딩 장치는 예측 블록을 복원 블록으로 할 수 있다. 인터 예측 또는 인터-뷰 예측에서 MVP를 이용하는 경우에 참조 픽처의 인덱스는 별도로 전송될 수 있다. 디코딩 장치는 움직임 정보와 참조 픽처 인덱스를 기반으로 현재 깊이 블록에 대한 예측 블록을 생성하고, 레지듀얼과의 합으로 현재 깊이 블록을 복원할 수 있다.
한편, 디코딩 장치는 텍스처 영상의 움직임 정보를 이용하여 현재 깊이 블록을 복원하는 경우(예컨대, reuse_type = 1)로서 DC_offset 값이 인코딩 장치로부터 전송된 경우에는, 오프셋 값을 적용하여 현재 깊이 블록을 복원할 수 있다.
도 16 내지 도 21에서는 앞서 설명한 본 발명의 내용에 대한 이해를 돕기 위해, 본 발명에 따른 방법을 개략적으로 설명하고 있다. 이는 앞서 설명한 발명의 내용 중 도 16 내지 도 21에서 설명되지 않은 내용을 배제하는 것이 아님에 유의한다.
본 명세서에서는 ‘영상’과 ‘픽처’를 혼용하여 기재하였으나, 이는 ‘영상’과 ‘픽처’를 별개의 개념으로 구분하여 사용하고자 하는 것이 아니며, 본 명세서에서 ‘영상’은 ‘픽처’를 포함하는 개념으로서, 기술 내용에 따라서 ‘픽처’를 의미할 수 있음에 유의한다.
또한, 본 명세서에서는 ‘깊이 영상’, ‘깊이 픽처’, ‘ 깊이 맵’을 혼용하여 기재하였으나, 이는 ‘깊이 영상’, ‘깊이 픽처’, ‘ 깊이 맵’을 별개의 개념으로 구분하여 사용하고자 하는 것이 아니며, 본 명세서에서 깊이 영상’, ‘깊이 픽처’, ‘ 깊이 맵’는 기술 내용에 따라서 동일한 개념으로 사용될 수 있음에 유의한다.
본 명세서에서 ‘깊이 영상이 텍스처 영상의 움직임 정보를 이용한다’는 것은 깊이 영상 내 현재 깊이 블록의 움직임 정보를 대응하는 텍스처 블록(들)의 움직임 정보(들)을 기반으로 결정하는 것을 의미하며, 텍스처 블록의 움직임 정보를 깊이 블록의 움직임 정보로 이용하거나 텍스처 블록들의 움직임 정보들을 이용하여 깊이 블록의 움직임 정보를 도출하는 것을 포함한다.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (20)

  1. 현재 블록의 움직임 정보를 결정하는 단계; 및
    상기 움직임 정보를 유도하기 위한 정보를 전송하는 단계를 포함하며,
    상기 현재 블록의 움직임 정보를 결정하는 단계에서는
    상기 현재 블록의 움직임 정보를 참조 블록의 움직임 정보를 재활용하여 결정하는 것을 특징으로 하는 영상 인코딩 방법.
  2. 제1항에 있어서, 상기 현재 블록은 텍스처 픽처의 블록이고,
    상기 참조 블록은 참조 뷰 내 블록인 것을 특징으로 하는 영상 인코딩 방법.
  3. 제2항에 있어서, 상기 움직임 정보를 유도하기 위한 정보는,
    상기 참조 블록의 움직임 정보를 재활용할 것을 지시하는 정보, 상기 참조 뷰의 방향을 지시하는 정보, 상기 참조 블록에 대한 GDV(Galobal Disparity Vector)를 지시하는 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 영상 인코딩 방법.
  4. 제2항에 있어서, 상기 참조 블록에 대한 GDV는 상기 현재 블록이 속하는 픽처 내에서 영역별로 결정되며,
    상기 GDV가 결정되는 영역은 쿼드 트리 구조를 가지는 것을 특징으로 하는 영상 인코딩 방법.
  5. 제4항에 있어서, 상기 움직임 정보를 유도하기 위한 정보는,
    상기 쿼드 트리 구조의 최대 깊이 정보 및 최대 크기 정보를 포함하며,
    상기 GDV가 결정되는 영역이 최대 깊이의 영역인 경우에 GDV 정보를 전송하는 것을 특징으로 하는 영상 인코딩 방법.
  6. 제4항에 있어서, 상기 움직임 정보를 유도하기 위한 정보는,
    상기 쿼드 트리 구조에 대한 분할 여부를 지시하는 정보를 포함하며,
    상기 GDV가 결정되는 영역이 분할되지 않는 경우에 GDV 정보를 전송하는 것을 특징으로 하는 영상 인코딩 방법.
  7. 제1항에 있어서, 상기 현재 블록은 깊이 픽처의 블록이고,
    상기 참조 블록은 동일 뷰의 텍스처 픽처 내 블록인 것을 특징으로 하는 영상 인코딩 방법.
  8. 제7항에 있어서, 상기 현재 블록이 상기 참조 블록보다 큰 경우에,
    상기 현재 블록의 움직임 정보는 상기 참조 블록의 움직임 정보 및 상기 참조 블록의 주변 블록들의 움직임 정보를 기반으로 결정되는 것을 특징으로 하는 영상 인코딩 방법.
  9. 제7항에 있어서, 상기 현재 블록이 상기 참조 블록보다 작은 경우에,
    상기 현재 블록의 움직임 정보는 상기 참조 블록의 서브 블록들의 움직임 정보를 기반으로 결정되는 것을 특징으로 하는 영상 인코딩 방법.
  10. 제7항에 있어서, 상기 움직임 정보를 유도하기 위한 정보는,
    상기 참조 블록의 움직임 정보를 기반을 복원된 현재 블록의 깊이 값을 보상하는 오프셋 정보를 포함하는 것을 특징으로 하는 영상 인코딩 방법.
  11. 현재 블록의 움직임 정보를 유도하기 위한 정보를 수신하는 단계; 및
    상기 움직임 정보를 유도하기 위한 정보를 기반으로 상기 현재 블록의 움직임 정보를 유도하는 단계를 포함하며,
    상기 현재 블록의 움직임 정보를 유도하는 단계에서는
    상기 현재 블록의 움직임 정보를 참조 블록의 움직임 정보를 재활용하여 결정하는 것을 특징으로 하는 영상 디코딩 방법.
  12. 제11항에 있어서, 상기 현재 블록은 텍스처 픽처의 블록이고,
    상기 움직임 정보를 유도하기 위한 정보가 다른 뷰 내 블록의 움직임 정보를 재활용하여 상기 현재 블록의 움직임 정보를 유도할 것을 지시하는 정보를 포함하는 경우에, 참조 뷰 내 블록을 상기 참조 블록으로 설정하는 것을 특징으로 하는 영상 디코딩 방법.
  13. 제12항에 있어서, 상기 움직임 정보를 유도하기 위한 정보는,
    상기 참조 뷰의 방향을 지시하는 정보 및/또는 상기 참조 블록에 대한 GDV(Global Disparity Vector)를 지시하는 정보를 포함하는 것을 특징으로 하는 영상 디코딩 방법.
  14. 제12항에 있어서, 상기 움직임 정보를 유도하기 위한 정보는 상기 참조 블록에 대한 GDV를 포함하며,
    상기 GDV의 값은 상기 현재 블록이 속하는 픽처 내에서 영역별로 설정되는 것을 특징으로 하는 영상 디코딩 방법.
  15. 제14항에 있어서, 상기 GDV 값이 특정되는 영역은 쿼드 트리 구조를 가지며,
    상기 움직임 정보를 유도하기 위한 정보는,
    상기 쿼드 트리 구조의 최대 깊이를 지시하는 정보; 및
    상기 현재 블록이 최대 깊이의 GDV 설정 영역인 경우에 GDV 값을 지시하는 정보를 포함하는 것을 특징으로 하는 영상 디코딩 방법.
  16. 제14항에 있어서, 상기 GDV 값이 특정되는 영역은 쿼드 트리 구조를 가지며,
    상기 움직임 정보를 유도하기 위한 정보는,
    상기 GDV 설정 영역의 분할 여부를 지시하는 정보; 및
    상기 현재 블록이 속하는 GDV 설정 영역이 분할되지 않는 경우에 GDV 값을 지시하는 정보를 포함하는 것을 특징으로 하는 영상 디코딩 방법.
  17. 제11항에 있어서, 상기 현재 블록은 깊이 픽처의 블록이고,
    상기 움직임 정보를 유도하기 위한 정보가 텍스처 픽처 내 블록의 움직임 정보를 재활용하여 상기 현재 블록의 움직임 정보를 유도할 것을 지시하는 정보를 포함하는 경우에, 상기 깊이 픽처와 동일 뷰 내의 텍스처 픽처 내 블록을 상기 참조 블록으로 설정하는 것을 특징으로 하는 영상 디코딩 방법.
  18. 제17항에 있어서, 상기 현재 블록이 상기 참조 블록보다 큰 경우에,
    상기 현재 블록의 움직임 정보는 상기 참조 블록의 움직임 정보 및 상기 참조 블록의 주변 블록들의 움직임 정보를 기반으로 유도되는 것을 특징으로 하는 영상 디코딩 방법.
  19. 제17항에 있어서, 상기 현재 블록이 상기 참조 블록보다 작은 경우에,
    상기 현재 블록의 움직임 정보는 상기 참조 블록의 서브 블록들의 움직임 정보를 기반으로 유도되는 것을 특징으로 하는 영상 디코딩 방법.
  20. 제17항에 있어서, 상기 움직임 정보를 유도하기 위한 정보는,
    상기 참조 블록의 움직임 정보를 기반을 복원된 현재 블록의 깊이 값을 보상하는 오프셋 정보를 포함하는 것을 특징으로 하는 영상 디코딩 방법.
PCT/KR2012/008311 2011-10-12 2012-10-12 영상 인코딩 방법 및 디코딩 방법 WO2013055148A2 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/351,307 US9712819B2 (en) 2011-10-12 2012-10-12 Image encoding method and image decoding method
US15/652,078 US10659758B2 (en) 2011-10-12 2017-07-17 Image encoding method and image decoding method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161546066P 2011-10-12 2011-10-12
US61/546,066 2011-10-12

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/351,307 A-371-Of-International US9712819B2 (en) 2011-10-12 2012-10-12 Image encoding method and image decoding method
US15/652,078 Continuation US10659758B2 (en) 2011-10-12 2017-07-17 Image encoding method and image decoding method

Publications (2)

Publication Number Publication Date
WO2013055148A2 true WO2013055148A2 (ko) 2013-04-18
WO2013055148A3 WO2013055148A3 (ko) 2013-07-04

Family

ID=48082674

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/008311 WO2013055148A2 (ko) 2011-10-12 2012-10-12 영상 인코딩 방법 및 디코딩 방법

Country Status (2)

Country Link
US (2) US9712819B2 (ko)
WO (1) WO2013055148A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015005749A1 (ko) * 2013-07-12 2015-01-15 삼성전자 주식회사 인터 레이어 비디오 복호화 및 부호화 장치 및 방법을 위한 블록 기반 디스패리티 벡터 예측 방법
WO2015057037A1 (ko) * 2013-10-18 2015-04-23 엘지전자 주식회사 멀티-뷰 비디오를 디코딩하는 비디오 디코딩 장치 및 방법
CN108141589A (zh) * 2015-09-29 2018-06-08 Lg 电子株式会社 图像编译系统中对图像进行滤波的方法和装置
CN112954368A (zh) * 2015-03-13 2021-06-11 Lg 电子株式会社 处理视频信号的方法及其设备

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101912307B1 (ko) 2010-12-08 2018-10-26 엘지전자 주식회사 인트라 예측 방법과 이를 이용한 부호화 장치 및 복호화 장치
JP6039178B2 (ja) * 2011-09-15 2016-12-07 シャープ株式会社 画像符号化装置、画像復号装置、並びにそれらの方法及びプログラム
US9560362B2 (en) * 2011-12-22 2017-01-31 Mediatek Inc. Method and apparatus of texture image compression in 3D video coding
CN104365102B (zh) * 2012-05-10 2018-01-02 Lg 电子株式会社 处理视频信号的方法和装置
JP2014082541A (ja) * 2012-10-12 2014-05-08 National Institute Of Information & Communication Technology 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置
KR101737595B1 (ko) * 2012-12-27 2017-05-18 니폰 덴신 덴와 가부시끼가이샤 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 화상 부호화 프로그램 및 화상 복호 프로그램
WO2015000108A1 (en) * 2013-07-01 2015-01-08 Mediatek Singapore Pte. Ltd. An improved texture merging candidate in 3dvc
CA2909550C (en) * 2013-07-15 2018-04-24 Mediatek Singapore Pte. Ltd. Method of disparity derived depth coding in 3d video coding
EP3059967B1 (en) * 2013-10-18 2020-04-22 LG Electronics Inc. Video decoding method and apparatus for decoding multi-view video
US9813620B2 (en) * 2014-03-31 2017-11-07 JVC Kenwood Corporation Image processing apparatus, image processing method, program, and camera
US10218957B2 (en) * 2014-06-20 2019-02-26 Hfi Innovation Inc. Method of sub-PU syntax signaling and illumination compensation for 3D and multi-view video coding
EP3234870A1 (en) * 2014-12-19 2017-10-25 United Technologies Corporation Sensor data fusion for prognostics and health monitoring
CN107197288B (zh) * 2016-03-15 2023-11-10 北京三星通信技术研究有限公司 视频全局视差向量编码方法、解码方法和装置
JP6895247B2 (ja) * 2016-10-06 2021-06-30 日本放送協会 符号化装置、復号装置及びプログラム
CN109005412B (zh) * 2017-06-06 2022-06-07 北京三星通信技术研究有限公司 运动矢量获取的方法及设备
US11818401B2 (en) 2017-09-14 2023-11-14 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US11113845B2 (en) 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US10607373B2 (en) 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
US10699444B2 (en) 2017-11-22 2020-06-30 Apple Inc Point cloud occupancy map compression
US10909727B2 (en) 2018-04-10 2021-02-02 Apple Inc. Hierarchical point cloud compression with smoothing
US10939129B2 (en) 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US10909726B2 (en) 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
US11017566B1 (en) 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
US11202098B2 (en) * 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
US11012713B2 (en) 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
US11386524B2 (en) 2018-09-28 2022-07-12 Apple Inc. Point cloud compression image padding
US11367224B2 (en) 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
US11430155B2 (en) 2018-10-05 2022-08-30 Apple Inc. Quantized depths for projection point cloud compression
US11057564B2 (en) 2019-03-28 2021-07-06 Apple Inc. Multiple layer flexure for supporting a moving image sensor
US11562507B2 (en) 2019-09-27 2023-01-24 Apple Inc. Point cloud compression using video encoding with time consistent patches
US11627314B2 (en) 2019-09-27 2023-04-11 Apple Inc. Video-based point cloud compression with non-normative smoothing
US11538196B2 (en) 2019-10-02 2022-12-27 Apple Inc. Predictive coding for point cloud compression
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11475605B2 (en) 2020-01-09 2022-10-18 Apple Inc. Geometry encoding of duplicate points
US11620768B2 (en) 2020-06-24 2023-04-04 Apple Inc. Point cloud geometry compression using octrees with multiple scan orders
US11615557B2 (en) 2020-06-24 2023-03-28 Apple Inc. Point cloud compression using octrees with slicing
US11418810B2 (en) * 2020-09-21 2022-08-16 Tencent America LLC Methods of inter picture motion prediction for multi-view video compression
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080008944A (ko) * 2006-07-21 2008-01-24 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
KR20080036910A (ko) * 2006-10-24 2008-04-29 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
KR20090113281A (ko) * 2007-01-24 2009-10-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR20090129412A (ko) * 2007-03-02 2009-12-16 엘지전자 주식회사 비디오 신호 디코딩/인코딩 방법 및 장치

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5192393B2 (ja) 2006-01-12 2013-05-08 エルジー エレクトロニクス インコーポレイティド 多視点ビデオの処理
US20070177671A1 (en) 2006-01-12 2007-08-02 Lg Electronics Inc. Processing multiview video
KR100949982B1 (ko) 2006-03-30 2010-03-29 엘지전자 주식회사 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치
US20100091845A1 (en) 2006-03-30 2010-04-15 Byeong Moon Jeon Method and apparatus for decoding/encoding a video signal
WO2007148906A1 (en) 2006-06-19 2007-12-27 Lg Electronics, Inc. Method and apparatus for processing a vedeo signal
WO2008007917A1 (en) * 2006-07-12 2008-01-17 Lg Electronics, Inc. A method and apparatus for processing a signal
TWI375469B (en) 2006-08-25 2012-10-21 Lg Electronics Inc A method and apparatus for decoding/encoding a video signal
US20100266042A1 (en) 2007-03-02 2010-10-21 Han Suh Koo Method and an apparatus for decoding/encoding a video signal
WO2008133455A1 (en) * 2007-04-25 2008-11-06 Lg Electronics Inc. A method and an apparatus for decoding/encoding a video signal
EP2177036A2 (en) * 2007-08-15 2010-04-21 Thomson Licensing Methods and apparatus for motion skip mode in multi-view coded video using regional disparity vectors
KR101625058B1 (ko) * 2008-11-10 2016-05-27 엘지전자 주식회사 시점간 예측을 이용한 비디오 신호 처리 방법 및 장치
US9247249B2 (en) * 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
JP2014529214A (ja) * 2011-08-09 2014-10-30 サムスン エレクトロニクス カンパニー リミテッド 多視点ビデオデータの深度マップ符号化方法及びその装置、復号化方法及びその装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080008944A (ko) * 2006-07-21 2008-01-24 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
KR20080036910A (ko) * 2006-10-24 2008-04-29 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
KR20090113281A (ko) * 2007-01-24 2009-10-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR20090129412A (ko) * 2007-03-02 2009-12-16 엘지전자 주식회사 비디오 신호 디코딩/인코딩 방법 및 장치

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015005749A1 (ko) * 2013-07-12 2015-01-15 삼성전자 주식회사 인터 레이어 비디오 복호화 및 부호화 장치 및 방법을 위한 블록 기반 디스패리티 벡터 예측 방법
US9924182B2 (en) 2013-07-12 2018-03-20 Samsung Electronics Co., Ltd. Method for predicting disparity vector based on blocks for apparatus and method for inter-layer encoding and decoding video
WO2015057037A1 (ko) * 2013-10-18 2015-04-23 엘지전자 주식회사 멀티-뷰 비디오를 디코딩하는 비디오 디코딩 장치 및 방법
CN105637874A (zh) * 2013-10-18 2016-06-01 Lg电子株式会社 解码多视图视频的视频解码装置和方法
US10063887B2 (en) 2013-10-18 2018-08-28 Lg Electronics Inc. Video decoding apparatus and method for decoding multi-view video
CN112954368A (zh) * 2015-03-13 2021-06-11 Lg 电子株式会社 处理视频信号的方法及其设备
CN108141589A (zh) * 2015-09-29 2018-06-08 Lg 电子株式会社 图像编译系统中对图像进行滤波的方法和装置
US10681347B2 (en) 2015-09-29 2020-06-09 Lg Electronics Inc. Method and apparatus of filtering image in image coding system

Also Published As

Publication number Publication date
US9712819B2 (en) 2017-07-18
US20180007388A1 (en) 2018-01-04
US20140294088A1 (en) 2014-10-02
WO2013055148A3 (ko) 2013-07-04
US10659758B2 (en) 2020-05-19

Similar Documents

Publication Publication Date Title
WO2013055148A2 (ko) 영상 인코딩 방법 및 디코딩 방법
CN110073661B (zh) 用于编码和解码视频数据的方法和装置
EP3163880A1 (en) Device and method for eliminating redundancy of view synthesis prediction candidate in motion merge mode
AU2016253619A1 (en) Method and apparatus for encoding image and method and apparatus for decoding image
KR20160072102A (ko) 멀티-뷰 비디오 코딩에 있어서, 뷰 합성 예측 방법 및 이를 이용한 머지 후보 리스트 구성 방법
EP3764643B1 (en) Image processing method based on inter prediction mode, and device therefor
EP3737091A1 (en) Method for processing image on basis of inter-prediction mode and device therefor
US20170310993A1 (en) Movement information compression method and device for 3d video coding
CN114556957A (zh) 基于环路内滤波的视频编译设备和方法
KR102500091B1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
CA2952793C (en) Depth picture coding method and device in video coding
US10587894B2 (en) Method and device for encoding/decoding 3D video
KR20230109606A (ko) 부호화 트리 유닛 및 부호화 유닛의 처리를 수행하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
KR102343817B1 (ko) 멀티-뷰 비디오의 디코딩 방법 및 장치
KR20190093172A (ko) 움직임 정보를 처리하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
KR102510696B1 (ko) 병렬 처리를 위한 움직임 정보를 처리하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
KR20130002242A (ko) 영상 정보의 부호화 방법 및 복호화 방법
EP3091743A1 (en) Method and device for inducing motion information between temporal points of sub prediction unit
EP3059969A1 (en) Method and apparatus for coding/decoding video comprising multi-view
CN114586351A (zh) 基于自适应环路滤波的图像编译设备和方法
WO2013039348A1 (ko) 영상 정보 시그널링 방법 및 이를 이용한 비디오 디코딩 방법
WO2013069933A1 (ko) 영상 부호화/복호화 방법 및 그 장치
EP2961166B1 (en) Method for encoding video of multi-layer structure supporting scalability and method for decoding same and apparatus therefor
KR102378087B1 (ko) 변이 벡터를 사용한 병합 움직임 후보 유도 장치 및 방법
CN114731405A (zh) 使用量化矩阵的图像编码/解码方法和设备以及发送比特流的方法

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

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 14351307

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 12839855

Country of ref document: EP

Kind code of ref document: A2