Speech coding
AssigneeSkype
InventorKoen Bernard Vos
Life of this patent
Estimating the term…
Abstract
A method of encoding one or more parent blocks of values, the number of values being the length of each block, the method comprising for each parent block: (a) determining a first sum of values in the parent block; (b) splitting the parent block into smaller subblocks; (c) for at least one of the subblocks, determining a second sum of the values in the subblock, selecting a likelihood table from the plurality of likelihood tables based on said first sum of values in the parent block and encoding the second sum using the likelihood table; (d) designating each subblock a parent block; (e) carrying out steps (a), (b), (c) and (d) until at least one parent block reaches a predetermined condition.
Claims19
A method implemented by a computing device for encoding one or more parent blocks of values, a number of values corresponding to a length of the one or more parent blocks, the method comprising:
- determining a sum of values in the one or more parent blocks, the values representing excitation quantization indices for representing speech data;
- splitting the one or more parent blocks into subblocks;
- determining, via the computing device, a sum of values in at least one of the subblocks, selecting a likelihood table from a plurality of likelihood tables based on said sum of values in the one or more parent blocks, and encoding the sum of the values in the at least one subblock using the likelihood table;
- and
- designating each subblock a parent block.
A computer program product stored on a memory device and configured for encoding one or more parent blocks of values, a number of values corresponding to a length of each of the one or more parent blocks, the computer program product comprising code which, when executed by one or more processors, implements the steps of:
- determining a sum of values in the one or more parent blocks, the values representing excitation quantization indices for representing speech data;
- splitting the one or more parent blocks into subblocks;
- determining a sum of values in at least one of the subblocks, selecting a likelihood table from a plurality of likelihood tables based on said sum of values in the one or more parent blocks, and encoding the sum of values in the at least one of the subblocks using the likelihood table;
- designating each subblock a parent block;
- responsive to ascertaining that at least one parent block reaches a predetermined condition, stopping said encoding.
A memory device storing an encoder for encoding a parent block of values, a number of values corresponding to a length of the parent block, the encoder comprising:
- means for splitting the parent block into subblocks;
- means for summing the values in one or more of the subblocks to generate a sum, the values representing excitation quantization indices for representing speech data;
- a store holding likelihood tables, one or more of the likelihood tables holding for possible sums of values, a respective probability associated with each of the sums;
- means for encoding the sum of the values in the one or more of the subblocks using at least one of the likelihood tables located in the store;
- means for selecting from the store of likelihood tables a likelihood table based on the sum of the parent block, said encoding means being arranged to encode the sum of the one or more subblocks split from the parent block based on the selected likelihood table;
- and
- storage means for holding a result of said encoding.
A memory device storing a decoder for decoding a bitstream that includes one or more parent blocks of values, the decoder comprising:
- means for obtaining a sum of values in the one or more parent blocks, the values representing excitation quantization indices for representing speech data;
- means for splitting the one or more parent blocks into subblocks;
- means for selecting a likelihood table from a plurality of stored likelihood tables based on the sum of values in the one or more parent blocks, each of the likelihood tables holding for different possible sums of values in the subblocks, a probability associated with a respective sum;
- and
- means for decoding the bitstream based on the likelihood table to generate a sum of values for at least one of the subblocks.
A method implemented by a computing device of decoding a bitstream including one or more parent blocks of values, a number of values corresponding to a length of the one or more parent blocks, the method comprising for the one or more parent blocks:
- obtaining a sum of values in the one or more parent blocks, the values representing excitation quantization indices for representing speech data;
- splitting the one or more parent blocks into subblocks;
- selecting, via the computing device, a likelihood table from a plurality of stored likelihood tables based on the sum of the values in the one or more parent blocks, each of the likelihood tables holding for different possible sums of values in the subblocks, a probability associated with a respective sum, and decoding the bitstream based on the likelihood table to generate a sum of values for at least one of the subblocks;
- designating each subblock as a parent block;
- responsive to ascertaining that at least one parent block reaches a predetermined condition, stopping said decoding.
Dependencies are inferred from the claim text.