IP Library Granted Patent US 10,200,713
Granted Patent B2
US 10,200,713 · App. 15/151,416 · Granted Feb 5, 2019

Search region determination for inter coding within a particular picture of video data

Inventors: Chao Pang (Marina del Ray, CA); Krishnakanth Rapaka (San Diego, CA); Vadim Seregin (San Diego, CA); Marta Karczewicz (San Diego, CA); Rajan Laxman Joshi (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/52H04N19/105H04N19/182H04N19/523H04N19/57H04N19/593H04N19/61H04N19/186H04N19/503
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 10,200,713
App. No.
15/151,416
Granted
Feb 5, 2019
Kind
B2
Abstract

An example method of encoding video data includes determining a resolution that will be used for a motion vector that identifies a predictor block in a current picture of video data for a current block in the current picture of video data; determining, based on the determined resolution, a search region for the current block such that a size of the search region is smaller where the resolution is fractional-pixel than where the resolution is integer-pixel; selecting, from within the search region, a predictor block for the current block; determining the motion vector that identifies the selected predictor block for the current block; and encoding, in a coded video bitstream, a representation of the motion vector.

Claims (118)

1. A method of encoding video data, the method comprising:

determining a resolution that will be used for a vector that identifies a predictor block in a current picture of the video data for a current block in the current picture of video data;

determining, based on the determined resolution, a search region for the current block, wherein determining the search region for the current block comprises:

where the resolution that will be used for the vector is integer-pixel, using an initial search region as the search region for the current block; and

where the resolution that will be used for the vector is fractional-pixel, determining the search region comprises:

reducing the initial search region by M samples from right and bottom boundaries of the initial search region;

reducing the initial search region by N samples from top and left boundaries of the initial search region; and

using the reduced initial search region as the search region for the current block;

selecting, from within the search region, a predictor block for the current block;

determining the vector that identifies the selected predictor block for the current block; and

encoding, in an encoded video bitstream, a representation of the vector.

2. The method of claim 1 , wherein M is 2 and N is 2.

3. The method of claim 1 , wherein the vector is a chroma motion vector with fractional-pixel resolution, and wherein encoding the representation of the vector comprises encoding a luma motion vector from which the chroma motion vector is derivable.

4. The method of claim 1 , wherein determining the resolution that will be used for the vector comprises determining a resolution that will be used for a chroma motion vector that identifies a chroma predictor block for the current block, the method further comprising:

determining that fractional-pixel resolution will be used for the vector where a ratio of chroma sampling relative to luma sampling for the current block is greater than one.

5. The method of claim 4 , wherein the ratio of chroma sampling relative to luma sampling for the current block is greater than one where a chroma sampling format of the current block is 4:2:2 or 4:2:0.

6. The method of claim 1 , further comprising:

encoding, in the encoded video bitstream, a syntax element that indicates the resolution that will be used for the vector.

7. The method of claim 1 , further comprising:

where the vector has fractional-pixel resolution, determining, using fractional-pixel interpolation and based at least in part on sample pixel values from outside of the predictor block, pixel values of the predictor block; and

reconstructing the current block based on the pixel values of the predictor block.

8. A method of decoding video data, the method comprising:

obtaining, from an encoded video bitstream, a representation of a vector that identifies a predictor block in a current picture of the video data for a current block in the current picture of video data;

determining whether the vector has fractional-pixel resolution or integer-pixel resolution;

determining, based on the vector, a predictor block for the current block from within a search region, wherein:

when the vector has integer-pixel resolution, the search region for the current block comprises an initial search region, and

when the vector has fractional-pixel resolution, the search region for the current block comprises a reduced search region determined by reducing the initial search region by M samples from right and bottom boundaries of the initial search region, and reducing the initial search region by N samples from top and left boundaries of the initial search region;

in response to determining that the vector has fractional-pixel resolution, determining, using fractional-pixel interpolation and based at least in part on sample pixel values from outside of the predictor block but within the reduced search region, pixel values of the predictor block; and

reconstructing the current block based on the pixel values of the predictor block.

9. The method of claim 8 , wherein M is 2 and N is 2.

10. The method of claim 8 , wherein the vector is a chroma motion vector, and wherein obtaining the representation of the motion vector comprises:

obtaining, from the encoded video bitstream, a representation of luma motion vector; and

determining the chroma motion vector based on the luma motion vector.

11. The method of claim 8 , wherein the vector is a chroma motion vector, the method further comprising:

determining that fractional-pixel resolution will be used for the chroma motion vector where a ratio of chroma sampling relative to luma sampling for the current block is greater than one.

12. The method of claim 11 , wherein the ratio of chroma sampling relative to luma sampling for the current block is greater than one where a chroma sampling format of current block is 4:2:2 or 4:2:0.

13. The method of claim 8 , further comprising:

decoding, from the encoded video bitstream, a syntax element that indicates whether the vector has fractional-pixel resolution or integer-pixel resolution.

14. A device for encoding video data, the device comprising:

a memory configured to store a portion of the video data; and

one or more processors configured to:

determine a resolution that will be used for a vector that identifies a predictor block in a current picture of video data for a current block in the current picture of video data;

determine, based on the determined resolution, a search region for the current block, wherein:

where the resolution that will be used for the vector is integer-pixel, the one or more processors are configured to use an initial search region as the search region for the current block; and

where the resolution that will be used for the vector is fractional-pixel, the one or more processors are configured to:

reduce the initial search region by M samples from right and bottom boundaries of the initial search region;

reduce the initial search region by N samples from top and left boundaries of the initial search region; and

use the reduced initial search region as the search region for the current block;

select, from within the search region, a predictor block for the current block;

determine the vector that identifies the selected predictor block for the current block; and

encode, in an encoded video bitstream, a representation of the vector.

15. The device of claim 14 , wherein M is 2 and N is 2.

16. The device of claim 14 , wherein the vector is a chroma motion vector, and wherein, to encode the representation of the motion vector, the one or more processors are configured to encode a luma motion vector from which the chroma motion vector is derivable.

17. The device of claim 14 , wherein, to determine the resolution that will be used for the vector, the one or more processors are configured to determine a resolution that will be used for a chroma motion vector that identifies a chroma predictor block for the current block, and wherein the one or more processors are further configured to:

determine that fractional-pixel resolution will be used for the chroma motion vector where a ratio of chroma sampling relative to luma sampling for the current block is greater than one.

18. The device of claim 17 , wherein the ratio of chroma sampling relative to luma sampling for the current block is greater than one where a format of current block is 4:2:2 or 4:2:0.

19. The device of claim 14 , wherein the one or more processors are further configured to:

encode, in the encoded video bitstream, a syntax element that indicates the resolution that will be used for the vector.

20. The device of claim 14 , wherein the one or more processors are further configured to:

where the vector has fractional-pixel resolution, determine, using fractional-pixel interpolation and based at least in part on sample pixel values from outside of the predictor block, pixel values of the predictor block; and

reconstruct the current block based on the pixel values of the predictor block.

21. An apparatus for encoding video data, the apparatus comprising:

means for determining a resolution that will be used for a vector that identifies a predictor block in a current picture of video data for a current block in the current picture of video data;

means for determining, based on the determined resolution, a search region for the current block, wherein:

where the resolution that will be used for the vector is integer-pixel, the means for determining the search region are configured to use an initial search region as the search region for the current block; and

where the resolution that will be used for the vector is fractional-pixel, the means for determining the search region are configured to:

reduce the initial search region by M samples from right and bottom boundaries of the initial search region;

reduce the initial search region by N samples from top and left boundaries of the initial search region; and

use the reduced initial search region as the search region for the current block;

means for selecting, from within the search region, a predictor block for the current block;

means for determining the vector that identifies the selected predictor block for the current block; and

means for encoding, in an encoded video bitstream, a representation of the vector.

22. A computer-readable storage medium storing instructions that, when executed, cause one or more processors of a video encoding device to:

determine a resolution that will be used for a vector that identifies a predictor block in a current picture of video data for a current block in the current picture of video data;

determine, based on the determined resolution, a search region for the current block, wherein:

where the resolution that will be used for the vector is integer-pixel, the instructions cause the one or more processors to use an initial search region as the search region for the current block; and

where the resolution that will be used for the vector is fractional-pixel, the instructions cause the one or more processors to:

reduce the initial search region by M samples from right and bottom boundaries of the initial search region;

reduce the initial search region by N samples from top and left boundaries of the initial search region; and

use the reduced initial search region as the search region for the current block;

select, from within the search region, a predictor block for the current block;

determine the vector that identifies the selected predictor block for the current block; and

encode, in an encoded video bitstream, a representation of the vector.

23. A device for decoding video data, the device comprising:

a memory configured to store a portion of the video data; and

one or more processors configured to:

obtain, from an encoded video bitstream, a representation of a vector that identifies a predictor block in a current picture of the video data for a current block in the current picture of video data;

determine whether the vector has fractional-pixel resolution or integer-pixel resolution;

determine, based on the vector, a predictor block for the current block from within a search region, wherein:

when the vector has integer-pixel resolution, the search region for the current block comprises an initial search region, and

when the vector has fractional-pixel resolution, the search region for the current block comprises a reduced search region determined by reducing the initial search region by M samples from right and bottom boundaries of the initial search region, and reducing the initial search region by N samples from top and left boundaries of the initial search region;

in response to determining that the vector has fractional-pixel resolution, determine, using fractional-pixel interpolation and based at least in part on sample pixel values from outside of the predictor block but within the reduced search region, pixel values of the predictor block; and

reconstruct the current block based on the pixel values of the predictor block.

24. The device of claim 23 , wherein M is 2 and N is 2.

25. The device of claim 23 , wherein the vector is a chroma motion vector, and wherein, to obtain the representation of the chroma motion vector, the one or more processors are configured to:

obtain, from the encoded video bitstream, a representation of luma motion vector; and

determine the chroma motion vector based on the luma motion vector.

26. The device of claim 23 , wherein the vector is a chroma motion vector, and wherein the one or more processors are further configured to:

determine that fractional-pixel resolution will be used for the chroma motion vector where a ratio of chroma sampling relative to luma sampling for the current block is greater than one.

27. The device of claim 26 , wherein the ratio of chroma sampling relative to luma sampling for the current block is greater than one where a format of current block is 4:2:2 or 4:2:0.

28. The device of claim 23 , wherein the one or more processors are further configured to:

decode, from the encoded video bitstream, a syntax element that indicates whether the vector has fractional-pixel resolution or integer-pixel resolution.

29. An apparatus for decoding video data, the apparatus comprising:

means for obtaining, from an encoded video bitstream, a representation of a vector that identifies a predictor block in a current picture of video data for a current block in the current picture of video data;

means for determining whether the vector has fractional-pixel resolution or integer-pixel resolution;

means for determining, based on the vector, a predictor block for the current block from within a search region, wherein:

when the vector has integer-pixel resolution, the search region for the current block comprises an initial search region, and

when the vector has fractional-pixel resolution, the search region for the current block comprises a reduced search region determined by reducing the initial search region by M samples from right and bottom boundaries of the initial search region, and reducing the initial search region by N samples from top and left boundaries of the initial search region;

means for in response to determining that the vector has fractional-pixel resolution, determining, using fractional-pixel interpolation and based at least in part on sample pixel values from outside of the predictor block but within the reduced search region, pixel values of the predictor block; and

means for reconstructing the current block based on the pixel values of the predictor block.

30. A computer-readable storage medium storing instructions that, when executed, cause one or more processors of a video decoding device to:

obtain, from an encoded video bitstream, a representation of a vector that identifies a predictor block in a current picture of video data for a current block in the current picture of video data;

determine whether the vector has fractional-pixel resolution or integer-pixel resolution;

determine, based on the vector, a predictor block for the current block from within a search region having a size that is smaller where the resolution is fractional-pixel than where the resolution is integer-pixel, wherein:

when the vector has integer-pixel resolution, the search region for the current block comprises an initial search region, and

when the vector has fractional-pixel resolution, the search region for the current block comprises a reduced search region determined by reducing the initial search region by M samples from right and bottom boundaries of the initial search region, and reducing the initial search region by N samples from top and left boundaries of the initial search region;

in response to determining that the vector has fractional-pixel resolution, determine, using fractional-pixel interpolation and based at least in part on sample pixel values from outside of the predictor block but within the reduced search region, pixel values of the predictor block; and

reconstruct the current block based on the pixel values of the predictor block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2016
From: PANG, CHAO; RAPAKA, KRISHNAKANTH; SEREGIN, VADIM; KARCZEWICZ, MARTA; JOSHI, RAJAN LAXMAN
To: QUALCOMM INCORPORATED
Reel/Frame 038822/0067 →
Continuity (4)
Provisional Application 62159839 · May 11, 2015
Provisional Application 62173248 · Jun 9, 2015
Provisional Application 62175179 · Jun 12, 2015
Related Publication 20160337661A1 · Nov 17, 2016
Cited By (1)
US 12,689,733