WO2013081365A1 - 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치 - Google Patents

개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
WO2013081365A1
WO2013081365A1 PCT/KR2012/010152 KR2012010152W WO2013081365A1 WO 2013081365 A1 WO2013081365 A1 WO 2013081365A1 KR 2012010152 W KR2012010152 W KR 2012010152W WO 2013081365 A1 WO2013081365 A1 WO 2013081365A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
merge
motion parameter
prediction
motion
Prior art date
Application number
PCT/KR2012/010152
Other languages
English (en)
French (fr)
Inventor
임정연
박중건
문주희
이영렬
김해광
전병우
한종기
임성원
이주옥
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020120134817A external-priority patent/KR101934277B1/ko
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Publication of WO2013081365A1 publication Critical patent/WO2013081365A1/ko
Priority to US14/289,217 priority Critical patent/US9402084B2/en
Priority to US14/887,552 priority patent/US9392299B2/en
Priority to US15/164,409 priority patent/US9462292B1/en
Priority to US15/168,093 priority patent/US9571852B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy

Definitions

  • the present invention relates to an image encoding / decoding method and apparatus using an improved merge. More specifically, in the merge method for performing inter prediction using the motion parameter of the neighboring block, if there is a candidate block that is not usable in the merge method due to the case that the neighboring block is encoded using intra prediction, the merge An image encoding / decoding method using an improved merge that improves compression efficiency by expanding the number of candidate groups that can be used for merge by setting the motion parameter of another unavailable block using the motion parameter of the neighboring block that is available for the It is about.
  • a moving picture is composed of a series of pictures, and each picture is divided into a predetermined area such as a block.
  • the divided blocks are largely classified into intra blocks and inter blocks according to encoding methods.
  • An intra block refers to a block that is encoded by using an intra prediction coding scheme.
  • An intra prediction coding is performed by using pixels of blocks that are previously encoded, decoded, and reconstructed in a current picture that performs current encoding. By predicting the pixels of the block, a prediction block is generated and a difference value with the pixels of the current block is encoded.
  • An inter block refers to a block that is encoded using inter prediction coding.
  • Inter prediction coding generates a prediction block by predicting a current block in a current picture by referring to one or more past or future pictures, and then generates a current block. This is a method of encoding the difference value with.
  • a picture referred to for encoding or decoding the current picture is referred to as a reference picture.
  • the reason for encoding a video signal is to reduce the size (capacity) of the video, that is, to compress the video.
  • intra prediction There are two types of predictors: intra prediction and inter prediction.
  • Intra prediction is a method of generating a prediction block (prediction signal) using neighboring pixels adjacent to a current block (original signal) and then transmitting residual data (residual signal) which is a difference.
  • residual signal and the prediction mode index indicating which direction the prediction is performed may be transmitted (for example, when the prediction is performed using the upper block, the prediction mode is 0, and when the prediction is performed using the left side of the block, the prediction mode is 1). .
  • the motion estimation method finds a block (prediction block) having the smallest difference from the current block to find the prediction block within the search range, and transmits the residual signal that is the difference between the current block and the prediction block. to be.
  • the motion parameter indicating the position of the prediction block is transmitted together.
  • the motion parameter indicates a motion vector indicating a position of a prediction block and a reference picture index indicating whether a motion vector is found in a picture (whether found in the previous picture or two pictures). Index), and a prediction direction flag indicating whether the prediction is performed in the past picture or the future picture (eg, L0: prediction in the past picture, L1: prediction in the future picture).
  • the reference picture index and the prediction direction flag can be encoded with a small number of bits, but in the case of a motion vector, the value itself can have a very large value, which may require a large number of bits for transmission. Therefore, the predictive motion vector is extracted through the prediction of the motion vector separately, and only the residual vector, which is the difference between the current motion vector and the predictive motion vector, is transmitted.
  • the motion vector is predicted to obtain the predictive motion vector (MVP) and the motion of the current block Difference from Vector Only vector is sent.
  • AMVP Advanced Motion Vector Prediction
  • Merge uses the motion parameters of the current block and neighboring neighboring blocks as they are for encoding the current block, generates a prediction block using the motion parameters, and converts the residual signal, which is the difference between the current block and the prediction block, to the decoding device. Will be sent.
  • the merge method differs from the AMVP method in that the merge does not directly estimate the motion, but generates the prediction block using the motion parameters of the neighboring blocks.
  • Merger's advantage is that it does not use motion estimation, so the complexity can be reduced, and it is only necessary to send the index of which block the motion parameter is used without transmitting the motion parameter to the decoder, not the motion parameter, but only the index. As the amount of data to be transmitted decreases as much as the number of bits, the coding efficiency is improved.
  • the skip method is similar to the merge method in that the prediction block is generated using the motion parameters of the neighboring block adjacent to the current block and the index of which block the motion parameter is used is different from the merge method.
  • the residual signal for the current block is not encoded.
  • the neighboring block when a neighboring block is encoded by inter prediction, the neighboring block has a motion parameter. However, if the neighboring block is encoded by intra prediction, it does not have a motion parameter. In this case, a block coded using intra prediction is excluded from a candidate block used for merge. If a plurality of neighboring blocks are encoded using intra prediction, the number of neighboring blocks available for merge is very limited.
  • the present invention provides a candidate block that is not usable in the merge method due to the case that the neighboring block is encoded using intra prediction in the merge method for performing inter prediction using the motion parameter of the neighboring block.
  • the main purpose is to increase the number of candidate groups that can be used in the merge to improve the compression efficiency by setting the motion parameters of other unavailable blocks using the motion parameters of the neighboring blocks available for merge.
  • the bidirectional prediction is used by setting the motion parameter of the neighboring block to the motion parameter of the other direction. It is also possible to improve the compression efficiency by enabling.
  • the apparatus for encoding an image if there is a block available in the merge among the candidate blocks for merge encoding, and it is determined that there is a block that is not available in the merge, Set a bidirectional motion parameter for the unavailable block by using the motion parameter for the past picture of any one of the motion parameters and the motion parameter for the future picture of any of the available blocks.
  • the present invention provides an image encoding apparatus comprising an inter prediction unit for generating a prediction block by predicting a current block by using a RN.
  • the bidirectional motion parameter to be set may be prioritized for the candidate block, and the bidirectional motion parameter may be set among the motion parameters of the usable block according to the priority.
  • the image encoding apparatus may generate the bitstream as information on the priority and transmit the information about the priority to the image decoding apparatus.
  • the motion parameter of the past picture may be set as the past picture parameter of the bidirectional motion parameter
  • the motion parameter of the future picture may be set as the future picture parameter of the bidirectional motion parameter
  • the linear scaling of the motion parameter for the one past picture in the future direction is set to the future picture parameter of the bidirectional motion parameter and the linear scaling of the motion parameter for the one future picture in the past direction.
  • One may be set as a past picture parameter of the bidirectional motion parameter.
  • the setting of the bidirectional motion parameter may be used when one or more motion parameters of a past picture and a future picture exist among the motion parameters of the usable block.
  • a zero vector may be set for the unusable block.
  • the apparatus for encoding an image if it is determined that there is a block usable in the merge among candidate blocks for merge encoding, and there is a block that is not available for merge, among the candidate blocks And an inter prediction unit performing an inter prediction by a method of setting a prediction block corresponding to the unavailable block by averaging block signals generated by using motion parameters of two blocks.
  • a video encoding apparatus is provided.
  • the prediction block for the unavailable block may not be created.
  • a prediction block corresponding to the unavailable block is set by averaging block signals generated by using motion parameters of two candidate blocks among the candidate blocks, and a candidate predicted and encoded using a block averaging method among the candidate blocks. Blocks may not be used.
  • a priority may be determined for the candidate block, and the two candidate blocks may be selected according to the priority.
  • a usable block extracts a merge flag from a bitstream, and the value of the merge flag means merge encoding and is usable for merge among candidate blocks for merge encoding. If it is confirmed that there is an unavailable block in the merge, any of the motion parameters of the past picture of any one of the motion parameters of the usable block and the motion parameters of the usable block with respect to the unavailable block.
  • a bitstream decoder that decodes a merge index in consideration of the existence of a candidate block having the bidirectional motion parameter set when the bidirectional motion parameter can be set using the motion parameter for the future picture of the mobile station; And an inter prediction unit generating a prediction block of the current block according to the merge method of the merge index.
  • a merge flag is extracted from a bitstream, and a value of the merge flag means merge coding, and candidate blocks usable for merge among merge candidate blocks If it is confirmed that there are blocks that are not available in the merge, the blocks are generated by using motion parameters of two candidate blocks among the candidate blocks with respect to the blocks that are not available.
  • the present invention provides a video decoding apparatus characterized by decoding a current block by a method of setting a prediction block corresponding to a block (block averaging method).
  • the present invention in the method of encoding an image, if it is determined that there is a block available in the merge among the candidate blocks for merge encoding, it is determined that there is a block that is not available in the merge.
  • Set a bidirectional motion parameter for the unavailable block by using the motion parameter for the past picture of any one of the motion parameters and the motion parameter for the future picture of any of the available blocks.
  • the present invention provides an image encoding method comprising an inter prediction step of generating a prediction block by predicting a current block by using a spectral block.
  • the candidate blocks are determined to be unavailable in the merge
  • a usable block extracts a merge flag from a bitstream, and a value of the merge flag means merge encoding and is usable for merge among merge candidate blocks for merge encoding If it is confirmed that there is an unavailable block in the merge, any of the motion parameters of the past picture of any one of the motion parameters of the usable block and the motion parameters of the usable block with respect to the unavailable block.
  • a merge flag is extracted from a bitstream, and a value of the merge flag means merge encoding, and candidate blocks usable for merge among merge candidate blocks for merge encoding If it is confirmed that there are blocks that are not available in the merge, the blocks are generated by using motion parameters of two candidate blocks among the candidate blocks with respect to the blocks that are not available.
  • a method of decoding a current block is provided by setting a prediction block corresponding to a block.
  • the apparatus for encoding an image when motion compensation is possible in only one direction of the past or future, the motion of any one of the neighboring blocks of the current block in the corresponding direction is performed.
  • the inter prediction unit extracts a parameter and performs a bidirectional prediction using a motion parameter for the corresponding direction of the current block and a motion parameter in which the motion parameter of the neighboring block is extracted in the opposite direction to generate a prediction block.
  • It provides a video encoding apparatus comprising a.
  • the apparatus for encoding an image may have a smallest difference between the prediction block generated as a result of bidirectional prediction using the motion parameter obtained by setting the motion parameter extracted for each of the neighboring blocks in the opposite direction and the motion parameter of the current block.
  • the prediction block may be encoded by using the prediction block.
  • a flag indicating whether bidirectional prediction is possible from the bitstream is extracted, and the bidirectional is extracted from the flag. Confirm that it is predictable, extract prediction direction information from the bitstream, confirm that the prediction direction information is bidirectional prediction using the motion parameter of the neighboring block, extract the neighboring block index from the bitstream, and extract the neighboring block index for the current block from the bitstream.
  • a bitstream decoder for recovering a motion parameter and an inter prediction unit configured to generate a prediction block by performing bidirectional prediction using the motion parameter of the neighboring block identified by the neighboring block index in the opposite direction and the motion parameter of the restored current block.
  • a flag indicating whether bidirectional prediction is possible from the bitstream is extracted and bidirectional from the flag. Confirm that it is predictable, extract prediction direction information from the bitstream, confirm that the prediction direction information is bidirectional prediction using the motion parameter of the neighboring block, extract the neighboring block index from the bitstream, and extract the neighboring block index for the current block from the bitstream.
  • the merge in a merge method for performing inter prediction using motion parameters of a neighboring block, if there is a candidate block that is not usable in the merge method due to the case that the neighboring block is encoded using intra prediction, the merge By setting the motion parameters of the other neighboring blocks that are not available using the motion parameters of the neighboring blocks available to the, it is effective to increase the number of candidate groups that can be used for merge to improve the compression efficiency.
  • the motion parameter of the neighboring block is moved in the other direction.
  • the compression efficiency is improved.
  • FIG. 1 is a block diagram schematically illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an example of division of a largest coding unit block.
  • FIG. 3 is a diagram illustrating an example of a prediction unit block.
  • FIG. 4 is a diagram illustrating a case of a process of creating a prediction block using pixel values above a current block.
  • FIG. 5 is a diagram illustrating the types of intra prediction modes and their indices.
  • FIG. 6 is a diagram illustrating an interior of an inter prediction unit for performing inter prediction of various methods.
  • FIG. 7 is a diagram illustrating a case where a block most similar to a current block is determined as a prediction block in a reference picture through motion estimation.
  • FIG. 8 is a diagram illustrating neighboring blocks A0, A1, B0, B1, and B2 of the current block used for AMVP.
  • FIG. 9 is a diagram illustrating a similar position block for a temporal representative motion vector.
  • FIG. 10 is a flowchart illustrating a method of obtaining a representative motion vector from a motion vector of a candidate block.
  • 11 is a diagram illustrating an example of neighboring blocks used for inter prediction using a merge method.
  • FIG. 12 is a diagram illustrating pixels of a reference picture stored in a memory and pixels that are interpolated to less than an integer pixel.
  • FIG. 13 is a diagram illustrating a zigzag scan of quantized coefficient blocks.
  • FIG. 14 is a diagram illustrating a truncated code that encodes an index used for AMVP, merge and skip.
  • 15 is a flowchart showing an encoding method in the inter prediction unit 103 when the merge encoder 303 is used.
  • 16 is a diagram for explaining an example of setting a bidirectional motion parameter for an unavailable block.
  • 17 is a flowchart illustrating a method of decoding a bitstream encoded using the method of FIG. 16.
  • 18 is a diagram illustrating a method of performing a block averaging method.
  • 19 is a flowchart illustrating a block merging method.
  • 20 is a diagram illustrating a method of allocating a block merge index.
  • 21 is a flowchart illustrating a decoding method corresponding to the encoding method according to the second embodiment.
  • 22 is a block diagram schematically illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 23 is a diagram illustrating an encoding method when the first embodiment and the second embodiment are mixed.
  • 24 is a diagram illustrating a decoding method when the first embodiment and the second embodiment are mixed.
  • FIG. 1 is a block diagram schematically illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
  • each component of the video encoding apparatus according to the embodiment of the present invention will be briefly described.
  • the image encoding apparatus 100 is an apparatus for encoding an image, and the image encoding apparatus is largely divided into a block splitter 101, an intra predictor 102, and an inter prediction. Inter Predictor, Transformer 104, Quantizer 105, Motion Compensator 106, Entropy Coder 107, Inverse Quantizer 108, An inverse quantizer, an inverse transformer 109, a memory 110, a subtractor 111, a adder 112, and an adder 112.
  • the video encoding apparatus 100 may be a personal computer (PC), a TV, a notebook computer, a personal digital assistant (PDA), a portable multimedia player (PMP), or a PlayStation Portable (PSP).
  • a wireless terminal such as a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a wireless personal area network, a personal area network, and the like, a communication device such as a communication modem for communicating with various devices or a wired / wireless communication network, a memory for storing various programs and data for encoding an image, Means a variety of devices including a microprocessor for executing and operating a program.
  • a communication device such as a communication modem for communicating with various devices or a wired / wireless communication network, a memory for storing various programs and data for encoding an image, Means a variety of devices including a microprocessor for executing and operating a program
  • the block dividing unit 101 divides the input image into coding unit blocks.
  • a coding unit block is the most basic unit that is divided for intra prediction / inter prediction, and is a structure that is repeatedly divided into four blocks of the same size (square).
  • the maximum coding unit block may be set to 64x64 size and the minimum coding unit block may be set to 8x8.
  • Each coding unit block includes one or more prediction unit blocks as shown in FIG. 3 according to a prediction type.
  • the prediction unit block is the smallest unit that holds the prediction information. Normally three-level quadtrees can be used for more levels, in general the maximum depth for luma and chroma is the same.
  • reference numeral 201 denotes a case where the coding unit block is used as the prediction unit block as it is.
  • (202), (203), (205) and (206) are cases in which two prediction unit blocks of the same size are included, and (204) is a case in which four prediction unit blocks of the same size are included (207)
  • And (208) include two prediction unit blocks having a ratio of 1: 3.
  • the coding unit block may be divided into various shapes.
  • the intra prediction unit 102 generates a predicted block by using the pixel value in the current picture as the current block. Prediction is performed using the information in the picture.
  • a prediction block is generated using pixel values neighboring the current block as shown in FIG. 4 and then the difference value with the current block is encoded.
  • the prediction block is generated by using pixel values existing above the current block.
  • neighboring pixel values around the current block as shown in FIG. 5 are set to intra mode using pixel values of various angles.
  • the prediction block may be generated.
  • Each number shown in FIG. 5 illustrates an index of the intra prediction mode. After generating the prediction block, an index indicating which prediction mode is used is encoded.
  • a prediction block may be used after smoothing a neighboring pixel using a smoothing filter.
  • a smoothing filter For example, when using the [1, 2, 1] filter, the pixels used for prediction are transformed as in Equation 1.
  • Equation 1 X [n] denotes a filtering target pixel, and X [n-1] and X [n + 1] denote left and right adjacent pixels of the filtering target pixel in a direction parallel to the boundary line of the current block.
  • whether or not to perform smoothing may be determined according to the size of the prediction unit block and the angle of the prediction mode used for intra prediction. In this case, a look up table may be created and used to determine such smoothing.
  • FIG. 6 is a diagram illustrating an inter prediction unit 103 for performing inter prediction of various methods.
  • the inter prediction unit 103 generates a prediction block by using information of pictures that are previously encoded and decoded in the current block. As illustrated in FIG. 6, prediction may be performed according to three methods such as skip, merge, and motion estimation.
  • FIG. 7 is a diagram illustrating a case where a block most similar to a current block is determined as a prediction block in a reference picture through motion estimation.
  • the motion estimation 301 means predicting using information between pictures.
  • a block most similar to a current block in a reference picture is determined as a prediction block through motion estimation, and a position of the prediction block is expressed as a motion vector.
  • the entropy encoding unit 107 encodes a corresponding motion parameter.
  • the motion parameter may include a motion vector (MV), a reference picture index, and a prediction direction.
  • MV motion vector
  • the motion vector may be a prediction motion vector.
  • the image decoding apparatus to be described later reconstructs the prediction block by using the motion parameter extracted from the bitstream transmitted from the image encoding apparatus, and then decodes the current block by adding the values of the reconstructed prediction block and the residual block extracted from the bitstream.
  • the AMVP 302 (Advanced Motion Vector Prediction) is a method of predicting the motion vector of the current block using the motion vector of the neighboring block and encoding the index of which block the motion vector is predicted using. Equation 2 shows an equation for calculating a differential motion vector (MVD).
  • MV is a motion vector of the current block
  • MVP is a predictive motion vector predicted by a neighboring block
  • MVD is a difference motion vector which is a difference value between the motion vector and the predictive motion vector of the current block.
  • FIG. 8 is a diagram illustrating neighboring blocks A0, A1, B0, B1, and B2 of the current block used for AMVP.
  • these neighboring blocks used for AMVP are called candidate blocks.
  • group A candidate blocks A0 and A1 adjacent to the lower left of the current block
  • candidate blocks B0, B1 and B2 adjacent to the upper side of the current block are referred to as group B
  • movement of candidate blocks belonging to group A is performed.
  • One of the vectors and one of the motion vectors of the candidate blocks belonging to the B group are selected as the representative motion vector of each group.
  • one candidate motion vector is selected as the representative motion vector, and all three representative motion vectors are selected.
  • a temporal candidate motion vector means a motion vector of a block of a picture which is located in a temporal vicinity, and a motion vector of a block located in the immediately preceding picture but located at the same spatial position as the current block may be used.
  • An example of a temporal motion vector is a motion vector of a co-located block.
  • a co-located block refers to a block at the same position as the current block in a previous frame.
  • FIG. 9 is a diagram illustrating similar position blocks AA through EE for a temporal representative motion vector.
  • a block including one block among blocks AA to DD within a previous frame of the current block may be determined as a co-located block and used as a temporal candidate block.
  • Another example of a temporal candidate is a block EE, and any block neighboring besides the block EE may be selected as a temporal candidate.
  • a differential motion vector from the motion vector of the current block and an index indicating which motion vector of the block is selected are determined.
  • the motion vector of the block having the highest coding efficiency is determined as the final predicted motion vector.
  • the search order for finding the representative block from the candidate block for AMVP can be arbitrarily set. As an example, group A (A0, A1) of FIG. 8 is from below and group B (B0, B1, B2) is from right to left. You can search by.
  • the representative vector is selected using the method of FIG. 10.
  • step S1001 block X becomes a representative block (that is, the motion vector of the block becomes a representative vector). If the determination result of step S1002 is no, it is determined whether the remaining block exists (S1004). If the determination result of step S1004 is YES, 1 is increased to X (that is, block 2). Proceeds to step S1102 (S1003).
  • step S1004 If the determination result in step S1004 is NO, 1 is substituted into X (S1005), and it is checked whether the reference picture index of block X is the same as the current block but the prediction direction is different (S1006). If the determination of step S1006 is YES, block X becomes a representative block. If the determination result of step S1006 is no, the reference picture index of block X is different from the current block, but it is checked whether the prediction direction is the same (S1007). If the determination result of step S1007 is YES, block X becomes a representative block. If the determination result of step S1007 is no, it is checked whether the reference picture index of the block X and the prediction direction are different from the current block (S1008).
  • step S1008 If the determination result of step S1008 is YES, block X becomes a representative block. If the determination result of step S1008 is no, it is determined whether there are more remaining blocks. If there is a remaining block, 1 is increased to X (ie, block 2) and the process proceeds to step S1006 again (S1010).
  • step 1008 if both are determined to be “no” in step 1008, it means that the block is not available for inter prediction. For example, this is the case of an intra prediction block.
  • 11 is a diagram illustrating an example of neighboring blocks used for inter prediction using a merge method.
  • an optimal block for merging may be found in the neighboring blocks A through E and the temporal candidate blocks of FIG. 9, or two candidates having a higher priority may be given priority to the neighboring blocks A through E.
  • the optimal block may be determined from the temporal candidate blocks (one of AA to EE) in FIG. 9.
  • merge means encoding the current block using the motion parameter of the candidate block.
  • Skip 304 refers to a case where the residual signal value between the prediction block and the current block of the current block obtained by using the motion parameter of the neighboring block is 0.
  • the prediction block is made using the motion parameters of the neighboring blocks without encoding the residual signal separately, and the current block is encoded.
  • the index of the corresponding block is encoded.
  • Candidates of the neighboring blocks neighboring the current block for AMVP, merge and skip are neighboring blocks A0 to B2 shown in FIG. 11 and neighboring blocks A to E shown in FIG. Similarly similar blocks may also be candidate blocks.
  • the subtraction unit 111 generates a residual block by subtracting the prediction block from the current block.
  • the transform unit 104 generates a transform block by transforming the residual block.
  • the transform block is the smallest unit used for the transform and quantization process.
  • the transformation unit may be divided in the same manner as the coding unit as shown in FIG. 4, or may be transformed by performing various transformations. Similar to the coding unit block, the information on the transformation unit may use a quadtree structure, and the transformation unit may have various sizes.
  • the transform unit 104 converts the residual signal into the frequency domain to generate and output a transform block having a transform coefficient.
  • various transformation techniques such as Discrete Cosine Transform (DCT) based, Discreate Sine Transform (DST), and Karhunen Loeve Transform (KLT) can be used.
  • DCT Discrete Cosine Transform
  • DST Discreate Sine Transform
  • KLT Karhunen Loeve Transform
  • the residual signal is transformed into a frequency domain and converted into a transform coefficient using the same.
  • matrix operations are performed using a basis vector.
  • the transformation methods can be mixed and used in the matrix operation. For example, in intra prediction, a discrete cosine transform may be used in the horizontal direction and a discrete sine transform in the vertical direction.
  • the quantization unit 105 quantizes the transform block to generate a quantized transform block. That is, the quantization unit 105 quantizes the transform coefficients of the transform block output from the transform unit 104 to generate and output a quantized transform block having quantized transform coefficients.
  • DZUTQ dead zone uniform threshold quantization
  • DZUTQ quantization weighted matrix
  • various quantization methods such as improved quantization may be used.
  • the inverse quantization unit 108 performs inverse quantization by inversely performing a quantization technique used for quantization on a quantized transform block and restores an inverse quantized transform block having a transform coefficient.
  • the inverse transform unit 109 inversely transforms the inverse quantized transform block to restore the residual block having the residual signal by using the same method as the transform method.
  • the inverse transform is performed by inversely performing the transform technique used by the transform unit 104. .
  • the adder 112 adds a residual signal reconstructed by the inverse transform unit 109 and a prediction image generated through intra prediction or inter prediction to reconstruct the current block.
  • the memory 110 stores the current block reconstructed by adding the residual signal reconstructed by the inverse transform unit 109 and the prediction image generated through intra prediction or inter prediction, and predicts another block such as the next block or the next picture. Can be utilized.
  • the motion compensator 106 may perform motion compensation after increasing the resolution of the reference picture by interpolating pixels of an integer pixel or less by interpolating pixel values of the reference picture.
  • FIG. 12 illustrates pixels of a reference picture stored in a memory and pixels interpolated to less than an integer pixel. Filtering the previously reconstructed pixels A to U of the reference picture with an interpolation filter can generate interpolated pixels a to s, and interpolated pixels a to s between the already reconstructed pixels as shown.
  • the resolution of the reference picture may be four times higher than interpolation.
  • various filters such as a bilinear filter, a DCT based filter, and a cubic interpolation filter may be used.
  • the entropy encoding unit 107 encodes the quantized transform block and outputs a bitstream. That is, the entropy encoding unit 107 entropy encodes a frequency coefficient string obtained by scanning a quantized transform coefficient of the quantized transform block output from the quantization unit 105 by various scan methods such as a zigzag scan as in the example of FIG. 13. Bitstream including additional information (for example, information about a prediction mode, quantization coefficient, motion parameter, etc.) necessary for encoding using various encoding techniques, and decoding the corresponding block in an image decoding apparatus to be described later. Create and print
  • bits may be allocated differently according to the number of blocks available nearby.
  • candidate blocks usable for merge among the candidate blocks for merge encoding (hereinafter, referred to as usable blocks) may be used. If it is confirmed that there is an unavailable block (hereinafter, referred to as an unusable block) in the merge, the motion parameter for the past picture of any of the available blocks and the future picture of any of the available blocks is determined. Set the bidirectional motion parameter of the unavailable block by using this method and predict the current block using the set bidirectional motion parameter.
  • 15 is a flowchart showing an encoding method in the inter prediction unit 103 when the merge encoder 303 is used.
  • the merge encoding process may be started by checking whether neighboring candidate blocks are available for merge encoding (S1501).
  • the candidate block may include predetermined blocks such as a block adjacent to the current block in time as shown in FIG. 9 and a block adjacent to the current block as shown in FIG. 11.
  • blocks of various positions may be set as candidate blocks.
  • a candidate block coded using intra prediction among blocks adjacent to the current block may be determined as an unusable block that cannot be used for merge in step S1501.
  • step S1501 it is determined whether merge is performed by the conventional method or by the method proposed in the embodiment of the present invention according to whether there is an unavailable block among candidate blocks at a position that can be used for merging ( S1502).
  • step S1502 If the unavailable block does not exist among the candidate blocks in step S1502, as in the existing merge, which block is the best block among the candidate blocks is selected (S1505). If there is an unavailable block in step S1502, it is unavailable by using the motion parameter for the past picture list0 of any of the available blocks and the motion parameter for the future picture list1 of any of the available blocks. It is determined whether the bidirectional motion parameter for the block can be set (S1503).
  • step S1503 If it is determined in step S1503 that the bidirectional motion parameter can be set, the merge index is inserted into the unusable block (S1504), and one of the candidate blocks is selected as the optimal block (S1505). If it is determined in step S1503 that it is not possible to set the bidirectional motion parameter, as in the conventional merge, it is selected which block among the candidate blocks is an optimal block (eg, a block having an optimal rate-distortion ratio) (S1505). .
  • an optimal block eg, a block having an optimal rate-distortion ratio
  • the merge is encoded using the merge when it is determined that the encoding result according to the merge method is optimal compared to the encoding result according to the intra mode, the intra mode, the skip mode, and the AMVP mode.
  • the merge flag is set and encoded (for example, encoded as 1), and the merge index corresponding to the candidate block selected for merge is encoded (S1506).
  • the optimal merge index is selected when selecting the optimal prediction mode and then compared with the intra mode, the skip mode, and the AMVP mode, the order of comparison may vary depending on the embodiment. It will be apparent to those skilled in the art.
  • 16 is a diagram for explaining an example of setting a bidirectional motion parameter for an unavailable block.
  • the motion parameter for the past picture of any of the available blocks is set to the past picture parameter of the bidirectional motion parameter, and the motion parameter for the future picture of any of the other available blocks to the future picture parameter of the bidirectional motion parameter. Can be set.
  • a bidirectional motion parameter of C can be set by setting a list0 parameter A list0 of A as a list0 parameter of C position and a list1 parameter B list1 of B as a list1 parameter of C position.
  • the candidate block in which the bidirectional parameter is set is indicated as Bi, indicating that the candidate block is bidirectionally set from the candidate block.
  • a bidirectional motion parameter of D may be set by setting a list0 parameter A list0 of A as a list0 parameter and a parameter E list1 of E as a parameter of list1. .
  • a priority for bidirectional setting may be determined for the candidate block, and bidirectional motion parameters may be set among motion parameters of the usable block according to the priority. In the case of FIG.
  • the same priority as promised between the image encoding apparatus and the image decoding apparatus may be used, and the image encoding apparatus encodes the information indicating the priority and includes the encoded information in a bitstream header or the like and transmits the information to the image decoding apparatus. By doing so, it is possible to inform the video decoding apparatus of the priority.
  • a merge index for the unusable position is given to the merge as shown in FIG. 16 (S1504).
  • candidate blocks i.e., usable block and bi-directional combinable block
  • the result is compared with the result encoded using intra prediction, skip, and AMVP mode.
  • the merge flag is encoded as 1 and the merge index of the selected candidate block is encoded (S1506).
  • a bidirectional motion parameter combination can be inserted for all unusable blocks. If the unavailable position exists but the bidirectional combination is not available, zero vector (0,0) is inserted into the location of the unusable block. By inserting, a merge using the candidate block may be encoded using a zero vector.
  • the linear scaling of the motion parameter for one past picture list0 in the future direction is set as the future picture parameter of the bidirectional motion parameter.
  • the linear scaling of the motion parameter for one future picture list1 in the past may be set to the past picture list0 parameter of the bidirectional motion parameter.
  • the past picture is set in the bidirectional motion parameter set in the case of the unavailable block D.
  • the motion vector corresponding to (list0) is -Y where the motion vector of the future picture list1 of block B is scaled in the opposite direction from Y relative to the current block, and the motion vector corresponding to the future picture (list1) is the past picture list0 of block A.
  • the motion vector of is set to be -X in which X is scaled in the direction opposite to the current block. For example, when the motion vector value of the past picture of any one block is (2, -3), if (2, -3) is linearly scaled in the future direction, it becomes (-2, 3). It means that the motion vector value of the scaled (-2, 3) is allocated as the motion vector value of the future picture for the bidirectional motion parameter for the unavailable block.
  • the method for setting the bidirectional motion parameter may be used when only one motion parameter of the past picture and one motion parameter of the motion picture of the usable block exist.
  • all the methods mentioned herein may set the bidirectional motion parameter of the unavailable block by prioritizing each other.
  • 17 is a flowchart illustrating a method of decoding a bitstream encoded using the method of FIG. 16.
  • a bitstream decoder of a video decoding apparatus to be described later decodes a bitstream to extract a merge index including information on a block having a motion vector that can be used for prediction of the current block.
  • the bitstream decoder extracts the merge flag from the bitstream (S1701). By checking the extracted merge flag, it is checked whether the merge is used (S1702). If the merge is not used, the process ends. If it is confirmed in step S1702 that merge is used, the merge index is extracted from the bitstream and the availability of neighbor merge candidate blocks is checked (S1703).
  • the motion index used in the merge is specified by decoding the merge index in consideration of the existence of all candidate blocks (S1707). If there is an unavailable block among the blocks (S1704), it is checked whether a bidirectional motion parameter of the unavailable block can be set using a bidirectional combination of List0 motion parameters and List1 motion parameters of the usable block (S1705).
  • the motion index used in the merge is specified by decoding the merge index as it is to decode the merge method without using the bidirectional combination (S1707). If bidirectional motion parameter setting is possible, the candidate block identified by the merge index is found by considering the location of the unavailable block (S1706), and the motion parameter for the candidate block identified by the merge index is restored to the current block. It is determined by the motion parameter for the determination (S1707).
  • This embodiment may be implemented by the image encoding apparatus 100 shown in FIG. 1.
  • the operation of the inter prediction unit 103 is different from the above-described embodiments.
  • the operation of the inter prediction unit 103 according to the present embodiment will be described.
  • the inter prediction unit 103 checks whether there are usable blocks available in the merge among the candidate blocks for merge encoding, and if it is determined that there is an unusable block in the merge, the inter prediction unit 103 performs motion parameters for two candidate blocks among the candidate blocks.
  • a method of setting a prediction block corresponding to the unusable block by averaging prediction signals generated by using each other (hereinafter, referred to as a block averaging method) may be used as a merge candidate to replace a neighboring block that is not available for merge.
  • 18 is a diagram illustrating a method of performing a block averaging method.
  • each block is generated through motion parameters of two blocks neighboring the current block (which may include not only the neighboring block of FIG. 11 but also the temporal candidate block of FIG. 9) for the unusable block.
  • It illustrates a method of using a block obtained by averaging two blocks as a prediction block of the current block (block merge method), and a technique of generating a prediction block by averaging two blocks indicated by surrounding motion parameters.
  • the number of motion parameters required for encoding the unusable blocks may continue to increase, and thus the cumulative allowable motion parameters may be used. You can set the number. Therefore, in this case, when the number of cumulative motion parameters used when generating the prediction block is greater than or equal to a predetermined number, the prediction block for the unavailable block may not be created.
  • candidate blocks predicted and encoded using the block averaging method among the candidate blocks may not be used for merge using the block averaging method of other blocks.
  • 19 is a flowchart illustrating a block merging method.
  • FIG. 19 the method of FIG. 18 is represented in a flowchart.
  • the encoding process using merge may start from checking whether neighboring candidate blocks are available for merge encoding (S1901).
  • the candidate block may include predetermined blocks as shown in FIG. 11, and blocks of various positions may be set as candidate blocks according to an embodiment.
  • a candidate block coded using intra prediction may be determined to be unavailable in the merge at step S1901.
  • step S1902 whether to merge in a normal method (conventional method) considering all possible candidate blocks according to whether or not a block is available in the merge, or whether to merge in the method proposed in the embodiment of the present invention Determine (S1902).
  • step S1902 it is checked whether there are no unusable blocks among the candidate blocks, and if there are no unusable blocks among the candidate blocks, the block is selected in consideration of the existence of all candidate blocks as in the existing merge. If there is an unavailable block, it is determined whether a combination of neighbor candidate blocks is possible for the unavailable block (S1903).
  • the candidate inter-block combination is selected which block is an optimal block (eg, a block having an optimal rate-distortion ratio) among the available candidate blocks as in the existing merge (S1905). If the inter-block combination is possible, the merge index, in which two blocks of the candidate blocks are combined, is inserted at the position of the unusable block (S1904), and a candidate block showing optimal performance is selected (S1905).
  • an optimal block eg, a block having an optimal rate-distortion ratio
  • the merge flag is encoded using merge when the merge method is optimal compared to the result of encoding according to each mode of the intra mode, the skip mode, and the AMVP mode.
  • the merge index is set, encoded, and the merge index corresponding to the candidate block used for merge is encoded (for example, encoded as 1) (S1906).
  • the index for the optimal merge candidate block is selected and then compared with the intra mode, the skip mode, and the AMVP mode. It will be apparent to those skilled in the art that the order may vary from embodiment to embodiment.
  • 20 is a diagram illustrating a method of allocating a block merge index.
  • a motion parameter for performing a block averaging method for the unavailable block may be allocated by giving priority to the candidate block. For example, if the priority is assigned in the order of A> B> C> D> E> Col, the available blocks can be combined based on the priority. If A, B, and Col are available blocks, and C, D, and E are unavailable blocks, the first C position contains an index indicating (A + B) / 2, and the second D position (A + Col). You can set the index to indicate) / 2 and the third E position to contain the index (B + Col) / 2.
  • the meaning of the index indicating (A + B) / 2 means that the block signal generated by the motion parameter of the A block and the block signal generated by the motion parameter of the B block for the corresponding unusable block (that is, C).
  • the arithmetic mean block is a prediction block generated as a result of merge using block C.
  • 21 is a flowchart illustrating a decoding method corresponding to the encoding method according to the second embodiment.
  • a bitstream decoder of a video decoding apparatus to be described later extracts and extracts a merge index including information on a block having a motion vector that can be used for prediction of a current block. Determine the merge block identified by the merge index.
  • the bitstream decoder extracts the merge flag from the bitstream (S2101).
  • the extracted merge flag is checked to see if it is encoded by the merge method (S2102). If the merge is not used, the process ends. If it is confirmed in step S2102 that the merge is used, it is checked whether the neighbor merge candidate blocks are available (S2103).
  • step S2104 If there is no unusable block among the candidate blocks as a result of the verification in step S2103 (S2104), the merge index is immediately decoded for encoding by the conventional method (S2107), and if there is an unusable block among the candidate blocks (S2104).
  • step S2105 it is determined whether a combination between neighboring candidate blocks is possible. If the combination between the candidate blocks is not possible, the block used in the merge is selected by decoding the merge index of which block is the optimal block among the available candidate blocks as in the existing merge (S2107).
  • the prediction block is generated by determining a motion parameter for the prediction parameter, or when it is merged with the combined value between blocks, the prediction block is generated by combining the block values of the neighboring candidate blocks (S2107).
  • the encoding method of the first embodiment and the encoding method of the second embodiment may be used alone, or two encoding methods may be used together. For example, if there is only one unavailable block, you can give priority to one of the two schemes automatically, and if more than one block is available, you can apply different embodiments to how it is applied on a block-by-block basis. It may be. For example, it is possible to use the method of Embodiment 1 using the method of setting the bidirectional motion parameter for the first unavailable block, and the method of Embodiment 2 using the combination of neighboring candidate blocks for the second unavailable block.
  • FIG. 23 is a diagram illustrating an encoding method when the first embodiment and the second embodiment are mixed.
  • the encoding process using merge may start from checking whether all of the neighboring candidate blocks at the positions available for merge are available for merge encoding (S2301).
  • step S2301 whether to merge in the conventional method considering all neighboring candidate blocks according to whether or not there is an unavailable block in the merge among neighboring candidate blocks or to perform the merge in the method proposed in the embodiment of the present invention It is determined whether or not (S2302).
  • operation S2302 it is determined whether an unavailable block exists among the candidate blocks, and if an unavailable block does not exist among the candidate blocks, which block is selected among all candidate blocks like the existing merge (S2306), If there is an unavailable block among all candidate blocks, it is checked whether a combination using the block value of the neighboring candidate block is possible for the unavailable block or whether the bidirectional motion parameter setting using the motion parameter of the neighboring candidate block is possible (S2303). .
  • the priority of the method using the combination using the block value of the neighboring candidate block is high, it is determined whether the inter-block combination is possible according to the priority, and if it is determined that the combination between the block values is possible (S2303), the unavailable block
  • the merge index is assigned to the position of the unavailable block to enable the method in which two blocks of the candidate blocks are combined with respect to the position of the block (S2304), and the motion parameter of the block showing the best performance among the motion parameters of the candidate blocks is selected. (S2306). If it is determined that the combination using the neighboring block is not possible, it is determined whether the bidirectional motion parameter using the motion parameter of the neighboring candidate block can be set (S2303).
  • a merge index for the unusable block position is inserted to enable the bidirectional combined merge method with respect to the block position (S2305), and a block among the candidate blocks is selected (S2306).
  • the merge flag is set to be encoded using merge when the merge method is optimal compared to the result of encoding according to each of the intra mode, skip mode, and AMVP mode. Encoding is performed, and the merge index corresponding to the candidate block used for merge is encoded (for example, encoded as 1) (S2307).
  • 24 is a diagram illustrating a decoding method when the first embodiment and the second embodiment are mixed.
  • the bitstream decoder of the video decoding apparatus to be described later extracts the merge flag from the bitstream (S2401). By checking the extracted merge flag, it is checked whether the merge is used (S2402) and ends if the merge is not used. If it is confirmed in step S2402 that merge is used, the merge index is extracted from the bitstream and the availability of neighbor merge candidate blocks is checked (S2403).
  • step S2405 If it is determined in step S2405 that the bidirectional motion parameter cannot be set, it is determined whether the combination is possible using the block values of the neighboring candidate blocks, and if it is possible, the candidate block identified by the merge index is considered in consideration of the unavailable position.
  • the motion parameter for the candidate block identified by the merge index is determined as a motion parameter for reconstructing the current block, thereby generating a prediction block or combining the block value of a neighboring candidate block to generate a prediction block (S2408).
  • step S2405 If it is determined in step S2405 that both methods are unavailable, the merge index is identified in consideration of only available candidate blocks and a prediction block is generated according to the identified merge index (S2408).
  • the merge method is available depending on what the corresponding merge method is for each block for the unavailable block in step S2405. If it is determined that the method proceeds to step S2406 or S2407 may be used.
  • the inter prediction unit 103 of the image encoding apparatus 100 may perform motion compensation only in one direction in the past or in the future (for example, in the case of a P picture).
  • the current block may be encoded by compensating the motion with respect to the corresponding possible direction (for example, the past direction), and the prediction block may be generated to encode the current block.
  • the prediction block may be generated to encode the current block. If the current picture is capable of motion compensation only in one of the past or future directions (for example, the past direction), in case of bidirectional prediction, the motion parameter of the adjacent neighboring block is changed to the other direction (the motion compensation direction of the current picture is past). Set the motion parameter for the other direction in the case of future).
  • bidirectional prediction is performed using the motion parameter of the current block and the motion parameter of the neighboring block set in a direction opposite to the direction in which the current picture can be compensated. do.
  • two parameters include a unidirectional motion parameter of the current block (the motion parameter in the corresponding motion compensable direction) and a unidirectional motion parameter of the adjacent surrounding block (set to the opposite direction of the motion compensable direction).
  • Bidirectional prediction may be performed using a motion parameter.
  • a slice header (first bidirectional prediction flag) indicating whether a block can be encoded using bidirectional prediction (hereinafter, referred to as a first bidirectional prediction) using the current unidirectional motion parameter and a unidirectional motion parameter of a neighboring block adjacent thereto.
  • first bidirectional prediction may include and include prediction direction information (for example, a prediction direction flag) in the bitstream in units of prediction blocks to indicate whether the past, future, or bidirectional prediction is used. have.
  • a prediction block is generated using a motion parameter of each neighboring block and a current unidirectional motion parameter with respect to all neighboring blocks.
  • the motion parameter of the neighboring block can be selected when the difference of the residual block is the smallest.
  • the candidate of neighboring neighboring blocks available for the first bidirectional prediction may be a block at the position shown in FIG. 11 or any other neighboring block.
  • information about the neighboring block selected for the first bidirectional prediction may be displayed as an index and transmitted to an image decoding apparatus to be described later, and information about a current unidirectional motion parameter is also transmitted to an image decoding apparatus to be described later.
  • 22 is a block diagram schematically illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
  • the image decoding apparatus 400 is a personal computer (PC), a notebook computer, a TV, and a personal digital assistant (PDA), similar to the image encoding apparatus described above.
  • the image decoding apparatus 400 includes a bitstream decoder 401, an inverse quantizer 402, an inverse transformer 403, a predictor 405, an adder 409, and an adder. It may be configured to include a memory 408.
  • the bitstream decoder 401 extracts a quantized transform block by decoding the bitstream. That is, the bitstream decoder 401 decodes and inversely scans the bit stream extracted from the input bitstream to restore the quantized transform block having the quantized transform coefficients. In this case, the bitstream decoder 401 may decode using an encoding technique such as entropy encoding used by the entropy encoder 107. In the inter-prediction, the bitstream decoder 401 extracts and decodes the encoded difference vector from the bitstream to restore the difference vector, and decodes the motion parameter to restore the motion vector of the current block. In the case of intra prediction, the intra prediction mode index extracted from the bitstream is extracted and decoded to inform which intra prediction mode the current block uses.
  • the inverse quantization unit 402 dequantizes the quantized transform block. That is, the inverse quantization unit 402 inverse quantizes the quantized transform coefficients of the quantized transform block output from the bitstream decoder 401. In this case, the inverse quantization unit 402 reversely quantizes the quantization technique used by the quantization unit 105 of the image encoding apparatus.
  • the inverse transform unit 403 inversely transforms the inverse quantized transform block output from the inverse quantization unit 402 to restore the residual block. That is, the inverse transformer 403 restores the residual block having the residual signal reconstructed by inversely transforming the inverse quantized transform coefficients of the inverse quantized transform block output from the inverse quantizer 402. Inverse transformation is performed by performing the transformation technique used in ().
  • the prediction unit 405 may include an intra prediction unit 406 and an inter prediction unit 407, and the intra prediction unit 102 and the inter prediction unit 103 of the image encoding apparatus described above with reference to FIG. 1, respectively. It has a similar function.
  • the adder 409 adds the inverse transformed residual signal and the prediction image generated through intra prediction or inter prediction to reconstruct the current block image.
  • the memory 408 may store the decoded image in the same manner as the memory of the image encoding apparatus and may be used for later prediction.
  • the process of generating the predictive block is the same as in the image encoding apparatus 100.
  • the bitstream decoder 401 extracts the merge flag from the bitstream, checks whether the extracted merge flag value means merge encoding, and checks whether there are available blocks available for merge among merge candidate blocks for merge encoding, which are not available for merge. If the block is found to exist, the motion parameter for the past picture of any one of the motion parameters of the usable block and the motion parameter for the future picture of any of the usable blocks for the unusable block may be used. If the bidirectional motion parameter can be set, the merge index is decoded in consideration of the existence of the unavailable candidate block at the corresponding position.
  • the inter prediction unit 407 sets the motion parameter of the candidate block indicated by the decoded merge index as the prediction motion parameter for the current block.
  • the intra prediction unit 406 predicts the current block to be reconstructed using the prediction motion parameter generated here.
  • the bidirectional motion parameter to be set may set a priority for the candidate block and set the bidirectional motion parameter among the motion parameters of the usable block according to the priority.
  • the priority may be promised in advance between the image encoding apparatus and the decoding apparatus.
  • the encoding apparatus may transmit a bitstream including the information indicating the priority to the decoding apparatus, and the bitstream decoder 401 of the decoding apparatus extracts the information indicating the priority from the bitstream to set the priority. It may be.
  • a motion parameter of one past picture may be set as a past picture parameter of a bidirectional motion parameter
  • a motion parameter of one future picture may be set as a future picture parameter of a bidirectional motion parameter
  • the linear scaling of the motion parameter of one past picture in the future direction is set to the future picture parameter of the bidirectional motion parameter, and the linear scaling of the motion parameter of any one of the future pictures in the past direction. May be set as a past picture parameter of the bidirectional motion parameter.
  • the setting of the bidirectional motion parameter may be used when only one motion parameter of the past picture and one motion parameter of the usable block exist.
  • a zero vector may be set for the unusable block.
  • the image decoding apparatus 400 decodes the current block by setting a prediction block corresponding to an unusable block by averaging block signals generated using motion parameters for two candidate blocks among candidate blocks.
  • the prediction block of the current block may be generated using a bidirectional motion parameter set when the priority is higher than the method.
  • the image decoding apparatus 400 extracts the merge flag from the bitstream, checks whether the extracted merge flag value means merge encoding, and checks whether there are available blocks available for merge among merge candidate blocks for merge encoding, and thus are not available for merge. If it is determined that there is, the method for setting the prediction block corresponding to the unavailable block as the average value of the respective block signal generated by using the motion parameters for the two candidate blocks among the candidate blocks for the unavailable block ( Hereinafter, the current block is decoded by the block averaging method.
  • the prediction block for the unavailable block may not be created.
  • a prediction block corresponding to an unusable block is set by averaging block signals generated by using motion parameters of two candidate blocks among candidate blocks, and a candidate predicted and encoded using a block averaging method among the candidate blocks.
  • the block may not be used for setting the prediction block.
  • the set bidirectional motion parameter may determine the priority of the candidate block and select two candidate blocks according to the set priority.
  • the image encoding / decoding apparatus may be implemented by connecting a bitstream (encoded data) output terminal of the image encoding apparatus of FIG. 1 to a bitstream input terminal of the image decoding apparatus of FIG. 22.
  • the bitstream decoder 401 uses an inter prediction method using a motion estimation of a current block from information extracted from a bitstream (for example, a first bidirectional prediction flag obtained in a slice unit and a prediction direction information obtained in a block unit).
  • a first bidirectional prediction flag obtained in a slice unit and a prediction direction information obtained in a block unit.
  • the neighboring blocks perform the bidirectional prediction using the motion parameter.
  • the neighboring block uses the motion parameter of the neighboring neighboring block to use the bidirectional prediction.
  • the bitstream decoder 401 restores the information on the motion parameter (current unidirectional motion parameter) of the current block from the bitstream.
  • the motion parameter of the neighboring block is obtained by decoding the index bit of the neighboring block from the bitstream, extracting the motion parameter of the neighboring block identified by the corresponding index bit, and using the extracted motion parameter in the unidirectional direction of the current block. Set the direction opposite to the motion parameter.
  • the inter prediction unit 406 performs bidirectional prediction using the two motion parameters generated as described above.
  • the motion parameter set in the opposite direction to the motion parameter of the neighboring block and the motion parameter of the current block are performed. Parameter) to generate the final prediction block after generating the averaged prediction block.
  • the image encoding / decoding apparatus checks whether there are usable blocks available for merge among merge candidate blocks for merge encoding, and if the blocks are not available for merge, movement of the usable blocks is performed.
  • the bidirectional motion parameters for the unavailable block are set and the bidirectional motion parameters set.
  • a merge flag is extracted from a bitstream, and a value of the merge flag means merge encoding, and a candidate block available for merge among merge candidate blocks for merge encoding If it is confirmed that there is an unavailable block in the merge, the future picture of any one of the motion parameters of the available picture and the motion parameter of the available block of the available block for the unavailable block If the bidirectional motion parameter can be set using the motion parameter for, the merge index is decoded in consideration of the existence of the candidate block having the bidirectional motion parameter and the prediction block of the current block is generated or used according to the merge method.
  • the method of encoding an image according to the first embodiment of the present invention if there is a usable block available in the merge among the candidate blocks for merge encoding, and the block is not available in the merge, Using the bidirectional motion parameter set and setting the bidirectional motion parameter for the unavailable block using the motion parameter for the past picture of any one of the motion parameters and the motion parameter for the future picture of any of the usable blocks. And predicting a current block to generate a predictive block.
  • a usable block available in the merge among the candidate blocks for merge encoding if there is a usable block available in the merge among the candidate blocks for merge encoding, and it is determined that there is a block unavailable in the merge, among the candidate blocks It may include an inter prediction step of setting a prediction block corresponding to an unusable block (hereinafter, referred to as a block averaging method) by averaging block signals generated by using motion parameters of two candidate blocks.
  • a method of encoding an image may include: a motion parameter for a corresponding direction of one of the neighboring blocks of the current block when the current block can be compensated for in only one direction in the past or in the future; And an inter-prediction step of generating a prediction block by performing bi-prediction using the motion parameter of the corresponding direction of the current block and the extracted motion block of the neighboring block.
  • a method of decoding an image extracting a merge flag from a bitstream, and a merge flag value means merge encoding, and is there any usable block available for merge among candidate blocks for merge encoding? If it is confirmed that there are blocks that are not available in the merge, the motion parameters for the past picture of any of the motion parameters of the usable block and the future parameters of any of the motion blocks of the usable block for the unavailable block are determined.
  • an inter prediction step of generating a prediction block of the current block according to the merge method of the merge index.
  • a method of decoding an image extracting a merge flag from a bitstream, and a merge flag value means merge encoding, and is there a usable block available for merge among candidate blocks for merge encoding?
  • the block signals generated using the motion parameters of two candidate blocks among the candidate blocks with respect to the unavailable blocks correspond to the unavailable blocks.
  • the current block may be decoded by a method of setting a prediction block (hereinafter, referred to as a block averaging method).
  • a method of decoding an image includes extracting prediction direction information from a bitstream and extracting a neighboring block index from the bitstream when the prediction direction information means a bidirectional prediction using a motion parameter of a neighboring block. Reconstructs the motion parameter for the current block from the bitstream, and generates a prediction block by performing bidirectional prediction using the motion parameter of the neighboring block identified by the neighboring block index and the motion parameter of the restored current block. .
  • An image encoding / decoding method may be realized by combining the image encoding method according to an embodiment of the present invention and the image decoding method according to an embodiment of the present invention.
  • the motion of the usable block when there is a usable block available in the merge among the candidate blocks for merge encoding, and it is determined that there is an unavailable block in the merge, the motion of the usable block
  • the bidirectional motion parameters for the unavailable block are set and the bidirectional motion parameters set.
  • Bidirectional motion when the bidirectional motion parameter can be set using the motion parameter for the past picture of any of the usable blocks and the motion parameter for the future picture of any of the usable blocks for the impossible block.
  • Decoding the merge index in consideration of the existence of the parameterized candidate block and generating a predictive block of the current block according to the merge method of the merge index, or a motion paradigm for two candidate blocks among candidate blocks for a block that is unavailable. By setting the predicted block corresponding to the block it can not be used as a mean value of the block by using the signal generated by each emitter and includes a video decoding step for decoding a current block.
  • the motion parameter for the past picture of one candidate block among the other candidate blocks and the motion parameter for the future picture of the other candidate block are used. It is described that the bidirectional motion parameter of the unavailable block is set.
  • a bidirectional motion parameter or bi-predictive coding defined in the H.264 standard or the like may be used instead of the bidirectional motion parameter or the bidirectional prediction. Therefore, the motion parameter for the past picture of any one candidate block described above may be replaced with a list 0 prediction parameter, and the motion parameter for the future picture of another candidate block is List 1 prediction. It may be replaced with a parameter (list 1 prediction parameter).
  • pair prediction refer to the H.264 standard.
  • the candidate block in a merge method for performing inter prediction using motion parameters of a candidate block, the candidate block may be used for merge when there is a candidate block that is not usable for the merge method because the candidate block is not encoded using inter prediction. It is a very useful invention because there is an effect of increasing the number of candidate groups that can be used for merge by setting the motion parameters of the unavailable candidate blocks by using the motion parameters of other candidate blocks.

