KR100754591B1 - 음성 코더에서 목표 비트율을 유지하는 방법 및 장치 - Google Patents

음성 코더에서 목표 비트율을 유지하는 방법 및 장치 Download PDF

Info

Publication number
KR100754591B1
KR100754591B1 KR1020027000693A KR20027000693A KR100754591B1 KR 100754591 B1 KR100754591 B1 KR 100754591B1 KR 1020027000693 A KR1020027000693 A KR 1020027000693A KR 20027000693 A KR20027000693 A KR 20027000693A KR 100754591 B1 KR100754591 B1 KR 100754591B1
Authority
KR
South Korea
Prior art keywords
performance threshold
voice coder
occurrences
voice
frame
Prior art date
Application number
KR1020027000693A
Other languages
English (en)
Other versions
KR20020013963A (ko
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
Application filed by 콸콤 인코포레이티드 filed Critical 콸콤 인코포레이티드
Publication of KR20020013963A publication Critical patent/KR20020013963A/ko
Application granted granted Critical
Publication of KR100754591B1 publication Critical patent/KR100754591B1/ko

Links

Images

Classifications

    • 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/16Vocoder architecture
    • 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/002Dynamic bit allocation
    • 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/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

음성 코더에서 목표 비트율을 유지하는 방법 및 장치는 미리 선택된 인코딩율로 프레임을 인코딩하는 단계; 미리 결정된 개수의 인코딩 프레임에 대한 평균 가동 비트율을 계산하는 단계; 미리 결정된 평균 목표 비트율로부터 상기 평균 가동 비트율을 감산하는 단계; 및 상기 미리 선택된 인코딩율로 상기 차이값을 나누는 단계를 포함한다. 만일 상기 몫이 영보다 작다면, 현재의 성능 임계값보다 작은 음성 코더 성능 임계값의 미리 결정된 발생가능횟수를 누산하며, 상기 누산된 값은 상기 몫의 절대값보다 크다. 현재 성능 임계값으로부터 발생횟수에 대한 감소치와 미리 결정된 발생횟수의 곱을 감산하여 새로운 성능 임계값을 획득한다. 만일 상기 몫이 영보다 크거나 같다면, 현재의 성능 임계값보다 큰 음성 코더 성능 임계값의 미리 결정된 발생가능횟수를 누산하며, 상기 누산된 값은 상기 몫보다 크다. 발생횟수에 대한 증가치와 미리결정된 발생횟수의 곱을 현재 성능 임계값에 가산하여 새로운 성능 임계값을 획득한다.

Description

음성 코더에서 목표 비트율을 유지하는 방법 및 장치{METHOD AND APPARATUS FOR MAINTAINING TARGET BIT RATE IN A SPEECH CODER}
본 발명은 음성 처리분야에 관한 것으로서, 특히 음성 코더에서 목표 비트율을 유지하는 방법 및 장치에 관한 것이다.
디지털 기술에 의한 음성 전송은 특히 장거리 및 디지털 무선전화 분야에서 널리 보급되었다. 또한, 상기 음성전송에 있어서, 재구성된 음성의 인지된 품질을 유지하면서 채널을 통해 전송될 수 있는 최소량의 정보를 결정하는데 관심이 집중되고 있다. 만일 음성이 단순하게 샘플링 및 디지타이징에 의하여 전송된다면, 종래의 아날로그 전화의 음성품질을 달성하는데 초당 64킬로 비트(kbps) 정도의 데이터율이 요구될 것이다. 그러나, 적당한 코딩, 송신 및 수신기측에서의 재합성에 의한 음성 분석을 이용하면 데이터율을 상당히 감소시킬 수 있다.
음성압축용 장치는 무선통신의 여러 분야에서 사용된다. 전형적인 분야는 무선통신이다. 무선통신 분야는 예컨대 무선전화기, 페이징, 무선 로컬 루프, 셀룰러 및 PCS 전화기와 같은 무선전화기, 모바일 인터넷 프로토콜(IP) 전화기 및 위성 통신 시스템등을 포함하는 여러 응용분야들을 포함한다. 특히 중요한 응용분야는 이동 가입자용 무선전화기이다.
주파수분할 다중액세스(FDMA), 시분할 다중액세스(TDMA) 및 코드분할 다중액세스(CDMA)를 포함하는 무선통신 시스템을 위하여 다양한 무선(over-the-air) 인터페이스가 다수 개발되었다. 이와 관련하여, 수개의 국내 및 국제 표준, 예를 들어 앰프스(AMPS), 이동통신용 글로벌 시스템(GSM) 및 잠정 표준 95(IS-95)등이 제정되었다. 전형적인 무선 전화통신 시스템은 코드분할 다중액세스(CDMA) 시스템이다. IS-95 표준 및 그 파생인 IS-95A, ANSI J-STD-008, IS-95B, 제3세대 표준 IS-95C 및 IS-2000등(통칭으로 모두 IS-95로 언급됨)은 미국통신산업협회(TIA) 및 셀룰러 또는 PCS 전화통신 시스템용 CDMA 무선 인터페이스를 사용하기 위한 공지된 다른 표준단체에 의하여 공표되었다. IS-95 표준을 사용하도록 구성된 전형적인 무선통신 시스템은 미국특허번호 제5,103,459호 및 제4,901,307호에 개시되어 있으며, 이 모두는 본 발명의 양수인에게 양도되고, 본 명세서에서 상호참조된다.
인간의 음성생성 모델과 관련된 파라미터를 추출하여 음성을 압축하는 기술을 이용하는 장치를 음성 코더라 한다. 음성 코더는 입력 음성 신호를 시간블록 또는 분석프레임으로 분할한다. 음성 코더는 일반적으로 인코더 및 디코더를 포함한다. 인코더는 입력 음성 프레임을 분석하여 임의의 관련 파라미터를 추출한 다음, 이 파라미터를 2진 표현, 즉 비트 세트 또는 2진 데이터 패킷으로 양자화한다. 데이터 패킷은 통신채널을 통하여 수신기 및 디코더로 전송된다. 디코더는 데이터 패킷을 처리하고 파라미터를 생성하기 위하여 이들을 역양자화하며, 역양자화 파라미터를 사용하여 음성 프레임을 재합성한다.
음성 코더의 기능은 음성에 고유한 모든 기본적인 리던던시(redundancy)를 제거함으로써 디지털화된 음성 신호를 저비트율 신호로 압축하는 것이다. 디지털 압축은 입력 음성 프레임을 파라미터로 나타내고, 양자화를 이용하여 파라미터를 비트 세트로 나타냄으로써 달성된다. 만일 입력 음성 프레임이 다수의 비트(Ni)를 가지며 음성 코더에 의하여 생성된 데이터 패킷이 다수의 비트(No)를 가진다면, 음성 코더에 의하여 달성되는 압축율은 Cr=Ni/No가 된다. 문제는 목표 압축율을 성취하면서 디코딩된 음성의 높은 음성품질을 유지하는 것이다. 음성 코더의 성능은 (1) 음성 모델 또는 상술한 분석 및 합성 처리의 조합이 얼마나 잘 수행되는가, (2) 파라미터 양자화 처리가 프레임당 No의 목표 비트율에서 얼마나 잘 수행되는가에 달려있다. 따라서, 음성 모델의 목적은 각각의 프레임에 대하여 적은 파라미터 세트를 이용하여 목표 음성 품질 또는 음성 신호의 특성을 포착하는 것이다.
아마도 음성 코더의 설계시 가장 중요한 것은 음성 신호를 기술하는 가장 양호한 파라미터 세트(벡터 포함)를 검색하는 것이다. 이러한 양호한 파라미터 세트는 정확한 음성 신호의 재구성을 위하여 낮은 시스템 대역폭을 요구한다. 피치, 신호전력, 스펙트럼 엔벨로프(또는 포르만트(formant)), 진폭 및 위상 스펙트럼등이 음성 코딩 파라미터의 예이다.
음성 코더는 시간-분해능 처리를 사용하여 작은 음성 세그먼트(전형적으로 5 밀리초(ms) 서브프레임)를 동시에 인코딩함으로써 시간-영역 음성 파형을 포착하는 시간영역 코더로서 실행될 수 있다. 각각의 서브프레임에 대하여, 코드북 공간으로부터의 높은-분해능 대표값은 공지된 여러 탐색 알고리즘의 수단에 의하여 발견된다. 선택적으로, 음성 코더는 파라미터 세트(분석)를 이용하여 입력 음성 프레임의 짧은 구간 음성 스펙트럼을 포착하고 대응하는 합성 프로세서를 이용하여 상기 스펙트럼 파라미터들로부터 음성 파형을 재구성하는 주파수 영역 코더로서 실행될 수 있다. 파라미터 양자화기는 A. Gersho & R.M. Gray, Vector Quantization and Signal Compression(1992)에 개시된 공지된 양자화 기술에 따라 코드 벡터의 저장된 대표값을 이용하여 파라미터를 나타냄으로써 파라미터를 유지한다.
공지된 시간 영역 음성 코더는 L.B. Rabiner & R.W. Schafer, Digital Processing of Speech Signals 396-453(1978)에 개시된 코드 여기 선형 예측(CELP) 코더이며, 이 문헌은 참조를 위하여 본 명세서에 통합된다. CELP 코더에서, 음성 신호의 단구간의 상관 또는 리던던시는 선형 예측(LP) 분석에 의하여 제거되며, LP 분석은 단구간의 포르만트 필터 계수를 찾는다. 단구간 예측 필터를 입력 음성 프레임에 적용하는 것은 LP 잔여 신호가 생성되며, LP 잔여 신호는 모델링되어 긴구간 예측 필터 파라미터 및 후속된 확률적 코드북을 이용하여 양자화된다. 그러므로 CELP 코딩은 시간-영역 음성 파형을 인코딩하는 작업을 LP 단구간 필터 계수를 인코딩하는 작업과 LP 잔여신호를 인코딩하는 각각의 작업으로 분리한다. 시간-영역 코딩은 고정율(즉, 각 프레임에 대하여 동일한 N0 비트를 이용) 또는 가변율(서로 다른 비트율이 서로 다른 타입의 프레임에 사용되는)에서 수행될 수 있다. 가변율 코더는 목표 품질을 획득하는데 적당한 레벨로 코덱 파라미터를 인코딩하는데 필요한 비트만을 이용한다. 전형적인 가변율 CELP 코더는 미국 특허번호 제5,414,796호에 개시되어 있으며, 이는 본 발명의 양수인에게 양도되고, 참조를 위하여 본 명세서에 통합된다.
CELP 코더와 같은 시간-영역 코더는 전형적으로 시간-영역 음성파형의 정확도를 유지하기 위하여 프레임당 높은 N0비트수에 의존한다. CELP 코더는 일반적으로 프레임당 N0의 비트수가 상대적으로 큰 경우(예를 들어 8kbps이상)인 경우, 양호한 음성 품질을 전달한다. 그러나 낮은 비트율에서(4kbps이하), 시간-영역 코더는 제한된 수의 이동가능한 비트들로 인해 고품질 및 일관된 성능을 유지할 수 없다. 낮은 비트율에서, 제한된 코드북 공간은 높은 비트율의 상업적 응용에서 성공적으로 이용되는 종래의 시간-영역 코더의 파형 매칭 능력을 제한한다. 따라서, 시간상의 개선에도 불구하고, 낮은 비트율에서 동작하는 여러 CELP 코딩 시스템은 잡음으로 인한 큰 왜곡을 겪는다.
결국, 낮은 비트율(즉, 2.4내지 4kbps이하의 범위)의 중간쯤에서 동작하는 높은 품질의 음성 코더를 개발할 필요성이 제기되었다. 응용 영역은 무선 전화기, 위성 통신, 인터넷 전화기, 여러 멀티미디어 및 음성-스트리밍 응용, 음성 메일 및 다른 음성 저장 시스템을 포함한다. 중요한 것은 패킷 손실 상황하에서 높은 품질과 일관된 성능을 유지하는 것이다. 최근의 여러 음성 코딩 표준화 작업은 저비율의 음성 코딩 알고리즘을 개발하는쪽으로 이루어진다. 저비트율의 음성 코더는 허용가능한 응용 대역폭에 대하여 더 많은 채널 또는 사용자를 생성하며, 적당한 채널 코딩의 추가 레이어와 결합된 저비트율 음성 코더는 코더 명세(specification)의 전체 비트 버젯(budget)에 적합할 수 있으며, 채널에러 상황하에서 일관된 성능을 전달할 수 있다.
낮은 비트율에서 효과적으로 음성을 인코딩하는 기술은 멀티모드 코딩이다. 전형적인 멀티모드 코딩 기술은 VARIABLE RATE SPEECH CODING로 명명되고 1998년 12월 21일에 출원된 미국 출원번호 09/217,341호에 개시되어 있으며, 이 모두는 본 발명의 양수인에게 양도되고, 본 명세서에서 상호참조된다. 통상적인 멀티모드 코더는 서로 다른 타입의 입력 음성 프레임에 대하여 서로 다른 모드 또는 인코딩-디코딩 알고리즘을 적용한다. 각각의 모드 또는 인코딩-디코딩 처리는 최적의 방식으로 예를 들면 유성음, 무성음, 천이음(유성음과 무성음 사이) 및 배경 잡음(비음성)과 같은 특정타입의 음성 세그먼트를 최적으로 나타내기 위하여 커스터마이징된다. 외부의 오픈-루프 모드 결정 메카니즘은 입력 음성 프레임을 결정하며, 어떤 모드가 프레임에 적용되는지를 결정한다. 오픈-루프 모드 결정은 전형적으로 입력 프레임의 다수 파라미터를 추출하고, 특정한 시공간 특성에 대한 파라미터를 평가하고, 이런 평가에 기초하여 모드를 결정함으로써 수행된다. 따라서 모드 결정은 출력 음성의 정확한 상태를 모르는 상황에서, 즉 출력 음성이 음성 품질 또는 다른 성능 측정시에 입력 음성에 얼마나 가까이 근접하였는지를 모르는 상황에서 이루어진다.
2.4kbps정도의 비율에서 동작하는 코딩 시스템은 일반적으로 파라메트릭하다. 즉, 상기와 같은 코딩 시스템은 규칙적인 간격으로 음성 신호의 스펙트럼 엔벨로프(또는 포르만트) 및 피치 간격을 나타내는 파라미터를 전송하여 동작한다. 이러한 소위 파라메트릭한 코더의 예는 LP 보코더 시스템이다.
LP 보코더는 피치시간당 하나의 펄스를 이용하여 유성음 신호를 모델링한다. 이러한 기본적인 기술은 무엇보다도 스펙트럼 엔벨로프에 대한 전송 정보를 포함하는 쪽으로 증대될 것이다. LP 보코더가 합리적인 성능을 제공하지만, 버즈(buzz)와 같은 특성의 상당한 왜곡을 유발할 수 있다.
최근에는 파형 코더 및 파라메트릭한 코더의 복합인 코더가 출현하였다. 이와 같은 복합 코더는 프로토타입의 파형 보간(PWI) 음성 코딩 시스템이다. PWI 코딩 시스템은 또한 프로토타입의 피치 구간(PPP) 음성 코더로서 공지되어 있다. PWI 코딩 시스템은 유성음을 코딩하는 효과적인 방법을 제공한다. PWI의 기본 개념은 고정된 간격에서 대표적인 피치 사이클(프로토타입의 파형)을 추출하고, 그 기술적인 설명을 전송하고, 프로토타입 파형들간의 보간에 의하여 음성 신호를 재구성하는 것이다. PWI 방법은 LP 잔여 신호 또는 음성 신호중 하나에서 동작할 수 있다. 전형적인 PWI 또는 PPP 음성 코더는 PERIODIC SPEECH CODING으로 명명되고 1998년 12월 21일에 출원된 미국 특허 출원번호 제09/217,494호에 개시되어 있으며, 본 발명의 양수인에게 양도되고, 본 명세서에서 상호참조된다. 다른 PWI 또는 PPP 음성 코더들은 미국 특허번호 제5,884,253호 및 W.Bastiaan Kleijn & Wolfgang Granzow의 Methods for waveform interpolation in Speech Coding의 제1장 디지털 신호처리 215-230(1991)에 개시되어 있다.
통상적인 저비트율의 가변율 음성 코더는 언제 낮은 코딩율에서 높은 코딩율로 스위칭되는지를 결정하기 위하여 프레임 에너지를 기초로 오픈-루프 코딩 모드결정을 이용한다. 이것은 음성 코더로 하여금 서로 다른 등급의 음성을 이용하게하며, 서로 다른 비율에서 이를 인코딩하게 한다. 그러나, 오픈-루프 등급에 의하여 결정된 비율에서의 인코딩은 특정한 프레임에 대하여 좋지 않거나 보통의 품질을 초래할 수 있다. 따라서, 오픈-루프 결정의 효율성을 개선시키는 것은 바람직하다. 주어진 프레임에 대하여 인코딩 비율을 변경하는 것(즉, 만일 필요하다면, 증가시키는 것)은 품질을 추정하는데 바람직하다. 그러나, 프레임에 대한 인코딩율을 증가시키는 것은 음성 코더에 대한 평균 코딩율을 변경(증가)시킬 것이다. 또한, 일정한 평균 비트율을 유지하면서 오픈-루프 등급에 의하여 결정된 것으로부터 프레임-프레임 기반에서 인코딩율의 변경을 가능하게 하는 음성 코더를 제공하는 것은 유리하다. 이것은 또한 음성 코더에 대한 평균 목표 비율을 설정하는데 바람직하다. 이것은 또한 음성 코더에 대한 전체 목표 비트율을 유지하는데 유리하다. 그러므로 최적의 음성 품질을 제공하고 목표 코딩 비트율을 유지하기 위하여 폐쇄-루프 결정 프로세스를 이용하여 코딩 모드 결정을 개량한 음성 코더가 요구된다.
본 발명은 최적의 음성 품질을 제공하고 목표 코딩 비트율을 유지하기 위하여 폐쇄-루프 결정 프로세스를 이용하여 코딩 모드 결정을 개량한 음성 코더에 관한 것이다. 따라서, 본 발명의 일 양상에서, 가변 인코딩 비율로 다수의 프레임을 인코딩하도록 구성된 음성 코더에서, 음성 코더에 대한 평균 목표 비트율을 유지하는 방법은: 미리 선택된 인코딩율로 프레임을 인코딩하는 단계; 미리 결정된 개수의 인코딩된 프레임에 대하여 평균 가동 비트율을 계산하는 단계; 차이값을 획득하기 위하여 미리 결정된 평균 목표 비트율로부터 평균 가동 비트율을 감산하는 단계; 몫을 획득하기 위하여 미리 선택된 인코딩 비율로 차이값을 나누는 단계; 만일 몫이 영보다 작다면, 제 1 누산값을 생성하기 위하여 현재의 성능 임계값보다 작은 음성 코더의 성능 임계값의 제 1의 미리 결정된 발생가능횟수를 누산하는 단계를 포함하는데, 음성 코더 성능 임계값의 미리 결정된 발생가능횟수는 제 1 누산값이 몫의 절대값보다 크도록 선택되며; 만일 몫이 영보다 작다면, 새로운 성능 임계값을 획득하기 위하여 현재의 성능 임계값으로부터 음성 코더 성능 임계 발생횟수에 대한 감소치와 음성 코더 성능 임계값의 제 1의 미리 결정된 발생횟수의 곱을 감산하는 단계; 만일 몫이 영 보다 크거나 같다면, 제 2 누산값을 생성하기 위하여 현재의 성능 임계값보다 큰 음성 코더의 성능 임계값의 제 2의 미리 결정된 발생가능횟수를 누산하는 단계를 포함하는데, 음성 코더 성능 임계값의 미리 결정된 발생가능횟수는 제 2 누산값이 몫보다 크도록 선택되며; 그리고 만일 몫이 영 보다 크거나 같다면, 새로운 성능 임계값을 획득하기 위하여 현재의 성능 임계값에 음성 코더 성능 임계 발생횟수에 대한 증가치와 음성 코더 성능 임계값의 제 2의 미리결정된 발생횟수의 곱을 가산하는 단계를 포함한다.
본 발명의 다른 양상에서, 코더는: 미리 선택된 인코딩율로 프레임을 인코딩하는 수단; 미리 결정된 개수의 인코딩된 프레임에 대한 평균 가동 비트율을 계산하는 수단; 차이값을 획득하기 위하여 미리 결정된 평균 목표 비트율로부터 평균 가동 비트율을 감산하는 수단; 몫을 획득하기 위하여 미리 선택된 인코딩 비율로 차이값을 나누는 수단; 제 1 누산값을 생성하기 위하여 현재의 성능 임계값보다 작은 음성 코더의 성능 임계값의 제 1의 미리 결정된 가능한 발생가능횟수를 누산하는 수단을 포함하는데, 상기 음성 코더 성능 임계값의 미리 결정된 발생가능횟수는 제 1 누산값이 몫의 절대값보다 크도록 선택되며; 만약 상기 몫이 영보다 작다면, 새로운 성능 임계값을 획득하기 위하여 현재의 성능 임계값으로부터 음성 코더 성능 임계값 발생횟수에 대한 감소치와 음성 코더 성능 임계값의 제 1의 미리 결정된 개수의 발생횟수의 곱을 감산하는 수단; 제 2 누산값을 생성하기 위하여 현재의 성능 임계값보다 큰 음성 코더의 성능 임계값의 제 2의 미리 결정 발생가능횟수를 누산하는 수단을 포함하며, 음성 코더 성능 임계값의 미리 결정된 발생가능횟수는 제 2 누산값이 몫보다 크도록 선택되며; 그리고 만약 상기 몫이 영보다 크거나 같다면 새로운 성능 임계값을 획득하기 위하여 현재의 성능 임계값에 음성 코더 성능 임계 발생횟수에 대한 증가치와 음성 코더 성능 임계값의 제 2의 미리 결정된 발생횟수의 곱을 가산하는 수단을 포함한다.
본 발명의 다른 양상에서, 음성 코더는: 다수의 프레임을 분석하도록 구성된 분석 모듈; 그리고 분석 모듈에 결합되고 분석 모듈에 의하여 생성된 프레임 파라미터를 인코딩하도록 구성된 양자화 모듈을 포함하며, 상기 양자화 모듈은, 미리 선택된 인코딩율로 프레임을 인코딩하며; 미리 결정된 개수의 인코딩된 프레임에 대한 평균 가동 비트율을 계산하고; 차이값을 획득하기 위하여 미리 결정된 목표 평균비율로부터 평균 가동 비트율을 감산하며; 몫을 획득하기 위하여 미리 선택된 인코딩율로 차이값을 나누며; 제 1 누산값을 생성하기 위하여 현재의 성능 임계값보다 작은 음성 코더의 성능 임계값의 제 1의 미리 결정된 발생가능횟수를 누산하는데, 음성 코더 성능 임계값의 미리 결정된 발생가능횟수는 제 1 누산값이 몫의 절대값보다 크도록 선택되며; 만약 상기 몫이 영보다 작다면, 새로운 성능 임계값을 획득하기 위하여 현재의 성능 임계값으로부터 음성 코더 성능 임계값 발생횟수에 대한 감소치와 음성 코더 성능 임계값의 제 1 미리결정된 개수의 발생횟수의 곱을 감산하며; 제 2 누산값을 생성하기 위하여 현재의 성능 임계값보다 큰 음성 코더의 성능 임계값의 제 2의 미리 결정된 발생가능횟수를 누산하는데, 음성 코더 성능 임계값의 미리 결정된 발생가능횟수는 제 2 누산값이 몫보다 크도록 선택되며; 그리고 만약 상기 몫이 영보다 크거나 같다면, 새로운 성능 임계값을 획득하기 위하여 현재의 성능 임계값에 음성 코더 성능 임계값 발생횟수에 대한 증가치와 음성 코더 성능 임계값의 제 2의 미리 결정된 발생횟수의 곱을 가산하도록 더 구성된다.
도 1은 무선 전화 시스템의 블록도이다.
도 2는 각각의 단부에서 음성 코더에 의하여 종결된 통신 채널의 블록도이다.
도 3은 인코더의 블록도이다.
도 4는 디코더의 블록도이다.
도 5는 음성 코딩 결정 프로세스를 도시한 흐름도이다.
도 6A는 음성신호 크기 대 시간을 나타낸 그래프이며, 도 6B는 선형예측(LP) 잔여 크기 대 시간을 나타낸 그래프이다.
도 7은 프로토타입 피치 구간(PPP) 음성 코더의 블록도이다.
도 8은 도 7의 음성 코더와 같은 음성 코더에 대한 목표 평균 비트율을 유지하면서 각각의 인코딩된 프레임에 폐쇄 루프 코딩 성능측정을 적용하기 위하여 수행된 알고리즘 단계를 도시한 흐름도이다.
도 9는 음성 프레임을 인코딩하는 동안 도수분포표 빈들의 값을 업데이트하기 위하여 음성 코더에 의하여 수행된 알고리즘 단계를 도시한 흐름도이다.
본 명세서에 기술된 전형적인 실시예들은 CDMA 무선(over-the-air) 인터페이스를 이용하도록 구성된 무선 전화통신 시스템과 관련된다. 그럼에도 불구하고 당업자들은 본 발명의 특징을 이용하는 서브샘플링 방법 및 장치가 당업자에게 공지된 기술을 이용하는 여러 통신 시스템들과 관련된다는 것을 이해할 것이다.
도 1에 도시된 바와 같이, CDMA 무선 전화시스템은 일반적으로 다수의 이동가입자 유니트(10), 다수의 기지국(12), 기지국 제어기(BSC;14) 및 이동교환센터(MSC;16)를 포함한다. MSC(16)는 통상적인 공중 전화망(PSTN;18)과 인터페이스하도록 구성된다. MSC(16)은 또한 BSC(14)와 인터페이스하도록 구성된다. BSC(14)는 귀항(backhaul) 라인을 통하여 기지국(12)에 접속된다. 귀항 라인은 예를 들어 E1/T1, ATM, IP, PPP, 프레임 릴레이, HDSL, ADSL, 또는 xDSL을 포함하는 공지된 여러 인터페이스를 지원하도록 구성될 수 있다. 시스템에는 두개 이상의 BSC(14)가 상주한다. 각각의 기지국(12)은 적어도 하나의 선택기(도시되지 않음)를 포함하며, 각각의 선택기는 기지국(12)으로부터 특정한 방사방향으로 떨어진 안테나 또는 무지향성 안테나를 포함한다. 선택적으로, 각각의 선택기는 다이버시티 수신을 위하여 두개의 안테나를 포함할 수 있다. 각각의 기지국(12)은 다수의 주파수 할당을 지원하도록 설계될 수 있다. 섹터의 교차 및 주파수 할당은 CDMA 채널로 언급될 수 있다. 기지국(12)은 기지국 트랜시버 서브시스템(BTS;12)으로서 공지될 수 있다. 선택적으로, "기지국"은 당업계에서 통상적으로 하나의 BSC(14) 및 하나 이상의 BTS(12)로 언급된다. BTS(12)는 또한 "셀 사이트"(12)로서 표시될 수 있다. 선택적으로, 주어진 BTS(12)의 개별 섹터들이 셀 사이트로서 언급될 수 있다. 이동 가입자 유니트(10)는 전형적으로 셀룰러 또는 PCS 전화기(10)이다. 이 시스템은 바람직하게는 IS-95 표준에 따라 이용되도록 구성된다.
셀룰러 전화 시스템의 일반적인 동작동안, 기지국(12)은 이동 유니트(10) 세트로부터 역방향 링크 신호 세트를 수신한다. 이동 유니트(10)는 전화기 호출 또는 다른 통신을 수행한다. 주어진 기지국(12)에 의하여 수신된 각각의 역방향 링크 신호는 기지국(12)내에서 처리된다. 최종 데이터는 BSC(14)로 전송된다. BSC(14)는 기지국(12)간의 소프트 핸드오프의 조정을 포함하는 이동성 관리 기능 및 호출 자원 할당을 제공한다. BSC(14)는 또한 PSTN(18)과 인터페이스하기 위하여 추가의 라우팅 서비스를 제공하는 MSC(16)에 수신된 데이터를 라우팅한다. 유사하게, PSTN(18)은 MSC(16)와 인터페이스하며, MSC(16)는 BSC(14)와 인터페이스하고 다음으로 기지국(12)을 제어하여 이동 유니트 세트(10)에 순방향 링크 신호 세트를 전송한다.
도 2에서, 제 1 인코더(100)는 디지털화된 음성 샘플(s(n))을 수신하고, 전송 매체(102) 또는 통신 채널(102)을 통하여 제 1 디코더(104)로 전송하기 위한 샘플(s(n))을 인코딩한다. 디코더(104)는 인코딩된 음성 샘플을 디코딩하며, 출력 음성 신호(SSYNTH(n))를 합성한다. 반대방향으로의 전송을 위하여, 제 2 인코더(106)는 통신 채널(108)을 통하여 전송되는 디지털화된 음성 샘플(S(n))을 인코딩한다. 제 2 디코더(110)는 인코딩된 음성 샘플을 수신 및 디코딩하고, 합성된 출력 음성 신호(SSYNTH(n))를 생성한다.
음성 샘플(S(n))은 예를 들어 펄스 코드 변조(PCM), 압신된 μ-법칙, 또는 A-법칙을 포함하는 공지된 여러 방법중 임의의 방법에 따라 디지털화 및 양자화된 음성 신호를 나타낸다. 공지된 바와 같이, 음성 샘플(S(n))은 입력 데이터 프레임으로 구성되고, 각각의 프레임은 미리 결정된 개수의 디지털화된 음성 샘플(S(n))을 포함한다. 전형적인 실시예에서, 8kHz의 샘플링율이 사용되며, 각각의 20ms 프레임은 160개의 샘플을 포함한다. 이하 개시되는 실시예에서, 데이터 전송율은 13.2kbps(전데이터율)에서 6.2kbps(1/2 데이터율), 2.6kbps(1/4 데이터율), 1kbps(1/8 데이터율)으로
프레임단위로 변경될 수 있다. 데이터 전송율을 변경하는 것은 낮은 비트율이 상대적으로 적은 음성 정보를 포함하는 프레임에 선택적으로 이용될 수 있기 때문에 유리하다. 당업자에 의하여 이해되는 바와 같이, 다른 샘플링율, 프레임 크기 및 데이터 전송율이 사용될 수 있다.
제 1 인코더(100) 및 제 2 디코더(110)는 모두 제 1 음성 코더 또는 음성 코덱을 포함한다. 음성 코더는 예를 들면 도 1을 참조로 하여 앞서 기술된 바와같이 가입자 유니트, BTS, 또는 BSC를 포함하며 음성 신호를 전송하는 임의의 통신 장치에 사용될 수 있다. 유사하게, 제 2 인코더(106) 및 제 1 디코더(104)는 모두 제 2 음성 코더를 포함한다. 음성 코더가 디지털 신호 처리기(DSP), 주문형 집적회로(ASIC), 이산 게이트 로직, 펌웨어, 또는 임의의 통상적인 프로그램 가능한 소프트웨어 모듈 및 마이크로프로세서를 이용하여 수행될 수 있다는 것은 당업자에 의하여 이해될 것이다. 소프트웨어 모듈은 RAM 메모리, 플래쉬 메모리, 레지스터 또는 임의의 다른 형태의 기록가능한 공지된 저장매체에 상주할 수 있다. 선택적으로, 임의의 통상적인 프로세서, 제어기 또는 상태 머신이 마이크로프로세서를 대체할 수 있다. 음성 코딩을 위하여 특별히 설계된 전형적인 ASIC은 본 발명의 양수인에게 양도된 미국 특허번호 제5,727,123호 및 본 발명의 양수인에게 양도되며 VOCODER ASIC으로 명명되고 1998년 7월 28일에 특허허여된 미국 특허번호 제5,784,532호에 개시되어 있다.
도 3에서, 음성 코더에서 사용될 수 있는 인코더(200)는 모드 결정 모듈(202), 피치 추정 모듈(204), LP 분석 모듈(206), LP 분석 필터(208), LP 양자화 모듈(210) 및 잔여 양자화 모듈(212)을 포함한다. 입력된 음성 프레임(S(n))은 모드 결정 모듈(202), 피치 추정 모듈(204), LP 분석 모듈(206) 및 LP 분석 필터(208)에 제공된다. 모드 결정 모듈(202)은 각각의 입력된 음성 프레임(S(n))중에서 무엇보다도 주기성, 에너지, 신호대잡음비(SNR) 또는 제로크로싱율을 기초 로 모드 인덱스(IM) 및 모드(M)를 생성한다. 주기성과 관련되어 음성 프레임을 분류하는 여러 방법들은 미국 특허번호 제5,911,128호에 개시되어 있으며, 이 모두는 본 발명의 양수인에게 양도되고, 본 명세서에서 상호참조된다. 이와같은 방법들은 또한 무선 통신산업 협회 잠정 표준 TIA/EIA IS-127 및 TIA/EIA IS-733에 구체화되어 있다. 전형적인 모드 결정 계획은 전술한 미국 특허출원번호 제09/217,341호에 개시되어 있다.
피치 추정 모듈(204)은 각각의 입력된 음성 프레임(S(n))을 기초로 피치 인덱스(IP) 및 래그값(P0)을 생성한다. LP 분석 모듈(206)은 LP 파라미터(a)를 생성하기 위하여 각각의 입력된 음성 프레임(S(n))에 대하여 선형 예측 분석을 수행한다. LP 파라미터(a)는 LP 양자화 모듈(210)에 제공된다. LP 양자화 모듈(210)은 또한 모드 M을 수신하며, 이에 따라 모드종속 방식으로 양자화 처리를 수행하게 된다. LP 양자화 모듈(210)은 LP 인덱스(ILP) 및 양자화된 LP 파라미터(
Figure 112002001440285-pct00001
)를 생성한다. LP 분석 필터(208)는 입력된 음성 프레임(S(n))외에 양자화된 LP 파라미터(
Figure 112002001440285-pct00002
)를 수신한다. LP 분석 필터(208)는 LP 잔여 신호(R[n])을 생성하며, 이는 양자화된 선형 예측 파라미터(
Figure 112002001440285-pct00003
)를 기초로 하는 재구성된 음성 및 입력된 음성 프레임(S(n)) 사이의 에러를 나타낸다. LP 잔여 R[n], 모드 M 및 양자화된 LP 파라미터(
Figure 112002001440285-pct00004
)는 잔여 양자화 모듈(212)에 제공된다. 이러한 값들을 기초로, 잔여 양자화 모듈(212)은 잔여 인덱스(IR) 및 양자화된 잔여 신호(
Figure 112002001440285-pct00005
)를 생성한다.
도 4에서, 음성 코더에 사용될 수 있는 디코더(300)는 LP 파라미터 디코딩 모듈(302), 잔여 디코딩 모듈(304), 모드 디코딩 모듈(306) 및 LP 합성 필터(308)를 포함한다. 모드 디코딩 모듈(306)은 모드 인덱스(IM)를 수신하여 디코딩하며, 이로부터 모드 M을 생성한다. LP 파라미터 디코딩 모듈(302)은 모드 M 및 LP 인덱스(ILP)를 수신한다. LP 파라미터 디코딩 모듈(302)은 수신된 값들을 디코딩하여 양자화된 LP 파라미터(
Figure 112002001440285-pct00006
)를 생성한다. 잔여 디코딩 모듈(304)은 잔여 인덱스(IR), 피치 인덱스(IP) 및 모드 인덱스(IM)를 수신한다. 잔여 디코딩 모듈(304)은 수신된 값들을 디코딩하여 양자화된 잔여 신호(
Figure 112002001440285-pct00007
)를 생성한다. 양자화된 잔여 신호(
Figure 112002001440285-pct00008
) 및 양자화된 LP 파라미터(
Figure 112002001440285-pct00009
)는 LP 합성 필터(308)에 제공되며, 이 필터는 디코딩된 출력 음성 신호(
Figure 112002001440285-pct00010
)를 합성한다.
도 3의 인코더(200) 및 도 4의 디코더(300)의 여러 모듈의 동작 및 수행은 상술한 미국 특허번호 5,414,796호 및 L.B. Rabiner & R.W.Schafer, Digital Processing of Speech Signals 396-453(1978)에 개시되어 있다.
도 5의 흐름도에 도시된 바와 같이, 일 실시예를 따르는 음성 코더는 전송을 위하여 음성 샘플을 처리하는 여러 단계들을 수행한다. 단계 400에서, 음성 코더는 연속 프레임에서 음성 신호의 디지털 샘플을 수신한다. 주어진 프레임을 수신할 때, 음성 코더는 단계 402로 진행된다. 단계 402에서, 음성 코더는 프레임의 에너지를 검출한다. 에너지는 프레임의 음성 활성도의 측정치이다. 음성 검출은 디지털화된 음성 샘플의 진폭의 제곱을 합산하고 그 결과 에너지를 임계값과 비교함으로써 수행된다. 일 실시예에서, 임계값은 배경잡음의 변화하는 레벨에 기초하여 적용된다. 전형적인 가변 임계음성 활성검출기는 상술한 미국 특허번호 제5,414,796호에 개시되어 있다. 어떤 무성음은 배경잡음으로서 잘못 인코딩된 매우 낮은 에너지의 샘플일 수 있다. 이를 방지하기 위하여, 저에너지 샘플의 스펙트럼 기울기가 상술한 미국 특허번호 제5,414,796호에 개시된 바와 같이 배경잡음과 무성음을 구별하는데 사용될 수 있다.
프레임의 에너지를 검출한 후에, 음성 코더는 단계 404로 진행한다. 단계 404에서, 음성 코더는 검출된 프레임 에너지가 음성정보를 포함하는 프레임을 분류하기에 충분한지를 결정한다. 만일 검출된 프레임 에너지가 미리 결정된 임계값 이하로 떨어진다면, 음성 코더는 단계 406으로 진행한다. 단계 406에서, 음성 코더는 배경잡음(즉, 음성이 아니거나 소리가 없는 상태)으로서 프레임을 인코딩한다. 일 실시예에서, 배경잡음 프레임은 1/8비트율 또는 1kbps로 인코딩된다. 만일 단계 404에서, 검출된 프레임 에너지가 미리 결정된 임계레벨을 충족시키거나 초과한다면, 프레임은 음성으로서 분류되고 음성 코더는 단계 408로 진행된다.
단계 408에서, 음성 코더는 프레임이 무성음인지의 여부를 결정한다. 즉, 음성 코더는 프레임의 주기성을 검사한다. 주기성 검사에 관한 여러 공지된 방법들은 예를 들면 제로 크로싱(zero crossing)의 사용 및 정규 자기상관 함수(NACF)의 사용을 포함한다. 특히, 주기성을 검사하기 위한 제로 크로싱 및 NACF의 사용은 상술한 미국특허번호 제5,911,128호 및 미국특허출원번호 제09/217,341호에 개 시되어 있다. 또한, 유성음과 무성음을 구분하는데 사용되는 상술한 방법은 무선통신산업협회 잠정 표준 TIA/EIA IS-127 및 TIA/EIA IS-733호에 구체화되어 있다. 만일 프레임이 단계 408에서 무성음인 것으로 결정되었다면, 음성 코더는 단계 410으로 진행된다. 단계 410에서, 음성 코더는 프레임을 무성음으로 인코딩한다. 일 실시예에서, 무성음 프레임은 1/4비트율 또는 2.6kbps로 인코딩된다. 만일 단계 408에서 프레임이 무성음으로 결정되지 않는다면, 음성 코더는 단계 412로 진행된다.
단계 412에서, 음성 코더는 상술한 미국특허번호 제5,911,128호에 개시된 바와 같이 공지된 주기성 검출방법을 이용하여 프레임이 중간 음성인지를 결정한다. 만일 프레임이 중간 음성인 것으로 결정되면, 음성 코더는 단계 414로 진행된다. 단계 414에서, 프레임은 중간 음성으로서 인코딩된다(즉, 무성음에서 유성음으로 전이되는 단계). 일 실시예에서, 중간 음성 프레임은 MULTIPULSE INTERPOLATIVE CODING OF TRANSITION SPEECH FRAMES로 명명되고 1999년 5월 7일 출원된 미국 특허출원번호 제09/307,294호에 개시된 멀티펄스 보간 코딩 방법에 따라 인코딩되며, 상기 출원은 본 발명의 양수인에게 양도되고, 본 명세서에서 상호참조된다. 다른 실시예에서, 중간 음성 프레임은 전데이터율(full rate) 또는 13.2kbps로 인코딩된다.
단계 412에서, 음성 코더가 프레임이 중간음성이 아닌것으로 결정하면, 단계 416으로 진행된다. 단계 416에서, 음성 코더는 유성음으로 프레임을 인코딩한다. 일 실시예에서, 유성음 프레임은 전데이터율(full rate) 또는 6.2kbps로 인코딩될 수 있다. 또한, 유성음 프레임을 전데이터율 또는 13.2kbps(또는 8k CELP 코더에서 전데이터율, 8kbps)로 인코딩할 수 있다. 그러나 당업자는 1/2데이터율로 코딩된 음성 프레임은 코더가 음성 프레임의 안정상태를 이용하여 유효한 대역폭을 절약할 수 있도록 한다는 것을 이해할 것이다. 게다가, 유성음을 인코딩하는데 사용된 인코딩율과는 상관없이, 유성음은 이전 프레임으로부터의 정보를 이용하여 유리하게 코딩되며, 따라서 예측가능하게 코딩될 것이다.
당업자들은 음성 신호 또는 대응되는 LP 잔여부중 하나가 도 5에 도시된 바와 같은 단계들에 의하여 인코딩될 수 있다는 것을 이해할 것이다. 잡음, 무성음, 중간음, 유성음의 파형특성은 도 6A의 그래프에 시간함수로 도시되어 있다. 잡음, 무성음, 중간음, 유성음 LP 잔여치의 파형특성은 도 6B의 그래프에 시간함수로 도시되어 있다.
일 실시예에서, 프로토타입의 피치 구간(PPP) 음성 코더(500)는 도 7에 도시된 바와 같이, 반전 필터(502), 프로토타입의 추출기(504), 프로토타입의 양자화기(506), 프로토타입의 역양자화기(508), 보간/합성 모듈(510) 및 LPC 합성 모듈(512)을 포함한다. 음성 코더(500)는 유리하게 DSP의 일부로서 수행될 수 있으며, 예를 들어 가입자 유니트 또는 PCS 또는 셀룰러 전화시스템의 기지국에 존재할 수 있거나, 가입자 유니트 또는 위성 시스템의 게이트웨이에 존재할 수 있다.
음성 코더(500)에서 디지털화된 음성 신호(S(n))는 반전 LP 필터(502)에 제공되며, n은 프레임 번호이다. 특정한 실시예에서는, 프레임 길이가 20ms이다. 반전 필터(A(z))의 전송함수는 다음 방정식에 따라 계산된다.
A(z) = 1-a1z-1-a2z-2-...-apz-p
여기에서 계수 aI은 미국 특허번호 제5,414,796호 및 미국 특허출원번호 제09/217,494호에 개시되어 있는 바와 같이 공지된 방법에 따라 선택된 미리 결정된 값을 가진 필터탭들이다. 번호 P는 반전 LP 필터(502)가 예측을 위해 사용하는 이전 샘플의 개수를 나타낸다. 특정 실시예에서, P는 10으로 세팅된다.
반전 필터(502)는 프로토타입 추출기(504)에 LP 잔여 신호(r(n))를 제공한다. 프로토타입 추출기(504)는 현재의 프레임으로부터 프로토타입을 추출한다. 프로토타입은 디코더에서 LP 잔여 신호를 재구성하기 위하여 프레임내에 유사하게 위치된 이전 프레임의 프로토타입을 이용하여 보간/합성 모듈(510)에 의하여 선형적으로 보간될 현재 프레임의 일부이다.
프로토타입 추출기(504)는 공지된 여러 양자화 기술에 따라 프로토타입을 양자화하는 프로토타입 양자화기(506)에 프로토타입을 제공한다. 참조 테이블(도시되지 않음)로부터 획득될 수 있는 양자화된 값들은 패킷으로 조립되며, 이는 래그 및 채널에서 전송하기 위한 다른 코드북 파라미터를 포함한다. 패킷은 송신기(도시되지 않음)에 제공되고 채널을 통하여 수신기(도시되지 않음)에 전송된다. 반전 LP 필터(502), 프로토타입 추출기(504) 및 프로토타입 양자화기(506)는 현재의 프레임에서 PPP 분석을 수행한다.
수신기는 패킷을 수신하여 프로토타입 양자화기(508)에 제공한다. 프로토토압 역양자화기(508)는 여러 공지된 기술에 따라 패킷을 역양자화할 것이다. 프로 토타입 역양자화기(508)는 보간/합성 모듈(510)에 역양자화된 프로토타입을 제공한다. 보간/합성 모듈(510)은 현재의 프레임에 대한 LP 잔여 신호를 재구성하기 위하여 프레임내에서 유사하게 위치된 이전 프레임으로부터의 프로토타입을 이용하여 프로토타입을 보간한다. 보간 및 프레임 합성은 유리하게 미국 특허번호 제5,884,253호 및 상술한 미국특허출원번호 제09/217,494호에 따라 달성된다.
보간/합성 모듈(510)은 재구성된 LP 잔여 신호(
Figure 112002001440285-pct00011
)를 LPC 합성 모듈(512)에 제공한다. LPC 합성 모듈(512)은 또한 전송된 패킷으로부터 라인 스펙트럼쌍(LSP)의 값들을 수신하고, 이 값들은 현재의 프레임에 대하여 재구성된 음성 신호(
Figure 112002001440285-pct00012
)를 생성하기 위하여 재구성된 LP 잔여 신호(
Figure 112002001440285-pct00013
)에서 LPC 여과를 수행하는데 사용된다. 선택적인 실시예에서, 음성 신호(
Figure 112002001440285-pct00014
)의 LPC 합성은 현재 프레임의 보간/합성을 수행하기 전에 프로토타입을 위하여 수행될 수 있다. 프로토타입 역양자화기(508), 보간/합성 모듈(510) 및 LPC 합성 모듈(512)은 현재의 프레임에 대하여 PPP 합성을 수행한다.
일 실시예에서, 도 7의 PPP 음성 코더(500)와 같은 음성 코더는 음성 코더에 대하여 목표 평균 비트율을 유지하면서 각각의 인코딩된 프레임에 폐쇄루프 코딩 성능측정을 적용한다. 음성 코더는 PPP 음성 코더 또는 프레임을 기반으로 하는 코디율을 증가시킴으로써 음성 품질을 개선시킬 수 있는 임의 형태의 저비트율 음성 코더일 수 있다.
음성 프레임의 오픈-루프 분류후에(일 실시예의 프레임은 음성의 20ms 세그먼트를 포함한다), 음성 프레임은 미리 선택된 비율 RP를 사용하여 인코딩된다. 폐쇄 루프 성능 테스트는 이후에 수행된다. 인코더 성능 측정은 미리 선택된 비율 RP를 이용하여 완전 또는 부분 인코딩 이후에 획득된다. 해당 기술에 공지된 전형적인 성능 측정은 예를 들면 신호대잡음비(SNR), PPP 음성 코더와 같은 인코딩 계획의 SNR 예측, 예측 에러 양자화 SNR, 위상 양자화 SNR, 진폭 양자화 SNR, 지각 SNR, 및 정상상태를 측정할 때 현재와 과거 프레임 사이의 정규화된 상호상관을 포함한다. 만일 성능 측정값(PNM)이 임계값(PNM_TH)이하로 떨어진다면, 인코딩율은 인코딩 계획이 더 나은 품질이 기대되는 값으로 변경될 것이다. 전형적으로, 이것은 코딩율 변경이 증가한다는 것을 의미한다. 가변율 음성 코더의 품질을 유지하기 위한 전형적인 폐쇠루프 분류 계획은 CLOSED LOOP VARIABLE RATE MULTIMODE PREDICTIVE SPEECH CODER으로 명명되고 1998년 11월 13일 출원된 미국 특허출원 번호 제09/191,643호에 개시되어 있으며, 이는 본 발명의 양수인에게 양도되고, 본 명세서에서 상호참조된다.
성능 측정값(PNM)이 또한 현재의 임계값(PNM_TH) 주변의 임계값의 히스토그램을 업데이트하는데 유리하게 이용된다. 히스토그램은 다음 방식으로 음성 코더에 대한 평균 비트율을 전반적으로 제어하는데 사용된다. 음성 코더는 W 프레임의 윈도우에 대하여 평균 가동 비트율을 계산하며, W 프레임 이후에 제로 값으로 평균 가동 비트율을 리셋하고, 다음 W 프레임에 대하여 평균 가동 비트율을 다시 계산한다. W-프레임의 끝부분에서, 평균 비트율은 목표 평균 비트율(AVR)로부터 감산되고, 그 차는 원래의 미리 선택된 인코딩 비율값(RP)으로 나누어진다.
만일 나눗셈 AVR/RP의 몫(NR)이 양이라면, 제 1 BR(Bin right) 빈에 대한 히스토그램값, 또는 PNM_TH의 오른쪽(즉, 임계값보다 높은 코딩율과 연관된 제 1 BR 빈)으로 히스토그램 바의 폭이 축적된다. BR 값은 축적된 값이 NR보다 크도록 유리하게 선택된다. 임계값 PNM_TH는 이후에 DTH_HI*BR을 생성하는것과 동일한 양만큼 증가되고, DTH_HI는 빈당 증가량이다. DTH_HI가 적당한 값에 대하여 가장 먼저 초기화되는 것에 주의하라. 한가지 적당한 값은 (MAX_TH-PNM_TH)/HB(파라미터는 이하 결정된다)이다.
만일 몫(NR)이 음이라면, PNM_TH의 왼쪽으로 제 1 BR 빈에 대한 히스토그램값이 축적된다. BR 값은 축적된 값이 NR보다 크도록 유리하게 선택된다. 임계값 PNM_TH는 이후에 DTH_LO*BL을 생성하는것과 동일한 양만큼 증가되고, DTH_LO는 빈당 감소량이다. DTH_LO가 적당한 값에 대하여 가장 먼저 초기화되는 것에 주의하라. 한가지 적당한 값은 (PNM_TH-MIN_TH)/HB(파라미터는 이하 결정된다)이다.
만일 최대 및 최소값 또는 그 추정치가 공지되어 있다면, 성능 임계값(PNM_TH)는 최대값 및 최소값(MAX_TH 및 MIN_TH)으로 각각 제한될 수 있다. 유리하게, 빈당 감소(DTH_LO) 및 빈당 증가(DTH_HI)가 만일 원한다면 각각 몫(PNM_TH-MIN_TH)/HB 및 (MAX_TH-PNM_TH)/HB으로 업데이트될 수 있으며, 여기에서 HB는 히스토그램의 빈의 개수의 절반과 동일하다. 음성 코더가 W-프레임 윈도우를 위한 평균 목표 비트율(AVR)에 평균 비트율을 근접하게 유지시키는 것을 중단할 때, 히스토그램의 모든 2HB 빈에 대한 히스토그램값은 유리하게 제로 값으로 리셋된다.
일 실시예에서, 히스토그램값의 업데이트는 미리 선택된 비율(Rp)를 이용하여 인코딩하는 동안 발생한다. 이것은 다음 방법으로 달성된다. 우선, 빈들이 업데이트된다. 임계값(PNM_TH)의 왼쪽에 존재하는 각각의 HB 빈들은 임계값(PNM_TH)의 왼쪽에 존재하는 i번째 빈에 대한 차이값(PNM_TH-DTH_LO*i)과 동일하게 세팅된다(임계값(PNM_TH)은 히스토그램의 중앙에 위치한다). 임계값(PNM_TH)의 오른쪽에 있는 각각의 HB빈들은 임계값(PNM_TH)의 오른쪽에 있는 i번째 빈들에 대한 합(PNM_TH+DTH_HI*i)과 동일하게 세팅된다. 둘째로, PNM을 포함하는 빈들의 히스토그램값, 즉, 현재의 성능 측정값이 1만큼 증가한다.
일 실시예에서, 도 7의 PPP 음성 코더(500)와 같은 음성 코더는 음성 코더에 대한 평균 목표 비트율을 유지하면서 각각의 인코딩된 프레임에 폐쇄 루프 코딩 성능 측정값(PNM)을 적용하기 위하여 도 8의 흐름도에 도시된 알고리즘 단계를 수행한다. 음성 코더는 PPP 음성 코더 또는 프레임을 기본으로 하는 코딩율을 증가시킴으로써 음성 품질을 개선시킬 수 있는 임의의 다른 타입의 저비트율 음성 코더일 수 있다.
현재의 음성 프레임은 프레임의 내용의 오픈-루프 분류를 기초로 비율(Rp)에서 인코딩된다. 폐쇄-루프 테스트는 이후에 프레임에 적용되어 만일 음성 코딩 성능 측정치(PNM)이 성능 임계값(PNM_TH)이하로 떨어지면, 인코딩율이 증가된다. 임계값(PNM_TH)은 음성 코더의 평균 가동 비트율을 평균 목표 비트율(AVR)에 또는 근 접하게 위치시키기 위하여 다음 방법 단계에 따라 조절된다.
단계 600에서, 음성 코더는 W 프레임 길이의 윈도우에 대한 평균 가동 비트율을 계산한다. 음성 코더는 이후에 단계 602로 진행된다. 단계 602에서, 음성 코더는 몫(NR=(AVR-평균 가동비트율)/Rp)를 계산한다. 음성 코더는 이후에 단계 604로 진행된다. 단계 604에서, 음성 코더는 NR이 영 보다 크거나 같은지를 결정한다. 만일 NR이 영 보다 크거나 같다면, 음성 코더는 단계 606으로 진행된다. 다른 한편, 만일 NR이 영 보다 크거나 같지 않다면, 음성 코더는 단계 608로 진행된다.
단계 606에서, 음성 코더는 축적된 값들이 NR보다 크도록 BR을 선택하여 PNM_TH의 오른쪽으로 제 1 BR 히스토그램 빈값을 누산한다. 음성 코더는 이후에 단계 610으로 진행된다. 단계 610에서, 음성 코더는 PNM_TH 및 DTH_HI*BR의 합과 동일하게 PNM_TH를 세팅하며, DTH_HI는 히스토그램 빈당 증가량과 동일하다. 음성 코더는 이후에 단계 612로 진행된다.
단계 608에서, 음성 코더는 축적된 값이 -NR보다 크도록 BL(Bin Left)을 선택하여 PNM_TH의 왼쪽으로 제 1 BL 히스토그램 빈값을 누산한다. 음성 코더는 이후에 단계 614으로 진행된다. 단계 614에서, 음성 코더는 PNM_TH 및 DTH_LO*BR의 차이와 동일하게 PNM_TH를 세팅하며, DTH_LO는 히스토그램 빈당 감소량과 동일하다. 음성 코더는 이후에 단계 612로 진행된다.
PNM_TH를 최대 및 최소값(MAX_TH 및 MIN_TH)으로 각각 제한하는 단계는 만일 원한다면 단계 612 이전에 수행될 수 있다. 추가로, 빈당 감소치(DTH_LO) 및 증가치(DTH_HI)를 각각 몫(PNM_TH-MIN_TH)/HB 및 (MAX_TH-PNM_TH)HB으로 업데이트시키는 단계는 만일 원한다면 단계 612 이전에 수행될 수 있으며, HB는 히스토그램의 빈개수의 절반과 동일하다. DTH_HI 및 DTH_LO가 각각 (MAX_TH-PNM_TH)/HB 및 (PNM_TH-MIN_TH)/HB과 같은 적당한 값으로 가장 먼저 초기화될 것이라는 것에 주의하라.
단계 612에서, 음성 코더는 모든 2HB 히스토그램 빈들에 대한 히스토그램 값을 영으로 리셋팅한다. 음성 코더는 이후에 다음 W 프레임에 대한 평균 가동 비트율을 계산하기 위하여 단계 600으로 진행된다.
일 실시예에서, 음성 코더는 각각의 W 프레임에 대하여 인코딩 비율(Rp)에서 음성 프레임을 인코딩하는 동안 히스토그램 빈의 값을 업데이트하기 위하여 도 9의 흐름도에 도시된 알고리즘 단계를 수행한다. 단계 700에서, 음성 코더는 임계값 PNM_TH의 왼쪽에 있는 i 번째 빈에 대한 차이값(PNM_TH-DTH_LO*i)과 동일하게 PNM_TH의 왼쪽에 있는 모든 히스토그램 빈들을 세팅한다. 음성 코더는 이후에 단계 702로 진행된다. 단계 702에서, 음성 코더는 임계값 PNM_TH의 오른쪽에 있는 i 번째 빈에 대한 합(PNM_TH+DTH_HI*i)과 동일하게 PNM_TH의 오른쪽에 있는 모든 히스토그램 빈들을 세팅한다. 이후에 음성 코더는 단계 704로 진행된다. 단계 704에서, 음성 코더는 PNM을 포함하는 히스토그램값, 즉 현재의 성능 측정치를 1만큼 증가시킨다.
지금까지, 프레임 소거 상태하에서 예측 음성 코더에서 성능을 개선하기 위하여 디코더로부터 인코더로 피드백을 제공하는 신규한 방법 및 장치가 설명되었다. 당업자들은 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 이산 게이트 또는 트랜지스터 로직, 레지스터 또는 FIFO와 같은 이산 하드웨어 요소, 한 세트의 펌웨어 명령을 수행하는 프로세서 또는 임의의 통상적인 프로그램가능한 소프트웨어 모듈 및 프로세서를 이용하여 기술된 실시예와 연관된 여러 논리 블록 및 알고리즘 단계가 수행될 수 있다는 것을 이해할 것이다. 프로세서는 유리하게 마이크로프로세서일 수 있지만, 선택적으로 임의의 통상적인 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래쉬 메모리, 레지스터 또는 임의 형태의 기록가능한 저장 매체에 상주할 수 있다. 당업자들은 또한 데이터, 명령, 인스트럭션, 정보, 신호, 비트, 심볼 및 칩들이 유리하게 전압, 전류, 전자기파, 자장 또는 자분, 광필드 또는 광입자 또는 그 조합으로서 참조될 수 있다는 것을 이해할 것이다.
본 발명의 바람직한 실시예가 지금까지 기술되었다. 본 발명의 범위를 벗어나지 않으면서 다양한 변형예를 실시할 수 있다는 것은 당업자에게 명백하다. 그러므로 본 발명은 다음 청구항외에는 제한받지 않는다.

Claims (36)

  1. 가변 인코딩율로 다수의 프레임을 인코딩하도록 구성된 음성 코더에서, 상기 음성 코더에 대한 평균 목표 비트율을 유지하는 방법으로서:
    미리 선택된 인코딩율로 프레임을 인코딩하는 단계;
    미리 결정된 개수의 인코딩된 프레임에 대한 평균 가동 비트율을 계산하는 단계;
    차이값을 획득하기 위하여 미리 결정된 평균 목표 비트율로부터 상기 평균 가동 비트율을 감산하는 단계;
    몫을 획득하기 위하여 상기 미리 선택된 인코딩율로 상기 차이값을 나누는 단계;
    만일 상기 몫이 영보다 작다면, 제 1 누산값을 생성하기 위하여 현재의 성능 임계값보다 작은 음성 코더 성능 임계값의 제 1의 미리 결정된 발생가능횟수를 누산하는 단계를 포함하는데, 상기 음성 코더 성능 임계값의 미리 결정된 발생가능횟수는 상기 제 1 누산값이 상기 몫의 절대값 보다 크도록 선택되며;
    만일 상기 몫이 영보다 작다면, 새로운 성능 임계값을 획득하기 위해 상기 현재의 성능 임계값으로부터 음성 코더 성능 임계값 발생횟수에 대한 감소치 및 상기 음성 코더 성능 임계값의 제 1의 미리 결정된 발생횟수의 곱을 감산하는 단계;
    만일 상기 몫이 영보다 크거나 같다면, 제 2 누산값을 생성하기 위해 상기 현재의 성능 임계값보다 큰 음성 코더 성능 임계값의 제 2의 미리 결정된 발생가능횟수를 누산하는 단계를 포함하는데, 상기 음성 코더 성능 임계값의 미리 결정된 발생 가능횟수는 상기 제 2 누산값이 상기 몫보다 크도록 선택되며; 그리고
    만일 상기 몫이 영보다 크거나 같다면, 새로운 성능 임계값을 획득하기 위해 상기 현재의 성능 임계값에 음성 코더 성능 임계값 발생 횟수에 대한 증가치 및 상기 음성 코더 성능 임계값의 제 2의 미리 결정된 발생횟수의 곱을 가산하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서, 상기 음성 코더 성능과 미리 결정된 성능 측정치를 비교하는 단계 및 만일 프레임에 대한 상기 음성 코더 성능이 현재의 성능 임계값 이하로 떨어진다면 상기 프레임에 대한 상기 미리 선택된 인코딩율을 조절하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서, 상기 조절 단계는 상기 프레임에 대한 인코딩율을 증가시키는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제 2 항에 있어서, 상기 인코딩 단계 동안,
    상기 현재의 성능 임계값보다 작은 음성 코더 성능 임계값의 각각의 발생횟수에 대하여, 상기 음성 코더 성능 임계값 발생횟수에 대한 감소치 및 상기 음성 코더 성능 임계값의 발생횟수와 현재의 성능 임계값 사이의 음성 코더 성능 임계값의 발생횟수 더하기 1의 곱을 상기 현재의 성능 임계값으로부터 감산하고, 상기 감산 결과와 동일하게 음성 코더 성능 임계값의 발생횟수를 세팅하는 단계;
    상기 현재의 성능 임계값보다 큰 음성 코더 성능 임계값의 각각의 발생횟수에 대하여, 상기 음성 코더 성능 임계값 발생횟수에 대한 증가치 및 상기 음성 코더 성능 임계값의 발생횟수와 현재의 성능 임계값 사이의 음성 코더 성능 임계값의 발생횟수 더하기 1의 곱을 상기 현재의 성능 임계값에 가산하고, 상기 가산 결과와 동일하게 음성 코더 성능 임계값의 발생횟수를 세팅하는 단계; 그리고
    상기 현재의 음성 코더 성능에 대응하는 음성 코더 성능 임계값의 발생횟수를 1 만큼 증가시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서, 상기 미리 선택된 인코딩율을 상기 프레임의 개방 루프 분류로부터 획득하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서, 상기 현재의 성능 임계값을 최대값으로 제한하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제 1 항에 있어서, 상기 현재의 성능 임계값을 최소값으로 제한하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제 1 항에 있어서, 초기값을 상기 음성 코더 성능 임계값 발생횟수에 대한 감소치 및 상기 음성 코더 성능 임계값 발생횟수에 대한 증가치에 할당하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제 1 항에 있어서, 상기 가산 단계 또는 감산 단계중 하나를 수행한 후에 모든 음성 코더 성능 임계값의 발생횟수를 영으로 리세팅하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제 1 항에 있어서, 상기 프레임은 음성 프레임인 것을 특징으로 하는 방법.
  11. 제 1 항에 있어서, 상기 프레임은 선형 예측 잔여 프레임인 것을 특징으로 하는 방법.
  12. 제 1 항에 있어서, 상기 음성 코더는 무선 통신 시스템의 가입자 유니트에 존재하는 것을 특징으로 하는 방법.
  13. 미리 선택된 인코딩율로 프레임을 인코딩하는 수단;
    미리 결정된 개수의 인코딩 프레임에 대한 평균 가동 비트율을 계산하는 수단;
    차이값을 획득하기 위하여 미리 결정된 평균 목표 비트율로부터 상기 평균 가동 비트율을 감산하는 수단;
    몫을 획득하기 위하여 상기 미리 선택된 인코딩율로 상기 차이값을 나누는 수단;
    제 1 누산값을 생성하기 위하여 현재의 성능 임계값보다 작은 음성 코더 성능 임계값의 제 1의 미리 결정된 발생가능횟수를 누산하는 수단을 포함하는데, 상기 음성 코더 성능 임계값의 미리 결정된 발생가능횟수는 상기 제 1 누산값이 상기 몫의 절대값보다 크도록 선택되며;
    만일 상기 몫이 영보다 작다면, 새로운 성능 임계값을 획득하기 위하여 상기 현재의 성능 임계값으로부터 음성 코더 성능 임계값 발생횟수에 대한 감소치 및 음성 코더 성능 임계값의 제 1의 미리 결정된 발생횟수의 곱을 감산하는 수단;
    제 2 누산값을 생성하기 위하여 상기 현재의 성능 임계값보다 큰 음성 코더 성능 임계값의 제 2의 미리 결정된 발생가능횟수를 누산하는 수단을 포함하는데, 상기 음성 코더 성능 임계값의 미리 결정된 발생 가능횟수는 상기 제 2 누산값이 상기 몫보다 크도록 선택되며; 그리고
    만일 상기 몫이 영보다 크거나 같다면, 새로운 성능 임계값을 획득하기 위하여 현재의 성능 임계값에 음성 코더 성능 임계값 발생횟수에 대한 증가치 및 음성 코더 성능 임계값의 제 2의 미리 결정된 발생횟수의 곱을 가산하는 수단을 포함하는 음성 코더.
  14. 제 13 항에 있어서, 상기 음성 코더 성능과 미리 결정된 성능 측정치를 비교하는 수단 및 만일 프레임에 대한 상기 음성 코더 성능이 현재의 성능 임계값 이하로 떨어진다면 상기 프레임에 대한 상기 미리 선택된 인코딩율을 조절하는 수단을 더 포함하는 것을 특징으로 하는 음성 코더.
  15. 제 14 항에 있어서, 상기 조절 수단은 상기 프레임에 대한 인코딩율을 증가시키는 수단을 포함하는 것을 특징으로 하는 음성 코더.
  16. 제 14 항에 있어서,
    상기 프레임의 인코딩을 수행하는 동안, 상기 현재의 성능 임계값보다 작은 음성 코더 성능 임계값의 각각의 발생횟수에 대하여, 상기 음성 코더 성능 임계값 발생횟수에 대한 감소치 및 상기 음성 코더 성능 임계값의 발생횟수와 현재의 성능 임계값 사이의 음성 코더 성능 임계값의 발생횟수 더하기 1의 곱을 상기 현재의 성능 임계값으로부터 감산하고, 상기 감산 결과와 동일하게 음성 코더 성능 임계값의 발생횟수를 세팅하는 수단;
    상기 프레임의 인코딩을 수행하는 동안, 상기 현재의 성능 임계값보다 큰 음성 코더 성능 임계값의 각각의 발생횟수에 대하여, 상기 음성 코더 성능 임계값 발생횟수에 대한 증가치 및 상기 음성 코더 성능 임계값의 발생횟수와 현재의 성능 임계값 사이의 음성 코더 성능 임계값의 발생횟수 더하기 1의 곱을 상기 현재의 성능 임계값에 가산하고, 상기 가산 결과와 동일하게 음성 코더 성능 임계값의 발생횟수를 세팅하는 수단; 그리고
    상기 현재의 음성 코더 성능에 대응하는 음성 코더 성능 임계값의 발생횟수를 1 만큼 증가시키는 수단을 더 포함하는 것을 특징으로 하는 음성 코더.
  17. 제 13 항에 있어서, 상기 프레임의 개방 루프 분류로부터 상기 미리 선택된 인코딩율을 획득하는 수단을 더 포함하는 것을 특징으로 하는 음성 코더.
  18. 제 13 항에 있어서, 상기 현재의 성능 임계값을 최대값으로 제한하는 수단을 더 포함하는 것을 특징으로 하는 음성 코더.
  19. 제 13 항에 있어서, 상기 현재의 성능 임계값을 최소값으로 제한하는 수단을 더 포함하는 것을 특징으로 하는 음성 코더.
  20. 제 13 항에 있어서, 초기값을 상기 음성 코더 성능 임계값 발생횟수에 대한 감소치 및 상기 음성 코더 성능 임계값 발생횟수에 대한 증가치에 할당하는 수단을 더 포함하는 것을 특징으로 하는 음성 코더.
  21. 제 13 항에 있어서, 상기 현재의 성능 임계값이 조절된 후에 모든 음성 코더 성능 임계값의 발생횟수를 영으로 리세팅하는 수단을 더 포함하는 것을 특징으로 하는 음성 코더.
  22. 제 13 항에 있어서, 상기 프레임은 음성 프레임인 것을 특징으로 하는 음성 코더.
  23. 제 13 항에 있어서, 상기 프레임은 선형 예측 잔여 프레임인 것을 특징으로 하는 음성 코더.
  24. 제 13 항에 있어서, 상기 음성 코더는 무선 통신 시스템의 가입자 유니트에 존재하는 것을 특징으로 하는 음성 코더.
  25. 다수의 프레임을 분석하도록 구성된 분석 모듈; 그리고
    상기 분석 모듈에 결합되고, 상기 분석 모듈에 의하여 생성된 프레임 파라미터를 인코딩하도록 구성된 양자화 모듈을 포함하며, 상기 양자화 모듈은,
    미리 선택된 인코딩율로 프레임을 인코딩하며;
    미리 결정된 개수의 인코딩 프레임에 대한 평균 가동 비트율을 계산하며;
    차이값을 획득하기 위해 미리 결정된 평균 목표 비트율로부터 상기 평균 가동 비트율을 감산하며;
    몫을 획득하기 위해 상기 미리 선택된 인코딩율로 상기 차이값을 나누며;
    제 1 누산값을 생성하기 위해 현재의 성능 임계값보다 작은 음성 코더 성능 임계값의 제 1의 미리 결정된 발생가능횟수를 누산하는데, 상기 음성 코더 성능 임계값의 미리 결정된 발생가능횟수는 상기 제 1 누산값이 상기 몫의 절대값 보다 크도록 선택되며;
    만일 상기 몫이 영보다 작다면, 새로운 성능 임계값을 획득하기 위해 상기 현재의 성능 임계값으로부터 음성 코더 성능 임계값 발생횟수에 대한 감소치 및 상기 음성 코더 성능 임계값의 제 1의 미리 결정된 발생횟수의 곱을 감산하며;
    제 2 누산값을 생성하기 위해 상기 현재의 성능 임계값보다 큰 음성 코더 성능 임계값의 제 2의 미리 결정된 발생가능횟수를 누산하는데, 상기 음성 코더 성능 임계값의 미리 결정된 발생가능횟수는 상기 제 2 누산값이 상기 몫보다 크도록 선택되며; 그리고
    만일 상기 몫이 영보다 크거나 같다면, 새로운 성능 임계값을 획득하기 위해 상기 현재의 성능 임계값에 상기 음성 코더 성능 임계값 발생횟수에 대한 증가치 및 상기 음성 코더 성능 임계값의 제 2의 미리 결정된 발생횟수의 곱을 가산하도록 더 구성되는 음성 코더.
  26. 제 25 항에 있어서, 상기 양자화 모듈은 상기 음성 코더 성능과 미리 결정된 성능 측정치를 비교하며, 만일 프레임에 대한 상기 음성 코더 성능이 현재의 성능 임계값 이하로 떨어진다면 프레임에 대한 상기 미리 선택된 인코딩율을 조절하도록 구성되는 것을 특징으로 하는 음성 코더.
  27. 제 26 항에 있어서, 상기 코딩율은 증가 조절되는 것을 특징으로 하는 음성 코더.
  28. 제 26 항에 있어서, 상기 양자화 모듈은,
    상기 프레임의 인코딩을 수행하는 동안, 상기 현재의 성능 임계값보다 작은 음성 코더 성능 임계값의 각각의 발생횟수에 대하여, 상기 음성 코더 성능 임계값 발생횟수에 대한 감소치 및 상기 음성 코더 성능 임계값의 발생횟수와 현재의 성능 임계값 사이의 음성 코더 성능 임계값의 발생횟수 더하기 1의 곱을 상기 현재의 성능 임계값으로부터 감산하고, 상기 감산 결과와 동일하게 음성 코더 성능 임계값의 발생횟수를 세팅하며;
    상기 프레임의 인코딩을 수행하는 동안, 상기 현재의 성능 임계값보다 큰 음성 코더 성능 임계값의 각각의 발생횟수에 대하여, 상기 음성 코더 성능 임계값 발생횟수에 대한 증가치 및 상기 음성 코더 성능 임계값의 발생횟수와 현재의 성능 임계값 사이의 음성 코더 성능 임계값의 발생횟수 더하기 1의 곱을 상기 현재의 성능 임계값에 가산하고, 상기 가산 결과와 동일하게 음성 코더 성능 임계값의 발생횟수를 세팅하며; 그리고
    상기 현재의 음성 코더 성능에 대응하는 음성 코더 성능 임계값의 발생횟수를 1 만큼 증가시키도록 더 구성되는 것을 특징으로 하는 음성 코더.
  29. 제 25 항에 있어서, 상기 양자화 모듈은 상기 프레임의 개방 루프 분류로부터 상기 미리 선택된 인코딩율을 획득하도록 더 구성되는 것을 특징으로 하는 음성 코더.
  30. 제 25 항에 있어서, 상기 양자화 모듈은 상기 현재의 성능 임계값을 최대값으로 제한하도록 더 구성되는 것을 특징으로 하는 음성 코더.
  31. 제 25 항에 있어서, 상기 양자화 모듈은 상기 현재의 성능 임계값을 최소값으로 제한하도록 더 구성되는 것을 특징으로 하는 음성 코더.
  32. 제 25 항에 있어서, 상기 양자화 모듈은 초기값을 상기 음성 코더 성능 임계값 발생횟수에 대한 감소치 및 상기 음성 코더 성능 임계값 발생횟수에 대한 증가치에 할당하도록 더 구성되는 것을 특징으로 하는 음성 코더.
  33. 제 25 항에 있어서, 상기 양자화 모듈은 현재의 성능 임계값이 조절된 후에 모든 음성 코더 성능 임계값의 발생횟수를 영으로 리세팅하도록 더 구성되는 것을 특징으로 하는 음성 코더.
  34. 제 25 항에 있어서, 상기 양자화 모듈은 상기 프레임은 음성 프레임인 것을 특징으로 하는 음성 코더.
  35. 제 25 항에 있어서, 상기 양자화 모듈은 상기 프레임은 선형 예측 잔여 프레임인 것을 특징으로 하는 음성 코더.
  36. 제 25 항에 있어서, 상기 음성 코더는 무선 통신 시스템의 가입자 유니트에 상주하는 것을 특징으로 하는 음성 코더.
KR1020027000693A 1999-07-19 2000-07-19 음성 코더에서 목표 비트율을 유지하는 방법 및 장치 KR100754591B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/356,493 1999-07-19
US09/356,493 US6330532B1 (en) 1999-07-19 1999-07-19 Method and apparatus for maintaining a target bit rate in a speech coder

Publications (2)

Publication Number Publication Date
KR20020013963A KR20020013963A (ko) 2002-02-21
KR100754591B1 true KR100754591B1 (ko) 2007-09-05

Family

ID=23401670

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027000693A KR100754591B1 (ko) 1999-07-19 2000-07-19 음성 코더에서 목표 비트율을 유지하는 방법 및 장치

Country Status (12)

Country Link
US (1) US6330532B1 (ko)
EP (1) EP1214705B1 (ko)
JP (1) JP4782332B2 (ko)
KR (1) KR100754591B1 (ko)
CN (1) CN1161749C (ko)
AT (1) ATE288122T1 (ko)
AU (1) AU6112000A (ko)
BR (1) BR0012538A (ko)
DE (1) DE60017763T2 (ko)
ES (1) ES2240121T3 (ko)
HK (1) HK1045397B (ko)
WO (1) WO2001006490A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456964B2 (en) * 1998-12-21 2002-09-24 Qualcomm, Incorporated Encoding of periodic speech using prototype waveforms
AU4072400A (en) * 1999-04-05 2000-10-23 Hughes Electronics Corporation A voicing measure as an estimate of signal periodicity for frequency domain interpolative speech codec system
US6954727B1 (en) * 1999-05-28 2005-10-11 Koninklijke Philips Electronics N.V. Reducing artifact generation in a vocoder
US6658112B1 (en) * 1999-08-06 2003-12-02 General Dynamics Decision Systems, Inc. Voice decoder and method for detecting channel errors using spectral energy evolution
WO2002045276A2 (en) * 2000-11-30 2002-06-06 Arraycomm, Inc. Training sequence for a radio communications system
US8090577B2 (en) * 2002-08-08 2012-01-03 Qualcomm Incorported Bandwidth-adaptive quantization
GB0321093D0 (en) * 2003-09-09 2003-10-08 Nokia Corp Multi-rate coding
US7483701B2 (en) * 2005-02-11 2009-01-27 Cisco Technology, Inc. System and method for handling media in a seamless handoff environment
US7634413B1 (en) * 2005-02-25 2009-12-15 Apple Inc. Bitrate constrained variable bitrate audio encoding
US8090573B2 (en) * 2006-01-20 2012-01-03 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with open loop re-decision
US8032369B2 (en) * 2006-01-20 2011-10-04 Qualcomm Incorporated Arbitrary average data rates for variable rate coders
US8346544B2 (en) * 2006-01-20 2013-01-01 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with closed loop re-decision
US8260609B2 (en) 2006-07-31 2012-09-04 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of inactive frames
US8725499B2 (en) * 2006-07-31 2014-05-13 Qualcomm Incorporated Systems, methods, and apparatus for signal change detection
US8532984B2 (en) 2006-07-31 2013-09-10 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of active frames
US8780717B2 (en) * 2006-09-21 2014-07-15 General Instrument Corporation Video quality of service management and constrained fidelity constant bit rate video encoding systems and method
DE602006015328D1 (de) * 2006-11-03 2010-08-19 Psytechnics Ltd Abtastfehlerkompensation
US8279889B2 (en) * 2007-01-04 2012-10-02 Qualcomm Incorporated Systems and methods for dimming a first packet associated with a first bit rate to a second packet associated with a second bit rate
US9653088B2 (en) * 2007-06-13 2017-05-16 Qualcomm Incorporated Systems, methods, and apparatus for signal encoding using pitch-regularizing and non-pitch-regularizing coding
US8483854B2 (en) * 2008-01-28 2013-07-09 Qualcomm Incorporated Systems, methods, and apparatus for context processing using multiple microphones
FR2944640A1 (fr) * 2009-04-17 2010-10-22 France Telecom Procede et dispositif d'evaluation objective de la qualite vocale d'un signal de parole prenant en compte la classification du bruit de fond contenu dans le signal.
KR20110001130A (ko) * 2009-06-29 2011-01-06 삼성전자주식회사 가중 선형 예측 변환을 이용한 오디오 신호 부호화 및 복호화 장치 및 그 방법
US9263054B2 (en) * 2013-02-21 2016-02-16 Qualcomm Incorporated Systems and methods for controlling an average encoding rate for speech signal encoding
US9437205B2 (en) * 2013-05-10 2016-09-06 Tencent Technology (Shenzhen) Company Limited Method, application, and device for audio signal transmission
US9953661B2 (en) * 2014-09-26 2018-04-24 Cirrus Logic Inc. Neural network voice activity detection employing running range normalization

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0725384A2 (en) * 1988-05-26 1996-08-07 Pacific Communication Sciences, Inc. Adaptive transform coding
WO1998045833A1 (en) * 1997-04-07 1998-10-15 Koninklijke Philips Electronics N.V. Variable bitrate speech transmission system
US5911128A (en) 1994-08-05 1999-06-08 Dejaco; Andrew P. Method and apparatus for performing speech frame encoding mode selection in a variable rate encoding system
WO2000030075A1 (en) * 1998-11-13 2000-05-25 Qualcomm Incorporated Closed-loop variable-rate multimode predictive speech coder

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901307A (en) 1986-10-17 1990-02-13 Qualcomm, Inc. Spread spectrum multiple access communication system using satellite or terrestrial repeaters
US5103459B1 (en) 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
ES2225321T3 (es) 1991-06-11 2005-03-16 Qualcomm Incorporated Aparaato y procedimiento para el enmascaramiento de errores en tramas de datos.
US5884253A (en) 1992-04-09 1999-03-16 Lucent Technologies, Inc. Prototype waveform speech coding with interpolation of pitch, pitch-period waveforms, and synthesis filter
US5784532A (en) 1994-02-16 1998-07-21 Qualcomm Incorporated Application specific integrated circuit (ASIC) for performing rapid speech compression in a mobile telephone system
US5761636A (en) * 1994-03-09 1998-06-02 Motorola, Inc. Bit allocation method for improved audio quality perception using psychoacoustic parameters
US5668925A (en) * 1995-06-01 1997-09-16 Martin Marietta Corporation Low data rate speech encoder with mixed excitation
JPH10247098A (ja) * 1997-03-04 1998-09-14 Mitsubishi Electric Corp 可変レート音声符号化方法、可変レート音声復号化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0725384A2 (en) * 1988-05-26 1996-08-07 Pacific Communication Sciences, Inc. Adaptive transform coding
US5911128A (en) 1994-08-05 1999-06-08 Dejaco; Andrew P. Method and apparatus for performing speech frame encoding mode selection in a variable rate encoding system
WO1998045833A1 (en) * 1997-04-07 1998-10-15 Koninklijke Philips Electronics N.V. Variable bitrate speech transmission system
WO2000030075A1 (en) * 1998-11-13 2000-05-25 Qualcomm Incorporated Closed-loop variable-rate multimode predictive speech coder

Also Published As

Publication number Publication date
JP2003505723A (ja) 2003-02-12
JP4782332B2 (ja) 2011-09-28
BR0012538A (pt) 2002-07-02
ES2240121T3 (es) 2005-10-16
US6330532B1 (en) 2001-12-11
KR20020013963A (ko) 2002-02-21
ATE288122T1 (de) 2005-02-15
EP1214705A1 (en) 2002-06-19
AU6112000A (en) 2001-02-05
HK1045397A1 (en) 2002-11-22
EP1214705B1 (en) 2005-01-26
WO2001006490A1 (en) 2001-01-25
CN1161749C (zh) 2004-08-11
HK1045397B (zh) 2005-04-22
DE60017763T2 (de) 2006-01-12
CN1361912A (zh) 2002-07-31
DE60017763D1 (de) 2005-03-03

Similar Documents

Publication Publication Date Title
KR100754591B1 (ko) 음성 코더에서 목표 비트율을 유지하는 방법 및 장치
KR100898323B1 (ko) 음성 코더용 스펙트럼 크기 양자화 방법
KR100805983B1 (ko) 가변율 음성 코더에서 프레임 소거를 보상하는 방법
KR100804461B1 (ko) 보이스화된 음성을 예측적으로 양자화하는 방법 및 장치
JP4861271B2 (ja) 位相スペクトル情報をサブサンプリングする方法および装置
EP1204967B1 (en) Method and system for speech coding under frame erasure conditions
KR100752797B1 (ko) 음성 코더에서 선 스펙트럼 정보 양자화법을 인터리빙하는 방법 및 장치
KR20020081374A (ko) 폐루프 멀티모드 혼합영역 선형예측 (mdlp) 음성 코더
JP4860860B2 (ja) スピーチコーダにおいてフレームプロトタイプ間の線形位相シフトを計算するために周波数帯域を識別する方法および装置

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
FPAY Annual fee payment

Payment date: 20120727

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130729

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 12