WO2013105791A1 - 움직임 벡터 정규화에 기초한 영상의 부호화 방법 및 장치, 영상의 복호화 방법 및 장치 - Google Patents

움직임 벡터 정규화에 기초한 영상의 부호화 방법 및 장치, 영상의 복호화 방법 및 장치 Download PDF

Info

Publication number
WO2013105791A1
WO2013105791A1 PCT/KR2013/000192 KR2013000192W WO2013105791A1 WO 2013105791 A1 WO2013105791 A1 WO 2013105791A1 KR 2013000192 W KR2013000192 W KR 2013000192W WO 2013105791 A1 WO2013105791 A1 WO 2013105791A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
blocks
motion vector
merge
motion
Prior art date
Application number
PCT/KR2013/000192
Other languages
English (en)
French (fr)
Inventor
박승호
김재현
박세혁
박현욱
임형준
Original Assignee
삼성전자 주식회사
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사, 한국과학기술원 filed Critical 삼성전자 주식회사
Publication of WO2013105791A1 publication Critical patent/WO2013105791A1/ko
Priority to US14/327,074 priority Critical patent/US9571832B2/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions

Definitions

  • the present invention relates to encoding and decoding of an image, and more particularly, to a method and apparatus for encoding an image using a motion vector of a merged block in which blocks are merged, and a method and an apparatus for decoding.
  • the present invention also relates to a method and apparatus for encoding an image and to a method and an apparatus for encoding an image by dividing an image in object units and performing motion prediction and compensation in the divided object units.
  • the image is divided into multiple regions (pixel sets) for precise motion prediction and each region. Predict a motion vector for.
  • the most widely used Block Matching Algorithm (BMA) method defines a set of pixels in a block form for the current frame, and predicts a motion vector in units of blocks by searching the previous frame for the most similar block for each block.
  • a motion prediction method such as BMA predicts a motion vector that minimizes the sum of absolute difference (SAD) value
  • SAD sum of absolute difference
  • the motion prediction is performed in units of blocks of a predetermined size without considering the objects included in the image, the accuracy and precision of the motion prediction is reduced. For example, when the size of a block is smaller than that of an object, since there are many areas similar to the block in the previous frame, a motion vector that is not an actual motion vector may be selected as the final motion vector. In addition, when the size of the block is larger than that of the object, the block may include not only the object but also pixels of the background area, and motion prediction may be incorrectly performed.
  • the technical problem to be solved by the present invention is to obtain a larger merge block by merging blocks included in the same object, and to obtain a motion vector close to the actual motion of the object by predicting a motion vector based on the obtained merge block. To provide a consistent motion vector field.
  • the technical problem to be solved by the present invention is to obtain a more accurate motion vector by performing motion prediction and compensation in units of objects included in the image.
  • Embodiments of the present invention determine the merging of adjacent blocks by calculating the cost incurred when merging blocks based on a predetermined evaluation function, and predict a motion vector with respect to the merged block.
  • Embodiments of the present invention divide an image by an object unit grouping pixels having similar pixel values, and perform motion prediction and compensation on the image by an object unit.
  • the image may be divided into a few large merged blocks by merging blocks having a high probability of being included in the same object. These few large merged blocks may be similar to the shape of an object included in the image.
  • a merged block is generated by merging a small block, which is only a part of an object, with other blocks, and motion estimation for the merged block is performed to prevent false motion prediction for the small block included in the object.
  • a more accurate motion vector can be obtained. That is, according to embodiments of the present invention, by normalizing different motion vectors of blocks included in the same object to the motion vector of the merge block, a motion vector more accurately reflecting one motion of one object is obtained. Can be obtained.
  • a more accurate motion prediction and compensation process may be used to generate an interpolation frame such as a motion-compensated frame interpolation (MCFI), thereby generating a more accurate interpolation frame.
  • an interpolation frame such as a motion-compensated frame interpolation (MCFI)
  • FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a reference diagram for explaining a median filtering method for post-processing a motion vector in the related art.
  • 3 and 4 are reference diagrams for explaining problems of the median filtering method used in the technical field related to the present invention.
  • FIG. 5 is a reference diagram for explaining a merging process of an image block according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a merging process of image blocks according to an embodiment of the present invention.
  • FIG. 7 is a reference diagram for explaining a process of repeating merging of image blocks according to an embodiment of the present invention.
  • FIG. 8 illustrates a block merging process and a normalization process of a motion vector according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating an image encoding method according to an embodiment of the present invention.
  • FIG. 10 is a block diagram illustrating an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
  • FIG. 12 is a flowchart illustrating an image encoding method according to another embodiment of the present invention.
  • FIG. 13 is a flowchart illustrating an image decoding method according to another embodiment of the present invention.
  • An image encoding method includes the steps of obtaining motion vectors of blocks constituting an image; Merging two adjacent blocks to obtain merge blocks; Obtaining a motion vector of each merge block; Based on the motion vector of the merge block, the motion vector of the blocks included in the merge block, the motion vector of the neighboring blocks of the merge block, and the motion vector of the neighboring blocks of the blocks included in the merge block, Acquiring a change amount of a motion prediction error relative to a degree of uniformity of the motion vector by merging; And determining a merge block having the smallest change amount among the merge blocks based on the obtained change amount, and determining whether to merge the blocks included in the determined merge block.
  • An image encoding apparatus includes a motion prediction and compensation unit for obtaining motion vectors of merge blocks by merging motion vectors of blocks constituting an image and two adjacent blocks; And the merge block based on the motion vector of the merge block, the motion vector of the blocks included in the merge block, the motion vector of the neighboring blocks of the merge block, and the motion vector of the neighboring blocks of the blocks included in the merge block. Acquire a change amount of a motion prediction error against a degree of uniformity of the motion vector by merging, and determine a merge block having the smallest change amount among the merge blocks based on the obtained change amount, and determine the merge block in the determined merge block. It includes a block merging unit for determining whether to merge the included blocks.
  • An image decoding method obtains information about a merge block and a motion vector of the merge block that merge at least two adjacent blocks among blocks constituting the image from a received bitstream. step; And obtaining a predicted value of the merged block by performing motion compensation on the merged block using the motion vector, wherein the merged block has a degree of uniformity of the motion vector by merging the at least two adjacent blocks.
  • the adjacent blocks are determined by merging the adjacent blocks according to a result of comparing the variation of the motion prediction error with a predetermined threshold.
  • An apparatus for decoding an image obtains information about a merge block and a motion vector of the merge block, which merge at least two adjacent blocks among blocks constituting the image from a received bitstream.
  • An entropy decoding unit and a motion compensator configured to perform motion compensation on the merge block by using the motion vector to obtain a predicted value of the merge block, wherein the merge block equalizes the motion vector by merging the at least two adjacent blocks.
  • the adjacent blocks are determined by merging the neighboring blocks according to a result of comparing the variation of the motion prediction error with respect to a degree and a predetermined threshold.
  • the image encoding apparatus 100 may include a subtractor 110, a transform and quantizer 120, an entropy encoder 130, an inverse quantization and inverse transform unit 140, an adder 150, and storage.
  • the unit 160, the motion prediction and compensation unit 170, and the block merger 180 are included.
  • the not illustrated intra predictor may generate the predicted value of each block by performing intra prediction on a block basis in the intra prediction mode.
  • the motion prediction and compensator 170 divides the input image into blocks having a predetermined size and performs motion prediction on each of the divided blocks to obtain a motion vector of each block.
  • the block described in the present invention may represent one of a macro block, a partition obtained by dividing the macro block, or a coding unit used in high efficiency video coding (HEVC).
  • the motion prediction and compensation unit 170 according to an embodiment of the present invention also obtains a motion vector of the merged block by performing motion prediction on a merged block that merges two adjacent blocks among the blocks constituting the image. .
  • the merge blocks may be obtained by merging all two combinable adjacent blocks included in the image. A detailed motion vector prediction process of the merged block will be described later.
  • the block merger 180 determines whether to merge the blocks included in the merge blocks. As will be described later, the block merging process according to an embodiment of the present invention is performed by repeating the merging block having the minimum cost among all mergeable merge blocks based on a predetermined cost function.
  • the block merging unit 180 changes the amount of change between the motion prediction error value due to the motion vector of each of the two blocks and the motion prediction error value using the motion vector of the merged block generated by merging the two blocks.
  • the cost of each merge block may be calculated by reflecting the degree of uniformity of the motion vector by merging obtained in the process of uniformizing two motion vectors of the two blocks into the motion vector of one merge block.
  • the block merging unit 180 is based on the motion vector of the merge block, the motion vector of the blocks included in the merge block, the motion vector of the neighboring blocks of the merge block, and the motion vector of the neighboring blocks of the blocks included in the merge block.
  • the change amount of the motion prediction error is obtained in preparation for the uniformity of the motion vector by merging.
  • the block merging unit 180 determines a merge block having the smallest change amount among the merge blocks based on the obtained change amount, and finally determines whether to merge the blocks by comparing the change amount of the determined merge block with a predetermined threshold value. .
  • the merging process of the blocks will be described later.
  • the motion prediction and compensator 170 estimates a block or merge block from the previous reference frame using the motion vector of the block or merge block.
  • the subtraction unit 110 outputs a residual, which is a difference value between the predicted value and the input value of the block or the merged block.
  • the residual data is output as quantized transform coefficients through the transform and quantization unit 120.
  • the quantized transform coefficients are reconstructed into residual data through the inverse quantization and inverse transform unit 140.
  • the adder 150 generates a reconstructed image by adding the reconstructed residual data and the predicted value, and the reconstructed image is stored in the storage unit 160 and used as a reference frame of the next image frame.
  • the quantized transform coefficients may be output as a bitstream via the entropy encoder 130.
  • the entropy encoder 130 may finally add merge information of blocks and motion vector information of a merge block to a bitstream in which the image is encoded through a merge process to be described later.
  • reference numeral 210 denotes an original motion vector field
  • reference numeral 220 denotes a changed motion vector field after the median filtering process.
  • the motion prediction method such as BMA predicts a motion vector that minimizes the SAD value
  • the motion prediction for the block included in the uniform object exists, there are many blocks similar to the motion predicted block in the previous frame. Because of the high probability, the motion vector may not accurately reflect the motion of the real object.
  • a median value of motion vectors of neighboring blocks is used as a motion vector of a current block so that adjacent blocks have similar motion vectors through post-processing with respect to motion vectors of each block.
  • the median value filtering method is performed according to the following equation 1 from the motion vectors V 0 , V 1 , ..., V 8 of the current block 211 and its neighboring blocks. ) Is substituted for the motion vector V 0 of the current block 211.
  • Equation 1 Is the x-axis component of the V i vector, Denotes the y-axis component of the V i vector.
  • the motion vector of the current block 221 is filtered similarly to the motion vector of the neighboring blocks according to the median filtering process according to Equation 1.
  • Such a median filtering method may help to correct a motion vector having an incorrect value in a motion vector field that should have a similar motion vector.
  • this median filtering method has a problem in that the block may have an incorrect motion vector when the size of the object is small or the block is near the boundary between the object and the background.
  • 3 and 4 are reference diagrams for explaining problems of the median filtering method used in the technical field related to the present invention.
  • reference numerals 310 and 410 denote original motion vector fields
  • reference numerals 320 and 420 denote changed motion vector fields after the median filtering process.
  • the motion of the object is increased.
  • the predicted motion vector may be changed to a motion vector of the background. That is, when the background and the object have different motions, as shown by reference numeral 320, the motion vectors of the blocks included in the object are all filtered by the motion vectors of the neighboring background blocks according to the median filtering method. Blocks may have a motion vector different from the actual motion.
  • the block merging unit 180 obtains a motion vector close to the motion of an actual object by predicting the motion vector in the unit of a merged block in which blocks in the same object are merged, and generates a consistent motion vector field. to provide.
  • the blocks included in one object should have substantially the same motion, but since motion prediction is performed in units of blocks, each of the blocks included in one object may have different motion vectors. Accordingly, the block merging unit 180 merges blocks that are likely to be included in one object in consideration of the motion vector of each block according to the motion prediction of each block, the motion prediction error of each block, and the motion prediction error of the merged block. Uniformize the non-uniform motion vector field by predicting the motion vector in units of one merge block.
  • the block merging process corresponds to a process of replacing two or more motion vectors with one motion vector of the merged block. That is, two adjacent blocks are merged through block merging and a new motion vector is obtained through motion prediction for the merged block. Therefore, uniformization or regularization of the motion vector by block merging is performed.
  • FIG. 5 is a reference diagram for explaining a merging process of an image block according to an embodiment of the present invention.
  • the block merging unit 180 repeats a process of merging adjacent blocks most likely to be in the same object into one block based on the motion vector and the motion prediction error value of each block determined by the motion prediction and compensator 170. By doing block merge.
  • the motion prediction and compensation unit 170 divides an image 500 into blocks B1 to B9 and determines a motion vector of the blocks B1 to B9.
  • the image 500 may be an entire image frame or a part of the image frame.
  • the block merger 180 merges all two adjacent blocks to generate merge blocks 511 to 522.
  • the block merging unit 180 calculates the costs of the merge blocks 511 to 522 according to a predetermined evaluation function to determine a merge block having the lowest cost, and determines the cost of the determined merge block as a predetermined threshold value. It is determined whether or not the merged block is actually merged.
  • the cost is determined by an evaluation function set based on information of two blocks included in a block merged to have a small value when two blocks are included in one object.
  • the block merging unit 180 uses all of the merging blocks 511 to 511 based on an evaluation function set to have a small value when two blocks are included in one object by using information about two adjacent blocks as parameters.
  • a cost of 522 is obtained, and a final decision is made whether to actually merge the two blocks included in the merge block having the minimum cost.
  • B1 + B2 merge block 511 of merge blocks 511 to 522 is a merge block having a minimum cost.
  • the block merging unit 180 determines that the B1 + B2 merge block 511 is the merge block having the minimum cost, based on the cost according to the predetermined evaluation function, the cost of the B1 + B2 merge block 511 is again determined and the predetermined threshold value.
  • the final decision may be made whether or not to actually merge the B1 block and the B2 block.
  • an evaluation function set to have a small value can be set in various ways.
  • the evaluation function may include a degree of nonuniformity between the motion vector of the merge block and the motion vectors of the neighboring blocks of the merge block and the motion vectors of each of the blocks included in the merge block and the motion vectors of the neighboring blocks of the blocks. It may be a function for measuring the amount of change in the motion prediction error due to the merged block in preparation for the degree of uniformity of the motion vector representing the degree of nonuniformity of. That is, the evaluation function can obtain the cost of each merge block by calculating (the amount of change of the motion prediction error due to the merged block) / (the degree of uniformity of the motion vector).
  • the block merging unit 180 determines whether the blocks are included in one object by calculating (the amount of change in the motion prediction error due to the merged block) / (uniformity of the motion vector). Only merging blocks that are more likely to be contained within to equalize a non-uniform motion vector while at the same time preventing blocks contained in different regions (eg of background and object) from merging.
  • the degree of uniformity of the motion vector may be determined using the motion vector of the merge block, the motion vector of the blocks included in the merge block, the motion vector of the neighboring blocks of the merge block, and the motion vector of the neighboring blocks of the blocks included in the merge block.
  • the amount of change in the motion prediction error due to the merge block may be determined using a difference between the motion prediction error due to the motion vector of the merge block and the motion prediction error due to the motion vector of each of the blocks included in the merge block.
  • SAD may be used as a motion prediction error.
  • FIG. 6 is a flowchart illustrating a merging process of image blocks according to an embodiment of the present invention.
  • the block merging unit 180 has a small value when two blocks R and S are in the same object with respect to R and S which are two adjacent blocks (or sets of pixels).
  • C (R, S) which is a cost value based on a predetermined evaluation function, is obtained.
  • the block merging unit 180 uses an arbitrary block R included in the image ⁇ and adjacent blocks S of the block R defined by ⁇ (R).
  • C (R, S) that is, the block merger 180 obtains C (R, S) of merged blocks obtained by merging all combinable neighboring blocks R and S included in the image ⁇ , and minimum cost C (R) of the merged blocks. Select blocks R 'and S' with, S).
  • the block merger 180 compares the cost of the merged block determined to have the minimum cost with a predetermined threshold Th. As a result of the comparison, when the cost of the merge block having the minimum cost is less than the predetermined threshold Th, the block merger 180 merges the blocks in the merge block having the minimum cost in step 630. In addition, the block merger 180 assumes the merged block as one new block, determines a merge block having a minimum cost with respect to merge blocks in which adjacent blocks in the image are merged, and the determined cost of the merge block is The process of merging the blocks by comparing the predetermined threshold Th is repeated. This block merging process is repeated while the cost of the merged block determined to have the minimum cost is less than the predetermined threshold Th. The block merging unit 180 terminates the merging process without merging the blocks included in the merge block any longer when the cost of the merge block having the minimum cost is greater than or equal to a predetermined threshold Th.
  • FIG. 7 is a reference diagram for explaining a process of repeating merging of image blocks according to an embodiment of the present invention.
  • a B1 + B2 merge block 511 is a merge block having a minimum cost, and a cost of the B1 + B2 merge block 511 is predetermined. Since it is smaller than the threshold Th, it is assumed that the block merging unit 180 finally merges the blocks B1 and B2 to obtain a merge block B T.
  • the block merging unit 180 merges blocks B T and adjacent blocks by assuming that the merged block B T is a new block in addition to the costs of the merge blocks 511 to 522 shown in FIG. 5. Calculate the cost of (710, 720, 730).
  • the block merging unit 180 merges the merge blocks B T + B3 710, B T + B4 720, B T + B5 730, B4 + B5 513, B5 + B6 514, and the like. Merge with the lowest cost among the costs of B7 + B8 515, B8 + B9 516, B3 + B6 519, B4 + B7 520, B5 + B8 521, B6 + B9 522 The block is determined, and it is again determined whether the cost of the merged block having the minimum cost is smaller than a predetermined threshold Th to determine whether to merge the blocks in the merged block having the minimum cost.
  • B T + B3 (710) If, assuming B T + B3 (710) to have a minimum of cost, if the cost of the B T + B3 (710) is smaller than the predetermined threshold value (Th) block B T and B3 were combined, B T + B3 If the cost of 710 is greater than or equal to a predetermined threshold Th, blocks B T and B3 are not merged, and the split state as shown in FIG. 7 is determined as the final split type, and the merge process is completed. That is, as described above, the merging process is repeated only while the minimum cost among the costs of the merged blocks in which the adjacent blocks in the currently processed image are merged is smaller than the predetermined threshold Th.
  • a merge block T which merges two adjacent blocks R and S is T
  • a motion vector of the merge block V T a motion vector V of each of the blocks R and S V R and V S
  • a motion vector V of the merge block T a motion prediction error caused by T SAD (T, V T)
  • the motion prediction error caused by the block S motion vector V S SAD a motion prediction error caused by the block S motion vector V S SAD
  • (S, V s ) the cost C (R, S) can be obtained according to the following equation (2).
  • Equation 2 the function ⁇ (X) is a function defined by Equation 3 below.
  • Equation 3 ⁇ represents a set of neighboring blocks adjacent to the block X, and Q represents one neighboring block included in ⁇ .
  • ⁇ (X) is a non-uniform degree of the block X of the motion vector V X and the surrounding blocks Q of the motion vector as the sum of the difference between V Q, the neighboring blocks the motion of the block X, motion vector and the block X vector Indicates.
  • the denominator is the degree of nonuniformity between the motion vector of the merge block and the motion vectors of the neighboring blocks of the merge block and the motion vectors of each of the blocks included in the merge block and the motion vectors of the neighboring blocks of the blocks.
  • the difference in the degree of nonuniformity between the two represents the degree of uniformity of the motion vector by merging.
  • the denominator is a value obtained by quantifying the degree to which the motion vectors are uniformized by merging two motion vectors with one motion vector of the merge block. By the merging process, the original two motion vectors are replaced with one motion vector of the merge block.
  • the denominator of Equation 2 has a relatively small value.
  • the value of (R, S) is increased. Therefore, if the uniformity of the motion vector does not increase significantly due to the merging, the uniformity of the motion vector by the merging is quantified and measured as in the denominator portion of Equation 2 in order not to perform the merging.
  • the molecular portion represents the amount of change in the motion prediction error due to merging.
  • the SAD of the merged block is greatly increased. Therefore, the motion prediction error and the merged by the merged block newly generated by the merged as in the molecular part of Equation 2 are merged.
  • the block merging unit 180 measures the cost C (R, S) indicating (the amount of change of the motion prediction error due to the merged block) / (the degree of uniformity of the motion vector) based on a predetermined evaluation function as shown in Equation (2). Therefore, it is determined whether two adjacent blocks R and S exist in one object and the efficiency of the degree of uniformity of the motion vector by merging the blocks R and S is determined to determine whether the adjacent blocks are merged.
  • Equation 2 SAD (X, V) is a motion prediction error of the block X having the motion vector V, and can be obtained as in Equation 4 below.
  • Equation 4 the size of block X is N * M (N, M is an integer), the first pixel position of block X is (x0, y0), and the motion vector V has a component of (Vx, Vy), f t-1 represents a reference frame and f t + 1 represents a current frame.
  • FIG. 8 illustrates a block merging process and a normalization process of a motion vector according to an embodiment of the present invention.
  • FIG. 8 illustrates a case in which a merging process is performed in the order of the sixth image 860 from the first image 810.
  • the first to sixth images 810, 820, 830, 840, 850, and 860 merge the blocks included in one image.
  • the process is shown in sequence, not different images.
  • the block merging unit 180 calculates C (R, S) and calculates a minimum cost as shown in Equation 2 with respect to merged blocks in which all adjacent blocks in the first image 810 are merged.
  • the cost of the merge block is compared with a predetermined threshold Th to determine whether to merge.
  • a merge block comprising the first neighboring blocks 811 and 812 has a minimum cost and is less than a predetermined threshold Th.
  • the first adjacent blocks 811 and 812 are finally merged into one merge block 821.
  • this merging process is repeated while the minimum cost of the merge blocks is less than a predetermined threshold Th.
  • the part corresponding to the background is merged into one block having one motion vector through this merging process.
  • adjacent blocks included in the shaded object part may also be merged into one merge block through a merge process.
  • a merge block including blocks 831 and 832 in the third image 830 has a minimum cost and is smaller than a predetermined threshold Th.
  • the blocks 831 and 832 are finally merged into one merge block 841.
  • the merged block comprising blocks 842 and 843 in the fourth image 840 has a minimum cost and is less than a predetermined threshold Th, as shown in the fifth image 850.
  • Blocks 842 and 843 are finally merged into one merge block 851.
  • a similar merge process is performed on blocks 851, 852, 853 included in one object of the fifth image 850, such that one merge block similar to the shape of the object, such as the merge block 861 of the sixth image 860. Can be obtained.
  • blocks having different wrong motion vectors within the same object are merged into one merge block to have one motion vector through a merge process of blocks and normalization of motion vectors according to an embodiment of the present invention. A motion vector close to the actual motion can be obtained.
  • FIG. 9 is a flowchart illustrating an image encoding method according to an embodiment of the present invention.
  • the motion prediction and compensation unit 170 obtains motion vectors of blocks constituting an image.
  • the block may represent one of a macro block, a partition obtained by dividing the macro block, or a coding unit used in HEVC.
  • the motion prediction and compensation unit 170 also obtains a motion vector of the merged block by performing motion prediction on a merged block in which two adjacent blocks among the blocks constituting the image are merged.
  • the merge blocks may be obtained by merging all two combinable adjacent blocks included in the image.
  • the block merging unit 180 is based on the motion vector of the merge block, the motion vector of the blocks included in the merge block, the motion vector of the neighboring blocks of the merge block, and the motion vector of the neighboring blocks of the blocks included in the merge block. Then, the amount of change in the motion prediction error compared to the degree of homogenization of the motion vector by merging is obtained for the merged block.
  • the block merging unit 180 measures the cost representing (the amount of change in the motion prediction error due to the merged block) / (the degree of uniformity of the motion vector), such as a predetermined evaluation function as shown in Equation 2, to determine two adjacent values. It is determined whether the neighboring blocks are merged by measuring the likelihood that the blocks exist in one object and the efficiency of the uniformity of the motion vectors due to the merging of the adjacent blocks.
  • the block merging unit 180 determines a merge block having the smallest change amount among the merge blocks based on the obtained change amount, that is, the cost as shown in Equation 2, and determines whether to merge the blocks included in the determined merge block. Decide As described above, the block merging unit 180 compares the obtained change amount with a predetermined threshold value, and merges the blocks included in the determined merge block when the obtained change amount is smaller than the predetermined threshold value, and the obtained change amount is a predetermined threshold value. If it is more than the value, the original block is maintained without merging the blocks included in the merge block.
  • FIG. 10 is a block diagram illustrating an image decoding apparatus according to an embodiment of the present invention.
  • the image decoding apparatus 1000 includes an entropy decoder 1010, an inverse quantization and inverse transform unit 1020, a decompression unit 1030, a motion compensator 1040, and a storage unit 1050. do.
  • the entropy decoding unit 1010 entropy decodes the received bitstream and extracts prediction mode information and image data of the current block to be decoded from the bitstream.
  • the entropy decoder 1010 obtains information about a merge block and a motion vector of a merge block, which merge at least two adjacent blocks among blocks constituting an image from the received bitstream. To print.
  • the inverse quantization and inverse transform unit 1020 inversely quantizes and inverse transforms the entropy-decoded residual data and outputs the inverse quantized and inverse transform.
  • the motion compensator 1040 performs motion compensation on the merged block by using the obtained motion vector of the merged block to obtain a predicted value of the merged block. Blocks other than the merged block may be predicted according to a general block prediction scheme.
  • the reconstructor 1030 reconstructs an image by adding residual data and a predicted value of the merge block.
  • the storage unit 1050 stores the previously decoded image as a reference frame for decoding the next image.
  • FIG. 11 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
  • the entropy decoder 1010 merges at least two adjacent blocks among blocks constituting an image from a received bitstream and a motion vector of the merge block. Obtain information. As described above, the merge block merges adjacent blocks according to a result of comparing a variation of a motion prediction error with respect to a degree of uniformity of the motion vector by merging at least two adjacent blocks in the encoding process with a predetermined threshold. Block.
  • the motion compensator 1030 performs motion compensation on the merge block using the motion vector of the merge block to obtain a prediction value of the merge block.
  • the prediction value of the merge block is generated, the merge block is reconstructed by adding residual data and a prediction value of the merge block obtained through inverse quantization and inverse transformation.
  • FIG. 12 is a flowchart illustrating an image encoding method according to another embodiment of the present invention.
  • the conventional BMA-based motion prediction method performs motion prediction in units of blocks of a predetermined size without considering objects included in an image, thereby reducing the accuracy and precision of the motion prediction.
  • the image encoding method according to another embodiment of the present invention divides pixels included in the current frame into objects based on the pixel value and performs motion prediction and compensation based on the divided object unit before motion prediction. . That is, the image encoding method according to another embodiment of the present invention groups adjacent pixels having similar pixel values into one object and performs motion prediction in units of objects having similar pixel values.
  • an object means a set of pixels having a similar pixel value. Since pixels included in one object may have different pixel values, one object may also be divided into a plurality of objects. For example, assume an object with a pattern of green and black, such as watermelon. In this case, the image encoding method according to another embodiment of the present invention forms a single object by grouping adjacent pixels having a pixel value similar to black, and forming a single object by grouping adjacent pixels having a pixel value similar to green. do. That is, according to another embodiment of the present invention, even one object may be classified into a plurality of objects based on the pixel value.
  • motion prediction and compensation are performed on a per object basis.
  • the accuracy of the motion vector may be increased.
  • FIG. 13 is a flowchart illustrating an image decoding method according to another embodiment of the present invention.
  • step 1310 segmentation information about an object unit grouping adjacent pixels having similar pixel values from a bitstream and motion vector information of such an object unit are obtained.
  • operation 1320 motion compensation is performed on a per object basis using the obtained motion vector to generate a prediction value of an object grouping adjacent pixels having similar pixel values.
  • the video encoding and decoding method according to another embodiment of the present invention may be performed in a similar manner to the conventional block-based video encoding and decoding method except for using a object in which adjacent pixels having similar pixel values are grouped instead of blocks. Is omitted.
  • the invention can also be embodied as computer readable code on a computer readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

