1. A method for processing an input signal comprising: producing a weighted target vector from the input signal; processing the weighted target vector through an inverse weighting function to create a residual domain target vector; performing a first search process on the residual domain target vector to obtain an initial fixed codebook code-vector; performing a second search process over a subset of possible codebook code-vectors for a low weighted-domain error to produce a final fixed codebook code-vector, wherein the subset of possible codebook code-vectors is based on the initial fixed codebook code-vector; generating a codeword representative of the final fixed codebook code-vector to generate an approximation of the input signal; and outputting the codeword by at least one of: transmitting the codeword over a communications channel and storing the codeword on a digital media device.