Embodiments of the invention relates generally to the field of packet-switched voice transmission, and more particularly to an improved method of encoding speech signals for systems subject to burst errors.
Of the available speech digitization techniques, one of the more popular is the waveform follower technique that attempts to emulate the speech waveform. Although the waveform follower technique requires more transmission bandwidth than other techniques, it has been preferred due to its simple implementation architecture and low processing and power requirements. Two types of waveform follower speech signal encoding techniques are pulse code modulation (PCM) and continuously variable slope delta modulation (CVSD). PCM, which is basically a quantized pulse amplitude modulation, obtains an adequate representation of an analog signal by sampling the signal and encoding each sample as an approximation to one of several allowable discrete values. A typical PCM technique samples the analog speech signal 8000 times per second. Each sample is represented by 8 bits for a total bit rate requirement of 64 Kbps.
In contrast, CVSD does not encode each signal sample approximation, but instead encodes discrete increments of the signal, relative to the previous sample approximation.
The use of CVSD, however, presents a drawback for systems subject to burst errors. From
Systems that employ frequency hopping are prone to burst errors. Frequency hopping may be employed where multiple systems are in use in relatively small area. Each device randomly hops from one frequency to another until a frequency is found that is not in use by some other device at the time. The device may then use the frequency to communicate for a short time before hopping to another available frequency. Thus, the problem of trying to assign a designated frequency for to each device in a dynamic (e.g., mobile) environment is avoided. However, because the hopping is random, there are instances where two or more devices have selected the same frequency causing mutual interference.
The short-range networking protocol Bluetooth is an example of a frequency-hopping system. Bluetooth hops over a frequency band of 2.402 GHz to 2.48 GHz in 1 MHz increments for a total of 79 channels. The Bluetooth protocol provides for frequency hopping at the rate of 1600 hops per second with 64 bits of data in each hop.
Frequency hopping wireless systems operating in a congested RF environment such as Bluetooth may address the problem of interference with a data transmission by requesting a retransmission, however to maintain quality speech transmissions, the delay associated with retransmission must be avoided. Such systems must be able to extrapolate across lost packets.
Embodiments of the present invention are illustrated by way of example, and not limitation, by the figures of the accompanying drawings in which like references indicate similar elements and in which:
An embodiment of the present invention provides a method for accurately establishing a speech signal value subsequent to lost transmission packets. An embodiment of the invention can be implemented via a speech data transmission packet (packet) as used in Bluetooth and other frequency hopping wireless networks. For one embodiment of the present invention, a packet is encoded using an encoding technique wherein a predetermined number of initial bits are encoded using a PCM encoding scheme and the remaining bits are encoded using a CVSD encoding scheme. Upon encoding the initial bits of each packet, the instantaneous value of the voltage as derived from CVSD coder/decoder at the transmitter is encoded using PCM coding rather than CVSD coding.
At the receiver, each packet is decoded independently using the PCM-encoded bits to define a starting value, rather than using the end value of a preceding packet. That is, the PCM-encoded initial bits of each packet are used to define the value of the speech sample at the beginning of each packet, which the subsequent CVSD-encoded bits will reference. If the system experiences a burst error, the PCM encoded bits of a subsequent, valid, packet are used to reestablish the signal value, thus avoiding packet-to-packet error extension.
An embodiment of the present invention may be implemented via a software algorithm that encodes initial bits of each speech transmission packet as PCM and encodes the remaining bits of the packet as CVSD.
In the following detailed description of exemplary embodiments of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the described embodiments of the present invention. However, it will be apparent to one skilled in the art that alternative embodiments of the present invention may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the description of exemplary embodiments of the present invention.
The system 200, shown in
At operational block 202, the codec converts the input analog signal to digital form (in this case using the CVSD encoding scheme). At transmission the error-free speech signal is available and can be CSVD-encoded without risk of error propagation.
At operation block 203 the CVSD bits are converted to PCM bits. The signal has been encoded as CVSD on a continuous, error-free, basis and therefore, the waveform can be recreated and the PCM values determined. That is, a CVSD-encoded analog waveform is used to determine the PCM bit values. At operational block 204 PCM bits are stored when the counter is reset.
PCM bits are used to assemble a data packet when the counter is less than four at operational block 205. That is, the initial four bits of the packet will be PCM-encoded bits. The number of bits encoded as PCM depends upon the packet size and quality requirements of the particular system.
When the counter is greater than three at operational block 206, the CSVD bits are output to packet assembly. The 64-bit packet is assembled using four initial PCM-encoded bits and 60 CVSD-encoded bits at operational block 207. With such a packet construction, the value of the analog signal at the beginning of each packet may be established using the initial PCM-encoded bits while the remaining CVSD-encoded bits provide the benefit of a relatively low bit rate requirement. For a system using a 64 bit packet, it has been determined empirically that three PCM-encoded bits is sufficient for establishing the value of an analog speech signal.
The system 300, shown in
While the counter is less than four, the packet is decoded as PCM at operational block 303. That is, the first four bits are decoded as PCM and, provided the CRC is positive, the values are stored to a data latch at operational block 304, thus providing the initial value for the digital to analog converter.
At operational block 305, the remaining bits (i.e., bits 4 through 63) are decodes as CVSD. The CVSD-decoded values are used to increment/decrement the data latch and the data is input to a D/A converter at operational block 306.
Referring to
Bus 401 is a standard system bus for communicating information and signals. CPU 402 and signal processor 403 are processing units for processing system 400. CPU 402 or signal processor 403 or both may be used to process information and/or signals for processing system 400. CPU 402 includes a control unit 431, an arithmetic logic unit (ALU) 432, and several registers 433, which are used to process information and signals. Signal processor 403 may also include similar components as CPU 402.
Main memory 404 may be, e.g., a random access memory (RAM) or some other dynamic storage device, for storing information or instructions (program code), which are used by CPU 402 or signal processor 403. Main memory 404 may store temporary variables or other intermediate information during execution of instructions by CPU 402 or signal processor 403. Static memory 406, may be, e.g., a read only memory (ROM) and/or other static storage devices, for storing information or instructions, which may also be used by CPU 402 or signal processor 403. Mass storage device 407 may be, e.g., a hard or floppy disk drive or optical disk drive, for storing information or instructions for processing system 400.
Display 421 may be, e.g., a cathode ray tube (CRT) or liquid crystal display (LCD). Display device 421 displays information or graphics to a user. Processing system 400 may interface with display 421 via display circuit 405. Keypad input 422 is an alphanumeric input device with an analog to digital converter. Cursor control 423 may be, e.g., a mouse, a trackball, or cursor direction keys, for controlling movement of an object on display 421. Hard copy device 424 may be, e.g., a laser printer, for printing information on paper, film, or some other like medium. A number of input/output devices 425 may be coupled to processing system 400. The process of encoding a number of bits of a speech transmission packet using PCM encoding the remaining bits of the packet using CVSD encoding, as well as the process of decoding packets thusly encoded, in accordance with one embodiment of the present invention, may be implemented by hardware and/or software contained within processing system 400. For example, CPU 402 or signal processor 403 may execute code or instructions stored in a machine-readable medium, e.g., main memory 404.
The machine-readable medium may include a mechanism that provides (i.e., stores and/or transmits) information in a form readable by a machine such as computer or digital processing device. For example, a machine-readable medium may include a read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices. The code or instructions may be represented by carrier-wave signals, infrared signals, digital signals, and by other like signals.
An embodiment of the invention optimally combines distinct encoding techniques to compensate for burst errors without incurring high transmission overhead. Error extension on frequency hopping radio circuits is minimized so that speech is less subject to distortion and noise burst when packets are lost as a result of collisions between frequency hopping radio devices or outside interference.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
4359603 | Heaton | Nov 1982 | A |
4455649 | Esteban et al. | Jun 1984 | A |
4622680 | Zinser | Nov 1986 | A |
4952193 | Talwar | Aug 1990 | A |
4989246 | Wan et al. | Jan 1991 | A |
5428831 | Monzello et al. | Jun 1995 | A |
5978762 | Smyth et al. | Nov 1999 | A |
6104991 | Newland et al. | Aug 2000 | A |
6343217 | Borland | Jan 2002 | B1 |
6477502 | Ananthpadmanabhan et al. | Nov 2002 | B1 |
6567056 | Waltho | May 2003 | B1 |
6584438 | Manjunath et al. | Jun 2003 | B1 |
6633840 | Bonnard et al. | Oct 2003 | B1 |
6708147 | Mekuria et al. | Mar 2004 | B1 |
6757654 | Westerlund et al. | Jun 2004 | B1 |
6771931 | Waltho | Aug 2004 | B1 |
20030182107 | Chan | Sep 2003 | A1 |
20040102969 | Manjunath et al. | May 2004 | A1 |
20050069063 | Waltho | Mar 2005 | A1 |
Number | Date | Country |
---|---|---|
0905914 | Mar 1999 | EP |
WO-02103922 | Dec 2002 | WO |
WO-2005034377 | Apr 2005 | WO |
Number | Date | Country | |
---|---|---|---|
20030216910 A1 | Nov 2003 | US |