A linear prediction analysis is performed for each frame of a speech signal to determine the coefficients of a short-term synthesis filter and an open-loop analysis is performed to determine a degree of frame voicing. At least one closed-loop analysis is performed for each sub-frame to determine an excitation sequence which, when applied to the short-term synthesis filter, generates a synthetic signal representative of the speech signal. Each closed-loop analysis uses the impulse response of a filter consisting of the short-term synthesis filter and a perceptual weighting filter, by truncating the impulse response to a truncation length that is no greater than the number of samples per sub-frame and is dependent on the energy distribution of the response and the degree of voicing of the frame.
A speech coding system includes an adaptive codebook containing excitation vector data associated with corresponding adaptive codebook indices (e.g., pitch lags). Different excitation vectors in the adaptive codebook have distinct corresponding resolution levels. The resolution levels include a first resolution range of continuously variable or finely variable resolution levels. A gain adjuster scales a selected excitation vector data or preferential excitation vector data from the adaptive codebook. A synthesis filter synthesizes a synthesized speech signal in response to an input of the scaled excitation vector data. The speech coding system may be applied to an encoder, a decoder, or both.
A differential pulse-code modulation coder obtains an improved signal-to-noise ratio, with only a small increase in bit rate, by repetitive coding. In one aspect, the coder divides the input signal into frames, codes each frame repeatedly using different prediction coefficients or different quantizing step functions, and selects the coefficient or step function that produces the least quantization error. In another aspect, the coder repeats the coding of individual samples located in the outermost steps of the quantizing step function.
Controlling the presentation of audio data in a communication device includes receiving a certain first signal sequence with a microphone of the communication device, saving the first signal sequence to a temporary memory of a detector unit, receiving a certain second signal sequence with the microphone, and comparing the saved first signal sequence and the received second signal sequence to each other. If the compared signal sequences correlate, the received second signal sequence is attenuated before it is expressed with a loudspeaker or transmitted from an antenna.
The device calculates a first frequency-dependent useful signal level estimator for the frame. The transfer function of a first noise-reducing filter is determined on the basis of the first useful signal level estimator and of a frequency-dependent noise level estimator. A second frequency-dependent useful signal level estimator for the frame is then calculated by combining the spectrum of the input signal and the transfer function of the first noise-reducing filter. The transfer function of a second noise-reducing filter is determined on the basis of the second useful signal level estimator and of the noise level estimator. The latter transfer function is used in a frame filtering operation to produce a signal with reduced noise.
A speech coding apparatus includes a pulse position candidate table, inter-pulse distortion table, first and second reference address tables, first and second reference address table creation units, and search table creation unit. The pulse position candidate table stores the pulse position candidate of each pulse. The inter-pulse distortion table stores a distortion calculated every pulse interval. The first reference address table creation unit regards the pulse position of the inter-pulse distortion table as a relative distance from the start of the inter-pulse distortion table, calculates a distortion every pulse interval to obtain the absolute address of the inter-pulse distortion table, and stores it in the first reference address table. Table creation unit creates a second reference address table accordingly. A multipulse search table is created using these absolute addresses. The search table creation unit reads out absolute addresses from the first and second reference address tables, and creates the multipulse search table using them. A multipulse search processing method is also disclosed.