Adaptive coding

Uses your system voice; voice and rate in settings.

Snapshot

≈ 5 min read

Names in other languages

No names in other languages are held for this entry yet.

Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.

Adaptive coding refers to variants of entropy encoding methods of lossless data compression. They are particularly suited to streaming data, as they adapt to localized changes in the characteristics of the data, and don't require a first pass over the data to calculate a probability model. The cost paid for these advantages is that the encoder and decoder must be more complex to keep their states synchronized, and more computational power is needed to keep adapting the encoder/decoder state. Almost all data compression methods involve the use of a model, a prediction of the composition of the data. When the data matches the prediction made by the model, the encoder can usually transmit the content of the data at a lower information cost, by making reference to the model. This general statement is a bit misleading as general data compression algorithms would include the popular LZW and LZ77 algorithms, which are hardly comparable to compression techniques typically called adaptive. Run-length encoding and the typical JPEG compression with run length encoding and predefined Huffman codes do not transmit a model. A lot of other methods adapt their model to the current file and need to transmit it in addition to the encoded data, because both the encoder and the decoder need to use the model.…

Adaptive coding refers to variants of entropy encoding methods of lossless data compression. They are particularly suited to streaming data, as they adapt to localized changes in the characteristics of the data, and don't require a first pass over the data to calculate a probability model. The cost paid for these advantages is that the encoder and decoder must be more complex to keep their states synchronized, and more computational power is needed to keep adapting the encoder/decoder state. Almost all data compression methods involve the use of a model, a prediction of the composition of the data. When the data matches the prediction made by the model, the encoder can usually transmit the content of the data at a lower information cost, by making reference to the model. This general statement is a bit misleading as general data compression algorithms would include the popular LZW and LZ77 algorithms, which are hardly comparable to compression techniques typically called adaptive. Run-length encoding and the typical JPEG compression with run length encoding and predefined Huffman codes do not transmit a model. A lot of other methods adapt their model to the current file and need to transmit it in addition to the encoded data, because both the encoder and the decoder need to use the model. In adaptive coding, the encoder and decoder are instead equipped with a predefined meta-model about how they will alter their models in response to the actual content of the data, and otherwise start with a blank slate, meaning that no initial model needs to be transmitted. As the data is transmitted, both encoder and decoder adapt their models, so that unless the character of the data changes radically, the model becomes better-adapted to the data it is handling and compresses it more efficiently approaching the efficiency of the static coding. ==Adaptive method== The operating method of adaptive encoding algorithms is as follows: ===Encoder=== Initialize the data model as per agreement. While there is more data to send Encode the next symbol using the data model and send it. Modify the data model based on the last symbol. ===Decoder=== Initialize the data model as per agreement. While there is more data to receive Decode the next symbol using the data model and output it. Modify the data model based on the decoded symbol. Any adaptive coding method has a corresponding static model method, in which the data model is precalculated and then transmitted with the data. ==Static method== ===Encoder=== Initialize the data model based on a first pass over the data. Transmit the data model. While there is more data to send Encode the next symbol using the data model and send it. ===Decoder=== Receive the data model. While there is more data to receive Decode the next symbol using the data model and output it. at a distance of approximately 548,210 kilometers. The image was taken using the CL1 and CL2 filters on May 17, 2010.|alt= ==References==

Text derived from https://en.wikipedia.org/w/index.php?oldid=1279043965 under CC BY-SA 4.0; modifications have been made.