Landscapes

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

Abstract

영상의 부호화 방법 및 장치, 복호화 방법 및 장치가 개시된다. 영상 부호화 방법은 인접한 블록들을 병합한 병합 블록의 움직임 벡터, 병합 블록에 포함된 블록들의 움직임 벡터, 주변 블록들의 움직임 벡터에 기초하여, 병합에 의한 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량을 획득하고 획득된 변화량에 기초하여, 병합 블록들 중 변화량이 가장 작은 병합 블록을 결정하고 결정된 병합 블록에 포함된 블록들의 병합 여부를 결정한다.

Description

움직임 벡터 정규화에 기초한 영상의 부호화 방법 및 장치, 영상의 복호화 방법 및 장치
본 발명은 영상의 부호화 및 복호화에 관한 것으로, 보다 상세하게는 블록들을 병합한 병합 블록의 움직임 벡터를 이용하여 영상을 부호화하는 방법 및 장치, 복호화하는 방법 및 장치에 관한 것이다. 또한, 본 발명은 영상을 객체 단위로 분할하고, 분할된 객체 단위로 움직임 예측 및 보상을 수행하여 영상을 부호화하는 방법 및 장치, 복호화하는 방법 및 장치에 관한 것이다.
MPEG-1, MPEG-2, MPEG-4 H.264/MPEG-4 AVC(Advanced Video coding)와 같은 영상 압축 방식에서는 정교한 움직임 예측을 위해 영상을 여러 개의 영역(픽셀 집합)으로 분할하고, 각 영역에 대해서 움직임 벡터를 예측한다. 가장 널리 이용되는 BMA(Block Matching Algorithm) 방법은 현재 프레임에 대해 블록 형태로 픽셀 집합을 정의하고, 각 블록에 대해서 가장 유사한 블록을 이전 프레임에서 검색함으로써 블록 단위의 움직임 벡터를 예측한다.
BMA와 같은 움직임 예측 방식은 SAD(Sum of Absolute Difference) 값을 최소화하는 움직임 벡터를 예측하기 때문에 영상에 포함된 물체의 실제 움직임을 정확히 예측하지 못할 확률이 높다. 예를 들어, 균일한(homogeneous) 물체에 포함된 블록에 대한 움직임 예측시에, 이전 프레임에도 움직임 예측되는 블록과 유사한 블록이 다수 존재할 가능성이 크므로 움직임 벡터는 실제 물체의 움직임을 정확히 반영하지 못하는 경우가 발생할 수 있다.
또한, 종래 기술에 따르면 영상에 포함된 객체를 고려하지 않고 소정 크기의 블록 단위로 움직임 예측을 수행하기 때문에, 움직임 예측의 정확도와 정밀도가 감소한다. 예를 들어, 객체에 비해 블록의 크기가 작은 경우 블록과 유사한 영역이 이전 프레임에도 다수 존재하기 때문에 실제 움직임 벡터가 아닌 움직임 벡터가 최종 움직임 벡터로 선택될 수 있다. 또한, 객체에 비해 블록의 크기가 큰 경우에는 블록에 객체 뿐만 아니라 배경 영역의 픽셀도 포함되어 움직임 예측이 잘못 수행될 수 있다.
본 발명이 해결하고자 하는 기술적 과제는 같은 물체에 포함된 블록들을 병합하여 보다 큰 병합 블록을 획득하고, 획득된 병합 블록에 기초하여 움직임 벡터를 예측함으로써 물체의 실제 움직임에 가까운 움직임 벡터를 획득하는 동시에 일관성있는 움직임 벡터 필드를 제공하는 것이다.
또한 본 발명이 해결하고자 하는 기술적 과제는 영상에 포함된 객체 단위로 움직임 예측 및 보상을 수행함으로써 보다 정확한 움직임 벡터를 획득하기 위한 것이다.
본 발명의 실시예들은 소정의 평가함수에 기초하여 각 블록들의 병합시 발생되는 코스트를 계산하여 인접한 블록들의 병합 여부를 판단하고, 병합된 블록에 대해 움직임 벡터를 예측한다.
본 발명의 실시예들은 유사한 픽셀값을 갖는 픽셀들을 그룹화한 객체 단위로 영상을 분할하고 객체 단위로 영상에 대한 움직임 예측 및 보상을 수행한다.
본 발명의 실시예들에 따르면 동일한 객체에 포함될 확률이 높은 블록들을 병합함으로써 영상을 소수의 큰 병합 블록으로 분할할 수 있다. 이러한 소수의 큰 병합 블록들은 영상에 포함된 객체의 형태와 유사해질 수 있다. 본 발명의 실시예들에 따르면 객체의 일부분에 불과한 작은 블록을 다른 블록들과 병합하여 병합 블록을 생성하고, 병합 블록에 대한 움직임 예측을 수행함으로써 객체에 포함된 작은 블록에 대한 잘못된 움직임 예측을 방지하고 보다 정확한 움직임 벡터를 획득할 수 있다. 즉, 본 발명의 실시예들에 따르면 같은 객체 내에 포함된 블록들의 서로 다른 움직임 벡터들을 병합 블록의 움직임 벡터로 정규화(regularization)함으로써 실제로 하나의 객체가 갖는 하나의 움직임을 보다 정확하게 반영하는 움직임 벡터를 획득할 수 있다.
또한, 본 발명의 실시예들에 따르면 객체 단위로 움직임 예측 및 보상을 수행함으로써 객체의 경계 부분에서도 보다 정확한 움직임 예측 및 보상을 수행할 수 있다.
또한, 본 발명의 실시예들에 따르면 보다 정확한 움직임 예측 및 보상 과정을 MCFI(Motion-Compensated Frame Interpolation) 등의 보간 프레임 생성시에 이용함으로써 보다 정확한 보간 프레임을 생성할 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치의 구성을 나타낸 블록도이다.
도 2는 본 발명과 관련된 기술 분야에서 움직임 벡터의 후처리를 위한 중간값(median) 필터링 방식을 설명하기 위한 참조도이다.
도 3 및 도 4는 본 발명과 관련된 기술 분야에서 이용되는 중간값 필터링 방식의 문제점을 설명하기 위한 참조도이다.
도 5는 본 발명의 일 실시예에 따라서 영상 블록의 병합 과정을 설명하기 위한 참조도이다.
도 6은 본 발명의 일 실시예에 따라서 영상 블록의 병합 과정을 나타낸 플로우 차트이다.
도 7은 본 발명의 일 실시예에 따라서 영상 블록의 병합이 반복되는 과정을 설명하기 위한 참조도이다.
도 8은 본 발명의 일 실시예에 따라서 블록 병합 과정 및 움직임 벡터의 정규화 과정을 나타낸 도면이다.
도 9은 본 발명의 일 실시예에 따른 영상 부호화 방법을 나타낸 플로우 차트이다.
도 10은 본 발명의 일 실시예에 따른 영상 복호화 장치를 나타낸 블록도이다.
도 11은 본 발명의 일 실시예에 따른 영상 복호화 방법을 나타낸 플로우 차트이다.
도 12는 본 발명의 다른 실시예에 따른 영상 부호화 방법을 나타낸 플로우 차트이다.
도 13은 본 발명의 다른 실시예에 따른 영상 복호화 방법을 나타낸 플로우 차트이다.
본 발명의 일 실시예에 따른 영상 부호화 방법은 영상을 구성하는 블록들의 움직임 벡터들을 획득하는 단계; 서로 인접한 두 개의 블록들을 병합하여 병합 블록들을 획득하는 단계; 각 병합 블록의 움직임 벡터를 획득하는 단계; 상기 병합 블록의 움직임 벡터, 상기 병합 블록에 포함된 상기 블록들의 움직임 벡터, 상기 병합 블록의 주변 블록들의 움직임 벡터 및 상기 병합 블록에 포함된 블록들의 주변 블록들의 움직임 벡터에 기초하여, 상기 병합 블록에 대하여 병합에 의한 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량을 획득하는 단계; 및 상기 획득된 변화량에 기초하여, 상기 병합 블록들 중 상기 변화량이 가장 작은 병합 블록을 결정하고 상기 결정된 병합 블록에 포함된 블록들의 병합 여부를 결정하는 단계를 포함한다.
본 발명의 일 실시예에 따른 영상 부호화 장치는 영상을 구성하는 블록들의 움직임 벡터들 및 서로 인접한 두 개의 블록들을 병합하여 병합 블록들 각각의 움직임 벡터를 획득하는 움직임 예측 및 보상부; 및 상기 병합 블록의 움직임 벡터, 상기 병합 블록에 포함된 상기 블록들의 움직임 벡터, 상기 병합 블록의 주변 블록들의 움직임 벡터 및 상기 병합 블록에 포함된 블록들의 주변 블록들의 움직임 벡터에 기초하여, 상기 병합 블록에 대하여 병합에 의한 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량을 획득하고, 상기 획득된 변화량에 기초하여, 상기 병합 블록들 중 상기 변화량이 가장 작은 병합 블록을 결정하고 상기 결정된 병합 블록에 포함된 블록들의 병합 여부를 결정하는 블록 병합부를 포함한다.
본 발명의 일 실시예에 따른 영상의 복호화 방법은 수신된 비트스트림으로부터 상기 영상을 구성하는 블록들 중 적어도 두 개의 서로 인접한 블록들을 병합한 병합 블록 및 상기 병합 블록의 움직임 벡터에 대한 정보를 획득하는 단계; 및 상기 움직임 벡터를 이용하여 상기 병합 블록에 대한 움직임 보상을 수행하여 상기 병합 블록의 예측값을 획득하는 단계를 포함하며, 상기 병합 블록은 상기 적어도 두 개의 서로 인접한 블록들의 병합에 의한 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량과 소정 임계값과의 비교 결과에 따라서 상기 인접한 블록들을 병합하여 결정된다.
본 발명의 일 실시예에 따른 영상의 복호화 장치는 수신된 비트스트림으로부터 상기 영상을 구성하는 블록들 중 적어도 두 개의 서로 인접한 블록들을 병합한 병합 블록 및 상기 병합 블록의 움직임 벡터에 대한 정보를 획득하는 엔트로피 복호화부; 및 상기 움직임 벡터를 이용하여 상기 병합 블록에 대한 움직임 보상을 수행하여 상기 병합 블록의 예측값을 획득하는 움직임 보상부를 포함하며, 상기 병합 블록은 상기 적어도 두 개의 서로 인접한 블록들의 병합에 의한 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량과 소정 임계값과의 비교 결과에 따라서 상기 인접한 블록들을 병합하여 결정된다.
이하 첨부된 도면을 참조하여 본 발명의 실시예들에 대하여 구체적으로 설명한다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치의 구성을 나타낸 블록도이다. 도 1을 참조하면, 영상 부호화 장치(100)는 감산부(110), 변환 및 양자화부(120), 엔트로피 부호화부(130), 역양자화 및 역변환부(140), 가산부(150), 저장부(160), 움직임 예측 및 보상부(170) 및 블록 병합부(180)를 포함한다. 미도시된 인트라 예측부는 인트라 예측 모드에서 블록 단위로 인트라 예측을 수행하여 각 블록의 예측값을 생성할 수 있다.
움직임 예측 및 보상부(170)는 입력 영상을 소정 크기의 블록들로 분할하고, 분할된 각 블록에 대하여 움직임 예측을 수행하여 각 블록의 움직임 벡터를 획득한다. 이하, 본 발명에서 설명되는 블록은 매크로 블록, 매크로 블록을 분할한 파티션, 또는 HEVC(High Efficiency Video Coding)에서 이용되는 부호화 단위 중 하나를 나타낼 수 있다. 특히, 본 발명의 일 실시예에 따른 움직임 예측 및 보상부(170)는 영상을 구성하는 블록들 중 인접한 두 개의 블록들을 병합한 병합 블록에 대한 움직임 예측을 수행하여 병합 블록의 움직임 벡터도 획득한다. 후술되는 바와 같이 병합 블록들은 영상에 포함된 모든 조합 가능한 인접한 두 개의 블록들을 병합하여 획득될 수 있다. 구체적인 병합 블록의 움직임 벡터 예측 과정에 대해서는 후술한다.
블록 병합부(180)는 병합 블록들에 포함된 블록들의 병합 여부를 결정한다. 후술되는 바와 같이, 본 발명의 일 실시예에 따른 블록 병합 과정은 소정 코스트 함수에 기초하여, 조합 가능한 모든 병합 블록들 중 최소 코스트를 갖는 병합 블록을 선택하여 병합하는 과정을 반복함으로써 수행된다. 블록 병합부(180)는 원래 두 개의 블록들 각각의 움직임 벡터에 의한 움직임 예측 오차값과 두 개의 블록을 병합함으로써 생성된 병합 블록의 움직임 벡터를 이용한 움직임 예측 오차값 사이의 변화량 정도와, 원래 두 개의 블록들이 갖는 두 개의 움직임 벡터를 하나의 병합 블록의 움직임 벡터로 균일화(uniformization)하는 과정에서 획득되는 병합에 의한 움직임 벡터의 균일화 정도를 반영하여 각 병합 블록의 코스트를 계산할 수 있다. 구체적으로, 블록 병합부(180)는 병합 블록의 움직임 벡터, 병합 블록에 포함된 블록들의 움직임 벡터, 병합 블록의 주변 블록들의 움직임 벡터 및 병합 블록에 포함된 블록들의 주변 블록들의 움직임 벡터에 기초하여, 병합에 의한 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량을 획득한다. 그리고, 블록 병합부(180)는 획득된 변화량에 기초하여, 병합 블록들 중 변화량이 가장 작은 병합 블록을 결정하고 결정된 병합 블록의 변화량과 소정 임계값을 비교하여 최종적으로 블록들의 병합 여부를 결정한다. 블록들의 병합 과정에 대해서는 후술한다.
블록 병합부(180)의 블록 병합 과정에 따라 영상의 최종 분할 형태가 결정되면, 움직임 예측 및 보상부(170)는 블록 또는 병합 블록의 움직임 벡터를 이용하여 이전 참조 프레임으로부터 블록 또는 병합 블록의 예측값을 획득하여 출력한다.
감산부(110)는 블록 또는 병합 블록의 예측값과 입력값 사이의 차이값인 레지듀얼을 출력한다. 레지듀얼 데이터는 변환 및 양자화부(120)를 거쳐 양자화된 변환 계수로 출력된다. 양자화된 변환 계수는 역양자화 및 역변환부(140)를 통해 레지듀얼 데이터로 복원된다. 가산부(150)는 복원된 레지듀얼 데이터와 예측값을 가산하여 복원 영상을 생성하고, 복원 영상은 저장부(160)에 저장되어 다음 영상 프레임의 참조 프레임으로 이용된다. 양자화된 변환 계수는 엔트로피 부호화부(130)를 거쳐 비트스트림으로 출력될 수 있다. 특히, 엔트로피 부호화부(130)는 후술되는 병합 과정을 통해 영상의 분할 형태가 최종적으로 결정되면, 영상을 부호화한 비트스트림에 블록들의 병합 정보 및 병합 블록의 움직임 벡터 정보를 부가할 수 있다.
이하, 도 1의 블록 병합부(180)에서 수행되는 블록의 병합 과정 및 움직임 벡터의 정규화 과정에 대하여 구체적으로 설명한다.
도 2는 본 발명과 관련된 기술 분야에서 움직임 벡터의 후처리를 위한 중간값(median) 필터링 방식을 설명하기 위한 참조도이다. 도 2에서 도면 부호 210은 원래의 움직임 벡터 필드를 나타내며, 도면 부호 220은 중간값 필터링 과정 이후의 변화된 움직임 벡터 필드를 나타낸다.
전술한 바와 같이, BMA와 같은 움직임 예측 방식에서는 SAD 값을 최소화하는 움직임 벡터를 예측하기 때문에 균일한 물체에 포함된 블록에 대한 움직임 예측시에, 이전 프레임에도 움직임 예측되는 블록과 유사한 블록이 다수 존재할 가능성이 크므로 움직임 벡터는 실제 물체의 움직임을 정확히 반영하지 못하는 경우가 발생할 수 있다. 이러한 문제점을 해결하기 위한 방법으로써 각 블록이 갖는 움직임 벡터들에 대하여 후처리 과정을 통하여 인접한 블록들이 서로 유사한 움직임 벡터를 갖도록, 주변 블록들이 갖는 움직임 벡터의 중간값을 현재 블록의 움직임 벡터로 사용하는 중간값 필터링 방법이 있다. 도 2를 참조하면, 도면 부호 210에 도시된 바와 같이 현재 블록(211)을 중심으로 주변 8개의 움직임 벡터 필드가 결정되었다고 가정한다. 중간값 필터링 방법은 현재 블록(211) 및 그 주변 블록들이 갖는 움직임 벡터들 V0, V1, ..., V8으로부터 다음의 수학식 1에 따라서 중간값 움직임 벡터(
Figure PCTKR2013000192-appb-I000001
)를 획득하여 현재 블록(211)의 움직임 벡터(V0)를 대체하는 것이다.
수학식 1
Figure PCTKR2013000192-appb-M000001
수학식 1에서
Figure PCTKR2013000192-appb-I000002
는 Vi 벡터의 x축 성분,
Figure PCTKR2013000192-appb-I000003
는 Vi 벡터의 y축 성분을 의미한다.
도 2의 우측의 도면 부호 220을 참조하면, 수학식 1에 따른 중간값 필터링 과정에 따라서 현재 블록(221)의 움직임 벡터는 주변 블록들의 움직임 벡터와 유사하게 필터링된다.
이러한 중간값 필터링 방식에서는 유사한 움직임 벡터를 가져야하는 움직임 벡터 필드에서 잘못된 값을 갖는 움직임 벡터를 수정하는데 도움이 될 수 있다. 그러나, 이러한 중간값 필터링 방식은 물체의 크기가 작거나 블록이 물체와 배경의 경계 부근에 있을 경우 해당 블록이 잘못된 움직임 벡터를 가질 수 있는 문제점이 있다.
도 3 및 도 4는 본 발명과 관련된 기술 분야에서 이용되는 중간값 필터링 방식의 문제점을 설명하기 위한 참조도이다. 도 3 및 도 4에서 도면 부호 310 및 410은 원래의 움직임 벡터 필드를 나타내며, 도면 부호 320 및 420은 중간값 필터링 과정 이후의 변화된 움직임 벡터 필드를 나타낸다.
도 3을 참조하면, 물체를 구성하는 블록들(311)에 대하여 전술한 수학식 1에 따라서 중간값 필터링이 수행될 경우, 주변 블록들 중에는 물체보다 배경에 포함된 블록이 많기 때문에 물체의 움직임으로 예측되었던 움직임 벡터가 배경의 움직임 벡터로 변경될 수 있다. 즉, 배경과 물체가 다른 움직임을 갖는 경우, 도면 부호 320에 도시된 바와 같이 중간값 필터링 방식에 의하면 물체에 포함된 블록들의 움직임 벡터는 모두 주변 배경 블록들이 갖는 움직임 벡터로 필터링되어 물체에 포함된 블록들은 실제 움직임과 다른 움직임 벡터를 가질 수 있다. 또한, 도 4를 참조하면, 중간값 필터링 방식은 대부분의 블록들이 정확한 움직임 벡터를 가지고 있다는 가정에 기초한 것이기 때문에 도면 부호 410과 같이 블록 단위에 기초한 움직임 벡터들 자체의 정확도가 떨어지는 경우에는, 중간값 필터링 이후의 도면 부호 420에 도시된 바와 같이 잘못된 움직임 벡터를 수정할 수 없다.
본 발명의 일 실시예에 따른 블록 병합부(180)는 같은 물체에 있는 블록들을 병합한 병합 블록 단위로 움직임 벡터를 예측함으로써 실제 물체의 움직임에 가까운 움직임 벡터를 획득하고, 일관성있는 움직임 벡터 필드를 제공한다. 하나의 물체 안에 포함된 블록들은 실질적으로 동일한 움직임을 가져야 하지만, 블록 단위로 움직임 예측이 수행되므로 하나의 물체 안에 포함된 블록들 각각은 서로 다른 움직임 벡터를 가질 수 있다. 따라서, 블록 병합부(180)는 블록 단위의 움직임 예측에 따른 각 블록의 움직임 벡터와 각 블록의 움직임 예측 오차 및 병합 블록의 움직임 예측 오차 등을 고려하여 하나의 물체 안에 포함될 가능성이 높은 블록들을 병합한 병합 블록 단위로 움직임 벡터를 예측함으로써 균일하지 않은 움직임 벡터 필드를 균일화한다. 블록 병합 과정은 두 개 이상의 움직임 벡터를 병합된 블록의 하나의 움직임 벡터로 대체하는 과정에 해당된다. 즉 블록 병합을 통하여 두 개의 인접한 블록이 병합되고 병합된 블록에 대한 움직임 예측을 통해 새로운 움직임 벡터가 획득된다. 따라서, 블록 병합에 의한 움직임 벡터의 균일화(uniformization) 또는 정규화(regularization)가 수행된다.
도 5는 본 발명의 일 실시예에 따라서 영상 블록의 병합 과정을 설명하기 위한 참조도이다.
블록 병합부(180)는 움직임 예측 및 보상부(170)에서 결정된 각 블록의 움직임 벡터와 움직임 예측 오차값에 기반하여 같은 물체에 있을 가능성이 가장 높은 인접한 블록들을 하나의 블록으로 병합하는 과정을 반복함으로써 블록 병합을 수행한다.
도 5를 참조하면, 움직임 예측 및 보상부(170)에서 영상(500)을 블록들(B1 내지 B9)로 분할하고 블록들(B1 내지 B9)의 움직임 벡터를 결정하였다고 가정한다. 도 5에서 영상(500)은 영상 전체 프레임일 수도 있고, 영상 프레임 중 일부일 수 있다. 설명의 편의를 위하여 도 5에서는 하나의 영상이 9개의 블록들(B1 내지 B9)으로 분할되어 움직임 예측된 경우를 가정한다.
블록 병합부(180)는 모든 인접한 두 개의 블록들을 병합하여 병합 블록들(511 내지 522)을 생성한다. 그리고, 블록 병합부(180)는 소정 평가 함수에 따라서 병합 블록들(511 내지 522)의 코스트를 계산하여 가장 작은 값을 갖는 코스트를 갖는 병합 블록을 결정하고, 결정된 병합 블록의 코스트를 소정 임계값과 비교하여 결정된 병합 블록의 실제 병합 여부를 결정한다. 여기서, 코스트는 두 개의 블록이 하나의 물체 안에 포함되었을 때 작은 값을 갖도록 병합되는 블록 내에 포함된 두 개의 블록의 정보에 기초하여 설정된 평가 함수에 의하여 결정된다. 다시 말해서, 블록 병합부(180)는 인접한 두 개의 블록에 대한 정보를 매개 변수로 하여 두 개의 블록이 하나의 물체 안에 포함된 경우 작은 값을 갖도록 설정된 평가 함수에 기초하여 모든 병합 블록들(511 내지 522)의 코스트를 획득하고, 최소 코스트를 갖는 병합 블록에 포함된 두 개의 블록을 실제로 병합할 것인지를 최종 결정한다. 예를 들어, 병합 블록들(511 내지 522) 중 B1+B2 병합 블록(511)이 최소 코스트를 갖는 병합 블록이라고 가정한다. 블록 병합부(180)는 소정 평가 함수에 따른 코스트에 기초하여 B1+B2 병합 블록(511)이 최소 코스트를 갖는 병합 블록으로 결정되면, 다시 B1+B2 병합 블록(511)의 코스트와 소정 임계값을 비교하여 B1 블록과 B2 블록을 실제로 병합할 것인지를 최종 결정할 수 있다.
두 개의 블록이 하나의 물체 안에 포함된 경우 작은 값을 갖도록 설정된 평가 함수는 다양한 방식으로 설정될 수 있다. 일 예로, 평가 함수는 병합 블록의 움직임 벡터와 병합 블록의 주변 블록들의 움직임 벡터들 사이의 불균일성 정도와 병합 블록에 포함된 블록들 각각의 움직임 벡터들과 블록들 각각의 주변 블록들의 움직임 벡터들 사이의 불균일성 정도의 차이를 나타내는 움직임 벡터의 균일화 정도에 대비한 병합 블록에 의한 움직임 예측 오차의 변화량을 측정하는 함수일 수 있다. 즉, 평가 함수는 (병합 블록에 의한 움직임 예측 오차의 변화량)/(움직임 벡터의 균일화 정도)을 계산하여 각 병합 블록의 코스트를 획득할 수 있다. 이와 같이, 블록 병합부(180)가 (병합 블록에 의한 움직임 예측 오차의 변화량)/(움직임 벡터의 균일화 정도)을 계산하여 블록들이 하나의 물체에 포함되었는지 여부를 판단하는 이유는, 하나의 물체안에 포함될 가능성이 높은 블록들만을 병합하여 균일하지 않은 움직임 벡터를 균일하게 하는 동시에, 서로 다른 영역(예를 들어 배경과 물체의)에 포함된 블록들은 병합되지 않도록 하기 위한 것이다.
움직임 벡터의 균일화 정도는 병합 블록의 움직임 벡터, 병합 블록에 포함된 블록들의 움직임 벡터, 병합 블록의 주변 블록들의 움직임 벡터 및 병합 블록에 포함된 블록들의 주변 블록들의 움직임 벡터를 이용하여 결정될 수 있다. 또한, 병합 블록에 의한 움직임 예측 오차의 변화량은 병합 블록의 움직임 벡터에 의한 움직임 예측 오차와 병합 블록에 포함된 블록들 각각의 움직임 벡터에 의한 움직임 예측 오차 사이의 차이를 이용하여 결정될 수 있다. 여기서 움직임 예측 오차로써 SAD가 이용될 수 있다.
도 6은 본 발명의 일 실시예에 따라서 영상 블록의 병합 과정을 나타낸 플로우 차트이다.
도 6을 참조하면, 단계 610에서 블록 병합부(180)는 모든 인접한 두 개의 블록(또는 픽셀의 집합)인 R과 S에 대해서 두 개의 블록 R 및 S가 같은 물체에 있을 때 작은 값을 갖는, 소정의 평가 함수에 기초한 코스트값인 C(R,S)를 획득한다. 블록 병합이 수행되는 영상 영역을 Ω라고 할 때, 블록 병합부(180)는 영상(Ω)에 포함된 임의의 블록 R과, ψ(R)로 정의되는 블록 R의 인접 블록들 S를 이용하여 C(R,S)를 획득한다. 즉, 블록 병합부(180)는 영상(Ω)에 포함된 모든 조합 가능한 인접 블록들 R 및 S를 병합한 병합 블록들의 C(R,S)를 획득하고, 병합 블록들 중 최소 코스트 C(R,S)를 갖는 블록 R' 및 S'를 선택한다.
단계 620에서, 블록 병합부(180)는 최소 코스트를 갖는 것으로 판단된 병합 블록의 코스트를 소정 임계값(Th)과 비교한다. 비교 결과, 최소 코스트를 갖는 병합 블록의 코스트가 소정 임계값(Th) 미만인 경우, 단계 630에서 블록 병합부(180)는 최소 코스트를 갖는 병합 블록 내의 블록들을 병합한다. 그리고, 블록 병합부(180)는 병합된 블록을 하나의 새로운 블록으로 가정하고, 다시 영상 내의 인접한 블록들을 병합한 병합 블록들에 대하여 최소 코스트를 갖는 병합 블록을 결정하고, 결정된 병합 블록의 코스트가 소정 임계값(Th)을 비교하여 블록을 병합하는 과정을 반복한다. 이러한 블록 병합 과정은 최소 코스트를 갖는 것으로 판단된 병합 블록의 코스트가 소정 임계값(Th) 보다 작은 동안 반복된다. 블록 병합부(180)는 최소 코스트를 갖는 병합 블록의 코스트가 소정 임계값(Th)이상인 경우 더 이상 병합 블록 내에 포함된 블록들을 병합하지 않고 병합 과정을 종료한다.
도 7은 본 발명의 일 실시예에 따라서 영상 블록의 병합이 반복되는 과정을 설명하기 위한 참조도이다.
도 5 및 도 7을 참조하면, 도 5의 병합 블록들(511 내지 522) 중 B1+B2 병합 블록(511)이 최소 코스트를 갖는 병합 블록이며, B1+B2 병합 블록(511)의 코스트가 소정 임계값(Th)보다 작아서, 블록 병합부(180)가 최종적으로 블록 B1 및 B2를 병합하여 병합 블록 BT를 획득하였다고 가정한다. 블록 병합부(180)는 도 5에 도시된 병합 블록들(511 내지 522)의 코스트에 추가하여 병합된 블록 BT를 새로운 하나의 블록으로 가정하여 블록 BT와 인접한 블록들을 병합한 병합 블록들(710, 720, 730)의 코스트를 계산한다. 그리고, 블록 병합부(180)는 병합 블록들 BT+B3(710), BT+B4(720), BT+B5(730), B4+B5(513), B5+B6(514), B7+B8(515), B8+B9(516), B3+B6(519), B4+B7(520), B5+B8(521), B6+B9(522)의 코스트들 중 최소 코스트를 갖는 병합 블록을 판단하고, 최소 코스트를 갖는 병합 블록의 코스트가 소정 임계값(Th)보다 작은지를 다시 판단하여 최소 코스트를 갖는 병합 블록 내의 블록들의 병합 여부를 판단한다. 만약, BT+B3(710)이 최소 코스트를 갖는다고 가정하면, BT+B3(710)의 코스트가 소정 임계값(Th)보다 작은 경우 블록 BT 및 B3는 병합되며, BT+B3(710)의 코스트가 소정 임계값(Th) 이상인 경우 블록 BT 및 B3는 병합되지 않고 도 7과 같은 분할 상태가 최종 분할 형태로 결정되고 병합 과정은 종료된다. 즉, 전술한 바와 같이 병합 과정은 현재 처리되는 영상 내의 인접한 블록들을 병합한 병합 블록들의 코스트들 중 최소 코스트가 소정 임계값(Th)보다 작은 동안에만 반복된다.
한편, 서로 인접한 두 개의 블록 R 및 S를 병합한 병합 블록을 T, 병합 블록의 움직임 벡터를 VT, 블록들 R 및 S 각각의 움직임 벡터를 VR 및 VS, 병합 블록 T의 움직임 벡터 VT에 의한 움직임 예측 오차를 SAD(T, VT), 블록 R의 움직임 벡터 VR에 의한 움직임 예측 오차를 SAD(R, VR), 블록 S의 움직임 벡터 VS에 의한 움직임 예측 오차를 SAD(S, Vs)라고 할 때, 코스트 C(R, S)는 다음의 수학식 2에 따라서 획득될 수 있다.
수학식 2
Figure PCTKR2013000192-appb-M000002
수학식 2에서 함수 φ(X)는 다음의 수학식 3에 의하여 정의되는 함수이다.
수학식 3
Figure PCTKR2013000192-appb-M000003
수학식 3에서 Π는 블록 X와 인접한 주변 블록들의 집합, Q는 Π에 포함된 하나의 주변 블록을 나타낸다. 즉, φ(X)는 블록 X의 움직임 벡터 VX와 주변 블록들 Q의 움직임 벡터 VQ 사이의 차이값의 합으로, 블록 X의 움직임 벡터와 블록 X의 주변 블록의 움직임 벡터의 불균일한 정도를 나타낸다.
수학식 2에서, 분모 부분은 병합 블록의 움직임 벡터와 병합 블록의 주변 블록들의 움직임 벡터들 사이의 불균일성 정도와 병합 블록에 포함된 블록들 각각의 움직임 벡터들과 블록들 각각의 주변 블록들의 움직임 벡터들 사이의 불균일성 정도의 차이로서, 병합에 의한 움직임 벡터의 균일화 정도를 나타낸다. 즉, 분모 부분은 병합에 의하여 두 개의 움직임 벡터가 병합 블록의 하나의 움직임 벡터로 대체됨으로써 움직임 벡터가 균일화되는 정도를 정량화한 값이다. 병합 과정에 의하여 원래 두 개의 움직임 벡터가 병합 블록의 하나의 움직임 벡터로 대체되는데, 병합에 의하여 움직임 벡터의 균일성이 크게 증가하지 않는 경우에는 수학식 2의 분모는 상대적으로 작은 값을 갖게 되어 C(R,S)의 값은 증가된다. 따라서, 병합에 의하여 움직임 벡터의 균일성이 크게 증가하지 않는 경우 병합을 수행하지 않기 위하여 수학식 2의 분모 부분과 같이 병합에 의한 움직임 벡터의 균일화 정도를 정량화하여 측정한다.
또한 수학식 2에서, 분자 부분은 병합에 의한 움직임 예측 오차의 변화량을 나타낸다. 서로 다른 물체에 포함된 블록들이 병합되어 하나의 움직임 벡터를 갖게 되는 경우 병합 블록의 SAD가 크게 증가하므로, 수학식 2의 분자 부분과 같이 병합에 의하여 새롭게 생성된 병합 블록에 의한 움직임 예측 오차와 병합 이전의 두 개의 블록 각각에 의한 움직임 예측 오차의 합의 차이를 계산함으로써 병합되는 블록들이 하나의 물체에 존재하는지 여부를 판단한다.
또한, 수학식 2를 참조하면, C(R,S)가 작다는 것은 블록 R 및 S가 병합될 경우 움직임 예측 오차의 큰 증가없이 움직임 벡터 필드가 보다 균일하게 된다는 것을 의미하므로, C(R,S)가 작은 경우에는 병합이 이루어지도록 해야한다. 반대로, C(R,S)가 크다는 것은 움직임 벡터 필드가 크게 균일해지지 않지만 움직임 예측 오차는 크게 증가된다는 것을 뜻하므로 이러한 경우에는 인접한 블록들 사이의 병합을 수행하지 않는 것이 바람직하다. 따라서, 블록 병합부(180)는 수학식 2와 같은 소정 평가 함수에 기초하여 (병합 블록에 의한 움직임 예측 오차의 변화량)/(움직임 벡터의 균일화 정도)를 나타내는 코스트 C(R,S)를 측정하여 두 개의 인접한 블록 R 및 S가 하나의 물체 내에 존재할 가능성 및 블록 R과 S의 병합에 의한 움직임 벡터의 균일화 정도의 효율성을 측정하여 인접 블록의 병합 여부를 판단한다.
한편 수학식 2에서, SAD(X, V)는 움직임 벡터 V를 갖는 블록 X의 움직임 예측 오차로써, 다음의 수학식 4와 같이 획득될 수 있다.
수학식 4
Figure PCTKR2013000192-appb-M000004
수학식 4에서, 블록 X의 크기는 N*M(N,M은 정수)이며 블록 X의 첫 번째 픽셀 위치는(x0,y0), 움직임 벡터 V는 (Vx, Vy)의 성분을 가지며, ft-1은 참조 프레임, ft+1은 현재 프레임을 나타낸다.
도 8은 본 발명의 일 실시예에 따라서 블록 병합 과정 및 움직임 벡터의 정규화 과정을 나타낸 도면이다. 도 8은 제 1 영상(810)으로부터 제 6 영상(860)의 순서로 병합 과정이 수행되는 경우를 나타낸 것으로, 제 1 영상 내지 제 6 영상들(810,820,830,840,850,860)은 하나의 영상에 포함된 블록의 병합 과정을 순차적으로 나타낸 것이며 서로 다른 영상은 아니다.
도 8을 참조하면, 블록 병합부(180)는 제 1 영상(810) 내의 모든 인접한 블록들을 병합한 병합 블록들에 대해서 전술한 수학식 2와 같이 C(R,S)를 계산하고 최소 코스트를 갖는 병합 블록의 코스트와 소정 임계값(Th)를 비교하여 병합 여부를 판단한다. 최초 인접 블록들(811 및 812)을 포함하는 병합 블록이 최소 코스트를 갖으며 소정 임계값(Th)보다 작다고 가정한다. 이러한 경우 제 2 영상(820)에 도시된 바와 같이 최초 인접 블록들(811 및 812)은 하나의 병합 블록(821)으로 최종적으로 병합된다. 전술한 도 5 내지 도 7에서 설명된 바와 같이 이러한 병합 과정은 병합 블록들의 최소 코스트가 소정 임계값(Th)보다 작은 동안에 반복된다. 제 3 영상(830)을 참조하면, 배경에 해당하는 부분은 이러한 병합 과정을 통해 하나의 움직임 벡터를 갖는 하나의 블록으로 병합된다. 또한, 음영으로 표시된 객체 부분에 포함된 인접 블록들 역시 병합 과정을 통해 하나의 병합 블록으로 병합될 수 있다. 제 3 영상(830)에서 블록들(831, 832)를 포함하는 병합 블록이 최소 코스트를 갖으며 소정 임계값(Th)보다 작다고 가정한다. 이러한 경우 제 4 영상(840)에 도시된 바와 같이 블록들(831, 832)는 하나의 병합 블록(841)로 최종적으로 병합된다. 유사하게, 제 4 영상(840)에서 블록들(842, 843)를 포함하는 병합 블록이 최소 코스트를 갖으며 소정 임계값(Th)보다 작다고 가정하면, 제 5 영상(850)에 도시된 바와 같이 블록들(842, 843)는 하나의 병합 블록(851)로 최종적으로 병합된다. 제 5 영상(850)의 하나의 물체에 포함된 블록들(851,852,853)에 대해서 유사한 병합 과정이 수행되어, 제 6 영상(860)의 병합 블록(861)과 같이 물체의 형태와 유사한 하나의 병합 블록이 획득될 수 있다. 이와 같이, 본 발명의 일 실시예에 따른 블록의 병합 과정 및 움직임 벡터의 정규화 과정을 통해서 같은 물체 내에서 서로 다른 잘못된 움직임 벡터를 갖는 블록들은 하나의 병합 블록 내로 병합되어 하나의 움직임 벡터를 갖게 됨으로써 실제 움직임에 가까운 움직임 벡터를 획득할 수 있다.
도 9은 본 발명의 일 실시예에 따른 영상 부호화 방법을 나타낸 플로우 차트이다.
도 1 및 도 9를 참조하면, 단계 910에서 움직임 예측 및 보상부(170)는 영상을 구성하는 블록들의 움직임 벡터들을 획득한다. 블록은 매크로 블록, 매크로 블록을 분할한 파티션, 또는 HEVC에서 이용되는 부호화 단위 중 하나를 나타낼 수 있다.
단계 920 및 단계 930에서 움직임 예측 및 보상부(170)는 영상을 구성하는 블록들 중 인접한 두 개의 블록들을 병합한 병합 블록에 대한 움직임 예측을 수행하여 병합 블록의 움직임 벡터도 획득한다. 전술한 바와 같이 병합 블록들은 영상에 포함된 모든 조합 가능한 인접한 두 개의 블록들을 병합하여 획득될 수 있다.
단계 940에서, 블록 병합부(180)는 병합 블록의 움직임 벡터, 병합 블록에 포함된 블록들의 움직임 벡터, 병합 블록의 주변 블록들의 움직임 벡터 및 병합 블록에 포함된 블록들의 주변 블록들의 움직임 벡터에 기초하여, 병합 블록에 대하여 병합에 의한 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량을 획득한다.
전술한 바와 같이, 블록 병합부(180)는 수학식 2와 같은 소정 평가 함수와 같이 (병합 블록에 의한 움직임 예측 오차의 변화량)/(움직임 벡터의 균일화 정도)를 나타내는 코스트를 측정하여 두 개의 인접한 블록들이 하나의 물체 내에 존재할 가능성 및 인접 블록들의 병합에 의한 움직임 벡터의 균일화 정도의 효율성을 측정하여 인접 블록의 병합 여부를 판단한다.
단계 950에서, 블록 병합부(180)는 획득된 변화량, 즉 수학식 2와 같은 코스트에 기초하여, 병합 블록들 중 변화량이 가장 작은 병합 블록을 결정하고 결정된 병합 블록에 포함된 블록들의 병합 여부를 결정한다. 전술한 바와 같이, 블록 병합부(180)는 획득된 변화량과 소정 임계값을 비교하여, 획득된 변화량이 소정 임계값보다 작은 경우 결정된 병합 블록에 포함된 블록들을 병합하고, 획득된 변화량이 소정 임계값 이상인 경우 병합 블록에 포함된 블록들을 병합하지 않고 원 블록을 유지하도록 한다.
도 10은 본 발명의 일 실시예에 따른 영상 복호화 장치를 나타낸 블록도이다.
도 10을 참조하면, 영상 복호화 장치(1000)는 엔트로피 복호화부(1010), 역양자화 및 역변화부(1020), 복원부(1030), 움직임 보상부(1040) 및 저장부(1050)를 포함한다.
엔트로피 복호화부(1010)는 수신된 비트스트림을 엔트로피 복호화하고, 비트스트림으로부터 복호화되는 현재 블록의 예측 모드 정보 및 영상 데이터를 추출한다. 특히, 본 발명의 일 실시예에 따른 엔트로피 복호화부(1010) 수신된 비트스트림으로부터 영상을 구성하는 블록들 중 적어도 두 개의 서로 인접한 블록들을 병합한 병합 블록 및 병합 블록의 움직임 벡터에 대한 정보를 획득하여 출력한다.
역양자화 및 역변환부(1020)는 엔트로피 복호화된 레지듀얼 데이터를 역양자화 및 역변환하여 출력한다. 움직임 보상부(1040)는 획득된 병합 블록의 움직임 벡터를 이용하여 병합 블록에 대한 움직임 보상을 수행하여 병합 블록의 예측값을 획득한다. 병합 블록 이외의 블록들은 일반적인 블록 예측 방식에 따라 예측될 수 있다.
복원부(1030)는 병합 블록의 레지듀얼 데이터와 예측값을 가산하여 영상을 복원한다. 저장부(1050)는 다음 영상의 복호화를 위한 참조 프레임으로써 이전에 복호화된 영상을 저장한다.
도 11은 본 발명의 일 실시예에 따른 영상 복호화 방법을 나타낸 플로우 차트이다.
도 10 및 도 11을 참조하면, 단계 1110에서 엔트로피 복호화부(1010)는 수신된 비트스트림으로부터 영상을 구성하는 블록들 중 적어도 두 개의 서로 인접한 블록들을 병합한 병합 블록 및 병합 블록의 움직임 벡터에 대한 정보를 획득한다. 전술한 바와 같이, 병합 블록은 부호화 과정에서 적어도 두 개의 서로 인접한 블록들의 병합에 의한 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량을 소정 임계값과의 비교한 결과에 따라서 인접한 블록들을 병합한 블록이다.
단계 1120에서, 움직임 보상부(1030)는 병합 블록의 움직임 벡터를 이용하여 병합 블록에 대한 움직임 보상을 수행하여 병합 블록의 예측값을 획득한다. 병합 블록의 예측값이 생성되면 역양자화 및 역변환 과정을 통해 획득된 병합 블록의 레지듀얼 데이터와 예측값을 가산하여 병합 블록이 복원된다.
도 12는 본 발명의 다른 실시예에 따른 영상 부호화 방법을 나타낸 플로우 차트이다.
전술한 바와 같이, 종래 BMA에 기초한 움직임 예측 방식은 영상에 포함된 객체를 고려하지 않고 소정 크기의 블록 단위로 움직임 예측을 수행하기 때문에, 움직임 예측의 정확도와 정밀도가 감소된다. 따라서, 본 발명의 다른 실시예에 따른 영상 부호화 방법은 움직임 예측 이전에 현재 프레임에 포함된 픽셀들을 그 픽셀값을 기준으로 객체들로 분할하고 분할된 객체 단위를 기준으로 움직임 예측 및 보상을 수행한다. 즉, 본 발명의 다른 실시예에 따른 영상 부호화 방법은 유사한 픽셀값을 갖는 인접 픽셀들을 하나의 객체로 그룹화하고 유사한 픽셀값을 갖는 객체 단위로 움직임 예측을 수행한다.
구체적으로 도 12를 참조하면, 단계 1210에서 움직임 예측 이전에 현재 프레임의 포함된 픽셀들의 픽셀값에 기초하여 유사한 픽셀값을 갖는 인접 픽셀들은 하나의 픽셀 집합으로 그룹화된다. 즉, 영상은 유사한 픽셀값을 갖는 인접 픽셀들을 그룹화한 객체들로 분할된다. 본 발명의 다른 실시예에 있어서, 객체는 유사한 픽셀값을 갖는 픽셀들을 집합을 의미한다. 하나의 물체 내에 포함된 픽셀들은 서로 다른 픽셀값을 가질 수 있으므로 하나의 물체 역시 복수 개의 객체로 분할될 수 있다. 예를 들어, 수박과 같이 녹색과 검정색의 패턴을 갖는 물체의 경우를 가정한다. 이러한 경우 본 발명의 다른 실시예에 따른 영상 부호화 방법은 검정색과 유사한 픽셀값을 갖는 인접 픽셀들을 그룹화하여 하나의 객체를 형성하고, 녹색과 유사한 픽셀값을 갖는 인접 픽셀들을 그룹화하여 하나의 객체를 형성한다. 즉, 본 발명의 다른 실시예에 따르면 하나의 물체라도 픽셀값을 기준으로 복수 개의 객체들로 분류될 수 있다.
단계 1220에서, 픽셀값을 기준으로 영상이 객체들로 분할되면 객체 단위로 움직임 예측 및 보상이 수행된다. 본 발명의 다른 실시예에 따르면 유사한 픽셀값을 갖는 인접 픽셀들을 그룹화한 객체 단위로 움직임 벡터가 획득되므로 움직임 벡터의 정확도가 증가될 수 있다.
도 13은 본 발명의 다른 실시예에 따른 영상 복호화 방법을 나타낸 플로우 차트이다.
도 13을 참조하면, 단계 1310에서 비트스트림으로부터 유사한 픽셀값을 갖는 인접 픽셀들을 그룹화한 객체 단위에 대한 분할 정보 및 이러한 객체 단위의 움직임 벡터 정보가 획득된다. 단계 1320에서, 획득된 움직임 벡터를 이용하여 객체 단위로 움직임 보상을 수행하여 유사한 픽셀값을 갖는 인접 픽셀들을 그룹화한 객체의 예측값을 생성한다. 본 발명의 다른 실시예에 따른 영상 부호화, 복호화 방법은 블록 대신에 유사한 픽셀값을 갖는 인접 픽셀들을 그룹화한 객체를 이용한다는 차이점 이외에 종래 블록 기반 영상 부호화, 복호화 방식과 유사하게 수행될 수 있으므로 구체적인 설명은 생략한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장 장치 등이 포함된다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (14)

  1. 영상 부호화 방법에 있어서,
    영상을 구성하는 블록들의 움직임 벡터들을 획득하는 단계;
    서로 인접한 두 개의 블록들을 병합하여 병합 블록들을 획득하는 단계;
    각 병합 블록의 움직임 벡터를 획득하는 단계;
    상기 병합 블록의 움직임 벡터, 상기 병합 블록에 포함된 상기 블록들의 움직임 벡터, 상기 병합 블록의 주변 블록들의 움직임 벡터 및 상기 병합 블록에 포함된 블록들의 주변 블록들의 움직임 벡터에 기초하여, 상기 병합 블록에 대하여 병합에 의한 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량을 획득하는 단계; 및
    상기 획득된 변화량에 기초하여, 상기 병합 블록들 중 상기 변화량이 가장 작은 병합 블록을 결정하고 상기 결정된 병합 블록에 포함된 블록들의 병합 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  2. 제 1항에 있어서,
    상기 변화량을 획득하는 단계는
    상기 병합 블록에 포함된 상기 블록들의 움직임 벡터, 상기 병합 블록의 주변 블록들의 움직임 벡터 및 상기 병합 블록에 포함된 블록들의 주변 블록들의 움직임 벡터를 이용하여, 상기 병합 블록의 움직임 벡터와 상기 병합 블록의 주변 블록들의 움직임 벡터들 사이의 불균일성 정도와 상기 병합 블록에 포함된 상기 블록들 각각의 움직임 벡터들과 상기 블록들 각각의 주변 블록들의 움직임 벡터들 사이의 불균일성 정도의 차이를 나타내는 상기 움직임 벡터의 균일화 정도를 획득하는 단계;
    상기 병합 블록의 움직임 벡터에 의한 움직임 예측 오차와 상기 병합 블록에 포함된 상기 블록들 각각의 움직임 벡터에 의한 움직임 예측 오차 사이의 차이를 나타내는 상기 움직임 예측 오차의 변화량을 획득하는 단계; 및
    상기 획득된 움직임 예측 오차의 변화량을 상기 움직임 벡터의 균일화 정도로 나누어, 상기 병합에 의한 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량을 획득하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  3. 제 2항에 있어서,
    상기 병합 블록을 T, 상기 병합 블록에 포함된 두 개의 블록을 각각 R 및 S, 상기 병합 블록의 움직임 벡터를 VT, 상기 블록들 R 및 S 각각의 움직임 벡터를 VR 및 VS, 상기 병합 블록 T의 움직임 벡터 VT에 의한 움직임 예측 오차를 SAD(T, VT), 상기 블록 R의 움직임 벡터 VR에 의한 움직임 예측 오차를 SAD(R, VR), 상기 블록 S의 움직임 벡터 VS에 의한 움직임 예측 오차를 SAD(S, Vs), 함수 φ(X)는 다음의 수학식;
    Figure PCTKR2013000192-appb-I000004
    (Π는 블록 X와 인접한 주변 블록들의 집합, Q는 Π에 포함된 하나의 주변 블록)에 의하여 정의되는 블록 X의 움직임 벡터와 상기 블록 X의 주변 블록의 움직임 벡터의 불균일한 정도를 획득하는 함수, C(R, S)는 상기 블록들 R 및 S의 병합에 의한 병합 블록 T의 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량이라고 할 때,
    상기 C(R, S)는 다음의 수학식;
    Figure PCTKR2013000192-appb-I000005
    에 따라 획득되는 것을 특징으로 하는 영상 부호화 방법.
  4. 제 1항에 있어서,
    상기 병합 여부를 결정하는 단계는
    상기 획득된 변화량과 소정 임계값을 비교하여, 상기 획득된 변화량이 상기 소정 임계값보다 작은 경우 상기 결정된 병합 블록에 포함된 블록들을 병합하고, 상기 획득된 변화량이 상기 소정 임계값 이상인 경우 상기 결정된 병합 블록에 포함된 블록들을 병합하지 않고 원 블록을 유지하는 것을 특징으로 하는 영상 부호화 방법.
  5. 제 1항에 있어서,
    상기 획득된 병합 블록의 변화량이 상기 소정 임계값보다 작은 동안 상기 단계들을 반복하는 것을 특징으로 하는 영상 부호화 방법.
  6. 제 1항에 있어서,
    상기 영상을 부호화한 비트스트림에 상기 블록들의 병합 정보 및 상기 병합 블록의 움직임 벡터 정보를 부호화하는 단계를 더 포함하는 것을 특징으로 하는 영상 부호화 방법.
  7. 영상 부호화 장치에 있어서,
    영상을 구성하는 블록들의 움직임 벡터들 및 서로 인접한 두 개의 블록들을 병합하여 병합 블록들 각각의 움직임 벡터를 획득하는 움직임 예측 및 보상부; 및
    상기 병합 블록의 움직임 벡터, 상기 병합 블록에 포함된 상기 블록들의 움직임 벡터, 상기 병합 블록의 주변 블록들의 움직임 벡터 및 상기 병합 블록에 포함된 블록들의 주변 블록들의 움직임 벡터에 기초하여, 상기 병합 블록에 대하여 병합에 의한 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량을 획득하고, 상기 획득된 변화량에 기초하여, 상기 병합 블록들 중 상기 변화량이 가장 작은 병합 블록을 결정하고 상기 결정된 병합 블록에 포함된 블록들의 병합 여부를 결정하는 블록 병합부를 포함하는 것을 특징으로 하는 영상 부호화 장치.
  8. 영상의 복호화 방법에 있어서,
    수신된 비트스트림으로부터 상기 영상을 구성하는 블록들 중 적어도 두 개의 서로 인접한 블록들을 병합한 병합 블록 및 상기 병합 블록의 움직임 벡터에 대한 정보를 획득하는 단계; 및
    상기 움직임 벡터를 이용하여 상기 병합 블록에 대한 움직임 보상을 수행하여 상기 병합 블록의 예측값을 획득하는 단계를 포함하며,
    상기 병합 블록은
    상기 적어도 두 개의 서로 인접한 블록들의 병합에 의한 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량과 소정 임계값과의 비교 결과에 따라서 상기 인접한 블록들을 병합하여 결정된 것을 특징으로 하는 영상 복호화 방법.
  9. 제 8항에 있어서,
    상기 변화량은
    상기 병합 블록의 움직임 벡터에 의한 움직임 예측 오차와 상기 병합 블록에 포함된 상기 블록들 각각의 움직임 벡터에 의한 움직임 예측 오차 사이의 차이를 나타내는 상기 움직임 예측 오차의 변화량을, 상기 병합 블록의 움직임 벡터와 상기 병합 블록의 주변 블록들의 움직임 벡터들 사이의 불균일성 정도와 상기 병합 블록에 포함된 상기 블록들 각각의 움직임 벡터들과 상기 블록들 각각의 주변 블록들의 움직임 벡터들 사이의 불균일성 정도의 차이를 나타내는 상기 움직임 벡터의 균일화 정도로 나누어 획득되는 것을 특징으로 하는 영상 복호화 방법.
  10. 제 9항에 있어서,
    상기 병합 블록을 T, 상기 병합 블록에 포함된 두 개의 블록을 각각 R 및 S, 상기 병합 블록의 움직임 벡터를 VT, 상기 블록들 R 및 S 각각의 움직임 벡터를 VR 및 VS, 상기 병합 블록 T의 움직임 벡터 VT에 의한 움직임 예측 오차를 SAD(T, VT), 상기 블록 R의 움직임 벡터 VR에 의한 움직임 예측 오차를 SAD(R, VR), 상기 블록 S의 움직임 벡터 VS에 의한 움직임 예측 오차를 SAD(S, Vs), 함수 φ(X)는 다음의 수학식;
    Figure PCTKR2013000192-appb-I000006
    (Π는 블록 X와 인접한 주변 블록들의 집합, Q는 Π에 포함된 하나의 주변 블록)에 의하여 정의되는 블록 X의 움직임 벡터와 상기 블록 X의 주변 블록의 움직임 벡터의 불균일한 정도를 획득하는 함수, C(R, S)는 상기 블록들 R 및 S의 병합에 의한 병합 블록 T의 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량이라고 할 때,
    상기 C(R, S)는 다음의 수학식;
    Figure PCTKR2013000192-appb-I000007
    에 따라 획득되는 것을 특징으로 하는 영상 복호화 방법.
  11. 제 8항에 있어서,
    상기 병합 블록은
    상기 획득된 변화량과 상기 소정 임계값을 비교하여, 상기 획득된 변화량이 상기 소정 임계값보다 작은 경우 상기 병합 블록에 포함된 블록들을 병합하여 획득되는 것을 특징으로 하는 영상 복호화 방법.
  12. 영상의 복호화 장치에 있어서,
    수신된 비트스트림으로부터 상기 영상을 구성하는 블록들 중 적어도 두 개의 서로 인접한 블록들을 병합한 병합 블록 및 상기 병합 블록의 움직임 벡터에 대한 정보를 획득하는 엔트로피 복호화부; 및
    상기 움직임 벡터를 이용하여 상기 병합 블록에 대한 움직임 보상을 수행하여 상기 병합 블록의 예측값을 획득하는 움직임 보상부를 포함하며,
    상기 병합 블록은
    상기 적어도 두 개의 서로 인접한 블록들의 병합에 의한 움직임 벡터의 균일화 정도에 대비한 움직임 예측 오차의 변화량과 소정 임계값과의 비교 결과에 따라서 상기 인접한 블록들을 병합하여 결정된 것을 특징으로 하는 영상 복호화 장치.
  13. 제 1항 내지 제 6항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  14. 제 8항 내지 제 11항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
PCT/KR2013/000192 2012-01-09 2013-01-09 움직임 벡터 정규화에 기초한 영상의 부호화 방법 및 장치, 영상의 복호화 방법 및 장치 WO2013105791A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/327,074 US9571832B2 (en) 2012-01-09 2014-07-09 Image encoding method and apparatus and image decoding method and apparatus based on motion vector normalization

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261584386P 2012-01-09 2012-01-09
US61/584,386 2012-01-09

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/327,074 Continuation US9571832B2 (en) 2012-01-09 2014-07-09 Image encoding method and apparatus and image decoding method and apparatus based on motion vector normalization

Publications (1)

Publication Number Publication Date
WO2013105791A1 true WO2013105791A1 (ko) 2013-07-18

Family

ID=48781688

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/000192 WO2013105791A1 (ko) 2012-01-09 2013-01-09 움직임 벡터 정규화에 기초한 영상의 부호화 방법 및 장치, 영상의 복호화 방법 및 장치

Country Status (3)

Country Link
US (1) US9571832B2 (ko)
KR (1) KR101449435B1 (ko)
WO (1) WO2013105791A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9300977B2 (en) * 2013-10-02 2016-03-29 Amlogic Co., Ltd. Methods for encoding motion vectors
JP6569677B2 (ja) * 2014-08-28 2019-09-04 日本電気株式会社 ブロックサイズ決定方法及びプログラム
KR101660031B1 (ko) * 2015-06-24 2016-09-26 주식회사 에스원 고속 영상 부호화 방법 및 그 장치
WO2017069588A1 (ko) * 2015-10-22 2017-04-27 엘지전자(주) 영상의 부호화/복호화 방법 및 이를 위한 장치
US10630992B2 (en) 2016-01-08 2020-04-21 Samsung Electronics Co., Ltd. Method, application processor, and mobile terminal for processing reference image
WO2018008678A1 (ja) * 2016-07-08 2018-01-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 復号装置、符号化装置、復号方法及び符号化方法
CN117528109A (zh) 2016-11-28 2024-02-06 英迪股份有限公司 图像编码方法、图像解码方法及用于传送比特流的方法
US10497173B2 (en) * 2018-05-07 2019-12-03 Intel Corporation Apparatus and method for hierarchical adaptive tessellation
EP3648059B1 (en) * 2018-10-29 2021-02-24 Axis AB Video processing device and method for determining motion metadata for an encoded video
US10997731B2 (en) * 2019-06-14 2021-05-04 Rockwell Collins, Inc. Motion vector vision system integrity monitor
US11140416B1 (en) * 2020-03-26 2021-10-05 Tencent America LLC Method and apparatus for temporal smoothing for video

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060193388A1 (en) * 2003-06-10 2006-08-31 Renssalear Polytechnic Institute (Rpi) Method and apparatus for scalable motion vector coding
KR100678949B1 (ko) * 2004-07-15 2007-02-06 삼성전자주식회사 비디오 코딩 및 디코딩 방법, 비디오 인코더 및 디코더
KR20070117432A (ko) * 2006-06-08 2007-12-12 경희대학교 산학협력단 다시점 비디오 코딩에서의 움직임 벡터 예측 방법 및 이를이용한 다시점 영상의 부호화/복호화 방법 및 장치
KR20070119525A (ko) * 2006-06-14 2007-12-20 소니 가부시끼가이샤 화상 처리 장치, 화상 처리 방법, 촬상 장치 및 촬상 방법
KR100991344B1 (ko) * 2003-11-29 2010-11-01 엘지전자 주식회사 영상을 디코딩하는 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100803611B1 (ko) 2006-11-28 2008-02-15 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8488007B2 (en) 2010-01-19 2013-07-16 Sony Corporation Method to estimate segmented motion

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060193388A1 (en) * 2003-06-10 2006-08-31 Renssalear Polytechnic Institute (Rpi) Method and apparatus for scalable motion vector coding
KR100991344B1 (ko) * 2003-11-29 2010-11-01 엘지전자 주식회사 영상을 디코딩하는 방법
KR100678949B1 (ko) * 2004-07-15 2007-02-06 삼성전자주식회사 비디오 코딩 및 디코딩 방법, 비디오 인코더 및 디코더
KR20070117432A (ko) * 2006-06-08 2007-12-12 경희대학교 산학협력단 다시점 비디오 코딩에서의 움직임 벡터 예측 방법 및 이를이용한 다시점 영상의 부호화/복호화 방법 및 장치
KR20070119525A (ko) * 2006-06-14 2007-12-20 소니 가부시끼가이샤 화상 처리 장치, 화상 처리 방법, 촬상 장치 및 촬상 방법

Also Published As

Publication number Publication date
KR101449435B1 (ko) 2014-10-17
US20140321548A1 (en) 2014-10-30
KR20130081676A (ko) 2013-07-17
US9571832B2 (en) 2017-02-14

Similar Documents

Publication Publication Date Title
WO2013105791A1 (ko) 움직임 벡터 정규화에 기초한 영상의 부호화 방법 및 장치, 영상의 복호화 방법 및 장치
CN110521205B (zh) 视频编解码方法、装置与相关计算机可读介质
TWI729422B (zh) 色彩分量間的子區塊移動向量繼承
CN110572645B (zh) 非对称加权双向预测Merge
KR102081213B1 (ko) 화상 예측 방법 및 관련 장치
EP3197165B1 (en) Image prediction method and relevant device
US8705611B2 (en) Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
CN110809887A (zh) 用于多参考预测的运动矢量修正
WO2013062191A1 (ko) 인트라 예측 모드에서의 영상 부호화 방법 및 장치
EP2773123B1 (en) Padding of frame boundaries for video coding
BR102012013152A2 (pt) aparelho de decodificaÇço de vÍdeo, aparelho de codificaÇço de vÍdeo, mÉtodo de decodificaÇço de vÍdeo, mÉtodo de codificaÇço de vÍdeo e meio de armazenamento
US20210227207A1 (en) Generation and usage of combined affine merge candidate
JP2006245932A (ja) 動画像処理装置、動画像処理方法、及び動画像処理プログラム
WO2012115435A2 (en) Method and apparatus for encoding and decoding multi view video
TW202015405A (zh) 用於視訊編解碼的幀間預測方法以及裝置
WO2023131047A1 (en) Method, apparatus, and medium for video processing
WO2023051646A1 (en) Method, apparatus, and medium for video processing
WO2023246634A1 (en) Method, apparatus, and medium for video processing
WO2023056895A1 (en) Method, apparatus, and medium for video processing
WO2022257954A9 (en) Method, device, and medium for video processing
WO2024017378A1 (en) Method, apparatus, and medium for video processing
WO2022257953A1 (en) Method, device, and medium for video processing
WO2024083197A1 (en) Method, apparatus, and medium for video processing
WO2024078550A1 (en) Method, apparatus, and medium for video processing
WO2024032671A1 (en) Method, apparatus, and medium for video processing

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

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

Country of ref document: EP

Kind code of ref document: A1