IP Library Granted Patent US 9,369,706
Granted Patent B1
US 9,369,706 · App. 14/318,989 · Granted Jun 14, 2016

Method and apparatus for encoding video using granular downsampling of frame resolution

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,369,706
App. No.
14/318,989
Granted
Jun 14, 2016
Kind
B1
Abstract

Disclosed herein are methods and apparatuses for encoding a video signal having a plurality of frames, each frame having a plurality of blocks and an original resolution. The method includes identifying a first frame from the plurality of frames that is predicted using inter prediction, determining a first variance for the first frame using a processor. selecting a first frame resolution from one of: (a) the original resolution or (b) a resolution lower than the original resolution for the first frame based on the first variance, and encoding the first frame using the selected first frame resolution.

Claims (60)

1. A method for determining at least one threshold used for encoding a video signal having a plurality of frames, each frame having a plurality of blocks, the method comprising:

identifying a test sequence of frames, the frames in the test sequence of frames having an original resolution;

calculating a variance for at least one frame in the test sequence;

calculating a first PSNR for the at least one frame using the original resolution;

calculating a second PSNR for the at least one frame using a lower resolution that is less than the original resolution; and

determining the at least one threshold using the variances, first PSNRs, and second PSNRs by identifying a first series comprising the variances and the first PSNRs, identifying a second series comprising the variances and the second PSNRs, determining an intersection between the first series and the second series, and determining the threshold using the intersection.

2. The method of claim 1 , further comprising:

including the at least one threshold in an encoder; and

configuring the encoder to use the at least one threshold to select a frame resolution for at least one of the frames that it can encode.

3. The method of claim 1 , wherein calculating the first PSNR for the at least one frame comprises:

selecting a frame from the test sequence of frames;

encoding the selected frame;

decoding the encoded frame; and

calculating the first PSNR using the selected frame and the decoded frame.

4. The method of claim 3 , wherein encoding the selected frame uses a target bitrate.

5. A method for determining at least one threshold used for encoding a video signal having a plurality of frames, each frame having a plurality of blocks, the method comprising:

identifying a test sequence of frames, the frames in the test sequence of frames having an original resolution;

calculating a variance for at least one frame in the test sequence;

calculating a first PSNR for the at least one frame using the original resolution by selecting a frame from the test sequence of frames, encoding the selected frame, decoding the encoded frame, and calculating the first PSNR using the selected frame and the decoded frame;

calculating a second PSNR for the at least one frame using a lower resolution that is less than the original resolution by selecting a frame from the test sequence of frames, determining a downsampled frame at the lower resolution from the selected frame, encoding the downsampled frame, decoding the encoded downsampled frame, determining a decoded upsampled frame at the original resolution using the decoded downsampled frame, and calculating the second PSNR using the selected frame and the decoded upsampled frame; and

determining the at least one threshold using the variances, first PSNRs, and second PSNRs.

6. The method of claim 5 , wherein the at least one threshold is an intra threshold, the variance is an intra-prediction variance, and each of encoding the selected frame and encoding the downsampled frame are performed using intra prediction.

7. The method of claim 5 , wherein the at least one threshold is an inter threshold, the variance is determined from one or more inter-prediction variances of blocks in the selected frame and one or more intra-prediction variances of blocks in the selected frame, and each of encoding the selected frame and encoding the downsampled frame are performed using inter prediction.

8. The method of claim 5 , wherein encoding the downsampled frame uses a target bitrate.

9. The method of claim 1 , wherein determining the intersection between the first series and the second series comprises:

determining a first fitted curve from the first series;

determining a second fitted curve from the second series; and

determining the intersection as a value at which the first fitted curve and the second fitted curve intersect.

10. An apparatus for determining at least one threshold used for encoding a video signal having a plurality of frames, each frame having a plurality of blocks, the apparatus comprising:

a memory having computer-executable instructions stored therein; and

at least one processor configured to execute the instructions, wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

identify a test sequence of frames, the frames in the test sequence of frames having an original resolution;

calculate a variance for at least one frame in the test sequence;

calculate a first PSNR for the at least one frame using the original resolution;

calculate a second PSNR for the at least one frame using a lower resolution that is less than the original resolution; and

determine the at least one threshold using the variances, first PSNRs, and second PSNRs by identifying a first series comprising the variances and the first PSNRs, identifying a second series comprising the variances and the second PSNRs, determining an intersection between the first series and the second series, and determining the threshold using the intersection.

11. The apparatus of claim 10 , wherein the instructions further cause the one or more processors to:

include the at least one threshold in an encoder; and

configure the encoder to use the at least one threshold to select a frame resolution for at least one of the frames that it can encode.

12. The apparatus of claim 10 , wherein the at least one processor calculates the first PSNR for the at least one frame by:

selecting a frame from the test sequence of frames;

encoding the selected frame;

decoding the encoded frame; and

calculating the first PSNR using the selected frame and the decoded frame.

13. The apparatus of claim 12 , wherein encoding the selected frame uses a target bitrate.

14. An apparatus for determining at least one threshold used for encoding a video signal having a plurality of frames, each frame having a plurality of blocks, the apparatus comprising:

a memory having computer-executable instructions stored therein; and

at least one processor configured to execute the instructions, wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

identify a test sequence of frames, the frames in the test sequence of frames having an original resolution;

calculate a variance for at least one frame in the test sequence;

calculate a first PSNR for the at least one frame using the original resolution by selecting a frame from the test sequence of frames, encoding the selected frame, decoding the encoded frame, and calculating the first PSNR using the selected frame and the decoded frame;

calculate a second PSNR for the at least one frame using a lower resolution that is less than the original resolution by selecting a frame from the test sequence of frames, determining a downsampled frame at the lower resolution from the selected frame, encoding the downsampled frame, decoding the encoded downsampled frame, determining a decoded upsampled frame at the original resolution using the decoded downsampled frame, and calculating the second PSNR using the selected frame and the decoded upsampled frame; and

determine the at least one threshold using the variances, first PSNRs, and second PSNRs.

15. The apparatus of claim 14 , wherein the at least one threshold is an intra threshold, the variance is an intra-prediction variance, and each of encoding the selected frame and encoding the downsampled frame are performed using intra prediction.

16. The apparatus of claim 14 , wherein the at least one threshold is an inter threshold, the variance is determined from one or more inter-prediction variances of blocks in the selected frame and one or more intra-prediction variances of blocks in the selected frame, and each of encoding the selected frame and encoding the downsampled frame are performed using inter prediction.

17. The apparatus of claim 14 , wherein encoding the downsampled frame uses a target bitrate.

18. The apparatus of claim 10 , wherein determining the intersection between the first series and the second series comprises:

determining a first fitted curve from the first series;

determining a second fitted curve from the second series; and

determining the intersection as a value at which the first fitted curve and the second fitted curve intersect.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2014
From: JIA, WEI
To: GOOGLE INC.
Reel/Frame 033227/0710 →