1. A method, comprising: obtaining distribution information from a set of source data vectors based on a predefined codebook subset design; determining a codebook item number N s for each codebook subset based on a predefined codebook length L and the distribution information; partitioning each source data vector into its corresponding codebook subset; training the source data vector within its codebook subset; and assigning a default codebook vector value to any codebook subset that does not have any source data vector in it.