Compression and decompression of data vectors
AssigneeNokia Corporation
InventorJani K. Nurminen
Life of this patent
Estimating the term…
Abstract
For an enhanced sequential compression of data vectors in a respective compression pass, a current data vector is mapped to at least one current code vector of at least one codebook in at least one quantization stage. The at least one codebook is reordered taking account of at least one intermediate result from the current compression pass and at least one intermediate result from a preceding compression pass. At least one codebook index that is associated in the at least one reordered codebook to the at least one current code vector is then provided for further use. For a decompression of compressed data vectors represented by such codebook indices, at least one codebook index is mapped to at least one code vector of at least one equally reordered codebook.
Claims26
A method for performance by at least one processing unit in compressing data vectors sequentially in a respective compression pass said method comprising:
- said at least one processing unit mapping a current data vector to at least one current code vector of at least one codebook in at least one quantization stage;
- said at least one processing unit reordering said at least one codebook taking account of at least one intermediate result from a current compression pass and at least one intermediate result from a preceding compression pass, wherein said intermediate result from a preceding compression pass comprises at least one of:
- (a) a codevector selected for two or more quantization stages of a multi-stage quantizer during the preceding compression pass and (b) a predicted vector from the preceding compression pass;
- and
- providing at least one codebook index that is associated in said at least one reordered codebook to said at least one current code vector;
- wherein said reordering is based at least upon a sum of code vectors respectively selected at earlier stages during the current compression pass.
A method for performance by at least one processing unit in compressing data vectors sequentially in a respective compression pass, said method comprising:
- said at least one processing unit mapping a current data vector to at least one current code vector of at least one codebook in at least one quantization stage;
- said at least one processing unit reordering said at least one codebook taking account of at least one intermediate result from a current compression pass and at least one intermediate result from a preceding compression pass, wherein said intermediate result from a preceding compression pass comprises at least one of:
- (a) a codevector selected for two or more quantization stages of a multi-stage quantizer during the preceding compression pass and (b) a predicted vector from the preceding compression pass;
- and
- providing at least one codebook index that is associated in said at least one reordered codebook to said at least one current code vector, wherein said mapping of a current data vector to at least one current code vector is performed by a multistage quantization structure, and wherein said reordering is based at least upon a sum of code vectors respectively selected at earlier stages during the current compression pass.
An encoder comprising a processing unit and a storage medium including computer program code for compressing data vectors sequentially in a respective compression pass, the storage medium and the computer program code configured to, with the processing unit, cause the encoder at least to:
- map a current data vector to at least one current code vector of at least one codebook in at least one quantization stage;
- reorder at least one codebook taking account of at least one intermediate result from a current compression pass and at least one intermediate result from a preceding compression pass wherein said intermediate result from a preceding compression pass comprises at least one of:
- (a) a codevector selected for two or more quantization stages of a multi-stage quantizer during the preceding compression pass and (b) a predicted vector from the preceding compression pass;
- and
- provide at least one codebook index that is associated in at least one reordered codebook to at least one current code vector;
- wherein the encoder is configured to perform said reordering based at least upon a sum of code vectors respectively selected at earlier stages during the current compression pass.
An electronic device comprising a processing unit and a storage medium including computer program code for a sequential compression of data vectors in a respective compression pass, the storage medium and the computer program code configured to, with the processing unit, cause the encoder at least to:
- map a current data vector to at least one current code vector of at least one codebook in at least one quantization stage;
- reorder at least one codebook taking account of at least one intermediate result from a current compression pass and at least one intermediate result from a preceding compression pass, wherein said intermediate result from a preceding compression pass comprises at least one of:
- (a) a codevector selected for two or more quantization stages of a multi-stage quantizer during the preceding compression pass and (b) a predicted vector from the preceding compression pass;
- and
- provide at least one codebook index that is associated in at least one reordered codebook to at least one current code vector;
- wherein the reordering is based at least upon a sum of code vectors respectively selected at earlier stages during the current compression pass.
A non-transitory software program product in which a software code for compressing data vectors sequentially in a respective compression pass is stored, said software code realizing the following steps when being executed by a processing unit of an electronic device:
- mapping a current data vector to at least one current code vector of at least one codebook in at least one quantization stage;
- reordering said at least one codebook taking account of at least one intermediate result from a current compression pass and at least one intermediate result from a preceding compression pass, wherein said intermediate result from a preceding compression pass comprises at least one of:
- (a) a codevector selected for two or more quantization stages of a multistage quantizer during the preceding compression pass and (b) a predicted vector from the preceding compression pass;
- and
- providing at least one codebook index that is associated in said at least one reordered codebook to said at least one current code vector;
- wherein the reordering is based at least upon a sum of code vectors respectively selected at earlier stages during the current compression pass.
A non-transitory software program product in which a software code for compressing data vectors sequentially in a respective compression pass is stored, said software code realizing the following steps when being executed by a processing unit of an electronic device:
- mapping a current data vector to at least one current code vector of at least one codebook in at least one quantization stage;
- reordering said at least one codebook taking account of at least one intermediate result from a current compression pass and at least one intermediate result from a preceding compression pass, wherein said intermediate result from a preceding compression pass comprises at least one of:
- (a) a codevector selected for two or more quantization stages of a multistage quantizer during the preceding compression pass and (b) a predicted vector from the preceding compression pass;
- and
- providing at least one codebook index that is associated in said at least one reordered codebook to said at least one current code vector, wherein said mapping of a current data vector to at least one current code vector is performed by a predictive multistage quantization, and wherein said reordering is based at least upon a sum of code vectors respectively selected at earlier stages during the current compression pass.
A method for performance by at least one processing unit in a decoder of an electronic device in decompressing compressed data vectors sequentially in a respective decompression pass, wherein each compressed data vector is represented by at least one codebook index, said method comprising:
- said at least one processing unit reordering at least one codebook taking account of at least one intermediate result from a current decompression pass and at least one intermediate result from a preceding decompression pass, wherein said intermediate result from a preceding decompression pass comprises at least one of:
- (a) a codevector selected for two or more quantization stages of a multi-stage quantizer during the preceding decompression pass and (b) a predicted vector from the preceding decompression pass;
- and
- said at least one processing unit mapping at least one codebook index representing a compressed current data vector to at least one code vector of said at least one reordered codebook, and wherein said reordering is based at least upon a sum of code vectors respectively selected at earlier stages during the current compression pass.
A decoder comprising a processing unit and a storage medium including program code for decompressing compressed data vectors sequentially in a respective decompression pass, wherein each compressed data vector is represented by at least one codebook index, the storage medium and the computer program code configured to, with the processing unit, cause the decoder at least to:
- reorder at least one codebook taking account of at least one intermediate result from a current decompression pass and at least one intermediate result from a preceding decompression pass, wherein said intermediate result from a preceding decompression pass comprises at least one of:
- (a) a codevector selected for two or more quantization stages of a multi-stage quantizer during the preceding decompression pass and (b) a predicted vector from the preceding decompression pass;
- and
- map at least one codebook index representing a compressed current data vector to at least one code vector of said at least one reordered codebook, and wherein said reordering is based at least upon a sum of code vectors respectively selected at earlier stages during the current compression pass.
A non-transitory software program product in which a software code for decompressing compressed data vectors sequentially in a respective decompression pass, wherein each compressed data vector is represented by at least one codebook index, is stored, said software code realizing the following steps when being executed by a processing unit of an electronic device:
- reordering at least one codebook taking account of at least one intermediate result from a current decompression pass and at least one intermediate result from a preceding decompression pass, wherein said intermediate result from a preceding decompression pass comprises at least one of:
- (a) a codevector selected for two or more quantization stages of a multi-stage quantizer during the preceding decompression pass and (b) a predicted vector from the preceding decompression pass;
- and
- mapping at least one codebook index representing a compressed current data vector to at least one code vector of said at least one reordered codebook, and wherein said reordering is based at least upon a sum of code vectors respectively selected at earlier stages during the current compression pass.
Dependencies are inferred from the claim text.