Abstract

본 발명의 실시예는 머지 부호화용 후보블록들 중에서 머지에 사용가능한 후보 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 사용가능 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 상기 사용가능 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 상기 사용 불가능 블록에 대한 양방향 움직임 파라미터를 설정하고 상기 설정되는 양방향 움직임 파라미터를 이용하여 현재블록을 예측하여 예측블록을 생성하여 부호화하여 비트스트림을 생성하고 이를 복호화하는 영상 부호화/복호화 방법 및 장치를 제공한다.

Description

개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치
본 발명은 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 주변블록의 움직임 파라미터를 이용하여 인터예측을 수행하는 머지 방법에 있어서 주변블록이 인트라예측을 사용하여 부호화된 경우 등의 이유로 머지 방법에 사용가능하지 않은 후보블록이 존재하는 경우 머지에 사용가능한 주변블록의 움직임 파라미터를 이용하여 사용 불가능한 다른 주변블록의 움직임 파라미터를 설정함으로써 머지에 사용될 수 있는 후보군의 수를 확대하여 압축효율을 향상하는 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
통상적으로 동영상은 일련의 픽쳐(Picture)로 구성되어 있으며, 각 픽쳐들은 블록(Block)과 같은 소정의 영역으로 분할된다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류된다. 인트라 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽쳐 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 픽셀을 이용하여 현재 블록의 픽셀을 예측함으로써 예측 블록을 생성하고 현재 블록의 픽셀과의 차분값을 부호화하는 방식이다. 인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽쳐 또는 미래 픽쳐를 참조하여 현재 픽쳐 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽쳐를 부호화하거나 복호화하는데 참조되는 픽쳐를 참조 픽쳐(Reference Picture)라고 한다.
일반적으로 영상신호를 부호화하는 이유는 영상의 크기(용량)를 줄이기 위한 것, 즉 영상압축을 하기 위함이다. 일반적으로 영상압축에는 인트라예측과 인터 예측 두가지 방법으로 예측을 수행한다. 예측의 역할은, 원래 신호에다가 그와 유사한 신호를 예측하여 그 차이 값을 전송하는 것이 목적이다. 픽셀값들이 100, 200, 150, 240, 178이 있다고 가정하였을 때, 이진수로 표현하면 100=1100100(2), 200=11001000(2), 150=10010110(2), 240=11110000(2), 178=10110010(2) 이 되고 총 40 bit가 사용된다. 하지만 이 값들을 예측을 하여 (예측된 값을 95, 190, 149, 240, 178 이라 가정) 원래 신호와의 차분값인 잔차신호만 부호화한다면 5=101(2), 10=1010(2), 1=1(2), 0=0(2)으로 표현될 수 있으며, 그만큼 부호화에 사용되는 비트수가 줄어들고 복호화장치로 전송되는 전체 영상의 크기가 줄어들게 된다. 즉, 예측을 잘 할수록 부호화 효율이 높아지게 된다.
예측기에는 크게 인트라예측, 인터예측, 두 가지 방법이 있다.
인트라예측은 현재 블록(원래신호)과 이웃하는 주위 픽셀들을 이용하여 예측블록(예측신호)을 만든 후 그 차이인 잔여데이터(잔차신호)를 전송하는 방법이다. 이 경우, 잔차신호와, 어느 방향으로 예측을 하였는지를 나타내는 예측모드 인덱스를 전송하면 된다(예를 들어, 블록 위쪽을 이용하여 예측하면 예측모드는 0, 블록 왼쪽을 이용하여 예측하면 예측모드는 1).
인터예측은 첫 번째로 움직임추정을 통한 방법, 두 번째로 머지를 통한 방법, 세 번째로 스킵을 통한 방법 총 세 가지 방법이 있다.
첫 번째로, 움직임추정을 통한 방법은 검색 범위 내에서 예측블록을 찾기 위해 현재블록과 차이값이 가장 작은 블록(예측블록)을 찾아내어 현재블록과 예측블록과이 차이값인 잔차신호를 전송하는 방식이다. 이때, 예측블록의 위치를 알려주는 움직임파라미터를 같이 전송한다. 움직임 파라미터는, 예측블록의 위치를 알려주는 움직임벡터(Motion Vector)와, 어느 픽쳐에서 움직임벡터를 찾았는지 알려주는 참조픽쳐인덱스(바로 전 픽쳐에서 찾았는지 또는 두 픽쳐 전에서 찾았는지 여부 등을 알려주는 인덱스), 예측을 과거 픽쳐에서 하였는지 미래 픽쳐에서 하였는지 알려주는 예측방향플래그(예컨대, L0: 과거픽쳐에서 예측 , L1: 미래픽쳐에서 예측), 이렇게 세 가지 요소를 포함한다. 여기서 참조픽쳐인덱스와 예측방향플래그는 적은 비트수로 부호화가 가능하지만 움직임벡터의 경우 값 자체가 매우 큰 값을 가질 수가 있어서 전송에 많은 비트 수를 필요로 할 수 있다. 그래서 움직임벡터만 따로 예측을 통해 예측움직임벡터를 추출하고 현재의 움직임벡터와 예측움직임벡터와의 차이인 잔차벡터만 전송하게 되는데, 움직임벡터 예측을 하여 예측움직임벡터(MVP)를 구하고 현재 블록의 움직임벡터와의 차이 벡터만 보내는 방식이다. 여기서, 움직임벡터를 예측하는 방법은 AMVP(Advanced Motion Vector Prediction)라 한다.
두 번째로 머지라는 방법이 있다. 머지는 현재 블록과 이웃하는 주위 블록의 움직임 파라미터를 그대로 현재블록의 부호화에 사용하는 방식이며, 그 움직임 파라미터를 이용하여 예측블록을 생성하고 현재블록과 예측블록의 차이값인 잔차신호를 복호화장치로 전송하게 된다. 머지방법이 AMVP 방법과 다른 점은, 머지는 직접 움직임추정을 하는 것이 아니라 주위블록의 움직임 파라미터를 이용하여 예측블록을 생성한다는 것이다. 머지의 장점으로는 움직임 추정을 사용하지 않으므로 그만큼 복잡도를 줄일 수 있으며, 움직임파라미터를 복호화장치에 전송할 필요 없이 주위 어느 블록의 움직임 파라미터를 사용하였는지 인덱스만 보내주면 되며, 움직임파라미터를 안보내고 인덱스만 보내주는 만큼 전송할 데이터양이 줄어들게 되므로 부호화 효율이 좋아진다.
세 번째로 스킵이라는 방법이 있다. 스킵 방법은 현재블록과 이웃하는 주위 블록의 움직임파라미터를 이용하여 예측블록을 생성하고 어느 블록의 움직임 파라미터를 사용하였는지 인덱스를 전송한다는 점에서는 머지 방법과 비슷하나, 머지 방법과의 차이점은 스킵 방법은 현재블록에 대한 잔차신호는 부호화하지 않는다는 것이다.
전술한 인터예측 방법들 중 머지의 경우, 주변 블록이 인터예측으로 부호화 되었을 경우에는 주변 블록이 움직임 파라미터를 가지고 있지만, 만약, 주변 블록이 인트라예측으로 부호화되었다면 움직임 파라미터를 가지고 있지 않게 된다. 이 때, 인트라 예측을 이용하여 부호화된 블록은 머지를 위해 이용되는 후보 블록에서 제외되게 된다. 만약 다수의 주변 블록들이 인트라예측을 이용하여 부호화된 경우, 머지를 위해 이용 가능한 주변 블록의 개수가 매우 제한된다는 문제점이 있다.
또한 움직임추정의 경우, 과거픽처 방향 혹은 미래 중 한 방향만의 움직임 파라미터만 가지게 되면 양방향 예측을 이용할 수 없게 되어 예측방식의 개수가 매우 제한된다는 문제점이 있다.
전술한 문제점을 해결하기 위해 본 발명은 주변블록의 움직임 파라미터를 이용하여 인터예측을 수행하는 머지 방법에 있어서 주변블록이 인트라예측을 사용하여 부호화된 경우 등의 이유로 머지 방법에 사용가능하지 않은 후보블록이 존재하는 경우 머지에 사용가능한 주변블록의 움직임 파라미터를 이용하여 사용 불가능한 다른 주변블록의 움직임 파라미터를 설정함으로써 머지에 사용될 수 있는 후보군의 수를 확대하여 압축효율을 향상하는 데에 주된 목적이 있다.
또한 움직임추정 방법에 있어서 과거픽처 방향 및 미래픽처 방향 중 어느 한쪽 방향의 움직임 파라미터만 존재하여 양방향 예측을 이용할 수 없는 경우, 주변블록의 움직임 파라미터를 나머지 한쪽 방향의 움직임 파라미터로 설정함으로써 양방향예측을 이용가능하게 하여 압축효율을 향상하는 데에도 목적이 있다.
본 발명의 일 실시예에 따르면, 영상을 부호화하는 장치에 있어서, 머지 부호화용 후보블록들 중에서 머지에 사용가능한 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 사용가능한 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 상기 사용가능한 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 상기 이용 불가능한 블록에 대한 양방향 움직임 파라미터를 설정하고 상기 설정된 양방향 움직임 파라미터를 이용하여 현재블록을 예측하여 예측블록을 생성하는 인터예측부를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
상기 설정되는 양방향 움직임 파라미터는, 상기 후보블록에 대하여 우선순위를 정하고 상기 우선순위에 따라 상기 사용가능한 블록의 움직임 파라미터 중에서 상기 양방향 움직임파라미터가 설정될 수 있다.
상기 영상 부호화 장치는 상기 우선순위에 대한 정보를 비트스트림으로 생성하여 영상 복호화장치로 전송할 수 있다.
상기 어느 하나의 과거픽쳐에 대한 움직임 파라미터가 상기 양방향 움직임 파라미터의 과거픽쳐 파라미터로 설정되고, 상기 어느 하나의 미래 픽쳐에 대한 움직임 파라미터가 상기 양방향 움직임 파라미터의 미래픽쳐 파라미터로 설정될 수 있다.
상기 어느 하나의 과거픽쳐에 대한 움직임 파라미터를 미래방향으로 선형적으로 스케일링한 것이 상기 양방향 움직임 파라미터의 미래픽쳐 파라미터로 설정되고, 상기 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 과거방향으로 선형적으로 스케일링한 것이 상기 양방향 움직임 파라미터의 과거픽쳐 파라미터로 설정될 수 있다.
상기 양방향 움직임 파라미터의 설정은, 상기 사용가능한 블록의 움직임 파라미터 중에서 과거픽쳐의 움직임 파라미터와 미래픽쳐의 움직임 파라미터가 각각 하나 이상 존재하는 경우에 사용될 수 있다.
상기 양방향 움직임 파라미터의 설정이 불가능한 경우에는, 해당 사용 불가능 블록에 대해서는 제로벡터를 설정하여 사용될 수 있다.
본 발명의 일 실시예에 따르면, 영상을 부호화하는 장치에 있어서, 머지 부호화용 후보블록들 중에서 머지에 사용가능한 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 후보블록들 중에서 두 개의 블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 것으로 상기 이용 불가능한 블록에 대응되는 예측블록을 설정하는 방법(블록평균법)으로 인터예측을 수행하는 인터예측부를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
상기 예측블록을 생성할 때 사용되는 누적 움직임 파라미터의 수가 소정의 수 이상인 경우에는 상기 이용 불가능한 블록에 대한 예측블록을 만들지 않을 수 있다.
상기 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 것으로 상기 이용 불가능한 블록에 대응되는 예측블록을 설정하되, 후보블록 중에서 블록평균법을 이용하여 예측부호화된 후보블록은 사용하지 않을 수 있다.
상기 후보블록에 대하여 우선순위를 정하고 상기 우선순위에 따라 상기 두개의 후보블록을 선택할 수 있다.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 장치에 있어서, 비트스트림으로부터 머지플래그를 추출하고 상기 머지플래그의 값이 머지 부호화를 의미하고 머지 부호화용 후보블록들 중에서 머지에 사용가능한 사용가능 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 이용 불가능한 블록에 대하여 상기 사용가능 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 상기 사용가능 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 양방향 움직임 파라미터의 설정이 가능한 경우 상기 양방향 움직임 파라미터가 설정된 후보블록의 존재를 고려하여 머지 인덱스를 복호화하는 비트스트림 복호부; 및 상기 머지 인덱스가 의미하는 머지 방법에 따라 현재블록의 예측블록을 생성하는 인터예측부를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 장치에 있어서, 비트스트림으로부터 머지플래그를 추출하고 상기 머지플래그의 값이 머지 부호화를 의미하고 머지 부호화용 후보블록들 중에서 머지에 사용가능한 후보 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 이용 불가능한 블록에 대하여 상기 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 값으로 상기 이용 불가능한 블록에 대응되는 예측블록을 설정하는 방법(블록평균법)으로 현재블록을 복호화하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
본 발명의 일 실시예에 따르면, 영상을 부호화하는 방법에 있어서, 머지 부호화용 후보블록들 중에서 머지에 사용가능한 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 사용가능한 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 상기 사용가능한 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 상기 이용 불가능한 블록에 대한 양방향 움직임 파라미터를 설정하고 상기 설정된 양방향 움직임 파라미터를 이용하여 현재블록을 예측하여 예측블록을 생성하는 인터예측단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
본 발명의 일 실시예에 따르면, 영상을 부호화하는 방법에 있어서, 머지 부호화용 후보블록들 중에서 머지에 사용가능한 후보 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 것으로 상기 이용 불가능한 블록에 대응되는 예측블록을 설정하는 인터예측단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 방법에 있어서, 비트스트림으로부터 머지플래그를 추출하고 상기 머지플래그의 값이 머지 부호화를 의미하고 머지 부호화용 후보블록들 중에서 머지에 사용가능한 사용가능 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 이용 불가능한 블록에 대하여 상기 사용가능 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 상기 사용가능 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 양방향 움직임 파라미터의 설정이 가능한 경우 상기 양방향 움직임 파라미터가 설정된 후보블록의 존재를 고려하여 머지 인덱스를 복호화하는 비트스트림 복호단계; 및 상기 머지 인덱스가 의미하는 머지 방법에 따라 현재블록의 예측블록을 생성하는 인터예측단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 방법에 있어서, 비트스트림으로부터 머지플래그를 추출하고 상기 머지플래그의 값이 머지 부호화를 의미하고 머지 부호화용 후보블록들 중에서 머지에 사용가능한 후보 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 이용 불가능한 블록에 대하여 상기 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 값으로 상기 이용 불가능한 블록에 대응되는 예측블록을 설정하는 방법으로 현재블록을 복호화하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
본 발명의 일 실시예에 따르면, 영상을 부호화하는 장치에 있어서, 현재블록이 과거 혹은 미래 어느 한쪽 방향으로만 움직임보상이 가능한 경우 현재블록의 주변블록 중 어느 하나의 블록의 상기 해당 방향에 대한 움직임 파라미터를 추출하고, 상기 현재블록의 상기 해당 방향에 대한 움직임 파라미터와, 추출된 상기 주변블록의 움직임 파라미터를 반대방향으로 설정한 움직임 파라미터를 이용하여 양방향예측을 수행하여 예측블록을 생성하는 인터예측부를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다. 여기서 상기 영상 부호화 장치는, 상기 주변블록 각각에 대하여 추출한 움직임 파라미터를 반대방향으로 설정한 움직임 파라미터와 상기 현재블록의 움직임 파라미터를 이용한 양방향예측의 결과 생성된 예측블록과 현재블록과의 차이가 가장 작은 경우의 양방향예측한 예측블록을 이용하여 부호화할 수 있다.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 장치에 있어서, 현재 픽처가 과거 혹은 미래 어느 한쪽 방향으로만 움직임보상이 가능한 경우 비트스트림으로부터 양방향예측 가능여부를 나타내는 플래그를 추출하고 상기 플래그로부터 양방향 예측 가능임을 확인하고 상기 비트스트림으로부터 예측방향 정보를 추출하고 상기 예측방향 정보가 주변블록의 움직임 파라미터를 이용한 양방향예측임을 확인하고 상기 비트스트림으로부터 주변블록 인덱스를 추출하고 상기 비트스트림으로부터 현재블록에 대한 움직임 파라미터를 복원하는 비트스트림 복호부; 및 상기 주변블록 인덱스로 식별되는 주변블록의 움직임 파라미터를 반대방향으로 설정한 움직임 파라미터와 복원된 상기 현재블록의 움직임 파라미터를 이용하여 양방향 예측을 수행하여 예측블록을 생성하는 인터예측부를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
본 발명의 일 실시예에 따르면, 영상을 부호화하는 방법에 있어서, 현재블록이 과거 혹은 미래 어느 한쪽 방향으로만 움직임보상이 가능한 경우 현재블록의 주변블록 중 어느 하나의 블록의 상기 해당 방향에 대한 움직임 파라미터를 추출하고, 상기 현재블록의 상기 해당 방향에 대한 움직임 파라미터와, 추출된 상기 주변블록의 움직임 파라미터를 반대방향으로 설정한 움직임 파라미터를 이용하여 양방향예측을 수행하여 예측블록을 생성하는 인터예측단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 방법에 있어서, 현재 픽처가 과거 혹은 미래 어느 한쪽 방향으로만 움직임보상이 가능한 경우 비트스트림으로부터 양방향예측 가능여부를 나타내는 플래그를 추출하고 상기 플래그로부터 양방향 예측 가능임을 확인하고 상기 비트스트림으로부터 예측방향 정보를 추출하고 상기 예측방향 정보가 주변블록의 움직임 파라미터를 이용한 양방향예측임을 확인하고 상기 비트스트림으로부터 주변블록 인덱스를 추출하고 상기 비트스트림으로부터 현재블록에 대한 움직임 파라미터를 복원하는 비트스트림 복호단계; 및 상기 주변블록 인덱스로 식별되는 주변블록의 움직임 파라미터를 반대방향으로 설정한 움직임 파라미터와 복원된 상기 현재블록의 움직임 파라미터를 이용하여 양방향 예측을 수행하여 예측블록을 생성하는 인터예측단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
본 발명에 의하면, 주변블록의 움직임 파라미터를 이용하여 인터예측을 수행하는 머지 방법에 있어서 주변블록이 인트라예측을 사용하여 부호화된 경우 등의 이유로 머지 방법에 사용가능하지 않은 후보블록이 존재하는 경우 머지에 사용가능한 주변블록의 움직임 파라미터를 이용하여 사용 불가능한 다른 주변블록의 움직임 파라미터를 설정함으로써 머지에 사용될 수 있는 후보군의 수를 확대하여 압축효율을 향상하는 효과가 있다.
또한 과거픽처 블록과 미래픽처 블록의 움직임 파라미터를 이용하여 양방향 예측을 수행하는 움직임추정 방법에 있어서 어느 한쪽의 움직임 파라미터만 존재하여 양방향 예측을 이용할 수 없는 경우 주위블록의 움직임 파라미터를 나머지 한 쪽 방향에 삽입 후 양방향 예측을 수행함으로써 압축효율을 향상하는 효과가 있다.
그리고, 개선된 방법으로 부호화를 수행하여 생성된 비트스트림을 효율적으로 복호하여 원 영상을 복원하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
도 2는 최대 부호화단위 블록의 분할 예시를 나타낸 도면이다.
도 3은 예측단위 블록의 예를 도시한 도면이다.
도 4는 현재 블록 위쪽의 픽셀값들을 이용하여 예측 블록을 만드는 과정에 대한 경우를 도시한 도면이다.
도 5는 인트라예측모드의 종류 및 그 인덱스를 예시한 도면이다.
도 6은 여러가지 방법의 인터예측을 수행하는 인터예측부의 내부를 예시한 도면이다.
도 7은 움직임 추정을 통해 참조 픽쳐에서 현재 블록과 가장 유사한 블록을 예측 블록으로 결정하는 경우를 예시한 도면이다.
도 8은 AMVP에 사용되는 현재블록의 주위 블록 A0, A1, B0, B1 및 B2을 예시한 도면이다.
도 9는 시간적 대표 움직임 벡터를 위한 유사위치 블록을 예시한 도면이다.
도 10은 후보블록의 움직임벡터에서 대표 움직임벡터를 구하는 방법을 나타낸 흐름도이다.
도 11은 머지 방법을 이용한 인터예측에 사용되는 주변블록의 예를 도시한 도면이다.
도 12는 메모리에 저장된 참조 픽쳐의 픽셀들과 정수 픽셀 이하로 보간된 픽셀들을 나타낸 도면이다.
도 13은 양자화된 계수블록을 지그재그 스캔하는 경우를 예시한 도면이다.
도 14는 AMVP와 머지, 스킵에 사용되는 인덱스를 부호화하는 절삭형 코드에 대하여 예시한 도면이다.
도 15는 머지 부호화기(303)가 사용되었을 경우의 인터예측부(103)에서의 부호화 방법을 나타낸 순서도이다.
도 16은 이용 불가능한 블록에 대한 양방향 움직임 파라미터를 설정하는 한 예를 설명하는 도면이다.
도 17은 도 16의 방법을 이용하여 부호화한 비트스트림을 복호화하는 방법을 나타낸 순서도이다.
도 18은 블록평균법을 수행하는 방법을 예시한 도면이다.
도 19는 블록머지 방법을 예시한 흐름도이다.
도 20은 블록머지 인덱스의 할당 방법을 예시한 도면이다.
도 21은 제2실시예에 따른 부호화 방법에 대응되는 복호화 방법을 나타낸 순서도를 예시한 도면이다.
도 22는 본발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
도 23은 실시예1과 실시예2가 혼용되는 경우의 부호화 방법을 예시한 도면이다.
도 24는 실시예1과 실시예2가 혼용되는 경우의 복호화 방법을 예시한 도면이다.
이하의 본 발명의 실시의 형태에 대해서, 도면 및 수식 등을 참조하면서 설명한다. 이하에서는 영상을 블록 단위로 부호화하고 복호화하는 장치에 대해 예를 들어 설명한다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치의 구성을 간략하게 나타낸 블록 구성도이다. 이하, 본 발명의 일 실시예에 따른 영상 부호화 장치의 각 구성요소를 간단히 설명한다.
본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 영상을 부호화하는 장치로서, 영상부호화 장치는 크게 블록분할부(101, Coding Tree Generator), 인트라예측부(102, Intra Predictor), 인터예측부(103, Inter Predictor), 변환부(104, Transformer), 양자화부(105, Quantizater), 움직임 보상부(106, Motion Compensator), 엔트로피부호화부(107, Entropy Coder), 역양자화부(108, Inverse Quantizater), 역변환부(109, Inverse Tranformer), 메모리(110, Memory), 감산부(111, Subtractor) 및 가산부(112, Adder)를 포함할 수 있다. 이러한 영상 부호화 장치(100)는 개인용 컴퓨터(PC: Personal Computer), TV, 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 단말기(Wireless Terminal), 디지털 TV 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
블록분할부(101)는 입력 영상을 부호화단위 블록으로 분할한다. 부호화단위 블록은 인트라예측/인터예측을 위해 분할되는 가장 기본적인 단위이고, 4개의 같은 크기(정사각형)의 블록으로 반복적으로 분할되는 구조이다. 예를 들어, 최대 부호화단위 블록은 64x64 크기로 정할 수 있고 최소 부호화단위 블록은 8x8 로 정할 수 있다.
도 2는 최대 부호화단위 블록의 분할 예시를 나타낸 도면이다. 각각의 부호화단위 블록은 예측 종류에 따라 도 3과 같이 1개 또는 그 이상의 예측단위 블록을 포함한다. 예측단위 블록은 예측 정보를 가지고 있는 가장 작은 단위이다. 보통 3-레벨 쿼드트리(Quadtree)를 이용하는데 그 이상의 레벨을 이용할 수도 있고, 일반적으로 루마(luma), 크로마(chroma)를 위한 최대 뎁스(depth)는 동일하다. 도 3에서, (201)은 부호화단위 블록이 그대로 예측단위 블록으로 사용되었을 경우를 나타낸다. (202), (203), (205), (206)은 동일한 크기의 예측단위 블록 2개를 포함하는 경우이며, (204)는 동일한 크기의 예측단위 블록 4개를 포함하는 경우이고, (207) 과 (208) 은 1:3 의 비율을 갖는 예측단위 블록 2개를 포함하는 경우이다. 도 3의 예시 이외에도 부호화단위 블록은 여러가지 모양으로 분할될 수 있다.
인트라예측부(102)는 현재 블록을 현재 픽쳐 내의 픽셀값을 이용하여 예측블록(Predicted Block)을 생성한다. 픽쳐 내의 정보를 이용하여 예측을 하는데, 현재블록과 이웃하는 픽셀값들을 이용하여 도 4와 같이 예측 블록을 만든 후 현재 블록과의 차분값을 부호화한다. 도 4의 경우 현재블록의 위쪽에 존재하는 픽셀값들을 이용하여 예측블록을 생성하였으나, 위쪽의 픽셀값 외에도 도 5와 같이 현재블록 주위의 이웃하는 픽셀값들을 여러 각도의 픽셀값을 이용하는 인트라모드로 예측블록을 생성할 수도 있다. 도 5에 도시한 각각의 숫자는 인트라예측모드의 인덱스를 예시한 것이다. 예측블록을 생성한 후에는 어떤 예측모드가 사용되었는지를 나타내는 인덱스를 부호화 한다.
한편, 인트라예측을 할 때 이웃하는 픽셀들에 스무딩 필터를 이용하여 스무딩(Smoothing)하게 한 후 예측블록을 사용할 수도 있다. 예를 들어 [1,2,1] 필터를 사용할 경우 예측에 사용되는 픽셀들은 수학식 1과 같이 변환된다.
수학식 1
Figure PCTKR2012010152-appb-M000001
수학식 1에서 X[n]은 필터링 대상 픽셀, X[n-1] 및 X[n+1]은 현재블록의 경계선에 평행한 방향의 필터링 대상 픽셀의 좌우 인접 픽셀을 의미한다.
또한, 예측단위 블록의 크기와 인트라 예측에 사용되는 예측모드의 각도에 따라 스무딩(Smoothing)을 할지 또는 하지 않을지 여부를 결정할 수도 있다. 이 경우, 이러한 스무딩을 결정하기 위하여 룩업테이블(Look Up Table)을 만들어 사용할 수도 있다.
도 6은 여러가지 방법의 인터예측을 수행하는 인터예측부(103)를 예시한 도면이다.
인터예측부(103)는 현재 블록을 이전에 부호화되고 복호화된 픽쳐들의 정보를 이용하여 예측 블록을 생성한다. 도 6과 같이 스킵(Skip), 머지(Merge), 움직임 추정(Motion Estimation) 등의 세가지 방법에 따라 예측을 수행할 수 있다.
도 7은 움직임 추정을 통해 참조 픽쳐에서 현재 블록과 가장 유사한 블록을 예측 블록으로 결정하는 경우를 예시한 도면이다.
움직임추정(301)은 픽쳐 간의 정보를 이용하여 예측하는 것을 의미한다. 도 7을 참조하면, 움직임 추정을 통해 참조 픽쳐에서 현재 블록과 가장 유사한 블록을 예측 블록으로 결정하고, 예측 블록의 위치를 움직임 벡터로 표현한다. 그리고 엔트로피부호화부(107)는 해당 움직임 파라미터(Motion Parameter)를 부호화한다. 여기서 움직임 파라미터는 움직임 벡터(MV, Motion Vector), 참조 픽쳐 인덱스(Referecnce Picture Index) 및 예측 방향(Prediction Direction)을 포함할 수 있는데, 움직임 벡터의 경우 그대로 부호화할 경우 효율이 떨어지므로, 예측움직임벡터를 생성하여 원래의 움직임 벡터와의 차분값인 차분움직임벡터를 부호화 한다. 후술하는 영상 복호화장치는 영상부호화 장치로부터 전송된 비트스트림에서 추출한 움직임 파라미터을 이용하여 예측 블록을 복원한 후, 복원한 예측 블록과 비트스트림에서 추출한 잔차블록의 값을 합하여 현재 블록을 복호화한다.
AMVP(302, Advanced Motion Vector Prediction)란, 현재 블록의 움직임벡터를 이웃하는 블록의 움직임벡터를 이용하여 예측하고, 어느 블록의 움직임 벡터를 이용하여 예측하였는지 그 인덱스를 부호화하는 방법이다. 수학식 2는 차분 움직임 벡터(MVD, Motion Vector Difference)를 산출하는 수식을 나타낸다.
수학식 2
Figure PCTKR2012010152-appb-M000002
여기서 MV는 현재블록의 움직임벡터, MVP는 이웃하는 블록에서 예측한 예측움직임벡터, MVD는 현재블록의 움직임벡터와 예측움직임벡터의 차이값인 차분움직임벡터이다.
도 8은 AMVP에 사용되는 현재블록의 주위 블록 A0, A1, B0, B1 및 B2을 예시한 도면이다.
도 8에서, AMVP에 이용되는 이러한 주위 블록들을 후보 블록들이라 한다. 현재 블록의 좌측하단에 인접하는 후보 블록들 A0 및 A1을 A 그룹이라 하고, 현재 블록의 상측에 인접하는 후보 블록들 B0, B1 및 B2를 B 그룹이라 할 때, A 그룹에 속하는 후보블록들의 움직임 벡터들 중 하나와 B 그룹에 속하는 후보블록들의 움직임 벡터들 중 하나가 각 그룹의 대표 움직임 벡터로서 선택된다. 그리고 시간적(Temporal)으로 하나의 후보 움직임 벡터가 대표 움직임 벡터로서 선택되어 모두 합하여 3개의 대표 움직임 벡터가 선택된다. 결국 시간적(temporal) 후보 움직임벡터란 시간적으로 주변에 위치하는 픽처의 블록의 움직임벡터를 의미하며, 바로 이전 픽처에 위치하되 현재블록과 동일한 공간적 위치에 존재하는 블록의 움직임벡터가 사용될 수도 있다. 시간적 움직임 벡터의 예시로 동일위치 블록(co-located 블록)의 움직임 벡터가 있다. 동일위치 블록(Co-located 블록)이란, 이전 프레임에서 현재 블록과 같은 위치의 블록을 말한다.
도 9는 시간적 대표 움직임 벡터를 위한 유사위치 블록(AA ~ EE)을 예시한 도면이다.
도 9에서, 스킵과 머지와 AMVP 모두의 경우, 현재 블록의 이전 프레임 내에서 블록 AA 내지 블록 DD 중 하나의 블록이 포함된 블록을 동일위치 블록으로 결정하여 시간적(Temporal) 후보 블록으로 사용될 수 있다. 시간적(Temporal) 후보의 또 다른 예로 블록 EE가 존재하며, 블록 EE 이외에도 주위에 이웃하는 어떤 블록이든지 시간적 후보로 선택이 가능하다.
대표 움직임벡터 중에서 현재블록의 움직임 벡터와의 차분 움직임 벡터와, 어느 블록의 움직임 벡터를 선택했는지 알려주는 인덱스를 부호화해 보고 가장 부호화 효율이 높은 블록의 움직임 벡터가 최종적인 예측 움직임 벡터로 결정된다. AMVP를 위하여 후보블록으로부터 대표블록을 찾기 위한 검색 순서는 임의로 설정 가능하며 하나의 예시로 도 8의 A그룹(A0, A1)은 아래에서 위, B그룹(B0, B1. B2)은 오른쪽에서 왼쪽으로 검색할 수 있다.
각 그룹에서 대표 벡터를 구하는 과정은 도 10을 참조하여 설명한다.
각 그룹에서 후보 블록들이 선정된 후에는 도 10의 방법을 이용하여 대표벡터가 선정된다.
이하, 그룹 A의 대표 벡터를 결정하는 과정을 도 10을 참조하여 설명한다. 그룹 A의 후보블록이 A0(블록1), A1(블록2)이라 가정한다. 이때, A0이 도 10에서의 블록 1이 되며 A1이 블록 2가 된다. 먼저 X=1로 시작한다(S1001). 블록 X의 참조픽쳐 인덱스와 예측방향이 현재블록과 동일한지 여부를 판단한다(S1002). S1002 단계의 판단결과 '예'이면 블록X가 대표블록이 된다(즉, 그 블록의 움직임벡터가 대표벡터가 됨). 만일, S1002 단계의 판단결과 '아니오'이면, 남은 블록이 존재하는지 여부를 판단하고(S1004), S1004 단계에서의 판단결과 '예'이면 X에 1을 증가하여(즉, 블록2가 됨) 다시 S1102단계로 진행한다(S1003).
만일, S1004 단계에서의 판단결과 '아니오'이면 X에 1을 대입하고(S1005) 블록X의 참조픽쳐 인덱스는 현재 블록과 같지만 예측방향이 다른지 여부를 확인한다(S1006). S1006 단계의 판단결과 '예'이면 블록X가 대표블록이 된다. 만일, S1006 단계의 판단결과 '아니오'이면, 블록X의 참조픽쳐인덱스는 현재블록과 다르지만 예측방향이 같은지 여부를 확인한다(S1007). 만일, S1007 단계의 판단결과 '예'이면 블록X가 대표블록이 된다. 만일, S1007 단계의 판단결과 '아니오'이면, 블록X의 참조픽쳐인덱스와 예측방향이 모두 현재블록과 다른지 여부를 확인한다(S1008). 만일, S1008 단계의 판단결과 '예'이면 블록X가 대표블록이 된다. 만일, S1008 단계의 판단결과 '아니오'이면, 남은 블록이 더 존재하는지 여부를 판단한다. 만일 남은 블록이 존재하면 X에 1을 증가하여(즉, 블록2가 됨) 다시 S1006 단계로 진행한다(S1010).
여기서 단계 1008에서 둘 다 '아니오'라고 판단하는 경우는, 인터예측으로 이용가능한 블록이 아닌 경우를 의미한다. 예를 들어 인트라예측 블록인 경우가 이에 해당한다.
*따라서 위쪽 그룹(그룹 B)에 대해서도 이와 유사한 방법으로 대표 벡터를 추출할 수가 있다.
도 11은 머지 방법을 이용한 인터예측에 사용되는 주변블록의 예를 도시한 도면이다.
도 11을 참조하면, 주변블록 A ~ E와 도 9의 시간적 후보 블록에서 머지를 위한 최적의 블록을 찾을 수도 있으며, 또는 주변블록 A ~ E 에 우선순위를 두어 우선순위가 상위인 두 개의 후보와 도 9에서의 시간적 후보 블록(AA ~ EE 중에서 하나) 중에서 최적의 블록을 결정할 수도 있다. 전술하였듯이, 머지란 후보 블록의 움직임 파라미터를 이용하여 현재블록을 부호화하는 것을 의미한다.
스킵(304, Skip)이란 주변블록의 움직임 파라미터를 이용하여 얻은 현재블록의 예측블록과 현재블록 간의 잔차신호 값이 0인 경우를 의미한다. 이 경우에는 잔차신호를 따로 부호화할 필요 없이 주변 블록의 움직임 파라미터를 이용하여 예측 블록을 만들고 현재 블록을 부호화한다. 그리고 어떤 블록의 움직임 파라미터 정보를 사용하였는지를 나타내기 위하여 해당 블록의 인덱스를 부호화한다.
AMVP, 머지 및 스킵을 위한 현재블록과 이웃하는 주위 블록들의 후보는 도 11에 도시한 이웃블록(A0~B2)과 도 8에 도시한 이웃 블록(A ~ E) 외에도 다른 이웃하는 블록(예를 들어 유사위치 블록)들도 후보블록이 될 수 있다.
감산부(111)는 현재블록에서 예측블록을 감산하여 잔차블록을 생성한다.
변환부(104)는 잔차 블록을 변환하여 변환 블록을 생성한다. 변환 블록은 변환 및 양자화 과정을 위해 사용되는 가장 작은 단위이다. 변환단위는 도 4처럼 부호화단위와 동일하게 분할될 수도 있으며, 다른 다양한 방법으로 분할하여 변환을 수행할 수도 있다. 변환단위에 대한 정보도 부호화단위 블록과 마찬가지로 쿼드트리 구조를 이용할 수 있으며, 변환 단위는 여러 가지 크기를 가질 수 있다. 변환부(104)는 잔차신호를 주파수 영역으로 변환하여 변환 계수를 가지는 변환 블록을 생성하여 출력한다. 여기서 잔차신호를 주파수 영역으로 변환하는 방법으로는 이산 코사인 변환(DCT: Discrete Cosine Transform)기반 변환, 이산 사인 변환(DST: Discreate Sine Transform), KLT(Karhunen Loeve Transform) 등, 다양한 변환 기법을 이용할 수 있으며, 이를 이용하여 잔차신호가 주파수 영역으로 변환되어 변환 계수로 변환된다. 변환 기법을 편하게 사용하기 위해 기저벡터(basis vector)를 이용하여 매트릭스(Matrix) 연산을 하게 되는데 예측 블록이 어떤 방식으로 부호화 되었지 여부에 따라 매트릭스 연산시 변환기법들을 다양하게 섞어 사용할 수 있다. 예를 들어, 인트라예측시 예측모드에 따라 가로방향으로는 이산 코사인 변환을 사용하고 세로 방향으로는 이산 사인 변환을 사용할 수도 있다.
양자화부(105)는 변환 블록을 양자화하여 양자화된 변환 블록을 생성한다. 즉, 양자화부(105)는 변환부(104)로부터 출력되는 변환 블록의 변환 계수들을 양자화하여 양자화된 변환 계수를 가지는 양자화된 변환 블록(Quantized Transform Coefficient)를 생성하여 출력한다. 여기서, 양자화 방법으로는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization) 또는 양자화 가중치 메트릭스 (Quantization Weighted Matrix) 등이 이용될 수 있지만, 이를 개량한 양자화 등 다양한 양자화 방법이 이용될 수 있다.
역양자화부(108)는 양자화된 변환 블록에 대하여 양자화시에 이용한 양자화 기법을 역으로 수행하여 역양자화하여 변환계수를 가지는 역양자화 변환 블록을 복원한다.
역변환부(109)는 변환 시에 사용한 방법과 동일한 방법을 이용하여 역양자화 변환 블록을 역변환하여 잔차신호를 가지는 잔차 블록을 복원하는데, 변환부(104)에서 이용한 변환 기법을 역으로 수행하여 역변환한다.
가산부(112, Adder)는 역변환부(109)에서 복원된 잔차신호와, 인트라예측 또는 인터예측을 통하여 생성된 예측 영상을 가산하여 현재 블록을 복원한다.
메모리(110)는 역변환부(109)에서 복원된 잔차신호와, 인트라예측 또는 인터예측을 통하여 생성된 예측 영상을 가산하여 복원된 현재 블록을 저장하며, 다음 블록 또는 다음 픽쳐 등 다른 블록을 예측하는데 활용될 수 있다.
움직임보상부(106)는, 정수 픽셀 이하의 픽셀은 참조픽쳐의 픽셀값들 간의 보간을 하여 통해 참조픽쳐의 해상도를 높인 후 움직임 보상을 수행할 수 있다.
도 12에는 메모리에 저장된 참조 픽쳐의 픽셀들과 정수 픽셀 이하로 보간된 픽셀들을 나타내었다. 참조 픽쳐의 이미 복원된 픽셀 A~U를 보간 필터(Interpolation Filter)로 필터링하면 보간된 픽셀 a~s를 생성할 수 있으며, 보간된 픽셀 a~s는 도시된 바와 같이 이미 복원된 픽셀들 사이에 보간되어 참조 픽쳐의 해상도가 4배 이상 높아질 수 있다. 이때 사용하는 보간 필터는 양선형 필터(Bilinear Filter), DCT기반 필터(DCT based Inerpolation Filter), 큐빅 필터(Cubic Interpolation Filter)등 다양한 필터가 사용될 수 있다.
엔트로피부호화부(107)는 양자화된 변환 블록을 부호화하여 비트스트림을 출력한다. 즉, 엔트로피부호화부(107)는 양자화부(105)로부터 출력되는 양자화된 변환 블록의 양자화된 변환계수를 도 13의 예에서처럼 지그재그 스캔 등 다양한 스캔 방식으로 스캔한 주파수 계수열을 엔트로피 부호화(Entropy Encoding) 등 다양한 부호화 기법을 이용하여 부호화하고, 후술하는 영상 복호화 장치에서 해당 블록을 복호화하는데 필요한 부가적인 정보들(예를 들면, 예측 모드에 대한 정보, 양자화 계수, 움직임 파라미터 등)을 포함하는 비트스트림을 생성하고 출력한다.
도 14는 AMVP와 머지, 스킵에 사용되는 인덱스를 부호화하는 절삭형(Truncated) 코드에 대한 예시이다. 주변에 이용가능한 블록의 개수에 따라서 비트를 다르게 할당할 수 있다. 이 외에도 주변의 이용가능한 블록의 개수에 상관없이 도 14의 첫번째 테이블처럼 최대 개수 블록에 대한 테이블(table)만 사용하는 것도 가능하다.
(부호화 제1실시예)
도 1에 도시된 본 발명의 일 실시예에 따른 영상 부호화 장치(100)의 인터예측부(103)는 머지 부호화용 후보블록들 중에서 머지에 사용가능한 후보 블록(이하, 사용가능 블록이라 칭함)이 있는지 확인하여 머지에 이용 불가능한 블록(이하, 사용 불가능 블록이라 칭함)이 있는 것으로 확인된 경우, 사용가능 블록들 중 어느 하나의 과거픽쳐 및 사용가능 블록들 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 사용 불가능 블록의 양방향 움직임 파라미터를 설정하고 설정된 양방향 움직임 파라미터를 이용하여 현재블록을 예측한다.
도 15는 머지 부호화기(303)가 사용되었을 경우의 인터예측부(103)에서의 부호화 방법을 나타낸 순서도이다.
도 15에 나타낸 바와 같이, 주변 후보 블록들이 머지 부호화에 이용가능한지 여부를 확인하는 것으로부터 머지 부호화 과정이 시작될 수 있다(S1501).
여기서, 후보블록이란 도 9에 도시한 바와 같이 시간적으로 현재블록에 인접한 블록 및 도 11에 도시한 바와 같이 공간적으로 현재블록에 인접한 블록 등 소정의 블록들을 포함할 수 있다. 이 이외에도 실시예에 따라 다양한 위치의 블록들이 후보블록으로 설정될 수 있다. 한편, 현재블록에 인접한 블록 중에서 인트라예측을 이용하여 부호화된 후보 블록은 S1501 단계에서 머지에 이용할 수 없는 사용 불가능 블록으로 판정될 것이다.
S1501 단계의 확인 결과 머지에 사용될 수 있는 위치의 후보블록들 중에서 사용 불가능 블록이 존재하는지 여부에 따라 종래의 방법으로 머지 혹은 본 발명의 실시예에서 제안하는 방법으로 머지를 수행할 것인지를 결정한다(S1502).
S1502 단계에서 후보블록 중에서 사용 불가능 블록이 존재하지 않는다면, 기존의 머지와 같이 후보블록 중에서 어느 블록이 최적의 블록인지 선택하게 된다(S1505). 만약 S1502 단계에서 사용 불가능 블록이 존재한다면 사용가능 블록들 중 어느 하나의 과거픽쳐(list0)에 대한 움직임 파라미터 및 사용가능 블록들 중 어느 하나의 미래 픽쳐(list1)에 대한 움직임 파라미터를 이용하여 사용 불가능 블록에 대한 양방향 움직임 파라미터를 설정할 수 있는지 여부를 판단한다(S1503).
S1503 단계에서 양방향 움직임 파라미터를 설정 가능한 것으로 판단되면, 사용 불가능 블록에 대하여 양방향 조합된 머지 인덱스를 삽입하고(S1504) 후보블록 중에서 어느 블록이 최적의 블록인지 선택하게 된다(S1505). 만일, S1503 단계에서 양방향 움직임 파라미터를 설정 가능하지 않은 것으로 판단되면, 기존의 머지와 같이 후보블록 중에서 어느 블록이 최적의 블록(예컨대, 율-왜곡 비율이 최적인 블록)인지 선택하게 된다(S1505).
위와 같이 S1505 단계에서 최적의 머지 블록이 선택되면 인트라모드, 인트라모드, 스킵 모드 및 AMVP 모드에 따른 부호화 결과와 비교하여 머지 방법에 따른 부호화 결과가 최적이라 판단되는 경우에 머지를 사용하여 부호화한다는 의미의 머지플래그를 설정하여 부호화(예컨대 1로 부호화)하고 머지를 위하여 선택된 후보블록에 해당하는 머지 인덱스를 부호화한다(S1506).
본 발명의 여러 실시예에서 최적의 예측모드를 선택할 때 최적의 머지인덱스를 선택하고 그 후에 인트라모드, 스킵 모드, AMVP 모드와 비교하는 것으로 설명하더라도, 비교의 순서는 실시예에 따라 달라질 수 있음은 당업자에게 자명할 것이다.
도 16은 사용 불가능 블록에 대한 양방향 움직임 파라미터를 설정하는 한 예를 설명하는 도면이다.
사용 가능블록들 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터가 양방향 움직임 파라미터의 과거픽쳐 파라미터로 설정되고, 다른 사용 가능블록들 중에서 어느 하나의 미래 픽쳐에 대한 움직임 파라미터가 양방향 움직임 파라미터의 미래픽쳐 파라미터로 설정되도록 할 수 있다.
도 9에서의 어느 하나의 유사위치 블록(Col) 및 도 11과 같은 주변블록(A ~ E) 중에서 사용 불가능 블록이 존재하면, 예컨대 도 16과 같이 C, D가 사용 불가능 블록인 경우, C, D에 대하여 양방향 움직임 파라미터를 설정할 수 있는지 여부를 판단한다. 도 16에서와 같이 C의 위치의 list0 파라미터로 A의 list0 파라미터(A list0)를 설정하고 C의 위치의 list1 파라미터로 B의 list1 파라미터(B list1)를 설정하여 C의 양방향 움직임 파라미터를 설정할 수 있다. 이와 같이 양방향 파라미터가 설정된 후보블록은 Bi와 같이 소정의 표시를 하여 후보블록으로부터 양방향 설정된 것임을 표시한다. 또한, 도 16에는 도시하지 않았으나, D의 경우에는 list0 파라미터로 A의 list0 파라미터(A list0)를 설정하고 list1의 파라미터로 E의 파라미터(E list1)를 설정하여 D의 양방향 움직임 파라미터를 설정할 수 있다. 이와 같이 사용 불가능 블록에 대한 양방향 파라미터 설정은 후보블록에 대하여 양방향 설정을 위한 우선순위를 정하고 그 우선순위에 따라 사용가능 블록의 움직임 파라미터 중에서 양방향 움직임파라미터를 설정할 수 있다. 도 16의 경우 A>B>C>D>E>Col의 순으로 우선순위가 설정된 경우, 먼저 C의 경우에는 A, B를 이용하여 양방향 파라미터를 설정하고, 그 다음 사용 불가능 블록 D에 대하여는 우선순위가 큰 A의 list0를 D의 list0 파라미터로 설정하고, C와 중복된 파라미터가 D에 설정되지 않도록 D의 list1 파라미터의 경우에는 E의 list1 파라미터를 설정한다. 이러한 후보블록간에 우선순위를 설정하여 사용불가능 블복에 대한 파라미터를 설정하는 방법은 여기에 설명된 방법에 한정되지 않고 다양한 방법을 사용할 수 있다.
이 경우, 영상 부호화 장치와 영상 복호화 장치 간에 약속된 동일한 우선순위가 이용될 수도 있고, 영상 부호화 장치가 우선순위를 지시하는 정보를 부호화하여 부호화된 정보를 비트스트림 헤더 등에 포함시켜 영상 복호화 장치에 전송함으로써, 영상 복호화 장치에 우선순위를 알릴 수도 있다.
도 16에서와 같이 다른 후보블록들의 움직임 파라미터들을 이용하여 사용 불가능 블록에 대한 양방향 움직임 파라미터의 조합이 가능한 경우에는, 도 16과 같이 머지에 이용 불가능한 위치에 대한 머지 인덱스를 부여하고(S1504), 인덱스가 부여된 후보 블록들(즉, 사용가능 블록 및 양방향 조합 가능한 블록) 중에서 머지에 이용된 최적의 후보 블록이 선택되면(S1505), 인트라예측, 스킵, AMVP모드를 이용하여 부호화한 결과와 각각 비교해 본 결과 최적의 예측모드가 머지로 선택된 경우, 머지플래그를 1로 부호화하고 선택된 후보 블록의 머지 인덱스를 부호화한다(S1506).
한편, 단계 S1503에서 모든 사용 불가능 블록에 대하여 양방향 움직임 파라미터 조합을 삽입할 수 있으며, 만약, 이용 불가능한 위치는 존재하는데 양방향 조합이 안되는 경우, 제로벡터(0,0)를 해당 사용 불가능 블록의 위치에 삽입함으로써 해당 후보블록을 이용한 머지는 제로벡터를 이용하여 부호화하는 방법을 사용할 수도 있다.
또한, 사용 불가능 블록에 대한 양방향 움직임 파라미터의 조합을 할 때, 어느 하나의 과거픽쳐(list0)에 대한 움직임 파라미터를 미래방향으로 선형적으로 스케일링한 것이 양방향 움직임 파라미터의 미래픽쳐(list1) 파라미터로 설정되고, 어느 하나의 미래 픽쳐(list1)에 대한 움직임 파라미터를 과거방향으로 선형적으로 스케일링한 것이 양방향 움직임 파라미터의 과거픽쳐(list0) 파라미터로 설정되도록 할 수도 있다. 여기서, 도 16에서 블록 A의 과거픽쳐 list0의 움직임벡터를 X라 하고, 블록 B의 미래픽쳐 list1의 움직임벡터를 Y라 할 때, 사용 불가능 블록인 D의 경우에 설정되는 양방향 움직임 파라미터에서 과거픽쳐(list0)에 해당하는 움직임 벡터는 블록 B의 미래픽쳐 list1의 움직임벡터를 Y를 현재블록 기준으로 반대방향으로 스케일링한 -Y, 미래픽쳐(list1)에 해당하는 움직임 벡터는 블록 A의 과거픽쳐 list0의 움직임벡터를 X를 현재블록 기준 반대방향으로 스케일링한 -X가 되도록 설정한다. 예를 들어, 어느 하나의 블록의 과거픽쳐의 움직임벡터의 값이 (2, -3)인 경우에 (2, -3)을 미래방향으로 선형적으로 스케일링하면 (-2, 3)이 되며 이와 같이 스케일링된 (-2, 3)의 움직임 벡터값을 사용 불가능 블록에 대한 양방향 움직임 파라미터에 대한 미래픽쳐의 움직임 벡터값으로 할당하는 것을 의미한다. 이와 같이 양방향 움직임 파라미터를 설정하는 방법은 사용가능 블록의 움직임 파라미터 중에서 과거픽쳐의 움직임 파라미터와 미래픽쳐의 움직임 파라미터가 각각 하나씩만 존재하는 경우에 사용될 수 있다.
한편, 여기서 언급된 방법들은 모두 서로 간에 우선순위를 정하여 사용 불가능 블록의 양방향 움직임 파라미터를 설정할 수 있다.
도 17은 도 16의 방법을 이용하여 부호화한 비트스트림을 복호화하는 방법을 나타낸 순서도이다.
도 17에 도시한 바와 같이, 후술하는 영상 복호화 장치의 비트스트림 복호부에서 비트스트림을 복호화하여 현재블록의 예측에 사용될 수 있는 움직임 벡터를 갖는 블록에 대한 정보를 포함하는 머지 인덱스를 추출한다.
비트스트림 복호부는 비트스트림으로부터 머지 플래그를 추출한다(S1701). 추출된 머지 플래그를 확인하여 머지가 사용되었는지를 확인하고(S1702) 머지가 사용되지 않았으면 종료한다. 만일 단계 S1702의 확인 결과 머지가 사용되었음이 확인되면, 비트스트림으로부터 머지 인덱스를 추출하고 주변 머지 후보블록들의 사용가능 여부를 확인한다(S1703).
단계 S1703에서의 확인결과 후보블록들 중에서 머지에 사용 불가능 블록이 존재하지 않는다면(S1704) 모든 후보블록의 존재를 고려하여 머지 인덱스를 복호화하여 머지에 사용되는 움직임 파라미터를 특정하고(S1707), 만약 후보블록들 중에서 사용 불가능 블록이 존재한다면(S1704) 사용가능 블록의 List0 움직임 파라미터 및 List1 움직임 파라미터의 양방향 조합을 사용하여 사용불가능 블록의 양방향 움직임 파라미터를 설정 가능한지 여부를 확인한다(S1705).
만약 단계 S1705의 확인 결과 양방향 조합을 통하여 양방향 움직임 파라미터 설정이 불가능하다면 양방향 조합을 사용하지 않은 머지 방법으로 복호화하기 위하여 그대로 머지 인덱스를 복호화하여 머지에 사용되는 움직임 파라미터를 특정하고(S1707), 양방향 조합을 통하여 양방향 움직임 파라미터 설정이 가능하다면 해당 사용 불가능 블록의 위치를 사용 가능한 것으로 고려하여 머지 인덱스로 식별되는 후보블록을 찾고(S1706) 머지 인덱스로 식별되는 후보블록에 대한 움직임 파라미터를 현재블록을 복원하기 위한 움직임 파라미터로 결정한다(S1707).
(부호화 제2실시예)
본 실시예는 도 1에 도시된 영상 부호화 장치(100)에 의해 구현 가능하다. 다만, 인터예측부(103)의 동작이 전술한 실시예들과 차이가 있다. 이하 구체적으로 본 실시예에 따른 인터예측부(103)의 동작을 설명한다.
인터예측부(103)는 머지 부호화용 후보블록들 중에서 머지에 사용가능한 사용가능 블록이 있는지 확인하여 머지에 사용 불가능한 블록이 있는 것으로 확인된 경우, 후보블록들 중에서 두 개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 예측신호를 평균한 것으로 해당 사용 불가능 블록에 대응되는 예측블록을 설정하는 방법(이하, 블록평균법이라 칭함)을 머지에 사용 불가능한 이웃블록을 대신하는 머지 후보로 사용될 수 있다.
도 18은 블록평균법을 수행하는 방법을 예시한 도면이다.
도 18에서는 머지 부호화기가 사용되었을 경우, 사용 불가능 블록에 대하여 현재 블록 주변에 이웃하는 두 블록(도 11의 주위블록뿐만 아니라 도 9의 시간적 후보블록도 포함될 수 있음)의 움직임 파라미터를 통해 각각 생성된 블록 두 개를 평균 낸 블록을 현재블록의 예측블록으로 사용하는 방식(블록머지 방법)을 도시한 것으로 주위의 움직임 파라미터들이 가리키는 블록 2개를 평균하여 예측 블록을 생성하는 기술이다.
사용 불가능 블록을 이용하여 부호화하기 위하여 이미 블록머지를 사용한 후보블록을 이용하여 블록머지를 하는 경우에 해당 사용 불가능 블록의 부호화에 필요한 움직임 파라미터의 숫자가 계속 누적해서 증가할 수 있으므로 누적가능한 허용 움직임 파라미터 수를 정해줄 수 있다. 따라서 이 경우, 예측블록을 생성할 때 사용되는 누적 움직임 파라미터의 수가 소정의 수 이상인 경우에는 해당 사용 불가능 블록에 대한 예측블록을 만들지 않을 수 있다.
또한, 후보블록 중에서 블록평균법을 이용하여 예측부호화된 후보블록은 다른 블록의 블록평균법을 사용한 머지에 사용하지 않을 수도 있다.
도 19는 블록머지 방법을 예시한 흐름도이다.
도 19에서는 도 18의 방식을 순서도로 표현한 것이다.
도 19에 나타낸 바와 같이, 머지(Merge)를 이용한 부호화 과정은 주변 후보 블록들이 머지 부호화에 이용가능한지 여부를 확인하는 것으로부터 시작할 수 있다(S1901).
여기서 후보블록이란, 도 11에 도시한 바와 같이 소정의 블록들을 포함할 수 있으며, 실시예에 따라 다양한 위치의 블록들을 후보블록으로 설정할 수 있다. 예컨대, 인트라예측을 이용하여 부호화된 후보 블록은 S1901 단계에서 머지에 사용 불가능 블록으로 판정될 것이다.
S1901 단계의 확인 결과 머지에 사용 불가능 블록이 존재하는지 여부에 따라 모든 가능한 후보블록을 고려하는 정상적인 방법(종래의 방법)으로 머지할 것인지 혹은 본 발명의 실시예에서 제안하는 방법으로 머지를 수행할 것인지 결정한다(S1902).
S1902 단계에서는 후보블록 중에서 사용 불가능 블록이 존재하지 않는지 확인하고, 만일 후보블록 중에서 사용 불가능 블록이 존재하지 않는다면 기존의 머지와 같이 모든 후보블록의 존재를 고려하여 어느 블록이 최적의 블록인지 선택하게 되며(S1905), 만약 사용 불가능 블록이 존재한다면 해당 사용 불가능 블록에 대해서 주변 후보 블록간 조합이 가능한지 여부를 판단하게 된다(S1903).
S1903에서의 판단 결과 후보 블록간 조합이 가능하지 않다면 기존의 머지와 같이 사용 가능한 후보블록 중에서 어느 블록이 최적의 블록(예컨대, 율-왜곡 비율이 최적인 블록)인지 선택하게 되며(S1905), 만약 블록간 조합이 가능하다면 사용 불가능 블록의 위치에 후보블록 중 두 블록이 조합된 머지 인덱스를 삽입하고(S1904), 최적의 성능을 나타내는 후보 블록을 선택한다(S1905).
위와 같이 S1905 단계에서 최적의 머지 블록이 선택되면 인트라모드, 스킵 모드, AMVP 모드의 각각의 모드에 따라 부호화한 결과와 비교하여 머지 방법이 최적인 경우에 머지를 사용하여 부호화한다는 의미의 머지플래그를 설정하여 부호화하고 머지에 사용되는 후보블록에 해당하는 머지 인덱스를 부호화(예컨대 1로 부호화)한다(S1906).
전술하였듯이, 본 발명의 여러 실시예에서 최적의 예측모드를 선택할 때 최적의 머지 후보블록에 대한 인덱스를 선택하고 그 후에 인트라모드, 스킵 모드, AMVP 모드와 비교하는 것으로 설명하더라도, 예측모드의 비교의 순서는 실시예에 따라 달라질 수 있음은 당업자에게 자명할 것이다.
도 20은 블록머지 인덱스의 할당 방법을 예시한 도면이다.
도 20에 도시한 바와 같이 사용 불가능 블록이 존재하는 경우(즉, C, D, E), 후보블록에 우선순위를 두어 사용 불가능 블록에 대한 블록평균법을 수행하는 움직임 파라미터를 할당할 수 있다. 예를 들어 A>B>C>D>E>Col 의 순서로 우선순위를 할당하였다면, 사용가능 블록끼리 우선순위로 기준으로 조합할 수 있다. 만약 A, B 및 Col은 사용가능 블록이고, C, D 및 E가 사용 불가능 블록인 경우, 첫번째 C위치엔 (A+B)/2 를 표시하는 인덱스가 들어가고, 두번째 D위치엔 (A+Col)/2 을 표시하는 인덱스가 들어가고 세번째 E위치에는 (B+Col)/2 을 표시하는 인덱스가 들어가도록 설정할 수 있다. 예를 들어, (A+B)/2 를 표시하는 인덱스의 의미는 해당 사용 불가능 블록(즉, C)의 경우 A 블록의 움직임 파라미터로 생성되는 블록신호와 B 블록의 움직임 파라미터로 생성되는 블록신호를 산술평균한 블록이 블록 C를 이용한 머지의 결과 발생한 예측블록임을 의미하는 것이다.
도 21은 제2실시예에 따른 부호화 방법에 대응되는 복호화 방법을 나타낸 순서도를 예시한 도면이다.
도 21에 도시한 바와 같이, 후술하는 영상 복호화 장치의 비트스트림 복호부에서 비트스트림을 복호화하여 현재블록의 예측에 사용될 수 있는 움직임 벡터를 갖는 블록에 대한 정보를 포함하는 머지 인덱스를 추출하여 추출된 머지 인덱스로 식별되는 머지용 블록을 결정한다.
비트스트림 복호부는 비트스트림으로부터 머지 플래그를 추출한다(S2101). 추출된 머지 플래그를 확인하여 머지 방법으로 부호화되었는지를 확인하고(S2102) 머지가 사용되지 않았으면 종료한다. 만일 단계 S2102의 확인 결과 머지가 사용되었음이 확인되면, 주변 머지 후보블록들의 사용가능 여부를 확인한다(S2103).
단계 S2103에서의 확인결과 후보블록들 중에서 사용 불가능 블록이 존재하지 않는다면(S2104) 종래의 방법으로 부호화하기 위하여 바로 머지 인덱스를 복호화하고(S2107), 만약 후보블록들 중에서 사용 불가능 블록이 존재한다면(S2104) 주변 후보 블록간 조합이 가능한지 판단을 하게 된다(S2105). 만일 후보 블록간 조합이 가능하지 않다면 기존의 머지와 같이 사용가능한 후보블록 중에서 어느 블록이 최적의 블록인지 머지 인덱스를 복호화함으로써 머지에 사용되는 블록을 선택하게 되며(S2107), 만약 블록간 조합이 가능하다면 해당 사용 불가능 블록의 위치를 사용 가능한 것으로 고려하여 머지 인덱스로 식별되는 후보블록의 위치를 찾고(S2106), 머지 인덱스로 식별되는 후보블록의 위치에 대하여 결정될 수 있는 움직임 파라미터를 현재블록을 복원하기 위한 움직임 파라미터로 결정하여 예측블록을 생성하거나, 블록간 조합값으로 머지가 된 경우에는 주변 후보 블록의 블록값으로 조합하여 예측블록을 생성한다(S2107).
위의 제1실시예의 부호화 방법과 제2실시예의 부호화방법은 각각 단독으로도 이용 가능하고 또한 두가지 부호화 방법들이 같이 사용될 수도 있다. 예를 들어 이용 불가능한 블록이 한 개만 존재하는 경우 우선순위를 두어 두 방식 중 하나를 자동으로 사용하게 할 수 있으며, 이용 불가능한 블록이 두 개 이상인 경우 블록별로 적용되는 방법에 서로 다른 실시예를 적용할 수도 있다. 예컨대, 첫 번째 이용 불가능한 블록에는 양방향 움직임 파라미터를 설정하는 방법을 사용하는 실시예1의 방법, 두번째 이용 불가능한 블록에는 주변 후보 블록간 조합을 사용하는 실시예2의 방법을 사용하게 하는 것도 가능하다.
도 23은 실시예1과 실시예2가 혼용되는 경우의 부호화 방법을 예시한 도면이다.
도 23에 도시한 바와 같이 머지(Merge)를 이용한 부호화 과정은 머지에 사용가능한 위치의 주변 후보 블록들 모두에 대하여 머지 부호화에 이용가능한지 여부를 확인하는 것으로부터 시작할 수 있다(S2301).
S2301 단계의 확인 결과 주변 후보 블록들 중에서 머지에 사용 불가능 블록이 존재하는지 여부에 따라 모든 주변 후보블록들을 고려하는 종래의 방법으로 머지할 것인지 혹은 본 발명의 실시예에서 제안하는 방법으로 머지를 수행할 것인지 여부를 결정한다(S2302).
S2302 단계에서는 후보블록 중에서 사용 불가능 블록이 존재하지 않는지 확인하고, 만일 후보블록 중에서 사용 불가능 블록이 존재하지 않는다면 기존의 머지와 같이 모든 후보블록 중에서 어느 블록이 최적의 블록인지 선택하게 되며(S2306), 만약 모든 후보블록 중에서 사용 불가능 블록이 존재한다면 사용 불가능 블록에 대하여 주변 후보 블록의 블록값을 이용한 조합이 가능한지 여부 또는 주변 후보 블록의 움직임 파라미터를 이용한 양방향 움직임 파라미터 설정이 가능한지 여부를 확인한다(S2303).
여기서 주변 후보 블록의 블록값을 이용한 조합을 사용하는 방법의 우선순위가 높다면 우선순위에 따라 블록간 조합이 가능한지 여부를 판단하여 만일 블록값 간의 조합이 가능한 것으로 판단되면(S2303), 사용 불가능 블록의 위치에 대하여 후보블록 중 두 블록이 조합된 방법을 사용가능하도록 사용 불가능 블록의 위치에 대한 머지 인덱스를 부여하고(S2304), 후보블록들의 움직임 파라미터 중에서 최적의 성능을 나타내는 블록의 움직임 파라미터를 선택한다(S2306). 만일, 주변블록을 이용한 조합이 가능하지 않은 것으로 판단되면, 주변 후보 블록의 움직임 파라미터를 이용한 양방향 움직임 파라미터를 설정 가능한지 여부를 판단하고(S2303), 만일 양방향 움직임 파라미터를 설정 가능한 것으로 판단되면, 사용 불가능 블록 위치에 대하여 양방향 조합된 머지 방법을 사용 가능하도록 사용 불가능 블록 위치에 대한 머지 인덱스를 삽입하고(S2305) 후보블록 중에서 어느 블록이 최적의 블록인지 선택하게 된다(S2306).
S2303에서의 판단 결과 후보 블록간 조합이 가능하지 않고 양방향 움직임 파라미터 설정도 가능하지 않다면 기존의 머지와 같이 사용가능한 후보블록 중에서 어느 블록이 최적의 블록(예컨대, 율-왜곡 비율이 최적인 블록)인지 선택하게 된다(S2306).
위와 같이 S2306 단계에서 최적의 머지 블록이 선택되면 인트라모드, 스킵 모드, AMVP 모드 각각의 모드에 따라 부호화한 결과와 비교하여 머지 방법이 최적인 경우에 머지를 사용하여 부호화한다는 의미의 머지 플래그를 설정하여 부호화하고 머지에 사용되는 후보블록에 해당하는 머지 인덱스를 부호화(예컨대 1로 부호화)한다(S2307).
또한 이용 불가능한 블록이 두 개 이상인 경우 블록별로 적용되는 머지 방법에 서로 다른 실시예를 적용하는 경우에, S2303단계에서 이용 불가능한 블록에 대하여 블록별로 해당 머지 방법이 무엇인지에 따라 S2304 또는 S2304 단계로 진행하는 방법을 사용할 수 있다.
도 24는 실시예1과 실시예2가 혼용되는 경우의 복호화 방법을 예시한 도면이다.
도 24에 도시한 바와 같이, 후술하는 영상 복호화 장치의 비트스트림 복호부는 비트스트림으로부터 머지 플래그를 추출한다(S2401). 추출된 머지 플래그를 확인하여 머지가 사용되었는지를 확인하고(S2402) 머지가 사용되지 않았으면 종료한다. 만일 단계 S2402의 확인 결과 머지가 사용되었음이 확인되면, 비트스트림으로부터 머지 인덱스를 추출하고 주변 머지 후보블록들의 사용가능 여부를 확인한다(S2403).
도 24에서도 머지에 이용 불가능한 후보블록이 존재하는 것으로 확인되면(S2404), 주변의 후보블록들의 움직임 파라미터를 이용한 양방향 움직임 파라미터를 설정하는 방법에 대한 우선순위가 높은 경우, 주변의 후보블록들의 움직임 파라미터를 이용하여 양방향 움직임 파라미터를 설정하는 것이 가능한지 여부를 먼저 확인하고 가능한 것으로 판단되면(S2405), 해당 사용 불가능 블록의 위치를 사용 가능한 것으로 고려하여 머지 인덱스로 식별되는 후보블록을 찾고(S2407) 머지 인덱스로 식별되는 후보블록의 위치에 대한 움직임 파라미터를 현재블록을 복원하기 위한 움직임 파라미터로 결정하여 예측블록을 생성하거나, 블록간 조합값으로 머지가 된 경우에는 주변 후보 블록의 블록값으로 조합하여 예측블록을 생성한다(S2408).
만일 S2405 단계에서 양방향 움직임 파라미터를 설정이 불가능한 것으로 판단되면 주변 후보 블록의 블록값으로 조합이 가능한지 여부를 확인하고, 가능한 것으로 판단되면 이용 불가능한 위치를 사용 가능한 것으로 고려하여 머지 인덱스로 식별되는 후보블록을 찾고(S2406) 머지 인덱스로 식별되는 후보블록에 대한 움직임 파라미터를 현재블록을 복원하기 위한 움직임 파라미터로 결정하여 예측블록을 생성하거나 주변 후보 블록의 블록값으로 조합하여 예측블록을 생성한다(S2408).
만일, 만일 S2405 단계에서의 판단 결과 두가지 방법 모두 사용 불가능한 것으로 판단되면 사용가능한 후보블록들만 고려하여 머지 인덱스를 식별하고 식별된 머지 인덱스에 따라 예측블록을 생성한다(S2408).
또한 이용 불가능한 블록이 두 개 이상인 경우 블록별로 적용되는 머지 방법에 서로 다른 실시예를 적용하는 경우에, S2405 단계에서 이용 불가능한 블록에 대하여 블록별로 해당 머지 방법이 무엇인지에 따라 해당 머지 방법이 이용가능한 것으로 판단되는 경우, S2406 또는 S2407 단계로 진행하는 방법을 사용할 수 있다.
(부호화 제3실시예)
도 1에 도시된 본 발명의 일 실시예에 따른 영상 부호화장치(100)의 인터예측부(103)는 현재 픽처가 과거 혹은 미래 어느 한쪽 방향으로만 움직임보상이 가능한 경우(예컨대 P 픽처인 경우), 해당되는 가능 방향(예컨대 과거 방향)에 대하여 움직임을 보상하여 현재 움직임 파라미터를 생성하고 예측블록을 생성하여 현재블록을 부호화할 수 있다. 만일 현재 픽처가 과거 혹은 미래 어느 한쪽 방향(예컨대 과거 방향)으로만 움직임보상이 가능한 경우, 양방향예측을 하고자 하는 경우에는 인접한 주위 블록의 움직임 파라미터를 다른 한쪽 방향(현재 픽처의 움직임 보상방향이 과거인 경우 다른 한쪽 방향 미래를 의미)에 대한 움직임 파라미터로 설정한다. 이와 같이 현재 픽처가 과거 혹은 미래 어느 한쪽 방향으로만 움직임보상이 가능한 경우에도 현재 블록의 움직임 파라미터와, 현재 픽처의 움직임보상 가능한 방향과 반대방향으로 설정된 주위 블록의 움직임 파라미터를 이용하여 양방향 예측을 수행한다. 결과적으로 양방향 예측이 불가능한 경우에도 현재블록의 단방향 움직임 파라미터(해당되는 움직임보상 가능 방향의 움직임 파라미터)와 인접한 주위 블록의 단방향 움직임 파라미터(움직임보상 가능 방향의 반대 방향으로 설정됨)를 포함하는 2개의 움직임 파라미터를 이용하여 양방향예측을 수행할 수 있다.
이와 같이 현재 단방향 움직임 파라미터와 인접한 주위 블록의 단방향 움직임 파라미터를 이용하여 양방향예측(이하, 제1 양방향예측이라 칭함)을 사용하여 블록을 부호화 가능한지 여부를 나타내는 플래그(제1 양방향예측 플래그)를 슬라이스 헤더에 포함시킬 수 있으며, 실제로 제1 양방향예측을 사용하였는지 여부는 과거, 미래 또는 양방향예측의 사용 여부를 알려주는 예측방향 정보(예컨대, 예측방향 플래그)를 예측블록 단위로 비트스트림에 포함하여 전송할 수 있다.
제1 양방향예측에 사용되는 인접한 주위 블록의 움직임 파라미터를 선택하는 방법으로는, 모든 주위 블록에 대하여 각 주위 블록이 가지고 있는 움직임 파라미터와 현재 단방향 움직임 파라미터를 이용하여 예측블록을 생성 후 현재 블록과의 차이인 잔차블록의 값이 가장 적은 경우의 주위 블록의 움직임 파라미터를 선택할 수 있다.
제1 양방향예측에 이용가능한 인접한 주위 블록들의 후보는 도 11에 나타낸 위치의 블록이 될 수도 있으며 그외에 인접한 모든 블록들도 가능하다.
또한, 제1 양방향예측을 위하여 선택된 주위 블록에 대한 정보는 인덱스로 표시하여 후술하는 영상 복호화 장치로 전송할 수 있으며, 또한, 현재 단방향 움직임 파라미터에 대한 정보도 후술하는 영상 복호화 장치로 전송한다.
도 22는 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
도 22에 도시하듯이, 본 발명의 일 실시예에 따른 영상 복호화 장치(400)는 전술한 영상 부호화 장치 같이, 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, TV, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 단말기(Wireless Terminal), 디지털 TV 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
본 발명의 일 실시예에 따른 영상 복호화 장치(400)는 비트스트림 복호부(401), 역양자화부(402), 역변환부(403), 예측부(405), 가산부(409, Adder) 및 메모리(408)를 포함하여 구성될 수 있다.
비트스트림 복호부(401)는 비트스트림을 복호화하여 양자화된 변환 블록을 추출한다. 즉, 비트스트림 복호부(401)는 입력되는 비트스트림으로부터 추출된 비트열을 복호화 하고 역 스캐닝하여 양자화된 변환 계수를 가지는 양자화된 변환 블록을 복원한다. 이때, 비트스트림 복호부(401)는 엔트로피부호화부(107)에서 이용한 엔트로피 부호화와 같은 부호화 기법을 이용하여 복호화할 수 있다. 또한, 비트스트림 복호부(401)에서는 인터예측의 경우, 비트스트림으로부터 부호화된 차분벡터를 추출하고 복호화하여 차분 벡터를 복원하고 움직임 파라미터를 복호화하여 현재 블록의 움직임 벡터를 복원할 수 있다. 인트라예측의 경우 비트스트림으로부터 부호화된 인트라예측모드 인덱스를 추출하고 복호화하여 현재 블록이 어떤 인트라예측모드를 사용하였는지 알려준다.
역양자화부(402)는 양자화된 변환 블록을 역양자화 한다. 즉, 역양자화부(402)는 비트스트림 복호부(401)로부터 출력되는 양자화된 변환 블록의 양자화된 변환계수를 역양자화한다. 이때, 역양자화부(402)는 영상부호화 장치의 양자화부(105)에서 이용한 양자화 기법을 역으로 수행하여 역양자화 한다.
역변환부(403)는 역양자화부(402)로부터 출력되는 역양자화된 변환 블록을 역변환하여 잔차블록을 복원한다. 즉, 역변환부(403는 역양자화부(402)로부터 출력되는 역양자화된 변환 블록의 역양자화된 변환 계수를 역변환함으로써 복원된 잔차 신호를 가지는 잔차 블록을 복원하는데, 영상 부호화 장치의 변환부(104)에서 이용한 변환 기법을 역으로 수행하여 역변환한다.
예측부(405)는 인트라예측부(406) 및 인터예측부(407)를 포함할 수 있으며, 도 1을 통하여 전술한 영상 부호화 장치의 인트라예측부(102) 및 인터예측부(103)과 각각 유사한 기능을 한다.
가산부(409, Adder)는 역변환된 잔차신호와, 인트라예측 또는 인터예측을 통하여 생성된 예측 영상을 가산하여 현재 블록 영상을 복원한다.
메모리(408)는 영상 부호화 장치의 메모리와 동일하게 복호된 영상을 저장하여 이후의 예측에 사용될 수 있다.
영상 복호화 장치(400)에서, 예측블록을 생성하는 과정은 영상 부호화 장치(100)에서와 동일하다.
(복호화 제1실시예)
비트스트림 복호부(401)는 비트스트림으로부터 머지플래그를 추출하고 추출된 머지플래그의 값이 머지 부호화를 의미하고 머지 부호화용 후보블록들 중에서 머지에 사용가능한 사용가능 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 해당 사용 불가능 블록에 대하여 사용가능 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 사용가능 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 양방향 움직임 파라미터 설정이 가능한 경우, 해당 위치의 사용 불가능 후보블록의 존재를 고려하여 머지 인덱스를 복호화한다.
인터예측부(407)는 복호화된 머지 인덱스가 지시하는 후보블록의 움직임 파라미터를 현재 블록에 대한 예측움직임 파라미터로 설정한다.
이 경우 인트라예측부(406)는 여기서 생성된 예측움직임 파라미터를 이용하여 복원할 현재블록을 예측한다.
한편, 설정되는 양방향 움직임 파라미터는, 후보블록에 대하여 우선순위를 정하고 우선순위에 따라 사용가능 블록의 움직임 파라미터 중에서 양방향 움직임파라미터를 설정할 수 있다. 여기서 우선순위는 영상 부호화 장치와 복호화 장치 간에 미리 약속되어 있을 수 있다. 또는 대안으로서, 부호화 장치가 우선순위를 나타내는 정보를 포함하는 비트스트림을 복호화 장치에 전송하고, 복호화 장치의 비트스트림 복호부(401)는 우선순위를 나타내는 정보를 비트스트림에서 추출하여 우선순위를 설정할 수도 있다.
또한, 어느 하나의 과거픽쳐에 대한 움직임 파라미터가 양방향 움직임 파라미터의 과거픽쳐 파라미터로 설정되고, 어느 하나의 미래 픽쳐에 대한 움직임 파라미터가 양방향 움직임 파라미터의 미래픽쳐 파라미터로 설정될 수 있다.
그리고, 어느 하나의 과거픽쳐에 대한 움직임 파라미터를 미래방향으로 선형적으로 스케일링한 것이 양방향 움직임 파라미터의 미래픽쳐 파라미터로 설정되고, 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 과거방향으로 선형적으로 스케일링한 것이 양방향 움직임 파라미터의 과거픽쳐 파라미터로 설정될 수도 있다. 여기서 양방향 움직임 파라미터의 설정은, 사용가능 블록의 움직임 파라미터 중에서 과거픽쳐의 움직임 파라미터와 미래픽쳐의 움직임 파라미터가 각각 하나씩만 존재하는 경우에 사용할 수도 있다.
만일, 양방향 움직임 파라미터의 설정이 불가능한 경우에는, 해당 사용 불가능 블록에 대해서는 제로벡터를 설정하는 사용할 수도 있다.
또한, 영상 복호화 장치(400)는, 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 것으로 사용 불가능 블록에 대응되는 예측블록을 설정하여 현재블록을 복호화하는 방법보다 우선순위가 높은 경우에 설정되는 양방향 움직임 파라미터를 이용하여 현재블록의 예측블록을 생성할 수도 있다.
(복호화 제2실시예)
영상 복호화 장치(400)는 비트스트림으로부터 머지플래그를 추출하고 추출된 머지플래그의 값이 머지 부호화를 의미하고 머지 부호화용 후보블록들 중에서 머지에 사용가능한 사용가능 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 사용 불가능 블록에 대하여 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 값으로 사용 불가능 블록에 대응되는 예측블록을 설정하는 방법(이하, 블록평균법이라 칭함)으로 현재블록을 복호화한다.
여기서, 예측블록을 생성할 때 사용되는 누적 움직임 파라미터의 수가 소정의 수 이상인 경우에는 사용 불가능 블록에 대한 예측블록을 만들지 않을 수 있다.
또한, 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 것으로 사용 불가능 블록에 대응되는 예측블록을 설정하되, 후보블록 중에서 블록평균법을 이용하여 예측부호화된 후보블록은 예측블록의 설정에 사용하지 않을 수 있다.
그리고, 설정되는 양방향 움직임 파라미터는, 후보블록에 대하여 우선순위를 정하고 설정된 우선순위에 따라 두개의 후보블록을 선택할 수 있다.
한편, 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는 도 1의 영상 부호화 장치의 비트스트림(부호화 데이터) 출력단을 도 22의 영상 복호화 장치의 비트스트림 입력단에 연결함으로써 구현할 수 있다.
(복호화 제3실시예)
비트스트림 복호부(401)는 비트스트림으로부터 추출한 정보(예컨대 슬라이스 단위로 획득한 제1 양방향예측 플래그 및 블록 단위로 획득하는 예측방향 정보)로부터 현재 블록이 움직임추정을 이용한 인터예측방식이 사용되고 제1 양방향예측이 사용되었음을 확인하면(제1 양방향예측 플래그가 제1 양방향예측 가능을 의미하고 예측방향 정보가 양방향예측을 의미하는 경우), 주위 블록이 움직임 파라미터를 이용하여 양방향예측을 수행한다.
만일, 주위 블록이 움직임 파라미터를 사용하는 것으로 확인될 경우 인접한 주위블록의 움직임 파라미터를 이용하여 양방향예측에 이용한다. 이 경우, 비트스트림 복호부(401)는 비트스트림으로부터 현재블록의 움직임 파라미터(현재 단방향 움직임 파라미터)에 대한 정보를 복원한다.
제1 양방향예측에는 복원된 현재 단방향 움직임 파라미터와 주위 블록의 움직임 파라미터를 포함하는 2개의 움직임 파라미터를 사용하게 된다. 여기서, 주위 블록의 움직임 파라미터는 획득하는 방법으로는, 비트스트림으로부터 주위블록에 대한 인덱스 비트를 복호화하여 해당하는 인덱스 비트로 식별되는 주위블록의 움직임 파라미터를 추출하고 이 추출된 움직임 파라미터를 현재블록의 단방향 움직임 파라미터와 반대되는 방향으로 설정한다.
인터예측부(406)는 위와 같이 생성된 2개의 움직임 파라미터를 이용하여 양방향예측을 수행하는데, 주위블록의 움직임 파라미터의 반대방향으로 설정된 움직임 파라미터와 현재블록이 가지고 있는 움직임 파라미터(즉, 현재 단방향 움직임 파라미터)를 이용하여 각각 예측블록을 생성한 후 평균한 값을 최종적인 예측블록으로 생성한다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는, 머지 부호화용 후보블록들 중에서 머지에 사용가능한 사용가능 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 사용가능 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 사용가능 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 사용 불가능 블록에 대한 양방향 움직임 파라미터를 설정하고 설정되는 양방향 움직임 파라미터를 이용하여 현재블록을 예측하여 예측블록을 생성하거나 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 것으로 사용 불가능 블록에 대응되는 예측블록을 설정하여 부호화하는 영상 부호화 장치(100)(본 발명의 일 실시예에서의 영상 부호화/복호화 장치에서의 영상부호화기를 구현)와, 비트스트림으로부터 머지플래그를 추출하고 머지플래그의 값이 머지 부호화를 의미하고 머지 부호화용 후보블록들 중에서 머지에 사용가능한 후보 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 사용 불가능 블록에 대하여 사용가능 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 사용가능 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 양방향 움직임 파라미터의 설정이 가능한 경우 양방향 움직임 파라미터가 설정된 후보블록의 존재를 고려하여 머지 인덱스를 복호화하고 머지 인덱스가 의미하는 머지 방법에 따라 현재블록의 예측블록을 생성하거나 이용 불가능한 블록에 대하여 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 값으로 이용 불가능한 블록에 대응되는 예측블록을 설정하여 현재블록을 복호화하는 영상 복호화 장치(400)(본 발명의 일 실시예에서 따른 영상 부호화/복호화 장치에서의 영상복호화기를 구현)를 포함하여 구현될 수 있다.
본 발명의 제1실시예에 따른 영상을 부호화하는 방법은, 머지 부호화용 후보블록들 중에서 머지에 사용가능한 사용가능 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 사용가능 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 사용가능 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 사용 불가능 블록에 대한 양방향 움직임 파라미터를 설정하고 설정되는 양방향 움직임 파라미터를 이용하여 현재블록을 예측하여 예측블록을 생성하는 인터예측단계를 포함할 수 있다.
본 발명의 제2실시예에 따른 영상을 부호화하는 방법은, 머지 부호화용 후보블록들 중에서 머지에 사용가능한 사용가능 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 것으로 사용 불가능 블록에 대응되는 예측블록을 설정(이하, 블록평균법이라 칭함)하는 인터예측단계를 포함할 수 있다.
본 발명의 제3실시예에 따른 영상을 부호화하는 방법은, 현재블록이 과거 혹은 미래 어느 한쪽 방향으로만 움직임보상이 가능한 경우 현재블록의 주변블록 중 어느 하나의 블록의 해당 방향에 대한 움직임 파라미터를 추출하고, 현재블록의 해당 방향에 대한 움직임 파라미터와 추출된 주변블록의 움직임 파라미터를 이용하여 양방향예측을 수행하여 예측블록을 생성하는 인터예측단계를 포함할 수 있다.
본 발명의 제1실시예에 따른 영상을 복호화하는 방법은, 비트스트림으로부터 머지플래그를 추출하고 머지플래그의 값이 머지 부호화를 의미하고 머지 부호화용 후보블록들 중에서 머지에 사용가능한 사용가능 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 사용 불가능 블록에 대하여 사용가능 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 사용가능 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 양방향 움직임 파라미터의 설정이 가능한 경우 양방향 움직임 파라미터가 설정된 후보블록의 존재를 고려하여 머지 인덱스를 복호화하는 비트스트림 복호단계; 및 머지 인덱스가 의미하는 머지 방법에 따라 현재블록의 예측블록을 생성하는 인터예측단계를 포함할 수 있다.
본 발명의 제2실시예에 따른 영상을 복호화하는 방법은, 비트스트림으로부터 머지플래그를 추출하고 머지플래그의 값이 머지 부호화를 의미하고 머지 부호화용 후보블록들 중에서 머지에 사용가능한 사용가능 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 사용 불가능 블록에 대하여 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 값으로 사용 불가능 블록에 대응되는 예측블록을 설정하는 방법(이하, 블록평균법이라 칭함)으로 현재블록을 복호화할 수 있다.
본 발명의 제3실시예에 따른 영상을 복호화하는 방법은, 비트스트림으로부터 예측방향 정보를 추출하고 예측방향 정보가 주변블록의 움직임 파라미터를 이용한 양방향예측을 의미하면 비트스트림으로부터 주변블록 인덱스를 추출하고 비트스트림으로부터 현재블록에 대한 움직임 파라미터를 복원하고, 주변블록 인덱스로 식별되는 주변블록의 움직임 파라미터와 복원된 현재블록의 움직임 파라미터를 이용하여 양방향 예측을 수행하여 예측블록을 생성하고 현재블록을 복원한다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 본 발명의 일 실시예에 따른 영상 부호화 방법과 본 발명의 일 실시예에 따른 영상 복호화 방법을 결합하여 구현함으로써 실현할 수 있다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 머지 부호화용 후보블록들 중에서 머지에 사용가능한 사용가능 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 사용가능 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 사용가능 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 사용 불가능 블록에 대한 양방향 움직임 파라미터를 설정하고 설정되는 양방향 움직임 파라미터를 이용하여 현재블록을 예측하여 예측블록을 생성하거나 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 것으로 사용 불가능 블록에 대응되는 예측블록을 설정하여 부호화하는 영상부호화단계; 및 비트스트림으로부터 머지플래그를 추출하고 머지플래그의 값이 머지 부호화를 의미하고 머지 부호화용 후보블록들 중에서 머지에 사용가능한 후보 블록이 있는지 확인하여 머지에 이용 불가능한 블록)이 있는 것으로 확인된 경우, 사용 불가능 블록에 대하여 사용가능 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 사용가능 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 양방향 움직임 파라미터의 설정이 가능한 경우 양방향 움직임 파라미터가 설정된 후보블록의 존재를 고려하여 머지 인덱스를 복호화하고 머지 인덱스가 의미하는 머지 방법에 따라 현재블록의 예측블록을 생성하거나 이용 불가능한 블록에 대하여 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 값으로 이용 불가능한 블록에 대응되는 예측블록을 설정하여 현재블록을 복호화하는 영상복호화단계를 포함한다.
전술한 본 발명의 실시예들에서, 머지에 사용 불가능한 후보 블록이 존재하는 경우, 다른 후보블록들 중 어느 한 후보블록의 과거픽쳐에 대한 움직임 파라미터 및 다른 후보블록의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 사용 불가능 블록의 양방향 움직임 파라미터를 설정한다고 설명하였다. 여기서, 양방향 움직임 파라미터 또는 양방향 예측 대신에 H.264 표준 등에 규정된 쌍방향 움직임 파라미터 또는 쌍예측(bi-predictive coding)이 사용될 수 있음은 당업자에게 자명하다. 따라서, 전술한, 어느 하나의 후보블록의 과거픽쳐에 대한 움직임 파라미터는 리스트 0 예측 파라미터(list 0 prediction parameter)로 대체될 수 있고, 다른 하나의 후보블록의 미래 픽쳐에 대한 움직임 파라미터는 리스트 1 예측 파라미터(list 1 prediction parameter)로 대체될 수 있다. 쌍예측에 관한 상세한 설명은 H.264 표준이 참조될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명은 후보블록의 움직임 파라미터를 이용하여 인터예측을 수행하는 머지 방법에서 후보블록이 인터예측을 사용하여 부호화되지 않는 등의 이유로 머지 방법에 사용가능하지 않은 후보블록이 존재하는 경우 머지에 사용가능한 다른 후보블록들의 움직임 파라미터를 이용하여 사용 불가능한 후보블록의 움직임 파라미터를 설정하여 머지에 사용될 수 있는 후보군의 수를 확대함으로써 압축효율을 향상하는 효과가 있어서 매우 유용한 발명이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은 2011년 11월 28일 한국에 출원한 특허출원번호 제 10-2011-0124967 호, 2012년 11월 26일 한국에 출원한 특허출원번호 제 10-2012-0134817 호에 대해 미국 특허법 119(a)조(35 U.S.C § 119(a))에 따라 우선권을 주장하면, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다. 아울러, 본 특허출원은 미국 이외에 국가에 대해서도 위와 동일한 이유로 우선권을 주장하면 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.

