KR20010093240A - 합성에 의한 분석 씨이엘피 타입 음성 코딩을 위한 적응윈도우 - Google Patents

합성에 의한 분석 씨이엘피 타입 음성 코딩을 위한 적응윈도우 Download PDF

Info

Publication number
KR20010093240A
KR20010093240A KR1020017008436A KR20017008436A KR20010093240A KR 20010093240 A KR20010093240 A KR 20010093240A KR 1020017008436 A KR1020017008436 A KR 1020017008436A KR 20017008436 A KR20017008436 A KR 20017008436A KR 20010093240 A KR20010093240 A KR 20010093240A
Authority
KR
South Korea
Prior art keywords
frame
window
excitation
speech
class
Prior art date
Application number
KR1020017008436A
Other languages
English (en)
Other versions
KR100653241B1 (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 KR20010093240A publication Critical patent/KR20010093240A/ko
Application granted granted Critical
Publication of KR100653241B1 publication Critical patent/KR100653241B1/ko

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
    • 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/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

음성 신호가 합성 필터에 인가되는 여기 신호에 의하여 표시되는 음성 코더(12) 및 음성 코딩 방법. 음성은 프레임 및 서브 프레임들로 구획된다. 분류기(22)는 음성 프레임이 수 개의 카테고리 중 어느 것에 속하는지를 식별하고, 각 카테고리의 여기를 나타내기 위하여 상이한 코딩 방법이 적용된다. 어떤 카테고리들을 위하여는, 하나 또는 그 이상의 윈도우들이 모든 또는 거의 모든 여기(excitation) 신호 샘플들이 코딩 스킴(coding scheme)에 의하여 할당되는 프레임을 위하여 식별된다. 여기의 중요 세그먼트들을 더욱 정밀하게 코딩함으로써 성능이 향상된다. 윈도우 위치들은 평탄화된 잔여 에너지 컨투어의 첨두치들을 식별함으로써 선형 예측 잔여 신호로부터 결정된다. 본 발명에 의한 방법은 프레임 및 서브 프레임의 경계를 조절하여 각 윈도우가 변경된 서브 프레임 또는 프레임 내에 완전히 위치하도록 한다. 이것은 프레임 또는 서브 프레임 경계들을 통한 음성 신호의 국부 동작에 관계없이, 프레임이나 서브 프레임을 독립적으로 코딩할 때 발생되는 인공적 제한 요소들을 제거한다.

Description

합성에 의한 분석 씨이엘피 타입 음성 코딩을 위한 적응 윈도우{Adaptive windows for analysis-by-synthesis CELP-type speech coding}
본 발명의 가르침에 관계되는 한 유형의 보이스 통신 시스템은 EIA 잠정 표준 IS-95A의 원본, 및 향후 수정본 및 개량본에 정의된 것과 같은 코드 분할 다중 액세스 (CDMA) 기술을 사용한다. 이 CDMA 시스템은 무선 스펙트럼의 단일 1.25MHz를 가로지르는 복수의 독립적인 사용자 신호들을 전송하는 디지털 확산-스펙트럼 기술에 기초하고 있다. CDMA에서, 각 사용자 신호는 상이한 직교 코드와 파형의 스펙트럼을 확산하고 이에 따라서 많은 양의 사용자신호들이 동일한 주파수 스펙트럼을 공유하도록 하는 캐리어를 변조하는 의사-랜덤 이진 시퀀스를 포함한다. 상기 사용자신호들은 선택된 직교 코드로부터의 단지 신호에너지가 비확산되도록 허용하는 상관기를 가지는 수신기에서 분리되어 있다. 코드들이 정합되지 않은 다른 사용자신호들은 비확산되지 않고, 그자체로 잡음에만 기여하고 이에 따라서 시스템에 의해 발생된 자기-간섭(self-interference)을 나타낸다. 시스템의 SNR은 시스템 처리 이득 또는 확산밴드폭 대 기저대역 데이터율에 의해 향상되는, 모든 간섭신호들의 전력 합계에 대한 원하는 신호전력의 비율에 의해 결정된다.
IS-95A에서 정의된 CDMA시스템은 가변율 보이스 코딩 알고리즘을 사용하고, 여기서 데이터율은 음성 패턴 (보이스 동작)의 함수로서 매 프레임마다 20밀리초에 기초하여 역동적으로 변할 수 있다. 트래픽 채널 프레임들은 전체적으로, 1/2, 1/4, 또는 1/8 율 (각각 9600, 4800, 2400 및 1200bps)로 전송될 수 있다. 각 데이터율이 더 낮은 경우, 전송전력(Es)은 비례하여 낮아지고, 그 결과 채널에서의 사용자신호들의 수는 증가할 수 있다.
낮은 비트율에서 (예를들면 4, 2 및 0.8kb/s와 같이 초당 대략 4000비트 (4kb/s) 이하에서), 장거리 전화 품질 음성 재생은 어려운 과제로서 판명되고 있다. 많은 음성 연구가들에 의한 노력들에도 불구하고, 낮은 비트율에서 부호화되는 음성의 품질은 통상적으로 무선 및 네트워크에 적용하기에는 적합하지 않다. 통상적인 CELP알고리즘에서, 여기(excitation)는 효율적으로 발생되지 않고, 유성 구간 동안의 잔여신호내에 존재하는 주기성은 적합하게 이용되지 않는다. 더욱이, CELP 코더들과 그들의 유도체들은 낮은 비트율에서 만족스러운 주체 성능을 보여주지 못하였다.
종래의 합성에 의한 분석 (이하 AbS라 함)을 이용한 음성 코딩에서, 음성 파형은 일련의 연속프레임으로 구획된다. 각 프레임은 고정길이를 가지고 양정수의 동일한 길이의 서브프레임으로 구획된다. 인코더는 시행착오 탐색처리에 의하여 여기신호를 발생하여 한 서브프레임의 각 후보여기가 합성필터에 적용되도록 하고 그 합성된 음성의 결과적인 세그먼트는 목표 음성의 대응하는 세그먼트와 비교된다. 왜곡의 정도가 계산되고 탐색 메카니즘은 허용된 후보자집합중에서 각 서브프레임의 최적의 (거의 최적의) 여기선택인가를 식별한다. 후보자들이 때때로 코드북내에 벡터로서 저장되어 있기때문에, 코딩방법은 코드여기 선형 예측 (CELP)으로서 언급된다. 다른 경우에는, 후보자들이 소정의 생성 메카니즘에 의한 탐색에 요구될 때 생성된다. 이 경우는 특히 다중펄스 선형 예측 코딩 (MP-LPC) 또는 대수 코드 여기 선형 예측 (ACELP)을 포함한다. 선택된 여기 서브프레임을 명시하는데 필요한 비트들은 수신기에 각 프레임으로 전송되는 데이터 패키지의 일부이다.
보통 여기는 2개의 단계로 형성되는데, 여기 서브프레임에 대한 제1 근사치가 과거 여기벡터들을 포함하는 적응 코드북으로부터 선택되고 그 다음에 수정된 목표 신호가 상기 설명한 과정을 통하여 제2 AbS 탐색 동작을 위한 새로운 목표로서 형성된다.
향상된 가변율 코더(TIA/EIA/IS-127)에서의 완화 CELP (RCELP)에서, 음성 입력신호는 시간 왜곡처리를 통하여 수정되어, 음성입력신호가 단순화된 (선형) 피치 콘투어에 일치하도록 한다. 그 수정은 다음과 같이 수행된다.
음성 신호는 프레임들로 분할되고 선형예측은 잔여신호를 생성하기 위하여 수행된다. 그 다음 잔여신호의 피치분석이 수행되고, 프레임당 한번 계산된 정수의 피치값이 디코더에 전송된다. 전송된 피치값은 피치 콘투어로서 정의된 피치의 샘플마다의 평가치를 얻기 위하여 보간된다. 다음, 잔여신호는 인코더에서 수정되어 수정된 잔여신호를 생성하고, 그 수정된 잔여신호는 원래의 잔여신호와 지각적으로 유사하다. 게다가, 수정된 잔여신호는 1피치 주기(피치 콘투어에 의해 정의된 것처럼)만큼 분리된 샘플들 사이에서 강한 상관을 드러낸다. 수정된 잔여신호는 선형 예측 계수들로부터 유도된 합성필터를 통하여 여과되어, 수정된 음성신호를 얻는다. 잔여신호의 수정은 미국특허 5,704,003에 개선된 방법으로 이루어질 수 있다.
RCELP용 표준 인코딩 (탐색) 과정은 2가지 중요한 차이를 제외하고는 정규 CELP와 유사하다. 첫째, RCELP 적응 여기는 피치 콘투어를 사용하여 과거 인코딩된 여기신호를 시간왜곡시킴으로써 얻어진다. 둘째, RCELP에서의 합성에 의한 분석 목적은 합성 음성과 수정된 음성신호 사이의 최적 정합가능성을 얻는 것이다.
본 발명은 일반적으로 디지털 통신에 관한 것으로, 보다 상세하게는 음성 또는 보이스 코더 (보코더) 및 디코더 방법 및 장치에 관한 것이다.
도 1은 본 발명을 실시하는 데 적합한 회로를 구비한 무선전화기의 일 실시예의 블록도이다.
도 2는 복수(3개)의 기본 서브 프레임들로 분할된 기본 프레임을 설명하는 도면으로서, 검색 서브프레임을 또한 보여준다.
도 3은 음성 잔여 신호의 평탄화 에너지 콘투어를 획득하기 위한 회로의 단순화된 블록도이다.
도 4는 프레임 형태 지시자를 음성 디코더에 출력하는 프레임 분류기를 도시한 단순화된 블록도이다.
도 5는 적응적 코드북 제1 단과 3진 펄스 코더 제2 단을 구비한 2단 인코더를 도시한 것이다.
도 6은 예시적인 윈도우 샘플링도이다.
도 7은 본 발명의 방법에 의한 논리 흐름도이다.
도 8은 본 발명의 바람직한 실시예에 의한 음성 코더의 블록도이다.
도 9는 도 8에 도시된 여기 인코더와 음성 합성 블록의 블록도이다.
도 10은 도 8의 인코더의 동작을 도해한 단순화된 논리 흐름도이다.
도 11 내지 도 13은 도 8의 인코더의 동작을 도시한 논리 흐름도로서, 특히, 유성 프레임들, 천이 프레임들 및 무성 프레임들 각각에 대한 여기 인코더와 음성 합성 블록의 동작을 도시한 논리 흐름도이다.
도 14는 도 8 및 도 9에 도시된 음성 코더와 관련하여 동작하는 음성 디코더의 블록도이다.
본 발명의 제1 목적 및 장점은 적응적으로 수정된 서브프레임 경계들과 서브프레임들내에서 적응적으로 결정된 윈도우크기와 위치들을 구비한 합성에 의한 분석 (AbS) 유형의 보코더를 구현하는 방법 및 회로를 제공하는 데 있다.
본 발명의 제2 목적 및 장점은 적응 윈도우들을 사용하여, 적어도 부분적으로 코드 여기 선형 예측 (CELP) 타입 알고리즘에 기반한 타임-도메인 실시간 음성 코딩/디코딩 시스템을 제공하는 데 있다.
본 발명의 다른 목적 및 장점은 CELP 또는 완화 CELP (RCELP) 모델을 구비한 신규의 여기 인코딩 스킴을 채용함으로써 예전의 많은 문제점들을 극복하기 위하여, 각 프레임내의 음성신호의 캐릭터를 가장 잘 묘사하는 분류를 경정하고 그 다음 클래스-특정 구조의 코드북을 사용하여 고정된 여기를 인코딩하기 위하여 패턴분류기가 사용됨을 특징으로 하는 방법 및 대응 장치를 제공하는 데 있다.
본 발명의 또다른 목적 및 장점은 4kbps이하의 낮은 비트율에서 CELP타입의 코더들을 사용하는 종래의 사용에 비교되는 향상된 음성품질을 나타내는, 적응윈도우들을 사용하여 상대적으로 제한된 수의 비트들이 여기신호를 묘사하는데 더욱 효율적으로 할당되도록 하는 것을 특징으로 하는 합성에 의한 분석 (AbS) 타입의 음성코더를 구현하는 방법 및 회로를 제공하는 데 있다.
상기 문제점들 및 다른 문제점들이 극복되고 본 발명의 목적들 및 장점들은 개량된 타임 도메인의 CELP유형의 보이스 코더/디코더를 제공하는 방법 및 장치로써 구현된다.
현재 바람직한 음성 코딩 모델은 고정된 코드북 여기를 생성하고 인코딩하기 위하여 신규의 클래스-종속 접근법을 사용한다. 이 모델은 유성 프레임들의 적응 코드북 기여를 효율적으로 생성하고 인코딩하기 위하여 RCELP접근법을 유지한다. 그러나, 이 모델은 유성, 천이 및 무성과 같은 복수의 잔여신호 클래스들의 각각에 대한, 또는 강한 주기성, 약한 주기성, 변이성(천이) 및 무성에 대한 상이한 여기 인코딩 전략들을 소개하고 있다. 이 모델은 폐루프 천이/유성 선택을 제공하는 분류기를 채용한다. 유성 프레임을 위한 고정된 코드북 여기는 향상된 윈도우 접근법에 기초하고, 이 접근법은 예로써 4kb/s 이하의 비트율에서 높은 품질의 음성을 달성하는데 효과적이다.
본 발명의 일 태양에 의하면 한 서브프레임내의 여기신호는 서브프레임내의 선택된 구간 밖으로 0이 되도록 속박된다. 이들 구간들은 여기서 윈도우들로 언급된다.
본 발명의 다른 태양에 의하면, 윈도우들의 위치 및 크기를 결정하고, 그들 펄스진폭의 적절한 선택을 구비하여 나타내기에 특히 중요한 여기신호의 임계 세그먼트들을 식별하기 위한 기술이 개시되어 있다. 서브프레임과 프레임크기들은 음성신호의 국부 특징들을 적합시키는데 (통제된 방법으로) 변하도록 허용된다. 이는 2개의 인접한 서브프레임들 사이의 경계마다 하나의 윈도우를 구비함이 없이 윈도우들의 효율적인 코딩을 제공한다. 일반적으로 윈도우들의 크기 및 위치들은 입력 또는 목표 음성신호의 국부특징들에 따라서 적응된다. 여기서 채용된 기술에 의하면, 한 윈도우의 위치지정은 단기적인 에너지 프로파일에 의존하는 잔여신호와 연계된 에너지 피크치들의 주위에 하나의 윈도우를 위치시키는 것을 의미한다.
본 발명의 또다른 태양에 의하면, 여기프레임의 고능률 인코딩은 윈도우들 자체적으로 처리를 지시하고, 윈도우들내의 영역을 코딩하기 위하여 모든 적용비트들 및 거의 모든 적용비트들을 할당함으로써 달성된다.
본 발명의 또다른 가르침에 의하면, 윈도우내의 신호를 코딩하기 위한 감소된 복잡도 코딩 방법은 0, -1 및 +1의 3치 진폭들의 사용에 기반하고 있다. 또한, 그 감소된 복잡도 코딩 방법은 주기적인 음성 세그먼트들내의 연속적인 윈도우들 사이의 상관을 이용하는데 기반하고 있다.
본 발명에 따른 장거리 전화 품질 음성 코딩 기술은 음성신호의 단기적인 세그먼트들에 포함된 정보의 속성 및 양에 의존하여, 상이한 데이터율로 음성신호를 표현하고 인코딩하기 위한 새로운 방법들을 이용하는 타임-도메인 스킴을 제공한다.
본 발명은 입력 음성신호를 코딩하기 위한 여러가지 실시예들의 방법 및 장치를 제공한다. 음성신호는 보이스 전화 통화를 하는데 사용되는 마이크로폰과 같은 음성 변환기의 출력으로부터 직접 도출할 수 있고, 이와는 달리 입력음성신호는 어떤 원격한 위치에서 일차 샘플링되고 아날로그 데이터로부터 디지털 데이터로 변환된, 통신케이블 또는 네트워크상의 디지털 데이터 스트림으로서 수신될 수 있다. 무선 전화 시스템을 위한 고정 사이트 또는 기지국에서, 단지 하나의 예로, 기지국에서의 음성신호는 육로상의 전화케이블로부터 통상 도달될 수 있다.
어떠한 경우에도, 상기 방법은, (a) 음성 신호 샘플들을 프레임들로 분할하는 단계; (b) 상기 프레임에서 적어도 한 윈도우의 위치를 결정하는 단계; 및 (c) 상기 프레임에 대한 여기를 인코딩하는 단계로서, 모든 또는 실질적으로 모든 비-제로 여기 진폭들이 상기 적어도 한 윈도우내에 존재하는 단계를 포함한다. 본 바람직한 실시예에 있어서, 상기 방법은 각 프레임에 대한 잔여 신호를 유도하는 단계를 더 포함하고, 상기 적어도 한 윈도우의 위치는 상기 유도된 잔여 신호를 검사함으로써 결정된다. 더 바람직한 실시예에 있어서, 상기 유도 단계는, 상기 잔여 신호의 에너지 콘투어를 평탄화하는 단계를 포함하며, 상기 적어도 한 윈도우의 위치는 상기 잔여 신호의 평탄화된 에너지 콘투어를 검사함으로써 결정된다. 상기 적어도 한 윈도우는 서브프레임 또는 프레임 경계 중 적어도 하나와 일치하는 에지를 가지도록 놓일 수 있다.
더욱이 본 발명에 의하면, (a) 음성 신호의 샘플들을 프레임들로 분할하는 단계; (b) 각 프레임에 대한 잔여 신호를 유도하는 단계; (c) 각 프레임에서의 상기 음성 신호를 복수의 클래스들 중 한 클래스로 분류하는 단계; (d) 상기 프레임에 대한 잔여 신호를 검사함으로써 상기 프레임에서 적어도 한 윈도우의 위치를 식별하는 단계; (e) 상기 프레임의 클래스에 따라 선택된 복수의 여기 코딩 기술들 중 하나를 사용하여 상기 프레임에 대한 여기를 인코딩하는 단계; 및 상기 클래스들 중 적어도 한 클래스에 대해, (f) 모든 또는 실질적으로 모든 비-제로 여기 진폭들이 상기 윈도우들내에 존재하도록 한정하는 단계를 포함하는 음성 신호 코딩 방법이 제공된다.
일 실시예에서 상기 클래스들은 유성 프레임들, 무성 프레임들 및 천이 프레임들을 포함하고, 반면에 다른 실시예에서 상기 클래스들은 강한 주기 프레임들, 약한 주기 프레임들, 불규칙 프레임들 및 무성 프레임들을 포함한다.
바람직한 실시예에서 상기 음성 신호를 분류하는 단계는 상기 잔여 신호로부터 평탄화된 에너지 콘투어를 형성하는 단계와 상기 평탄화된 에너지 콘투어에서 피크들의 위치를 고려하는 단계를 포함한다.
복수의 코드북들 중 하나는 적응적 코드북일지도 모르고, 및/또는 복수의 코드북들 중 하나는 고정 3진 펄스 코딩 코드북일지도 모른다.
본 발명의 상기 바람직한 실시예에서 상기 분류 단계는 폐루프 분류기가 다음에 오는 개방 루프 분류기를 사용한다.
또한, 본 발명의 바람직한 실시예에서, 상기 분류 단계는 프레임을 무성 프레임 또는 비 무성 프레임 중 하나로서 분류하는 제1 분류기와, 비 무성 프레임을 유성 프레임 또는 천이 프레임 중 하나로서 분류하는 제2 분류기를 사용한다.
상기 방법에서 상기 인코딩 단계는, 상기 프레임을 복수의 서브프레임들로 분할하는 단계; 및 적어도 한 윈도우를 각 서브프레임내에 위치시키는 단계를 포함하고, 상기 적어도 한 윈도우를 위치시키는 단계는, 상기 프레임의 피치의 함수인 위치에 제1 윈도우를 위치시키고 상기 프레임의 피치의 함수로서 그리고 상기 제1 윈도우의 위치의 함수로서 다음 윈도우들을 위치시킨다.
적어도 한 윈도우를 식별하는 단계는, 바람직하게는 상기 잔여 신호를 평탄화하는 단계를 포함하고, 상기 식별 단계는 상기 잔여 신호의 평탄화된 콘투어에서 에너지 피크들의 존재를 고려한다.
본 발명의 실시에 있어서, 상기 윈도우가 변경된 서브프레임 또는 프레임내에 전부 존재하도록 서브프레임 또는 프레임 경계가 변경될 수 있고, 상기 서브프레임 또는 프레임 경계는 상기 변경된 프레임 또는 서브프레임의 에지가 윈도우 경계와 일치하도록 위치시킨다.
요약하자면, 본 발명은, 음성 신호가 합성 필터에 인가된 여기 신호에 의해 표현되는 음성 코더 및 음성 코딩 방법을 지향한다. 상기 음성 신호는 프레임들과 서브프레임들로 분할된다. 분류기는 음성 프레임이 어떤 몇몇의 범주들에 속하는지 를 식별하고 다른 코딩 방법이 각 범주에 대한 여기를 표현하는데 적용된다. 몇몇 범주들에 대해, 하나 이상의 프레임들이, 모든 또는 대부분의 여기 신호 샘플들이 코딩 스킴에 의해 할당되는 프레임을 위해 식별된다. 상기 여기의 주요 세그먼트들을 더 정확하게 코딩함으로써 성능이 증강된다. 상기 윈도우 위치들은 상기 평탄화된 잔여 에너지 콘투어의 피크들을 식별함으로써 선형 예측 잔여분으로부터 결정된다. 상기 방법은, 각 윈도우가 변경된 서브프레임 또는 프레임내에 전부 놓이도록 상기 프레임과 서브프레임 경계들을 조정한다. 이것은, 프레임 또는 서브프레임 경계들을 가로지르는 음성 신호의 국부 특성에 상관없이, 프레임 또는 서브 프레임을 분리하여 코딩할 때 초래되는 인위적인 제한을 제거한다.
본 발명의 상술된 그리고 다른 특징들은 첨부된 도면들과 관련하여 읽혀질 때 계속되는 본 발명의 상세한 설명에서 더 명백해질 것이다.
도 1을 참조하면, 본 발명의 음성 코딩 방법들과 장치에 따라 동작하는 확산 스펙트럼 무선전화기(60)가 도해된다. 본 발명이 실시될 수 있는 가변율 무선전화기의 설명에 대한, 1998년 8월 18일에 이슈되고, 공동으로 양도된 미국 특허 번호 5,796,757가 참조될 수 있다. 미국 특허 번호 5,796,757의 명세는 여기에 전체적으로 통합된다.
상기 무선전화기(60)의 블록들 중 어떤 블록들은 분리 회로 요소들 또는 고속 신호 처리기와 같은 적합한 디지털 데이터 처리기에 의해 실행되는 소프트웨어 루틴들로서 구현될지도 모른다는 것은 최초에 이해되어야 한다. 대안적으로, 회로 요소들과 소프트웨어 루틴들의 결합이 채용될 수 있다. 그 자체로, 다음 설명은 본 발명의 적용을 어떤 하나의 특정한 기술적인 실시예에 제한하는 것으로 의도되지 않는다.
상기 확산 스펙트럼 무선전화기(60)는 TIA/EIA 인터림 표준(InterimStandard), 듀얼-모드 광대역 확산 스펙트럼 셀룰러 시스템(Dual-Mode Wideband Spread Spectrum Cellular System)을 위한 이동국-기지국 호환성 표준, TIA/EIA/IS-95(1993년 7월)에 따라 동작할지도 모르고, 및/또는 상기 표준의 최근의 증강들 및 개정들에 따라 동작할지도 모른다. 그러나, 어떤 특정 표준 또는 에어 인터페이스 명세와의 호환성은 본 발명의 실시에 있어 제한으로서 간주되지 않을 것이다.
본 발명의 교시가 코드분할 다중 접속(Code Division Multiple Access, 이하 CDMA라 함) 기술 또는 확산 스펙트럼 기술과 함께 사용하는데 제한되지 않고, 예를 들어 시분할 다중 접속(Time Division Multiple Access, TDMA) 기술이나, 몇몇 다른 다중 사용자 접속 기술(또는 뿐만 아니라 단일 사용자 접속 기술)에서도 실시될 수 있다는 것은 또한 주목되어야 한다.
상기 무선전화기(60)는 기지국(미도시)으로서 지칭될지도 모르는 셀 사이트로부터의 RF 신호들을 수신하고 상기 기지국으로 RF 신호들을 송신하기 위한 안테나(62)를 포함한다. 디지털(확산 스펙트럼 또는 CDMA) 모드에서 동작할 때 상기 RF 신호들은 음성 및 시그널링 정보를 나르기 위해 위상 변조된다. 상기 안테나(62)에 연결된 것은, 상기 위상 변조된 RF 신호들을 각각 수신하고 송신하기 위한 이득 제어 수신기(64) 및 이득 제어 송신기(66)이다. 주파수 합성기(68)는 제어기(70)의 지도아래 상기 수신기와 송신기에 요구되는 주파수들을 제공한다. 상기 제어기(70)는 코덱(codec, 72)을 경유하여 스피커(72A)와 마이크(72B) 그리고 또한 키보드 및 디스플레이(74)와 인터페이싱하기 위한 저속 마이크로프로세서 제어유니트(mrcroprocessor control unit, 이하, MCU라 함)를 포함한다. 상기 마이크(72B)는 출력이 샘플링되고 디지털화되며, 본 발명의 일 실시예에 의한 음성 인코더에 대한 입력을 형성하는, 입력 음성 변환기로서 일반적으로 간주될지도 모른다.
일반적으로, MCU는 무선전화기(60)의 전반적인 제어와 동작에 책임이 있다. 또한 바람직하기로는 제어기(70)는 수신되고 송신된 신호들을 실시간으로 처리하기에 적합한 더높은 속도의 디지털 신호처리기(DSP)를 포함하고, 본 발명에 따라서 음성을 디코딩하기 위한 음성디코더(10) (도 14 참조)와, 본 발명에 따라서 음성을 인코딩하기 위한 음성인코더(12)를 포함한다. 상기 음성디코더(10)와 음성인코더(12)는 모두 함께 음성처리기로서 언급될 수 있다.
수신된 RF신호들은 수신기에서 베이스밴드로 변환되고 수신신호로부터 동상(I; in-phase) 및 직교(Q; quadrature)신호들을 유도하는 위상복조기(76)에 인가된다. 상기 I 및 Q 신호들은 적절한 A/D변환기기들에 의해 디지털 표현으로 변환되고 다중 핑거 (예로써 3개의 핑거들 F1-F3) 복조기(78)에 인가되고, 각각은 의사잡음 (PN) 발생기를 포함한다. 복조기(78)의 출력은 한 신호를 디인터리버, 디코더(81A), 및 속도결정유닛(81B)을 경유하여 제어기(70)에 출력하는 결합기(80)에 인가된다. 제어기(70)에 입력되는 디지털신호는 수신된 인코딩된 음성샘플들 또는 신호전달정보를 나타낸다.
본 발명에 따라서 코딩된 음성인 송신기(66)에의 입력 및/또는 신호전달정보는 도 1의 블록(82)으로 집합되어 도시되어 있는 콘볼루션 인코더, 인터리버, 월쉬변조기, PN변조기, 및 I-Q변조기를 경유하여 제어기(70)로부터 유도된다.
본 발명에 따라 음성을 인코딩하고 디코딩하도록 구성될 수 있는 음성통신장치의 바람직한 실시예를 설명하였으나, 음성코더 및 대응 디코더의 바람직한 실시예들은 도 2 내지 도 13을 참조하여 상세하게 설명될 것이다.
도 2에 의하면, 입력음성에 대한 LP분석을 수행할 목적으로, 그리고 각 고정 프레임구간동안 고정된 수의 비트들로 전송될 데이터를 페키징할 목적으로, 음성인코더(12)는 기본프레임구조로서 언급되는 고정 프레임 구조를 갖는다. 각 기본 프레임은 기본서브프레임으로서 언급되는 M개의 동일한 (거의 동일한) 길이의 서브프레임으로 구획되어 있다. 이에 제한되는 것은 아니지만 M의 적절한 값은 3이다.
종래의 AbS 코딩스킴에서, 각 서브프레임의 여기신호는 탐색동작에 의해 선택된다. 그러나, 고능률의 저비트율 음성코딩을 달성하기 위하여, 각 서브프레임을 코딩하는데 이용될 수 있는 낮은 수의 비트들은 여기세그먼트의 적절히 정밀한 표현을 얻기가 매우 어렵거나 불가능하게 한다.
발명자들은 여기신호에서의 유효활동이 시간에 대해 균일하게 분포되는 것이 아님을 관찰하였다. 그 대신, 활성구간으로서 언급되며 대부분의 중요한 활동을 포함하는 여기신호의 자연발생구간들이 존재하고, 그 활성구간 이외에서는 여기샘플들을 0으로 설정함으로써 거의 아무 것도 잃지 않는다. 발명자들은 또한 선형 예측 잔여신호의 평활하게 된 에너지 콘투어를 검사함으로써 활성구간의 위치를 확인하는 기술을 발견하였다. 따라서, 발명자들은 윈도우로서 언급되는 활성구간들의 실제 시간위치를 알 수 있고, 그 다음 코딩노력이 그 활성구간들에 대응하는 윈도우들내에 있도록 집중할 수 있다고 판단하였다. 이런 방법으로, 여기신호를 코딩하기 위해 적용될 수 있는 제한된 비트율은 여기의 중요시간세그먼트 또는 부구간들을 효율적으로 표현하는데 전용할 수 있다.
몇몇 실시예들에서 윈도우들내에 위치한 모든 비제로 여기진폭들을 구비하는 것이 바람직할 수 있으며, 다른 실시예들에서는 적어도 하난 또는 몇몇 비제로 여기진폭들이 윈도우들의 외부에 있도록 하는 것이 향상된 융통성을 위하여 바람직함을 주목하여야 한다.
부구간들은 프레임 또는 서브프레임 속도와 동기될 필요가 없고, 이에 따라서 음성의 국부적인 특징을 맞추기 위하여 각 윈도우의 위치( 및 지속기간)를 적응시키는 것이 바람직하다. 윈도우 위치를 특정화하기 위하여 많은 오버헤드 비트들을 도입하는 것을 피하기 위하여, 발명자들은 그 대신 연속적인 윈도우 위치들안에 존재하는 상관을 이용하며, 이에 따라서 허용가능 윈도우 위치들의 범위를 제한한다. 윈도우 지속기간을 특정화하기 위한 확장비트들을 피하기 위한 적절한 기술이 윈도우 지속기간이 유성 음성에 대한 피치에 의존하도록 하고, 그 윈도우 지속기간을 무성 음성에 대해 고정되도록 함으로써 이루어짐을 알아냈다. 본 발명의 이들 태양들을 이하 보다 상세하게 설명하기로 한다.
각 윈도우는 코딩되는 중요한 실재이므로, 각 기본서브프레임이 양정수의 윈도우들을 포함하는 것이 바람직하다. 다른 경우에는, 한 윈도우가 2개의 서브프레임들 사이에 쪼개질 수 있으며, 한 윈도우안에 존재하는 상관이 이용될 수 없을 것이다. 그러므로, AbS 탐색처리를 위하여, 양의 정수의 윈도우들이 코딩되는 여기세그먼트내에 존재할 것을 보장하도록 서브프레임 크기(지속기간)를 적응적으로 수정하는 것이 바람직하다.
각 기본 서브프레임에 대응하여, 탐색 서브프레임이 관련되며, 이 탐색 서브프레임은 상기 기본프레임의 시작점 및 종료점으로부터 오프셋트된 시작점 및 종료점을 구비한 인접한 시점들의 집합이다. 따라서, 도 2를 참조하여, 하나의 기본 서브프레임이 시간 n1에서 n2로 확장되면, 연관된 탐색 서브프레임은 n1+d1에서 n2+d2로 확장된다. 여기서, d1과 d2는 0이거나 또는 약간 작은 양 또는 음의 정수의 값을 갖는다. 항상 윈도크기의 절반보다 작도록 정의된 d1과 d2의 크기와 그들 값들은 각 탐색 서브프레임이 양의 정수의 윈도우를 포함하도록 선택된다.
하나의 윈도우가 기본 서브프레임의 경계를 가로지르면, 그 때 서브프레임은 단축되거나 확장되어, 윈도우가 다음 또는 현재의 기본 서브프레임에 전체적으로 포함되도록 한다. 윈도우의 중앙부가 현재의 기본 서브프레임안에 놓여있다면 그 때 서브프레임은 확장되어, 서브프레임 경계가 윈도우의 종료점과 일치하게 된다. 윈도우의 중앙부가 현재의 기본 서브프레임을 넘어 놓여 있으면, 그때 윈도우는 단축되어 서브프레임 경계는 윈도우의 시작점과 일치한다. 이에 따라서, 다음 탐색 서브프레임의 시작점은 이전 탐색 서브프레임의 종료점 바로 직후가 되도록 수정된다.
각 기본 프레임에 대해서, 본 발명에 따르는 방법은 본 발명에서 탐색프레임으로서 언급되는 것을 구성하는 M개의 인접한 탐색 서브프레임들을 생성한다. 그탐색 프레임의 종료점은 기본 프레임의 종료점으로부터 수정되어, 대응하는 기본 프레임에 관련된 마지막 탐색 서브프레임의 종료점과 일치한다. 전체 탐색 프레임에 대한 여기신호를 특정하기 위해 사용되는 비트들은 궁극적으로는 각 기본 프레임의 데이터 패킷으로 패키지된다. 그러므로, 수신기로의 데이터의 전송은 대부분의 음성코딩시스템의 종래 고정프레임구조와 일치하게 된다.
발명자들은 적응 윈도우들의 도입과 적응 탐색 서브프레임들의 도입이 AbS 음성 코딩의 능률을 크게 개선함을 알아내었다. 더욱이, 본 발명의 음성 코딩방법 및 장치의 이해를 돕기 위하여 보다 상세한 설명이 주어진다.
윈도우를 위치시키는 기술의 설명이 첫 번째로 주어질 것이다. 음성 잔여 신호의 평탄화된 에너지 콘투어가 획득되어 에너지 피크를 구별하도록 처리된다. 도 3을 참조하면, 잔여 신호는 음성을 선형 예측(LP) 화이트닝(whitening) 필터(14)를 통해 필터링함으로써 형성되는데, 여기서 선형 예측 파라미터들은 음성 통계의 변화를 추적하기 위해 규칙적으로 업데이트된다. 잔여 신호 에너지 함수는 잔여 샘플값의 제곱값 또는 절대값과 같은 비-음수(non-negative) 함수를 취함으로써 형성된다. 예를 들면, 잔여 신호 에너지 함수는 제곱기 블록(16)에서 형성된다. 상기한 기술은 저역통과 필터링 공정 또는 중간 평탄화 공정과 같은 선형 또는 비선형 평탄화 공정으로 상기 신호를 평탄화한다. 예를 들면, 제곱기 블록(16)에서 형성된 잔여 신호 에너지 함수는 평탄화 에너지 콘투어를 획득하기 위해 저역통과 필터링 공정에 종속된다.
제공되는 바람직한 기술은 블록(20)에서 수행되는 3포인트 이동 윈도우 평균화 공정을 이용한다. 평탄화된 잔여 콘투어의 에너지 피크(P)는 적응적 에너지 임계치를 이용하여 배치된다. 주어진 윈도우를 위치시키기 위한 합리적인 선택은 평탄화된 에너지 콘투어의 피크에 그것을 중심에 두는 것이다. 그리고, 상기 위치는 비-제로(non-zero) 펄스 진폭을 갖는 여기(excitation)를 모델링하는 것이 가장 중요한 구간(interval)을 한정, 즉 상기한 액티브 구간의 중심을 한정한다.
윈도우를 위치시키기 위한 바람직한 기술을 설명함에 있어서, 본 명세서에서 어떤 논의는 윈도우내에서 여기 신호를 검색하는 클래스 종속 기술 뿐만 아니라 프레임을 분류하는 기술로서도 주어질 것이다.
개별 윈도우내의 여기를 코드화하기 위해 필요한 비트수는 필수적이다. 복수 윈도우는 주어진 검색 서브프레임에서 발생할 수 있기 때문에, 만일 각 윈도우가 독립적으로 코드화되었다면 각 검색 서브프레임에 대한 비트의 초과 개수가 필요하다. 다행스럽게, 본 발명자들은 주기적인 음성 세그먼트들에 대한 동일 서브프레임에서의 다른 윈도우들 사이에 상당한 상관관계가 있다고 결론지었다. 음성의 주기적인 또는 비주기적인 특징에 따르면, 다른 코팅 스트래티지(strategies)가 채용될 수 있다. 각 검색 서브프레임에 대한 여기 신호를 코딩함에 있어서 가능한 많은 리던던시를 이용하기 위해 기본 프레임들을 카테고리별로 분류하는 것이 바람직하다. 코딩 방법은 각 카테고리에 적합되거나 및 또는 선택될 수 있다.
유성(voiced) 음성에 있어서, 평탄화된 잔여 에너지 콘투어의 피크들은 일반적으로 피치 주기 구간에서 발생하고, 피치 펄스들에 상당한다. 이와 관련해서, "피치"는 유성 음성의 세그먼트에서 주기적인 기본 주파수로 참조되고, "피치 주기"는 주기적인 기본 주기로 참조된다. 음성 신호의 어떤 천이 영역에 있어서, 그것은 본 명세서에서 불규칙 영역(erratic region)으로 참조되고, 그 파형은 주기적이거나 또는 고정적인 랜덤(random)으로 되는 특징을 갖지 않고, 그것은 종종 하나 이상의 분리된 에너지 버스트(파열음과 같은)를 포함한다. 주기적인 음성에 있어서, 윈도우의 지속기간 또는 폭은 피치 주기의 어떤 함수가 되도록 선택될 수 있다. 예를 들면, 윈도우 지속기간은 피치 주기의 고정 부분일 수 있다.
다음에 설명되는 본 발명의 일실시예에 있어서, 각각의 기본 프레임에 대한 4웨이(way) 방법 분류는 만족할만한 솔루션을 제공한다. 이것의 첫 번째 실시예에 있어서, 해당 기본 프레임은 강한 주기성, 약한 주기성, 불규칙 또는 무성 프레임의 하나로서 분류된다. 그러나, 다른 실시예에서 참조로서 이하에 설명되듯이, 3웨이 분류가 사용될 수 있는데, 여기서 기본 프레임은 유성, 천이 또는 무성 프레임의 하나로서 분류된다. 4가지 분류 이상 뿐만 아니라 2가지 분류(예; 유성 및 무성)를 이용하는 것 또한 본 발명의 범주에 속한다.
바람직한 실시예에 있어서, 샘플링 레이트(sampling rate)는 초당 8000 샘플(8ks/s)이고, 기본 프레임 사이즈는 160 샘플이고, 서브프레임 수는 M=3이고, 3개의 기본 서브프레임 사이즈는 각각 53 샘플, 53 샘플 그리고 54 샘플이다. 각각의 기본 프레임은 앞서의 4개의 클래스들: 강한 주기성, 약한 주기성, 불규칙성, 무성의 어느 하나로 분류된다.
도 4를 참조하면, 프레임 분류기(22)는 클래스(00, 01, 10, 11)를 구별하기 위해 기본 프레임 마다 2개의 비트를 수신기의 음성 디코더(10)(도 14 참조)에 보낸다. 4개의 기본 프레임 클래스들 각각은 그들 개개의 코딩 방식(scheme)에 따라서 이하에 설명된다. 그러나, 전술한 바와 같이, 다른 카테고리 수를 갖는 택일적인 분류 방식이 어떤 상황과 적용에서 더 효과적일 수 있고, 더욱이 코딩 스트레티지의 최적화가 아주 가능하다는 것은 주지되어야만 한다. 이와 같으므로, 바람직한 프레임 분류와 코딩 스트레티지의 이어지는 설명은 본 발명의 실시에 대한 제한적인 의미로 읽혀지지 말아야만 한다.
강한 주기성 프레임들
제1 클래스는 특징적으로 매우 주기적인 음성의 기본 프레임을 포함한다. 검색 프레임에서 제1 윈도우는 피치 펄스와 연관된다. 따라서, 사람은 연속적인 윈도우들이 연속적인 피치 주기 구간에서 대략적으로 위치된다는 것을 합리적으로 생각할 수 있다.
유성 음성의 각 기본 프레임에서 제1 윈도우의 위치는 디코더(10)에 전송된다. 검색 프레임 내에서 뒤를 잇는 윈도우는 제1 윈도우에서 연속하는 피치 주기 구간에 위치된다. 만일 피치 주기가 기본 프레임 내에서 변경된다면, 각 기본 서브프레임에 대한 계산된 또는 보간된 피치 값이 대응하는 검색 서브프레임에서 연속적인 윈도우를 위치시키데 이용된다. 16 샘플의 윈도우 사이즈는 피치 주기가 32 샘플 이하일 때 이용되고, 24 샘플의 윈도우 사이즈는 피치 주기가 32 샘플이거나 그 이상일 때 이용된다. 연속 주기적인 프레임의 시퀀스의 제1 프레임에서 윈도우의 시작점은 예를 들어 4개의 비트를 이용하는 것으로 지정된다. 동일한 검색 프레임 내에서 뒤를 잇는 윈도우들은 이전 윈도우의 시작을 따르는 한 피치 주기에서시작한다. 각각의 뒤를 잇는 유성 검색 프레임에서의 제1 윈도우는 한 피치 주기를 이전 윈도우 시작점에 부가함으로써 예측되는 시작점의 부근에 위치된다. 그 다음, 검색 프로세스는 정확한 시작점을 결정한다. 예로서, 2개의 비트는 시작점의 예측값에서의 편차를 지정하기 위해 이용된다. 이 편차는 "지터"로서 또한 참조될 수 있다.
다양한 표현을 위해 이용되는 비트의 특정수는 특정한 적용이고, 광범위하게 변경될 수 있음이 주목되어야 한다. 예를 들면, 본 발명의 교시(teachings)는 제1 프레임에서 윈도우의 시작점을 지정하기 위한 4개 비트 또는 예측값에서의 시작점의 편차를 지정하기 위한 2개 비트의 바람직한 이용에만 제한되지 않는 것은 명백하다.
도 5를 참조하면, 2-스테이지 AbS 코딩 기술은 각각의 검색 서브프레임에 이용된다. 제1 스테이지(26)는 여기 신호의 과거 세그먼트가 서브프레임에서 여기 신호의 제1 근사값으로 선택되는 "적응적 코드북" 기술에 근간을 둔다. 제2 스테이지(26)는 3진 펄스 코딩 방법에 근간을 둔다. 도 6을 참조하면, 사이즈 24 샘플의 윈도우에 대한 3진 펄스 코더(26)는 3개의 비-제로 펄스들을 구별하는데, 그 하나는 샘플 위치 0, 3, 6, 9, 12, 15, 18, 21에서 선택되고, 두 번째 펄스 위치는 1, 4, 7, 10, 13, 16, 19, 22에서 선택되고, 세 번째 펄스는 2, 5, 8, 11, 14, 17, 20, 23에서 선택된다. 따라서, 3개 비트는 3개 펄스 위치들의 각각을 지정하기 위해 필요하고, 한 개 비트는 각 펄스의 극성을 위해 필요하다. 그러므로, 전체 12개 비트가 윈도우를 코드화하는데 이용된다. 유사한 방법이 사이즈 16의 윈도우에서도 이용된다. 검색 서브프레임의 제1 윈도우에서 처럼 동일 펄스 패턴을 반복하는 것은 동일 검색 서브프레임에서 뒤를 잇는 윈도우들을 나타낸다. 그러므로, 상기 뒤를 잇는 윈도우들에 대한 부가적인 비트들이 필요치 않다.
약한 주기성 프레임들
제2 클래스는 어느 정도의 주기성을 나타내는 음성의 기본 프레임을 포함하지만, 그것은 제1 클래스의 강한 규칙적인 주기적 특성이 부족하다. 따라서, 사람은 연속적인 윈도우가 연속적인 피치 주기 구간에 위치된 것을 생각할 수 없다. 유성 음성의 각 기본 프레임에서 각 윈도우의 위치는 에너지 콘투어 피크에 의해 결정되어 디코더에 전송된다. 만일 상기 위치가 각 후보 위치에 대한 상기 AbS 검색 프로세스를 수행함으로써 발견된다면 개선된 성능을 얻을 수 있지만, 그러나 이 기술은 결국 매우 복잡한 것이 된다. 24 샘플의 고정 윈도우 사이즈는 검색 서브프레임 마다 유일한 하나의 윈도우를 가지고 이용된다. 3개의 비트는 양자화된 시간 그리드(grid)를 이용하는 각 윈도우의 시작점을 지정하는데 이용된다. 즉, 윈도우의 시작은 8가지 샘플의 복수개에서 발생하도록 허용된다. 본질적으로는, 비트 레이트에서 상당한 감소를 갖는 시간 분석을 감소시키므로써 상기 윈도우 위치는 "양자화"된다.
제1 분류로서, 2-스테이지 합성에 의한 분석(analysis-by-synthesis) 코딩 기술이 이용된다. 다시 도 5를 참조하면, 제1 스테이지(24)는 적응적 코드북 방법에 근간을 두고, 제2 스테이지(26)는 3진 펄스 코딩 방법에 근간을 둔다.
불규칙 프레임들
제3 클래스는 음성이 주기적이지도 않고 랜덤하지도 않으며 잔여 신호가 하나 이상의 독특한 에너지 피크를 포함하는 기본 프레임을 포함한다. 불규칙 음성 프레임에 대한 여기 신호는 평탄화된 에너지 콘투어 피크의 위치에 대응하는 서브프레임 마다의 윈도우 내에서 한 여기를 구별함으로써 표현된다. 이 경우에 있어서, 각 윈도우의 위치가 전송된다.
유성 음성의 각 기본 프레임에서 각 윈도우의 위치는 에너지 콘투어 피크에 의해 결정되어 디코더(10)에 전송된다. 약한 주기성 경우에서 처럼, 만일 상기 위치가 각 후보 위치에 대한 상기 AbS 검색 프로세스를 수행함으로써 발견된다면 개선된 성능을 얻을 수 있지만, 그러나 더 큰 복잡성의 대가를 치를 수 있다. 32 샘플의 고정 윈도우 사이즈와 검색 서브프레임 마다 유일한 한 개 윈도우를 이용하는 것이 바람직하다. 또 약한 주기성 경우에서 처럼, 3개의 비트가 양자화된 시간 그리드를 이용하는 각 윈도우의 시작점을 지정하기 위해 채용된다. 즉, 윈도우의 시작은 비트 레이트를 감소시키기 위해 시간 분석을 줄임으로써 8가지 샘플의 복수개에서 발생하도록 허용된다.
적응적 코드북이 이 클래스에서 일반적으로 유용하지 않기 때문에 단일 AbS 코딩 스테이지가 이용된다.
무성 프레임들
제4 클래스는 주기적이지 않은 기본 프레임을 포함하는데, 여기서 음성은 특성상 강한 분리 에너지 피크 없이 랜덤한 것처럼 보인다. 상기한 여기는 각 기본 서브프레임에 대한 여기 벡터들의 산발적인 랜덤 코드북을 이용하는 종래 방법으로코드화된다.
필요한 여기 신호의 랜덤한 특징 때문에, 윈도우화(windowing)는 필요치 않다. 검색 프레임 및 검색 서브프레임은 각 기본 프레임 및 기본 서브프레임과 항상 일치한다. 단일 코딩 AbS 코딩 스테이지는 랜덤하게 배치된 3진 펄스를 포함하는 고정된 코드북과 같이 이용될 수 있다.
이전에 주지된 바와 같이, 전술한 설명은 본 발명의 교시와 실시를 제한하도록 해석되지 말아야만 한다. 예를 들면, 전술한 바와 같이, 각 윈도우에 대한 펄스 위치 및 극성은 12개의 비트가 3개 펄스와 사이즈 24의 윈도우를 위해 요구되도록 3진 펄스 코팅으로 코드화된다. 윈도우 펄스의 벡터 양자화로 참조되는 택일적인 실시예는 각 코드북 엔트리(entry)가 특이한 윈도우 펄스 시퀀스를 나타내도록 펄스 패턴이 미리 디자인된 코드북을 채용한다. 이와 같은 방법에 있어서, 상대적으로 적은 개수의 비트가 필요하지만, 3개의 비-제로 펄스 이상을 포함하는 윈도우를 갖는 것이 가능하다. 예를 들면, 만일 8개 비트가 윈도우를 코딩하는데 허용된다면, 256 엔트리를 갖는 코드북이 요구된다. 이 코드북은 모든 가능한 펄스 조합의 대규모 숫자로부터 통계적으로 가장 유용한 대표적인 것인 윈도우 패턴을 바람직하게 나타낸다. 물론, 동일한 기술이 다른 사이즈의 윈도우에도 적용될 수 있다. 더 특별하게, 가장 유용한 펄스 패턴의 선택은 지각력으로 가중된 코스트 함수를 계산함으로써; 즉, 각 패턴과 연관된 왜곡 측정 및 가장 높은 코스트 또는 상대적으로 가장 낮은 왜곡을 갖는 패턴을 선택함으로써 수행된다.
강한 주기성 클래스 또는 3가지 클래스 시스템(이하에 설명됨)에 대한 주기성 클래스에 있어서, 각 유성 검색 프레임에서 제1 윈도우는 한 피치 주기를 이전 윈도우 시작점에 부가함으로써 예측된 시작점의 부근에 위치된다는 것은 전술하였다. 그리고, 검색 프로세스는 정확한 시작점을 결정한다. 4개의 비트들은 예측값에서의 시작점의 편차("지터"로서 참조됨)를 지정하기 위해 채용된다. 윈도우 위치가 그렇게 결정된 프레임은 "지터 프레임"으로 참조될 수 있다.
지터에 대한 정상적인 비트 배치는 때때로 온셋(onset)의 발생 또는 이전 프레임으로부터 피치의 주요 변화에 기인하여 부적절하게 된다는 것이 알려져 있다. 윈도우 위치의 더 많은 제어를 하기 위해 사람은 택일적인 옵션으로서 "리세트 프레임"을 갖을 수 있는데, 여기서 더 많은 비트 배치가 윈도우 위치를 지정하는데 배정된다. 각 주기성 프레임에 있어서, 개별 검색이 윈도우 위치를 지정하기 위한 두 개의 옵션의 각각을 위해 수행되고, 판단 프로세스는 프레임을 지터 프레임 또는 리세트 프레임으로 처리할 것인지 아닌지를 선택하기 위해 두 개의 경우에 대한 잔여 에너지 프로필(profile)의 피크들을 비교한다. 만일, 리세트 프레임이 선택되면, "리세트 조건"이 발생했다고 참조되고, 더많은 비트수가 필요한 윈도우 위치를 매우 정확하게 지정하기 위해 이용된다.
피치값과 윈도우 위치의 어떤 조합에 있어서, 서브프레임은 어떤 윈도우도 포함하지 않을 수 있다. 그러나, 상기 서브프레임에 대해 전부 제로인 고정 여기를 갖는다라기 보다는, 비록 윈도우가 없어도 해당 서브프레임에 대한 여기 신호를 얻도록 비트들을 배치시키는 것이 유용하다는 것이 알려지고 있다. 이것은 윈도우 내에 존재하는 여기를 제한하는 일반적인 필라서피(philosophy)에서의 편차로서 고려될 수 있다. 2개 펄스 방법은 단순히 첫 번째 펄스의 최적 위치를 위해 서브프레임에서 짝수 샘플 위치를 검색하고, 두 번째 펄스의 최적 위치를 위해 홀수 샘플 위치를 검색한다.
본 발명의 추가적인 특징과 일치하는 또 다른 접근은 적응적 코드북(ACB) 가이드 윈도우화를 이용하는데, 여기서 여분의 윈도우는 다른 방법으로 윈도우없는 서브프레임에 포함된다.
ACB-가이드 윈도우화 방법에 있어서, 코더(coder)는 현재 윈도우가 없는 서브프레임에 대한 적응적 코드북(ACB) 신호 세그먼트를 검사한다. 이것은 지속기간의 세그먼트이고, 한 서브프레임은 복합 여기에서 이전의 한 피치 주기를 취한다. 상기 세그먼트의 피크는 현재 서브프레임에 대한 특별한 윈도우의 중심으로서 발견되고 선택된다. 상기 윈도우의 위치를 구별하기 위한 어떤 비트도 필요치 않다. 그리고, 상기 윈도우에서 펄스 여기는 윈도우가 없지 않은 서브프레임을 위한 유용한 과정에 따라 발견된다. 동일한 비트수는 윈도우 위치를 인코드하기 위해 어떤 비트도 필요하지 않은 것 이외에 어떤 다른 "정상적인" 서브프레임에 대한 것처럼 상기 서브프레임에 이용될 수 있다.
도 7을 참조하면, 본 발명에 따른 방법의 로직 흐름도가 제공된다. 단계 A에서 상기 방법은 선형 예측 잔여분의 에너지 프로필을 계산한다. 단계 B에서 상기 방법은 윈도우 길이를 피치주기≥32 이면 24로, 그리고 피치주기<32 이면 16으로 세팅한다. 단계 B이후에 단계 C와 단계 D가 실행될 수 있다. 단계 C에서 상기 방법은 이전의 프레임 윈도우과 피치를 이용하여 윈도우 위치를 계산하고 최적의 지터를 제공하는 최대값 Ep를 찾기 위해 윈도우 내의 에너지 E를 계산한다. 단계 D에서 상기 방법은 리세트 프레임 케이스의 선형 예측 잔여분의 가장 큰 에너지 Em를 캡쳐하는 윈도우 위치를 찾는다.
전술한 바와 같이, 지터는 이전 프레임 및 피치 구간에 의해 주어진 위치와 관련된 윈도우 위치의 시프트이다. 동일 프레임에서 윈도우 사이의 거리는 피치 구간과 같다. 제1 윈도우의 위치는 리세트 프레임을 위해 전송되고, 상기 프레임의 다른 윈도우들은 피치 구간과 동일한 이전 윈도우에서 소정 거리에 있도록 고찰된다.
불규칙 프레임 및 약한 주기성 프레임에 있어서, 에너지 피크에 의해 결정되는 윈도우 위치를 갖는 한 개의 윈도우가 서브프레임 마다 존재한다. 상기 윈도우 위치는 각 윈도우를 위해 전송된다. 제1 윈도우의 유일한 위치가 주기성(유성) 프레임을 위해 전송된다("지터된" 프레임 및 절대적인 리세트 프레임의 이전 프레임과 관련하여). 제1 윈도우 위치가 주어지면, 잔여 윈도우들은 피치 구간에 놓인다.
다시 도 7을 참조하면, 단계 E에서 상기 방법은 Ep와 Em를 비교하고, Em>>Ep이면 리세트 프레임을 선언하고, 그렇지 않으면 상기 방법은 지터 프레임을 이용한다. 단계 F에서 상기 방법은 각 서브프레임이 정수개 윈도우들을 갖도록 검색 프레임 및 검색 서브프레임을 결정한다. 단계 G에서 상기 방법은 윈도우 내부에서 최적 여기를 검색한다. 윈도우 외부에서 상기 여기는 0으로 세팅된다. 동일한 서브프레임의 2개 윈도우는 동일한 여기를 갖도록 강제된다. 마지막으로, 단계 H에서 상기방법은 윈도우 위치, 피치 및 각 서브프레임에 대한 여기 벡터의 인덱스를 디코더(10)에 전송하는데, 그것은 원래 음성 신호를 복원하는 값들을 이용한다.
도 7의 로직 흐름도는 본 발명의 교시와 일치하는 음성 코딩을 위한 블록 회로도처럼 보일 수 있다는 것 또한 인식되어야만 한다.
이하, 앞서 개략적으로 설명했던 3개의 분류 실시예에 대해 설명한다. 이 실시예에 있어서, 기본 프레임은 유성, 천이(불규칙), 또는 무성의 어느 하나인 것으로 분류된다. 이 실시예의 상세한 설명은 도 8 내지 도 10과 연계되어 제공될 것이다. 당업자들은 전술했던 기본 프레임 분류 실시예의 4가지 형태를 갖는 주제와 다소 겹치는 부분을 주지할 수 있을 것이다.
일반적으로, 무성 프레임에서 고정된 코드북은 랜덤 벡터 세트를 포함한다. 각 랜덤 벡터는 3진(-1,0 또는 +1)수의 의사-랜덤 시퀀스의 세그먼트이다. 프레임은 3개의 서브프레임으로 분할되고, 최적의 랜덤 벡터와 대응하는 이득은 AbS를 이용하는 각 서브프레임에서 결정된다. 무성 프레임에서, 적응적 코드북의 기여는 무시된다. 고정된 코드북 기여는 상기 프레임의 전체 여기를 나타낸다.
효과적인 여기 표현을 달성하기 위해서, 그리고 전술한 본 발명의 특징에 따라서, 유성 프레임에서의 고정된 코드북 기여는 상기 프레임 내의 선택된 구간(윈도우)의 외부에서 0가 되도록 강제된다. 유성 프레임에서 두 개의 연속 윈도우 사이의 분리는 한 개의 피치 주기와 같도록 강제된다. 윈도우의 위치 및 사이즈는 그것들이 이상적인 고정 코드북 기여의 최상 임계 세그먼트를 공동으로 나타내도록 선택된다. 인코더의 관심을 음성신호의 지각적으로 중요한 세그먼트에 초점을 맞추는 이 기술은 효과적인 인코딩을 보증한다.
유성 프레임은 통상 3개의 서브프레임으로 분할된다. 택일적인 실시예에 있어서, 프레임 마다 2개의 서브프레임은 실행가능한 도구가 될 수 있다는 것이 알려져 있다. 프레임 길이 및 서브프레임 길이는 (제어 방법으로) 변경될 수 있다. 이들 길이를 결정하는 과정은 윈도우가 2개의 인접 서브프레임에 결코 양다리를 걸치지 않는다는 것을 보증한다.
윈도우 내의 여기 신호는 그 성분이 3진값으로 되는 벡터의 코드북을 이용하여 인코드된다. 인코딩의 효율성을 더 향상시키기 위해, 동일 서브프레임 내에 배치되는 복수개의 윈도우는 동일한 고정 코드북 기여(시간 이동이 있다 하더라도)를 갖도록 강제된다. 최상의 코드-벡터 및 대응하는 이득은 AbS를 이용하는 각 서브프레임에서 결정된다. 또한, 씨이엘피(CELP) 형태의 접근법을 이용하는 지나간 인코드 여기에서 유래되는 적응적 여기가 이용된다.
천이 클래스 프레임에서의 고정 코드북 여기에 대한 인코딩 방식 또한 윈도우 시스템에 기초를 둔다. 각 서브프레임에서 2개씩인 6개의 윈도우가 허용된다. 이들 윈도우들은 상기 서브프레임의 어느곳에라도 놓일 수 있고, 서로 겹칠 수도 있고, 한 피치 주기에 의해 분리될 필요도 없다. 그러나, 한 서브프레임의 윈도우들은 다른 서브프레임의 윈도우들과 겹칠 수 없다. 프레임 길이 및 서브프레임 길이는 유성 프레임에서처럼 조정가능하며, AbS는 각 서브프레임의 최적 고정 코드북(FCB; fixed codebook) 벡터 및 이득을 결정하는데 이용된다. 그러나, 유성 프레임에서의 과정과 달리, 적응적 여기는 이용되지 않는다.
프레임의 분류와 관련한 바람직한 음성 코딩 모델은 프레임의 클래스(즉, 유성, 무성 또는 천이)를 결정하기 위해 2-스테이지 분류기를 채용한다. 분류기의 제1 스테이지는 현재 프레임이 무성인지를 판단한다. 제1 스테이지의 판단은 변형된 잔여분에서 추출된 특징들의 세트의 분석을 통해 도착된다. 분류기의 제1 스테이지가 프레임을 "무성이 아님"으로 선언하면, 제2 스테이지는 상기 프레임이 유성 프레임 또는 천이 프레임인지를 판단한다. 제2 스테이지는 "폐루프"로 작용하는데, 즉 상기 프레임은 천이 및 유성 프레임 모두에 대한 인코딩 방식에 따라 처리되고, 그리고 더 낮은 가중 평균-제곱 에러에 이르게 하는 클래스가 선택된다.
도 8은 전술된 동작 원리들을 구현하는 음성 인코딩 모델(12)의 고-레벨 블록도이다.
샘플링된 입력 음성은 블록(30)에서 고대역 통과 필터링된다. 여러 종류의 필터들 또는 다양한 개수의 세그먼트들이 채택될 수 있지만, 3 개의 4차 섹션들(bi-quadratic sections) 내에 실장된 버터워스 필터(Butterworth filter)가 바람직한 실시예에서 사용된다. 필터의 컷-오프 주파수는 80Hz이고, 필터(30)의 전달 함수는 다음 [수학식 1]과 같다.
여기서 각 섹션 Hj(z) 는 다음 [수학식 2]로 주어진다.
고대역 통과 필터링된 음성은 중첩되지 않는 각 160 개의 샘플의 "프레임들" 내로 분주된다.
각 프레임에서, 320개의 샘플들의 "블록"(후반부 80 개의 샘플들은 프레임 "m-1"로부터, 160 개의 샘플은 프레임 "m"으로부터, 그리고 전반부 80개의 샘플들은 프레임 "m+1"로부터 나온)이 모델 파라미터 예측 및 반전 필터링 유니트(Model Parameter Estimation and Inverse Filtering unit, 32) 내에서 고려된다. 본 발명의 현 바람직한 실시예에서, 샘플들의 블록은 향상 가변률 코더(Enhanced Variable Rate Coder, EVRC) 음성 인코딩 알고리즘에 대해서 기술하는 TIA/EIA/IS-127 문서의 4.2절(모델 파라미터 예측) 내에 상술된 공정을 이용하여 분석되고, 다음의 파라미터들이 획득된다: 현 프레임을 위한 양자화되지 않은 선형 예측 계수들인 (a); 현 프레임을 위한 양자하되지 않은 LSP들인 Ω(m); LPC 예측 이득인 Ylpc(m); 현 블록 내의 샘플들에 상응하는 예측 잔여 성분인 ε(n), n=0, ..., 319; 피치 지연 예측치인 τ; 현 블록의 절반 각각의 장-기간 예측 이득(long-term prediction gain)인 β, β1; 및 대역폭 확장 상관 계수인 Rw.
무음 감지 블록(36)은 현 프레임 내에 음성의 존재 또는 부존재에 관한 2진 결정을 내린다. 결정은 다음과 같은 과정으로 이루어진다.
(A) TIA/EIA/IS-127 EVRC 문서의 4.3절(데이터율 결정) 내에 상술된 "데이터율 결정 알고리즘이 채택된다. 이 알고리즘의 입력들은 이전 단계에서 계산된 모델 파라미터들이고 출력은 데이터율 변수(rate variable)인 Rate(m)인데, 데이터율 이트 변수 Rate(m)은 현 프레임 내의 음성 활성도(voice activity)에 따라서 1, 3 또는 4의 값을 가질 수 있다.
(B) 만일 Rate(m)=1 이면, 현 프레임은 무음 프레임(silent frame)으로 선언된다. 만약 그렇지 않으면(예를 들어, Rate(m)=3 또는 4 이면), 현 프레임은 액티브 음성(active speech)으로 선언된다.
본 발명의 실시예에서는, EVRC의 데이터율 변수를 무음 감지를 위한 목적으로만 사용한다는데 주의하여야 한다. 다시 말하면, Rate(m)은 종래 기술에 의한 EVRC 에서와 같이 인코더(12)의 비트율을 결정하지 않는다.
현 프레임에 대한 지연 콘투어가 지연 콘투어 예측 유니트(40) 내에서 프레임 지연들을 후술하는 단계 동안 보간(interpolating)함으로써 계산된다.
(A) 보간된 3 개의 지연 예측치들 d(m',j), j=0,1,2 들이 TIA/EIA/IS-127 문서의 4.5.4.5절(보간된 지연 예측치 계산) 내의 보간 방정식들을 이용하여 각 서브 프레임(m'=0,1,2)에 대하여 계산된다.
(B) 그러면, 지연 콘투어 τc(n)이 현 프레임 내의 세 개의 서브 프레임들 각각에 대하여 TIA/EIA/IS-127 문서의 4.5.5.1절(지연 콘투어 계산) 내의 방정식들을 이용하여 계산된다.
잔여 성분 수정 유니트(residual modification unit, 38) 내에서, 지연 신호는 RCELP 잔여분 수정 알고리즘에 따라서 수정된다. 수정의 목적은 수정된 잔여 성분이 피치 주기(pitch period) 만큼씩 분리된 샘플들 간에 강한 상관관계를 나타내는 것을 보장하기 위한 것이다. 수정 공정의 적당한 단계들은 TIA/EIA/IS-127 문서의 4.5.6 절(잔여 성분의 수정) 내에 나열되어 있다.
당업자는 표준 EVRC에서 서브 프레임 내의 잔여 성분 수정 후에 그 서브 프레임 내의 여기 인코딩(encoding of excitation)이 수행된다는 것을 인지할 것이다. 그러나, 본 발명의 음성 인코딩에서는, 현 프레임 전체(세 개의 서브 프레임 전부)의 잔여 성분의 수정이 그 프레임 내의 여기 신호(excitation signal)를 인코딩하기 이전에 수행된다.
본 명세서의 앞부분에서 RCELP를 참조한 것은 본 발명의 바람직한 실시예의 경우에 대하여 이루어졌다는 것과, RCELP 대신에 어떠한 CELP 타입의 기술도 채택될 수 있다는 것이 다시 한번 강조되어야만 한다.
개방-루프 분류기 유니트(classifier unit, 34)은 각 프레임 내의 음성의 특성(유성, 무성 또는 천이)을 결정하는 분류기 내의 두 스테이지 중 첫 번째 스테이지를 나타낸다. 프레임 내의 분류기의 출력 m 은 그 값이 UNVOICED(무성) 또는 NOT UNVOICED(무성이 아닌)일 수 있는 OLC(m)이다. 이러한 결정은 고대역 통과 필터링된 음성의 320개 샘플들의 블록을 분석하여 얻어진다. 이러한 블록 x(k), k=0,1, ..., 319 은 모델 파라미터 예측에서와 같이 프레임 "m" 내에서, 프레임 "m-1"의 후반부 80 개의 샘플들로부터, 프레임 "m" 의 160 개 샘플들 및 프레임 "m+1"의 80개의 샘플들로부터 얻어진다. 그 다음, 블록은 네 개의 동일한 길이를 갖는 서브 프레임 j(j=0, 1, 2, 3)로 나뉜다(각 80개의 샘플들을 포함). 그러면, 각 서브 프레임 j 내의 샘플들로부터 네 개의 파라미터들이 계산된다: 에너지 E(j), 첨두치(Peakiness, Pe(j)), 제로 교차율(Zero-Crossing Rate) ZCR(j) 및 장-기간 예측 이득(Long-term Prediction Gain) LTPG(j). 이러한 파라미터들은 다음에 서브 프레임당 하나씩의 분류 결정들의 집합을 획득하기위하여 사용된다. 그러면, 서브 프레임 레벨 분류기 결정치들이 합성되어 개방-루프 분류기 유니트(34)의 출력인 프레임-레벨 결정을 발생한다.
다음 수학식들은 서브 프레임 파라미터들을 계산하는데 관련되어 주의된다.
에너지
서브 프레임 에너지는 다음 [수학식 3]에 의하여 결정된다.
첨두치
서브 프레임 내의 신호의 첨두치는 다음 [수학식 4]처럼 정의된다.
제로 교차율
제로 교차율은 각 서브 프레임에 대하여 다음의 단계들을 통하여 계산된다:
샘플들의 평균 Av(j)가 다음 [수학식 5]를 이용하여 각 서브 프레임 j 내에서 계산된다:
서브 프레임 내의 모든 샘플들로부터 평균치가 감산된다:
y(k)=x(k)-Av(j), k=80j, ..., 80j+79
서브 프레임의 제로 교차율은 다음 [수학식 6]처럼 정의된다.
여기서, Q가 참이면 함수 δ(Q)=1 이고, Q가 거짓이면 함수 δ(Q)=0 이다.
장-기간 예측 이득
장-기간 예측 이득(LTPG) 은 모델 파라미터 예측 공정에서 획득된 β 및 β1의 값들로부터 계산된다:
LTPG(0)= LTPG(3) (여기서 LTPG(3)은 이전 프레임 내에 할당된 값이다)
LTPG(1)= (β1+ LTPG(0))/2
LTPG(2)= (β1+ β)/2
LTPG(3)= β
서브 프레임 레벨 분류
그러면, 전술한 바와 같이 계산된 네 개의 서브 프레임 파라미터들은 현 블록의 각 서브 프레임 j를 위한 분류 결정을 하기 위하여 이용된다. 서브 프레임 j를 위해서, 그 값이 UNVOICED 이거나 NOT UNVOICED 일 수 있는 분류 변수 CLASS(j)가 계산된다. CLASS(j)의 값은 상세히 후술되는 일련의 단계를 수행함으로써 획득된다. 후술되는 단계들에서, "유성 에너지(Voiced Energy)" 인 Vo(j), "무음 에너지(Silence Energy)"인 Si(j) 및 "차분 에너지(Difference Energy)"인 Di(j)=Vo(j)-Si(j) 등의 값들은 인코더의 유성 서브 프레임들(voiced subframes), 무음 서브 프레임들 및 이러한 값들의 차분치의 평균 에너지의 예측치를 나타낸다. 이러한 에너지 예측치들은 후술되는 공정을 이용하여 각 프레임의 끝에 갱신된다.
공정:
만일 E(j)<30 이면, CLASS(j)=UNVOICED
아니면 만일 E(j)<0.4*Vo(m) 이고
|E(j-1 mod 3)-E(j)|<25 이면, CLASS(j)=UNVOICED
아니면, CLASS(j)=NOT UNVOICED
아니면 만일 ZCR(j)<0.2 이고
만일 E(j)<Si(m) + 0.3*Di(m) 이고 Pe(j)<2.2 및
|E(j-1 mod 3)-E(j)|<20 이면, CLASS(j)=UNVOICED
아니면 만일 LTPG(j)<0.3 이고 Pe(j)<1.3 및 E(j)<Si(m) + 0.5*Di(m) 이면, CLASS(j)=UNVOICED
아니면, CLASS(j)=NOT UNVOICED
아니면 만일 ZCR(j)<0.5 이고
만일 E(j)<Si(m) + 0.3*Di(m) 이고 Pe(j)<2.2 및
|E(j-1 mod 3)-E(j)|<20 이면, CLASS(j)=UNVOICED
아니면 만일 LTPG(j)>0.6 또는 Pe(j)>1.4 이면, CLASS(j)=NOT UNVOICED
아니면 만일 LTPG(j)<0.4 이고 Pe(j)<1.3 및 E(j)<Si(mj) + 0.6*Di(m) 이면, CLASS(j)=UNVOICED
아니면 만일 ZCR(j)>0.4 이고 LTPG(j)<0.4 이면, CLASS(j)=UNVOICED
아니면 만일 ZCR(j)>0.3 이고 LTPG(j)<0.3 및 Pe(j)<1.3 이면, CLASS(j)=UNVOICED
아니면, CLASS(j)=UNVOICED
아니면 만일 ZCR(j)<0.7 이고
만일 E(j)<Si(m) + 0.3*Di(m) 이고 Pe(j)<2.2 및
|E(j-1 mod 3)-E(j)|<20 이면, CLASS(j)=UNVOICED
아니면 만일 LTPG(j)>0.7 이면, CLASS(j)=NOT UNVOICED
아니면 만일 LTPG(j)<0.3 이고 Pe(j)>1.5 이면, CLASS(j)=NOT UNVOICED
아니면 만일 LTPG(j)<0.3 이고 Pe(j)>1.5 이면, CLASS(j)=UNVOICED
아니면 만일 LTPG(j)>0.5 이고
만일 Pe(j)>1.4 이면, CLASS(j)=NOT UNVOICED
아니면 만일 E(j)>Si(m)+0.7Di(m) 이면, CLASS(j)=UNVOICED
아니면, CLASS(j)=UNVOICED
아니면 만일 Pe(j)>1.4 이면, CLASS(j)=NOT UNVOICED
아니면, CLASS(j)=UNVOICED
아니면,
만일 Pe(j)>1.7 또는 LTPG(j)>0.85 이면, CLASS(j)=NOT UNVOICED
아니면, CLASS(j)=UNVOICED
프레임 레벨 분류
그러면, 각 서브 프레임을 위하여 획득된 분류 결정들이 전체 프레임을 위한 분류 결정 OLC(m)을 내리기 위하여 사용된다. 이러한 결정은 다음 공정에 의하여 이루어진다.
공정:
만일 CLASS(0)=CLASS(2)=UNVOICED 및 CLASS(1)=NOT UNVOICED 이고
만일 E(1)<Si(m)+0.6Di(m) 및 Pe(1)<1.5 및
|E(1)-E(0)|<10 및 |E(1)-E(2)|<10 및 ZCR(1)>0.4 이면,
OLC(m)=UNVOICED
아니면, OLC(m)=NOT UNVOICED
아니면 만일 CLASS(0)=CLASS(1)=UNVOICED 및 CLASS(2)=NOT UNVOICED 이고
만일 E(2)<Si(m)+0.6Di(m) 및 Pe(1)<1.5 및
|E(2)-E(1)|<10 및 ZCR(2)>0.4 이면, OLC(m)=UNVOICED
아니면, OLC(m)=NOT UNVOICED
아니면 만일 CLASS(0)=CLASS(1)=CLASS(2)=UNVOICED 이면, OLC(m)=UNVOICED
아니면 만일 CLASS(0)=UNVOICED 및 CLASS(1)=CLASS(2)=NOT UNVOICED 이면, OLC(m)=NOT UNVOICED
아니면 만일 CLASS(0)=NOT UNVOICED 및 CLASS(1)=CLASS(2)=UNVOICED 이면, OLC(m)=UNVOICED
아니면, OLC(m)=NOT UNVOICED.
음성 에너지, 무음 에너지 및 차분 에너지의 갱신
음성 에너지는 현 프레임이 연속적인 음성 프레임(voiced frame)의 세 번째 프레임이면 다음과 같이 갱신된다.
공정:
만일 OLC(m)=OLC(m-1)=OLC(m-2)=VOICED 이면,
아니면 Vo(m)=Vo(m-1) (음성 에너지의 갱신 없음).
무음 에너지는 현 프레임이 무음 프레임으로 선언되면 갱신된다.
공정:
만일 SILENCE(m)=TRUE 이면 Si(M)=[e(0) + e(1)]/2.0
차분 에너지는 다음과 같이 갱신된다.
공정:
Di(m)=Vo(m)-Si(m)
만일 Di(m)<10.0 이면,
Di(m)=10, Vo(m)=Si(m)+10
도 8의 여기 인코딩 및 음성 합성 블록(42)이 도 9에 도시된 바와 같이 구성된다. 우선, 개방-루프 분류기(34)의 결정이 각 프레임 내의 수정된 잔여 성분을 그 프레임에 적합한 인코더(들)에게 인가하기 위하여 사용된다. 만일 OLC(m)=UNVOICED 이라면, 무성(unvoiced) 인코더(42a)가 채택된다. 만일 OLC(m)=NOT UNVOICED 이라면, 천이 인코더(42b) 및 유성 인코더(42c) 모두 동작되고, 폐-루프 분류기(42d)가 그 값이 TRANSITION(천이) 또는 VOICED(유성) 일 수 있는 결정 CLC(m)을 한다. 폐-루프 분류기(42d)의 결정은 음성을 천이 및 유성 인코더들(42b 및 42c)를 이용하여 합성함으로써 발생하는 가중치가 주어진 에러(weighted error)에 의존한다. 폐-루프 분류기(42d)는 두 가지 인코딩 형태(천이 또는 유성) 중 하나를 선택하고, 선택된 형태는 합성 음성을 발생하도록 사용된다. 각 인코딩 시스템(42a-42c) 및 폐-루프 분류기(42d)의 동작은 상세히 후술된다.
우선, 도 9의 유성 인코더(42c)에 대해 언급하면, 인코딩 공정이 다음의 일련의 단계들을 통하여 요약될 수 있다는 것이 발견되고, 이 일련의 단계들은 더욱 상세히 후술되며 도 11에 도시되어 있다.
(A) 윈도우 경계들을 결정한다.
(B) 검색 서브 프레임 경계들을 결정한다.
(C) FCB 벡터 및 각 서브 프레임 내의 이득을 결정한다.
(A). 유성 프레임들을 위한 윈도우 경계들의 결정.
입력
이전 검색 프레임의 종료지점(endpoint);
이전 검색 프레임의 최후 "에포크(epoch)"의 위치; 에포크들은 현 프레임 내의 중요한 활동을 하는 윈도우들의 중심을 나타낸다; 및 현재 기본 프레임의 시작에 비례하는 -16부터 175 까지의 샘플 인덱스들을 위한 수정된 잔여 성분.
출력
현재 프레임 내의 윈도우들의 위치
공정
"에포크" 에 중심이 맞추어진 윈도우들의 집합은 도 10의 흐름도에 설명된 공정을 사용하여 식별될 수 있는데, 도 10은 도 7에 도시된 흐름도에 대하여 볼 때 몇가지 점에서 유사하다. 수정된 잔여 성분 신호 내의 활성이 강한 구간들은 일반적으로 주기적으로 발생한다. 현재 바람직한 음성 인코더(12)는, 유성 프레임들 내의 에포크들이 1 피치 주기 만큼 서로 분리되어야 한다는 제한 인자를 강조함으로써 이러한 특성을 이용한다. 에포크들의 위치를 정하는데 다소의 융통성을 허락하기 위하여, "지터(jitter)"가 허용되는데, 즉, 현재 검색 프레임 내의 제 1 에포크 및 이전 프레임의 마지막 에포크 간의 거리가 pitch-8 내지 pitch+7의 범위에서 선택될 수 있다. 지터의 값(-8 내지 7 사이의 정수)는 수신기 내의 디코더(10)로 송신된다(지터값을 양의 정수로 한정하여서 획득되는 양자화된 값도 역시 사용될 수 있음에 주의해야한다).
그러나, 어떤 유성 프레임들에서는, 지터링된 윈도우(jittered windows)를 사용해도 모든 중요한 신호 활성을 포착하기 충분한 융통성이 제공되지는 않는다. 그러한 경우, "리세트(reset)" 컨디션이 허용되고, 프레임은 VOICED RESET(유성 리세트) 프레임으로 간주된다. 유성 리세트 프레임들 내에서는, 현재 프레임 내의 에포크들이 1 pitch 주기 만큼 서로 분리되어 있으나, 제 1 에포크는 현재 프레임의 어느 위치에도 올 수 있다. 만일 유성 프레임이 리세트 프레임이 아니면, 그 프레임은 NON-RESET VOICED 프레임 또는 JITTERED VOICED 프레임으로 간주된다.
도 10의 흐름도의 각 개별 블록들이 지금부터 더욱 상세히 설명된다.
(블록 A) 윈도우 길이 및 에너지 프로필 결정
유성 프레임에 사용되는 윈도우의 길이는 현 프레임의 피치 기간에 따라 선택된다. 우선, 피치 기간은 각 서브프레임에 대한 종래 EVRC에서 수행되는 것으로 정의된다. 현 프레임의 모든 서브프레임의 피치 기간의 최대값이 32보다 더 큰 경우, 윈도우 길이는 24로 선택되고, 그렇지 않은 경우, 윈도우 길이는 16으로 설정된다.
윈도우는 다음과 같이 각 에포크로 한정된다. 한 에포크가 위치 e에 놓여있는 경우, 길이 L에 상응하는 윈도우는 샘플 인덱스 e-L/2부터 샘플 인덱스 e+L/2-1까지 연장된다.
그 다음, "임시(tentative) 검색 프레임"은 현 검색 프레임의 시작에서 시작하여 현 기본 프레임의 종료까지의 샘플 세트로 정의된다. 또한, "에포크 검색 범위"는 검색 프레임의 시작 후 L/2 샘플에서 시작하여 현 기본 프레임의 종료에서 종료되는 것으로 정의된다(여기서, L은 현 프레임의 윈도우 길이이다). 임시 검색 프레임의 변형된 잔여 신호의 샘플은 e(n)로 표시되는데, 여기서, n=0..N-1이고, N은 임시 검색 프레임의 길이이다. 임시 검색 프레임의 각 샘플에 대한 피치값은 상기 샘플이 놓이는 서브프레임의 피치값으로 정의되고 pitch(n)로 표시되고, 여기서, n=0,..N-1이다.
2개의 "에너지 프로필" 집합은 임시 검색 프레임의 각 샘플 위치에서 계산된다. 제1 로컬 에너지 프로필(LE_Profile)은 변형된 잔여분의 로컬 에너지 평균으로 정의된다:
LE_Profile(n)=[e(n-1)2+e(n)2+e(n+1)2]/3
제2 피치-필터된 에너지 프로필(PFE_Profile)은 다음과 같이 정의된다:
n+pitch(n)가 N(현 샘플이 임시 검색 프레임내에 놓여진 후에 피치 기간에있는 샘플)보다 작은 경우:
PFE_Profile(n)=0.5*[LE_Profile(n)+LE_Profile(n+pitch(n))]
n+pitch(n)가 N보다 크거나 같은 경우:
PFE_Profile(n)=LE_Profile(n)
(블록 B) 가장 좋은 지터링되는 에포크 결정
현 프레임을 지터링된 유성(JITTERED VOICED) 프레임으로 선언하는 효율성을 평가하기 위하여, 지터(-8 과 7 사이)의 가장 좋은 값이 결정된다.
각 후보 지터 값 j에 있어서:
1. 상기 후보 지터 값의 선택으로부터 기인하는 에포크의 집합으로 정의되는 트랙은 다음과 같은 회기를 통해 결정된다:
초기화:
epoch[0]=LastEpoch+j+pitch[subframe[0]]
epoch[n]이 에포크 검색 범위내에 있는 한 n=1,2..에 대해 다음을 반복한다
epoch[n]=epoch[n-1]+Pitch(epoch[n-1])
2. 트랙 피크, 즉, 트랙상의 로컬 에너지 프로필의 최대값을 갖는 에포크에 대한 위치 및 진폭(amplitude)이 그 다음 계산된다.
최적 지터 값 j*는 최고 트랙 피크를 갖는 후보 지터로서 정의된다. 다음 양은 리세트 결정을 하기 위하여 나중에 사용된다.
J_TRACK_MAX_AMP, 최적 지터에 상응하는 트랙 피크의 진폭.
J_TRACK_MAX_POS, 최적 지터에 상응하는 트랙 피크의 위치.
(C) 가장 좋은 리세트 에포크 결정
현 프레임을 리세트 유성(RESET VOICED) 프레임으로 선언하는 효율성을 평가하기 위하여, 에포크를 리세트하기 위한 가장 좋은 위치(reset_epoch)가 결정된다. 결정과정은 다음과 같다.
리세트_에포크(reset_epoch) 값은 에포크 검색 범위내의 로컬 에너지 프로필(LE_Profile(n))의 최고 값의 위치에서 초기화된다.
reset_epoch로부터 시작하는 주기적으로 위치하는 에포크 위치의 시퀀스인 초기 "리세트 트랙"이 정의된다. 상기 트랙은 회기를 통해 얻어진다:
초기화:
epoch[0]=reset_epoch
epoch[n]이 에포크 검색 범위내에 있는 한 n=1,2..에 대해 다음을 반복한다
epoch[n]=epoch[n-1]+Pitch(epoch[n-1])
reset_epoch 값은 다음과 같이 다시 계산된다. 에포크 검색 범위내의 모든 샘플 인덱스(k) 중에서 다음 조건 (a)-(e)를 만족하는 가장 이른(k의 최소 값) 샘플이 선택된다:
(a) 샘플 k는 리세트 트랙상의 에포크의 5개의 샘플내에 놓인다.
(b) 피치-필터링된 에너지 프로필(PFE_Profile)은 k에서 아래와 같이 정의된 로컬 최대값을 갖는다:
PFE_Profile(k)>PFE_Profile(k+j), for j=-2,-1,1,2
(c) k에서 피치-필터링된 에너지 프로필 값은 reset_epoch에서 피치-필터링된 에너지 프로필 값과 비교해서 중요하다:
PFE_Profile(k)>0.3*PFE_Profile(reset_epoch)
(d) k에서 로컬 에너지 프로필 값은 피치-필터링된 에너지 프로필 값과 비교해서 중요하다:
LE_Profile(k)>0.5*PFE_Profile(k)
(e) k의 위치는 최종 에포크로부터 충분히 떨어져 있다(예를 들어, 0.7*pitch(k) 샘플).
상기 조건을 만족하는 샘플 k가 발견되는 경우, reset_epoch 값은 k로 변경된다.
최종 리세트 트랙은 reset_epoch로부터 시작하는 주기적으로 위치하는 에포크 위치의 시퀀스로서 결정되고 회기를 통해 얻어진다:
초기화:
epoch[0]=reset_epoch
epoch[n]이 에포크 검색 범위내에 있는 한 n=1,2..에 대해 다음을 반복한다
epoch[n]=epoch[n-1]+Pitch(epoch[n-1])
리세트 트랙상에서 피치-필터링된 에너지 프로필의 가장 높은 값인 "리세트 트랙 피크"의 위치 및 크기가 얻어진다. 다음 양이 프레임을 리세팅하도록 결정하는데 사용된다.
R_TRACK_MAX_AMP, 리세트 트랙 피크의 진폭.
R_TRACK_MAX_POS, 리세트 트랙 피크의 위치.
(블록 D) 프레임 리세트 결정
현 프레임을 리세트하는 결정은 다음과 같이 한다:
IF{(J_TRACK_MAX_AMP/R_TRACK_MAX_AMP<0.8)
OR (이전 프레임이 무성(UNVOICED)}
AND {|J_TRACK_MAX_POS-R_TRACK_MAX_POS| > 4}
THEN
현 프레임은 리세트 유성(RESET VOICED) 프레임으로 선언된다;
Else 현 프레임은 비-리세트 유성(NON-RESET VOICED) 프레임으로 선언된다.
(블록 E) 에포크 위치 결정
현 검색 프레임의 제1 에포크의 임시 위치에 참조되는 양(FIRST_EPOCH)은 다음과 같이 정의된다:
만일 현 프레임이 리세트 프레임인 경우:
FIRST_EPOCH=R_TRACK_MAX_POS
아니면
FIRST_EPOCH=J_TRACK_MAX_POS
제1 에포크의 임시 위치(FIRST_EPOCH)가 주어지는 경우, 이 에포크에 연속하는 에포크 위치의 집합은 다음과 같이 결정된다:
초기화:
epoch[0]=FIRST_EPOCH
epoch[n]이 에포크 검색 범위내에 있는 한 n=1,2..에 대해 다음을 반복한다
epoch[n]=epoch[n-1]+Pitch(epoch[n-1])
이전 프레임이 유성이고 현 프레임이 리세트 유성 프레임인 경우, 아래와 같은 과정을 사용하여 FIRST_EPOCH의 좌측에 삽입될 수 있다:
과정:
epoch[-n]이 에포크 검색 범위내에 있는 한 n=1,2..에 대해 다음을 반복한다
epoch[-n]=epoch[-n+1]-Pitch(epoch[-n])
다음 조건을 만족하지 않는 모든 에포크를 삭제한다:
k>0.1*pitch(subframe[0]) 이고 k-LastEpoch>0.5*pitch(subframe(0))
맨 왼쪽의 (가장 이른) 에포크가 epoch[0]이 되도록 에포크들을 다시 인덱싱한다.
현 프레임이 리세트 유성 프레임인 경우, 에포크의 위치들은 아래 과정을 이용하여 평탄화된다:
과정:
n=1,2..K에 대해 반복한다
epoch[n] = epoch[n]-(K-n)*[epoch[0]-LastEpoch]/(K+1)
여기서 LastEpoch은 이전 검색 프레임의 최종 에포크가다.
에포크 위치를 평탄화하는 목적은 신호의 주기성에 급격한 변화를 방지하는 것이다.
이전 프레임이 유성 프레임이 아니고 현 프레임이 리세트 유성 프레임인 경우, 아래 과정을 이용하여 First_Epoch의 좌측에 에포크들을 삽입한다:
현 기본 프레임의 샘플에 대한 에너지 프로필의 평균값(AV_FRAME) 및 피크값(PK_FRAME)을 결정한다.
다음, 다음과 같이 START_EPOCH의 좌측에 에포크를 삽입한다:
epoch[-n]이 에포크 검색 범위내에 있는 한 에포크 검색 범위의 시작에 도달할 때까지 n=1,2..에 대해 다음을 반복한다.
epoch[-n]=epoch[-n+1]-Pitch(epoch[-n])
각각 새로이 삽입된 에포크, epoch[-n], n = 1,2..K에 의해 정의된 윈도우내의 샘플에 대한 로컬 에너지 콘투어(contour)의 최대 값으로 WIN_MAX[n]을 정의한다. 모든 새로이 삽입된 에포크들이 다음 조건을 만족하는 것을 증명한다:
(WIN_MAX>0.13PK_FRAME)이고(WIN_MAX>1.5AV_FRAME)
만일 어떤 새로이 삽입된 에포크가 상기 조건들을 만족하지 못하는 경우, 그 에포크를 제거하고 모든 에포크들을 그것의 왼쪽으로 이동한다.
에포크 검색 범위내의 가장 이른 에포크가 epoch[0]이 되도록 에포크들을 다시 인덱싱한다.
따라서 유성 프레임들에 대한 윈도우 경계들을 결정하였고, 도 9의 유성 인코더(42c)를 참조하여, 이제 유성 프레임들에 대한 검색 서브프레임 경계를 결정(도 11, 블록 B)하는 현재의 바람직한 기술을 설명한다.
입력
이전 검색 프레임의 종료점; 및
현 프레임의 윈도우 위치.
출력
현 프레임의 검색 서브프레임 위치.
과정
각 서브프레임(0,1,2)에 대하여 수행:
현 검색 서브프레임의 시작을 최종 검색 서브프레임의 종료를 따르는 샘플과 동일하도록 세트.
현 검색 서브프레임의 최종 샘플을 현 기본 서브프레임의 최종 샘플과 동일하도록 세트.
만일 현 기본 서브프레임의 최종 샘플이 윈도우내에 놓여있는 경우, 현 검색 서브프레임은 다음과 같이 다시 정의된다:
상기 윈도우의 중심이 현 기본 서브프레임내에 놓여있는 경우, 현 검색 서브프레임을 윈도우의 종료까지 연장한다, 즉 현 검색 서브프레임의 끝을 기본 서브프레임의 끝에 걸쳐진(straddle) 윈도우(중복 윈도우)의 최종 샘플로 세트한다.
상기 윈도우의 중심이 현 기본 서브프레임내에 놓여있지 않은 경우(윈도우의 중심이 다음 기본 서브프레임에 놓여있는 경우)
만일 현 서브프레임 인덱스가 0 또는 1인 경우, (처음 2개의 서브프레임), 현 검색 서브프레임의 끝을 중복 윈도우의 시작에 앞서는 샘플에 세트한다(현 검색 서브프레임으로부터 윈도우를 제외한다).
현 서브프레임 인덱스가 0 또는 1이 아닌 경우, (이것은 최종 서브프레임인 경우), 현 검색 서브프레임의 끝을 중복 윈도우의 시작전 8개의 샘플인 샘플의 인덱스로 세트한다(이 검색 서브프레임으로부터 윈도우를 제외하고 다음 프레임의 이 윈도우 위치의 조정을 허용하도록 윈도우앞에 부가적인 공간을 남겨둔다).
나머지 서브프레임에 대하여 이 과정을 반복한다.
검색 프레임을 결정했고, 다음 단계는 각 서브프레임에 고정 코드북(FCB, fixed codebook)의 기여도(contribution)를 식별하는 것이다(도 11의 블록 C). 윈도우 위치는 피치 기간에 의존하기 때문에, 몇몇 검색 서브프레임들이 어떠한 윈도우도 가지지 않을 수 있는 것이 가능하다(특히 남성 스피커인 경우). 그러한 서브프레임들은 후술하는 특별 과정을 통해 제어된다. 그러나 대부분의 경우, 서브프레임들은 윈도우들을 포함하고 이러한 서브프레임에 대한 FCB 기여도는 다음 과정을 통해 결정된다.
도 11, 블록 C에 있어서, 윈도우를 갖는 유성 서브프레임에 대한 FCB 벡터 및 이득에 대한 결정이 이하 상세히 설명된다.
입력
현 검색 서브프레임내의 변형된 잔여분;
현 검색 서브프레임내의 윈도우들의 위치;
현 서브프레임내의 가중 합성 필터의 제로 입력 응답(ZIR, Zero InputResponse);
현 검색 서브프레임의 ACB 기여도(contribution); 및
현 서브프레임내의 가중 합성 필터의 임펄스 응답.
출력
선택된 FCB 벡터의 인덱스;
선택된 FCB 벡터에 대응하는 최적 이득;
합성된 음성 신호; 및
최적 FCB 벡터에 대응하는 가중 제곱-에러.
공정
유성 프레임에 있어서, 고정-코드북으로부터 유도된 여기 신호는 서브프레임의 윈도우내에 샘플로 선택된다. 동일 검색 서브프레임내에 다중 윈도우가 발생하는 경우, 상기 서브프레임내의 모든 윈도우들은 동일한 여기를 갖도록 강제된다. 이러한 제한은 정보에 대한 효과적인 인코딩을 얻는데 바람직하다.
최적 FCB 여기는 합성에 의한 분석(AbS) 과정을 통해 결정된다. 우선, FCB 타겟은 변형된 잔여분으로부터 가중 합성 필터의 제로 입력 응답(ZIR) 및 ACB 기여도를 빼는 것으로써 얻어진다. 고정-코드북(FCB_V)은 피치의 값을 가지고 변화되고, 다음 과정을 통해 얻어진다.
만일 윈도우 길이(L)이 24와 동일한 경우, FCB_V내의 24-차원 벡터가 다음과 같이 얻어진다:
(A) 각 코드-벡터는 윈도우내의 24개의 위치들 중 3개를 제외한 모든 것에 0을 위치시킴으로써 얻어진다. 다음의 트랙들 각각에서 하나의 위치를 선택함으로써, 3개의 위치가 선택된다:
Track 0: 위치 0 3 6 9 12 15 18 21
Track 1: 위치 1 4 7 10 13 16 19 22
Track 2: 위치 2 5 8 11 14 17 20 23
(B) 선택된 위치내의 각 비-제로 펄스는 +1 또는 -1일 수 있고, 4096 코드-벡터로 인도된다(즉, 512 펄스 위치 조합들이 8 부호 조합들에 곱해진다).
만일 윈도우 길이(L)이 16과 동일한 경우, 16-차원 코드북이 다음과 같이 얻어진다:
(A) 16개의 위치들 중 4개를 제외한 모든 것에 0을 위치시킨다. 다음의 트랙들 각각에 비-제로 펄스들이 놓여진다:
Track 0: 위치 0 4 8 12
Track 1: 위치 1 5 9 13
Track 2: 위치 2 6 10 14
Track 3: 위치 3 7 11 15
(B) 각 비-제로 펄스는 +1 또는 -1일 수 있고, 다시 4096 후보 벡터들에 인도된다(즉, 256 위치 조합들, 16 부호 조합들).
각 코드-벡터에 대응하여, 스케일링되지 않은 여기 신호는 현 검색 서브프레임에서 발생된다. 이러한 여기는 코드-벡터를 현 서브프레임내의 모든 윈도우내에 복사하고, 다른 샘플 위치에 제로들을 위치시킴에 의해 얻어진다. 이러한 여기에대한 최적 스케일러(scalar) 이득은 표준 합성에 의한 분석을 이용한 가중 합성 비용에 따라 결정된다. 모든 4096개의 코드-벡터들에 걸친 검색은 계산적으로 비싸기 때문에, 검색은 전체 코드북의 부분집합에 걸쳐 수행된다.
제1 서브프레임에 있어서, 검색은 코드-벡터들로 제한되고, 상기 코드-벡터들의 비-제로 펄스들은 검색 서브프레임의 제1 윈도우내의 대응 위치의 백-필터링된 타깃 신호의 부호들을 갖는 부호에 정합한다. 당업자는 이러한 기술들을 복잡성 감축에 대한 EVRC에 사용되는 과정과 다소 유사한 기술로 인식할 수 있다.
제2 및 제3 서브프레임에 있어서, 모든 트랙상의 펄스들의 부호들은 제1 서브프레임의 상응하는 트랙에 대해 선택된 부호들과 동일하거나 모든 트랙상에 정확히 반대로 하거나 둘 중 하나가 되도록 강제된다. 단지 하나의 비트만이 제2 및 제3 서브프레임의 각각의 펄스들의 부호를 명시하도록 요구되고, 효과적인 코드북은 L=24인 경우 1024 벡터들을 갖고 L=16인 경우 512 벡터들을 갖는다.
최적 후보가 결정되고 이러한 후보에 상응하는 합성 음성이 계산된다.
이제, 윈도우가 없는 유성 서브프레임에 대한 FCB 벡터 및 이득을 결정하는 바람직한 기술에 대한 설명을 제시한다.
입력들
상기 현재 검색 서브프레임(subframe)에서의 변형된 잔여 성분(residual);
상기 현재 서브프레임에서 가중(weighted) 합성 필터의 ZIR;
상기 현재 검색 서브프레임에서의 ACB 기여도(contribution); 및
상기 현재 서브프레임에서 상기 가중 합성 필터의 임펄스 응답.
출력들
선택된 상기 FCB 벡터의 인덱스(index);
선택된 상기 FCB 벡터에 상응하는 최적 이득;
합성된 음성 신호; 및
상기 최적 FCB 벡터에 상응하는 가중 제곱 오차(SQUARED ERROR).
공정
윈도우없는 유성 서브프레임들에서, 상기 고정 여기(EXCITATION)는 다음의 절차를 사용하여 도출된다.
FCB 목표물(target)은 상기 변형된 잔여 성분으로부터 상기 가중 합성 필터의 ZIR 및 상기 ACB 기여도를 차감함으로써 획득된다. 코드북인 FCB_V는 다음의 절차를 통해 획득된다:
각 코드-벡터는 상기 검색 서브프레임에서 2개 위치들을 제외한 모두에 영점들(zeros)을 위치시킴으로써 얻어진다. 상기 2개 위치들은 다음의 트랙들 각각에서 하나의 위치를 고름으로써 선택된다:
트랙 0: 위치들 0 2 4 6 8 10 ... (홀수 번호 인덱스들)
트랙 1: 위치들 1 3 5 7 9 ... (짝수 번호 인덱스들)
상기 선택된 위치에서 각각의 영이 아닌 펄스는 +1 또는 -1 일수도 있다.검색 서브프레임은 64개의 샘플들만큼 길수도 있으므로, 상기 코드북은 4096개의 코드 벡터들만큼 많이 포함할 수도 있다.
각 코드 벡터에 대한 상기 최적 스칼라 이득은 표준 합성에 의한 (analysis-by-synthesis) 기법들을 사용하여, 가중 합성 비용을 따라 결정될 수 있다. 상기 최적의 후보자가 결정되고 이 후보자에 상응하는 합성 음성이 계산된다.
이제 도 9의 천이(transition) 인코더(42b)를 참조하면, 본 발명의 목하 바람직한 실시예에는 천이 프레임들을 인코딩하는데 두 단계들이 있다. 제1 단계는 도 8의 폐루프 분류기(classifier)(34)에 의해 수행되는 폐루프 분류 프로세스의 일부로써 행해지고, 천이들에 대한 목표 레이트는 상기 분류에서 레이트 바이어스(bias)를 피하기 위하여 4kb/s를 유지한다(만약 상기 레이트가 더 높으면, 상기 분류기는 천이의 경향을 띨 것이다). 이러한 제1 단계에서 상기 고정 코드북은 서브프레임당 하나의 윈도우를 채용한다. 윈도우들의 상응하는 세트는 윈도우들의 "제1 세트"로 아래에 언급된다. 제2 단계에서, 여분의 윈도우는 윈도우들의 "제2 세트"를 생성하는 각각의 서브프레임에 도입된다(INTRODUCED). 이러한 절차는 상기 분류기를 바이어스하지 않고, 단지 천이들에 대한 상기 레이트를 증가할 수 있게 한다.
천이 프레임들에 대한 인코딩 절차는 도 12에서 도해되는, 다음 일련의 단계들을 통해 요약될 수도 있다.
(A) 윈도우 경계들(BOUNDARIES)의 "제1 세트"를 결정한다.
(B) 검색 서브프레임 길이들을 선택한다.
(C) 각 서브프레임에서의 상기 제1 윈도우를 위한 FCB 벡터들과 이득들 및 윈도우의 제2 세트에서 여기를 도입하기 위한 목표 신호를 결정한다.
(D) 윈도우 경계들의 "제2 세트"를 결정한다.
(E) 각 서브프레임에서 상기 제2 윈도우에 대한 상기 FCB 벡터들 및 이득들을 결정한다.
단계 A: 천이 서브프레임들을 위한 윈도우 경계들의 제1 세트의 결정.
입력들
이전 검색 프레임의 종료점(endpoint); 및
-16으로부터 175까지 샘플 인덱스들에 대한 변형된 잔여 성분; 현재 기본 프레임의 시작과 관련된.
출력들
상기 현재 프레임에서 윈도우들의 위치들
절차
각 기본 서브프레임내에 하나씩 있는, 제1 세개의 에포크들(EPOCHS)이 결정된다. 상기 에포크들의 중심에 위치한 길이 24의 윈도우들은 상술된 유성 프레임들에서처럼 다음에 정의된다. 에포크들의 상대적인 위치들에 대한 제약이 없는 반면, 다음의 4가지 조건들(C1 - C4)이 만족되는 것이 바람직하다:
(C1) 만약 하나의 에포크가 상기 검색 프레임의 시작과 관련하여, 위치 n에 있으면, n은 다음 식을 만족해야 한다: n=8*k+4 (k는 정수).
(C2) 상기 에포크들에 의해 정의된 상기 윈도우들은 서로 겹치지 않아야 한다.
(C3) 상기 제1 에포크에 의해 정의된 상기 윈도우는 이전 검색 프레임까지 확장되어서는 안된다.
(C4) 에포크 위치들은 이러한 에포크들에 의해 정의된 상기 윈도우들에 포함된 상기 변형된 잔여 성분의 샘플들의 평균 에너지를 최대화한다.
단계 B: 천이 프레임들을 위한 검색 서브프레임 경계들의 결정.
이 절차는 유성 프레임들에서 상기 검색 서브프레임 경계들을 결정하기 위한 앞서 설명된 절차와 동일할 수 있다.
단계 C: 천이 서브프레임들에서 상기 제1 윈도우를 위한 FCB 벡터 및 이득들의 결정.
이 절차는 다음의 측면들을 제외하고는 유성 프레임들에서 사용된 상기 절차와 유사하다:
(i) 각 검색 서브프레임에는 단지 하나의 윈도우만이 있으며;
(ii) AbS의 종래의 단계들을 수행하는것에 부가하여, 상기 최적 FCB 기여도는 상기 추가적인 윈도우들(윈도우들의 제2 세트)에 여기를 도입하기 위한 신규 목표물을 결정하기 위하여 상기 FCB 목표물로부터 차감된다.
여기서 설명된 바와 같이 윈도우들의 상기 제1 세트에 여기를 도입한 후에, 각 검색 서브프레임에 하나씩 있는, 윈도우들의 추가적인 세트는 상기 목표물 여기에 에너지의 다른 중요 윈도우들을 수용하기 위하여 도입된다. 윈도우들의 상기 제2 세트를 위한 상기 펄스들은 아래에 설명된 절차를 통해 도입된다.
단계 D: 천이 서브프레임들에 대한 윈도우 경계들의 제2 세트의 결정.
입력들
이전 검색 프레임의 끝점;
상기 천이 서브프레임들에서 추가적인 윈도우들의 도입을 위한 목표 신호들; 및
상기 현재 프레임에서 검색 서브프레임들의 위치들.
출력들
상기 현재 프레임에서 윈도우들의 제2 세트의 위치들.
절차
세개의 추가적인 에포크들이 상기 현재 프레임에 위치하고 이러한 에포크들의 중심에 위치한, 길이 24 샘플들의 윈도우들이 정의된다. 상기 추가적인 에포크들은 다음의 네가지 조건들(C1 - C4)을 만족한다:
(C1) 단지 하나의 추가적인 에포크만이 각 검색 서브프레임에 도입된다.
(C2) 임의의 상기 추가적인 에포크들에 의해 정의된 윈도우는 검색 서브프레임의 상기 경계들을 넘어 확장할 수 없을 수도 있다.
(C3) 만약 하나의 에포크가 상기 검색 프레임의 시작과 관련하여, 위치 n에 있으면, n은 다음 식을 만족해야 한다: n=8*k+4 (k는 정수).
(C4) 상기 조건들을 만족하는 모든 가능한 에포크 위치들 중에서, 선택된 에포크들은 이러한 에포크들에 의해 정의된 상기 위도우들에 포함되는 상기 목표 신호의 평균 에너지를 최대화한다.
단계 E: 천이 서브프레임들에서 상기 제2 윈도우에 대한 FCB 벡터 및 이득의 결정.
입력들
상기 현재 검색 서브프레임에서 추가적인 윈도우들의 포함을 위한 목표물; 및
상기 현재 서브프레임에서 상기 가중 합성 필터의 임펄스 응답.
출력들
선택된 상기 FCB 벡터의 인덱스;
선택된 상기 FCB 벡터에 상응하는 최적 이득; 및
합성된 음성 신호.
절차
길이 24의 윈도우들을 위해 먼저 정의된 고정-코드북이 채용된다. 상기 검색은 영이 아닌 펄스들이 상기 상응하는 위치에서 상기 목표 신호와 부호가 매치하는 코드-벡터들에 한정된다. 상기 AbS 절차는 상기 최선의 코드-벡터 및 상기 상응하는 이득을 결정하기 위해 사용된다. 상기 최선의 여기는 상기 합성 필터를 통해 필터링되고 윈도우들의 상기 제1 세트에서 상기 여기로부터 합성된 음성에 부가되며, 상기 현재 검색 서브프레임에서 상기 완전한 합성 음성은 이렇게 획득된다.
이제 도 9의 무성 인코더(42a) 및 도 13의 흐름도를 참조하면, 무성 프레임들에 대하여 검색 서브프레임에서의 상기 FCB 기여도는 요소들(components)이 의사-랜덤(pseudo-random) 3진수(-1, 0 또는 +1)들인 벡터들의 코드북으로부터 도출된다. 그 다음에 상기 최적 코드-벡터 및 상기 상응하는 이득은 합성-분석을 사용하여 각 서브프레임에서 결정된다. 적응 코드북은 사용되지 않는다. 상기 검색 서브프레임 경계들은 후술되는 절차를 사용하여 결정된다.
단계 A: 무성 프레임들을 위한 검색 서브프레임 경계들의 결정.
입력들
이전 검색 프레임의 끝점.
출력들
상기 현재 프레임에서 검색 서브프레임들의 위치들.
절차
상기 제1 검색 서브프레임은 마지막 검색 프레임의 끝을 따르는 상기 샘플로부터 샘플 번호가 53일 때까지(상기 현재 기본 프레임의 상기 시작에 관련하여) 확장한다. 상기 제2 및 제3 검색 서브프레임들은 각각 53 및 54의 길이들을 가지도록 선택된다. 상기 무성 검색 프레임 및 기본 프레임은 동일한 위치에서 끝난다.
단계 B: 무성 서브프레임들을 위한 FCB벡터 및 이득의 결정
입력들
상기 현재 검색 서브프레임에서의 변형된 잔여 벡터;
상기 현재 서브프레임에서 상기 가중 합성 필터의 ZIR; 및
상기 현재 서브프레임에서 상기 가중 합성 필터의 임펄스 응답.
출력들
선택된 상기 FCB 벡터의 인덱스;
선택된 상기 FCB 벡터에 상응하는 이득; 및
합성된 음성 신호.
절차
상기 최적 FCB 벡터 및 그것의 이득은 합성-분석을 거쳐 결정된다. 여기 벡터들 FCB_UV[0]..FCB_UV[511]의 코드북, FCB_UV는 다음의 방법으로 3진 값을 지닌 수들의 일련, RAN_SEQ[k] k=0..605로부터 획득된다:
FCB_UV[i], {RAN_SEQ[i],RAN_SEQ[i+1],..,RAN_SEQ[i+L-1]},
여기서 L은 상기 현재 검색 서브프레임의 길이이다. 상기 최적 여기에 상응하는 상기 합성된 음성 신호도 또한 계산된다.
도 9를 한번 더 참조하면, 상기 폐루프 분류기(42d)는 프레임에서 상기 음성 신호의 특징(유성, 무성 또는 천이)을 결정하는 상기 프레임-레벨 분류기의 상기 제2 단계를 나타낸다.
다음의 식에서 상기 양 Dt는 윈도우의 상기 제1 세트의 도입 후에 상기 천이 가설의 상기 가중 제곱오차로서 정의되고, Dv는 상기 유성 가설에서의 상기 가중 제곱오차로서 정의된다. 상기 폐루프 분류기(42d)는 다음과 같이 각 프레임에서 출력, CLC(m)을 생성한다:
만약 Dt<0.8 이면 CLC(m) = 천이
아니고 만약 β<0.7 이고 Dt<Dv이면 CLC(m) = 천이
아니면 CLC(m) = 유성
상기 폐루프 분류기(42d)는 양들 Dt및 Dv를 비교함으로써 상기 유성 및 천이 가설을 사용하는 상대적 이점들을 비교한다. Dt는 상기 천이 가설의 최종 가중 제곱오차가 아니고, 단지 FCB 기여도가 윈도우들의 상기 제1 세트에 도입된 후에 획득되는 중간 오차 측정치라는데 주목해야 한다. 이러한 접근법은 상기 천이 코더(42b)가 상기 유성 코더(42c) 보다 더 높은 비트율을 사용할 수도 있기 때문에 선호되며, 이로인해, 상기 가중 제곱오차들의 직접적인 비교는 적절하지 않다. 양들 Dt및 Dv은 반면에 유사한 비트율에 상응하고, 그러므로 폐루프 분류동안 그들의 비교는 적절하다. 천이 프레임들을 위한 상기 목표 비트율은 4kb/s임에 주목해야 한다.
도 9에서 SW1-SW3는 논리적 스위치들을 나타낸다. 상기 SW3의 스위칭 상태(state)가 상기 폐루프 분류기(42d)로부터 상기 CLC(m) 신호 출력에 의해 제어되는 반면, 상기 SW1 및 SW2의 스위칭 상태는 상기 개루프 분류기(34)로부터 상기 OLC(m) 신호 출력의 상태에 의해 제어된다. SW1은 상기 변형된 잔여 성분을 상기 무성 인코더(42a)의 입력, 또는 상기 천이 인코더(42b)의 입력에 스위칭하고, 동시에, 상기 유성 인코더(42c)의 입력에 스위칭하도록 동작한다. SW2는 CLC(m) 및 SW3에 의해 선택되는 바와 같이, 상기 유성 인코더 모델(42a)에 기반한 상기 합성 음성, 또는 천이 인코더(42b)로부터 출력되는 상기 천이 가설에 기반한 상기 합성 음성중의 하나 또는 유성 인코더(42c)로부터 출력되는 상기 유성 가설에 기반하는 상기 합성 음성중 어느 하나를 선택하도록 동작한다.
도 14는 상응하는 디코더(10)의 블록도이다. 스위치들 SW1 및 SW2는 앞서 설명된 바와 같이, 상기 상응하는 음성 코더로부터 송신되는 상기 분류 표시(예컨대,두개의 비트들)에 의해 상태가 제어되는 논리적 스위치들을 나타낸다. 더욱이 이러한 점에서 임의 형태의 소스(SOURCE)로부터의 입력 비트 스트림은 클래스(CLASS) 디코더(10a) (SW1 및 SW2의 스위칭 상태를 제어하는), 및 합성필터(10b)와 후필터(10c)에 결합된 출력들을 가지는 LSP 디코더(10d)에 적용된다. 상기 합성 필터(10b)의 입력은 SW2의 출력에 결합되고, 그러므로 상기 프레임의 클래스의 기능으로서 선택된, 복수개의 여기 생성기들중 하나의 출력을 나타낸다. 더욱 상세하게는, 본 실시예에서, SW1 및 SW2 사이에 무성 여기 생성기(10e) 및 관련된 이득 요소(10f)가 배치된다. 다른 스위치 위치에서 적응 코드북(10k), 이득 요소(10l), 및 합산 접합 결합점(summing junction)뿐만 아니라, 관련된 피치 디코더(10h) 및 윈도우 생성기(10i)를 따라서, 상기 유성 여기 고정 코드북(10g) 및 이득 요소(10j)가 발견된다. 더 이상의 스위치 위치에서 관련된 윈도우들 디코더(10q) 뿐만 아니라, 상기 천이 여기 고정 코드북(10o) 및 이득 요소(10p)가 발견된다. 적응 코드북 피드백 경로(10n)가 SW2의 출력 노드로부터 존재한다.
이제 상기 디코더(10)를 더 상세하게 설명하면, 상기 클래스 디코더(10a)는 상기 입력 비트 스트림으로부터 상기 클래스 정보를 전달하는 비트들을 복구하고(retrieve) 이로부터 상기 클래스를 디코드한다. 도 14의 블록도에서 나타나는 실시예에는 세가지의 클래스들이 있다: 무성, 유성, 및 천이. 본 발명의 다른 실시예들은 위에서 명백해진 바와 같이, 상이한 개수의 클래스들을 포함할 수도 있다.
상기 클래스 디코더는 상기 입력 비트 스트림을 각 클래스(각 클래스는 분리된 여기 생성기를 가진다)에 상응하는 상기 여기 생성기로 향하게 하는 상기 SW1을 활성화시킨다. 유성 클래스를 위하여, 상기 비트 스트림은 블록(10h)에서 처음 디코드되고 블록(10i)에서 상기 윈도우들을 생성하는데 사용되는 상기 피치 정보를 포함한다. 상기 피치 정보에 기반하여, 적응 코드북 벡터가 상기 코드북(10g)으로부터 복구되어 이득(10j)에 의해 곱해지고 유성 프레임들을 위한 상기 전체 여기를 주기 위하여 상기 합산기(10m)에 의해 상기 적응 코드북 여기에 더해지는 여기 벡터를 생성한다. 상기 고정 및 적응 코드북들을 위한 상기 이득값들은 상기 비트 스트림에서의 상기 정보에 기반하여 이득 코드북들로부터 복구된다.
상기 무성 클래스를 위하여, 상기 여기는 상기 코드북(10e)으로부터 랜덤 벡터를 검색하고 이득 요소(10f)에 의해 상기 벡터를 곱함으로써 획득된다.
상기 천이 클래스를 위하여, 상기 윈도우 위치들은 상기 윈도우 디코더(10q)에서 디코드된다. 코드북 벡터는 윈도우 디코더(10q)로부터의 상기 윈도우 위치들에 대한 정보 및 상기 비트-스트림으로부터의 추가적인 정보를 사용하여, 상기 천이 여기 고정 코드북(10o)으로부터 복구된다. 상기 선택된 코드북 벡터는 이득 요소(10p)에 의해 곱해져서, 천이 프레임들을 위한 전체 여기를 초래한다.
상기 클래스 디코더(10a)에 의해 활성화되는 상기 제2 스위치 SW2는 상기 현재 클래스에 상응하는 상기 여기를 선택한다. 상기 여기는 상기 LP 합성기 필터(10b)에 적용된다. 상기 여기는 또한 상기 연결(10n)을 거쳐 상기 적응 코드북(10k)에 피드백된다. 상기 합성기 필터의 출력은 음성 품질을 향상시키기 위해 사용되는 상기 후필터(10c)를 통해 통과한다. 상기 합성 필터 및 상기 후필터파라미터들은 상기 LSP 디코더(10d)에 의해 상기 입력 비트 스트림으로부터 디코드된 상기 LPC 파라미터들에 기반한다.
프레임 및 서브프레임에서 명시적인 갯수의 샘플들, 명시적인 윈도우 크기들, 명시적인 파라미터 및 비교들이 이루어진 문턱값들, 등의 용어로 위에서 설명되었지만, 본 발명의 목하 바람직한 실시예들이 개시되었음이 이해될 것이다. 다른 값들이 사용될 수 있으며, 다양한 알고리즘들 및 절차들이 적절히 조절될 수 있다.
더욱이, 앞서 언급된 바와 같이, 본 발명의 가르침은 단지 세 개 또는 네 개 프레임 분류들의 사용에 제한되지 않으며, 상기 갯수보다 많거나 또는 작은 갯수가 채용될 수 있다.
그러므로 당 기술분야의 숙련된 자들이 본 발명의 이득 및 다른 개시된 실시예들에 대한 많은 수정들 및 변형들을 도출할 수도 있음이 가정된다. 그러나, 이러한 모든 수정들 및 변경들은 본 발명의 가르침의 영역내에 있으며, 다음의 청구항들의 영역내에 포함된다고 가정된다.
또한 본 발명의 상기 음성 인코더가 무선전화기, 또는 그런 내용으로 무선 어플리케이션에서의 사용에 한정되지 않음에 주목하는 것이 중요하다. 예컨대, 본 발명의 가르침들에 따라 인코드된 음성 신호는 나중의 재생을 위해 단순히 기록될 수 있으며, 그리고/또는 광 섬유 및/또는 디지털 신호들을 전달하는 전기 전도체들을 사용하는 통신 네트워크에 의해서 전송될 수 있다.
더욱이, 앞서 언급된 바와 같이, 본 발명의 가르침들은 코드 분할 다중 액세스(CDMA: Code Division Multiple Access) 방식 또는 확산 스펙트럼(spread spectrum) 방식으로의 사용에 한정되지 않으며, 예컨대, 시분할 다중 액세스(TDMA: Time Division Multiple Access) 방식, 또는 어떤 다른 다중 사용자 액세스 방식에서도(또는 단일 사용자 액세스 방식에서도) 행하여질 수 있다.
그러므로, 본 발명이 이에따른 바람직한 실시예들에 대하여 특히 도시되고 설명되었다고 이해되지만, 형상 및 상세사항들에서의 변경들이 본 발명의 영역 및 정신을 벗어나지 않고 이루어질 수 있음은 당 기술분야의 숙련자들에 의해 한층 더 이해될 것이다.

Claims (53)

  1. 음성 신호의 샘플들을 프레임들로 분할하는 단계;
    상기 프레임에서 적어도 한 윈도우의 위치를 결정하는 단계; 및
    상기 프레임에 대한 여기를 인코딩하는 단계를 포함하며, 모든 또는 실질적으로 모든 비-제로 여기 진폭들이 상기 적어도 한 윈도우내에 존재하는 것을 특징으로 하는 음성 신호 코딩 방법.
  2. 제1항에 있어서, 각 프레임에 대한 잔여 신호를 유도하는 단계를 더 포함하고, 상기 적어도 한 윈도우의 위치는 상기 유도된 잔여 신호를 검사함으로써 결정되는 것을 특징으로 하는 음성 신호 코딩 방법.
  3. 제1항에 있어서, 각 프레임에 대한 잔여 신호를 유도하는 단계; 및 상기 잔여 신호의 에너지 콘투어를 평탄화하는 단계를 포함하며, 상기 적어도 한 윈도우의 위치는 상기 잔여 신호의 평탄화된 에너지 콘투어를 검사함으로써 결정되는 것을 특징으로 하는 음성 신호 코딩 방법.
  4. 제1항 내지 제3항 중의 어느 한 항에 있어서, 상기 적어도 한 윈도우는 서브프레임 경계 또는 프레임 경계 중 적어도 하나와 일치하는 에지를 갖도록 놓이는 것을 특징으로 하는 음성 신호 코딩 방법.
  5. 음성 신호의 샘플들을 프레임들로 분할하는 단계;
    각 프레임에 대한 잔여 신호를 유도하는 단계;
    상기 프레임에 대한 상기 잔여 신호를 고려함으로써 중심이 상기 프레임내에 있는 적어도 한 윈도우의 위치를 결정하는 단계; 및
    상기 프레임에 대한 여기를 인코딩하는 단계를 포함하며, 모든 또는 실질적으로 모든 비-제로 여기 진폭들이 상기 적어도 한 윈도우내에 존재하는 것을 특징으로 하는 음성 신호 코딩 방법.
  6. 제5항에 있어서, 상기 각 프레임에 대한 잔여 신호를 유도하는 단계는 상기 잔여 신호의 에너지 콘투어를 평탄화하는 단계를 포함하며, 상기 적어도 한 윈도우의 위치는 상기 잔여 신호의 상기 평탄화된 에너지 콘투어를 검사함으로써 결정되는 것을 특징으로 하는 음성 신호 코딩 방법.
  7. 제5항 또는 제6항에 있어서, 서브프레임 또는 프레임 경계는 상기 윈도우가 상기 변형된 서브프레임 또는 프레임내에 전부 존재하도록 변경되고, 상기 변형된 프레임 또는 서브프레임의 에지를 윈도우 경계와 일치시키기 위해 상기 경계가 놓이는 것을 특징으로 하는 음성 신호 코딩 방법.
  8. 음성 신호의 샘플들을 프레임들로 분할하는 단계;
    각 프레임에 대한 잔여 신호를 유도하는 단계;
    각 프레임에서의 상기 음성 신호를 복수의 클래스들 중 하나로 분류하는 단계;
    상기 프레임에 대한 잔여 신호를 검사함으로써 상기 프레임에서 적어도 한 윈도우의 위치를 식별하는 단계;
    상기 프레임의 클래스에 따라 선택된 복수의 여기 코딩 기술들 중 하나를 사용하여 상기 프레임에 대한 여기를 인코딩하는 단계; 및
    상기 클래스들 중 적어도 한 클래스에 대해, 모든 또는 실질적으로 모든 비-제로 여기 진폭들이 상기 윈도우들내에 존재하도록 한정하는 단계를 포함하는 것을 특징으로 하는 음성 신호 코딩 방법.
  9. 제8항에 있어서, 상기 클래스들은 유성 프레임들, 무성 프레임들 및 천이 프레임들을 포함하는 것을 특징으로 하는 음성 신호 코딩 방법.
  10. 제8항에 있어서, 상기 클래스들은 강한 주기 프레임들, 약한 주기 프레임들, 불규칙 프레임들 및 무성 프레임들을 포함하는 것을 특징으로 하는 음성 신호 코딩 방법.
  11. 제8항 내지 제10항 중의 어느 한 항에 있어서, 상기 음성 신호를 분류하는 단계는, 상기 잔여 신호로부터 평탄화된 에너지 콘투어를 형성하는 단계; 및 상기평탄화된 에너지 콘투어에서 피크 위치를 고려하는 것을 특징으로 하는 음성 신호 코딩 방법.
  12. 제8항 내지 제11항 중의 어느 한 항에 있어서, 상기 복수의 코딩 기술들 중 하나는 적응적 코드북인 것을 특징으로 하는 음성 신호 코딩 방법.
  13. 제8항 내지 제12항 중의 어느 한 항에 있어서, 상기 복수의 코딩 기술들 중 하나는 고정 3진 펄스 코딩 코드북인 것을 특징으로 하는 음성 신호 코딩 방법.
  14. 제8항 내지 제13항 중의 어느 한 항에 있어서, 상기 분류 단계는 폐루프 분류기가 다음에 오는 개방 루프 분류기를 사용하는 것을 특징으로 하는 음성 신호 코딩 방법.
  15. 제8항 내지 제14항 중의 어느 한 항에 있어서, 상기 분류 단계는 프레임을 무성 프레임 또는 비 무성 프레임 중 하나로서 분류하는 제1 분류기와, 비 무성 프레임을 유성 프레임 또는 천이 프레임 중 하나로서 분류하는 제2 분류기를 사용하는 것을 특징으로 하는 음성 신호 코딩 방법.
  16. 제8항 내지 제15항 중의 어느 한 항에 있어서, 상기 인코딩 단계는, 상기 프레임을 복수의 서브프레임들로 분할하는 단계; 및 적어도 한 윈도우를 각 서브프레임내에 위치시키는 단계를 포함하는 것을 특징으로 하는 음성 신호 코딩 방법.
  17. 제16항에 있어서, 상기 적어도 한 윈도우를 위치시키는 단계는 상기 프레임의 피치의 함수인 위치에 제1 윈도우를 위치시키고 상기 프레임의 피치의 함수로서 그리고 상기 제1 윈도우의 위치의 함수로서 다음 윈도우들을 위치시키는 것을 특징으로 하는 음성 신호 코딩 방법.
  18. 제8항 내지 제17항 중의 어느 한 항에 있어서, 적어도 한 윈도우의 위치를 식별하는 상기 단계는, 상기 잔여 신호를 평탄화하는 단계를 포함하고, 상기 식별 단계는 상기 잔여 신호의 평탄화된 콘투어에서 에너지 피크의 존재를 고려하는 것을 특징으로 하는 음성 신호 코딩 방법.
  19. 입력 음성 신호의 샘플들을 프레임들로 분할하기 위한 프레임화 유니트;
    프레임에서 적어도 한 윈도우의 위치를 결정하기 위한 윈도우화 유니트; 및
    모든 또는 실질적으로 모든 비-제로 여기 진폭들이 상기 적어도 한 윈도우내에 존재하도록 상기 프레임에 대한 여기를 인코딩하기 위한 인코더를 포함하는 것을 특징으로 하는 음성 코딩 장치.
  20. 제19항에 있어서, 각 프레임에 대한 잔여 신호를 유도하기 위한 유니트를 더 포함하며, 상기 윈도우화 유니트는 상기 유도된 잔여 신호를 검사함으로써 상기 적어도 한 윈도우의 위치를 결정하는 것을 특징으로 하는 음성 코딩 장치.
  21. 제19항에 있어서, 각 프레임에 대한 잔여 신호를 유도하기 위한 유니트; 및
    상기 잔여 신호의 에너지 콘투어를 평탄화하기 위한 유니트를 더 포함하며, 상기 윈도우화 유니트는 상기 잔여 신호의 평탄화된 에너지 콘투어를 검사함으로써 상기 적어도 한 윈도우의 위치를 결정하는 것을 특징으로 하는 음성 코딩 장치.
  22. 제19항 내지 제21항 중의 어느 한 항에 있어서, 상기 윈도우화 유니트는 서브프레임 경계 또는 프레임 경계 중 적어도 하나와 일치하는 에지를 가지도록 상기 적어도 한 윈도우를 위치시키는 것에 대해 작용하는 것을 특징으로 하는 음성 코딩 장치.
  23. 음성 신호의 샘플들을 프레임들로 분할하는 단계;
    상기 음성 또는 상기 프레임에 대한 잔여 신호를 고려함으로써 프레임 또는 서브프레임의 기간 및 경계들을 변경하는 단계; 및
    합성에 의한 분석 코딩 기술을 사용하여 상기 프레임에 대한 여기를 인코딩하는 단계를 포함하는 것을 특징으로 하는 음성 신호 코딩 방법.
  24. 제23항에 있어서, 각 프레임에서의 상기 음성 신호는 복수의 클래스들 중 한 클래스로 분류되고, 상기 프레임에 대한 여기는 상기 프레임의 클래스에 따라 선택된 복수의 합성에 의한 분석 기술들 중 하나를 사용하여 인코딩되는 것을 특징으로 하는 음성 신호 코딩 방법.
  25. 음성 신호의 샘플들을 프레임들로 분할하는 단계;
    각 프레임에 대한 잔여 신호를 유도하는 단계;
    각 프레임에서의 상기 음성 신호를 복수의 클래스들 중 한 클래스로 분류하는 단계로서, 상기 분류 단계는 폐루프 분류기가 다음에 오는 개방 루프 분류기를 사용하는 단계; 및
    상기 프레임의 클래스에 따라 선택된 복수의 합성에 의한 분석 여기 코딩 기술들 중 하나를 사용하여 상기 프레임에 대한 여기를 인코딩하는 단계를 포함하는 것을 특징으로 하는 음성 신호 코딩 방법.
  26. 제25항에 있어서, 상기 분류 단계는 프레임을 무성 프레임 또는 비 무성 프레임 중 하나로서 분류하는 제1 분류기와, 프레임을 유성 프레임 또는 천이 프레임 중 하나로서 분류하는 제2 분류기를 사용하는 것을 특징으로 하는 음성 신호 코딩 방법.
  27. 무선 통신기에 있어서,
    송신기와 수신기를 포함하는 무선 송수신기;
    입력 음성 변환기와 출력 음성 변환기; 및
    음성 처리기를 포함하며,
    상기 음성 처리기는,
    입력 음성 신호의 샘플들을 프레임들로 분할하기 위하여 상기 입력 음성 변환기의 출력에 연결된 입력을 구비하는 샘플링 및 프레임화 유니트;
    프레임에서 적어도 한 윈도우의 위치를 결정하기 위한 윈도우화 유니트; 및
    상기 프레임에 대한 여기에 있어서, 모든 또는 실질적으로 모든 비-제로 여기 진폭들이 상기 적어도 한 윈도우내에 존재하는, 인코딩된 음성 신호를 제공하기 위한 인코더를 포함하며,
    상기 무선 통신기는, 반송파를 상기 인코딩된 신호로 변조하기 위한 변조기로서, 상기 송신기의 입력에 연결된 출력을 구비한 변조기; 및
    음성 신호와 함께 인코딩되고 원격 송신기로부터 송신되었던 반송파를 복조하기 위하여 상기 수신기의 출력에 연결된 입력을 구비한 복조기를 더 포함하며,
    상기 음성 처리기는, 모든 또는 실질적으로 모든 비-제로 여기 진폭들이 적어도 한 윈도우내에 존재하는, 프레임으로부터의 여기를 디코딩하기 위하여 상기 복조기의 출력에 연결된 입력을 구비한 디코더를 더 포함하며, 상기 디코더는 상기 출력 음성 변환기의 입력에 연결된 출력을 포함하는 것을 특징으로 하는 무선 통신기.
  28. 제27항에 있어서, 상기 음성 처리기는 각 프레임에 대한 잔여 신호를 유도하기 위한 유니트를 더 포함하고, 상기 윈도우화 유니트는 상기 유도된 잔여 신호를검사함으로써 상기 적어도 한 윈도우의 위치를 결정하는 것을 특징으로 하는 무선 통신기.
  29. 제27항에 있어서, 상기 음성 처리기는, 각 프레임에 대한 잔여 신호를 유도하기 위한 유니트; 및 상기 잔여 신호의 에너지 콘투어를 평탄화하기 위한 유니트를 더 포함하며, 상기 윈도우화 유니트는 상기 잔여 신호의 평탄화된 에너지 콘투어를 검사함으로써 상기 적어도 한 윈도우의 위치를 결정하는 것을 특징으로 하는 무선 통신기.
  30. 제27항 내지 제29항 중의 어느 한 항에 있어서, 상기 윈도우화 유니트는 서브프레임 경계 또는 프레임 경계 중 적어도 하나와 일치하는 에지를 가지도록 상기 적어도 한 윈도우를 위치시키는 것에 대해 작용하는 것을 특징으로 하는 무선 통신기.
  31. 제27항 내지 제30항 중의 어느 한 항에 있어서, 상기 음성 처리기는, 상기 음성 또는 상기 프레임에 대한 잔여 신호를 고려함으로써 프레임 또는 서브프레임의 기간 및 경계들을 변경하기 위한 유니트를 더 포함하며, 상기 인코더는 합성에 의한 분석 코딩 기술을 사용하여 상기 프레임에 대한 여기를 인코딩하는 것을 특징으로하는 무선 통신기.
  32. 제27항 내지 제31항 중의 어느 한 항에 있어서, 상기 음성 처리기는, 각 프레임에서의 상기 음성 신호를 복수의 클래스들 중 한 클래스로 분류하는 분류기를 더 포함하고, 상기 인코더는 상기 프레임의 클래스에 따라 선택된 복수의 합성에 의한 분석 코딩 기술들 중 하나를 사용하여 상기 프레임에 대한 여기를 코딩하는 것을 특징으로 하는 무선 통신기.
  33. 제32항에 있어서, 상기 변조기는 상기 프레임의 클래스의 지시자와 함께 상기 반송파를 더 변조하고, 상기 복조기는 상기 수신된 프레임의 클래스의 지시자를 획득하기 위하여 상기 수신된 반송파를 더 복조하는 것을 특징으로 하는 무선 통신기.
  34. 제33항에 있어서, 상기 지시자는 2비트를 포함하는 것을 특징으로 하는 무선 통신기.
  35. 제32항 내지 제34항 중의 어느 한 항에 있어서, 상기 분류기는 다음에 폐루프 분류기가 오는 개방 루프 분류기를 포함하는 것을 특징으로 하는 무선 통신기.
  36. 제27항에 있어서, 상기 음성 처리기는, 프레임을 무성 프레임 또는 비 무성 프레임 중 하나로서 분류하는 제1 분류기와, 비 무성 프레임을 유성 프레임 또는 천이 프레임 중 하나로서 분류하는 제2 분류기를 더 포함하는 것을 특징으로 하는무선 통신기.
  37. 제27항에 있어서, 프레임은 적어도 2개의 서브프레임들을 포함하고, 상기 윈도우화 유니트는, 상기 윈도우가 상기 변경된 서브프레임 또는 프레임내에 전부 존재하기 위해 서브프레임 경계 또는 프레임 경계가 변경되도록 동작하고, 상기 경계가 윈도우 경계와 일치하는 상기 변경된 프레임 또는 서브프레임의 에지를 가지기 위해 놓이도록 동작하는 것을 특징으로 하는 무선 통신기.
  38. 제27항에 있어서, 상기 윈도우화 유니트는, 윈도우들이 에포크들에서 중심이 오도록 동작하고, 유성 프레임들의 에포크들은 소정 거리 플러스 또는 마이너스 지터 값에 의해 분리되며, 상기 변조기는 상기 지터값의 지시자와 함께 상기 반송파를 더 변조하고, 상기 복조기는 상기 수신된 프레임에 대한 상기 지터값을 획득하기 위하여 상기 수신된 반송파를 더 복조하는 것을 특징으로 하는 무선 통신기.
  39. 제38항에 있어서, 상기 소정 거리는 1 피치 기간이고, 상기 지터값은 약 -8 과 약 +7 사이의 정수인 것을 특징으로 하는 무선 통신기.
  40. 제27항 내지 제39항 중의 어느 한 항에 있어서, 상기 인코더와 상기 디코더는 약 4kb/sec 미만의 데이터율로 동작하는 것을 특징으로 하는 무선 통신기.
  41. 음성 디코더에 있어서,
    입력 비트 스트림으로부터 인코딩된 음성 신호 프레임에 대한 클래스 정보를 인코딩하는 비트들 중 소정 비트들을 추출하기 위하여 상기 음성 디코더의 입력 노드에 연결된 입력을 구비한 클래스 디코더로서, 그 중 하나가 유성 클래스인 복수의 소정 클래스들이 존재하고, 상기 입력 비트 스트림이 또한 LSP 디코더의 입력에 연결된 클래스 디코더; 및
    상기 입력 비트 스트림을 복수의 여기 발생기들 중 선택된 여기 발생기의 입력으로 향하게 하기 위하여 상기 클래스 디코더의 출력에 의해 제어되는 제1 다위치 스위치 요소로서, 상기 여기 발생기들 중 각 여기 발생기는 상기 복수의 소정 클래스들 중 하나에 대응하는 제1 다위치 스위치 요소를 포함하며,
    상기 유성 클래스에 대해, 상기 입력 비트 스트림은 상기 디코딩된 피치 정보에 근거하여 적어도 한 윈도우를 발생하는 윈도우 발생기 블록에 연결된 출력을 구비한 피치 디코더 블록에서 디코딩된 상기 인코딩된 음성 신호 프레임에 대한 피치 정보를 인코딩하고, 상기 적어도 한 윈도우는 적응적 코드북으로부터 적응적 코드북 벡터를 복구하는 데 사용되며, 상기 적응적 코드북 벡터는 유성 프레임에 대한 총 여기를 제공하기 위하여 이득 요소가 승산되고 적응적 코드북 여기에 더해지는 여기 벡터를 발생시키는 데 사용되는 것을 특징으로 하는 음성 디코더.
  42. 제41항에 있어서, 상기 여기 발생기들 중 선택된 여기 발생기의 출력을 합성 필터의 입력과 피드백 경로를 경유하여 또한 상기 적응적 코드북에 연결하기 위하여 상기 클래스 디코더의 출력에 의해 제어되는 제2 다위치 스위치 요소를 더 포함하는 것을 특징으로 하는 음성 디코더.
  43. 제42항에 있어서, 상기 복수의 소정 클래스들은 무성 클래스와 천이 클래스를 더 포함하고, 무성 클래스 여기 발생기 및 상기 제1, 제2 다위치 스위치 요소들 사이에 연결된 천이 클래스 여기 발생기가 더 제공되는 것을 특징으로 하는 음성 디코더.
  44. 제43항에 있어서, 상기 무성 클래스에 대해, 상기 여기는 무성 코드북으로부터 랜덤 벡터를 복구하여 상기 벡터를 승산함으로써 획득되는 것을 특징으로 하는 음성 디코더.
  45. 제43항 또는 제44항에 있어서, 상기 천이 클래스에 대해, 적어도 한 윈도우는 상기 입력 비트 스트림에 연결된 입력을 구비한 윈도우 검출기에서 디코딩되며, 코드북 벡터는 상기 윈도우 검출기로부터 출력된 적어도 한 윈도우 위치와 관련된 정보를 사용하여 천이 여기 고정 코드북으로부터 복구되고 복구된 코드북 벡터를 승산함으로써 복구되는 것을 특징으로 하는 음성 디코더.
  46. 제41항 내지 제45항 중의 어느 한 항에 있어서, 모든 또는 실질적으로 모든 비-제로 여기 진폭들은 적어도 한 윈도우내에 존재하는 것을 특징으로 하는 음성디코더.
  47. 제42항과 제42항에 종속되는 종속항 중의 어느 한 항에 있어서,
    상기 합성 필터의 출력은 상기 디코더의 출력 노드에 연결된 출력을 구비한 후처리 필터의 입력에 연결되고, 상기 합성 필터와 상기 후처리 필터의 파라미터들은 상기 LSP 디코더에 의해 상기 입력 비트 스트림으로부터 디코딩된 파라미터들에 근거하는 것을 특징으로 하는 음성 디코더.
  48. 일련의 프레임들로 분할된 음성 프레임을 디코딩하는 방법에 있어서,
    프레임에서 윈도우의 위치를 결정하는 단계로서, 모든 또는 비-제로 여기 진폭들이 상기 윈도우내에 존재하는 단계; 및
    상기 윈도우를 참조하여 상기 프레임으로부터 여기를 발생시키는 단계를 포함하는 것을 특징으로 하는 음성 프레임 디코딩 방법.
  49. 제48항에 있어서, 상기 음성 신호를 형성하는 상기 프레임들은 각각 클래스가 할당되었고, 상기 여기의 발생은 상기 클래스에 대응하는 디코딩 방법에 따라 수행되는 것을 특징으로 하는 음성 프레임 디코딩 방법.
  50. 제49항에 있어서, 각 프레임은 유성, 무성 또는 천이 프레임 형태로부터 선택된, 각 프레임에 할당된 클래스를 구비하는 것을 특징으로 하는 음성 프레임 디코딩 방법.
  51. 제49항 또는 제50항에 있어서, 상기 클래스는 프레임에서 상기 윈도우의 위치 결정에 도움을 주는데 사용되는 것을 특징으로 하는 음성 프레임 디코딩 방법.
  52. 사용중, 일련의 프레임들로 형성되는 음성 신호를 수신하는 입력 수단과, 프레임내의 적어도 한 윈도우의 위치를 결정하기 위한 윈도우화 유니트로서 모든 또는 실질적으로 모든 비-제로 여기 진폭들이 상기 윈도우내에 존재하는 윈도우화 유니트 및 여기가 상기 윈도우를 참조하여 상기 프레임으로부터 발생되는 여기 발생기를 포함하는 것을 특징으로 하는 음성 디코딩 장치.
  53. 제52항에 있어서, 복수의 여기 발생기들을 포함하며, 상기 각 여기 발생기는 클래스 디코더에 의해 상기 음성 신호로부터 추출된 정보에 따라 선택적으로 사용가능하고, 프레임과 관련된 클래스에 따라 각 프레임에 대해 여기가 발생되는 것을 특징으로 하는 음성 디코딩 장치.
KR1020017008436A 1998-12-30 1999-12-23 합성에 의한 분석 씨이엘피 타입 음성 코딩을 위한 적응윈도우 KR100653241B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/223,363 US6311154B1 (en) 1998-12-30 1998-12-30 Adaptive windows for analysis-by-synthesis CELP-type speech coding
US09/223,363 1998-12-30

Publications (2)

Publication Number Publication Date
KR20010093240A true KR20010093240A (ko) 2001-10-27
KR100653241B1 KR100653241B1 (ko) 2006-12-01

Family

ID=22836203

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017008436A KR100653241B1 (ko) 1998-12-30 1999-12-23 합성에 의한 분석 씨이엘피 타입 음성 코딩을 위한 적응윈도우

Country Status (7)

Country Link
US (1) US6311154B1 (ko)
EP (1) EP1141945B1 (ko)
JP (2) JP4585689B2 (ko)
KR (1) KR100653241B1 (ko)
CN (1) CN1338096A (ko)
AU (1) AU1885400A (ko)
WO (1) WO2000041168A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100659725B1 (ko) * 2005-12-09 2006-12-19 한국전자통신연구원 다중 안테나 시스템의 송신 장치 및 방법과, 수신 장치 및방법
KR100726960B1 (ko) * 2003-01-10 2007-06-14 노키아 코포레이션 음성 처리에서의 인위적인 대역폭 확장 방법 및 장치

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69708693C5 (de) * 1996-11-07 2021-10-28 Godo Kaisha Ip Bridge 1 Verfahren und Vorrichtung für CELP Sprachcodierung oder -decodierung
EP0945852A1 (en) * 1998-03-25 1999-09-29 BRITISH TELECOMMUNICATIONS public limited company Speech synthesis
GB9912577D0 (en) * 1999-05-28 1999-07-28 Mitel Corp Method of detecting silence in a packetized voice stream
US6954727B1 (en) * 1999-05-28 2005-10-11 Koninklijke Philips Electronics N.V. Reducing artifact generation in a vocoder
SE9903223L (sv) * 1999-09-09 2001-05-08 Ericsson Telefon Ab L M Förfarande och anordning i telekommunikationssystem
US7315815B1 (en) 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
US7222070B1 (en) * 1999-09-22 2007-05-22 Texas Instruments Incorporated Hybrid speech coding and system
US6510407B1 (en) * 1999-10-19 2003-01-21 Atmel Corporation Method and apparatus for variable rate coding of speech
JP4367808B2 (ja) * 1999-12-03 2009-11-18 富士通株式会社 音声データ圧縮・解凍装置及び方法
JP2001255882A (ja) * 2000-03-09 2001-09-21 Sony Corp 音声信号処理装置及びその信号処理方法
WO2001078066A1 (en) * 2000-04-06 2001-10-18 Telefonaktiebolaget Lm Ericsson (Publ) Speech rate conversion
US6581030B1 (en) * 2000-04-13 2003-06-17 Conexant Systems, Inc. Target signal reference shifting employed in code-excited linear prediction speech coding
US7136810B2 (en) * 2000-05-22 2006-11-14 Texas Instruments Incorporated Wideband speech coding system and method
ATE303646T1 (de) * 2000-06-20 2005-09-15 Koninkl Philips Electronics Nv Sinusoidale kodierung
JP4596197B2 (ja) * 2000-08-02 2010-12-08 ソニー株式会社 ディジタル信号処理方法、学習方法及びそれらの装置並びにプログラム格納媒体
JP4596196B2 (ja) * 2000-08-02 2010-12-08 ソニー株式会社 ディジタル信号処理方法、学習方法及びそれらの装置並びにプログラム格納媒体
US6728669B1 (en) * 2000-08-07 2004-04-27 Lucent Technologies Inc. Relative pulse position in celp vocoding
US7133823B2 (en) * 2000-09-15 2006-11-07 Mindspeed Technologies, Inc. System for an adaptive excitation pattern for speech coding
JP3462464B2 (ja) * 2000-10-20 2003-11-05 株式会社東芝 音声符号化方法、音声復号化方法及び電子装置
JP3426207B2 (ja) * 2000-10-26 2003-07-14 三菱電機株式会社 音声符号化方法および装置
US20040204935A1 (en) * 2001-02-21 2004-10-14 Krishnasamy Anandakumar Adaptive voice playout in VOP
JP3404024B2 (ja) * 2001-02-27 2003-05-06 三菱電機株式会社 音声符号化方法および音声符号化装置
US6996522B2 (en) * 2001-03-13 2006-02-07 Industrial Technology Research Institute Celp-Based speech coding for fine grain scalability by altering sub-frame pitch-pulse
US6658383B2 (en) 2001-06-26 2003-12-02 Microsoft Corporation Method for coding speech and music signals
US6879955B2 (en) 2001-06-29 2005-04-12 Microsoft Corporation Signal modification based on continuous time warping for low bit rate CELP coding
US20030101049A1 (en) * 2001-11-26 2003-05-29 Nokia Corporation Method for stealing speech data frames for signalling purposes
US6785645B2 (en) 2001-11-29 2004-08-31 Microsoft Corporation Real-time speech and music classifier
US6662154B2 (en) * 2001-12-12 2003-12-09 Motorola, Inc. Method and system for information signal coding using combinatorial and huffman codes
US7460993B2 (en) * 2001-12-14 2008-12-02 Microsoft Corporation Adaptive window-size selection in transform coding
TW564400B (en) * 2001-12-25 2003-12-01 Univ Nat Cheng Kung Speech coding/decoding method and speech coder/decoder
US6647366B2 (en) * 2001-12-28 2003-11-11 Microsoft Corporation Rate control strategies for speech and music coding
US8190530B2 (en) 2002-01-30 2012-05-29 Visa U.S.A. Inc. Method and system for providing multiple services via a point-of-sale portal architecture
JP4290917B2 (ja) * 2002-02-08 2009-07-08 株式会社エヌ・ティ・ティ・ドコモ 復号装置、符号化装置、復号方法、及び、符号化方法
US7233896B2 (en) * 2002-07-30 2007-06-19 Motorola Inc. Regular-pulse excitation speech coder
US7389226B2 (en) * 2002-10-29 2008-06-17 Ntt Docomo, Inc. Optimized windows and methods therefore for gradient-descent based window optimization for linear prediction analysis in the ITU-T G.723.1 speech coding standard
US7047188B2 (en) * 2002-11-08 2006-05-16 Motorola, Inc. Method and apparatus for improvement coding of the subframe gain in a speech coding system
US20040098255A1 (en) * 2002-11-14 2004-05-20 France Telecom Generalized analysis-by-synthesis speech coding method, and coder implementing such method
US7512534B2 (en) * 2002-12-17 2009-03-31 Ntt Docomo, Inc. Optimized windows and methods therefore for gradient-descent based window optimization for linear prediction analysis in the ITU-T G.723.1 speech coding standard
EP1439525A1 (de) * 2003-01-16 2004-07-21 Siemens Aktiengesellschaft Optimierung der Übergangsstörung
US20050091041A1 (en) * 2003-10-23 2005-04-28 Nokia Corporation Method and system for speech coding
FI118834B (fi) * 2004-02-23 2008-03-31 Nokia Corp Audiosignaalien luokittelu
FI118835B (fi) * 2004-02-23 2008-03-31 Nokia Corp Koodausmallin valinta
US7668712B2 (en) * 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
MY149811A (en) * 2004-08-30 2013-10-14 Qualcomm Inc Method and apparatus for an adaptive de-jitter buffer
US7752039B2 (en) * 2004-11-03 2010-07-06 Nokia Corporation Method and device for low bit rate speech coding
US8102872B2 (en) * 2005-02-01 2012-01-24 Qualcomm Incorporated Method for discontinuous transmission and accurate reproduction of background noise information
US7707034B2 (en) * 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
US7177804B2 (en) * 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
US7831421B2 (en) * 2005-05-31 2010-11-09 Microsoft Corporation Robust decoder
US7546240B2 (en) * 2005-07-15 2009-06-09 Microsoft Corporation Coding with improved time resolution for selected segments via adaptive block transformation of a group of samples from a subband decomposition
US8300837B2 (en) * 2006-10-18 2012-10-30 Dts, Inc. System and method for compensating memoryless non-linear distortion of an audio transducer
KR101016224B1 (ko) 2006-12-12 2011-02-25 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 인코더, 디코더 및 시간 영역 데이터 스트림을 나타내는 데이터 세그먼트를 인코딩하고 디코딩하는 방법
US8160872B2 (en) * 2007-04-05 2012-04-17 Texas Instruments Incorporated Method and apparatus for layered code-excited linear prediction speech utilizing linear prediction excitation corresponding to optimal gains
US7761290B2 (en) 2007-06-15 2010-07-20 Microsoft Corporation Flexible frequency and time partitioning in perceptual transform coding of audio
US20090094026A1 (en) * 2007-10-03 2009-04-09 Binshi Cao Method of determining an estimated frame energy of a communication
EP2107556A1 (en) 2008-04-04 2009-10-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio transform coding using pitch correction
US20090319261A1 (en) * 2008-06-20 2009-12-24 Qualcomm Incorporated Coding of transitional speech frames for low-bit-rate applications
US8768690B2 (en) * 2008-06-20 2014-07-01 Qualcomm Incorporated Coding scheme selection for low-bit-rate applications
US20090319263A1 (en) * 2008-06-20 2009-12-24 Qualcomm Incorporated Coding of transitional speech frames for low-bit-rate applications
CN102930871B (zh) * 2009-03-11 2014-07-16 华为技术有限公司 一种线性预测分析方法、装置及系统
WO2010102446A1 (zh) * 2009-03-11 2010-09-16 华为技术有限公司 一种线性预测分析方法、装置及系统
US8990094B2 (en) * 2010-09-13 2015-03-24 Qualcomm Incorporated Coding and decoding a transient frame
US8862465B2 (en) 2010-09-17 2014-10-14 Qualcomm Incorporated Determining pitch cycle energy and scaling an excitation signal
CN102446508B (zh) * 2010-10-11 2013-09-11 华为技术有限公司 语音音频统一编码窗型选择方法及装置
US20140114653A1 (en) * 2011-05-06 2014-04-24 Nokia Corporation Pitch estimator
TWI591620B (zh) 2012-03-21 2017-07-11 三星電子股份有限公司 產生高頻雜訊的方法
US9984706B2 (en) * 2013-08-01 2018-05-29 Verint Systems Ltd. Voice activity detection using a soft decision mechanism
EP3058569B1 (en) 2013-10-18 2020-12-09 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung E.V. Concept for encoding an audio signal and decoding an audio signal using deterministic and noise like information
CN111370009B (zh) 2013-10-18 2023-12-22 弗朗霍夫应用科学研究促进协会 使用语音相关的频谱整形信息编码音频信号和解码音频信号的概念
FR3013496A1 (fr) * 2013-11-15 2015-05-22 Orange Transition d'un codage/decodage par transformee vers un codage/decodage predictif
BR122020015614B1 (pt) 2014-04-17 2022-06-07 Voiceage Evs Llc Método e dispositivo para interpolar parâmetros de filtro de predição linear em um quadro de processamento de sinal sonoro atual seguindo um quadro de processamento de sinal sonoro anterior
CN104021792B (zh) * 2014-06-10 2016-10-26 中国电子科技集团公司第三十研究所 一种语音丢包隐藏方法及其系统
EP3341081B1 (en) 2015-08-27 2020-11-11 PrecisionBiotics Group Limited Use of bifidobacterium longum and an exopolysaccharide produced thereby
US10283143B2 (en) * 2016-04-08 2019-05-07 Friday Harbor Llc Estimating pitch of harmonic signals
CN111867087B (zh) * 2019-04-30 2022-10-25 华为技术有限公司 调整时域资源边界的方法和通信装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4184049A (en) 1978-08-25 1980-01-15 Bell Telephone Laboratories, Incorporated Transform speech signal coding with pitch controlled adaptive quantizing
US4701955A (en) 1982-10-21 1987-10-20 Nec Corporation Variable frame length vocoder
US4815135A (en) 1984-07-10 1989-03-21 Nec Corporation Speech signal processor
US4969192A (en) 1987-04-06 1990-11-06 Voicecraft, Inc. Vector adaptive predictive coder for speech and audio
EP0405591B1 (en) 1989-06-30 1997-10-01 Nec Corporation Varaible length block coding with changing characteristics of input samples
CA2010830C (en) 1990-02-23 1996-06-25 Jean-Pierre Adoul Dynamic codebook for efficient speech coding based on algebraic codes
CN1062963C (zh) 1990-04-12 2001-03-07 多尔拜实验特许公司 用于产生高质量声音信号的解码器和编码器
US5293449A (en) 1990-11-23 1994-03-08 Comsat Corporation Analysis-by-synthesis 2,4 kbps linear predictive speech codec
US5657418A (en) 1991-09-05 1997-08-12 Motorola, Inc. Provision of speech coder gain information using multiple coding modes
US5339384A (en) 1992-02-18 1994-08-16 At&T Bell Laboratories Code-excited linear predictive coding with low delay for speech or audio signals
FI95085C (fi) 1992-05-11 1995-12-11 Nokia Mobile Phones Ltd Menetelmä puhesignaalin digitaaliseksi koodaamiseksi sekä puhekooderi menetelmän suorittamiseksi
US5734789A (en) 1992-06-01 1998-03-31 Hughes Electronics Voiced, unvoiced or noise modes in a CELP vocoder
US5495555A (en) 1992-06-01 1996-02-27 Hughes Aircraft Company High quality low bit rate celp-based speech codec
FI95086C (fi) 1992-11-26 1995-12-11 Nokia Mobile Phones Ltd Menetelmä puhesignaalin tehokkaaksi koodaamiseksi
JP3137805B2 (ja) 1993-05-21 2001-02-26 三菱電機株式会社 音声符号化装置、音声復号化装置、音声後処理装置及びこれらの方法
US5574823A (en) 1993-06-23 1996-11-12 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Communications Frequency selective harmonic coding
BR9405445A (pt) 1993-06-30 1999-09-08 Sony Corp Aparelho codificador e decodificador de sinal apropriado para codificar um sinal de entrada e decodificar um sinal codificado, suporte de gravação onde sinais codificados são gravados, e processo de codificação e de decodificação de sinal para codificar um sinal de entrada e decodificar um sinal codificado.
US5659659A (en) 1993-07-26 1997-08-19 Alaris, Inc. Speech compressor using trellis encoding and linear prediction
FI94810C (fi) 1993-10-11 1995-10-25 Nokia Mobile Phones Ltd Menetelmä huonon GSM-puhekehyksen tunnistamiseksi
JP3557662B2 (ja) 1994-08-30 2004-08-25 ソニー株式会社 音声符号化方法及び音声復号化方法、並びに音声符号化装置及び音声復号化装置
JP3328080B2 (ja) * 1994-11-22 2002-09-24 沖電気工業株式会社 コード励振線形予測復号器
US5751903A (en) 1994-12-19 1998-05-12 Hughes Electronics Low rate multi-mode CELP codec that encodes line SPECTRAL frequencies utilizing an offset
DE69615870T2 (de) 1995-01-17 2002-04-04 Nec Corp Sprachkodierer mit aus aktuellen und vorhergehenden Rahmen extrahierten Merkmalen
US5701390A (en) 1995-02-22 1997-12-23 Digital Voice Systems, Inc. Synthesis of MBE-based coded speech using regenerated phase information
US5754974A (en) 1995-02-22 1998-05-19 Digital Voice Systems, Inc Spectral magnitude representation for multi-band excitation speech coders
US5790957A (en) * 1995-09-12 1998-08-04 Nokia Mobile Phones Ltd. Speech recall in cellular telephone
US5774837A (en) 1995-09-13 1998-06-30 Voxware, Inc. Speech coding system and method using voicing probability determination
US5796757A (en) 1995-09-15 1998-08-18 Nokia Mobile Phones Ltd. Methods and apparatus for performing rate determination with a variable rate viterbi decoder
US5704003A (en) 1995-09-19 1997-12-30 Lucent Technologies Inc. RCELP coder
US5854978A (en) 1996-04-16 1998-12-29 Nokia Mobile Phones, Ltd. Remotely programmable mobile terminal
FI964975A (fi) 1996-12-12 1998-06-13 Nokia Mobile Phones Ltd Menetelmä ja laite puheen koodaamiseksi

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100726960B1 (ko) * 2003-01-10 2007-06-14 노키아 코포레이션 음성 처리에서의 인위적인 대역폭 확장 방법 및 장치
KR100659725B1 (ko) * 2005-12-09 2006-12-19 한국전자통신연구원 다중 안테나 시스템의 송신 장치 및 방법과, 수신 장치 및방법
US8121212B2 (en) 2005-12-09 2012-02-21 Electronics And Telecommunications Research Institute Transmitting apparatus and method, and receiving apparatus and method in multple antenna system

Also Published As

Publication number Publication date
KR100653241B1 (ko) 2006-12-01
JP4585689B2 (ja) 2010-11-24
CN1338096A (zh) 2002-02-27
EP1141945A1 (en) 2001-10-10
US6311154B1 (en) 2001-10-30
JP2002534720A (ja) 2002-10-15
WO2000041168A1 (en) 2000-07-13
EP1141945B1 (en) 2005-02-16
AU1885400A (en) 2000-07-24
JP2010286853A (ja) 2010-12-24

Similar Documents

Publication Publication Date Title
KR100653241B1 (ko) 합성에 의한 분석 씨이엘피 타입 음성 코딩을 위한 적응윈도우
RU2331933C2 (ru) Способы и устройства управляемого источником широкополосного кодирования речи с переменной скоростью в битах
US6484137B1 (en) Audio reproducing apparatus
KR100679382B1 (ko) 가변 속도 음성 코딩
EP1145228B1 (en) Periodic speech coding
EP1164580B1 (en) Multi-mode voice encoding device and decoding device
JP5543405B2 (ja) フレームエラーに対する感度を低減する符号化体系パターンを使用する予測音声コーダ
RU2146394C1 (ru) Способ и устройство вокодирования переменной скорости при пониженной скорости кодирования
ES2238860T3 (es) Codificacion a baja velocidad de bit de segmentos de voz sordos.
MXPA04005764A (es) Metodo de modificacion de senal para cifrado eficiente de senales de habla.
EP0275416A1 (en) Method for enhancing the quality of coded speech
US6678651B2 (en) Short-term enhancement in CELP speech coding
Yang Low bit rate speech coding
WO2003001172A1 (en) Method and device for coding speech in analysis-by-synthesis speech coders
JPH03119398A (ja) 音声分析合成方法
Hassanein et al. A hybrid multiband excitation coder for low bit rates
Yaghmaie Prototype waveform interpolation based low bit rate speech coding
Tavathia et al. Low bit rate CELP using ternary excitation codebook
Suda et al. An Error Protected Transform Coder for Cellular Mobile Radio
JP2003015699A (ja) 固定音源符号帳並びにそれを用いた音声符号化装置及び音声復号化装置
Bhatt et al. Proposed Modifications in ETSI GSM Full Rate Speech Codec in line with bitrates of GSM EFR Speech Codec and its Objective Evaluation of Performance using MATLAB
Dahan et al. Performance of the CELP speech codec in channel with common fading
JPH0683149B2 (ja) 音声帯域信号符号化・復号化装置

Legal Events

Date Code Title Description
G170 Re-publication after modification of scope of protection [patent]
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee