IP Library Granted Patent US 8,711,939
Granted Patent B2
US 8,711,939 · App. 13/080,121 · Granted Apr 29, 2014

Method and apparatus for encoding and decoding video based on first sub-pixel unit and second sub-pixel unit

Inventors: Elena Alshina (Suwon-si, KR); Alexander Alshin (Suwon-si, KR); Min-su Cheon (Suwon-si, KR); Woo-jin Han (Suwon-si, KR); Tammy Lee (Seoul, KR)
Assignee: Samsung Electronics Co., Ltd.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,711,939
App. No.
13/080,121
Granted
Apr 29, 2014
Kind
B2
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 (91)

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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2011
From: ALSHINA, ELENA; ALSHIN, ALEXANDER; CHEON, MIN-SU; HAN, WOO-JIN; LEE, TAMMY
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 026076/0992 →
Priority Claims (1)
KR 10-2011-0005003 · Jan 18, 2011 · national
Continuity (2)
Provisional Application 61320837 · Apr 5, 2010
Related Publication 20110243233A1 · Oct 6, 2011