Patent ID: 8825475

Claim:
A Code-Excited Linear Prediction (CELP) codebook coding device for encoding sound into first, second, and third sets of encoding parameters, comprising: a first calculator of a first target signal for an adaptive codebook search in response to an input sound signal; a CELP adaptive codebook stage structured to search, in response to the first target signal, an adaptive codebook to find an adaptive codebook index and an adaptive codebook gain, the adaptive codebook index and gain forming the first set of encoding parameters; a CELP innovative codebook stage structured to search, in response to a second target signal, a CELP innovative codebook to find an innovative codebook index and an innovative codebook gain, the innovative codebook index and gain forming the second set of encoding parameters; a transform-domain codebook stage structured to calculate, in response to a third target signal, transform-domain coefficients and a transform-domain codebook gain, the transform-domain coefficients and the transform-domain codebook gain forming the third set of encoding parameters; a second calculator of the second target signal and a third calculator of the third target signal; a selector of an order of the CELP innovative codebook stage and the transform-domain codebook stage as a function of at least one of (a) characteristics of the input sound signal and (b) a bit rate of a codec using the CELP codebook coding device, wherein the selector comprises switches having a first position where the CELP innovative codebook stage is first and followed by the transform-domain codebook stage and a second position where the transform-domain codebook stage is first and followed by the CELP innovative codebook stage, and wherein: in the first position of the switches, the second calculator determines the second target signal using the first target signal and information from the CELP adaptive codebook stage and the third calculator determines the third target signal using the second target signal and information from the CELP innovative codebook stage; and in the second position of the switches, the third calculator determines the third target signal using the first target signal and information from the CELP adaptive codebook stage and the second calculator determines the second target signal using the first target signal and information from the CELP adaptive codebook stage and the transform-domain codebook stage, wherein each of the first calculator, the CELP adaptive codebook stage, the CELP innovative codebook stage, the transform-domain codebook stage, the second calculator, the third calculator, and the selector is configured to be processed by one or more processors, wherein the one or more processors is coupled to a memory.