IP Library Granted Patent US 9,049,420
Granted Patent B1
US 9,049,420 · App. 14/219,877 · Granted Jun 2, 2015

Relative quality score for video transcoding

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,049,420
App. No.
14/219,877
Granted
Jun 2, 2015
Kind
B1
Abstract

A relative quality score is provided that takes into account properties of an encoded version of a source video. For example, one such quality score calculates a difference of higher and lower quality transcoded versions of the source video, and computes quality metrics for each to evaluate how similar the transcoded versions are to the source video. A relative quality score quantifying the quality improvement of the high-quality version over the low-quality version is computed. The relative quality score is adjusted based on a measurement of the quality of the source video. If the relative quality score for the video indicates a sufficient quality improvement of the high-quality version over the low-quality version, various actions are taken, such as retaining the high-quality version, and making the high-quality version available to users, e.g. via a video viewing user interface.

Claims (38)

1. A computer-implemented method of determining whether to provide a high quality transcoded version of a source video stored in a video repository, comprising:

generating a low-quality transcoded version of the source video;

generating a high-quality transcoded version of the source video having higher quality than the low-quality transcoded version;

determining a relative quality score that quantifies a difference in quality between the high-quality transcoded version and the low-quality transcoded version;

determining a weighting factor as a function of a quality of the source video, the weighting factor configured to limit the relative quality score to an upper bound when the source video is of poor quality;

adjusting the relative quality score by applying the weighting factor to the relative quality score; and

responsive at least in part to the adjusted relative quality score indicating at least a threshold level of quality, storing the high-quality transcoded version of the video in the video repository.

2. The method of claim 1 , wherein determining the weighting factor comprises computing the weighting factor based on a number of frames per second in the source video.

3. The method of claim 1 , wherein determining the weighting factor comprises computing the weighting factor based on a blockiness measure associated with the source video, the blockiness measure indicating an extent to which blocks representing a frame in the source video have been encoded with an insufficient level of detail.

4. The method of claim 3 , further comprising determining the blockiness measure by measuring a difference in luminance values of pixels along a boundary of a first block representing the frame and pixels along a boundary of a second block representing the frame, the boundary of the first block being adjacent to the boundary of the second block.

5. The method of claim 3 , wherein computing weighting factor comprises setting the weighting factor to be a first value when the blockiness measure is lower than a blockiness threshold or a second value when the blockiness measure is higher than the blockiness threshold, the first value being lower than the second value.

6. The method of claim 1 , wherein adjusting the relative quality score comprises multiplying the relative quality score by the weighting factor.

7. The method of claim 1 , wherein the difference in quality is based on a degree of similarity between the high-quality transcoded version and the source video and a degree of similarity between the low-quality transcoded version and the source video.

8. A non-transitory computer-readable storage medium storing a computer program executable by a processor for determining whether to provide a high quality transcoded version of a source video stored in a video repository, the computer program controlling the processor to perform operations comprising:

generating a low-quality transcoded version of the source video;

generating a high-quality transcoded version of the source video having higher quality than the low-quality transcoded version;

determining a weighting factor as a function of a quality of the source video, the weighting factor configured to limit the relative quality score to an upper bound when the source video is of poor quality;

adjusting the relative quality score by applying the weighting factor to the relative quality score; and

responsive at least in part to the adjusted relative quality score indicating at least a threshold level of quality, storing the high-quality transcoded version of the video in the video repository.

9. The computer-readable storage medium of claim 8 , the computer program controlling the processor to perform operations further comprising determining the weighting factor by computing the weighting factor based on a number of frames per second in the source video.

10. The computer-readable storage medium of claim 8 , the computer program controlling the processor to perform operations further comprising determining the weighting factor by computing the weighting factor based on a blockiness measure associated with the source video, the blockiness measure indicating an extent to which blocks representing a frame in the source video have been encoded with an insufficient level of detail.

11. The computer-readable storage medium of claim 10 , the computer program controlling the processor to perform operations further comprising determining the blockiness measure by measuring a difference in luminance values of pixels along a boundary of a first block representing the frame and pixels along a boundary of a second block representing the frame, the boundary of the first block being adjacent to the boundary of the second block.

12. The computer-readable storage medium of claim 10 , wherein computing weighting factor comprises setting the weighting factor to be a first value when the blockiness measure is lower than a blockiness threshold or a second value when the blockiness measure is higher than the blockiness threshold, the first value being lower than the second value.

13. The computer-readable storage medium of claim 8 , wherein adjusting the relative quality score comprises multiplying the relative quality score by the weighting factor.

14. The computer-readable storage medium of claim 8 , wherein the difference in quality based on a degree of similarity between the high-quality transcoded version and the source video and a degree of similarity between the low-quality transcoded version and the source video.

15. A computer system comprising:

a processor; and

a transcoding module executing on the processor, the transcoding module controlling the processor to perform operations comprising:

generating a low-quality transcoded version of the source video;

generating a high-quality transcoded version of the source video having higher quality than the low-quality transcoded version;

determining a weighting factor as a function of a quality of the source video, the weighting factor configured to limit the relative quality score to an upper bound when the source video is of poor quality;

adjusting the relative quality score by applying the weighting factor to the relative quality score; and

responsive at least in part to the adjusted relative quality score indicating at least a threshold level of quality, storing the high-quality transcoded version of the video in the video repository.

16. The computer system of claim 15 , the transcoding module controlling the processor to perform operations further comprising determining the weighting factor by computing the weighting factor based on a number of frames per second in the source video.

17. The computer system of claim 15 , the transcoding module controlling the processor to perform operations further comprising determining the weighting factor by computing the weighting factor based on a blockiness measure associated with the source video, the blockiness measure indicating an extent to which blocks representing a frame in the source video have been encoded with an insufficient level of detail.

18. The computer system of claim 17 , the transcoding module controlling the processor to perform operations further comprising determining the blockiness measure by measuring a difference in luminance values of pixels along a boundary of a first block representing the frame and pixels along a boundary of a second block representing the frame, the boundary of the first block being adjacent to the boundary of the second block.

19. The computer system of claim 17 , wherein computing weighting factor comprises setting the weighting factor to be a first value when the blockiness measure is lower than a blockiness threshold or a second value when the blockiness measure is higher than the blockiness threshold, the first value being lower than the second value.

20. The computer system of claim 15 , wherein adjusting the relative quality score comprises multiplying the relative quality score by the weighting factor.

Assignments (1)
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →