Claims
- 1. An apparatus for converting CELP frames from one CELP-based standard to another CELP based standard, and/or within a single standard but to a different mode, comprising:a bitstream unpacking module for extracting one or more CELP parameters from a source codec; an interpolator module coupled to the bitstream unpacking module, the interpolator module being adapted to interpolate between different frame sizes, subframe sizes, and/or sampling rates of the source codec and a destination codec; a mapping module coupled to the interpolator module, the mapping module being adapted to map the one or more CELP parameters from the source codec to one or more CELP parameters of the destination codec; a destination bitstream packing module coupled to the mapping module, the destination bitstream packing module being adapted to construct at least one destination output CELP frame based upon at least the one or more CELP parameters from the destination codec; and a controller coupled to at least the destination bitstream packing module, the mapping module, the interpolator module, and the bitstream unpacking module, the controller being adapted to oversee operation of one or more of the modules and being adapted to receive instructions from one or more external applications, the controller being adapted to provide a status information to one or more of the external applications.
- 2. The apparatus of claim 1 wherein the controller is a single controller or multiple controllers.
- 3. The apparatus of claim 1 wherein the mapping module and the destination bitstream packing module are within a same module.
- 4. The apparatus of claim 1 wherein the mapping module is a single module or multiple modules.
- 5. The apparatus of claim 1 wherein the interpolation module is a single module or multiple modules.
- 6. The apparatus of claim 1, wherein said bitstream unpacking module comprises:a bitstream processor, the bitstream processor being adapted to extract information in a first format of the one or more CELP parameter in source CELP codec input frame; an LSP decoding module coupled to the bitstream processor, the LSP decoding module being adapted to output one or more LSP coefficients using at least the information from the source CELP codec input frame; a decoding module coupled to the bitstream processor, the decoding module being adapted to decode the information to output a pitch lag parameter and a pitch gain parameter from the source CELP codec input frame; a fixed codebook decoding module coupled to the bitstream processor, the fixed codebook decoding module being adapted to decode the information to output a fixed codebook vector; an adaptive codeword decoding module coupled to the bitstream processor, the adaptive codeword decoding module being adapted to decode the information to output adaptive codebook contribution vector; and an excitation generator coupled to the fixed codebook decoding module and the adaptive codeword decoding module, the excitation generator being adapted to output an excitation vector using at least the fixed codebook vector and the adaptive codebook vector.
- 7. The apparatus of claim 1, wherein the interpolator module comprises:an LSP process, the LSP process being adapted to convert one or more LSP coefficients of a source codec into one or more LSP coefficients of a destination codec when said source codec and destination codec have a different subframe size; an adaptive codebook process, the adaptive codebook process being adapted to convert a pitch lag and a pitch gain from the source codec into a pitch lag and pitch gain of the destination codec when said source codec and destination codec have a different subframe size; a CELP parameter buffer, the CELP parameter buffer being adapted hold the one or more CELP parameters that need to be buffered for interpolation when source codec and destination codec have a different subframe size.
- 8. The apparatus of claim 7, wherein said CELP parameter buffer comprises:an excitation vector buffer, the excitation vector being adapted to store the reconstructed excitation vector which waits for mapping in next subframe or frame; an LSP coefficient buffer that stores the before or after interpolation LSP coefficients which wait for mapping in next subframe or frame; a CELP other parameters buffer that stores the before or after interpolation pitch lag, pitch gain, codebook gain and index which wait for mapping in the next subframe or frame.
- 9. The apparatus of claim 1, wherein the mapping module comprises:a parameter mapping and tuning strategy switching module, the strategy switching module being adapted to select a CELP parameter mapping strategy based upon a plurality of strategies; a parameter mapping and tuning strategies module, the mapping and tuning strategies module being adapted to output the one or more destination CELP parameters.
- 10. The apparatus of claim 9 wherein the plurality of strategies comprises:CELP parameter direct space mapping module; filtered excitation space domain analysis module; and analysis in excitation space domain module.
- 11. The apparatus of claim 9, wherein said the parameter mapping and tuning strategies module comprises:an LSP coefficient converter that encodes the destination LSP coefficients; a CELP excitation mapping unit that takes CELP excitation parameters including pitch lag, gain, and excitation vectors from interpolation to get encoded CELP excitation parameters.
- 12. The apparatus of claim 11, wherein said the CELP excitation mapping unit comprises:a module of CELP parameters direct space mapping that produces encoded destination CELP parameters using analytical formula without any iterating; a module of analysis in excitation space domain mapping that produces encoded destination CELP parameters by searching in the excitation space domain; a module of analysis in filtered excitation space domain mapping that produces encoded destination CELP parameters by searching adaptive closed-loop in excitation space and fixed-codebook in filtered excitation space.
- 13. As in claim 11, the excitation mapping in the CELP excitation mapping unit is performed without synthesizing the reconstructed excitation signal from the source codec or wtihout performing parameter searching in the speech domain.
- 14. The apparatus of claim 1, wherein said destination bitstream packing module comprises a plurality of frame packing facilities, each of the facilities being capable of adapting to a preselected application from a plurality of applications for a selected destination CELP coder, the selected destination CELP coder being one of a plurality of CELP coders including the destination CELP coder.
- 15. The apparatus of claim 1, wherein said controller comprises:a control unit which receives external instructions and controls each signal processing modules; a status unit which sends transcoding information such as frame, counts, error log and etc to external applications upon the request.
- 16. The apparatus of claim 1, wherein the interpolation module can be selected from linear interpolation or non-linear interpolation.
- 17. As in claim 1, with the addition of a silence frame transcoding unit which can perform rapid conversion of silence frames from one speech coding standard to another which involves mapping the comfort noise parameters.
- 18. As in claim 1, with the addition of a parameter mapping and tuning module consisting of a voice activity detector for generating silence frames and making a speech/silence determination based on the CELP parameters.
- 19. As in claim 1, but with the addition of a system for changing an excitation mapping strategy used thereby providing a mechanism to adapt to available computational resources and allow for graceful quality degradation under load.
- 20. A method for transcoding a CELP based compressed voice bitstream from source codec to destination codec, comprising:processing a source codec input CELP bit stream to unpack at least one or more to CELP parameters from the input CELP bit stream; converting an input bitstream frame into information associated with one or more CELP parameters; decoding the information into one or more CELP parameters; reconstructing a source excitation vector based upon at least the one or more CELP parameters; outputting the CELP parameters to an interpolator; interpolating one or more LSP coefficients from the source codec to one or more LSP coefficients for the destination codec and interpolating other CELP parameters than the LSP coefficients from the source code vector to the other CELP parameters for the destination codec if a difference of one or more of a plurality of destination codec parameters including a frame size, a subframe size, and/or sampling rate of the destination codec format and one or more of a plurality of source codec parameters including a frame size, a subframe size, or sampling rate of the source codec format exist; encoding the one or more CELP parameters for the destination codec; transfering the source excitation vector to the encoding process if the excitation vector does not require a calibration, comprising selecting a parameter conversion strategy and determining the destination codec parameters by direct space mapping, analysis in the excitation space or analysis in the filtered excitation space, and processing a destination CELP bit stream by at least packing the one or more CELP parameters for the destination codec.
- 21. The method of claim 20, further comprising:converting the one or more LSP coefficients using a linear transform process.
- 22. The method of claim 20, further comprising;converting the source codec excitation vector to a synthesized speech vector by using at least one or more of the source decoded LPC coefficients; quantising destination LPC coefficients; converting the synthesized speech vector back to calibrated excitation vector by using at least the quantised destination LPC coefficients; and transferring the calibrated excitation vector to another process.
- 23. A method for transcoding a CELP based compressed voice bitstream from source codec to destination codec, comprising:processing a source codec input CELP bit stream to unpack at least one or more to CELP parameters from the input CELP bit stream; interpolating one or more of the plurality of unpacked CELP parameters from a source codec format to a destination codec format if a difference of one or more of a plurality of destination codec parameters including a frame size, a subframe size, and/or sampling rate of the destination codec format and one or more of a plurality of source codec parameters including a frame size, a subframe size, or sampling rate of the source codec format exist; quantizing destination LPC coefficients; selecting from CELP parameters direct space mapping, analysis in excitation space domain, or analysis in filtered excitation space domain as one of CELP mapping strategies according to a control signal from a parameter mapping and tuning strategy switching module; encoding the one or more CELP parameters for the destination codec; and processing a destination CELP bit stream by at least packing the one or more CELP parameters for the destination codec.
- 24. The method of claim 23, wherein operation of said CELP parameters direct space mapping comprises the operations of:encoding the pitch lag from interpolated pitch lag parameter; encoding the pitch gain from interpolated pitch gain parameter; encoding the index of fixed codebook from analytical forms. encoding the gain of fixed codebook gain parameter.
- 25. The method of claim 23, wherein operation of analysis in excitation space domain mapping comprises the operations of:selecting pitch lag from interpolated pitch lag parameter as initial value; searching pitch lag in closed-loop in excitation space; searching pitch gain in excitation space; constructing target signal for fixed codebook search; searching fixed codebook index in excitation space; searching fixed codebook gain in excitation space; updating the previous excitation vector.
- 26. The method of claim 23, wherein operation of analysis in filtered excitation space domain mapping comprises the operations of:selecting pitch lag from interpolated pitch lag parameter as initial value; searching pitch lag in closed-loop in excitation space; searching pitch gain in excitation space; constructing target signal for fixed codebook search; searching fixed codebook index in filtered excitation space; searching fixed codebook gain in filtered excitation space; updating the previous excitation vector.
- 27. The method of claim 23, wherein said selection is not only restricted to above three strategies, the combination of three strategies can be selected as a new mapping strategy.
- 28. A method for processing CELP based compressed voice bitstreams from source codec to destination codec formats, the method comprising:transferring a control signal from a plurality of control signals from an application process; selecting from CELP parameters direct space mapping, analysis in excitation space domain, or analysis in filtered excitation space domain as one of CELP mapping strategies based upon at least the control signal from the application; and performing a mapping process using the selected CELP mapping strategy to map one or more CELP parameters from a source codec format to one or more CELP parameters of a destination codec format.
- 29. The method of claim 28 further comprising encoding the one or more CELP parameters for the destination codec; andprocessing a destination CELP bitstream by at least packing the one or more CELP parameters for the destination codec.
- 30. The method of claim 29 further comprising transferring the packed destination CELP bitstream to the destination codec.
- 31. The method of claim 28 wherein the selecting of the one CELP mapping strategy is for a predetermined application during a setup process or construction process.
- 32. The method of claim 28 further comprising receiving the control signal at a switching module, the switching module being coupled to each of the plurality of mapping strategies.
- 33. The method of claim 28 wherein the control signal is provided based upon a computing resource characteristic of the selected CELP mapping strategy.
- 34. The method of claim 28 wherein one or more of the plurality of mapping strategies are provided in a library in memory.
- 35. A system for processing CELP based compressed voice bitstreams from source codec to destination codec formats, the system comprising:one or more codes for receiving a control signal from a plurality of control signals from an application process; one or more codes for selecting from one or more codes directed to CELP parameters direct space mapping, one or more codes directed to analysis in excitation space domain, or one or more codes directed to analysis in filtered excitation space domain as one CELP mapping strategy based upon at least the control signal from the application; and one or more codes for performing a mapping process using the selected CELP mapping strategy to map one or more CELP parameters from a source codec format to one or more CELP parameters of a destination codec format.
- 36. The system of claim 35 wherein the selected CELP mapping strategy is for a predetermined application.
- 37. The system of claim 35 further comprising the one or more codes directed to receiving the control signal is provided at a strategy switching module, the strategy switching module being coupled to each of the plurality of mapping strategies.
- 38. The system of claim 35 wherein the control signal is provided based upon a computing resource characteristic of the selected CELP mapping strategy.
- 39. The system of claim 35 wherein one or more codes directed to the plurality of mapping strategies are provided in a library in memory.
- 40. The system of claim 39 further comprising one or more codes directed to encoding the one or more CELP parameters for the destination codec; andone or more codes directed to processing a destination CELP bitstream by at least packing the one or more CELP parameters for the destination codec.
- 41. The system of claim 40 further comprising one or more codes directed to transferring the destination CELP bitstream to the destination codec.
- 42. The system of claim 40 further comprising one or more codes directed to transferring the destination CELP bitstream to a storage location.
CROSS-REFERENCES TO RELATED APPLICATIONS
This present application claims priority to U.S. Provisional Applications 60/347,270, filed Jan. 8, 2002, 60/364,403, filed Mar. 12, 2002, 60/421,446, filed Oct. 25, 2002, 60/421,449, filed Oct. 25, 2002, and 60/421,270, filed Oct. 25, 2002, commonly owned, and hereby incorporated by reference for all purposes.
US Referenced Citations (6)
Foreign Referenced Citations (2)
Number |
Date |
Country |
232130 |
Jun 1999 |
GB |
WO 0048170 |
Aug 2000 |
WO |
Provisional Applications (5)
|
Number |
Date |
Country |
|
60/421449 |
Oct 2002 |
US |
|
60/421446 |
Oct 2002 |
US |
|
60/421270 |
Oct 2002 |
US |
|
60/364403 |
Mar 2002 |
US |
|
60/347270 |
Jan 2002 |
US |