KR100220783B1 - Speech quantization and error correction method - Google Patents

Speech quantization and error correction method Download PDF

Info

Publication number
KR100220783B1
KR100220783B1 KR1019930701699A KR930701699A KR100220783B1 KR 100220783 B1 KR100220783 B1 KR 100220783B1 KR 1019930701699 A KR1019930701699 A KR 1019930701699A KR 930701699 A KR930701699 A KR 930701699A KR 100220783 B1 KR100220783 B1 KR 100220783B1
Authority
KR
South Korea
Prior art keywords
segment
speech
spectral
coding
amplitudes
Prior art date
Application number
KR1019930701699A
Other languages
Korean (ko)
Other versions
KR930703664A (en
Inventor
존 씨. 하드윅크
재 에스. 림
Original Assignee
존 씨. 하드웍
디지탈 보이스 시스템즈 인코퍼레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/US1991/009035 external-priority patent/WO1992010033A1/en
Application filed by 존 씨. 하드웍, 디지탈 보이스 시스템즈 인코퍼레이티드 filed Critical 존 씨. 하드웍
Publication of KR930703664A publication Critical patent/KR930703664A/en
Application granted granted Critical
Publication of KR100220783B1 publication Critical patent/KR100220783B1/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/087Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters using mixed excitation models, e.g. MELP, MBE, split band LPC or HVXC
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0316Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude
    • G10L21/0364Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude for improving intelligibility
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L21/0232Processing in the frequency domain

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 스펙트럼 진폭내에 포함된 용장성을 감소시켜 스펙트럼 진폭의 양자화를 향상시킨다. 이전 세그먼트의 스펙트럼 진폭들로부터 현행 세그먼트의 스펙트럼 진폭의 예측은 상기 두 세그먼트 사이의 기본 주파수의 어떤 변과를 나타내기 위해 조정된다. 스펙트럼 진폭 예측 오차들은 대략 동일 수의 요소를 포함하는 고정 블록수로 분할된다. 예측 오차 블록 평균(PRBA) 벡터가 형성되고 ; PRBA의 각 요소는 한 블록내의 예측 오차의 평균과 동일하다. PRBA 벡터는 양자화되거나 이산 코사인 변환(DCT)으로 변환되어 스칼라 양자화된다. 비트에러의 감지 효과는 유성음/무성음 결정을 평활화 함으로써 감소된다. 에러율의 추정은 각 세그먼트내의 보정 가능 비트 에러수를 국부적으로 평균함으로서 이루어진다. 만일 에러율이 드레쉬홀드보다 클 경우, 고 에너지 스펙트럼 진폭들은 유성음으로 선언된다.The present invention improves the quantization of the spectral amplitude by reducing the redundancy included in the spectral amplitude. The prediction of the spectral amplitude of the current segment from the spectral amplitudes of the previous segment is adjusted to indicate some variation in the fundamental frequency between the two segments. The spectral amplitude prediction errors are divided into a fixed number of blocks containing approximately the same number of elements. A predictive error block average (PRBA) vector is formed; Each element of the PRBA is equal to the average of the prediction errors in one block. PRBA vectors are quantized or transformed into discrete cosine transforms (DCT) to be scalar quantized. The detection effect of beat errors is reduced by smoothing voiced / unvoiced crystals. The estimation of the error rate is made by locally averaging the number of correctable bit errors in each segment. If the error rate is greater than the threshold, the high energy spectral amplitudes are declared voiced.

Description

[발명의 명칭][Name of invention]

음성 양자화 및 에러 보정 방법Speech quantization and error correction method

[발명의 상세한 설명]Detailed description of the invention

본 발명은 비트 에러가 존재하는 동안 음질을 보존하고 음성을 양자화하는 방법에 관한 것이다.The present invention relates to a method of preserving sound quality and quantizing speech while bit errors are present.

본 발명과 관련된 공개 문헌으로는 다음과 같은 것이 있다.J. L. Flanagan의 "음성 분석, 합성 및 인식(Speech Analysis, Synthesis and Perception)" (springer-verlag, 1972, pp.378-386)에는 음성 분석-합성 시스템에 기초된 위상 보코더(phase vocoder) 주파수 기반 음식 분석-합성 시스템에 대해 개시되어 있고,Quatieri 등의 "사인 곡선 표현에 기초한 음성 변환(Speech Transformations Based on a Sinusoidal Representation)" (IEEE TASSP, Vol, ASSP 34, NO. 6, Dec. 1986, pp.1449-1986)에는 사인 곡선 표현에 기초한 분석-합성 기법에 대해 개시되어 있으며,Griffin의 "다중 대역 여기 보코더(Multiband Excitation Vocoder)" (Ph.D. Thesis, M.I.T, 1987)에는 8000bps 다중 대역 여기 음성 코더에 대해 개시되어 있고,Griffin씨 등에 의한 "양질의 9.6Kbps 음성 코딩 시스템(A High Quality 9.6 Kbps Speech Coding System)" (Proc. ICASSP 86, pp.125-128, Tokyo, Japan, April 13-20, 1986)에는 9600bps 다중 대역 여기 음성 코더에 대해 개시되어 있고,Griffin의 "모델 기반 음성 분선/합성 시스템(A New Model-Based Speech Analysis/Synthesis System)" (Proc. ICASSP 85. pp.513-516, Tampa, FL. March 26-29, 1985)에는 다중 대역 여기 음성 모델에 대해 개시되어 있고,Hardwick의 "4.8 kbps 다중 대역 여기 음성 코어(A 4.8 kbps Multi-Band Excitation Speech Coder)" (S.M. Thesis, M.I.T, May 1988)에는 4800bps 다중 대역 여기 음성 코더에 대해 개시되어 있고,McAuly등이 "음성의 사인 곡선 표현에 기초한 중속 코딩(Mid-rate Coding Based on a Sinusoidal Representation of Speech)" (Proc. ICASSP 90, pp.465-468, Albeguerge, NM. April 3-6, 1990)에는 저속 음성 코더의 에러 보정에 대해 개시되어 있고,Campbell등의 "4800 bps 음성 코딩 표준(The New 4800 bps Voice Coding Standard)" (Mil Speech Tech Conference, Nov. 1989)에는 저속 음성 코더의 에러 보정에 대해 개시되어 있으며,Compbell등의 "지상 이동 무선 통신에 적용도는 CELP(CELP Coding for Land Mobile Radio Applications)" (Proc. ICASSP 90, pp.465-468, Albeguerge, NM. April 3-6, 1990)에는 저속 음성 코더의 에러 보정에 대해 개시되어 있고,Levesque등의 "디지탈 통신용 에러 제어 기법(Error Control Techniques for Digital Communication)" (Wiley, 1985, pp.157-170)에는 에러 보정 전반에 대해 개시되어 있고,Jayant등의 "파형의 디지털 코딩(Digital Coding of Waveform)" (Prentice-Hall, 1984)에는 양자화 전반에 대해 개시되어 있고,Makhoul 등의 "음성 코딩 벡터 양자화(Vector Quantization in Speech Coding)"(Proc. IEEE, 1985, pp.1551-1588)에는 벡터 양자화 전반에 대해 개시되어 있고,Jayant등의 "16kb/s-ADPCM 음성의 적응 포스트 필터링(Adaptive Postifiltering of 16 kb/s-ADPCM Speech)" (Proc. ICASSP 86, pp.829-832, Tokyo, Japan, April 13-20, 1986)에는 음성의 적용 포스트 필터링에 대해 개시되어 있다. 이 공개된 문헌들에 개시된 내용은 본 명세서의 일부분으로 포함된다.The following publications are related to the present invention. JL Flanagan's "Speech Analysis, Synthesis and Perception" (springer-verlag, 1972, pp. 378-386) Discloses a phase vocoder frequency based food analysis-synthesis system based on a speech analysis-synthesis system, "Speech Transformations Based on a Sinusoidal Representation" by Quatieri et al. (IEEE TASSP, Vol, ASSP 34, NO.6, Dec. 1986, pp. 1449-1986) Discloses an analysis-synthesis technique based on sinusoidal representations, Griffin's "Multiband Excitation Vocoder" (Ph.D. Thesis, MIT, 1987) Is disclosed for an 8000bps multiband excitation voice coder, Griffin et al. "A High Quality 9.6 Kbps Speech Coding System" (Proc. ICASSP 86, pp. 125-128, Tokyo, Japan, April 13-20, 1986) Discloses a 9600bps multiband excitation voice coder, Griffin's "A New Model-Based Speech Analysis / Synthesis System" (Proc. ICASSP 85. pp.513-516, Tampa, FL. March 26-29, 1985) Discloses a multi-band excitation speech model, Hardwick's "A 4.8 kbps Multi-Band Excitation Speech Coder" (SM Thesis, MIT, May 1988) Discloses a 4800bps multiband excitation voice coder, McAuly et al., "Mid-rate Coding Based on a Sinusoidal Representation of Speech" (Proc. ICASSP 90, pp. 465-468, Albeguerge, NM. April 3-6, 1990) Discloses error correction of a slow voice coder. Campbell et al. "The New 4800 bps Voice Coding Standard" (Mil Speech Tech Conference, Nov. 1989) Discloses error correction for low speed voice coders. "CELP Coding for Land Mobile Radio Applications (CELP)" by Compbell et al. (Proc. ICASSP 90, pp. 465-468, Albeguerge, NM. April 3-6, 1990) Discloses error correction of a slow voice coder. Levesque et al. "Error Control Techniques for Digital Communication" (Wiley, 1985, pp.157-170) Discloses error correction in general. Jayant et al. "Digital Coding of Waveform" (Prentice-Hall, 1984) Discloses overall quantization, Makhoul et al., "Vector Quantization in Speech Coding" (Proc. IEEE, 1985, pp. 1551-1588) Is disclosed throughout vector quantization, Jayant et al. "Adaptive Postifiltering of 16 kb / s-ADPCM Speech" (Proc. ICASSP 86, pp. 829-832, Tokyo, Japan, April 13-20, 1986) Discloses the application post filtering of speech. The contents disclosed in these published documents are included as part of this specification.

음성을 코딩(음성을 작은 수의 비트로 압축)하는 문제는 많은 분야에 응용이 되기 때문에, 여러 논문에서 그 관심을 나타내고 있다. 널리 연구되고 실제로 사용되고 있는 음성 코더(보코더)로는 음성의 기초 모델(undrelying model)에 근거한 것이 있다. 예를 들면, 선형 예측 보코더(Linear Prediction Vocoder), 동형 보코더(Homomorphic Vocoder)와 채널 보코더가 이러한 유형의 보코더이다. 이러한 보코더에서, 음성은 유음성에 대한 주기적인 일련의 임펄스에 의해 또는 무성음에 대한 랜덤 잡음에 의해 여기된 선형 시스템의 응답에 따라 짧은 시간 단위로 모델링된다.The problem of coding speech (compressing it into small bits) is of interest in many papers, as it has many applications. Voice coders (vocoders) that are widely studied and used in practice are based on the basic model of speech. For example, Linear Prediction Vocoder, Homomorphic Vocoder and Channel Vocoder are this type of vocoder. In such vocoder, speech is modeled in short time units according to the response of a linear system excited by a periodic series of impulses for voiced speech or random noise for unvoiced speech.

이런 종류의 보코더에 대해서, 음성은 해밍 윈도우(Hamming window)와 같은 윈도우를 이용하여 음성을 분절함으로써 분석이 시작된다. 그 다음, 음성의 각 분절음에 대해, 여기(excitation) 파라미터와 시스템 파라미터들이 추정되고 양자화된다. 상기 여기 파라미터는 유성음/무성음 판단 및 피치 구간을 포함한다.For this type of vocoder, speech is analyzed by segmenting the speech using a window such as a Hamming window. Then, for each segment of speech, the excitation parameter and system parameters are estimated and quantized. The excitation parameter includes voiced / unvoiced determination and pitch interval.

상기 시스템 파라미터는 시스템의 임펄스 응답 또는 스펙트럼 엔벨로프(spectral envelope)를 포함한다.The system parameter includes the impulse response or spectral envelope of the system.

음성을 재현하기 위해서, 상기 양자화된 여기 파라미터를 사용하여 유성음 구간의 주기적인 일련의 임펄스 또는 무성음 구간의 랜덤 잡음을 포함하는 여기 신호를 합성한다. 그 다음에 상기 여기 신호는 양자화 시스템 파라미터를 이용하여 필터링한다.To reproduce the speech, the quantized excitation parameter is used to synthesize an excitation signal containing a periodic series of impulses in the voiced sound interval or random noise in the unvoiced sound interval. The excitation signal is then filtered using quantization system parameters.

이러한 기초 음성 모델을 기반으로 하는 보코더들은 알기 쉬운 음성을 생성하는 데에 매우 성공적일지라도, 이들은 양질의 음성을 생성하는 데는 성공하지 못했다. 결과적으로, 상기 보코더는 양질의 음성을 코딩하는 데는 광범위하게 이용되지 못했다. 재생된 음성의 질이 떨어지는 것은 부분적으로는 상기 모델 파라미터들의 부정확한 추정 때문이기도 하고, 상기 음성 모델의 한계 때문이기도 하다.Vocoders based on this basic speech model are very successful in producing readable speech, but they have not been successful in producing quality speech. As a result, the vocoder has not been widely used to code high quality speech. The poor quality of reproduced speech is partly due to incorrect estimation of the model parameters and also due to limitations of the speech model.

다중 대역 여기(MBE : Multi-Band Excitation)음성 모델이라고도 불리는 신종 음성 모델이 1984년에 Griffin과 Lim에 의해 개발되었다. 상기 신종 음성 모델에 기초한 음성 코더들이 Griffin과 Lim에 의해 1986년에 개발되었고, 상기 코더들은 8000 bps(비트/초) 이상의 속도로 고질의 음성을 생성할 수 있음이 입증되었다.A new speech model, also called the Multi-Band Excitation (MBE) speech model, was developed by Griffin and Lim in 1984. Voice coders based on the new voice model were developed in 1986 by Griffin and Lim, and demonstrated that the coders were able to produce high quality voice at speeds above 8000 bps (bits per second).

그 후, Hardwick와 Lim에 의해 개발된 4800 bps 음성 코더로 고질의 음성을 생성할 수 있었다. 상기 4800 bps 음성 코더는 보다 더 정교한 양자화 기법을 이용함으로써, 과거의 MBE 음성 코더가 8000 bps로 획득했던 것과 비슷한 음질을 4800 bps로 획득할 수 있다.Since then, the 4800 bps voice coder developed by Hardwick and Lim has been able to produce high quality voices. The 4800 bps voice coder uses a more sophisticated quantization technique to obtain a sound quality similar to that obtained by the MBE voice coder of 8000 bps at 4800 bps.

상기 4800 bps MBE 음성 코더는 MBE 분석/합성 시스템을 이용하여 MBE 음성 모델 파라미터들을 추정하고 상기 추정된 MBE 음성 모델 파라미터들로부터 음성을 합성했다.The 4800 bps MBE speech coder estimated MBE speech model parameters using an MBE analysis / synthesis system and synthesized speech from the estimated MBE speech model parameters.

s(n)로 표시되는 이산 음성 신호(discrete speech signal)는 아날로그 음성 신호를 샘플링함으로써 얻어진다. 이것은 보통 8의 샘플링 속도로 수행되는데, 여러 시스템 파라미터들의 간단한 변화를 통해 다른 샘플링 속도를 쉽게 적용할 수도 있다. 상기 시스템은 윈도우(n)〔예컨대, 해밍 윈도우나 카이저 윈도우(Kaiser window)〕에 s(n)를 곱하여 이산 음성 신호를 소형 중첩 세그먼트 또는 세그먼트로 분할함으로써, 윈도우된 신호 sω(n)를 얻는다.A discrete speech signal represented by s (n) is obtained by sampling an analog speech signal. This is usually 8 It is performed at a sampling rate of. It is also possible to easily apply different sampling rates through simple changes of various system parameters. The system windows (n) The windowed signal s ω (n) is obtained by multiplying (e.g., a Hamming window or Kaiser window) by s (n) to divide the discrete speech signal into small overlapping segments or segments.

그 다음에 각각의 음성 세그먼트를 분석하여, 이 세그먼트의 특성을 결정하는 일련의 MBE 음성 모델 파라미터를 구한다. 상기 MBE 음성 모델 파라미터는 기본 주파수(피치 주기), 일련의 유성음/무성음 판단, 일련의 스펙트럼 진폭 및 일련의 스펙트럼 위상(이것은 포함될 수도 있고 그렇지 않을 수도 있음)으로 구성된다. 그 다음에 상기 모델 파라미터들은 각 세그먼트에 대해 일정 개수의 비트를 이용하여 양자화된다. 이렇게 해서 생기는 비트는 그 다음에 음성 신호를 재현하는데 이용될 수 있는데, 이는 처음에 상기 비트로부터 MBE 모델 파라미터들을 재현한 다음 상기 모델 파라미터로부터 음성을 합성함으로써 수행된다. 전형적인 MBE 음성 코더의 블록도가 제1도에 도시되어 있다.Each speech segment is then analyzed to obtain a set of MBE speech model parameters that determine the characteristics of the segment. The MBE speech model parameter is a fundamental frequency ( Pitch period), a series of voiced / unvoiced judgments, a series of spectral amplitudes, and a series of spectral phases (which may or may not be included). The model parameters are then quantized using a certain number of bits for each segment. The resulting bits can then be used to reproduce the speech signal, which is performed by first reproducing the MBE model parameters from the bits and then synthesizing the speech from the model parameters. A block diagram of a typical MBE voice coder is shown in FIG.

상기 4800 bps MBE 음성 코더는 상기 스펙트럼 진폭을 양자화하기 위해 보다 정교한 기법을 필요로 했다. 각각의 음성 세그먼트에 대해 상기 스펙트럼 진폭들을 양자화하는 데에 이용될 수 있는 비트수는 50 비트와 125 비트 사이에서 변한다. 또한, 각 세그먼트에 유효한 비트수를 갖는 모든 스펙트럼 진폭을 효율적으로 나타낼 수 있는 양자화 기법이 고안되었다.The 4800 bps MBE voice coder required more sophisticated techniques to quantize the spectral amplitude. The number of bits that can be used to quantize the spectral amplitudes for each speech segment varies between 50 and 125 bits. In addition, a quantization technique has been devised that can efficiently represent all spectral amplitudes having a valid number of bits in each segment.

비록 상기 스펙트럼 진폭 양자화 기법이 MBE 음성 코더에 사용되도록 고안되었을지라도, 상기 양자화 기법은 사인 곡선 변환 코더(Sinusoidal Transform Coder) 및 하모닉 코더(Harmonic Coder)와 같은 기타 다른 여러 음성 코딩 기법에도 똑같이 유용하다. 특수 음성 세그먼트에 대해, L은 상기 세그먼트의 스펙트럼 진폭들의 수를 표시한다. L값은 기본 주파수( 0)로부터 다음 관계식에 따라 유도된다.Although the spectral amplitude quantization technique is designed for use in MBE speech coders, the quantization technique is equally useful for many other speech coding techniques, such as Sinusoidal Transform Coder and Harmonic Coder. For a special speech segment, L indicates the number of spectral amplitudes of that segment. L value is the fundamental frequency ( 0 ) is derived according to the following relationship.

여기서 0β1.0은 샘플링 속도/2에 대한 음성 대역폭을 결정한다.Where 0 β 1.0 determines the voice bandwidth for sampling rate / 2.

식(1)에 인용된 함수〔x〕는 x이하의 최대 정수와 같다. L 스펙트럼 진폭들은 11L에 대한 M₁로 표시되는데, 여기서 M₁은 최저 주파수 스펙트럼 진폭이고 M₁는 최고 주파수 스펙트럼 진폭이다.The function [x] cited in equation (1) is equal to the maximum integer less than or equal to x. L spectral amplitudes are 1 One It is expressed as M₁ for L, where M₁ is the lowest frequency spectral amplitude and M₁ is the highest frequency spectral amplitude.

현재 음성 세그먼트에 대한 스펙트럼 진폭들은 현재 음성 세그먼트와 과거 음성 세그먼트 사이에 상기 스펙트럼 진폭들의 변화량을 나타내는 일련의 예측 오차(prediction residual)를 계산함으로써 양자화된다.The spectral amplitudes for the current speech segment are quantized by calculating a series of prediction residuals representing the amount of change in the spectral amplitudes between the current speech segment and the past speech segment.

L0이 현재 음성 세그먼트의 스펙트럼 진폭들의 개수를 나타내고 L-1이 과거 음성 세그먼트의 스펙트럼 진폭들의 개수를 나타내는 경우에 11L0에 대한 예측 오차 Τ는 다음과 같이 주어진다.1 if L 0 represents the number of spectral amplitudes of the current speech segment and L -1 represents the number of spectral amplitudes of the past speech segment. One The prediction error Τ for L 0 is given by

여기서 Μ0 은 현재 음성 세그먼트의 스펙트럼 진폭을 나타내고은 과거 세그먼트의 양자화된 스펙트럼 진폭을 나타낸다. 상수는 보통 7이지만 0 1 범위내의 어떠한 값도 이용될 수 있다.Where Μ 0 represents the spectral amplitude of the current speech segment Denotes the quantized spectral amplitude of the past segment. a constant Is usually 7, but 0 Any value within the range of 1 can be used.

상기 예측 오차는 k개의 요소로 이루어진 블록으로 분할되는데, 여기서 k값은 대개 4k12 범위에 있다. L이 k에 의해 균일하게 분할될 수 없는 경우, 최고 주파수 블록은 k보다 더 작은 개수의 요소를 포함한다. 이것은 제2도에 나타나 있는데, 제2도에서 L34이고 k8이다.The prediction error is divided into blocks of k elements, where k is usually 4 k It is in the 12 range. If L cannot be divided evenly by k, then the highest frequency block contains a smaller number of elements than k. This is shown in Figure 2, where in Figure 2 L 34 and k 8.

그 다음 각각의 예측 오차 블록은 이산 코사인 변환(DCT : Discrete Cosine Transform)을 이용하여 변환되는데, 상기 DCT는 다음과 같이 정의된다.Each prediction error block is then transformed using a Discrete Cosine Transform (DCT), where the DCT is defined as follows.

각 블록에 대한 상기 변환의 길이(J)는 상기 블록에 있는 요소에 개수와 같다. 그러므로, 최고 주파수 블록을 제외한 모든 불록은 길이 k의 DCT로 변환되는 반면에, 최고 주파수 블록에 대한 DCT의 길이는 k보다 작거나 같다. 상기 DCT가 반전 가능 변환이기 때문에, L DCT계수는 현재 세그먼트에 대한 스펙트럼 진폭 예측 오차들을 완전히 지정한다.The length J of each transform for each block is equal to the number of elements in the block. Therefore, all blocks except the highest frequency block are converted to a DCT of length k, while the length of the DCT for the highest frequency block is less than or equal to k. Since the DCT is an invertible transform, the L DCT coefficient completely specifies the spectral amplitude prediction errors for the current segment.

상기 스펙트럼 진폭들을 양자화하는 데 사용될 수 있는 총 비트수는 비트 할당 규칙에 따라 상기 DCT계수 사이에서 분할된다. 상기 규칙은 보다 많은 비트를 감지적으로 보다 덜 중요한 고주파수 블록보다는 감지적으로 보다 중요한 저주파수 블록에 제공된다. 또한 상기 비트 할당 규칙은 DCT계수들의 상대적인 장기간 변화에 따라 한 블록내의 비트들을 DCT계수에 분할한다. 이러한 방법은 상기 비트 할당을 음성의 인식 특성 및 DCT의 양자화 특성에 적합하도록 만든다.The total number of bits that can be used to quantize the spectral amplitudes is divided between the DCT coefficients according to a bit allocation rule. The rule is provided for low frequency blocks that are more sensitive to sensitive than high frequency blocks that are more sensitive to sensitive. In addition, the bit allocation rule divides bits in one block into DCT coefficients according to relative long-term changes of the DCT coefficients. This method makes the bit allocation suitable for speech recognition characteristics and DCT quantization characteristics.

각각의 DCT계수는 비트 할당 규칙에 의해 지정된 비트수를 이용하여 양자화된다. 통상, 균등 양자화가 이용되지만, 비균등 또는 벡터 양자화도 이용될 수도 있다. 각각의 양자화기에 대한 스텝 크기(step size)는 상기 DCT계수들의 장기 분산 및 각 계수를 양자화하는 데 이용된 비트수로부터 결정된다. 아래의 표 1은 σ2과 동일한 장기 분산에 대해 스텝 크기의 전형적인 변화를 비트 수의 함수로 나타낸 것이다.Each DCT coefficient is quantized using the number of bits specified by the bit allocation rule. Normally, equal quantization is used, but non-uniform or vector quantization may also be used. The step size for each quantizer is determined from the long term variance of the DCT coefficients and the number of bits used to quantize each coefficient. Table 1 below shows a typical change in step size as a function of the number of bits for a long term variance equal to σ 2 .

일단 각 DCT계수가 비트 할당 규칙에 의해 지정된 비트수를 이용하여 양자화되었다면, 적용 분야에 따라 2진 표현이 전송, 저장 등등으로 될 수 있다. 상기 스펙트럼 진폭들은 상기 2진 표현으로부터 재현될 수 있는데, 이는 처음에 각 블록에 대해 양자화된 DCT계수를 재현하고, 각 블록사에 역 DCT를 실행한 다음 식(2)의 역을 이용하여 과거 세그먼트의 양자화된 스펙트럼 진폭들과 결합함으로써 수행된다. 상기 역 DCT는 다음과 같이 주어진다.Once each DCT coefficient has been quantized using the number of bits specified by the bit allocation rules, a binary representation can be transmitted, stored, etc., depending on the application. The spectral amplitudes can be reproduced from the binary representation, which first reproduces the quantized DCT coefficients for each block, performs an inverse DCT on each block yarn, and then uses the inverse of equation (2) to segment the past. By combining with the quantized spectral amplitudes of. The reverse DCT is given by

여기서 각 블록에 대한 길이 J는 상기 블록내의 요소의 개수로 선택되고, α(j)는 다음과 같이 주어진다Where the length J for each block is selected as the number of elements in the block, and α (j) is given by

상기 4800 bps MBE 음성 코더가 갖는 한가지 잠재적 문제점은 비트 에러가 MBE 모델 파라미터들의 2진 표현에 부가되는 경우에 상기 재현된 음성의 인식도가 크게 감소될 수도 있다는 것이다. 많은 음성 코더 응용에서, 비트 에러가 존재하기 때문에, 견고한 음성 코더는 비트 에러를 보정, 검출 및/ 또는 허용할 수 있어야만 하다. 매우 성공적이라고 밝여진 한가지 기법은 상기 모델 파라미터들의 2진 표현의 에러 보정 코드를 이용하는 것이다.One potential problem with the 4800 bps MBE speech coder is that the recognition of the reproduced speech may be greatly reduced when bit errors are added to the binary representation of MBE model parameters. In many voice coder applications, because bit errors exist, a robust voice coder must be able to correct, detect and / or allow bit errors. One technique that has been found to be very successful is to use an error correction code of the binary representation of the model parameters.

에러 보정 코드는 드문(infrequent) 비트 에러를 보정하고, 시스템으로 하여금 에러율을 평가하도록 하다. 상기 에러율의 평가는 다음에 상기 모델 파라미터들을 적합하게 처리한 데 이용될 수 있는데, 이는 어떠한 잔존하는 비트 에러들의 효과를 감소키 위함이다.The error correction code corrects for infrequent bit errors and allows the system to evaluate the error rate. The evaluation of the error rate can then be used to properly process the model parameters to reduce the effect of any remaining bit errors.

통상, 상기 에러율은 현재 세그먼트의 에러 보정 코드에 의해 보정(또는 검출)된 에러들의 수를 카운트함으로써 평가되고, 이 정보를 이용하여 에러율의 현재 평가를 갱신한다. 예를 들어, 각 세그먼트가 23 비트 중에서 3개의 에러를 보정할 수 있는 (23,12) 골레이(Golay) 코드를 포함하고, εT가 현재 세그먼트에서 보정된 에러(0-3)의 개수를 표시하는 경우에, 에러율(εR)의 현재 평가는 다음 식에 따라 갱신된다.Typically, the error rate is evaluated by counting the number of errors corrected (or detected) by the error correction code of the current segment, and this information is used to update the current estimate of the error rate. For example, each segment contains a (23,12) Golay code that can correct three errors out of 23 bits, and ε T is the number of errors (0-3) corrected in the current segment. In the case of displaying, the current evaluation of the error rate ε R is updated according to the following equation.

여기서 β는 εR의 적응성(adaptability)을 제어하는 0β1 범위의 상수이다.Where β is 0, which controls the adaptability of ε R. β Constant in the range of 1.

에러 보정 코드 또는 에러 검출 코드가 이용되는 경우에, 상기 음성 모델 파라미터를 나타내는 비트들은 비트 에러에 더욱 견고한 다른 비트 세트로 전환된다.When an error correction code or error detection code is used, the bits representing the voice model parameter are switched to another bit set that is more robust to bit error.

상기 에럴 보정 또는 검출 코드의 이용은 통상 전송되고 저장되어야만 하는 비트의 수를 증가시킨다. 전송되어야만 하는 엑스트라 비트의 수는 대개 에러 보정 또는 검출 코드의 견고함에 관련된다. 대부분의 응용에서, 전송되고 저장되는 총 비트수를 최소화하는 것이 바람직하다. 에러 보정 또는 검출 코드는 전체 시스템 동작을 최소화하도록 선택되어져야만 한다.The use of the error correction or detection code typically increases the number of bits that must be transmitted and stored. The number of extra bits that must be transmitted is usually related to the robustness of the error correction or detection code. In most applications, it is desirable to minimize the total number of bits transmitted and stored. Error correction or detection codes should be chosen to minimize overall system operation.

이와 같은 부류의 음성 코딩 시스템에서 또 다른 문제점은 음성 모델 파라미터의 추정의 한계점으로 인해 합성된 음성의 질이 떨어진다는 것이다. 모델 파라미터의 후속 양자화는 질 저하를 심화시킨다. 이러한 질 저하는 합성된 음성을 메아리친 음성이나 입을 막고 소리내는 음성처럼 만들 수 있다. 또한, 원래 음성에는 없었던 백그라운드 잡음 또는 기타 다른 인공물들이 발행될 수도 있다. 이러한 형태의 음성 질 저하는 심지어는 음성 데이터에 비트 에러가 없을 때에도 발생된다. 그러나, 비트 에러는 이러한 문제점을 더욱 악화시킬 수 있다.Another problem with this class of speech coding systems is that the quality of the synthesized speech is degraded due to the limitations of the estimation of the speech model parameters. Subsequent quantization of model parameters exacerbates quality degradation. This degradation can make the synthesized voice sound like an echoed voice or a closed voice. In addition, background noise or other artifacts may be issued that were not originally present in voice. This type of speech degradation occurs even when there is no bit error in the speech data. However, bit errors can exacerbate this problem.

음성 코딩 시스템은 이와 같은 문제점을 최소화하기 위해 파라미터 추정기와 파라미터 양자화기를 최적화하는 것이 보통이다. 기타 다른 시스템들은 포스트 필터링(post-filtering)에 의해 상기 문제점을 해결하려고 한다.Speech coding systems typically optimize parameter estimators and parameter quantizers to minimize this problem. Other systems try to solve the problem by post-filtering.

포스트 필터링에서, 출력 음성은 포맷 피크(format peak)를 날카롭게 하는 적응성 올-폴 필터(adaptive all-pole filter)로 시간 영역에서 필터링 된다. 상기 방법은 스펙트럼 향상 처리에 대해서 미세한 제어를 제공하지 않고 계산이 복잡하며 주파수 영역 음성 코더에 대해 비효율적이다.In post filtering, the output speech is filtered in the time domain with an adaptive all-pole filter that sharpens the format peak. The method does not provide fine control over the spectral enhancement process and is computationally complicated and inefficient for frequency domain speech coders.

본 명세서에 개시된 본 발명은 기타 다른 많은 코딩 기법, 예컨대 선형 예측 음성 코더, 채널 보코더, 동형 보코더, 사인 곡선 변환 코더, 다중 대역 여기 음성 코더 및 개량된 다중 대역 여기(IMBE : improved multiband excitation)음성 코더에 적용되는데, 이것에 한정되지는 않는다. 본 발명을 상세히 설명하기 위해서, INMARSAT-M(International Marine Satellite Organization : 국제 해상 위성 기구) 위성 통신 시스템의 일부로서 최근에 표준화된 6.4Kbps IMBE 음성 코더를 이용하기도 한다. 상기 코더는 다중 대역 여기(MBE : Multi-Band Excitation)음성 모델이라고도 하는 견고한 음성 모델을 이용한다.The invention disclosed herein provides many other coding techniques, such as linear predictive speech coders, channel vocoders, homomorphic vocoders, sinusoidal transform coders, multiband excitation speech coders and improved multiband excitation (IMBE) speech coders. Applies to, but is not limited to. To illustrate the invention in detail, a recently standardized 6.4 Kbps IMBE voice coder may be used as part of the INMARSAT-M satellite communications system. The coder uses a robust speech model, also known as a multi-band excitation (MBE) speech model.

상기 MBE 모델 파라미터들을 양지화하기위한 효과적인 방법들이 개발되었다. 상기 방법들은 사실상 2 Kbps 이상의 어떠한 비트 속도로도 상기 모델 파라미터들을 양자화할 수 있다. 상기 INMARSAT_M 위성 통신 시스템에 사용된 상기 6.4 Kbps IMBE 음성 코더는 50프레임 속도를 이동한다. 그러므로 프레임당 128개의 비트가 사용될 수 있다. 상기 128개의 비트 중에서 45개의 비트는 순방향 에러 보정을 위해 보존되다.Effective methods for quantifying the MBE model parameters have been developed. The methods can quantize the model parameters at virtually any bit rate above 2 Kbps. The 6.4 Kbps IMBE voice coder used in the INMARSAT_M satellite communication system is 50 Move the frame rate. Therefore 128 bits per frame can be used. 45 bits out of the 128 bits are reserved for forward error correction.

프레임에 남아있는 83개의 비트는 MBE 모델 파라미터를 양지화하는 데 이용되며, 상기 파라미터는 기본 주파수 0, 1kK 에 대한 V/UV 결정 υk와 11L에 대한 스펙트럼 진폭 M₁파라미터를 포함한다.The 83 bits remaining in the frame are used to localize the MBE model parameters, which are the fundamental frequencies. 0 , 1 k V / UV Determination for K υ k and 1 One The spectral amplitude M₁ parameter for L is included.

K 및 L 값은 각 프레임의 기본 주파수에 따라 변화한다. 상기 83개의 유효 비트는 아래의 표 2에 도시된 바와 같이 상기 모델 파라미터 사이에서 분할된다.The K and L values change with the fundamental frequency of each frame. The 83 valid bits are divided between the model parameters as shown in Table 2 below.

기본 주파수는 기본 주파수를 식(7)을 이용하여 자기의 등가 피치 구간으로 전환함으로써 양자화된다.The fundamental frequency is quantized by converting the fundamental frequency into its equivalent pitch section using equation (7).

P0의 값은 통상 8샘플링 속도인 경우 20P0 120 범위로 제한된다. 6.4 Kbps IMBE 시스템에서, 상기 파라미터는 8개의 비트와 5의 스텝 크기를 이용하여 균등하게 양자화된다. 이것은 1/2 샘플의 피치 정확도에 해당한다.The value of P 0 is usually 8 20 for sampling rate P 0 Limited to 120 ranges. In a 6.4 Kbps IMBE system, the parameters are quantized evenly using 8 bits and a step size of 5. This corresponds to a pitch accuracy of 1/2 sample.

상기 K V/UV 결정 파라미터 2진 갓이다. 그러므로 이들은 하나의 결정에 대해 하나의 비트를 이용하여 코드화될 수 있다. 6.4 Kbps 시스템은 최대로 12개의 결정 파라미터를 사용하고 각 주파수 대역폭은 3 0이다. 최고 주파수의 폭은 3.8까지의 주파수들을 포함하도록 조절되다.The KV / UV Decision Parameter Binary Gad. Therefore they can be coded using one bit for one decision. The 6.4 Kbps system uses up to 12 decision parameters and each frequency bandwidth is 3 0 . The highest frequency is 3.8 Adjusted to include frequencies up to

스펙트럼 진폭들은 일련의 예측 오차를 형성함으로써 양장화된다. 각각의 예측 오차는 현재 프레임에 대한 스펙트럼 진폭의 대수(logarithm)의 과거 음성 프레임의 동일 주파수를 나타내는 스펙트럼 진폭의 대수와의 차이다. 상기 스펙트럼 진폭 예측 오차는 다음에 각각의 대략 동일한 수의 예측 오차를 포함하는 6개의 블록으로 분할된다.The spectral amplitudes are normalized by forming a series of prediction errors. Each prediction error is the difference between the logarithm of the spectral amplitude for the current frame and the logarithm of the spectral amplitude representing the same frequency of the past speech frame. The spectral amplitude prediction error is then divided into six blocks containing each approximately equal number of prediction errors.

6개의 블록 각각은 이산 코사인 변환(DCT : Discrete Cosine Transform)에 의해 변환되고 6개의 블록 각각의 D.C 계수는 결합되어 하나의 6-요소 예측 오차 블록 평균(PRBA : Prediction Residual Block Average) 벡터로 된다. 상기 평균은 PRBA 벡터로부터 감산되고 6 비트의 불균일 양자화기를 이용하여 양자화된다. 제로 평균 PRBA 벡터는 다음에 10 비트 벡터 양자화기를 이용하여 벡터 양자화된다. 상기 10 비트 PRBA로 드북(codebook)은 다양한 음성재로부터의 제로 평균 PRBA 벡터들을 포함하는 커다란 트레이닝 세트(training set)상에 K-평균 클러스터링(clustering) 알고리즘 사용하여 설계되었다.Each of the six blocks is transformed by a Discrete Cosine Transform (DCT), and the D.C coefficients of each of the six blocks are combined to form a single 6-element Prediction Residual Block Average (PRBA) vector. The mean is subtracted from the PRBA vector and quantized using a 6 bit heterogeneous quantizer. The zero mean PRBA vector is then vector quantized using a 10 bit vector quantizer. The 10-bit PRBA codebook was designed using a K-means clustering algorithm on a large training set containing zero mean PRBA vectors from various speech materials.

PRBA 벡터에 포함되지 않은 고차 DCT 계수는 '59-K' 잔존 비트를 이용하여 스칼라 균일 양자화기로 양자화된다. 비트 할당 및 양자화기 스텝 크기는 고차 DCT계수의 장기 분산에 기초한다.Higher order DCT coefficients not included in the PRBA vector are quantized with a scalar uniform quantizer using the '59 -K 'residual bits. Bit allocation and quantizer step size are based on long term variance of higher order DCT coefficients.

상기 양자화 기법에는 여러 가지 장점들이 있다.The quantization technique has several advantages.

첫째, 상기 기법은 약간의 비트수로 매우 양호한 충실도(fidelity)를 제공하고 L의 범위가 변해도 상기 충실도를 유지한다. 또한 상기 기법의 계산 요구는 AT&T DSP32C와 같은 하나의 DSP를 이용한 실시간 구현에 요구되는 한계내에 있다. 마지막으로, 상기 양자화 기법은 상기 스펙트럼 진폭들을 PRBA 벡터의 평균과 같은 비트 에러에 민감한 약간의 요소들과 비트 에러에 매우 둔감한 기타 많은 다른 요소들로 분리한다. 따라서, 비트 에러에 민감한 약간의 요소에 대해서는 고도의 보호를 하고, 나머지 요소에 대해서는 낮은 수준의 보호를 함으로써 순방향 에러 보정을 효과적으로 이용할 수 있게 된다. 이것은 아래에 설명될 것이다.First, the technique provides very good fidelity with a few bits and maintains the fidelity even if the range of L changes. The computational requirements of the technique are also within the limits required for real-time implementation using a single DSP, such as the AT & T DSP32C. Finally, the quantization technique separates the spectral amplitudes into some elements that are sensitive to bit errors, such as the average of a PRBA vector, and many other elements that are very insensitive to bit errors. Therefore, it is possible to effectively use forward error correction by providing a high degree of protection for some elements that are sensitive to bit errors and a low level of protection for the remaining elements. This will be explained below.

본 발명의 제1 양상에 따르면 예측 스펙트럼 진폭을 형성하기 위한 향상된 방법을 제공한다. 이 방법은 현재 세그먼트의 주파수에서 과거 세그먼트의 스펙트럼 진폭을 추정하기 위해서 과거 세그먼트의 스펙트럼 진폭을 보간하는 것에 기초된다. 이와 같은 새로운 기법은 세그먼트간 스펙트럼 진폭의 주파수의 시프트를 보정함으로써 예측 오차의 분산은 더 작아지며, 따라서 소정의 비트수에 대해 보다 작은 왜곡으로 양자화될 수 있다. 바람직한 실시예에서, 상기 스펙트럼 진폭들의 주파수는 기본 주파수 및 이 기본 주파수의 배수이다.According to a first aspect of the present invention there is provided an improved method for forming a predicted spectral amplitude. The method is based on interpolating the spectral amplitude of the past segment to estimate the spectral amplitude of the past segment at the frequency of the current segment. This new technique makes the variance of the prediction error smaller by correcting the shift in the frequency of the intersegment spectral amplitude, and thus can be quantized with smaller distortion for a given number of bits. In a preferred embodiment, the frequency of the spectral amplitudes is a fundamental frequency and a multiple of this fundamental frequency.

본 발명의 제2 양상에 따르면, 에측 오차를 블록으로 분활하기 위한 향상된 방법을 제공한다. 각 블록의 길이를 고정시킨 다음에 상기 예측 오차들을 가변 개수의 블록수로 분할하는 대신, 상기 예측 오차들을 소정의 블록수로 분할하고 블록 크기를 세그먼트에 따라 다르게 한다. 바람직한 실시예에서는 모든 세그먼트에 6개의 블록을 이용하며, 저 주파수 블록의 예측 오차들의 수는 고주파수 블록의 예측 오차들의 수보다 많지 않고, 최고 주파수 블록의 요소의 수와 최조 주파수 블록의 요소의 수간 차는 1보다 작거나 같다. 이와 같은 새로운 기법은 음성 특성에 보다 근접하기 때문에, 상기 새로운 기법은 상기 예측 오차가 소정의 비트수에 대해 거의 왜곡되지 않고 양자화되게 한다. 또한, 상기 기법은 스펙트럼 진폭들의 양자화를 보다 향상시키기 위해서 벡터 양자화와 함께 쉽게 이용될 수 있다.According to a second aspect of the present invention, there is provided an improved method for dividing a prediction error into blocks. Instead of dividing the prediction errors into a variable number of blocks after fixing the length of each block, the prediction errors are divided into a predetermined number of blocks and the block size is varied according to segments. In a preferred embodiment, six blocks are used for all segments, and the number of prediction errors of the low frequency block is not greater than the number of prediction errors of the high frequency block, and the difference between the number of elements of the highest frequency block and the number of elements of the lowest frequency block Is less than or equal to 1 Since this new technique is closer to the speech characteristic, the new technique allows the prediction error to be quantized with little distortion for a given number of bits. In addition, the technique can be easily used with vector quantization to further improve the quantization of the spectral amplitudes.

본 발명의 제3 양상에 따르면, 예측 오차들을 양자화하기 위한 향상된 방법을 제공한다. 상기 예측 오차들은 블록들 내에 체계적으로 분류되어 각 블록내의 상기 예측 오차들의 평균이 결정된다. 모든 블록들의 평균은 예측 오차 블록들의 평균(PRBA : Prediction Residual Block Average)벡터로 체계적으로 분류되고, PRBA 벡터는 코드화 된다. 바람직한 실시예에서, 상기 예측 오차들의 평균은 스펙트럼 진폭 오차들을 블록 내에 부가하고 예측 오차들의 수를 상기 블록내에 분할하거나 상기 스펙트럼 예측 오차들의 DCT를 한 블록 내에서 계산하여 평균으로서 DCT의 제1 계수를 이용함으로써 획득된다. 상기 PRBA 벡터는 다음 두가지 방법 중 하나를 사용하여 코드화 하는 것이 바람직하다.According to a third aspect of the present invention, there is provided an improved method for quantizing prediction errors. The prediction errors are systematically classified in blocks to determine the average of the prediction errors in each block. The average of all blocks is systematically classified into a Prediction Residual Block Average (PRBA) vector, and the PRBA vector is encoded. In a preferred embodiment, the average of the prediction errors adds spectral amplitude errors into the block and divides the number of prediction errors into the block or calculates the DCTs of the spectral prediction errors within one block to obtain the first coefficient of DCT as the average. Is obtained. The PRBA vector is preferably encoded using one of the following two methods.

(1)PRBA 벡터의 DCT와 같은 변환을 수행하고, 상기 변환 계수를 스칼라 양자화하는 방법.(1) performing a transform such as DCT of a PRBA vector and scalar quantizing the transform coefficients.

(2)상기 PRBA 벡터를 벡터 양자화 하는 방법.(2) A method of vector quantization of the PRBA vector.

벡터 양자화는 바람직하게도 PRBA 벡터의 평균을 결정하고, 스칼라 양자화를 이용하여 상기 평균을 양자화 하며, 제로 평균 코드북을 갖는 벡터 양자화를 이용하여 제로 평균 PRBA 벡터를 양자화함으로써 수행된다. 본 발명의 장점은 소정의 비트수에 대한 왜곡이 감소되면서 예측 오차들을 양자화 할 수 있다는 것이다.Vector quantization is preferably performed by determining the mean of the PRBA vectors, quantizing the mean using scalar quantization, and quantizing the zero mean PRBA vector using vector quantization with a zero mean codebook. An advantage of the present invention is that it is possible to quantize the prediction errors while reducing the distortion for a given number of bits.

본 발명의 제4 양상에 따르면, 상위 비트 에러율이 존재할 때, 유성음/무성음 결정을 하기 위한 향상된 방법을 제공한다. 상기 비트 에러율은 현재 음성 세그먼트에 대해 평가되고 소정의 에러율 임계치와 비교된다.According to a fourth aspect of the present invention, there is provided an improved method for making voiced / unvoiced decisions when there is a higher bit error rate. The bit error rate is evaluated for the current speech segment and compared with a predetermined error rate threshold.

평가된 비트 에러율이 상기 에러율 임계치를 초과하면, 소정의 에너지 임계치를 초과한 스펙트럼 진폭에 대한 유성음/무성음 판단은 현재 세그먼트에 대해 모두 유성음이라는 결정을 내린다. 이렇게 하면, 비트 에러를 인식하는 효과가 줄어든다. 유성음에서 무성음으로 바뀜에 따라 발생된 왜곡은 감소된다.If the evaluated bit error rate exceeds the error rate threshold, then voiced / unvoiced determinations for spectral amplitudes exceeding a predetermined energy threshold make the decision that all voices are voiced for the current segment. This reduces the effect of recognizing bit errors. The distortion produced by changing from voiced to unvoiced is reduced.

본 발명의 제5 양상에 따르면, 음성 모델 파라미터들의 에러 보정(또는 에러 검출) 코딩에 대한 향상된 방법을 제공한다. 상기 새로운 방법은 양자화 모델 파라미터들을 코드화하기 위해 적어도 두가지 유형의 에러 보정 코딩을 이용한다. 제1 유형의 코딩은 제2 유형의 코딩보다 더 많은 수의 추가 비트를 부가하는데, 이것은 비트 에러에 좀 더 민감한 파라미터 그룹에 대해 이용된다. 다른 유형의 에러 보정 코딩은 제1의 유형보다 비트 에러에 덜 민감한 제2 파라미터 그룹에 대해 이용된다. 이 방법을 현재 사용되고 있는 방법들과 비교해보면, 상기 새로운 방법은 비트 에러가 존재하는 경우, 합성 음성의 질을 향상시키는 반면에 부가되어야 하는 추가 에러 보정 또는 검출 비트의 양을 감소시킨다. 바람직한 실시예에서, 상기 다른 유형의 에러 보정은 골레이 코드와 해밍 코드를 포함한다.According to a fifth aspect of the invention, there is provided an improved method for error correction (or error detection) coding of speech model parameters. The new method uses at least two types of error correction coding to code the quantization model parameters. The first type of coding adds a larger number of additional bits than the second type of coding, which is used for parameter groups that are more sensitive to bit errors. Another type of error correction coding is used for the second parameter group which is less sensitive to bit errors than the first type. Comparing this method with those currently used, the new method improves the quality of synthesized speech when bit errors are present, while reducing the amount of additional error correction or detection bits that must be added. In a preferred embodiment, the other type of error correction includes a Golay code and a Hamming code.

본 발명의 제6 양상에 따르면, 비트 에러가 존재할 때, 합성 음성의질을 향상시키기 위한 또 다른 방법을 제공한다. 에러율은 에러 보정 코딩으로부터 평가되고, 과거 세거먼트로부터의 하나 이상의 모델 파라미터들은 파라미터들에 대한 상기 에러율이 소정 레벨을 초과할 경우에 현재 세그먼트에서 반복된다. 바람직한 실시예에서, 모든 모델 파리미터들은 반복된다.According to a sixth aspect of the present invention, there is provided another method for improving the quality of synthesized speech when bit errors are present. The error rate is evaluated from error correction coding and one or more model parameters from past segments are repeated in the current segment if the error rate for parameters exceeds a certain level. In a preferred embodiment, all model parameters are repeated.

본 발명의 제7 양상에 따르면, 모델 파라미터들의 평가 및 양자화에 의해 유발된 왜곡 감소시키기 위한 새로운 방법을 제공한다. 상기 새로운 방법은 스펙트럼 엔벨로프 파라미터들을 나타내는 주차수 영역을 이용하여, 감지적으로 중요한 스펙트럼 영역을 늘리고 감지적으로 별로 중요하지 않은 영역을 줄어들게 한다. 그 결과, 합성 음성의 질 저하를 감소시킨다. 상기 세그먼트의 평활화된 스펙트럼 엔벨로프는 스펙트럼 엔벨로프를 평활화 함으로써 발생되고, 증가된 스펙트럼 엔벨로프는 평활화 된 엔벨로프 보다 더 큰 진폭을 갖는 스펙트럼 엔벨로프에 대한 어떤 주파수 영역을 증가시키고 평활화된 엔벨로프보다 더 작은 진폭을 갖는 스펙트럼 엔벨로프에 대한 어떤 주파수 영역을 감소함으로써 발생된다. 바람직한 실시예에서, 평활된 스펙트럼 엔벨로프는 스펙트롬 엔벨로트로부터 저차(low-order) 모델(예컨대, 올 폴 모델(all-pole model))을 평가함으로써 발생된다. 현재 사용되고 있는 방법들과 비교해 보면, 상기 새로운 방법은 주파수 영역 음성 코더에 대해 계산 효율이 더 좋다. 또한, 상기 새로운 방법은 시간 영역 방법에 의해 부과된 주파수 영역 억제를 제거함으로써 음성의 질을 향상시켜 준다.According to a seventh aspect of the present invention, there is provided a new method for reducing distortion caused by evaluation and quantization of model parameters. The new method utilizes parking area representing the spectral envelope parameters to increase the sensibly important spectral area and reduce the sensitively less significant area. As a result, the quality degradation of the synthesized voice is reduced. The smoothed spectral envelope of the segment is generated by smoothing the spectral envelope, and the increased spectral envelope increases a certain frequency range for the spectral envelope with a larger amplitude than the smoothed envelope and has a smaller amplitude than the smoothed envelope. It is generated by reducing any frequency range for the envelope. In a preferred embodiment, the smoothed spectral envelope is generated by evaluating a low-order model (eg, an all-pole model) from the spectrum envelope. Compared to currently used methods, the new method is more computationally efficient for frequency domain voice coders. The new method also improves voice quality by eliminating the frequency domain suppression imposed by the time domain method.

본 발명의 기타 다른 특징 및 장점들은 다음의 바람직한 실시예의 설명 및 청구범위에 의해 보다 명확해질 것이다.Other features and advantages of the present invention will become more apparent from the following description of the preferred embodiments and the claims.

[도면의 간단한 설명][Brief Description of Drawings]

제1-2도는 종래 음성 코딩 방법을 보여주는 블록도이다.1-2 is a block diagram showing a conventional speech coding method.

제3도는 본 발명의 바람직한 실시예로서 스펙트럼 진폭 예측이 기본 주파수에서의 어떤 변화를 보여주는 흐름도이다.3 is a flow chart showing some variation in fundamental frequency where spectral amplitude prediction is a preferred embodiment of the present invention.

제4도는 본 발명의 바람직한 실시예로서 스펙트럼 진폭이 고정 블록수로 분할되는 것을 보여주는 흐름도이다.4 is a flowchart showing that the spectral amplitude is divided into a fixed number of blocks as a preferred embodiment of the present invention.

제5도는 본 발명의 바람직한 실시예로서 예측 오차블록 평균 벡터가 형성되는 것을 보여주는 흐름도이다.5 is a flowchart showing that a prediction error block average vector is formed as a preferred embodiment of the present invention.

제6도는 본 발명의 바람직한 실시예로서 예측 오차 블록 평균 벡터가 벡터 양자화되는 것을 보여주는 흐름도이다.6 is a flowchart showing that the prediction error block mean vector is vector quantized as a preferred embodiment of the present invention.

제7도는 본 발명의 바람직한 실시예로서 예측 오차 블록 평균 벡터가 DCT 와 스칼라 양자화로 양자화되는 것을 보여주는 흐름도이다.7 is a flowchart showing that a prediction error block mean vector is quantized by DCT and scalar quantization as a preferred embodiment of the present invention.

제8도는 본 발명의 바람직한 실시예로서 다른 에러 보정 코드가 다른 모델 파라미터 비트에 대해 이용되는 엔코더를 보여주는 흐름도이다.8 is a flowchart showing an encoder in which different error correction codes are used for different model parameter bits as a preferred embodiment of the present invention.

제9도는 본 발명의 바람직한 실시예로서 다른 에러 보정 코드가 다른 모델 파라미터 비트에 대해 이용되는 디코더를 보여주는 흐름도이다.9 is a flowchart showing a decoder in which different error correction codes are used for different model parameter bits as a preferred embodiment of the present invention.

제10도는 본 발명의 바람직한 실시예로서 향상된 주파수 영역 스펙트럼 엔벨로프 파라미터를 도시한 흐름도이다.10 is a flow chart illustrating the enhanced frequency domain spectral envelope parameters as a preferred embodiment of the present invention.

[본 발명의 바람직한 실시예에 대한 설명][Description of Preferred Embodiments of the Invention]

종래 기술에서는, 스펙트럼 진폭 예측 오차를 식(2)을 이용하여 형성하였다. 이와 같은 방법은 과거 세그먼트와 현재 세그먼트간의 기본 주파수의 어떠한 변화도 설명할 수 없다. 기본 주파수의 변화에 대해 설명하기 위해서, 고거 세그먼트의 스펙트럼 진폭들을 먼저 보간(interpolation)하는 새로운 기법이 개발되었다. 이는 전형적으로 선형 보간을 이용하여 수행된다. 그러나 다양한 기타 다른 형태의 보간도 이용될 수 있다. 그 다음에 과거 세그먼트의 보간된 스펙트럼 진폭들은 현재 세그먼트의 기본 주파수의 배수에 상응하는 주파수 포인트에서 재샘플링된다. 이와 같이 보간과 재샘플링을 결합하면, 기본 주파수의 어떠한 세그먼트간 변화에 대해 보정된 일련의 예측 스펙트럼 진폭을 생성하게 된다.In the prior art, spectral amplitude prediction errors were formed using equation (2). Such a method cannot account for any change in the fundamental frequency between the past segment and the current segment. To account for the change in the fundamental frequency, a new technique has been developed that first interpolates the spectral amplitudes of the go-go segments. This is typically done using linear interpolation. However, various other forms of interpolation may be used. The interpolated spectral amplitudes of the past segment are then resampled at a frequency point corresponding to a multiple of the fundamental frequency of the current segment. This combination of interpolation and resampling produces a series of predicted spectral amplitudes that are corrected for any intersegment changes in the fundamental frequency.

통상, 밑수가 2인 일부 예측 스펙트럼 진폭들의 대수가 밑수가 2인 현재 세그먼트의 스펙트럼 진폭들의 대수로부터 감산된다. 선형 보간이 상기 예측 스펙트럼 진폭들을 계산하는 데 이용되는 경우, 이는 수학적으로 다음과 같이 표현된다.Typically, the logarithm of some predictive spectral amplitudes of base 2 is subtracted from the logarithm of the spectral amplitudes of the current segment of base 2. When linear interpolation is used to calculate the prediction spectral amplitudes, this is expressed mathematically as follows.

여기서 δ은 다음과 같이 주어진다.Where δ is given by

여기서는 0 1 에 속하는 정수이다. 통상, 7이지만, 다른 값의도 이용될 수 있다. 예를 들어는 성능 향상을 위하여 세그먼트에 따라 적합하게 변화될 수 있다. 식(9)의 파라미터는 각각 현재 세그먼트와 과거 세그먼트의 기본 주파수이다. 상기 두 개의 기본 주파수가 동일한 경우, 새로운 방법은 종래의 방법보다 낮은 분산을 갖는 예측 오차들을 생성한다. 이는 소정의 비트수에 대해 보다 작은 왜곡을 갖고서 예측 오차들을 생성한다.here Is 0 An integer belonging to 1. Normal, 7, but of a different value May also be used. E.g May be changed according to the segment to improve performance. Parameters of Equation (9) Wow Are the fundamental frequencies of the current and past segments, respectively. If the two fundamental frequencies are the same, the new method produces prediction errors with lower variance than the conventional method. This produces prediction errors with less distortion for a given number of bits.

본 발명의 또 다른 양상에서, 상기 스펙트럼 진폭 예측 오차들을 블록들로 분할하는 새로운 방법이 개발되었다. 종래 방법에서 현재 세그먼트로부터의 예측오차 L은 K개의 요소로 이루어진 블록으로 분할되었다. 여기서 통상 K8이다. 이 방법을 이용하면, 각 블록의 특성들이 크고 작은 L 값에 대해 크게 다름이 밝혀졌다. 이는 양자화 효율을 감소하고, 따라서 스펙트럼 진폭들의 왜곡을 증가시킨다.In another aspect of the present invention, a new method of dividing the spectral amplitude prediction errors into blocks has been developed. In the conventional method, the prediction error L from the current segment is divided into blocks consisting of K elements. Where usually K 8. Using this method, it is found that the characteristics of each block differ greatly for large and small L values. This reduces the quantization efficiency and thus increases the distortion of the spectral amplitudes.

각 블록의 특성을 보다 균일하게 하기 위해서, 예측 오차 L을 고정 블록수로 분할하는 새로운 방법이 고안되었다. 각 블록의 길이는 한 세그먼트내의 모든 블록들이 거의 동일한 길이를 갖고 한 세그먼트내의 모든 블록들의 길이의 합이 L과 동일하도록 선정된다. 예측 오차들의 수는 6개의 블록으로 분할되는데, 여기서 각 블록의 길이는 [L/6]과 같다. 만일 L이 6으로 균등하게 분할 될 수 없는 경우에는, 하나 이상의 고주파수 블록들의 길이가 하나씩 증가되어 모든 스펙트럼 진폭들이 6블록 중 한 블록에 포함된다. 이와 같은 새로운 방법이 제4도에 도시되어 있는데, 여기서는 6개의 블록이 이용되고 L34이다.In order to make the characteristics of each block more uniform, a new method of dividing the prediction error L into a fixed number of blocks has been devised. The length of each block is selected so that all blocks in one segment have almost the same length and the sum of the lengths of all blocks in one segment is equal to L. The number of prediction errors is divided into six blocks, where the length of each block is equal to [L / 6]. If L cannot be divided equally into six, the length of one or more high frequency blocks is increased by one so that all spectral amplitudes are included in one of the six blocks. This new method is shown in Figure 4, where six blocks are used and L 34.

상기 새로운 방법에서, 각 블록 내에 포함된 예측 오차들의 근사치는 L과는 관계가 없다. 이는 각 블록의 특성 변화를 감소시키고 상기예측 오차들의 보다 효율적인 양자화를 제공한다.In the new method, an approximation of the prediction errors included in each block is independent of L. This reduces the characteristic change of each block and provides more efficient quantization of the prediction errors.

예측 오차들의 양자화는 예측 오차 블록 평균(PRBA) 벡터를 형성함으로써 훨씬 향상 될 수 있다. PRBA 벡터의 길이는 현재 세그먼트의 블록수와 같다. 상기 벡터의 요소는 각 블록내의 예측 오차들의 평균에 상응한다. 제1 DCT 계수가 평균 (또는 D.C. 값)과 같기 때문에, PRBA 벡터는 각 블록의 제1 DCT 계수로부터 형성될 수 있다. 이는 현재 세그먼트에 6개의 블록이 존재하고 L34인 경우에 대해 제5도 도시되어 있다. 프러세스는 각 블록의 제2(또는 제3, 제4 등등) DCT 계수로부터 추가적인 벡터를 형성함으로서 일반화된다.Quantization of the prediction errors can be further improved by forming a prediction error block mean (PRBA) vector. The length of the PRBA vector is equal to the number of blocks in the current segment. The elements of the vector correspond to the average of the prediction errors in each block. Since the first DCT coefficients are equal to the mean (or DC value), a PRBA vector can be formed from the first DCT coefficients of each block. This means that there are 6 blocks in the current segment and L FIG. 5 is also shown for the case 34. The process is generalized by forming additional vectors from the second (or third, fourth, etc.) DCT coefficients of each block.

상기 PRBA의 요소들의 상호 연관성(correlation)이 매우 높다. 그러므로 스펙트럼 진폭들의 양자화를 개선하기 위해 여러 방법을 이용할 수 있다. 작은 비트수로 매우 낮은 왜곡을 달성하는 데에 이용될 수 있는 한가지 방법은 벡터 양자화이다. 상기 방법에서, 다수의 전형적인 PRBA 벡터들을 포함하는 코드북이 고안된다. 현재 세그먼트에 대한 PRBA 벡터는 각각의 코드북 벡터와 비교되고, 가장 작은 에러를 갖는 벡터를 양자화된 PRBA 벡터로서 선정한다. 상기 선정된 벡터의 코드북 인덱스 PRBA 벡터의 2진 표시를 형성하는데 이용된다. 상기 벡터의 평균에 대한 6 비트의 비균일 양자화기 및 정보유지용 10 비트의 벡터 양자화기의 종속접속(cascade)을 이용한 PRBA의 벡터 양자화 수행 방법이 개발되었다.Correlation of the elements of the PRBA is very high. Therefore, several methods can be used to improve the quantization of the spectral amplitudes. One method that can be used to achieve very low distortion with a small number of bits is vector quantization. In this method, a codebook is devised that includes a number of typical PRBA vectors. The PRBA vector for the current segment is compared with each codebook vector and selects the vector with the smallest error as the quantized PRBA vector. The codebook index of the selected vector is used to form a binary representation of the PRBA vector. A method of performing vector quantization of PRBA using a cascade of a 6-bit nonuniform quantizer with respect to the average of the vectors and a 10-bit vector quantizer for information maintenance has been developed.

이와 같은 방법은 항상 6개의 요소들을 포함하는 PRBA 벡터의 경우에 대해서 제6도에 도시되어 있다.This method is shown in FIG. 6 for the case of a PRBA vector that always contains six elements.

PRBA 벡터를 양자화하기 위한 또 다른 방법도 개발되었다. 이 방법은 상기 벡터 양자화 방법보다 계산 및 저장을 덜 요구한다. 이 방법에서, PRBA 벡터는 처음에 식(3)으로 정의된 DCT로 변환된다. DCT 길이는 PRBA 벡터의 요소들의 수와 같다. 그 다음에 DCT 계수는 종래의 기술에서 서술된 바와 유사한 방식으로 양자화된다. 처음에 DCT 계수들간에 PRBA 벡터를 양자화하는 데 이용된 총 비트수를 분할하기 위해 비트 할당 규칙이 이용된다. 그 다음에, 스칼라 양자화(균일 또는 비균일)를 이용하여, 비트 할당 규칙에 의해 지정된 개수의 비트를 이용하여 각각의 DCT 계수를 양자화한다. 이는 PRBA 벡터가 항상 6개의 요소들을 포함하는 경우에 대해 제7도로 도시되어 있다.Another method for quantizing PRBA vectors has also been developed. This method requires less computation and storage than the vector quantization method. In this way, the PRBA vector is first transformed into a DCT defined by equation (3). The DCT length is equal to the number of elements of the PRBA vector. The DCT coefficients are then quantized in a manner similar to that described in the prior art. Initially, a bit allocation rule is used to divide the total number of bits used to quantize the PRBA vector between the DCT coefficients. Then, using scalar quantization (uniform or non-uniform), each DCT coefficient is quantized using the number of bits specified by the bit allocation rule. This is shown in FIG. 7 for the case where the PRBA vector always contains six elements.

기타 다양한 다른 방법들이 PRBA 벡터를 효과적으로 양자화하는 데 이용될 수 있다. 예컨대, 이산 퓨리에 변환(DFT : Discrdtd Fourier Transform), 고속 퓨리에 변환(FFT : Fast Fourier Transform), Karhunen_Louve 변환과 같은 다른 변환들도 DCT 대신 이용될 수 있다. 또한 벡터 양자화는 DCT 또는 기타 다른 변환과 함께 결합될 수 있다. 본 발명으로부터 생기는 개선점은 매우 다양한 양장화 방법들과 함께 이용될 수 있다.Various other methods can be used to effectively quantize PRBA vectors. For example, other transforms such as Discrete Fourier Transform (DFT), Fast Fourier Transform (FFT), Karhunen_Louve Transform can also be used instead of DCT. Vector quantization can also be combined with DCT or other transforms. The improvements resulting from the present invention can be used with a wide variety of dressing methods.

본 발명의 또 다른 방법으로서, 비트 에러의 인식 효과를 감소시키기 위한 새로운 방법이 개발되었다. 종래 기술에서와 같이 에러 보정 코드를 이용하여, 드문 비트 에러를 보정하고 에러율 εR의 추정치를 제공한다. 모든 잔존 비트 에러들의 인식 효과를 줄이기 위해 상기 새로운 방법은 에러율 추정치를 이용하여 유성음/무성음 판단들을 평활한다. 이것은 임계치와 에러율을 먼저 비교함으로써 수행되는데, 여기서 임계치란 유성음/무성음 판단 파라미터의 보정되지 않은 비트 에러로부터 생기는 왜곡이 큰 비율로 나타나는 에러율을 말한다.As another method of the present invention, a new method for reducing the recognition effect of bit error has been developed. Error correction codes are used as in the prior art to correct for rare bit errors and provide an estimate of the error rate ε R. To reduce the recognition effect of all remaining bit errors, the new method uses error rate estimates to smooth voiced / unvoiced decisions. This is done by first comparing the threshold with the error rate, where the threshold is the error rate at which the distortion resulting from the uncorrected bit error of the voiced / unvoiced decision parameter is at a high rate.

상기 임계치의 정확한 값은 유성음/무성음 판단에 적용된 에러 보정량에 의존하지만, 인가된 에러 보정이 거의 없는 경우, 임계치는 통상 .003이다. 추정 에러율εR이 상기 임계치 미만인 경우에는, 유성음/무성음 판단은 혼란되지 않는다. 만일 εR이 상기 임계치를 초과하는 경우에는, 아래의 식(10)을 만족하는 모든 스펙트럼 진폭은 유성음으로 선언된다.The exact value of the threshold depends on the amount of error correction applied to the voiced / unvoiced determination, but when there is little applied error correction, the threshold is typically .003. If the estimated error rate ε R is less than the threshold, voiced / unvoiced judgment is not confused. If ε R exceeds the threshold, all spectral amplitudes that satisfy Equation 10 below are declared voiced.

비록 식(10)에서 임계치가 .003이라고 가정하였지만, 이와 다른 임계치에 대해 상기 방법을 쉽게 수정할 수 있다. 파라미터 SE는 스펙트럼 진폭에 포함된 부분적 평균 에너지의 측정치이다. 상기 파라미터는 각각의 세그먼트에 대해 다음과 같이 갱신된다.Although the threshold is assumed to be .003 in equation (10), the method can easily be modified for other thresholds. The parameter S E is a measure of the partial mean energy contained in the spectral amplitude. The parameter is updated as follows for each segment.

여기서, R0는 다음과 같이 주어진다.Where R 0 is given by

SE의 초기값은 0SE10000.0 범위 중 임의의 초기 값으로 설정된다. 상기 파라미터를 이렇게 정하는 것은, 식(10)이 평균 신호 레벨에 종속되는 것을 줄이기 위해서이다. 이렇게 함으로써 상기 새로운 방법은 고레벨 신호에 대해서 수행되는 것과 마찬가지로 저레벨 신호에 대해서도 수행된다.The initial value of S E is 0 SE It is set to any initial value in the range 10000.0. This parameter is set in this way in order to reduce the dependence of Equation (10) on the average signal level. In this way the new method is performed on low level signals as well as on high level signals.

식(10),(11) 및 (12)의 특징 형태와 이 수식에 포함된 상수들은, 상기 새로운 방법의 본래 성분을 유지시키면서 쉽게 변경시킬 수 있다. 상기 새로운 방법의 주성분은 처음에 에러율 추정치를 이용하여, 상기 유성음/비유성음 판단 파라미터들의 평활화가 필요한가를 결정하는 것이다. 만일 평활화(smoothing)가 요구되는 경우에, 모든 고에너지 스펙트럼 진폭들이 유성음으로 선언되도록 유성음/무성음 판단 파라미터들이 교란된다. 따라서, 세그먼트 사이세서 어떠한 고에너지의 유성음이 무성음으로 또는 무성음에서 유성음으로 전환되는 것이 없어지고, 그 결과 비트에러가 존재할 때 재현 음성의 인식도가 개선된다.The feature forms of formulas (10), (11) and (12) and the constants included in this formula can be easily changed while maintaining the original components of the new method. The main component of the new method is to initially use the error rate estimate to determine whether smoothing of the voiced / non-voiced determination parameters is required. If smoothing is required, voiced / unvoiced judgment parameters are disturbed such that all high energy spectral amplitudes are declared voiced. Thus, no high-energy voiced sound is converted from the voiceless voice to the voiced voice or the voiced voice, so that the recognition of the reproduced voice is improved when there is a bit error.

본 발명은 양자화된 음성 모델 파라미터 비트들의 그들의 비트 에러에 대한 감도에 따라 세 개 이상의 그룹으로 분할하고, 그 다음에 각 그룹에 대해 다른 에러 보정 또는 검출 코드를 이용한다. 통상, 비트 에러에 가장 민감하다고 판단된 데이터 비트 그룹은 매우 효과적인 에러 보정 코드를 이용하여 보호된다. 추가 비트가 거의 필요없는 덜 효과적인 에러 보정 또는 검출 코드는 덜 민감한 데이터 비트를 보호하는데 이용된다. 상기 새로운 방법은 각 그룹에 주어진 에러 보정 또는 검출 양이 비트 에러에 대한 감도와 정합하게 한다. 종래 기술과 비교하면, 상기 방법은 비트 에러에 의해 유발된 질의 저하를 줄이고 순방향 에러 보정을 필요로 하는 비트의 수도 물론 감소시킨다는 장점을 갖고 있다.The present invention divides the quantized speech model parameter bits into three or more groups according to their sensitivity to their bit errors, and then uses different error correction or detection codes for each group. Typically, groups of data bits that are determined to be most sensitive to bit errors are protected using highly effective error correction codes. Less effective error correction or detection codes that require little additional bits are used to protect less sensitive data bits. The new method allows the amount of error correction or detection given in each group to match the sensitivity to bit errors. Compared with the prior art, the method has the advantage of reducing the query degradation caused by the bit error and of course reducing the number of bits requiring forward error correction.

이용된 에러 보정 또는 검출 코드를 선택하는 것은, 전송 매체 또는 저장 매체의 비트 에러 통계 및 원하는 비트 속도에 의존한다. 가장 민감한 비트 그룹은 통상 해밍 코드, BCH 코드, 골레이 코드 또는 리드-솔로몬(Reed-Slolmon)코드와 같은 효과적인 에러 보정 코드로 보호된다. 덜 민감한 데이터 비트 그룹은 상기 에러 보정 코드를 사용할 수도 있고, 에러 검출 코드를 이용할 수도 있다. 가장 민감하지 못한 그룹은 에러 보정 또는 검출 코드를 이용하거나, 어떠한 형태의 에러 보정 또는 검출도 이용하지 않을 수 있다. 지금가지 설명한 본 발명은 위성 통신용 6.4Kbps IMBE 음성 코더에 매우 적합한 에러 보정 코드와 에러 검출 코드를 사용한 것이다.Selecting the error correction or detection code used depends on the bit error statistics and the desired bit rate of the transmission medium or storage medium. The most sensitive group of bits is typically protected by an effective error correction code such as a Hamming code, BCH code, Golay code or Reed-Slolmon code. Groups of less sensitive data bits may use the error correction code and may use the error detection code. The least sensitive group may use error correction or detection codes or no form of error correction or detection. The present invention described above uses an error correction code and an error detection code that are well suited for a 6.4 Kbps IMBE voice coder for satellite communications.

INMARSAT_M(국제 해상 위성 기구) 위성 통신 시스템이 표준이었던 상기 6.4Kbps IMBE 음성 코더에서, 순방향 에러 보정에 대해 보존된 프레임당 45 비트는 최대 3개의 에러까지 보정할 수 있는 [23,12] 골레이 코드, 단일 에러와 패리티 비트를 보정할 수 있는 [15,11] 해밍 코드간에 분할된다. 기본 주파수로부터의 6개의 최대 유효 비트와 PRBA 벡터의 평균으로부터의 3개의 최대 유효 비트는 처음에 세 개의 패리티 체크 비트와 함께 결합되어 [23,12] Golay 코드로 코드화된다.In the 6.4 Kbps IMBE voice coder, where the INMARSAT_M (International Maritime Satellite Organization) satellite communication system was standard, 45 bits per frame preserved for forward error correction can correct up to three errors [23, 12] Golay code It is split between [15, 11] Hamming codes that can correct for single errors and parity bits. The six most significant bits from the fundamental frequency and the three most significant bits from the average of the PRBA vectors are first combined with the three parity check bits and coded with the [23,12] Golay code.

제2 Golay 코드는 PRBA 벡터로부터의 3개의 최대 유효 비느촤 고차의 DCT 계수로부터의 9개의 최대 민감 비트를 코드화 하는데 이용된다. 7개의 최소 민감 비트를 제외한 모든 잘류 비트는 그 다음에 5개의 [15,11] 해밍 코드로 코드화 한다. 7개의 최하위 비트는 에러 보정 코드로 보호되지 않는다.The second Golay code is used to code nine maximum sensitive bits from three maximum effective non-high order DCT coefficients from the PRBA vector. All well bits except seven minimum sensitive bits are then coded into five [15, 11] Hamming codes. The seven least significant bits are not protected by the error correction code.

전송에 앞서 특별한 음성 세그먼트를 나타내는 128개의 비트는 인터리빙되어(interleaving) 최소한 5개의 비트에 의해 동일한 코드 워드로부터 어느 2개의 비트가 분리된다. 이와 같은 특성 때문에, 짧은 시간에 발생하는 버스트 에러(burst error)가 여러 개의 서로 다른 코드 워드로 분산되어 에러가 보정된 가능성이 높아진다.Prior to transmission, 128 bits representing a particular speech segment are interleaved so that any two bits are separated from the same code word by at least five bits. Due to this characteristic, the burst error occurring in a short time is distributed to several different code words, which increases the possibility of the error being corrected.

디코더에서, 수신된 비트는 Golay 및 해밍 디코더를 통해 전송되어 데이터 비트로부터 모든 비트 에러를 제거한다. 3개의 패리티 체크 비트를 검사하고, 보정 될 수 없는 비트 엘가 검출되지 않은 경우에 수신 비트를 이용하여 현재 프레임에 대한 MBE 모델 파라미터를 재현한다. 보정될 수 없는 비트 에러가 검출되는 경우에 현재 프레임에 대한 수신 비트는 무시되고, 과거 프레임으로부터의 모델 파라미터가 현재 프레임애 대해 반복된다.At the decoder, the received bits are sent through the Golay and Hamming decoders to remove all bit errors from the data bits. The three parity check bits are examined and the received bits are used to reproduce the MBE model parameters for the current frame when no bit els that cannot be corrected are detected. If a bit error that cannot be corrected is detected, the receive bit for the current frame is ignored and the model parameters from the past frame are repeated for the current frame.

프레임 반복을 이용하면, 비트 에러가 존재하는 경우에 음성의 인식도가 향상된다는 것이 밝혀졌다. 본 발명은 각 프레임의 수신 비트를 조사하여 현재 프레임이 많은 보정할 수 없는 비트 에러를 포함하는지를 판단한다. 보정할 수 없는 비트 에러를 검출하는 한가지 방법은 데이터에 삽입된 엑스트라 패리티 비트를 체크하는 것이다. 본 발명은 또한 본정 가능한 비트에러의 수와 에러율의 로컬 추정치를 비교함으로서 많은 버스트의 비트 에러가 발생되었는지를 판단한다. 보정 가능 비트 에러의수가 실제로 에러율의 로컬 추정치보다 크면, 프레임 반복이 수행된다. 또한, 본 발명은 무효 비트 스퀀스(즉, 인코더가 결코 전송하지 않은 비트 그룹)에 대한 각 프레임을 체크한다. 만일 무효 비트 시퀀스가 검출되면 프레임 반복이 수행된다.Using frame repetition has been found to improve speech recognition in the presence of bit errors. The present invention examines the received bits of each frame to determine whether the current frame contains many uncorrectable bit errors. One way to detect uncorrectable bit errors is to check the extra parity bits inserted in the data. The present invention also determines whether a large number of burst bit errors have occurred by comparing a local estimate of the error rate with the number of predictable bit errors. If the number of correctable bit errors is actually greater than the local estimate of the error rate, frame repetition is performed. In addition, the present invention checks each frame for an invalid bit sequence (ie, a group of bits that the encoder never transmitted). If an invalid bit sequence is detected, frame repetition is performed.

Golay 및 해밍 디코더는 데이터의 보정 가능 비트 에러의 수에 대한 정보도 제공한다. 상기 정보는 디코더에 의해 이용되어 비트 에러율을 추정한다. 비트 에러율의 추정은 보정 불가 비트 에러가 존재할 때, 감지된 음성의 질을 향상시키는 적응 평활화기를 제어하는데 이용된다. 또한, 에러율의 추정은 불량한 에러 환경에서 프레임 반복을 수행하는데 이용될 수 있다.Golay and Hamming decoders also provide information about the number of correctable bit errors in the data. This information is used by the decoder to estimate the bit error rate. The estimation of the bit error rate is used to control the adaptive smoother which improves the quality of the sensed speech when there is an uncorrectable bit error. In addition, estimation of the error rate can be used to perform frame repetition in a poor error environment.

본 발명을 소프트-판단 코딩(soft-decision coding)과 함께 이용하면 성능이 더 향상된다. 소프트-판단 코딩은 많은 다른 코드의 에러 보정 및 검출 능력을 향상시키기 위해 각 비트 에러의 존재 가능성에 대한 추가적인 정보를 이용한다.The use of the present invention in conjunction with soft-decision coding further improves performance. Soft-decision coding uses additional information about the presence of each bit error to improve the error correction and detection capabilities of many other codes.

상기 추가적인 정보는 디지털 통신 시스템의 변조기로부터 입수 가능하기 때문에, 이는 에러 보호에 대해 추가 비트를 요구함이 없이 비트 에러에 향상된 견고성(robustness)을 제공할 수 있다.Since the additional information is available from the modulator of the digital communication system, it can provide improved robustness to the bit error without requiring additional bits for error protection.

본 발명은 합성된 음성의 질을 개선하는 새로운 주파수 영역 파라미터 증대 방법을 이용한다. 본 발명은 처음에 감지적으로 음성 스펙트럼의 중요한 영역을 찾아낸다. 그 다음 본 발명은 다른 주파수 영역에 비해 감지적으로 중요한 주파수 영역의 폭을 증가시킨다. 주파수 영역 파라미터 증대를 수행하기 위한 양호한 방법은 일번적인 형태의 스펙트럼을 추정하는 스펙트럼 엔벨로프를 평활화하는 것이다.The present invention utilizes a new frequency domain parameter enhancement method that improves the quality of synthesized speech. The present invention initially detects important areas of the speech spectrum. The present invention then increases the width of the frequency domain which is sensitive to other frequency domains. A preferred method for performing frequency domain parameter augmentation is to smooth the spectral envelope that estimates the spectra of one form.

상기 스펙트럼은 올-폴 모델(all-pole model), 셉스트랄 모델(cepstral model) 또는 다항식 모델과 같은 저차 모델을 스펙트럼 엔벨로트에 제공함으로써 평활화 될 수 있다. 평활화 된 스펙트럼 엔벨로프는 평활화 되지 않은 스펙트럼 엔벨로프와 비교되고 감지적으로 중요한 주파수 영역은 평활화 되지 않은 스펙트럼 앤벨로프가 평활화된 스펙트럼 엔벨로프보다 더 많은 에너지를 갖는 영역으로 간주된다.The spectrum can be smoothed by providing a lower order model, such as an all-pole model, a cepstral model or a polynomial model, to the spectral envelope. The smoothed spectral envelope is compared to the non- smoothed spectral envelope, and the sensitively sensitive frequency region is considered to be the region where the non- smoothed spectral envelope has more energy than the smoothed spectral envelope.

마찬가지로, 평활화되지 않은 스펙트럼 엔벨로프가 평활화된 스펙트럼 엔벨로프보다 작은 에너지를 갖는 영역은 감지적으로 덜 중요한 영역으로 간주된다. 파라미터 증대는 감지적으로 중요한 주파수 영역의 진폭을 증가시키고, 감지적으로 덜 중요한 주파수 영역의 진폭을 감소시킴으로써 수행된다. 이와 같이 새로운 증대 기법은 음성 파라미터의 추정 및 양자화 중에 도입된 많은 인공물을 제거하거나 감소시킴으로써 음성의 질을 향상시킨다. 또한 상기 새로운 방법은 감지적으로 중요한 음성포먼트(formant)를 날카롭게 함으로써 음성의 명료성을 향상시킨다.Likewise, an area where the unsmoothed spectral envelope has less energy than the smoothed spectral envelope is considered to be a less sensitive area. Parameter augmentation is performed by increasing the amplitude of the sensitively sensitive frequency domain and decreasing the amplitude of the less sensitively sensitive frequency domain. This new augmentation technique improves speech quality by eliminating or reducing many artifacts introduced during speech parameter estimation and quantization. The new method also improves clarity of speech by sharpening sensitively important speech formants.

IMBE 음성 디코더에서 1차 올-폴 모델을 각 프레임에 대한 스펙트럼 엔벨로프에 제공한다. 이는 다음 식에 따라 디코딩 된 모델 파라미터로부터의 상호 연관 파라미터 R0및 R1을 추정함으로써 이루어진다.The IMBE speech decoder provides a first order all-pole model to the spectral envelope for each frame. This is done by estimating the correlation parameters R 0 and R 1 from the decoded model parameters according to the following equation.

여기서 11L에 대한 M₁은 현재 프레임에 대한 디코딩된 스펙트럼 진폭이고, 0는 현재 프레임에 대한 디코딩된 기본 주파수이다. 상호 연관 파라미터 R0및 R1은 1차 올-폴 모델을 추정하는데 이용될 수 있다. 상기 모델은 현재 프레임에 대한 스펙트럼 진폭에 상응하는 주파수(즉, 11L에 대한 K· 0)에서 평가되고 다음 공식에 따라 일련의 가중치(weight) W1를 산출하는데 이용될 수 있다.Where 1 One M₁ for L is the decoded spectral amplitude for the current frame, 0 is the decoded fundamental frequency for the current frame. Correlation parameters R 0 and R 1 may be used to estimate the first order all-pole model. The model is a frequency corresponding to the spectral amplitude for the current frame (i.e. 1 One K against L 0 ) and can be used to produce a series of weights W 1 according to the following formula:

상기 가중치는 IMBE 스펙트럼 진폭들에 대한 평활화된 올-폴 스펙트럼의 비율을 나타낸다. 이들은 다음에 각 스펙트럼 진폭에 인가되며 파라미터 증대량을 개별적으로 제어하는데 이용된다. 이와 같은 관계를 다음식으로 표현된다.The weight represents the ratio of the smoothed all-pole spectrum to the IMBE spectral amplitudes. These are then applied to each spectral amplitude and used to individually control the amount of parameter amplification. Such a relationship is expressed by the following equation.

여기서 11L 에 대한 M₁은 현재 프레임에 대한 증대된 스펙트럼 진폭이다.Where 1 One M₁ for L is the increased spectral amplitude for the current frame.

증대된 스펙트럼 진폭들은 다음에 음성 합성에 이용된다. 증대된 모델 파라미터를 사용함으로써 증대되지 않은 모델 파라미터로부터의 합성에 비해 음성의 질이 향상된다.The increased spectral amplitudes are then used for speech synthesis. The use of the augmented model parameter improves the quality of speech as compared to synthesis from non-augmented model parameters.

Claims (37)

음성이 복수의 세그먼트로 분할되고, 상기 세그먼트 각각은 연속적인 시구간 중 한 구간을 나타내고 주파수들의 스펙트럼을 가지며, 상기 각각의 세그먼트에 대해 상기 스펙트럼이 일련의 주파수로 샘플링되는 주파수는 상기 세그먼트에 따라 서로 다르며,하나 이상의 과거 세그먼트에 대한 상기 스펙트럼 진폭들을 이용하여 현재 세그먼트에 대한 일련의 예측된 스펙트럼 진폭들을 생성하며, 상기 현재 세그먼트에 대한 실제 스펙트럼 진폭들과 현재 세그먼트에 대한 예측 스펙트럼 진폭간의 차이에 기초한 현재 세그먼트에 대한 일련의 예측 오차들은 차후의 코드화 동작에 이용되는 으멍 코드화 방법에 있어서, 상기 현재 세그먼트에 대한 예측 스펙트럼 진폭들은 현재 세그먼트의 주파수에서 상기 과거 세그먼트의 스펙트럼 진폭을 추정하기 위해서 과거 세그먼트의 스펙트럼 진폭을 최소한 부분적으로 보간하는 것에 기초하는 것을 특징으로 하는 음성 코드화 방법.Voice is divided into a plurality of segments, each of which represents one section of successive time periods and has a spectrum of frequencies, for each segment the frequencies at which the spectrum is sampled as a series of frequencies are mutually different according to the segment. Different, using the spectral amplitudes for one or more past segments to generate a series of predicted spectral amplitudes for the current segment, the current based on the difference between the actual spectral amplitudes for the current segment and the predicted spectral amplitude for the current segment A series of prediction errors for a segment is used in a subsequent coding operation wherein the predicted spectral amplitudes for the current segment are used to estimate the spectral amplitude of the past segment at the frequency of the current segment. And based at least in part on interpolating spectral amplitudes of past segments. 음성이 복수의 세그먼트로 분할되고, 상기 세그먼트 각각은 연속적인 시구간 중 한 구간을 나타내고 주파수들의 스펙트럼을 가지며, 상기 각각의 세그먼트에 대해 상기 스펙트럼이 일련의 주파수로 샘플링되어 일련의 실제 스펙트럼 진폭을 형성하고, 상기 스펙트럼이 샘플링되는 주파수는 상기 세그먼트에 따라 서로 다르며, 하나 이상의 과거 세그먼트에 대한 상기 스펙트럼 진폭들을 이용하여 현재 세그먼트에 대한 일련의 예측된 스펙트럼 진폭들을 생성하며, 상기 현재 세그먼트에 대한 실제 스펙트럼 진폭들과 현재 세그먼트에 대한 일련의 예측 오차들은 차후의 코드화 동작에 이용되는 음성코드화 방법에 있어서, 한 세그먼트에 대한 상기 예측 오차들은 소정 개수의 블록으로 그룹되고, 상기 블록의 개수는 특정 블록들에 대한 오차의 개수와 무관하며, 상기 블록들은 코드화되는 것을 특징으로 하는 음성 코드화 방법.Speech is divided into a plurality of segments, each segment representing one of successive time periods and having a spectrum of frequencies, for each segment the spectrum is sampled at a series of frequencies to form a series of actual spectral amplitudes. And the frequency at which the spectrum is sampled differs from the segment, producing a series of predicted spectral amplitudes for the current segment using the spectral amplitudes for one or more past segments, and the actual spectral amplitude for the current segment. And a series of prediction errors for the current segment are used for subsequent encoding operations, wherein the prediction errors for one segment are grouped into a predetermined number of blocks, the number of blocks for a particular block. The number of errors and Tube, and the blocks are coded audio method characterized in that the encoding. 제2항에 있어서, 상기 현재 세그먼트에 대한 예측 스펙트럼 진폭들은 현재 세그먼트의 주파수에 상기 과거 세그먼트의 스펙트럼 진폭을 추정하기 위해서 과거 세그먼트의 스펙트럼 진폭을 최소한 부분적으로 보간하는 것에 기초하는 것을 특징으로 하는 음성 코드화 방법.3. The speech coding of claim 2, wherein the predicted spectral amplitudes for the current segment are based at least in part on interpolating the spectral amplitude of the past segment to estimate the spectral amplitude of the past segment at the frequency of the current segment. Way. 음성이 복수의 세그먼트로 분할되고, 상기 세그먼트 각각은 연속적인 시구간 중 한 구간을 나타내고 주파수들의 스펙트럼을 가지며, 상기 각각의 세그먼트에 대해 상기 스펙트럼이 일련의 주파수로 샘플링되어 일련의 실제 스펙트럼 진폭을 형성하고, 상기 스펙트럼이 샘플링되는 주파수는 상기 세그먼트에 따라 서로 다르며, 하나 이상의 과거 세그먼트에 대한 상기 스펙트럼 진폭들을 이용하여 현재 세그먼트에 대한 일련의 예측된 스펙트럼 진폭들을 생성하며, 상기 현재 세그먼트에 대한 실제 스펙트럼 진폭들과 현재 세그먼트에 대한 예측 스펙트럼 진폭간의 차이에 기초한 현재 세그먼트에 대한 일련의 예측 오차들은 차후의 코드화 동작에 이용되는 음성 코드화 방법에 있어서, 한 세그먼트에 대한 상기 예측 오차들은 복수의 블록으로 그룹되고, 각 블록내의 상기 예측 오차들의 평균이 결정되며, 상기 각 블록들의 평균은 예측 오차 블록 평균(PRBA) 벡터로 그룹되고, 상기 PRBA 벡터는 코드화 되는 것을 특징으로 하는 음성 코드화 방법.Speech is divided into a plurality of segments, each segment representing one of successive time periods and having a spectrum of frequencies, for each segment the spectrum is sampled at a series of frequencies to form a series of actual spectral amplitudes. And the frequency at which the spectrum is sampled differs from the segment, producing a series of predicted spectral amplitudes for the current segment using the spectral amplitudes for one or more past segments, and the actual spectral amplitude for the current segment. And a series of prediction errors for the current segment based on the difference between the prediction spectrum amplitudes for the current segment and the current segment are used for subsequent coding operations, wherein the prediction errors for one segment are grouped into a plurality of blocks, The average of the prediction errors in each block is determined, the average of each block is grouped into a prediction error block average (PRBA) vector, and the PRBA vector is coded. 제4항에 있어서, 소정 개수의 블록이 존재하며, 이 소쟁 개수의 블록은 특정 블록으로 그룹되는 예측 오차의 개수와 무관한 것을 특징으로 하는 음성 코드화 방법.5. The speech coding method according to claim 4, wherein there is a predetermined number of blocks, and the number of blocks of disputes is independent of the number of prediction errors grouped into specific blocks. 제5항에 있어서, 상기 현재 세그먼트에 대한 예측 스펙트럼 진폭들은 현재 세그먼트의 주파수에 상기 과거 세그먼트의 스펙트럼 진폭을 추정하기 위해서 과거 세그먼트의스펙트럼 진폭을 최소한 부분적으로 보간하는 것에 기초하는 것을 특징으로 하는 음성 코드화 방법.6. The speech coding of claim 5, wherein the predicted spectral amplitudes for the current segment are based at least in part on interpolating the spectral amplitude of the past segment to estimate the spectral amplitude of the past segment at the frequency of the current segment. Way. 제1항에 있어서, 현재 세그먼트에 대한 실제 스펙트럼 진폭들과 현재 세그먼트에 대한 예측 스펙트럼 진폭들간의 차이는 일부 예측 스펙트럼 진폭들을 실제 스펙트럼 진폭들로부터 감산함으로써 형성되는 것을 특징으로 하는 음성 코드화 방법.2. The method of claim 1, wherein the difference between the actual spectral amplitudes for the current segment and the predicted spectral amplitudes for the current segment is formed by subtracting some predicted spectral amplitudes from the actual spectral amplitudes. 제1항에 있어서, 상기 스펙트럼 진폭들은 다중 대역 여기 음성 모델을 이용하여 획득되는 것을 특징으로 하는 음성 코드화 방법.2. The method of claim 1, wherein the spectral amplitudes are obtained using a multiband excitation speech model. 제1항에 있어서, 가장 최근의 과거 세그먼트로부터의 스펙트럼 진폭들만이 현재 세그먼트의 예측 스펙트럼 진폭들을 형성하는 데 이용되는 것을 특징으로 하는 음성 코드화 방법.2. The method of claim 1, wherein only the spectral amplitudes from the most recent past segment are used to form the predicted spectral amplitudes of the current segment. 제1항에 있어서, 상기 스펙트럼은 기본 주파수를 포함하고, 소정의 세그먼트에 대한 일련의 주파수들은 상기 세그먼트의 기본 주파수에 배수인 것을 특징으로 하는 음성 코드화 방법.2. The method of claim 1 wherein the spectrum comprises a fundamental frequency and the series of frequencies for a given segment is a multiple of the fundamental frequency of the segment. 제2항에 있어서, 블록수는 6인 것을 특징으로 하는 음성 코드화 방법.The speech coding method of claim 2, wherein the number of blocks is six. 제2항에 있어서, 저주파수 블록의 예측 오차들의 수는 고주파수 블록의 예측 오차들의 수보다 많지 않은 것을 특징으로 하는 음성 코드화 방법.3. The speech coding method of claim 2, wherein the number of prediction errors of the low frequency block is not greater than the number of prediction errors of the high frequency block. 제11항에 있어서, 저주파수 블록의 예측 오차들의수는 고주파수 블록의 예측 오차들의 수보다 많지 않은 것을 특징으로 하는 음성 코드화 방법.12. The method of claim 11, wherein the number of prediction errors of the low frequency block is no greater than the number of prediction errors of the high frequency block. 제13항에 있어서, 최고 주파수 블록의 요소의 수와 최저 주파수 블록의 요소수간의 차는 보다 작거나 같은 것을 특징으로 하는 음성 코드화 방법.15. The method of claim 13, wherein a difference between the number of elements of the highest frequency block and the number of elements of the lowest frequency block is less than or equal to. 제4항, 제5항, 또는 제6항에 있어서, 상기 평균은 블록내에 예측 오차들을 합산하고 상기 블록 내의 예측 오차들로 나눔으로써 계산되는 것을 특징으로 하는 음성 코드화 방법.7. The method of claim 4, 5 or 6, wherein the average is calculated by summing prediction errors in the block and dividing by the prediction errors in the block. 제15항에 있어서, 상기 평균은 블록 내의 스펙트럼 진폭 예측 오차들의 이산 코사인 변환(DCT)을 계산하고 DCT의 제1 계수를 평균으로 이용함으로써 획득되는 것을 특징으로 하는 음성 코드화 방법.16. The method of claim 15, wherein the average is obtained by calculating a discrete cosine transform (DCT) of spectral amplitude prediction errors in the block and using the first coefficient of the DCT as the average. 제4항, 제5항, 또는 제6항에 있어서, PRBA 벡터의 코드화는 PRBA 벡터의 벡터 양자화를 포함하는 것을 특징으로 하는 음성 코드화 방법.7. The method of claim 4, 5 or 6, wherein the coding of the PRBA vector comprises vector quantization of the PRBA vector. 제17항에 있어서, 상기 벡터 양자화는, PRBA 벡터의 평균을 결정하는 단계와, 스칼라 양자화를 이용하여 상기 평균을 양자화하는 단계와, 상기 PRBA 벡터로부터 사익 평균을 감산하여 제로 평균 PRBA 평균을 형성하는 단계와, 제로 평균 코드북을 갖는 벡터 양자화를 이용하여 상기 제로 평균 PRBA 벡터를 양자화하는 단계를 포함하는 방법을 이용하여 수행되는 것을 특징으로 하는 음성 코드화 방법.18. The method of claim 17, wherein the vector quantization comprises: determining an average of the PRBA vectors; quantizing the average using scalar quantization; And quantizing the zero mean PRBA vector using vector quantization with a zero mean codebook. 각 음성 세그먼트 또는 세그먼트내의 주파수 대역이 유성음 또는 무성음으로 디코딩되고, 음성 세그먼트를 나타내고 비트 에러를 갖는 수신된 비트 스트림으로부터 음성을 합성하는 방법에 있어서, 현재 음성 세그먼트에 대한 비트 에러율을 추정하고 이것을 소정의 에러율 임계치와 비교하여, 상기 추정한 비트 에러율이 상기 에러율 임계치를 초과하는 경우에는 소정의 에너지 임계치를 초과하는 스펙트럼 진폭에 대한 유성음/무성음 판단은 상기 현재 세그먼트에 대해 모두 유성음으로 선언되는 것을 특징으로 하는 음성 합성 방법.A method for synthesizing speech from a received bit stream in which each speech segment or frequency band within the segment is decoded into voiced or unvoiced speech and representing a speech segment and having a bit error, wherein the bit error rate for the current speech segment is estimated and is Compared with the error rate threshold, when the estimated bit error rate exceeds the error rate threshold, voiced / unvoiced judgments for spectral amplitudes exceeding a predetermined energy threshold are all declared voiced for the current segment. Speech synthesis method. 제19항에 있어서, 상기 소정의 에너지 임계치는 상기 현재 세그먼트에 대한 비트 에러의 추정에 의존하는 것을 특징으로 하는 음성 합성 방법.20. The speech synthesis method of claim 19, wherein the predetermined energy threshold is dependent on an estimate of bit error for the current segment. 음성이 모델 파라미터들에 의해 특정 지워진 음성 모델을 이용하여 코드화되고, 음성이 시간 세그먼트로 분할되고, 각 세그먼트에 대해 모델 파라미터들이 추정되고 양자화되며, 상기 양자화된 모델 파라미터 중 최소한 일부 파라미터는 에러 보정 코딩을 이용하여 코드화 되는 음성 코드화 방법에 있어서, 상기 양자화된 모델 파라미터는 최소한 2가지 유형의 에러 보정 코딩을 이용하여 코딩되는데, 제1 유형의 코딩은 제2유형의 코딩보다 더 많은 개수의 추가 비트를 부가하고 제1 그룹의 양자화된 모델 파라미터에 이용되며, 상기 제1 그룹의 양자화된 모델 파라미터는 제2 그룹의 양자화된 모델 파라미터보다 비트 에러에 더 민감한 것을 특징으로 하는 음성 코드화 방법.Speech is coded using the speech model specified by model parameters, speech is divided into time segments, model parameters are estimated and quantized for each segment, and at least some of the quantized model parameters are error corrected coding. In the speech coding method coded using, the quantized model parameter is coded using at least two types of error correcting coding, wherein the first type of coding has a larger number of additional bits than the second type of coding. And used for a quantized model parameter of the first group, wherein the quantized model parameter of the first group is more sensitive to bit errors than the quantized model parameter of the second group. 제21항에 있어서, 상기 에러 보정 코딩은 골레이(Golay)코드 및 해밍(Hamming)코드를 포함하는 것을 특징으로 하는 음성 코드화 방법.22. The method of claim 21, wherein the error correcting coding comprises a Golay code and a Hamming code. 음성이 모델 파라미터들에 특정 지워진 음성 모델을 이용하여 코드화되고, 음성이 시간 세그먼트로 분할되고, 각 세그먼트 모델에 대해 파라미터들이 추정되고 양자화되며, 상기 양자화된 모델 파라미터 중 최소한 일부 파라미터는 에러 보정 코딩을 이용하여 코딩되고, 상기 디코딩되고 양자화된 모델 파라미터로부터 음성이 합성되는 음성 코드화 방법에 있어서, 상기 에러 보정 코딩을 음성 합성에 이용하여 에러율을 추정하고, 과거 세그먼트로부터의 하나 이상의 모델 파라미터들은 파라미터에 대한 에러율이 소정 레벨을 초과하는 경우에 현재 세그먼트에서 반복되는 것을 특징으로 하는 음성 코드화 방법.Speech is coded using a speech model that is specific to model parameters, speech is divided into time segments, parameters are estimated and quantized for each segment model, and at least some of the quantized model parameters may be error corrected coding. A speech coding method wherein a speech is synthesized from the decoded and quantized model parameters using the error correcting coding to estimate the error rate, and one or more model parameters from past segments And repeating in the current segment when the error rate exceeds a predetermined level. 제21항에 있어서, 상기 양자화된 파라미터들은 다중 대역 여기 (MBE) 음성 코더 또는 향상된 다중 대역 여기 (IMBE) 음성 코더와 연관된 파라미터들인 것을 특징으로 하는 음성 코드화 방법.22. The method of claim 21, wherein the quantized parameters are parameters associated with a multi band excitation (MBE) voice coder or an enhanced multi band excitation (IMBE) voice coder. 제21항 또는 제22항에 있어서, 에러율은 에러 보정 코드를 이용하여 추정되는 것을 특징으로 하는 음성 코드화 방법.23. The speech encoding method according to claim 21 or 22, wherein the error rate is estimated using an error correction code. 제25항에 있어서, 하나 이상의 모델 파라미터들은 추정된 에러율에 기초한 다수의 세그먼트에 대해 평활하되는 것을 특징으로 하는 음성 코드화 방법.27. The method of claim 25, wherein the one or more model parameters are smoothed over the plurality of segments based on the estimated error rate. 제26항에 있어서, 상기 평활화된 모델 파라미터들은 유성음/무성음 판단을 포함하는 것을 특징으로 하는 음성 코드화 방법.27. The method of claim 26, wherein the smoothed model parameters comprise voiced / unvoiced determination. 제26항에 있어서, 상기 평활화된 모델 파라미터들은 다중 대역 여기 (MBE) 음성 코더 또는 향상된 다중 대역 여기 (IMBE) 음성 코더에 대한 파라미터들을 포함하는 것을 특징으로 하는 음성 코드화 방법.27. The method of claim 26, wherein the smoothed model parameters comprise parameters for a multi band excitation (MBE) voice coder or an enhanced multi band excitation (IMBE) voice coder. 제28항에 있어서, 과거 세그먼트에서 하나 이상의 모델 파라미터들의 값은 파라미터들에 대한 추정된 에러율이 소정 레벨을 초과하는 경우에 현재 세그먼트에서 반복되는 것을 특징으로 하는 음성 코드화 방법.29. The method of claim 28, wherein the value of one or more model parameters in the past segment is repeated in the current segment if the estimated error rate for the parameters exceeds a predetermined level. 음성 신호가 세그먼트들로 분할되고, 세그먼트의 주파수 영역 표현이 결정되어 세그먼트의 스펙트럼 엔벨로프를 제공하며, 음성이 증대된 스펙트럼 엔벨로프로부터 합성되는 음성 향상 방법에 있어서, 세그먼트의 평활화된 스펙트럼 엔벨로프는 스펙트럼 엔벨로프를 평활화 함으로써 형성되고, 평활화된 엔벨로프보다 더 큰 진폭을 갖는 스펙트럼 엔벨로프의 주파수 영역을 증가 시키고 평활화된 엔벨로프보다 더 작은 진폭을 갖는 스펙트럼 엔벨로프의 주파수 영역을 감소시킴으로서 증대된 스펙트럼 엔벨로프가 형성되는 것을 특징으로 하는 음성 코드화 방법.In a speech enhancement method in which a speech signal is divided into segments, a frequency-domain representation of the segment is determined to provide a spectral envelope of the segment, and the speech is synthesized from an augmented spectral envelope, the smoothed spectral envelope of the segment Formed by smoothing, wherein an increased spectral envelope is formed by increasing the frequency domain of the spectral envelope having a larger amplitude than the smoothed envelope and reducing the frequency domain of the spectral envelope having a smaller amplitude than the smoothed envelope. Voice coding method. 제30항에 있어서, 상기 스펙트럼 엔벨로프의 주파수 영역 표현은 다중 대역 여기(MBE)음성 코더 또는 향상된 다중 대역 여기(IMBE) 음성 코드의 일련의 스펙트럼 진폭 파라미터인 것을 특징으로 하는 음성 코드화 방법.31. The method of claim 30, wherein the frequency domain representation of the spectral envelope is a series of spectral amplitude parameters of a multiband excitation (MBE) speech coder or an enhanced multiband excitation (IMBE) speech code. 제30항 또는 제31항에 있어서, 상기 평활화된 스펙트럼 엔벨로프는 스펙트럼 엔벨로프로부터 저차 모델을 추정함으로써 형성되는 것을 특징으로 하는 음성 코드화 방법.32. The method of claim 30 or 31, wherein the smoothed spectral envelope is formed by estimating a lower order model from the spectral envelope. 제32항에 있어서, 상기 저차 모델은 올-폴 모델(all-pole model)인 것을 특징으로 하는 음성 코드화 방법.33. The method of claim 32, wherein the lower order model is an all-pole model. 제4항, 제5항, 또는 제6항에 있어서, PRBA 벡터는 PRBA 벡터에 대한 선형 변환과 상기 변환 계수들의 스칼라 양자화를 이용하여 코드화 되는 것을 특징으로 하는 음성 코드화 방법.7. The method of claim 4, 5 or 6, wherein the PRBA vector is coded using a linear transform on the PRBA vector and scalar quantization of the transform coefficients. 제34항에 있어서, 상기 선형 변환은 이산 코사인 변환을 포함하는 것을 특징으로 하는 음성 코드화 방법.35. The method of claim 34, wherein the linear transform comprises a discrete cosine transform. 제2항에 있어서, 상기 스펙트럼 진폭들은 다중 대역 여기 음성 모델을 이용하여 획득되는 것을 특징으로 하는 음성 코드화 방법.3. The method of claim 2, wherein the spectral amplitudes are obtained using a multiband excitation speech model. 제4항에 있어서, 상기 스펙트럼 진폭들은 다중 대역 여기 음성 모델을 이용하여 획득되는 것을 특징으로 하는 음성 코드화 방법.5. The method of claim 4, wherein the spectral amplitudes are obtained using a multiband excitation speech model.
KR1019930701699A 1990-12-05 1991-12-04 Speech quantization and error correction method KR100220783B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US92487890A 1990-12-05 1990-12-05
US624,878 1990-12-05
PCT/US1991/009035 WO1992010033A1 (en) 1990-12-03 1991-12-03 Signal acquisition system utilizing ultra-wide time range time base

Publications (2)

Publication Number Publication Date
KR930703664A KR930703664A (en) 1993-11-30
KR100220783B1 true KR100220783B1 (en) 1999-09-15

Family

ID=66865836

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930701699A KR100220783B1 (en) 1990-12-05 1991-12-04 Speech quantization and error correction method

Country Status (1)

Country Link
KR (1) KR100220783B1 (en)

Also Published As

Publication number Publication date
KR930703664A (en) 1993-11-30

Similar Documents

Publication Publication Date Title
JP3467270B2 (en) A method for speech quantization and error correction.
US5754974A (en) Spectral magnitude representation for multi-band excitation speech coders
US5247579A (en) Methods for speech transmission
US5701390A (en) Synthesis of MBE-based coded speech using regenerated phase information
US6161089A (en) Multi-subframe quantization of spectral parameters
JP3343965B2 (en) Voice encoding method and decoding method
EP0927988B1 (en) Encoding speech
US8595002B2 (en) Half-rate vocoder
US6453287B1 (en) Apparatus and quality enhancement algorithm for mixed excitation linear predictive (MELP) and other speech coders
US8315860B2 (en) Interoperable vocoder
EP1329877A2 (en) Speech synthesis and decoding
EP1103955A2 (en) Multiband harmonic transform coder
EP0996949A2 (en) Split band linear prediction vocoder
GB2324689A (en) Dual subframe quantisation of spectral magnitudes
JP2003512654A (en) Method and apparatus for variable rate coding of speech
KR100220783B1 (en) Speech quantization and error correction method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20110610

Year of fee payment: 13

EXPY Expiration of term