Embodiments include applying neural network technologies to encoding/decoding technologies by training and encoder model and a decoder model using a neural network. Neural network training is used to tune a neural network parameter for the encoder model and a neural network parameter for the decoder model that approximates an objective function. The common objective function may specify a minimized reconstruction error to be achieved by the encoder model and the decoder model when reconstructing (encoding then decoding) training data. The common objective function also specifies for the encoder and decoder models, a variable f representing static aspects of the training data and a set of variables z1:T representing dynamic aspects of the training data. During runtime, the trained encoder and decoder models are implemented by encoder and decoder machines to encode and decoder runtime sequences having a higher compression rate and a lower reconstruction error than in prior approaches.
BACKGROUNDField of the Various Embodiments
Embodiments of the present invention generally relate to computer science and, more specifically, to efficient encoding and decoding sequences using variational autoencoders.Description of the Related Art
Codecs (COmpressor-DECompressor) are compression algorithms designed to encode/compress and decode/decompress source data (input sequences) to reduce the size of the source data. Many popular codecs produce lossy compression that reduces the data size of the source data by removing unnecessary or less important information of the source data. Such lossy codecs encode source data using inexact approximations and the partial discarding of the source data, but allows for a large reduction in data size when compared to uncompressed data or lossless compression. Lossy compression is commonly used to encode multimedia data sequences, such as audio or video, in a wide range of applications, such as playback from local storage and remote streaming over a network. Compression is highly useful as it reduces the data size of the source data, which significantly reduces the storage resources required to store the source data. Also, if the source data is to be transmitted over a network, compression allows for faster transmission of the source data and/or reduces the bit-rate and bandwidth requirements for transmitting the source data. A decoder algorithm is then used to decode/decompress the encoded/compressed data to reverse the en
1. A computer-implemented method for encoding an input sequence, the method comprising: receiving the input sequence at an encoder engine; and encoding the input sequence via an encoder model implemented by the encoder engine to generate an encoded sequence, wherein the encoder model is trained through a neural network to encode static aspects of the input sequence that are substantially consistent throughout an entirety of the input sequence.
2. The computer-implemented method of claim 1, wherein the input sequence comprises a plurality of ordered segments.
3. The computer-implemented method of claim 2, wherein the static aspects of the input sequence comprise aspects of the plurality of ordered segments that are substantially consistent throughout the plurality of ordered segments.
4. The computer-implemented method of claim 2, wherein the encoder model is further trained to encode dynamic aspects of a first segment included in the plurality of ordered segments that are unique to the first segment.
5. The computer-implemented method of claim 4, wherein the static aspects of the input sequence are encoded separately from the dynamic aspects of the first segment.
6. The computer-implemented method of claim 2, wherein the encoder model is further trained to encode dynamic aspects for each particular segment included in the plurality of ordered segments that are unique to the particular segment.
7. The computer-implemented method of claim 1, further comprising determining a neural network parameter for the encoder model is through neural network training that achieves an objective function.
8. The computer-implemented method of claim 1, wherein the encoder model is trained based on an encoder equation that specifies separate variables for encoding static aspects and dynamic aspects of training data input into the neural network.
9. The computer-implemented method of claim 1, further comprising: transmitting the encoded sequence to a remote computer via a network; decoding the encoded sequence at the remote computer via a decoder model trained through a neural network to generate a decoded sequence.
10. A non-transitory computer-readable medium storing program instructions that, when executed by a processor, cause the processor to encode an input sequence by performing the steps of: receiving the input sequence at an encoder engine; and encoding the input sequence via an encoder model implemented by the encoder engine to generate an encoded sequence, wherein the encoder model is trained through a neural network to encode static aspects of the input sequence that are substantially consistent throughout an entirety of the input sequence.
11. The non-transitory computer-readable medium of claim 10, wherein the input sequence comprises a plurality of ordered segments.
12. The non-transitory computer-readable medium of claim 10, wherein the input sequence comprises a plurality of video frames.
13. The non-transitory computer-readable medium of claim 10, wherein the input sequence comprises a plurality of audio samples.
14. The non-transitory computer-readable medium of claim 11, wherein the encoder model is generated through neural network training to encode dynamic aspects of a first segment included in the plurality of ordered segments that are unique to the first segment.
15. The non-transitory computer-readable medium of claim 14, wherein the static aspects of the input sequence are encoded separately from the dynamic aspects of the first segment.
16. The non-transitory computer-readable medium of claim 10, wherein the encoder model is trained based on an encoder equation that expresses a Gaussian distribution.
17. The non-transitory computer-readable medium of claim 10, wherein the encoder model is trained based on an encoder equation that specifies separate variables for encoding static aspects and dynamic aspects of training data input into the neural network.
18. The non-transitory computer-readable medium of claim 10, further comprising: storing the encoded sequence to a storage device; retrieving the encoded sequence from the storage device; and decoding the encoded sequence at the remote computer via a decoder model trained through a neural network to generate a decoded sequence.
19. A computing system configured for encoding an input sequence, comprising: a memory that includes an encoder engine; and a processor that is coupled to the memory and, upon executing the encoder engine, performs the steps of: receiving the input sequence; and encoding the input sequence via an encoder model implemented by the encoder engine to generate an encoded sequence, wherein the encoder model is trained through a neural network to encode static aspects of the input sequence that are substantially consistent throughout an entirety of the input sequence.
20. The computing system of claim 19, wherein the input sequence comprises a plurality of ordered segments.