IP Library Granted Patent US 9,674,546
Granted Patent B2
US 9,674,546 · App. 13/391,517 · Granted Jun 6, 2017

Method and apparatus for interpolating reference picture and method and apparatus for encoding/decoding image using same

Inventors: Jeongyeon Lim (Gyeonggi-do, KR); Sunyeon Kim (Seoul, KR); Gyumin Lee (Gyeonggi-do, KR); Jaehoon Choi (Gyeonggi-do, KR); Joohee Moon (Seoul, KR); Yunglyul Lee (Seoul, KR); Haekwang Kim (Seoul, KR); Byeungwoo Jeon (Gyeonggi-do, KR); Jongki Han (Seoul, KR); Juock Lee (Seoul, KR); Dongwon Kim (Seoul, KR)
Assignee: SK TELECOM CO., LTD.
H04N19/523H04N19/117H04N19/463H04N19/80
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 9,674,546
App. No.
13/391,517
Granted
Jun 6, 2017
Kind
B2
Abstract

The present disclosure relates to a method and apparatus for interpolating a reference picture and a method and apparatus for encoding/decoding a video using the same. The apparatus for interpolating the reference picture selects a plurality of filters for interpolating the reference picture and generates a reference picture having a target precision through a multi-stage filtering of the reference picture by using a plurality of filters. The compression efficiency of the video may be improved by interpolating a reference picture through the determination of a filter of a filter coefficient for interpolating the reference picture according to characteristics of the video and interpolating the reference picture through a multi-stage filtering or adaptively changing resolutions of motion vectors in the unit of predetermined areas.

Claims (94)

1. An apparatus for encoding a video by using an interpolation of a reference picture, comprising:

a resolution determiner configured to determine a motion vector resolution to be applied to a current block to be encoded or an image area in which the current block is located, the motion vector resolution being determined from among a plurality of motion vector resolution candidates;

a resolution encoder configured to encode identification information for identifying the determined motion vector resolution;

a reference picture interpolator configured to

select, from among a plurality of interpolation filter candidates, an interpolation filter assigned to the determined motion vector resolution, and

interpolate pixels of the reference picture by using the selected interpolation filter; and

an inter prediction encoder configured to

predict the current block by using the interpolated pixels of the reference picture to generate a predicted block of the current block,

generate a residual block by subtracting the predicted block from the current block, and

encode the residual block,

wherein the plurality of interpolation filter candidates includes groups of interpolation filter candidates, the groups of interpolation filter candidates are assigned respectively to the plurality of motion vector resolution candidates, the groups of interpolation filter candidates are distinctive from each other, and

wherein the reference picture interpolator is configured to

determine a group of interpolation filter candidates corresponding to the determined motion vector resolution, from among the groups of interpolation filter candidates, wherein each interpolation filter candidate belonging to the group of interpolation filter candidates has predefined filter coefficients for sub-pixel positions corresponding to the determined motion vector resolution,

select, as the interpolation filter, one interpolation filter candidate from interpolation filter candidates belonging to the determined group of interpolation filter candidates,

generate the interpolated pixels of the reference picture by using predefined filter coefficients of the selected interpolation filter, and

encode information identifying which interpolation filter candidate is selected as the interpolation filter among interpolation filter candidates belonging to the determined group of interpolation filter candidates.

2. The apparatus of claim 1 , further comprising:

a resolution conversion flag generator configured to generate a resolution conversion flag for informing changes from a motion vector resolution of a previous block or a motion vector resolution of a surrounding area of the current block or the image area in which the motion vector resolution is to be encoded.

3. The apparatus of claim 1 , further comprising:

a resolution appointment flag generator configured to generate a resolution appointment flag for appointing a motion vector resolution set for each image area.

4. The apparatus of claim 1 , wherein the image area in which the motion vector resolution is determined is one of a picture, a slice and a block having a predetermined size.

5. The apparatus of claim 1 , wherein the interpolation filter comprises:

a first interpolation filter configured to derive a first set of sub-pixels of the reference picture by interpolation of integer pixels of the reference picture, and

a second interpolation filter configured to derive a second set of sub-pixels of the reference picture by interpolation of the first set of sub-pixels.

6. The apparatus of claim 5 , wherein the reference picture interpolator is configured to select the first interpolation filter from the plurality of interpolation filter candidates having a fixed filter coefficient, resulting in a minimum difference between pixels of a current picture and the first set of sub-pixels of the reference picture.

7. The apparatus of claim 5 , wherein the reference picture interpolator is configured to calculate a filter coefficient of the first interpolation filter, resulting in a minimum difference between pixels of a current picture and the first set of sub-pixels of the reference picture.

