WO2016056779A1 - 3d 비디오 코딩에서 카메라 파라미터 처리 방법 및 장치 - Google Patents

3d 비디오 코딩에서 카메라 파라미터 처리 방법 및 장치 Download PDF

Info

Publication number
WO2016056779A1
WO2016056779A1 PCT/KR2015/010129 KR2015010129W WO2016056779A1 WO 2016056779 A1 WO2016056779 A1 WO 2016056779A1 KR 2015010129 W KR2015010129 W KR 2015010129W WO 2016056779 A1 WO2016056779 A1 WO 2016056779A1
Authority
WO
WIPO (PCT)
Prior art keywords
scale
camera parameter
syntax
picture
value
Prior art date
Application number
PCT/KR2015/010129
Other languages
English (en)
French (fr)
Inventor
유선미
남정학
예세훈
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to JP2016549760A priority Critical patent/JP6445026B2/ja
Priority to US15/111,735 priority patent/US10419779B2/en
Priority to EP15848520.1A priority patent/EP3206401A4/en
Priority to CN201580011518.8A priority patent/CN106105218B/zh
Priority to KR1020167018011A priority patent/KR20170069957A/ko
Publication of WO2016056779A1 publication Critical patent/WO2016056779A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/128Adjusting depth or disparity
    • 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/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals
    • 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 video coding, and more particularly, to a method and apparatus for processing camera parameters in 3D video coding.
  • High-efficiency image compression technology can be used to effectively transmit, store, and reproduce high-resolution, high-quality video information.
  • 3D video can provide realism and immersion using a plurality of view channels.
  • 3D video can be used in various areas such as free viewpoint video (FCC), free viewpoint TV (FTV), 3DTV, surveillance and home entertainment.
  • FCC free viewpoint video
  • FTV free viewpoint TV
  • 3DTV surveillance and home entertainment.
  • 3D video (3DV) using multiple views has a high correlation between views of the same picture order count (POC). Since the multi-view image captures the same scene at the same time by using multiple adjacent cameras, that is, multiple views, the correlation between the different views is high because it contains almost the same information except for parallax and slight lighting differences.
  • POC picture order count
  • the decoding target block of the current view may be predicted or decoded with reference to the block of another view.
  • the present invention provides a method and apparatus for predicting a current block in 3D video coding.
  • the present invention provides a method and apparatus for converting a depth value into a disparity value in 3D video coding.
  • the present invention provides a method and apparatus for sharing the same camera parameter between slices or pictures of a period in 3D video coding.
  • the present invention currently provides a method and apparatus for preventing the transmission of duplicate camera parameters.
  • a 3D video decoding method may further include receiving a camera parameter for converting a depth value into a disparity value through a first syntax, determining whether the camera parameter applied to a previous slice or picture is applied to a current slice or picture, And when the camera parameter is applied to the current slice or picture, deriving a disparity value for the current block based on the camera parameter.
  • a 3D video decoding apparatus determines a decoding unit that receives a camera parameter for converting a depth value into a disparity value through a first syntax, and whether the camera parameter applied to a previous slice or picture is applied to a current slice or picture, and And, when the camera parameter is applied to the current slice or picture, a prediction unit for deriving a disparity value for the current block based on the camera parameter.
  • a depth value may be converted into a disparity value based on a camera parameter received in 3D video coding.
  • slices or pictures of a predetermined interval may share the same camera parameter, prevent transmission of duplicate information, and improve coding efficiency.
  • FIG. 1 is a diagram schematically illustrating a process of encoding and decoding 3D video to which the present invention can be applied.
  • FIG. 2 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention may be applied.
  • FIG. 3 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention may be applied.
  • FIGS. 4A and 4B are diagrams for explaining camera parameters that can be used in the present invention.
  • FIG. 5 exemplarily illustrates a reference object camera parameter set for each slice for a plurality of camera parameter sets.
  • FIG. 6 is a flowchart schematically illustrating a camera parameter encoding method according to an embodiment of the present invention.
  • FIG. 7 is a flowchart schematically illustrating a camera parameter decoding method according to an embodiment of the present invention.
  • each configuration in the drawings described in the present invention are shown independently for the convenience of description of the different characteristic functions, it does not mean that each configuration is implemented by separate hardware or separate software.
  • two or more of each configuration may be combined to form one configuration, or one configuration may be divided into a plurality of configurations.
  • Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention without departing from the spirit of the present invention.
  • a picture generally refers to a unit representing one image of a specific time zone
  • a slice is a unit constituting a part of a picture in coding.
  • One picture may be composed of a plurality of slices, and if necessary, the picture and the slice may be mixed with each other.
  • a pixel or a pel may refer to a minimum unit constituting one picture (or image).
  • 'sample' may be used as a term indicating a value of a specific pixel.
  • the sample may generally represent the value of the pixel, may represent only the pixel value of the luma component, or may represent only the pixel value of the chroma component.
  • a unit represents the basic unit of image processing.
  • the unit may include at least one of a specific region of the picture and information related to the region.
  • the unit may be used interchangeably with terms such as block or area in some cases.
  • an M ⁇ N block may represent a set of samples or transform coefficients composed of M columns and N rows.
  • FIG. 1 is a diagram schematically illustrating a process of encoding and decoding 3D video to which the present invention can be applied.
  • the 3D video encoder may encode a video picture, a depth map, and a camera parameter to output a bitstream.
  • the depth map may be composed of distance information (depth information) between a camera and a subject with respect to pixels of a corresponding video picture (texture picture).
  • the depth map may be an image in which depth information is normalized according to bit depth.
  • the depth map may be composed of recorded depth information without color difference representation.
  • the depth map may be called a depth map picture or a depth picture.
  • the disparity information indicating the correlation between views may be derived from the depth information of the depth map using camera parameters.
  • a general color image that is, a bitstream including a depth map and camera parameters together with a video picture (texture picture) may be transmitted to a decoder through a network or a storage medium.
  • the decoder side can receive the bitstream and reconstruct the video.
  • the 3D video decoder may decode the video picture and the depth map and the camera parameters from the bitstream.
  • a view required for a multi view display may be synthesized based on the decoded video picture, the depth map, and the camera parameter. In this case, if the display used is a stereo display, the 3D image may be displayed using pictures of two views among the reconstructed multi views.
  • the stereo video decoder can reconstruct two pictures that will each be incident on both eyes from the bitstream.
  • a stereoscopic image may be displayed by using a view difference or disparity between a left image incident to the left eye and a right image incident to the right eye.
  • the multi view display is used together with the stereo video decoder, different views may be generated based on the two reconstructed pictures to display the multi view.
  • the 2D image may be restored and the image may be output to the 2D display.
  • the decoder may output one of the reconstructed images to the 2D display when using a 3D video decoder or a stereo video decoder.
  • view synthesis may be performed at the decoder side and may be performed at the display side.
  • the decoder and the display may be one device or may be separate devices.
  • the 3D video decoder, the stereo video decoder, and the 2D video decoder are described as separate decoders.
  • one decoding apparatus may perform 3D video decoding, stereo video decoding, and 2D video decoding.
  • the 3D video decoding apparatus may perform 3D video decoding
  • the stereo video decoding apparatus may perform stereo video decoding
  • the 2D video decoding apparatus may perform 2D video decoding.
  • the multi view display may output 2D video or output stereo video.
  • FIG. 2 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention may be applied.
  • the video encoding apparatus 200 may include a picture splitter 205, a predictor 210, a subtractor 215, a transformer 220, a quantizer 225, a reorderer 230, An entropy encoding unit 235, an inverse quantization unit 240, an inverse transform unit 245, an adder 250, a filter unit 255, and a memory 260 are included.
  • the picture dividing unit 205 may divide the input picture into at least one processing unit block.
  • the processing unit block may be a coding unit block, a prediction unit block, or a transform unit block.
  • the coding unit block may be split along a quad-tree structure from a largest coding unit block as a unit block of coding.
  • the prediction unit block is a block partitioning from the coding unit block and may be a unit block of sample prediction. In this case, the prediction unit block may be divided into sub blocks.
  • the transform unit block may be split along the quad tree structure from the coding unit block, and may be a unit block that derives along the transform coefficients or a unit block that derives a residual signal from the transform coefficients.
  • a coding unit block is a coding block (CB) or a coding unit (CU)
  • a prediction unit block is a prediction block (PB) or a prediction unit (PU)
  • a transform unit block is It may be called a transform block (TB) or a transform unit (TU).
  • a prediction block or prediction unit may mean a specific area in the form of a block within a picture, and may include an array of prediction samples.
  • a transform block or a transform unit may mean a specific area in a block form within a picture, and may include an array of transform coefficients or residual samples.
  • the prediction unit 210 may perform a prediction on a block to be processed (hereinafter, referred to as a current block) and generate a prediction block including prediction samples of the current block.
  • the unit of prediction performed by the prediction unit 210 may be a coding block, a transform block, or a prediction block.
  • the prediction unit 210 may determine whether intra prediction or inter prediction is applied to the current block. As an example, the prediction unit 210 may determine whether intra prediction or inter prediction is applied on a CU basis.
  • the prediction unit 210 may derive a prediction sample for the current block based on reference samples outside the current block in the picture to which the current block belongs (hereinafter, referred to as the current picture). In this case, the prediction unit 210 may (i) derive a prediction sample based on the average or interpolation of neighboring reference samples of the current block, and (ii) the neighbor reference of the current block. The prediction sample may be derived based on a reference sample present in a specific (prediction) direction with respect to the prediction sample among the samples. In case of (i), it may be called non-directional mode, and in case of (ii), it is called directional mode. The prediction unit 210 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
  • the prediction unit 210 may derive the prediction sample for the current block based on the sample specified by the motion vector on the reference picture.
  • the prediction unit 210 may derive the prediction sample for the current block by applying any one of a skip mode, a merge mode, and a motion vector prediction (MVP) mode.
  • the prediction unit 210 may use the motion information of the neighboring block as the motion information of the current block.
  • the skip mode unlike the merge mode, the difference (residual) between the prediction sample and the original sample is not transmitted.
  • the MVP mode the motion vector of the current block can be derived using the motion vector of the neighboring block as a motion vector predictor.
  • the neighboring block includes a spatial neighboring block existing in the current picture and a temporal neighboring block present in the reference picture.
  • a reference picture including the temporal neighboring block may be called a collocated picture (colPic).
  • the motion information may include a motion vector and a reference picture. When the motion information of the temporal neighboring block is used in the skip mode and the merge mode, the highest picture on the reference picture list may be used as the reference picture.
  • the view may be divided into an independent view and a dependent view.
  • the prediction unit 210 may not only inter-prediction but also inter-view. You can also make predictions.
  • the predictor 210 may construct a reference picture list by including pictures of other views.
  • the prediction unit 210 may derive a disparity vector.
  • the disparity vector may add a block corresponding to the current block in another view of the same access unit (AU) as the current picture.
  • the AU may include video pictures and depth maps that correspond to the same time instance, for example in multiple views.
  • AU may mean a set of pictures having the same Picture Order Count (POC).
  • POC corresponds to the display order of the pictures and may be distinguished from the coding order.
  • the prediction unit 210 may specify a depth block in a depth view based on the disparity vector, configure the merge list, inter-view motion prediction, and register. Dual prediction, illumination compensation (IC), view synthesis, etc. can be performed.
  • the disparity vector for the current block can be derived from the depth value using camera parameters or from the motion vector or disparity vector of the neighboring block in the current or other view.
  • the prediction unit 210 may include an inter-view merging candidate (IvMC) corresponding to temporal motion information of a reference view and an inter-view disparity vector candidate corresponding to a disparity vector.
  • IvDC inter-view merging candidate
  • IvMC inter-view disparity vector candidate
  • T texture merging candidate
  • D disparity derived merging candidate
  • VSP view synthesis prediction candidate
  • the number of candidates included in the merge candidate list applied to the dependent view may be limited to a predetermined value.
  • the prediction unit 210 may apply the inter-view motion vector prediction to predict the motion vector of the current block based on the disparity vector.
  • the prediction unit 210 may derive a disparity vector based on a conversion of the maximum depth value in the corresponding depth block.
  • a block including the reference sample may be used as the reference block.
  • the prediction unit 210 may use the motion vector of the reference block as a candidate motion parameter or motion vector predictor candidate of the current block, and use the disparity vector as a candidate disparity for disparity compensated prediction (DCP). Can be used as a vector.
  • DCP disparity compensated prediction
  • the subtraction unit 215 generates a residual sample which is a difference between the original sample and the prediction sample.
  • residual samples may not be generated as described above.
  • the transform unit 220 generates a transform coefficient by transforming the residual sample in units of transform blocks.
  • the quantization unit 225 may quantize the transform coefficients to generate quantized transform coefficients.
  • the reordering unit 230 rearranges the quantized transform coefficients.
  • the reordering unit 230 may reorder the quantized transform coefficients in the form of a block into a one-dimensional vector form through a coefficient scanning method.
  • the entropy encoding unit 235 may perform entropy encoding on the quantized transform coefficients.
  • Entropy encoding may include, for example, encoding methods such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), and the like.
  • the entropy encoding unit 235 may encode information necessary for video reconstruction other than the quantized transform coefficients (for example, a value of a syntax element) together or separately. Entropy encoded information may be transmitted or stored in units of network abstraction layer (NAL) units in the form of bitstreams.
  • NAL network abstraction layer
  • the adder 250 reconstructs the picture by combining the residual sample and the predictive sample.
  • the residual sample and the predictive sample may be added in units of blocks to generate a reconstructed block.
  • the adder 250 has been described in a separate configuration, the adder 250 may be part of the predictor 210.
  • the filter unit 255 may apply a deblocking filter and / or a sample adaptive offset to the reconstructed picture. Through deblocking filtering and / or sample adaptive offset, the artifacts of the block boundaries in the reconstructed picture or the distortion in the quantization process can be corrected.
  • the sample adaptive offset may be applied on a sample basis and may be applied after the process of deblocking filtering is completed.
  • the memory 260 may store information necessary for reconstructed pictures or encoding / decoding.
  • the memory 260 may store (reference) pictures used for inter prediction / inter view prediction.
  • pictures used for inter prediction / inter view prediction may be designated by a reference picture set or a reference picture list.
  • one encoding device has been described as encoding independent views and dependent views, this is for convenience of description, and a separate encoding device is configured for each view, or a separate internal module (for example, each view). Prediction module) may be configured.
  • FIG. 3 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention may be applied.
  • the video decoding apparatus 300 includes an entropy decoding unit 310, a reordering unit 320, an inverse quantization unit 330, an inverse transform unit 340, a predictor 350, and an adder 360.
  • the filter unit 370 and the memory 380 are included.
  • the video decoding apparatus 300 may reconstruct the video in response to a process in which the video information is processed in the video encoding apparatus.
  • the video decoding apparatus 300 may perform video decoding using a processing unit applied in the video encoding apparatus.
  • the processing unit block of video decoding may be a coding unit block, a prediction unit block, or a transform unit block.
  • the coding unit block may be divided along the quad tree structure from the largest coding unit block as a unit block of decoding.
  • the prediction unit block is a block partitioned from the coding unit block and may be a unit block of sample prediction. In this case, the prediction unit block may be divided into sub blocks.
  • the transform unit block may be divided along the quad tree structure from the coding unit block, and may be a unit block for deriving a transform coefficient or a unit block for deriving a residual signal from the transform coefficient.
  • the entropy decoding unit 310 may parse the bitstream and output information necessary for video reconstruction or picture reconstruction. For example, the entropy decoding unit 310 decodes the information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, quantized values of syntax elements required for video reconstruction, and residual coefficients. Can be output.
  • a coding method such as exponential Golomb coding, CAVLC, or CABAC, quantized values of syntax elements required for video reconstruction, and residual coefficients. Can be output.
  • the bitstream may be input for each view.
  • information about each view may be multiplexed in the bitstream.
  • the entropy decoding unit 310 may de-multiply the bitstream and parse the view for each view.
  • the reordering unit 320 may rearrange the quantized transform coefficients in the form of a two-dimensional block.
  • the reordering unit 320 may perform reordering in response to coefficient scanning performed by the encoding apparatus.
  • the inverse quantization unit 330 may dequantize the quantized transform coefficients based on the (inverse) quantization parameter and output the transform coefficients.
  • information for deriving a quantization parameter may be signaled from the encoding apparatus.
  • the inverse transform unit 340 may inverse residual transform coefficients to derive residual samples.
  • the prediction unit 350 may perform prediction on the current block and generate a prediction block including prediction samples for the current block.
  • the unit of prediction performed by the prediction unit 350 may be a coding block, a transform block, or a prediction block.
  • the prediction unit 350 may determine whether to apply intra prediction or inter prediction.
  • a unit for determining which of intra prediction and inter prediction is to be applied and a unit for generating a prediction sample may be different.
  • the unit for generating a prediction sample in inter prediction and intra prediction may also be different.
  • whether to apply inter prediction or intra prediction may be determined in units of CUs.
  • a prediction mode may be determined and a prediction sample may be generated in PU units
  • intra prediction a prediction mode may be determined in PU units and a prediction sample may be generated in TU units.
  • the prediction unit 350 may derive the prediction sample for the current block based on the neighbor reference samples in the current picture.
  • the prediction unit 350 may derive the prediction sample for the current block by applying the directional mode or the non-directional mode based on the neighbor reference samples of the current block.
  • the prediction mode to be applied to the current block may be determined using the intra prediction mode of the neighboring block.
  • the prediction unit 350 may derive the prediction sample for the current block based on the sample specified on the reference picture by the motion vector on the reference picture.
  • the prediction unit 350 may induce a prediction sample for the current block by applying any one of a skip mode, a merge mode, and an MVP mode.
  • the motion information of the neighboring block may be used as the motion information of the current block.
  • the neighboring block may include a spatial neighboring block and a temporal neighboring block.
  • the prediction unit 350 may construct a merge candidate list using motion information of available neighboring blocks, and use information indicated by the merge index on the merge candidate list as a motion vector of the current block.
  • the merge index may be signaled from the encoding device.
  • the motion information may include a motion vector and a reference picture. When the motion information of the temporal neighboring block is used in the skip mode and the merge mode, the highest picture on the reference picture list may be used as the reference picture.
  • the difference (residual) between the prediction sample and the original sample is not transmitted.
  • the motion vector of the current block may be derived using the motion vector of the neighboring block as a motion vector predictor.
  • the neighboring block may include a spatial neighboring block and a temporal neighboring block.
  • the prediction unit 350 may perform inter view prediction.
  • the prediction unit 350 may configure a reference picture list including pictures of other views.
  • the prediction unit 350 may derive a disparity vector.
  • the prediction unit 350 may specify a depth block in a depth view based on the disparity vector, configure the merge list, inter-view motion prediction, residual prediction, and IC. (illumination compensation), view synthesis, etc. can be performed.
  • the disparity vector for the current block can be derived from the depth value using camera parameters or from the motion vector or disparity vector of the neighboring block in the current or other view. Camera parameters may be signaled from the encoding device.
  • the prediction unit 350 may include an IvMC corresponding to the temporal motion information of the c-refernece view, an IvDC corresponding to the disparity vector, and a shift of the disparity vector ( shifted IvMC derived by shift), a texture merge candidate (T) derived from a texture picture corresponding to the case where the current block is a block on the depth map, and a disparity derived merge candidate derived using disparity from the texture merge candidate (D), a view synthesis prediction merge candidate (VSP) derived based on view synthesis may be added to the merge candidate list.
  • IvMC corresponding to the temporal motion information of the c-refernece view
  • an IvDC corresponding to the disparity vector
  • a shift of the disparity vector shifted IvMC derived by shift
  • T texture merge candidate
  • D disparity derived merge candidate derived using disparity from the texture merge candidate
  • VSP view synthesis prediction merge candidate
  • the number of candidates included in the merge candidate list applied to the dependent view may be limited to a predetermined value.
  • the prediction unit 350 may apply inter-view motion vector prediction to predict the motion vector of the current block based on the disparity vector.
  • the prediction unit 350 may use a block in the reference view specified by the disparity vector as the reference block.
  • the prediction unit 350 may use the motion vector of the reference block as a candidate motion parameter or a motion vector predictor candidate of the current block, and use the disparity vector as a candidate disparity for disparity compensated prediction (DCP). Can be used as a parity vector.
  • DCP disparity compensated prediction
  • the adder 360 may reconstruct the current block or the current picture by adding the residual sample and the predictive sample.
  • the adder 360 may reconstruct the current picture by adding the residual sample and the predictive sample in block units. Since the residual is not transmitted when the skip mode is applied, the prediction sample may be a reconstruction sample.
  • the adder 360 has been described in a separate configuration, the adder 360 may be part of the predictor 350.
  • the filter unit 370 may apply deblocking filtering and / or sample adaptive offset to the reconstructed picture.
  • the sample adaptive offset may be applied in units of samples and may be applied after deblocking filtering.
  • the memory 380 may store information necessary for reconstruction picture or decoding.
  • the memory 380 may store pictures used for inter prediction / inter view prediction.
  • pictures used for inter prediction / inter view prediction may be designated by a reference picture set or a reference picture list.
  • the reconstructed picture can be used as a reference picture for another picture.
  • the memory 380 may output the reconstructed picture in the output order.
  • the output unit may display a plurality of different views.
  • each decoding apparatus may operate for each view, and an internal module (eg, a prediction module) corresponding to each view in one decoding apparatus may be provided.
  • an internal module eg, a prediction module
  • Multi-view video coding can enhance video coding efficiency for the current view by coding the current picture using decoding data of another view belonging to the same access unit (AU) as the current picture.
  • AU access unit
  • views may be coded in units of AUs, and pictures may be coded in units of views. Coding proceeds between views according to a predetermined order.
  • a view that can be coded without reference to another view can be referred to as a base view or an independent view.
  • a view that can be coded by referring to an independent view or another view after the independent view is coded may be referred to as a dependent view or extended view.
  • the view referred to in coding of the current view may be referred to as a reference view.
  • coding the view includes coding a video picture, a depth map, or the like belonging to the corresponding view.
  • the 3D video includes a video picture (or texture picture) having general color image information and a depth map having depth information about the video picture.
  • a plurality of video pictures having different viewpoints may exist in the same POC, and depth maps corresponding to the plurality of video pictures may exist.
  • the plurality of video pictures may be obtained from a plurality of cameras having different viewpoints.
  • the 3D video may be represented in a Multiview Video plus Depth format.
  • the decoding apparatus may decode data related to a video picture and a depth map and, if necessary, synthesize an additional intermediate view by using a depth-image-based rendering (DIBR) technique.
  • DIBR depth-image-based rendering
  • Camera parameters may additionally be included in the bitstream for view synthesis. Camera parameters may include Z Far , Z near , Focal Length, and the like.
  • 4A and 4B are diagrams for explaining camera parameters that can be used in the present invention.
  • 4A and 4B show an embodiment of a camera model that can be used in 3D video.
  • the camera parameter may be used to synthesize a reference picture used for the VSP, and may be used to generate an intermediate view image in the decoding apparatus. Therefore, the decoding apparatus may encode the camera parameter for each viewpoint and transmit it to the decoding apparatus through a network or a storage medium.
  • a coordinate system denoted by W may mean a 'reference coordinate system' used to designate a camera position in space.
  • the coordinate system denoted by C may mean a 'camera coordinate system' having the focal point 410 of the camera corresponding to the camera parameters shown in FIG. 4A as an origin.
  • 420 of FIG. 4A represents an image plane in which an image acquired by the camera is displayed.
  • f represents the distance from the focal point 410 of the camera to the image plane 420 (distance on the z axis), i.e. focal length.
  • (u 0 , v 0 ) may represent the coordinate of the point where the optical axis of the camera meets the image plane 420, that is, the coordinate of a principal point.
  • the optical axis may mean a coordinate axis perpendicular to the image plane 420 in the camera coordinate system, and is represented by a z axis in FIG. 4A. Therefore, the distance from the focus 410 of the camera to a principal point may correspond to the focal length.
  • the three parameters f, u0, and v0 described above may be referred to as internal camera parameters.
  • the camera parameters also include a 3x3 rotation matrix (R) and a 3x1 translation vector (T), which are used to represent the camera coordinate system (C) relative to the reference coordinate system (W).
  • the 3 ⁇ 3 rotation matrix R represents the degree to which the camera coordinate system is rotated in the 3D space with respect to the reference coordinate system. That is, the 3x3 rotation matrix R represents a three-dimensional rotation of the camera coordinate system based on the reference coordinate system.
  • the 3x1 deformation vector T is a vector indicating the position of the camera coordinate system with respect to the reference coordinate system.
  • the 3 ⁇ 3 rotation matrix R and the 3 ⁇ 1 deformation vector T ([R, T]) may represent a geometric relationship between a reference coordinate system and a camera coordinate system.
  • the two parameters may be called external camera parameters.
  • FIG. 4B shows three planes located perpendicular to the optical axis of the camera.
  • 410 in FIG. 4B represents the focus of the camera, that is, the origin of the camera coordinate system, and 420 represents the image plane.
  • the scene photographed by one camera may have various depth values.
  • the point having the smallest depth payback may be the point located closest to the camera, and the point having the largest depth may be the point located farthest from the camera.
  • 4B illustrates a plane corresponding to the smallest depth value in a scene photographed by a camera having a focus of 410, which may be referred to as a near clipping plane.
  • 440 of 4b represents a plane corresponding to the largest depth value in a scene photographed by a camera having a 410 focus, which may be referred to as a far clipping plane.
  • the smallest depth value may be represented by Z near (Z n ), which may correspond to the depth value of the near clipping plane 430.
  • the largest depth value may be represented by Z far (Z f ), which may correspond to the depth value of the far clipping plane 440.
  • Z near and Z far correspond to a camera parameter and may be referred to as a Z-clipping parameter.
  • Depth data processed by the encoding apparatus and transmitted to the decoding apparatus may have a value based on bit depth (BitDepth).
  • Bit Depth may have a value based on bit depth (BitDepth).
  • Bit Depth is 8
  • depth sample values in the right depth map may have a value of 0 to 255.
  • the depth sample values may correspond to values in which depth values between Z-clipping parameters Z near and Z far are quantized to 256 levels, respectively.
  • the quantized depth sample values may be converted to actual depth values based on the Z-clipping parameters Z near and Z far . This can be expressed as, for example, the following equation.
  • Z near represents a near clipping parameter and Z far represents a far clipping parameter.
  • z represents the actual depth value
  • v represents the intensity of the depth sample value included in the depth map.
  • a VSP that performs prediction on a current picture (or block) using a picture of a view synthesized based on DIBR as a reference picture, and a depth refinement performed on a disparity vector candidate based on a corresponding depth block
  • the camera parameter may be used to convert the depth value into a disparity value.
  • the camera parameter for this transition may be referred to as a transition parameter and may be used to construct a depth to disparity table.
  • Camera parameters necessary for converting the depth value into the disparity value may be included in the bitstream, and the camera parameter (or the conversion parameter) may include parameters regarding a scale factor and an offset.
  • the vertical component of the disparity vector may be set to 0, and the horizontal component of the disparity vector may be derived based on the following equation.
  • v is the depth sample value
  • s is the scale factor
  • o is the offset
  • n is the shift parameter based on the required accuracy of the disparity vector.
  • the scale factor may be derived based on cp_scale [j]
  • the offset is cp_off [j]. It can be derived based on.
  • the scale factor may be derived based on cp_inv_scale_plus_scale [j], and the offset is cp_inv_off_plus_off [ j].
  • the camera parameter may include a plurality of parameters and may be called a camera parameter set.
  • the camera parameter may be shared or changed between pictures of the view over time. For example, when the position of the camera is fixed or the relative position between the multi-view cameras does not change until the end of 3D video, each picture of the view may share one camera parameter.
  • representative camera parameters of the corresponding view may be transmitted through a video parameter set (VPS) syntax.
  • VPS video parameter set
  • the VPS syntax may be represented as follows, for example.
  • cp_in_slice_segment_header_flag is flag information indicating whether a camera parameter exists in the slice segment header with respect to the i-th view.
  • cp_in_slice_segment_header_flag [i] If the value of cp_in_slice_segment_header_flag [i] is 0, syntax elements for camera parameters vps_cp_scale [i] [j], vps_cp_off [i] [j], vps_cp_inv_scale_plus_scale [i] [j], and vps_cp_inv_off_off_ioff ] [j] exists in the VPS, cp_scale [j], cp_off [j], cp_inv_scale_plus_scale [j], in slice segment headers where nuh_layer_id has a value equal to layerId and VpsViewIdx [layerId] has a value equal to i. And cp_inv_off_plus_off [j] are not present.
  • vps_cp_scale [i] [j] vps_cp_off [i] [j]
  • vps_cp_inv_scale_plus_scale [i] [j] are parameters for converting the depth value to the disparity value. Indicates.
  • vps_cp_scale [i] [j] vps_cp_off [i] [j]
  • vps_cp_inv_scale_plus_scale [i] [j] are the cp_scale [j], cp_off [j] for the i-th view specified in the VPS. ]
  • cp_inv_scale_plus_scale [j] is the cp_inv_off_plus_scale [j]
  • cp_inv_off_plus_off [j] are the cp_scale [j] for the i-th view specified in the VPS. ].
  • the camera parameter may change over time due to camera movement.
  • the camera parameter may be different according to time between pictures of one view, and the camera parameter may be transmitted through the slice segment header.
  • the slice segment header may be represented as follows, for example.
  • cp_in_slice_segment_header_flag [i] has a value of 1
  • cp_scale [j] and cp_off which are parameters for converting depth values to disparity values in slice segment headers having VpsViewIdx [layerId] equal to i [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j] are present.
  • the camera parameter when the camera parameter is changed even once in one view, the camera parameter may be transmitted through the slice segment header. In this case, unless otherwise limited, camera parameters may be transmitted for each slice.
  • pictures (or slices) of a certain section in the view may share the same camera parameters.
  • the camera parameter of the previous slice (or picture) may be used without transmitting the same value.
  • flag information indicating whether a camera parameter used in a previous slice is used in a slice segment header may be transmitted. For example, if the flag information is 1, camera parameters (for example, cp_scale [j], cp_off [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j]) are included in the corresponding slice segment header and are not transmitted. If the flag information is 0, a new camera parameter may be included in the corresponding slice segment header and transmitted, and the decoding apparatus may parse and use the conversion parameter. Alternatively, when the flag information is 0, a new parameter is not included in the slice segment header and transmitted. When the flag information is 1, the camera parameter is included in the slice segment header and transmitted. At this time, if the current decoding picture is a random access point, the camera parameter may be parsed unconditionally.
  • the slice segment header may be represented as follows, for example.
  • prev_cp_in_slice_segment_header_flag [ViewIdx]) for (j 0; j ⁇ ViewIdx; j ++) ⁇ cp_scale [j] se (v) cp_off [j] se (v) cp_inv_scale_plus_scale [j] se (v) cp_ inv _off_plus_off [j] se (v) ⁇ ... ⁇
  • prev_cp_in_slice_segment_header_flag is flag information indicating whether the camera parameter used in the previous slice is used for the current slice.
  • prev_cp_in_slice_segment_header_flag [ViewIdx] When the value of prev_cp_in_slice_segment_header_flag [ViewIdx] is 0, it indicates that syntax elements cp_scale [j], cp_off [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j] exist in the slice segment header.
  • prev_cp_in_slice_segment_header_flag [ViewIdx] is 1, cp_scale [j], cp_off [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j] are not present in the slice segment header and the view index has the same view index as ViewIdx.
  • Cp_scale [j], cp_off [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j] are derived from the corresponding syntax elements of the previous slice segment header.
  • prev_cp_in_slice_segment_header_flag [ViewIdx] may be inferred to be 1.
  • the value of prev_cp_in_slice_segment_header_flag [ViewIdx] in the slice segment header may be equal to zero.
  • cp_scale [j], cp_off [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j] represent parameters for converting a depth value into a disparity value. If the corresponding parameters are not present and the value of prev_cp_in_slice_segment_header_flag [ViewIdx] is 0, the values of cp_scale [j], cp_off [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j] are respectively vps_cp_scale _] _ ps_cp_scale [offIdx] It can be inferred to be equal to [ViewIdx] [j], vps_cp_inv_scale_plus_scale [ViewIdx] [j], and vps_cp_inv_off_plus_off [ViewIdx] [j
  • cp_scale [j], cp_off [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j] in the slice segment header with ViewIdx equal to ViewIdxA are cp_scale in the slice segment header with ViewIdx equal to ViewIdxB [j], cp_off [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j].
  • the default camera parameter when the camera parameter changes over time, the default camera parameter may be transmitted through the VPS, and flag information indicating whether the camera parameter is updated through the slice segment header may be transmitted.
  • the decoding apparatus may determine whether to parse a new camera parameter. If the flag information indicates 0, the camera segment is not included in the slice segment header, and the camera parameter of the current view stored in the decoding apparatus is used. In other words, if the camera parameters have never been updated, the default camera parameters will be stored in the decoding device. If the camera parameter is updated so that the flag information indicates 1, the decoding apparatus parses the new camera parameter value included in the slice segment header and updates the camera parameter shared for the current time. At this time, if the current decoding picture is a random access point, the camera parameter may be parsed unconditionally.
  • VPS and the slice segment header may be represented as shown in Tables 4 and 5, respectively.
  • vps_cp_scale [i] [j] vps_cp_off [i] [j]
  • vps_cp_inv_scale_plus_scale [i] [j] vps_cp_inv_off_plus_off [i] [j] are the (default) parameters for converting the depth value to the disparity value. Indicates. If ViewIdx has both a texture layer and a depth layer equal to i, the parameter is associated with the texture layer.
  • the current camera parameters may be represented as CpScale [i] [j], CpOff [i] [j], CpInvScalePlusScale [i] [j], and CpInvOffPlusOff [i] [j].
  • CpScale [i] [j] CpOff [i] [j]
  • CpInvScalePlusScale [i] [j] CpInvOffPlusOff [i] [j]
  • cu_update_flag is flag information indicating whether a camera parameter is updated.
  • cu_update_flag [ViewIdx] When the value of cu_update_flag [ViewIdx] is 1, it indicates that syntax elements cp_scale [j], cp_off [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j] exist in the slice segment header.
  • cp_scale [j], cp_off [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j] are not present in the slice segment header, and corresponding syntax elements of the previous slice segment header are not present.
  • Cp_scale [j], cp_off [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j] are derived from.
  • cu_update_flag [ViewIdx] may be inferred to be zero.
  • the value of cu_update_flag [ViewIdx] in the slice segment header may be equal to 0.
  • cp_scale [j], cp_off [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j] represent parameters for converting a depth value into a disparity value.
  • ViewIdxA is equal to ViewIdxB
  • cp_scale [j], cp_off [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j] in the slice segment header with ViewIdx equal to ViewIdxA are cp_scale in the slice segment header with ViewIdx equal to ViewIdxB [j], cp_off [j], cp_inv_scale_plus_scale [j], and cp_inv_off_plus_off [j].
  • the scale factor may be derived based on the CpScale in the reverse conversion in Equation 2, and the offset may be obtained. Can be derived based on CpOff. Further, in the forward transition, the scale factor may be derived based on the CpInvScalePlusScale, and the offset may be derived based on CpInvOffPlusOff.
  • the default camera parameter may be transmitted through the VPS, and flag information indicating whether the camera parameter is updated through the slice segment header may be transmitted, and a difference value with the default camera parameter may be transmitted when the camera parameter is updated. have. If the flag information indicates 0, the camera segment is not included in the slice segment header, and the camera parameter of the current view stored in the decoding apparatus is used. In other words, if the camera parameters have never been updated, the default camera parameters will be stored in the decoding device. If the camera parameter is updated so that the flag information indicates 1, the decoding apparatus parses the camera parameter difference value included in the slice segment header and adds it to the default camera parameter, thereby updating the camera parameter shared for the current time point. . At this time, if the current decoding picture is a random access point, the camera parameter may be parsed unconditionally.
  • VPS and the slice segment header may be represented as shown in Tables 6 and 7, respectively.
  • vps_cp_scale [i] [j] vps_cp_off [i] [j]
  • vps_cp_inv_scale_plus_scale [i] [j] vps_cp_inv_off_plus_off [i] [j] are the (default) parameters for converting the depth value to the disparity value. Indicates. If ViewIdx has both a texture layer and a depth layer equal to i, the parameter is associated with the texture layer.
  • the current camera parameters may be represented as CpScale [i] [j], CpOff [i] [j], CpInvScalePlusScale [i] [j], and CpInvOffPlusOff [i] [j].
  • CpScale [i] [j] CpOff [i] [j]
  • CpInvScalePlusScale [i] [j] CpInvOffPlusOff [i] [j]
  • cu_update_flag is flag information indicating whether a camera parameter is updated.
  • cu_update_flag [ViewIdx] When the value of cu_update_flag [ViewIdx] is 1, it indicates that syntax elements delta_cp_scale [j], delta_cp_off [j], delta_cp_inv_scale_plus_scale [j], and delta_cp_inv_off_plus_off [j] exist in the slice segment header.
  • delta_cp_scale [j] delta_cp_off [j] delta_cp_inv_scale_plus_scale [j] delta_cp_inv_off_plus_off [j] are derived from.
  • cu_update_flag [ViewIdx] may be inferred to be zero.
  • the value of cu_update_flag [ViewIdx] in the slice segment header may be equal to 0.
  • delta_cp_scale [j] represent parameters for converting a depth value into a disparity value.
  • delta_cp_scale [j] delta_cp_off [j] delta_cp_inv_scale_plus_scale [j]
  • delta_cp_inv_off_plus_off [j] in the slice segment header with ViewIdx equal to ViewIdxA are slices with ViewIdx equal to ViewIdxB [j], delta_cp_off [j], delta_cp_inv_scale_plus_scale [j], and delta_cp_inv_off_plus_off [j].
  • the scale factor may be derived based on the CpScale, and the offset may be derived based on the CpOff. Further, in the forward transition, the scale factor may be derived based on the CpInvScalePlusScale, and the offset may be derived based on CpInvOffPlusOff.
  • the most recently transmitted camera parameter is used as a predictor to transmit only a difference value with the camera parameter for the current slice.
  • the camera parameter that becomes a predictor may be updated.
  • the basic (or reference) camera parameter may be transmitted through a sequence parameter set (SPS) syntax, a video parameter set (VPS) syntax, or a picture parameter set (PPS) in consideration of computational burden and coding efficiency.
  • the syntax in which the camera parameter as a reference is transmitted and the slice segment header in which the camera parameter difference value is transmitted may be represented as shown in Tables 8 and 9, respectively.
  • cp_scale [i] [j] cp_off [i] [j]
  • cp_inv_scale_plus_scale [i] [j] cp_inv_off_plus_off [i] [j] are the (default) parameters for converting the depth value to the disparity value. Indicates. If ViewIdx has both a texture layer and a depth layer equal to i, the parameter is associated with the texture layer.
  • the reference camera parameter may be represented as RefCpScale [i] [j], RefCpOff [i] [j], RefCpInvScalePlusScale [i] [j], and RefCpInvOffPlusOff [i] [j].
  • RefCpScale [i] [j] RefCpOff [i] [j]
  • RefCpInvScalePlusScale [i] [j] RefCpInvOffPlusOff [i] [j]
  • RefCpInvOffPlusOff [i] [j] may be applied as follows.
  • delta_cp_flag is flag information indicating whether a difference value (or delta value) of a camera parameter exists.
  • delta_cp_flag When the value of delta_cp_flag is 1, it indicates that syntax elements delta_cp_scale [j], delta_cp_off [j], delta_cp_inv_scale_plus_scale [j], and delta_cp_inv_off_plus_off [j] exist in the slice segment header. That is, the current camera parameter is derived by adding the camera parameter difference value present in the slice segment header to the existing (reference) camera parameter, indicating that the current camera parameter is used for the current slice.
  • the current camera parameters (transition parameters) for the current slice are represented by CurrCpScale [i] [j], CurrCpOff [i] [j], CurrCpInvScalePlusScale [i] [j], and CurrCpInvOffPlusOff [i] [j]. Can be.
  • CurrCpScale [i] [j] RefCpScale [i] [j] + delta_cp_scale [j]
  • CurrCpOff [i] [j] RefCpOff [i] [j] + delta_cp_off [j]
  • CurrCpInvScalePlusScale [i] [j] RefCpInvScalePlusScale [i] [j] + cp_inv_scale_plus_scale [j]
  • CurrCpInvOffPlusOff [i] [j] RefCpInvOffPlusOff [i] [j] + cp_inv_off_plus_off [j]
  • the scale factor may be derived based on the CurrCpScale [i] [j], and the offset may be derived based on the CurrCpOff [i] [j]. Further, in the forward transition, the scale factor may be derived based on CurrCpInvScalePlusScale [i] [j], and the offset may be derived based on CurrCpInvOffPlusOff [i] [j].
  • delta_cp_scale [j], delta_cp_off [j], delta_cp_inv_scale_plus_scale [j], or delta_cp_inv_off_plus_off [j] have reached a threshold value
  • RefCpScale [i] [j] RefCpOff [i] [j]
  • RefCpScale [j] RefCpInvOffPlusOff [i] [j]
  • the threshold may be signaled explicitly and may be known implicitly.
  • the decoding apparatus may determine one camera parameter set from among a plurality of camera parameter sets as the reference camera parameter set. For example, a plurality of camera parameter sets may be transmitted from an encoder instead of one camera parameter set. In this case, in decoding the current slice or picture, the camera which is the reference object by receiving index (or ID) information indicating one camera parameter set from among the plurality of camera parameter sets or inferring it based on other information. The set of parameters can be determined.
  • the multiple camera parameter sets may be referenced in decoding multiple slices.
  • FIG. 5 exemplarily illustrates a reference object camera parameter set for each slice for a plurality of camera parameter sets.
  • slices 0 to 2 may refer to camera parameter set
  • slice 3 may refer to camera parameter set 1
  • slice 4 and slice 5 to camera parameter set 2. can do.
  • the decoding apparatus may receive camera parameter sets from the encoding apparatus and determine which camera parameter set of the plurality of camera parameter set lists is applied to the slice based on the index information transmitted thereafter.
  • Camera parameter sets may for example be transmitted via PPSs.
  • the PPS may be represented as shown in Table 10 below.
  • Up to 64 different PPSs can be transmitted from the encoding device to the decoding device, and the decoding device is based on the index information (or the ID of the PPS) included in the slice segment header. In this way, it is possible to find an appropriate camera parameter among multiple camera parameters and use it for decoding.
  • the slice segment header may be represented, for example, as shown in Table 11 below.
  • slice_pic_parameter_set_id indicates index information indicating which camera parameter set is applied among a plurality of camera parameter set lists for the current slice in the form of an ID of a PPS.
  • slice_pic_parameter_set_id represents the value of pps_pic_parameter_set for the used PPS, and the range of the value of slice_pic_parameter_set_id may be 0 to 63 (inclusive).
  • the reference camera parameter set may include RefCpScale [i] [j], RefCpOff [i] [j], RefCpInvScalePlusScale [i] [j], and RefCpInvOffPlusOff [i] [j].
  • nuh_layer_id is greater than 0, PPS is referenced (or indicated) by slice_pic_parameter_set_id of the slice segment header, and cp_present_flag [i] included in the PPS is equal to 1, RefCpScale [i] [j], RefCpOff [i ] [j], RefCpInvScalePlusScale [i] [j], and RefCpInvOffPlusOff [i] [j] may be applied as follows.
  • the decoding apparatus may select any one of a plurality of camera parameter sets as a default camera parameter set, in which case the current slice is added by adding a difference value to the selected basic camera parameter set for accurate conversion. Or in a picture.
  • the decoding apparatus obtains a reference camera parameter for the current slice by selecting a basic camera parameter set of one of the plurality of camera parameter sets and adding a delta value to the parameters included in the selected basic camera parameter set. Can be.
  • camera parameter sets may be transmitted through PPSs.
  • PPS and slice segment headers may be represented as shown in Tables 12 and 13 below.
  • delta_cp_flag is flag information indicating whether a difference value (or delta value) of a camera parameter set exists.
  • delta_cp_flag When the value of delta_cp_flag is 1, it indicates that difference values are added to parameters in a camera parameter set transmitted through a PPS (or VPS, SPS) and used for this slice.
  • delta_cp_flag when the value of delta_cp_flag is 1, syntax elements delta_cp_scale [j], delta_cp_off [j], delta_cp_inv_scale_plus_scale [j], and delta_cp_inv_off_plus_off [j] indicating the difference values are present in the slice segment header.
  • a value of delta_cp_flag equal to 0 indicates that parameters in the camera parameter set transmitted via the PPS (or VPS, SPS) are used for this slice without being updated.
  • delta_cp_scale [j] delta_cp_off [j]
  • delta_cp_inv_scale_plus_scale [j] delta_cp_inv_off_plus_off [j]
  • the current camera parameters (transition parameters) for the current slice are represented by CurrCpScale [i] [j], CurrCpOff [i] [j], CurrCpInvScalePlusScale [i] [j], and CurrCpInvOffPlusOff [i] [j]. Can be.
  • CurrCpScale [i] [j] RefCpScale [i] [j] + delta_cp_scale [j]
  • CurrCpOff [i] [j] RefCpOff [i] [j] + delta_cp_off [j]
  • CurrCpInvScalePlusScale [i] [j] RefCpInvScalePlusScale [i] [j] + cp_inv_scale_plus_scale [j]
  • CurrCpInvOffPlusOff [i] [j] RefCpInvOffPlusOff [i] [j] + cp_inv_off_plus_off [j]
  • delta_cp_scale [j], delta_cp_off [j], delta_cp_inv_scale_plus_scale [j], or delta_cp_inv_off_plus_off [j] have reached a threshold value
  • RefCpScale [i] [j] RefCpOff [i] [j]
  • RefCpScale [j] RefCpInvOffPlusOff [i] [j]
  • the threshold may be signaled explicitly and may be known implicitly.
  • a separate syntax may be used to transmit the camera parameter set.
  • the syntax may be referred to as a camera parameter set syntax or a camera conversion parameter set syntax.
  • the camera parameter set may be included in the VPS, the SPS, or the PPS, thereby preventing duplicate information transmission that may occur by sending the message multiple times.
  • a desired camera set can be indicated even when multiple camera parameter sets are received by assigning an index or ID to each camera parameter set.
  • the camera switching parameter set syntax may be represented as in Table 14 below.
  • camera_conversion_parameter_set_id represents a predetermined ID assigned to the camera (conversion) parameter set.
  • a camera parameter set of a specific ID may be designated through the slice segment header.
  • the delta value (or difference value) transmitted via the slice segment header may be added to the designated camera parameter set to derive the parameter values of the final (or reference or current) camera parameter set for the current slice.
  • the memory of the decoding apparatus is limited, and when the decoding autonomy receives a plurality of camera parameter sets, some or all camera parameter sets in the memory may be deleted and aligned according to a specific condition.
  • the camera parameter set may be deleted based on the input order. That is, when the memory is insufficient, the first camera parameter set input to the memory may be removed first. As another example, after counting the reference number of the camera parameter set for a predetermined number of times, the camera parameter set having the smallest reference number may be removed from the memory. As another example, the encoding apparatus may transmit information about a camera parameter set to be deleted to the decoding apparatus, and the decoding apparatus may remove the camera parameter set indicated by the information from the memory. As another example, when the camera parameter set is transmitted in a higher parameter set such as PPS, SPS, or VPS, a buffer management scheme of the higher parameter sets may be used.
  • a higher parameter set such as PPS, SPS, or VPS
  • camera parameter sets can be used in alignment for efficient indexing.
  • the camera parameter sets may be arranged in ascending or descending order of a parameter variable (eg, an offset) that is a reference of the camera parameter set.
  • camera parameter sets may be sorted in the descending or ascending order of the referenced number of times.
  • the decoding apparatus may receive information about the order of camera parameter sets from the encoding apparatus, and sort the camera parameter sets based on the information.
  • the camera parameter set is transmitted by being included in higher parameter sets such as PPS, SPS, or VPS
  • the camera parameter sets are in ascending or descending order of ID of the corresponding higher parameter set including the camera parameter set. Can be aligned.
  • FIG. 6 is a flowchart schematically illustrating a camera parameter encoding method according to an embodiment of the present invention. The method of FIG. 6 may be performed by the video encoding apparatus of FIG. 2 described above.
  • the encoding apparatus generates the camera parameter based on whether a camera parameter for converting a depth value into a disparity value is shared between slices or pictures of a predetermined interval (S600). Slices or pictures of a certain period may share the camera parameter and may prevent transmission of duplicate camera parameters.
  • the camera parameter may be referred to as a conversion parameter as described above.
  • the encoding device may generate a bitstream by encoding the camera parameter and transmit the bitstream to the decoding device through a network or a storage medium (S610).
  • Camera parameters may be expressed in syntax form.
  • the camera parameter may be included in one or more of the syntaxes described in Tables 1 to 14, for example, and transmitted.
  • FIG. 7 is a flowchart schematically illustrating a camera parameter decoding method according to an embodiment of the present invention. The method of FIG. 7 may be performed by the video decoding apparatus of FIG. 3 described above.
  • a camera parameter for converting a depth value into a disparity value is received and decoded (S700).
  • the decoding device may receive the bitstream to entropy decode and obtain information about the video parameter.
  • the camera parameter may be included in at least one of a VPS syntax, a PPS syntax, an SPS syntax, a slice segment head syntax, and a camera switching parameter set syntax.
  • the decoding apparatus determines whether the camera parameter applied to the previous slice or picture is applied to the current slice or picture (S710).
  • the camera parameter may be shared throughout the video or may be shared for slices or pictures of a predetermined interval according to a predetermined condition even when not shared throughout the video.
  • the decoding apparatus may receive flag information indicating whether the camera parameter is used for the current picture through a syntax.
  • the flag information is 1, the camera parameter may be applied (or shared) for the current slice or the current picture.
  • the flag information is 0, the camera parameter is not applied for the current picture, and a new camera parameter included in the syntax and received is applied for the current slice or the current picture.
  • the syntax (first syntax) including the camera parameter and the syntax (second syntax) including the flag information and the new camera parameter for the current slice or picture may be the same or different from each other.
  • the first syntax may be a VPS syntax
  • the second syntax may be a slice segment header syntax.
  • the first syntax may be a first PPS syntax
  • the second syntax may be a second PPS syntax.
  • About 64 different PPSs may be transmitted from the encoding device to the decoding device.
  • the first PPS syntax and the second PPS syntax may have different IDs.
  • flag information indicating whether the camera parameter is updated for the current slice or the current picture may be received through syntax.
  • the flag information is 0, the camera parameter is not updated.
  • the flag information is 1, the camera parameter may be updated based on a parameter value included in the second syntax.
  • the updated camera parameter may be used for the current slice or picture.
  • the parameter value may be a difference value with respect to the camera parameter.
  • flag information indicating whether there is a difference value for an existing camera parameter for a current slice or a current picture may be received through syntax.
  • the flag information is 0, the camera parameter is applied for the current slice or the current picture.
  • the flag information is 1, a new camera derived based on the received difference value included in the camera parameter and the syntax. Parameters may be applied for the current slice or the current picture.
  • the decoding apparatus may prevent reception of duplicate camera parameters, and may share the same camera parameter for pictures (or slices) of a predetermined interval in the view.
  • the value of the camera parameter may be derived based on at least one of cp_scale, cp_off, cp_inv_scale_plus_scale, and cp_inv_off_plus_off syntax elements.
  • a disparity value of the current block is derived based on the camera parameter (S710).
  • the decoding apparatus may derive the disparity value based on Equation 2 described above.
  • the decoding apparatus may generate predictive samples of the block by performing inter-view prediction on the block (eg, the current block) based on the disparity value.
  • the decoding apparatus may reconstruct the block and the (current) picture based on the prediction.
  • the above-described method may be implemented as a module (process, function, etc.) for performing the above-described function.
  • the module may be stored in memory and executed by a processor.
  • the memory may be internal or external to the processor and may be coupled to the processor by various well known means.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

본 발명은 3D 비디오를 코딩하는 장치 및 방법에 관한 것으로, 본 발명에 따른 디코딩 방법은 뎁스 값을 디스패리티 값으로 전환하기 위한 카메라 파라미터를 제1 신택스를 통하여 수신하는 단계, 이전 슬라이스 또는 픽처에 적용되는 상기 카메라 파라미터가 현재 슬라이스 또는 픽처에 적용되는지 여부를 판단하는 단계, 및 상기 카메라 파라미터가 현재 슬라이스 또는 픽처에 적용되는 경우, 상기 카메라 파라미터를 기반으로 현재 블록에 대한 디스패리티 값을 도출하는 단계를 포함한다. 본 발명에 따르면, 일정 구간의 슬라이스들 또는 픽처들은 같은 카메라 파라미터를 공유할 수 있으며, 중복되는 정보의 전송을 방지하고, 코딩 효율을 향상시킬 수 있다.

Description

3D 비디오 코딩에서 카메라 파라미터 처리 방법 및 장치
본 발명은 비디오 코딩에 관한 기술로서, 보다 상세하게는 3D 비디오 코딩에서 카메라 파라미터 처리 방법 및 장치에 관한 것이다.
최근 고해상도, 고품질의 영상에 대한 요구가 다양한 응용 분야에서 증가하고 있다. 하지만 영상이 고해상도를 가지고 고품질이 될수록 해당 영상에 대한 정보량도 함께 증가한다.
따라서, 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 정보를 전송하거나 기존의 저장 매체를 이용해 영상 정보를 저장하는 경우에는, 정보의 전송 비용과 저장 비용이 증가하게 된다. 고해상도, 고품질 영상의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위해 고효율의 영상 압축 기술을 이용할 수 있다.
한편, 고해상/대용량의 영상을 처리할 수 있게 됨에 따라서, 3D 비디오를 이용한 디지털 방송 서비스가 차세대 방송 서비스의 하나로 주목 받고 있다. 3D 비디오는 복수의 시점(view) 채널을 이용하여 현장감과 몰입감을 제공할 수 있다.
3D 비디오는 FCC(free viewpoint video), FTV(free viewpoint TV), 3DTV, 사회 안전망(surveillance) 및 홈 엔터테인먼트와 같은 다양한 영역에 사용될 수 있다.
싱글 뷰 비디오(single view video)와 달리 멀티 뷰를 이용한 3DV(3D video)는 동일한 POC(picture order count)의 뷰들 사이에 높은 상관도(correlation)을 가진다. 멀티 뷰 영상은 인접한 여러 카메라 즉, 여러 시점(view)을 이용하여 똑같은 장면을 동시에 촬영하기 때문에, 시차와 약간의 조명 차이를 제외하면 거의 같은 정보를 담고 있으므로 서로 다른 뷰 간의 상관도가 높다.
따라서, 멀티 뷰 비디오의 인코딩/디코딩에서는 서로 다른 뷰 사이의 상관도를 고려하여, 현재 뷰의 인코딩 및/또는 디코딩에 필요한 정보를 획득할 수 있다. 예를 들어, 현재 뷰의 디코딩 대상 블록을 다른 뷰의 블록을 참조하여 예측하거나 디코딩할 수 있다.
본 발명은 3D 비디오 코딩에서 현재 블록을 예측하는 방법 및 장치를 제공한다.
본 발명은 3D 비디오 코딩에서 뎁스 값을 디스패리티 값으로 전환하는 방법 및 장치를 제공한다.
본 발명은 3D 비디오 코딩에서 일정 구간의 슬라이스들 또는 픽처들 간 같은 카메라 파라미터를 공유하는 방법 및 장치를 제공한다.
본 발명은 현재 중복된 카메라 파라미터의 전송을 방지하는 방법 및 장치를 제공한다.
본 발명의 일 실시예에 따르면, 3D 비디오 디코딩 방법이 제공된다. 상기 디코딩 방법은 뎁스 값을 디스패리티 값으로 전환하기 위한 카메라 파라미터를 제1 신택스를 통하여 수신하는 단계, 이전 슬라이스 또는 픽처에 적용되는 상기 카메라 파라미터가 현재 슬라이스 또는 픽처에 적용되는지 여부를 판단하는 단계, 및 상기 카메라 파라미터가 현재 슬라이스 또는 픽처에 적용되는 경우, 상기 카메라 파라미터를 기반으로 현재 블록에 대한 디스패리티 값을 도출하는 단계를 포함함을 특징으로 한다.
본 발명의 다른 실시예에 따르면, 3D 비디오 디코딩 장치가 제공된다. 상기 디코딩 장치는 뎁스 값을 디스패리티 값으로 전환하기 위한 카메라 파라미터를 제1 신택스를 통하여 수신하는 디코딩부, 및 이전 슬라이스 또는 픽처에 적용되는 상기 카메라 파라미터가 현재 슬라이스 또는 픽처에 적용되는지 여부를 판단하고, 상기 카메라 파라미터가 현재 슬라이스 또는 픽처에 적용되는 경우, 상기 카메라 파라미터를 기반으로 현재 블록에 대한 디스패리티 값을 도출하는 예측부를 포함함을 특징으로 한다.
본 발명에 따르면 3D 비디오 코딩에서 수신된 카메라 파라미터를 기반으로 뎁스 값을 디스패리티 값으로 전환할 수 있다.
본 발명에 따르면 일정 구간의 슬라이스들 또는 픽처들은 같은 카메라 파라미터를 공유할 수 있으며, 중복되는 정보의 전송을 방지하고, 코딩 효율을 향상시킬 수 있다.
도 1은 본 발명이 적용될 수 있는 3D 비디오의 인코딩 및 디코딩 과정을 개략적으로 설명하는 도면이다.
도 2는 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 3은 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 4a 및 도 4b는 본 발명에서 사용될 수 있는 카메라 파라미터를 설명하기 위한 도면이다.
도 5는 다수의 카메라 파라미터 세트에 대한 슬라이스별 참조 대상 카메라 파라미터 세트를 예시적으로 나타낸다.
도 6은 본 발명의 실시예에 따른 카메라 파라미터 인코딩 방법을 개략적으로 나타낸 순서도이다.
도 7은 본 발명의 실시예에 따른 카메라 파라미터 디코딩 방법을 개략적으로 나타낸 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정 실시예에 한정하려고 하는 것이 아니다. 본 명세서에서 상용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 도는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
본 명세서에서 픽처(picture)는 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미하며, 슬라이스(slice)는 코딩에 있어서 픽처의 일부를 구성하는 단위이다. 하나의 픽처는 복수의 슬라이스로 구성될 수 있으며, 필요에 따라서 픽처 및 슬라이스는 서로 혼용되어 사용될 수 있다.
픽셀(pixel) 또는 펠(pel)은 하나의 픽처(또는 영상)을 구성하는 최소의 단위를 의미할 수 있다. 또한, 특정한 픽셀의 값을 나타내는 용어로서 '샘플(sample)'이 사용될 수 있다. 샘플은 일반적으로 픽셀의 값을 나타낼 수 있으며, 휘도(luma) 성분의 픽셀 값만을 나타낼 수도 있고, 채도(chroma) 성분의 픽셀 값만을 나타낼 수도 있다.
유닛(unit)은 영상 처리의 기본 단위를 나타낸다. 유닛은 픽처의 특정 영역 및 해당 영역에 관련된 정보 중 적어도 하나를 포함할 수 있다. 유닛은 경우에 따라서 블록(block) 또는 영역(area) 등의 용어와 혼용하여 사용될 수 있다. 일반적인 경우, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타낼 수 있다.
도 1은 본 발명이 적용될 수 있는 3D 비디오의 인코딩 및 디코딩 과정을 개략적으로 설명하는 도면이다.
도 1을 참조하면, 3D 비디오 인코더는 비디오 픽처 및 뎁스 맵(depth map)과 카메라 파라미터(camera parameter)를 인코딩하여 비트스트림으로 출력할 수 있다.
뎁스 맵은 대응하는 비디오 픽처(텍스처 픽처)의 픽셀에 대하여 카메라와 피사체 간의 거리 정보(깊이 정보)로 구성될 수 있다. 예컨대, 뎁스 맵은 깊이 정보를 비트 뎁스(bit depth)에 따라 정규화한 영상일 수 있다. 이 때, 뎁스 맵은 색차 표현없이 기록된 깊이 정보로 구성될 수 있다. 뎁스 맵은 뎁스 맵 픽처 또는 뎁스 픽처로 불릴 수 있다.
일반적으로 피사체와의 거리와 디스패리티는 서로 반비례하므로, 카메라 파라미터를 이용하여 뎁스 맵의 깊이 정보로부터 뷰 간의 상관도를 나타내는 디스패리티 정보를 유도할 수 있다.
일반적인 컬러 영상 즉, 비디오 픽처(텍스처 픽처)와 함께 뎁스 맵과 카메라 파라미터를 포함하는 비트스트림은 네트워크(network) 또는 저장매체를 통해 디코더로 전송될 수 있다.
디코더 측에서는 비트스트림을 수신해서 비디오를 복원할 수 있다. 디코더 측에서 3D 비디오 디코더가 이용되는 경우, 3D 비디오 디코더는 비트스트림으로부터 비디오 픽처와 뎁스 맵 및 카메라 파라미터를 디코딩할 수 있다. 디코딩된 비디오 픽처와 뎁스 맵 그리고 카메라 파라미터를 기반으로 멀티 뷰(multi view) 디스플레이에 필요한 뷰들을 합성할(synthesize) 수도 있다. 이 때, 사용되는 디스플레이가 스테레오(stereo) 디스플레이인 경우라면, 복원된 멀티 뷰들 중에서 두 개의 뷰에 대한 픽처들을 이용하여 3D 영상을 디스플레이 할 수 있다.
스테레오 비디오 디코더가 사용되는 경우에, 스테레오 비디오 디코더는 비트스트림으로부터 양 안(eyes)에 각각 입사될 두 픽처를 복원할 수 있다. 스테레오 디스플레이에서는 왼쪽 눈에 입사되는 좌측 영상과 우측 눈에 입사되는 우측 영상의 시차(view difference) 혹은 디스패리티(disparity)를 이용해서 입체 영상을 디스플레이 할 수 있다. 스테레오 비디오 디코더와 함께 멀티 뷰 디스플레이가 사용되는 경우에는, 복원된 두 픽처를 기반으로 다른 뷰들을 생성하여 멀티 뷰를 디스플레이할 수도 있다.
2D 디코더가 사용되는 경우에는 2차원 영상을 복원해서 2D 디스플레이로 영상을 출력할 수 있다. 2D 디스플레이를 사용하지만, 디코더는 3D 비디오 디코더를 사용하거나 스테레오 비디오 디코더를 사용하는 경우에는 복원된 영상들 중 하나를 2D 디스플레이로 출력할 수도 있다.
도 1의 구성에서, 뷰 합성은 디코더 측에서 수행될 수도 있고, 디스플레이 측에서 수행될 수도 있다. 또한, 디코더와 디스플레이는 하나의 장치일 수도 있고 별도의 장치일 수 도 있다.
도 1에서는 설명의 편의를 위하여 3D 비디오 디코더와 스테레오 비디오 디코더 그리고 2D 비디오 디코더가 별도의 디코더인 것으로 설명하였으나, 하나의 디코딩 장치가 3D 비디오 디코딩, 스테레오 비디오 디코딩 그리고 2D 비디오 디코딩을 모두 수행할 수도 있다. 또한, 3D 비디오 디코딩 장치가 3D 비디오 디코딩을 수행하고, 스테레오 비디오 디코딩 장치가 스테레오 비디오 디코딩을 수행하며, 2D 비디오 디코딩 장치가 2D 비디오 디코딩을 수행할 수도 있다. 더 나아가, 멀티 뷰 디스플레이가 2D 비디오를 출력하거나 스테레오 비디오를 출력할 수도 있다.
도 2는 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 2를 참조하면, 비디오 인코딩 장치(200)는 픽처 분할부(205), 예측부(210), 감산부(215), 변환부(220), 양자화부(225), 재정렬부(230), 엔트로피 인코딩부(235), 역양자화부(240), 역변환부(245), 가산부(250), 필터부(255) 및 메모리(260)을 포함한다.
픽처 분할부(205)는 입력된 픽처를 적어도 하나의 처리 유닛 블록(processing unit block)으로 분할할 수 있다. 이 때, 처리 유닛 블록은 코딩 유닛 블록(coding unit block), 예측 유닛 블록(prediction unit block) 또는 변환 유닛 블록(transform unit block)일 수 있다. 코딩 유닛 블록은 코딩의 유닛 블록으로서 최대(largest) 코딩 유닛 블록으로부터 쿼드 트리 구조(quad-tree structure)를 따라서 분할(split)될 수 있다. 예측 유닛 블록은 코딩 유닛 블록으로부터 파티셔닝(partitioning)되는 블록으로서, 샘플 예측의 유닛 블록일 수 있다. 이 때, 예측 유닛 블록은 서브 블록(sub block)으로 나뉠 수도 있다. 변환 유닛 블록은 코딩 유닛 블록으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 따라서 유도하는 유닛 블록 또는 변환 계수로부터 레지듀얼 신호(residual signal)를 유도하는 유닛 블록일 수 있다.
이하, 코딩 유닛 블록은 코딩 블록(coding block, CB) 또는 코딩 유닛(coding unit, CU), 예측 유닛 블록은 예측 블록(prediction block, PB) 또는 예측 유닛(prediction unit, PU), 변환 유닛 블록은 변환 블록(transform block, TB) 또는 변환 유닛(transform unit, TU)라고 불릴 수 있다.
예측 블록 또는 예측 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 예측 샘플의 어레이(array)를 포함할 수 있다. 또한, 변환 블록 또는 변환 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 변환 계수 또는 레지듀얼 샘플의 어레이를 포함할 수 있다.
예측부(210)는 처리 대상 블록(이하, 현재 블록이라 함)에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측 블록을 생성할 수 있다. 예측부(210)에서 수행되는 예측의 단위는 코딩 블록일 수 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
예측부(210)는 현재 블록에 인트라 예측이 적용되는지 인터 예측이 적용되는지를 결정할 수 있다. 일 예로, 예측부(210)는 CU 단위로 인트라 예측 또는 인터 예측이 적용되는지를 결정할 수 있다.
인트라 예측의 경우에, 예측부(210)는 현재 블록이 속하는 픽처(이하, 현재 픽처) 내의 현재 블록 외부의 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이 때, 예측부(210)는 (i) 현재 블록의 주변(neighboring) 참조 샘플들의 평균(average) 혹은 인터폴레이션(interpolation)을 기반으로 예측 샘플을 유도할 수 있고, (ii) 현재 블록의 주변 참조 샘플들 중 예측 샘플에 대하여 특정 (예측) 방향에 존재하는 참조 샘플을 기반으로 상기 예측 샘플을 유도할 수도 있다. (i)의 경우는 비방향성 모드, (ii)의 경우는 방향성(directional) 모드라고 불릴 수 있다. 예측부(210)는 주변 블록에 적용된 예측 모드를 이용하여, 현재 블록에 적용되는 예측 모드를 결정할 수도 있다.
인터 예측의 경우에, 예측부(210)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 샘플을 기반으로, 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(210)는 스킵(skip) 모드, 머지(merge) 모드, 및 MVP(motion vector prediction) 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 스킵 모드와 머지 모드의 경우에, 예측부(210)는 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다. 스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차(레지듀얼)이 전송되지 않는다. MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(motion vector predictor)로 이용하여 현재 블록의 움직임 벡터 예측자로 이용하여 현재 블록의 움직임 벡터를 유도할 수 있다.
인터 예측의 경우에, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처(reference picture)에 존재하는 시간적 주변 블록(temporal neighboring block)을 포함한다. 상기 시간적 주변 블록을 포함하는 참조 픽처는 동일 위치 픽처(collocated picture, colPic)라고 불릴 수도 있다. 움직임 정보(motion information)는 움직임 벡터와 참조 픽처를 포함할 수 있다. 스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트(reference picture list) 상의 최상위 픽처가 참조 픽처로서 이용될 수도 있다.
멀티 뷰의 경우, 독립 뷰(independent view)와 종속 뷰(dependent view)로 구분될 수 있으며, 종속 뷰에 대한 인코딩의 경우에, 예측부(210)는 인터 예측뿐 아니라 인터 뷰(inter-view) 예측을 수행할 수도 있다.
예측부(210)는 다른 뷰의 픽처를 포함하여 참조 픽처 리스트를 구성할 수 있다. 인터 뷰 예측을 위해, 예측부(210)는 디스패리티 벡터를 유도할 수 있다. 현재 뷰 내 다른 픽처에서 현재 블록에 대응하는 블록을 특정하는 움직임 벡터와 달리, 디스패리티 벡터는 현재 픽처와 동일한 AU(access unit)의 다른 뷰에서 현재 블록에 대응하는 블록을 톡정할 수 있다. AU는 예를 들어 멀티 뷰에서, 동일 시점(same time instance)에 대응하는(correspond) 비디오 픽처들 및 뎁스 맵들을 포함할 수 있다. 여기서, AU는 POC(Picture Order Count)가 같은 픽처들의 집합을 의미할 수 있다. POC는 픽처의 디스플레이 순서에 대응하며, 코딩 순서와 구분될 수 있다.
예측부(210)는 디스패리티 벡터를 기반으로, 뎁스 뷰(depth view) 내의 뎁스 블록(depth block)을 특정할 수 있고, 머지 리스트의 구성, 인터 뷰 움직임 예측(inter-view motion prediction), 레지듀얼 예측, IC(illumination compensation), 뷰 합성 등을 수행할 수 있다.
현재 블록에 대한 디스패리티 벡터는 카메라 파라미터를 이용하여 뎁스 값으로부터 유도되거나, 현재 또는 다른 뷰 내 주변 블록의 움직임 벡터 또는 디스패리티 벡터로부터 유도될 수 있다.
예컨대, 예측부(210)는 참조 뷰(reference view)의 시간적 움직임 정보에 대응하는 인터 뷰 머지 후보(inter-view merging candidate: IvMC), 디스패리티 벡터 대응하는 인터 뷰 디스패리티 벡터 후보(inter-view disparity vector candidate: IvDC), 디스패리티 벡터의 쉬프트(shift)에 의해 유도되는 쉬프티드 인터뷰 머지 후보(shifted IvMC), 현재 블록이 뎁스 맵 상의 블록인 경우에 대응하는 텍스처 픽처로부터 유도되는 텍스처 머지 후보(texture merging candidate: T), 텍스처 머지 후보로부터 디스패리티를 이용하여 유도되는 디스패리티 유도 머지 후보(disparity derived merging candidate: D), 뷰 합성에 기반해서 유도되는 뷰 합성 예측 후보(view synthesis prediction candidate: VSP) 등을 머지 후보 리스트에 추가할 수 있다.
이 때, 종속 뷰에 적용되는 머지 후보 리스트에 포함되는 후보의 개수는 소정의 값으로 제한될 수 있다.
또한, 예측부(210)는 인터 뷰 움직임 벡터 예측을 적용하여, 디스패리티 벡터를 기반으로 현재 블록의 움직임 벡터를 예측할 수도 있다. 이 때, 예측부(210)는 대응하는 깊이 블록 내 최대 깊이 값의 전환(conversion)에 기반하여 디스패리티 벡터를 유도할 수 있다. 참조 뷰 내의 현재 블록의 샘플 위치에 디스패리티 벡터를 더하여 참조 뷰 내 참조 샘플의 위치가 특정되면, 참조 샘플을 포함하는 블록을 참조 블록으로 이용할 수 있다. 예측부(210)는 참조 블록의 움직임 벡터를 현재 블록의 후보 움직임 파라미터 혹은 움직임 벡터 예측자 후보로 이용할 수 있으며, 상기 디스패리티 벡터를 디스패리티 보상 예측(disparity compensated prediction: DCP)을 위한 후보 디스패리티 벡터로 이용할 수 있다.
감산부(215)는 원본 샘플과 예측 샘플 간의 차이인 레지듀얼 샘플을 생성한다. 스킵 모드가 적용되는 경우에는, 상술한 바와 같이 레지듀얼 샘플을 생성하지 않을 수 있다.
변환부(220)는 변환 블록 단위로 레지듀얼 샘플을 변환하여 변환 계수(transform coefficient)를 생성한다. 양자화부(225)는 변환 계수들을 양자화하여, 양자화된 변환 계수를 생성할 수 있다.
재정렬부(230)는 양자화된 변환 계수를 재정렬한다. 재정렬부(230)는 계수들 스캐닝(scanning) 방법을 통해 블록 형태의 양자화된 변환 계수들을 1차원 벡터 형태로 재정렬할 수 있다.
엔트로피 인코딩부(235)는 양자화된 변환 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩은 예를 들어 지수 골롬(exponential Golomb), CAVLC(context-adaptive variable length coding), CABAC(context-adaptive binary arithmetic coding) 등과 같은 인코딩 방법을 포함할 수 있다. 엔트로피 인코딩부(235)는 양자화된 변환 계수 외 비디오 복원에 필요한 정보들(예컨대 신택스 요소(syntax element)의 값 등)을 함께 또는 별도로 인코딩할 수도 있다. 엔트로피 인코딩된 정보들은 비트스트림 형태로 NAL(network abstraction layer) 유닛 단위로 전송 또는 저장될 수 있다.
가산부(250)는 레지듀얼 샘플과 예측 샘플을 합쳐서 픽처를 복원한다. 레지듀얼 샘플과 예측 샘플은 블록 단위로 더해져서 복원 블록이 생성될 수 있다. 여기서 가산부(250)는 별도의 구성으로 설명하였으나, 가산부(250)는 예측부(210)의 일부일 수 있다.
복원된 픽처(reconstructed picture)에 대하여 필터부(255)는 디블록킹 필터 및/또는 샘플 적응적 오프셋(sample adaptive offset)을 적용할 수 있다. 디블록킹 필터링 및/또는 샘플 적응적 오프셋을 통해, 복원 픽처 내 블록 경계의 아티팩트나 양자화 과정에서의 왜곡이 보정될 수 있다. 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링의 과정이 완료된 후 적용될 수 있다.
메모리(260)는 복원 픽처 또는 인코딩/디코딩에 필요한 정보를 저장할 수 있다. 예컨대, 메모리(260)는 인터 예측/인터 뷰 예측에 사용되는 (참조) 픽처들을 저장할 수 있다. 이 때, 인터 예측/인터 뷰 예측에 사용되는 픽처들은 참조 픽처 세트(reference picture set) 혹은 참조 픽처 리스트(reference picture list)에 의해 지정될 수 있다.
여기서는, 하나의 인코딩 장치가 독립 뷰 및 종속 뷰를 인코딩하는 것으로 설명하였으나, 이는 설명의 편의를 위한 것으로서, 각 뷰별로 별도의 인코딩 장치가 구성되거나, 각 뷰별로 별도의 내부 모듈(예컨대, 각 뷰별 예측 모듈)이 구성될 수도 있다.
도 3은 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 3을 참조하면, 비디오 디코딩 장치(300)는 엔트로피 디코딩부(310), 재정렬부(320), 역양자화부(330), 역변환부(340), 예측부(350), 가산부(360), 필터부(370), 메모리(380)를 포함한다.
비디오 정보를 포함하는 비트스트림이 입력되면, 비디오 디코딩 장치는(300)는 비디오 인코딩 장치에서 비디오 정보가 처리된 프로세스에 대응하여 비디오를 복원할 수 있다.
예컨대, 비디오 디코딩 장치(300)는 비디오 인코딩 장치에서 적용된 처리 유닛을 이용하여 비디오 디코딩을 수행할 수 있다. 따라서 비디오 디코딩의 처리 유닛 블록은 코딩 유닛 블록, 예측 유닛 블록 또는 변환 유닛 블록일 수 있다. 코딩 유닛 블록은 디코딩의 유닛 블록으로서 최대 코딩 유닛 블록으로부터 쿼드 트리 구조를 따라서 분할될 수 있다. 예측 유닛 블록은 코딩 유닛 블록으로부터 파티셔닝되는 블록으로서, 샘플 예측의 유닛 블록일 수 있다. 이 때, 예측 유닛 블록은 서브 블록으로 나뉠 수도 있다. 변환 유닛 블록은 코딩 유닛 블록으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 유도하는 유닛 블록 또는 변환 계수로부터 레지듀얼 신호를 유도하는 유닛 블록일 수 있다.
엔트로피 디코딩부(310)는 비트스트림을 파싱하여 비디오 복원 또는 픽처 복원에 필요한 정보를 출력할 수 있다. 예컨대, 엔트로피 디코딩부(310)는 지수 골롬 부호화, CAVLC 또는 CABAC 등의 코딩 방법을 기초로 비트스트림 내 정보를 디코딩하고, 비디오 복원에 필요한 신택스 엘리먼트의 값, 레지듀얼에 관한 변환 계수의 양자화된 값 들을 출력할 수 있다.
3D 비디오를 재생하기 위해 복수의 뷰(view)를 처리하는 경우, 비트스트림은 각 뷰 별로 입력될 수 있다. 혹은, 비트스트림 내에서 각 뷰에 대한 정보가 멀티플렉싱되어 있을 수 있다. 이 경우, 엔트로피 디코딩부(310)는 비트스트림을 역다중화(de-multiplixing)하여 뷰 별로 파싱(parsing)할 수도 있다.
재정렬부(320)는 양자화되어 있는 변환 계수들을 2차원의 블록 형태로 재정렬할 수 있다. 재정렬부(320)는 인코딩 장치에서 수행된 계수 스캐닝에 대응하여 재정렬을 수행할 수 있다.
역양자화부(330)는 양자화되어 있는 변환 계수들을 (역)양자화 파라미터를 기반으로 역양자화하여 변환 계수를 출력할 수 있다. 이 때, 양자화 파라미터를 유도하기 위한 정보는 인코딩 장치로부터 시그널링될 수 있다.
역변환부(340)는 변환 계수들을 역변환하여 레지듀얼 샘플들을 유도할 수 있다.
예측부(350)는 현재 블록에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측 블록을 생성할 수 있다. 예측부(350)에서 수행되는 예측의 단위는 코딩 블록일 수도 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
예측부(350)는 인트라 예측을 적용할 것인지 인터 예측을 적용할 것인지를 결정할 수 있다. 이 때, 인트라 예측과 인터 예측 중 어느 것을 적용할 것인지를 결정하는 단위와 예측 샘플을 생성하는 단위는 상이할 수 있다. 아울러, 인터 예측과 인트라 예측에 있어서 예측 샘플을 생성하는 단위 또한 상이할 수 있다. 예를 들어, 인터 예측과 인트라 예측 중 어느 것을 적용할 것인지는 CU 단위로 결정할 수 있다. 또한 예를 들어, 인터 예측에 있어서 PU 단위로 예측 모드를 결정하고 예측 샘플을 생성할 수 있고, 인트라 예측에 있어서 PU 단위로 예측 모드를 결정하고 TU 단위로 예측 샘플을 생성할 수도 있다.
인트라 예측의 경우에, 예측부(350)는 현재 픽처 내의 주변 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(350)는 현재 블록의 주변 참조 샘플을 기반으로 방향성 모드 또는 비방향성 모드를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이 때, 주변 블록의 인트라 예측 모드를 이용하여 현재 블록에 적용할 예측 모드가 결정될 수도 있다.
인터 예측의 경우에, 예측부(350)는 참조 픽처 상에서 움직임 벡터에 의해 참조 픽처 상에서 특정되는 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(350)는 스킵(skip) 모드, 머지(merge) 모드 및 MVP 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다.
스킵 모드와 머지 모드의 경우에, 주변 블록의 움직임 정보가 현재 블록의 움직임 정보로 이용될 수 있다. 이 때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.
예측부(350)는 가용한 주변 블록의 움직임 정보로 머지 후보 리스트를 구성하고, 머지 인덱스가 머지 후보 리스트 상에서 지시하는 정보를 현재 블록의 움직임 벡터로 사용할 수 있다. 머지 인덱스는 인코딩 장치로부터 시그널링될 수 있다. 움직임 정보는 움직임 벡터와 참조 픽처를 포함할 수 있다. 스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트 상의 최상위 픽처가 참조 픽처로서 이용될 수 있다.
스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차이(레지듀얼)이 전송되지 않는다.
MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(motion vector predictor)로 이용하여 현재 블록의 움직임 벡터가 유도될 수 있다. 이 때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.
종속 뷰(dependent view)에 대한 경우에, 예측부(350)는 인터 뷰 예측을 수행할 수 있다. 이 때, 예측부(350)는 다른 뷰의 픽처를 포함하여 참조 픽처 리스트를 구성할 수 있다.
인터 뷰 예측을 위해, 예측부(350)는 디스패리티 벡터를 유도할 수 있다. 예측부(350)는 디스패리티 벡터를 기반으로, 뎁스 뷰(depth view) 내의 뎁스 블록을 특정할 수도 있고, 머지 리스트의 구성, 인터 뷰 움직임 예측(inter-view motion prediction), 레지듀얼 예측, IC(illumination compensation), 뷰 합성 등을 수행할 수 있다.
현재 블록에 대한 디스패리티 벡터는 카메라 파라미터를 이용하여 뎁스 값으로부터 유도되거나, 현재 또는 다른 뷰 내 주변 블록의 움직임 벡터 또는 디스패리티 벡터로부터 유도될 수 있다. 카메라 파라미터는 인코딩 장치로부터 시그널링될 수 있다.
종속 뷰의 현재 블록에 머지 모드를 적용하는 경우에, 예측부(350)는 c마조 뷰(refernece view)의 시간적 움직임 정보에 대응하는 IvMC, 디스패리티 벡터에 대응하는 IvDC, 디스패리티 벡터의 쉬프트(shift)에 의해 유도되는 쉬프티드 IvMC, 현재 블록이 뎁스 맵 상의 블록인 경우에 대응하는 텍스처 픽처로부터 유도되는 텍스처 머지 후보(T), 텍스처 머지 후보로부터 디스패리티를 이용하여 유도되는 디스패리티 유도 머지 후보(D), 뷰 합성에 기반해서 유도되는 뷰 합성 예측 머지 후보(VSP) 등을 머지 후보 리스트에 추가할 수 있다.
이 때, 종속 뷰에 적용되는 머지 후보 리스트에 포함되는 후보의 개수는 소정의 값으로 제한될 수 있다.
또한, 예측부(350)는 인터 뷰 움직임 벡터 예측을 적용하여, 디스패리티 벡터를 기반으로 현재 블록의 움직임 벡터를 예측할 수도 있다. 이 때, 예측부(350)는 디스패리티 벡터에 의해서 특정되는 참조 뷰 내 블록을 참조 블록으로 이용할 수 있다. 예측부(350)는 참조 블록의 움직임 벡터를 현재 블록의 후보 움직임 파라미터 혹은 움짐익 벡터 예측자 후보로 이용할 수 있으며, 상기 디스패리티 벡터를 디스패리티 보상 예측(disparity compensated prediction: DCP)을 위한 후보 디스패리티 벡터로 이용할 수 있다.
가산부(360)는 레지듀얼 샘플과 예측 샘플을 더하여 현재 블록 혹은 현재 픽처를 복원할 수 있다. 가산부(360)는 레지듀얼 샘플과 예측 샘플을 블록 단위로 더하여 현재 픽처를 복원할 수도 있다. 스킵 모드가 적용된 경우에는 레지듀얼이 전송되지 않으므로, 예측 샘플이 복원 샘플이 될 수 있다. 여기서는 가산부(360)를 별도의 구성으로 설명하였으나, 가산부(360)는 예측부(350)의 일부일 수도 있다.
필터부(370)는 복원된 픽처에 디블록킹 필터링 및/또는 샘플 적응적 오프셋을 적용할 수 있다. 이 때, 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링 이후 적용될 수도 있다.
메모리(380)는 복원 픽처 또는 디코딩에 필요한 정보를 저장할 수 있다. 예컨대, 메모리(380)는 인터 예측/인터 뷰 예측에 사용되는 픽처들을 저장할 수 있다. 이 때, 인터 예측/인터 뷰 예측에 사용되는 픽처들은 참조 픽처 세트 혹은 참조 픽처 리스트에 의해 지정될 수도 있다. 복원된 픽처는 다른 픽처에 대한 참조 픽처로서 이용될 수 있다.
또한, 메모리(380)는 복원된 픽처를 출력 순서에 따라서 출력할 수도 있다. 도시되지는 않았으나, 3D 영상을 재생하기 위해, 출력부는 복수의 서로 다른 뷰를 디스플레이할 수 있다.
도 3의 예에서는, 하나의 디코딩 장치에서 독립 뷰(independent view)와 종속 뷰(dependent view)가 디코딩되는 것으로 설명하였으나, 이는 설명의 편의를 위한 것으로서 본 발명은 이에 한정되지 않는다. 예컨대, 뷰 별로 각각의 디코딩 장치가 동작할 수도 있고, 하나의 디코딩 장치 내의 각 뷰에 대응하는 내부 모듈(예컨대, 예측 모듈)이 구비될 수도 있다.
멀티 뷰 비디오 코딩은 현재 픽처와 동일한 AU(access unit)에 속하는 다른 뷰의 디코딩 데이터를 이용하여 현재 픽처를 코딩함으로써 현재 뷰에 대한 비디오 코딩 효율을 높일 수 있다.
멀티 뷰 비디오 코딩에서는 AU 단위로 뷰들을 코딩할 수 있고, 뷰 단위로 픽처들을 코딩할 수도 있다. 뷰들 간에는 정해진 순서에 따라서 코딩이 진행된다. 다른 뷰의 참조 없이 코딩될 수 있는 뷰를 베이스 뷰(base view) 또는 독립 뷰라고 할 수 있다. 또한 독립 뷰가 코딩된 뒤에 독립 뷰 또는 다른 뷰를 참조해서 코딩될 수 있는 뷰를 종속 뷰 또는 확장 뷰라고 할 수 있다. 또한, 현재 뷰가 종속 뷰인 경우, 현재 뷰의 코딩에 참조되는 뷰를 참조 뷰라고 할 수도 있다. 여기서 뷰를 코딩한다 함은 해당 뷰에 속하는 비디오 픽처, 뎁스 맵 등을 코딩함을 포함한다.
3D 비디오는 일반적인 컬러 영상 정보를 가지는 비디오 픽처(또는 텍스처(texture) 픽처)와, 비디오 픽처에 대한 깊이 정보를 가지는 뎁스 맵(depth map)을 포함한다. 3D 비디오에서는 동일한 POC에 서로 다른 시점을 갖는 복수 개의 비디오 픽처가 존재할 수 있으며, 상기 복수 개의 비디오 픽처에 각각 대응하는 뎁스 맵이 존재할 수 있다. 또한, 상기 복수 개의 비디오 픽처는 서로 다른 시점을 갖는 복수의 카메라로부터 획득될 수 있다.
3D 비디오는 멀티-뷰 비디오 플러스 뎁스(Multiview Video plus Depth) 포멧(format)으로 나타내어질 수 있다. 인코딩 장치에서는 몇몇 캡쳐된 뷰들 및 연관된 뎁스 맵들이 코딩되고, 그에 따른 비트스트림 패킷들이(resulting bitstream packets) 3D 비디오 비트스트림으로 멀티플렉싱될 수 있다. 디코딩 장치에서는 비디오 픽처 및 뎁스 맵에 관한 데이터를 디코딩하고, 필요한 경우 DIBR(depth-image-based rendering) 기법을 이용하여 부가적인 중간 뷰(additional intermediate view)를 합성할 수 있다. 뷰 합성을 위하여 카메라 파라미터가 상기 비트스트림에 부가적으로 포함될 수 있다. 카메라 파라미터는 ZFar, Znear, 초첨 거리(Focal Length) 등을 포함할 수 있다.
도 4a 및 도 4b는 본 발명에서 사용될 수 있는 카메라 파라미터를 설명하기 위한 도면이다. 도 4a 및 도 4b는 3D 비디오에서 사용될 수 있는 카메라 모델의 실시예를 도시한다.
상술한 바와 같이 카메라 파라미터는 VSP를 위해 사용되는 참조 픽처를 합성하기 위해 사용될 수 있으며, 디코딩 장치에서 중간 시점 영상을 생성하기 위해 사용될 수도 있다. 따라서, 디코딩 장치는 각각의 시점 별로 카메라 파라미터를 인코딩하여 디코딩 장치로 네트워크 또는 저장매체를 통하여 전송할 수 있다.
도 4a를 참조하면, W로 표시된 좌표계는 공간상에서 카메라의 위치를 지정하기 위해 사용되는 '기준 좌표계'를 의미할 수 있다. 또한, C로 표시된 좌표계는, 도 4A에 도시된 카메라 파라미터들에 대응되는 카메라의 초점(focal point, 410)을 원점으로 갖는, '카메라 좌표계'를 의미할 수 있다. 또한, 도 4a의 420은 카메라에 의해 획득된 영상이 표시되는 이미지 평면(image plane)을 나타낸다.
도 4a의 실시예에서, f는 카메라의 초점(410)에서 이미지 평면(420)까지의 거리(z축 상의 거리), 즉 초점 거리(focal length)를 나타낸다. 또한, (u0,v0)는 카메라의 광축(optical axis)이 상기 이미지 평면(420)과 만나는 지점의 좌표, 즉, 주점의 좌표(coordinate of a principal point)를 나타낼 수 있다. 상기 광축은 카메라 좌표계에서 이미지 평면(420)의 수직인 좌표 축을 의미할 수 있으며, 도 4a에서는 z축으로 나타내어지고 있다. 따라서 카메라의 초점(410)에서 주점(a principal point)까지의 거리는 초점 거리에 해당될 수 있다. 상술한 세 개의 파라미터(f, u0, v0)는 내부 카메라 파라미터(intrinsic camera parameter)로 불릴 수 있다.
한편, 카메라 파라미터에는 기준 좌표계(W)를 기준으로 카메라 좌표계(C)를 나타내기 위해 사용되는, 3×3 회전 매트릭스(rotation matrix, R) 및 3×1 변형 벡터(translation vector, T)도 있을 수 있다. 여기서, 상기 3×3 회전 매트릭스(R)은 기준 좌표계를 기준으로 카메라 좌표계가 3차원 공간에서 회전한 정도를 나타낸다. 즉, 상기 3×3 회전 매트릭스(R)은 기준 좌표계를 기준으로 하는 카메라 좌표계의 3차원 회전을 나타낸다. 또한, 상기 3×1 변형 벡터(T)는 기준 좌표계를 기준으로 한 카메라 좌표계의 위치를 나타내는 벡터이다. 상기 3×3 회전 매트릭스(R) 및 상기 3×1 변형 벡터(T) ([R,T])는 기준 좌표계와 카메라 좌표계의 기하학적 관계를 나타낼 수 있다. 따라서 상기 두 파라미터는 외부 카메라 파라미터(extrinsic camera parameter)로 불릴 수 잇다.
도 4b는 카메라의 광축(optical axis)에 수직으로 위치한 세 개의 평면을 도시한다. 도 4b의 410은 카메라의 초점, 즉 카메라 좌표계의 원점을 나타내고, 420은 이미지 평면을 나타낸다.
하나의 카메라가 촬영한 장면은 다양한 뎁스 값을 가질 수 있다. 이 때, 가장 작은 뎁스 갚을 갖는 지점은 카메라에 가장 가까이 위치한 지점일 수 있고, 가장 큰 뎁스 갖는 지점은 카메라에서 가장 멀리 위치한 지점일 수 있다. 도 4b의 430은 410의 초점을 갖는 카메라가 촬영한 장면에서 가장 작은 뎁스 값에 해당되는 평면을 나타내고, 이는 근접 클리핑 평면(near clipping plane)으로 불릴 수 있다. 또한, 4b의 440은 410 초점을 갖는 카메라가 촬영한 장면에서 가장 큰 뎁스 값에 해당되는 평면을 나타내고, 이는 원거리 클리핑 평면(far clipping plane)으로 불릴 수 있다.
하나의 카메라가 촬영한 임의의 장면에서, 가장 작은 뎁스 값은 Znear(Zn)으로 나타내어질 수 있고, 이는 근접 클리핑 평면(430)이 갖는 뎁스 값에 해당될 수 있다. 가장 큰 뎁스 값은 Zfar(Zf)로 나타내어질 수 있고, 이는 원거리 클리핑 평면(440)이 갖는 뎁스 값에 해당될 수 있다. 상기 Znear 및 Zfar는 카메라 파라미터에 해당하며, Z-클리핑 파라미터(Z-clipping parameter)로 불릴 수 있다.
인코딩 장치에서 처리되어 디코딩 장치로 전송되는 뎁스 데이터는 비트심도(BitDepth)에 기반한 값을 가질 수 있다. 일 예로, 비트심도가 8일 경우 우 뎁스 맵 내의 뎁스 샘플 값들은 0 내지 255의 값을 가질 수 있다. 이 경우 상기 뎁스 샘플 값들은 Z-클리핑 파라미터 Znear 및 Zfar 사이의 뎁스 값들이 각각 256 레벨로 양자화된 값에 해당될 수 있다. 따라서, 양자화된 뎁스 샘플 값들은 Z-클리핑 파라미터 Znear 및 Zfar를 기반으로 실제 깊이 값으로 변환될 수 있다. 이는 예를 들어 다음 수학식과 같이 나타내어질 수 있다.
수학식 1
Figure PCTKR2015010129-appb-M000001
여기서, Znear는 근접 클리핑 파라미터를 나타내고, Zfar는 원거리 클리핑 파라미터를 나타낸다. 또한, z는 실제 뎁스 값을 나타내고, v는 뎁스 맵에 포함된 뎁스 샘플 값의 강도(intensity)를 나타낸다.
또한, DIBR을 기반으로 합성된 뷰의 픽처를 참조 픽처로 이용하여 현재 픽처(또는 블록)에 대한 예측을 수행하는 VSP, 그리고 대응하는 뎁스 블록을 기반으로 디스패리티 벡터 후보에 대하여 수행되는 뎁스 정제(depth refinement) 등에 있어서도 뎁스 값을 디스패리티 값으로 전환(conversion)하기 위하여 카메라 파라미터가 사용될 수 있다. 이러한 전환을 위한 카메라 파라미터는 전환 파라미터라고 불릴 수 있으며, 뎁스-디스패리티 테이블(Depth to disparity table)을 구성하기 위하여 사용될 수도 있다. 뎁스 값을 디스패리티 값으로 전환하기 위하여 필요한 카메라 파라미터들은 비트스트림에 포함될 수 있으며, 상기 카메라 파라미터(또는 전환 파라미터)는 스케일 인자(scale factor) 및 오프셋(offset)에 관한 파라미터들을 포함할 수 있다. 디스패리티 벡터의 수직 성분(vertical component)은 0으로 설정될 수 있으며, 디스패리티 벡터의 수평 성분(horizontal component)는 다음 수학식을 기반으로 도출될(derived) 수 있다.
수학식 2
Figure PCTKR2015010129-appb-M000002
여기서, v는 뎁스 샘플 값이고, s는 스케일 인자, o는 오프셋, 그리고 n은 상기 디스패리티 벡터의 요구되는 정확성(required accuracy)에 기반한 쉬프트 파라미터이다. 현재 뷰와 뎁스 샘플이 있는 뷰 인덱스 j인 뷰 사이의 디스패리티 벡터를 도출하기 위한 역방향(backward) 전환에서는 상기 스케일 인자는 cp_scale[j]를 기반으로 도출될 수 있고, 상기 오프셋은 cp_off[j]를 기반으로 도출될 수 있다. 또한, 뷰 인덱스 j인 뷰와 뎁스 샘플이 있는 현재 뷰 사이의 디스패리티 벡터를 도출하기 위한 순방향(forward) 전환에서는 상기 스케일 인자는 cp_inv_scale_plus_scale[j]를 기반으로 도출될 수 있고, 상기 오프셋은 cp_inv_off_plus_off[j]를 기반으로 도출될 수 있다.
본 발명에서 카메라 파라미터는 다수의 파라미터들을 포함할 수 있으며, 카메라 파라미터 세트라고 불릴 수 있다. 상기 카메라 파라미터는 시간의 흐름에 따라 뷰의 픽처들 간 공유되거나 변경될 수 있다. 일 예로, 3D 비디오가 끝날 때까지 카메라의 위치가 고정되거나 다시점 카메라들 간의 상대 위치가 바뀌지 않는 경우, 뷰의 각 픽처들은 하나의 카메라 파라미터를 공유할 수 있다. 이 경우에는 VPS(video parameter set) 신택스(syntax)를 통하여 해당 뷰의 대표되는 카메라 파라미터가 전송될 수 있다. 이 경우 상기 VPS 신택스는 예를 들어 다음과 같이 나타내어질 수 있다.
표 1
cp_in_slice_segment_header_flag[i] u(1)
if(!cp_in_slice_segment_header_flag[i])
for(j=0;j < i;j++){
vps _cp_scale[i][j] se(v)
vps _cp_off[i][j] se(v)
vps_cp_inv_scale_plus_scale[i][j] se(v)
vps _cp_ inv _off_plus_off[i][j] se(v)
}
여기서, cp_in_slice_segment_header_flag는 i-th 뷰에 대하여 슬라이스 세그먼트 헤더에 카메라 파라미터가 존재하는지 여부를 나타내는 플래그 정보이다.
cp_in_slice_segment_header_flag[i]의 값이 0인 경우, 카메라 파라미터에 관한 신택스 요소들(syntax elements) vps_cp_scale[i][j], vps_cp_off[i][j], vps_cp_inv_scale_plus_scale[i][j], 및 vps_cp_inv_off_plus_off[i][j]가 상기 VPS에 존재하고, nuh_layer_id가 layerId랑 같은 값을 갖고 VpsViewIdx[layerId]가 i와 같은 값을 갖는 슬라이스 세그먼트 헤더들에 cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]가 존재하지 않음을 나타낸다.
여기서, vps_cp_scale[i][j], vps_cp_off[i][j], vps_cp_inv_scale_plus_scale[i][j], 및 vps_cp_inv_off_plus_off[i][j]는 뎁스 값을 디스패리티 값으로 전환(converting)하기 위한 파라미터를 나타낸다. vps_cp_scale[i][j], vps_cp_off[i][j], vps_cp_inv_scale_plus_scale[i][j], 및 vps_cp_inv_off_plus_off[i][j]는 VPS에 명시된 i-th 뷰에 대한 cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]의 값을 유도하기 위하여 사용될 수 있다.
다른 예로, 카메라의 움직임 때문에 시간이 지남에 따라 카메라 파라미터의 값이 바뀔 수도 있다. 이런 경우에는 하나의 뷰의 픽처들 간에 카메라 파라미터가 시간에 따라 다를 수 있으며, 슬라이스 세그먼트 헤더를 통해 카메라 파라미터가 전송될 수 있다. 이 경우 상기 슬라이스 세그먼트 헤더는 예를 들어 다음과 같이 나타내어질 수 있다.
표 2
if(nuh_layer_id > 0 && cp_in_slice_segment_header_flag[ViewIdx])
for(j=0;j < ViewIdx;j++){
cp_scale[j] se(v)
cp_off[j] se(v)
cp_ inv _scale_plus_scale[j] se(v)
cp_ inv _off_plus_off[j] se(v)
}
즉, cp_in_slice_segment_header_flag[i]의 값이 1인 경우, VpsViewIdx[layerId]가 i와 같은 값을 갖는 슬라이스 세그먼트 헤더들에 뎁스 값을 디스패리티 값으로 전환(converting)하기 위한 파라미터들인 cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]가 존재함을 나타낸다.
즉, 상기에 따르면, 하나의 뷰 내에서 카메라 파라미터가 한번이라도 바뀌는 경우에는 슬라이스 세그먼트 헤더를 통해 카메라 파라미터가 전송될 수 있다. 이 경우 별도의 제한이 없다면 매 슬라이스마다 카메라 파라미터가 전송될 수 있다.
다만, 카메라 파라미터가 매 POC마다 바뀌는 것이 아니라 일정 구간(period)에서는 같은 카메라 파라미터가 이용되는 경우에도, 매 슬라이스마다 카메라 파라미터가 전송된다면, 동일한 정보가 불필요하게 중복 전송될 수 있으며 코딩 효율을 저하시킬 수 있다.
후술하는 본 발명의 실시예들에 따르면 중복된 카메라 파라미터 전송을 방지하고, 뷰 내의 일정 구간의 픽처들(또는 슬라이스들)은 같은 카메라 파라미터를 공유할 수 있다. 본 발명에 따르면 현재 슬라이스(또는 픽처)가 이전 슬라이스(또는 픽처)와 같은 카메라 파라미터를 사용할 경우 같은 값을 새로 전송하지 않고, 이전 슬라이스(또는 픽처)의 카메라 파라미터를 이용할 수 있다.
일 실시예로, 슬라이스 세그먼트 헤더에서 이전 슬라이스에서 사용했던 카메라 파라미터가 사용되는지 여부를 나타내는 플래그 정보가 전송될 수 있다. 예를 들어 만일 상기 플래그 정보가 1이라면, 카메라 파라미터(예를 들어 cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j])가 해당 슬라이스 세그먼트 헤더에 포함되어 전송되지 않는다. 만일 상기 플래그 정보가 0이라면, 새로운 카메라 파라미터가 해당 슬라이스 세그먼트 헤더에 포함되어 전송될 수 있고, 디코딩 장치는 상기 전환 파라미터를 파싱하여 사용할 수 있다. 또는 이와 반대로 상기 플래그 정보가 0인 경우 새로운 파라미터가 해당 슬라이스 세그먼트 헤더에 포함되어 전송되지 않고, 상기 플래그 정보가 1인 경우 카메라 파라미터가 해당 슬라이스 세그먼트 헤더에 포함되어 전송될 수도 있다. 이 때, 만일 현재 디코딩 하는 픽처가 랜덤 엑세스 포인트일 경우에는 무조건 상기 카메라 파라미터를 파싱할 수도 있다. 상기 슬라이스 세그먼트 헤더는 예를 들어 다음과 같이 나타내어질 수 있다.
표 3
slice segment header() { Descriptor
if(nuh_layer_id > 0 && cp_in_slice_segment_header_flag[ViewIdx])
prev _cp_in_slice_segment_header_flag[ ViewIdx ] u(1)
if(!prev_cp_in_slice_segment_header_flag[ViewIdx])
for(j=0;j < ViewIdx;j++){
cp_scale[j] se(v)
cp_off[j] se(v)
cp_inv_scale_plus_scale[j] se(v)
cp_ inv _off_plus_off[j] se(v)
}
}
여기서, prev_cp_in_slice_segment_header_flag는 현재 슬라이스에 이전 슬라이스에서 사용했던 카메라 파라미터가 사용되는지 여부를 나타내는 플래그 정보이다.
prev_cp_in_slice_segment_header_flag[ViewIdx] 의 값이 0인 경우, 신택스 요소들 cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]가 슬라이스 세그먼트 헤더에 존재함을 나타낸다.
prev_cp_in_slice_segment_header_flag[ViewIdx] 의 값이 1인 경우, cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]가 슬라이스 세그먼트 헤더에 존재하지 않고, 뷰 인덱스가 ViewIdx와 같은 뷰 인덱스를 갖는 이전 슬라이스 세그먼트 헤더의 대응하는 신택스 요소들로부터 cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]가 도출됨을 나타낸다.
prev_cp_in_slice_segment_header_flag[ViewIdx]가 존재하지 않는 경우, prev_cp_in_slice_segment_header_flag[ViewIdx]의 값은 1인 것으로 추론될(inferred) 수 있다. 엑세스 유닛 상 nuh_layer_id가 0인 픽처가 IRAP(intra random access point) 픽처인 경우, 슬라이스 세그먼트 헤더 내의 prev_cp_in_slice_segment_header_flag[ViewIdx]의 값은 0과 같을 수 있다.
cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]는 뎁스 값을 디스패리티 값으로 전환하기 위한 파라미터를 나타낸다. 해당 파라미터들이 존재하지 않고 prev_cp_in_slice_segment_header_flag[ViewIdx]의 값이 0인 경우, cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]의 값들은 각각 vps_cp_scale[ViewIdx][j], vps_cp_off[ViewIdx][j], vps_cp_inv_scale_plus_scale[ViewIdx][j], 및 vps_cp_inv_off_plus_off[ViewIdx][j]와 같도록 추론될 수 있다. 여기서 ViewIdxA가 ViewIdxB와 같은 경우, ViewIdxA와 같은 ViewIdx를 갖는 슬라이스 세그먼트 헤더 내의 cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]는 ViewIdxB와 같은 ViewIdx를 갖는 슬라이스 세그먼트 헤더 내의 cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]와 같다.
다른 실시예로, 시간에 따라 카메라 파라미터가 바뀌는 경우에 VPS를 통하여 디폴트 카메라 파라미터를 전송하고, 슬라이스 세그먼트 헤더를 통하여 카메라 파라미터가 업데이트되는지 여부 나타내는 플래그 정보를 전송할 수 있다. 이를 통하여 디코딩 장치는 새로운 카메라 파라미터의 파싱 여부를 결정할 수 있다. 만일, 상기 플래그 정보가 0을 나타내면, 슬라이스 세그먼트 헤더에서는 카메라 파라미터가 포함되지 않으며, 디코딩 장치 내에 저장된 현재 시점의 카메라 파라미터를 사용한다. 즉, 카메라 파라미터가 한 번도 업데이트되지 않은 경우, 상기 디폴트 카메라 파라미터가 디코딩 장치에 저장될 것이다. 만약 카메라 파라미터가 업데이트되어 상기 플래그 정보가 1을 나타내는 경우, 디코딩 장치는 슬라이스 세그먼트 헤더에 포함된 새로운 카메라 파라미터 값을 파싱하고, 현재 시점에 대하여 공유되는 상기 카메라 파라미터를 업데이트한다. 이 때, 만일 현재 디코딩 하는 픽처가 랜덤 엑세스 포인트일 경우에는 무조건 상기 카메라 파라미터를 파싱할 수도 있다.
이 경우, 상기 VPS 및 상기 슬라이스 세그먼트 헤더는 예를 들어 각각 다음 표 4 및 5와 같이 나타내어질 수 있다.
표 4
vps extension2(){ Descriptor
cp_precision ue(v)
for(i=1;i < NumViews; i++){
cp_present_flag[i] u(1)
if(cp_present_flag[i]){
cp_in_slice_segment_header_flag[i] u(1)
for(j=0;j < i;j++){
vps _cp_scale[i][j] se(v)
vps _cp_off[i][j] se(v)
vps _cp_ inv _scale_plus_scale[i][j] se(v)
vps _cp_ inv _off_plus_off[i][j] se(v)
}
}
}
}
여기서, vps_cp_scale[i][j], vps_cp_off[i][j], vps_cp_inv_scale_plus_scale[i][j], 및 vps_cp_inv_off_plus_off[i][j]는 뎁스 값을 디스패리티 값으로 전환하기 위한 (디폴트) 파라미터를 나타낸다. ViewIdx가 i와 같은 텍스처 레이어 및 뎁스 레이어 둘 다가 존재하는 경우, 상기 파라미터는 상기 텍스처 레이어와 연관된다(associated).
이 경우, 현재 카메라 파라미터는 CpScale[i][j], CpOff[i][j], CpInvScalePlusScale[i][j], 및 CpInvOffPlusOff[i][j]로 나타내어질 수 있다.
CpScale[i][j], CpOff[i][j], CpInvScalePlusScale[i][j], 및 CpInvOffPlusOff[i][j]는 다음과 같이 적용될 수 있다.
- CpScale[i][j] = vps_cp_scale[i][j]
- CpOff[i][j] = vps_cp_off[i][j]
- CpInvScalePlusScale[i][j] = vps_cp_inv_scale_plus_scale[i][j]
- CpInvOffPlusOff[i][j] = CpInvOffPlusOff[i][j]
표 5
slice segment header() { Descriptor
if(nuh_layer_id > 0 && cp_in_slice_segment_header_flag[ViewIdx])
cu_update_flag[ ViewIdx ] u(1)
if(cu_update_flag[ViewIdx])
for(j=0;j < ViewIdx;j++){
cp_scale[j] se(v)
cp_off[j] se(v)
cp_inv_scale_plus_scale[j] se(v)
cp_ inv _off_plus_off[j] se(v)
}
}
여기서, cu_update_flag는 카메라 파라미터가 업데이트되는지 여부를 나타내는 플래그 정보이다.
cu_update_flag[ViewIdx]의 값이 1인 경우, 신택스 요소들 cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]가 슬라이스 세그먼트 헤더에 존재함을 나타낸다.
cu_update_flag[ViewIdx]의 값이 0인 경우, cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]가 슬라이스 세그먼트 헤더에 존재하지 않고, 이전 슬라이스 세그먼트 헤더의 대응하는 신택스 요소들로부터 cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]가 도출됨을 나타낸다.
cu_update_flag[ViewIdx]가 존재하지 않는 경우, cu_update_flag[ViewIdx]의 값은 0인 것으로 추론될(inferred) 수 있다. 엑세스 유닛 상 nuh_layer_id가 0인 픽처가 IRAP(intra random access point) 픽처인 경우, 슬라이스 세그먼트 헤더 내의 cu_update_flag[ViewIdx]의 값은 0과 같을 수 있다.
cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]는 뎁스 값을 디스패리티 값으로 전환하기 위한 파라미터를 나타낸다. 여기서 ViewIdxA가 ViewIdxB와 같은 경우, ViewIdxA와 같은 ViewIdx를 갖는 슬라이스 세그먼트 헤더 내의 cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]는 ViewIdxB와 같은 ViewIdx를 갖는 슬라이스 세그먼트 헤더 내의 cp_scale[j], cp_off[j], cp_inv_scale_plus_scale[j], 및 cp_inv_off_plus_off[j]와 같다.
cu_update_flag[ViewIdx]의 값이 1인 경우, CpScale[i][j], CpOff[i][j], CpInvScalePlusScale[i][j], 및 CpInvOffPlusOff[i][j]는 다음과 같이 업데이트될 수 있다.
- CpScale[ViewIdx][j] = cp_scale[j]
- CpOff[ViewIdx][j] = cp_off[j]
- CpInvScalePlusScale[ViewIdx][j] = cp_inv_scale_plus_scale[j]
- CpInvOffPlusOff[ViewIdx][j] = cp_inv_off_plus_off[j]
상기와 같이 현재 카메라 파라미터가 CpScale, CpOff, CpInvScalePlusScale, 및 CpInvOffPlusOff로 나타내어지는 경우, 상술한 수학식 2에서의, 상기 역방향 전환에서 상기 스케일 인자는 상기 CpScale을 기반으로 도출될 수 있고, 상기 오프셋은 상기 CpOff을 기반으로 도출될 수 있다. 또한, 상기 순방향 전환에서 상기 스케일 인자는 상기 CpInvScalePlusScale을 기반으로 도출될 수 있고, 상기 오프셋은 CpInvOffPlusOff을 기반으로 도출될 수 있다.
또 다른 실시예로, VPS를 통하여 디폴트 카메라 파라미터를 전송하고, 슬라이스 세그먼트 헤더를 통하여 카메라 파라미터가 업데이트되는지 여부 나타내는 플래그 정보를 전송하되, 카메라 파라미터가 업데이트되는 경우 디폴트 카메라 파라미터와의 차분값을 전송할 수 있다. 만일, 상기 플래그 정보가 0을 나타내면, 슬라이스 세그먼트 헤더에서는 카메라 파라미터가 포함되지 않으며, 디코딩 장치 내에 저장된 현재 시점의 카메라 파라미터를 사용한다. 즉, 카메라 파라미터가 한 번도 업데이트되지 않은 경우, 상기 디폴트 카메라 파라미터가 디코딩 장치에 저장될 것이다. 만약 카메라 파라미터가 업데이트되어 상기 플래그 정보가 1을 나타내는 경우, 디코딩 장치는 슬라이스 세그먼트 헤더에 포함된 카메라 파라미터 차분 값을 파싱하여 디폴트 카메라 파라미터에 더함으로써, 현재 시점에 대하여 공유되는 상기 카메라 파라미터를 업데이트한다. 이 때, 만일 현재 디코딩 하는 픽처가 랜덤 엑세스 포인트일 경우에는 무조건 상기 카메라 파라미터를 파싱할 수도 있다.
이 경우, 상기 VPS 및 상기 슬라이스 세그먼트 헤더는 예를 들어 각각 다음 표 6 및 7과 같이 나타내어질 수 있다.
표 6
vps extension2(){ Descriptor
cp_precision ue(v)
for(i=1;i < NumViews; i++){
cp_present_flag[i] u(1)
if(cp_present_flag[i]){
cp_in_slice_segment_header_flag[i] u(1)
for(j=0;j < i;j++){
vps _cp_scale[i][j] se(v)
vps _cp_off[i][j] se(v)
vps_cp_inv_scale_plus_scale[i][j] se(v)
vps _cp_ inv _off_plus_off[i][j] se(v)
}
}
}
}
여기서, vps_cp_scale[i][j], vps_cp_off[i][j], vps_cp_inv_scale_plus_scale[i][j], 및 vps_cp_inv_off_plus_off[i][j]는 뎁스 값을 디스패리티 값으로 전환하기 위한 (디폴트) 파라미터를 나타낸다. ViewIdx가 i와 같은 텍스처 레이어 및 뎁스 레이어 둘 다가 존재하는 경우, 상기 파라미터는 상기 텍스처 레이어와 연관된다(associated).
이 경우, 현재 카메라 파라미터는 CpScale[i][j], CpOff[i][j], CpInvScalePlusScale[i][j], 및 CpInvOffPlusOff[i][j]로 나타내어질 수 있다.
CpScale[i][j], CpOff[i][j], CpInvScalePlusScale[i][j], 및 CpInvOffPlusOff[i][j]는 다음과 같이 적용될 수 있다.
- CpScale[i][j] = vps_cp_scale[i][j]
- CpOff[i][j] = vps_cp_off[i][j]
- CpInvScalePlusScale[i][j] = vps_cp_inv_scale_plus_scale[i][j]
- CpInvOffPlusOff[i][j] = vps_cp_inv_off_plus_off[i][j]
표 7
slice segment header() { Descriptor
if(nuh_layer_id > 0 && cp_in_slice_segment_header_flag[ViewIdx])
cu_update_flag[ ViewIdx ] u(1)
if(cu_update_flag[ViewIdx])
for(j=0;j < ViewIdx;j++){
delta_cp_scale[j] se(v)
delta_cp_off[j] se(v)
delta_cp_inv_scale_plus_scale[j] se(v)
delta_cp_ inv _off_plus_off[j] se(v)
}
}
여기서, cu_update_flag는 카메라 파라미터가 업데이트되는지 여부를 나타내는 플래그 정보이다.
cu_update_flag[ViewIdx]의 값이 1인 경우, 신택스 요소들 delta_cp_scale[j], delta_cp_off[j], delta_cp_inv_scale_plus_scale[j], 및 delta_cp_inv_off_plus_off[j]가 슬라이스 세그먼트 헤더에 존재함을 나타낸다.
cu_update_flag[ViewIdx]의 값이 0인 경우, delta_cp_scale[j], delta_cp_off[j], delta_cp_inv_scale_plus_scale[j], 및 delta_cp_inv_off_plus_off[j]가 슬라이스 세그먼트 헤더에 존재하지 않고, 이전 슬라이스 세그먼트 헤더의 대응하는 신택스 요소들로부터 delta_cp_scale[j], delta_cp_off[j], delta_cp_inv_scale_plus_scale[j], 및 delta_cp_inv_off_plus_off[j]가 도출됨을 나타낸다.
cu_update_flag[ViewIdx]가 존재하지 않는 경우, cu_update_flag[ViewIdx]의 값은 0인 것으로 추론될(inferred) 수 있다. 엑세스 유닛 상 nuh_layer_id가 0인 픽처가 IRAP(intra random access point) 픽처인 경우, 슬라이스 세그먼트 헤더 내의 cu_update_flag[ViewIdx]의 값은 0과 같을 수 있다.
delta_cp_scale[j], delta_cp_off[j], delta_cp_inv_scale_plus_scale[j], 및 delta_cp_inv_off_plus_off[j]는 뎁스 값을 디스패리티 값으로 전환하기 위한 파라미터를 나타낸다. 여기서 ViewIdxA가 ViewIdxB와 같은 경우, ViewIdxA와 같은 ViewIdx를 갖는 슬라이스 세그먼트 헤더 내의 delta_cp_scale[j], delta_cp_off[j], delta_cp_inv_scale_plus_scale[j], 및 delta_cp_inv_off_plus_off[j]는 ViewIdxB와 같은 ViewIdx를 갖는 슬라이스 세그먼트 헤더 내의 delta_cp_scale[j], delta_cp_off[j], delta_cp_inv_scale_plus_scale[j], 및 delta_cp_inv_off_plus_off[j]와 같다.
cu_update_flag[ViewIdx]의 값이 1인 경우, CpScale[i][j], CpOff[i][j], CpInvScalePlusScale[i][j], 및 CpInvOffPlusOff[i][j]는 다음과 같이 업데이트될 수 있다.
- CpScale[ViewIdx][j] = vps_cp_scale[ViewIdx][j] + delta_cp_scale[j]
- CpOff[ViewIdx][j] = vps_cp_off[ViewIdx][j] + delta_cp_off[j]
- CpInvScalePlusScale[ViewIdx][j] = vps_cp_inv_scale_plus_scale [ViewIdx][j] + cp_inv_scale_plus_scale[j]
- CpInvOffPlusOff[ViewIdx][j] = CpInvOffPlusOff[i][j] + cp_inv_off_plus_off[j]
이 경우, 상술한 수학식 2에서의, 상기 역방향 전환에서 상기 스케일 인자는 상기 CpScale을 기반으로 도출될 수 있고, 상기 오프셋은 상기 CpOff을 기반으로 도출될 수 있다. 또한, 상기 순방향 전환에서 상기 스케일 인자는 상기 CpInvScalePlusScale을 기반으로 도출될 수 있고, 상기 오프셋은 CpInvOffPlusOff을 기반으로 도출될 수 있다.
또 다른 실시예로, 가장 최근에 전송된 카메라 파라미터를 예측자(predictor)로 하여, 현재 슬라이스에 대한 카메라 파라미터와의 차분값만을 전송하는 것이다. 이 때, 델타(delta) 값이 무한히 커지는 것을 방지하기 위하여, 델타의 절대값이 정해진 크기에 도달한 경우, 예측자가 되는 카메라 파라미터를 업데이트할 수 있다. 이 경우, 기본(또는 기준)이 되는 카메라 파라미터는 연산 부담 및 코딩 효율을 고려하여 SPS(sequence parameter set) 신택스, VPS(video parameter set) 신택스 또는 PPS(picture parameter set)을 통하여 전송될 수 있다.
이 경우, 기준이 되는 카메라 파라미터가 전송되는 신택스, 그리고 카메라 파라미터 차분값이 전송되는 슬라이스 세그먼트 헤더는 예를 들어 각각 다음 표 8 및 9와 같이 나타내어질 수 있다.
표 8
sequence_parameter_set_rbsp()(or video_parameter_set_rbsp(), picture_parameter_set_rbsp()){ Descriptor
for(i=1;i < NumViews; i++){
cp_present_flag[i] u(1)
if(cp_present_flag[i]){
for(j=0;j < i;j++){
cp_scale[i][j] se(v)
cp_off[i][j] se(v)
cp_ inv _scale_plus_scale[i][j] se(v)
cp_ inv _off_plus_off[i][j] se(v)
}
}
}
}
여기서, cp_scale[i][j], cp_off[i][j], cp_inv_scale_plus_scale[i][j], 및 cp_inv_off_plus_off[i][j]는 뎁스 값을 디스패리티 값으로 전환하기 위한 (기본) 파라미터를 나타낸다. ViewIdx가 i와 같은 텍스처 레이어 및 뎁스 레이어 둘 다가 존재하는 경우, 상기 파라미터는 상기 텍스처 레이어와 연관된다(associated).
이 경우, 참조 카메라 파라미터는 RefCpScale[i][j], RefCpOff[i][j], RefCpInvScalePlusScale[i][j], 및 RefCpInvOffPlusOff[i][j]로 나타내어질 수 있다.
RefCpScale[i][j], RefCpOff[i][j], RefCpInvScalePlusScale[i][j], 및 RefCpInvOffPlusOff[i][j]는 다음과 같이 적용될 수 있다.
- RefCpScale[i][j] = cp_scale[i][j]
- RefCpOff[i][j] = cp_off[i][j]
- RefCpInvScalePlusScale[i][j] = cp_inv_scale_plus_scale[i][j]
- RefCpInvOffPlusOff[i][j] = cp_inv_off_plus_off[i][j]
표 9
slice segment header() { Descriptor
delta_cp_flag u(1)
if(nuh_layer_id > 0 && delta_cp_flag)
for(j=0;j < ViewIdx;j++){
delta_cp_scale[j] se(v)
delta_cp_off[j] se(v)
delta_cp_inv_scale_plus_scale[j] se(v)
delta_cp_ inv _off_plus_off[j] se(v)
}
}
여기서, delta_cp_flag는 카메라 파라미터의 차분 값(또는 델타 값)이 존재하는지 여부를 나타내는 플래그 정보이다.
delta_cp_flag의 값이 1인 경우, 신택스 요소들 delta_cp_scale[j], delta_cp_off[j], delta_cp_inv_scale_plus_scale[j], 및 delta_cp_inv_off_plus_off[j]가 슬라이스 세그먼트 헤더에 존재함을 나타낸다. 즉, 기존(참조) 카메라 파라미터에 상기 스라이스 세그먼트 헤더에 존재하는 카메라 파라미터 차분값을 더하여 현재 카메라 파라미터가 도출되고, 상기 현재 카메라 파라미터가 현재 슬라이스에 대하여 사용됨을 나타낸다.
cu_update_flag[ViewIdx]의 값이 0인 경우, delta_cp_scale[j], delta_cp_off[j], delta_cp_inv_scale_plus_scale[j], 및 delta_cp_inv_off_plus_off[j]가 슬라이스 세그먼트 헤더에 존재하지 않는다. 즉, 이번 비트스트림에서 카메라 파라미터가 업데이트되지 않음을 나타낸다.
이 경우, 현재 슬라이스를 위한 현재 카메라 파라미터(전환 파라미터)는 CurrCpScale[i][j], CurrCpOff[i][j], CurrCpInvScalePlusScale[i][j], 및 CurrCpInvOffPlusOff[i][j]로 나타내어질 수 있다.
CurrCpScale[i][j], CurrCpOff[i][j], CurrCpInvScalePlusScale[i][j], 및 CurrCpInvOffPlusOff[i][j]는 다음과 같이 도출될 수 있다.
- CurrCpScale[i][j] = RefCpScale[i][j] + delta_cp_scale[j]
- CurrCpOff[i][j] = RefCpOff[i][j] + delta_cp_off[j]
- CurrCpInvScalePlusScale[i][j] = RefCpInvScalePlusScale[i][j] + cp_inv_scale_plus_scale[j]
- CurrCpInvOffPlusOff[i][j] = RefCpInvOffPlusOff[i][j] + cp_inv_off_plus_off[j]
상기와 같이 현재 카메라 파라미터가 CurrCpScale[i][j], CurrCpOff[i][j], CurrCpInvScalePlusScale[i][j], 및 CurrCpInvOffPlusOff[i][j]로 나타내어지는 경우, 상술한 수학식 2에서의, 상기 역방향 전환에서 상기 스케일 인자는 상기 CurrCpScale[i][j]을 기반으로 도출될 수 있고, 상기 오프셋은 상기 CurrCpOff[i][j]을 기반으로 도출될 수 있다. 또한, 상기 순방향 전환에서 상기 스케일 인자는 상기 CurrCpInvScalePlusScale[i][j]을 기반으로 도출될 수 있고, 상기 오프셋은 CurrCpInvOffPlusOff[i][j]을 기반으로 도출될 수 있다.
만약, delta_cp_scale[j], delta_cp_off[j], delta_cp_inv_scale_plus_scale[j], 또는 delta_cp_inv_off_plus_off[j]가 임계값에 도달한 경우, RefCpScale[i][j], RefCpOff[i][j], RefCpInvScalePlusScale[i][j], 또는 RefCpInvOffPlusOff[i][j] 다음과 같이 업데이트될 수 있다. 여기서 임계값은 명시적으로(explicitly) 시그널링될 수도 있고, 묵시적으로(implicitly) 알려질 수 있다.
- RefCpScale[i][j] = CurrCpScale[i][j]
- RefCpOff[i][j] = CurrCpOff[i][j]
- RefCpInvScalePlusScale[i][j] = CurrCpOff[i][j]
- RefCpInvOffPlusOff[i][j] = CurrCpInvOffPlusOff[i][j]
또 다른 실시예로, 디코딩 장치는 다수의 카메라 파라미터 세트 중에서 어느 하나의 카메라 파라미터 세트를 참조 대상 카메라 파라미터 세트로 판단할 수 있다. 예를 들어 하나의 카메라 파라미터 세트가 아닌 다수 개의 카메라 파라미터 세트를 인코더로부터 전송 받을 수 있다. 이 경우 현재 슬라이스 또는 픽처를 디코딩함에 있어, 상기 다수의 카메라 파라미터 세트 중에서 어느 하나의 카메라 파라미터 세트를 지시하는 인덱스(또는 ID) 정보를 수신하거나, 다른 정보를 기반으로 유추하여 상기 참조 대상이 되는 카메라 파라미터 세트를 판단할 수 있다. 상기 다수의 카메라 파라미터 세트는 다수의 슬라이스를 디코딩함에 있어서 참조될 수 있다.
도 5는 다수의 카메라 파라미터 세트에 대한 슬라이스별 참조 대상 카메라 파라미터 세트를 예시적으로 나타낸다.
도 5를 참조하면, 슬라이스 0 내지 슬라이스 2는 카메라 파라미터 세트 0번을 참조할 수 있고, 슬라이스 3은 카메라 파라미터 세트 1번을 참조할 수 있으며, 슬라이스 4 및 슬라이스 5는 카메라 파라미터 세트 2번을 참조할 수 있다.
디코딩 장치는 인코딩 장치로부터 카메라 파라미터 세트들을 전송받고, 이후 전송되는 인덱스 정보를 기반으로, 슬라이스에 대하여 다수의 카메라 파라미터 세트 리스트 중 어떤 카메라 파라미터 세트가 적용되는지를 판단할 수 있다.
카메라 파라미터 세트들은 예를 들어 PPS들를 통해서 전송될 수 있다. 일 예로, PPS는 다음 표 10과 같이 나타내어질 수 있다.
표 10
pps_3d_extension(){ Descriptor
for(i=1;i < NumViews; i++){
cp_present_flag[i] u(1)
if(cp_present_flag[i]){
for(j=0;j < i;j++){
cp_scale[i][j] se(v)
cp_off[i][j] se(v)
cp_ inv _scale_plus_scale[i][j] se(v)
cp_ inv _off_plus_off[i][j] se(v)
}
}
}
}
인코딩 장치에서 디코딩 장치로 최대 64개의 다른 PPS가 전송될 수 있으며, 디코딩 장치는 슬라이스 세그먼트 헤더에 포함된 인덱스 정보(또는 PPS의 ID)를 기반으로 해당 슬라이스에 참조해야 할 카메라 파라미터 세트가 있는 PPS를 지정할 수 있으며, 이를 통하여 다수의 카메라 파라미터 중 적절한 카메라 파라미터를 찾아 디코딩에 활용할 수 있다.
이 경우, 상기 슬라이스 세그먼트 헤더는 예를 들어 다음 표 11과 같이 나타내어질 수 있다.
표 11
slice segment header() { Descriptor
first_slice_segment_in_ pic _flag u(1)
if(nal_unit_type >= BLA_W_LP && nal_unit_type <= RSV_IRAP_VCL23)
no_output_of_prior_pics_flag u(1)
slice_ pic _parameter_set_id ue(v)
if(!first_slice_segement_in_pic_flag){
if(dependent_slice_segments_enabled_flag)
dependent_slice_segment_flag u(1)
slice_segment_address u(v)
}
}
여기서 slice_pic_parameter_set_id는 현재 슬라이스에 대하여 다수의 카메라 파라미터 세트 리스트 중 어떤 카메라 파라미터 세트가 적용되는지를 나타내는 인덱스 정보를 PPS의 ID의 형태로 나타낸다.
즉, slice_pic_parameter_set_id는 사용되는 PPS에 대한 pps_pic_parameter_set의 값을 나타내며, slice_pic_parameter_set_id의 값의 범위는 0 ~ 63(inclusive)일 수 있다.
이 경우, 참조 카메라 파라미터 세트는 RefCpScale[i][j], RefCpOff[i][j], RefCpInvScalePlusScale[i][j], 및 RefCpInvOffPlusOff[i][j]를 포함할 수 있다.
만약, nuh_layer_id가 0보다 크고, 슬라이스 세그먼트 헤더의 slice_pic_parameter_set_id에 의하여 PPS가 참조(또는 지시)되고, 상기 PPS에 포함된 cp_present_flag[i]가 1과 같은 경우, RefCpScale[i][j], RefCpOff[i][j], RefCpInvScalePlusScale[i][j], 및 RefCpInvOffPlusOff[i][j]는 다음과 같이 적용될 수 있다.
- RefCpScale[i][j] = cp_scale[i][j]
- RefCpOff[i][j] = cp_off[i][j]
- RefCpInvScalePlusScale[i][j] = cp_inv_scale_plus_scale[i][j]
- RefCpInvOffPlusOff[i][j] = cp_inv_off_plus_off[i][j]
또 다른 실시예로, 디코딩 장치는 다수의 카메라 파라미터 세트 중에서 어느 하나의 카메라 파라미터 세트를 기본 카메라 파라미터 세트로 선택된 수 있으며, 이 경우 정확한 전환을 위하여 상기 선택된 기본 카메라 파라미터 세트에 차분 값을 더하여 현재 슬라이스 또는 픽처에서 사용할 수 있다.
예를 들어, 디코딩 장치는 다수의 카메라 파라미터 세트들 중 하나의 기본 카메라 파라미터 세트를 선택하고, 상기 선택된 기본 카메라 파라미터 세트에 포함된 파라미터들에 델타 값을 더함으로써 현재 슬라이스에 대한 참조 카메라 파라미터를 얻을 수 있다.
일 예로, 카메라 파라미터 세트들은 PPS들을 통하여 전송될 수 있으며, 이 경우 PPS 및 슬라이스 세그먼트 헤더는 다음 표 12 및 표 13과 같이 나타내어질 수 있다.
표 12
pps_3d_extension(){ Descriptor
for(i=1;i < NumViews; i++){
cp_present_flag[i] u(1)
if(cp_present_flag[i]){
for(j=0;j < i;j++){
cp_scale[i][j] se(v)
cp_off[i][j] se(v)
cp_ inv _scale_plus_scale[i][j] se(v)
cp_ inv _off_plus_off[i][j] se(v)
}
}
}
}
표 13
slice segment header() { Descriptor
first_slice_segment_in_ pic _flag u(1)
if(nal_unit_type >= BLA_W_LP && nal_unit_type <= RSV_IRAP_VCL23)
no_output_of_prior_pics_flag u(1)
slice_ pic _parameter_set_id ue(v)
if(!first_slice_segement_in_pic_flag){
if(dependent_slice_segments_enabled_flag)
dependent_slice_segment_flag u(1)
slice_segment_address u(v)
}
delta_cp_flag u(1)
if(nuh_layer_id > 0 && delat_cp_flag
for(j=0;j < ViewIdx;j++){
delta_cp_scale[j] se(v)
delta_cp_off[j] se(v)
delta_cp_inv_scale_plus_scale[j] se(v)
delta_cp_ inv _off_plus_off[j] se(v)
}
}
여기서 delta_cp_flag는 카메라 파라미터 세트의 차분 값(또는 델타 값)이 존재하는지 여부를 나타내는 플래그 정보이다.
delta_cp_flag의 값이 1인 경우, PPS(또는 VPS, SPS)를 통하여 전송된 카메라 파라미터 세트 내의 파라미터들에 차분 값들을 더하여 이 슬라이스를 위하여 사용됨을 나타낸다.
즉, delta_cp_flag의 값이 1인 경우, 상기 차분 값들을 나타내는 신택스 요소들 delta_cp_scale[j], delta_cp_off[j], delta_cp_inv_scale_plus_scale[j], 및 delta_cp_inv_off_plus_off[j]가 슬라이스 세그먼트 헤더에 존재한다.
delta_cp_flag의 값이 0인 경우, PPS(또는 VPS, SPS)를 통하여 전송된 카메라 파라미터 세트 내의 파라미터들이 업데이트되지 않고 이 슬라이스를 위하여 사용됨을 나타낸다.
delta_cp_scale[j], delta_cp_off[j], delta_cp_inv_scale_plus_scale[j], 및 delta_cp_inv_off_plus_off[j]는 뎁스 값을 디스패리티 값으로 전환하기 위한 파라미터들의 현재 슬라이스에 대한 차분 값들을 나타낸다.
이 경우, 현재 슬라이스를 위한 현재 카메라 파라미터(전환 파라미터)는 CurrCpScale[i][j], CurrCpOff[i][j], CurrCpInvScalePlusScale[i][j], 및 CurrCpInvOffPlusOff[i][j]로 나타내어질 수 있다.
CurrCpScale[i][j], CurrCpOff[i][j], CurrCpInvScalePlusScale[i][j], 및 CurrCpInvOffPlusOff[i][j]는 다음과 같이 도출될 수 있다.
- CurrCpScale[i][j] = RefCpScale[i][j] + delta_cp_scale[j]
- CurrCpOff[i][j] = RefCpOff[i][j] + delta_cp_off[j]
- CurrCpInvScalePlusScale[i][j] = RefCpInvScalePlusScale[i][j] + cp_inv_scale_plus_scale[j]
- CurrCpInvOffPlusOff[i][j] = RefCpInvOffPlusOff[i][j] + cp_inv_off_plus_off[j]
만약, delta_cp_scale[j], delta_cp_off[j], delta_cp_inv_scale_plus_scale[j], 또는 delta_cp_inv_off_plus_off[j]가 임계값에 도달한 경우, RefCpScale[i][j], RefCpOff[i][j], RefCpInvScalePlusScale[i][j], 또는 RefCpInvOffPlusOff[i][j] 다음과 같이 업데이트될 수 있다. 여기서 임계값은 명시적으로(explicitly) 시그널링될 수도 있고, 묵시적으로(implicitly) 알려질 수 있다.
- RefCpScale[i][j] = CurrCpScale[i][j]
- RefCpOff[i][j] = CurrCpOff[i][j]
- RefCpInvScalePlusScale[i][j] = CurrCpOff[i][j]
- RefCpInvOffPlusOff[i][j] = CurrCpInvOffPlusOff[i][j]
또 다른 실시예로, 카메라 파라미터 세트를 전송하기 위하여 별도의 신택스가 사용될 수 있다. 이 경우 상기 신택스는 카메라 파라미터 세트 신택스 또는 카메라 전환 파라미터 세트(camera conversion parameter set) 신택스로 불릴 수 있다. 이와 같이 카메라 파라미터 세트를 위한 신택스를 사용함으로써 카메라 파라미터 세트를 VPS, SPS 또는 PPS에 포함하여 전송하여 여러 번 보내서 발생할 수 있는 중복 정보 전송을 방지할 수 있다. 또한, 이 경우, 각 카메라 파라미터 세트에 인덱스 또는 ID를 부여함으로써 여러 개의 카메라 파라미터 세트가 수신되는 경우에도 원하는 카메라 세트가 지시될 수 있다.
일 예로, 카메라 전환 파라미터 세트 신택스는 다음 표 14와 같이 나타내어질 수 있다.
표 14
camera_conversion_parameter_set(){ Descriptor
camera_conversion_parameter_set_id ue(v)
for(i=1;i < NumViews; i++){
cp_present_flag[i] u(1)
if(cp_present_flag[i]){
for(j=0;j < i;j++){
cp_scale[i][j] se(v)
cp_off[i][j] se(v)
cp_inv_scale_plus_scale[i][j] se(v)
cp_ inv _off_plus_off[i][j] se(v)
}
}
}
}
여기서, camera_conversion_parameter_set_id는 카메라 (전환) 파라미터 세트에 할당된 소정의 ID를 나타낸다.
이 경우, 상술한 실시예들에서 개시된 바와 같이 슬라이스 세그먼트 헤더를 통하여 특정 ID의 카메라 파라미터 세트가 지정될 수 있다. 또한, 지정된 카메라 파라미터 세트에 슬라이스 세그먼트 헤더를 통하여 전송된 델타 값(또는 차분 값)이 더해져 현재 슬라이스를 위한 최종(또는 참조 또는 현재) 카메라 파라미터 세트의 파라미터들 값들이 도출될 수 있다.
한편, 디코딩 장치의 메모리는 한정되어 있으며, 디코딩 자치가 다수의 카메라 파라미터 세트를 수신하는 경우 특정 조건에 따라 메모리 내의 일부 또는 전부의 카메라 파라미터 세트들을 삭제 및 정렬할 수 있다.
먼저, 메모리 내의 카메라 파라미터 세트들을 삭제하는 방법은 여러 가지가 있을 수 있다. 일 예로, 입력 순서를 기반으로 카메라 파라미터 세트가 삭제될 수 있다. 즉, 메모리가 부족한 경우 메모리에 가장 먼저 입력된 카메라 파라미터 세트가 먼저 제거될 수 있다. 다른 예로, 일정 횟수 또는 시간 동안의 카메라 파라미터 세트의 참조 횟수를 카운트 한 후, 가장 참조 횟수가 작은 카메라 파라미터 세트가 메모리에서 제거될 수도 있다. 또 다른 예로, 인코딩 장치가 삭제되어야 하는 카메라 파라미터 세트에 관한 정보를 디코딩 장치로 전송하고, 디코딩 장치는 해당 정보가 가리키는 카메라 파라미터 세트를 메모리에서 제거할 수 있다. 또 다른 예로, 카메라 파라미터 세트가 PPS, SPS, 또는 VPS 등의 상위 파라미터 세트들에 포함되어 전송되는 경우, 상기 상위 파라미터 세트들의 버퍼 관리(buffer management) 기법을 이용할 수도 있다.
또한, 효율적인 인덱싱을 위하여 카메라 파라미터 세트들은 정렬되어 사용될 수 있다. 일 예로, 카메라 파라미터 세트의 기준이 되는 파라미터 변수(예를 들어, 오프셋)의 오름차순 또는 내림차순으로 카메라 파라미터 세트들이 정렬될 수 있다. 다른 예로, 참조된 횟수의 내림차순 또는 오름차순으로 카메라 파라미터 세트들이 정렬될 수 있다. 또 다른 예로, 디코딩 장치가 인코딩 장치로부터 카메라 파라미터 세트들의 순서에 대한 정보를 수신하고, 해당 정보를 기반으로 카메라 파라미터 세트들을 정렬할 수 있다. 또 다른 예로, 카메라 파라미터 세트가 PPS, SPS, 또는 VPS 등의 상위 파라미터 세트들에 포함되어 전송되는 경우, 상기 카메라 파라미터 세트가 포함되는 해당 상위 파라미터 세트의 ID의 오름차순 또는 내림차순 순서대로 카메라 파라미터 세트들이 정렬될 수 있다.
도 6은 본 발명의 실시예에 따른 카메라 파라미터 인코딩 방법을 개략적으로 나타낸 순서도이다. 도 6의 방법은 상술한 도 2의 비디오 인코딩 장치에 의해 수행될 수 있다.
도 6을 참조하면, 인코딩 장치는 뎁스 값을 디스패리티 값으로 전환하기 위한 카메라 파라미터가 일정 구간의 슬라이스들 또는 픽처들 간 공유되는지 여부를 기반으로 상기 카메라 파라미터를 생성한다(S600). 일정 구간의 슬라이스들 또는 픽처들은 상기 카메라 파라미터를 공유할 수 있고 중복된 카메라 파라미터의 전송을 방지할 수 있다. 상기 카메라 파라미터는 상술한 바와 같이 전환 파라미터라고 불릴 수 있다.
인코딩 장치는 상기 카메라 파라미터를 인코딩하여 비트스트림을 생성하고 네트워크 또는 저장매체를 통하여 디코딩 장치로 전송할 수 있다(S610). 카메라 파라미터는 신택스 형태로 표현될 수 있다. 상기 카메라 파라미터는 예를 들어 상술한 표 1 내지 14에서 설명된 신택스들 중 하나 이상에 포함되어 전송될 수 있다.
도 7은 본 발명의 실시예에 따른 카메라 파라미터 디코딩 방법을 개략적으로 나타낸 순서도이다. 도 7의 방법은 상술한 도 3의 비디오 디코딩 장치에 의해 수행될 수 있다.
도 7을 참조하면, 뎁스 값을 디스패리티 값으로 전환하기 위한 카메라 파라미터를 수신 및 디코딩한다(S700). 디코딩 장치는 비트스트림을 수신하여 엔트로피 디코딩하고 상기 비디오 파라미터에 관한 정보를 획득할 수 있다. 상기 카메라 파라미터는 VPS 신택스, PPS 신택스, SPS 신택스, 슬라이스 세그먼트 헤드 신택스, 카메라 전환 파라미터 세트 신택스 중 적어도 하나에 포함되어 수신될 수 있다.
디코딩 장치는 이전 슬라이스 또는 픽처에 적용되는 상기 카메라 파라미터가 현재 슬라이스 또는 픽처에 적용되는지 여부를 판단한다(S710). 상기 카메라 파라미터는 비디오 전체에 공유될 수도 있으며, 비디오 전체에 공유되지 않는 경우에도 일정 조건에 따라 일정 구간의 슬라이스들 또는 픽처들을 위하여 공유될 수 있다.
일 예로, 상기 카메라 파라미터가 이전 슬라이스 또는 픽처를 위하여 사용된 경우 디코딩 장치는 상기 카메라 파라미터가 현재 픽처를 위하여 사용되는지 여부를 나타내는 플래그 정보를 신택스(a syntax)를 통하여 수신할 수 있다. 상기 플래그 정보가 1인 경우 상기 카메라 파라미터는 상기 현재 슬라이스 또는 현재 픽처를 위하여 적용(또는 공유)될 수 있다. 상기 플래그 정보가 0인 경우 상기 카메라 파라미터는 상기 현재 픽처를 위하여 적용되지 않고, 상기 신택스에 포함되어 수신된 새로운 카메라 파라미터가 상기 현재 슬라이스 또는 현재 픽처를 위하여 적용될 수 있다. 이 경우 상기 카메라 파라미터가 포함되는 신택스(제1 신택스)와, 상기 플래그 정보 및 상기 현재 슬라이스 또는 픽처를 위한 상기 새로운 카메라 파라미터가 포함되는 신택스(제2 신택스)는 서로 동일할 수도 있고, 서로 다를 수도 있다. 일 예로, 상기 제1 신택스는 VPS 신택스이고, 상기 제2 신택스는 슬라이스 세그먼트 헤더 신택스일 수 있다. 다른 예로, 상기 제1 신택스는 제1 PPS 신택스고, 상기 제2 신택스는 제2 PPS 신택스일 수 있다. 인코딩 장치에서 디코딩 장치로 약 64개의 다른 PPS가 전송될 수 있으며, 이 경우 상기 제1 PPS 신택스와 상기 제2 PPS 신택스는 서로 다른 ID를 가질 수 있다.
다른 예로, 현재 슬라이스 또는 현재 픽처를 위하여 상기 카메라 파라미터가 업데이트되는지 여부를 나타내는 플래그 정보를 신택스를 통하여 수신할 수 있다. 상기 플래그 정보가 0인 경우 상기 카메라 파라미터는 업데이트되지 않고, 상기 플래그 정보가 1인 경우, 상기 카메라 파라미터는 상기 제2 신택스에 포함되어 수신되는 파라미터 값을 기반으로 업데이트될 수 있다. 이 경우 상기 업데이트된 카메라 파라미터가 상기 현재 슬라이스 또는 픽처를 위하여 사용될 수 있다. 이 경우, 상기 파라미터 값은 상기 카메라 파라미터에 대한 차분 값일 수 있다.
또 다른 예로, 현재 슬라이스 또는 현재 픽처를 위하여 기존 카메라 파라미터에 대한 차분값이 존재하는지 여부를 나타내는 플래그 정보를 신택스를 통하여 수신할 수 있다. 상기 플래그 정보가 0인 경우 상기 카메라 파라미터는 상기 현재 슬라이스 또는 현재 픽처를 위하여 적용되고, 상기 플래그 정보가 1인 경우, 상기 카메라 파라미터 및 상기 신택스에 포함되어 수신되는 차분 값을 기반으로 도출된 새로운 카메라 파라미터가 상기 현재 슬라이스 또는 현재 픽처를 위하여 적용될 수 있다.
상기와 같은 방법을 통하여 디코딩 장치는 중복된 카메라 파라미터 수신을 방지하고, 뷰 내의 일정 구간의 픽처들(또는 슬라이스들)에 대하여 같은 카메라 파라미터를 공유할 수 있다.
한편, 상기 카메라 파라미터의 값은 cp_scale, cp_off, cp_inv_scale_plus_scale 및 cp_inv_off_plus_off 신택스 요소(syntax elements) 중 적어도 하나를 기반으로 도출될 수 있다.
상기 카메라 파라미터가 현재 슬라이스 또는 픽처에 적용되는 경우, 상기 카메라 파라미터를 기반으로 현재 블록의 디스패리티 값을 도출한다(S710). 디코딩 장치는 상술한 수학식 2를 기반으로 상기 디스패리티 값을 도출할 수 있다.
디코딩 장치는 상기 디스패리티 값을 기반으로 해당 블록(ex. 현재 블록)에 대한 인터 뷰(inter-view) 예측을 수행하여 해당 블록의 예측 샘플들을 생성할 수 있다. 디코딩 장치는 상기 예측을 기반으로 해당 블록 및 (현재) 픽처를 복원할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 할 것이다.
본 발명에서 실시예들이 소프트웨어로 구현될 때, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리에 저장되고, 프로세서에 의해 실행될 수 있다. 메모리는 프로세서 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다.

Claims (10)

  1. 3D 비디오 디코딩 방법으로,
    뎁스 값을 디스패리티 값으로 전환하기 위한 카메라 파라미터를 제1 신택스를 통하여 수신하는 단계;
    이전 슬라이스 또는 픽처에 적용되는 상기 카메라 파라미터가 현재 슬라이스 또는 픽처에 적용되는지 여부를 판단하는 단계; 및
    상기 카메라 파라미터가 현재 슬라이스 또는 픽처에 적용되는 경우, 상기 카메라 파라미터를 기반으로 현재 블록에 대한 디스패리티 값을 도출하는 단계를 포함함을 특징으로 하는, 3D 비디오 디코딩 방법.
  2. 제 1항에 있어서,
    이전 슬라이스 또는 픽처를 위하여 사용되었던 상기 카메라 파라미터가 현재 슬라이스 또는 현재 픽처를 위하여 사용되는지 여부를 나타내는 플래그 정보를 제2 신택스를 통하여 수신하는 단계를 포함하되,
    상기 플래그 정보가 1인 경우 상기 카메라 파라미터는 상기 현재 슬라이스 또는 현재 픽처를 위하여 적용되고,
    상기 플래그 정보가 0인 경우, 상기 현재 슬라이스 또는 현재 픽처를 위한 새로운 카메라 파라미터가 상기 제2 신택스에 포함되어 수신되는 것을 특징으로 하는, 3D 비디오 디코딩 방법.
  3. 제 2항에 있어서,
    상기 제1 신택스는 VPS(video parameter set) 신택스이고, 상기 제2 신택스는 슬라이스 세그먼트 헤더 신택스인 것을 특징으로 하는, 3D 비디오 디코딩 방법.
  4. 제 2항에 있어서,
    상기 제1 신택스는 제1 PPS(picture parameter set) 신택스이고, 상기 제2 신택스는 제2 PPS 신택스인 것을 특징으로 하는, 3D 비디오 디코딩 방법.
  5. 제 1항에 있어서,
    현재 슬라이스 또는 현재 픽처를 위하여 상기 카메라 파라미터가 업데이트되는지 여부를 나타내는 플래그 정보를 제2 신택스를 통하여 수신하는 단계를 포함하되,
    상기 플래그 정보가 0인 경우 상기 카메라 파라미터는 업데이트되지 않고 상기 현재 슬라이스 또는 픽처를 위하여 적용되고,
    상기 플래그 정보가 1인 경우, 상기 카메라 파라미터는 상기 제2 신택스에 포함되어 수신되는 파라미터 값들을 기반으로 업데이트되고, 상기 업데이트된 카메라 파라미터가 상기 현재 슬라이스 또는 픽처를 위하여 적용되는 것을 특징으로 하는, 3D 비디오 디코딩 방법.
  6. 제 5항에 있어서,
    상기 제2 신택스에 포함되어 수신되는 파라미터 값은 상기 카메라 파라미터에 대한 차분 값인 것을 특징으로 하는, 3D 비디오 디코딩 방법.
  7. 제 1항에 있어서,
    현재 슬라이스 또는 현재 픽처를 위하여 기존 카메라 파라미터에 대한 차분값이 존재하는지 여부를 나타내는 플래그 정보를 제2 신택스를 통하여 수신하는 단계를 포함하되,
    상기 플래그 정보가 0인 경우 상기 카메라 파라미터는 상기 현재 슬라이스 또는 현재 픽처를 위하여 적용되고,
    상기 플래그 정보가 1인 경우, 상기 카메라 파라미터 및 상기 제2 신택스에 포함되어 수신되는 차분 값을 기반으로 도출된 새로운 카메라 파라미터가 상기 현재 슬라이스 또는 현재 픽처를 위하여 적용되는 것을 특징으로 하는, 3D 비디오 디코딩 방법.
  8. 제 1항에 있어서,
    상기 카메라 파라미터의 값은 상기 제1 신택스를 통하여 수신된 cp_scale, cp_off, cp_inv_scale_plus_scale 및 cp_inv_off_plus_off 신택스 요소(syntax elements)들 중 적어도 하나를 기반으로 도출됨을 특징으로 하는, 3D 비디오 디코딩 방법.
  9. 제 8항에 있어서,
    상기 디스패리티는 다음 수학식을 기반으로 계산되고,
    dv = ( s * v + o ) >> n
    여기서, 상기 dv는 상기 디스패리티 값이고, s는 스케일 인자, o는 오프셋, n은 쉬프트 파라미터이며, 상기 스케일 인자는 상기 cp_scale 신택스 요소의 값 또는 cp_inv_scale_plus_scale 신택스 요소의 값을 기반으로 결정되고, 상기 오프셋은 상기 cp_off 신택스 요소의 값 또는 상기 cp_inv_off_plus_off 신택스 요소의 값을 기반으로 결정됨을 특징으로 하는, 3D 비디오 디코딩 방법.
  10. 제 9항에 있어서,
    현재 뷰와 뎁스 샘플이 있는 뷰 인덱스 j인 뷰 사이의 상기 디스패리티 벡터를 도출하기 위한 역방향(backward) 전환의 경우, 상기 스케일 인자는 상기 cp_scale 신택스 요소의 값을 기반으로 결정되고 상기 오프셋은 상기 cp_off 신택스 요소의 값을 기반으로 결정되며,
    상기 뷰 인덱스 j인 뷰와 뎁스 샘플이 있는 현재 뷰 사이의 디스패리티 벡터를 도출하기 위한 순방향(forward) 전환의 경우, 상기 스케일 인자는 상기 cp_inv_scale_plus_scale 신택스 요소의 값을 기반으로 결정되고 상기 오프셋은 상기 cp_inv_off_plus_off 신택스 요소의 값을 기반으로 결정됨을 특징으로 하는, 3D 비디오 디코딩 방법.
PCT/KR2015/010129 2014-10-08 2015-09-24 3d 비디오 코딩에서 카메라 파라미터 처리 방법 및 장치 WO2016056779A1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2016549760A JP6445026B2 (ja) 2014-10-08 2015-09-24 3dビデオコーディングにおけるカメラパラメータ処理方法および装置
US15/111,735 US10419779B2 (en) 2014-10-08 2015-09-24 Method and device for processing camera parameter in 3D video coding
EP15848520.1A EP3206401A4 (en) 2014-10-08 2015-09-24 Method and device for processing camera parameter in 3d video coding
CN201580011518.8A CN106105218B (zh) 2014-10-08 2015-09-24 在3维视频编码中处理相机参数的方法
KR1020167018011A KR20170069957A (ko) 2014-10-08 2015-09-24 3d 비디오 코딩에서 카메라 파라미터 처리 방법 및 장치

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462061161P 2014-10-08 2014-10-08
US62/061,161 2014-10-08
US201462092273P 2014-12-16 2014-12-16
US62/092,273 2014-12-16

Publications (1)

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

Family

ID=55653343

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/010129 WO2016056779A1 (ko) 2014-10-08 2015-09-24 3d 비디오 코딩에서 카메라 파라미터 처리 방법 및 장치

Country Status (6)

Country Link
US (1) US10419779B2 (ko)
EP (1) EP3206401A4 (ko)
JP (1) JP6445026B2 (ko)
KR (1) KR20170069957A (ko)
CN (1) CN106105218B (ko)
WO (1) WO2016056779A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110876050A (zh) * 2018-08-31 2020-03-10 盎锐(上海)信息科技有限公司 基于3d摄像机的数据处理装置及方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469167B (zh) * 2014-12-26 2017-10-13 小米科技有限责任公司 自动对焦方法及装置
KR20190053238A (ko) * 2016-10-06 2019-05-17 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
CN108184053B (zh) * 2017-12-27 2020-05-26 深圳进化动力数码科技有限公司 嵌入式图像处理方法及装置
EP3554074A1 (en) * 2018-04-13 2019-10-16 Thomson Licensing Methods and apparatus for depth encoding and decoding
WO2022211374A1 (ko) * 2021-03-31 2022-10-06 현대자동차주식회사 매핑 기반 비디오 코딩방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130056258A (ko) * 2013-04-15 2013-05-29 세종대학교산학협력단 카메라 파라미터를 이용한 다시점 영상의 부호화 장치 및 생성 장치, 그 방법과, 이를 수행하기 위한 프로그램이 기록된 기록 매체
KR20130056808A (ko) * 2011-11-22 2013-05-30 삼성전자주식회사 3차원 영상의 부가정보를 부호화/복호화 하는 장치 및 방법
KR20130141674A (ko) * 2011-03-10 2013-12-26 퀄컴 인코포레이티드 코딩 멀티뷰 비디오 플러스 심도 콘텐츠

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100585966B1 (ko) 2004-05-21 2006-06-01 한국전자통신연구원 3차원 입체 영상 부가 데이터를 이용한 3차원 입체 디지털방송 송/수신 장치 및 그 방법
KR101199498B1 (ko) * 2005-03-31 2012-11-09 삼성전자주식회사 카메라 파라미터를 이용한 다시점 영상의 부호화 장치 및생성 장치, 그 방법과, 이를 수행하기 위한 프로그램이기록된 기록 매체
KR20110011000A (ko) 2009-07-27 2011-02-08 삼성전자주식회사 3차원 영상 재생을 위한 부가 정보가 삽입된 3차원 영상 데이터스트림 생성 방법 및 그 장치, 3차원 영상 재생을 위한 부가 정보가 삽입된 3차원 영상 데이터스트림 수신 방법 및 그 장치
KR102472533B1 (ko) * 2010-08-11 2022-11-30 지이 비디오 컴프레션, 엘엘씨 멀티-뷰 신호 코덱
US20130188013A1 (en) * 2011-07-22 2013-07-25 Qualcomm Incorporated Mvc based 3dvc codec supporting inside view motion prediction (ivmp) mode
US9007441B2 (en) * 2011-08-04 2015-04-14 Semiconductor Components Industries, Llc Method of depth-based imaging using an automatic trilateral filter for 3D stereo imagers
EP2742688A1 (en) 2011-08-12 2014-06-18 Telefonaktiebolaget LM Ericsson (PUBL) Signaling of camera and/or depth parameters
CN103096047B (zh) * 2011-11-01 2018-06-19 中兴通讯股份有限公司 一种分片层参数集解码及编码方法和装置
US20130127987A1 (en) * 2011-11-18 2013-05-23 Qualcomm Incorporated Signaling depth ranges for three-dimensional video coding
EP2597877A3 (en) * 2011-11-22 2014-09-17 Samsung Electronics Co., Ltd Supplementary information coding apparatus and method for 3D video
CN103379333B (zh) * 2012-04-25 2018-12-04 浙江大学 编解码方法、视频序列码流的编解码方法及其对应的装置
KR20130120730A (ko) * 2012-04-26 2013-11-05 한국전자통신연구원 변이 공간 영상의 처리 방법
US9596486B2 (en) * 2013-04-05 2017-03-14 Qualcomm Incorporated IRAP access units and bitstream switching and splicing
US9591321B2 (en) * 2013-04-07 2017-03-07 Dolby International Ab Signaling change in output layer sets
KR20160021222A (ko) * 2013-06-18 2016-02-24 브이아이디 스케일, 인크. Hevc 확장을 위한 계층간 파라미터 집합
US10477183B2 (en) * 2013-07-19 2019-11-12 Hfi Innovation Inc. Method and apparatus of camera parameter signaling in 3D video coding
US9906768B2 (en) * 2013-07-26 2018-02-27 Qualcomm Incorporated Use of a depth condition in 3DV codec

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130141674A (ko) * 2011-03-10 2013-12-26 퀄컴 인코포레이티드 코딩 멀티뷰 비디오 플러스 심도 콘텐츠
KR20130056808A (ko) * 2011-11-22 2013-05-30 삼성전자주식회사 3차원 영상의 부가정보를 부호화/복호화 하는 장치 및 방법
KR20130056258A (ko) * 2013-04-15 2013-05-29 세종대학교산학협력단 카메라 파라미터를 이용한 다시점 영상의 부호화 장치 및 생성 장치, 그 방법과, 이를 수행하기 위한 프로그램이 기록된 기록 매체

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHANG, YU-LIN ET AL.: "3D-HEVC HLS: Constraints on camera parameter signaling.", JCT3V DOCUMENT JCT3V-F0045V4, 1 November 2013 (2013-11-01), pages 1 - 3, XP030131444 *
CHANG, YU-LIN ET AL.: "3D-HEVC HLS: On slice-level camera parameter signaling.", JCT3V DOCUMENT JCT3V-F0082V3, 27 October 2013 (2013-10-27), pages 1 - 4, XP030131490 *
See also references of EP3206401A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110876050A (zh) * 2018-08-31 2020-03-10 盎锐(上海)信息科技有限公司 基于3d摄像机的数据处理装置及方法
CN110876050B (zh) * 2018-08-31 2021-08-20 盎锐(上海)信息科技有限公司 基于3d摄像机的数据处理装置及方法

Also Published As

Publication number Publication date
EP3206401A1 (en) 2017-08-16
EP3206401A4 (en) 2018-06-06
CN106105218A (zh) 2016-11-09
CN106105218B (zh) 2019-04-09
KR20170069957A (ko) 2017-06-21
JP6445026B2 (ja) 2018-12-26
US20160337665A1 (en) 2016-11-17
JP2017508371A (ja) 2017-03-23
US10419779B2 (en) 2019-09-17

Similar Documents

Publication Publication Date Title
WO2020197236A1 (ko) 서브 픽처 핸들링 구조 기반 영상 또는 비디오 코딩
WO2020246849A1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
WO2016056779A1 (ko) 3d 비디오 코딩에서 카메라 파라미터 처리 방법 및 장치
WO2015002460A1 (ko) 복수의 레이어를 포함하는 영상의 부호화 및 복호화 방법
WO2014058216A1 (ko) 비디오 데이터 디코딩 방법 및 비디오 데이터 디코딩 장치
WO2020251319A1 (ko) Sbtmvp를 이용한 인터 예측 기반 영상 또는 비디오 코딩
WO2020060282A1 (ko) 변환 계수 레벨 코딩 방법 및 그 장치
WO2021096057A1 (ko) 비디오 또는 영상 코딩 시스템에서의 엔트리 포인트 관련 정보에 기반한 영상 코딩 방법
WO2021137597A1 (ko) Ols에 대한 dpb 파라미터를 사용하는 영상 디코딩 방법 및 그 장치
WO2021015537A1 (ko) 팔레트 모드의 적용 여부에 따라 크로마 성분 예측 정보를 시그널링 하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2016056754A1 (ko) 3d 비디오 부호화/복호화 방법 및 장치
WO2020167097A1 (ko) 영상 코딩 시스템에서 인터 예측을 위한 인터 예측 타입 도출
WO2021145687A1 (ko) 서브 픽처 및 픽처 헤더에 관한 정보를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2020185047A1 (ko) 인트라 예측을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2021125700A1 (ko) 예측 가중 테이블 기반 영상/비디오 코딩 방법 및 장치
WO2020141831A2 (ko) 인트라 블록 카피 예측을 이용한 영상 코딩 방법 및 장치
WO2021132964A1 (ko) Nal 유닛 관련 정보 기반 영상 또는 비디오 코딩
WO2021040402A1 (ko) 팔레트 코딩 기반 영상 또는 비디오 코딩
WO2021040398A1 (ko) 팔레트 이스케이프 코딩 기반 영상 또는 비디오 코딩
WO2021015512A1 (ko) Ibc를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2015057032A1 (ko) 멀티 뷰를 포함하는 비디오 부호화/복호화 방법 및 장치
WO2021162494A1 (ko) 필터 가용 정보를 선택적으로 시그널링 하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2021091214A1 (ko) 크로마 양자화 파라미터 오프셋 관련 정보를 코딩하는 영상 디코딩 방법 및 그 장치
WO2021091256A1 (ko) 영상/비디오 코딩 방법 및 장치
WO2021091252A1 (ko) 영상/비디오 코딩을 위한 영상 정보 처리 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15848520

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20167018011

Country of ref document: KR

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2015848520

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015848520

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15111735

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2016549760

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE