A method for coding an ensemble of pulse vectors, comprising: receiving the ensemble of pulse vectors by an encoder; determining, by the encoder, for each respective pulse vector of the ensemble of pulse vectors, a respective plurality of pulse parameters describing non-zero pulse positions within the respective pulse vector, one of said respective plurality of pulse parameters corresponding to a number of non-zero pulse positions within the respective pulse vector; generating, by the encoder, a set of statistical parameters for the ensemble of pulse vectors; coding, by the encoder, the set of statistical parameters to produce a statistical model codeword set corresponding to the ensemble of vectors; determining, by the encoder, a mean value vector, wherein each component of the mean value vector is a mean of corresponding components in the ensemble of pulse vectors; for each pulse vector, arranging or re-indexing, by the encoder, the components of that pulse vector such that the components of that pulse vector are in descending order of mean value; for each respective arranged or indexed pulse vector of the ensemble of pulse vectors: coding the pulse parameter corresponding to the number of non-zero pulse positions within the respective pulse vector to produce a first codeword of a respective vector codeword set; and coding using an adaptive combinatorial coding approach, which generates variable length codewords, at least one of a remaining plurality of pulse parameters describing non-zero pulse positions within the respective pulse vector, based upon the number of non-zero pulse positions within the respective pulse vector and the set of statistical parameters for the ensemble, to produce at least another corresponding codeword of the respective vector codeword set. receiving the ensemble of pulse vectors by an encoder; determining, by the encoder, for each respective pulse vector of the ensemble of pulse vectors, a respective plurality of pulse parameters describing non-zero pulse positions within the respective pulse vector, one of said respective plurality of pulse parameters corresponding to a number of non-zero pulse positions within the respective pulse vector; generating, by the encoder, a set of statistical parameters for the ensemble of pulse vectors; coding, by the encoder, the set of statistical parameters to produce a statistical model codeword set corresponding to the ensemble of vectors; determining, by the encoder, a mean value vector, wherein each component of the mean value vector is a mean of corresponding components in the ensemble of pulse vectors; for each pulse vector, arranging or re-indexing, by the encoder, the components of that pulse vector such that the components of that pulse vector are in descending order of mean value; for each respective arranged or indexed pulse vector of the ensemble of pulse vectors: coding the pulse parameter corresponding to the number of non-zero pulse positions within the respective pulse vector to produce a first codeword of a respective vector codeword set; and coding using an adaptive combinatorial coding approach, which generates variable length codewords, at least one of a remaining plurality of pulse parameters describing non-zero pulse positions within the respective pulse vector, based upon the number of non-zero pulse positions within the respective pulse vector and the set of statistical parameters for the ensemble, to produce at least another corresponding codeword of the respective vector codeword set. coding the pulse parameter corresponding to the number of non-zero pulse positions within the respective pulse vector to produce a first codeword of a respective vector codeword set; and coding using an adaptive combinatorial coding approach, which generates variable length codewords, at least one of a remaining plurality of pulse parameters describing non-zero pulse positions within the respective pulse vector, based upon the number of non-zero pulse positions within the respective pulse vector and the set of statistical parameters for the ensemble, to produce at least another corresponding codeword of the respective vector codeword set.