Claims (24)

  1. 영상을 부호화하는 장치에 있어서,
    머지 부호화용 후보블록들 중에서 머지에 사용가능한 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 사용가능한 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 상기 사용가능한 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 상기 이용 불가능한 블록에 대한 양방향 움직임 파라미터를 설정하고 상기 설정된 양방향 움직임 파라미터를 이용하여 현재블록을 예측하여 예측블록을 생성하는 인터예측부
    를 포함하는 것을 특징으로 하는 영상 부호화 장치.
  2. 제1항에 있어서,
    상기 어느 하나의 과거픽쳐에 대한 움직임 파라미터를 미래방향으로 선형적으로 스케일링한 것이 상기 양방향 움직임 파라미터의 미래픽쳐 파라미터로 설정되고, 상기 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 과거방향으로 선형적으로 스케일링한 것이 상기 양방향 움직임 파라미터의 과거픽쳐 파라미터로 설정되는 것을 특징으로 하는 영상 부호화 장치.
  3. 제1항에 있어서,
    상기 양방향 움직임 파라미터의 설정이 불가능한 경우에는,
    해당 이용 불가능한 블록에 대해서는 제로벡터를 설정하는 것을 특징으로 하는 영상 부호화 장치.
  4. 영상을 부호화하는 장치에 있어서,
    현재블록이 과거 혹은 미래 어느 한쪽 방향으로만 움직임보상이 가능한 경우 현재블록의 주변블록 중 어느 하나의 블록의 상기 해당 방향에 대한 움직임 파라미터를 추출하고, 상기 현재블록의 상기 해당 방향에 대한 움직임 파라미터와, 추출된 상기 주변블록의 움직임 파라미터를 반대방향으로 설정한 움직임 파라미터를 이용하여 양방향예측을 수행하여 예측블록을 생성하는 인터예측부
    를 포함하는 것을 특징으로 하는 영상 부호화 장치.
  5. 제 4항에 있어서,
    상기 영상 부호화 장치는,
    상기 주변블록 각각에 대하여 추출한 움직임 파라미터를 반대방향으로 설정한 움직임 파라미터와 상기 현재블록의 움직임 파라미터를 이용한 양방향예측의 결과 생성된 예측블록과 현재블록과의 차이가 가장 작은 경우의 양방향예측한 예측블록을 이용하여 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  6. 영상을 복호화하는 장치에 있어서,
    비트스트림으로부터 머지플래그를 추출하고 상기 머지플래그의 값이 머지 부호화를 의미하고 머지 부호화용 후보블록들 중에서 머지에 사용가능한 사용가능 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 이용 불가능한 블록에 대하여 상기 사용가능 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 상기 사용가능 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 양방향 움직임 파라미터의 설정이 가능한 경우 상기 양방향 움직임 파라미터가 설정된 후보블록의 존재를 고려하여 머지 인덱스를 복호화하는 비트스트림 복호부; 및
    상기 머지 인덱스가 의미하는 머지 방법에 따라 현재블록의 예측블록을 생성하는 인터예측부
    를 포함하는 것을 특징으로 하는 영상 복호화 장치.
  7. 제6항에 있어서,
    상기 설정되는 양방향 움직임 파라미터는,
    상기 후보블록에 대하여 우선순위를 정하고 상기 우선순위에 따라 상기 사용가능 블록의 움직임 파라미터 중에서 상기 양방향 움직임파라미터를 설정하는 것을 특징으로 하는 영상 복호화 장치.
  8. 제6항에 있어서,
    상기 어느 하나의 과거픽쳐에 대한 움직임 파라미터가 상기 양방향 움직임 파라미터의 과거픽쳐 파라미터로 설정되고, 상기 어느 하나의 미래 픽쳐에 대한 움직임 파라미터가 상기 양방향 움직임 파라미터의 미래픽쳐 파라미터로 설정되는 것을 특징으로 하는 영상 복호화 장치.
  9. 제6항에 있어서,
    상기 어느 하나의 과거픽쳐에 대한 움직임 파라미터를 미래방향으로 선형적으로 스케일링한 것이 상기 양방향 움직임 파라미터의 미래픽쳐 파라미터로 설정되고, 상기 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 과거방향으로 선형적으로 스케일링한 것이 상기 양방향 움직임 파라미터의 과거픽쳐 파라미터로 설정되는 것을 특징으로 하는 영상 복호화 장치.
  10. 제9항에 있어서,
    상기 양방향 움직임 파라미터의 설정은,
    상기 사용가능 블록의 움직임 파라미터 중에서 과거픽쳐의 움직임 파라미터와 미래픽쳐의 움직임 파라미터가 각각 하나 이상 존재하는 경우에 사용하는 것을 특징으로 하는 영상 복호화 장치.
  11. 제6항에 있어서,
    상기 양방향 움직임 파라미터의 설정이 불가능한 경우에는,
    해당 이용 불가능한 블록에 대해서는 제로벡터를 설정하는 사용하는 것을 특징으로 하는 영상 복호화 장치.
  12. 제6항에 있어서, 상기 영상 복호화 장치는,
    상기 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 것으로 상기 이용 불가능한 블록에 대응되는 예측블록을 설정하여 현재블록을 복호화하는 방법보다 우선순위가 높은 경우에 상기 설정되는 양방향 움직임 파라미터를 이용하여 현재블록의 예측블록을 생성하는 것을 특징으로 하는 영상 복호화 장치.
  13. 영상을 복호화하는 장치에 있어서,
    비트스트림으로부터 머지플래그를 추출하고 상기 머지플래그의 값이 머지 부호화를 의미하고 머지 부호화용 후보블록들 중에서 머지에 사용가능한 후보 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 이용 불가능한 블록에 대하여 상기 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 값으로 상기 이용 불가능한 블록에 대응되는 예측블록을 설정하는 방법(블록평균법)으로 현재블록을 복호화하는 것을 특징으로 하는 영상 복호화 장치.
  14. 영상을 복호화하는 장치에 있어서,
    현재 픽처가 과거 혹은 미래 어느 한쪽 방향으로만 움직임보상이 가능한 경우 비트스트림으로부터 양방향예측 가능여부를 나타내는 플래그를 추출하고 상기 플래그로부터 양방향 예측 가능임을 확인하고 상기 비트스트림으로부터 예측방향 정보를 추출하고 상기 예측방향 정보가 주변블록의 움직임 파라미터를 이용한 양방향예측임을 확인하고 상기 비트스트림으로부터 주변블록 인덱스를 추출하고 상기 비트스트림으로부터 현재블록에 대한 움직임 파라미터를 복원하는 비트스트림 복호부; 및
    상기 주변블록 인덱스로 식별되는 주변블록의 움직임 파라미터를 반대방향으로 설정한 움직임 파라미터와 복원된 상기 현재블록의 움직임 파라미터를 이용하여 양방향 예측을 수행하여 예측블록을 생성하는 인터예측부
    를 포함하는 것을 특징으로 하는 영상 복호화 장치.
  15. 영상을 부호화하는 방법에 있어서,
    머지 부호화용 후보블록들 중에서 머지에 사용가능한 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 사용가능한 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 상기 사용가능한 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 상기 이용 불가능한 블록에 대한 양방향 움직임 파라미터를 설정하고 상기 설정된 양방향 움직임 파라미터를 이용하여 현재블록을 예측하여 예측블록을 생성하는 인터예측단계
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  16. 영상을 부호화하는 방법에 있어서,
    현재블록이 과거 혹은 미래 어느 한쪽 방향으로만 움직임보상이 가능한 경우 현재블록의 주변블록 중 어느 하나의 블록의 상기 해당 방향에 대한 움직임 파라미터를 추출하고, 상기 현재블록의 상기 해당 방향에 대한 움직임 파라미터와, 추출된 상기 주변블록의 움직임 파라미터를 반대방향으로 설정한 움직임 파라미터를 이용하여 양방향예측을 수행하여 예측블록을 생성하는 인터예측단계
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  17. 영상을 복호화하는 방법에 있어서,
    비트스트림으로부터 머지플래그를 추출하고 상기 머지플래그의 값이 머지 부호화를 의미하고 머지 부호화용 후보블록들 중에서 머지에 사용가능한 사용가능 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 이용 불가능한 블록에 대하여 상기 사용가능 블록의 움직임 파라미터 중 어느 하나의 과거픽쳐에 대한 움직임 파라미터 및 상기 사용가능 블록의 움직임 파라미터 중 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 이용하여 양방향 움직임 파라미터의 설정이 가능한 경우 상기 양방향 움직임 파라미터가 설정된 후보블록의 존재를 고려하여 머지 인덱스를 복호화하는 비트스트림 복호단계; 및
    상기 머지 인덱스가 의미하는 머지 방법에 따라 현재블록의 예측블록을 생성하는 인터예측단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  18. 제17항에 있어서,
    상기 설정되는 양방향 움직임 파라미터는,
    상기 후보블록에 대하여 우선순위를 정하고 상기 우선순위에 따라 상기 사용가능 블록의 움직임 파라미터 중에서 상기 양방향 움직임파라미터를 설정하는 것을 특징으로 하는 영상 복호화 방법.
  19. 제17항에 있어서,
    상기 어느 하나의 과거픽쳐에 대한 움직임 파라미터가 상기 양방향 움직임 파라미터의 과거픽쳐 파라미터로 설정되고, 상기 어느 하나의 미래 픽쳐에 대한 움직임 파라미터가 상기 양방향 움직임 파라미터의 미래픽쳐 파라미터로 설정되는 것을 특징으로 하는 영상 복호화 방법.
  20. 제17항에 있어서,
    상기 어느 하나의 과거픽쳐에 대한 움직임 파라미터를 미래방향으로 선형적으로 스케일링한 것이 상기 양방향 움직임 파라미터의 미래픽쳐 파라미터로 설정되고, 상기 어느 하나의 미래 픽쳐에 대한 움직임 파라미터를 과거방향으로 선형적으로 스케일링한 것이 상기 양방향 움직임 파라미터의 과거픽쳐 파라미터로 설정되는 것을 특징으로 하는 영상 복호화 방법.
  21. 제20항에 있어서,
    상기 양방향 움직임 파라미터의 설정은,
    상기 사용가능 블록의 움직임 파라미터 중에서 과거픽쳐의 움직임 파라미터와 미래픽쳐의 움직임 파라미터가 각각 하나 이상 존재하는 경우에 사용하는 것을 특징으로 하는 영상 복호화 방법.
  22. 제17항에 있어서,
    상기 양방향 움직임 파라미터의 설정이 불가능한 경우에는,
    해당 이용 불가능한 블록에 대해서는 제로벡터를 설정하는 사용하는 것을 특징으로 하는 영상 복호화 방법.
  23. 영상을 복호화하는 방법에 있어서,
    비트스트림으로부터 머지플래그를 추출하고 상기 머지플래그의 값이 머지 부호화를 의미하고 머지 부호화용 후보블록들 중에서 머지에 사용가능한 후보 블록이 있는지 확인하여 머지에 이용 불가능한 블록이 있는 것으로 확인된 경우, 상기 이용 불가능한 블록에 대하여 상기 후보블록들 중에서 두개의 후보블록에 대한 움직임파라미터를 이용하여 각각 생성한 블록신호를 평균한 값으로 상기 이용 불가능한 블록에 대응되는 예측블록을 설정하여 현재블록을 복호화하는 것을 특징으로 하는 영상 복호화 방법.
  24. 영상을 복호화하는 방법에 있어서,
    현재 픽처가 과거 혹은 미래 어느 한쪽 방향으로만 움직임보상이 가능한 경우 비트스트림으로부터 양방향예측 가능여부를 나타내는 플래그를 추출하고 상기 플래그로부터 양방향 예측 가능임을 확인하고 상기 비트스트림으로부터 예측방향 정보를 추출하고 상기 예측방향 정보가 주변블록의 움직임 파라미터를 이용한 양방향예측임을 확인하고 상기 비트스트림으로부터 주변블록 인덱스를 추출하고 상기 비트스트림으로부터 현재블록에 대한 움직임 파라미터를 복원하는 비트스트림 복호단계; 및
    상기 주변블록 인덱스로 식별되는 주변블록의 움직임 파라미터를 반대방향으로 설정한 움직임 파라미터와 복원된 상기 현재블록의 움직임 파라미터를 이용하여 양방향 예측을 수행하여 예측블록을 생성하는 인터예측단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
