WO2013165143A1 - 멀티뷰 영상의 부호화 방법, 부호화 장치, 복호화 방법, 복호화 장치 - Google Patents
멀티뷰 영상의 부호화 방법, 부호화 장치, 복호화 방법, 복호화 장치 Download PDFInfo
- Publication number
- WO2013165143A1 WO2013165143A1 PCT/KR2013/003686 KR2013003686W WO2013165143A1 WO 2013165143 A1 WO2013165143 A1 WO 2013165143A1 KR 2013003686 W KR2013003686 W KR 2013003686W WO 2013165143 A1 WO2013165143 A1 WO 2013165143A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- view
- block
- prediction unit
- depth
- motion vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Definitions
- the present invention relates to a multiview video encoding method, an encoding device, a decoding method, and a decoding device. More particularly, the present invention relates to encoding / decoding a multiview video by predicting a motion vector, intermediate view synthesis of a multiview video, and a multiview video. Relates to in-loop filtering of.
- 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.
- adaptive deblocking filtering is used to remove block distortion before storing the decoded image in the frame memory. That is, in order to reduce the artifacts at the boundary between blocks, the block boundary is blurred with a predetermined intensity.
- adaptive deblocking filtering refers to block distortion of an image by adaptively applying a deblocking filter to a position where block distortion is likely to occur and a position where block distortion is less likely to occur in the same image. It is prevented from being transmitted to the decoded image in the state included in the image so that a good decoded image is output.
- a reference view captured by a camera at a spatially different viewpoint than the current view.
- deblocking a specific block of the current view to encode a multiview image to be compatible with existing H.264 / AVC video, it is independent of the deblocking filter strength of the corresponding block of the reference view.
- the deblocking filter strength of a specific block of the current view is obtained, the overall complexity may increase.
- the deblocking of a specific block of the current view is independent of the deblocking filter strength of the corresponding block of the reference view for decoding the multiview image. Determining the filter strength can significantly increase the complexity of the decoder.
- a multiview video there is at least one reference view photographed by a camera at a spatially different viewpoint than the current view, and the multiview image data when encoding and decoding the multiview image. If (or texture) is transmitted from the encoder to the decoder for all views, data transmitted to the decoder may increase, thereby lowering coding efficiency.
- the data transmitted to the decoder may increase, thereby reducing the encoding efficiency.
- 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 an in-loop filtering method of a multiview image for reducing complexity in multiview image coding.
- Another object of the present invention is to provide a method for synthesizing a mid-depth view of a multiview image for improving coding efficiency by reducing the amount of data transmitted from an encoder to a decoder when coding a multiview image.
- the encoding method for the current prediction unit in the 3D image of the present invention for achieving the above object is, of the neighboring block having the same group and the same depth information as the current prediction unit among the already encoded neighboring blocks of the current prediction unit Selecting a motion vector as a candidate prediction motion vector of the current prediction unit, performing inter prediction based on the candidate prediction motion vector, and predicting and transmitting the motion vector of the current prediction unit to a decoder.
- the candidate prediction motion vector of the current prediction unit may include a motion vector of the neighboring block that satisfies at least one of the same group and the same depth as the current prediction unit among the already encoded neighboring blocks of the current prediction unit.
- the prediction vector may be selected as a candidate prediction motion vector, inter prediction may be performed based on the candidate prediction motion vector, and the motion vector of the current prediction unit may be predicted and transmitted to the decoder.
- a decoding method for a current prediction unit in a 3D image of the present invention for achieving the above object comprises entropy decoding a received bit stream, performing inverse quantization and inverse transformation, and based on the inverse transformed bit stream. Selecting a motion vector of a neighboring block having the same group and the same depth information as the current prediction unit among the already encoded neighboring blocks of the current prediction unit as a candidate prediction motion vector of the current prediction unit, and selecting the candidate prediction motion vector. And reconstructing an image by performing inter prediction on the basis of predicting a motion vector of the current prediction unit.
- the candidate prediction motion vector of the current prediction unit may include a motion vector of the neighboring block that satisfies at least one of the same group and the same depth as the current prediction unit among the already encoded neighboring blocks of the current prediction unit.
- An image may be reconstructed by predicting a motion vector of the current prediction unit by selecting an candidate prediction motion vector and performing inter prediction on the basis of the candidate prediction motion vector.
- In-loop filtering method for a multi-view image comprises the steps of referring to the corresponding block of the reference view with respect to a specific block of the current view, And performing scaling according to the distance in consideration of a distance between a specific block of and a corresponding block of the reference view to set the deblocking strength of the specific block of the current view.
- the view synthesis method may include performing intermediate view synthesis on a texture view of the first view and a texture view of a third view received from an encoder, and performing a texture view and a third texture on the first view through the intermediate view synthesis. Obtaining a texture view of the second view from the texture view of the view.
- the present prediction unit and the neighboring block belong to the same group, and at the same time the depth of the current prediction unit and the depth of the neighboring block are the same, Reducing the complexity in selecting the motion vector of the current prediction unit of the 3D image by selecting the neighboring block having the same depth as that of the prediction unit as the highest priority in the MV Predictor candidate list of the current prediction unit. The effect is to increase the accuracy.
- scaling is performed according to a distance and an angle in consideration of a distance and an angle between a specific block of a current view and a corresponding block of a reference view for the current view.
- At least one transmitted to the decoder without transmitting a depth view for all views of the multi-view image and some depth views of the plurality of depth views are not transmitted.
- the amount of depth view data transmitted to the decoder and / or the decoder of the multi-view image may be reduced, and as a result, encoding efficiency may be improved.
- FIG. 1 is a conceptual diagram illustrating a structure of a recursive coding unit according to an embodiment of the present invention.
- 2 is a diagram illustrating neighboring blocks as spatial candidates.
- 3 is a diagram illustrating neighboring blocks as temporal candidates.
- 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 block diagram of an encoder for processing an in-loop filtering method for a multi-view image according to an embodiment of the present invention.
- FIG. 7 is a flowchart illustrating an in-loop filtering method for a multi-view image according to an embodiment of the present invention.
- FIG. 8 is a flowchart illustrating an in-loop filtering method for a multi-view image according to another embodiment of the present invention.
- FIG. 9 is a conceptual diagram illustrating a process of synthesizing an intermediate view in a decoder by using two views transmitted to a decoder.
- FIG. 10 is a conceptual diagram illustrating a process of synthesizing a mid-depth view in a decoder using two depth views transmitted to a decoder.
- FIG. 11 is a conceptual diagram illustrating a process of synthesizing an intermediate depth view in a decoder by using one depth view transmitted to a decoder according to an embodiment of the present invention.
- FIG. 12 is a conceptual diagram illustrating a process of synthesizing a middle depth view in a decoder using one depth view transmitted to a decoder according to another embodiment of the present invention.
- FIG. 13 is a conceptual diagram illustrating a process of synthesizing a middle depth view in a decoder using one depth view transmitted to a decoder according to another embodiment of the present invention.
- FIG. 14 is a block diagram illustrating an example of an encoder for processing a medium depth view synthesis operation on a multi-view image according to an embodiment of the present invention.
- first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
- the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
- encoding and decoding of inter prediction, intra prediction, transform, quantization, entropy encoding, etc. may be performed using a macroblock similarly to H.264 / AVC.
- Encoding and decoding may be performed using a recursive coding unit (CU) structure to be described.
- 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 ⁇ 2N (unit: pixel) size.
- 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 two having a size of 8 or more-for example 8 x 8, 16 x 16, 32 x 32, 64 x 64-.
- 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.
- the depth and texture resolution is differently encoded and transmitted, and the decoding is performed when decoding the 3D image.
- texture means color.
- the depth may be encoded and transmitted at a resolution of 1/2 of the texture, and may be decoded when the 3D image is decoded.
- the depth may be encoded and transmitted at a resolution of 1 / k of the texture, but the k value may be variably changed.
- 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.
- another embodiment of the present invention uses the median of each of the vertical and vertical components of the motion vectors of the neighboring blocks with respect to the neighboring blocks of the current block in the same manner as defined in H.264 / AVC.
- a prediction motion vector of the current prediction unit 100 may be generated.
- 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, if it is intra prediction, it cannot be used because it does not have a predicted motion vector value, and the neighboring block cannot be used as an edge in the image.
- the motion vector value changes significantly, including the edge
- it may be classified as a case in which it is not suitable for use as a candidate of the prediction motion vector of the current prediction unit 100 and thus cannot be used.
- the bit stream may be generated by determining three final predicted motion vector candidates from the predicted motion vectors available among the candidate groups of the six predicted motion vectors.
- the three prediction motion vector candidates may be configured to include two spatial candidates and one temporal candidate.
- the upper two include motion vectors of spatial neighboring blocks A 1 to B 2 , and the other two include motion vectors of the temporal candidate block 130.
- the three final predicted motion vectors are sequentially given an index of S0, S1, and S2.
- the prediction motion vector of the current prediction unit 100 is selected from the three prediction motion vector candidates thus selected.
- 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 in order of & quot ; block B 0 104-> block B 2 105, then the motion vectors of the blocks can be indexed. If not available, the next step is taken. Therefore, the priority of judging the availability of the motion vector is 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.
- 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 embodiment of the present invention.
- the current prediction unit 100 and the neighboring blocks are grouped according to a predetermined criterion, such as a type of a motion prediction scheme (step 510), and the current prediction unit ( After determining whether 100 and the neighboring block have the same group and the same depth information (step 520), the current prediction unit 100 and the neighboring block belong to the same group and at the same time the depth of the current prediction unit 100 ( Only when the depth and the depth of the neighboring block are the same, the MV Predictor candidate list of the motion vector of the neighboring block having the same depth as the depth of the current prediction unit 100 is used in the current prediction unit 100.
- the inter-prediction may be performed based on the candidate motion vector (step 540).
- the type of the motion prediction method includes an inter-view prediction method between a reference view and a current view taken by a spatially different camera, and a current picture in time.
- the current prediction unit 100 uses an inter-view reference picture and the neighboring block uses inter-view prediction, the same inter-view prediction is performed. view prediction) may belong to the group.
- the current prediction unit 100 uses temporal prediction and the neighboring block uses temporal prediction, it may be determined that the current prediction unit 100 belongs to the same temporal prediction group.
- the motion vector prediction of the current prediction unit 100 is median of the motion vectors of the neighboring blocks of the current prediction unit 100 when all neighboring blocks of the current prediction unit 100 are available for motion vector prediction. You can also have
- the current prediction unit 100 uses temporal prediction, only neighboring blocks using temporal prediction are grouped into a temporal prediction group, and temporal prediction is used.
- the neighboring blocks may be indicated as not available for the motion vector prediction (MVP), and may not be used for the motion vector prediction of the current prediction unit 100.
- MVP motion vector prediction
- the motion vector of the neighboring block having the same depth as that of the current prediction unit 100 based on the predetermined grouping and the depth diagram may be obtained from the current prediction unit 100. Since the prediction motion vector candidate is used, the accuracy as the prediction motion vector of the current prediction unit 100 can be improved.
- the 3D image encoding method when using the above-described neighboring block, only depth information of the neighboring block may be considered for efficient encoding of the 3D image.
- depth information exists due to a 3D characteristic, and the depth information may be obtained from the encoder, and the multiview video image and the depth information may be transmitted to the decoder together.
- neighboring blocks 101, 102, 103, 104, and 105 of FIG. 2 or neighboring blocks used in H.264 / AVC are utilized, but candidates for the prediction motion vector are based on depth information of the neighboring blocks. Can be determined.
- 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 on the left side and neighboring blocks on the top side.
- 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 based on the depth information of the neighboring block.
- two spatial predicted motion vector candidates may be selected from the motion vectors of the neighboring blocks 101, 102, 103, 104, and 105.
- 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
- B 2 105 has a depth diagram of two
- current prediction unit 100 has a depth diagram of two
- a 1 101 has a depth diagram of two equal to the current prediction unit 100.
- the motion vector of 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 neighbor having the smallest difference in depth from the current prediction unit 100 based on the difference in depth from the current prediction unit 100 may be used as a candidate of the prediction 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 motion vector candidate of a neighboring block having the same depth as that of the current prediction unit 100 based on the depth diagram may be a prediction motion vector candidate of the current prediction unit 100.
- the accuracy of a prediction motion vector of the current prediction unit 100 may be improved.
- the previously selected prediction motion vector is bit-coded to a low bit, it may be advantageous in terms of transmission efficiency.
- the 3D image encoding apparatus 400 may include a motion vector grouping unit 410, a group and depth information comparison unit 420, and a candidate prediction motion vector of a neighboring block.
- the selection unit 430 and the inter prediction processing unit 440 may be included.
- the motion vector grouping unit 410 of the neighboring block inter-views the motion vector MV of the neighboring blocks A0, A1, B0, B1, and B2 of the current prediction unit 100. Group into two groups: -view prediction group and temporal prediction group.
- the motion vector prediction of the current prediction unit 100 is median of the motion vectors of the neighboring blocks of the current prediction unit 100 when all neighboring blocks of the current prediction unit 100 are available for motion vector prediction. Can have
- the current prediction unit 100 uses temporal prediction, only neighboring blocks using temporal prediction are grouped into a temporal prediction group, and temporal prediction is used.
- the neighboring blocks may be indicated as not available for the motion vector prediction (MVP), and may not be used for the motion vector prediction of the current prediction unit 100.
- MVP motion vector prediction
- the group and depth information comparison unit 420 compares whether the current prediction unit 100 and the neighboring blocks belong to the same group, and the depth information of the current prediction unit 100 and the depth information of the neighboring block. Specifically, when the current prediction unit 100 uses an inter-view reference picture and the neighboring block uses inter-view prediction, the same inter-view prediction is performed. view prediction) may belong to the group. In addition, when the current prediction unit 100 uses temporal prediction and the neighboring block uses temporal prediction, it may be determined that the current prediction unit 100 belongs to the same temporal prediction group.
- the candidate prediction motion vector selecting unit 430 determines that both the current prediction unit 100 and the neighboring blocks belong to the same group and the depth of the current prediction unit 100 and the depth of the neighboring block are the same. Only, the motion vector of the neighboring block having the same depth as the depth of the current prediction unit 100 is selected and included as the highest priority in the MV Predictor candidate list of the current prediction unit 100.
- the candidate motion vector list of the current prediction unit may be transmitted from the 3D image encoder to the 3D image decoder.
- the inter prediction processing unit 440 performs inter prediction based on the candidate motion vector list selected by the candidate prediction motion vector selecting unit 430 to perform an actual motion vector of the current prediction unit 100 and the predicted motion vector. Find the residual motion vector of the liver.
- the motion vector residual value of the current prediction unit may be transmitted from a 3D image encoder to a 3D image decoder by performing discrete cosine transform (DCT) transformation, quantization, and entropy encoding.
- DCT discrete cosine transform
- the motion vector residual value of the current prediction unit may be transmitted from the 3D image encoder to the 3D image decoder.
- the 3D image decoder reconstructs the original image by obtaining a motion vector of the current prediction unit using a candidate motion vector list extracted from the candidate motion vector list of the current prediction unit transmitted from the 3D image encoder and the motion vector difference value of the current prediction unit. can do.
- 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.
- the 3D video encoding / decoding method of the present invention When the 3D video encoding / decoding method of the present invention is applied to a high resolution image having a resolution of HD or higher definition, the number of blocks per picture increases, so that motion parameters are transmitted to the decoder for each prediction block. In this case, since the amount of motion parameters to be transmitted becomes very large, which is undesirable in terms of coding efficiency, a method for improving coding efficiency is required.
- the prediction mode is an inter-prediction mode.
- the prediction unit is transmitted to the decoder.
- the reference picture list is a list 0 when the previous picture (N-1th picture) of the current picture (N-th picture) and the next picture (N + 1th picture) of the current picture (N-th picture). In case of, it can have the value of list 1.
- a reference picture index indicates a reference picture index for the current prediction unit.
- inter picture encoding may be performed using block merging.
- Block merging is performed when the neighboring blocks of the current block coded before the current block (or prediction unit) have the same motion parameters (motion vector, difference value of motion vector, reference picture index, reference picture list, etc.) as the current block X. Coding by reducing the amount of motion parameters transmitted to the decoder without separately transmitting the motion parameters of the current block by merging the neighboring blocks having the same motion parameters with the current block and transmitting the merged blocks as the same motion parameters to the decoder. Efficiency can increase efficiency.
- the current block (prediction unit) X that is the minimum coding unit (SCU) is previously encoded.
- the motion parameter may include, for example, a motion vector, a motion vector difference value, a reference picture index, a reference picture list, and the like.
- a merging flag indicating whether block merging is applied may be transmitted to the decoder.
- the asymmetric partition when an asymmetric partition is partitioned in the horizontal direction to perform the inter prediction, the asymmetric partition is divided into a first prediction unit and a second prediction unit.
- At least one candidate block may be selected from a common merge candidate block list, and the selected candidate block information may be transmitted to the decoder for each of the first prediction unit PU0 and the second prediction unit PU1.
- the common merge candidate block list may include merge candidate blocks which are commonly used when performing block merging on the first prediction unit PU0 and the second prediction unit PU1.
- the common merge candidate blocks of the second prediction unit may be composed of only neighboring blocks that can be configured even before reconstructing the motion parameter of the first prediction unit.
- the block merging may be performed only when the size of the current coding unit is a size of a specific coding unit, for example, 4x4, 8x8, 16x16, 32x32, and the like.
- an asymmetric partition when partitioned in the horizontal direction to perform inter-screen prediction, in the case of 3D image decoding of the present invention, it is asymmetric with the first prediction unit PU0 and the second prediction unit PU1.
- a common merge candidate block list including a predetermined number of common merge candidate blocks selected from neighboring blocks of the partitioned current coding unit CU is configured, and the first prediction unit PU0 and the second prediction unit PU1 are configured.
- Reconstruct the motion parameters of the block merged block by using at least one candidate block selected from the common merge candidate block list for each block to generate a motion vector in units of blocks, and compensate for the motion by using the generated motion vector and the reference picture. Can be performed.
- the common merge candidate blocks of the second prediction unit may be composed of only neighboring blocks that can be configured even before reconstructing the motion parameter of the first prediction unit.
- the block merging may be performed only when the size of the current coding unit is a size of a specific coding unit, for example, 4x4, 8x8, 16x16, 32x32, and the like.
- the first asymmetric partition PU0 and the second using a common merge candidate list are used.
- a method of parallel processing of the asymmetric partition PU1 will be described in detail.
- PU0 is called a first prediction unit and PU1 is called a second prediction unit.
- the size of the coding unit PU is 2N ⁇ 2N (N is a positive integer), and N may be 2, 4, 8, 16, 32, for example.
- the scheme of using common merge candidate blocks to enable parallel processing for asymmetrically partitioned prediction units PU0 and PU1 is performed in a coding unit (PU) having an N value of 2, 4, 8, 16, 32. All may be applied, or may be applied only to a coding unit (PU) in which the N value has a specific value, for example one of 2, 4, 8, 16, 32 values.
- PU coding unit
- the N value has a specific value, for example one of 2, 4, 8, 16, 32 values.
- LCU largest coding unit
- the number of times that the common merge block list including the common merge candidate blocks for the entire 64x64 block increases is increased.
- the common merge candidate list when the common merge candidate list is applied to the case where the size of the coding unit (CU) is smaller than the case where the size of the coding unit (CU) is large, the number of constructing the common merge candidate list can be greatly reduced, thereby reducing complexity.
- the performance loss is increased. Therefore, in consideration of both performance loss and complexity, for example, when the minimum size of the prediction unit (PU) is 4x4, only when the size of the coding unit (CU) is 8x8 (N value 2, 4, 8, 16, By selecting the smallest 4 except 2 out of 32 values), the complexity can be greatly reduced without significant performance loss by using the common merge candidate blocks.
- the maximum coding unit (LCU) may be divided into a plurality of non-overlapped motion estimation regions (or merge estimation regions), and the maximum coding unit (LCU). Motion estimation in the motion estimation area within the sequential motion, so that the motion estimation operation is performed in sequential rather than parallel processing, and all prediction units (PU) belonging to one motion estimation area in the maximum coding unit (LCU) With respect to the motion (parallel) can be made (motion estimation) in parallel.
- the size of the motion estimation region may be smaller than that of the maximum coding unit (LCU), and the motion estimation region may have a square shape.
- common merge candidate blocks may be used for prediction units (PUs) in the motion estimation region to allow parallel processing.
- PU prediction units
- the sequential merge operation for all prediction units (PU) in the maximum coding unit (LCU) Is performed and parallel merge for all prediction units (PUs) in the motion estimation region only when the size of the motion estimation region is 8x8 or more-a method of using common merge candidate blocks to enable parallel processing.
- LCU maximum coding unit
- a predetermined value may be included in a picture parameter set (PPS) and transmitted from the encoder to the decoder to inform whether the parallel merging process is allowed according to the size of the motion estimation region.
- the predetermined value may be, for example, 0, 1, 2, 3, and 4, and the size of the motion estimation region may be 4x4, 8x8, 16x16, 32x32, or 64x64 for each of 0, 1, 2, 3, and 4, respectively. Can be.
- the corresponding prediction unit PU is made non-available. If the current prediction unit PU and the neighboring prediction unit PU belong to different motion estimation regions, the neighboring prediction unit PU is available in the list of the common merge candidate blocks by processing it as available. Can be determined for use in motion vector estimation. Peripheral common merge candidate block available when some of the neighbor common merge candidate blocks (peripheral prediction units (PUs)) of the current 8x8 sized coding unit (CU) are non-available.
- PUs peripheral prediction units
- the first process of constructing the list of merge candidate blocks for block merging of the first prediction unit PU0 and the second process of constructing the list of merge candidate blocks for block merging of the second prediction unit PU1 are performed separately. Rather, it may be performed as a process of configuring one common merge candidate block, and the encoding (or decoding) process for the second prediction unit PU1 is performed in parallel with the encoding (or decoding) process for the first prediction unit PU1.
- the encoding time can be greatly reduced.
- the common merge candidate blocks may be predetermined by appointment at an encoder and a decoder in advance, in which case information about the common merge candidate blocks need not be transmitted from the encoder to the decoder.
- a partition PU1 block prediction unit
- nR 2N X 1/4
- a list of merge candidate blocks for block merging of the first prediction unit PU0 may be performed as a process constituting one common merge candidate block instead of separately.
- the encoding (or decoding) process for the second prediction unit PU1 may be performed in parallel with the encoding (or decoding) process for the first prediction unit PU1 so that the encoding time may be greatly reduced.
- the common merge candidate block may have seven blocks, but the number of blocks included in the common merge candidate block list is not limited thereto, and may include only six, five, and four candidate blocks. have.
- a block having a motion parameter similar to the current block (prediction unit) among each merge candidate block is selected, and the selected merge candidate block and the current block are merged.
- Selection of a block having a motion parameter similar to that of the current block (prediction unit) is performed when the difference between the motion parameter of the current block (prediction unit) and the motion parameter of each merge candidate block of the merge candidate block set is equal to or less than a predetermined threshold.
- a merge candidate block having a difference value less than or equal to the threshold may be selected.
- the current block and the selected merge candidate block are transmitted to the decoder by applying the same motion parameter.
- the current block When the current block is merged with the selected merge candidate block, information of the merged block is transmitted to a decoder without having to transmit a motion parameter of the current block to the decoder, and the decoder has already decoded using the merge block information.
- the current block can be decoded using the motion parameter of the merged block.
- At least one candidate block is selected from the common merge candidate block list for each of the first prediction unit PU0 and the second prediction unit PU1 to decode the selected candidate block information for each of the first prediction unit and the second prediction unit.
- the first prediction unit PU0 and the second prediction unit PU1 include spatial merge candidate blocks of neighboring blocks of the first prediction unit PU0 and the second prediction unit PU1 as a common merge candidate block.
- the first prediction unit PU0 and the second prediction unit PU1 are spatial in common for all partition types regardless of partition types and indices in a coding unit CU having a predetermined size. It may include a merge candidate block.
- the first prediction unit PU0 and the second prediction unit PU1 include a spatial merge candidate block including neighboring blocks of the first prediction unit PU0 and the second prediction unit PU1 in the list of the common merge candidate block.
- a temporal merge candidate block may be further included in the list of the common merge candidate block.
- the first prediction unit PU0 and the second prediction unit PU1 include a temporal merging candidate block as a common merging candidate block
- the first prediction unit PU0 and the second prediction unit PU1 in the coding unit CU are the spatial ( spatial A reference picture index of a temporal motion vector prediction for a temporal merging candidate block from a reference picture index of a block of a predetermined specific position among common merge candidate blocks.
- Temporal MVP Temporal motion vector prediction
- MV motion vector
- MV reference picture index
- the block of the predetermined specific position is a previously encoded neighboring block that can be configured even before restoring motion parameters of the first prediction unit PU0 and the second prediction unit PU1 included in the list of the common merge candidate block. This can be used to enable parallel processing.
- the temporal merging candidate block may further include, for example, a co-located block of a current prediction unit (PU) included in a previous picture of the current picture in the common merge candidate list.
- PU current prediction unit
- the first asymmetric partition PU0 and the second asymmetric partition (PU0) using a common merge candidate list (common merge list) are used.
- the parallel processing of PU1) is possible, which can greatly reduce the encoding time.
- depth information of all or some view images of the multiview image data may be transmitted from the encoder to the decoder.
- camera parameters for cameras of a plurality of different viewpoints may be transmitted from the encoder to the decoder.
- the encoder may transmit information for synthesis of the reference view for the current view to the decoder.
- the texture view component and the depth view component are encoded in a predetermined order.
- the access unit t is the texture view component T0t for View 0.
- depth view component D0t and may include texture view component T1t and depth view component D1t for View 1, access unit t + 1 being texture view component T0t + 1 and depth view component D0t + 1 for View 0 And a texture view component T1t + 1 and a depth view component D1t + 1 for View 1.
- the decoder may synthesize an intermediate view image through a VSP process using texture data and / or depth map data transmitted from the encoder. For example, for views 1, 2, and 3, the encoder sends depth data for two views (for example, View 1, View 3) to the decoder without sending three depth data for all three views to the decoder. In addition, the depth data for View 2 may be restored by the decoder.
- FIG. 6 is a block diagram of an encoder for processing an in-loop filtering method for a multi-view image according to an embodiment of the present invention.
- an encoder includes a first encoder 100 and a second encoder 200.
- the first encoder 100 has the same configuration as that of the existing H.264 / AVC encoder and converts the input image X into a transform unit 101, a quantizer 103, an inverse quantizer 105, and an inverse transform unit ( 107) performs intra prediction and inter screen prediction by using the motion compensator 115 and the motion estimation unit 121, and performs deblocking filtering between block boundaries. Since the first encoder 100 has the same configuration as that of the existing H.264 / AVC encoder, detailed description thereof will be omitted.
- the second encoder 200 performs a D-MVP 210 performing depth-based motion vector prediction (D-MVP) for texture encoding and an in-loop for encoding texture data and depth data. And a view synthesis predictor (VSP) 220.
- D-MVP depth-based motion vector prediction
- VSP view synthesis predictor
- the deblocking filter strength of a specific block of the current view may be obtained using the deblocking filter strength of the corresponding block of the reference view taken by a camera at a spatially different point in time from the current view.
- FIG. 7 is a flowchart illustrating an in-loop filtering method for a multi-view image according to an embodiment of the present invention.
- the specific block of the current view and the corresponding block of the reference view are referred to.
- the deblocking strength of a specific block of the current view is set by performing scaling according to the distance and angle in consideration of the distance and the angle of the control unit (step 220).
- the distance and angle between the specific block of the current view and the corresponding block of the reference view spatially referring to the corresponding block of the reference view for the current view.
- scaling according to the distance and angle may be performed to set the deblocking strength of a specific block of the current view. For example, when the current View is View 2 among the Views 1, 2, and 3 and the reference View of the current View is View 1, View 3, the deblocking strength of a specific block of the current View is View 1 which is the reference View.
- the deblocking strength of the specific block of the current view may be set by performing scaling according to the distance and angle in consideration of the distance and the angle between the specific block of the current view and the corresponding block of the view 1 with reference to the corresponding block of. .
- the deblocking strength of the particular block of the current view may be p / 2.
- the deblocking strength of the particular block of the current view may be p / 4.
- the scaling is performed according to the distance and the angle in consideration of the distance and the angle between the specific block of the current view and the corresponding block of the reference view to set the deblocking strength of the specific block of the current view.
- the complexity of the deblocking process can be reduced.
- the deblocking intensity of the specific block of the current view may be set by performing scaling according to the distance and angle in consideration of the distance and angle between the specific block of the current view and the corresponding block of the reference picture with reference to the corresponding block.
- FIG. 8 is a flowchart illustrating an in-loop filtering method for a multi-view image according to another embodiment of the present invention.
- the distance between the specific block of the current view and the corresponding block of the reference view and The deblocking strength of a specific block of the current view is set by performing scaling according to the distance and the angle in consideration of the angle (step 320).
- the above-described in-loop filtering method or deblocking method may be applied to a decoder of a multiview image to reduce the complexity of the decoder.
- Some views of the plurality of views without transmission may be obtained through intermediate view synthesis using at least two views transmitted to the decoder without transmission.
- FIG. 9 is a conceptual diagram illustrating a process of synthesizing an intermediate view in a decoder by using two views transmitted to a decoder.
- texture views of views 1 and 3 are transmitted from the encoder to the decoder for views 1, 2, and 3, and texture views of view 2 are already decoded without being transmitted from the encoder to the decoder. It can be obtained by using the texture views of View 1 and 3 transmitted to the controller. For example, two texture views of View 1 and 3 sent to the decoder can be used to obtain an average, through interpolation according to distance, or through predetermined scaling according to distance and angle. have.
- some depth views of the plurality of depth views may be obtained through intermediate depth view synthesis using at least one depth view transmitted to the decoder without transmitting.
- FIG. 10 is a conceptual diagram illustrating a process of synthesizing a mid-depth view in a decoder using two depth views transmitted to a decoder.
- a depth view of views 1 and 3 is transmitted from the encoder to the decoder, and the texture view of view 2 is already decoded without being transmitted from the encoder to the decoder.
- This can be obtained using the depth views of View 1 and 3 transmitted to the instrument.
- an average may be obtained by using both depth views of View 1 and 3 transmitted to the decoder, or may be obtained through interpolation according to distance, or may be obtained through predetermined scaling according to distance and angle.
- the texture views of views 1 and 3 are transmitted from the encoder to the decoder, and the texture views of view 2 are transmitted from the encoder to the decoder without using the texture views of views 1 and 3 transmitted to the decoder.
- the depth of data transmitted from the encoder to the decoder is reduced so that the data transmitted to the decoder can be reduced to increase the coding efficiency so that one depth already transmitted to the decoder can be obtained.
- Depth view of View 2 can be obtained using texture View 3 generated through the view and the intermediate view composition.
- FIG. 11 is a conceptual diagram illustrating a process of synthesizing an intermediate depth view in a decoder by using one depth view transmitted to a decoder according to an embodiment of the present invention.
- a texture view of View 2 is obtained through intermediate view synthesis using texture views of View 1 and 3 transmitted from an encoder to a decoder.
- a depth view of View 1 is transmitted from an encoder to a decoder among the views 1, 2, and 3, and the depth view of View 2 is a depth view of View 1 that has already been transmitted to the decoder. It can be obtained by using the texture view of View 2 obtained through the intermediate view synthesis.
- the texture view and the depth view are transmitted from the encoder to the decoder with respect to View 1, and the texture view of View 2 is obtained through the intermediate view synthesis of FIG. 9.
- the depth view of View 2 can be estimated from the depth view of View 1 using the position, distance, and / or angle between the texture view and View 2 texture view. For example, an average is derived by inferring the position, distance, and / or angle between the depth view of View 1 and the depth view of View 2 from the position, distance, and / or angle relationship between the texture view of View 1 and the texture view of View 2.
- the depth view of View 2 can be obtained by interpolation based on distance or by interpolation according to distance, or through predetermined scaling according to distance and angle.
- FIG. 12 is a conceptual diagram illustrating a process of synthesizing a middle depth view in a decoder using one depth view transmitted to a decoder according to another embodiment of the present invention.
- a texture view of View 2 is obtained through intermediate view synthesis using texture views of View 1 and 3 transmitted from an encoder to a decoder.
- a depth view of View 3 is transmitted from an encoder to a decoder among the views 1, 2, and 3, and the depth view of View 2 is different from the depth view of View 3 already transmitted to the decoder. It can be obtained by using the texture view of View 2 obtained through the intermediate view synthesis.
- the texture view and the depth view are transmitted from the encoder to the decoder with respect to View 3, and the texture view of View 2 is obtained through the intermediate view synthesis of FIG. 9.
- the depth view of View 2 can be estimated from the depth view of View 3 using the position, distance, and / or angle between the texture view and the texture view of View 2. For example, from the position, distance, and / or angle relationship between the texture view in View 3 and the texture view in View 2, we derive the average by inferring the position, distance, and / or angle between the depth view in View 3 and the depth view in View 2.
- the depth view of View 2 can be obtained by interpolation based on distance or by interpolation according to distance, or through predetermined scaling according to distance and angle.
- FIG. 13 is a conceptual diagram illustrating a process of synthesizing a middle depth view in a decoder using one depth view transmitted to a decoder according to another embodiment of the present invention.
- a texture view of View 2 is obtained through intermediate view synthesis using texture views of View 1 and 3 transmitted from an encoder to a decoder.
- a depth view of View 3 is transmitted from an encoder to a decoder among the views 1, 2, and 3 under the above assumption, and the depth view of View 2 is equal to the depth view of View 3 already transmitted to the decoder. It can also be obtained using the texture views of View 1 and 3 transmitted from the encoder to the decoder.
- the texture view and the depth view of the view 3 are transmitted from the encoder to the decoder, and the texture view of the view 1 is also obtained as shown in FIG. 9.
- the depth view of View 2 can be estimated by using the position, distance, and / or angle between texture views. For example, inferring the position, distance, and / or angle between the depth view of View 3 and the depth view of View 2 from the position, distance, and / or angle relationship between the texture view of View 3 and the texture view of View 1, It can be obtained by interpolation or by predicting the depth view of View 2 through predetermined scaling according to distance and angle.
- the motion information (or motion parameter) for the depth view of the view 2 is the motion information of the co-located block of the texture view component of the view 2.
- the motion information (or motion parameter) may include a block type (macro block type, sub macro block type), a reference picture index, a candidate motion vector list, or a motion vector.
- the decoder may signal a flag from the encoder to the decoder to inform the decoder that the motion information of the depth view as described above is reused by the motion information of the corresponding block in the texture view of the same view as the depth view.
- the motion information of the depth view may be reused as the motion information of the corresponding block in the texture view of the same view as the depth view.
- FIG. 14 is a block diagram illustrating an example of an encoder for processing a medium depth view synthesis operation on a multi-view image according to an embodiment of the present invention.
- an encoder includes a first encoder 100 and a second encoder 200.
- the first encoder 100 has the same configuration as that of the existing H.264 / AVC encoder and uses the motion compensator 115 and the motion estimator 121 to input the input image X.
- the image data encoded by the prediction unit 101, the quantization unit 103, the inverse quantization unit 105, the inverse transform unit 107, and the entropy encoding units 131 and 133 is converted into a bit stream. send. Since the first encoder 100 of FIG. 14 has the same configuration as that of the existing encoder of H.264 / AVC, detailed description thereof will be omitted.
- the second encoder 200 may perform a depth-based motion vector prediction unit (D-MVP) 210 that performs motion vector prediction based on the decoded depth picture of the multiview image. It may include a View Synthesis Prediction (VSP) 220 for encoding texture data and depth data using the texture picture and the decoded depth picture.
- D-MVP depth-based motion vector prediction unit
- VSP View Synthesis Prediction
- VSP View Synthesis Prediction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
본 발명은 멀티뷰 영상 부호화 방법, 부호화 장치, 복호화 방법, 복호화 장치에 관한 것으로, 보다 상세하게는 움직임 벡터를 예측하여 멀티뷰 영상을 부호화/복호화, 멀티뷰 영상의 중간 뷰 합성, 그리고 멀티뷰 영상의 인-루프 필터링에 관한 것이다.
일반적으로 영상 압축 방법에서는 압축 효율을 높이기 위해 픽쳐들의 중복도를 제거하는 화면간 예측(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 표준에서는, 영상이 낮은 비트율로 부호화되는 경우 복호영상에 블록왜곡이 발생한 상태에서 프레임 메모리에 저장되고 다음 픽처의 움직임 보상 처리에서 상기 블록왜곡을 포함한 영상을 참조하여 부호화하기 때문에 화질의 열화가 전파되는 문제를 해결하기 위해, 프레임 메모리에 복호 영상을 저장하기 전에 블록왜곡 현상을 제거하는 적응적인 디블록킹 필터링(deblocking filtering)을 사용한다. 즉, 블록간의 경계에서의 왜곡(artifact)를 줄이기 위해 블록 경계를 소정의 강도로 블러(blur) 처리를 수행한다.
H.264/AVC 표준에서의 적응적 디블록킹 필터링은 동일한 영상 내에서 블록왜곡이 발생하기 쉬운 위치와 블록왜곡이 발생하기 어려운 위치에 각각 디블록킹 필터를 적응적으로 적용함으로써 영상의 블록왜곡이 참조영상에 포함된 상태로 복호영상에 전달하게 되는 것을 방지하여 양호한 복호영상이 출력되도록 한다.
멀티뷰 영상(multiview video)의 경우 현재 뷰(view)와 공간적으로 다른 시점의 카메라에 의해 촬영된 참조 뷰(view)가 존재한다. 기존의 H.264/AVC 비디오와 호환이 가능하도록 멀티뷰 영상을 부호화하기 위하여 상기 현재 뷰의 특정 블록의 디블록킹 처리를 수행할 경우, 참조 뷰의 대응되는 블록의 디블록킹 필터 강도와는 독립적으로 현재 뷰의 특정 블록의 디블록킹 필터 강도를 구할 경우 전체적인 복잡도가 증가할 수 있다. 특히, 복호화기에서 디블록킹 필터의 처리는 복호화기 복잡도의 상당 부분을 차지하므로 멀티뷰 영상을 복호화하기 위하여 참조 뷰의 대응되는 블록의 디블록킹 필터 강도와는 독립적으로 현재 뷰의 특정 블록의 디블록킹 필터 강도를 구할 경우 복호화기의 복잡도가 현저하게 증가 될 수 있다.
한편, 멀티뷰 영상(multiview video)의 경우 현재 뷰(view)와 공간적으로 다른 시점의 카메라에 의해 촬영된 참조 뷰(view)가 적어도 하나 존재하며, 멀티뷰 영상의 부호화 및 복호화시 멀티뷰 영상 데이터(또는 텍스처(texture))가 모든 뷰에 대하여 부호화기에서 복호화기로 전송될 경우 디코더로 전송되는 데이터가 증가하여 부호화 효율이 저하될 수 있다.
또한, 멀티뷰 영상의 부호화 및 복호화의 경우 깊이 뷰 데이터가 모든 뷰에 대하여 부호화기에서 복호화기로 전송될 경우 디코더로 전송되는 데이터가 증가하여 부호화 효율이 저하될 수 있다.
본 발명의 목적은 3차원 영상에 적용할 수 있는 움직임 벡터 예측을 통한 영상 부호화 방법 및 부호화 장치를 제공하는 것이다.
본 발명의 다른 목적은 3차원 영상에 적용할 수 있는 움직임 벡터 예측을 통한 영상 복호화 방법 및 복호화 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 멀티뷰 영상 코딩시 복잡도를 줄이기 위한 멀티뷰 영상의 인-루프 필터링 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 멀티뷰 영상 코딩시 부호화기에서 복호화기로 전송되는 데이터량을 줄여 부호화 효율을 높이기 위한 멀티뷰 영상의 중간 깊이 뷰 합성 방법을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 3차원 영상에서 현재 예측 유닛에 대한 부호화 방법은, 상기 현재 예측 유닛의 이미 부호화된 주변 블록 중에서 상기 현재 예측 유닛과 동일한 그룹 및 동일한 깊이 정보를 갖는 주변 블록의 움직임 벡터를 상기 현재 예측 유닛의 후보 예측 움직임 벡터로 선정하는 단계와, 상기 후보 예측 움직임 벡터를 기반으로 화면간 예측(inter prediction)을 수행하여 상기 현재 예측 유닛의 움직임 벡터를 예측하여 복호화기로 전송하는 단계를 포함한다. 여기서, 상기 현재 예측 유닛의 후보 예측 움직임 벡터는 상기 현재 예측 유닛의 이미 부호화된 주변 블록 중에서 상기 현재 예측 유닛과 동일한 그룹 및 동일한 깊이 중 적어도 하나를 만족하는 주변 블록의 움직임 벡터를 상기 현재 예측 유닛의 후보 예측 움직임 벡터로 선정하여 상기 후보 예측 움직임 벡터를 기반으로 화면간 예측(inter prediction)을 수행하여 상기 현재 예측 유닛의 움직임 벡터를 예측하여 복호화기로 전송할 수도 있다.
상기한 목적을 달성하기 위한 본 발명의 3차원 영상에서 현재 예측 유닛에 대한 복호화 방법은, 수신된 비트 스트림을 엔트로피 복호화하고 역양자화 및 역변환을 수행하는 단계와, 상기 역변환된 비트 스트림을 기반으로 상기 현재 예측 유닛의 이미 부호화된 주변 블록 중에서 상기 현재 예측 유닛과 동일한 그룹 및 동일한 깊이 정보를 갖는 주변 블록의 움직임 벡터를 상기 현재 예측 유닛의 후보 예측 움직임 벡터로 선정하는 단계와, 상기 후보 예측 움직임 벡터를 기반으로 화면간 예측(inter prediction)을 수행하여 상기 현재 예측 유닛의 움직임 벡터를 예측하여 영상을 복원하는 단계를 포함한다. 여기서, 상기 현재 예측 유닛의 후보 예측 움직임 벡터는 상기 현재 예측 유닛의 이미 부호화된 주변 블록 중에서 상기 현재 예측 유닛과 동일한 그룹 및 동일한 깊이 중 적어도 하나를 만족하는 주변 블록의 움직임 벡터를 상기 현재 예측 유닛의 후보 예측 움직임 벡터로 선정하여 상기 후보 예측 움직임 벡터를 기반으로 화면간 예측(inter prediction)을 수행하여 상기 현재 예측 유닛의 움직임 벡터를 예측하여 영상을 복원할 수도 있다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 멀티 뷰 영상에 대한 인-루프 필터링 방법은 현재 뷰의 특정 블록에 대하여 참조 뷰의 대응되는 블록을 참조하는 단계와, 상기 현재 뷰의 특정 블록과 상기 참조 뷰의 대응되는 블록과의 거리를 고려하여 상기 거리에 따른 스케일링을 수행하여 현재 뷰의 특정 블록의 디블록킹 강도를 설정하는 단계를 포함한다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 제 1 뷰, 제2 뷰, 제3 뷰에 대하여 각각 텍스쳐 뷰와 깊이 뷰를 가지는 멀티 뷰 영상에 대하여 복호화기에서 수행되는 중간 깊이 뷰 합성 방법은, 부호화기로부터 수신한 상기 제1 뷰의 텍스쳐 뷰 및 제3 뷰의 텍스쳐 뷰에 대하여 중간 뷰 합성을 수행하는 단계와, 상기 중간 뷰 합성을 통하여 상기 제1 뷰의 텍스쳐 뷰 및 제3 뷰의 텍스쳐 뷰로부터 상기 제2 뷰의 텍스쳐 뷰를 구하는 단계를 포함한다.
3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치에 따르면, 깊이 정보를 가지는 3차원 영상에 대해 예측 움직임 벡터의 후보 선정을 효율적으로 할 수 있다는 효과가 있다.
3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치에 따르면, 현재 예측 유닛과 주변 블록이 모두 동일한 그룹에 속하고 동시에 현재 예측 유닛의 깊이(depth)와 주변 블록의 깊이가 동일한 경우에 한하여, 현재 예측 유닛의 깊이와 동일한 깊이를 가진 주변 블록에 대하여 현재 예측 유닛의 예측 움직임 벡터 후보 리스(MV Predictor candidate list)에 최우선 순위로 선정함으로써 3차원 영상의 현재 예측 유닛의 움직임 벡터 선정시 복잡도를 감소시키면서 정확도를 증가시킬 수 있다는 효과가 있다.
상술한 멀티 뷰 영상에 대한 인-루프 필터링 방법에 따르면, 현재 View의 특정 블록과 현재 View에 대한 참조 View의 대응되는 블록과의 거리 및 각도를 고려하여 거리 및 각도에 따른 스케일링을 수행하여 현재 View의 특정 블록의 디블록킹 강도를 설정함으로써 멀티 뷰 영상의 부호화 및 복호화의 경우 디블록킹 처리의 복잡도를 줄일 수 있다.
전술한 본 발명의 실시예들에 따른 중간 깊이 뷰 합성 방법은 멀티뷰 영상의 모든 뷰에 대하여 깊이 뷰를 전송하지 않고 복수개의 깊이 뷰 중에 일부의 깊이 뷰는 전송하지 않고 복호화기로 전송된 적어도 1개의 깊이 뷰를 이용하여 중간 깊이 뷰 합성을 통하여 구함으로써 멀티 뷰 영상의 부호화기 및/또는 복호화기에서의 복호화기로 전송되는 깊이 뷰 데이터량을 줄일 수 있으므로 결과적으로 부호화 효율을 향상 시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 순환적 코딩 유닛의 구조를 나타내는 개념도이다.
도 2는 공간적인 후보로서의 주변 블록을 도시한 도면이다.
도 3은 시간적인(temporal) 후보로서의 주변 블록을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 3차원 영상 부호화 장치를 개략적으로 나타낸 블록도이다.
도 5는 본 발명의 일 실싱예에 따른 3차원 영상 부호화 방법을 개략적으로 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 멀티 뷰 영상에 대한 인-루프 필터링 방법을 처리하기 위한 부호화기의 블록도이다.
도 7는 본 발명의 일 실시예에 따른 멀티 뷰 영상에 대한 인-루프 필터링 방법을 설명하기 위한 순서도이다.
도 8은 본 발명의 다른 실시예에 따른 멀티 뷰 영상에 대한 인-루프 필터링 방법을 설명하기 위한 순서도이다.
도 9는 복호화기로 전송된 2개의 뷰를 이용하여 복호화기에서 중간 뷰를 합성하는 과정을 설명하기 위한 개념도이다.
도 10은 복호화기로 전송된 2개의 깊이 뷰를 이용하여 복호화기에서 중간 깊이 뷰를 합성하는 과정을 설명하기 위한 개념도이다.
도 11은 본 발명의 일실시예에 따른 복호화기로 전송된 1개의 깊이 뷰를 이용하여 복호화기에서 중간 깊이 뷰를 합성하는 과정을 설명하기 위한 개념도이다.
도 12는 본 발명의 다른 실시예에 따른 복호화기로 전송된 1개의 깊이 뷰를 이용하여 복호화기에서 중간 깊이 뷰를 합성하는 과정을 설명하기 위한 개념도이다.
도 13은 본 발명의 또 다른 실시예에 따른 복호화기로 전송된 1개의 깊이 뷰를 이용하여 복호화기에서 중간 깊이 뷰를 합성하는 과정을 설명하기 위한 개념도이다.
도 14는 본 발명의 일 실시예에 따른 멀티 뷰 영상에 대한 중간 깊이 뷰 합성 동작을 처리하기 위한 부호화기의 일례를 나타낸 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
깊이 정보를 이용한 움직임 벡터 예측
본 발명의 일 실시예에서는 H.264/AVC와 동일하게 매크로블록(Macroblock)을 이용하여 화면간 예측, 화면내 예측, 변환, 양자화, 엔트로피 부호화 등의 부호화 및 복호화를 수행할 수도 있고, 하기에 설명하는 순환적(recursive) 코딩 유닛(CU: Coding Unit) 구조를 사용하여 부호화 및 복호화를 수행할 수도 있다.
도 1은 본 발명의 일 실시예에 따른 순환적 코딩 유닛의 구조를 나타내는 개념도이다.
도 1을 참조하면, 각 코딩 유닛(CU)은 정방형의 픽셀 크기를 가지며, 2N x 2N(단위: 픽셀) 크기의 가변적인 크기를 가질 수 있다. 화면간 예측, 화면내 예측, 변환, 양자화, 디블록킹 필터링 및 엔트로피 부호화는 코딩 유닛(CU) 단위로 이루어질 수 있다.
코딩 유닛(CU)은 최대 코딩 유닛(LCU: Largest Coding Unit), 최소 코딩 유닛(SCU: Smallest Coding Unit)을 포함할 수 있고, 최대 코딩 유닛(LCU)과 최소 코딩 유닛(SCU)의 크기는 8 이상의 크기를 가지는 2의 거듭제곱 값으로 나타낼 수 있다.
코딩 유닛의 크기는 8 이상의 크기를 가지는 2의 거듭제곱 값-예를 들어 8 x 8, 16 x 16, 32 x 32, 64 x 64-를 가질 수 있다.
본 발명의 일 실시예에 따른 코딩 유닛(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) 분할이 수행될 수 있다.
본 발명의 일 실시예에 따른 3차원 영상 부호화 방법에 의하면, 3차원 영상 부호화시, 깊이(depth)와 텍스처(texture)의 해상도(resolution)을 다르게 하여 부호화하여 전송하고 3차원 영상 복호화시 복호화할 수 있다. 여기서 텍스처(texture)는 색(color)를 의미한다. 예를 들어, 깊이(depth)를 텍스처(texture)의 1/2의 해상도로 부호화하여 전송하고 3차원 영상 복호화시 복호화할 수 있다. 또는 깊이(depth)를 텍스처(texture)의 1/k의 해상도로 부호화하여 전송하되, 상기 k값을 가변적으로 변경할 수 있다.
도 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)의 예측 움직임 벡터를 생성할 수 있다. 특히, 본 발명의 다른 실시예에서는 H.264/AVC에서 규정된 방식과 동일한 방식으로 현재 블록의 주변블록들에 대하여 주변 블록들의 움직임 벡터들의 수형 성분과 수직 성분 각각의 중앙값(median)을 사용하여 현재 예측 유닛(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)의 예측 움직임 벡터를 결정하는 예측 움직임 벡터 후보군이 되는 것이다. 경우에 따라 현재 예측 유닛의 움직임 벡터를 예측하는데 이용할 수 없는(not available) 주변 블록이 존재하는데 이 경우에는 화면간 예측에 상기와 같이 이용 할수 없는 주변 블록을 사용하지 않는다.
이용할 수 없는 경우는 예컨대, 상기 주변 블록이 화면간(inter) 예측이 아닌 경우, 즉 화면내(intra) 예측인 경우 예측 움직임 벡터값을 갖지 않기 때문에 이용할 수 없고, 상기 주변 블록이 영상내의 에지(edge)를 포함하여 움직임 벡터값이 크게 변하는 경우, 현재 예측 유닛(100)의 예측 움직임 벡터의 후보로 사용하기에는 적합하지 않아 이용할 수 없는 경우로 분류할 수 있다.
다음으로, 전술한 바와 같이 6 개의 예측 움직임 벡터의 후보군 중에서 사용 가능한 예측 움직임 벡터로 3개의 최종 예측 움직임 벡터 후보를 정하여 비트 스트림을 생성할 수 있다. 여기서 3개의 예측 움직임 벡터 후보는 공간적인 후보 2개 및 시간적인 후보 1개를 포함하도록 구성할 수 있다. 비트 스트림을 생성할 때, 각각의 비트와 움직임 벡터와의 대응 관계는 다음의 표를 통해 살펴볼 수 있다.
[표 1]
표 1을 참조하면, 총 3개의 예측 움직임 벡터만 저장할 수 있음을 알 수 있다. 상위 2개는 공간적 주변 블록 A1~B2의 움직임 벡터가 포함되고 나머지 한 개는 시간적 후보 블록(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)의 순이고, 이 순서대로 하나씩 주변 블록의 움직임 벡터가 이용 가능한 블록이면 바로 그 블록의 움직임 벡터에 인덱스를 부여할 수 있다. 사용 불가능(not available)하면 다음 순서로 넘어가게 된다. 따라서, 움직임 벡터의 사용 가능성을 판단하는 우선 순위는 중요하다. 우선 순위에 기재된 움직임 벡터의 순서에 따라서, 현재 예측 유닛(100)의 예측 움직임 벡터가 달라질 수 있기 때문이다. 따라서, 영상의 특성에 따라 주변 블록을 참조하는 순서를 유동적으로 바꾸는 방법이 있을 수 있다. 즉, 첫 번째 후보에 주변 블록 중 예측 움직임 벡터로 선택될 확률이 가장 높은 주변 블록이 처음으로 인덱스를 부여받게 되는 블록이 되게 하면, 전송 효율 측면에서 이득을 얻을 수 있다.
도 4는 본 발명의 일 실시예에 따른 3차원 영상 부호화 장치를 개략적으로 나타낸 블록도이고, 도 5는 본 발명의 일 실시예에 따른 3차원 영상 부호화 방법을 개략적으로 나타낸 흐름도이다.
도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따르면, 현재 예측 유닛(100)과 주변 블록을 움직임 예측 방식의 종류와 같은 소정의 기준에 따라 그룹핑하고(단계 510), 현재 예측 유닛(100)과 주변 블록이 동일한 그룹 및 동일한 깊이(depth) 정보를 가지는 지를 판단한 후(단계 520), 현재 예측 유닛(100)과 주변 블록이 동일한 그룹에 속하고 동시에 현재 예측 유닛(100)의 깊이(depth)와 주변 블록의 깊이가 동일한 경우에 한하여, 현재 예측 유닛(100)의 깊이와 동일한 깊이를 가진 주변 블록의 움직임 벡터를 현재 예측 유닛(100)의 예측 움직임 벡터 후보 리스(MV Predictor candidate list)에 최우선 순위로 선정하여 포함시키고(단계 530), 상기 후보 움직임 벡터를 기반으로 화면간 예측을 수행할 수 있다(단계 540).
예를 들어, 상기 움직임 예측 방식의 종류로는 공간적으로 다른 카메라에 의해 촬영된 참조 뷰(reference view)와 현재 뷰(view)간의 인터-뷰 예측(inter-view prediction) 방식과, 시간적으로 현재 픽춰의 이전 또는 이후의 참조 픽처의 대응 블록과 현재 예측 유닛간의 시간 예측(temporal prediction) 방식이 있다. 즉, 인터-뷰 예측(inter-view prediction) 그룹과 시간 예측(temporal prediction) 그룹의 2개의 그룹으로 그룹핑할 수 있다.
이 경우, 현재 예측 유닛(100)이 인터-뷰 참조 픽춰(inter-view reference picture)를 사용하고 주변블록이 인터-뷰 예측(inter-view prediction)을 사용하는 경우 동일한 인터-뷰 예측(inter-view prediction) 그룹에 속하는 것으로 판단할 수 있다. 또한, 현재 예측 유닛(100)이 시간 예측(temporal prediction)을 사용하고 주변블록이 시간 예측(temporal prediction)을 사용하는 경우 동일한 시간 예측(temporal prediction) 그룹에 속하는 것으로 판단할 수 있다.
인터-뷰 참조 픽춰(inter-view reference picture)를 사용할 경우, 인터-뷰 예측(inter-view prediction)을 사용하는 주변블록들만 인터-뷰 예측(inter-view prediction) 그룹으로 그룹핑하고,상기 현재 예측 유닛(100)의 주변 블록들 중 인터-뷰 예측(inter-view prediction)을 사용하지 않는 주변 블록들은 움직임 벡터 예측(Motion Vector Prediction; MVP)에 사용 가능하지 않다(not available)고 표시한 후 현재 예측 유닛(100)의 움직임 벡터 예측에 사용하지 않을 수 있다. 여기서, 현재 예측 유닛(100)의 움직임 벡터 예측은 현재 예측 유닛(100)의 주변블록들이 모두 움직임 벡터 예측에 사용가능할 경우, 현재 예측 유닛(100)의 주변 블록들의 움직임 벡터들의 중간값(median)을 가지도록 할 수도 있다.
한편, 현재 예측 유닛(100)이 시간 예측(temporal prediction)을 사용할 경우, 시간 예측(temporal prediction)을 사용하는 주변블록들만 시간 예측(temporal prediction) 그룹으로 그룹핑하고, 시간 예측(temporal prediction)를 사용하는 주변 블록들은 움직임 벡터 예측(MVP)에 사용 가능하지 않다고 표시하고, 현재 예측 유닛(100)의 움직임 벡터 예측에 사용하지 않을 수 있다.
본 발명의 일 실시예에 따른 3차원 영상 부호화 방법에 따르면, 소정의 그룹핑 및 깊이도를 기반으로 현재 예측 유닛(100)과 동일한 깊이도를 갖는 주변 블록의 움직임 벡터를 현재 예측 유닛(100)의 예측 움직임 벡터 후보로 사용하기 때문에 현재 예측 유닛(100)의 예측 움직임 벡터로서의 정확도를 정확도를 향상시킬 수 있다.
본 발명의 다른 실시예에 따른 3차원 영상 부호화 방법은 상기와 같은 주변 블록을 사용함에 있어서, 3차원 영상의 효율적인 부호화를 위해 주변 블록의 깊이(depth) 정보만을 고려할 수도 있다. 3차원 영상의 경우, 3차원의 특성상 깊이 정보가 존재하며, 부호화기에서 깊이 정보를 구해 복호화기로 다시점 비디오 영상과 깊이 정보를 함께 전송할 수 있다.
따라서, 상기와 같이 도 2의 주변 블록(101, 102, 103, 104, 105) 또는 H.264/AVC에서 사용하는 주변 블록들을 활용하되, 상기 주변 블록의 깊이 정보를 기반으로 예측 움직임 벡터의 후보를 결정할 수 있다.
즉, 현재 예측 유닛(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)의 예측 움직임 벡터를 생성할 수 있다.
본 발명의 다른 실시예에 따른 3차원 영상 부호화 방법에 따르면, 깊이도를 기반으로 현재 예측 유닛(100)과 동일한 깊이도를 갖는 주변 블록의 움직임 벡터를 현재 예측 유닛(100)의 예측 움직임 벡터 후보로 사용하기 때문에 현재 예측 유닛(100)의 예측 움직임 벡터로서의 정확도를 향상시킬 수 있고, 특히 먼저 선정된 예측 움직임 벡터가 낮은 비트로 비트화되기 때문에 전송 효율 측면에서도 유리할 수 있다.
도 4는 본 발명의 일 실시예에 따른 3차원 영상 부호화 장치를 개략적으로 나타낸 블록도이다. 도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 3차원 영상 부호화 장치(400)는 주변 블록의 움직임 벡터 그룹핑부(410), 그룹 및 깊이 정보 비교부(420), 후보 예측 움직임 벡터 선정부(430), 화면간 예측 처리부(440)를 포함할 수 있다.
도 4를 참조하면, 주변 블록의 움직임 벡터 그룹핑부(410)는 현재 예측 유닛(100)의 주변 블록(A0,A1,B0,B1,B2)의 움직임 벡터(MV)를 인터-뷰 예측(inter-view prediction) 그룹과 시간 예측(temporal prediction) 그룹의 2개의 그룹으로 그룹핑 한다.
현재 예측 유닛(100)이 인터-뷰 참조 픽춰(inter-view reference picture)를 사용할 경우, 인터-뷰 예측(inter-view prediction)을 사용하는 주변블록들만 인터-뷰 예측(inter-view prediction) 그룹으로 그룹핑하고, 상기 현재 예측 유닛(100)의 주변 블록들 중 인터-뷰 예측(inter-view prediction)을 사용하지 않는 주변 블록들은 움직임 벡터 예측(Motion Vector Prediction; MVP)에 사용 가능하지 않다(not available)고 표시하고 현재 예측 유닛(100)의 움직임 벡터 예측에 사용하지 않을 수 있다. 여기서, 현재 예측 유닛(100)의 움직임 벡터 예측은 현재 예측 유닛(100)의 주변블록들이 모두 움직임 벡터 예측에 사용가능할 경우, 현재 예측 유닛(100)의 주변 블록들의 움직임 벡터들의 중간값(median)을 가지도록 할 수 있다.
한편, 현재 예측 유닛(100)이 시간 예측(temporal prediction)을 사용할 경우, 시간 예측(temporal prediction)을 사용하는 주변블록들만 시간 예측(temporal prediction) 그룹으로 그룹핑하고, 시간 예측(temporal prediction)를 사용하는 주변 블록들은 움직임 벡터 예측(MVP)에 사용 가능하지 않다고 표시하고, 현재 예측 유닛(100)의 움직임 벡터 예측에 사용하지 않을 수 있다.
그룹 및 깊이 정보 비교부(420)는 현재 예측 유닛(100)과 주변 블록이 모두 동일한 그룹에 속하는지 여부와 현재 예측 유닛(100)의 깊이 정보와 주변 블록의 깊이 정보를 비교한다. 구체적으로, 현재 예측 유닛(100)이 인터-뷰 참조 픽춰(inter-view reference picture)를 사용하고 주변블록이 인터-뷰 예측(inter-view prediction)을 사용하는 경우 동일한 인터-뷰 예측(inter-view prediction) 그룹에 속하는 것으로 판단할 수 있다. 또한, 현재 예측 유닛(100)이 시간 예측(temporal prediction)을 사용하고 주변블록이 시간 예측(temporal prediction)을 사용하는 경우 동일한 시간 예측(temporal prediction) 그룹에 속하는 것으로 판단할 수 있다.
후보 예측 움직임 벡터 선정부(430)는 상기 비교 결과, 현재 예측 유닛(100)과 주변 블록이 모두 동일한 그룹에 속하고 동시에 현재 예측 유닛(100)의 깊이(depth)와 주변 블록의 깊이가 동일한 경우에 한하여, 현재 예측 유닛(100)의 깊이와 동일한 깊이를 가진 주변 블록의 움직임 벡터를 현재 예측 유닛(100)의 예측 움직임 벡터 후보 리스(MV Predictor candidate list)에 최우선 순위로 선정하여 포함시킨다. 현재 예측 유닛의 후보 움직임 벡터 리스트는 3D 영상 부호화기에서 3D 영상 복호화기로 전송될 수 있다.
화면간 예측 처리부(440)는 상기 후보 예측 움직임 벡터 선정부(430)에서 선정된 후보 움직임 벡터 리스트를 기반으로 화면간 예측을 수행하여 현재 예측 유닛(100)의 실제 움직임 벡터와 상기 예측된 움직임 벡터간의 움직임 벡터 잔여값(residue)을 구한다. 현재 예측 유닛의 움직임 벡터 잔여값은 DCT(Discrete Cosine Transform) 변환하고 양자화한 후 엔트로피 부호화하여 3D 영상 부호화기에서 3D 영상 복호화기로 전송될 수 있다. 현재 예측 유닛의 움직임 벡터 잔여값은 3D 영상 부호화기에서 3D 영상 복호화기로 전송될 수 있다.
3D 영상 복호화기에서는 3D 영상 부호화기에서 전송된 현재 예측 유닛의 후보 움직임 벡터 리스트로부터 추출된 후보 움직임 벡터 리스트와 현재 예측 유닛의 움직임 벡터 차분값을 이용하여 현재 예측 유닛의 움직임 벡터를 구하여 원래 영상을 복원할 수 있다.
본 발명의 실시예들에 따른 3차원 영상 복호화 장치 및 복호화 방법에서는, 전술한 부호화기로부터 전송된 비트 스트림를 이용하여 해당 블록의 움직임 벡터를 복원하여 움직임 예측부에서 블록 단위로 움직임 벡터를 생성하고, 움직임 보상부에서 상기 움직임 예측부에서 생성된 움직임 벡터와 참조 픽처를 이용하여 움직임 보상을 수행한다.
HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상에 대하여 본 발명의 3D 영상 부호화/복호화 방법을 적용할 경우, 하나의 픽처당 블록의 개수가 증가하게 되므로 각각의 예측 블록 마다 움직임 파라미터를 디코더로 전송할 경우 전송되는 움직임 파라미터의 양이 매우 많아지게 되어 코딩 효율 측면에서 바람직하지 못하므로 코딩 효율을 높이기 위한 방법이 요구된다.
본 발명의 3D 영상 부호화/복호화 방법에서 코딩 유닛(PU)의 크기가 예를 들어 2N X 2N(N은 자연수로서 단위는 pixel)인 경우, 예측 모드가 화면간 예측(inter-prediction) 모드인 경우, 화면간 예측을 수행하기 위하여 수평 방향으로 비대칭적 파티션(asymmetric partition) 분할을 하여 2N X nU(단, nU = 2N X 1/4) 크기의 파티션 PU0(P11a)와 2N X nD(단, nD = 2N X 3/4) 크기의 파티션 PU1(P21a)로 분할하거나,또는 2N X nU(단, nU = 2N X 3/4) 크기의 파티션 PU0(P12a)와 2N X nD(단, nD = 2N X 1/4) 크기의 파티션 PU1(p22a)로 분할될 수 있다. 또는, 2N X 2N 코딩 유닛은 수직 방향으로 비대칭적 파티션(asymmetric partition) 분할을 하여 nL X 2N(단, nL = 2N X 1/4) 크기의 파티션 PU0(P13a)와 nR X 2N (단, nR = 2N X 3/4) 크기의 파티션 PU1(P23a)로 분할하거나,또는 nL X 2N (단, nL = 2N X 3/4) 크기의 파티션 PU0(P14a)와 nR X 2N (단, nR = 2N X 1/4) 크기의 파티션 PU1(P24a)로 분할될 수 있다.
화면간 예측(Inter prediction)과 관련된 움직임 파라미터(움직임 벡터, 움직임 벡터의 차이값, 참조 픽처 인덱스, 참조 픽처 리스트등)를 포함한 모든 정보는 화면간 예측의 기본 단위인 예측 유닛별 또는 상기 파티션 분할된 예측 유닛별로 디코더로 전송된다. 여기서, 참조 픽처 리스트(reference picture list)는 현재 픽처(N번째 픽처)의 이전 픽처(N-1 번째 픽처)인 경우 리스트 0, 현재 픽처(N번째 픽처)의 이후 픽처(N+1 번째 픽처)인 경우 리스트 1의 값을 가질 수 있다. 참조 픽처 인덱스(reference picture index)는 현재 예측 유닛에 대한 참조 픽처 인덱스를 나타낸다.
HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상의 경우, 하나의 픽처당 예측 블록(파티션 분할이 않된 예측 유닛 또는 파티션 분할된 예측 유닛)의 개수가 증가하게 되므로 각각의 예측 블록(파티션 분할이 않된 예측 유닛 또는 파티션 분할된 예측 유닛) 마다 움직임 파라미터를 디코더로 전송할 경우 전송되는 움직임 파라미터의 양이 매우 많아지게 되어 코딩 효율 측면에서 바람직하지 못하므로 코딩 효율을 높이기 위한 방법이 요구된다.
상기와 같은 문제점을 해결하기 위하여 블록 병합(block merging)을 이용하여 화면간 부호화를 수행할 수 있다. 블록 병합은 현재 블록(또는 예측 유닛)보다 이전에 부호화된 현재 블록의 주변 블록이 현재 블록 X와 동일한 움직임 파라미터(움직임 벡터, 움직임 벡터의 차이값, 참조 픽처 인덱스, 참조 픽처 리스트등)를 가지는 경우, 상기 동일한 움직임 파라미터를 가지는 주변 블록들을 상기 현재 블록과 병합하여 병합된 블록들을 동일한 움직임 파라미터로서 디코더로 전송함으로써 현재 블록의 움직임 파라미터를 별도로 전송하지 않고 디코더로 전송되는 움직임 파라미터의 양을 줄임으로써 코딩 효율을 효율을 높일 수 있다.
예를 들어, 하나의 픽처가 계층적으로 말단 코딩 유닛, 즉 최소 코딩 유닛(SCU)까지 분할(split)된 후, 최소 코딩 유닛(SCU)인 현재 블록(예측 유닛) X가 이전에 부호화된 좌측 주변 블록 A0 및 상측 주변 블록 B0와 동일한 움직임 벡터를 가진 경우, 블록 Ao, Bo, X는 병합되어 동일한 움직임 파라미터로서 디코더로 전송된다. 여기서, 움직임 파라미터는 예를 들어, 움직임 벡터, 움직임 벡터 차이값, 참조 픽처 인덱스, 참조 픽처 리스트등을 포함할 수 있다. 이 경우 블록 병합이 적용되었는지 여부를 나타내는 병합 플래그(merging flag)가 디코더로 전송될 수 있다.
본 발명의 3D 영상 부호화에서 화면간 예측시, 화면간 예측을 수행하기 위하여 수평 방향으로 비대칭적 파티션(asymmetric partition) 분할을 한 경우, 제1 예측 유닛 및 제2 예측 유닛으로 비대칭적 파티션 분할된 현재 코딩 유닛(Coding Unit)의 주변 블록들 중에서 선택된 소정 개수의 공통 병합 후보 블록들을 포함하는 공통 병합 후보 블록 리스트를 구성하고, 상기 제1 예측 유닛(PU0) 및 제2 예측 유닛(PU1) 각각 마다 상기 공통 병합 후보 블록 리스트 중에서 적어도 하나의 후보 블록을 선택하여 상기 선택된 후보 블록 정보를 상기 제1 예측 유닛(PU0) 및 제2 예측 유닛(PU1)마다 복호화기로 전송할 수 있다. 상기 공통 병합 후보 블록 리스트는 상기 제1 예측 유닛(PU0) 및 제2 예측 유닛(PU1)에 대해 블록 병합을 수행할 경우 공통적으로 사용되는 병합 후보 블록들을 포함할 수 있다. 여기서, 상기 제2 예측 유닛의 공통 병합 후보 블록들은 상기 제1 예측 유닛의 움직임 파라미터를 복원하기 전에도 구성할 수 있는 주변 블록들로만 이루어질 수 있다. 상기 현재 코딩 유닛의 크기는 특정 코딩 유닛의 크기-예를 들어 4x4, 8x8, 16x16, 32x32등-인 경우에만 상기 블록 병합을 수행할 수 있다.
또한, 화면간 예측을 수행하기 위하여 수평 방향으로 비대칭적 파티션(asymmetric partition) 분할된 경우, 본 발명의 3D 영상 복호화의 경우, 제1 예측 유닛(PU0) 및 제2 예측 유닛(PU1)으로 비대칭적 파티션 분할된 현재 코딩 유닛(CU)의 주변 블록들 중에서 선택된 소정 개수의 공통 병합 후보 블록들을 포함하는 공통 병합 후보 블록 리스트를 구성하고, 상기 제1 예측 유닛(PU0) 및 제2 예측 유닛(PU1) 각각 마다 상기 공통 병합 후보 블록 리스트 중에서 선택된 적어도 하나의 후보 블록을 이용하여 블록 병합된 블록의 움직임 파라미터를 복원하여 블록 단위로 움직임 벡터를 생성하고, 상기 생성된 움직임 벡터와 참조 픽처를 이용하여 움직임 보상을 수행할 수 있다. 여기서, 상기 제2 예측 유닛의 공통 병합 후보 블록들은 상기 제1 예측 유닛의 움직임 파라미터를 복원하기 전에도 구성할 수 있는 주변 블록들로만 이루어질 수 있다. 상기 현재 코딩 유닛의 크기는 특정 코딩 유닛의 크기-예를 들어 4x4, 8x8, 16x16, 32x32등-인 경우에만 상기 블록 병합을 수행할 수 있다.
이하, 본 발명의 3D 영상 부호화/복호화에서 화면간 예측시 비대칭적 파티션(Asymmetric partition)을 적용할 경우, 공통 병합 후보 리스트(common merge candidate list)를 사용하여 제1 비대칭파티션(PU0)과 제2 비대칭파티션(PU1)의 병렬 처리하는 방법에 대해 구체적으로 설명한다.
먼저, 2N X 2N 코딩 유닛(PU)이 수직 방향으로 nL X 2N (단, nL = 2N X 1/4) 크기의 파티션 PU0 블록(예측 유닛)과 nR X 2N (단, nR = 2N X 3/4) 크기의 파티션 PU1 블록(예측 유닛)으로 파티션 분할된다. 이하에서, PU0은 제1 예측 유닛, PU1은 제2 예측 유닛이라고 한다. 여기서, 코딩 유닛(PU)의 크기는 2N X 2N (N은 양의 정수)로서, N은 예를 들어 2, 4, 8, 16, 32가 될 수 있다. 비대칭적으로 파티션 분할된 예측 유닛 PU0 및 PU1에 대하여 병렬 처리를 가능하게 하기 위하여 공통 병합 후보 블록들을 사용하는 방식은 N값이 2, 4, 8, 16, 32 값을 가지는 코딩 유닛(PU)에 모두 적용될 수도 있고, 또는 N값이 특정값-예를 들어 2, 4, 8, 16, 32 값 중 하나-을 가지는 코딩 유닛(PU)에만 적용될 수도 있다. 예를 들어 최대 코딩 유닛(LCU; Largest Coding Unit)이 64x64인 경우 코딩 유닛(CU)의 크기가 작을수록 64x64 블록 전체에 대해 공통 병합 후보 블록들을 포함하는 공통병합 블록 리스트를 구성하는 횟수가 증가할 수 있으며, 이러한 경우 코딩 유닛(CU)의 크기가 큰 경우보다 작은 경우에 대해 공통 병합 후보 리스트를 적용할 경우 공통 병합 후보 리스트를 구성하는 횟수를 훨씬 더 크게 줄일 수 있어 복잡도를 줄일 수 있다. 한편, 공통 병합 후보 리스트를 더 많이 적용하여 병렬 처리를 할 경우 성능 손실(loss)는 커지게 된다. 따라서, 성능 손실과 복잡도를 모두 고려하여 예를들어, 예측 유닛(PU)의 최소 크기가 4x4인 경우, 코딩 유닛(CU)의 크기가 8x8인 경우에만(N값 2, 4, 8, 16, 32 값 중 2를 제외하고 가장 작은 4 선택) 상기 공통 병합 후보 블록들을 사용함으로써 큰 성능 손실 없이 복잡도를 크게 줄일 수 있다.
한편, 최대 코딩 유닛(LCU)는 복수의 서로 중복되지 않는(non-overlapped) 움직임 추정 영역(motion estimation region)(또는 병합 추정 영역(merge estimation region))으로 분할될 수 있으며, 최대 코딩 유닛(LCU)내의 움직임 추정 영역간에는 움직임 추정(motion estimation) 동작이 병렬(parallel) 처리가 아닌 순차적(sequential)으로 이루어지도록하고, 최대 코딩 유닛(LCU)내의 하나의 움직임 추정 영역내에 속하는 모든 예측 유닛(PU)에 대하여 병렬(parallel)로 움직임 추정(motion estimation)이 이루어지도록 할 수 있다. 여기서, 상기 움직임 추정 영역의 크기는 최대 코딩 유닛(LCU)의 크기보다 작으며, 상기 움직임 추정 영역은 정사각형 형태를 가질 수 있다.
움직임 추정 영역의 크기(size)에 따라 움직임 추정 영역내의 예측 유닛(PU)들에 대하여 공통 병합 후보 블록들을 사용하여 병렬 처리를 허용할지 여부를 다르게 할 수 있다. 예를 들어, 최소 예측 유닛(PU) 크기가 4x4일 경우, 움직임 추정 영역의 크기가 4x4인 경우에는 최대 코딩 유닛(LCU)내의 모든 예측 유닛(PU)들에 대하여 순차적인 병합(sequential merge) 동작이 수행되고, 움직임 추정 영역의 크기가 8x8 이상일 경우만 움직임 추정 영역 내의 모든 예측 유닛(PU)들에 대해 병렬 병합(parallel merge)-병렬 처리를 가능하게 하기 위하여 공통 병합 후보 블록들을 사용하는 방식-이 허용되도록 할 수 있다. ,
상기와 같은 움직임 추정 영역의 크기에 따라 소정의 값이 PPS(picture parameter set)내에 포함되어 움직임 추정 영역의 크기에 따른 상기 병렬 병합 처리 허용 여부를 알려주기 위하여 인코더에서 디코더로 전송될 수 있다. 상기 소정의 값은 예를 들어 0, 1, 2, 3, 4가 될 수 있으며, 0, 1, 2, 3, 4 각각에 대해 움직임 추정 영역의 크기는 4x4, 8x8, 16x16, 32x32, 64x64가 될 수 있다.
현재 예측 유닛(PU)와 주변 예측 유닛(PU)이 동일한 움직임 추정 영역에 속하는 경우(동일한 움직임 추정 영역 내부에 포함될 경우)에는 해당 주변 예측 유닛(PU)은 이용가능 하지 않음(non-available)으로 처리되며, 현재 예측 유닛(PU)과 주변 예측 유닛(PU)이 서로 다른 움직임 추정 영역에 속하는 경우에는 해당 주변 예측 유닛(PU)은 이용가능(available)으로 처리함으로써 상기 공통 병합 후보 블록들의 리스트에서의 움직임 벡터 추정에의 이용가능성을 결정할 수 있다. 현재 8x8 크기의 코딩 유닛(CU)의 주변 공통 병합 후보 블록들(주변 예측 유닛(PU)들) 중 일부가 이용가능 하지 않음(non-available)인 경우 이용가능(available)한 주변 공통 병합 후보 블록들을 이용하여 전술한 병합(merge) 처리 동작이 수행될 수 있다.
본 발명의 실시예들에 따른 비대칭적으로 파티션 분할된 제1 예측 유닛 PU0 및 제2 예측 유닛 PU1에 대하여 공통적인 병합 후보 블록들을 사용하여 제1 예측 유닛 PU0 및 제2 예측 유닛 PU1에 대하여 병렬적으로 블록 병합 및 인코딩(또는 디코딩) 동작을 처리하도록 한다.
따라서, 제1 예측 유닛 PU0의 블록 병합을 위한 병합 후보 블록들의 리스트를 구성하는 제1 프로세스와 제2 예측 유닛 PU1의 블록 병합을 위한 병합 후보 블록들의 리스트를 구성하는 제2 프로세스는 따로 따로 수행되는 것이 아니라 1번의 공통 병합 후보 블록을 구성하는 프로세스로 수행될 수 있으며, 제2 예측 유닛 PU1에 대한 인코딩(또는 디코딩) 프로세스는 제1 예측 유닛 PU1에 대한 인코딩(또는 디코딩) 프로세스와 병렬적으로 수행될 수 있게 되어 인코딩 시간이 크게 감소될 수 있다.
상기 공통 병합 후보 블록들은 인코더와 디코더에서 사전에 약속에 의해 미리 정해질 수 있으며, 이 경우 공통 병합 후보 블록들에 대한 정보는 인코더에서 디코더로 전송될 필요가 없다.
또는, 본 발명의 또 다른 실시예에서는, 2N X 2N 코딩 유닛(PU)이 수직 방향으로 nL X 2N (단, nL = 2N X 3/4) 크기의 파티션 PU0 블록(예측 유닛)과 nR X 2N (단, nR = 2N X 1/4) 크기의 파티션 PU1 블록(예측 유닛)으로 파티션 분할될 경우 공통 병합 후보 블록을 구성할 수 있다. 따라서, 본 발명의 또 다른 실시예에 따라 수직 방향으로 파티션 PU0 블록(예측 유닛)과 파티션 PU1 블록(예측 유닛)으로 파티션 분할될 경우에도 제1 예측 유닛 PU0의 블록 병합을 위한 병합 후보 블록들의 리스트를 구성하는 제1 프로세스와 제2 예측 유닛 PU1의 블록 병합을 위한 병합 후보 블록들의 리스트를 구성하는 제2 프로세스는 따로 따로 수행되는 것이 아니라 1번의 공통 병합 후보 블록을 구성하는 프로세스로 수행될 수 있으며, 제2 예측 유닛 PU1에 대한 인코딩(또는 디코딩) 프로세스는 제1 예측 유닛 PU1에 대한 인코딩(또는 디코딩) 프로세스와 병렬적으로 수행될 수 있게 되어 인코딩 시간이 크게 감소될 수 있다.
상기 공통 병합 후보 블록들의 리스트에는 예를 들어 7개의 블록을 가질 수 있으나, 공통 병합 후보 블록들의 리스트에 포함되는 블록들의 개수는 이에 한정되는 것은 아니며 6개, 5개, 4개의 후보 블록들로만 이루어질 수도 있다.
전술한 바와 같이 공통 병합 후보 블록 집합을 선정한 경우, 상기 각각의 병합 후보 블록 중 현재 블록(예측 유닛)과 유사한 움직임 파라미터를 갖는 블록을 선정하여 상기 선정된 병합 후보 블록과 현재 블록을 병합한다. 현재 블록(예측 유닛)과 유사한 움직임 파라미터를 갖는 블록의 선정은 현재 블록(예측 유닛)의 움직임 파라미터와 병합 후보 블록 집합의 각각의 병합 후보 블록의 움직임 파라미터의 차이값이 소정의 임계값 이하인 경우에 상기 임계값 이하의 차이값을 가지는 병합 후보 블록을 선정할 수 있다.
현재 블록과 상기 선정된 병합 후보 블록은 동일한 움직임 파라미터를 적용하여 디코더로 전송된다.
현재 블록이 상기 선정된 병합 후보 블록과 병합된 경우, 현재 블록의 움직임 파라미터를 디코더로 전송할 필요없이, 상기 병합된 블록의 정보를 디코더로 전송하고, 디코더는 상기 병합 블록 정보를 이용하여 이미 복호화된 병합 블록의 움직임 파라미터를 이용하여 현재 블록을 복호화할 수 있다.
제1 예측 유닛(PU0) 및 제2 예측 유닛(PU1) 각각 마다 상기 공통 병합 후보 블록 리스트 중에서 적어도 하나의 후보 블록을 선택하여 상기 선택된 후보 블록 정보를 상기 제1 예측 유닛 및 제2 예측 유닛마다 복호화기로 전송한다. 전술한 실시예에서와 같이 제 1 예측 유닛 PU0과 제2 예측 유닛 PU1이 공통 병합 후보 블록으로서 제 1 예측 유닛 PU0과 제2 예측 유닛 PU1의 주변 블록들을 공간적(spatial) 병합 후보 블록을 포함하는 경우, 소정 크기를 가지는 코딩 유닛(CU)내의 파티션(partition) 타입 및 인덱스(indices)에 상관없이 모든 파티션(partition) 타입에 대하여 제 1 예측 유닛 PU0과 제2 예측 유닛 PU1은 공통적인 공간적(spatial) 병합 후보 블록을 포함할 수 있다.
전술한 실시예에서는 공통 병합 후보 블록의 리스트에 제 1 예측 유닛 PU0과 제2 예측 유닛 PU1이 제 1 예측 유닛 PU0과 제2 예측 유닛 PU1의 주변 블록들로 이루어진 공간적(spatial) 병합 후보 블록을 포함하는 예를 설명하였으나, 본 발명의 다른 실시예에서는 상기 공통 병합 후보 블록의 리스트에 시간적(temporal) 병합 후보 블록이 더 포함될 수 있다.
제 1 예측 유닛 PU0과 제2 예측 유닛 PU1이 공통 병합 후보 블록 으로서 시간적(temporal) 병합 후보 블록을 포함하는 경우, 코딩 유닛(CU)내의 제 1 예측 유닛 PU0과 제2 예측 유닛 PU1은 상기 공간적(spatial) 공통 병합 후보 블록들 중에서 미리 정해진 특정 위치의 블록의 참조 픽춰 인덱스(reference picture index)를 시간적(temporal) 병합 후보 블록을 위한 시간적 움직임 벡터 예측(Temporal MVP)의 참조 픽춰 인덱스(reference picture index)로 사용할 수 있다. 여기서, 시간적 움직임 벡터 예측(Temporal MVP)의 경우 움직임 벡터(MV)와 참조 픽춰 인덱스(reference picture index)를 디코더로 전송한다. 여기서, 상기 미리 정해진 특정 위치의 블록은 상기 공통 병합 후보 블록의 리스트에 포함된 블록들 제 1 예측 유닛 PU0과 제2 예측 유닛 PU1의 움직임 파라미터를 복원하기 전에도 구성할 수 있는 이전에 부호화된 주변 블록이 사용되어 병렬처리가 가능하도록 할 수 있다.
또는 상기 시간적(temporal) 병합 후보 블록은, 예를 들어, 현재 픽처의 이전 픽처에 포함된 현재 예측 유닛(PU)의 대응되는 위치(co-located)의 블록을 공통 병합 후보 리스트에 더 포함할 수 있다.
따라서, 본 발명의 3D 영상 부호화/복호화에서 화면간 예측시 비대칭적 파티션(Asymmetric partition)의 경우, 공통 병합 후보 리스트(common merge candidate list) 사용하여 제1 비대칭파티션(PU0)과 제2 비대칭파티션(PU1)의 병렬 처리가 가능하여 인코딩 시간을 크게 감소시킬 수 있다.
멀티 뷰 영상의 인-루프 필터링 방법
멀티뷰 영상의 부호화 및 복호화의 경우 멀티뷰 영상 데이터(또는 텍스처(texture))의 모든 뷰 영상 또는 일부 뷰 영상에 대한 깊이 정보는 부호화기에서 복호화기로 전송될 수 있다. 또한, 복수의 서로 다른 시점의 카메라들에 대한 카메라 파라미터는 부호화기에서 복호화기로 전송할 수 있다. 또한, 부호화기는 현재 뷰에 대한 참조 뷰 합성을 위한 정보를 복호화기로 전송할 수도 있다.
멀티뷰 영상 데이터(또는 텍스처(texture))의 모든 뷰 영상 또는 일부 뷰 영상에 대한 깊이 정보가 부호화기에서 복호화기로 전송될 경우, 텍스처 뷰 컴포넌트와 깊이 뷰 컴포넌트는 소정의 순서에 따라 부호화된다.
예를 들어, 제1 카메라에 의해 생성된 View 0 및 상기 제1 카메라와 공간적으로 상이한 시점의 제2 카메라에 의해 생성된 View 1이 존재하는 경우, 액세스 유닛 t는 View 0에 대한 텍스처 뷰 컴포넌트 T0t와 깊이 뷰 컴포넌트 D0t를 포함하고 View 1에 대한 텍스처 뷰 컴포넌트 T1t와 깊이 뷰 컴포넌트 D1t를 포함할 수 있으며, 액세스 유닛 t+1는 View 0에 대한 텍스처 뷰 컴포넌트 T0t+1와 깊이 뷰 컴포넌트 D0t+1를 포함하고 View 1에 대한 텍스처 뷰 컴포넌트 T1t+1와 깊이 뷰 컴포넌트 D1t+1를 포함할 수 있다. 이 경우, T0t, T0t+1, D0t, D0t+1의 순서로 부호화되거나, D0t, T0t, D0t+1, T0t+1의 순서로 부호화되거나, T0t+1, D0t+1, T0t, D0t의 순서로 부호화될 수 있다.
복호화기에서는 부호화기로부터 전송된 텍스처 데이터 및/또는 깊이 맵 데이터를 이용하여 VSP(View Synthesis Prediction) 과정을 통하여 중간 뷰 영상을 합성할 수 있다. 예를 들어, View 1, 2, 3에 대해 부호화기에서 3개 View 전부에 대한 깊이 데이터 3개를 디코더로 보내지 않고 2개의 View(예를 들어 View 1, View 3)에 대한 깊이 데이터를 복호화기로 전송하고, View 2에 대한 깊이 데이터는 복호화기에서 복원할 수 있다.
도 6은 본 발명의 일 실시예에 따른 멀티 뷰 영상에 대한 인-루프 필터링 방법을 처리하기 위한 부호화기의 블록도이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 부호화기는 제1 부호화부(100) 및 제2 부호화부(200)으로 구성된다. 제1 부호화부(100)는 기존의 H.264/AVC의 부호화기의 구성과 동일한 구성을 가지고 입력 영상 X를 변환부(101), 양자화부(103), 역양자화부(105), 역변환부(107), 움직임 보상부(115), 움직임 추정부(121)을 이용하여 화면내 예측 및 화면간 예측을 수행하고, 블록 경계간 디블록킹 필터링을 수행한다. 제1 부호화부(100)는 기존의 H.264/AVC의 부호화기의 구성과 동일한 구성을 가지므로 자세한 설명은 생략한다.
제2 부호화부(200)는 텍스처 부호화를 위한 깊이 기반 움직임 벡터 예측(Depth-based motion vector prediction;D-MVP)을 수행하는 D-MVP(210) 및 텍스처 데이터와 깊이 데이터의 부호화를 위한 인루프 뷰 합성 예측기(VSP, 220)를 포함할 수 있다.
본 발명의 일실시예서는 현재 View의 특정 블록의 디블록킹 필터 강도를 현재 View와 공간적으로 다른 시점의 카메라에 의해 촬영된 참조 view의 대응되는 블록의 디블록킹 필터 강도를 이용하여 구할 수 있다.
도 7은 본 발명의 일 실시예에 따른 멀티 뷰 영상에 대한 인-루프 필터링 방법을 설명하기 위한 순서도이다.
도 7을 참조하면, 현재 View의 특정 블록에 대하여 공간적으로 다른 시점의 카메라에 의해 촬영된 참조 View의 대응되는 블록을 참조하고(단계 201), 현재 View의 특정 블록과 상기 참조 View의 대응되는 블록과의 거리 및 각도를 고려하여 상기 거리 및 각도에 따른 스케일링을 수행하여 현재 View의 특정 블록의 디블록킹 강도를 설정한다(단계 220).
구체적으로, 현재 View의 특정 블록의 디블록킹 필터 강도를 결정할 경우, 공간적으로 현재 View에 대한 참조 View의 대응되는 블록을 참조하여 현재 View의 특정 블록과 상기 참조 View의 대응되는 블록과의 거리 및 각도를 고려하여 상기 거리 및 각도에 따른 스케일링을 수행하여 현재 View의 특정 블록의 디블록킹 강도를 설정할 수 있다. 예를 들어, 시간적으로 View 1, 2, 3 중에서 현재 View가 View 2이고, 현재 View의 참조 View가 View 1, View 3인 경우, 현재 View의 특정 블록의 디블록킹 강도는 상기 참조 View인 View 1의 대응되는 블록을 참조하여 현재 View의 특정 블록과 상기 View 1의 대응되는 블록간의 거리 및 각도를 고려하여 상기 거리 및 각도에 따른 스케일링을 수행하여 현재 View의 특정 블록의 디블록킹 강도를 설정할 수 있다. 예를 들어, 참조 View의 대응되는 블록의 디블록킹 강도가 p이고, 상기 스케일링시 스케일링 계수가 1/2이라고 가정할 때, 현재 View의 특정 블록의 디블록킹 강도는 p/2가 될 수 있다. 참조 View의 대응되는 블록의 디블록킹 강도가 p이고, 상기 스케일링시 스케일링 계수가 1/4이라고 가정할 때, 현재 View의 특정 블록의 디블록킹 강도는 p/4가 될 수 있다.
상기와 같이 현재 View의 특정 블록과 상기 참조 View의 대응되는 블록과의 거리 및 각도를 고려하여 상기 거리 및 각도에 따른 스케일링을 수행하여 현재 View의 특정 블록의 디블록킹 강도를 설정함으로써 멀티 뷰 영상의 부호화 및 복호화의 경우 디블록킹 처리시 복잡도를 줄일 수 있다.
또는, 본 발명의 다른 실시예에 따른 멀티 뷰 영상에 대한 디블록킹 방법에 따르면, 현재 View의 특정 블록의 디블록킹 필터 강도를 결정할 경우, 현재 View의 특정 블록 보다 시간적으로 이전 또는 이후의 참조 픽춰의 대응되는 블록을 참조하여 현재 View의 특정 블록과 상기 참조 픽춰의 대응되는 블록과의 거리 및 각도를 고려하여 상기 거리 및 각도에 따른 스케일링을 수행하여 현재 View의 특정 블록의 디블록킹 강도를 설정할 수 있다.
도 8은 본 발명의 다른 실시예에 따른 멀티 뷰 영상에 대한 인-루프 필터링 방법을 설명하기 위한 순서도이다.
도 8을 참조하면, 현재 View의 특정 블록에 대하여 시간적으로 이전 또는 이후의 참조 View의 대응되는 블록을 참조하고(단계 301), 현재 View의 특정 블록과 상기 참조 View의 대응되는 블록과의 거리 및 각도를 고려하여 상기 거리 및 각도에 따른 스케일링을 수행하여 현재 View의 특정 블록의 디블록킹 강도를 설정한다(단계 320).
전술한 인-루프 필터링 방법 또는 디블록킹 방법은 멀티뷰 영상의 복호화기에 적용되어 복호화기의 복잡도를 줄일 수 있다.
멀티 뷰 영상의 중간 깊이 뷰 합성 방법
멀티뷰 영상의 부호화 및 복호화의 경우 멀티뷰 영상 데이터(또는 텍스처(texture))는 모든 뷰에 대하여 부호화기에서 복호화기로 전송될 경우 디코더로 전송되는 데이터가 증가하여 부호화 효율이 저하되므로, 모든 뷰에 대하여 전송하지 않고 복수개의 뷰 중에 일부의 뷰는 전송하지 않고 복호화기로 전송된 적어도 2개의 뷰를 이용하여 중간 뷰 합성을 통하여 구할 수 있다.
도 9는 복호화기로 전송된 2개의 뷰를 이용하여 복호화기에서 중간 뷰를 합성하는 과정을 설명하기 위한 개념도이다.
도 9에 도시된 바와 같이, View 1, 2, 3에 대하여 View 1, 3의 텍스쳐 뷰(texture view)가 부호화기로부터 복호화기로 전송되고, View 2의 텍스쳐 뷰는 부호화기로부터 복호화기로 전송하지 않고 이미 복호화기로 전송된 View 1 및 3의 텍스쳐 뷰를 이용하여 구할 수 있다. 예를 들어, 복호화기로 전송된 View 1 및 3의 2개의 텍스쳐 뷰를 직접 이용하여 평균을 구하거나 또는 거리에 따른 보간(interpolation)을 통하여 구하거나 또는 거리 및 각도에 따라 소정의 스케일링을 통하여 구할 수 있다.
한편, 멀티뷰 영상의 부호화 및 복호화의 경우, 깊이 뷰(depth view)는 모든 뷰에 대하여 부호화기에서 복호화기로 전송될 경우 디코더로 전송되는 데이터가 증가하여 부호화 효율이 저하되므로, 모든 뷰에 대하여 전송하지 않고 복수개의 깊이 뷰 중에 일부의 깊이 뷰는 전송하지 않고 복호화기로 전송된 적어도 1개의 깊이 뷰를 이용하여 중간 깊이 뷰 합성을 통하여 구할 수 있다.
도 10은 복호화기로 전송된 2개의 깊이 뷰를 이용하여 복호화기에서 중간 깊이 뷰를 합성하는 과정을 설명하기 위한 개념도이다.
도 10에 도시된 바와 같이, View 1, 2, 3에 대하여 View 1, 3의 깊이 뷰(depth view)가 부호화기로부터 복호화기로 전송되고, View 2의 텍스쳐 뷰는 부호화기로부터 복호화기로 전송하지 않고 이미 복호화기로 전송된 View 1 및 3의 깊이 뷰를 이용하여 구할 수 있다. 예를 들어, 복호화기로 전송된 View 1 및 3의 깊이 뷰를 모두 이용하여 평균을 구하거나 또는 거리에 따른 보간(interpolation)을 통하여 구하거나 또는 거리 및 각도에 따라 소정의 스케일링을 통하여 구할 수 있다.
도 9에 도시된 바와 같이, View 1 및 3의 텍스쳐 뷰가 부호화기에서 복호화기로 전송되고, View 2의 텍스쳐 뷰는 부호화기에서 복호화기로 전송하지 않고 복호화기로 전송된 View 1 및 3의 텍스쳐 뷰를 이용하여 중간 뷰 합성을 통하여 구하는 경우, 본 발명의 일 실시예에서는 부호화기에서 복호화기로 전송되는 깊이 뷰 데이터량을 줄임으로서 복호화기로 전송되는 데이터를 감소시켜 부호화 효율을 높일 수 있도록 복호화기로 이미 전송된 1개의 깊이 View와 상기 중간 뷰 합성을 통하여 생성된 텍스쳐 View 3를 이용하여 View 2의 깊이 뷰를 구할 수 있다.
도 11은 본 발명의 일실시예에 따른 복호화기로 전송된 1개의 깊이 뷰를 이용하여 복호화기에서 중간 깊이 뷰를 합성하는 과정을 설명하기 위한 개념도이다.
먼저, 도 9에 도시된 바와 같이 부호화기에서 복호화기로 전송된 View 1 및 3의 텍스쳐 뷰를 이용하여 중간 뷰 합성을 통하여 View 2의 텍스쳐 뷰가 구해진 경우를 가정한다. 도 11을 참조하면, 상기 가정하에서 View 1, 2 및 3 중에서 View 1의 깊이 뷰(depth view)가 부호화기로부터 복호화기로 전송되고, View 2의 깊이 뷰는 이미 복호화기로 전송된 View 1의 깊이 뷰와 상기 중간 뷰 합성을 통해 얻어진 View 2의 텍스쳐 뷰를 이용하여 구할 수 있다. 구체적으로, 도 11에 도시된 바와 같이 View 1에 대하여 텍스쳐 뷰와 깊이 뷰는 부호화기로부터 복호화기로 전송되어 있고 도 9의 중간 뷰 합성을 통해 View 2의 텍스쳐 뷰는 얻어진 상태에서, View 1의 텍스쳐 뷰와 View 2의 텍스쳐 뷰간의 위치, 거리 및/또는 각도를 이용하여 View 1의 깊이 뷰로부터 View 2의 깊이 뷰를 예측하여 구할 수 있다. 예를 들어, View 1의 텍스쳐 뷰와 View 2의 텍스쳐 뷰간의 위치, 거리 및/또는 각도 관계로부터 View 1의 깊이 뷰와 View 2의 깊이 뷰간의 위치, 거리 및/또는 각도를 유추하여 평균을 구하거나 또는 거리에 따른 보간(interpolation)을 통하여 구하거나 또는 거리 및 각도에 따라 소정의 스케일링을 통하여 View 2의 깊이 뷰를 예측하여 구할 수 있다.
도 12는 본 발명의 다른 실시예에 따른 복호화기로 전송된 1개의 깊이 뷰를 이용하여 복호화기에서 중간 깊이 뷰를 합성하는 과정을 설명하기 위한 개념도이다.
먼저, 도 9에 도시된 바와 같이 부호화기에서 복호화기로 전송된 View 1 및 3의 텍스쳐 뷰를 이용하여 중간 뷰 합성을 통하여 View 2의 텍스쳐 뷰가 구해진 경우를 가정한다. 도 12를 참조하면, 상기 가정하에서 View 1, 2 및 3 중에서 View 3의 깊이 뷰(depth view)가 부호화기로부터 복호화기로 전송되고, View 2의 깊이 뷰는 이미 복호화기로 전송된 View 3의 깊이 뷰와 상기 중간 뷰 합성을 통해 얻어진 View 2의 텍스쳐 뷰를 이용하여 구할 수 있다. 구체적으로, 도 12에 도시된 바와 같이 View 3에 대하여 텍스쳐 뷰와 깊이 뷰는 부호화기로부터 복호화기로 전송되어 있고 도 9의 중간 뷰 합성을 통해 View 2의 텍스쳐 뷰는 얻어진 상태에서, View 3의 텍스쳐 뷰와 View 2의 텍스쳐 뷰간의 위치, 거리 및/또는 각도를 이용하여 View 3의 깊이 뷰로부터 View 2의 깊이 뷰를 예측하여 구할 수 있다. 예를 들어, View 3의 텍스쳐 뷰와 View 2의 텍스쳐 뷰간의 위치, 거리 및/또는 각도 관계로부터 View 3의 깊이 뷰와 View 2의 깊이 뷰간의 위치, 거리 및/또는 각도를 유추하여 평균을 구하거나 또는 거리에 따른 보간(interpolation)을 통하여 구하거나 또는 거리 및 각도에 따라 소정의 스케일링을 통하여 View 2의 깊이 뷰를 예측하여 구할 수 있다.
도 13은 본 발명의 또 다른 실시예에 따른 복호화기로 전송된 1개의 깊이 뷰를 이용하여 복호화기에서 중간 깊이 뷰를 합성하는 과정을 설명하기 위한 개념도이다.
먼저, 도 9에 도시된 바와 같이 부호화기에서 복호화기로 전송된 View 1 및 3의 텍스쳐 뷰를 이용하여 중간 뷰 합성을 통하여 View 2의 텍스쳐 뷰가 구해진 경우를 가정한다. 도 13을 참조하면, 상기 가정하에서 View 1, 2 및 3 중에서 View 3의 깊이 뷰(depth view)가 부호화기로부터 복호화기로 전송되고, View 2의 깊이 뷰는 이미 복호화기로 전송된 View 3의 깊이 뷰와 상기 부호화기에서 복호화기로 전송된 View 1 및 3의 텍스쳐 뷰를 이용하여 구할 수도 있다. 구체적으로, 도 13에 도시된 바와 같이 View 3에 대하여 텍스쳐 뷰와 깊이 뷰는 부호화기로부터 복호화기로 전송되어 있고 도 9와 같이 View 1의 텍스쳐 뷰도 얻어진 상태에서, View 3의 텍스쳐 뷰와 View 1의 텍스쳐 뷰간의 위치, 거리 및/또는 각도를 이용하여 View 2의 깊이 뷰를 예측하여 구할 수 있다. 예를 들어, View 3의 텍스쳐 뷰와 View 1의 텍스쳐 뷰간의 위치, 거리 및/또는 각도 관계로부터 View 3의 깊이 뷰와 View 2의 깊이 뷰간의 위치, 거리 및/또는 각도를 유추하여 거리에 따른 보간(interpolation)을 통하여 구하거나 또는 거리 및 각도에 따라 소정의 스케일링을 통하여 View 2의 깊이 뷰를 예측하여 구할 수 있다.
한편, 전술한 도 9 내지 도 12의 본 발명의 실시예들에서 View 2의 깊이 뷰에 대한 움직임 정보(또는 움직임 파라미터)는 View 2의 텍스쳐 뷰 컴포넌트의 대응되는(co-located) 블록의 움직임 정보를 재사용할 수 있다. 움직임 정보(또는 움직임 파라미터)는 블록 타입(매크로 블록 타입, 서브 매크롤 블록 타입), 참조 픽춰 인덱스, 후보 움직임벡터 리스트, 또는 움직임 벡터를 포함 할 수 있다. 이 경우, 소정의 플래그를 부호화기에서 복호화기로 시그널링하여 상기와 같은 깊이 뷰의 움직임 정보를 상기 깊이 뷰와 동일한 뷰의 텍스쳐 뷰내 대응되는 블록의 움직임 정보를 재이용함을 복호화기로 알려줄 수 있으며, 복호화기에서는 상기 플래그를 수신할 경우, 상기와 같이 깊이 뷰의 움직임 정보를 상기 깊이 뷰와 동일한 뷰의 텍스쳐 뷰내 대응되는 블록의 움직임 정보를 재이용할 수 있다.
도 14는 본 발명의 일 실시예에 따른 멀티 뷰 영상에 대한 중간 깊이 뷰 합성 동작을 처리하기 위한 부호화기의 일례를 나타낸 블록도이다.
도 14를 참조하면, 본 발명의 일실시예에 따른 부호화기는 제1 부호화부(100) 및 제2 부호화부(200)으로 구성된다. 제1 부호화부(100)는 기존의 H.264/AVC의 부호화기의 구성과 동일한 구성을 가지고 입력 영상 X를 움직임 보상부(115), 움직임 추정부(121)을 이용하여 화면내 예측 및 화면간 예측을 수행하고, 변환부(101), 양자화부(103), 역양자화부(105), 역변환부(107), 엔트로피 부호화부(131, 133)를 통하여 부호화된 영상 데이터를 비트 스트림으로 복호화기로 전송한다. 도 14의 제1 부호화부(100)는 기존의 H.264/AVC의 부호화기의 구성과 동일한 구성을 가지므로 자세한 설명은 생략한다.
제2 부호화부(200)는 멀티뷰 영상의 복호화된 깊이 픽춰를 기반으로 움직임 벡터 예측을 수행하는 깊이 기반 움직임 벡터 예측부(Depth-based motion vector prediction(D-MVP); 210)와, 복호화된 텍스처 픽춰와 복호화된 깊이 픽춰를 이용하여 텍스쳐 데이터와 깊이 데이터의 부호화를 위한 뷰 합성 예측기(View Synthesis Prediction(VSP), 220)를 포함할 수 있다.
전술한 바와 같은 본 발명의 실시예들에 따른 복호화기로 전송된 1개의 깊이 뷰를 이용하여 복호화기에서 중간 깊이 뷰를 합성하는 과정은 도면에는 도시되지 않았으나, 복호기의 뷰 합성 예측기(View Synthesis Prediction(VSP))에서 수행될 수 있다.
이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (7)
- 3차원 영상에서 현재 예측 유닛에 대한 부호화 방법에 있어서,상기 현재 예측 유닛의 이미 부호화된 주변 블록 중에서 상기 현재 예측 유닛과 동일한 그룹 및 동일한 깊이 중 적어도 하나를 만족하는 주변 블록의 움직임 벡터를 상기 현재 예측 유닛의 후보 예측 움직임 벡터로 선정하는 단계;상기 후보 예측 움직임 벡터를 기반으로 화면간 예측(inter prediction)을 수행하여 상기 현재 예측 유닛의 움직임 벡터를 예측하여 복호화기로 전송하는 단계를 포함하는 것을 특징으로 하는 3차원 영상 부호화 방법.
- 3차원 영상에서 현재 예측 유닛에 대한 복호화 방법에 있어서,수신된 비트 스트림을 엔트로피 복호화하고 역양자화 및 역변환을 수행하는 단계;상기 역변환된 비트 스트림을 기반으로 상기 현재 예측 유닛의 이미 부호화된 주변 블록 중에서 상기 현재 예측 유닛과 동일한 그룹 및 동일한 깊이 중 적어도 하나를 만족하는 주변 블록의 움직임 벡터를 상기 현재 예측 유닛의 후보 예측 움직임 벡터로 선정하는 단계;상기 후보 예측 움직임 벡터를 기반으로 화면간 예측(inter prediction)을 수행하여 상기 현재 예측 유닛의 움직임 벡터를 예측하여 영상을 복원하는 단계를 포함하는 것을 특징으로 하는 3차원 영상 복호화 방법.
- 현재 뷰의 특정 블록에 대하여 참조 뷰의 대응되는 블록을 참조하는 단계; 및상기 현재 뷰의 특정 블록과 상기 참조 뷰의 대응되는 블록과의 거리를 고려하여 상기 거리에 따른 스케일링을 수행하여 현재 뷰의 특정 블록의 디블록킹 강도를 설정하는 단계를 포함하는 것을 특징으로 하는 멀티 뷰 영상에 대한 인-루프 필터링 방법.
- 제 1 뷰, 제2 뷰, 제3 뷰에 대하여 각각 텍스쳐 뷰와 깊이 뷰를 가지는 멀티 뷰 영상에 대하여 복호화기에서 수행되는 중간 깊이 뷰 합성 방법에 있어서,부호화기로부터 수신한 상기 제1 뷰의 텍스쳐 뷰 및 제3 뷰의 텍스쳐 뷰에 대하여 중간 뷰 합성을 수행하는 단계; 및상기 중간 뷰 합성을 통하여 상기 제1 뷰의 텍스쳐 뷰 및 제3 뷰의 텍스쳐 뷰로부터 상기 제2 뷰의 텍스쳐 뷰를 구하는 단계를 포함하는 것을 특징으로 하는 멀티 뷰 영상에 대한 중간 깊이 뷰 합성 방법.
- 제1항에 있어서,상기 부호화기로부터 수신한 상기 제1 뷰의 깊이 뷰 및 제3 뷰의 깊이 뷰 중 하나와 상기 중간 뷰 합성을 통하여 생성된 상기 제2 뷰의 텍스쳐를 이용하여 상기 제2 뷰의 깊이 뷰를 구하는 단계를 더 포함하는 것을 특징으로 하는 멀티 뷰 영상에 대한 중간 깊이 뷰 합성 방법.
- 제1항에 있어서, 상기 제2 뷰의 깊이 뷰에 대한 움직임 정보는 상기 제2 뷰의 텍스쳐 뷰 컴포넌트의 대응되는(co-located) 블록의 움직임 정보를 재사용하는 것을 특징으로 하는 멀티 뷰 영상에 대한 중간 깊이 뷰 합성 방법.
- 제3항에 있어서, 상기 부호화기로부터 소정의 플래그가 수신된 경우 상기 제2 뷰의 깊이 뷰에 대한 움직임 정보로서 상기 제2 뷰의 텍스쳐 뷰 컴포넌트의 대응되는(co-located) 블록의 움직임 정보를 재사용하는 것을 특징으로 하는 멀티 뷰 영상에 대한 중간 깊이 뷰 합성 방법.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/388,980 US20150085933A1 (en) | 2012-04-30 | 2013-04-29 | Method and apparatus for encoding multi-view images, and method and apparatus for decoding multi-view images |
| CN201380022847.3A CN104604232A (zh) | 2012-04-30 | 2013-04-29 | 用于编码多视点图像的方法及装置,以及用于解码多视点图像的方法及装置 |
| EP13784336.3A EP2846544A4 (en) | 2012-04-30 | 2013-04-29 | METHOD AND DEVICE FOR CODING MULTI-VIEW IMAGES AND METHOD AND DEVICE FOR DECODING MULTIPLE VIEW IMAGES |
Applications Claiming Priority (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20120045845 | 2012-04-30 | ||
| KR20120045847 | 2012-04-30 | ||
| KR10-2012-0045845 | 2012-04-30 | ||
| KR1020120045846A KR20130122479A (ko) | 2012-04-30 | 2012-04-30 | 멀티 뷰 영상의 인-루프 필터링 방법 |
| KR10-2012-0045847 | 2012-04-30 | ||
| KR10-2012-0045846 | 2012-04-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2013165143A1 true WO2013165143A1 (ko) | 2013-11-07 |
Family
ID=49514503
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2013/003686 Ceased WO2013165143A1 (ko) | 2012-04-30 | 2013-04-29 | 멀티뷰 영상의 부호화 방법, 부호화 장치, 복호화 방법, 복호화 장치 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20150085933A1 (ko) |
| EP (1) | EP2846544A4 (ko) |
| CN (1) | CN104604232A (ko) |
| WO (1) | WO2013165143A1 (ko) |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9544612B2 (en) * | 2012-10-04 | 2017-01-10 | Intel Corporation | Prediction parameter inheritance for 3D video coding |
| WO2015009092A1 (ko) * | 2013-07-18 | 2015-01-22 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
| CN104079944B (zh) * | 2014-06-30 | 2017-12-01 | 华为技术有限公司 | 视频编码的运动矢量列表构建方法和系统 |
| CN115086653B (zh) * | 2015-06-05 | 2025-05-06 | 杜比实验室特许公司 | 图像编码和解码方法和图像解码设备 |
| EP3598760A1 (en) * | 2015-06-11 | 2020-01-22 | Intellectual Discovery Co., Ltd. | Method for encoding and decoding image using adaptive deblocking filtering, and apparatus therfor |
| CN109417629B (zh) * | 2016-07-12 | 2023-07-14 | 韩国电子通信研究院 | 图像编码/解码方法以及用于该方法的记录介质 |
| CN116866593A (zh) * | 2016-11-28 | 2023-10-10 | 韩国电子通信研究院 | 对图像编码/解码的方法和设备及存储比特流的记录介质 |
| WO2018101080A1 (ja) * | 2016-11-30 | 2018-06-07 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元モデル配信方法及び三次元モデル配信装置 |
| CN108616758B (zh) * | 2016-12-15 | 2023-09-29 | 北京三星通信技术研究有限公司 | 多视点视频编码、解码方法及编码器、解码器 |
| CN107071418B (zh) * | 2017-05-05 | 2020-03-17 | 上海应用技术大学 | 一种基于决策树的hevc帧内编码单元快速划分方法 |
| CN107483936B (zh) * | 2017-08-01 | 2019-09-06 | 清华大学深圳研究生院 | 一种基于宏像素的光场视频帧间预测方法 |
| CN109905714B (zh) * | 2017-12-08 | 2022-12-27 | 华为技术有限公司 | 帧间预测方法、装置及终端设备 |
| CN110198440B (zh) * | 2018-03-29 | 2022-11-18 | 腾讯科技(深圳)有限公司 | 编码预测信息的确定及视频编码的方法、装置及可读介质 |
| FR3096538A1 (fr) * | 2019-06-27 | 2020-11-27 | Orange | Procédé et dispositif de traitement de données de vidéo multi-vues |
| US12568184B2 (en) * | 2020-07-30 | 2026-03-03 | Nvidia Corporation | Techniques to generate interpolated video frames |
| EP4099270A1 (en) | 2021-06-03 | 2022-12-07 | Koninklijke Philips N.V. | Depth segmentation in multi-view videos |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20030037140A (ko) * | 2001-11-02 | 2003-05-12 | 전자부품연구원 | 검색기능을 포함한 3차원 입체영상을 위한 다시점영상통신 시스템 |
| KR20060006711A (ko) * | 2004-07-15 | 2006-01-19 | 삼성전자주식회사 | 비디오 코딩 및 디코딩을 위한 시간적 분해 및 역 시간적분해 방법과, 비디오 인코더 및 디코더 |
| KR20080065766A (ko) * | 2007-01-10 | 2008-07-15 | 광주과학기술원 | 다시점 화상 및 3차원 오디오 송수신 장치 및 이를 이용한송수신 방법 |
| KR20090034697A (ko) * | 2007-10-04 | 2009-04-08 | 삼성전자주식회사 | 부화소 움직임 추정을 이용한 인터 예측 부호화, 복호화방법 및 장치 |
| KR20110020211A (ko) * | 2009-08-21 | 2011-03-02 | 에스케이 텔레콤주식회사 | 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치 |
| KR20110045950A (ko) * | 2009-10-28 | 2011-05-04 | 삼성전자주식회사 | 복수의 프레임을 참조하여 영상을 부호화, 복호화하는 방법 및 장치 |
| WO2012007038A1 (en) * | 2010-07-15 | 2012-01-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Hybrid video coding supporting intermediate view synthesis |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101415115B (zh) * | 2007-10-15 | 2011-02-02 | 华为技术有限公司 | 基于运动跳跃模式的视频编解码方法及其编解码器 |
-
2013
- 2013-04-29 WO PCT/KR2013/003686 patent/WO2013165143A1/ko not_active Ceased
- 2013-04-29 EP EP13784336.3A patent/EP2846544A4/en not_active Withdrawn
- 2013-04-29 US US14/388,980 patent/US20150085933A1/en not_active Abandoned
- 2013-04-29 CN CN201380022847.3A patent/CN104604232A/zh active Pending
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20030037140A (ko) * | 2001-11-02 | 2003-05-12 | 전자부품연구원 | 검색기능을 포함한 3차원 입체영상을 위한 다시점영상통신 시스템 |
| KR20060006711A (ko) * | 2004-07-15 | 2006-01-19 | 삼성전자주식회사 | 비디오 코딩 및 디코딩을 위한 시간적 분해 및 역 시간적분해 방법과, 비디오 인코더 및 디코더 |
| KR20080065766A (ko) * | 2007-01-10 | 2008-07-15 | 광주과학기술원 | 다시점 화상 및 3차원 오디오 송수신 장치 및 이를 이용한송수신 방법 |
| KR20090034697A (ko) * | 2007-10-04 | 2009-04-08 | 삼성전자주식회사 | 부화소 움직임 추정을 이용한 인터 예측 부호화, 복호화방법 및 장치 |
| KR20110020211A (ko) * | 2009-08-21 | 2011-03-02 | 에스케이 텔레콤주식회사 | 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치 |
| KR20110045950A (ko) * | 2009-10-28 | 2011-05-04 | 삼성전자주식회사 | 복수의 프레임을 참조하여 영상을 부호화, 복호화하는 방법 및 장치 |
| WO2012007038A1 (en) * | 2010-07-15 | 2012-01-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Hybrid video coding supporting intermediate view synthesis |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP2846544A4 * |
Also Published As
| Publication number | Publication date |
|---|---|
| EP2846544A4 (en) | 2016-03-16 |
| EP2846544A1 (en) | 2015-03-11 |
| US20150085933A1 (en) | 2015-03-26 |
| CN104604232A (zh) | 2015-05-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2013165143A1 (ko) | 멀티뷰 영상의 부호화 방법, 부호화 장치, 복호화 방법, 복호화 장치 | |
| WO2013100635A1 (ko) | 3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치 | |
| WO2013025065A2 (ko) | 정밀한 단위의 필터 선택을 적용한 영상 부호화/복호화 장치 및 방법 | |
| WO2012081879A1 (ko) | 인터 예측 부호화된 동영상 복호화 방법 | |
| WO2019147079A1 (ko) | 서브블록 기반의 모션 보상을 이용한 비디오 신호 처리 방법 및 장치 | |
| WO2016200043A1 (ko) | 비디오 코딩 시스템에서 가상 참조 픽처 기반 인터 예측 방법 및 장치 | |
| WO2017057953A1 (ko) | 비디오 코딩 시스템에서 레지듀얼 신호 코딩 방법 및 장치 | |
| WO2018044088A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2012023763A2 (ko) | 인터 예측 부호화 방법 | |
| WO2018117546A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2015142054A1 (ko) | 다시점 비디오 신호 처리 방법 및 장치 | |
| WO2012023762A2 (ko) | 인트라 예측 복호화 방법 | |
| WO2018056702A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2018056603A1 (ko) | 영상 코딩 시스템에서 조도 보상 기반 인터 예측 방법 및 장치 | |
| WO2019112071A1 (ko) | 영상 코딩 시스템에서 크로마 성분의 효율적 변환에 기반한 영상 디코딩 방법 및 장치 | |
| WO2012018197A2 (ko) | 인트라 예측 복호화 장치 | |
| WO2017052000A1 (ko) | 영상 코딩 시스템에서 움직임 벡터 정제 기반 인터 예측 방법 및 장치 | |
| WO2015142057A1 (ko) | 다시점 비디오 신호 처리 방법 및 장치 | |
| WO2019194500A1 (ko) | 인트라 예측에 기반한 영상 코딩 방법 및 그 장치 | |
| WO2016085229A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2018212569A1 (ko) | 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
| WO2017188565A1 (ko) | 영상 코딩 시스템에서 영상 디코딩 방법 및 장치 | |
| WO2018056602A1 (ko) | 영상 코딩 시스템에서 인터 예측 방법 및 장치 | |
| WO2016056782A1 (ko) | 비디오 코딩에서 뎁스 픽처 코딩 방법 및 장치 | |
| WO2016133356A1 (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: 13784336 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 14388980 Country of ref document: US |
|
| REEP | Request for entry into the european phase |
Ref document number: 2013784336 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2013784336 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
