Coupled error code protection for multi-mode vocoders

Data processing: speech signal processing – linguistics – language – Speech signal processing – For storage or transmission

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06681203

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to insuring the accuracy of transmitted or stored digital data of a multi-mode vocoder.
2. Description of the Related Art
Vocoders are known in the existing arts. Briefly, a vocoder processes a digital speech signal by sequentially breaking the digital speech signal into segments. Next, the vocoder derives various parameters relating to each segment, such as a pitch value, pitch gain, fixed codebook response, etc. The derived parameters are characterized by bit patterns, which are assembled into a frame. Each frame is representative of the original speech signal segment. The sequential frames are compressed, relative to the original segments, and therefore can be transmitted more quickly, or stored in less memory, than the original segments.
When the transmitted frames are received, or the stored frames are retrieved, another or the same vocoder must decompress the frames in order to reconstruct, or synthesize, a recognizable voice approximating the original digital speech signal. When decompressing a frame, it is important to determine if a transmission, or encoding error, has occurred. If an error goes undetected, the quality of the synthesized speech relating to the erroneous frame will be impaired. If an error is detected, the frame can be ignored, or estimated relative to preceding and/or succeeding frames, thereby improving the overall quality of the reproduced voice.
FIG. 1
illustrates first and second vocoders in accordance with the background art. The first vocoder
1
includes a first pre-processing unit
2
, a mode selector
3
, a compression unit
4
, a code builder
5
, and a first post-processing unit
6
. The second vocoder
7
includes a second pre-processing unit
8
, a code analyzer
9
, an estimation unit
10
, a mode reader
11
, a synthesizer
12
, and a second post-processing unit
13
.
With reference to
FIG. 2
, the first pre-processing unit
2
receives an input signal in step
14
. The first pre-processing unit
2
conditions the input signal for later processing. For example, if the input signal is an analog speech signal, the first pre-processing unit
2
would convert the analog speech signal into a digital speech signal. Also, the first pre-processing unit
2
will divide the digital speech signal into a sequential series of signal segments.
In step
15
, the mode selector
3
analyzes the signal segment and determines a type of the digital speech signal contained therein. For instance, the speech signal could be a voiced type of speech signal. An example of a voiced speech signal would be a vowel sound. In characterizing a vowel sound, certain tonal parameters, like pitch delay and pitch, are relatively important. Another type of speech signal would be an unvoiced speech signal. An example of an unvoiced speech signal would be an “s” sound, or any sound resembling noise or static. In characterizing an unvoiced sound, the pitch parameters are relatively unimportant, rather parameters like a fixed codebook output are important. Of course, the mode selector
3
could determine other types of speech signals, and it is important to note that, the mode of a digitized speech signal could change one hundred times a second.
In step
16
, the compression unit
4
derives characteristic parameters relating to the signal segment. The compression unit
4
includes various components, such as an adaptive codebook, fixed codebook, impulse response unit, linear predictive coder, etc. The parameters obtained by the various components relate to attributes of the signal segment, such as pitch, pitch gain, fixed codebook output etc. The compression unit
4
assigns bit patterns to characterize the derived parameters. It should be noted that steps
16
and
15
may occur in reverse order, or be interrelated. In other words, outcomes of step
16
may be the basis of the mode selection of step
15
.
In step
17
, the compression unit
4
assembles the bit patterns into a frame. A typical frame may consist of one hundred to two hundred bits, although it is envisioned that the frames could have any number of bits.
FIG. 3
is illustrative of two sequential frames produced by the compression unit
4
. The pitch is characterized by the bits residing in bit positions three through six of the frame and the pitch gain is characterized by the bits residing in positions ninety-five through ninety-nine of the frame. The non-illustrated bit positions would contain other information characterizing the speech signal segment. Of course, the positioning of the characterizing information within the frame and the number of bits allocated to each parameter can be varied.
As illustrated in
FIG. 1
, the compression unit
4
receives the mode from the mode selector
3
. Depending upon the mode, the compression unit
4
will allocate greater importance to the parameters which best characterize the mode's respective type of speech signal. For instance, if a voiced speech signal is processed, then more bits, and hence greater resolution, will be afforded to the pitch and pitch gain parameters. The additional bits used for the pitch and pitch gain parameters may be taken from the less important parameters of a voiced speech signal, such as the random parameters. If an unvoiced speech signal is processed, then more bits may be afforded to the fixed codebook output parameter, at the expense of the pitch and pitch gain parameters.
It would also be possible for the positioning of the various parameters within the frames to vary between the different modes. For instance, in the mode corresponding to a voiced speech signal, the pitch parameter would occupy the bit positions between four and fourteen, whereas in the mode corresponding to an unvoiced speech signal, the pitch parameter would occupy the bit positions between twenty and twenty-three.
FIG. 4
illustrates four modes of the first vocoder
1
. Of course, the first vocoder
1
could have more than four modes. Each mode has a plurality of important bits, labeled “B”, and a plurality of unimportant bits, labeled “b”. An important bit “B” means that the data in the bit position relates to an important parameter for the particular mode, e.g. type of speech. For example, the bit positions representing pitch are important bit positions in the mode representing voiced speech signals. It can be seen that both the number and position of the important bits “B” will vary between the different modes. Typically, the number of important bits in a given mode will be between forty to one hundred bits, with the remaining bits being of reduced importance in the later reconstruction of the speech signal.
Referring to
FIG. 2
, in step
18
, the code builder
5
builds a cyclical redundancy check (CRC) code based upon the potentially important bits within the frame. The CRC code would be one or more bits added to the frame, whose purpose is to ensure the accuracy of the potentially important bits in the frame. One example of a CRC coding formula would be the repetition of each of the potentially important bits within the frame. In this instance, the CRC code would be robust, i.e. would provide a high level of assurance that no error occurred in the important bits, but would require a large number of bits. Another example of a CRC coding formula would be a simple one-bit parity check of the potentially important bits. In this instance, the CRC code would require only one bit, however the accuracy of the important bits might not be adequately insured. A good compromise would be a CRC coding formula based upon a polynomial of the potentially important bits. Such a form of CRC coding is known in the art.
As illustrated in
FIG. 4
, the different modes have differing numbers of actually important bits “B”. Further, the locations of the important bits “B” vary between the different modes. Therefore, in order to assure that all potentially important data in a frame, regardless of the mode, is protected, the CRC coding formula is a master coding formula and protects each bit of a

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Coupled error code protection for multi-mode vocoders does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Coupled error code protection for multi-mode vocoders, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Coupled error code protection for multi-mode vocoders will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3201201

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.