1. A method for encoding an input signal comprising the steps of: operating on a database of signal values to provide a codebook of features representative of a general class of signals included in said signal values, wherein said codebook features are characterized as discrete portions of signals comprising said database; and encoding an unknown input signal in respect to said features of said codebook by causing said input signal to be expressed in terms of a plurality of coefficient terms and a related plurality of said codebook features, wherein said encoded input signal is expressed as a combination of said discrete portions.