Patent NZ-602796-A (NZ)
Title: Texture compression and decompression
Inventor: RASMUSSON JIM
IPC: G06T9/00
Filed: 2011-02-09
Abstract: A method and an encoder (1405) for compressing a texel block comprising multiple texels are disclosed. Each has a respective texel value. The encoder (1405) comprises a processor configured to determine, based on at least a portion of texel values of the multiple texels, a first value codeword representing a first texel value and a second value codeword representing a second texel value; determine, based on at least a portion of the texel values of the multiple texels, a first line codeword representing a first line for a first direction and a second line codeword representing a second line for a second direction; and determine a function codeword representing a function that varies in two dimensions and reflects a change in texel values when traveling along the first direction and the second direction in the texel block; and a memory configured to store a compressed texel block as a compressed representation of the texel block. The compressed texel block comprises the first value codeword; the second value codeword, the first line codeword, the second line codeword and the function codeword. A computer (1400) comprising the above described encoder (1405) is also disclosed. A method and a decoder (1480) for decompressing a compressed texel block that is a compressed representation of a texel block comprising multiple texels are closed. Each texel has a respective texel value. The decoder (1480) comprises a decompression unit configured to determine a first texel value based on a first value codeword comprised in the compressed texel block and a second texel value based on a second value codeword comprised in the compressed texel block; determine a first line equation of a first line for a first direction based on a first line code word comprised in the compressed texel block and a second line equation of a second line for a second direction based on a second line codeword comprised in the compressed texel block; determine, for each texel of the multiple texels, a first signed distance between a position of the texel in the texel block and the first line and a second signed distance between the position of the texel in the texel block and the second line; calculate, for each texel of the multiple texels, a first rescaled value as a first output of a function selected based on a function codeword comprises in the compressed texel block and with the first signed distance as input and a second rescaled value as a second output of the function and with the second signed distance as input, the function varies in two dimensions and reflects a change in texel values when traveling along the first direction and the second direction in the texel block; define, for each texel of the multiple texels, weights based on a combined value calculated based on the first rescaled value and the second rescaled value; and calculate, for each texel of the multiple texels, a representation of a texel value of the texel based on a weighted combination of the first texel value and the second texel value using the calculated weights. A user terminal (1460) comprising a graphical processing unit (1470) having the above described decoder (1480) is also disclosed