PCT/KR2012/010152 2011-11-28 2012-11-28 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치 WO2013081365A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US14/289,217 US9402084B2 (en) 2011-11-28 2014-05-28 Method and apparatus for video encoding/decoding using improved merge
US14/887,552 US9392299B2 (en) 2011-11-28 2015-10-20 Method and apparatus for video encoding/decoding using improved merge
US15/164,409 US9462292B1 (en) 2011-11-28 2016-05-25 Method and apparatus for video encoding/decoding using improved merge
US15/168,093 US9571852B2 (en) 2011-11-28 2016-05-30 Method and apparatus for video encoding/decoding using improved merge

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20110124967 2011-11-28
KR10-2011-0124967 2011-11-28
KR1020120134817A KR101934277B1 (ko) 2011-11-28 2012-11-26 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치
KR10-2012-0134817 2012-11-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/289,217 Continuation US9402084B2 (en) 2011-11-28 2014-05-28 Method and apparatus for video encoding/decoding using improved merge

Publications (1)

Publication Number Publication Date
WO2013081365A1 true WO2013081365A1 (ko) 2013-06-06

Family

ID=48535755

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/010152 WO2013081365A1 (ko) 2011-11-28 2012-11-28 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2013081365A1 (ko)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019235893A1 (ko) * 2018-06-08 2019-12-12 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN111064961A (zh) * 2018-09-12 2020-04-24 北京字节跳动网络技术有限公司 取决于总数减去k的开始检查hmvp候选的条件
WO2020187328A1 (en) * 2019-03-21 2020-09-24 Beijing Bytedance Network Technology Co., Ltd. Signaling of combined intra-inter prediction
US11463685B2 (en) 2018-07-02 2022-10-04 Beijing Bytedance Network Technology Co., Ltd. LUTS with intra prediction modes and intra mode prediction from non-adjacent blocks
US11528501B2 (en) 2018-06-29 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Interaction between LUT and AMVP
US11528500B2 (en) 2018-06-29 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a HMVP candidate to merge/AMVP
US11589071B2 (en) 2019-01-10 2023-02-21 Beijing Bytedance Network Technology Co., Ltd. Invoke of LUT updating
US11641483B2 (en) 2019-03-22 2023-05-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
US11695921B2 (en) 2018-06-29 2023-07-04 Beijing Bytedance Network Technology Co., Ltd Selection of coded motion information for LUT updating
US11877002B2 (en) 2018-06-29 2024-01-16 Beijing Bytedance Network Technology Co., Ltd Update of look up table: FIFO, constrained FIFO
US11895318B2 (en) 2018-06-29 2024-02-06 Beijing Bytedance Network Technology Co., Ltd Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
US11909989B2 (en) 2018-06-29 2024-02-20 Beijing Bytedance Network Technology Co., Ltd Number of motion candidates in a look up table to be checked according to mode
US11909951B2 (en) 2019-01-13 2024-02-20 Beijing Bytedance Network Technology Co., Ltd Interaction between lut and shared merge list
US11956464B2 (en) 2019-01-16 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Inserting order of motion candidates in LUT
US11973971B2 (en) 2018-06-29 2024-04-30 Beijing Bytedance Network Technology Co., Ltd Conditions for updating LUTs

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060013309A1 (en) * 2004-07-15 2006-01-19 Samsung Electronics Co., Ltd. Video encoding and decoding methods and video encoder and decoder
KR20060096514A (ko) * 2002-04-18 2006-09-11 가부시끼가이샤 도시바 동화상 복호화방법
KR20090038278A (ko) * 2007-10-15 2009-04-20 세종대학교산학협력단 영상의 부호화, 복호화 방법 및 장치
JP2009111762A (ja) * 2007-10-30 2009-05-21 Nippon Hoso Kyokai <Nhk> 画像符号化装置及び画像復号装置
KR20110071047A (ko) * 2009-12-20 2011-06-28 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060096514A (ko) * 2002-04-18 2006-09-11 가부시끼가이샤 도시바 동화상 복호화방법
US20060013309A1 (en) * 2004-07-15 2006-01-19 Samsung Electronics Co., Ltd. Video encoding and decoding methods and video encoder and decoder
KR20090038278A (ko) * 2007-10-15 2009-04-20 세종대학교산학협력단 영상의 부호화, 복호화 방법 및 장치
JP2009111762A (ja) * 2007-10-30 2009-05-21 Nippon Hoso Kyokai <Nhk> 画像符号化装置及び画像復号装置
KR20110071047A (ko) * 2009-12-20 2011-06-28 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2587983B (en) * 2018-06-08 2023-03-22 Kt Corp Method and apparatus for processing a video signal
US11412246B2 (en) 2018-06-08 2022-08-09 Kt Corporation Method and apparatus for processing video signal
WO2019235893A1 (ko) * 2018-06-08 2019-12-12 주식회사 케이티 비디오 신호 처리 방법 및 장치
GB2587983A (en) * 2018-06-08 2021-04-14 Kt Corp Method and apparatus for processing video signal
US11876998B2 (en) 2018-06-08 2024-01-16 Kt Corporation Method and apparatus for processing video signal
US11895318B2 (en) 2018-06-29 2024-02-06 Beijing Bytedance Network Technology Co., Ltd Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
US11877002B2 (en) 2018-06-29 2024-01-16 Beijing Bytedance Network Technology Co., Ltd Update of look up table: FIFO, constrained FIFO
US11695921B2 (en) 2018-06-29 2023-07-04 Beijing Bytedance Network Technology Co., Ltd Selection of coded motion information for LUT updating
US11973971B2 (en) 2018-06-29 2024-04-30 Beijing Bytedance Network Technology Co., Ltd Conditions for updating LUTs
US11528501B2 (en) 2018-06-29 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Interaction between LUT and AMVP
US11528500B2 (en) 2018-06-29 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a HMVP candidate to merge/AMVP
US11909989B2 (en) 2018-06-29 2024-02-20 Beijing Bytedance Network Technology Co., Ltd Number of motion candidates in a look up table to be checked according to mode
US11706406B2 (en) 2018-06-29 2023-07-18 Beijing Bytedance Network Technology Co., Ltd Selection of coded motion information for LUT updating
US11463685B2 (en) 2018-07-02 2022-10-04 Beijing Bytedance Network Technology Co., Ltd. LUTS with intra prediction modes and intra mode prediction from non-adjacent blocks
US20210297659A1 (en) 2018-09-12 2021-09-23 Beijing Bytedance Network Technology Co., Ltd. Conditions for starting checking hmvp candidates depend on total number minus k
CN111064961A (zh) * 2018-09-12 2020-04-24 北京字节跳动网络技术有限公司 取决于总数减去k的开始检查hmvp候选的条件
US11589071B2 (en) 2019-01-10 2023-02-21 Beijing Bytedance Network Technology Co., Ltd. Invoke of LUT updating
US11909951B2 (en) 2019-01-13 2024-02-20 Beijing Bytedance Network Technology Co., Ltd Interaction between lut and shared merge list
US11956464B2 (en) 2019-01-16 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Inserting order of motion candidates in LUT
US11962799B2 (en) 2019-01-16 2024-04-16 Beijing Bytedance Network Technology Co., Ltd Motion candidates derivation
US11425406B2 (en) 2019-03-21 2022-08-23 Beijing Bytedance Network Technology Co., Ltd. Weighting processing of combined intra-inter prediction
WO2020187328A1 (en) * 2019-03-21 2020-09-24 Beijing Bytedance Network Technology Co., Ltd. Signaling of combined intra-inter prediction
US11876993B2 (en) 2019-03-21 2024-01-16 Beijing Bytedance Network Technology Co., Ltd Signaling of combined intra-inter prediction
US11330257B2 (en) 2019-03-21 2022-05-10 Beijing Bytedance Network Technology Co., Ltd. Extended application of combined intra-inter prediction
US11641483B2 (en) 2019-03-22 2023-05-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools

Similar Documents

Publication Publication Date Title
WO2013081365A1 (ko) 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치
WO2012173415A2 (ko) 움직임 정보의 부호화 방법 및 장치, 그 복호화 방법 및 장치
WO2013002557A2 (ko) 움직임 정보의 부호화 방법 및 장치, 그 복호화 방법 및 장치
WO2013032073A1 (ko) Amvp 모드에서의 예측 블록 생성 방법
WO2017052081A1 (ko) 영상 코딩 시스템에서 인터 예측 방법 및 장치
WO2012081879A1 (ko) 인터 예측 부호화된 동영상 복호화 방법
WO2013077659A1 (ko) 모션 벡터의 예측 부호화/복호화 방법 및 장치
WO2010044563A2 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
WO2011031044A2 (ko) 고해상도 동영상의 부호화/복호화 방법 및 장치
WO2017082443A1 (ko) 영상 코딩 시스템에서 임계값을 이용한 적응적 영상 예측 방법 및 장치
WO2011053022A2 (en) Method and apparatus for encoding/decoding image with reference to a plurality of frames
WO2019117634A1 (ko) 2차 변환에 기반한 영상 코딩 방법 및 그 장치
WO2020091213A1 (ko) 영상 코딩 시스템에서 인트라 예측 방법 및 장치
WO2016085231A1 (ko) 비디오 신호 처리 방법 및 장치
WO2013109123A1 (ko) 인트라 예측 처리 속도 향상을 위한 비디오의 부호화 방법 및 장치, 비디오의 복호화 방법 및 장치
WO2015020504A1 (ko) 병합 모드 결정 방법 및 장치
WO2013109124A1 (ko) 쌍방향 예측 및 블록 병합을 제한하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2021137597A1 (ko) Ols에 대한 dpb 파라미터를 사용하는 영상 디코딩 방법 및 그 장치
WO2020130600A1 (ko) 예측 모드를 시그널링하는 비디오 신호 처리 방법 및 장치
WO2017195917A1 (ko) 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
WO2011053054A9 (ko) 움직임 벡터 해상도 제한을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2020251340A1 (ko) 움직임 벡터 예측 기반 영상/비디오 코딩 방법 및 장치
WO2020180043A1 (ko) Lmcs에 기반한 영상 코딩 방법 및 그 장치
WO2020141833A1 (ko) 영상 복호화 방법, 영상 부호화 방법, 영상 복호화 장치, 영상 부호화 장치 및 컴퓨터 판독 가능한 기록 매체
WO2022065977A1 (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: 12853927

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12853927

Country of ref document: EP

Kind code of ref document: A1