CLAIMS

We claim:

1. A method for enhancing compressed images, the method comprising:

obtaining an encoded image, wherein the encoded image comprises (i) a set of coefficients indicative of image contents of the encoded image at respective spatial frequencies and (ii) a set of quantiza tion factors indicative of the degree of scaling applied to respective coefficients of the set of coefficients;

obtaining a quality value for the encoded image;

based on the quality value, selecting a set of scaling factors from a plurality of sets of scaling factors;

generating a modified encoded image, wherein generating the modified encoded image comprises applying the selected set of scaling factors to scale the set of quantization factors of the encoded image; and

transmitting an indication of the modified encoded image to a requestor device

2. The method of claim 1, wherein the set of coefficients are discrete cosine transform coefficients.

3. The method of claim 2, wherein the selected set of scaling factors comprises N scaling factors, wherein each of the N scaling factors corresponds to a respective different spatial frequency, and wherein applying the selected set of scaling factors to scale the set of quantization factors of the encoded image comprises applying each given scaling factor of the N scaling factors to one or more quantization factors of the set of quantization factors that correspond to the spatial frequency of the given scaling factor.

4. The method of claim 3, wherein N is fifteen.

5. The method of any preceding claim, wherein obtaining a quality value for the encoded image comprises determining whether the encoded image was submitted by a user or extracted from a video.

6. The method of any preceding claim, wherein obtaining a quality value for the encoded image comprises determining the quali ty value based on the quantization factors.

7. The method of any preceding claim, wherein the quantization factors of the encoded image are stored in a quantization table of the encoded image.

8. The method of any preceding claim, wherein obtaining the encoded image comprises extracting the encoded image from a frame of a video stream.

9. The method of any preceding claim, wherein the encoded image is encoded according to the JPEG image compression format.

10. A method comprising:

obtaining a training set of images, wherein each image in the training set of images has a respective quality value;

selecting, based on the quality values of the images in the training set, one or more images from the training set that have respective quality values that correspond to a particular quality value;

for each given image of the one or more images:

obtaining an encoded version of the given image and a reference version of the given image, wherein the encoded version of the given image comprises (i) a set of coefficients indicative of image contents of the given image at respective spatial frequencies and (ii) a set of quantization factors indicative of the degree of scaling applied to respective coefficients of the set of coefficients;

applying a set of scaling factors that correspond to tire particular quality value to scale the set of quantization factors of the encoded version of the given image; and generating an enhanced decoded version of the given image by decoding the set of coefficients using the quantization factors that have been scaled by the set of sealing factors; and

updating the set of scaling factors based on a relationship between the enhanced decoded version of the given image and the reference version of the given image.

11. The method of claim 10, wherein updating the set of sealing factors comprises: comparing the enhanced decoded version of the given image to the reference version of the given image.

12. The method of claim 10 or 11, further comprising:

obtaining an encoded image, wherein the encoded image comprises (i) a set of coefficients representing image contents of tire encoded image at respective spatial frequencies and (ii) a set of quantization factors indicati ve of the degree of scaling applied to respective coefficients of the set of coefficients, and wherein a quality value for the encoded image corresponds to the particular quality value;

generating a modified encoded image, wherein generating the modified encoded image comprises applying the updated set of scaling factors to scale the set of quantization factors of the encoded image; and

transmitting an indication of the modified encoded image to a requestor device.

13. The method of any one of claims 10 to 12, wherein the training set of images comprises a set of encoded images, and wherein obtaining a reference version of the given image comprises:

decoding the encoded version of the given image; and

sharpening the decoded encoded version of the given image.

14. The method of any one of claims 10 to 13, wherein the encoded version of the given image is encoded according to the JPEG image compression format

15. The method of any one of claims 10 to 14, wherein the set of coefficients of the encoded version of the given image are discrete cosine transform coefficients.

16. The method of claim 15, wherein the set of scaling factors that correspond to the particular quality value comprises N scaling factors, wherein each of the N scaling factors corresponds to a respective different spatial frequency, and wherein applying the set of scaling factors that correspond to the particular quality value to scale tire set of quantization factors of the encoded version of the given image comprises applying each given scaling factor of the N scaling factors to one or more quantization factors of the set of quantization factors that correspond to the spatial frequency of the given scaling factor.

17. A non-transitory computer-readable medium, configured to store at least computer-readable instructions that, when executed by one or more processors of a computing device, cause the computing device to perform computer operations comprising:

obtaining an encoded image, wherein the encoded image comprises (i) a set of coefficients indicative of image contents of the encoded image at respective spatial frequencies and (ii) a set of quantization factors indicative of the degree of scaling applied to respective coefficients of the set of coefficients;

obtaining a quality value for the encoded image;

based on the quali ty value, selecting a set of scaling factors from a plurality of sets of scaling factors;

generating a modified encoded image, wherein generating the modified encoded image comprises applying the selected set of scaling factors to scale the set of quantization factors of the encoded image; and

transmitting an indication of the modified encoded image to a requestor device.

18. The non- transitory computer-readable medium of claim 17, wherein obtaining a quality value for the encoded image comprises determining the quality value based on the quantization factors.

19. The non -transitor^ computer-readable medium of claim 17 or 18, wherein the set of coefficients are discrete cosine transform coefficients.

20. The non-transitory computer-readable medium of any one of claims 17 to 19, wherein obtaining a quality value for the encoded image comprises determining whether the encoded image was submitted by a user or extracted from a video.

21. The non-transitory computer-readable medium of any one of claims 17 to 20, wherein the encoded image is encoded according to the JPEG image compression format.