Method and apparatus for encoding and decoding video based on first sub-pixel unit and second sub-pixel unit
Abstract
Methods and apparatuses for encoding and decoding video are provided. The encoding method includes: performing motion estimation on a current block according to a first sub-pixel unit, and obtaining a motion vector in the first sub-pixel unit with respect to the current block; interpolating a reference picture indicated by the motion vector according to a second sub-pixel unit smaller than the first sub-pixel unit; using the interpolated reference picture, selecting a second sub-pixel in the second sub-pixel unit adjacent to a first sub-pixel in the first sub-pixel unit of the reference picture; selecting a corresponding region that has a smaller error with the current block, from among a first corresponding region of the reference picture and obtained with respect to the first sub-pixel, and a second corresponding region of the current block and obtained with respect to the selected second sub-pixel; and encoding information of the selected corresponding region.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method of encoding video, the method comprising:
performing motion estimation on a current block according to a first sub-pixel unit, and obtaining a motion vector in the first sub-pixel unit with respect to the current block;
interpolating a reference picture indicated by the obtained motion vector according to a second sub-pixel unit smaller than the first sub-pixel unit;
selecting a second sub-pixel from among sub-pixels in the second sub-pixel unit adjacent to a first sub-pixel in the first sub-pixel unit of the reference picture indicated by the obtained motion vector, wherein the selecting is performed using the interpolated reference picture;
selecting a corresponding region that has a smaller error with the current block from among a first corresponding region and a second corresponding region, wherein the first corresponding region is of the reference picture indicated by the obtained motion vector and is obtained with respect to the first sub-pixel in the first sub-pixel unit, and the second corresponding region is of the current block and is obtained with respect to the selected second sub-pixel in the second sub-pixel unit; and
encoding information of the selected corresponding region,
wherein:
the current block is comprised in an image;
the image is hierarchically split from a plurality of maximum coding units according to the information about a maximum size of a coding unit into coding units of coded depths according to depths;
wherein a coding unit of a current depth is one of rectangular data units split from a coding unit of a upper depth;
wherein the coding unit of a current depth are split into coding units of a lower depth, independently from neighboring coding units; and
wherein the coding units of a hierarchical structure comprise encoded coding units among the coding units split from the maximum coding unit.
2. The method of claim 1 , wherein the obtaining the motion vector comprises:
selecting, as the first sub-pixel unit, an accuracy from among at least two accuracies;
interpolating the reference picture according to the selected first sub-pixel unit; and
searching, in the interpolated reference picture, a most similar corresponding region to the current block, and obtaining the motion vector indicating a position of the searched corresponding region.
3. The method of claim 2 , wherein the encoding the information comprises encoding accuracy information of the motion vector indicating the accuracy selected as the first sub-pixel unit from among the at least two accuracies.
4. The method of claim 2 , wherein the at least two accuracies comprise a 1/4 sub-pixel unit and a 1/8 sub-pixel unit.
5. The method of claim 1 , wherein, when the first sub-pixel unit is 1/(2^p), where p is an integer equal to or greater than 0, and the second sub-pixel unit is a 1/[(2a+1)*(2^p)] sub-pixel unit, where a is an integer equal to or greater than 0.
6. The method of claim 5 , wherein the second sub-pixel unit is a 1/12 sub-pixel unit.
7. The method of claim 1 , wherein the encoding the information comprises encoding information of the motion vector in the first sub-pixel unit, and information indicating whether the second corresponding region is selected.
8. The method of claim 7 , wherein, when the second corresponding region is selected as the corresponding region, the encoding the information further comprises encoding position information of the selected second sub-pixel in the second sub-pixel unit.
9. The method of claim 8 , wherein the encoding the position information comprises:
estimating the position information of the selected second sub-pixel in the second sub-pixel unit of the current block by using position information of a sub-pixel in the second sub-pixel unit used to estimate and compensate for motion of adjacent blocks to the current block; and
encoding a difference value between the estimated position information of the selected second sub-pixel in the second sub-pixel unit of the current block and the position information of the sub-pixel in the second sub-pixel unit used to estimate and compensate for the motion of adjacent blocks.
10. The method of claim 7 , wherein the encoding the information further comprises:
obtaining an estimation motion vector of the current block by using a motion vector of an adjacent block to the current block; and
encoding a difference value between the obtained estimation motion vector of the current block and a motion vector of the current block.
11. A video encoding apparatus comprising:
a motion estimator which performs motion estimation on a current block according to a first sub-pixel unit, and obtains a motion vector in the first sub-pixel unit with respect to the current block;
a motion compensator which interpolates a reference picture indicated by the obtained motion vector according to a second sub-pixel unit smaller than the first sub-pixel unit, which selects, by using the interpolated reference picture, selecting a second sub-pixel from among sub-pixels in the second sub-pixel unit adjacent to a first sub-pixel in the first sub-pixel unit of the reference picture indicated by the obtained motion vector, and which selects a corresponding region that has a smaller error with the current block from among a first corresponding region and a second corresponding region, wherein the first corresponding region is of the reference picture indicated by the obtained motion vector and is obtained with respect to the first sub-pixel in the first sub-pixel unit, and the second corresponding region is of the current block and is obtained with respect to the selected second sub-pixel in the second sub-pixel unit; and
an encoder which encodes information of the selected corresponding region,
wherein:
the current block is comprised in an image;
the image is hierarchically split from a plurality of maximum coding units according to the information about a maximum size of a coding unit into coding units of coded depths according to depths;
wherein a coding unit of a current depth is one of rectangular data units split from a coding unit of a upper depth;
wherein the coding unit of a current depth are split into coding units of a lower depth, independently from neighboring coding units; and
wherein the coding units of a hierarchical structure comprise encoded coding units among the coding units split from the maximum coding unit.
12. The video encoding apparatus of claim 11 , wherein the motion compensator performs motion estimation by selecting, as the first sub-pixel unit, an accuracy from among at least two accuracies and by interpolating the reference picture according to the selected first sub-pixel unit.
13. The video encoding apparatus of claim 12 , wherein the encoder encodes accuracy information of the motion vector indicating the accuracy selected as the first sub-pixel unit from among the at least two accuracies.
14. The video encoding apparatus of claim 12 , wherein the at least two accuracies comprise a 1/4 sub-pixel unit and a 1/8 sub-pixel unit.
15. The video encoding apparatus of claim 11 , wherein, when the first sub-pixel unit is 1/(2^p), where p is an integer equal to or greater than 0, the second sub-pixel unit is a 1/[(2a+1)*(2^p)] sub-pixel unit, where a is an integer equal to or greater than 0.
16. The video encoding apparatus of claim 15 , wherein the second sub-pixel unit is a 1/12 sub-pixel unit.
17. The video encoding apparatus of claim 11 , wherein the encoder encodes information of the motion vector in the first sub-pixel unit, and information indicating whether the second corresponding region is selected.
18. The video encoding apparatus of claim 17 , wherein, when the second corresponding region is selected as the corresponding region, the encoder encodes position information of the selected second sub-pixel in the second sub-pixel unit.
19. The video encoding apparatus of claim 17 , wherein the encoder:
estimates the position information of the selected second sub-pixel in the second sub-pixel unit of the current block by using position information of a sub-pixel in the second sub-pixel unit used to estimate and compensate for motion of adjacent blocks to the current block; and
encodes a difference value between the estimated position information of the selected second sub-pixel in the second sub-pixel unit of the current block and the position information of the sub-pixel in the second sub-pixel unit used to estimate and compensate for motion of the adjacent blocks.
20. The video encoding apparatus of claim 17 , wherein the encoder obtains an estimation motion vector of the current block by using a motion vector of an adjacent block to the current block, and encodes a difference value between the obtained estimation motion vector of the current block and a motion vector of the current block.
21. A method of decoding video, the method comprising:
decoding and obtaining a motion vector in a first sub-pixel unit with respect to a current block from a bitstream;
obtaining information from the bitstream, wherein the information indicates whether motion compensation is performed on the current block by using a corresponding region obtained with respect to a second sub-pixel in a second sub-pixel unit that is smaller than the first sub-pixel unit adjacent to a first sub-pixel in the first sub-pixel unit of a reference picture indicated by the obtained motion vector in the first sub-pixel unit;
if the motion compensation is performed on the current block by using information of the corresponding region obtained with respect to the second sub-pixel in the second sub-pixel unit, extracting position information of the second sub-pixel in the second sub-pixel unit from the bitstream; and
performing the motion compensation on the current block by using the motion vector in the first sub-pixel unit, and the extracted position information of the second sub-pixel in the second sub-pixel unit,
wherein:
the current block is comprised in an image;
the image is hierarchically split from a plurality of maximum coding units according to the information about a maximum size of a coding unit into coding units of coded depths according to depths;
wherein a coding unit of a current depth is one of rectangular data units split from a coding unit of a upper depth;
wherein the coding unit of a current depth are split into coding units of a lower depth, independently from neighboring coding units; and
wherein the coding units of a hierarchical structure comprise encoded coding units among the coding units split from the maximum coding unit.
22. The method of claim 21 , wherein the obtaining the motion vector comprises:
obtaining an estimation motion vector by using a motion vector of an adjacent block to the current block; and
obtaining the motion vector in the first sub-pixel unit by using the obtained estimation motion vector of the current block, and a difference value between the estimation motion vector comprised in the bitstream and a motion vector of the current block.
23. The method of claim 21 , wherein, when the first sub-pixel unit is 1/(2^p), where p is an integer equal to or greater than 0, the second sub-pixel unit is a 1/[(2 a+1)*(2^p)] sub-pixel unit, where a is an integer equal to or greater than 0.
24. The method of claim 23 , wherein the second sub-pixel unit is a 1/12 sub-pixel unit.
25. The method of claim 21 , wherein the extracting the position information comprises:
estimating the position information of the second sub-pixel in the second sub-pixel unit of the current block by using position information of a sub-pixel in the second sub-pixel unit used to estimate and compensate for motion of adjacent blocks to the current block; and
obtaining the position information of the second sub-pixel in the second sub-pixel unit of the current block by using the estimated position information of the second sub-pixel in the second sub-pixel unit, and a difference value between the estimated position information of the second sub-pixel in the second sub-pixel unit and the extracted position information of the second sub-pixel in the second sub-pixel unit extracted from the bitstream.
26. The method of claim 21 , wherein the performing the motion compensation comprises:
interpolating the reference picture indicated by the motion vector in the first sub-pixel unit according to the second sub-pixel unit;
determining the second sub-pixel in the second sub-pixel unit adjacent to the first sub-pixel in the first sub-pixel unit of the reference picture indicated by the motion vector in the first sub-pixel unit, by using the extracted position information of the second sub-pixel in the second sub-pixel unit; and
obtaining a region corresponding to the current block with respect to the determined second sub-pixel in the second sub-pixel unit.
27. A video decoding apparatus comprising:
an entropy decoder which decodes and obtains a motion vector in a first sub-pixel unit with respect to a current block from a bitstream, which obtains information indicating whether motion compensation is performed on the current block by using a corresponding region obtained with respect to a second sub-pixel in a second sub-pixel unit that is smaller than the first sub-pixel unit adjacent to a first sub-pixel in the first sub-pixel unit of a reference picture indicated by the obtained motion vector in the first sub-pixel unit, and which, if the motion estimation is performed on the current block by using information of the corresponding region obtained with respect to the second sub-pixel in the second sub-pixel unit, extracts position information of the second sub-pixel in the second sub-pixel unit from the bitstream; and
a motion compensator which performs the motion compensation on the current block by using the motion vector in the first sub-pixel unit, and the extracted position information of the second sub-pixel in the second sub-pixel unit,
wherein:
the current block is comprised in an image;
the image is hierarchically split from a plurality of maximum coding units according to the information about a maximum size of a coding unit into coding units of coded depths according to depths;
wherein a coding unit of a current depth is one of rectangular data units split from a coding unit of a upper depth;
wherein the coding unit of a current depth are split into coding units of a lower depth, independently from neighboring coding units; and
wherein the coding units of a hierarchical structure comprise encoded coding units among the coding units split from the maximum coding unit.
28. The video decoding apparatus of claim 27 , wherein the motion compensator obtains an estimation motion vector by using a motion vector of an adjacent block to the current block, and obtains the motion vector in the first sub-pixel unit by using the obtained estimation motion vector of the current block, and a difference value between the estimation motion vector comprised in the bitstream and a motion vector of the current block.
29. The video decoding apparatus of claim 27 , wherein, when the first sub-pixel unit is 1/(2^p), where p is an integer equal to or greater than 0, the second sub-pixel unit is a 1/[(2a+1)*(2^p)] sub-pixel unit, where a is an integer equal to or greater than 0.
30. The video decoding apparatus of claim 29 , wherein the second sub-pixel unit is a 1/12 sub-pixel unit.
31. The video decoding apparatus of claim 27 , wherein the motion compensator:
estimates the position information of the second sub-pixel in the second sub-pixel unit of the current block by using position information of a sub-pixel in the second sub-pixel unit used to estimate and compensate for motion of adjacent blocks to the current block; and
obtains the position information of the second sub-pixel in the second sub-pixel unit of the current block by using the estimated position information of the second sub-pixel in the second sub-pixel unit, and a difference value between the estimated position information of the second sub-pixel in the second sub-pixel unit and the extracted position information of the second sub-pixel in the second sub-pixel unit extracted from the bitstream.
32. The video decoding apparatus of claim 27 , wherein the motion compensator:
interpolates the reference picture indicated by the motion vector in the first sub-pixel unit according to the second sub-pixel unit;
determines the second sub-pixel in the second sub-pixel unit adjacent to the first sub-pixel in the first sub-pixel unit of the reference picture indicated by the motion vector in the first sub-pixel unit, by using the extracted position information of the second sub-pixel in the second sub-pixel unit; and
obtains a region corresponding to the current block with respect to the determined second sub-pixel in the second sub-pixel unit.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.