8. The apparatus of claim 5 , wherein the reference picture interpolator is configured to select the second interpolation filter from the plurality of interpolation filter candidates having a fixed filter coefficient, resulting in a minimum difference between pixels of a current picture and the second set of sub-pixels of the reference picture.

9. An apparatus for decoding a video by using an interpolation of a reference picture, comprising:

a resolution decoder configured to

extract and decode identification information from a bitstream, and

determine, from among a plurality of motion vector resolution candidates, a motion vector resolution identified by the decoded identification information, wherein the motion vector resolution is applied to a current block to be decoded or an image area in which the current block is located;

a reference picture interpolator configured to

select, from among a plurality of interpolation filter candidates, an interpolation filter assigned to the determined motion vector resolution, and

interpolate pixels of the reference picture by using the selected interpolation filter; and

an inter prediction decoder configured to

decode a residual block from the bitstream,

generate a predicted block of the current block by using the interpolated pixels of the reference picture, and

reconstruct the current block by adding the predicted block and the residual block,

wherein the plurality of interpolation filter candidates includes groups of interpolation filter candidates, the groups of interpolation filter candidates are assigned respectively to the plurality of motion vector resolution candidates, the groups of interpolation filter candidates are distinctive from each other, and

wherein the reference picture interpolator is configured to

determine a group of interpolation filter candidates corresponding to the determined motion vector resolution, from among the groups of interpolation filter candidates, wherein each interpolation filter candidate belonging to the group of interpolation filter candidates has predefined filter coefficients for sub-pixel positions corresponding to the determined motion vector resolution,

reconstruct, from the bitstream, information identifying which interpolation filter candidate is selected among interpolation filter candidates belonging to the determined group of interpolation filter candidates,

select, based on the reconstructed information, one interpolation filter candidate from interpolation filter candidates belonging to the determined group of interpolation filter candidates, as the interpolation filter, and

generate the interpolated pixels of the reference picture by using predefined filter coefficients of the selected interpolation filter.

10. The apparatus of claim 9 , further comprising:

a resolution conversion flag extractor configured to extract a resolution conversion flag for informing changes from a motion vector resolution of a previous block or a motion vector resolution of a surrounding area of the current block or the image area in which the motion vector resolution is to be decoded.

11. The apparatus of claim 9 , further comprising:

a resolution appointment flag generator configured to extract a resolution appointment flag for appointing a motion vector resolution set for each image area.

12. The apparatus of claim 9 , wherein the image area in which the motion vector resolution is determined is one of a picture, a slice and a block having a predetermined size.

13. The apparatus of claim 9 , wherein the interpolation filter comprises:

a first interpolation filter configured to derive a first set of sub-pixels of the reference picture by interpolation of integer pixels of the reference picture, and

a second interpolation filter configured to derive a second set of sub-pixels of the reference picture by interpolation of the first set of sub-pixels.

14. A method of encoding a video by using an interpolation of a reference picture, comprising:

determining a motion vector resolution to be applied to a current block to be encoded or an image area in which the current block is located, the motion vector resolution being determined from among a plurality of motion vector resolution candidates;

selecting, from among a plurality of interpolation filter candidates, an interpolation filter assigned to the determined motion vector resolution;

interpolating pixels of the reference picture by using the selected interpolation filter;

predicting the current block by using the interpolated pixels of the reference picture to generate a predicted block of the current block;

generating a residual block by subtracting the predicted block from the current block; and

encoding, into the bitstream, the residual block and identification information for identifying the determined motion vector resolution,

wherein the plurality of interpolation filter candidates includes groups of interpolation filter candidates, the groups of interpolation filter candidates are assigned respectively to the plurality of motion vector resolution candidates, the groups of interpolation filter candidates are distinctive from each other, and

wherein the selecting of the interpolation filter is performed by

determining a group of interpolation filter candidates corresponding to the determined motion vector resolution, from among the groups of interpolation filter candidates, wherein each interpolation filter candidate belonging to the group of interpolation filter candidates has predefined filter coefficients for sub-pixel positions corresponding to the determined motion vector resolution,

selecting, as the interpolation filter, one interpolation filter candidate from interpolation filter candidates belonging to the determined group of interpolation filter candidates,

generating the interpolated pixels of the reference picture by using predefined filter coefficients of the selected interpolation filter, and

encoding information identifying which interpolation filter candidate is selected as the interpolation filter among interpolation filter candidates belonging to the determined group of interpolation filter candidates.

15. The method of claim 14 , wherein, when the interpolation filter includes a first interpolation filter and a second interpolation filter, the interpolating the pixels of the reference picture comprises:

deriving a first set of sub-pixels of the reference picture by interpolation of integer pixels of the reference picture based on the first interpolation filter, when it is required to derive the first set of sub-pixels by using the first interpolation filter, and

deriving a second set of sub-pixels of the reference picture by interpolation of the first set of sub-pixels based on the second interpolation filter, when it is required to derive the second set of sub-pixels by using the second interpolation filter.

16. The method of claim 14 , further comprising:

generating a resolution conversion flag for informing changes from a motion vector resolution of a previous block or a motion vector resolution of a surrounding area of the current block or the image area in which the motion vector resolution is to be encoded.

17. The method of claim 14 , further comprising:

generating a resolution appointment flag for appointing a motion vector resolution set for each image area.

18. A method of decoding a video by using an interpolation of a reference picture, comprising:

extracting and decoding identification information from a bitstream;

determining, from among a plurality of motion vector resolution candidates, a motion vector resolution identified by the decoded identification information, wherein the motion vector resolution is applied to a current block to be decoded or an image area in which the current block is located;

selecting, from among a plurality of interpolation filter candidates, an interpolation filter assigned to the determined motion vector resolution;

interpolating pixels of the reference picture by using the selected interpolation filter;

decoding a residual block from the bitstream;

generating a predicted block of the current block by using the interpolated pixels of the reference picture; and

reconstructing the current block by adding the predicted block and the residual block,

wherein the plurality of interpolation filter candidates includes groups of interpolation filter candidates, the groups of interpolation filter candidates are assigned respectively to the plurality of motion vector resolution candidates, the groups of interpolation filter candidates are distinctive from each other, and

wherein the selecting of the interpolation filter comprises

determining a group of interpolation filter candidates corresponding to the determined motion vector resolution, from among the groups of interpolation filter candidates, wherein each interpolation filter candidate belonging to the group of interpolation filter candidates has predefined filter coefficients for sub-pixel positions corresponding to the determined motion vector resolution,

reconstructing, from the bitstream, information identifying which interpolation filter candidate is selected among interpolation filter candidates belonging to the determined group of interpolation filter candidates,

selecting, based on the reconstructed information, one interpolation filter candidate from interpolation filter candidates belonging to the determined group of interpolation filter candidates, as the interpolation filter, and

generating the interpolated pixels of the reference picture by using predefined filter coefficients of the selected interpolation filter.

19. The method of claim 18 , wherein, when the interpolation filter includes a first interpolation filter and a second interpolation filter, the interpolating the pixels of the reference picture comprises:

deriving a first set of sub-pixels of the reference picture by interpolation of integer pixels of the reference picture based on the first interpolation filter, when it is required to derive the first set of sub-pixels by using the first interpolation filter, and

deriving a second set of sub-pixels of the reference picture by interpolation of the first set of sub-pixels based on the second interpolation filter, when it is required to derive the second set of sub-pixels by using the second interpolation filter.

20. The method of claim 18 , wherein the image area in which the motion vector resolution is determined is one of a picture, a slice and a block having a predetermined size.

21. The method of claim 15 , wherein the first interpolation filter is selected from the plurality of interpolation filter candidates having a fixed filter coefficient, resulting in a minimum difference between pixels of a current picture and the first set of sub-pixels of the reference picture.

22. The method of claim 15 , wherein a filter coefficient is calculated for the first interpolation filter, resulting in a minimum difference between pixels of a current picture and the first set of sub-pixels of the reference picture.

23. The method of claim 15 , wherein the second interpolation filter is selected from the plurality of interpolation filter candidates having a fixed filter coefficient, resulting in a minimum difference between pixels of a current picture and the second set of sub-pixels of the reference picture.

24. The method of claim 19 , wherein the information on the first filter and the information on the second filter contain information on filter coefficients or information on types of selected filters from a plurality of filters.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2012
From: LIM, JEONGYEON; KIM, SUNYEON; LEE, GYUMIN; CHOI, JAEHOON; MOON, JOOHEE; LEE, YUNGLYUL; KIM, HAEKWANG; JEON, BYEUNGWOO; HAN, JONGKI; LEE, JUOCK; KIM, DONGWON
To: SK TELECOM CO., LTD.
Reel/Frame 028123/0846 →
Priority Claims (3)
KR 10-2009-0077452 · Aug 21, 2009 · national
KR 10-2010-0019208 · Mar 3, 2010 · national
KR 10-2010-0081097 · Aug 20, 2010 · national
Continuity (1)
Related Publication 20120314771A1 · Dec 13, 2012