[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2013100635A1 - 3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치 - Google Patents

3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치 Download PDF

Info

Publication number
WO2013100635A1
WO2013100635A1 PCT/KR2012/011576 KR2012011576W WO2013100635A1 WO 2013100635 A1 WO2013100635 A1 WO 2013100635A1 KR 2012011576 W KR2012011576 W KR 2012011576W WO 2013100635 A1 WO2013100635 A1 WO 2013100635A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
prediction unit
current
current prediction
neighboring
Prior art date
Application number
PCT/KR2012/011576
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 CN201280065460.1A priority Critical patent/CN104025601A/zh
Priority to US14/368,500 priority patent/US20150098508A1/en
Priority to EP12862205.7A priority patent/EP2800372A4/en
Publication of WO2013100635A1 publication Critical patent/WO2013100635A1/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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Definitions

  • the present invention relates to an image encoding method and apparatus, and a decoding method and apparatus, and more particularly, to a method and apparatus for encoding a three-dimensional image, and a method and apparatus for decoding.
  • an image compression method uses inter prediction and intra prediction techniques that remove redundancy of pictures in order to increase compression efficiency.
  • An image encoding method using inter prediction is a method of compressing an image by removing temporal redundancy among pictures, and a motion compensation prediction encoding method is a typical method.
  • the motion compensation predictive encoding generates a motion vector (MV) by searching a region similar to the block currently encoded in at least one reference picture located before and / or after the currently encoded picture, and generates the motion vector.
  • the prediction block obtained by performing motion compensation and the residual value of the current prediction unit are transformed by DCT (Discrete Cosine Transform), quantized, and then transmitted by entropy encoding.
  • DCT Discrete Cosine Transform
  • a motion vector is generated by dividing one picture into a plurality of blocks having a predetermined size, and motion compensation is performed using the generated motion vector. Individual motion parameters for each prediction block obtained by performing motion compensation are transmitted to the decoder.
  • each pixel includes depth information as well as pixel information, and the encoder obtains depth information and transmits multiview video image information and depth information to a decoder.
  • motion vector prediction is used.
  • a candidate block of the prediction motion vector a motion vector of a neighboring block of the current prediction unit is used.
  • a method of efficiently applying the prediction motion vector is required.
  • the most suitable prediction mode among 9 prediction modes that is, prediction modes 0 to 8
  • the selected prediction mode is encoded in units of four pixel blocks.
  • an image when an image is encoded at a low bit rate, it is stored in a frame memory in a state where block distortion occurs in a decoded image, and is encoded by referring to an image including the block distortion in a motion compensation process of a next picture. Therefore, in order to solve the problem of deterioration of image quality propagation, adaptive deblocking filtering is used to remove block distortion before storing the decoded image in the frame memory.
  • adaptive deblocking filtering adaptively applies a deblocking filter to positions where block distortion is likely to occur and where block distortion is unlikely to occur in the same image, so that the block distortion of the image is included in the reference image. It prevents the transmission to the decoded image so that a good decoded image is output.
  • depth information exists separately due to the nature of 3D, and the encoder generates depth information and delivers a multiview color image and a depth image to the decoder together.
  • the above-described deblocking filter is applied to 3D video, a technique for efficiently selecting whether to apply the deblocking filter at the boundary of a block by using the depth information is required.
  • An object of the present invention is to provide an image encoding method and an encoding apparatus through motion vector prediction that can be applied to a 3D image.
  • Another object of the present invention is to provide an image decoding method and a decoding apparatus using motion vector prediction that can be applied to a 3D image.
  • Another object of the present invention is to provide a 3D image encoding method and an encoding apparatus using block merging in consideration of depth information applicable to a 3D image.
  • Another object of the present invention is to provide a 3D image decoding method and a decoding apparatus using block merging in consideration of depth information.
  • Another object of the present invention is to provide a deblocking filtering method capable of improving encoding efficiency while maintaining the quality of a 3D image.
  • Another object of the present invention is to provide an in-loop filtering method capable of improving encoding efficiency while maintaining the quality of a 3D image.
  • the 3D image encoding method of the present invention for achieving the above object is a coding method for a current prediction unit in a 3D image, the same as the current prediction unit among the motion vectors of the already encoded neighboring block of the current prediction unit Selecting a motion vector of the neighboring block having a depth diagram as a candidate prediction motion vector of the current prediction unit; And predicting the motion vector of the current prediction unit by performing inter prediction based on the candidate prediction motion vector and transmitting the predicted motion vector to the decoder.
  • the neighboring block is a first block at the lower left end of the current prediction unit, a second block in contact with a lower end of the first block, a third block at the uppermost right side of the upper end of the current prediction unit, and a right side of the third block. It may include a fourth block that is in contact with the fifth block that is the upper left block of the current prediction unit.
  • the selecting of the candidate motion vector may include: the first block, the second block, the third block, the fourth block, and the fifth block when there are at least three neighboring blocks having the same depth diagram as the current prediction unit. And sequentially determining the candidate prediction motion vectors of the current prediction unit by determining whether they are available as candidates for the prediction motion vectors of the current prediction unit.
  • the selecting of the candidate motion vector may include the first block, the second block, the third block, the fourth block, and the fifth block when the neighboring block having the same depth diagram as the current prediction unit does not exist. And sequentially determining the candidate prediction motion vectors of the current prediction unit by determining whether they are available as candidates for the prediction motion vectors of the current prediction unit.
  • the neighboring block may include a first block that is in contact with a left side of the current prediction unit, a second block that is in contact with an upper end of the current prediction unit, and a third block that is in contact with a right side of the second block.
  • the neighboring block may include a first block that is in contact with an upper leftmost side of the current prediction unit, a second block that is in contact with an upper leftmost side of the current prediction unit, and a third block that is a right upper block of the current prediction unit.
  • a method of decoding a current prediction unit in a 3D image comprising: entropy decoding a received bit stream and performing inverse quantization and inverse transformation; Selecting a motion vector of the neighboring block having the same depth as the current prediction unit as a candidate prediction motion vector of the current prediction unit among the motion vectors of the already encoded neighboring blocks of the current prediction unit based on the inverse transformed bit stream step; And reconstructing the image by predicting the motion vector of the current prediction unit by performing inter prediction based on the candidate prediction motion vector.
  • the neighboring block is a first block at the lower left end of the current prediction unit, a second block in contact with a lower end of the first block, a third block at the uppermost right side of the upper end of the current prediction unit, and a right side of the third block. It may include a fourth block that is in contact with the fifth block that is the upper left block of the current prediction unit.
  • the selecting of the candidate motion vector may include: the first block, the second block, the third block, the fourth block, and the fifth block when there are at least three neighboring blocks having the same depth diagram as the current prediction unit. And sequentially determining the candidate prediction motion vectors of the current prediction unit by determining whether they are available as candidates for the prediction motion vectors of the current prediction unit.
  • the selecting of the candidate motion vector may include the first block, the second block, the third block, the fourth block, and the fifth block when the neighboring block having the same depth diagram as the current prediction unit does not exist. And sequentially determining the candidate prediction motion vectors of the current prediction unit by determining whether they are available as candidates for the prediction motion vectors of the current prediction unit.
  • the neighboring block may include a first block that is in contact with a left side of the current prediction unit, a second block that is in contact with an upper end of the current prediction unit, and a third block that is in contact with a right side of the second block.
  • the neighboring block may include a first block that is in contact with an upper leftmost side of the current prediction unit, a second block that is in contact with an upper leftmost side of the current prediction unit, and a third block that is a right upper block of the current prediction unit.
  • the neighboring block is a first block at the lower left end of the current prediction unit, a second block in contact with a lower end of the first block, a third block at the uppermost right side of the upper end of the current prediction unit, and a right side of the third block. It may include a fourth block that is in contact with the fifth block that is the upper left block of the current prediction unit.
  • the block merging step may further include selecting a candidate block having the same motion vector as the current prediction unit among the candidate blocks as a final candidate block for block merging.
  • the neighboring block may be a block divided by applying at least one of symmetric partitioning, asymmetrical partitioning, and geometric partitioning.
  • a decoding method for a current prediction unit in a 3D image comprising: entropy decoding a received bit stream and performing inverse quantization and inverse transformation to restore a residual value; Generating a prediction unit by performing motion compensation based on the prediction unit information and the motion parameter based on the inverse transformed bit stream; And reconstructing an image by adding the residual value to the prediction unit, wherein neighboring blocks having the same depth as that of the current prediction unit among neighboring blocks of the current prediction unit are included in a mergeable block set, and the merging is performed.
  • the block merged with the current prediction unit may have the same motion parameter.
  • the neighboring block is a first block at the lower left end of the current prediction unit, a second block in contact with a lower end of the first block, a third block at the uppermost right side of the upper end of the current prediction unit, and a right side of the third block. It may include a fourth block that is in contact with the fifth block that is the upper left block of the current prediction unit.
  • the neighboring block may be a block divided by applying at least one of symmetric partitioning, asymmetrical partitioning, and geometric partitioning.
  • Deblocking filtering method for achieving the above object of the present invention comprises the steps of determining whether to apply the deblocking filter based on the depth value of the current block and the depth value of the previously encoded neighboring block of the current block and the application If it is determined in the step of determining whether to apply the deblocking filter may include setting a block boundary strength between the current block and the neighboring block.
  • the determining of whether to apply the application may include determining that the deblocking filter is applied to a boundary between the current block and the neighboring block when the depth value of the current block and the neighboring block are the same. .
  • the setting of the block boundary strength may include determining whether intra prediction is applied to a previously encoded neighboring block of the current block, and as a result of the determination, intra prediction is applied to a previously encoded neighboring block of the current block. In this case, it is determined whether the boundary between the current block and the neighboring block is the boundary of the prediction unit. When the boundary between the current block and the neighboring block is the boundary of the prediction unit, the block boundary strength of the deblocking filter is the highest first value. In the step of setting, when the intra prediction is applied to the neighboring block of the current block but the boundary between the current block and the neighboring block is not the boundary of the prediction unit, the block boundary strength is lower than the first value.
  • the neighboring block of the current block may have different reference pictures or different motion vectors from the current block. If not, it may include the step of setting the block boundary strength to a fifth value which is the lowest value less than the fourth value.
  • An in-loop filtering method for achieving another object of the present invention includes a pixel in which the deblocking filter is processed for pixels processed by the deblocking filter after applying a deblocking filter and after the deblocking filter.
  • SAO sample adaptive offset
  • an adaptive loop filter using a Wiener filter which minimizes the sum of square error of the difference between original pixels and decoded pixels. Selectively applying an adaptive loop filter).
  • the motion of the current prediction unit of the 3D image by using the neighboring block having the same depth as the depth of the current prediction unit as a prediction value of the motion vector of the current prediction unit Vector selection has the effect of increasing the accuracy while reducing the complexity.
  • the decoding method and apparatus According to the 3D image encoding method and apparatus using the block merging in consideration of the depth information of the present invention, and the decoding method and apparatus, it is possible to more efficiently select the mergeable block set for the 3D image having the depth information. There is.
  • the decoding method and apparatus by including the neighboring blocks having the same depth diagram as the depth of the current prediction unit in the mergeable block set By performing the inter prediction, it is possible to provide a high quality 3D image by increasing the accuracy while reducing the complexity when merging blocks of the current prediction unit of the 3D image.
  • deblocking filtering method it is determined whether deblocking filtering is performed by determining whether the same object is performed based on depth information at a block boundary with respect to a block to which intra-prediction coding is applied, and determining a coding mode and coding of the corresponding block.
  • the block boundary strength is differentially set and deblocking filtering is performed in consideration of whether a unit is a boundary, whether a coded coefficient is included, and whether a motion vector is different.
  • the quality of the decoded image can be improved and the coding efficiency can be improved by preventing unnecessary deblocking filtering and performing deblocking filtering at an optimal block boundary strength.
  • a sample adaptive offset (SAO) is additionally applied to compensate for the DC offset with respect to the pixels processed by the deblocking filter, and the sample adaptive offset (
  • ALF adaptive loop filter
  • FIG. 1 is a conceptual diagram illustrating a structure of a recursive coding unit according to an embodiment of the present invention
  • 3 illustrates a neighboring block as a temporal candidate
  • FIG. 4 is a block diagram schematically illustrating an apparatus for encoding a 3D image according to an embodiment of the present invention
  • FIG. 5 is a flowchart schematically illustrating a 3D image encoding method according to an exemplary embodiment of the present invention.
  • FIG. 6 is a conceptual diagram illustrating a video encoding method using block merging according to an embodiment of the present invention
  • FIG. 7A is a diagram illustrating a case where a picture is divided into prediction blocks by quadtree-based division
  • FIG. 7B and 7C are conceptual views illustrating an encoding method using block merging in case of asymmetric partitioning according to another embodiment of the present invention.
  • FIG. 8 is a block diagram illustrating a configuration of a 3D video encoding apparatus using block merging according to an embodiment of the present invention
  • FIG. 9 is a flowchart illustrating a 3D image encoding method using block merging according to an embodiment of the present invention.
  • FIG. 10 is an exemplary diagram of a block boundary subject to deblocking filtering according to an embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating a deblocking filtering method according to an embodiment of the present invention.
  • FIG. 12 is a detailed flowchart of the block boundary strength setting step of FIG. 11.
  • FIG. 13 is a flowchart illustrating an in-loop filtering method according to another embodiment of the present invention.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • coding and decoding may be performed, or encoding and decoding may be performed using a recursive coding unit (CU) structure described below.
  • CU recursive coding unit
  • FIG. 1 is a conceptual diagram illustrating a structure of a recursive coding unit according to an embodiment of the present invention.
  • each coding unit CU may have a square pixel size and have a variable size of 2N 2 N (unit: pixel).
  • Inter prediction, intra prediction, transform, quantization, deblocking filtering, and entropy encoding may be performed in units of coding units (CUs).
  • the coding unit (CU) may include a largest coding unit (LCU), a smallest coding unit (SCU), and a size of the maximum coding unit (LCU) and the minimum coding unit (SCU) is 8 It can be represented by a power of 2 having the above magnitude.
  • the size of the coding unit may have a power of 2 having a size of 8 or more, for example 8x8, 16x16, 32x32, 64x64.
  • the size of the coding unit may have a size of 128 x 128 or more.
  • Coding unit may have a circular size structure.
  • the recursive structure can be represented through a series of flags.
  • the hierarchical level (level) or the layer depth (depth) is the coding of the current hierarchical level or layer depth for, coding units (CU k) when the flag value is 0 in the coding units (CU k) k Is made about.
  • the coding unit CU k having the current layer level or the layer depth k is divided into four independent coding units CU k + 1 , and the divided coding unit CU k + 1.
  • the coding unit CU k + 1 may be represented as a sub coding unit of the coding unit CU k .
  • the coding unit CU k + 1 may be processed recursively until the layer level or layer depth of the coding unit CU k + 1 reaches the maximum allowable layer level or layer depth. No further splitting is allowed if the hierarchical level or hierarchical depth of the coding unit CU k + 1 is equal to the maximum allowable hierarchical level or hierarchical depth-the case where 4 is illustrated in FIG. 1.
  • the size of the largest coding unit (LCU) and the size of the minimum coding unit (SCU) may be included in a sequence parameter set (SPS).
  • the sequence parameter set (SPS) may comprise the maximum allowable layer level or layer depth of the maximum coding unit (LCU).
  • LCU maximum allowable layer level or layer depth
  • the size of one side of the maximum coding unit (LCU) is 128 (unit: pixels), 128x128 (LCU), 64x64, 32x32
  • Five types of coding unit sizes are possible: 16x16 and 8x8 (SCU). That is, the size of the allowable coding unit may be determined given the size of the largest coding unit (LCU) and the maximum allowable layer level or layer depth.
  • inter prediction or intra prediction may be performed on the leaf coding unit of the coding unit hierarchical tree without further splitting. It is used as a prediction unit (PU) which is a basic unit of inter-screen or intra-screen prediction.
  • partition division may be performed on the end coding unit for inter prediction or intra prediction. Partitioning is performed for the prediction unit (PU).
  • the prediction unit (PU) refers to a basic unit for inter prediction or intra prediction, and may be an existing macro block unit or a sub-macro block unit, and an extended macro block unit of 32 ⁇ 32 pixels or more may be used. May be
  • All information related to the prediction is transmitted to the decoder for each prediction unit, which is a basic unit of inter prediction.
  • the merge mode refers to one picture hierarchically split up to an end coding unit, and then merge the current prediction unit with a previously encoded candidate and apply the same motion parameter to the decoder.
  • the motion parameter may include, for example, a motion vector, a motion vector difference value, and the like.
  • a set of all prediction blocks is called a temporary block, and a set of blocks that are allowed to merge with a specific block is defined as a mergeable block.
  • the criterion of the mergeable blocks is for example two of the top peripheral samples and the left peripheral blocks of the current prediction unit, or the top peripheral block and the left peripheral block of the current prediction unit. This can be set in blocks. Alternatively, the criterion of the mergeable blocks may be preset to two or more blocks, for example, all of the top neighboring blocks and all of the left neighboring blocks of the current prediction unit.
  • the criteria of the mergeable blocks may be predetermined according to an appointment between the encoder and the decoder. For example, as a default value, the top neighboring blocks and the left neighboring blocks of the current prediction unit are set as described above, and information indicating a criterion of separately mergeable blocks is not transmitted to the decoder. It may not. Alternatively, information indicating a criterion of mergeable blocks may be sent to the decoder.
  • the merge flag is '1' (true)
  • the following operation is performed. If the mergeable block set includes only one block, one block included in this mergeable block set is used for block merging. If the mergeable block set includes two blocks and the motion parameters of these two blocks are the same, the motion parameters of the two blocks belonging to this mergeable block are also used for the current prediction unit.
  • a block corresponding to the left peripheral sample position among the top-left sample positions for the current prediction unit may be selected among the mergeable block sets, and merge_left_flag is set to '0' ( false), a block corresponding to a top peripheral sample position remaining among the top-left sample positions for the current prediction unit may be selected among the mergeable block sets.
  • the motion parameters for the blocks selected as above are also used for the current prediction unit.
  • Blocks containing direct (top or left) peripheral samples of the top-left sample location may be included in the mergeable block set.
  • the current prediction unit is merged with the blocks in the mergeable block set. If merge_flag is 0 (false), the current prediction unit is not merged with any.
  • a residual value is generated by subtracting a prediction block (or a predicted prediction unit) and a current block (or a current prediction unit), and the residual value is transformed to a DCT (Discrete Cosine Transform) transform and quantized.
  • the transformation may be performed based on the prediction unit size information, and for example, the transformation may be performed up to 32x32 or up to 64x64 pixels.
  • the transform may be performed in a separate transform unit (TU) unit independently of the prediction unit size information.
  • the transform unit (TU) size may range from a minimum of 4 by 4 pixels to a maximum of 32 by 32 pixels.
  • the maximum size of the transform unit (TU) may have a 32x32 pixel size or more, for example a 64x64 pixel size.
  • the transform unit size information may be included in the transform unit information and transmitted to the decoder.
  • the neighboring block may include various blocks that are in contact with the current prediction unit. For example, both the neighboring block that is in contact with the left side of the current prediction unit or the neighboring block that is in contact with the top of the current prediction unit may be used as spatial candidates.
  • the size of the neighboring block may not be constant. If the current block is in contact with the current prediction unit, neighboring blocks having other block sizes may also be used as the neighboring block used for inter prediction. have.
  • a spatial neighboring block that may be used in inter prediction of a current prediction unit (PU) in a 3D image encoding method is a block A 1 ( 101), block A 0 102, block B 1 103, block B 0 104 and block B 2 105.
  • the blocks 101, 102, 103, 104, and 105 are the most probable blocks as candidates for the prediction motion vector when the motion vector is predicted by the inter prediction.
  • the blocks 101, 102, 103, 104, and 105 determine the priority in predicting the motion vector to determine whether it can be used as the predictive motion vector.
  • the priority may be A 1 (101), Block A 0 (102), Block B 1 (103), Block B 0 (104), and Block B 2 (105) in order, and sequentially based on the priority.
  • the two available motion vectors may be selected as the final candidate prediction motion vector by determining whether the candidate prediction motion vector is available.
  • the spatial neighboring block of the current prediction unit 100 in the 3D image encoding method is a block adjacent to the left side of the current prediction unit 100, the current prediction unit The block adjacent to the upper end of the block 100 and the upper right block of the current prediction unit 100 may be included.
  • the spatial neighboring block of the current prediction unit 100 in the three-dimensional image coding method is a block adjacent to the top left of the current prediction unit 100, the current prediction unit 100
  • the block adjacent to the upper leftmost side of may include a right upper block of the current prediction unit 100.
  • the prediction motion vector of the current prediction unit 100 may be generated using the median of each of the vertical component and the vertical component using the motion vector of the neighboring block.
  • FIG. 3 is a diagram illustrating neighboring blocks as temporal candidates.
  • a temporal peripheral unit that may be used in inter prediction of a current prediction unit in a 3D image encoding method according to an embodiment of the present invention is a block T BR 130.
  • a block T BR 130 is a block adjacent to the rightmost lowermost neighboring block of the neighboring block of the block 120 at a position corresponding to the current prediction unit in the reference picture.
  • the temporal candidate block may be considered as only one block T BR 130 as a candidate block of the predictive motion vector.
  • the block 104 Corresponding to the block 103 at the uppermost side of the uppermost block, the block 104 abutting on the right side of the block 103, and the upper left block 105 of the current prediction unit 100 and the current prediction unit of the previous reference image.
  • a block 130 located in the lower right diagonal at the position a total of six neighboring blocks may be used to predict the motion vector of the current prediction unit 100. That is, the motion vectors of the six neighboring blocks in total become prediction motion vector candidate groups that determine the prediction motion vectors of the current prediction unit 100.
  • the neighboring block is not inter prediction, that is, intra prediction, it cannot be used because it does not have a predicted motion vector value and exists at the edge of the object. Therefore, when the motion vector value changes significantly, it is classified as a case where it is not suitable for use as a candidate of the prediction motion vector of the current prediction unit 100 and cannot be used.
  • three final predicted motion vector candidates are determined from the predictive motion vectors available among the candidate groups of the six predicted motion vectors, and a bit stream is generated based on the predicted motion vectors.
  • the three prediction motion vector candidates may include two spatial candidates and one temporal candidate.
  • the index of the first motion vector is determined to be 1 bit. Therefore, two candidates in the priority are selected as the final predicted motion vector candidates, and since bits are allocated relatively to the index of the predicted motion vector candidate in the highest priority, the result is different from the predetermined priority. Since many bits are used for index coding of the predictive motion vector, transmission efficiency may not be good.
  • a priority that may be generally used may be defined as a first priority.
  • the first priority is an experimentally determined priority, and the order thereof will be described with reference to FIG. 3.
  • the first priority is block A 1 101-> block A 0 102-> block B 1 103-. If the motion vectors of neighboring blocks are available in this order, then block B 0 (104)-> block B 2 (105), an index is assigned to the motion vector of the block. If it is not available, the next step is to proceed. Therefore, the priority of determining the availability of the motion vector is very important.
  • the prediction motion vector of the current prediction unit 100 may vary according to the order of the motion vectors described in the priority. Therefore, there may be a method of fluidly changing the order of referring to the neighboring blocks according to the characteristics of the image. That is, if the first candidate is the block that is most likely to be selected as the predictive motion vector among the neighboring blocks, the first block is indexed, and thus, a gain in transmission efficiency can be obtained.
  • depth information of the neighboring block is considered for efficient encoding of the 3D image.
  • depth information exists due to three-dimensional characteristics, and it is common to obtain depth information from an encoder and transmit a multiview video image and depth information together to a decoder.
  • the candidate of the prediction motion vector may be determined based on the depth information of the neighboring blocks 101, 102, 103, 104, and 105. have.
  • depth information which is a three-dimensional characteristic, may be combined with a general motion vector selection method and used as a candidate for motion vector prediction of the current prediction unit 100. That is, it may be used as a prediction value of the motion vector of the current prediction unit 100.
  • candidate blocks for two spatial prediction motion vectors may be selected from neighboring blocks of the current prediction unit 100, for example, neighboring blocks adjacent to the left side and neighboring blocks adjacent to the upper part. Based on the depth information of the neighboring block, a neighboring block having the same depth as that of the current prediction unit 100 may be selected as a candidate block for the prediction motion vector.
  • two spatial predicted motion vector candidates may be selected from the motion vectors of the neighboring blocks 101, 102, 103, 104, and 105.
  • the neighboring blocks 101, 102, 103, Depth information of 104 and 105 may be extracted and compared with the current prediction unit 100.
  • block A 1 101 has a depth of 2
  • a 0 102 has a depth of 1
  • B 1 103 has a depth of 4
  • B 0 104 has a depth of 3 FIG. 2
  • B 2 105 has a depth diagram of 2
  • when the current prediction unit 100 has a depth diagram of 2 A 1 101 having a depth diagram of 2 that is the same as the current prediction unit 100.
  • B 2 105 may be selected as candidates for motion vector prediction of the current prediction unit 100.
  • the spatial candidate of the prediction motion vector may be selected according to the first priority.
  • the general prediction motion vector candidate selection is performed.
  • two spatial candidates can be selected.
  • the neighboring block having the smallest difference in depth from the current prediction unit 100 is determined.
  • the motion vector may be used as a candidate of the predictive motion vector for the current prediction unit 100.
  • the spatial neighboring blocks of the current prediction unit 100 in the three-dimensional image encoding method include blocks that are in contact with the left side of the current prediction unit 100, blocks that are in contact with the top of the current prediction unit 100, and It may include the upper right block of the current prediction unit 100, or the block that is in contact with the top left of the current prediction unit 100, the block that is in contact with the top leftmost of the current prediction unit 100, the current prediction unit 100 It may include the upper right block of).
  • a prediction motion vector of the current prediction unit 100 may be generated using the median of the vertical component and the vertical component using the motion vector of the neighboring block.
  • a prediction motion vector may be generated based on depth information of a corresponding block of adjacent views.
  • the encoder performs inter prediction based on the predicted motion vector (or candidate motion vector) to predict and transmit the motion vector of the current prediction unit to the decoder. And / or a motion vector of a neighboring block or a corresponding block having the same depth as the current prediction unit among the corresponding blocks of the adjacent view corresponding to the current prediction unit 100 of the current view, as the candidate of the current prediction unit.
  • An image may be reconstructed by predicting the motion vector of the current prediction unit by performing inter prediction based on the candidate prediction motion vector by selecting the prediction motion vector. That is, since the corresponding prediction unit of the neighboring block and / or the adjacent view having the same depth information as the current prediction unit 100 may be estimated as the same object as the current prediction unit 100, it is estimated to have the same motion vector. can do. Accordingly, depth information, which is a three-dimensional characteristic, may be combined with a general motion vector selection method and used as a candidate for motion vector prediction of the current prediction unit 100. That is, it may be used as a prediction value of the motion vector of the current prediction unit 100.
  • the prediction vector of the motion vector of the neighboring block having the same depth as the current prediction unit 100 based on the depth diagram candidate of the current prediction unit 100
  • the accuracy as a predictive motion vector of the current prediction unit 100 can be improved, and in particular, it may be advantageous in terms of transmission efficiency since the previously selected predictive motion vector is bit-coded to low bits.
  • the 3D image encoding apparatus includes a neighboring block selector 410, a depth information comparator 420, a candidate prediction motion vector extractor 430, and an inter-screen.
  • the prediction unit 440 and the transmitter 450 may be included.
  • the neighboring block selector 410 selects a neighboring block of the current prediction unit 100 for motion vector prediction.
  • the motion vector of the neighboring block selected by the neighboring block selector 410 may be used to predict the motion vector by the current prediction unit 100.
  • the neighboring block may use the neighboring blocks 101, 102, 103, 104, and 105 of FIG. 2 as spatial neighboring block candidates, and block 130 of FIG. 3 as a temporal neighboring block candidate.
  • the depth information comparing unit 420 compares the depth information of the neighboring blocks 101, 102, 103, 104, and 105 selected by the neighboring block selecting unit 410 with the depth information of the current prediction unit 100. do.
  • depth information of the neighboring blocks 101, 102, 103, 104, and 105 and the current prediction unit 100 should be extracted.
  • the depth of the extracted neighboring blocks 101, 102, 103, 104, and 105 is compared with the depth of the current prediction unit 100.
  • the candidate prediction motion vector extractor 430 extracts the motion vector of the neighboring block by selecting the motion vector of the neighboring block having the same depth as the candidate prediction motion vector of the current prediction unit 100.
  • the inter prediction unit 440 may perform inter prediction based on the motion vectors extracted by the candidate prediction motion vector extraction unit 430 to finally predict the motion vector of the current prediction unit 100, and based on this, Generate a prediction unit.
  • the transmitter 450 generates a bit stream for the prediction unit based on the prediction encoding information generated by the inter prediction unit 440 and transmits the bit stream to the receiver.
  • the 3D image encoding method includes selecting a current neighboring block 510, comparing depth information of a neighboring block with a current prediction unit 520, and a current prediction unit.
  • a motion vector extraction step 530 of neighboring blocks having the same depth diagram, an inter prediction operation 540 based on the extracted candidate motion vector, and a bitstream based on the predictive encoding information are generated and transmitted to the receiver 550. ) May be included.
  • a neighboring block selection step 510 the image encoding apparatus selects a neighboring block of the current prediction unit 100 for motion vector prediction.
  • the motion vector of the selected neighboring block may be used to predict the motion vector of the current prediction unit 100.
  • the neighboring block may use the neighboring blocks 101, 102, 103, 104, and 105 of FIG. 2 as spatial neighboring block candidates, and block 130 of FIG. 3 as a temporal neighboring block candidate.
  • the image encoding apparatus may determine depth information of the neighboring blocks 101, 102, 103, 104, and 105 selected in the neighboring block selection step 510. Compare with the depth information. In order to compare the depth information, depth information of the neighboring blocks 101, 102, 103, 104, and 105 and the current prediction unit 100 should be extracted. Next, the depth information of the extracted neighboring blocks 101, 102, 103, 104, and 105 is compared with the depth diagram of the current prediction unit 100.
  • a candidate prediction motion vector extraction step 530 the image encoding apparatus selects a motion vector of a neighboring block having the same depth as the candidate prediction motion vector of the current prediction unit 100, and extracts the motion vector of the neighboring block.
  • the inter prediction step 540 may perform inter prediction based on the motion vector extracted in the candidate prediction motion vector extraction step 530 to finally predict the motion vector of the current prediction unit 100, and based on this, Generate a prediction unit.
  • the image encoding apparatus transmits a bit stream for the prediction unit generated in the inter prediction step 540 to the receiver.
  • the motion predictor generates a motion vector in units of blocks by reconstructing a motion vector of a corresponding block by using the bit stream transmitted from the encoder.
  • the compensator performs motion compensation using the motion vector and the reference picture generated by the motion predictor.
  • FIG. 6 is a conceptual diagram illustrating an image encoding method using block merging according to an embodiment of the present invention.
  • a block merge that merges with the current prediction unit may be performed using blocks belonging to a mergeable block set composed of neighboring blocks including neighboring samples with respect to the current prediction unit 600.
  • one temporal candidate is a current prediction unit 600 belonging to a previous picture (or frame), that is, an N-1 th picture, assuming that the current prediction unit 600 belongs to a block belonging to an Nth picture (or frame). ) May correspond to block 610. Accordingly, the current prediction unit 600 may be merged with the block 610 and may transmit the same parameter as the motion parameter of the block 610 to the decoder.
  • samples belonging to four spatial mergeable block sets may be selected.
  • the lowermost block 601 on the left side of the current prediction unit, the block 602 contacting the lower end of the block 601, and the rightmost block on the upper end of the current prediction unit 603, a block 604 adjacent to the right side of the block 603, and an upper left block 605 of the current prediction unit may be selected.
  • the samples belonging to the mergeable block set are five, but the actual spatial candidates are four. Therefore, the candidates are determined by ordering, and if all four spatial candidates are available during candidate derivation, the last candidate is selected in such a manner that no candidate derivation is required.
  • the spatial candidates are selected in the order of block 601, block 603, block 604, block 602, and block 605. For example, if block 601, block 603, block 604 and block 602 are all available as spatial candidates, then block 605 is not taken into account in selecting candidates. However, if one or more of the blocks 601, 603, 604, and 602 are not available, block 605 may be included in the candidate except for that.
  • depth information of the neighboring block is considered for efficient encoding of the 3D image.
  • depth information exists due to three-dimensional characteristics, and it is common to obtain depth information from an encoder and transmit a multiview video image and depth information together to a decoder.
  • the neighboring blocks 601, 602, 603, 604, and 605 are utilized, and whether or not the neighboring blocks 601, 602, 603, 604, and 605 are merged according to the order is determined. Further consideration may determine whether to merge the block.
  • a neighboring block having the same depth information as the current prediction unit 600 may be estimated as the same object as the current prediction unit 600, and thus may be estimated as having the same motion vector. Therefore, the depth block, which is a three-dimensional characteristic, may be further included in the general block merging candidate selection method and used as a candidate for block merging of the current prediction unit 600.
  • four spatial mergeable candidates may be selected from the neighboring blocks 601, 602, 603, 604, and 605.
  • the depth information of the neighboring blocks 601, 602, 603, 604, and 605 may be extracted and compared with the current prediction unit. If blocks 601, 602, 603, and 604 of neighboring blocks have the same depth diagram as the current prediction unit 600, the blocks 601, 602, 603, 604 merge. Included in the set of possible blocks.
  • the block ( The remaining blocks 601, 602, 603, and 604 except for 605 are included in the mergeable block set. However, if any of the blocks 601, 602, 603, 604 is not available as a merge candidate, block 605 may be included in the mergeable block set.
  • a general block merging candidate selection method when there is no neighboring block having the same depth diagram as the current prediction unit 600 among the neighboring blocks 601, 602, 603, 604, and 605, a general block merging candidate selection method Four spatial candidates can be selected by determining availability in the order of Block 601-> Block 603-> Block 602-> Block 604-> Block 605 using. .
  • the neighboring block having the smallest difference in depth from the current prediction unit 600 is based on the difference in depth from the current prediction unit 600. It can be used as a candidate block that can be merged with the current prediction unit 600.
  • a neighboring block having the same depth as the current prediction unit 600 is selected as a mergeable block candidate of the current prediction unit 600 based on the depth diagram. Since it is used for inter prediction, the accuracy of encoding of the current prediction unit 600 can be improved, and the image quality can be improved through accurate prediction.
  • the motion vector is included in the neighboring blocks of the current prediction unit 600 included in the mergeable block set.
  • the block merging may be performed by selecting a neighboring block having the same motion vector as the final block for the block merging by determining whether or not is the same.
  • FIG. 7A to 7C illustrate partitioned forms of neighboring blocks according to an embodiment of the present invention.
  • FIG. 7A illustrates a case in which a picture is divided into prediction blocks by quadtree-based division.
  • the two largest blocks P1 and P2 at the top of FIG. 7A are macro blocks and are the largest prediction blocks.
  • the remaining blocks of FIG. 7A are obtained by subdivision of the corresponding macroblock.
  • the current prediction unit is indicated by 'X'.
  • the mergeable block may be generated as follows.
  • the left peripheral sample position of the current prediction unit and the top peripheral sample position of the current prediction unit become candidate block positions for block merging. If the set of mergeable blocks is not empty, a merge flag is sent to the decoder indicating that the current prediction unit is merged with the mergeable block. Otherwise, that is, if the merge flag is '0' (false), the motion parameters are transmitted to the decoder without block merging with any one of the temporary blocks as there is no mergeable block. do.
  • the merge flag is '1' (true)
  • the following operation is performed. If the mergeable block set includes only one block, one block included in this mergeable block set is used for block merging. If the mergeable block set includes two blocks and the motion parameters of these two blocks are the same, the motion parameters of the two blocks belonging to this mergeable block are also used for the current prediction unit. For example, when merge_left_flag is '1' (true), a left peripheral sample position among the top-left sample positions for the current prediction unit X may be selected among the mergeable block sets, and merge_left_flag is '0' (false). In this case, a top peripheral sample position, which is the remaining of the top-left sample positions for the current prediction unit X, may be selected among the mergeable block sets. The motion parameters for the blocks selected as above are also used for the current prediction unit.
  • blocks (“Ao” and “Bo”) including direct (top or left) peripheral samples among upper-left sample positions may be included in a mergeable block set.
  • the current prediction unit X is merged with block Ao or block Bo. If merge_flag is 0 (false), the current prediction unit X is not merged with either block Ao or block Bo. If block Ao and block Bo have the same motion parameters, it is not necessary to distinguish the two blocks Ao and Bo because the same result is obtained when merging with either of block Ao and block Bo. Therefore, merge_left_flag does not need to be sent in this case. Otherwise, if block Ao and block Bo have different motion parameters, the current prediction unit X is merged with block Bo if merge_left_flag is 1, and the current prediction unit X is merged with block Ao if merge_left_flag is 0.
  • 7B and 7C are conceptual views illustrating an encoding method using block merging in the case of asymmetric partitioning according to another embodiment of the present invention.
  • 7B and 7C illustrate two examples of block merging in the case of using geometric partition partitioning in inter prediction, and are not limited to the cases illustrated in FIGS. 7B and 7C. Combinations of various partition partitioning cases are illustrated.
  • block merge according to another embodiment of the present invention can also be applied to.
  • blocks ('A1a' and 'B1a' blocks) including upper or left peripheral samples among the upper-left sample positions of the current prediction unit X may be included in the mergeable block set.
  • the current prediction unit X is merged with block Ala or block Bla. If merge_flag is 0 (false), the current prediction unit X is not merged with either block Ala or block Bla.
  • merge_left_flag is '1' (true)
  • a block B1a including left neighboring samples of the upper-left sample position for the current prediction unit X among the mergeable block sets may be selected to merge with the current prediction unit X.
  • a block A1a including the top peripheral samples remaining of the top-left sample position for the current prediction unit X in the mergeable block set to merge with the current prediction unit X Can be selected.
  • the current prediction unit X is merged with block A1b or block B1b belonging to the mergeable block set. If merge_flag is 0 (false), the current prediction unit X is not merged with either block A1b or block B1b. If merge_left_flag is '1' (true), block B1b may be selected from among the mergeable block sets to merge with the current prediction unit X, and if merge_left_flag is '0' (false), block A1b is the current prediction unit X May be selected to merge with.
  • neighboring blocks generated by asymmetric partition partitioning as well as neighboring blocks generated by symmetric partition partitioning can be used as candidate blocks for block merging.
  • neighboring blocks generated by geometric partitioning may also be utilized for block merging.
  • the 3D image encoding apparatus includes a neighboring block selector 810, a depth information comparator 820, a mergeable block set selector 830, and an inter-screen.
  • the prediction unit 840 and the transmitter 850 may be included.
  • the neighboring block selecting unit 810 selects a neighboring block of the current prediction unit 600 as a candidate for block merging.
  • the neighboring block selected by the neighboring block selector 810 may be merged with the current prediction unit 600.
  • the neighboring blocks 601, 602, 603, 604, and 605 of FIG. 6 may be used as spatial neighboring block candidates.
  • the depth information comparing unit 820 compares the depth information of the neighboring blocks 601, 602, 603, 604, and 605 selected by the neighboring block selecting unit 810 with the depth information of the current prediction unit 600. do.
  • depth information of the neighboring blocks 601, 602, 603, 604, and 605 and the current prediction unit 600 should be extracted. Then, the depth of the extracted neighboring blocks 601, 602, 603, 604, and 605 is compared with the depth of the current prediction unit.
  • the mergeable block set selector 830 generates a mergeable block set by selecting neighboring blocks having the same depth. That is, the candidate merge block of the current prediction unit 600 is selected.
  • the block merger 840 performs block merging based on the neighboring blocks selected by the mergeable block set selector 830 to generate a motion parameter for each merged block. In this case, it may be desirable to select a final block for block merging by determining whether the motion vectors are the same and perform block merging between the selected block and the current prediction unit.
  • the transmitter 850 transmits the merged block-specific motion parameters generated by the block merger 840 to the decoder.
  • the 3D image encoding method includes selecting a current neighboring block 910, comparing depth information of the neighboring block with a current prediction unit 920, and a current prediction unit. Selecting neighboring blocks having the same depth diagram as the mergeable block set (930), performing block merging based on the mergeable block (940) and transmitting the merged block-specific motion parameters to the decoder (950) It may include.
  • a neighboring block selection step 910 the image encoding apparatus selects a neighboring block of the current prediction unit 600 as a candidate for block merging.
  • the neighboring block selected in the neighboring block selection step 910 may be merged with the current prediction unit 600.
  • the neighboring blocks 601, 602, 603, 604, and 605 of FIG. 6 may be used as spatial neighboring block candidates.
  • the image encoding apparatus determines the depth information of the neighboring blocks 601, 602, 603, 604, and 605 selected in the neighboring block selection step 910. Compare with the depth information.
  • depth information of the neighboring blocks 601, 602, 603, 604, and 605 and the current prediction unit 600 should be extracted. Then, the depth of the extracted neighboring blocks 601, 602, 603, 604, and 605 is compared with the depth of the current prediction unit.
  • the apparatus for encoding an image selects neighboring blocks having the same depth map to generate a mergeable block set. That is, the candidate merge block of the current prediction unit 600 is selected.
  • the image encoding apparatus In the block merging step 940, the image encoding apparatus generates a motion parameter for each merged block by performing block merging based on the neighboring blocks selected in the merging block set selection step 930.
  • the image encoding apparatus transmits the merged block-specific motion parameters generated in the block merging step 940 to the decoder.
  • the image encoding apparatus may use a disparity vector to determine a specific block (or current prediction unit) and an adjacent view (eg, right view) of the current view (eg, left view). If the difference value of the pixel value between the corresponding blocks is less than or equal to a predetermined value, the corresponding block of the adjacent view (for example, the right view) is selected as one of the candidate blocks to block merge, and the same is determined after determining whether the motion vectors are the same.
  • the same motion parameter may be transmitted to the decoder by merging the blocks.
  • a block merged with a specific block (or current prediction unit) of the current view may have the same motion parameter, and the image decoder may use the block merge to perform the current view.
  • Motion compensation may be performed by using specific block (or current prediction unit) information and motion parameters to generate a prediction unit and perform decoding.
  • the motion prediction unit reconstructs the motion vector of the corresponding block by using the motion parameter of the block merged block transmitted from the encoder.
  • a motion vector is generated, and the motion compensation unit performs motion compensation using the motion vector generated by the motion predictor and the reference picture.
  • FIG. 10 is an exemplary diagram of a block boundary subject to deblocking filtering according to an embodiment of the present invention.
  • the current block 1110 and the neighboring block 1120 are based on the depth value of the current block 1110 and the depth value of the neighboring block 1120 encoded before the current block 1110.
  • An intra prediction mode of the current block 1110 or the neighboring block 1120 encoded before the current block, when it is determined whether to apply a deblocking filter to a block boundary of Block boundary strength of the block boundary may be set based on whether or not the block boundary is the boundary of the prediction unit, whether the coded coefficient is included, and whether the block boundary includes the different reference pictures or motion vectors.
  • FIG. 11 is a flowchart illustrating a deblocking filtering method according to an embodiment of the present invention, and illustrates a deblocking filtering process performed by a deblocking filter of an encoding apparatus or a decoding apparatus.
  • the deblocking filtering method determines whether to apply a deblocking filter based on a depth value of a current block and a depth value of a previously encoded neighboring block of the current block. If it is determined that the deblocking filter is applied in the determining step (S100) and the application decision step, it may include the step of setting the block boundary strength between the current block and the neighboring block (S200).
  • a decoded image of clearer and improved quality can be obtained without removing distortion of the image by removing the blocking phenomenon that can occur between blocks, which is a unit of encoding.
  • the blocking phenomenon may not occur strongly in the block. Therefore, even if the blocking phenomenon does not occur strongly as described above, applying a strong deblocking filter regardless of the condition of the block generates unnecessary distortion. Rather, the coding efficiency may be lowered, and a distorted image may be generated to reduce the quality of the image.
  • a block and a block boundary correspond to an object boundary, that is, an edge
  • an image of deteriorated quality may be generated by applying a deblocking filter to obscure the boundary between the object and the object. Therefore, in encoding, when the block and the boundary of the block correspond to the edge, the deblocking filter is not applied.
  • the deblocking filter is not applied.
  • a depth image including depth information of an object together with a color image may be provided. Based on the depth image, it may be determined whether the deblocking filter is applied by determining whether the current block and the neighboring block encoded before the current block are the same object. That is, it may be determined whether to apply the deblocking filter based on the depth value of the current block and the depth value of the neighboring block encoded before the current block (S100).
  • the determining of whether to apply the application may include applying the deblocking filter to a boundary between the current block and the neighboring block when the depth value of the current block and the depth value of the previously encoded neighboring block of the current block are the same. Can be determined. That is, when the depth value of the current block 1110 and the depth value of the previously encoded neighboring block 1120 of the current block 1110 are the same, the current block 1110 and the neighboring block 1120 are the same object. As a block constituting the block, the blocking phenomenon may be alleviated by applying a deblocking filter.
  • a block boundary between the current block 1110 and the neighboring block 1120 may be determined to not apply a deblocking filter.
  • the current block and the neighboring block are determined. It may be determined to apply the deblocking filter to the boundary. That is, when the difference between the depth value of the current block 1110 and the depth value of the previously encoded neighboring block 1120 of the current block 1110 is equal to or less than a preset threshold, the current block 1110 and the neighboring block.
  • the block may be mitigated by applying a deblocking filter as a block constituting the same object.
  • the current block 1110 and the neighboring block may determine that the block boundary between the current block 1110 and the neighboring block 1120 does not apply a deblocking filter as a block constituting different objects.
  • the depth value may be transmitted in units of a coding unit (CU), a prediction unit (PU), or a transform unit (TU).
  • a unit of encoding may be divided into a coding unit, a prediction unit, and a transform unit.
  • each coding unit may be transmitted to have one depth value
  • each prediction unit may be transmitted to have one depth value
  • each transformation unit may be transmitted to have one depth value.
  • the data may be transmitted to have different depth values in units of pixels.
  • the deblocking filter When transmitted to have different depth values in pixel units, the deblocking filter is applied by comparing the depth values of pixels located at the boundary between the current block 1110 and the neighboring block 1120 encoded before the current block. You can also decide whether or not.
  • FIG. 12 is a detailed flowchart of the block boundary strength setting step of FIG. 11.
  • the block boundary strength between the current block and the neighboring block may be set (S200).
  • the occurrence intensity of the blocking phenomenon may vary according to the characteristics of the block, such as whether the current block 1110 or the neighboring block 1120 is applied to intra prediction or is a boundary of a prediction unit. Therefore, by setting the block boundary strength based on each block characteristic, it is possible to appropriately adjust the applied strength of the deblocking filter to achieve the optimum coding efficiency and image quality improvement.
  • the step of setting the block boundary strength (S200) first determines whether intra prediction is applied to neighboring blocks (P block and Q block of FIG. 10) of the current block (S210).
  • intra prediction is applied to the neighboring block of the current block
  • the deblock boundary strength Bs is set to 2 (S260).
  • operation S270 it is determined whether a neighboring block of the current block has a different reference picture or a different motion vector from the current block, so that the neighboring block of the current block has a different reference picture or a different motion vector from the current block. In the case of having the block boundary strength Bs, it may be set to 1 (S280).
  • the deblocking filter may perform deblocking filtering on each of the luma component and the chroma component, and the prediction unit on the vertical edges of each block (or coding unit).
  • deblocking filtering may be performed while proceeding from the left boundary to the right side, and then the deblocking filtering may be performed from the upper edge of the block toward the coding unit with respect to the horizontal edges.
  • the deblocking filter When the deblocking filter performs deblocking filtering on each of a luminance signal luma component and a chrominance component, the deblocking filtering on the chrominance component is performed by the block boundary intensity Bs. Only if greater than 2 can be applied. That is, the deblocking filtering on the chrominance component may be applied when the block boundary intensity is 3 (second value) to 4 (first value).
  • FIG. 13 is a flowchart illustrating an in-loop filtering method according to another embodiment of the present invention.
  • the in-loop filtering method for intra prediction encoding may include applying the aforementioned deblocking filtering method (S510), and a sample adaptive offset (SAO) sample.
  • S510 deblocking filtering method
  • SAO sample adaptive offset
  • a process of performing an Adaptive Offset (S520) and an adaptive loop filter (ALF) may be included (S530).
  • a sample adaptive offset (SAO) for compensating the DC offset with respect to the pixels processed by the deblocking filter may be additionally processed.
  • the DC offset refers to an average difference value between pixels processed by the deblocking filter after transform and quantization and original pixels, and may be regarded as an offset value due to transform and quantization.
  • the current block (coding unit) may determine whether to selectively turn on / off a sample adaptive offset (SAO) in units of partitioned blocks of the current block. That is, on / off of the sample adaptive offset (SAO) is determined in units of partitioned blocks of the coding unit so that information about whether the sample adaptive offset (SAO) is on or off can be transmitted from the encoder to the decoder. have.
  • an adaptive loop filter may be selectively applied after the sample adaptive offset (SAO).
  • the adaptive loop filter (ALF) can compensate for errors in encoding more precisely than the deblocking filter by using a Wiener filter.
  • the adaptive loop filter (ALF) uses a Wiener filter that minimizes the sum of the square error of the difference between the original pixels and the decoded pixels, so that the deblocking filter and the adaptive offset ( The error can be compensated by encoding the recovered signal more precisely after SAO).
  • the adaptive loop filter (ALF) information may be included in a slice header and transmitted to a decoder.
  • the adaptive loop filter (ALF) information may include Wiener filter coefficients, adaptive loop filter (ALF) on / off information, and filter shape information. On / off information of the adaptive loop filter (ALF) may be included in a slice header in units of coding units and transmitted to the decoder.
  • the filter shape may be designed to have a symmetrical shape to reduce encoding and decoding complexity.

Landscapes

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

Abstract

본 발명은 3차원 영상에 적용할 수 있는 움직임 벡터 예측을 통한 영상 부호화 방법 및 부호화 장치, 및 복호화 방법 및 복호화 장치를 개시하고 있다. 부호화 방법은 3차원 영상에서 현재 예측 유닛에 대한 부호화 방법에 있어서, 상기 현재 예측 유닛의 이미 부호화된 주변 블록의 움직임 벡터 중에서 상기 현재 예측 유닛과 동일한 깊이도를 갖는 상기 주변 블록의 움직임 벡터를 상기 현재 예측 유닛의 후보 예측 움직임 벡터로 선정하는 단계; 및 상기 후보 예측 움직임 벡터를 기반으로 화면간 예측(inter prediction)을 수행하여 상기 현재 예측 유닛의 움직임 벡터를 예측하여 복호화기로 전송하는 단계를 포함한다. 따라서, 깊이 정보를 가지는 3차원 영상에 대해 예측 움직임 벡터의 후보 선정을 효율적으로 할 수 있다.

Description

3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치
본 발명은 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치에 관한 것으로, 보다 상세하게는 3차원 영상을 부호화하는 방법 및 장치, 및 복호화하는 방법 및 장치에 관한 것이다.
일반적으로 영상 압축 방법에서는 압축 효율을 높이기 위해 픽쳐들의 중복도를 제거하는 화면간 예측(inter prediction) 및 화면내 예측(intra prediction) 기술을 이용한다.
화면간 예측을 이용해 영상을 부호화하는 방법은 픽처들 사이의 시간적인 중복성(spatial redundancy)을 제거하여 영상을 압축하는 방법으로서 대표적으로 움직임 보상 예측 부호화 방법이 있다.
움직임 보상 예측 부호화는 현재 부호화되는 픽처의 앞 및/또는 뒤에 위치하는 적어도 하나의 참조 픽처에서 현재 부호화되는 블록과 유사한 영역을 검색하여 움직임 벡터(MV: Motion Vector)를 생성하고, 생성된 움직임 벡터를 이용하여 움직임 보상을 수행하여 얻어지는 예측 블록과 현재 예측 유닛의 잔여값(residue)을 DCT(Discrete Cosine Transform) 변환하고 양자화한 후 엔트로피 부호화하여 전송한다.
움직임 보상 화면간 예측의 경우, 하나의 픽처를 소정 크기를 가지는 복수의 블록(block)으로 구분하여 움직임 벡터(MV)를 생성하고, 생성된 움직임 벡터를 이용하여 움직임 보상을 수행한다. 움직임 보상을 수행하여 얻어지는 각각의 예측 블록에 대한 개별적인 움직임 파라미터는 디코더로 전송된다.
3차원 영상의 경우, 영상의 특성상 각 픽셀이 화소 정보뿐만 아니라 깊이(depth) 정보를 포함하고 있으며, 인코더에서 깊이 정보를 구해 디코더로 다시점 비디오 영상 정보 및 깊이 정보를 전송한다. 이때, 움직임 벡터 예측(Motion Vector Prediction)을 사용한다. 예측 움직임 벡터의 후보 블록으로 현재 예측 유닛의 주변 블록의 움직임 벡터를 사용하는데 깊이 정보를 갖는 3차원 영상의 경우 예측 움직임 벡터를 효율적으로 적용하는 방법이 필요하다.
기존의 H.264/AVC 표준에서는, 4화소 단위의 블록에 대해 화면내 예측 부호화를 적용할 경우, 9가지의 예측 모드(즉, 예측 모드 0 내지 8) 중 가장 적절한 예측 모드를 4화소 블록마다 1개씩 선택하고, 선택된 예측 모드를 4화소 블록 단위로 부호화한다.
또한, H.264/AVC 표준에서는, 영상이 낮은 비트율로 부호화되는 경우 복호영상에 블록왜곡이 발생한 상태에서 프레임 메모리에 저장되고 다음 픽처의 움직임 보상 처리에서 상기 블록왜곡을 포함한 영상을 참조하여 부호화하기 때문에 화질의 열화가 전파되는 문제를 해결하기 위해, 프레임 메모리에 복호 영상을 저장하기 전에 블록왜곡 현상을 제거하는 적응적인 디블록킹 필터링(deblocking filtering)을 사용한다.
즉, 적응적 디블록킹 필터링은 동일한 영상 내에서 블록왜곡이 발생하기 쉬운 위치와 블록왜곡이 발생하기 어려운 위치에 각각 디블록킹 필터를 적응적으로 적용함으로써 영상의 블록왜곡이 참조영상에 포함된 상태로 복호영상에 전달하게 되는 것을 방지하여 양호한 복호영상이 출력되도록 한다.
3D 비디오의 경우 3D라는 특성상 깊이 정보가 별도로 존재하며, 주로 부호화기에서 깊이 정보를 생성하여 다시점 컬러 영상과 깊이 영상을 복호화기로 함께 전달한다. 전술한 디블록킹 필터를 3D 비디오에 적용할 경우, 이러한 깊이 정보를 이용하여 블록의 경계에서 디블록킹 필터의 적용 여부를 효율적으로 선택하는 기법이 필요하다.
본 발명의 목적은 3차원 영상에 적용할 수 있는 움직임 벡터 예측을 통한 영상 부호화 방법 및 부호화 장치를 제공하는 것이다.
본 발명의 다른 목적은 3차원 영상에 적용할 수 있는 움직임 벡터 예측을 통한 영상 복호화 방법 및 복호화 장치를 제공하는 것이다.
본 발명의 다른 목적은 3차원 영상에 적용할 수 있는 깊이 정보를 고려한 블록 병합을 이용하는 3차원 영상 부호화 방법 및 부호화 장치를 제공하는 것이다.
본 발명의 다른 목적은 깊이 정보를 고려한 블록 병합을 이용하는 3차원 영상 복호화 방법 및 복호화 장치를 제공하는 것이다.
본 발명의 다른 목적은 3D 영상의 품질을 유지하면서 부호화 효율을 향상시킬 수 있는 디블록킹 필터링 방법을 제공하는 것이다.
본 발명의 다른 목적은 3D 영상의 품질을 유지하면서 부호화 효율을 향상시킬 수 있는 인-루프 필터링 방법을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 3차원 영상 부호화 방법은 3차원 영상에서 현재 예측 유닛에 대한 부호화 방법에 있어서, 상기 현재 예측 유닛의 이미 부호화된 주변 블록의 움직임 벡터 중에서 상기 현재 예측 유닛과 동일한 깊이도를 갖는 상기 주변 블록의 움직임 벡터를 상기 현재 예측 유닛의 후보 예측 움직임 벡터로 선정하는 단계; 및 상기 후보 예측 움직임 벡터를 기반으로 화면간 예측(inter prediction)을 수행하여 상기 현재 예측 유닛의 움직임 벡터를 예측하여 복호화기로 전송하는 단계를 포함할 수 있다.
상기 주변 블록은 상기 현재 예측 유닛의 좌측 최하단의 제 1 블록, 상기 제 1 블록의 하단에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 상단의 최우측의 제 3 블록, 상기 제 3 블록의 우측에 접해 있는 제 4 블록 및 상기 현재 예측 유닛의 좌상단 블록인 제 5 블록을 포함할 수 있다.
상기 후보 움직임 벡터 선정 단계는 상기 현재 예측 유닛과 동일한 깊이도를 갖는 상기 주변 블록이 적어도 3개인 경우, 상기 제 1 블록, 상기 제 2 블록, 상기 제 3 블록, 상기 제 4 블록 및 상기 제 5 블록 순으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보로 이용 가능한지 판단하여 상기 현재 예측 유닛의 후보 예측 움직임 벡터를 선정하는 단계를 포함할 수 있다.
상기 후보 움직임 벡터 선정 단계는 상기 현재 예측 유닛과 동일한 깊이도를 갖는 상기 주변 블록이 존재하지 않는 경우, 상기 제 1 블록, 상기 제 2 블록, 상기 제 3 블록, 상기 제 4 블록 및 상기 제 5 블록 순으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보로 이용 가능한지 판단하여 상기 현재 예측 유닛의 후보 예측 움직임 벡터를 선정하는 단계를 포함할 수 있다.
상기 주변 블록은 상기 현재 예측 유닛의 좌측에 접해 있는 제 1 블록, 상기 현재 예측 유닛의 상단에 접해 있는 제 2 블록, 상기 제 2 블록의 우측에 접해 있는 제 3 블록을 포함할 수 있다.
상기 주변 블록은 상기 현재 예측 유닛의 좌측 최상단에 접해 있는 제 1 블록, 상기 현재 예측 유닛의 상단 최좌측에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 우상단 블록인 제 3 블록을 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 3차원 영상 복호화 방법은 3차원 영상에서 현재 예측 유닛에 대한 복호화 방법에 있어서, 수신된 비트 스트림을 엔트로피 복호화하고 역양자화 및 역변환을 수행하는 단계; 상기 역변환된 비트 스트림을 기반으로 상기 현재 예측 유닛의 이미 부호화된 주변 블록의 움직임 벡터 중에서 상기 현재 예측 유닛과 동일한 깊이를 갖는 상기 주변 블록의 움직임 벡터를 상기 현재 예측 유닛의 후보 예측 움직임 벡터로 선정하는 단계; 및 상기 후보 예측 움직임 벡터를 기반으로 화면간 예측(inter prediction)을 수행하여 상기 현재 예측 유닛의 움직임 벡터를 예측하여 영상을 복원하는 단계를 포함할 수 있다.
상기 주변 블록은 상기 현재 예측 유닛의 좌측 최하단의 제 1 블록, 상기 제 1 블록의 하단에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 상단의 최우측의 제 3 블록, 상기 제 3 블록의 우측에 접해 있는 제 4 블록 및 상기 현재 예측 유닛의 좌상단 블록인 제 5 블록을 포함할 수 있다.
상기 후보 움직임 벡터 선정 단계는 상기 현재 예측 유닛과 동일한 깊이도를 갖는 상기 주변 블록이 적어도 3개인 경우, 상기 제 1 블록, 상기 제 2 블록, 상기 제 3 블록, 상기 제 4 블록 및 상기 제 5 블록 순으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보로 이용 가능한지 판단하여 상기 현재 예측 유닛의 후보 예측 움직임 벡터를 선정하는 단계를 포함할 수 있다.
상기 후보 움직임 벡터 선정 단계는 상기 현재 예측 유닛과 동일한 깊이도를 갖는 상기 주변 블록이 존재하지 않는 경우, 상기 제 1 블록, 상기 제 2 블록, 상기 제 3 블록, 상기 제 4 블록 및 상기 제 5 블록 순으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보로 이용 가능한지 판단하여 상기 현재 예측 유닛의 후보 예측 움직임 벡터를 선정하는 단계를 포함할 수 있다.
상기 주변 블록은 상기 현재 예측 유닛의 좌측에 접해 있는 제 1 블록, 상기 현재 예측 유닛의 상단에 접해 있는 제 2 블록, 상기 제 2 블록의 우측에 접해 있는 제 3 블록을 포함할 수 있다.
상기 주변 블록은 상기 현재 예측 유닛의 좌측 최상단에 접해 있는 제 1 블록, 상기 현재 예측 유닛의 상단 최좌측에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 우상단 블록인 제 3 블록을 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 영상 부호화 방법은 3차원 영상의 현재 예측 유닛에 대한 블록 병합을 수행하여 상기 3차원 영상을 부호화하는 방법에 있어서, 상기 현재 예측 유닛의 주변 블록을 상기 현재 예측 유닛과 병합하는 블록 병합 단계; 및 상기 병합된 블록의 움직임 파라미터를 복호화기로 전송하는 전송 단계를 포함하되, 상기 블록 병합 단계는, 상기 현재 예측 유닛의 깊이도와 동일한 깊이도를 갖는 상기 주변 블록을 병합 가능 블록 집합으로 선정하는 집합 선정 단계; 및 상기 병합 가능 블록 집합에 속하는 블록을 기반으로 블록 병합을 위한 후보로 이용 가능한지 판단하여, 상기 판단 결과, 블록 병합을 위한 후보로 이용 가능한 블록을 기반으로 블록 병합을 수행하는 병합 수행 단계를 포함할 수 있다.
상기 주변 블록은 상기 현재 예측 유닛의 좌측 최하단의 제 1 블록, 상기 제 1 블록의 하단에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 상단의 최우측의 제 3 블록, 상기 제 3 블록의 우측에 접해 있는 제 4 블록 및 상기 현재 예측 유닛의 좌상단 블록인 제 5 블록을 포함할 수 있다.
상기 블록 병합 단계는 상기 후보 블록 중에서 상기 현재 예측 유닛과 움직임 벡터가 동일한 후보 블록을 블록 병합을 위한 최종 후보 블록으로 선정하는 단계를 더 포함할 수 있다.
상기 주변 블록은 입력 영상을 대칭 파티션 분할, 비대칭 파티션 분할 및 기하학적 파티션 분할 방법 중 적어도 하나를 적용하여 분할된 블록일 수 있다.
3차원 영상에서 현재 예측 유닛에 대한 복호화 방법에 있어서, 수신된 비트 스트림을 엔트로피 복호화하고 역양자화 및 역변환을 수행하여 잔여값을 복원하는 단계; 상기 역변환된 비트 스트림을 기반으로 예측 유닛 정보 및 움직임 파라미터를 이용하여 움직임 보상을 수행하여 예측 유닛을 생성하는 단계; 및 상기 예측 유닛에 상기 잔여값을 더하여 영상을 복원하는 단계를 포함하되, 상기 현재 예측 유닛의 주변 블록 중에서 상기 현재 예측 유닛과 동일한 깊이도를 갖는 주변 블록은 병합 가능 블록 집합에 포함되고, 상기 병합 가능 블록 집합에 포함된 블록들 중 상기 현재 예측 유닛과 병합된 블록에 대해서는 동일한 움직임 파라미터를 가질 수 있다.
상기 주변 블록은 상기 현재 예측 유닛의 좌측 최하단의 제 1 블록, 상기 제 1 블록의 하단에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 상단의 최우측의 제 3 블록, 상기 제 3 블록의 우측에 접해 있는 제 4 블록 및 상기 현재 예측 유닛의 좌상단 블록인 제 5 블록을 포함할 수 있다.
상기 주변 블록은 입력 영상을 대칭 파티션 분할, 비대칭 파티션 분할 및 기하학적 파티션 분할 방법 중 적어도 하나를 적용하여 분할된 블록일 수 있다.
전술한 본 발명의 목적을 달성하기 위한 디블록킹 필터링 방법은 현재 블록의 깊이 값 및 상기 현재 블록의 이전에 부호화된 주변 블록의 깊이 값을 기반으로 디블로킹 필터의 적용 여부를 결정하는 단계 및 상기 적용 여부 결정 단계에서 상기 디블로킹 필터를 적용하는 것으로 결정된 경우 상기 현재 블록 및 주변 블록 간의 블록경계강도를 설정하는 단계를 포함할 수 있다. 여기서, 상기 적용 여부를 결정하는 단계는 상기 현재 블록의 깊이 값 및 주변 블록의 깊이 값이 동일한 경우 상기 현재 블록 및 주변 블록 간 경계에 상기 디블로킹 필터를 적용하는 것으로 결정하는 것을 특징으로 할 수 있다. 여기서, 상기 블록경계강도를 설정하는 단계는 현재 블록의 이전에 부호화된 주변 블록에 인트라 예측이 적용되었는지 여부를 판단하는 단계, 상기 판단 결과 상기 현재 블록의 이전에 부호화된 주변 블록에 인트라 예측이 적용된 경우에는 상기 현재 블록과 상기 주변 블록의 경계가 예측 유닛의 경계인지 여부를 판단하여 상기 현재 블록과 상기 주변 블록의 경계가 예측 유닛의 경계인 경우에는 디블록킹 필터의 블록경계강도를 가장 높은 제1 값으로 설정하는 단계, 상기 판단 결과 상기 현재 블록의 주변 블록에 인트라 예측이 적용되었지만 상기 현재 블록과 상기 주변 블록의 경계가 예측 유닛의 경계가 아닌 경우에는 상기 블록경계강도를 상기 제1 값보다 낮은 제2 값으로 설정하는 단계, 상기 판단 결과 상기 현재 블록의 주변 블록에 인트라 예측이 적용되지 않고 인터 예측이 적용된 경우에는 상기 현재 블록의 주변 블록이 부호화된 계수(coded coefficients)를 포함하고 있는지 여부를 판단하는 단계, 상기 현재 블록의 주변 블록이 상기 부호화된 계수(coded coefficients)를 포함하는 경우에는 상기 블록경계강도를 상기 제2 값보다 작은 제3 값으로 설정하는 단계, 상기 현재 블록의 주변 블록에 인트라 예측이 적용되지 않고 상기 인터 예측이 적용된 경우이고 또한 상기 현재 블록의 주변 블록이 상기 부호화된 계수(coded coefficients)를 포함하지 않는 경우에 상기 현재 블록의 주변 블록이 상기 현재 블록과 서로 다른 참조 픽춰 또는 서로 다른 움직임 벡터를 가지는 경우에는 상기 블록경계강도를 상기 제3 값보다 작은 제4 값으로 설정하는 단계 및 상기 현재 블록의 주변 블록에 인트라 예측이 적용되지 않고 상기 인터 예측이 적용된 경우이고 또한 상기 현재 블록의 주변 블록이 상기 부호화된 계수(coded coefficients)를 포함하지 않는 경우에 상기 현재 블록의 주변 블록이 현재블록과 서로 다른 참조 픽춰 또는 서로 다른 움직임 벡터를 가지는 경우가 아닌 경우에는 상기 블록경계강도를 상기 제4 값보다 작은 최저값인 제5 값으로 설정하는 단계를 포함할 수 있다.
본 발명의 다른 목적을 달성하기 위한 인-루프 필터링 방법은 디블로킹 필터를 적용하는 단계 및 상기 디블록킹 필터를 한 이후에 상기 디블록킹 필터가 처리된 픽셀들에 대하여 상기 디블록킹 필터가 처리된 픽셀들과 원래 픽셀들(original pixels)간의 평균적인 차이값인 DC 오프셋(offset)을 보상하기 위한 샘플 적응적 오프셋(SAO; Sample Adaptive Offset)를 상기 디블록킹 필터를 한 이후에 상기 현재 블록의 분할(partitioning)된 블록 단위로 선택적으로 처리하는 단계를 포함할 수 있다. 여기서, 상기 샘플 적응적 오프셋(SAO) 처리 이후에 원래 픽셀들(original pixels)과 복호화된 픽셀들간의 차이값의 제곱(square error)의 합을 최소화하는 위너 필터를 사용하여 적응적 루프 필터(ALF; Adaptive Loop Filter)를 선택적으로 적용하는 단계를 더 포함할 수 있다.
3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치에 따르면, 깊이 정보를 가지는 3차원 영상에 대해 예측 움직임 벡터의 후보 선정을 효율적으로 할 수 있다는 효과가 있다.
3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치에 따르면, 현재 예측 유닛의 깊이와 동일한 깊이를 갖는 주변 블록에 대해 현재 예측 유닛의 움직임 벡터의 예측값으로 사용함으로써 3차원 영상의 현재 예측 유닛의 움직임 벡터 선정시 복잡도를 감소시키면서 정확도를 증가시킬 수 있다는 효과가 있다.
본 발명의 깊이 정보를 고려한 블록 병합을 이용하는 3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치에 따르면, 깊이 정보를 갖는 3차원 영상에 대해 병합 가능 블록 집합의 선정을 보다 효율적으로 할 수 있다는 효과가 있다.
또한, 본 발명의 깊이 정보를 고려한 블록 병합을 이용하는 3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치에 따르면, 현재 예측 유닛의 깊이도와 동일한 깊이도를 갖는 주변 블록을 병합 가능 블록 집합에 포함시켜 화면간 예측을 수행함으로써 3차원 영상의 현재 예측 유닛의 블록 병합시 복잡도를 감소시키면서 정확도를 증가시켜 고화질의 3차원 영상을 제공하는 효과가 있다.
상술한 디블록킹 필터링 방법에 따르면, 화면내 예측 부호화가 적용된 블록에 대해 블록의 경계에서 깊이 정보를 기반으로 동일 객체 여부를 판별하여 디블록킹 필터링의 수행 여부를 결정하고, 해당 블록의 부호화 모드, 코딩 유닛의 경계인지 여부, 부호화된 계수의 포함 여부 및 움직임 벡터가 상이한지 여부를 고려하여 블록경계강도를 차등적으로 설정하고 디블록킹 필터링을 수행한다.
따라서, 불필요한 디블록킹 필터링을 방지하고, 최적의 블록경계강도로 디블록킹 필터링을 수행함으로써 복호된 영상의 품질을 향상시킬 수 있고, 부호화 효율을 향상시킬 수 있다.
또한, 디블록킹 필터를 한 이후에 디블록킹 필터가 처리된 픽셀들에 대하여 DC 오프셋(offset)을 보상하기 위한 샘플 적응적 오프셋(SAO; Sample Adaptive Offset)를 추가적으로 적용하고, 상기 샘플 적응적 오프셋(SAO) 이후에 선택적으로 적응적 루프 필터(ALF; Adaptive Loop Filter)를 적용함으로써 단순히 디블록킹 필터만을 적용한 경우에 비하여 복호된 영상의 품질을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 순환적 코딩 유닛의 구조를 나타내는 개념도,
도 2는 공간적인 후보로서의 주변 블록을 도시한 도면,
도 3은 시간적인(temporal) 후보로서의 주변 블록을 도시한 도면,
도 4는 본 발명의 일 실시예에 따른 3차원 영상 부호화 장치를 개략적으로 나타낸 블록도,
도 5는 본 발명의 일 실싱예에 따른 3차원 영상 부호화 방법을 개략적으로 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 블록 병합을 이용한 영상 부호화 방법을 설명하기 위한 개념도,
도 7a는 하나의 픽처를 쿼드트리 기반 분할(quadtree-based division) 방식으로 예측 블록들(prediction blocks)로 분할한 경우를 나타낸 도면,
도 7b 및 도 7c는 본 발명의 다른 실시예에 따른 비대칭적 파티션 분할(asymmetric partitioning)의 경우 블록 병합(block merging)을 이용한 부호화 방법을 설명하기 위한 개념도,
도 8은 본 발명의 일 실시예에 따른 블록 병합을 이용하는 3차원 영상 부호화 장치의 구성을 나타내는 블록도,
도 9는 본 발명의 일 실시예에 따른 블록 병합을 이용하는 3차원 영상 부호화 방법을 나타내는 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 디블록킹 필터링의 대상이 되는 블록 경계의 예시도이다.
도 11은 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 나타내는 흐름도이다.
도 12는 도 11의 블록경계강도 설정 단계의 상세 흐름도이다.
도 13은 본 발명의 다른 실시예에 따른 인-루프 필터링 방법을 나타내는 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명의 일 실시예에서는 HD(High Definition)급 이상의 해상도를 가지는 고해상도에 적용하기 위하여 32x32 픽셀 크기 이상의 확장 매크로블록(Extended Macroblock) 크기를 이용하여 화면간/화면내 예측 변환, 양자화, 엔트로피 부호화 등의 부호화 및 복호화를 수행할 수도 있고, 하기에 설명하는 순환적(recursive) 코딩 유닛(CU: Coding Unit) 구조를 사용하여 부호화 및 복호화를 수행할 수도 있다.
도 1은 본 발명의 일 실시예에 따른 순환적 코딩 유닛의 구조를 나타내는 개념도이다.
도 1을 참조하면, 각 코딩 유닛(CU)은 정방형의 픽셀 크기를 가지며, 2N2N(단위: 픽셀) 크기의 가변적인 크기를 가질 수 있다. 화면간 예측, 화면내 예측, 변환, 양자화, 디블록킹 필터링 및 엔트로피 부호화는 코딩 유닛(CU) 단위로 이루어질 수 있다.
코딩 유닛(CU)은 최대 코딩 유닛(LCU: Largest Coding Unit), 최소 코딩 유닛(SCU: Smallest Coding Unit)을 포함할 수 있고, 최대 코딩 유닛(LCU)과 최소 코딩 유닛(SCU)의 크기는 8 이상의 크기를 가지는 2의 거듭제곱 값으로 나타낼 수 있다.
코딩 유닛의 크기는 8 이상의 크기를 가지는 2의 거듭제곱 값-예를 들어 8x8, 16x16, 32x32, 64x64-를 가질 수 있다. 또한, 코딩 유닛의 크기는 128 x 128 이상의 크기를 가질 수도 있다.
본 발명의 일 실시예에 따른 코딩 유닛(CU)은 순환적인 크기 구조를 가질 수 있다. 도 1은 최대 코딩 유닛(LCU)인 CU0의 한 변의 크기(2N0)가 128(N0=64)이고, 최대 계층 레벨(level) 또는 계층 깊이(depth)가 5인 경우를 나타낸다. 순환적인 구조는 일련의 플래그(flag)를 통하여 표현될 수 있다. 예를 들어, 계층 레벨(level) 또는 계층 깊이(depth)가 k인 코딩 유닛(CUk)의 플래그 값이 0인 경우, 코딩 유닛(CUk)에 대한 코딩은 현재의 계층 레벨 또는 계층 깊이에 대해 이루어진다.
또는, 플래그 값이 1인 경우 현재의 계층 레벨 또는 계층 깊이가 k인 코딩 유닛(CUk)은 4개의 독립적인 코딩 유닛(CUk+1)으로 분할되며, 분할된 코딩 유닛(CUk+1)은 계층 레벨 또는 계층 깊이가 k+1이 되며, 크기는 Nk+1Nk+1가 된다. 이 경우 코딩 유닛(CUk+1)은 코딩 유닛(CUk)의 서브 코딩 유닛으로 나타낼 수 있다. 코딩 유닛(CUk+1)의 계층 레벨 또는 계층 깊이가 최대 허용 가능한 계층 레벨 또는 계층 깊이에 도달할 때까지 코딩 유닛(CUk+1)은 순환적으로(recursive) 처리될 수 있다. 코딩 유닛(CUk+1)의 계층 레벨 또는 계층 깊이가 최대 허용 가능한 계층 레벨 또는 계층 깊이-도 1에서는 4인 경우를 예로 들었음-과 동일한 경우에는 더 이상의 분할은 허용되지 않는다.
최대 코딩 유닛(LCU)의 크기 및 최소 코딩 유닛(SCU)의 크기는 시퀀스 파라미터 셋(SPS: Sequence Parameter Set)에 포함될 수 있다. 시퀀스 파라미터 셋(SPS)은 최대 코딩 유닛(LCU)의 최대 허용 가능한 계층 레벨 또는 계층 깊이를 포함할 수 있다. 예를 들어, 도 1의 경우는 최대 허용 가능한 계층 레벨 또는 계층 깊이는 5이고, 최대 코딩 유닛(LCU)의 한변의 크기가 128(단위: 픽셀)인 경우, 128x128(LCU), 64x64, 32x32, 16x16 및 8x8(SCU)의 5가지 종류의 코딩 유닛 크기가 가능하다. 즉, 최대 코딩 유닛(LCU)의 크기 및 최대 허용 가능한 계층 레벨 또는 계층 깊이가 주어지면 허용가능한 코딩 유닛의 크기가 결정될 수 있다.
상기한 바와 같이 코딩 유닛의 계층적인 분할 과정이 완료되면 더 이상의 분할 없이 코딩 유닛 계층 트리의 말단 코딩 유닛(leaf Coding Unit)에 대해 화면간 예측 또는 화면내 예측을 수행할 수 있으며, 이러한 말단 코딩 유닛이 화면간 또는 화면내 예측의 기본 단위인 예측 유닛(PU: Prediction Unit)으로 사용된다. 또한, 화면간 예측 또는 화면내 예측을 위하여 상기 말단 코딩 유닛에 대해 파티션(partition) 분할이 수행될 수 있다. 파티션 분할은 예측 유닛(PU)에 대해 수행된다. 여기서, 예측 유닛(PU)는 화면간 예측 또는 화면내 예측을 위한 기본 단위의 의미이며, 기존의 매크로 블록 단위 또는 서브-매크로 블록 단위가 될 수도 있고, 32 X 32 픽셀 크기 이상의 확장 매크로 블록 단위가 될 수도 있다.
예측과 관련된 모든 정보(움직임 벡터, 움직임 벡터의 차이값등)는 화면간 예측의 기본 단위인 예측 유닛별로 디코더로 전송된다.
이러한 예측 유닛을 화면간 예측하는 방법에는 직접(direct) 모드, 스킵(skip) 모드 및 병합(merge) 모드가 있다. 이 중 병합 모드는 하나의 픽처가 계층적으로 말단 코딩 유닛까지 분할한 후 현재 예측 유닛을 이전에 부호화된 후보와 병합하여 동일한 움직임 파라미터를 적용하여 디코더로 전송하는 것을 말한다. 여기서, 움직임 파라미터는 예컨대, 움직임 벡터, 움직임 벡터 차이값 등을 포함할 수 있다. 화면간 예측의 경우 모든 예측 블록들의 집합을 '임시 블록'이라고 하고, 특정 블록과의 병합이 허용되는 블록들의 집합을 '병합 가능 블록'이라고 정의한다.
상기 병합 가능 블록들의 기준은 예를 들어 현재 예측 유닛의 상단(top) 주변 샘플들 및 좌측(left) 주변 블록들, 또는 현재 예측 유닛의 상단(top) 주변 블록 및 좌측(left) 주변 블록의 2개 블록으로 미리 정해둘 수 있다. 또는, 상기 병합 가능 블록들의 기준은 2개 블록 이상, 예를 들어 현재 예측 유닛의 상단(top) 주변 블록들 전부 및 좌측(left) 주변 블록들 전부로 미리 정해둘 수도 있다.
상기 병합 가능 블록들의 기준은 인코더 및 디코더간에 서로 약속에 따라 미리 정해질 수 있다. 예를 들어, 디폴트(default) 값으로 상기와 같이 현재 예측 유닛의 상단(top) 주변 블록들 및 좌측(left) 주변 블록들로 정해놓고 별도로 병합 가능 블록들의 기준을 알려주는 정보를 디코더로 전송하지 않을 수도 있다. 또는 병합 가능 블록들의 기준을 나타내는 정보를 디코더로 보낼 수도 있다.
만약 병합 플래그가 '1'(true)인 경우 하기의 동작이 이루어진다. 만약 병합 가능 블록 집합이 단지 한 개 블록만을 포함하는 경우에는, 이러한 병합 가능 블록 집합에 포함된 한 개의 블록은 블록 병합에 사용된다. 병합 가능 블록 집합이 두 개의 블록을 포함하고 만약 이러한 두 개의 블록의 움직임 파라미터들이 동일하다면, 이러한 병합 가능 블록에 속하는 2개 블록의 움직임 파라미터들은 현재 예측 유닛에 대해서도 사용된다. 예를 들어 merge_left_flag가 '1'(true)인 경우, 병합 가능 블록 집합 중에서 현재 예측 유닛에 대한 상단-좌측 샘플 위치 중 좌측 주변 샘플 위치에 대응되는 블록이 선택될 수 있고, merge_left_flag가 '0'(false)인 경우, 병합 가능 블록 집합 중에서 현재 예측 유닛에 대한 상단-좌측 샘플 위치 중 나머지인 상단 주변 샘플 위치에 대응되는 블록이 선택될 수 있다. 상기와 같이 선택된 블록들에 대한 움직임 파라미터들은 현재 예측 유닛에 대해서도 사용된다.
상단-좌측 샘플 위치 중 직접(상단 또는 좌측) 주변 샘플들을 포함하는 블록들이 병합 가능 블록 집합 내에 포함될 수 있다. 따라서, 현재 예측 유닛은 병합 가능 블록 집합 내의 블록들과 병합된다. 만약 merge_flag가 0(false) 이면, 현재 예측 유닛은 어느 것과도 병합되지 않는다.
한편, 부호화 과정에서, 예측 블록(또는 예측된 예측 유닛)과 현재 블록(또는 현재 예측 유닛)을 감산하여 잔여값을 생성하고, 상기 잔여값(residue)을 DCT(Discrete Cosine Transform)변환하고 양자화한다. 여기서, 상기 잔여값을 변환함에 있어, 예측 유닛 크기 정보에 기초하여 변환을 수행할 수 있고, 예를 들어, 최대 32x32 또는 최대 64x64 픽셀 크기로 변환을 수행할 수 있다. 또는 변환에 있어, 예측 유닛 크기 정보와 독립적으로 별도의 변환 유닛(Transform Unit; TU) 단위로 변환을 수행할 수 있다. 예를 들어, 변환 유닛(TU) 크기는 최소 4 X 4 픽셀 크기부터 최대 32x32 픽셀 크기를 가질 수 있다. 또는 변환 유닛(TU)의 최대 크기는 32x32 픽셀 크기 이상- 예를 들어 64x64 픽셀 크기-를 가질 수도 있다. 상기 변환 유닛 크기 정보는 변환 유닛 정보에 포함되어 디코더로 전송될 수 있다.
도 2는 공간적인 후보로서의 주변 블록을 도시한 도면이다. 일반적인 경우, 주변 블록은 현재 예측 유닛과 접해 있는 여러가지 블록을 포함할 수 있다. 예컨대, 현재 예측 유닛의 좌측에 접해 있는 주변 블록 또는 현재 예측 유닛의 상단에 접해 있는 주변 블록이 모두 공간적인 후보로서 사용될 수 있다. 특히, 계층적인 구조를 갖는 부호화 방법에 있어서는 주변 블록의 크기가 일정하지 않을 수 있고, 현재 예측 유닛과 접해 있으면, 다른 블록 크기를 갖는 주변 블록들도 화면간 예측에 사용되는 주변 블록으로 활용될 수 있다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 3차원 영상 부호화 방법에서의 현재 예측 유닛(PU)에 대한 화면간 예측(inter prediction) 시에 사용될 수 있는 공간적인 주변 블록은 블록 A1(101), 블록 A0(102), 블록 B1(103), 블록 B0(104) 및 블록 B2(105)을 포함할 수 있다. 상기 블록들(101, 102, 103, 104, 105)은 실험적으로 화면간 예측에 의해 움직임 벡터를 예측할 시 예측 움직임 벡터의 후보로서 가장 확률이 높은 블록들이다. 상기 블록들(101, 102, 103, 104, 105)은 움직임 벡터 예측시 우선 순위를 정하여 예측 움직임 벡터로 사용할 수 있는지 판단하게 된다. 상기 우선 순위는 A1(101), 블록 A0(102), 블록 B1(103), 블록 B0(104) 및 블록 B2(105) 순이 사용될 수 있고, 상기 우선 순위를 기반으로 순차적으로 후보 예측 움직임 벡터로 이용가능한지 판단하여 이용 가능한 2개의 움직임 벡터를 최종 후보 예측 움직임 벡터로 선정할 수 있다.
도면에 도시되진 않았지만, 본 발명의 다른 실시예에 따르면, 3차원 영상 부호화 방법에서의 현재 예측 유닛(100)의 공간적인 주변 블록은 현재 예측 유닛(100)의 좌측에 접해 있는 블록, 현재 예측 유닛(100)의 상단에 접해 있는 블록 및 현재 예측 유닛(100)의 우상단 블록을 포함할 수 있다.
또한, 본 발명의 또 다른 실시예에 따르면, 3차원 영상 부호화 방법에서 현재 예측 유닛(100)의 공간적인 주변 블록은 현재 예측 유닛(100)의 좌측 최상단에 접해 있는 블록, 현재 예측 유닛(100)의 상단 최좌측에 접해 있는 블록, 현재 예측 유닛(100)의 우상단 블록을 포함할 수 있다.
상기 본 발명의 다른 실시예 및 또 다른 실시예에 있어서, 주변 블록의 움직임 벡터를 사용하여 수형 성분과 수직 성분 각각의 중앙값을 사용하여 현재 예측 유닛(100)의 예측 움직임 벡터를 생성할 수 있다.
도 3은 시간적인(temporal) 후보로서의 주변 블록을 도시한 도면이다. 도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 3차원 영상 부호화 방법에서의 현재 예측 유닛에 대한 화면간 예측(inter prediction) 시에 사용될 수 있는 시간적인 주변 유닛은 블록 TBR(130)을 포함할 수 있다. 도 3을 참조하면, 블록 TBR(130)은 참조 픽처에서 현재 예측 유닛과 대응되는 위치의 블록(120)의 주변 블록 중 최우측 하단의 주변 블록에 우측에 접해 있는 블록이다. 시간적인 후보 블록은 블록 TBR(130) 하나만 예측 움직임 벡터의 후보 블록으로서 고려할 수 있다.
도 2 및 도 3을 참조하면, 현재 예측 유닛(100)의 현재 예측 유닛(100)의 좌측 최하단의 블록(101), 블록(101)의 하단에 접해 있는 블록(102), 현재 예측 유닛(100)의 상단의 최우측의 블록(103), 블록(103)의 우측에 접해 있는 블록(104), 및 현재 예측 유닛(100)의 좌상단 블록(105) 및 이전 참조 영상의 현재 예측 유닛과 대응되는 위치에서 우하단 대각선에 위치한 블록(130), 총 6개의 주변 블록이 현재 예측 유닛(100)의 움직임 벡터를 예측하는데 사용될 수 있다. 즉, 총 6개의 주변 블록의 움직임 벡터가 현재 예측 유닛(100)의 예측 움직임 벡터를 결정하는 예측 움직임 벡터 후보군이 되는 것이다. 경우에 따라 현재 예측 유닛의 움직임 벡터를 예측하는데 이용할 수 없는 주변 블록이 존재하는데 이 경우에는 화면간 예측에 상기와 같이 사용불가능한 주변 블록을 사용하지 않는다.
이용할 수 없는 경우는 예컨대, 상기 주변 블록이 화면간(inter) 예측이 아닌 경우, 즉 화면내(intra) 예측인 경우 예측 움직임 벡터값을 갖지 않기 때문에 이용할 수 없고, 사물의 에지(edge)에 존재하여 움직임 벡터값이 크게 변하는 경우, 현재 예측 유닛(100)의 예측 움직임 벡터의 후보로 사용하기에는 적합하지 않아 이용할 수 없는 경우로 분류한다.
다음으로, 전술한 바와 같이 6 개의 예측 움직임 벡터의 후보군 중에서 사용 가능한 예측 움직임 벡터로 3개의 최종 예측 움직임 벡터 후보를 정하고 이를 기반으로 비트 스트림을 생성한다. 여기서 3개의 예측 움직임 벡터 후보는 공간적인 후보 2개 및 시간적인 후보 1개를 포함할 수 있다. 비트 스트림을 생성할 때, 각각의 비트와 움직임 벡터와의 대응 관계는 다음의 표를 통해 살펴볼 수 있다.
표 1
Figure PCTKR2012011576-appb-T000001
표 1을 참조하면, 총 3개의 예측 움직임 벡터만 저장할 수 있음을 알 수 있다. 상위 2개는 주변 블록 A1~B2 중에서 2개의 예측 움직임 벡터가 들어가고 나머지 한 개는 블록(130)의 움직임 벡터가 들어가게 된다. 그리고 3개의 최종 예측 움직임 벡터는 순서대로 S0, S1, S2의 인덱스(index)가 부여된다. 이렇게 선정된 3개의 예측 움직임 벡터 후보 중에서 현재 예측 유닛(100)의 예측 움직임 벡터를 선택하게 된다.
이때, 후보가 비트(bit)화 되는 표 1을 참조하면, 첫 번째 움직임 벡터의 인덱스는 1 비트(bit)로 정해져 있다. 따라서 우선 순위에 있는 2개의 후보를 최종 예측 움직임 벡터 후보로 선택하고 최우선 순위에 있는 예측 움직임 벡터 후보의 인덱스에 상대적으로 적게 비트가 할당되어 있기 때문에 정해진 우선 순위와 다른 결과가 나올 경우에는 마지막에 보내질 예측 움직임 벡터의 인덱스 코딩(coding)에 많은 비트가 사용되어 전송 효율이 좋지 않을 수 있다.
따라서, 가장 선택될 확률이 높은 후보를 우선적으로 확인하여 그 움직임 벡터를 첫 번째 인덱스를 부여하는 것이 데이터 효율 측면에서 중요하다. 이때, 일반적으로 사용될 수 있는 우선 순위를 제 1 우선 순위로 정의할 수 있다. 제 1 우선 순위는 상기한 바와 같이, 실험적으로 정해진 우선 순위로서 그 순서를 도 3을 참조하여 설명하면, 블록 A1(101)->블록 A0(102)->블록 B1(103)->블록 B0(104)->블록 B2(105)의 순이고, 이 순서대로 하나씩 주변 블록의 움직임 벡터가 이용 가능한 블록이면 바로 그 블록의 움직임 벡터에 인덱스를 부여한다. 사용 불가능하면 다음 순서로 넘어가게 된다. 따라서, 움직임 벡터의 이용 가능성을 판단하는 우선 순위는 매우 중요하다. 우선 순위에 기재된 움직임 벡터의 순서에 따라서, 현재 예측 유닛(100)의 예측 움직임 벡터가 달라질 수 있기 때문이다. 따라서, 영상의 특성에 따라 주변 블록을 참조하는 순서를 유동적으로 바꾸는 방법이 있을 수 있다. 즉, 첫 번째 후보에 주변 블록 중 예측 움직임 벡터로 선택될 확률이 가장 높은 주변 블록이 처음으로 인덱스를 부여받게 되는 블록이 되게 하면, 전송 효율 측면에서 이득을 얻을 수 있다.
본 발명의 일 실시예에 따른 3차원 영상 부호화 방법은 상기와 같은 주변 블록을 사용함에 있어서, 3차원 영상의 효율적인 부호화를 위해 주변 블록의 깊이(depth) 정보를 고려한다. 3차원 영상의 경우, 3차원의 특성상 깊이 정보가 존재하며, 부호화기에서 깊이 정보를 구해 복호화기로 다시점 비디오 영상과 깊이 정보를 함께 전송하는 것이 일반적이다.
따라서, 상기와 같이 주변 블록(101, 102, 103, 104, 105)을 활용하되, 상기 주변 블록(101, 102, 103, 104, 105)의 깊이 정보를 기반으로 예측 움직임 벡터의 후보를 결정할 수 있다.
즉, 현재 예측 유닛(100)과 동일한 깊이 정보를 갖는 주변 블록은 현재 예측 유닛(100)과 동일한 객체로 추정할 수 있으므로 동일한 움직임 벡터를 가진 것으로 추정할 수 있다. 따라서, 일반적인 움직임 벡터 선정 방식에 3차원의 특성인 깊이 정보를 접목하여 현재 예측 유닛(100)의 움직임 벡터 예측의 후보로 사용할 수 있다. 즉, 현재 예측 유닛(100)의 움직임 벡터의 예측 값으로 사용할 수 있다.
본 발명의 실시예에 따르면 상기 현재 예측 유닛(100)의 주변 블록, 예컨대 좌측에 접해 있는 주변 블록 및 상단에 접해 있는 주변 블록 중에서 두 개의 공간적인 예측 움직임 벡터에 대한 후보 블록을 선정할 수 있는데 이때, 상기 주변 블록의 깊이 정보를 기반으로 현재 예측 유닛(100)과 동일한 깊이도를 갖는 주변 블록을 예측 움직임 벡터에 대한 후보 블록으로 선정할 수 있다.
본 발명의 일 실시예에 따르면, 상기 주변 블록(101, 102, 103, 104, 105)의 움직임 벡터 중에서 두 개의 공간적인 예측 움직임 벡터 후보를 선정할 수 있는데, 주변 블록(101, 102, 103, 104, 105)의 깊이 정보를 추출하여, 현재 예측 유닛(100)과 비교를 수행할 수 있다. 이때, 주변 블록 중 블록 A1(101)은 2의 깊이도를 갖고, A0(102)는 1의 깊이도, B1(103)은 4의 깊이도, B0(104)는 3의 깊이도, B2(105)는 2의 깊이도를 갖으며, 현재 예측 유닛(100)은 2의 깊이도를 갖는 경우, 상기 현재 예측 유닛(100)과 동일한 2의 깊이도를 갖는 A1(101)과 B2(105)의 움직임 벡터가 현재 예측 유닛(100)의 움직임 벡터 예측을 위한 후보로 선정될 수 있다. 이때, 동일한 깊이 정보를 갖는 주변 블록이 2개 이상인 경우, 상기한 제 1 우선 순위에 따라 예측 움직임 벡터의 공간적인 후보를 선정할 수 있다.
본 발명의 다른 실시예에 따르면, 비교 결과, 주변 블록(101, 102, 103, 104, 105) 중 현재 예측 유닛(100)과 동일한 깊이도를 갖는 주변 블록이 없는 경우, 일반적인 예측 움직임 벡터 후보 선정 방식인 제 1 우선 순위를 사용하여 블록 A1(101)->블록 A0(102)->블록 B1(103)->블록 B0(104)->블록 B2(105)의 순으로 이용 가능 여부를 판단하여 공간적인 후보 2개를 선정할 수 있다.
또 다른 실시예에 따르면, 비교 결과 동일한 깊이도를 갖는 주변 블록이 없는 경우, 현재 예측 유닛(100)과의 깊이도 차이를 기반으로 현재 예측 유닛(100)과 가장 깊이도 차이가 작은 주변 블록의 움직임 벡터를 현재 예측 유닛(100)을 위한 예측 움직임 벡터의 후보로 사용할 수 있다.
상기한 바와 같이, 3차원 영상 부호화 방법에서의 현재 예측 유닛(100)의 공간적인 주변 블록은 현재 예측 유닛(100)의 좌측에 접해 있는 블록, 현재 예측 유닛(100)의 상단에 접해 있는 블록 및 현재 예측 유닛(100)의 우상단 블록을 포함할 수 있고, 또는 현재 예측 유닛(100)의 좌측 최상단에 접해 있는 블록, 현재 예측 유닛(100)의 상단 최좌측에 접해 있는 블록, 현재 예측 유닛(100)의 우상단 블록을 포함할 수 있다.
경우에 따라서, 상기 주변 블록의 움직임 벡터를 사용하여 수형 성분과 수직 성분 각각의 중앙값을 사용하여 현재 예측 유닛(100)의 예측 움직임 벡터를 생성할 수 있다.
또는 본 발명의 다른 실시예에 따르면, 현재 예측 유닛(100)의 주변 블록(101, 102, 103, 104, 105)의 깊이 정보 및/또는 현재 뷰(view)의 현재 예측 유닛(100)과 대응되는 인접 뷰(view)의 대응 블록의 깊이 정보를 기초로 예측 움직임 벡터를 생성할 수도 있다. 부호화기에서는 상기 예측 움직임 벡터(또는 후보 움직임 벡터)를 기초로 화면간 예측을 수행하여 상기 현재 예측 유닛의 움직임 벡터를 예측하여 복호화기로 전송하고, 복호화기에서는 상기 현재 예측 유닛의 이미 부호화된 주변 블록 및/또는 현재 뷰(view)의 현재 예측 유닛(100)과 대응되는 인접 뷰(view)의 대응 블록 중에서 상기 현재 예측 유닛과 동일한 깊이를 갖는 주변 블록 또는 대응 블록의 움직임 벡터를 상기 현재 예측 유닛의 후보 예측 움직임 벡터로 선정하여 상기 후보 예측 움직임 벡터를 기반으로 화면간 예측을 수행하여 상기 현재 예측 유닛의 움직임 벡터를 예측하여 영상을 복원할 수 있다. 즉, 현재 예측 유닛(100)과 동일한 깊이 정보를 갖는 주변 블록 및/또는 인접 뷰(view)의 대응 예측 유닛은 현재 예측 유닛(100)과 동일한 객체로 추정할 수 있으므로 동일한 움직임 벡터를 가진 것으로 추정할 수 있다. 따라서, 일반적인 움직임 벡터 선정 방식에 3차원의 특성인 깊이 정보를 접목하여 현재 예측 유닛(100)의 움직임 벡터 예측의 후보로 사용할 수 있다. 즉, 현재 예측 유닛(100)의 움직임 벡터의 예측 값으로 사용할 수 있다.
본 발명의 일 실시예에 따른 3차원 영상 부호화 방법에 따르면, 깊이도를 기반으로 현재 예측 유닛(100)과 동일한 깊이도를 갖는 주변 블록의 움직임 벡터를 현재 예측 유닛(100)의 예측 움직임 벡터 후보로 사용하기 때문에 현재 예측 유닛(100)의 예측 움직임 벡터로서의 정확도를 제고시킬 수 있고, 특히 먼저 선정된 예측 움직임 벡터가 낮은 비트로 비트화되기 때문에 전송 효율 측면에서도 유리할 수 있다.
도 4는 본 발명의 일 실시예에 따른 3차원 영상 부호화 장치를 개략적으로 나타낸 블록도이다. 도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 3차원 영상 부호화 장치는 주변 블록 선정부(410), 깊이 정보 비교부(420), 후보 예측 움직임 벡터 추출부(430), 화면간 예측부(440) 및 전송부(450)를 포함할 수 있다.
도 4를 참조하면, 주변 블록 선정부(410)는 움직임 벡터 예측을 위한 현재 예측 유닛(100)의 주변 블록을 선정한다. 주변 블록 선정부(410)에서 선정된 주변 블록의 움직임 벡터는 현재 예측 유닛(100)을 움직임 벡터를 예측하는데 사용될 수 있다. 이때, 주변 블록은 도 2의 주변 블록(101, 102, 103, 104, 105)을 공간적인 주변 블록 후보로, 도 3의 블록(130)을 시간적인 주변 블록 후보로 사용할 수 있다.
다음으로, 깊이 정보 비교부(420)는 상기 주변 블록 선정부(410)에서 선정된 주변 블록(101, 102, 103, 104, 105)의 깊이 정보를 현재 예측 유닛(100)의 깊이 정보와 비교한다. 깊이 정보 비교를 위해 주변 블록(101, 102, 103, 104, 105)과 현재 예측 유닛(100)의 깊이 정보를 추출해야 한다. 그리고는 추출된 주변 블록(101, 102, 103, 104, 105)의 깊이도와 현재 예측 유닛(100)의 깊이도를 비교한다.
후보 예측 움직임 벡터 추출부(430)는 동일한 깊이도를 갖는 주변 블록의 움직임 벡터를 현재 예측 유닛(100)의 후보 예측 움직임 벡터로 선정하여 상기 주변 블록의 움직임 벡터를 추출한다.
화면간 예측부(440)는 상기 후보 예측 움직임 벡터 추출부(430)에서 추출된 움직임 벡터를 기반으로 화면간 예측을 수행하여 현재 예측 유닛(100)의 움직임 벡터를 최종 예측할 수 있고, 이를 기반으로 예측 유닛을 생성한다.
전송부(450)는 화면간 예측부(440)에서 생성된 예측 부호화 정보를 기반으로 예측 유닛에 대한 비트 스트림을 생성하여 이를 수신측으로 전송한다.
도 5는 본 발명의 일 실싱예에 따른 3차원 영상 부호화 방법을 개략적으로 나타낸 흐름도이다. 도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 3차원 영상 부호화 방법은 현재주변 블록 선정 단계(510), 주변 블록과 현재 예측 유닛의 깊이 정보 비교 단계(520), 현재 예측 유닛과 동일한 깊이도를 갖는 주변 블록의 움직임 벡터 추출 단계(530), 추출된 후보 움직임 벡터를 기반으로 화면간 예측 수행하는 단계(540) 및 예측 부호화 정보를 기반으로 비트스트림을 생성하여 수신측으로 전송(550)를 포함할 수 있다.
도 5를 참조하면, 주변 블록 선정 단계(510)에서, 영상 부호화 장치는 움직임 벡터 예측을 위한 현재 예측 유닛(100)의 주변 블록을 선정한다. 선정된 주변 블록의 움직임 벡터는 현재 예측 유닛(100)을 움직임 벡터를 예측하는데 사용될 수 있다. 이때, 주변 블록은 도 2의 주변 블록(101, 102, 103, 104, 105)을 공간적인 주변 블록 후보로, 도 3의 블록(130)을 시간적인 주변 블록 후보로 사용할 수 있다.
다음으로, 깊이 정보 비교 단계(520)에서, 영상 부호화 장치는 상기 주변 블록 선정 단계(510)에서 선정된 주변 블록(101, 102, 103, 104, 105)의 깊이 정보를 현재 예측 유닛(100)의 깊이 정보와 비교한다. 깊이 정보 비교를 위해 주변 블록(101, 102, 103, 104, 105)과 현재 예측 유닛(100)의 깊이 정보를 추출해야 한다. 그리고는 추출된 주변 블록(101, 102, 103, 104, 105)의 깊이 정보와 현재 예측 유닛(100)의 깊이도를 비교한다.
후보 예측 움직임 벡터 추출 단계(530)에서, 영상 부호화 장치는 동일한 깊이도를 갖는 주변 블록의 움직임 벡터를 현재 예측 유닛(100)의 후보 예측 움직임 벡터로 선정하여 상기 주변 블록의 움직임 벡터를 추출한다.
화면간 예측 단계(540)는 상기 후보 예측 움직임 벡터 추출 단계(530)에서 추출된 움직임 벡터를 기반으로 화면간 예측을 수행하여 현재 예측 유닛(100)의 움직임 벡터를 최종 예측할 수 있고, 이를 기반으로 예측 유닛을 생성한다.
전송 단계(550)에서, 영상 부호화 장치는 화면간 예측 단계(540)에서 생성된 예측 유닛에 대한 비트 스트림을 수신측으로 전송한다.
본 발명의 실시예들에 따른 3차원 영상 복호화 장치 및 복호화 방법에서는, 전술한 부호화기로부터 전송된 비트 스트림를 이용하여 해당 블록의 움직임 벡터를 복원하여 움직임 예측부에서 블록 단위로 움직임 벡터를 생성하고, 움직임 보상부에서 상기 움직임 예측부에서 생성된 움직임 벡터와 참조 픽처를 이용하여 움직임 보상을 수행한다.
도 6은 본 발명의 일 실시예에 따른 블록 병합을 이용한 영상 부호화 방법을 설명하기 위한 개념도이다. 도 6에 도시된 바와 같이, 현재 예측 유닛(600)에 대해 주변 샘플들을 포함하는 주변 블록으로 구성된 병합 가능 블록 집합에 속하는 블록들을 이용하여 현재 예측 유닛과 병합하는 블록 병합을 수행할 수 있다.
블록 병합을 수행함에 있어서, 4개의 공간적 후보와 1개의 시간적 후보를 현재 예측 유닛과 병합될 수 있는 후보로 선정할 수 있다. 여기서 1개의 시간적 후보는 현재 예측 유닛(600)이 N번째 픽처(또는 프레임)에 속해 있는 블록이라고 가정하였을 때, 이전 픽처(또는 프레임), 즉 N-1번째 픽처에 속해 있는 현재 예측 유닛(600)에 대응되는 블록(610)이 될 수 있다. 따라서, 현재 예측 유닛(600)은 블록(610)과 병합될 수 있고, 블록(610)의 움직임 파라미터와 동일한 파라미터를 적용하여 디코더로 전송할 수 있다.
다음으로, 4개의 공간적인 병합 가능 블록 집합에 속하는 샘플들을 선정할 수 있다. 바람직하게는 부호화 효율을 고려하였을 때, 상기 현재 예측 유닛의 좌측의 최하단의 블록(601), 블록(601)의 하단에 접해 있는 블록(602), 상기 현재 예측 유닛의 상단의 최우측의 블록(603), 블록(603)의 우측에 접해 있는 블록(604) 및 상기 현재 예측 유닛의 좌상단 블록(605)을 선정할 수 있다.
이때, 전술한 바와 같이 병합 가능 블록 집합에 속하는 샘플들은 5개인데 실제 공간적인 후보는 4개가 된다. 따라서, 순서를 정하여서 후보를 유도하고, 후보 유도 도중에 공간적인 후보 4개가 모두 이용가능하면 마지막 후보는 후보 유도가 필요하지 않게 되는 방식으로 후보를 선정한다.
일반적으로, 공간적인 후보를 선정하는 순서는 블록(601), 블록(603), 블록(604), 블록(602) 및 블록(605) 순으로 공간적인 후보를 선정한다. 예컨대, 블록(601), 블록(603), 블록(604) 및 블록(602)이 모두 공간적인 후보로 이용가능하다면 블록(605)은 후보 선정시 고려하지 않는다. 하지만, 상기 블록(601, 603, 604, 602) 중 하나 이상 이용가능하지 않다면, 그것을 제외하고 블록(605)을 후보에 포함시킬 수 있다.
본 발명의 일 실시예에 따른 3차원 영상 부호화 방법은 상기와 같은 주변 블록을 사용함에 있어서, 3차원 영상의 효율적인 부호화를 위해 주변 블록의 깊이(depth) 정보를 고려한다. 3차원 영상의 경우, 3차원의 특성상 깊이 정보가 존재하며, 부호화기에서 깊이 정보를 구해 복호화기로 다시점 비디오 영상과 깊이 정보를 함께 전송하는 것이 일반적이다.
따라서, 상기와 같이 주변 블록(601, 602, 603, 604, 605)을 활용하고, 또한 순서에 따라 주변 블록(601, 602, 603, 604, 605)의 블록 병합 여부를 판단하되, 깊이 정보를 더 고려하여 블록 병합 여부를 판단할 수 있다.
즉, 현재 예측 유닛(600)과 동일한 깊이 정보를 갖는 주변 블록은 현재 예측 유닛(600)과 동일한 객체로 추정할 수 있고, 따라서 동일한 움직임 벡터를 가진 것으로 추정할 수 있다. 따라서, 일반적인 블록 병합 후보 선정 방식에 3차원의 특성인 깊이 정보를 더 포함하여 현재 예측 유닛(600)의 블록 병합의 후보로 사용할 수 있다.
본 발명의 실시예에 따르면, 상기 주변 블록(601, 602, 603, 604, 605) 중에서 4개의 공간적인 병합 가능 후보를 선정할 수 있다. 이때, 주변 블록(601, 602, 603, 604, 605)의 깊이 정보를 추출하여, 현재 예측 유닛과 비교를 수행할 수 있다. 주변 블록 중 블록(601), 블록(602), 블록(603) 및 블록(604)이 현재 예측 유닛(600)과 동일한 깊이도를 갖는다면, 상기 블록(601, 602, 603, 604)은 병합 가능 블록 집합에 포함된다. 상기 주변 블록(601, 602, 603, 604, 605)이 모두 동일한 깊이도를 갖는 경우에는 상기 블록 병합 후보 선정 순서에 입각하여 블록(601, 602, 603, 604)이 모두 이용가능하다면, 블록(605)을 제외한 나머지 블록(601, 602, 603, 604)이 병합 가능 블록 집합에 포함된다. 하지만, 블록(601, 602, 603, 604) 중 어느 하나라도 병합 후보로 이용할 수 없다면 블록(605)은 병합 가능 블록 집합에 포함될 수 있다.
본 발명의 다른 실시예에 따르면, 비교 결과, 주변 블록(601, 602, 603, 604, 605) 중 현재 예측 유닛(600)과 동일한 깊이도를 갖는 주변 블록이 없는 경우, 일반적인 블록 병합 후보 선정 방식을 사용하여 블록(601)->블록(603)->블록(602)->블록(604)->블록(605)의 순으로 이용 가능 여부를 판단하여 공간적인 후보 4개를 선정할 수 있다.
또 다른 실시예에 따르면, 비교 결과 동일한 깊이도를 갖는 주변 블록이 없는 경우, 현재 예측 유닛(600)과의 깊이도 차이를 기반으로 현재 예측 유닛(600)과 가장 깊이도 차이가 작은 주변 블록을 현재 예측 유닛(600)과 병합 가능한 후보 블록으로 사용할 수 있다.
본 발명의 일 실시예에 따른 3차원 영상 부호화 방법에 따르면, 깊이도를 기반으로 현재 예측 유닛(600)과 동일한 깊이도를 갖는 주변 블록을 현재 예측 유닛(600)의 병합 가능 블록 후보로 선정하여 화면간 예측에 사용하기 때문에 현재 예측 유닛(600)의 부호화의 정확도를 제고시킬 수 있고, 정확한 예측을 통해 화질을 개선을 유도할 수 있다.
상기한 방법을 통해 블록 병합을 위한 후보 블록 집합을 선정한 후, 블록 병합을 위한 최종 블록을 선정함에 있어서, 상기 병합 가능 블록 집합에 포함된, 현재 예측 유닛(600)의 주변 블록들을 대상으로 움직임 벡터가 동일한지에 대한 판단을 통해 움직임 벡터가 동일한 주변 블록을 블록 병합을 위한 최종 블록으로 선정하여 블록 병합을 수행할 수 있다.
도 7a 내지 도 7c는 본 발명의 일 실시예에 따른 주변 블록의 파티션된 형태를 도시한 도면이다. 도 7a는 하나의 픽처를 쿼드트리 기반 분할(quadtree-based division) 방식으로 예측 블록들(prediction blocks)로 분할한 경우를 나타낸다. 도 7a의 상단의 가장 큰 크기의 2개의 블록(P1, P2)은 매크로 블록으로서 가장 큰 크기의 예측 블록이다. 도 7a의 나머지 블록들은 해당 매크로블록의 부분 분할(subdivision)에 의해 얻어진다. 현재 예측 유닛은 'X'로 표시하였다.
병합 가능 블록은 다음과 같이 생성될 수 있다.
현재 예측 유닛의 상단-좌측(top-left) 샘플 위치로부터 시작하면, 현재 예측 유닛의 좌측 주변 샘플 위치 및 현재 예측 유닛의 상단 주변 샘플 위치가 블록 병합을 위한 후보 블록 위치가 된다. 병합 가능 블록들의 집합이 비어 있지 않은 경우(not empty)에는, 현재 예측 유닛이 병합 가능 블록과 병합됨을 나타내는 병합 플래그가 디코더로 전송된다. 그렇지 않은 경우, 즉, 병합 플래그가 '0'(false)인 경우, 병합 가능한 블록이 존재하지 않는 경우로서 임시블록들 중 어느 하나의 블록과도 블록 병합이 이루어지지 않은 채 움직임 파라미터들이 디코더로 전송된다.
만약 병합 플래그가 '1'(true)인 경우 하기의 동작이 이루어진다. 만약 병합 가능 블록 집합이 단지 한 개 블록만을 포함하는 경우에는, 이러한 병합 가능 블록 집합에 포함된 한 개의 블록은 블록 병합에 사용된다. 병합 가능 블록 집합이 두 개의 블록을 포함하고 만약 이러한 두 개의 블록의 움직임 파라미터들이 동일하다면, 이러한 병합 가능 블록에 속하는 2개 블록의 움직임 파라미터들은 현재 예측 유닛에 대해서도 사용된다. 예를 들어 merge_left_flag가 '1'(true)인 경우, 병합 가능 블록 집합 중에서 현재 예측 유닛 X에 대한 상단-좌측 샘플 위치 중 좌측 주변 샘플 위치가 선택될 수 있고, merge_left_flag가 '0'(false)인 경우, 병합 가능 블록 집합 중에서 현재 예측 유닛 X에 대한 상단-좌측 샘플 위치 중 나머지인 상단 주변 샘플 위치가 선택될 수 있다. 상기와 같이 선택된 블록들에 대한 움직임 파라미터들은 현재 예측 유닛에 대해서도 사용된다.
도 7a를 참조하면, 상단-좌측 샘플 위치 중 직접(상단 또는 좌측) 주변 샘플들을 포함하는 블록들('Ao', 'Bo')이 병합 가능 블록 집합 내에 포함될 수 있다. 따라서, 현재 예측 유닛 X는 블록 Ao 또는 블록 Bo와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 예측 유닛 X는 블록 Ao 및 블록 Bo 어느 것과도 병합되지 않는다. 만약 블록 Ao 및 블록 Bo가 동일한 움직임 파라미터들을 가진다면 블록 Ao 및 블록 Bo 2개 블록들 중 어느 하나와 병합하더라도 동일한 결과가 얻어지므로 두 개의 블록 Ao 및 블록 Bo를 구분할 필요는 없다. 따라서, 이 경우에는 merge_left_flag는 전송될 필요가 없다. 그렇지 않은 경우, 즉 만약 블록 Ao 및 블록 Bo가 서로 다른 움직임 파라미터들을 가진다면, merge_left_flag가 1이면 현재 예측 유닛 X는 블록 Bo와 병합되고, merge_left_flag가 0이면 현재 예측 유닛 X는 블록 Ao와 병합된다.
도 7b 및 도 7c는 본 발명의 다른 실시예에 따른 비대칭적 파티션 분할(asymmetric partitioning)의 경우 블록 병합(block merging)을 이용한 부호화 방법을 설명하기 위한 개념도이다. 도 7b 및 도 7c는 화면간 예측시 기하학적 파티션 분할을 사용하는 경우의 블록 병합을 2 개의 예를 들어 설명한 것으로서 도 7b및 도 7c에 도시된 경우로만 한정되는 것은 아니며, 다양한 파티션 분할의 경우들의 조합에 대해서도 본 발명의 다른 실시예에 따른 블록 병합을 적용할 수 있음은 물론이다.
도 7b를 참조하면, 현재 예측 유닛 X의 상단-좌측 샘플 위치 중 상단 또는 좌측 주변 샘플들을 포함하는 블록들('A1a', 'B1a' 블록)이 병합 가능 블록 집합 내에 포함될 수 있다. 따라서, 현재 예측 유닛 X는 블록 A1a 또는 블록 B1a와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 예측 유닛 X는 블록 A1a 및 블록 B1a 어느것과도 병합되지 않는다. 예를 들어 merge_left_flag가 '1'(true)인 경우, 병합 가능 블록 집합 중에서 현재 예측 유닛 X에 대한 상단-좌측 샘플 위치 중 좌측 주변 샘플들을 포함하는 블록 B1a가 현재 예측 유닛 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0'(false)인 경우, 병합 가능 블록 집합 중에서 현재 예측 유닛 X에 대한 상단-좌측 샘플 위치 중 나머지인 상단 주변 샘플들을 포함하는 블록 A1a가 현재 예측 유닛 X와 병합하기 위하여 선택될 수 있다.
도 7c를 참조하면, 현재 예측 유닛 X는 병합 가능 블록 집합에 속하는 블록 A1b 또는 블록 B1b와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 예측 유닛 X는 블록 A1b 및 블록 B1b 어느것과도 병합되지 않는다. merge_left_flag가 '1'(true)인 경우, 병합 가능 블록 집합 중에서 블록 B1b가 현재 예측 유닛 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0'(false)인 경우, 블록 A1b가 현재 예측 유닛 X와 병합하기 위하여 선택될 수 있다.
상기한 바와 같이, 대칭적 파티션 분할에 의해 생성된 주변 블록뿐만 아니라, 비대칭적 파티션 분할에 의해 생성된 주변 블록도 블록 병합을 위한 후보 블록으로서 사용될 수 있다. 또한, 기하하적 파티션 분할에 의해 생성된 주변 블록도 블록 병합을 위해 활용될 수 있다.
도 8은 본 발명의 일 실시예에 따른 블록 병합을 이용하는 3차원 영상 부호화 장치의 구성을 나타내는 블록도이다. 도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 3차원 영상 부호화 장치는 주변 블록 선정부(810), 깊이 정보 비교부(820), 병합 가능 블록 집합 선택부(830), 화면간 예측부(840) 및 전송부(850)를 포함할 수 있다.
도 8를 참조하면, 주변 블록 선정부(810)는 블록 병합을 위한 후보로서의 현재 예측 유닛(600)의 주변 블록을 선정한다. 주변 블록 선정부(810)에서 선정된 주변 블록은 현재 예측 유닛(600)과 병합될 수 있다. 이때, 주변 블록으로는 도 6의 주변 블록(601, 602, 603, 604, 605)을 공간적인 주변 블록 후보로 사용할 수 있다.
다음으로, 깊이 정보 비교부(820)는 상기 주변 블록 선정부(810)에서 선정된 주변 블록(601, 602, 603, 604, 605)의 깊이 정보를 현재 예측 유닛(600)의 깊이 정보와 비교한다. 깊이 정보 비교를 위해 주변 블록(601, 602, 603, 604, 605)과 현재 예측 유닛(600)의 깊이 정보를 추출해야 한다. 그리고는 추출된 주변 블록(601, 602, 603, 604, 605)의 깊이도와 현재 예측 유닛의 깊이도를 비교한다.
병합 가능 블록 집합 선택부(830)는 동일한 깊이도를 갖는 주변 블록을 선택하여 병합 가능 블록 집합을 생성한다. 즉, 현재 예측 유닛(600)의 후보 병합 블록으로 선정한다.
블록 병합부(840)는 상기 병합 가능 블록 집합 선택부(830)에서 선택된 주변 블록을 기반으로 블록 병합을 수행하여 병합된 블록별로 움직임 파라미터를 생성한다. 이때, 움직임 벡터가 동일한지에 대한 판단을 통해 블록 병합을 위한 최종 블록을 선정하여 상기 선정된 블록과 현재 예측 유닛과의 블록 병합을 수행하는 것이 바람직할 수 있다.
전송부(850)는 블록 병합부(840)에서 생성된 병합된 블록별 움직임 파라미터를 복호화기로 전송한다.
도 9는 본 발명의 일 실시예에 따른 블록 병합을 이용하는 3차원 영상 부호화 방법을 나타내는 흐름도이다. 도 7에 도시된 바와 같이, 본 발명의 일 실시예에 따른 3차원 영상 부호화 방법은 현재 주변 블록 선정 단계(910), 주변 블록과 현재 예측 유닛의 깊이 정보 비교 단계(920), 현재 예측 유닛과 동일한 깊이도를 갖는 주변 블록을 병합 가능 블록 집합으로 선택 단계(930), 병합 가능 블록을 기반으로 블록 병합을 수행하는 단계(940) 및 병합된 블록별 움직임 파라미터를 복호화기로 전송하는 단계(950)를 포함할 수 있다.
도 9를 참조하면, 주변 블록 선정 단계(910)에서, 영상 부호화 장치는 블록 병합을 위한 후보로서의 현재 예측 유닛(600)의 주변 블록을 선정한다. 주변 블록 선정 단계(910)에서 선정된 주변 블록은 현재 예측 유닛(600)과 병합될 수 있다. 이때, 주변 블록으로는 도 6의 주변 블록(601, 602, 603, 604, 605)을 공간적인 주변 블록 후보로 사용할 수 있다.
다음으로, 깊이 정보 비교 단계(920)에서, 영상 부호화 장치는 상기 주변 블록 선정 단계(910)에서 선정된 주변 블록(601, 602, 603, 604, 605)의 깊이 정보를 현재 예측 유닛(600)의 깊이 정보와 비교한다. 깊이 정보 비교를 위해 주변 블록(601, 602, 603, 604, 605)과 현재 예측 유닛(600)의 깊이 정보를 추출해야 한다. 그리고는 추출된 주변 블록(601, 602, 603, 604, 605)의 깊이도와 현재 예측 유닛의 깊이도를 비교한다.
병합 가능 블록 집합 선택 단계(930)에서, 영상 부호화 장치는 동일한 깊이도를 갖는 주변 블록을 선택하여 병합 가능 블록 집합을 생성한다. 즉, 현재 예측 유닛(600)의 후보 병합 블록으로 선정한다.
블록 병합 단계(940)에서, 영상 부호화 장치는 상기 병합 가능 블록 집합 선택 단계(930)에서 선택된 주변 블록을 기반으로 블록 병합을 수행하여 병합된 블록별로 움직임 파라미터를 생성한다.
전송 단계(950)에서, 영상 부호화 장치는 블록 병합 단계(940)에서 생성된 병합된 블록별 움직임 파라미터를 복호화기로 전송한다.
또는 본 발명의 다른 실시예에서는, 영상 부호화 장치는 변위 벡터(disparity vector)를 이용하여 현재 뷰(view)(예: 좌측 뷰)의 특정 블록(또는 현재 예측 유닛)과 인접 뷰(예: 우측 뷰)의 대응 블록간 픽셀값의 차이값이 일정값 이하인 경우 상기 인접 뷰(예: 우측 뷰)의 대응 블록을 블록 병합(block merge)할 후보 블록 중 하나로 선정하여 움직임 벡터가 동일한지를 판단한 후 동일한 경우 블록을 병합하여 동일한 움직임 파라미터를 복호화기로 전송할 수도 있다. 이 경우, 상기 현재 뷰의 특정 블록(또는 현재 예측 유닛)에 대응되는 인접 뷰의 대응 블록간의 픽셀값의 차이값이 소정값 이하인 경우 상기 인접 뷰의 대응 블록을 병합 가능 블록 집합에 포함시키고 상기 병합 가능 블록 집합에 포함된 블록들 중 상기 현재 뷰의 특정 블록(또는 현재 예측 유닛)과 병합된 블록에 대해서는 동일한 움직임 파라미터를 가지도록 할 수 있으며, 영상 복호화기에서는 이러한 블록 병합을 이용하여 상기 현재 뷰의 특정 블록(또는 현재 예측 유닛) 정보 및 움직임 파라미터를 이용하여 움직임 보상을 수행하여 예측 유닛을 생성하여 복호화를 수행할 수 있다.
본 발명의 실시예들에 따른 블록 병합을 이용한 영상 복호화 장치 및 복호화 방법에서는, 전술한 부호화기로부터 전송된 블록 병합된 블록의 움직임 파라미터를 이용하여 해당 블록의 움직임 벡터를 복원하여 움직임 예측부에서 블록 단위로 움직임 벡터를 생성하고, 움직임 보상부에서 상기 움직임 예측부에서 생성된 움직임 벡터와 참조 픽처를 이용하여 움직임 보상을 수행한다.
도 10은 본 발명의 일 실시예에 따른 디블록킹 필터링의 대상이 되는 블록 경계의 예시도이다. 도 10에 도시된 바와 같이, 현재 블록(1110)의 깊이 값과 상기 현재 블록(1110) 이전에 부호화된 주변 블록(1120)의 깊이 값을 기반으로, 상기 현재 블록(1110)과 주변 블록(1120)의 블록 경계에 디블로킹 필터를 적용할지 여부를 결정하고, 상기 디블로킹 필터를 적용하는 것으로 결정된 경우, 상기 현재 블록(1110) 또는 상기 현재 블록 이전에 부호화된 주변 블록(1120)의 인트라 예측 모드의 적용 여부, 상기 블록 경계가 예측 유닛의 경계인지 여부, 부호화된 계수가 포함되었는지 여부 및 서로 다른 참조 픽춰 또는 움직임 벡터를 포함했는지 여부를 기반으로 상기 블록 경계의 블록경계강도를 설정할 수 있다.
도 11은 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 나타내는 흐름도로서, 부호화 장치 또는 복호화 장치의 디블록킹 필터에 의해 수행되는 디블록킹 필터링 과정을 나타낸 것이다.
도 11에 도시된 바와 같이, 본 발명의 일 실시예에 따른 디블록킹 필터링 방법은 현재 블록의 깊이 값 및 상기 현재 블록의 이전에 부호화된 주변 블록의 깊이 값을 기반으로 디블로킹 필터의 적용 여부를 결정하는 단계(S100) 및 상기 적용 여부 결정 단계에서 상기 디블로킹 필터를 적용하는 것으로 결정된 경우 상기 현재 블록 및 주변 블록 간의 블록경계강도를 설정하는 단계(S200)를 포함할 수 있다.
전술한 바와 같이, 디블록킹 필터링 기술에 의하면 부호화의 단위가 되는 블록간 발생할 수 있는 블록킹 현상을 제거함으로써 영상의 왜곡이 없이 보다 선명하고 향상된 품질의 복호화된 영상을 얻을 수 있다. 그러나 블록의 특성상 블록에 블록킹 현상이 강하게 발생하지 않는 경우가 있으므로, 상기와 같이 블록킹 현상이 강하게 발생하지 않는 경우에도 블록의 조건에 상관없이 강한 강도의 디블록킹 필터를 적용하는 것은 불필요한 왜곡을 발생시켜 오히려 부호화 효율을 저하시키고, 왜곡된 영상을 생성하여 영상의 품질을 저하시킬 수 있다. 또한, 블록과 블록의 경계가 객체의 경계, 즉 엣지(edge)에 해당하는 경우에는 디블록킹 필터를 적용시킴으로써 오히려 객체와 객체의 경계를 불분명하도록 하여 저하된 품질의 영상을 생성시킬 수 있다. 따라서, 부호화에 있어서 상기 블록과 블록의 경계가 엣지에 해당할 경우 디블록킹 필터를 적용하지 않는다. 한편, 블록과 블록의 경계가 엣지에 해당하지는 않더라도, 상기 서로 다른 블록들이 같은 객체에 속하지 않는 경우에는 디블록킹 필터를 적용하는 않도록 하는 것이 보다 효율적인 부호화 방법이 될 수 있다. 따라서, 서로 다른 블록들이 같은 객체에 속하지 않는 경우, 디블로킹 필터를 적용하지 않도록 하는 방법이 필요하다.
3차원 비디오 영상의 경우, 컬러 영상과 함께 객체의 깊이 정보를 포함하는 깊이 영상이 제공될 수 있다. 이러한 깊이 영상을 기반으로, 현재 블록과 상기 현재 블록 이전에 부호화된 주변 블록이 동일한 객체인지 여부를 판단하여 디블록킹 필터의 적용 여부를 결정할 수 있다. 즉, 현재 블록의 깊이 값 및 상기 현재 블록 이전에 부호화된 주변 블록의 깊이 값을 기반으로 디블로킹 필터의 적용 여부를 결정(S100)할 수 있다.
상기 적용 여부를 결정하는 단계(S100)는 상기 현재 블록의 깊이 값 및 상기 현재 블록의 이전에 부호화된 주변 블록의 깊이 값이 동일한 경우 상기 현재 블록 및 주변 블록 간 경계에 상기 디블로킹 필터를 적용하는 것으로 결정할 수 있다. 즉, 현재 블록(1110)의 깊이 값 및 상기 현재 블록(1110)의 이전에 부호화된 주변 블록(1120)의 깊이 값이 서로 동일한 경우, 상기 현재 블록(1110) 및 주변 블록(1120)은 같은 객체를 구성하는 블록으로 보아, 디블록킹 필터를 적용하여 블록킹 현상을 완화할 수 있다. 현재 블록(1110)의 깊이 값 및 상기 현재 블록(1110)의 이전에 부호화된 주변 블록(1120)의 깊이 값이 서로 다른 경우, 상기 현재 블록(1110)과 주변 블록(1120)은 서로 다른 객체를 구성하는 블록으로서 상기 현재 블록(1110)과 주변 블록(1120)의 블록 경계는 디블로킹 필터를 적용하지 않는 것으로 결정할 수 있다.
여기서, 상기 적용 여부를 결정하는 단계(S100)는 상기 현재 블록의 깊이 값 및 상기 현재 블록의 이전에 부호화된 주변 블록의 깊이 값의 차이가 미리 설정한 임계값 이하인 경우 상기 현재 블록 및 주변 블록 간 경계에 상기 디블로킹 필터를 적용하는 것으로 결정할 수 있다. 즉, 현재 블록(1110)의 깊이 값 및 상기 현재 블록(1110)의 이전에 부호화된 주변 블록(1120)의 깊이 값의 차이가 미리 설정한 임계값 이하인 경우, 상기 현재 블록(1110) 및 주변 블록(1120)은 같은 객체를 구성하는 블록으로 보아, 디블록킹 필터를 적용하여 블록킹 현상을 완화할 수 있다. 현재 블록(1110)의 깊이 값 및 상기 현재 블록(1110)의 이전에 부호화된 주변 블록(1120)의 깊이 값의 차이가 미리 설정한 임계값보다 큰 경우, 상기 현재 블록(1110)과 주변 블록(1120)은 서로 다른 객체를 구성하는 블록으로서 상기 현재 블록(1110)과 주변 블록(1120)의 블록 경계는 디블로킹 필터를 적용하지 않는 것으로 결정할 수 있다.
여기서, 상기 깊이 값은 코딩 유닛(Coding Unit, CU), 예측 유닛(Prediction Unit, PU), 또는 변환 유닛(Transform Unit, TU) 단위로 전송될 수 있다. 도 1을 참조하여 전술한 바와 같이, 부호화의 단위는 코딩 유닛, 예측 유닛 및 변환 유닛으로 구분될 수 있다. 여기서, 각각의 코딩 유닛별로 하나의 깊이 값을 갖도록 전송될 수 있고, 각각의 예측 유닛별로 하나의 깊이 값을 갖도록 전송될 수도 있으며, 각각의 변환 유닛별로 하나의 깊이 값을 갖도록 전송될 수도 있다. 또한, 경우에 따라 각각의 픽셀 단위로 서로 다른 깊이 값을 갖도록 전송할 수도 있다.
픽셀 단위로 서로 다른 깊이 값을 갖도록 전송된 경우, 상기 현재 블록(1110) 과 상기 현재 블록 이전에 부호화된 주변 블록(1120)의 경계에 위치한 픽셀의 깊이 값을 상호 비교하여, 디블록킹 필터의 적용 여부를 결정할 수도 있다.
상기와 같이, 깊이 영상의 깊이 값을 이용하여, 현재 블록(1110)과 주변 블록(1120)이 동일한 객체에 포함되는지 여부를 판단하여 디블록킹 필터의 적용여부를 결정함으로써, 객체의 경계에 디블록킹 필터를 적용하여 영상의 품질을 저하시키는 문제를 해결할 수 있다.
도 12는 도 11의 블록경계강도 설정 단계의 상세 흐름도이다.
상기 적용 여부 결정 단계(S100)에서 상기 디블로킹 필터를 적용하는 것으로 결정된 경우 상기 현재 블록 및 주변 블록 간의 블록경계강도를 설정(S200)할 수 있다. 상기 현재 블록(1110) 또는 주변 블록(1120)이 인트라 예측이 적용되었는지 여부, 예측 유닛의 경계인지 여부 등과 같은 블록의 특성에 따라 블록킹 현상의 발생 강도가 변화할 수 있다. 따라서, 각각의 블록 특성을 기반으로 블록경계강도를 설정함으로써, 디블록킹 필터의 적용 강도를 적절히 조절하여 최적의 부호화 효율 및 영상 품질 향상을 실현할 수 있다.
도 12에 도시된 바와 같이, 상기 블록경계강도를 설정하는 단계(S200)는 먼저 현재 블록의 주변 블록(도 10의 P블록과 Q블록)이 인트라 예측이 적용되었는지 여부를 판단(S210)하고, 현재 블록의 주변 블록이 인트라 예측이 적용된 경우에는 다시 상기 현재 블록과 상기 주변 블록의 경계가 예측 유닛의 경계인지 여부를 판단(S220)하여 상기 현재 블록과 상기 주변 블록의 경계가 예측 유닛의 경계인 경우에는 디블록킹 필터는 블록경계강도(Bs: Boundary Strength)를 4로 설정(Bs=4)할 수 있다(S230). 여기서, 상기 Bs=4의 블록경계강도를 제 1값으로 정의할 수 있고 상기 제 1 값이 가장 높은 강도를 의미할 수 있다.
현재 블록의 주변 블록이 인트라 예측이 적용되었지만 상기 현재 블록과 상기 주변 블록의 경계가 예측 유닛의 경계가 아닌 경우에는 디블록경계강도(Bs)를 3으로 설정(Bs=3)할 수 있다(S240). 마찬가지로, 상기 Bs=3의 값을 제 2값으로 정의할 수 있고 상기 제 2값은 상기 제 1값보다 낮은 강도를 의미할 수 있다.
또한, 현재 블록의 주변 블록이 인트라 예측이 적용되지 않고 인터 예측이 적용된 경우에는 현재 블록의 주변 블록(도 10의 P블록과 Q블록)이 부호화된 계수(coded coefficients)를 포함하고 있는지 여부를 판단(S250)하여 현재 블록의 주변 블록(도 10의 P블록과 Q블록)이 부호화된 계수(coded coefficients)를 포함하는 경우에는 디블록경계강도(Bs)를 2로 설정한다(S260). 상기 Bs=2의 값을 제 3값으로 정의할 수 있고, 상기 제 3값은 상기 제 2값보다 낮은 강도를 의미할 수 있다.
현재 블록의 주변 블록이 인트라 예측이 적용되지 않고 인터 예측이 적용된 경우로서 또한 현재 블록의 주변 블록(도 10의 P블록과 Q블록)이 부호화된 계수(coded coefficients)를 포함하지 않는 경우에 현재 블록의 주변 블록이 현재 블록과 서로 다른 참조 픽춰 또는 서로 다른 움직임 벡터(Motion Vector)를 가지는지 여부를 판단(S270)하여, 현재 블록의 주변 블록이 현재 블록과 서로 다른 참조 픽춰 또는 서로 다른 움직임 벡터를 가지는 경우에는 블록경계강도(Bs)를 1로 설정할 수 있다(S280).
여기서 상기 Bs=1의 값을 제 4값으로 정의할 수 있고, 상기 제 4값은 상기 제 3값보다 낮은 강도를 의미할 수 있다. 현재 블록의 주변 블록이 현재 블록과 서로 다른 참조 픽춰 또는 서로 다른 움직임 벡터(Motion Vector)를 가지는 경우가 아닌 경우에는 블록경계강도(Bs)를 0으로 설정할 수 있다(S290). 상기 Bs=0의 값을 제 5값으로 정의할 수 있고, 상기 제 5값은 상기 제 4값보다 낮은 강도를 의미하며 최저값을 의미할 수 있다.
여기서, 디블록킹 필터는 휘도신호(luma) 성분 및 색차신호(chroma) 성분 각각에 대해 디블록킹 필터링을 수행할 수 있고, 각 블록(또는 코딩 유닛)의 수직 경계(vertical edges)에 대해 대해 예측 유닛의 좌측 경계부터 우측으로 진행하면서 먼저 디블록킹 필터링을 수행한 후, 수평 경계(horizontal edges)에 대해 블록의 상단 경계부터 코딩 유닛의 아래 방향으로 디블록킹 필터링을 수행할 수 있다.
상기 디블록킹 필터가 휘도 신호(luma) 성분 및 색차 신호(chroma) 성분 각각에 대해 디블록킹 필터링을 수행하는 경우, 상기 색차 신호(chroma) 성분에 대한 디블로킹 필터링은 상기 블록경계강도(Bs)가 2보다 큰 경우에만 적용되도록 할 수 있다. 즉, 색차 신호(chroma) 성분에 대한 디블로킹 필터링은 상기 블롤 경계강도가 3인 경우(제 2값) 내지 4인 경우(제 1값)인 경우에 적용하도록 할 수 있다.
도 13은 본 발명의 다른 실시예에 따른 인-루프 필터링 방법을 나타내는 흐름도이다.
도 13에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 화면내 예측 부호화를 위한 인-루프 필터링 방법은 전술한 디블로킹 필터링 방법을 적용하는 단계(S510), 샘플 적응적 오프셋(SAO; Sample Adaptive Offset) 처리를 하는 단계(S520) 및 적응적 루프 필터(ALF; Adaptive Loop Filter)를 적용하는 단계(S530)를 포함할 수 있다.
즉, 상기와 같이 디블록킹 필터를 한 이후에 디블록킹 필터가 처리된 픽셀들에 대하여 DC 오프셋(offset)을 보상하기 위한 샘플 적응적 오프셋(SAO; Sample Adaptive Offset)를 추가적으로 처리할 수 있다. 여기서, 상기 DC 오프셋(offset)은 변환 및 양자화후의 디블록킹 필터가 처리된 픽셀들과 원래 픽셀들(original pixels)간의 평균적인 차이값을 의미하며 변환 및 양자화로 인한 오프셋값으로 볼 수 있다. 디블록킹 필터를 한 이후에 현재 블록(코딩 유닛)은 상기 현재 블록의 분할(partitioning)된 블록 단위로 선택적으로 샘플 적응적 오프셋(SAO)를 온/오프할지를 결정할 수 있다. 즉, 샘플 적응적 오프셋(SAO)의 온/오프는 코딩유닛의 분할(partitioning)된 블록 단위로 결정되어 인코더에서 샘플 적응적 오프셋(SAO)의 온/오프 여부에 대한 정보가 디코더로 전송될 수 있다.
한편, 상기샘플 적응적 오프셋(SAO) 이후에 선택적으로 적응적 루프 필터(ALF; Adaptive Loop Filter)를 적용할 수 있다. 적응적 루프 필터(ALF)는 위너필터를 사용하여 디블록킹 필터보다 정밀하게 부호화시 에러를 보상할 수 있다. 구체적으로, 적응적 루프 필터(ALF)는 원래 픽셀들(original pixels)과 복호화된 픽셀들간의 차이값의 제곱(square error)의 합을 최소화하는 위너 필터를 사용하여 디블록킹 필터 및 적응적 오프셋(SAO) 이후에 복원된 신호를 보다 정밀하게 부호화함으로써 에러를 보상할 수 있다. 상기 적응적 루프 필터(ALF) 정보는 슬라이스 헤더에 포함되어 디코더로 전송될 수 있다. 상기 적응적 루프 필터(ALF) 정보는 위너 필터 계수, 적응적 루프 필터(ALF) 온/오프 정보, 필터 형태(filter shape) 정보를 포함할 수 있다. 상기 적응적 루프 필터(ALF)의 온/오프 정보는 코딩 유닛 단위로 슬라이스 헤더에 포함되어 디코더로 전송될 수 있다. 상기 필터 형태(filter shape)는 대칭적인 형태를 가지도록 설계하여 부호화 및 복호화 복잡도를 줄일 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (24)

  1. 3차원 영상에서 현재 예측 유닛에 대한 부호화 방법에 있어서,
    상기 현재 예측 유닛의 이미 부호화된 주변 블록 중에서 상기 현재 예측 유닛의 유닛과 동일한 깊이도를 갖는 주변 블록의 움직임 벡터를 상기 현재 예측 유닛의 후보 예측 움직임 벡터로 선정하는 단계;
    상기 후보 예측 움직임 벡터를 기반으로 화면간 예측(inter prediction)을 수행하여 상기 현재 예측 유닛의 움직임 벡터를 예측하여 복호화기로 전송하는 단계를 포함하는 것을 특징으로 하는 3차원 영상 부호화 방법.
  2. 제 1 항에 있어서,
    상기 주변 블록은 상기 현재 예측 유닛의 좌측 최하단의 제 1 블록, 상기 제 1 블록의 하단에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 상단의 최우측의 제 3 블록, 상기 제 3 블록의 우측에 접해 있는 제 4 블록 및 상기 현재 예측 유닛의 좌상단 블록인 제 5 블록을 포함하는 것을 특징으로 하는 3차원 영상 부호화 방법.
  3. 제 2 항에 있어서, 상기 후보 움직임 벡터 선정 단계는
    상기 현재 예측 유닛과 동일한 깊이도를 갖는 주변 블록이 적어도 3개인 경우, 상기 제 1 블록, 상기 제 2 블록, 상기 제 3 블록, 상기 제 4 블록 및 상기 제 5 블록 순으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보로 이용 가능한지 판단하여 상기 현재 예측 유닛의 후보 예측 움직임 벡터를 선정하는 단계를 포함하는 것을 특징으로 하는 3차원 영상 부호화 방법.
  4. 제 2 항에 있어서, 상기 후보 움직임 벡터 선정 단계는
    상기 현재 예측 유닛과 동일한 깊이도를 갖는 주변 블록이 존재하지 않는 경우, 상기 제 1 블록, 상기 제 2 블록, 상기 제 3 블록, 상기 제 4 블록 및 상기 제 5 블록 순으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보로 이용 가능한지 판단하여 상기 현재 예측 유닛의 후보 예측 움직임 벡터를 선정하는 단계를 포함하는 것을 특징으로 하는 3차원 영상 부호화 방법.
  5. 제 1 항에 있어서,
    상기 주변 블록은 상기 현재 예측 유닛의 좌측에 접해 있는 제 1 블록, 상기 현재 예측 유닛의 상단에 접해 있는 제 2 블록, 상기 제 2 블록의 우측에 접해 있는 제 3 블록을 포함하는 것을 특징으로 하는 3차원 영상 부호화 방법.
  6. 제 1 항에 있어서,
    상기 주변 블록은 상기 현재 예측 유닛의 좌측 최상단에 접해 있는 제 1 블록, 상기 현재 예측 유닛의 상단 최좌측에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 우상단 블록인 제 3 블록을 포함하는 것을 특징으로 하는 3차원 영상 부호화 방법.
  7. 3차원 영상에서 현재 예측 유닛에 대한 복호화 방법에 있어서,
    수신된 비트 스트림을 엔트로피 복호화하고 역양자화 및 역변환을 수행하는 단계;
    상기 역변환된 비트 스트림을 기반으로 상기 현재 예측 유닛의 이미 부호화된 주변 블록 중에서 상기 현재 예측 유닛과 동일한 깊이를 갖는 주변 블록의 움직임 벡터를 상기 현재 예측 유닛의 후보 예측 움직임 벡터로 선정하는 단계;
    상기 후보 예측 움직임 벡터를 기반으로 화면간 예측(inter prediction)을 수행하여 상기 현재 예측 유닛의 움직임 벡터를 예측하여 영상을 복원하는 단계를 포함하는 것을 특징으로 하는 3차원 영상 복호화 방법.
  8. 제 7 항에 있어서,
    상기 주변 블록은 상기 현재 예측 유닛의 좌측 최하단의 제 1 블록, 상기 제 1 블록의 하단에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 상단의 최우측의 제 3 블록, 상기 제 3 블록의 우측에 접해 있는 제 4 블록 및 상기 현재 예측 유닛의 좌상단 블록인 제 5 블록을 포함하는 것을 특징으로 하는 3차원 영상 복호화 방법.
  9. 제 8 항에 있어서, 상기 후보 움직임 벡터 선정 단계는
    상기 현재 예측 유닛과 동일한 깊이도를 갖는 주변 블록이 적어도 3개인 경우, 상기 제 1 블록, 상기 제 2 블록, 상기 제 3 블록, 상기 제 4 블록 및 상기 제 5 블록 순으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보로 이용 가능한지 판단하여 상기 현재 예측 유닛의 후보 예측 움직임 벡터를 선정하는 단계를 포함하는 것을 특징으로 하는 3차원 영상 복호화 방법.
  10. 제 8 항에 있어서, 상기 후보 움직임 벡터 선정 단계는
    상기 현재 예측 유닛과 동일한 깊이도를 갖는 주변 블록이 존재하지 않는 경우, 상기 제 1 블록, 상기 제 2 블록, 상기 제 3 블록, 상기 제 4 블록 및 상기 제 5 블록 순으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보로 이용 가능한지 판단하여 상기 현재 예측 유닛의 후보 예측 움직임 벡터를 선정하는 단계를 포함하는 것을 특징으로 하는 3차원 영상 복호화 방법.
  11. 제 7 항에 있어서,
    상기 주변 블록은 상기 현재 예측 유닛의 좌측에 접해 있는 제 1 블록, 상기 현재 예측 유닛의 상단에 접해 있는 제 2 블록, 상기 제 2 블록의 우측에 접해 있는 제 3 블록을 포함하는 것을 특징으로 하는 3차원 영상 복호화 방법.
  12. 제 7 항에 있어서,
    상기 주변 블록은 상기 현재 예측 유닛의 좌측 최상단에 접해 있는 제 1 블록, 상기 현재 예측 유닛의 상단 최좌측에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 우상단 블록인 제 3 블록을 포함하는 것을 특징으로 하는 3차원 영상 부호화 방법.
  13. 3차원 영상의 현재 예측 유닛에 대한 블록 병합을 수행하여 상기 3차원 영상을 부호화하는 방법에 있어서,
    상기 현재 예측 유닛의 주변 블록을 상기 현재 예측 유닛과 병합하는 블록 병합 단계; 및
    상기 병합된 블록의 움직임 파라미터를 복호화기로 전송하는 전송 단계를 포함하되, 상기 블록 병합 단계는,
    상기 현재 예측 유닛의 깊이도와 동일한 깊이도를 갖는 상기 주변 블록을 병합 가능 블록 집합으로 선정하는 집합 선정 단계; 및
    상기 병합 가능 블록 집합에 속하는 블록을 기반으로 블록 병합을 위한 후보로 이용 가능한지 판단하여, 상기 판단 결과, 블록 병합을 위한 후보로 이용 가능한 블록을 기반으로 블록 병합을 수행하는 병합 수행 단계를 포함하는 것을 특징으로 하는 3차원 영상 부호화 방법.
  14. 제 13 항에 있어서,
    상기 주변 블록은 상기 현재 예측 유닛의 좌측 최하단의 제 1 블록, 상기 제 1 블록의 하단에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 상단의 최우측의 제 3 블록, 상기 제 3 블록의 우측에 접해 있는 제 4 블록 및 상기 현재 예측 유닛의 좌상단 블록인 제 5 블록을 포함하는 것을 특징으로 하는 3차원 영상 부호화 방법.
  15. 제 14 항에 있어서, 상기 블록 병합 단계는
    상기 후보 블록 중에서 상기 현재 예측 유닛과 움직임 벡터가 동일한 후보 블록을 블록 병합을 위한 최종 후보 블록으로 선정하는 단계를 더 포함하는 것을 특징으로 하는 3차원 영상 부호화 방법.
  16. 제 13 항에 있어서,
    상기 주변 블록은 입력 영상을 대칭 파티션 분할, 비대칭 파티션 분할 및 기하학적 파티션 분할 방법 중 적어도 하나를 적용하여 분할된 블록인 것을 특징으로 하는 3차원 영상 부호화 방법.
  17. 3차원 영상에서 현재 예측 유닛에 대한 복호화 방법에 있어서,
    수신된 비트 스트림을 엔트로피 복호화하고 역양자화 및 역변환을 수행하여 잔여값을 복원하는 단계;
    상기 역변환된 비트 스트림을 기반으로 예측 유닛 정보 및 움직임 파라미터를 이용하여 움직임 보상을 수행하여 예측 유닛을 생성하는 단계; 및
    상기 예측 유닛에 상기 잔여값을 더하여 영상을 복원하는 단계를 포함하되, 상기 현재 예측 유닛의 주변 블록 중에서 상기 현재 예측 유닛과 동일한 깊이도를 갖는 주변 블록은 병합 가능 블록 집합에 포함되고, 상기 병합 가능 블록 집합에 포함된 블록들 중 상기 현재 예측 유닛과 병합된 블록에 대해서는 동일한 움직임 파라미터를 가지는 것을 특징으로 하는 3차원 영상 복호화 방법.
  18. 제 17 항에 있어서,
    상기 주변 블록은 상기 현재 예측 유닛의 좌측 최하단의 제 1 블록, 상기 제 1 블록의 하단에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 상단의 최우측의 제 3 블록, 상기 제 3 블록의 우측에 접해 있는 제 4 블록 및 상기 현재 예측 유닛의 좌상단 블록인 제 5 블록을 포함하는 것을 특징으로 하는 3차원 영상 복호화 방법.
  19. 제 17 항에 있어서,
    상기 주변 블록은 입력 영상을 대칭 파티션 분할, 비대칭 파티션 분할 및 기하학적 파티션 분할 방법 중 적어도 하나를 적용하여 분할된 블록인 것을 특징으로 하는 3차원 영상 복호화 방법.
  20. 현재 블록의 깊이 값 및 상기 현재 블록의 이전에 부호화된 주변 블록의 깊이 값을 기반으로 디블로킹 필터의 적용 여부를 결정하는 단계; 및
    상기 적용 여부 결정 단계에서 상기 디블로킹 필터를 적용하는 것으로 결정된 경우 상기 현재 블록 및 주변 블록 간의 블록경계강도를 설정하는 단계를 포함하는 디블록킹 필터링 방법.
  21. 제 20항에 있어서, 상기 적용 여부를 결정하는 단계는
    상기 현재 블록 및 주변 블록의 깊이 값이 동일한 경우 상기 현재 블록 및 주변 블록 간 경계에 상기 디블로킹 필터를 적용하는 것으로 결정하는 것을 특징으로 하는 디블록킹 필터링 방법.
  22. 제 20항에 있어서, 상기 블록경계강도를 설정하는 단계는
    현재 블록의 이전에 부호화된 주변 블록에 인트라 예측이 적용되었는지 여부를 판단하는 단계;
    상기 판단 결과 상기 현재 블록의 이전에 부호화된 주변 블록에 인트라 예측이 적용된 경우에는 상기 현재 블록과 상기 주변 블록의 경계가 예측 유닛의 경계인지 여부를 판단하여 상기 현재 블록과 상기 주변 블록의 경계가 예측 유닛의 경계인 경우에는 디블록킹 필터의 블록경계강도를 가장 높은 제1 값으로 설정하는 단계;
    상기 판단 결과 상기 현재 블록의 주변 블록에 인트라 예측이 적용되었지만 상기 현재 블록과 상기 주변 블록의 경계가 예측 유닛의 경계가 아닌 경우에는 상기 블록경계강도를 상기 제1 값보다 낮은 제2 값으로 설정하는 단계;
    상기 판단 결과 상기 현재 블록의 주변 블록에 인트라 예측이 적용되지 않고 인터 예측이 적용된 경우에는 상기 현재 블록의 주변 블록이 부호화된 계수(coded coefficients)를 포함하고 있는지 여부를 판단하는 단계;
    상기 현재 블록의 주변 블록이 상기 부호화된 계수(coded coefficients)를 포함하는 경우에는 상기 블록경계강도를 상기 제2 값보다 작은 제3 값으로 설정하는 단계;
    상기 현재 블록의 주변 블록에 인트라 예측이 적용되지 않고 상기 인터 예측이 적용된 경우이고 또한 상기 현재 블록의 주변 블록이 상기 부호화된 계수(coded coefficients)를 포함하지 않는 경우에 상기 현재 블록의 주변 블록이 상기 현재 블록과 서로 다른 참조 픽춰 또는 서로 다른 움직임 벡터를 가지는 경우에는 상기 블록경계강도를 상기 제3 값보다 작은 제4 값으로 설정하는 단계; 및
    상기 현재 블록의 주변 블록에 인트라 예측이 적용되지 않고 상기 인터 예측이 적용된 경우이고 또한 상기 현재 블록의 주변 블록이 상기 부호화된 계수(coded coefficients)를 포함하지 않는 경우에 상기 현재 블록의 주변 블록이 현재블록과 서로 다른 참조 픽춰 또는 서로 다른 움직임 벡터를 가지는 경우가 아닌 경우에는 상기 블록경계강도를 상기 제4 값보다 작은 최저값인 제5 값으로 설정하는 단계를 포함하는 디블록킹 필터링 방법.
  23. 제 20항에 있어서, 상기 디블록킹 필터를 한 이후에 상기 디블록킹 필터가 처리된 픽셀들에 대하여 상기 디블록킹 필터가 처리된 픽셀들과 원래 픽셀들(original pixels)간의 평균적인 차이값인 DC 오프셋(offset)을 보상하기 위한 샘플 적응적 오프셋(SAO; Sample Adaptive Offset)를 상기 디블록킹 필터를 한 이후에 상기 현재 블록의 분할(partitioning)된 블록 단위로 선택적으로 처리하는 단계를 더 포함하는 인-루프 필터링 방법.
  24. 제 23항에 있어서, 상기 샘플 적응적 오프셋(SAO) 처리 이후에 원래 픽셀들(original pixels)과 복호화된 픽셀들간의 차이값의 제곱(square error)의 합을 최소화하는 위너 필터를 사용하여 적응적 루프 필터(ALF; Adaptive Loop Filter)를 선택적으로 적용하는 단계를 더 포함하는 인-루프 필터링 방법.
PCT/KR2012/011576 2011-12-30 2012-12-27 3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치 WO2013100635A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201280065460.1A CN104025601A (zh) 2011-12-30 2012-12-27 编码三维图像的方法和设备以及解码方法和设备
US14/368,500 US20150098508A1 (en) 2011-12-30 2012-12-27 Method and device for encoding three-dimensional image, and decoding method and device
EP12862205.7A EP2800372A4 (en) 2011-12-30 2012-12-27 METHOD AND DEVICE FOR ENCODING A THREE-DIMENSIONAL IMAGE, AND DECODING METHOD AND DEVICE

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20110146784 2011-12-30
KR10-2011-0146784 2011-12-30
KR20110146785 2011-12-30
KR20110146783 2011-12-30
KR10-2011-0146785 2011-12-30
KR10-2011-0146783 2011-12-30

Publications (1)

Publication Number Publication Date
WO2013100635A1 true WO2013100635A1 (ko) 2013-07-04

Family

ID=48697981

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/011576 WO2013100635A1 (ko) 2011-12-30 2012-12-27 3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치

Country Status (5)

Country Link
US (1) US20150098508A1 (ko)
EP (1) EP2800372A4 (ko)
KR (1) KR20130079261A (ko)
CN (1) CN104025601A (ko)
WO (1) WO2013100635A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105594212A (zh) * 2013-07-24 2016-05-18 三星电子株式会社 用于确定运动矢量的方法及其设备
CN106464908A (zh) * 2014-06-20 2017-02-22 三星电子株式会社 用于传输深度图像的预测模式以供层间视频编码和解码的方法和装置
US11909952B2 (en) 2018-06-13 2024-02-20 Panasonic Intellectual Property Corporation Of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101279573B1 (ko) * 2008-10-31 2013-06-27 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR20140121315A (ko) * 2013-04-04 2014-10-15 한국전자통신연구원 참조 픽처 리스트를 이용한 다 계층 기반의 영상 부호화/복호화 방법 및 그 장치
KR20140122189A (ko) * 2013-04-05 2014-10-17 한국전자통신연구원 계층 간 결합된 화면 내 예측을 이용한 영상 부호화/복호화 방법 및 그 장치
EP3024240A4 (en) * 2013-07-18 2017-03-22 Samsung Electronics Co., Ltd. Intra scene prediction method of depth image for interlayer video decoding and encoding apparatus and method
WO2015056945A1 (ko) * 2013-10-14 2015-04-23 삼성전자 주식회사 깊이 인트라 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2015056941A1 (ko) * 2013-10-14 2015-04-23 한국전자통신연구원 다계층 기반의 영상 부호화/복호화 방법 및 장치
KR102290091B1 (ko) 2013-10-14 2021-08-18 한국전자통신연구원 다계층 기반의 영상 부호화/복호화 방법 및 장치
WO2016003209A1 (ko) * 2014-07-03 2016-01-07 주식회사 케이티 다시점 비디오 신호 처리 방법 및 장치
CN105578182B (zh) * 2014-10-15 2019-04-23 联想(北京)有限公司 一种视频编码、解码方法及装置
CN105681814B (zh) * 2014-11-21 2019-03-29 联想(北京)有限公司 一种去块效应滤波方式的确定方法及装置
US10721467B2 (en) 2015-05-05 2020-07-21 Lg Electronics Inc. Method and device for processing coding unit in image coding system
CN115134611A (zh) * 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
EP3343926A4 (en) * 2015-08-28 2019-01-30 KT Corporation METHOD AND DEVICE FOR PROCESSING A VIDEO SIGNAL
US20180199058A1 (en) * 2015-09-10 2018-07-12 Samsung Electronics Co., Ltd. Video encoding and decoding method and device
ES2844525B1 (es) * 2015-09-11 2022-07-05 Kt Corp Metodo para decodificar un video
CN114501020A (zh) * 2016-08-21 2022-05-13 上海天荷电子信息有限公司 使用最近运动矢量和邻近运动矢量的图像压缩方法和装置
CN108111851B (zh) * 2016-11-25 2020-12-22 华为技术有限公司 一种去块滤波方法及终端
JP6961612B2 (ja) * 2016-11-30 2021-11-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 三次元モデル配信方法及び三次元モデル配信装置
CN109993046B (zh) * 2018-06-29 2021-04-09 长城汽车股份有限公司 基于视觉摄像机的自阴影物体边缘识别方法、装置及车辆
TWI750486B (zh) 2018-06-29 2021-12-21 大陸商北京字節跳動網絡技術有限公司 運動資訊共用的限制
CA3105938A1 (en) * 2018-07-18 2020-01-23 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
WO2020096427A1 (ko) * 2018-11-08 2020-05-14 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
UA128314C2 (uk) * 2018-12-07 2024-06-05 Хуавей Текнолоджиз Ко., Лтд. Кодер, декодер і відповідні способи виведення граничної сили деблокового фільтра
US10930019B2 (en) 2019-01-15 2021-02-23 More Than Halfway, L.L.C. Encoding and decoding visual information
CN112437304B (zh) * 2019-08-26 2022-06-03 腾讯科技(深圳)有限公司 视频解码方法、编码方法、装置、设备及可读存储介质
CN112437312B (zh) * 2019-08-26 2022-05-27 腾讯科技(深圳)有限公司 视频解码方法、编码方法、装置、设备及存储介质
EP4052469A4 (en) * 2019-12-03 2023-01-25 Huawei Technologies Co., Ltd. METHOD, DEVICE, CODING SYSTEM WITH FUSION MODE
CN113225555B (zh) * 2021-03-22 2023-02-07 北京大学 一种视频编解码中的几何划分模式预测方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000049031A (ko) * 1996-10-09 2000-07-25 더 트러스티스 오브 컬럼비아 유니버시티 인 더 시티 오브 뉴욕 3차원 깊이 정보를 이용한 디지털 이미지와 비디오 세그먼테이션과 압축을 수행하기 위한 방법 및 장치
KR20100007728A (ko) * 2008-07-11 2010-01-22 한국전자통신연구원 인트라 매크로 블록의 디블록킹 필터 및 필터링 방법
KR20100105877A (ko) * 2008-01-11 2010-09-30 톰슨 라이센싱 비디오 및 깊이 코딩
KR20110124447A (ko) * 2010-05-11 2011-11-17 삼성전자주식회사 입체영상 부호화 장치 및 방법
KR20110135471A (ko) * 2010-06-11 2011-12-19 (주)휴맥스 블록 병합을 이용한 영상 부호화/복호화 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2752001A4 (en) * 2011-08-30 2015-04-15 Nokia Corp APPARATUS, METHOD AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000049031A (ko) * 1996-10-09 2000-07-25 더 트러스티스 오브 컬럼비아 유니버시티 인 더 시티 오브 뉴욕 3차원 깊이 정보를 이용한 디지털 이미지와 비디오 세그먼테이션과 압축을 수행하기 위한 방법 및 장치
KR20100105877A (ko) * 2008-01-11 2010-09-30 톰슨 라이센싱 비디오 및 깊이 코딩
KR20100007728A (ko) * 2008-07-11 2010-01-22 한국전자통신연구원 인트라 매크로 블록의 디블록킹 필터 및 필터링 방법
KR20110124447A (ko) * 2010-05-11 2011-11-17 삼성전자주식회사 입체영상 부호화 장치 및 방법
KR20110135471A (ko) * 2010-06-11 2011-12-19 (주)휴맥스 블록 병합을 이용한 영상 부호화/복호화 장치 및 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105594212A (zh) * 2013-07-24 2016-05-18 三星电子株式会社 用于确定运动矢量的方法及其设备
CN105594212B (zh) * 2013-07-24 2019-04-16 三星电子株式会社 用于确定运动矢量的方法及其设备
CN106464908A (zh) * 2014-06-20 2017-02-22 三星电子株式会社 用于传输深度图像的预测模式以供层间视频编码和解码的方法和装置
US10368098B2 (en) 2014-06-20 2019-07-30 Samsung Electronics Co., Ltd. Method and device for transmitting prediction mode of depth image for interlayer video encoding and decoding
US11909952B2 (en) 2018-06-13 2024-02-20 Panasonic Intellectual Property Corporation Of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

Also Published As

Publication number Publication date
KR20130079261A (ko) 2013-07-10
CN104025601A (zh) 2014-09-03
US20150098508A1 (en) 2015-04-09
EP2800372A1 (en) 2014-11-05
EP2800372A4 (en) 2015-12-09

Similar Documents

Publication Publication Date Title
WO2013100635A1 (ko) 3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치
WO2017057953A1 (ko) 비디오 코딩 시스템에서 레지듀얼 신호 코딩 방법 및 장치
WO2018052224A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018080135A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018066863A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018056603A1 (ko) 영상 코딩 시스템에서 조도 보상 기반 인터 예측 방법 및 장치
WO2018044088A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017039256A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017160117A1 (ko) 인트라 예측 기반의 비디오 신호 처리 방법 및 장치
WO2013025065A2 (ko) 정밀한 단위의 필터 선택을 적용한 영상 부호화/복호화 장치 및 방법
WO2019240448A1 (ko) 성분 간 참조 기반의 비디오 신호 처리 방법 및 장치
WO2017043786A1 (ko) 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
WO2012023763A2 (ko) 인터 예측 부호화 방법
WO2012081879A1 (ko) 인터 예측 부호화된 동영상 복호화 방법
WO2018008904A2 (ko) 비디오 신호 처리 방법 및 장치
WO2017034331A1 (ko) 영상 코딩 시스템에서 크로마 샘플 인트라 예측 방법 및 장치
WO2017052118A1 (ko) 영상 코딩 시스템에서 인트라 예측 방법 및 장치
WO2013154366A1 (ko) 블록 정보에 따른 변환 방법 및 이러한 방법을 사용하는 장치
WO2019117639A1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
WO2018056709A1 (ko) 영상 코딩 시스템에서 인터 예측 방법 및 장치
WO2013165143A1 (ko) 멀티뷰 영상의 부호화 방법, 부호화 장치, 복호화 방법, 복호화 장치
WO2018056602A1 (ko) 영상 코딩 시스템에서 인터 예측 방법 및 장치
WO2017159901A1 (ko) 비디오 코딩 시스템에서 블록 구조 도출 방법 및 장치
WO2016114583A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018128222A1 (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: 12862205

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2012862205

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012862205

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14368500

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE