WO2013077659A1 - Method and apparatus for predictive encoding/decoding of motion vector - Google Patents

Method and apparatus for predictive encoding/decoding of motion vector Download PDF

Info

Publication number
WO2013077659A1
WO2013077659A1 PCT/KR2012/009964 KR2012009964W WO2013077659A1 WO 2013077659 A1 WO2013077659 A1 WO 2013077659A1 KR 2012009964 W KR2012009964 W KR 2012009964W WO 2013077659 A1 WO2013077659 A1 WO 2013077659A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
motion vector
representative
blocks
neighboring
Prior art date
Application number
PCT/KR2012/009964
Other languages
French (fr)
Korean (ko)
Inventor
임정연
박중건
문주희
이영렬
김해광
전병우
한종기
임성원
이주옥
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020120133206A external-priority patent/KR101960761B1/en
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Publication of WO2013077659A1 publication Critical patent/WO2013077659A1/en
Priority to US14/286,072 priority Critical patent/US9503721B2/en
Priority to US15/234,578 priority patent/US9521406B1/en
Priority to US15/278,019 priority patent/US9648329B2/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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Definitions

  • the present invention relates to a method and apparatus for predictive encoding / decoding of motion vectors. More specifically, the present invention relates to a method and apparatus for improving the coding efficiency by predicting the motion vector of the current block more accurately using the motion vectors of neighboring blocks of the current block.
  • 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 signals) using neighboring pixels neighboring a current block (original signal) and then transmitting the residual data (residual signal) which is the difference.
  • the 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 includes a motion vector indicating a position of a prediction block, a reference picture index indicating which picture the motion vector is found (indicated by the previous picture or two pictures). ), 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 number of data to be transmitted decreases, 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 AMVP is an index indicating a prediction motion vector (MVP), which is a prediction value of a motion vector of a current block, using motion vectors of blocks neighboring the current block, and using a motion vector of a block, which indicates an index indicating a prediction value of a motion vector.
  • MVP prediction motion vector
  • It is a method of encoding.
  • the image encoding apparatus calculates a differential motion vector corresponding to the difference between the prediction motion vector and the current motion vector, encodes the same, and transmits the same to the decoding apparatus.
  • 1 is a diagram illustrating neighboring blocks A0, A1, B0, B1, and B2 of a 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.
  • Temporally, one motion vector is selected as the representative motion vector.
  • 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. 2 is a diagram illustrating similar position blocks A to E for a temporal representative motion vector.
  • a temporal candidate is determined by determining a block including one of blocks A to D as a co-located block in a previous frame of the current block.
  • block E may be used, and in addition to block E, all neighboring blocks may be selected as temporal candidates.
  • a differential motion vector with a current motion vector and an index indicating which block a motion vector is selected are encoded.
  • the motion vector of the block having the highest coding efficiency is the final predicted motion. Determined by a vector.
  • the number of candidate blocks used for determining the predictive motion vector is limited and predetermined, thereby improving the coding efficiency.
  • the present invention encodes by widening the selection of candidate blocks and representative blocks using various neighboring blocks in predicting the motion vectors of the current block more accurately using the motion vectors of neighboring blocks of the current block. Its main purpose is to increase the likelihood of improving efficiency.
  • the representative block is selected according to the priority of the motion compensation direction for each neighboring block, and the selected block is selected.
  • an entropy encoding unit encoding a motion vector of the current block by using a motion vector selected from a motion vector of a representative block and a candidate motion vector of a predetermined neighboring picture as a predictive motion vector.
  • the entropy encoding unit may set the priority of the motion compensation direction with respect to the past direction and the future direction, and select a block in which the motion compensation is performed in the direction having the highest priority among the neighboring blocks as the representative block.
  • the AMVP index is extracted from the bitstream and the priority of the motion compensation direction performed in each neighboring block among the neighboring blocks decoded by using inter prediction.
  • a bitstream decoder configured to select one or more representative blocks according to the at least one representative block and identify the extracted AMVP index in consideration of the selected representative block and candidate motion blocks of a predetermined neighboring picture; And reconstructing the motion vector of the block identified according to the AMVP index among the selected representative block and the candidate motion blocks of the neighboring picture to the prediction motion vector of the current block, and reconstructing the motion vector of the current block to generate a prediction block. It provides a video decoding apparatus comprising a prediction unit.
  • the bitstream decoder may set the priority of the motion compensation direction with respect to the past direction and the future direction, and select a block that performs motion compensation in a direction having a high priority among the neighboring blocks as a representative block.
  • the representative block may be selected one by one from the left neighboring block group and the upper neighboring block group of the current block.
  • the entropy coding unit may select the representative block by further considering the priority of the distance to the picture referred to by each neighboring block. Further, the priority considered further may be determined depending on whether the distance between the picture referenced by the current block and the picture referenced by the neighboring block is equal to each other.
  • an AMVP index is extracted from a bitstream, and a distance from a picture referenced by each neighboring block for motion compensation among neighboring blocks decoded using inter prediction.
  • a method of encoding an image comprises: selecting a representative block according to a priority of a motion compensation direction for each neighboring block among neighboring blocks encoded by using inter prediction; And encoding a motion vector of the current block by using a motion vector selected from a motion vector of the selected representative block and a candidate motion vector of a predetermined neighboring picture as a predictive motion vector. do.
  • a method of decoding an image comprising: extracting an AMVP index from a bitstream; Selecting one or more representative blocks according to the priority of the motion compensation direction performed in each neighboring block among the neighboring blocks decoded using the inter prediction; Identifying the extracted AMVP index in consideration of the selected representative block and candidate motion blocks of a predetermined neighboring picture; Generating a prediction block by reconstructing a motion vector of a block identified according to the AMVP index among the selected representative blocks and candidate motion blocks of the neighboring picture to a prediction motion vector of the current block, and reconstructing the motion vector of the current block. It provides a video decoding method comprising a.
  • the priority of the motion compensation direction for the past direction and the future direction is set, and the block that performs the motion compensation in the direction of high priority among the neighboring blocks as the representative block
  • the representative block may be selected one by one from the left neighboring block group and the upper neighboring block group of the current block.
  • an AMVP index is extracted from a bitstream, and distance from a picture referenced by each neighboring block for motion compensation among neighboring blocks decoded using inter prediction.
  • the present invention in predicting the motion vector of the current block more accurately using the motion vectors of the neighboring blocks of the current block, it is possible to improve the coding efficiency by widening the selection of the candidate block and the representative block using the various neighboring blocks.
  • the height is effective.
  • 1 is a diagram illustrating neighboring blocks A0, A1, B0, B1, and B2 of a current block used for AMVP.
  • FIG. 2 is a diagram illustrating a similar position block for a temporal representative motion vector.
  • FIG. 3 is a block diagram schematically illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating an example of division of a largest coding unit block.
  • FIG. 5 is a diagram illustrating an example of a prediction unit block.
  • FIG. 6 is a diagram illustrating a case of a process of creating a prediction block using pixel values above a current block.
  • FIG. 7 is a diagram illustrating the types of intra prediction modes and their indices.
  • FIG. 8 is a diagram illustrating an interior of an inter prediction unit for performing inter prediction of various methods.
  • FIG. 9 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. 10 is a diagram illustrating an example of neighboring blocks used for inter prediction using a merge method.
  • FIG. 11 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. 12 is a diagram illustrating a zigzag scan of quantized coefficient blocks.
  • FIG. 13 is a diagram illustrating a truncated code that encodes an index used for AMVP, merge and skip.
  • FIG. 14 is a diagram illustrating an inter prediction mode of a neighboring block of a current block.
  • 15 is a diagram illustrating an inter prediction direction of a neighboring block of a current block.
  • 16 is a diagram illustrating a block size of a neighboring block of the current block.
  • 17 is a flowchart illustrating a method of obtaining a representative motion vector from a motion vector of a candidate block.
  • 18 is a diagram illustrating an inter prediction mode and a prediction direction of neighboring blocks of a current block.
  • FIG. 19 shows another example of a neighboring block.
  • 20 is a block diagram schematically illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 3 is a block diagram schematically illustrating a configuration of an image encoding apparatus 100 according to an embodiment of the present invention.
  • each component of the image encoding apparatus 100 according to an embodiment of the present invention will be described briefly.
  • the image encoding apparatus 100 is an apparatus for encoding an image, and the image encoding apparatus 100 is largely divided into a block splitting unit 101 and an intra predictor 102. Inter Predictor 103, Transformer 104, Quantizer 105, Motion Compensator 106, Entropy Coder 107, Inverse Quantizer An inverse quantizer 109, an inverse transformer 109, a memory 110, a subtractor 111, an adder 112, and an adder 112 may be included.
  • 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.
  • 4 is a diagram illustrating an example of division of a largest coding unit block.
  • Each coding unit block includes one or more prediction unit blocks as shown in FIG. 5 according to a prediction type.
  • the prediction unit block is the smallest unit that holds the prediction information. More levels may be used, usually using three-level quadtrees, and in general the maximum depths for luma and chroma are the same. In FIG.
  • 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)
  • (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 information in a picture. A prediction block is generated using pixel values neighboring the current block as shown in FIG. 6, and then the difference value with the current block is encoded. In FIG. 6, the prediction block is generated using pixel values existing above the current block. However, in addition to the pixel value above, the neighboring pixel values around the current block as shown in FIG. 7 are set to intra mode using pixel values of various angles. The prediction block may be generated. Each number illustrated in FIG. 7 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. 8 is a diagram illustrating an inter prediction unit 103 that performs 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. 8, prediction may be performed according to three methods such as skip, merge, and motion estimation.
  • FIG. 9 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 the 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).
  • MVD MV-MVP
  • 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. 10 is a diagram illustrating an example of neighboring blocks used for inter prediction using a merge method.
  • Merge 303 is one of techniques for determining a motion parameter for a current block in a neighboring block of the current block.
  • an optimal block for merging may be found in blocks A through E and the temporal candidate blocks of FIG. 2, or two having higher priority by giving priority to blocks A through E of FIG. 10.
  • An optimal block may be determined among the two candidate blocks (ie, the representative block) and the temporal candidate blocks in FIG. 2.
  • a temporal candidate block means a block of pictures that are located in the temporal vicinity, and a block located in the immediately preceding picture but present in the same spatial position as the current block may be used.
  • the meaning of the temporal candidate block is the same as that of the merge even when used for AMVP.
  • Skip 304 refers to a case where a residual signal value of the residual block is all zero when a block (prediction block) most similar to the current block is found using the motion parameter of the neighboring block.
  • 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 neighboring blocks neighboring the current block for AMVP, merge, and skip are candidate blocks other than neighboring blocks A0 to B2 shown in FIG. 1 and neighboring blocks A to E shown in FIG. Can be.
  • 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 a unit used for the transform and quantization process.
  • the transform unit may be divided in the same manner as the coding unit as shown in FIG. 4, or may be transformed by splitting in other various ways. 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 transform techniques such as Discrete Cosine Transform (DCT) based, Discrete Sine Transform (DST), and Karhunen Loeve Transform (KLT) can be used.
  • DCT Discrete Cosine Transform
  • DST Discrete Sine Transform
  • KLT Karhunen Loeve Transform
  • the residual signal is converted into a frequency domain and converted into a transform coefficient.
  • matrix operations are performed using a basis vector.
  • the transform methods may 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 a quantized transform coefficient.
  • DZUTQ dead zone uniform threshold quantization
  • DZUTQ quantization weighted matrix
  • various quantization methods such as quantization improved therefrom 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 through interpolation between pixel values of the reference picture for pixels smaller than an integer pixel.
  • FIG. 11 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 the quantized transform coefficients of the quantized transform block output from the quantization unit 105 by various scan methods such as a zigzag scan. 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
  • FIG. 13 is an example of a truncated code that encodes an index used for AMVP, merge, and skip. Bits may be allocated differently according to the number of blocks available nearby. In addition, it is possible to use only a table for the maximum number of blocks, as shown in the first table of FIG. 13, regardless of the number of available blocks nearby.
  • the entropy encoding unit 107 selects a representative block according to the priority of the inter prediction method performed from the neighboring blocks that have performed the inter prediction, and selects a representative block from the motion vectors of the selected representative block and the blocks included in the previous picture.
  • the motion vector of the current block can be encoded by using the optimal motion vector most similar to the motion vector of the current block among the motion vectors of the block located at the position similar to the current block as the prediction motion vector.
  • the inter prediction method means one of an AMVP method, a skip, and a merge.
  • a block located at the same or similar position as the current block among the blocks included in the previous picture means a temporal candidate block as described above.
  • the entropy encoding unit 107 selects an optimal motion vector most similar to the current motion vector among the selected representative motion vectors as a predictive motion vector, encodes an index of the selected position, and transmits the index to the image decoding apparatus. In addition, the entropy encoding unit 107 encodes the difference value between the current motion vector and the set prediction motion vector, generates a bitstream, and transmits the bitstream to the image decoding apparatus.
  • the representative block for the AMVP in the neighboring candidate blocks neighboring to the current block according to the inter prediction mode is performed in the left group and the upper two groups. It shows how to select one each and set it as a representative block for AMVP.
  • the case where the representative vector is selected from the candidate blocks means that the representative block is selected from the candidate blocks according to a predetermined criterion and the motion vector most similar to the current motion vector among the motion vectors of the selected representative block. (Ie, representative vector) is set as a predicted motion vector.
  • FIG. 14 is a diagram illustrating an inter prediction mode of a neighboring block of a current block.
  • the entropy encoding unit 107 may include two groups (eg, left block groups (a, b, c) and an upper block in FIG. 14 to which neighboring candidate blocks belong when encoding information on a motion vector of the current block).
  • Group (d, e, f, g)) respectively, to select a representative block, a total of three including the motion vector of the two selected representative blocks and the motion vector (that is, the temporal candidate vector) of the temporal candidate block
  • the most optimal predictive motion vector is selected among the representative vectors and the corresponding index is assigned and encoded.
  • the residual vector mvd which is a difference value between the motion vector of the original current block and the selected predicted motion vector, is encoded.
  • the priority of the inter prediction mode is set to 'AMVP> Skip> Merge'
  • a block encoded using AMVP is preferentially selected, and if there is no block using AMVP, skipping, The blocks encoded in the merge order are selected. Therefore, in FIG. 14, block c is selected as the representative vector in the left group and block f in the upper group.
  • the representative vector is given priority in the selection direction such as 'right> left' in the upper group and 'down> up' in the left group. Select.
  • the priority of the selection direction may be the opposite direction.
  • generation of the representative vector is not necessarily limited to one in the left group and one in the upper group, and a plurality of representative vectors may be selected in one group.
  • the priority of the inter prediction mode is not limited to 'AMVP> skip> merge', and the priority may be determined in various ways for the AMVP, skip, and merge methods.
  • the process of selecting the representative block is the same as the process of selecting the representative block in the video encoding process.
  • an index of which block is finally selected from a representative block and a temporal candidate block is extracted from a bitstream, and a motion vector of a block corresponding to the extracted index is decoded into a prediction motion vector, The residual vector decoded from the stream is added to reconstruct the motion vector of the final current block.
  • 15 is a diagram illustrating an inter prediction direction of a neighboring block of a current block.
  • the entropy encoding unit 107 like the first embodiment, includes two groups to which neighboring candidate blocks belong when encoding information on the motion vector of the current block (left groups (a, b, c) and the uppermost group (d, e, f, g)) select the most optimal predictive motion vector among the representative vectors of the three blocks, including the representative block and the temporal candidate block, respectively, and assign the corresponding index.
  • the residual vector mvd which is a difference value between the motion vector of the original current block and the selected predicted motion vector, is encoded. The same applies to the third embodiment described later.
  • the second embodiment is different from the first embodiment in that the representative block is selected according to the priority of the inter prediction direction of the neighboring blocks.
  • the representative block may select one representative block from the left group block (a, b, c, d) and the upper group block (d, e, f, g).
  • One or more representative blocks may be selected in each of the and upper groups, or only one representative block may be selected in the left group and the upper group.
  • the priority of the prediction direction may be set to two or more of the three directions of the past direction (list0), the future direction (list1), and the bidirectional direction.
  • one or more representative blocks may be selected from the candidate blocks in consideration of the priority of the motion compensation direction of the candidate block according to the motion compensation direction of the current block. For example, if the motion estimation of the current block is progressing in the past direction, the motion compensation direction is the same as the motion estimation direction of the current block with respect to one of the surrounding blocks (ie, the first candidate block). Determine whether to select the representative block. If it is different from the motion estimation direction of the current block with respect to the first candidate block, it is determined whether the serial number (POC: Pictute of Count) of the reference picture is identical with each other for the current block and the first candidate block. If the numbers are the same, the first candidate block may be selected as the representative block.
  • POC Pictute of Count
  • the first candidate block is not selected as the representative block after checking whether to select the representative block in consideration of the priority of the motion compensation direction with respect to the first candidate block as described above, another candidate block (ie, the second candidate block) Similarly to the case of the first candidate block, it is determined whether to select the second candidate block as a representative block in consideration of the priority of the motion compensation direction.
  • 16 is a diagram illustrating a block size of a neighboring block of the current block.
  • the entropy encoding unit 107 selects the representative block according to the priority of the block size of the neighboring block, which is different from the first and second embodiments.
  • the priority of the block size is set (for example, 'large block> small block')
  • blocks b and d are respectively selected as the representative blocks in FIG. 16.
  • a representative block it is also possible to select a representative block according to the priority of the size of the neighboring block to the size of the current block. For example, when the size of the current block is set to 16 ⁇ 16, a high priority may be set to a block near the size of 16 ⁇ 16 among the neighboring blocks and selected as the representative block among the neighboring blocks.
  • the motion vector of the representative block selected here becomes a representative motion vector (ie, a representative vector).
  • the entropy encoding unit 107 selects one or more representative blocks from the neighboring blocks according to the priority of the distance of the pictures referred to from the neighboring blocks, which is different from the first, second, and third embodiments. to be.
  • the distance between the neighboring block and the referenced picture is set in order of priority (for example, the distance from the reference picture of the neighboring block c is 2, neighboring).
  • the distance from the reference picture of the block d is 1 and the distance from the reference picture of the neighboring block e is 3, the highest priority is set in the neighboring block d) so that the motion vector of the nearest block can be set as the representative vector.
  • the motion vector may be selected as a representative vector.
  • the priority block may be determined according to the motion compensation direction, and then the representative block may be selected in consideration of the priority of the distance to the picture referenced by each neighboring block.
  • the priority may be determined according to whether the distance between the picture referenced by the current block and the picture referenced by the neighboring block is equal to each other when the priority is the same according to the motion compensation direction. That is, if the distances are equal to each other, the priority is high, and if the distances are not equal, the priority may be set to be low.
  • a predetermined number of blocks among neighboring blocks of the current block are used as candidate blocks for selecting a representative block.
  • candidate blocks are selected from among neighboring blocks according to a predetermined criterion.
  • the entropy encoding unit 107 selects a candidate block according to a predetermined priority from among neighboring blocks on which the inter prediction is performed, and represents the representative block according to a predetermined condition among the selected candidate blocks.
  • the motion vector of the current block is encoded by using the optimal motion vector as the predictive motion vector among the motion vectors of the selected representative block and the motion vectors of the temporal candidate blocks.
  • the number of candidate blocks selects two candidate blocks from the left group of neighboring blocks and three candidate blocks from the upper group.
  • the priority of the selection direction in each group is assumed to be 'down> up' in the left group and 'right> left' in the upper group unless otherwise stated.
  • the entropy encoding unit 107 selects a candidate block according to the priority of the performed inter prediction method among neighboring blocks on which the inter prediction is performed.
  • the representative vector is immediately selected according to a predetermined criterion in each group.
  • a predetermined number of candidate blocks is determined for each group according to the inter prediction mode, and then representative blocks are selected using FIG. 17.
  • 18 is a diagram illustrating an inter prediction mode and a prediction direction of neighboring blocks of a current block.
  • the representative vector is selected using the method of FIG.
  • the prediction direction may be used as one kind of motion compensation direction (past or future).
  • candidate blocks of group A are A0 (block 1) and A1 (block 2).
  • A0 becomes block 1 in FIG. 17
  • A1 becomes block 2.
  • FIG. First, start with X 1 (S1701). It is determined whether the reference picture index and the prediction direction of the block X are the same as the current block (S1702). If the determination of step S1702 is YES, block X becomes a representative block (ie, the motion vector of the block becomes a representative vector).
  • step S1702 determines whether there is a remaining block (S1703). If the determination result of step S1703 is YES, 1 is increased to X (ie, block 2). The flow proceeds to step S1702 (S1704).
  • step S1703 If the determination result in step S1703 is no, 1 is substituted into X (S1705), 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 (S1706). If the determination of step S1706 is YES, block X becomes a representative block. If the determination result of step S1706 is no, the reference picture index of block X is different from the current block, but it is determined whether the prediction direction is the same (S1707). If the determination result of step S1707 is YES, block X becomes a representative block. If the determination result of step S1707 is no, it is checked whether the reference picture index of the block X and the prediction direction are different from the current block (S1708).
  • step S1708 If the result of the determination of step S1708 is YES, block X becomes a representative block. If the result of the determination in step S1708 is no, it is determined whether there are more remaining blocks. If there is a remaining block, X is incremented to 1 (that is, block 2) and the process proceeds to step S1706 again (S1710).
  • the present invention means that the block is not available for inter prediction. For example, this is the case of an intra prediction block.
  • the representative vector can be extracted in a similar way for the upper group.
  • the entropy encoding unit 107 selects a candidate block according to the priority of the performed inter prediction direction among neighboring blocks on which the inter prediction is performed.
  • the unidirectional blocks among neighboring blocks are preferentially set as candidate blocks, and then a representative vector is selected using the algorithm of FIG.
  • block c and block a are selected as candidate blocks in the left group
  • block f, block d and block g are candidate blocks in the upper group. Is selected.
  • one representative block for each group is selected for each candidate block for each group according to the algorithm of FIG. 17.
  • the motion compensation direction of the neighboring blocks is set to a candidate block by setting a high priority to a block having the past motion compensation direction and then using the algorithm of FIG. 17 as a representative vector. You can also choose.
  • the entropy encoding unit 107 selects a candidate block according to the priority of the performed inter prediction block size among neighboring blocks on which the inter prediction is performed.
  • the blocks of the large block are preferentially set as candidate blocks, and then the representative vector is selected using the algorithm of FIG.
  • block b and block a are selected as candidate blocks in the left group, and block d, block e and block c are selected in the upper group. It is selected as a candidate block.
  • one representative block for each group is selected for each candidate block for each group according to the algorithm of FIG. 17.
  • the entropy encoding unit 107 selects a candidate block according to the priority of the distance to the referenced picture among the neighboring blocks on which the inter prediction is performed.
  • the priority of the reference picture is as follows: the distance from the reference picture of the neighboring block c is 2, the distance of the reference picture of d is 1, When the distance of the reference picture of e is 3, the highest priority is set to d), and the block closest to the distance of the reference picture is preferentially set as the candidate block, and then the representative vector is selected using the algorithm of FIG.
  • the priority block is set after the high priority is set to a block closest to 2 among the neighboring blocks.
  • the algorithm of 17 may be used to select a representative vector.
  • the candidate blocks are candidates in the search order according to any priority among the inter prediction method, the inter prediction direction, the motion compensation direction, the block size, and the distance to the reference picture. It is determined whether a block meets a predetermined condition and is selected as a representative block. For example, if the priority is set to 'unidirectional> bidirectional', two 17 algorithms are applied with a unidirectional block to block 1 and a bidirectional block to block 2. If there are two unidirectional blocks, the lower block becomes block 1 and the upper block becomes block 2 according to the selection direction priority (for example, 'down> up'), and the algorithm of FIG. 17 is applied.
  • Figure 19 shows another example of the peripheral block. If a candidate block is selected in the fifth embodiment, candidate blocks for each group are found in the order of AMVP, skip, and merge among the interpredicted blocks. Thus, two candidate blocks are selected in the left group and three in the upper group.
  • 20 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, a personal digital assistant (PDA), a portable multimedia player, as the above-described image encoding apparatus.
  • PC personal computer
  • PDA personal digital assistant
  • PMP Portable Multimedia Player
  • PSP PlayStation Portable
  • wireless terminal Wireless Terminal
  • digital TV etc.
  • communication devices such as a communication modem for communicating with various devices or wired or wireless communication network, video Means a variety of devices including a memory for storing the program and a memory for storing the data, a microprocessor for the operation and control by running the program.
  • 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.
  • the bitstream decoder 401 extracts and decodes the encoded difference vector from the bitstream, reconstructs the differential vector, and extracts an AMVP index for the differential motion vector used in the AMVP from the bitstream.
  • the motion vector of the neighboring block corresponding to the position identified from the extracted AMVP index is reconstructed into the predicted motion vector, and the reconstructed predictive motion vector and the decoded difference vector are added to reconstruct the motion vector of the current block to be reconstructed.
  • the process of selecting a representative block in order to decode the motion vector in the bitstream decoder 401 of the image decoding apparatus 400 may include: a bitstream decoder of the image encoding apparatus 100. It is the same as the representative block selection process in the encoding process performed at 401. Accordingly, the bitstream decoding unit 401 selects the representative block according to at least one priority from among the inter prediction method, the motion compensation direction, the block size, and the distance to the referenced picture with respect to predetermined neighboring blocks of the current block. .
  • the bitstream decoder 401 extracts and decodes an encoded intra prediction mode index from the bitstream to inform which intra prediction mode the current block used.
  • 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. 3, 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 selecting the representative block is the same as in the image encoding apparatus, and the bitstream decoding unit 401 extracts an index from the bitstream and decodes which block was finally selected as the differential motion vector.
  • the motion vector and the decoded residual vector are added to restore the final motion vector of the current block.
  • the intra prediction unit 406 uses the motion vector generated here to predict the current block to be reconstructed.
  • the image encoding / decoding apparatus may be implemented by connecting a bitstream (encoded data) output terminal of the image encoding apparatus of FIG. 3 to a bitstream input terminal of the image decoding apparatus of FIG. 20.
  • An image encoding / decoding apparatus includes any one of an inter prediction method, an inter prediction direction, a motion compensation direction, a block size, and a distance from a reference picture with respect to predetermined neighboring blocks of the current block. Select the representative block according to the rank or select the candidate block according to the priority of any one of the inter prediction method, the inter prediction direction, the motion compensation direction, the block size, and the distance to the reference picture with respect to a predetermined neighboring block of the current block.
  • the representative block is selected according to a predetermined condition with respect to the selected candidate block, and the optimal motion vector is selected from the motion vector of the selected representative block and the motion vector of the block of another picture at a position similar to the current block (ie, a temporal candidate motion vector).
  • AMVP index an index
  • the representative block corresponding to the index is identified by selecting the representative block according to at least one priority among the inter prediction method, the inter prediction direction, the motion compensation direction, the block size, and the distance from the reference picture.
  • An image decoding apparatus 400 for reconstructing a motion vector of a block into a predicted motion vector of a current block and reconstructing the current block using the reconstructed predictive motion vector (image in an image encoding / decoding apparatus according to an embodiment of the present invention). May be implemented).
  • the image decoding apparatus 100 divides an input image into coding unit blocks by the block division unit 101, and the intra prediction unit 102 selects a current block. Generating a prediction block using pixel values in a picture or inter prediction unit 103 generating a prediction block using information of previously encoded and decoded pictures of the current block, and subtracting unit 111 in the current block.
  • the first embodiment of the entropy encoding step selects a representative block according to the priority of the used inter prediction method from among neighboring blocks encoded using inter prediction.
  • the motion vector of the current block is encoded by using the motion vector selected from the motion vector and the temporal candidate motion vector of the selected representative block as the prediction motion vector.
  • the method of selecting a representative block according to the priority of the inter prediction method includes setting priorities for the prediction method (AMVP), the skip (SKIP) method, and the merge method using motion estimation, and among the neighboring blocks. It may mean that a predetermined number of blocks on which inter prediction is performed in a high priority method is selected as a representative block.
  • the second embodiment of the entropy encoding step selects a representative block according to the priority of the used inter prediction direction from among neighboring blocks encoded using inter prediction.
  • the motion vector of the current block is encoded by using the motion vector selected from the motion vector and the temporal candidate motion vector of the selected representative block as a prediction motion vector.
  • the method of selecting a representative block according to the priority of the inter prediction direction, the priority of the two or more prediction directions of the past prediction, future prediction and bidirectional prediction, and sets the priority of the prediction direction with a higher priority among the neighboring blocks This may mean selecting a predetermined number of blocks on which inter prediction is performed as a representative block.
  • the third embodiment of the entropy encoding step selects a representative block according to the priority of the block size from among neighboring blocks encoded by using inter prediction, and selects the selected representative.
  • a motion vector of the current block is encoded using a motion vector selected from a motion vector of the block and a temporal candidate motion vector as a prediction motion vector.
  • the priority of the small block and the large block is set, and a predetermined number of blocks in which inter prediction is performed with a block size having a high priority among neighboring blocks. It may mean selecting as a representative block.
  • the fourth embodiment of the entropy encoding step selects a candidate block according to the priority of the used inter prediction method from among neighboring blocks encoded using inter prediction.
  • the representative block is selected from among the selected candidate blocks according to a predetermined condition, and the motion vector of the current block is encoded using a motion vector selected from the motion vector and the temporal candidate motion vector of the selected representative block as a prediction motion vector.
  • the method for selecting a candidate block according to the priority of the inter prediction method includes setting a priority for a prediction method (AMVP), a skipping method (SKIP) method, and a merging method using motion estimation, and among the neighboring blocks. This may mean selecting a predetermined number of blocks for which inter prediction is performed in a high priority method as candidate blocks.
  • AMVP a prediction method
  • SKIP skipping method
  • merging method using motion estimation and among the neighboring blocks. This may mean selecting a predetermined number of blocks for which inter prediction is performed in a high priority method as candidate blocks.
  • the fifth embodiment of the entropy encoding step selects a candidate block according to the priority of the used inter prediction direction from among neighboring blocks encoded using inter prediction.
  • the representative block is selected from among the selected candidate blocks according to a predetermined condition, and the motion vector of the current block is encoded using the motion vector selected from the motion vector and the temporal candidate motion vector of the selected representative block as a prediction motion vector.
  • a predetermined number of blocks in which the priority for unidirectional and bidirectional prediction are set and the inter prediction is performed in a method having a higher priority among neighboring blocks are candidates. Select as a block or select a preset number of blocks that set priorities for two or more prediction directions among past prediction, future prediction, and bidirectional prediction, and perform inter prediction by using a higher priority among neighboring blocks as candidate blocks. It can mean doing.
  • the sixth embodiment of the entropy encoding step may include selecting a candidate block according to a priority of a block size among neighboring blocks encoded by using inter prediction, and selecting the selected block.
  • a representative block is selected according to a predetermined condition among candidate blocks, and a motion vector of the current block is encoded using a motion vector selected from the motion vector and the temporal candidate motion vector of the selected representative block as a prediction motion vector.
  • the priority of the small blocks and the large blocks is set, and the predetermined number of blocks in which inter prediction is performed with the block size having the highest priority among the neighboring blocks is performed. This may mean selecting as a candidate 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.
  • any one of a priority among an inter prediction method, an inter prediction direction, a motion compensation direction, a block size, and a distance from a reference picture among neighboring blocks on which inter prediction is performed The candidate block is selected according to the priority of any one of the representative blocks or the neighboring blocks that have performed the inter prediction, among the inter prediction method, the inter prediction direction, the motion compensation direction, the block size, and the distance from the reference picture.
  • a representative block is selected for the selected candidate block according to a predetermined condition, and the motion vector of the current block is a bitstream using an optimal motion vector among the motion vector and temporal candidate motion vector of the selected representative block as a prediction motion vector.
  • Video encoding step of encoding And extracting an index (AMVP index) and a residual vector for a prediction motion vector from the bitstream, and using the inter prediction method, an inter prediction method, an inter prediction direction, a motion compensation direction, a block size, and a reference picture among neighboring blocks encoded using inter prediction.
  • Select the representative block according to the at least one priority among the distances from the target and identify the index in consideration of the selected representative block to restore the motion vector of the representative block corresponding to the index to the predicted motion vector of the current block The video decoding step of recovering the current block by using a.
  • encoding efficiency is increased by widening the selection of candidate blocks and representative blocks using various neighboring blocks in predicting the motion vectors of the current block more accurately by using the motion vectors of neighboring blocks of the current block.
  • This is a very useful invention because it has the effect of increasing the possibility of improving.

Abstract

Provided is a method and an apparatus for image encoding/decoding, one embodiment of the present invention comprising: an image encoder which selects at least one representative block from among neighboring blocks, which have been encoded via inter-prediction, on the basis of the order of priority of the inter-predictive method, inter-predictive direction, motion compensation direction, size of the block and the distance from the reference picture, encodes the motion vector of the current block using the motion vector selected as a motion vector predictor from among the motion vectors of the selected representative block and temporal candidate motion vector, and outputs a bit stream; and an image decoder which extracts an index for a motion vector predictor and a residual vector from the bit stream, selects at least one representative block from among the neighboring blocks, which have been encoded via inter-prediction, on the basis of the order of priority of the inter-predictive method, inter-predictive direction, motion compensation direction, size of the block and the distance from the reference picture, identifies the index by considering the selected representative block, decodes the motion vector of the representative block corresponding to the index as the motion vector predictor of the current block, and decodes the current block.

Description

모션 벡터의 예측 부호화/복호화 방법 및 장치Method and apparatus for predictive coding / decoding of motion vectors
본 발명은 모션 벡터의 예측 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 현재 블록의 주변 블록들의 모션 벡터들을 이용하여 보다 정확하게 현재 블록의 모션 벡터를 예측하여 부호화 효율을 향상시키기 위한 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for predictive encoding / decoding of motion vectors. More specifically, the present invention relates to a method and apparatus for improving the coding efficiency by predicting the motion vector of the current block more accurately using the motion vectors of neighboring blocks of the current block.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this section merely provide background information on the embodiments of the present invention and do not constitute a prior art.
통상적으로 동영상은 일련의 픽쳐(Picture)로 구성되어 있으며, 각 픽쳐들은 블록(Block)과 같은 소정의 영역으로 분할된다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류된다. 인트라 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽쳐 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 픽셀을 이용하여 현재 블록의 픽셀을 예측함으로써 예측 블록을 생성하고 현재 블록의 픽셀과의 차분값을 부호화하는 방식이다. 인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽쳐 또는 미래 픽쳐를 참조하여 현재 픽쳐 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽쳐를 부호화하거나 복호화하는데 참조되는 픽쳐를 참조 픽쳐(Reference Picture)라고 한다.In general, a moving picture is composed of a series of pictures, and each picture is divided into a predetermined area such as a block. When a region of an image is divided into blocks, 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. Here, a picture referred to for encoding or decoding the current picture is referred to as a 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)으로 표현될 수 있으며, 그만큼 부호화에 사용되는 비트수가 줄어들고 복호화장치로 전송되는 전체 영상의 크기가 줄어들게 된다. 즉, 예측을 잘 할수록 부호화 효율이 높아지게 된다.In general, the reason for encoding a video signal is to reduce the size (capacity) of the video, that is, to compress the video. In general, image compression is performed by two methods of intra prediction and inter prediction. The purpose of the prediction is to predict a similar signal from the original signal and transmit the difference value. Assuming that there are 100, 200, 150, 240, and 178 pixel values, the binary representation is 100 = 1100100 (2), 200 = 11001000 (2), 150 = 10010110 (2), 240 = 11110000 (2), 178 = 10110010 (2) and a total of 40 bits are used. However, if these values are predicted (assuming that the predicted values are 95, 190, 149, 240, 178) and only the residual signal that is the difference from the original signal is encoded, 5 = 101 (2), 10 = 1010 (2), 1 = 1 (2) and 0 = 0 (2), and thus the number of bits used for encoding is reduced and the size of the entire image transmitted to the decoding apparatus is reduced. In other words, the better the prediction, the higher the coding efficiency.
예측기에는 크게 인트라예측, 인터예측, 두 가지 방법이 있다.There are two types of predictors: intra prediction and inter prediction.
인트라예측은 현재 블록(원래신호)과 이웃하는 주위 픽셀들을 이용하여 예측블록(예측신호들)을 만든 후 그 차이인 잔여데이터(잔차신호)를 전송하는 방법이다. 이 경우, 잔차신호와, 어느 방향으로 예측을 하였는지를 나타내는 예측모드 인덱스를 전송하면 된다(예를 들어, 블록 위쪽을 이용하여 예측하면 예측모드는 0, 블록 왼쪽을 이용하여 예측하면 예측모드는 1).Intra prediction is a method of generating a prediction block (prediction signals) using neighboring pixels neighboring a current block (original signal) and then transmitting the residual data (residual signal) which is the difference. In this case, the 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). .
인터예측은 첫 번째로 움직임추정을 통한 방법, 두 번째로 머지를 통한 방법, 세 번째로 스킵을 통한 방법 총 세 가지 방법이 있다.There are three methods of inter prediction: first, through motion estimation, second through merge, and third through skip.
첫 번째로, 움직임추정을 통한 방법은 검색 범위 내에서 예측블록을 찾기 위해 현재블록과 차이값이 가장 작은 블록(예측블록)을 찾아내어 현재블록과 예측블록과이 차이값인 잔차신호를 전송하는 방식이다. 이때, 예측블록의 위치를 알려주는 움직임파라미터를 같이 전송한다. 움직임 파라미터는에는, 예측블록의 위치를 알려주는 움직임벡터(Motion Vector)와, 어느 픽쳐에서 움직임벡터를 찾았는지 알려주는 참조픽쳐인덱스(바로 전 픽쳐에서 찾았는지 또는 두 픽쳐 전에서 찾았는지 알려주는 등), 예측을 과거 픽쳐에서 하였는지 미래 픽쳐에서 하였는지 알려주는 예측방향플래그(예컨대, L0: 과거픽쳐에서 예측, L1: 미래픽쳐에서 예측), 이렇게 세 가지 요소를 포함한다. 여기서 참조픽쳐인덱스와 예측방향플래그는 적은 비트수로 부호화가 가능하지만 움직임벡터의 경우 값 자체가 매우 큰 값을 가질 수 가 있어서 전송에 많은 비트 수를 필요로 할 수 있다. 그래서 움직임벡터만 따로 예측을 통해 예측움직임벡터를 추출하고 현재의 움직임벡터와 예측움직임벡터와의 차이인 잔차벡터만 전송하게 되는데, 움직임벡터 예측을 하여 예측움직임벡터(MVP)를 구하고 현재 블록의 움직임벡터와의 차이 벡터만 보내는 방식이다. 여기서, 움직임벡터를 예측하는 방법은 AMVP(Advanced Motion Vector Prediction)라 한다.First, 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. At this time, the motion parameter indicating the position of the prediction block is transmitted together. The motion parameter includes a motion vector indicating a position of a prediction block, a reference picture index indicating which picture the motion vector is found (indicated by the previous picture or two pictures). ), 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). Here, 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. Here, a method of predicting a motion vector is called AMVP (Advanced Motion Vector Prediction).
두 번째로 머지라는 방법이 있다. 머지는 현재 블록과 이웃하는 주위 블록의 움직임 파라미터를 그대로 현재블록의 부호화에 사용하는 방식이며, 그 움직임 파라미터를 이용하여 예측블록을 생성하고 현재블록과 예측블록의 차이값인 잔차신호를 복호화장치로 전송하게 된다. 머지방법이 AMVP 방법과 다른 점은, 머지는 직접 움직임추정을 하는 것이 아니라 주위블록의 움직임 파라미터를 이용하여 예측블록을 생성한다는 것이다. 머지의 장점으로는 움직임 추정을 사용하지 않으므로 그만큼 복잡도를 줄일 수 있으며, 움직임파라미터를 복호화장치에 전송할 필요 없이 주위 어느 블록의 움직임 파라미터를 사용하였는지 인덱스만 보내주면 되며, 움직임파라미터를 안보내고 인덱스만 보내주는 만큼 전송할 데이터양이 줄어들게 됨으로 부호화 효율이 좋아진다.Secondly, there is a way to merge. 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 number of data to be transmitted decreases, the coding efficiency is improved.
세 번째로 스킵이라는 방법이 있다. 스킵 방법은 현재블록과 이웃하는 주위 블록의 움직임파라미터를 이용하여 예측블록을 생성하고 어느 블록의 움직임 파라미터를 사용하였는지 인덱스를 전송한다는 점에서는 머지 방법과 비슷하나, 머지 방법과의 차이점은 스킵 방법은 현재블록에 대한 잔차신호는 부호화하지 않는다는 것이다.Third, there is a method called skip. 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.
이하, 종래기술에 따른 AMVP를 보다 상세하게 설명한다. AMVP란, 현재 블록의 움직임벡터의 예측값인 예측움직임벡터(MVP)를 현재 블록에 이웃하는 블록들의 움직임벡터들을 이용하여 얻고, 어느 블록의 움직임 벡터를 이용하여 움직임벡터의 예측값을 예측하였는지를 나타내는 인덱스를 부호화하는 방법이다. 영상 부호화 장치는 이 예측움직임벡터와 현재 움직임 벡터 간의 차이에 해당하는 차분 움직임 벡터를 산출한 후 부호화하여 복호화 장치로 전송한다.Hereinafter, the AMVP according to the prior art will be described in more detail. The AMVP is an index indicating a prediction motion vector (MVP), which is a prediction value of a motion vector of a current block, using motion vectors of blocks neighboring the current block, and using a motion vector of a block, which indicates an index indicating a prediction value of a motion vector. It is a method of encoding. The image encoding apparatus calculates a differential motion vector corresponding to the difference between the prediction motion vector and the current motion vector, encodes the same, and transmits the same to the decoding apparatus.
도 1은 AMVP에 사용되는 현재블록의 주위 블록 A0, A1, B0, B1 및 B2을 예시한 도면이다.1 is a diagram illustrating neighboring blocks A0, A1, B0, B1, and B2 of a current block used for AMVP.
도 1에서, AMVP에 이용되는 이러한 주위 블록들을 후보 블록들이라 한다. 현재 블록의 좌측하단에 인접하는 후보 블록들 A0 및 A1을 A 그룹이라 하고, 현재 블록의 상측에 인접하는 후보 블록들 B0, B1 및 B2를 B 그룹이라 할 때, A 그룹에 속하는 후보블록들의 움직임 벡터들 중 하나와 B 그룹에 속하는 후보블록들의 움직임 벡터들 중 하나가 각 그룹의 대표 움직임 벡터로서 선택된다. 그리고 시간적(Temporal)으로 하나의 움직임 벡터가 대표 움직임 벡터로서 선택된다. 시간적(temporal) 움직임 벡터의 예시로 동일위치 블록(co-located 블록)의 움직임 벡터가 있다. 동일위치 블록(Co-located 블록)이란, 이전 프레임에서 현재 블록과 같은 위치의 블록을 말한다.In Fig. 1, these neighboring blocks used for AMVP are called candidate blocks. When candidate blocks A0 and A1 adjacent to the lower left of the current block are referred to as group A, and 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. Temporally, one motion vector is selected as the representative motion vector. 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.
도 2는 시간적 대표 움직임 벡터를 위한 유사위치 블록(A ~ E)을 예시한 도면이다.2 is a diagram illustrating similar position blocks A to E for a temporal representative motion vector.
도 2에서, 스킵, 머지와 AMVP 모두의 경우, 현재 블록의 이전 프레임 내에서 블록 A 내지 블록 D 중 하나의 블록이 포함된 블록을 동일위치(Co-located) 블록으로 결정하여 시간적(Temporal) 후보로 사용될 수 있다. 시간적 후보의 다른 예로 블록 E가 사용될 수 있으며, 블록 E 이외에도 주위에 이웃하는 모든 블록이 시간적 후보로 선택이 가능하다.In FIG. 2, in case of both skip, merge, and AMVP, a temporal candidate is determined by determining a block including one of blocks A to D as a co-located block in a previous frame of the current block. Can be used as As another example of a temporal candidate, block E may be used, and in addition to block E, all neighboring blocks may be selected as temporal candidates.
전술한 바와 같은 복수의 대표 움직임 벡터들 중에서 현재의 움직임 벡터와의 차분 움직임 벡터와, 어느 블록의 움직임 벡터를 선택했는지 알려주는 인덱스를 부호화 해보고 가장 부호화 효율이 높은 블록의 움직임 벡터가 최종적인 예측 움직임 벡터로 결정된다. 종래 기술에 따른 AMVP에서는 도 1에 도시한 바와 같이, 예측 움직임 벡터 결정에 이용되는 후보 블록들의 개수가 제한적이고 또한 미리 정해져 있어 부호화효율 향상이 제한적이라는 문제가 있다.Among the plurality of representative motion vectors described above, a differential motion vector with a current motion vector and an index indicating which block a motion vector is selected are encoded. The motion vector of the block having the highest coding efficiency is the final predicted motion. Determined by a vector. In the AMVP according to the prior art, as shown in FIG. 1, the number of candidate blocks used for determining the predictive motion vector is limited and predetermined, thereby improving the coding efficiency.
전술한 문제점을 해결하기 위해 본 발명은 현재 블록의 주변 블록들의 모션 벡터들을 이용하여 보다 정확하게 현재 블록의 모션 벡터를 예측함에 있어서 다양한 주변블록을 이용하여 후보블록 및 대표블록 선택의 폭을 넓힘으로써 부호화 효율을 향상 가능성을 높이는 데에 주된 목적이 있다.In order to solve the above problem, the present invention encodes by widening the selection of candidate blocks and representative blocks using various neighboring blocks in predicting the motion vectors of the current block more accurately using the motion vectors of neighboring blocks of the current block. Its main purpose is to increase the likelihood of improving efficiency.
본 발명의 일 실시예에 따르면, 영상을 부호화하는 장치에 있어서, 인터예측을 이용하여 부호화된 주변블록들 중에서, 각 주변블록에 대한 움직임 보상방향의 우선순위에 따라 대표블록을 선택하고, 상기 선택된 대표블록의 움직임벡터 및 기설정된 주변 픽처의 후보 움직임벡터 중에서 선택된 움직임벡터를 예측움직임벡터로 이용하여 상기 현재블록의 움직임벡터를 부호화하는 엔트로피부호화부를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다. 상기 엔트로피부호화부는, 과거방향 및 미래방향에 대한 움직임 보상방향의 우선순위를 설정하고, 상기 주변블록 중에서 우선순위가 높은 방향으로 움직임 보상을 수행한 블록을 대표블록으로 선택할 수 있다.According to an embodiment of the present invention, in the apparatus for encoding an image, among the neighboring blocks encoded by using inter prediction, the representative block is selected according to the priority of the motion compensation direction for each neighboring block, and the selected block is selected. And an entropy encoding unit encoding a motion vector of the current block by using a motion vector selected from a motion vector of a representative block and a candidate motion vector of a predetermined neighboring picture as a predictive motion vector. The entropy encoding unit may set the priority of the motion compensation direction with respect to the past direction and the future direction, and select a block in which the motion compensation is performed in the direction having the highest priority among the neighboring blocks as the representative block.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 장치에 있어서, 비트스트림으로부터 AMVP인덱스를 추출하고, 인터예측을 이용하여 복호화된 주변블록들 중에서 각 주변블록에서 수행된 움직임 보상방향의 우선순위에 따라 하나 이상의 대표블록을 선택하고, 상기 선택된 대표블록 및 기설정된 주변 픽처의 후보 움직임블록을 고려하여 상기 추출된 AMVP인덱스를 식별하는 비트스트림 복호부; 및 상기 선택된 대표블록 및 상기 주변 픽처의 후보 움직임블록 중에서 상기 AMVP인덱스에 따라 식별된 블록의 움직임벡터를 현재블록의 예측움직임 벡터로 복원하여 상기 현재블록의 움직임벡터를 복원하여 예측블록을 생성하는 인터예측부를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다. 상기 비트스트림 복호부는, 과거방향 및 미래방향에 대한 움직임 보상방향의 우선순위를 설정하고, 상기 주변블록 중에서 우선순위가 높은 방향으로 움직임 보상을 수행한 블록을 대표블록으로 선택할 수 있다. 상기 대표블록은, 현재블록의 좌측 주변블록 그룹과 상측 주변블록 그룹에서 하나씩 선택할 수 있다. According to an embodiment of the present invention, in the apparatus for decoding an image, the AMVP index is extracted from the bitstream and the priority of the motion compensation direction performed in each neighboring block among the neighboring blocks decoded by using inter prediction. A bitstream decoder configured to select one or more representative blocks according to the at least one representative block and identify the extracted AMVP index in consideration of the selected representative block and candidate motion blocks of a predetermined neighboring picture; And reconstructing the motion vector of the block identified according to the AMVP index among the selected representative block and the candidate motion blocks of the neighboring picture to the prediction motion vector of the current block, and reconstructing the motion vector of the current block to generate a prediction block. It provides a video decoding apparatus comprising a prediction unit. The bitstream decoder may set the priority of the motion compensation direction with respect to the past direction and the future direction, and select a block that performs motion compensation in a direction having a high priority among the neighboring blocks as a representative block. The representative block may be selected one by one from the left neighboring block group and the upper neighboring block group of the current block.
여기서, 상기 엔트로피부호화부는, 상기 각 주변블록이 참조하는 픽처와의 거리에 대한 우선순위를 추가로 고려하여 상기 대표블록을 선택할 수 있다. 또한, 추가로 고려되는 상기 우선순위는 현재블록이 참조하는 픽처와의 거리와 상기 주변블록이 참조하는 픽처와의 거리가 서로 같은지 여부에 따라 결정될 수 있다.Here, the entropy coding unit may select the representative block by further considering the priority of the distance to the picture referred to by each neighboring block. Further, the priority considered further may be determined depending on whether the distance between the picture referenced by the current block and the picture referenced by the neighboring block is equal to each other.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 장치에 있어서, 비트스트림으로부터 AMVP인덱스를 추출하고, 인터예측을 이용하여 복호화된 주변블록들 중에서 각 주변블록이 움직임 보상을 위하여 참조한 픽처와의 거리, 인터예측방법, 인터예측방향 및 블록크기 중 어느 하나의 우선순위에 따라 대표블록을 선택하고, 상기 선택된 대표블록 및 기설정된 주변 픽처의 후보 움직임블록을 고려하여 상기 추출된 AMVP인덱스를 식별하는 비트스트림 복호부; 및 상기 선택된 대표블록 및 상기 주변 픽처의 후보 움직임블록 중에서 상기 AMVP인덱스에 따라 식별된 블록의 움직임벡터를 현재블록의 예측움직임 벡터로 복원하여 상기 현재블록의 움직임벡터를 복원하여 예측블록을 생성하는 인터예측부를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.According to an embodiment of the present invention, in an apparatus for decoding an image, an AMVP index is extracted from a bitstream, and a distance from a picture referenced by each neighboring block for motion compensation among neighboring blocks decoded using inter prediction. A bit for selecting the representative block according to the priority of any one of an inter prediction method, an inter prediction direction, and a block size, and identifying the extracted AMVP index in consideration of the candidate motion block of the selected representative block and a predetermined neighboring picture. A stream decoder; And reconstructing the motion vector of the block identified according to the AMVP index among the selected representative block and the candidate motion blocks of the neighboring picture to the prediction motion vector of the current block, and reconstructing the motion vector of the current block to generate a prediction block. It provides a video decoding apparatus comprising a prediction unit.
본 발명의 일 실시예에 따르면, 영상을 부호화하는 방법에 있어서, 인터예측을 이용하여 부호화된 주변블록들 중에서, 각 주변블록에 대한 움직임 보상방향의 우선순위에 따라 대표블록을 선택하는 단계; 및 상기 선택된 대표블록의 움직임벡터 및 기설정된 주변 픽처의 후보 움직임벡터 중에서 선택된 움직임벡터를 예측움직임벡터로 이용하여 상기 현재블록의 움직임벡터를 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.According to an embodiment of the present invention, a method of encoding an image comprises: selecting a representative block according to a priority of a motion compensation direction for each neighboring block among neighboring blocks encoded by using inter prediction; And encoding a motion vector of the current block by using a motion vector selected from a motion vector of the selected representative block and a candidate motion vector of a predetermined neighboring picture as a predictive motion vector. do.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 방법에 있어서, 비트스트림으로부터 AMVP인덱스를 추출하는 단계; 인터예측을 이용하여 복호화된 주변블록들 중에서 각 주변블록에서 수행된 움직임 보상방향의 우선순위에 따라 하나 이상의 대표블록을 선택하는 단계; 상기 선택된 대표블록 및 기설정된 주변 픽처의 후보 움직임블록을 고려하여 상기 추출된 AMVP인덱스를 식별하는 단계; 및 상기 선택된 대표블록 및 상기 주변 픽처의 후보 움직임블록 중에서 상기 AMVP인덱스에 따라 식별된 블록의 움직임벡터를 현재블록의 예측움직임 벡터로 복원하여 상기 현재블록의 움직임벡터를 복원하여 예측블록을 생성하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다. 여기서, 상기 하나 이상의 대표블록을 선택하는 단계에서는, 과거방향 및 미래방향에 대한 움직임 보상방향의 우선순위를 설정하고, 상기 주변블록 중에서 우선순위가 높은 방향으로 움직임 보상을 수행한 블록을 대표블록으로 선택할 수 있으며, 상기 대표블록은, 현재블록의 좌측 주변블록 그룹과 상측 주변블록 그룹에서 하나씩 선택할 수 있다.According to an embodiment of the present invention, a method of decoding an image, the method comprising: extracting an AMVP index from a bitstream; Selecting one or more representative blocks according to the priority of the motion compensation direction performed in each neighboring block among the neighboring blocks decoded using the inter prediction; Identifying the extracted AMVP index in consideration of the selected representative block and candidate motion blocks of a predetermined neighboring picture; Generating a prediction block by reconstructing a motion vector of a block identified according to the AMVP index among the selected representative blocks and candidate motion blocks of the neighboring picture to a prediction motion vector of the current block, and reconstructing the motion vector of the current block. It provides a video decoding method comprising a. Here, in the step of selecting the one or more representative blocks, the priority of the motion compensation direction for the past direction and the future direction is set, and the block that performs the motion compensation in the direction of high priority among the neighboring blocks as the representative block The representative block may be selected one by one from the left neighboring block group and the upper neighboring block group of the current block.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 방법에 있어서, 비트스트림으로부터 AMVP인덱스를 추출하고, 인터예측을 이용하여 복호화된 주변블록들 중에서 각 주변블록이 움직임 보상을 위하여 참조한 픽처와의 거리, 인터예측방법, 인터예측방향 및 블록크기 중 어느 하나의 우선순위에 따라 대표블록을 선택하는 단계; 상기 선택된 대표블록 및 기설정된 주변 픽처의 후보 움직임블록을 고려하여 상기 추출된 AMVP인덱스를 식별하는 단계; 및 상기 선택된 대표블록 및 상기 주변 픽처의 후보 움직임블록 중에서 상기 AMVP인덱스에 따라 식별된 블록의 움직임벡터를 현재블록의 예측움직임 벡터로 복원하여 상기 현재블록의 움직임벡터를 복원하여 예측블록을 생성하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.According to an embodiment of the present invention, in a method of decoding an image, an AMVP index is extracted from a bitstream, and distance from a picture referenced by each neighboring block for motion compensation among neighboring blocks decoded using inter prediction. Selecting a representative block according to the priority of any one of an inter prediction method, an inter prediction direction, and a block size; Identifying the extracted AMVP index in consideration of the selected representative block and candidate motion blocks of a predetermined neighboring picture; Generating a prediction block by reconstructing a motion vector of a block identified according to the AMVP index among the selected representative blocks and candidate motion blocks of the neighboring picture to a prediction motion vector of the current block, and reconstructing the motion vector of the current block. It provides a video decoding method comprising a.
본 발명에 의하면, 현재 블록의 주변 블록들의 모션 벡터들을 이용하여 보다 정확하게 현재 블록의 모션 벡터를 예측함에 있어서 다양한 주변블록을 이용하여 후보블록 및 대표블록 선택의 폭을 넓힘으로써 부호화 효율을 향상 가능성을 높이는 효과가 있다.According to the present invention, in predicting the motion vector of the current block more accurately using the motion vectors of the neighboring blocks of the current block, it is possible to improve the coding efficiency by widening the selection of the candidate block and the representative block using the various neighboring blocks. The height is effective.
도 1은 AMVP에 사용되는 현재블록의 주위 블록 A0, A1, B0, B1 및 B2을 예시한 도면이다.1 is a diagram illustrating neighboring blocks A0, A1, B0, B1, and B2 of a current block used for AMVP.
도 2는 시간적 대표 움직임 벡터를 위한 유사위치 블록을 예시한 도면이다.2 is a diagram illustrating a similar position block for a temporal representative motion vector.
도 3은 본 발명의 일 실시예에 따른 영상 부호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.3 is a block diagram schematically illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
도 4는 최대 부호화단위 블록의 분할 예시를 나타낸 도면이다.4 is a diagram illustrating an example of division of a largest coding unit block.
도 5는 예측단위 블록의 예를 도시한 도면이다.5 is a diagram illustrating an example of a prediction unit block.
도 6은 현재 블록 위쪽의 픽셀값들을 이용하여 예측 블록을 만드는 과정에 대한 경우를 도시한 도면이다.FIG. 6 is a diagram illustrating a case of a process of creating a prediction block using pixel values above a current block.
도 7은 인트라예측모드의 종류 및 그 인덱스를 예시한 도면이다.7 is a diagram illustrating the types of intra prediction modes and their indices.
도 8은 여러가지 방법의 인터예측을 수행하는 인터예측부의 내부를 예시한 도면이다.8 is a diagram illustrating an interior of an inter prediction unit for performing inter prediction of various methods.
도 9는 움직임 추정을 통해 참조 픽쳐에서 현재 블록과 가장 유사한 블록을 예측 블록으로 결정하는 경우를 예시한 도면이다.FIG. 9 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.
도 10은 머지 방법을 이용한 인터예측에 사용되는 주변블록의 예를 도시한 도면이다.FIG. 10 is a diagram illustrating an example of neighboring blocks used for inter prediction using a merge method.
도 11은 메모리에 저장된 참조 픽쳐의 픽셀들과 정수 픽셀 이하로 보간된 픽셀들을 나타낸 도면이다.FIG. 11 is a diagram illustrating pixels of a reference picture stored in a memory and pixels that are interpolated to less than an integer pixel.
도 12는 양자화된 계수블록을 지그재그 스캔하는 경우를 예시한 도면이다.12 is a diagram illustrating a zigzag scan of quantized coefficient blocks.
도 13은 AMVP와 머지, 스킵에 사용되는 인덱스를 부호화하는 절삭형 코드에 대하여 예시한 도면이다.FIG. 13 is a diagram illustrating a truncated code that encodes an index used for AMVP, merge and skip.
도 14는 현재블록의 주변블록의 인터예측모드를 예시한 도면이다.14 is a diagram illustrating an inter prediction mode of a neighboring block of a current block.
도 15는 현재블록의 주변블록의 인터예측 방향을 예시한 도면이다.15 is a diagram illustrating an inter prediction direction of a neighboring block of a current block.
도 16은 현재블록의 주변블록의 블록크기를 예시한 도면이다.16 is a diagram illustrating a block size of a neighboring block of the current block.
도 17은 후보블록의 움직임벡터에서 대표 움직임벡터를 구하는 방법을 나타낸 흐름도이다.17 is a flowchart illustrating a method of obtaining a representative motion vector from a motion vector of a candidate block.
도 18은 현재블록의 주변블록의 인터예측모드 및 예측방향을 예시한 도면이다.18 is a diagram illustrating an inter prediction mode and a prediction direction of neighboring blocks of a current block.
도 19는 주변블록의 다른 예를 나타낸 것이다. 19 shows another example of a neighboring block.
도 20은 본발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.20 is a block diagram schematically illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
이하에서는 영상의 특성에 따라 AMVP의 주변 후보 블록 설정 시, 현재 블록의 움직임벡터와 가장 유사한 예측움직임벡터를 더 정확하게 찾을 수 있도록 하는 기술을 설명한다. 이하의 본 발명의 실시의 형태에 대해서, 도면 및 수식 등을 참조하면서 설명한다. 이하에서는 영상을 블록 단위로 부호화하고 복호화하는 장치에 대해 예를 들어 설명한다.Hereinafter, a technique for more accurately finding a prediction motion vector most similar to the motion vector of the current block when setting a neighboring candidate block of the AMVP according to the characteristics of the image will be described. EMBODIMENT OF THE INVENTION Hereinafter, embodiment of this invention is described, referring drawings, an equation, etc. Hereinafter, an apparatus for encoding and decoding an image in units of blocks will be described as an example.
도 3은 본 발명의 일 실시예에 따른 영상 부호화 장치(100)의 구성을 간략하게 나타낸 블록 구성도이다. 이하, 본 발명의 일 실시예에 따른 영상 부호화 장치(100)의 각 구성요소를 간단히 설명한다.3 is a block diagram schematically illustrating a configuration of an image encoding apparatus 100 according to an embodiment of the present invention. Hereinafter, each component of the image encoding apparatus 100 according to an embodiment of the present invention will be described briefly.
본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 영상을 부호화하는 장치로서, 영상부호화 장치(100)는 크게 블록분할부(101, Coding Tree Generator), 인트라예측부(102, Intra Predictor), 인터예측부(103, Inter Predictor), 변환부(104, Transformer), 양자화부(105, Quantizer), 움직임 보상부(106, Motion Compensator), 엔트로피부호화부(107, Entropy Coder), 역양자화부(108, Inverse Quantizer), 역변환부(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 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.The image encoding apparatus 100 according to an embodiment of the present invention is an apparatus for encoding an image, and the image encoding apparatus 100 is largely divided into a block splitting unit 101 and an intra predictor 102. Inter Predictor 103, Transformer 104, Quantizer 105, Motion Compensator 106, Entropy Coder 107, Inverse Quantizer An inverse quantizer 109, an inverse transformer 109, a memory 110, a subtractor 111, an adder 112, and an adder 112 may be included. 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). PlayStation Portable), a wireless terminal, a digital TV, 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.
블록분할부(101)는 입력 영상을 부호화단위 블록으로 분할한다. 부호화단위 블록은 인트라예측/인터예측을 위해 분할되는 가장 기본적인 단위이고, 4개의 같은 크기(정사각형)의 블록으로 반복적으로 분할되는 구조이다. 예를 들어, 최대 부호화단위 블록은 64x64 크기로 정할 수 있고 최소 부호화단위 블록은 8x8 로 정할 수 있다. 도 4는 최대 부호화단위 블록의 분할 예시를 나타낸 도면이다. 각각의 부호화단위 블록은 예측 종류에 따라 도 5와 같이 1개 또는 그 이상의 예측단위 블록을 포함한다. 예측단위 블록은 예측 정보를 가지고 있는 가장 작은 단위이다. 보통 3-레벨 쿼드트리(Quadtree)를 이용하는데 그 이상의 레벨을 이용할 수도 있고, 일반적으로 루마(luma), 크로마(chroma)를 위한 최대 뎁스(depth)는 서로 동일하다. 도 5에서, (201)은 부호화단위 블록이 그대로 예측단위 블록으로 사용되었을 경우를 나타낸다. (202), (203), (205), (206)은 동일한 크기의 예측단위 블록 2개를 포함하는 경우이며, (204)는 동일한 크기의 예측단위 블록 4개를 포함하는 경우이고, (207) 과 (208) 은 1:3 의 비율을 갖는 예측단위 블록 2개를 포함하는 경우이다. 도 5의 예시 이외에도 부호화단위 블록은 여러가지 모양으로 분할될 수 있다.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). For example, the maximum coding unit block may be set to 64x64 size and the minimum coding unit block may be set to 8x8. 4 is a diagram illustrating an example of division of a largest coding unit block. Each coding unit block includes one or more prediction unit blocks as shown in FIG. 5 according to a prediction type. The prediction unit block is the smallest unit that holds the prediction information. More levels may be used, usually using three-level quadtrees, and in general the maximum depths for luma and chroma are the same. In FIG. 5, 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. In addition to the example of FIG. 5, the coding unit block may be divided into various shapes.
인트라예측부(102)는 현재 블록을 현재 픽쳐 내의 픽셀값을 이용하여 예측블록(Predicted Block)을 생성한다. 픽쳐 내의 정보를 이용하여 예측을 하는데, 현재블록과 이웃하는 픽셀값들을 이용하여 도 6과 같이 예측 블록을 만든 후 현재 블록과의 차분값을 부호화한다. 도 6의 경우 현재블록의 위쪽에 존재하는 픽셀값들을 이용하여 예측블록을 생성하였으나, 위쪽의 픽셀값 외에도 도 7과 같이 현재블록 주위의 이웃하는 픽셀값들을 여러 각도의 픽셀값을 이용하는 인트라모드로 예측블록을 생성할 수도 있다. 도 7에 도시한 각각의 숫자는 인트라예측모드의 인덱스를 예시한 것이다. 예측블록을 생성한 후에는 어떤 예측모드가 사용되었는지를 나타내는 인덱스를 부호화한다.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 information in a picture. A prediction block is generated using pixel values neighboring the current block as shown in FIG. 6, and then the difference value with the current block is encoded. In FIG. 6, the prediction block is generated using pixel values existing above the current block. However, in addition to the pixel value above, the neighboring pixel values around the current block as shown in FIG. 7 are set to intra mode using pixel values of various angles. The prediction block may be generated. Each number illustrated in FIG. 7 illustrates an index of the intra prediction mode. After generating the prediction block, an index indicating which prediction mode is used is encoded.
한편, 인트라예측을 할 때 이웃하는 픽셀들에 스무딩 필터를 이용하여 스무딩(Smoothing)하게 한 후 예측블록을 사용할 수도 있다. 예를 들어 [1,2,1] 필터를 사용할 경우 예측에 사용되는 픽셀들은 수학식 1과 같이 변환된다.Meanwhile, when intra prediction is performed, a prediction block may be used after smoothing a neighboring pixel using a smoothing filter. For example, when using the [1, 2, 1] filter, the pixels used for prediction are transformed as in Equation 1.
[수학식 1][Equation 1]
Y[n] = (X[n-1] + 2*X[n] + X[n+1] + 2)/4Y [n] = (X [n-1] + 2 * X [n] + X [n + 1] + 2) / 4
수학식 1에서 X[n]은 필터링 대상 픽셀, X[n-1] 및 X[n+1]은 현재블록의 경계선에 평행한 방향의 필터링 대상 픽셀의 좌우 인접 픽셀을 의미한다.In 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.
또한, 예측단위 블록의 크기와 인트라 예측에 사용되는 예측모드의 각도에 따라 스무딩(Smoothing)을 할지 또는 하지 않을지 여부를 결정할 수도 있다. 이 경우, 이러한 스무딩을 결정하기 위하여 룩업테이블(Look Up Table)을 만들어 사용할 수도 있다.In addition, 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.
도 8은 여러가지 방법의 인터예측을 수행하는 인터예측부(103)를 예시한 도면이다.8 is a diagram illustrating an inter prediction unit 103 that performs inter prediction of various methods.
인터예측부(103)는 현재 블록을 이전에 부호화되고 복호화된 픽쳐들의 정보를 이용하여 예측 블록을 생성한다. 도 8과 같이 스킵(Skip), 머지(Merge), 움직임 추정(Motion Estimation) 등의 세가지 방법에 따라 예측을 수행할 수 있다.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. 8, prediction may be performed according to three methods such as skip, merge, and motion estimation.
도 9는 움직임 추정을 통해 참조 픽쳐에서 현재 블록과 가장 유사한 블록을 예측 블록으로 결정하는 경우를 예시한 도면이다.FIG. 9 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.
움직임추정(301)은 픽쳐 간의 정보를 이용하여 예측하는 것을 의미한다. 도 9를 참조하면, 움직임 추정을 통해 참조 픽쳐에서 현재 블록과 가장 유사한 블록을 예측 블록으로 결정하고, 예측 블록의 위치를 움직임 벡터로 표현한다. 그리고 엔트로피부호화부(107)는 해당 움직임 파라미터(Motion Parameter)를 부호화한다. 여기서 움직임 파라미터는 움직임 벡터(MV, Motion Vector), 참조 픽쳐 인덱스(Referecnce Picture Index) 및 예측 방향(Prediction Direction)을 포함할 수 있는데, 움직임 벡터의 경우 그대로 부호화할 경우 효율이 떨어지므로, 예측움직임벡터를 생성하여 원래의 움직임 벡터와의 차분값인 차분움직임벡터를 부호화한다. 후술하는 영상 복호화장치는 영상부호화 장치로부터 전송된 비트스트림에서 추출한 움직임 파라미터를 이용하여 예측 블록을 복원한 후, 복원한 예측 블록과 비트스트림에서 추출한 잔차블록의 값을 합하여 현재 블록을 복호화한다.The motion estimation 301 means predicting using information between pictures. Referring to FIG. 9, a block most similar to a current block in a reference picture is determined as a prediction block through motion estimation, and the 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. In the case of a motion vector, since the efficiency is inferior, the motion vector may be a prediction motion vector. We generate and encode the difference motion vector, which is the difference value from the original 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.
AMVP(302, Advanced Motion Vector Prediction)란, 현재 블록의 움직임벡터를 이웃하는 블록의 움직임벡터를 이용하여 예측하고, 어느 블록의 움직임 벡터를 이용하여 예측하였는지 그 인덱스를 부호화하는 방법이다. 수학식 2는 차분 움직임 벡터(MVD, Motion Vector Difference)를 산출하는 수식을 나타낸다.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).
[수학식2][Equation 2]
MVD = MV - MVPMVD = MV-MVP
여기서 MV는 현재블록의 움직임벡터, MVP는 이웃하는 블록에서 예측한 예측움직임벡터, MVD는 현재블록의 움직임벡터와 예측움직임벡터의 차이값인 차분움직임벡터이다.Here, MV is a motion vector of the current block, MVP is a predictive motion vector predicted by a neighboring block, and MVD is a difference motion vector which is a difference value between the motion vector and the predictive motion vector of the current block.
도 10은 머지 방법을 이용한 인터예측에 사용되는 주변블록의 예를 도시한 도면이다.FIG. 10 is a diagram illustrating an example of neighboring blocks used for inter prediction using a merge method.
머지(303, Merge)란, 현재블록의 이웃하는 블록에서 현재 블록을 위한 움직임 파라미터를 결정하는 기술의 하나이다. 도 10을 참조하면, 블록 A 내지 블록 E와 도 2의 시간적 후보 블록에서 머지를 위한 최적의 블록을 찾을 수도 있으며, 또는 도 10의 블록 A 내지 블록 E에 우선순위를 두어 우선순위가 상위인 두 개의 후보 블록(즉, 대표블록)과 도 2에서의 시간적 후보 블록 중에서 최적의 블록이 결정될 수도 있다. 참고로 모든 실시예를 통틀어, 시간적 후보블록이란 시간적으로 주변에 위치하는 픽처의 블록을 의미하며, 바로 이전 픽처에 위치하되 현재블록과 동일한 공간적 위치에 존재하는 블록이 사용될 수도 있다. 시간적 후보블록의 의미는 AMVP에 사용되는 경우도 머지의 경우와 마찬가지의 의미가 된다. Merge 303 is one of techniques for determining a motion parameter for a current block in a neighboring block of the current block. Referring to FIG. 10, an optimal block for merging may be found in blocks A through E and the temporal candidate blocks of FIG. 2, or two having higher priority by giving priority to blocks A through E of FIG. 10. An optimal block may be determined among the two candidate blocks (ie, the representative block) and the temporal candidate blocks in FIG. 2. For reference, in all embodiments, a temporal candidate block means a block of pictures that are located in the temporal vicinity, and a block located in the immediately preceding picture but present in the same spatial position as the current block may be used. The meaning of the temporal candidate block is the same as that of the merge even when used for AMVP.
스킵(304, Skip)이란 주변블록의 움직임 파라미터를 이용하여 현재블록과 가장 유사한 블록(예측블록)을 찾은 경우, 잔차블록의 잔차신호 값이 모두 0인 경우를 의미한다. 이 경우에는 잔차신호를 따로 부호화할 필요 없이 주변 블록의 움직임 파라미터를 이용하여 예측 블록을 만들고 현재 블록을 부호화한다. 그리고 어떤 블록의 움직임 파라미터 정보를 사용하였는지를 나타내기 위하여 해당 블록의 인덱스를 부호화한다. Skip 304 refers to a case where a residual signal value of the residual block is all zero when a block (prediction block) most similar to the current block is found using the motion parameter of the neighboring block. In this case, 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. In order to indicate which block motion parameter information is used, the index of the corresponding block is encoded.
AMVP, 머지 및 스킵을 위한 현재블록과 이웃하는 주위 블록들의 후보는 도 1에 도시한 이웃블록(A0~B2)과 도 10에 도시한 이웃 블록(A ~ E) 이외에도 다른 이웃하는 블록들이 후보가 될 수 있다.Candidates of neighboring blocks neighboring the current block for AMVP, merge, and skip are candidate blocks other than neighboring blocks A0 to B2 shown in FIG. 1 and neighboring blocks A to E shown in FIG. Can be.
감산부(111)는 현재블록에서 예측블록을 감산하여 잔차블록을 생성한다.The subtraction unit 111 generates a residual block by subtracting the prediction block from the current block.
변환부(104)는 잔차 블록을 변환하여 변환 블록을 생성한다. 변환 블록은 변환 및 양자화 과정을 위해 사용되는 단위이다. 변환단위는 도 4처럼 부호화단위와 동일하게 분할될 수도 있고, 다른 다양한 방법으로 분할하여 변환을 수행할 수도 있다. 변환단위에 대한 정보도 부호화단위 블록과 마찬가지로 쿼드트리 구조를 이용할 수 있으며, 변환 단위는 여러 가지 크기를 가질 수 있다. 변환부(104)는 잔차신호를 주파수 영역으로 변환하여 변환 계수를 가지는 변환 블록을 생성하여 출력한다. 여기서 잔차신호를 주파수 영역으로 변환하는 방법으로는 이산 코사인 변환(DCT: Discrete Cosine Transform)기반 변환, 이산 사인 변환(DST: Discreate Sine Transform), KLT(Karhunen Loeve Transform) 등 다양한 변환 기법을 이용할 수 있으며, 이를 이용하여 잔차신호가 주파수 영역으로 변환되어 변환 계수로 변환된다. 변환 기법을 편하게 사용하기 위해 기저벡터(basis vector)를 이용하여 매트릭스(Matrix) 연산을 하게 되는데 예측 블록이 어떤 방식으로 부호화되었는지 여부에 따라 매트릭스 연산시 변환기법들을 다양하게 섞어 사용할 수 있다. 예를 들어, 인트라예측시 예측모드에 따라 가로방향으로는 이산 코사인 변환을 사용하고 세로 방향으로는 이산 사인 변환을 사용할 수도 있다.The transform unit 104 generates a transform block by transforming the residual block. The transform block is a unit used for the transform and quantization process. The transform unit may be divided in the same manner as the coding unit as shown in FIG. 4, or may be transformed by splitting in other various ways. 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. Here, as a method of transforming the residual signal into the frequency domain, various transform techniques such as Discrete Cosine Transform (DCT) based, Discrete Sine Transform (DST), and Karhunen Loeve Transform (KLT) can be used. Using this, the residual signal is converted into a frequency domain and converted into a transform coefficient. In order to conveniently use the transform method, matrix operations are performed using a basis vector. Depending on how the prediction block is encoded, the transform methods may 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.
*양자화부(105)는 변환 블록을 양자화하여 양자화된 변환 블록을 생성한다. 즉, 양자화부(105)는 변환부(104)로부터 출력되는 변환 블록의 변환 계수들을 양자화하여 양자화된 변환 계수(Quantized Transform Coefficient)를 가지는 양자화된 변환 블록을 생성하여 출력한다. 여기서, 양자화 방법으로는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization) 또는 양자화 가중치 매트릭스(Quantization Weighted Matrix) 등이 이용될 수 있지만, 이를 개량한 양자화 등 다양한 양자화 방법이 이용될 수 있다.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 a quantized transform coefficient. Here, dead zone uniform threshold quantization (DZUTQ) or quantization weighted matrix (DZUTQ) may be used as the quantization method, but various quantization methods such as quantization improved therefrom may be used.
역양자화부(108)는 양자화된 변환 블록에 대하여 양자화시에 이용한 양자화 기법을 역으로 수행하여 역양자화하여 변환계수를 가지는 역양자화 변환 블록을 복원한다. 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.
역변환부(109)는 변환 시에 사용한 방법과 동일한 방법을 이용하여 역양자화 변환 블록을 역변환하여 잔차신호를 가지는 잔차 블록을 복원하는데, 변환부(104)에서 이용한 변환 기법을 역으로 수행하여 역변환한다.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. .
가산부(112, Adder)는 역변환부(109)에서 복원된 잔차신호와, 인트라예측 또는 인터예측을 통하여 생성된 예측 영상을 가산하여 현재 블록을 복원한다.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.
메모리(110)는 역변환부(109)에서 복원된 잔차신호와, 인트라예측 또는 인터예측을 통하여 생성된 예측 영상을 가산하여 복원된 현재 블록을 저장하며, 다음 블록 또는 다음 픽쳐 등 다른 블록을 예측하는데 활용될 수 있다.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.
움직임보상부(106)는, 정수 픽셀 이하의 픽셀은 참조픽쳐의 픽셀값들 간의 보간을 통해 참조픽쳐의 해상도를 높인 후 움직임 보상을 수행할 수 있다.The motion compensator 106 may perform motion compensation after increasing the resolution of the reference picture through interpolation between pixel values of the reference picture for pixels smaller than an integer pixel.
도 11에는 메모리에 저장된 참조 픽쳐의 픽셀들과 정수 픽셀 이하로 보간된 픽셀들을 나타내었다. 참조 픽쳐의 이미 복원된 픽셀 A~U를 보간 필터(Interpolation Filter)로 필터링하면 보간된 픽셀 a~s를 생성할 수 있으며, 보간된 픽셀 a~s는 도시된 바와 같이 이미 복원된 픽셀들 사이에 보간되어 참조 픽쳐의 해상도가 4배 이상 높아질 수 있다. 이때 사용하는 보간 필터는 양선형 필터(Bilinear Filter), DCT기반 필터(DCT based Inerpolation Filter), 큐빅 필터(Cubic Interpolation Filter)등 다양한 필터가 사용될 수 있다.11 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. In this case, various filters such as a bilinear filter, a DCT based filter, and a cubic interpolation filter may be used.
엔트로피부호화부(107)는 양자화된 변환 블록을 부호화하여 비트스트림을 출력한다. 즉, 엔트로피부호화부(107)는 양자화부(105)로부터 출력되는 양자화된 변환 블록의 양자화된 변환계수를 도 12의 예에서처럼 지그재그 스캔 등 다양한 스캔 방식으로 스캔한 주파수 계수열을 엔트로피 부호화(Entropy Encoding) 등 다양한 부호화 기법을 이용하여 부호화하고, 후술하는 영상 복호화 장치에서 해당 블록을 복호화하는데 필요한 부가적인 정보들(예를 들면, 예측 모드에 대한 정보, 양자화 계수, 움직임 파라미터 등)을 포함하는 비트스트림을 생성하고 출력한다.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 the quantized transform coefficients of the quantized transform block output from the quantization unit 105 by various scan methods such as a zigzag scan. 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
*도 13은 AMVP와 머지, 스킵에 사용되는 인덱스를 부호화하는 절삭형(Truncated) 코드에 대한 예시이다. 주변에 이용가능한 블록의 개수에 따라서 비트를 다르게 할당할 수 있다. 이 외에도 주변의 이용가능한 블록의 개수에 상관없이 도 13의 첫번째 테이블처럼 최대 개수 블록에 대한 테이블(table)만 사용하는 것도 가능하다.FIG. 13 is an example of a truncated code that encodes an index used for AMVP, merge, and skip. Bits may be allocated differently according to the number of blocks available nearby. In addition, it is possible to use only a table for the maximum number of blocks, as shown in the first table of FIG. 13, regardless of the number of available blocks nearby.
본 실시예에서 엔트로피부호화부(107)는 인터예측을 수행한 주변블록 중에서 수행된 인터예측방법의 우선순위에 따라 대표블록을 선택하고, [선택된 대표블록의 움직임벡터 및 이전 픽쳐에 포함된 블록 중에서 현재블록과 유사한 위치에 있는 블록의 움직임벡터]들 중에서 현재블록의 움직임벡터와 가장 유사한 최적의 움직임벡터를 예측움직임벡터로 이용하여 현재블록의 움직임벡터를 부호화할 수 있다. 여기서 인터예측 방법이란, AMVP 방법, 스킵, 머지 중에서 하나의 방법을 의미한다. 또한 이전 픽쳐에 포함된 블록 중에서 현재블록과 동일 또는 유사한 위치에 있는 블록이란 전술한 바와 같은 시간적 후보블록을 의미한다. 엔트로피부호화부(107)는 여기서 선택된 대표 움직임벡터 중에서 현재 움직임벡터와 가장 유사한 최적의 움직임벡터를 예측움직임벡터로 선택하여 선택된 위치에 대한 인덱스를 부호화하여 영상 복호화장치로 전송한다. 또한 엔트로피부호화부(107)는 현재 움직임벡터와 설정된 예측움직임벡터에 대한 차분값을 부호화하여 비트스트림으로 생성하여 영상 복호화장치로 전송한다.In the present embodiment, the entropy encoding unit 107 selects a representative block according to the priority of the inter prediction method performed from the neighboring blocks that have performed the inter prediction, and selects a representative block from the motion vectors of the selected representative block and the blocks included in the previous picture. The motion vector of the current block can be encoded by using the optimal motion vector most similar to the motion vector of the current block among the motion vectors of the block located at the position similar to the current block as the prediction motion vector. Here, the inter prediction method means one of an AMVP method, a skip, and a merge. In addition, a block located at the same or similar position as the current block among the blocks included in the previous picture means a temporal candidate block as described above. The entropy encoding unit 107 selects an optimal motion vector most similar to the current motion vector among the selected representative motion vectors as a predictive motion vector, encodes an index of the selected position, and transmits the index to the image decoding apparatus. In addition, the entropy encoding unit 107 encodes the difference value between the current motion vector and the set prediction motion vector, generates a bitstream, and transmits the bitstream to the image decoding apparatus.
종래기술에 따른 AMVP의 경우, 현재 블록의 주변 블록들 중에서 도 1과 같이 미리 정해진 소수의 블록들의 움직임 벡터들만이 대표 움직임 벡터 선택에 이용된다. 그러나 본 실시예에서는, 종래기술과 달리, 더 많은 주변 블록들의 움직임 벡터들(예컨대, 모든 주변 블록들의 움직임 벡터들)이 대표 움직임 벡터 선택에 이용된다. In the AMVP according to the related art, only motion vectors of a predetermined number of blocks, as shown in FIG. 1, among neighboring blocks of the current block are used for representative motion vector selection. However, in the present embodiment, unlike the prior art, more motion vectors of more neighboring blocks (eg, motion vectors of all neighboring blocks) are used for representative motion vector selection.
이하 설명될 제1실시예 내지 제3실시예에서는, AMVP(302)가 이용되는 경우, 인터예측모드에 따라 현재블록에 이웃하는 주변 후보 블록에서 AMVP를 위한 대표 블록을 왼쪽 그룹과 위쪽 두 그룹에서 각각 1개씩 선정하여 AMVP를 위한 대표블록으로 설정하는 방법을 나타낸 것이다. 참고로, 이하의 설명에서 후보블록으로부터 대표벡터를 선정한다고 설명되는 경우의 의미는 후보블록으로부터 소정의 기준에 의해 대표블록을 선정하고 선정된 대표블록의 움직임벡터 중에서 현재 움직임벡터와 가장 유사한 움직임벡터(즉, 대표벡터)를 예측 움직임벡터로 설정한다는 의미이다.In the first to third embodiments to be described below, when the AMVP 302 is used, the representative block for the AMVP in the neighboring candidate blocks neighboring to the current block according to the inter prediction mode is performed in the left group and the upper two groups. It shows how to select one each and set it as a representative block for AMVP. For reference, in the following description, the case where the representative vector is selected from the candidate blocks means that the representative block is selected from the candidate blocks according to a predetermined criterion and the motion vector most similar to the current motion vector among the motion vectors of the selected representative block. (Ie, representative vector) is set as a predicted motion vector.
(제1실시예)(First embodiment)
도 14는 현재블록의 주변블록의 인터예측모드를 예시한 도면이다.14 is a diagram illustrating an inter prediction mode of a neighboring block of a current block.
본 실시예에서, 엔트로피부호화부(107)는 현재블록의 움직임벡터에 대한 정보의 부호화시 주변 후보 블록들이 속해 있는 두 그룹들(예컨대 도 14 에서 왼쪽 블록그룹(a, b, c)과 위쪽 블록그룹(d, e, f, g))에서 각각 대표블록을 선출하고, 선출된 2개의 대표블록의 움직임벡터와 시간적(temporal) 후보블록의 움직임벡터(즉, 시간적 후보벡터)까지 포함한 총 3개의 대표벡터 중 가장 최적인 예측움직임벡터를 선택하고 그에 해당하는 인덱스를 할당하여 부호화한다. 그리고 원래의 현재블록의 움직임 벡터와 선택된 예측 움직임벡터의 차이 값인 잔차벡터(mvd)를 부호화한다. In the present embodiment, the entropy encoding unit 107 may include two groups (eg, left block groups (a, b, c) and an upper block in FIG. 14 to which neighboring candidate blocks belong when encoding information on a motion vector of the current block). Group (d, e, f, g)), respectively, to select a representative block, a total of three including the motion vector of the two selected representative blocks and the motion vector (that is, the temporal candidate vector) of the temporal candidate block The most optimal predictive motion vector is selected among the representative vectors and the corresponding index is assigned and encoded. The residual vector mvd, which is a difference value between the motion vector of the original current block and the selected predicted motion vector, is encoded.
만일, 인터예측모드의 우선순위를 'AMVP > 스킵 > 머지' 로 설정하였을 경우, 대표 벡터를 선정하는 과정에서는 AMVP를 이용하여 부호화된 블록을 우선적으로 선정하고, AMVP를 이용한 블록이 없을 경우 스킵, 머지 순으로 부호화된 블록을 선정한다. 따라서, 도 14에서 왼쪽 그룹에서는 블록 c, 위쪽 그룹에서는 블록 f가 대표벡터로 선택된다. 도 14에서는 만약, 인터예측모드가 동일한 블록이 복수개 존재하는 경우, 예컨대 위쪽 그룹의 경우에는 '오른쪽>왼쪽', 왼쪽 그룹의 경우에는 '아래>위'와 같이 선택방향의 우선순위를 두어 대표벡터를 선정한다. 여기서, 선택방향의 우선순위는 그 반대방향으로 할 수도 있다. 또한 대표벡터의 생성은 반드시 왼쪽 그룹에서 하나, 위쪽 그룹에서 하나인 것에 한정되지 않고 하나의 그룹에서 복수개의 대표벡터를 선택할 수도 있다. 또한, 인터예측모드의 우선순위를 'AMVP > 스킵 > 머지' 로 설정하는 것에 한정되지 않고, AMVP, 스킵 및 머지 방법에 대하여 다양한 방법으로 우선순위를 정할 수 있다.If the priority of the inter prediction mode is set to 'AMVP> Skip> Merge', in the process of selecting a representative vector, a block encoded using AMVP is preferentially selected, and if there is no block using AMVP, skipping, The blocks encoded in the merge order are selected. Therefore, in FIG. 14, block c is selected as the representative vector in the left group and block f in the upper group. In FIG. 14, if there are a plurality of blocks having the same inter prediction mode, the representative vector is given priority in the selection direction such as 'right> left' in the upper group and 'down> up' in the left group. Select. Here, the priority of the selection direction may be the opposite direction. In addition, generation of the representative vector is not necessarily limited to one in the left group and one in the upper group, and a plurality of representative vectors may be selected in one group. In addition, the priority of the inter prediction mode is not limited to 'AMVP> skip> merge', and the priority may be determined in various ways for the AMVP, skip, and merge methods.
*한편, 후술하는 영상 복호화 장치에서 복호화하는 과정의 경우, 대표 블록을 선정하는 과정은 영상 부호화과정에서의 대표블록 선정과정과 동일하다. 또한, 후술하는 영상 복호화 장치에서 대표블록 및 시간적 후보블록 중에서 어느 블록이 최종적으로 선택되었는지에 대한 인덱스를 비트스트림으로부터 추출하고 추출된 인덱스에 해당하는 블록의 움직임벡터를 예측 움직임벡터로 복호화하고, 비트스트림으로부터 복호화된 잔차벡터를 더하여 최종적인 현재블록의 움직임 벡터를 복원한다.On the other hand, in the case of decoding by the video decoding apparatus to be described later, the process of selecting the representative block is the same as the process of selecting the representative block in the video encoding process. In addition, in an image decoding apparatus to be described later, an index of which block is finally selected from a representative block and a temporal candidate block is extracted from a bitstream, and a motion vector of a block corresponding to the extracted index is decoded into a prediction motion vector, The residual vector decoded from the stream is added to reconstruct the motion vector of the final current block.
(제2실시예)Second Embodiment
도 15는 현재블록의 주변블록의 인터예측 방향을 예시한 도면이다.15 is a diagram illustrating an inter prediction direction of a neighboring block of a current block.
제2실시예에서, 엔트로피부호화부(107)는 제1실시예와 마찬가지로 현재블록의 움직임벡터에 대한 정보의 부호화시 주변 후보 블록들이 속해 있는 두 그룹들(도 14 에선 왼쪽 그룹(a, b, c)과 위쪽그룹(d, e, f, g))에서 각각 선택된 대표블록 및 시간적(temporal) 후보블록 등 3개의 블록의 대표벡터 중 가장 최적인 예측움직임벡터를 선택하고 그에 해당하는 인덱스를 할당하여 부호화한다. 그리고 원래의 현재블록의 움직임 벡터와 선택된 예측 움직임벡터의 차이 값인 잔차벡터(mvd)를 부호화한다. 이는 후술하는 제3실시예에서도 마찬가지이다.In the second embodiment, the entropy encoding unit 107, like the first embodiment, includes two groups to which neighboring candidate blocks belong when encoding information on the motion vector of the current block (left groups (a, b, c) and the uppermost group (d, e, f, g)) select the most optimal predictive motion vector among the representative vectors of the three blocks, including the representative block and the temporal candidate block, respectively, and assign the corresponding index. To encode it. The residual vector mvd, which is a difference value between the motion vector of the original current block and the selected predicted motion vector, is encoded. The same applies to the third embodiment described later.
다만, 제2실시예에서는 주변블록의 인터예측 방향의 우선순위에 따라 대표블록을 선정하는 점이 제1실시예와 다른 점이다. 도 15의 예에서 현재 블록의 주위 블록들이 단방향 또는 양방향으로 부호화되었는지 확인 후, 우선순위를 설정(예컨대 '단방향>양방향'으로 설정)하였을 경우, 단방향으로 부호화된 블록의 움직임벡터를 대표벡터로 우선적으로 선정할 수 있다. 제1실시예와 마찬가지로 대표블록은 왼쪽 그룹 블록(a, b, c, d) 및 위쪽 그룹 블록(d, e, f, g)에서 각각 하나씩의 대표블록을 선택할 수 있으며, 경우에 따라서는 왼쪽 및 위쪽 그룹에서 각각 하나 이상의 대표블록을 선택하거나, 왼쪽그룹 및 위쪽그룹을 통틀어서 하나의 대표블록만 선택할 수도 있다. 예측방향의 우선순위는 과거 방향(list0), 미래방향(list1), 양방향의 3가지 중에서 2개 이상에 대하여 우선순위를 설정할 수도 있다.However, the second embodiment is different from the first embodiment in that the representative block is selected according to the priority of the inter prediction direction of the neighboring blocks. In the example of FIG. 15, after confirming that neighboring blocks of the current block are encoded in one direction or two directions, and if priority is set (for example, 'unidirectional> bidirectional'), the motion vector of the block encoded in one direction is preferentially represented as a representative vector. Can be selected. As in the first embodiment, the representative block may select one representative block from the left group block (a, b, c, d) and the upper group block (d, e, f, g). One or more representative blocks may be selected in each of the and upper groups, or only one representative block may be selected in the left group and the upper group. The priority of the prediction direction may be set to two or more of the three directions of the past direction (list0), the future direction (list1), and the bidirectional direction.
만일, '양방향>단방향'의 우선순위가 설정되고, 왼쪽그룹의 경우 '아래 > 위'의 선택방향의 우선순위가 설정되고, 위쪽 그룹의 경우 '오른쪽 > 왼쪽'의 선택방향의 우선순위가 설정된 경우, 도 15에서 대표블록으로는 왼쪽그룹에서 블록 a, 위쪽 그룹에서 블록 g가 선택된다.If the priority of 'bidirectional> unidirectional' is set, the priority of the selection direction of 'down> up' is set in the left group, and the priority of selection direction of 'right> left' is set in the upper group. In this case, block a is selected from the left group and block g is selected from the upper group as the representative block in FIG. 15.
또한, 현재 블록의 움직임보상 방향에 따라 후보블록의 움직임보상 방향의 우선순위를 고려하여 후보블록 중에서 하나 이상의 대표블록을 선택할 수도 있다. 예를 들어 현재 블록의 움직임추정이 과거 방향으로 진행되고 있다면, 주위 블록들 중 어느 하나의 블록(즉, 제1후보블록)에 대하여 움직임보상 방향이 현재 블록의 움직임추정 방향과 동일한 방향(즉, 과거 방향)인지 여부를 판단하여 대표블록으로 선택할지 여부를 결정한다. 만일, 제1후보블록에 대하여 현재블록의 움직임 추정방향과 다른 경우에는 현재 블록과 제1후보블록에 대하여 참조픽처의 일련번호(POC: Pictute of Count)가 서로 일치하는지 여부를 확인하여 픽처의 일련번호가 서로 같은 경우에 해당 제1후보블록을 대표블록으로 선택할 수 있다. In addition, one or more representative blocks may be selected from the candidate blocks in consideration of the priority of the motion compensation direction of the candidate block according to the motion compensation direction of the current block. For example, if the motion estimation of the current block is progressing in the past direction, the motion compensation direction is the same as the motion estimation direction of the current block with respect to one of the surrounding blocks (ie, the first candidate block). Determine whether to select the representative block. If it is different from the motion estimation direction of the current block with respect to the first candidate block, it is determined whether the serial number (POC: Pictute of Count) of the reference picture is identical with each other for the current block and the first candidate block. If the numbers are the same, the first candidate block may be selected as the representative block.
위와 같이 제1후보블록에 대하여 움직임보상 방향의 우선순위를 고려하여 대표블록으로 선택할지 여부를 확인한 후에 제1후보블록이 대표블록으로 선택되지 않은 경우, 다른 후보블록(즉, 제2후보블록)에 대하여도 제1후보블록의 경우와 유사하게 움직임보상 방향의 우선순위를 고려하여 따라 제2후보블록을 대표블록으로 선택할지 여부를 결정한다.If the first candidate block is not selected as the representative block after checking whether to select the representative block in consideration of the priority of the motion compensation direction with respect to the first candidate block as described above, another candidate block (ie, the second candidate block) Similarly to the case of the first candidate block, it is determined whether to select the second candidate block as a representative block in consideration of the priority of the motion compensation direction.
(제3실시예)(Third Embodiment)
도 16은 현재블록의 주변블록의 블록크기를 예시한 도면이다.16 is a diagram illustrating a block size of a neighboring block of the current block.
제3실시예에서, 엔트로피부호화부(107)는 주변블록의 블록크기의 우선순위에 따라 대표블록을 선정하는 점이 제1 및 제2 실시예와 다른 점이다. 도 16의 예에서 블록크기의 우선순위를 설정(예컨대 '큰 블록 > 작은 블록'으로 설정)하였을 경우, 현재 블록의 주위 블록들의 크기가 큰지 작은지를 확인하고, 큰 블록으로 부호화된 블록을 대표블록으로 우선적으로 선정할 수 있다. In the third embodiment, the entropy encoding unit 107 selects the representative block according to the priority of the block size of the neighboring block, which is different from the first and second embodiments. In the example of FIG. 16, when the priority of the block size is set (for example, 'large block> small block'), it is checked whether the neighboring blocks of the current block are large or small, and the block encoded into the large block is represented as a representative block. Can be selected first.
만일, '큰 블록 > 작은 블록'의 우선순위가 설정되고, 왼쪽그룹의 경우 '아래 > 위'의 선택방향 우선순위가 설정되고, 위쪽 그룹의 경우 '오른쪽 > 왼쪽'의 선택방향 우선순위가 설정된 경우, 도 16에서 대표블록으로는 블록 b, 블록 d가 각각 선택된다.If the priority of 'big block> small block' is set, the priority direction of 'down> up' is set in the left group, and the priority direction of 'right> left' in the upper group. In this case, blocks b and d are respectively selected as the representative blocks in FIG. 16.
또한, 현재 블록의 크기에 대한 주위블록의 크기의 우선순위에 따라 대표블록을 선정하는 방법도 가능하다. 예를 들어, 현재 블록의 크기가 16×16으로 설정되었을 경우, 주위 블록들 중 크기가 16×16에 가까운 블록에 높은 우선순위를 설정하여 주위 블록들 중에서 대표블록으로 선택할 수도 있다. 여기서 선정된 대표블록의 움직임벡터가 대표 움직임벡터(즉, 대표벡터)가 된다.In addition, it is also possible to select a representative block according to the priority of the size of the neighboring block to the size of the current block. For example, when the size of the current block is set to 16 × 16, a high priority may be set to a block near the size of 16 × 16 among the neighboring blocks and selected as the representative block among the neighboring blocks. The motion vector of the representative block selected here becomes a representative motion vector (ie, a representative vector).
(제4실시예)(Example 4)
제4실시예에서, 엔트로피부호화부(107)는 주변블록에서 참조한 픽쳐의 거리에 대한 우선순위에 따라 주변블록 중에서 하나 이상의 대표블록을 선정하는 점이 제1, 제2 및 제3 실시예와 다른 점이다.In the fourth embodiment, the entropy encoding unit 107 selects one or more representative blocks from the neighboring blocks according to the priority of the distance of the pictures referred to from the neighboring blocks, which is different from the first, second, and third embodiments. to be.
도 16의 예에서, 각 주위 블록마다 참조한 픽쳐의 거리가 각각 다를 경우, 해당 주위블록과 참조한 픽쳐 사이의 거리가 가까운 순으로 우선순위로 설정(예컨대 주변블록 c의 참조픽처와의 거리는 2, 주변블록 d의 참조픽처와의 거리는 1, 주변블록 e의 참조픽처와의 거리는 3일 경우 주변블록 d에 가장 높은 우선순위를 설정)하여 가장 가까운 블록의 움직임벡터를 대표벡터로 설정할 수 있다.In the example of FIG. 16, when the distance between the reference picture is different for each neighboring block, the distance between the neighboring block and the referenced picture is set in order of priority (for example, the distance from the reference picture of the neighboring block c is 2, neighboring). When the distance from the reference picture of the block d is 1 and the distance from the reference picture of the neighboring block e is 3, the highest priority is set in the neighboring block d) so that the motion vector of the nearest block can be set as the representative vector.
또한, 현재 블록이 참조하고 있는 픽쳐의 거리와 비교하는 것도 가능하다. 예를 들어 현재블록의 움직임추정 과정 시 참조하고 있는 픽쳐와의 거리가 2인 경우, 주위 블록 중 해당 블록이 참조한 픽쳐와의 거리가 2에 가장 가까운 주위 블록에 높은 우선순위를 설정하여 대표블록으로 선정하여 그 움직임벡터를 대표벡터로 설정할 수도 있다. 또한, 대표블록을 선정함에 있어서 움직임 보상방향에 따라 우선순위를 정한 다음에, 각 주변블록이 참조하는 픽처와의 거리에 대한 우선순위를 추가로 고려하여 대표블록을 선택할 수도 있다. 이 경우 우선순위는 움직임 보상방향에 따라 우선순위가 같은 경우 현재블록이 참조하는 픽처와의 거리와 주변블록이 참조하는 픽처와의 거리가 서로 같은지 여부에 따라 결정될 수 있다. 즉, 거리가 서로 같으면 우선순위는 높고 거리가 같지 않으면 우선순위는 낮도록 설정할 수 있다.It is also possible to compare with the distance of the picture referred to by the current block. For example, if the distance from the picture referenced in the motion estimation process of the current block is 2, the high priority is set to the neighboring block whose distance from the picture referenced by the corresponding block among the neighboring blocks is closest to 2 to be the representative block. The motion vector may be selected as a representative vector. In addition, in selecting the representative block, the priority block may be determined according to the motion compensation direction, and then the representative block may be selected in consideration of the priority of the distance to the picture referenced by each neighboring block. In this case, the priority may be determined according to whether the distance between the picture referenced by the current block and the picture referenced by the neighboring block is equal to each other when the priority is the same according to the motion compensation direction. That is, if the distances are equal to each other, the priority is high, and if the distances are not equal, the priority may be set to be low.
한편, 종래기술에 따른 AMVP의 경우, 현재 블록의 주변 블록들 중 미리 정해진 소수의 블록들이 대표블록을 선택하기 위한 후보 블록들로 이용되었다. 그러나 제5실시예 내지 제8실시예에서는, 종래기술과 달리 주변 블록들 중에서 소정 기준에 따라 후보 블록들이 선택된다는 점에 차이가 있다.Meanwhile, in the AMVP according to the related art, a predetermined number of blocks among neighboring blocks of the current block are used as candidate blocks for selecting a representative block. However, in the fifth to eighth embodiments, unlike the prior art, there is a difference in that candidate blocks are selected from among neighboring blocks according to a predetermined criterion.
다음으로, 본 발명에 따른 제5실시예 내지 제8실시예를 설명한다.Next, the fifth to eighth embodiments of the present invention will be described.
제5실시예 내지 제8실시예에서, 엔트로피부호화부(107)는 인터예측을 수행한 주변블록 중에서, 소정의 우선순위에 따라 후보블록을 선택하고, 선택된 후보블록 중에서 소정의 조건에 따라 대표블록을 선택하고, 선택된 대표블록의 움직임벡터 및 시간적 후보블록의 움직임벡터 중에서 최적의 움직임벡터를 예측움직임벡터로 이용하여 현재블록의 움직임벡터를 부호화한다.In the fifth to eighth embodiments, the entropy encoding unit 107 selects a candidate block according to a predetermined priority from among neighboring blocks on which the inter prediction is performed, and represents the representative block according to a predetermined condition among the selected candidate blocks. Next, the motion vector of the current block is encoded by using the optimal motion vector as the predictive motion vector among the motion vectors of the selected representative block and the motion vectors of the temporal candidate blocks.
여기서 후보블록의 갯수는 주변블록의 왼쪽그룹에서 두개의 후보블록을, 윗쪽그룹에서 세개의 후보블록을 선택한다고 가정한다. 또한, 각 그룹에서 선택 방향의 우선순위는 별도의 설명이 없는 한 왼쪽 그룹에서는 '아래>위'이고, 위쪽 그룹에서는 '오른쪽 > 왼쪽'인 것으로 가정한다.It is assumed here that the number of candidate blocks selects two candidate blocks from the left group of neighboring blocks and three candidate blocks from the upper group. In addition, the priority of the selection direction in each group is assumed to be 'down> up' in the left group and 'right> left' in the upper group unless otherwise stated.
(제5실시예)(Example 5)
제5실시예에서, 엔트로피부호화부(107)는 인터예측을 수행한 주변블록 중에서, 수행된 인터예측방법의 우선순위에 따라 후보블록을 선택한다.In the fifth embodiment, the entropy encoding unit 107 selects a candidate block according to the priority of the performed inter prediction method among neighboring blocks on which the inter prediction is performed.
후보 블록을 선정하고 대표 블록(대표 벡터)를 정하는 방식에 종래기술과의 차이점이 존재하는데, 제1 내지 제4실시예에서는 각 그룹에서 소정 기준에 따라 대표 벡터를 곧바로 선정한다. 그러나 본 실시예에서는 후보 블록을 인터예측모드에 따라 각 그룹마다 소정의 개수로 정한 후 도 17을 이용하여 대표블록을 선정한다.There is a difference from the prior art in the method of selecting the candidate block and the representative block (representative vector). In the first to fourth embodiments, the representative vector is immediately selected according to a predetermined criterion in each group. However, in the present embodiment, a predetermined number of candidate blocks is determined for each group according to the inter prediction mode, and then representative blocks are selected using FIG. 17.
도 18은 현재블록의 주변블록의 인터예측모드 및 예측방향을 예시한 도면이다.18 is a diagram illustrating an inter prediction mode and a prediction direction of neighboring blocks of a current block.
도 18의 예에서 보면, 예컨대 'AMVP > 스킵 > 머지'로 우선순위를 설정한 경우, 왼쪽 그룹(a, b, c)에서는 AMVP를 이용한 블록 c와 스킵을 이용한 블록 a가 도 17의 대표블록 설정 알고리즘에 사용될 최종 후보 블록으로 선정이 된다. 왼쪽 그룹과 유사하게, 위쪽 그룹(d, e, f, g)에서는 AMVP를 이용한 블록 g, d와 스킵을 이용한 블록 e가 도 17의 대표블록 설정 알고리즘에 사용될 최종 후보 블록으로 선정이 된다. 각 그룹에서 선정되는 후보블록의 갯수는 실시예에 따라 달라질 수 있으며, 인터예측 방법의 우선순위 또한 달라질 수 있다. 또한 우선순위를 인터예측모드와 움직임보상방향의 혼합으로 결정할 수도 있다.In the example of FIG. 18, when priority is set to 'AMVP> skip> merge', for example, in the left group (a, b, c), block c using AMVP and block a using skip are representative blocks of FIG. 17. The final candidate block to be used in the configuration algorithm is selected. Similar to the left group, in the upper group d, e, f, g, blocks g using AMVP, block e using d and skip are selected as the final candidate blocks to be used in the representative block setting algorithm of FIG. The number of candidate blocks selected from each group may vary depending on the embodiment, and the priority of the inter prediction method may also vary. Also, the priority may be determined by mixing the inter prediction mode and the motion compensation direction.
각 그룹에서 후보 블록들이 선정된 후에는 도 17의 방법을 이용하여 대표벡터가 선정된다. 이하, 그룹 A의 대표 벡터를 결정하는 과정을 도 17을 참조하여 설명한다. 여기서 예측방향이란 움직임보상방향의 한 종류(과거방향 혹은 미래방향)로 사용될 수도 있다. 그룹 A의 후보블록이 A0(블록1), A1(블록2)이라 가정한다. 이때, A0이 도 17에서의 블록 1이 되며 A1이 블록 2가 된다. 먼저 X=1로 시작한다(S1701). 블록 X의 참조픽쳐 인덱스와 예측방향이 현재블록과 동일한지 여부를 판단한다(S1702). S1702 단계의 판단결과 '예'이면 블록X가 대표블록이 된다(즉, 그 블록의 움직임벡터가 대표벡터가 됨). 만일, S1702 단계의 판단결과 '아니오'이면, 남은 블록이 존재하는지 여부를 판단하고(S1703), S1703 단계에서의 판단결과 '예'이면 X에 1을 증가하여(즉, 블록2가 됨) 다시 S1702 단계로 진행한다(S1704).After the candidate blocks are selected in each group, the representative vector is selected using the method of FIG. Hereinafter, a process of determining the representative vector of the group A will be described with reference to FIG. 17. Here, the prediction direction may be used as one kind of motion compensation direction (past or future). Assume that candidate blocks of group A are A0 (block 1) and A1 (block 2). At this time, A0 becomes block 1 in FIG. 17 and A1 becomes block 2. FIG. First, start with X = 1 (S1701). It is determined whether the reference picture index and the prediction direction of the block X are the same as the current block (S1702). If the determination of step S1702 is YES, block X becomes a representative block (ie, the motion vector of the block becomes a representative vector). If the determination result of step S1702 is no, it is determined whether there is a remaining block (S1703). If the determination result of step S1703 is YES, 1 is increased to X (ie, block 2). The flow proceeds to step S1702 (S1704).
만일, S1703 단계에서의 판단결과 '아니오'이면 X에 1을 대입하고(S1705) 블록X의 참조픽쳐 인덱스는 현재 블록과 같지만 예측방향이 다른지 여부를 확인한다(S1706). S1706 단계의 판단결과 '예'이면 블록X가 대표블록이 된다. 만일, S1706 단계의 판단결과 '아니오'이면, 블록X의 참조픽쳐인덱스는 현재블록과 다르지만 예측방향이 같은지 여부를 확인한다(S1707). 만일, S1707 단계의 판단결과 '예'이면 블록X가 대표블록이 된다. 만일, S1707 단계의 판단결과 '아니오'이면, 블록X의 참조픽쳐인덱스와 예측방향이 모두 현재블록과 다른지 여부를 확인한다(S1708). 만일, S1708 단계의 판단결과 '예'이면 블록X가 대표블록이 된다. 만일, S1708 단계의 판단결과 '아니오'이면, 남은 블록이 더 존재하는지 여부를 판단한다. 만일 남은 블록이 존재하면 X에 1을 증가하여(즉, 블록2가 됨) 다시 S1706 단계로 진행한다(S1710).If the determination result in step S1703 is no, 1 is substituted into X (S1705), 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 (S1706). If the determination of step S1706 is YES, block X becomes a representative block. If the determination result of step S1706 is no, the reference picture index of block X is different from the current block, but it is determined whether the prediction direction is the same (S1707). If the determination result of step S1707 is YES, block X becomes a representative block. If the determination result of step S1707 is no, it is checked whether the reference picture index of the block X and the prediction direction are different from the current block (S1708). If the result of the determination of step S1708 is YES, block X becomes a representative block. If the result of the determination in step S1708 is no, it is determined whether there are more remaining blocks. If there is a remaining block, X is incremented to 1 (that is, block 2) and the process proceeds to step S1706 again (S1710).
여기서 단계 1708에서 둘다 '아니오'라고 판단하는 경우는, 인터예측으로 이용가능한 블록이 아닌 경우를 의미한다. 예를 들어 인트라예측 블록인 경우가 이에 해당한다.In this case, when both are determined to be “no” in step 1708, the present invention means that the block is not available for inter prediction. For example, this is the case of an intra prediction block.
따라서 위쪽 그룹에 대해서도 이와 유사한 방법으로 대표 벡터를 추출할 수가 있다.Therefore, the representative vector can be extracted in a similar way for the upper group.
(제6실시예)(Example 6)
제6실시예에서, 엔트로피부호화부(107)는 인터예측을 수행한 주변블록 중에서, 수행된 인터예측 방향의 우선순위에 따라 후보블록을 선택한다.In the sixth embodiment, the entropy encoding unit 107 selects a candidate block according to the priority of the performed inter prediction direction among neighboring blocks on which the inter prediction is performed.
만약, 우선순위를 '단방향 > 양방향'으로 설정하였을 경우 주변블록 중에서 단방향인 블록들을 우선적으로 후보블록으로 설정한 후, 도 17의 알고리즘을 이용하여 대표벡터를 선정한다. 또한, 과거 방향(list0), 미래방향(list1), 양방향 중에서 두가지 이상에 대하여 우선순위를 정하여 후보블록을 선정하는 것도 가능하다.If the priority is set to 'unidirectional> bidirectional', the unidirectional blocks among neighboring blocks are preferentially set as candidate blocks, and then a representative vector is selected using the algorithm of FIG. In addition, it is also possible to select a candidate block by setting priorities for two or more of the past direction (list0), future direction (list1), both directions.
따라서, 도 18의 경우에, 우선순위를 '단방향 > 양방향'으로 설정한 경우, 왼쪽 그룹에서는 블록 c, 블록 a가 후보블록으로 선택되고, 위쪽 그룹에서는 블록 f, 블록 d, 블록 g가 후보블록으로 선택된다. 여기서 선택된 각 그룹별 후보블록들은 도 17의 알고리즘에 따라 그룹별로 하나의 대표블록이 선택된다.Therefore, in the case of FIG. 18, when the priority is set to 'unidirectional> bidirectional', block c and block a are selected as candidate blocks in the left group, and block f, block d and block g are candidate blocks in the upper group. Is selected. Here, one representative block for each group is selected for each candidate block for each group according to the algorithm of FIG. 17.
또한 현재 블록의 움직임보상 방향과 비교하는 것도 가능하다. 예를 들어 현재 블록의 움직임보상이 과거 방향으로 진행되고 있다면, 주위 블록들 중 움직임보상 방향이 과거인 블록에 높은 우선순위를 설정하여 후보블록으로 설정한 후 도 17의 알고리즘을 이용하여 대표벡터로 선택할 수도 있다.It is also possible to compare with the motion compensation direction of the current block. For example, if the motion compensation of the current block is progressing in the past, the motion compensation direction of the neighboring blocks is set to a candidate block by setting a high priority to a block having the past motion compensation direction and then using the algorithm of FIG. 17 as a representative vector. You can also choose.
(제7실시예)(Example 7)
제7실시예에서, 엔트로피부호화부(107)는 인터예측을 수행한 주변블록 중에서, 수행된 인터예측 블록 크기의 우선순위에 따라 후보블록을 선택한다.In the seventh embodiment, the entropy encoding unit 107 selects a candidate block according to the priority of the performed inter prediction block size among neighboring blocks on which the inter prediction is performed.
만약, 우선순위를 '큰 블록 > 작은 블록'으로 설정하였을 경우 큰 블록의 블록들을 우선적으로 후보블록으로 설정한 후 도 17의 알고리즘을 이용하여 대표벡터를 선정한다.If the priority is set to 'large block> small block', the blocks of the large block are preferentially set as candidate blocks, and then the representative vector is selected using the algorithm of FIG.
따라서, 도 16의 경우에, 우선순위를 '큰 블록 > 작은 블록'으로 설정한 경우, 왼쪽 그룹에서는 블록 b, 블록 a가 후보블록으로 선택되고, 위쪽 그룹에서는 블록 d, 블록 e, 블록 c가 후보블록으로 선택된다. 여기서 선택된 각 그룹별 후보블록들은 도 17의 알고리즘에 따라 그룹별로 하나의 대표블록이 선택된다.Therefore, in the case of FIG. 16, when the priority is set to 'big block> small block', block b and block a are selected as candidate blocks in the left group, and block d, block e and block c are selected in the upper group. It is selected as a candidate block. Here, one representative block for each group is selected for each candidate block for each group according to the algorithm of FIG. 17.
또한 현재 블록의 크기와 비교하는 것도 가능하다. 예를 들어 현재 블록의 크기가 16×16으로 설정되었을 경우, 주위 블록들 중 크기가 16×16에 가까운 블록에 높은 우선순위를 설정하여 후보블록으로 설정한 후 도 17의 알고리즘을 이용하여 대표벡터로 선택할 수도 있다.It is also possible to compare with the size of the current block. For example, when the size of the current block is set to 16 × 16, a high priority is set to a block close to 16 × 16 among the neighboring blocks and set as a candidate block, using the algorithm of FIG. You can also choose.
(제8실시예)(Example 8)
제8실시예에서, 엔트로피부호화부(107)는 인터예측을 수행한 주변블록 중에서, 참조한 픽쳐와의 거리에 대한 우선순위에 따라 후보블록을 선택한다.In the eighth embodiment, the entropy encoding unit 107 selects a candidate block according to the priority of the distance to the referenced picture among the neighboring blocks on which the inter prediction is performed.
만약, 우선순위를 '짧은거리 > 긴거리'로 설정하였을 경우, 참조한 픽쳐와의 거리가 가까운 순으로 우선순위로 설정(예컨대 주변블록 c의 참조픽처의 거리는 2, d의 참조픽처의 거리는 1, e의 참조픽처의 거리는 3일 경우 d에 가장 높은 우선순위를 설정)하여 참조픽처의 거리가 가장 가까운 블록을 우선적으로 후보블록으로 설정한 후 도 17의 알고리즘을 이용하여 대표벡터를 선정한다.If the priority is set to 'short distance> long distance', the priority of the reference picture is as follows: the distance from the reference picture of the neighboring block c is 2, the distance of the reference picture of d is 1, When the distance of the reference picture of e is 3, the highest priority is set to d), and the block closest to the distance of the reference picture is preferentially set as the candidate block, and then the representative vector is selected using the algorithm of FIG.
또한 현재 블록이 참조하고 있는 픽쳐의 거리와 비교하는 것도 가능하다. 예를 들어 현재블록의 움직임추정 과정 시 참조하고 있는 픽쳐와의 거리가 2인 경우, 주위 블록 중 참조한 픽쳐와의 거리가 2에 가장 가까운 블록에 높은 우선순위를 설정하여 후보블록으로 설정한 후 도 17의 알고리즘을 이용하여 대표벡터로 선택할 수도 있다.It is also possible to compare with the distance of the picture referenced by the current block. For example, when the distance from the reference picture is 2 during the motion estimation process of the current block, the priority block is set after the high priority is set to a block closest to 2 among the neighboring blocks. The algorithm of 17 may be used to select a representative vector.
한편, 도 17의 대표블록 선택 알고리즘을 적용함에 있어서, 후보블록에 대하여 인터예측방법, 인터예측방향, 움직임보상방향, 블록크기 및 참조픽처와의 거리 중에서 어느 하나의 우선순위에 따른 검색순서로 후보블록이 소정의 조건이 맞는지 여부를 판단하여 대표블록으로 선택한다. 예를 들어, '단방향 > 양방향'으로 우선순위가 설정된 경우, 단방향의 블록을 우선적으로 블록1로 놓고 양방향의 블록을 블록2로 놓고 두 17의 알고리즘을 적용한다. 만일 단방향 블록이 2개인 경우에는 선택방향 우선순위에 따라(예컨대 '아래 > 위'인 경우) 아래 블록이 블록1, 위 블록이 블록2가 되어 도 17의 알고리즘을 적용한다.Meanwhile, in applying the representative block selection algorithm of FIG. 17, the candidate blocks are candidates in the search order according to any priority among the inter prediction method, the inter prediction direction, the motion compensation direction, the block size, and the distance to the reference picture. It is determined whether a block meets a predetermined condition and is selected as a representative block. For example, if the priority is set to 'unidirectional> bidirectional', two 17 algorithms are applied with a unidirectional block to block 1 and a bidirectional block to block 2. If there are two unidirectional blocks, the lower block becomes block 1 and the upper block becomes block 2 according to the selection direction priority (for example, 'down> up'), and the algorithm of FIG. 17 is applied.
한편, 도 19는 주변블록의 다른 예를 나타낸 것이다. 만일 제 5실시예에서 후보블록을 선택하는 경우, 인터예측된 블록 중에서 AMVP, 스킵, 머지의 순서로 그룹별 후보블록을 찾는다. 따라서 왼쪽 그룹에서 2개, 위쪽 그룹에서 3개씩 후보블록이 선택된 예를 보여준다.On the other hand, Figure 19 shows another example of the peripheral block. If a candidate block is selected in the fifth embodiment, candidate blocks for each group are found in the order of AMVP, skip, and merge among the interpredicted blocks. Thus, two candidate blocks are selected in the left group and three in the upper group.
도 20은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.20 is a block diagram schematically illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 영상 복호화 장치(400)는 전술한 영상 부호화 장치 같이, 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, TV, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 단말기(Wireless Terminal), 디지털 TV 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.The image decoding apparatus 400 according to an embodiment of the present invention is a personal computer (PC), a notebook computer, a TV, a personal digital assistant (PDA), a portable multimedia player, as the above-described image encoding apparatus. (PMP: Portable Multimedia Player), PlayStation Portable (PSP: PlayStation Portable), wireless terminal (Wireless Terminal), digital TV, etc., communication devices such as a communication modem for communicating with various devices or wired or wireless communication network, video Means a variety of devices including a memory for storing the program and a memory for storing the data, a microprocessor for the operation and control by running the program.
본 발명의 일 실시예에 따른 영상 복호화 장치(400)는 비트스트림 복호부(401), 역양자화부(402), 역변환부(403), 예측부(405), 가산부(409, Adder) 및 메모리(408)를 포함하여 구성될 수 있다.The image decoding apparatus 400 according to an embodiment of the present invention 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.
비트스트림 복호부(401)는 비트스트림을 복호화하여 양자화된 변환 블록을 추출한다. 즉, 비트스트림 복호부(401)는 입력되는 비트스트림으로부터 추출된 비트열을 복호화하고 역 스캐닝하여 양자화된 변환 계수를 가지는 양자화된 변환 블록을 복원한다. 이때, 비트스트림 복호부(401)는 엔트로피부호화부(107)에서 이용한 엔트로피 부호화와 같은 부호화 기법을 이용하여 복호화할 수 있다. 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.
또한, 비트스트림 복호부(401)는 인터예측의 경우, 비트스트림으로부터 부호화된 차분벡터를 추출하고 복호화하여 차분 벡터를 복원하고 AMVP에 사용된 차분 움직임 벡터에 대한 AMVP 인덱스를 비트스트림으로부터 추출한다. 여기서 추출된 AMVP 인덱스로부터 식별되는 위치에 해당되는 주변블록의 움직임 벡터를 예측 움직임벡터로 복원하고 복원된 예측 움직임벡터와 복호된 차분 벡터를 합산하여 복원하고자 하는 현재블록의 움직임벡터를 복원한다. In the inter prediction, the bitstream decoder 401 extracts and decodes the encoded difference vector from the bitstream, reconstructs the differential vector, and extracts an AMVP index for the differential motion vector used in the AMVP from the bitstream. Here, the motion vector of the neighboring block corresponding to the position identified from the extracted AMVP index is reconstructed into the predicted motion vector, and the reconstructed predictive motion vector and the decoded difference vector are added to reconstruct the motion vector of the current block to be reconstructed.
한편, 본 발명의 일 실시예에 따른 영상 복호화 장치(400)의 비트스트림 복호부(401)에서 움직임벡터를 복호화하기 위하여 대표 블록을 선정하는 과정은, 영상 부호화 장치(100)의 비트스트림 복호부(401)에서 수행하는 부호화 과정에서의 대표블록 선정과정과 동일하다. 따라서, 비트스트림 복호부(401)는 현재블록의 소정의 주변블록들에 대하여 인터예측방법, 움직임보상방향, 블록크기 및 참조된 픽쳐와의 거리 중에서 적어도 하나의 우선순위에 따라 대표블록을 선택한다.Meanwhile, the process of selecting a representative block in order to decode the motion vector in the bitstream decoder 401 of the image decoding apparatus 400 according to an embodiment of the present invention may include: a bitstream decoder of the image encoding apparatus 100. It is the same as the representative block selection process in the encoding process performed at 401. Accordingly, the bitstream decoding unit 401 selects the representative block according to at least one priority from among the inter prediction method, the motion compensation direction, the block size, and the distance to the referenced picture with respect to predetermined neighboring blocks of the current block. .
또한, 비트스트림 복호부(401)는 인트라예측의 경우 비트스트림으로부터 부호화된 인트라예측모드 인덱스를 추출하고 복호화하여 현재 블록이 어떤 인트라예측모드를 사용하였는지 알려준다.In addition, in the case of intra prediction, the bitstream decoder 401 extracts and decodes an encoded intra prediction mode index from the bitstream to inform which intra prediction mode the current block used.
역양자화부(402)는 양자화된 변환 블록을 역양자화한다. 즉, 역양자화부(402)는 비트스트림 복호부(401)로부터 출력되는 양자화된 변환 블록의 양자화된 변환계수를 역양자화한다. 이때, 역양자화부(402)는 영상부호화 장치의 양자화부(105)에서 이용한 양자화 기법을 역으로 수행하여 역양자화한다.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.
역변환부(403)는 역양자화부(402)로부터 출력되는 역양자화된 변환 블록을 역변환하여 잔차블록을 복원한다. 즉, 역변환부(403는 역양자화부(402)로부터 출력되는 역양자화된 변환 블록의 역양자화된 변환 계수를 역변환함으로써 복원된 잔차 신호를 가지는 잔차 블록을 복원하는데, 영상 부호화 장치의 변환부(104)에서 이용한 변환 기법을 역으로 수행하여 역변환한다.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 ().
예측부(405)는 인트라예측부(406) 및 인터예측부(407)를 포함할 수 있으며, 도 3을 통하여 전술한 영상 부호화 장치의 인트라예측부(102) 및 인터예측부(103)와 각각 유사한 기능을 한다.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. 3, respectively. It has a similar function.
가산부(409, Adder)는 역변환된 잔차신호와, 인트라예측 또는 인터예측을 통하여 생성된 예측 영상을 가산하여 현재 블록 영상을 복원한다.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.
메모리(408)는 영상 부호화 장치의 메모리와 동일하게 복호된 영상을 저장하여 이후의 예측에 사용될 수 있다.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.
영상 복호화 장치에서, 대표 블록을 선정하는 과정은 영상 부호화 장치에서와 동일하며, 비트스트림 복호부(401)는 어느 블록이 차분움직임 벡터로 최종적으로 선택되었는지를 비트스트림에서 인덱스를 추출하여 복호화한 예측 움직임벡터와, 복호화된 잔차벡터를 더하여 최종적인 현재블록의 움직임 벡터를 복원한다.In the image decoding apparatus, the process of selecting the representative block is the same as in the image encoding apparatus, and the bitstream decoding unit 401 extracts an index from the bitstream and decodes which block was finally selected as the differential motion vector. The motion vector and the decoded residual vector are added to restore the final motion vector of the current block.
인트라예측부(406)는 여기서 생성된 움직임 벡터를 이용하여 복원할 현재블록을 예측하는데에 사용한다.The intra prediction unit 406 uses the motion vector generated here to predict the current block to be reconstructed.
한편, 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는 도 3의 영상 부호화 장치의 비트스트림(부호화 데이터) 출력단을 도 20의 영상 복호화 장치의 비트스트림 입력단에 연결함으로써 구현할 수 있다.Meanwhile, the image encoding / decoding apparatus according to an embodiment of the present invention may be implemented by connecting a bitstream (encoded data) output terminal of the image encoding apparatus of FIG. 3 to a bitstream input terminal of the image decoding apparatus of FIG. 20.
본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는, 현재블록의 소정의 주변블록들에 대하여 인터예측방법, 인터예측방향, 움직임보상방향, 블록크기 및 참조픽쳐와의 거리 중에서 어느 하나의 우선순위에 따라 대표블록을 선택하거나 현재블록의 소정의 주변블록에 대하여 인터예측방법, 인터예측방향, 움직임보상방향, 블록크기 및 참조픽쳐와의 거리 중에서 어느 하나의 우선순위에 따라 후보블록을 선택하고 선택된 후보블록에 대하여 소정의 조건에 따라 대표블록을 선택하고, 선택된 대표블록의 움직임벡터 및 현재블록과 유사한 위치에 있는 다른 픽쳐의 블록의 움직임벡터(즉, 시간적 후보 움직임벡터) 중에서 최적의 움직임벡터를 예측움직임벡터로 이용하여 현재블록의 움직임벡터를 비트스트림으로 부호화하는 영상 부호화 장치(100)(본 발명의 일 실시예에서의 영상 부호화/복호화 장치에서의 영상 부호화기를 구현)와, 비트스트림으로부터 예측움직임벡터에 대한 인덱스(AMVP 인덱스) 및 잔차벡터를 추출하고, 인터예측을 이용하여 부호화된 주변블록들 중에서 인터예측방법, 인터예측방향, 움직임보상방향, 블록크기 및 참조픽쳐와의 거리 중에서 적어도 하나의 우선순위에 따라 대표블록을 선택하여 선택된 대표블록을 고려하여 인덱스를 식별하여 인덱스에 대응되는 대표블록의 움직임벡터를 현재블록의 예측 움직임벡터로 복원하고 복원된 예측움직임 벡터를 이용하여 현재블록을 복원하는 영상 복호화 장치(400)(본 발명의 일 실시예에서 따른 영상 부호화/복호화 장치에서의 영상 복호화기를 구현)를 포함하여 구현될 수 있다.An image encoding / decoding apparatus according to an embodiment of the present invention includes any one of an inter prediction method, an inter prediction direction, a motion compensation direction, a block size, and a distance from a reference picture with respect to predetermined neighboring blocks of the current block. Select the representative block according to the rank or select the candidate block according to the priority of any one of the inter prediction method, the inter prediction direction, the motion compensation direction, the block size, and the distance to the reference picture with respect to a predetermined neighboring block of the current block. The representative block is selected according to a predetermined condition with respect to the selected candidate block, and the optimal motion vector is selected from the motion vector of the selected representative block and the motion vector of the block of another picture at a position similar to the current block (ie, a temporal candidate motion vector). Video encoding apparatus 100 for encoding the motion vector of the current block into a bitstream using Implementing an image encoder in an image encoding / decoding apparatus according to an embodiment of the present invention, extracting an index (AMVP index) and a residual vector for a prediction motion vector from a bitstream, and encoding the neighboring block using inter prediction Among them, the representative block corresponding to the index is identified by selecting the representative block according to at least one priority among the inter prediction method, the inter prediction direction, the motion compensation direction, the block size, and the distance from the reference picture. An image decoding apparatus 400 for reconstructing a motion vector of a block into a predicted motion vector of a current block and reconstructing the current block using the reconstructed predictive motion vector (image in an image encoding / decoding apparatus according to an embodiment of the present invention). May be implemented).
본 발명의 일 실시예에 따른 영상 부호화 방법은, 영상 복호화 장치(100)에서 블록분할부(101)에 의하여 입력 영상을 부호화단위 블록으로 분할되는 단계, 인트라예측부(102)가 현재 블록을 현재 픽쳐 내의 픽셀값을 이용하여 예측블록을 생성하거나 인터예측부(103)가 현재 블록을 이전에 부호화되고 복호화된 픽쳐들의 정보를 이용하여 예측 블록을 생성하는 단계, 감산부(111)가 현재블록에서 예측블록을 감산하여 잔차블록을 생성하는 단계, 변환부(104)가 잔차 블록을 변환하여 변환 블록을 생성하는 단계, 양자화부(105)가 변환 블록을 양자화하여 양자화된 변환 블록을 생성하는 단계, 양자화부(105)에 의해 양자화된 변환 블록을 엔트로피부호화부(107)가 부호화하여 비트스트림으로 출력하는 엔트로피부호화단계, 양자화부(105)에 의해 양자화된 블록을 역양자화부(108)가 역양자화하여 변환계수를 가지는 변환 블록을 복원하는 단계, 역양자화부(108)에 의해 역양자화된 변환 블록을 역변환부(109)가 역변환하여 잔차신호를 가지는 잔차 블록을 복원하는 단계, 가산부(112)가 역변환된 잔차신호와, 인트라예측 또는 인터예측을 통하여 생성된 예측 영상을 가산하여 현재 블록을 복원하는 단계, 메모리(110)가 역변환된 잔차신호와, 인트라예측 또는 인터예측을 통하여 생성된 예측 영상을 가산하여 복원된 현재 블록을 저장하는 단계를 포함하여 구현될 수 있다.In an image encoding method according to an embodiment of the present invention, the image decoding apparatus 100 divides an input image into coding unit blocks by the block division unit 101, and the intra prediction unit 102 selects a current block. Generating a prediction block using pixel values in a picture or inter prediction unit 103 generating a prediction block using information of previously encoded and decoded pictures of the current block, and subtracting unit 111 in the current block. Generating a residual block by subtracting the prediction block, transforming the residual block to generate a transform block, generating a transform block by quantization 105, and generating a quantized transform block by quantizing the transform block; An entropy encoding step in which the entropy encoding unit 107 encodes a transform block quantized by the quantization unit 105 and outputs it as a bitstream, and inverses the block quantized by the quantization unit 105. Inverse quantization of the magnetization unit 108 to restore a transform block having a transform coefficient, and inverse transform unit 109 inverse transforms a transform block inversely quantized by the inverse quantization unit 108 to restore a residual block having a residual signal Reconstructing the current block by adding the inverse transformed residual signal and the prediction image generated through intra prediction or inter prediction, and the memory 110 inversely transforming the residual signal, intra prediction or the like. And storing the reconstructed current block by adding the prediction image generated through the inter prediction.
본 발명의 일 실시예에 따른 영상 부호화 방법에서, 엔트로피부호화단계의 제1실시예는, 인터예측을 이용하여 부호화된 주변블록들 중에서, 이용된 인터예측방법의 우선순위에 따라 대표블록을 선택하고, 선택된 대표블록의 움직임벡터 및 시간적 후보 움직임벡터 중에서 선택된 움직임벡터를 예측움직임벡터로 이용하여 현재블록의 움직임벡터를 부호화한다. 여기서, 인터예측방법의 우선순위에 따라 대표블록을 선택하는 방법은, 움직임추정을 이용한 예측 방법(AMVP), 스킵(SKIP) 방법 및 머지(Merge) 방법에 대한 우선순위를 설정하고, 주변블록 중에서 우선순위가 높은 방법으로 인터예측을 수행한 기설정된 갯수의 블록을 대표블록으로 선택하는 것을 의미할 수 있다.In an image encoding method according to an embodiment of the present invention, the first embodiment of the entropy encoding step selects a representative block according to the priority of the used inter prediction method from among neighboring blocks encoded using inter prediction. The motion vector of the current block is encoded by using the motion vector selected from the motion vector and the temporal candidate motion vector of the selected representative block as the prediction motion vector. Here, the method of selecting a representative block according to the priority of the inter prediction method includes setting priorities for the prediction method (AMVP), the skip (SKIP) method, and the merge method using motion estimation, and among the neighboring blocks. It may mean that a predetermined number of blocks on which inter prediction is performed in a high priority method is selected as a representative block.
본 발명의 일 실시예에 따른 영상 부호화 방법에서, 엔트로피부호화단계의 제2실시예는, 인터예측을 이용하여 부호화된 주변블록들 중에서, 이용된 인터예측방향의 우선순위에 따라 대표블록을 선택하고, 선택된 대표블록의 움직임벡터 및 시간적 후보 움직임벡터 중에서 선택된 움직임벡터를 예측움직임벡터로 이용하여 상기 현재블록의 움직임벡터를 부호화한다. 여기서, 인터예측방향의 우선순위에 따라 대표블록을 선택하는 방법은, 단방향 및 양방향 예측에 대한 우선순위를 설정하고, 주변블록 중에서 우선순위가 높은 예측방향으로 인터예측을 수행한 기설정된 갯수의 블록을 대표블록으로 선택하는 것을 의미할 수 있다. 또한, 인터예측방향의 우선순위에 따라 대표블록을 선택하는 방법은, 과거방향 예측, 미래방향 예측 및 양방향 예측 중 두가지 이상의 예측 방향에 대한 우선순위를 설정하고, 주변블록 중에서 우선순위가 높은 예측방향으로 인터예측을 수행한 기설정된 갯수의 블록을 대표블록으로 선택하는 것을 의미할 수 있다.In the video encoding method according to an embodiment of the present invention, the second embodiment of the entropy encoding step selects a representative block according to the priority of the used inter prediction direction from among neighboring blocks encoded using inter prediction. The motion vector of the current block is encoded by using the motion vector selected from the motion vector and the temporal candidate motion vector of the selected representative block as a prediction motion vector. Here, in the method of selecting a representative block according to the priority of the inter prediction direction, a predetermined number of blocks in which priority for unidirectional and bidirectional prediction are set, and inter prediction is performed in a prediction direction having a higher priority among neighboring blocks. This may mean selecting as a representative block. In addition, the method of selecting a representative block according to the priority of the inter prediction direction, the priority of the two or more prediction directions of the past prediction, future prediction and bidirectional prediction, and sets the priority of the prediction direction with a higher priority among the neighboring blocks This may mean selecting a predetermined number of blocks on which inter prediction is performed as a representative block.
본 발명의 일 실시예에 따른 영상 부호화 방법에서, 엔트로피부호화단계의 제3실시예는, 인터예측을 이용하여 부호화된 주변블록들 중에서, 블록크기의 우선순위에 따라 대표블록을 선택하고, 선택된 대표블록의 움직임벡터 및 시간적 후보 움직임벡터 중에서 선택된 움직임벡터를 예측움직임벡터로 이용하여 상기 현재블록의 움직임벡터를 부호화한다. 여기서, 블록크기의 우선순위에 따라 대표블록을 선택하는 방법은, 작은 블록 및 큰 블록의 우선순위를 설정하고, 주변블록 중에서 우선순위가 높은 블록 크기로 인터예측을 수행한 기설정된 갯수의 블록을 대표블록으로 선택하는 것을 의미할 수 있다.In a video encoding method according to an embodiment of the present invention, the third embodiment of the entropy encoding step selects a representative block according to the priority of the block size from among neighboring blocks encoded by using inter prediction, and selects the selected representative. A motion vector of the current block is encoded using a motion vector selected from a motion vector of the block and a temporal candidate motion vector as a prediction motion vector. Here, in the method of selecting a representative block according to the priority of the block size, the priority of the small block and the large block is set, and a predetermined number of blocks in which inter prediction is performed with a block size having a high priority among neighboring blocks. It may mean selecting as a representative block.
본 발명의 일 실시예에 따른 영상 부호화 방법에서, 엔트로피부호화단계의 제4실시예는, 인터예측을 이용하여 부호화된 주변블록들 중에서, 이용된 인터예측방법의 우선순위에 따라 후보블록을 선택하고, 상기 선택된 후보블록 중에서 소정의 조건에 따라 대표블록을 선택하고, 상기 선택된 대표블록의 움직임벡터 및 시간적 후보 움직임벡터 중에서 선택된 움직임벡터를 예측움직임벡터로 이용하여 상기 현재블록의 움직임벡터를 부호화한다. 여기서, 인터예측방법의 우선순위에 따라 후보블록을 선택하는 방법은, 움직임추정을 이용한 예측 방법(AMVP), 스킵(SKIP) 방법 및 머지(Merge) 방법에 대한 우선순위를 설정하고, 주변블록 중에서 우선순위가 높은 방법으로 인터예측을 수행한 기설정된 갯수의 블록을 후보블록으로 선택하는 것을 의미할 수 있다.In a video encoding method according to an embodiment of the present invention, the fourth embodiment of the entropy encoding step selects a candidate block according to the priority of the used inter prediction method from among neighboring blocks encoded using inter prediction. The representative block is selected from among the selected candidate blocks according to a predetermined condition, and the motion vector of the current block is encoded using a motion vector selected from the motion vector and the temporal candidate motion vector of the selected representative block as a prediction motion vector. Here, the method for selecting a candidate block according to the priority of the inter prediction method includes setting a priority for a prediction method (AMVP), a skipping method (SKIP) method, and a merging method using motion estimation, and among the neighboring blocks. This may mean selecting a predetermined number of blocks for which inter prediction is performed in a high priority method as candidate blocks.
본 발명의 일 실시예에 따른 영상 부호화 방법에서, 엔트로피부호화단계의 제5실시예는, 인터예측을 이용하여 부호화된 주변블록들 중에서, 이용된 인터예측방향의 우선순위에 따라 후보블록을 선택하고, 상기 선택된 후보블록 중에서 대하여 소정의 조건에 따라 대표블록을 선택하고, 상기 선택된 대표블록의 움직임벡터 및 시간적 후보 움직임벡터 중에서 선택된 움직임벡터를 예측움직임벡터로 이용하여 현재블록의 움직임벡터를 부호화한다. 여기서, 인터예측방향의 우선순위에 따라 대표블록을 선택하는 방법은, 단방향 및 양방향 예측에 대한 우선순위를 설정하고 주변블록 중에서 우선순위가 높은 방법으로 인터예측을 수행한 기설정된 갯수의 블록을 후보블록으로 선택하거나 과거방향 예측, 미래방향 예측 및 양방향 예측 중 두가지 이상의 예측 방향에 대한 우선순위를 설정하고 주변블록 중에서 우선순위가 높은 방법으로 인터예측을 수행한 기설정된 갯수의 블록을 후보블록으로 선택하는 것을 의미할 수 있다.In a video encoding method according to an embodiment of the present invention, the fifth embodiment of the entropy encoding step selects a candidate block according to the priority of the used inter prediction direction from among neighboring blocks encoded using inter prediction. The representative block is selected from among the selected candidate blocks according to a predetermined condition, and the motion vector of the current block is encoded using the motion vector selected from the motion vector and the temporal candidate motion vector of the selected representative block as a prediction motion vector. Here, in the method of selecting a representative block according to the priority of the inter prediction direction, a predetermined number of blocks in which the priority for unidirectional and bidirectional prediction are set and the inter prediction is performed in a method having a higher priority among neighboring blocks are candidates. Select as a block or select a preset number of blocks that set priorities for two or more prediction directions among past prediction, future prediction, and bidirectional prediction, and perform inter prediction by using a higher priority among neighboring blocks as candidate blocks. It can mean doing.
본 발명의 일 실시예에 따른 영상 부호화 방법에서, 엔트로피부호화단계의 제6실시예는, 인터예측을 이용하여 부호화된 주변블록들 중에서, 블록크기의 우선순위에 따라 후보블록을 선택하고, 상기 선택된 후보블록 중에서 소정의 조건에 따라 대표블록을 선택하고, 상기 선택된 대표블록의 움직임벡터 및 시간적 후보 움직임벡터 중에서 선택된 움직임벡터를 예측움직임벡터로 이용하여 상기 현재블록의 움직임벡터를 부호화한다. 여기서, 블록크기의 우선순위에 따라 후보블록을 선택하는 방법은, 작은 블록 및 큰 블록의 우선순위를 설정하고, 주변블록 중에서 우선순위가 높은 블록 크기로 인터예측을 수행한 기설정된 갯수의 블록을 후보블록으로 선택하는 것을 의미할 수 있다.In a video encoding method according to an embodiment of the present invention, the sixth embodiment of the entropy encoding step may include selecting a candidate block according to a priority of a block size among neighboring blocks encoded by using inter prediction, and selecting the selected block. A representative block is selected according to a predetermined condition among candidate blocks, and a motion vector of the current block is encoded using a motion vector selected from the motion vector and the temporal candidate motion vector of the selected representative block as a prediction motion vector. Here, in the method of selecting candidate blocks according to the priority of the block size, the priority of the small blocks and the large blocks is set, and the predetermined number of blocks in which inter prediction is performed with the block size having the highest priority among the neighboring blocks is performed. This may mean selecting as a candidate block.
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 본 발명의 일 실시예에 따른 영상 부호화 방법과 본 발명의 일 실시예에 따른 영상 복호화 방법을 결합하여 구현함으로써 실현할 수 있다.An image encoding / decoding method according to an embodiment of the present invention 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.
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 인터예측을 수행한 주변블록 중에서, 인터예측방법, 인터예측방향, 움직임보상방향, 블록크기 및 참조픽쳐와의 거리 중에서 어느 하나의 우선순위에 따라 대표블록을 선택하거나, 인터예측을 수행한 주변블록 중에서, 인터예측방법, 인터예측방향, 움직임보상방향, 블록크기 및 참조픽쳐와의 거리 중에서 어느 하나의 우선순위에 따라 후보블록을 선택하고 상기 선택된 후보블록에 대하여 소정의 조건에 따라 대표블록을 선택하고, 상기 선택된 대표블록의 움직임벡터 및 시간적 후보 움직임벡터 중에서 최적의 움직임벡터를 예측움직임벡터로 이용하여 상기 현재블록의 움직임벡터를 비트스트림으로 부호화하는 영상부호화단계; 및 상기 비트스트림으로부터 예측움직임벡터에 대한 인덱스(AMVP 인덱스) 및 잔차벡터를 추출하고, 인터예측을 이용하여 부호화된 주변블록들 중에서 인터예측방법, 인터예측방향, 움직임보상방향, 블록크기 및 참조픽쳐와의 거리 중에서 적어도 하나의 우선순위에 따라 대표블록을 선택하여 선택된 대표블록을 고려하여 인덱스를 식별하여 인덱스에 대응되는 대표블록의 움직임벡터를 현재블록의 예측 움직임벡터로 복원하고 복원된 예측움직임 벡터를 이용하여 현재블록을 복원하는 영상복호화단계를 포함한다.In the video encoding / decoding method according to an embodiment of the present invention, any one of a priority among an inter prediction method, an inter prediction direction, a motion compensation direction, a block size, and a distance from a reference picture among neighboring blocks on which inter prediction is performed The candidate block is selected according to the priority of any one of the representative blocks or the neighboring blocks that have performed the inter prediction, among the inter prediction method, the inter prediction direction, the motion compensation direction, the block size, and the distance from the reference picture. A representative block is selected for the selected candidate block according to a predetermined condition, and the motion vector of the current block is a bitstream using an optimal motion vector among the motion vector and temporal candidate motion vector of the selected representative block as a prediction motion vector. Video encoding step of encoding; And extracting an index (AMVP index) and a residual vector for a prediction motion vector from the bitstream, and using the inter prediction method, an inter prediction method, an inter prediction direction, a motion compensation direction, a block size, and a reference picture among neighboring blocks encoded using inter prediction. Select the representative block according to the at least one priority among the distances from the target and identify the index in consideration of the selected representative block to restore the motion vector of the representative block corresponding to the index to the predicted motion vector of the current block The video decoding step of recovering the current block by using a.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those skilled in the art to which the present invention pertains may make various modifications and changes without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.
본 발명은 소정의 기준에 따라, 현재 블록의 주변 블록들의 모션 벡터들을 이용하여 보다 정확하게 현재 블록의 모션 벡터를 예측함에 있어서 다양한 주변블록을 이용하여 후보블록 및 대표블록 선택의 폭을 넓힘으로써 부호화 효율을 향상 가능성을 높이는 효과가 있어서 매우 유용한 발명이다.According to the present invention, encoding efficiency is increased by widening the selection of candidate blocks and representative blocks using various neighboring blocks in predicting the motion vectors of the current block more accurately by using the motion vectors of neighboring blocks of the current block. This is a very useful invention because it has the effect of increasing the possibility of improving.
CROSS-REFERENCE TO RELATED APPLICATIONCROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은 2011년 11월 24일 한국에 출원한 특허출원번호 제 10-2011-0123841 호, 2012년 11월 22일 한국에 출원한 특허출원번호 제 10-2012-0133206 호에 대해 미국 특허법 119(a)조(35 U.S.C § 119(a))에 따라 우선권을 주장하면, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다. 아울러, 본 특허출원은 미국 이외에 국가에 대해서도 위와 동일한 이유로 우선권을 주장하면 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.This patent application is filed with the Korean Patent Application No. 10-2011-0123841, filed in Korea on November 24, 2011, and Patent Application No. 10-2012-0133206, filed in Korea on November 22, 2012. If priority is claimed under section (a) (35 USC § 119 (a)), all of that is incorporated by reference into this patent application. In addition, if this patent application claims priority for the same reason for countries other than the United States, all its contents are incorporated into this patent application by reference.

Claims (17)

  1. 영상을 부호화하는 장치에 있어서,In the apparatus for encoding a video,
    인터예측을 이용하여 부호화된 주변블록들 중에서, 각 주변블록에 대한 움직임 보상방향의 우선순위에 따라 대표블록을 선택하고, 상기 선택된 대표블록의 움직임벡터 및 기설정된 주변 픽처의 후보 움직임벡터 중에서 선택된 움직임벡터를 예측움직임벡터로 이용하여 상기 현재블록의 움직임벡터를 부호화하는 엔트로피부호화부Among the neighboring blocks encoded by using inter prediction, a representative block is selected according to the priority of the motion compensation direction for each neighboring block, and the selected motion is selected from the motion vector of the selected representative block and the candidate motion vector of the preset neighboring picture. An entropy coding unit encoding a motion vector of the current block by using a vector as a predictive motion vector.
    를 포함하는 것을 특징으로 하는 영상 부호화 장치.An image encoding apparatus comprising a.
  2. 제1항에 있어서,The method of claim 1,
    상기 엔트로피부호화부는,The entropy coding unit,
    과거방향 및 미래방향에 대한 움직임 보상방향의 우선순위를 설정하고, 상기 주변블록 중에서 우선순위가 높은 방향으로 움직임 보상을 수행한 블록을 대표블록으로 선택하는 것을 특징으로 하는 영상 부호화 장치.And a priority block of a motion compensation direction for the past direction and the future direction, and selecting a block that performs motion compensation in a direction having a higher priority among the neighboring blocks as a representative block.
  3. 제1항에 있어서, 상기 엔트로피부호화부는,The method of claim 1, wherein the entropy coding unit,
    상기 각 주변블록이 참조하는 픽처와의 거리에 대한 우선순위를 추가로 고려하여 상기 대표블록을 선택하는 것을 특징으로 하는 영상 부호화 장치.And the representative block is selected in consideration of the priority of the distance to the picture referenced by each neighboring block.
  4. 영상을 복호화하는 장치에 있어서,In the apparatus for decoding an image,
    비트스트림으로부터 AMVP인덱스를 추출하고, 인터예측을 이용하여 복호화된 주변블록들 중에서 각 주변블록에서 수행된 움직임 보상방향의 우선순위에 따라 하나 이상의 대표블록을 선택하고, 상기 선택된 대표블록 및 기설정된 주변 픽처의 후보 움직임블록을 고려하여 상기 추출된 AMVP인덱스를 식별하는 비트스트림 복호부; 및Extract the AMVP index from the bitstream, select one or more representative blocks according to the priority of the motion compensation direction performed in each neighboring block among the neighboring blocks decoded using inter prediction, and select the selected representative block and the predetermined neighbor A bitstream decoder that identifies the extracted AMVP index in consideration of candidate motion blocks of a picture; And
    상기 선택된 대표블록 및 상기 주변 픽처의 후보 움직임블록 중에서 상기 AMVP인덱스에 따라 식별된 블록의 움직임벡터를 현재블록의 예측움직임 벡터로 복원하여 상기 현재블록의 움직임벡터를 복원하여 예측블록을 생성하는 인터예측부An inter prediction for generating a prediction block by reconstructing a motion vector of a block identified according to the AMVP index among the selected representative blocks and candidate motion blocks of the neighboring picture to a prediction motion vector of a current block, and reconstructing the motion vector of the current block. part
    를 포함하는 것을 특징으로 하는 영상 복호화 장치.Video decoding apparatus comprising a.
  5. 제4항에 있어서,The method of claim 4, wherein
    상기 비트스트림 복호부는,The bitstream decoder,
    과거방향 및 미래방향에 대한 움직임 보상방향의 우선순위를 설정하고, 상기 주변블록 중에서 우선순위가 높은 방향으로 움직임 보상을 수행한 블록을 대표블록으로 선택하는 것을 특징으로 하는 영상 복호화 장치.And setting a priority of the motion compensation direction for the past direction and the future direction, and selecting a block in which the motion compensation is performed in the direction having the highest priority among the neighboring blocks as the representative block.
  6. 제4항에 있어서,The method of claim 4, wherein
    상기 대표블록은,The representative block,
    현재블록의 좌측 주변블록 그룹과 상측 주변블록 그룹에서 하나씩 선택하는 것을 특징으로 하는 영상 복호화 장치.The video decoding apparatus, characterized in that the selection from the left neighboring block group and the upper neighboring block group of the current block one by one.
  7. 제4항에 있어서, 상기 엔트로피부호화부는,The method of claim 4, wherein the entropy coding unit,
    상기 각 주변블록이 참조하는 픽처와의 거리에 대한 우선순위를 추가로 고려하여 상기 대표블록을 선택하는 것을 특징으로 하는 영상 부호화 장치.And the representative block is selected in consideration of the priority of the distance to the picture referenced by each neighboring block.
  8. 제7항에 있어서,The method of claim 7, wherein
    상기 우선순위는 현재블록이 참조하는 픽처와의 거리와 상기 주변블록이 참조하는 픽처와의 거리가 서로 같은지 여부에 따라 결정되는 것을 특징으로 하는 영상 복호화 장치.And the priority is determined based on whether the distance between the picture referenced by the current block and the picture referenced by the neighboring block is equal to each other.
  9. 영상을 복호화하는 장치에 있어서,In the apparatus for decoding an image,
    비트스트림으로부터 AMVP인덱스를 추출하고, 인터예측을 이용하여 복호화된 주변블록들 중에서 각 주변블록에 대한 인터예측방법, 인터예측방향 및 블록크기 중 어느 하나의 우선순위에 따라 대표블록을 선택하고, 상기 선택된 대표블록 및 기설정된 주변 픽처의 후보 움직임블록을 고려하여 상기 추출된 AMVP인덱스를 식별하는 비트스트림 복호부; 및The AMVP index is extracted from the bitstream, and the representative block is selected according to the priority of any one of an inter prediction method, an inter prediction direction, and a block size for each neighbor block among the neighbor blocks decoded using inter prediction. A bitstream decoder that identifies the extracted AMVP index in consideration of the selected representative block and candidate motion blocks of a predetermined neighboring picture; And
    상기 선택된 대표블록 및 상기 주변 픽처의 후보 움직임블록 중에서 상기 AMVP인덱스에 따라 식별된 블록의 움직임벡터를 현재블록의 예측움직임 벡터로 복원하여 상기 현재블록의 움직임벡터를 복원하여 예측블록을 생성하는 인터예측부An inter prediction for generating a prediction block by reconstructing a motion vector of a block identified according to the AMVP index among the selected representative blocks and candidate motion blocks of the neighboring picture to a prediction motion vector of a current block, and reconstructing the motion vector of the current block. part
    를 포함하는 것을 특징으로 하는 영상 복호화 장치.Video decoding apparatus comprising a.
  10. 영상을 부호화하는 방법에 있어서,In the method of encoding an image,
    인터예측을 이용하여 부호화된 주변블록들 중에서, 각 주변블록에 대한 움직임 보상방향의 우선순위에 따라 대표블록을 선택하는 단계; 및Selecting a representative block according to the priority of the motion compensation direction for each neighboring block among neighboring blocks encoded by using inter prediction; And
    상기 선택된 대표블록의 움직임벡터 및 기설정된 주변 픽처의 후보 움직임벡터 중에서 선택된 움직임벡터를 예측움직임벡터로 이용하여 상기 현재블록의 움직임벡터를 부호화하는 단계Encoding a motion vector of the current block by using a motion vector selected from a motion vector of the selected representative block and a candidate motion vector of a preset neighboring picture as a prediction motion vector;
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.Image encoding method comprising a.
  11. 제10항에 있어서, 상기 대표블록을 선택하는 단계에서는,The method of claim 10, wherein in the step of selecting the representative block,
    상기 각 주변블록이 참조하는 픽처와의 거리에 대한 우선순위를 추가로 고려하여 상기 대표블록을 선택하는 것을 특징으로 하는 영상 부호화 방법.And selecting the representative block by further considering the priority of the distance to the picture referenced by each neighboring block.
  12. 영상을 복호화하는 방법에 있어서,In the method of decoding an image,
    비트스트림으로부터 AMVP인덱스를 추출하는 단계;Extracting an AMVP index from the bitstream;
    인터예측을 이용하여 복호화된 주변블록들 중에서 각 주변블록에서 수행된 움직임 보상방향의 우선순위에 따라 하나 이상의 대표블록을 선택하는 단계;Selecting one or more representative blocks according to the priority of the motion compensation direction performed in each neighboring block among the neighboring blocks decoded using the inter prediction;
    상기 선택된 대표블록 및 기설정된 주변 픽처의 후보 움직임블록을 고려하여 상기 추출된 AMVP인덱스를 식별하는 단계; 및Identifying the extracted AMVP index in consideration of the selected representative block and candidate motion blocks of a predetermined neighboring picture; And
    상기 선택된 대표블록 및 상기 주변 픽처의 후보 움직임블록 중에서 상기 AMVP인덱스에 따라 식별된 블록의 움직임벡터를 현재블록의 예측움직임 벡터로 복원하여 상기 현재블록의 움직임벡터를 복원하여 예측블록을 생성하는 단계Generating a prediction block by reconstructing a motion vector of a block identified according to the AMVP index among the selected representative blocks and candidate motion blocks of the neighboring picture to a prediction motion vector of a current block, and reconstructing a motion vector of the current block
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.Image decoding method comprising a.
  13. 제12항에 있어서,The method of claim 12,
    상기 하나 이상의 대표블록을 선택하는 단계에서는,In the step of selecting one or more representative blocks,
    과거방향 및 미래방향에 대한 움직임 보상방향의 우선순위를 설정하고, 상기 주변블록 중에서 우선순위가 높은 방향으로 움직임 보상을 수행한 블록을 대표블록으로 선택하는 것을 특징으로 하는 영상 복호화 방법.And setting a priority of the motion compensation direction for the past direction and the future direction, and selecting a block that performs the motion compensation in the direction having the highest priority among the neighboring blocks as the representative block.
  14. 제12항에 있어서,The method of claim 12,
    상기 대표블록은,The representative block,
    현재블록의 좌측 주변블록 그룹과 상측 주변블록 그룹에서 하나씩 선택하는 것을 특징으로 하는 영상 복호화 방법.And selecting one from a left neighboring block group and an upper neighboring block group of the current block.
  15. 제12항에 있어서, 상기 하나 이상의 대표블록을 선택하는 단계에서는,The method of claim 12, wherein in selecting the one or more representative blocks,
    상기 각 주변블록이 참조하는 픽처와의 거리에 대한 우선순위를 추가로 고려하여 상기 대표블록을 선택하는 것을 특징으로 하는 영상 부호화 방법.And selecting the representative block by further considering the priority of the distance to the picture referenced by each neighboring block.
  16. 제15항에 있어서,The method of claim 15,
    상기 우선순위는 현재블록이 참조하는 픽처와의 거리와 상기 주변블록이 참조하는 픽처와의 거리가 서로 같은지 여부에 따라 결정되는 것을 특징으로 하는 영상 복호화 방법.And the priority is determined based on whether the distance between the picture referenced by the current block and the picture referenced by the neighboring block is equal to each other.
  17. 영상을 복호화하는 방법에 있어서,In the method of decoding an image,
    비트스트림으로부터 AMVP인덱스를 추출하고, 인터예측을 이용하여 복호화된 주변블록에 대한 인터예측방법, 인터예측방향 및 블록크기 중 어느 하나의 우선순위에 따라 대표블록을 선택하는 단계;Extracting an AMVP index from the bitstream and selecting a representative block according to the priority of any one of an inter prediction method, an inter prediction direction, and a block size for a neighboring block decoded using inter prediction;
    상기 선택된 대표블록 및 기설정된 주변 픽처의 후보 움직임블록을 고려하여 상기 추출된 AMVP인덱스를 식별하는 단계; 및Identifying the extracted AMVP index in consideration of the selected representative block and candidate motion blocks of a predetermined neighboring picture; And
    상기 선택된 대표블록 및 상기 주변 픽처의 후보 움직임블록 중에서 상기 AMVP인덱스에 따라 식별된 블록의 움직임벡터를 현재블록의 예측움직임 벡터로 복원하여 상기 현재블록의 움직임벡터를 복원하여 예측블록을 생성하는 단계Generating a prediction block by reconstructing a motion vector of a block identified according to the AMVP index among the selected representative blocks and candidate motion blocks of the neighboring picture to a prediction motion vector of a current block, and reconstructing a motion vector of the current block
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.Image decoding method comprising a.
PCT/KR2012/009964 2011-11-24 2012-11-23 Method and apparatus for predictive encoding/decoding of motion vector WO2013077659A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/286,072 US9503721B2 (en) 2011-11-24 2014-05-23 Method and apparatus for predictive encoding/decoding of motion vector
US15/234,578 US9521406B1 (en) 2011-11-24 2016-08-11 Method and apparatus for predictive encoding/decoding of motion vector
US15/278,019 US9648329B2 (en) 2011-11-24 2016-09-27 Method and apparatus for predictive encoding/decoding of motion vector

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2011-0123841 2011-11-24
KR20110123841 2011-11-24
KR1020120133206A KR101960761B1 (en) 2011-11-24 2012-11-22 Method and apparatus for predictive coding of motion vector, method and apparatus for predictive decoding of motion vector
KR10-2012-0133206 2012-11-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/286,072 Continuation US9503721B2 (en) 2011-11-24 2014-05-23 Method and apparatus for predictive encoding/decoding of motion vector

Publications (1)

Publication Number Publication Date
WO2013077659A1 true WO2013077659A1 (en) 2013-05-30

Family

ID=48470039

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/009964 WO2013077659A1 (en) 2011-11-24 2012-11-23 Method and apparatus for predictive encoding/decoding of motion vector

Country Status (1)

Country Link
WO (1) WO2013077659A1 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014205339A2 (en) * 2013-06-21 2014-12-24 Qualcomm Incorporated Intra prediction from a predictive block
WO2016068685A1 (en) * 2014-10-31 2016-05-06 삼성전자 주식회사 Video encoding device and video decoding device using high-precision skip encoding and method thereof
US9883197B2 (en) 2014-01-09 2018-01-30 Qualcomm Incorporated Intra prediction of chroma blocks using the same vector
CN110720220A (en) * 2017-08-29 2020-01-21 株式会社Kt Video signal processing method and device
CN110868589A (en) * 2018-08-28 2020-03-06 华为技术有限公司 Inter-frame prediction method and device and encoding/decoding method and device applied by same
CN111771376A (en) * 2018-12-12 2020-10-13 Lg电子株式会社 Method and apparatus for processing video signal based on history-based motion vector prediction
CN112204964A (en) * 2018-04-01 2021-01-08 Lg电子株式会社 Image processing method and device based on inter-frame prediction mode
CN112470477A (en) * 2018-12-28 2021-03-09 Jvc建伍株式会社 Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
CN112740672A (en) * 2018-09-28 2021-04-30 高通股份有限公司 Final motion vector representation with adaptive direction information set
CN112840645A (en) * 2018-10-10 2021-05-25 联发科技股份有限公司 Method and apparatus for combining multiple predictors for block prediction in a video coding system
CN113228674A (en) * 2018-12-14 2021-08-06 英国广播公司 Video encoding and video decoding
CN113316936A (en) * 2018-12-29 2021-08-27 Vid拓展公司 History-based motion vector prediction
CN113994699A (en) * 2019-06-06 2022-01-28 北京字节跳动网络技术有限公司 Motion candidate list construction for video encoding and decoding
CN114205620A (en) * 2018-02-28 2022-03-18 三星电子株式会社 Encoding method and device, and decoding method and device
CN112204964B (en) * 2018-04-01 2024-04-26 Lg电子株式会社 Image processing method and device based on inter-frame prediction mode

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050097386A (en) * 2004-04-03 2005-10-07 (주)씨앤에스 테크놀로지 Motion estimation apparatus and method with optmized operation complexity
KR20080088039A (en) * 2007-03-28 2008-10-02 삼성전자주식회사 Method and apparatus for video encoding and decoding
KR20110020212A (en) * 2009-08-21 2011-03-02 에스케이 텔레콤주식회사 Reference picture interpolation method and apparatus and video coding method and apparatus using same
KR20110042705A (en) * 2009-10-20 2011-04-27 에스케이 텔레콤주식회사 Inter prediction method and apparatus using motion information based adjacent pixels and video coding method and apparatus using same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050097386A (en) * 2004-04-03 2005-10-07 (주)씨앤에스 테크놀로지 Motion estimation apparatus and method with optmized operation complexity
KR20080088039A (en) * 2007-03-28 2008-10-02 삼성전자주식회사 Method and apparatus for video encoding and decoding
KR20110020212A (en) * 2009-08-21 2011-03-02 에스케이 텔레콤주식회사 Reference picture interpolation method and apparatus and video coding method and apparatus using same
KR20110042705A (en) * 2009-10-20 2011-04-27 에스케이 텔레콤주식회사 Inter prediction method and apparatus using motion information based adjacent pixels and video coding method and apparatus using same

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014205339A3 (en) * 2013-06-21 2015-02-26 Qualcomm Incorporated Intra prediction from a predictive block using displacement vectors
WO2014205339A2 (en) * 2013-06-21 2014-12-24 Qualcomm Incorporated Intra prediction from a predictive block
US10015515B2 (en) 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
US9883197B2 (en) 2014-01-09 2018-01-30 Qualcomm Incorporated Intra prediction of chroma blocks using the same vector
CN107113440B (en) * 2014-10-31 2020-10-13 三星电子株式会社 Video decoding method executed by video decoding device
CN107113440A (en) * 2014-10-31 2017-08-29 三星电子株式会社 The video encoder and video decoding apparatus and its method of coding are skipped using high accuracy
US10602179B2 (en) 2014-10-31 2020-03-24 Samsung Electronics Co., Ltd. Video encoding device and video decoding device using high-precision skip encoding and method thereof
US11228782B2 (en) 2014-10-31 2022-01-18 Samsung Electronics Co., Ltd. Video encoding device and video decoding device using high-precision skip encoding and method thereof
WO2016068685A1 (en) * 2014-10-31 2016-05-06 삼성전자 주식회사 Video encoding device and video decoding device using high-precision skip encoding and method thereof
US11523130B2 (en) 2014-10-31 2022-12-06 Samsung Electronics Co., Ltd. Video encoding device and video decoding device using high-precision skip encoding and method thereof
US11509926B2 (en) 2014-10-31 2022-11-22 Samsung Electronics Co., Ltd. Video encoding device and video decoding device using high-precision skip encoding and method thereof
US10992951B2 (en) 2014-10-31 2021-04-27 Samsung Electronics Co., Ltd. Video encoding device and video decoding device using high-precision skip encoding and method thereof
CN110720220A (en) * 2017-08-29 2020-01-21 株式会社Kt Video signal processing method and device
CN110720220B (en) * 2017-08-29 2023-11-07 株式会社Kt Video signal processing method and device
CN114205620B (en) * 2018-02-28 2023-07-25 三星电子株式会社 Encoding method and apparatus, and decoding method and apparatus
CN114205618A (en) * 2018-02-28 2022-03-18 三星电子株式会社 Encoding method and device, and decoding method and device
US11825100B2 (en) 2018-02-28 2023-11-21 Samsung Electronics Co., Ltd. Encoding method and device thereof, and decoding method and device thereof
CN114205618B (en) * 2018-02-28 2023-07-25 三星电子株式会社 Encoding method and apparatus, and decoding method and apparatus
CN114205620A (en) * 2018-02-28 2022-03-18 三星电子株式会社 Encoding method and device, and decoding method and device
CN112204964B (en) * 2018-04-01 2024-04-26 Lg电子株式会社 Image processing method and device based on inter-frame prediction mode
CN112204964A (en) * 2018-04-01 2021-01-08 Lg电子株式会社 Image processing method and device based on inter-frame prediction mode
CN110868589B (en) * 2018-08-28 2023-10-20 华为技术有限公司 Inter-frame prediction method and device and coding/decoding method and device applied by same
CN110868589A (en) * 2018-08-28 2020-03-06 华为技术有限公司 Inter-frame prediction method and device and encoding/decoding method and device applied by same
CN112740672A (en) * 2018-09-28 2021-04-30 高通股份有限公司 Final motion vector representation with adaptive direction information set
CN112840645A (en) * 2018-10-10 2021-05-25 联发科技股份有限公司 Method and apparatus for combining multiple predictors for block prediction in a video coding system
CN112840645B (en) * 2018-10-10 2023-12-12 寰发股份有限公司 Method and apparatus for combining multiple predictors for block prediction in a video coding system
CN111771376A (en) * 2018-12-12 2020-10-13 Lg电子株式会社 Method and apparatus for processing video signal based on history-based motion vector prediction
CN111771376B (en) * 2018-12-12 2023-08-08 Lg电子株式会社 Method and apparatus for processing video signals based on history-based motion vector prediction
CN113228674A (en) * 2018-12-14 2021-08-06 英国广播公司 Video encoding and video decoding
CN112470477A (en) * 2018-12-28 2021-03-09 Jvc建伍株式会社 Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
CN113316936A (en) * 2018-12-29 2021-08-27 Vid拓展公司 History-based motion vector prediction
CN113994699A (en) * 2019-06-06 2022-01-28 北京字节跳动网络技术有限公司 Motion candidate list construction for video encoding and decoding
CN113994699B (en) * 2019-06-06 2024-01-12 北京字节跳动网络技术有限公司 Motion candidate list construction for video coding and decoding

Similar Documents

Publication Publication Date Title
WO2013077659A1 (en) Method and apparatus for predictive encoding/decoding of motion vector
WO2013109039A1 (en) Image encoding/decoding method and apparatus using weight prediction
WO2011019247A2 (en) Method and apparatus for encoding/decoding motion vector
WO2012099440A2 (en) Apparatus and method for generating/recovering motion information based on predictive motion vector index encoding, and apparatus and method for image encoding/decoding using same
WO2017069419A1 (en) Intra-prediction method and apparatus in video coding system
WO2017057953A1 (en) Method and device for coding residual signal in video coding system
WO2011090313A2 (en) Method and apparatus for encoding/decoding images using a motion vector of a previous block as a motion vector for the current block
WO2012081879A1 (en) Method for decoding inter predictive encoded motion pictures
WO2011145819A2 (en) Image encoding/decoding device and method
WO2013081365A1 (en) Method and apparatus for video encoding/decoding using improved merge
WO2020017840A1 (en) Method and device for inter predicting on basis of dmvr
WO2017069590A1 (en) Modeling-based image decoding method and device in image coding system
WO2012023763A2 (en) Inter prediction encoding method
WO2013069975A1 (en) Method and apparatus for coefficient scan based on partition mode of prediction unit
WO2011155758A2 (en) Method for encoding/decoding high-resolution image and device for performing same
WO2010050706A2 (en) Method and apparatus for encoding a motion vector, and method and apparatus for encoding/decoding image using same
WO2019147079A1 (en) Method and apparatus for video signal processing using sub-block based motion compensation
KR101960761B1 (en) Method and apparatus for predictive coding of motion vector, method and apparatus for predictive decoding of motion vector
WO2018199468A1 (en) Method and apparatus for estimating optical flow for motion compensation
WO2010044563A2 (en) Method and apparatus for encoding/decoding the motion vectors of a plurality of reference pictures, and apparatus and method for image encoding/decoding using same
WO2012144876A2 (en) Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
WO2010027182A2 (en) Method and device for image encoding/decoding using arbitrary pixels in a sub-block
WO2011126285A2 (en) Method and apparatus for encoding and decoding information on encoding modes
WO2011053022A2 (en) Method and apparatus for encoding/decoding image with reference to a plurality of frames
WO2011010900A2 (en) Method and apparatus for encoding images and method and apparatus for decoding images

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

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

Country of ref document: EP

Kind code of ref document: A1