Lossless adaptive encoding of finite alphabet data
AssigneeMicrosoft Corporation
InventorHenrique S. Malvar
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorHenrique S. Malvar
Estimating the term…
An encoder reorders quantized wavelet coefficients to cluster large and small wavelet coefficients into separate groups without requiring the use of data-dependent data structures. The coefficients are then adaptively encoded based on a run-length code which continuously modifies a parameter that controls the codewords uses to represent strings of quantized coefficients, seeking to minimize the number of bits spent in the codewords. A matrix of indices contains the coarsest coefficients in the upper left corner, and filling in low high and high low sub bands in larger and larger blocks in an alternating manner, such that low high sub bands comprise the top of the matrix and the high low sub bands comprise the left side of the matrix. The shortest codewords are assigned to represent a run of the most likely character having length of 2k, where k is a parameter. k is adjusted based on successive characters being encountered. k is increased when the character is the same, and decreased when the character is different. A decoder applies the above in reverse order. Decoding of the encoded coefficients is first performed, followed by an unshuffling of the coefficients. The unshuffled coefficients are then subjected to an inverse wavelet transform to recover the transformed and compressed data, such as image pixels.
A method of encoding finite alphabet data characters, the method comprising:
An encoder for encoding finite alphabet data comprising:
A method of decoding finite alphabet data characters which have been encoded using a backward adaptive run length encoding, the method comprising:
A computer readable medium having computer executable instructions stored thereon for causing a computer to perform a method of decoding finite alphabet data characters which have been encoded using a backward adaptive run length encoding, the method comprising:
A decoder for decoding finite alphabet data comprising:
A process for encoding finite alphabet data characters, which are characterized by a sequence of binary values, comprising using a computing device to perform the following process actions:
A process for decoding finite alphabet data characters, which are characterized by a sequence of binary values, and which are encoded by a process that reduces the sequence of binary values to a series of codewords from which can be derived whether each value in the sequence exhibits the first binary value or the second binary value, said codewords coming in two types a first of which is a first codeword value representing a number of binary values in a string of values that have the first binary value and the second of which comprises a second codeword value followed by a binary word that indicates the number of binary values preceding a value having the second binary value that exhibit the first binary value, said process comprising using a computing device to perform the following process actions:
Dependencies are inferred from the claim text.