In some embodiments, a method trains a first parameter of a differentiable proxy codec to encode source content based on a first loss between first compressed source content and second compressed source content that is output by a target codec. A pre-processor pre-processes a source image to output a pre-processed source image, the pre-processing being based on a second parameter. The differentiable proxy codec encodes the pre-processed source image into a compressed pre-processed source image based on the first parameter. The method determines a second loss between the source image and the compressed pre-processed source image and determines an adjustment to the first parameter based on the second loss. The adjustment is used to adjust the second parameter of the pre-processor based on the second loss.
BACKGROUND
The delivery of content, such as video, audio, and image content, through a network continues to increase. The compression of the content before delivery is important to reduce the amount of data that is transmitted through the network. An encoder/decoder (codec) may encode the content for delivery to a client, which then uses a codec to decode the content. The compression may be lossy and may introduce artifacts, which may be visually undesirable. New standards for codecs may be developed that may improve the performance of codecs. However, the new standards take many years to develop. In the meantime, the existing codecs are used to compress content.
1. A method comprising: training a first parameter of a differentiable proxy codec to encode source content based on a first loss between first compressed source content and second compressed source content that is output by a target codec; pre-processing, by a pre-processor, a source image to output a pre-processed source image, the pre-processing being based on a second parameter; encoding, by the differentiable proxy codec, the pre-processed source image into a compressed pre-processed source image based on the first parameter; determining a second loss between the source image and the compressed pre-processed source image; determining an adjustment to the first parameter based on the second loss; and using the adjustment to adjust the second parameter of the pre-processor based on the second loss. ||
16. A non-transitory computer-readable storage medium having stored thereon computer executable instructions, which when executed by a computing device, cause the computing device to be operable for: training a first parameter of a differentiable proxy codec to encode source content based on a first loss between first compressed source content and second compressed source content that is output by a target codec; pre-processing, by a pre-processor, a source image to output a pre-processed source image, the pre-processing being based on a second parameter; encoding, by the differentiable proxy codec, the pre-processed source image into a compressed pre-processed source image based on the first parameter; determining a second loss between the source image and the compressed pre-processed source image; determining an adjustment to the first parameter based on the second loss; and using the adjustment to adjust the second parameter of the pre-processor based on the second loss. ||
17. A method comprising: receiving source content; pre-processing, by a pre-processor, the source content to output pre-processed source content, wherein the pre-processor includes a first parameter that is trained based on a differentiable proxy codec in which an adjustment in a second parameter of the differentiable proxy codec is used to train the first parameter of the pre-processor; encoding the pre-processed source content into compressed pre-processed source content; and outputting the compressed pre-processed source content.