KR101092267B1 - 프레임 삭제 복구를 위한 시스템, 방법, 및 장치 - Google Patents

프레임 삭제 복구를 위한 시스템, 방법, 및 장치 Download PDF

Info

Publication number
KR101092267B1
KR101092267B1 KR1020097009177A KR20097009177A KR101092267B1 KR 101092267 B1 KR101092267 B1 KR 101092267B1 KR 1020097009177 A KR1020097009177 A KR 1020097009177A KR 20097009177 A KR20097009177 A KR 20097009177A KR 101092267 B1 KR101092267 B1 KR 101092267B1
Authority
KR
South Korea
Prior art keywords
frame
excitation signal
encoded
signal
gain factor
Prior art date
Application number
KR1020097009177A
Other languages
English (en)
Other versions
KR20090082383A (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 KR20090082383A publication Critical patent/KR20090082383A/ko
Application granted granted Critical
Publication of KR101092267B1 publication Critical patent/KR101092267B1/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/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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/09Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor
    • 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
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Television Systems (AREA)
  • Control Of Amplification And Gain Control (AREA)
  • Electrolytic Production Of Metals (AREA)
  • Manufacture, Treatment Of Glass Fibers (AREA)
  • Detergent Compositions (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

일 구성에서, 지속되는 유성 세그먼트의 중요한 프레임의 삭제가 검출된다. 삭제된 프레임에 대한 적응 코드북 이득은 선행하는 프레임에 기초하여 계산된다. 계산된 값이 임계값보다 더 작은 (다르게는, 더 크지 않은) 경우에, 삭제된 프레임에 대해 더 높은 적응 코드북 이득 값이 사용된다. 더 높은 값은 하나 이상의 소정의 값들 중에서 선택되거나 또는 계산된 값으로부터 도출될 수도 있다.
Figure R1020097009177
고정 코드북, 적응 코드북, 프레임

Description

프레임 삭제 복구를 위한 시스템, 방법, 및 장치 {SYSTEMS, METHODS, AND APPARATUS FOR FRAME ERASURE RECOVERY}
관련 출원
본원은 발명의 명칭이 "SYSTEMS, METHODS, AND APPARATUS FOR FRAME ERASURE RECOVERY" 인 2006년 10월 6일 출원된 미국 가출원 제60/828,414호, 대리인 관리 번호 제061680P1호의 이익을 주장한다.
분야
본원은 스피치 신호들의 프로세싱에 관한 것이다.
배경
디지털 기술들에 의한 음성 및 음악과 같은 오디오의 송신은 특히 장거리 전화, 보이스 오버 IP (또한 VoIP라 호칭되며, IP는 인터넷 프로토콜을 표시한다) 와 같은 패킷-교환 전화, 및 셀룰러 전화와 같은 디지털 무선 전화에서 널리 보급되어 왔다. 그러한 확산은, 복원된 스피치의 지각 품질을 유지하면서, 송신 채널을 통해 음성 통신을 전달하기 위해 사용되는 정보의 양을 감소시키는 것에 대해 관심을 갖게 하였다. 예컨대, 이용가능한 무선 시스템 대역폭의 최상의 사용을 행하는 것이 바람직하다. 시스템 대역폭을 효율적으로 사용하기 위한 하나의 방법은 신호 압축 기술을 채용하는 것이다. 그러한 목적을 위해, 스피치 신호들 을 전달하는 무선 시스템들에 대하여, 통상적으로 스피치 압축 (또는 "스피치 코딩") 기술이 채용된다.
인간 스피치 생성의 모델에 관한 파라미터들을 추출함으로써 스피치를 압축하도록 구성된 디바이스들은 종종 보코더, "오디오 코더", 또는 "스피치 코더"라 호칭된다. 일반적으로, 오디오 코더는 인코더 및 디코더를 포함한다. 통상적으로, 인코더는 인입 (incoming) 스피치 신호 (오디오 정보를 표현하는 디지털 신호) 를 "프레임"이라 호칭되는 시간의 세그먼트들로 분할하고, 각각의 프레임을 분석하여 특정한 관련 파라미터들을 추출하며, 그 파라미터들을 인코딩된 프레임으로 양자화한다. 인코딩된 프레임들은 송신 채널 (즉, 유선 또는 무선 네트워크 접속) 을 통해 디코더를 포함하는 수신기에 송신된다. 디코더는 인코딩된 프레임들을 수신 및 프로세싱하고, 그 인코딩된 프레임들을 역양자화하여 파라미터들을 산출하며, 역양자화된 파라미터들을 사용하여 스피치 프레임들을 재생한다.
통상의 대화에서, 각각의 스피커는 시간의 약 60 퍼센트 동안 침묵한다. 통상적으로, 스피치 인코더들은, 묵음 또는 배경 잡음만을 포함하는 스피치 신호의 프레임들 ("비활성 프레임") 로부터 스피치를 포함하는 스피치 신호의 프레임들 ("활성 프레임") 을 구별하도록 구성된다. 그러한 인코더는 상이한 코딩 모드들 및/또는 레이트들을 사용하여 활성 및 비활성 프레임들을 인코딩하도록 구성될 수도 있다. 예컨대, 통상적으로, 스피치 인코더들은 활성 프레임을 인코딩할 때보다 더 적은 비트를 사용하여 비활성 프레임을 인코딩하도록 구성된다. 스피치 코더는 비활성 프레임들에 대해 더 낮은 비트 레이트를 사용하여, 지각 품질 손 실이 작거나 없게 하면서 더 낮은 평균 비트 레이트에서 스피치 신호의 전달을 지원할 수도 있다.
활성 프레임들을 인코딩하기 위해 사용되는 비트 레이트들의 예들은 프레임 당 171 비트, 프레임 당 80 비트, 및 프레임 당 40 비트를 포함한다. 비활성 프레임들을 인코딩하기 위해 사용되는 비트 레이트들의 예들은 프레임 당 16 비트를 포함한다. 셀룰러 전화 시스템들 (특히, Telecommunications Industry Association, Arlington, VA, 또는 유사한 산업 표준에 의해 보급된 IS (Interim Standard)-95에 따르는 시스템들) 의 환경에서, 이들 4개의 비트 레이트들은 또한 각각 "풀 레이트 (full-rate)", "1/2 레이트 (half-rate)", "1/4 레이트 (quarter-rate)", 및 "1/8 레이트 (eighth-rate)"라 지칭된다.
셀룰러 전화 및 위성 통신 시스템들과 같은, 스피치 코더들을 채용하는 다수의 통신 시스템들은 정보를 통신하기 위해 무선 채널들에 의존한다. 그러한 정보를 통신하는 중에, 무선 송신 채널은 다중경로 페이딩과 같은 에러의 수개의 원인들을 겪을 수 있다. 송신에서의 에러들은, 프레임의 복구 불능의 손상을 초래할 수도 있으며, 이는 또한 "프레임 삭제 (frame erasure)"라 호칭된다. 전형적인 셀룰러 전화 시스템에서, 프레임 삭제는 1 내지 3 퍼센트의 비율로 발생하고 5 퍼센트에 달하거나 또는 초과할 수도 있다.
오디오 코딩 배열들 (예컨대, 보이스 오버 인터넷 프로토콜 또는 "VoIP") 을 채용하는 패킷-교환 네트워크들에서의 패킷 손실의 문제점은 무선 환경에서의 프레임 삭제와 매우 유사하다. 즉, 패킷 손실로 인해, 오디오 디코더는 프레임을 수신하는데 실패할 수도 있거나 또는 상당한 수의 비트 에러를 갖는 프레임을 수신할 수도 있다. 어느 경우에도, 압축된 스피치 정보의 손실에도 불구하고 디코딩된 오디오 프레임을 산출할 필요성에 대한 동일한 문제점이 오디오 디코더에 제시된다. 이 설명의 목적을 위해, 용어 "프레임 삭제"는 "패킷 손실"을 포함하는 것으로 간주될 수도 있다.
프레임 삭제는, 예컨대 하나 이상의 체크섬 (checksum) 및/또는 패리티 비트를 사용하는 CRC (cyclic redundancy check) 함수 또는 다른 에러 검출 함수와 같은 검사 함수의 실패에 따라 디코더에서 검출될 수도 있다. 그러한 함수는 통상적으로 (예컨대, 멀티플렉스 서브레이어 내의) 채널 디코더에 의해 수행되고, 채널 디코더는 또한 컨볼루션 디코딩 및/또는 디인터리빙 (de-interleaving) 과 같은 태스크들을 수행할 수도 있다. 전형적인 디코더에서, 프레임 에러 검출기는 프레임에서 정정가능하지 않은 (uncorrectable) 에러의 표시를 수신할 시에 프레임 삭제 플래그를 설정한다. 디코더는 프레임 삭제 플래그가 설정된 프레임을 프로세싱하기 위해 프레임 삭제 복구 모듈을 선택하도록 구성될 수도 있다.
요약
일 구성에 따른 스피치 디코딩의 방법은, 인코딩된 스피치 신호에서, 지속되는 유성 (voiced) 세그먼트의 제 2 프레임의 삭제를 검출하는 단계를 포함한다. 방법은 또한, 지속되는 유성 세그먼트의 제 1 프레임에 기초하여, 제 2 프레임에 대한 대체 프레임을 계산하는 단계를 포함한다. 이 방법에서, 대체 프레임을 계산하는 단계는 제 1 프레임의 대응하는 이득 값보다 더 높은 이득 값을 획득하는 단계를 포함한다.
다른 구성에 따른 디코딩된 스피치 신호의 프레임들을 획득하는 방법은, 인코딩된 스피치 신호의 제 1 인코딩된 프레임으로부터의 정보 및 제 1 여기 신호에 기초하여, 디코딩된 스피치 신호의 제 1 프레임을 계산하는 단계를 포함한다. 이 방법은 또한, 상기 제 1 인코딩된 프레임에 바로 뒤따르는 상기 인코딩된 스피치 신호의 프레임의 삭제의 표시에 응답하고, 제 2 여기 신호에 기초하여, 상기 제 1 프레임에 바로 뒤따르는 상기 디코딩된 스피치 신호의 제 2 프레임을 계산하는 단계를 포함한다. 이 방법은 또한, 제 3 여기 신호에 기초하여, 디코딩된 스피치 신호의 상기 제 1 프레임에 선행하는 제 3 프레임을 계산하는 단계를 포함한다. 이 방법에서, 제 1 여기 신호는 (A) 제 3 여기 신호로부터의 정보에 기초한 값들의 제 1 시퀀스와 (B) 제 1 이득 인자의 곱에 기초한다. 이 방법에서, 제 2 프레임을 계산하는 단계는, 제 2 여기 신호가 (A) 상기 제 1 여기 신호로부터의 정보에 기초한 값들의 제 2 시퀀스와 (B) 제 1 이득 인자보다 더 큰 제 2 이득 인자의 곱에 기초하도록, 제 1 이득 인자에 기초한 값과 임계값 간의 관계에 따라 제 2 여기 신호를 생성하는 단계를 포함한다.
다른 구성에 따른 디코딩된 스피치 신호의 프레임들을 획득하는 방법은, 값들의 제 1 시퀀스와 제 1 이득 인자의 곱에 기초한 제 1 여기 신호를 생성하는 단계를 포함한다. 이 방법은 또한, 인코딩된 스피치 신호의 제 1 인코딩된 프레임으로부터의 정보 및 제 1 여기 신호에 기초하여, 디코딩된 스피치 신호의 제 1 프레임을 계산하는 단계를 포함한다. 이 방법은 또한, 상기 제 1 인코딩된 프 레임에 바로 뒤따르는 상기 인코딩된 스피치 신호의 프레임의 삭제의 표시에 응답하고 제 1 이득 인자에 기초한 값과 임계값 간의 관계에 따라, (A) 제 1 이득 인자보다 더 큰 제 2 이득 인자와 (B) 값들의 제 2 시퀀스의 곱에 기초하여 제 2 여기 신호를 생성하는 단계를 포함한다. 이 방법은 또한, 제 2 여기 신호에 기초하여, 디코딩된 스피치 신호의 상기 제 1 프레임에 바로 뒤따르는 제 2 프레임을 계산하는 단계를 포함한다. 이 방법은 또한, 제 3 여기 신호에 기초하여, 디코딩된 스피치 신호의 상기 제 1 프레임에 선행하는 제 3 프레임을 계산하는 단계를 포함한다. 이 방법에서, 제 1 시퀀스는 제 3 여기 신호로부터의 정보에 기초하고, 제 2 시퀀스는 제 1 여기 신호로부터의 정보에 기초한다.
다른 구성에 따른 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치는, 제 1, 제 2, 및 제 3 여기 신호들을 생성하도록 구성된 여기 신호 생성기를 포함한다. 이 장치는 또한, (A) 인코딩된 스피치 신호의 제 1 인코딩된 프레임으로부터의 정보 및 제 1 여기 신호에 기초하여, 디코딩된 스피치 신호의 제 1 프레임을 계산하고, (B) 제 2 여기 신호에 기초하여, 디코딩된 스피치 신호의 상기 제 1 프레임에 바로 뒤따르는 제 2 프레임을 계산하며, (C) 제 3 여기 신호에 기초하여, 디코딩된 스피치 신호의 상기 제 1 프레임에 선행하는 제 3 프레임을 계산하도록 구성된 스펙트럼 쉐이퍼 (spectrum shaper) 를 포함한다. 이 장치는 또한, (A) 제 1 이득 인자에 기초한 값과 임계값 간의 관계를 평가하도록 구성되고, (B) 상기 제 1 인코딩된 프레임에 바로 뒤따르는 인코딩된 스피치 신호의 프레임의 삭제의 표시를 수신하도록 배열된 로직 모듈을 포함한다. 이 장치에서, 여기 신 호 생성기는 (A) 제 1 이득 인자와 (B) 제 3 여기 신호로부터의 정보에 기초한 값들의 제 1 시퀀스의 곱에 기초하여 제 1 여기 신호를 생성하도록 구성된다. 이 장치에서, 로직 모듈은, 삭제의 표시에 응답하여, 평가된 관계에 따라, 여기 신호 생성기로 하여금 (A) 제 1 이득 인자보다 더 큰 제 2 이득 인자와 (B) 제 1 여기 신호로부터의 정보에 기초한 값들의 제 2 시퀀스의 곱에 기초하여 제 2 여기 신호를 생성하게 하도록 구성된다.
다른 구성에 따른 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치는, 값들의 제 1 시퀀스와 제 1 이득 인자의 곱에 기초한 제 1 여기 신호를 생성하는 수단을 포함한다. 이 장치는 또한, 인코딩된 스피치 신호의 제 1 인코딩된 프레임으로부터의 정보 및 제 1 여기 신호에 기초하여, 디코딩된 스피치 신호의 제 1 프레임을 계산하는 수단을 포함한다. 이 장치는 또한, 상기 제 1 인코딩된 프레임에 바로 뒤따르는 상기 인코딩된 스피치 신호의 프레임의 삭제의 표시에 응답하고 제 1 이득 인자에 기초한 값과 임계값 간의 관계에 따라, (A) 제 1 이득 인자보다 더 큰 제 2 이득 인자와 (B) 값들의 제 2 시퀀스의 곱에 기초하여 제 2 여기 신호를 생성하는 수단을 포함한다. 이 방법은 또한, 제 2 여기 신호에 기초하여, 디코딩된 스피치 신호의 상기 제 1 프레임에 바로 뒤따르는 제 2 프레임을 계산하는 수단을 포함한다. 이 방법은 또한, 제 3 여기 신호에 기초하여, 디코딩된 스피치 신호의 상기 제 1 프레임에 선행하는 제 3 프레임을 계산하는 수단을 포함한다. 이 장치에서, 제 1 시퀀스는 제 3 여기 신호로부터의 정보에 기초하고, 제 2 시퀀스는 제 1 여기 신호로부터의 정보에 기초한다.
다른 구성에 따른 컴퓨터 프로그램 제품은, 적어도 하나의 컴퓨터로 하여금 값들의 제 1 시퀀스와 제 1 이득 인자의 곱에 기초한 제 1 여기 신호를 생성하게 하기 위한 코드를 포함하는 컴퓨터-판독가능 매체를 포함한다. 이 매체는 또한, 적어도 하나의 컴퓨터로 하여금, 인코딩된 스피치 신호의 제 1 인코딩된 프레임으로부터의 정보 및 제 1 여기 신호에 기초하여, 디코딩된 스피치 신호의 제 1 프레임을 계산하게 하기 위한 코드를 포함한다. 이 매체는 또한, 적어도 하나의 컴퓨터로 하여금, 상기 제 1 인코딩된 프레임에 바로 뒤따르는 상기 인코딩된 스피치 신호의 프레임의 삭제의 표시에 응답하고 제 1 이득 인자에 기초한 값과 임계값 간의 관계에 따라, (A) 제 1 이득 인자보다 더 큰 제 2 이득 인자와 (B) 값들의 제 2 시퀀스의 곱에 기초하여 제 2 여기 신호를 생성하게 하기 위한 코드를 포함한다. 이 매체는 또한, 적어도 하나의 컴퓨터로 하여금, 제 2 여기 신호에 기초하여, 디코딩된 스피치 신호의 상기 제 1 프레임에 바로 뒤따르는 제 2 프레임을 계산하게 하기 위한 코드를 포함한다. 이 매체는 또한, 적어도 하나의 컴퓨터로 하여금, 제 3 여기 신호에 기초하여, 디코딩된 스피치 신호의 상기 제 1 프레임에 선행하는 제 3 프레임을 계산하게 하기 위한 코드를 포함한다. 이 제품에서, 제 1 시퀀스는 제 3 여기 신호로부터의 정보에 기초하고, 제 2 시퀀스는 제 1 여기 신호로부터의 정보에 기초한다.
도면의 간단한 설명
도 1은 여기된 합성 필터에 기초한 일반적인 스피치 디코더의 블록도이다.
도 2는 시간에 걸친 스피치의 유성 세그먼트의 진폭을 표현하는 도면이다.
도 3은 고정 및 적응 코드북들을 갖는 CELP 디코더의 블록도이다.
도 4는 CELP 포맷으로 인코딩된 프레임들의 시리즈를 디코딩하는 프로세스에서의 데이터 종속성들을 예시한다.
도 5는 멀티-모드 가변-레이트 스피치 디코더의 일 예의 블록도를 도시한다.
도 6은 CELP 프레임이 뒤따르는 NELP 프레임 (예컨대, 묵음 또는 무성 스피치 프레임) 의 시퀀스를 디코딩하는 프로세스에서의 데이터 종속성들을 예시한다.
도 7은 CELP 포맷으로 인코딩된 프레임에 뒤따르는 프레임 삭제를 처리하는 프로세스에서의 데이터 종속성들을 예시한다.
도 8은 EVRC Service Option 3에 따르는 프레임 삭제의 방법에 대한 흐름도를 도시한다.
도 9는 지속되는 유성 세그먼트의 시작을 포함하는 프레임들의 시간 시퀀스를 도시한다.
도 10a, 도 10b, 도 10c, 및 도 10d는 본원의 구성들에 따른 방법들 (M110, M120, M130, 및 M140) 에 대한 흐름도들을 각각 도시한다.
도 11은 방법 (M120) 의 일 구현 (M180) 에 대한 흐름도를 도시한다.
도 12는 일 구성에 따른 스피치 디코더의 일 예의 블록도를 도시한다.
도 13a는 일반적인 구성에 따른 디코딩된 스피치 신호의 프레임들을 획득하는 방법 (M200) 의 흐름도를 도시한다.
도 13b는 일반적인 구성에 따른 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치 (F200) 의 블록도를 도시한다.
도 14는 방법 (M200) 의 일 구현의 애플리케이션에서의 데이터 종속성들을 예시한다.
도 15a는 방법 (M200) 의 일 구현 방법 (M201) 의 흐름도를 도시한다.
도 15b는 도 15a의 방법 (M201) 에 대응하는 장치 (F201) 의 블록도를 도시한다.
도 16은 방법 (M201) 의 전형적인 애플리케이션에서의 몇몇 데이터 종속성들을 예시한다.
도 17은 방법 (M201) 의 일 구현의 애플리케이션에서의 데이터 종속성들을 예시한다.
도 18은 방법 (M200) 의 일 구현 방법 (M203) 의 흐름도를 도시한다.
도 19는 도 18의 방법 (M203) 의 전형적인 애플리케이션에서의 몇몇 데이터 종속성들을 예시한다.
도 20은 도 18의 방법 (M203) 의 애플리케이션에 대한 일부 데이터 종속성들을 예시한다.
도 21a는 일반적인 구성에 따른 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치 (A100) 의 블록도를 도시한다.
도 21b는 장치 (A100) 의 전형적인 애플리케이션을 예시한다.
도 22는 로직 모듈 (110) 의 일 구현 (112) 의 동작을 기술하는 논리 개략도를 도시한다.
도 23은 로직 모듈 (110) 의 일 구현 (114) 의 동작의 흐름도를 도시한다.
도 24는 로직 모듈 (110) 의 또 다른 구현 (116) 의 동작의 디스크립션을 도시한다.
도 25는 로직 모듈 (116) 의 일 구현 (118) 의 동작의 디스크립션을 도시한다.
도 26a는 장치 (A100) 의 일 구현 (A100A) 의 블록도를 도시한다.
도 26b는 장치 (A100) 의 일 구현 (A100B) 의 블록도를 도시한다.
도 26c는 장치 (A100) 의 일 구현 (A100C) 의 블록도를 도시한다.
도 27a는 여기 신호 생성기 (120) 의 일 구현 (122) 의 블록도를 도시한다.
도 27b는 여기 신호 생성기 (122) 의 일 구현 (124) 의 블록도를 도시한다.
도 28은 스피치 파라미터 계산기 (230) 의 일 구현 (232) 의 블록도를 도시한다.
도 29a는 삭제 검출기 (210), 포맷 검출기 (220), 스피치 파라미터 계산기 (230), 및 장치 (A100) 의 구현들을 포함하는 시스템의 일 예의 블록도를 도시한다.
도 29b는 포맷 검출기 (220) 의 일 구현 (222) 을 포함하는 시스템의 블록도를 도시한다.
상세한 설명
여기서 설명되는 구성들은, 지속되는 유성 세그먼트의 중요한 프레임 (significant frame) 이 삭제된 경우에 개선된 성능을 제공하기 위해 사용될 수도 있는 프레임 삭제 복구를 위한 시스템들, 방법들, 및 장치를 포함한다. 다르게 는, 지속되는 유성 세그먼트의 중요한 프레임이 중대한 프레임 (crucial frame) 으로서 표시될 수도 있다. 그러한 구성들이 패킷-교환 네트워크들 (예컨대, VoIP와 같은 프로토콜들에 따라 음성 송신들을 전달하도록 배열된 유선 및/또는 무선 네트워크들) 및/또는 회선-교환 네트워크들에서의 사용을 위해 적응될 수도 있다는 것이 명백히 의도되며 여기서 개시된다. 또한, 그러한 구성들이 전체-대역 코딩 시스템들 및 대역-분할 코딩 시스템들을 포함하여 협대역 코딩 시스템들 (예컨대, 약 4 또는 5 킬로헤르츠의 오디오 주파수 범위를 인코딩하는 시스템들) 뿐만 아니라 광대역 코딩 시스템들 (예컨대, 5 킬로헤르츠보다 더 높은 오디오 주파수들을 인코딩하는 시스템들) 에서의 사용을 위해 적응될 수도 있다는 것이 명백히 의도되며 여기서 개시된다.
문맥에 의해 명백히 한정되지 않는 한, 여기서 용어 "생성하는 (generating)"은 컴퓨팅하는 것 또는 그렇지 않으면 산출하는 것과 같은 그 평상의 의미들 중 임의의 의미를 표시하기 위해 사용된다. 문맥에 의해 명백히 한정되지 않는 한, 여기서 용어 "계산하는 (calculating)"은 컴퓨팅하는 것, 평가하는 것, 및/또는 값들의 세트로부터 선택하는 것과 같은 그 평상의 의미들 중 임의의 의미를 표시하기 위해 사용된다. 문맥에 의해 명백히 한정되지 않는 한, 용어 "획득하는 (obtaining)"은 계산하는 것, 도출하는 것, (예컨대, 외부 디바이스로부터) 수신하는 것, 및/또는 (예컨대, 저장 엘리먼트들의 어레이로부터) 검색하는 것과 같은 그 평상의 의미들 중 임의의 의미를 표시하기 위해 사용된다. 본 상세한 설명 및 청구의 범위에서 용어 "구비하는 (comprising)"이 사용되는 경우에, 다 른 엘리먼트들 또는 동작들을 배제하는 것이 아니다. ("A는 B에 기초한다"에서와 같은) 용어 "기초하는 (based on)"은, (i) "적어도 기초하는" (예컨대, "A는 적어도 B에 기초한다") 의 경우, 및 특정한 문맥에서 적절한 경우에 (ii) "동등하다" (예컨대, "A는 B와 동등하다") 의 경우를 포함하여 그 평상의 의미들 중 임의의 의미를 표시하기 위해 사용된다.
달리 표시되지 않는 한, 특정한 특징을 갖는 스피치 디코더의 임의의 개시는 또한 유사한 특징을 갖는 스피치 디코딩의 방법을 개시하도록 명백히 의도되며 (그 역도 마찬가지이다), 특정한 구성에 따른 스피치 디코더의 임의의 개시는 또한 유사한 구성에 따른 스피치 디코딩의 방법을 개시하도록 명백히 의도된다 (그 역도 마찬가지이다).
스피치 코딩 목적들을 위하여, 통상적으로, 스피치 신호는 디지털화되어 (또는 양자화되어) 샘플들의 스트림을 획득한다. 디지털화 프로세스는, 예컨대 펄스 코드 변조 (PCM), 압신 mu-law PCM (companded mu-law PCM), 및 압신 A-law PCM (companded A-law PCM) 을 포함하는, 당업계에 알려진 임의의 다양한 방법들에 따라 수행될 수도 있다. 협대역 스피치 인코더들은 통상적으로 8 kHz의 샘플링 레이트를 사용하고, 광대역 스피치 인코더들은 통상적으로 더 높은 샘플링 레이트 (예컨대, 12 kHz 또는 16 kHz) 를 사용한다.
디지털화된 스피치 신호는 프레임들의 시리즈로서 프로세싱된다. 프레임 또는 프레임의 세그먼트 (또한 서브프레임이라 호칭) 를 프로세싱하는 동작이 그 입력에서 하나 이상의 이웃 프레임들의 세그먼트들을 또한 포함할 수도 있지만, 통 상적으로 그러한 시리즈는 중첩하지 않는 시리즈로서 구현된다. 통상적으로, 스피치 신호의 프레임들은, 신호의 스펙트럼 포락선이 프레임에 걸쳐 비교적 고정되게 유지된다고 예상될 수도 있을 만큼 충분히 짧다. 통상적으로, 프레임은 스피치 신호의 5 밀리초 내지 35 밀리초 (또는 약 40 내지 200 샘플들) 에 대응하며, 통상적인 프레임 사이즈들은 10, 20, 및 30 밀리초이다. 인코딩된 프레임의 실제 사이즈는 코딩 비트 레이트에 의해 프레임마다 변화할 수도 있다.
20 밀리초의 프레임 길이는 7 킬로헤르츠 (kHz) 의 샘플링 레이트에서 140 샘플들, 8 kHz의 샘플링 레이트에서 160 샘플들, 및 16 kHz의 샘플링 레이트에서 320 샘플들에 대응하지만, 특정한 애플리케이션에 적합하다고 간주되는 임의의 샘플링 레이트가 사용될 수도 있다. 스피치 코딩을 위해 사용될 수도 있는 샘플링 레이트의 또 다른 예는 12.8 kHz이고, 또 다른 예들은 12.8 kHz 내지 38.4 kHz 범위 내의 다른 레이트들을 포함한다.
통상적으로, 모든 프레임들은 동일한 길이를 갖고, 여기서 설명되는 특정한 예들에서 균일한 프레임 길이가 가정된다. 그러나, 균일하지 않은 프레임 길이들이 또한 사용될 수도 있다는 것이 명백히 의도되며 여기서 개시된다. 예컨대, 방법의 구현들 (M100 및 M200) 은 또한 활성 및 비활성 프레임들 및/또는 유성 및 무성 프레임들에 대해 상이한 프레임 길이들을 채용하는 애플리케이션들에서 사용될 수도 있다.
통상적으로, 인코딩된 프레임은 값들을 포함하고, 이 값들로부터 스피치 신호의 대응하는 프레임이 복원될 수도 있다. 예컨대, 인코딩된 프레임은 주파수 스펙트럼에 걸친 프레임 내의 에너지의 분포의 디스크립션 (description) 을 포함할 수도 있다. 그러한 에너지의 분포는 또한 프레임의 "주파수 포락선" 또는 "스펙트럼 포락선"이라 호칭된다. 통상적으로, 인코딩된 프레임은 프레임의 스펙트럼 포락선을 기술하는 값들의 순서화된 시퀀스를 포함한다. 몇몇 경우들에서, 순서화된 시퀀스의 각각의 값은 대응하는 주파수에서의 또는 대응하는 스펙트럼 영역에 걸친 신호의 진폭 또는 크기를 표시한다. 그러한 디스크립션의 일 예는 푸리에 변환 계수들의 순서화된 시퀀스이다.
다른 경우들에서, 순서화된 시퀀스는 코딩 모델의 파라미터들의 값들을 포함한다. 그러한 순서화된 시퀀스의 하나의 전형적인 예는 선형 예측 코딩 (LPC) 분석의 계수들의 값들의 세트이다. 이들 계수들은, 인코딩된 스피치의 공진들 (또한 "포먼트 (formant)"라 호칭) 을 인코딩하며, 필터 계수들 또는 반사 계수들로서 구성될 수도 있다. 대부분의 최신 스피치 코더들의 인코딩 부분은 각각의 프레임에 대해 LPC 계수 값들의 세트를 추출하는 분석 필터를 포함한다. 또한, (통상적으로 하나 이상의 벡터들로서 배열되는) 세트 내의 계수 값들의 수는 LPC 분석의 "차수"라고 호칭된다. (셀룰러 전화기와 같은) 통신 디바이스의 스피치 인코더에 의해 수행되는 LPC 분석의 전형적인 차수는, 4, 6, 8, 10, 12, 16, 20, 24, 28, 및 32를 포함한다.
통상적으로, 스펙트럼 포락선의 디스크립션은 인코딩된 프레임 내에서 양자화된 형태 (예컨대, 대응하는 룩업 테이블들 또는 "코드북"으로의 하나 이상의 인덱스들) 로 나타난다. 따라서, 선 스펙트럼 쌍 (line spectral pair; LSP), 선 스펙트럼 주파수 (line spectral frequency; LSF), 이미턴스 스펙트럼 쌍 (immittance spectral pair; ISP), 이미턴스 스펙트럼 주파수 (immittance spectral frequency; ISF), 켑스트럼 (cepstral) 계수, 또는 로그 면적비 (log area ratio) 의 값들의 세트와 같은, 양자화에 대해 더 효율적인 형태로 LPC 계수 값들의 세트를 디코더가 수신하는 것이 통례이다. 통상적으로, 스피치 디코더는 그러한 세트를 LPC 계수 값들의 대응하는 세트로 변환하도록 구성된다.
도 1은 여기된 합성 필터를 포함하는 스피치 디코더의 일반적인 예를 도시한다. 인코딩된 프레임을 디코딩하기 위해, 디코더에서 역양자화된 LPC 계수 값들이 사용되어 합성 필터를 구성한다. 또한, 인코딩된 프레임은 시간 정보 (temporal information) 또는 프레임 주기 내의 시간에 걸친 에너지의 분포를 기술하는 정보를 포함할 수도 있다. 예컨대, 시간 정보는, 스피치 신호를 재생하기 위하여 합성 필터를 여기시키기 위해 사용되는 여기 신호를 기술할 수도 있다.
스피치 신호의 활성 프레임은, (예컨대, 모음 (vowel sound) 을 표현하는) 유성, (예컨대, 마찰음 (fricative sound) 을 표현하는) 무성, 또는 (예컨대, 단어의 시작 또는 끝을 표현하는) 전이 (transitional) 와 같은 2개 이상의 상이한 타입들 중 하나로서 분류될 수도 있다. 유성 스피치의 프레임들은 (1개보다 더 많은 프레임 주기 동안 연속하는) 장기간인 주기적인 구조를 가지려고 하는 경향이 있고 피치에 관련되며, 장기간 스펙트럼 특징의 디스크립션을 인코딩하는 코딩 모드를 사용하여 유성 프레임 (또는 유성 프레임들의 시퀀스) 을 인코딩하는 것이 통상적으로 더 효율적이다. 그러한 코딩 모드들의 예들은, 코드-여기된 선형 예 측 (CELP), 프로토타입 피치 주기 (Prototype Pitch Period; PPP), 및 프로토타입 파형 보간 (Prototype Waveform Interpolation; PWI) 을 포함한다. 반면에, 무성 프레임들 및 비활성 프레임들은 통상적으로 어떠한 중요한 장기간 스펙트럼 특징도 없으며, 스피치 인코더는 그러한 프레임을 기술하려고 시도하지 않는 코딩 모드를 사용하여 이들 프레임들을 인코딩하도록 구성될 수도 있다. 잡음-여기된 선형 예측 (NELP) 은 그러한 코딩 모드의 일 예이다.
도 2는 시간에 걸친 (모음과 같은) 유성 스피치 세그먼트의 진폭의 일 예를 도시한다. 유성 프레임에 대해, 여기 신호는 통상적으로 피치 주파수에서 주기적인 펄스들의 시리즈를 닮았으며, 무성 프레임에 대해, 여기 신호는 통상적으로 백색 가우스 잡음과 유사하다. CELP 코더는 유성 스피치 세그먼트들의 특성인 더 높은 주기성을 활용하여 더 우수한 코딩 효율을 달성할 수도 있다.
CELP 코더는, 하나 이상의 코드북들을 사용하여 여기 신호를 인코딩하는 합성에 의한 분석 (analysis-by-synthesis) 스피치 코더이다. 인코더에서, 하나 이상의 코드북 엔트리들이 선택된다. 디코더는, (또한 하나 이상의 코드북들로의 인덱스들일 수도 있는) 이득 인자들의 대응하는 값과 함께 이들 엔트리들의 코드북 인덱스들을 수신한다. 디코더는 이득 인자들에 의해 코드북 엔트리들 (또는 코드북 엔트리들에 기초한 신호들) 을 스케일링하여 여기 신호를 획득하며, 그 여기 신호는 합성 필터를 여기시키고 디코딩된 스피치 신호를 획득하기 위해 사용된다.
몇몇 CELP 시스템들은 피치-예측 필터를 사용하여 주기성을 모델링한다. 다른 CELP 시스템들은, 통상적으로 고정 코드북 (또한 "혁신 코드북 (innovative codebook)"이라 호칭) 을 사용하여 예컨대 펄스 포지션들의 시리즈와 같은 비주기적인 컴포넌트를 모델링하면서, 적응 코드북 (또는 ACB, 또한 "피치 코드북"이라 호칭) 을 사용하여 여기 신호의 주기적이거나 또는 피치-관련된 컴포넌트를 모델링한다. 일반적으로, 매우 유성인 (highly voiced) 세그먼트들이 가장 지각적으로 관련된다. 적응 CELP 기법을 사용하여 인코딩된 매우 유성인 스피치 프레임에 대해, 여기 신호의 대부분은 ACB에 의해 모델링되며, 이는 통상적으로 피치 래그에 대응하는 도미넌트 주파수 컴포넌트에 대해 매우 주기적이다.
여기 신호에 대한 ACB 기여는 현재의 프레임의 잔여와 하나 이상의 과거의 프레임들로부터의 정보 간의 상관을 표현한다. 통상적으로, ACB는, 과거의 스피치 신호들의 샘플들 또는 스피치 잔여 또는 여기 신호들과 같은 그 파생물들을 저장하는 메모리로서 구현된다. 예컨대, ACB는 상이한 양 만큼 지연된 이전의 잔여의 카피들을 포함할 수도 있다. 일 예에서, ACB는 이전에 합성된 스피치 여기 파형의 상이한 피치 주기들의 세트를 포함한다.
적응적으로 코딩된 프레임의 하나의 파라미터는 피치 래그 (또한 지연 또는 피치 지연이라 호칭) 이다. 이 파라미터는, 프레임의 자기 상관 (autocorrelation) 을 최대화하는 스피치 샘플들의 수로서 통상적으로 표현되고, 함수 컴포넌트를 포함할 수도 있다. 일반적으로, 인간 음성의 피치 주파수는 40 Hz 내지 500 Hz의 범위 내에 있으며, 이는 약 200 샘플들 내지 16 샘플들에 대응한다. 적응 CELP 디코더의 일 예는 선택된 ACB 엔트리를 피치 래그 만큼 번 역한다. 또한, 디코더는 번역된 엔트리를 (예컨대, 유한-임펄스-응답 또는 FIR 필터를 사용하여) 보간할 수도 있다. 몇몇 경우들에서, 피치 래그는 ACB 인덱스로서 서빙될 수도 있다. 적응 CELP 디코더의 다른 예는, 피치 래그 파라미터의 대응하는 연속하지만 상이한 값들에 따라 적응 코드북의 세그먼트를 평활화 (또는 "시간-워핑 (time-warp)") 하도록 구성된다.
적응적으로 코딩된 프레임의 다른 파라미터는 ACB 이득 (또는 피치 이득) 이며, 이는 장기간 주기성의 강도를 표현하고, 통상적으로 각각의 서브프레임에 대해 평가된다. 특정한 서브프레임에 관한 여기 신호에 대한 ACB 기여를 획득하기 위해, 디코더는 보간된 신호 (또는 그 대응하는 부분) 를 대응하는 ACB 이득 값과 승산한다. 도 3은 ACB를 갖는 CELP 디코더의 일 예의 블록도를 도시하며, 여기서 gc 및 gp는 각각 코드북 이득 및 피치 이득을 표시한다. 다른 통상적인 ACB 파라미터는 델타 지연이며, 이는 현재의 프레임과 이전의 프레임 간의 지연 차이를 표시하고, 삭제되거나 또는 손상된 프레임들에 대한 피치 래그를 계산하기 위해 사용될 수도 있다.
주지된 시간-도메인 스피치 코더는 L.B. Rabiner & R.W. Schafer, Digital Processing of Speech Signals, pp. 396-453 (1978) 에서 설명된 코드 여기된 선형 예측 (CELP) 코더이다. 예시적인 가변 레이트 CELP 코더는 본 발명의 양수인에게 양도되어 있고 여기서 전부가 참조로 통합된 미국 특허 제5,414,796호에서 설명된다. CELP의 다수의 변형들이 존재한다. 대표적인 예들은, AMR 스피치 코 덱 (Adaptive Multi-Rate, Third Generation Partnership Project (3GPP) Technical Specification (TS) 26.090, ch. 4, 5 and 6, December, 2004); AMR-WB 스피치 코덱 (AMR-Wideband, International Telecommunications Union (ITU)-T Recommendation G.722.2, ch. 5 and 6, July, 2003); 및 EVRC (Enhanced Variable Rate Codec, Electronic Industries Alliance (EIA)/Telecommunications Industry Association (TIA) Interim Standard IS-127, ch. 4 and ch. 5, January, 1997) 를 포함한다.
도 4는 CELP 프레임들의 시리즈를 디코딩하는 프로세스에서의 데이터 종속성들을 예시한다. 인코딩된 프레임 B는 적응 이득 인자 B를 제공하고, 적응 코드북은 이전의 여기 신호 A로부터의 정보에 기초하여 시퀀스 A를 제공한다. 디코딩 프로세스는 적응 이득 인자 B 및 시퀀스 A에 기초하여 여기 신호 B를 생성하고, 이는 인코딩된 프레임 B로부터의 스펙트럼 정보에 따라 스펙트럼 쉐이핑되어 디코딩된 프레임 B를 산출한다. 또한, 디코딩 프로세스는 여기 신호 B에 기초하여 적응 코드북을 업데이트한다. 다음의 인코딩된 프레임 C는 적응 이득 인자 C를 제공하고, 적응 코드북은 여기 신호 B에 기초하여 시퀀스 B를 제공한다. 디코딩 프로세스는 적응 이득 인자 C 및 시퀀스 B에 기초하여 여기 신호 C를 생성하고, 이는 인코딩된 프레임 C로부터의 스펙트럼 정보에 따라 스펙트럼 쉐이핑되어 디코딩된 프레임 C를 산출한다. 디코딩 프로세스는, 상이한 코딩 모드 (예컨대, NELP) 로 인코딩된 프레임에 직면할 때까지, 여기 신호 C에 기초하여 적응 코드북을 또한 업데이트하는 등을 행한다.
(예컨대, 네트워크 요구와 용량의 균형을 맞추기 위해) 가변-레이트 코딩 기법들을 사용하는 것이 바람직할 수도 있다. 또한, 예컨대 주기성 또는 발성 (voicing) 에 기초한 분류에 따라 상이한 모드들을 사용하여 프레임들이 인코딩되는 멀티모드 코딩 기법을 사용하는 것이 바람직할 수도 있다. 예컨대, 스피치 코더가 활성 프레임들 및 비활성 프레임들에 대해 상이한 코딩 모드들 및/또는 비트 레이트들을 사용하는 것이 바람직할 수도 있다. 또한, 스피치 코더가 활성 프레임들의 상이한 타입들에 대해 비트 레이트들 및 코딩 모드들 (또한 "코딩 기법들"이라 호칭) 의 상이한 조합들을 사용하는 것이 바람직할 수도 있다. 그러한 스피치 코더의 일 예는, 유성 스피치를 포함하는 프레임들 및 전이 프레임들에 대해 풀-레이트 (full-rate) CELP를 사용하고, 무성 스피치를 포함하는 프레임들에 대해 1/2-레이트 NELP 기법을 사용하며, 비활성 프레임들에 대해 1/8-레이트 NELP 기법을 사용한다. 그러한 스피치 코더의 다른 예들은, 풀-레이트 및 1/2-레이트 CELP 기법들 및/또는 풀-레이트 및 1/4-레이트 PPP 기법들과 같은 하나 이상의 코딩 기법들에 대한 다중 코딩 레이트들을 지원한다.
도 5는 (예컨대, 다중 서브레이어로부터) 패킷들 및 대응하는 패킷 타입 표시자들을 수신하는 멀티-모드 가변-레이트 디코더의 일 예의 블록도를 도시한다. 이 예에서, 프레임 에러 검출기는 패킷 타입 표시자에 따라 대응하는 레이트 (또는 삭제 복구) 를 선택하고, 역패킷화기 (depacketizer) 는 패킷을 디스어셈블링 (disassemble) 하고, 대응하는 모드를 선택한다. 다르게는, 프레임 삭제 검출기가 정정 코딩 기법을 선택하도록 구성될 수도 있다. 이 예에서 이용가능한 모드들은, 풀-레이트 CELP 및 1/2-레이트 CELP, 풀-레이트 PPP 및 1/4-레이트 PPP (프로토타입 피치 주기, 강한 유성 프레임들에 대해 사용), NELP (무성 프레임들에 대해 사용), 및 묵음을 포함한다. 통상적으로, 디코더는 (예컨대, 포먼트 주파수들을 강조하고/하거나 스펙트럼 밸리들을 감쇠시킴으로써) 양자화 잡음을 감소시키도록 구성된 사후 필터를 포함하고, 또한 적응 이득 제어를 포함할 수도 있다.
도 6은 CELP 프레임에 선행하는 NELP 프레임을 디코딩하는 프로세스에서의 데이터 종속성들을 예시한다. 인코딩된 NELP 프레임 N을 디코딩하기 위해, 디코딩 프로세스는 여기 신호 N으로서 잡음 신호를 생성하고, 이는 인코딩된 프레임 N으로부터의 스펙트럼 정보에 따라 스펙트럼 쉐이핑되어 디코딩된 프레임 N을 산출한다. 이 예에서, 또한, 디코딩 프로세스는 여기 신호 N에 기초하여 적응 코드북을 업데이트한다. 인코딩된 CELP 프레임 C는 적응 이득 인자 C를 제공하고, 적응 코드북은 여기 신호 N에 기초하여 시퀀스 N을 제공한다. NELP 프레임 N과 CELP 프레임 C의 여기 신호들 간의 상관은 매우 느리게 되기 쉬워서, 시퀀스 N과 프레임 C의 여기 신호 간의 상관도 또한 매우 느리게 되기 쉽다. 결국, 적응 이득 인자 C는 0에 근접한 값을 갖기 쉽다. 디코딩 프로세스는, 적응 이득 인자 C 및 시퀀스 N에 공칭적으로 기초하지만 인코딩된 프레임 C로부터의 고정 코드북 정보에 더 많이 기초하기 쉬운 여기 신호 C를 생성하고, 여기 신호 C는 인코딩된 프레임 C로부터의 스펙트럼 정보에 따라 스펙트럼 쉐이핑되어 디코딩된 프레임 C를 산출한다. 또한, 디코딩 프로세스는 여기 신호 C에 기초하여 적응 코드북을 업데이트한다.
몇몇 CELP 코더들에서, 각각의 프레임에 대해 LPC 계수들이 업데이트되고, 각각의 서브프레임에 대해 피치 래그 및/또는 ACB 이득과 같은 여기 파라미터들이 업데이트된다. AMR-WB에서, 예컨대, 피치 래그 및 ACB 이득과 같은 CELP 여기 파라미터들은 4개의 서브프레임들의 각각에 대해 1회 업데이트된다. EVRC의 CELP 모드에서, 160 샘플 프레임의 (각각 53, 53, 및 54 샘플 길이인) 3개의 서브프레임들의 각각은 대응하는 ACB 및 FCB 이득 값들 및 대응하는 FCB 인덱스를 갖는다. 또한, 단일 코덱 내의 상이한 모드들은 프레임들을 상이하게 프로세싱할 수도 있다. EVRC 코덱에서, 예컨대, CELP 모드는 3개의 서브프레임들을 갖는 프레임들에 따라 여기 신호를 프로세싱하고, NELP 모드는 4개의 서브프레임들을 갖는 프레임들에 따라 여기 신호를 프로세싱한다. 또한, 2개의 서브프레임들을 갖는 프레임들에 따라 여기 신호를 프로세싱하는 모드들이 존재한다.
가변-레이트 스피치 디코더는 프레임 에너지와 같은 하나 이상의 파라미터들로부터 인코딩된 프레임의 비트 레이트를 결정하도록 구성될 수도 있다. 몇몇 애플리케이션들에서, 코딩 시스템은 특정한 비트 레이트에 대해 하나의 코딩 모드만을 사용하도록 구성되어, 인코딩된 프레임의 비트 레이트가 또한 코딩 모드를 표시하도록 한다. 다른 경우들에서, 인코딩된 프레임은, 프레임이 인코딩된 코딩 모드를 식별하는 하나 이상의 비트들의 세트와 같은 정보를 포함할 수도 있다. 그러한 비트들의 세트는 "코딩 인덱스"라 또한 호칭된다. 몇몇 경우들에서, 코딩 인덱스는 코딩 모드를 명시적으로 표시할 수도 있다. 다른 경우들에서, 코딩 인덱스는 예컨대 다른 코딩 모드에 대해 유효하지 않은 값을 표시함으로써 코딩 모드를 암시적으로 표시할 수도 있다. 본 상세한 설명 및 첨부된 청구의 범위에서, 용어 "포맷" 또는 "프레임 포맷"은, 코딩 모드가 결정될 수도 있는 인코딩된 프레임의 하나 이상의 양태들을 표시하기 위해 사용되며, 그 양태들은 상술된 바와 같은 비트 레이트 및/또는 코딩 인덱스를 포함할 수도 있다.
도 7은 CELP 프레임에 뒤따르는 프레임 삭제를 처리하는 프로세스에서의 데이터 종속성들을 예시한다. 도 4에서와 같이, 인코딩된 프레임 B는 적응 이득 인자 B를 제공하고, 적응 코드북은 이전의 여기 신호 A로부터의 정보에 기초하여 시퀀스 A를 제공한다. 디코딩 프로세스는 적응 이득 인자 B 및 시퀀스 A에 기초하여 여기 신호 B를 생성하고, 이는 인코딩된 프레임 B로부터의 스펙트럼 정보에 따라 스펙트럼 쉐이핑되어 디코딩된 프레임 B를 산출한다. 또한, 디코딩 프로세스는 여기 신호 B에 기초하여 적응 코드북을 업데이트한다. 다음의 인코딩된 프레임이 삭제된 것의 표시에 응답하여, 디코딩 프로세스는 이전의 코딩 모드에서 계속 동작하여, 적응 코드북이 여기 신호 B에 기초하여 시퀀스 B를 제공하도록 한다. 이러한 경우에, 디코딩 프로세스는 적응 이득 인자 B 및 시퀀스 B에 기초하여 여기 신호 X를 생성하고, 이는 인코딩된 프레임 B로부터의 스펙트럼 정보에 따라 스펙트럼 쉐이핑되어 디코딩된 프레임 X를 산출한다.
도 8은 3GPP2 표준 C.S0014-A v1.0 (EVRC Service Option 3), ch. 5, April 2004 에 따르는 프레임 삭제 복구의 방법에 대한 흐름도를 도시한다. 미국 특허 공개 공보 제2002/0123887호 (Unno) 는 ITU-T recommendation G.729에 따른 유사한 프로세스를 설명한다. 그러한 방법은 예컨대 도 5에 도시된 프레임 삭제 복구 모듈에 의해 수행될 수도 있다. 그 방법은, 현재의 프레임이 이용가능하지 않은 것 (예컨대, 현재의 프레임 [FER(m)] 에 대한 프레임 삭제 플래그의 값이 TRUE인 것) 의 검출로 개시된다. 태스크 (T110) 는 이전의 프레임도 또한 이용가능하지 않았는지 여부를 결정한다. 이러한 구현에서, 태스크 (T110) 는 이전의 프레임 [FER(m-1)] 에 대한 프레임 삭제 플래그의 값도 또한 TRUE인지 여부를 결정한다.
이전의 프레임이 삭제되지 않았던 경우에, 태스크 (T120) 는 현재의 프레임에 대한 평균 적응 코드북 이득 [gpavg(m)] 의 값을 이전의 프레임에 대한 평균 적응 코드북 이득 [gpavg(m-1)] 의 값으로 설정한다. 그렇지 않다면 (즉, 이전의 프레임도 또한 삭제되었던 경우에), 태스크 (T130) 는 현재의 프레임에 대한 평균 ACB 이득 [gpavg(m)] 의 값을 이전의 프레임에 대한 평균 ACB 이득 [gpavg(m-1)] 의 감쇠된 버전으로 설정한다. 이 예에서, 태스크 (T130) 는 평균 ACB 이득을 gpavg(m-1)의 값의 0.75배로 설정한다. 그 후, 태스크 (T140) 는 현재의 프레임의 서브프레임들 [gp(m.i), i = 0, 1, 2] 에 대한 ACB 이득의 값들을 gpavg(m)의 값으로 설정한다. 통상적으로, FCB 이득 인자들은 삭제된 프레임에 대해 0으로 설정된다. 3GPP2 표준 C.S0014-C v1.0 의 섹션 5.2.3.5 는, 이전의 프레임이 삭제되었거나 또는 묵음 또는 NELP 프레임으로서 프로세싱되었던 경우에 현재의 프레임의 서브프레임들 [gp(m.i), i = 0, 1, 2] 에 대한 ACB 이득의 값들이 0으로 설정되는 EVRC Service Option 68 을 위한 이러한 방법의 변형을 설명한다.
프레임 삭제에 뒤따르는 프레임은 메모리리스 (memoryless) 시스템 또는 코딩 모드에서만 에러 없이 디코딩될 수도 있다. 하나 이상의 과거 프레임들에 대한 상관을 활용하는 모드들에 대해, 프레임 삭제는 에러들이 후속 프레임들로 전파하는 것을 야기할 수도 있다. 예컨대, 적응 디코더의 상태 변수들은 프레임 삭제로부터 복구하는데 얼마간의 시간을 필요로 할 수도 있다. CELP 코더에 대해, 적응 코드북은 강한 프레임간 (interframe) 종속성을 도입하고, 통상적으로 그러한 에러 전파의 주된 원인이다. 결국, T120에서와 같이 이전의 평균보다 더 높지 않은 ACB 이득을 사용하거나 또는 태스크 (T130) 에서와 같이 ACB 이득을 감쇠시키는 것이 전형적이다. 그러나, 특정한 경우들에서, 그러한 실시는 후속 프레임들의 재생에 악영향을 미칠 수도 있다.
도 9는 지속되는 유성 세그먼트가 뒤따르는 비-유성 세그먼트를 포함하는 프레임들의 시퀀스의 예를 예시한다. 그러한 지속되는 유성 세그먼트는 "crazy" 또는 "feel"과 같은 단어에서 발생할 수도 있다. 도 9에 표시된 바와 같이, 지속되는 유성 세그먼트의 제 1 프레임은 과거에 대한 낮은 종속을 갖는다. 구체적으로, 적응 코드북을 사용하여 프레임이 인코딩된 경우에, 그 프레임에 대한 적응 코드북 이득 값들은 낮을 것이다. 지속되는 유성 세그먼트 내의 프레임들의 나머지에 대해, ACB 이득 값들은 인접 프레임들 간의 강한 상관의 결과로서 통상적으로 높을 것이다.
그러한 상황에서, 지속되는 유성 세그먼트의 제 2 프레임이 삭제된 경우에 문제가 발생할 수도 있다. 그 프레임이 이전의 프레임에 대한 높은 종속을 갖기 때문에, 그 프레임의 적응 코드북 이득 값들은 높아서 주기적인 컴포넌트를 강화해야 한다. 그러나, 프레임 삭제 복구가 통상적으로 삭제된 프레임을 복원할 것이기 때문에, 복원된 프레임은 낮은 적응 코드북 이득 값들을 가져서, 이전의 유성 프레임으로부터의 기여가 부적절하게 낮게 되도록 할 것이다. 이러한 에러는 다음의 수개의 프레임들을 통해 전파될 수도 있다. 그러한 이유들로 인해, 지속되는 유성 세그먼트의 제 2 프레임도 또한 중요한 프레임이라 호칭된다. 다르게는, 지속되는 유성 세그먼트의 제 2 프레임도 또한 중대한 프레임이라 호칭될 수도 있다.
도 10a, 도 10b, 도 10c, 및 도 10d는 본원의 구성들 각각에 따른 방법들 (M110, M120, M130, 및 M140) 에 대한 흐름도들을 도시한다. 이들 방법들의 제 1 태스크 (태스크들 (T11, T12, 및 T13)) 는, 프레임 삭제에 선행하는 2개의 프레임들에서 모드들의 하나 이상의 특정한 시퀀스들을 검출하거나, 또는 (태스크 (T14)) 지속되는 유성 세그먼트의 중요한 프레임의 삭제를 검출한다. 태스크들 (T11, T12, 및 T13) 에서, 통상적으로, 특정한 시퀀스 또는 시퀀스들은 이들 프레임들이 인코딩된 모드들을 참조하여 결정된다.
방법 (M110) 에서, 태스크 (T11) 는 시퀀스 (비유성 프레임, 유성 프레임, 프레임 삭제) 를 검출한다. "비유성 프레임들"의 카테고리는 묵음 프레임들 (즉, 배경 잡음), 뿐만 아니라 마찰음들과 같은 무성 프레임들을 포함할 수도 있다. 예컨대, 카테고리 "무성 프레임들"은 NELP 모드 또는 (또한 통상적으로 NELP 모드인) 묵음 모드로 인코딩된 프레임들을 포함하도록 구현될 수도 있다. 도 10b에 도시된 바와 같이, 태스크 (T12) 에서, "유성 프레임들"의 카테고리는 (예컨대, 하나 이상의 PPP 모드들을 또한 갖는 디코더에서) CELP 모드를 사용하여 인코딩된 프레임들로 제한될 수도 있다. 이 카테고리는 또한 (예컨대, 고정 코드북만을 갖는 CELP 모드를 또한 지원하는 디코더에서) 적응 코드북을 갖는 CELP 모드를 사용하여 인코딩된 프레임들로 제한될 수도 있다.
방법 (M130) 의 태스크 (T13) 는, 프레임들에서 사용된 여기 신호에 관하여 타겟 시퀀스를 특성화하며, 제 1 프레임이 비주기적인 여기 (예컨대, NELP 또는 묵음 코딩에서 사용되는 랜덤 여기) 를 갖고, 제 2 프레임이 (예컨대, 적응 코드북을 갖는 CELP 모드에서 사용되는 것과 같은) 적응 및 주기적인 여기를 갖는다. 다른 예에서, 태스크 (T13) 는, 검출된 시퀀스가 또한 여기 신호를 갖지 않는 제 1 프레임들을 포함하도록 구현된다. 지속되는 유성 세그먼트의 중요한 프레임의 삭제를 검출하는 방법 (M140) 의 태스크 (T14) 는 시퀀스 (NELP 또는 묵음 프레임, CELP 프레임) 에 바로 뒤따르는 프레임 삭제를 검출하도록 구현될 수도 있다.
태스크 (T20) 는 삭제 이전의 프레임에 적어도 부분적으로 기초하여 이득 값을 획득한다. 예컨대, 획득된 이득 값은 삭제된 프레임에 대해 (예컨대, 프레임 삭제 복구 모듈에 의해) 예측된 이득 값일 수도 있다. 특정한 예에서, 이득 값은 삭제된 프레임에 대해 프레임 삭제 복구 모듈에 의해 예측된 (ACB 이득 값과 같은) 여기 이득 값이다. 도 8의 태스크들 (T110 내지 T140) 은 수개의 ACB 값들이 삭제에 선행하는 프레임에 기초하여 예측되는 일 예를 도시한다.
표시된 시퀀스 (또는 표기된 시퀀스들 중 하나) 가 검출된 경우에, 태스크 (T30) 는 획득된 이득 값을 임계값과 비교한다. 획득된 이득 값이 임계값보다 더 작은 경우에 (다르게는 더 크지 않은 경우에), 태스크 (T40) 는 획득된 이득 값을 증가시킨다. 예컨대, 태스크 (T40) 는 획득된 이득 값에 양의 값을 가산하거나 또는 획득된 이득 값에 1 (unity) 보다 더 큰 인자를 승산하도록 구성될 수도 있다. 다르게는, 태스크 (T40) 는 획득된 이득 값을 하나 이상의 더 높은 값들로 대체하도록 구성될 수도 있다.
도 11은 방법 (M120) 의 일 구성 (M180) 의 흐름도를 도시한다. 태스크들 (T110, T120, T130, 및 T140) 은 상술된 바와 같다. gpavg(m)의 값이 설정된 후 (태스크 (T120) 또는 태스크 (T130)), 태스크들 (N210, N220, 및 N230) 은 현재의 프레임 및 최근의 히스토리에 관한 특정한 조건들을 테스트한다. 태스크 (N210) 는 이전의 프레임이 CELP 프레임으로서 인코딩되었는지 여부를 결정한다. 태스크 (N220) 는 이전 프레임 이전의 프레임이 비유성 프레임으로서 (예컨대, NELP 또는 묵음으로서) 인코딩되었는지 여부를 결정한다. 태스크 (N230) 는 gpavg(m)의 값이 임계값 (Tmax) 보다 더 작은지 여부를 결정한다. 태스크들 (N210, N220, 및 N230) 중 임의의 태스크의 결과가 네거티브인 경우에, 태스크 (T140) 는 상술된 바와 같이 실행한다. 그렇지 않으면, 태스크 (N240) 는 현재의 프레임에 새로운 이득 프로파일을 할당한다.
도 11에 도시된 특정한 예에서, 태스크 (N240) 는 값들 T1, T2, 및 T3을 i = 0, 1, 2인 gp(m.i)의 값들에 각각 할당한다. 이들 값들은 T1 ≥ T2 ≥ T3이 되도록 배열되어, T1이 Tmax에 근접 (또는 동일) 하면서, 동등 (level) 하거나 또는 감소하는 이득 프로파일을 초래할 수도 있다.
태스크 (N240) 의 다른 구현들은, gp(m.i)의 하나 이상의 값들에 이득 인자들 각각을 승산하거나 또는 공통 이득 인자를 승산하거나, 또는 gp(m.i)의 하나 이상의 값들에 양의 오프셋을 가산하도록 구성될 수도 있다. 이러한 경우들에서, gp(m.i)의 각각의 값에 상한 (예컨대, Tmax) 을 부과하는 것이 바람직할 수도 있다. 태스크들 (N210 내지 N240) 은 프레임 삭제 복구 모듈 내에서 하드웨어, 펌웨어, 및/또는 소프트웨어 루틴들로서 구현될 수도 있다.
몇몇 기술들에서, 삭제된 프레임은 하나 이상의 이전의 프레임들 및 가능하게는 하나 이상의 뒤따르는 프레임들 동안 수신된 정보로부터 외삽 (extrapolate) 된다. 몇몇 구현들에서, 이전의 프레임 및 미래의 프레임들 양자 모두의 스피치 파라미터들이 삭제된 프레임의 복원을 위해 사용된다. 이러한 경우에서, 태스크 (T20) 는, 삭제 이전의 프레임 및 삭제 이후의 프레임 양자 모두에 기초하여, 획득된 이득 값을 계산하도록 구성될 수도 있다. 추가적으로 또는 다르게는, 태스크 (T40) (예컨대, 태스크 N240) 의 일 구현은 (예컨대, 이득 값들의 보간을 통해) 미래의 프레임으로부터의 정보를 사용하여 이득 프로파일을 선택할 수도 있다. 예컨대, 태스크 (T40) 의 그러한 구현은, 감소하는 이득 프로파일 대신에 동등하거나 또는 증가하는 이득 프로파일을 선택하거나, 또는 동등한 이득 프로파일 대신에 증가하는 이득 프로파일을 선택할 수도 있다. 이러한 종류의 구성은, 미래의 프레임이 그러한 사용을 위해 이용가능한지 여부를 표시하기 위해 지터 버퍼를 사용할 수도 있다.
도 12는 일 구성에 따른 프레임 삭제 복구 모듈 (100) 을 포함하는 스피치 디코더의 블록도를 도시한다. 그러한 모듈 (100) 은 상술된 바와 같은 방법 (M110, M120, M130, 또는 M180) 을 수행하도록 구성될 수도 있다.
도 13a는, 태스크들 (T210, T220, T230, T240, T245, 및 T250) 을 포함하는 일반적인 구성에 따라, 디코딩된 스피치 신호의 프레임들을 획득하는 방법 (M200) 의 흐름도를 도시한다. 태스크 (T210) 는 제 1 여기 신호를 생성한다. 제 1 여기 신호에 기초하여, 태스크 (T220) 는 디코딩된 스피치 신호의 제 1 프레임을 계산한다. 태스크 (T230) 는 제 2 여기 신호를 생성한다. 제 2 여기 신호에 기초하여, 태스크 (T240) 는 디코딩된 스피치 신호의 제 1 프레임에 바로 뒤따르는 제 2 프레임을 계산한다. 태스크 (T245) 는 제 3 여기 신호를 생성한다. 특정한 애플리케이션에 따라, 태스크 (T245) 는 생성된 잡음 신호 및/또는 적응 코드북으로부터의 정보에 기초하여 (예컨대, 하나 이상의 이전의 여기 신호들로부터의 정보에 기초하여), 제 3 여기 신호를 생성하도록 구성될 수도 있다. 제 3 여기 신호에 기초하여, 태스크 (T250) 는 디코딩된 스피치 신호의 제 1 프레임에 바로 선행하는 제 3 프레임을 계산한다. 도 14는 방법 (M200) 의 전형적인 애플리케이션에서의 몇몇 데이터 종속성들을 예시한다.
태스크 (T210) 는 인코딩된 스피치 신호의 제 1 인코딩된 프레임이 제 1 포맷을 갖는다는 표시에 응답하여 실행한다. 제 1 포맷은, 과거 여기 정보의 메모리에 기초한 여기 신호를 사용하여 (예컨대, CELP 코딩 모드를 사용하여) 프레임이 디코딩되어야 한다고 표시한다. 제 1 인코딩된 프레임의 비트 레이트에서 하나의 코딩 모드만을 사용하는 코딩 시스템에 대해, 비트 레이트의 결정이 코딩 모드를 결정하는데 충분할 수도 있어서, 비트 레이트의 표시가 또한 프레임 포맷을 표시하도록 서빙할 수도 있게 된다.
제 1 인코딩된 프레임의 비트 레이트에서 하나보다 더 많은 코딩 모드를 사용하는 코딩 시스템에 대해, 인코딩된 프레임은 코딩 모드를 식별하는 하나 이상의 비트들의 세트와 같은 코딩 인덱스를 포함할 수도 있다. 이러한 경우에, 포맷 표시는 코딩 인덱스의 결정에 기초할 수도 있다. 몇몇 경우들에서, 코딩 인덱스는 코딩 모드를 명시적으로 표시할 수도 있다. 다른 경우들에서, 코딩 인덱스는 예컨대 다른 코딩 모드에 대해 유효하지 않은 값을 표시함으로써 코딩 모드를 암시적으로 표시할 수도 있다.
포맷 표시에 응답하여, 태스크 (T210) 는 값들의 제 1 시퀀스에 기초하여 제 1 여기 신호를 생성한다. 값들의 제 1 시퀀스는, 제 3 여기 신호의 세그먼트와 같은, 제 3 여기 신호로부터의 정보에 기초한다. 제 1 시퀀스와 제 3 여기 신호 간의 관계는 도 13a에서 점선으로 표시된다. 전형적인 예에서, 제 1 시퀀스는 제 3 여기 신호의 마지막 서브프레임에 기초한다. 태스크 (T210) 는 적응 코드북으로부터 제 1 시퀀스를 검색하는 것을 포함할 수도 있다.
도 13b는 일반적인 구성에 따른 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치 (F200) 의 블록도를 도시한다. 장치 (F200) 는 도 13a의 방법 (M200) 의 다양한 태스크들을 수행하는 수단을 포함한다. 수단 (F210) 은 제 1 여기 신호를 생성한다. 제 1 여기 신호에 기초하여, 수단 (F220) 은 디코딩된 스피치 신호의 제 1 프레임을 계산한다. 수단 (F230) 은 제 2 여기 신호를 생성한다. 제 2 여기 신호에 기초하여, 수단 (F240) 은 디코딩된 스피치 신호의 제 1 프레임에 바로 뒤따르는 제 2 프레임을 계산한다. 수단 (F245) 은 제 3 여기 신호를 생성한다. 특정한 애플리케이션에 따라, 수단 (F245) 은 생성된 잡음 신호 및/또는 적응 코드북으로부터의 정보에 기초하여 (예컨대, 하나 이상의 이전의 여기 신호들로부터의 정보에 기초하여), 제 3 여기 신호를 생성하도록 구성될 수도 있다. 제 3 여기 신호에 기초하여, 수단 (F250) 은 디코딩된 스피치 신호의 제 1 프레임에 바로 선행하는 제 3 프레임을 계산한다.
도 14는, 태스크 (T210) 가 제 1 이득 인자 및 제 1 시퀀스에 기초하여 제 1 여기 신호를 생성하는 일 예를 도시한다. 그러한 경우에, 태스크 (T210) 는 제 1 이득 인자와 제 1 시퀀스의 곱에 기초하여 제 1 여기 신호를 생성하도록 구성될 수도 있다. 제 1 이득 인자는, 적응 이득 코드북 인덱스와 같은, 제 1 인코딩된 프레임으로부터의 정보에 기초할 수도 있다. 태스크 (T210) 는 (예컨대, 하나 이상의 코드북 인덱스들 및 대응하는 이득 인자 값들 또는 코드북 인덱스들과 같은) 제 1 여기 신호에 대한 고정 코드북 기여를 특정하는 정보와 같은, 제 1 인코딩된 프레임으로부터의 다른 정보에 기초하여 제 1 여기 신호를 생성하도록 구성 될 수도 있다.
제 1 여기 신호 및 제 1 인코딩된 프레임으로부터의 정보에 기초하여, 태스크 (T220) 는 디코딩된 스피치 신호의 제 1 프레임을 계산한다. 통상적으로, 제 1 인코딩된 프레임으로부터의 정보는 (예컨대, 하나 이상의 LSF 또는 LPC 계수 벡터들과 같은) 스펙트럼 파라미터들의 값들의 세트를 포함하여서, 태스크 (T220) 가 스펙트럼 파라미터 값들에 따라 제 1 여기 신호의 스펙트럼을 쉐이핑하도록 구성된다. 또한, 태스크 (T220) 는 제 1 여기 신호, 제 1 인코딩된 프레임으로부터의 정보, 및/또는 계산된 제 1 프레임에 대해 하나 이상의 다른 프로세싱 동작들 (예컨대, 필터링, 평활화, 보간) 을 수행하는 것을 포함할 수도 있다.
태스크 (T230) 는 인코딩된 스피치 신호에서 제 1 인코딩된 프레임에 바로 뒤따르는 인코딩된 프레임의 삭제의 표시에 응답하여 실행된다. 삭제의 표시는 다음의 조건들 중 하나 이상에 기초할 수도 있다: (1) 프레임이 복구될 너무 많은 비트 에러들을 포함한다; (2) 프레임에 대해 표시된 비트 레이트가 유효하지 않거나 또는 지원되지 않는다; (3) 프레임의 모든 비트들이 0이다; (4) 프레임에 대해 표시된 비트 레이트가 1/8-레이트이고, 프레임의 모든 비트들이 1이다; (5) 프레임이 비어 있고 마지막 유효 비트 레이트가 1/8-레이트가 아니었다.
또한, 태스크 (T230) 는 제 1 이득 인자 (또한 "기저선 (baseline) 이득 인자 값") 에 기초한 값과 임계값 간의 관계에 따라 실행된다. 예컨대, 태스크 (T230) 는 기저선 이득 인자 값이 임계값보다 더 작은 경우에 (다르게는, 더 크지 않은 경우에) 실행하도록 구성될 수도 있다. 특히, 제 1 인코딩된 프레임이 하 나의 적응 코드북 이득 인자만을 포함하는 애플리케이션에 대해, 기저선 이득 인자 값은 단순히 제 1 이득 인자의 값일 수도 있다. 제 1 인코딩된 프레임이 수개의 적응 코드북 이득 인자들 (예컨대, 각각의 서브프레임에 대해 상이한 인자) 을 포함하는 애플리케이션에 대해, 기저선 이득 인자 값은 다른 적응 코드북 이득 인자들 중 하나 이상에 또한 기초할 수도 있다. 그러한 경우에, 예컨대, 기저선 이득 인자 값은, 도 11을 참조하여 설명된 값 gpavg(m)에서와 같이, 제 1 인코딩된 프레임의 적응 코드북 이득 인자들의 평균일 수도 있다.
또한, 태스크 (T230) 는 제 1 인코딩된 프레임이 제 1 포맷을 갖고 제 1 인코딩된 프레임에 선행하는 인코딩된 프레임 ("선행하는 프레임") 이 제 1 포맷과 상이한 제 2 포맷을 갖는다는 표시에 응답하여 실행될 수도 있다. 제 2 포맷은 프레임이 잡음 신호에 기초한 여기 신호를 사용하여 (예컨대, NELP 코딩 모드를 사용하여) 디코딩되어야 한다고 표시한다. 선행하는 프레임의 비트 레이트에서 하나의 코딩 모드만을 사용하는 코딩 시스템에 대해, 비트 레이트의 결정은 코딩 모드를 결정하기에 충분할 수도 있어서, 비트 레이트의 표시도 또한 프레임 포맷을 표시하도록 서빙할 수도 있다. 다르게는, 선행하는 프레임이 코딩 모드를 표시하는 코딩 인덱스를 포함할 수도 있어서, 포맷 표시가 코딩 인덱스의 결정에 기초할 수도 있다.
태스크 (T230) 는 제 1 이득 인자보다 더 큰 제 2 이득 인자에 기초하여 제 2 여기 신호를 생성한다. 또한, 제 2 이득 인자는 기저선 이득 인자 값보다 더 클 수도 있다. 예컨대, 제 2 이득 인자는 임계값과 동일하거나 또는 임계값보다 더 클 수도 있다. 태스크 (T230) 가 서브프레임 여기 신호들의 시리즈로서 제 2 여기 신호를 생성하도록 구성된 경우에 대해, 제 2 이득 인자의 상이한 값이 각각의 서브프레임 여기 신호에 대해 사용될 수도 있으며, 그 값들 중 적어도 하나는 기저선 이득 인자 값보다 더 크다. 그러한 경우에, 제 2 이득 인자의 상이한 값들이 프레임 주기에 걸쳐 상승 또는 하락하도록 배열되는 것이 바람직할 수도 있다.
통상적으로, 태스크 (T230) 는 값들의 제 2 시퀀스와 제 2 이득 인자의 곱에 기초하여 제 2 여기 신호를 생성하도록 구성된다. 도 14에 도시된 바와 같이, 제 2 시퀀스는, 제 1 여기 신호의 세그먼트와 같은, 제 1 여기 신호로부터의 정보에 기초한다. 전형적인 예에서, 제 2 시퀀스는 제 1 여기 신호의 마지막 서브프레임에 기초한다. 따라서, 태스크 (T210) 는 제 1 여기 신호로부터의 정보에 기초하여 적응 코드북을 업데이트하도록 구성될 수도 있다. RCELP (relaxation CELP) 코딩 모드를 지원하는 코딩 시스템에 대한 방법 (M200) 의 애플리케이션에 대해, 그러한 태스크 (T210) 의 구현은 피치 래그 파라미터의 대응하는 값에 따라 세그먼트를 시간-워핑하도록 구성될 수도 있다. 그러한 워핑 동작의 예는, 위에서 인용된 3GPP2 문헌 C.S0014-C v1.0의 (섹션 4.11.5를 참조하여) 섹션 5.2.2에서 설명된다. 태스크 (T230) 의 또 다른 구현들은 상술된 방법들 (M110, M120, M130, M140, 및 M180) 중 하나 이상을 포함할 수도 있다.
제 2 여기 신호에 기초하여, 태스크 (T240) 는 디코딩된 스피치 신호의 제 1 프레임에 바로 뒤따르는 제 2 프레임을 계산한다. 도 14에 도시된 바와 같이, 태스크 (T240) 도 또한, 상술된 스펙트럼 파라미터 값들의 세트와 같은, 제 1 인코딩된 프레임으로부터의 정보에 기초하여 제 2 프레임을 계산하도록 구성될 수도 있다. 예컨대, 태스크 (T240) 는 스펙트럼 파라미터 값들의 세트에 따라 제 2 여기 신호의 스펙트럼을 쉐이핑하도록 구성될 수도 있다.
다르게는, 태스크 (T240) 는 스펙트럼 파라미터 값들의 세트에 기초한 스펙트럼 파라미터 값들의 제 2 세트에 따라 제 2 여기 신호의 스펙트럼을 쉐이핑하도록 구성될 수도 있다. 예컨대, 태스크 (T240) 는 제 1 인코딩된 프레임으로부터의 스펙트럼 파라미터 값들의 세트와 스펙트럼 파라미터 값들의 초기 세트의 평균으로서 스펙트럼 파라미터 값들의 제 2 세트를 계산하도록 구성될 수도 있다. 가중화된 평균과 같은 계산의 예는 위에서 인용된 3GPP2 문헌 C.S0014-C v1.0에서 설명된다. 또한, 태스크 (T240) 는 제 2 여기 신호, 제 1 인코딩된 프레임으로부터의 정보, 및 계산된 제 2 프레임 중 하나 이상에 대해 하나 이상의 다른 프로세싱 동작들 (예컨대, 필터링, 평활화, 보간) 을 수행하는 것을 포함할 수도 있다.
제 3 여기 신호에 기초하여, 태스크 (T250) 는 디코딩된 스피치 신호에서 제 1 프레임에 선행하는 제 3 프레임을 계산한다. 또한, 태스크 (T250) 는 제 1 시퀀스를 저장함으로써 적응 코드북을 업데이트하는 것을 포함할 수도 있으며, 여기서 제 1 시퀀스는 제 3 여기 신호의 적어도 하나의 세그먼트에 기초한다. RCELP (relaxation CELP) 코딩 모드를 지원하는 코딩 시스템에 대한 방법 (M200) 의 애플리케이션에 대해, 태스크 (T250) 는 피치 래그 파라미터의 대응하는 값에 따라 세그먼트를 시간-워핑하도록 구성될 수도 있다. 그러한 워핑 동작의 예는 위에서 인용된 3GPP2 문헌 C.S0014-C v1.0의 (섹션 4.11.5를 참조하여) 섹션 5.2.2에서 설명된다.
인코딩된 프레임의 파라미터들의 적어도 일부는 서브프레임들의 시리즈로서 대응하는 디코딩된 프레임의 양태를 기술하도록 배열될 수도 있다. 예컨대, CELP 코딩 모드에 따라 포맷팅된 인코딩된 프레임은 그 프레임에 대한 스펙트럼 파라미터 값들의 세트 및 서브프레임들의 각각에 대한 시간 파라미터들 (예컨대, 코드북 인덱스들 및 이득 인자 값들) 의 개별 세트를 포함하는 것이 통상적이다. 대응하는 디코더는 디코딩된 프레임을 서브프레임 만큼 증분적으로 계산하도록 구성될 수도 있다. 그러한 경우에, 태스크 (T210) 는 서브프레임 여기 신호들의 시리즈로서 제 1 여기 신호를 생성하도록 구성될 수도 있어서, 서브프레임 여기 신호들의 각각이 상이한 이득 인자들 및/또는 시퀀스들에 기초할 수도 있다. 또한, 태스크 (T210) 는 서브프레임 여기 신호들의 각각으로부터의 정보를 사용하여 연속적으로 적응 코드북을 업데이트하도록 구성될 수도 있다. 마찬가지로, 태스크 (T220) 는 제 1 여기 신호의 상이한 서브프레임에 기초하여 제 1 디코딩된 프레임의 각각의 서브프레임을 계산하도록 구성될 수도 있다. 또한, 태스크 (T220) 는, 프레임들 사이에서, 서브프레임들에 걸쳐 스펙트럼 파라미터들의 세트를 보간하거나 또는 그렇지 않으면 평활화하도록 구성될 수도 있다.
도 15a는 디코더가 잡음 신호에 기초한 여기 신호 (예컨대, NELP 포맷의 표시에 응답하여 생성된 여기 신호) 로부터의 정보를 사용하여 적응 코드북을 업데이 트하도록 구성될 수도 있다는 것을 도시한다. 도 15a는 태스크들 (T260 및 T270) 을 포함하는, (도 13a로부터 상술된) 방법 (M200) 의 그러한 구현 (M201) 의 흐름도를 도시한다. 태스크 (T260) 는 잡음 신호 (예컨대, 백색 가우스 잡음에 근사한 의사 랜덤 신호) 를 생성하고, 태스크 (T270) 는 그 생성된 잡음 신호에 기초하여 제 3 여기 신호를 생성한다. 다시, 제 1 시퀀스와 제 3 여기 신호의 관계가 도 15a에서 점선으로 표시된다. 태스크 (T260) 가 대응하는 인코딩된 프레임으로부터의 다른 정보 (예컨대, 스펙트럼 정보) 에 기초한 시드 (seed) 값을 사용하여 잡음 신호를 생성하는 것은, 그러한 기술이 인코더에서 사용되었던 동일한 잡음 신호의 생성을 지원하기 위해 사용될 수도 있으므로 바람직할 수도 있다. 또한, 방법 (M201) 은 제 3 여기 신호에 기초하여 제 3 프레임을 계산하는 (도 13a로부터 상술된) 태스크 (T250) 의 일 구현 (T252) 을 포함한다. 또한, 태스크 (T252) 는 제 1 인코딩된 프레임에 바로 선행하고 제 2 포맷을 갖는 인코딩된 프레임으로부터의 정보에 기초하여 제 3 프레임을 계산하도록 구성된다. 그러한 경우들에, 태스크 (T230) 는 (A) 선행하는 프레임이 제 2 포맷을 갖는 것 및 (B) 제 1 인코딩된 프레임이 제 1 포맷을 갖는다는 표시에 기초할 수도 있다.
도 15b는 도 15a를 참조하여 상술된 방법 (M201) 에 대응하는 장치 (F201) 의 블록도를 도시한다. 장치 (F201) 는 방법 (M201) 의 다양한 태스크들을 수행하는 수단을 포함한다. (예컨대, 명령들의 하나 이상의 세트들, 로직 엘리먼트들의 하나 이상의 어레이들 등으로서) 여기서 개시된 그러한 태스크들을 수행하기 위한 임의의 구조들을 포함하는, 그러한 태스크들을 수행할 수 있는 임의의 구 조들에 따라 다양한 엘리먼트들이 구현될 수도 있다. 도 15b는, 디코더가 잡음 신호 (예컨대, NELP 포맷의 표시에 응답하여 생성된 여기 신호) 에 기초한 여기 신호로부터의 정보를 사용하여 적응 코드북을 업데이트하도록 구성될 수도 있다는 것을 도시한다. 도 15b의 장치 (F201) 는 수단 (F260, F270, 및 F252) 을 추가한 도 13b의 장치 (F200) 와 유사하다. 수단 (F260) 은 잡음 신호 (예컨대, 백색 가우스 잡음에 근사한 의사 랜덤 신호) 를 생성하며, 수단 (F270) 은 그 생성된 잡음 신호에 기초하여 제 3 여기 신호를 생성한다. 다시, 제 1 시퀀스와 제 3 여기 신호 간의 관계가 예시된 점선으로 표시된다. 수단 (F260) 이 대응하는 인코딩된 프레임으로부터의 다른 정보 (예컨대, 스펙트럼 정보) 에 기초한 시드 값을 사용하여 잡음 신호를 생성하는 것은, 그러한 기술이 인코더에서 사용되었던 동일한 잡음 신호의 생성을 지원하기 위해 사용될 수도 있으므로 바람직할 수도 있다. 또한, 장치 (F201) 는 (도 13a로부터 상술된) 수단 (F250) 에 대응하는 수단 (F252) 을 포함한다. 수단 (F252) 은 제 3 여기 신호에 기초하여 제 3 프레임을 계산한다. 또한, 수단 (F252) 은 제 1 인코딩된 프레임에 바로 선행하고 제 2 포맷을 갖는 인코딩된 프레임 ("선행하는 프레임") 으로부터의 정보에 기초하여 제 3 프레임을 계산하도록 구성된다. 그러한 경우들에, 수단 (F230) 은 (A) 선행하는 프레임이 제 2 포맷을 갖는 것 및 (B) 제 1 인코딩된 프레임이 제 1 포맷을 갖는다는 표시에 기초할 수도 있다.
도 16은 방법 (M201) 의 전형적인 애플리케이션에서의 몇몇 데이터 종속성들을 예시한다. 이 애플리케이션에서, 제 1 인코딩된 프레임에 바로 선행하는 인 코딩된 프레임 (도 16에서 "제 2 인코딩된 프레임"으로서 표시) 이 제 2 포맷 (예컨대, NELP 포맷) 을 갖는다. 도 16에 도시된 바와 같이, 태스크 (T252) 는 제 2 인코딩된 프레임으로부터의 정보에 기초하여 제 3 프레임을 계산하도록 구성된다. 예컨대, 태스크 (T252) 는 제 2 인코딩된 프레임으로부터의 정보에 기초한 스펙트럼 파라미터 값들의 세트에 따라 제 3 여기 신호의 스펙트럼을 쉐이핑하도록 구성될 수도 있다. 또한, 태스크 (T252) 는 제 3 여기 신호, 제 2 인코딩된 프레임으로부터의 정보, 및 계산된 제 3 프레임 중 하나 이상에 대해 하나 이상의 다른 프로세싱 동작들 (예컨대, 필터링, 평활화, 보간) 을 수행하는 것을 포함할 수도 있다. 또한, 태스크 (T252) 는 제 3 여기 신호로부터의 정보 (예컨대, 제 3 여기 신호의 세그먼트) 에 기초하여 적응 코드북을 업데이트하도록 구성될 수도 있다.
통상적으로, 스피치 신호는 스피커가 침묵하는 주기들을 포함한다. 인코더는 그러한 주기 동안 비활성 프레임들의 전부보다 더 적은 비활성 프레임들에 대해 인코딩된 프레임들을 송신하는 것이 바람직할 수도 있다. 그러한 동작은 불연속 송신 (DTX) 이라 또한 호칭된다. 일 예에서, 스피치 인코더는, 32개의 연속적인 비활성 프레임들의 각각의 스트링에 대해 하나의 인코딩된 비활성 프레임 (또한 "묵음 디스크립터 (discriptor)", "묵음 디스크립션", 또는 SID) 을 송신함으로써 DTX를 수행한다. 다른 예들에서, 스피치 인코더는, 연속적인 비활성 프레임들의 상이한 수 (예컨대, 8 또는 16) 의 각각의 스트링에 대해 하나의 SID를 송신함으로써, 및/또는 프레임 에너지 또는 스펙트럼 틸트의 변화와 같은 몇몇 다 른 경우에 SID를 송신함으로써 DTX를 수행한다. 대응하는 디코더는 SID 내의 정보 (통상적으로, 스펙트럼 파라미터 값들 및 이득 프로파일) 를 사용하여, 인코딩된 프레임이 수신되지 않았던 후속 프레임 주기들에 대한 비활성 프레임들을 합성한다.
DTX를 또한 지원하는 코딩 시스템에서 방법 (M200) 을 사용하는 것이 바람직할 수도 있다. 도 17은 제 2 인코딩된 프레임이 SID 프레임이고 그 프레임과 제 1 인코딩된 프레임 간의 프레임들이 비어 있는 (여기서 "DTX 간격"이라 표시), 방법 (M201) 의 그러한 애플리케이션에 대한 몇몇 데이터 종속성들을 예시한다. 태스크 (T252) 에 제 2 인코딩된 프레임을 연결하는 선은 디코딩된 스피치 신호의 하나보다 더 많은 프레임을 계산하기 위해 제 2 인코딩된 프레임으로부터의 정보 (예컨대, 스펙트럼 파라미터 값들) 가 사용된다는 것을 표시하기 위해 파선으로 되어 있다.
상기된 바와 같이, 태스크 (T230) 는 제 1 인코딩된 프레임에 선행하는 인코딩된 프레임이 제 2 포맷을 갖는다는 표시에 응답하여 실행될 수도 있다. 도 17에 도시된 애플리케이션에 대해, 제 2 포맷의 표시는, 제 1 인코딩된 프레임에 바로 선행하는 프레임이 DTX를 위해 비어 있다는 표시, 또는 디코딩된 스피치 신호의 대응하는 프레임을 계산하기 위해 NELP 코딩 모드가 사용된다는 표시일 수도 있다. 다르게는, 제 1 포맷의 그러한 표시는 제 2 인코딩된 프레임의 포맷의 표시 (즉, 제 1 인코딩된 프레임 이전의 마지막 SID 프레임의 포맷의 표시) 일 수도 있다.
도 17은 제 3 프레임이 디코딩된 스피치 신호에서 제 1 프레임에 바로 선행하고 DTX 간격 내의 마지막 프레임 주기에 대응하는 특정한 예를 도시한다. 다른 예들에서, 제 3 프레임이 DTX 간격 내의 다른 프레임 주기에 대응하여, 하나 이상의 프레임들이 디코딩된 스피치 신호에서 제 1 프레임으로부터 제 3 프레임을 분리시킨다. 또한, 도 17은 DTX 간격 동안에 적응 코드북이 업데이트되지 않는 예를 도시한다. 다른 예들에서, DTX 간격 동안에 생성된 하나 이상의 여기 신호들이 적응 코드북을 업데이트하기 위해 사용된다.
잡음-기반 여기 신호의 메모리는 후속 프레임들에 대한 여기 신호들을 생성하는데 유용하지 않을 수도 있다. 따라서, 디코더가 적응 코드북을 업데이트하기 위해 잡음-기반 여기 신호들로부터의 정보를 사용하지 않는 것이 바람직할 수도 있다. 예컨대, 그러한 디코더는, CELP 프레임을 디코딩할 때에만; 또는 CELP, PPP, 또는 PWI 프레임을 디코딩할 때에만 적응 코드북을 업데이트하고, NELP 프레임을 디코딩할 때에는 적응 코드북을 업데이트하지 않도록 구성될 수도 있다.
도 18은 태스크들 (T260, T280, 및 T290) 을 포함하는 (도 13a의) 방법 M200의 그러한 구현 방법 (M203) 의 흐름도를 도시한다. 태스크 (T280) 는 태스크 (T260) 에 의해 생성된 잡음 신호에 기초하여 제 4 여기 신호를 생성한다. 이러한 특정한 예에서, 태스크들 (T210 및 T280) 은, 실선으로 표시된 바와 같이, 제 2 인코딩된 프레임이 제 2 포맷을 갖는다는 표시에 따라 실행되도록 구성된다. 제 4 여기 신호에 기초하여, 태스크 (T290) 는 제 3 프레임에 바로 선행하는 디코딩된 스피치 신호의 제 4 프레임을 계산한다. 또한, 방법 (M203) 은 태스크 (T245) 로부터의 제 3 여기 신호에 기초하여 디코딩된 스피치 신호의 제 3 프레임을 계산하는, (도 13a의) 태스크 (T250) 의 일 구현 (T254) 을 포함한다.
태스크 (T290) 는 제 1 인코딩된 프레임에 선행하는 제 2 인코딩된 프레임으로부터의 스펙트럼 파라미터 값들의 세트와 같은 정보에 기초하여 제 4 프레임을 계산한다. 예컨대, 태스크 (T290) 는 스펙트럼 파라미터 값들의 세트에 따라 제 4 여기 신호의 스펙트럼을 쉐이핑하도록 구성될 수도 있다. 태스크 (T254) 는 제 2 인코딩된 프레임에 선행하는 제 3 인코딩된 프레임으로부터의 스펙트럼 파라미터 값들의 세트와 같은 정보에 기초하여 제 3 프레임을 계산한다. 예컨대, 태스크 (T254) 는 스펙트럼 파라미터 값들의 세트에 따라 제 3 여기 신호의 스펙트럼을 쉐이핑하도록 구성될 수도 있다. 또한, 태스크 (T254) 는 제 3 인코딩된 프레임이 제 1 포맷을 갖는다는 표시에 응답하여 실행되도록 구성될 수도 있다.
도 19는 (도 18의) 방법 (M203) 의 전형적인 애플리케이션에서의 몇몇 데이터 종속성들을 예시한다. 이러한 애플리케이션에서, 제 3 인코딩된 프레임은, 여기 신호들이 적응 코드북을 업데이트하는데 사용되지 않는 하나 이상의 인코딩된 프레임들 (예컨대, NELP 포맷을 갖는 인코딩된 프레임들) 만큼 제 2 인코딩된 프레임으로부터 분리될 수도 있다. 이러한 경우에, 통상적으로, 제 3 및 제 4 디코딩된 프레임들은 제 2 및 제 3 인코딩된 프레임들을 분리시키는 동일한 수의 프레임들 만큼 분리될 것이다.
상기된 바와 같이, DTX를 또한 지원하는 코딩 시스템에서 방법 (M200) 을 사용하는 것이 바람직할 수도 있다. 도 20은 제 2 인코딩된 프레임이 SID 프레임 이고 그 프레임과 제 1 인코딩된 프레임 간의 프레임들이 비어 있는 (도 18의) 방법 (M203) 의 그러한 애플리케이션에 대한 몇몇 데이터 종속성들을 예시한다. 태스크 (T290) 에 제 2 인코딩된 프레임을 연결하는 선은 제 2 인코딩된 프레임으로부터의 정보 (예컨대, 스펙트럼 파라미터 값들) 가 디코딩된 스피치 신호의 하나보다 더 많은 프레임을 계산하기 위해 사용된다는 것을 표시하기 위해 파선으로 되어 있다.
상기된 바와 같이, 태스크 (T230) 은 제 1 인코딩된 프레임에 선행하는 인코딩된 프레임이 제 2 포맷을 갖는다는 표시에 응답하여 실행할 수도 있다. 도 20에 도시된 애플리케이션에 대해, 제 2 포맷의 그러한 표시는, 제 1 인코딩된 프레임에 바로 선행하는 프레임이 DTX를 위해 비어 있다는 표시, 또는 디코딩된 스피치 신호의 대응하는 프레임을 계산하기 위해 NELP 코딩 모드가 사용된 것의 표시일 수도 있다. 다르게는, 제 2 포맷의 표시는 제 2 인코딩된 프레임의 포맷의 표시 (즉, 제 1 인코딩된 프레임 이전의 마지막 SID 프레임의 포맷의 표시) 일 수도 있다.
도 20은, 제 4 프레임이 디코딩된 스피치 신호에서 제 1 프레임에 선행하고 DTX 간격 내의 마지막 프레임 주기에 대응하는 특정한 예를 도시한다. 다른 예들에서, 제 4 프레임이 DTX 간격 내의 다른 프레임 주기에 대응하여, 하나 이상의 프레임들이 디코딩된 스피치 신호에서 제 1 프레임으로부터 제 4 프레임을 분리시킨다.
(도 13a의) 방법 (M200) 의 일 구현의 전형적인 애플리케이션에서, 로직 엘 리먼트들 (예컨대, 로직 게이트들) 의 어레이가 방법의 다양한 태스크들 중 하나, 하나보다 더 많거나, 또는 전부를 수행하도록 구성된다. 또한, 태스크들의 하나 이상 (가능하게는 전부) 은, 로직 엘리먼트들 (예컨대, 프로세서, 마이크로프로세서, 마이크로제어기, 또는 다른 유한 상태 머신) 의 어레이를 포함하는 머신 (예컨대, 컴퓨터) 에 의해 판독가능 및/또는 실행가능한 컴퓨터 프로그램 제품 (예컨대, 디스크들, 플래시 또는 다른 비휘발성 메모리 카드들, 반도체 메모리 칩들 등과 같은 하나 이상의 데이터 저장 매체) 내에 수록된 코드 (예컨대, 명령들의 하나 이상의 세트들) 로서 구현될 수도 있다. 또한, (도 13a의) 방법 (M200) 의 일 구현의 태스크들은 하나보다 더 많은 그러한 어레이 또는 머신에 의해 수행될 수도 있다. 이들 또는 다른 구현들에서, 태스크들은 셀룰러 전화기 또는 그러한 통신 능력을 갖는 다른 디바이스와 같은 무선 통신을 위한 디바이스 내에서 수행될 수도 있다. 그러한 디바이스는 (예컨대, VoIP와 같은 하나 이상의 프로토콜들을 사용하여) 패킷-교환 및/또는 회선-교환 네트워크들과 통신하도록 구성될 수도 있다. 예컨대, 그러한 디바이스는 인코딩된 프레임들을 수신하도록 구성된 RF 회로를 포함할 수도 있다.
도 21a는 일반적인 구성에 따른 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치 (A100) 의 블록도를 도시한다. 예컨대, 장치 (A100) 는 여기서 설명된 방법 (M100) 또는 방법 (M200) 의 일 구현을 포함하는 스피치 디코딩의 방법을 수행하도록 구성될 수도 있다. 도 21b는 장치 (A100) 의 전형적인 애플리케이션을 예시하며, 이는 (A) 인코딩된 스피치 신호의 제 1 인코딩된 프레임 및 (B) 인코딩된 스피치 신호에서 제 1 인코딩된 프레임에 바로 뒤따르는 프레임의 삭제의 표시에 기초하여, 디코딩된 스피치 신호의 연속적인 제 1 및 제 2 프레임들을 계산하도록 구성된다. 장치 (A100) 는 삭제의 표시를 수신하도록 배열된 로직 모듈 (110); 상술된 바와 같이 제 1, 제 2, 및 제 3 여기 신호들을 생성하도록 구성된 여기 신호 생성기 (120); 및 디코딩된 스피치 신호의 제 1 및 제 2 프레임들을 계산하도록 구성된 스펙트럼 쉐이퍼 (130) 를 포함한다.
셀룰러 전화기와 같은 장치 (A100) 를 포함하는 통신 디바이스는 유선, 무선, 또는 광학 송신 채널로부터 인코딩된 스피치 신호를 포함하는 송신을 수신하도록 구성될 수도 있다. 그러한 디바이스는, 반송파 신호를 복조하고/하거나 인코딩된 스피치 신호를 획득하기 위하여 송신에 대해 에러-정정 코드들의 디코딩 및/또는 디인터리빙과 같은 사전 프로세싱 동작들을 수행하도록 구성될 수도 있다. 또한, 그러한 디바이스는, 장치 (A100), 및 (예컨대, 송수신기에서와 같은) 양방향 (duplex conversation) 의 다른 스피치 신호를 인코딩 및/또는 송신하기 위한 장치 양자 모두의 구현들을 포함할 수도 있다.
로직 모듈 (110) 은 여기 신호 생성기 (120) 로 하여금 제 2 여기 신호를 출력하게 하도록 구성 및 배열된다. 제 2 여기 신호는 기저선 이득 인자 값보다 더 큰 제 2 이득 인자에 기초한다. 예컨대, 로직 모듈 (110) 과 여기 신호 생성기 (120) 의 조합은 상술된 바와 같이 태스크 (T230) 를 실행하도록 구성될 수도 있다.
로직 모듈 (110) 은 수개의 조건들에 따라, 2개 이상의 옵션들 중에서 제 2 이득 인자를 선택하도록 구성될 수도 있다. 이들 조건들은, (A) 가장 최근의 인코딩된 프레임이 제 1 포맷 (예컨대, CELP 포맷) 을 가졌었던 것, (B) 가장 최근의 인코딩된 프레임에 선행하는 인코딩된 프레임이 제 2 포맷 (예컨대, NELP 포맷) 을 가졌었던 것, (C) 현재의 인코딩된 프레임이 삭제된 것, 및 (D) 임계값과 기저선 이득 인자 값 간의 관계가 특정한 상태를 갖는 것 (예컨대, 임계값이 기저선 이득 인자 값보다 더 큰 것) 을 포함한다. 도 22는 AND 게이트 (140) 및 선택기 (150) 를 사용하는 로직 모듈 (110) 의 그러한 구현 (112) 의 동작을 기술하는 논리 개략도를 도시한다. 모든 조건들이 참인 경우에, 로직 모듈 (112) 은 제 2 이득 인자를 선택한다. 그렇지 않으면, 로직 모듈 (112) 은 기저선 이득 인자 값을 선택한다.
도 23은 로직 모듈 (110) 의 다른 구현 (114) 의 동작의 흐름도를 도시한다. 이 예에서, 로직 모듈 (114) 은 도 8에 도시된 태스크들 (N210, N220, 및 N230) 을 수행하도록 구성된다. 또한, 로직 모듈 (114) 의 일 구현은 도 8에 도시된 태스크들 (T110 내지 T140) 중 하나 이상 (가능하게는 전부) 을 수행하도록 구성될 수도 있다.
도 24는 상태 머신을 포함하는 로직 모듈 (110) 의 다른 구현 (116) 의 동작의 디스크립션을 도시한다. 각각의 인코딩된 프레임에 대해, 상태 머신은 포맷 또는 현재의 인코딩된 프레임의 삭제의 표시에 따라, 그 상태 (상태 1은 초기 상태이다) 를 업데이트한다. 상태 머신이 현재의 프레임이 삭제된 것의 표시를 수신할 때 상태 머신이 상태 3에 있는 경우에, 로직 모듈 (116) 은 기저선 이득 인자 값이 임계값보다 더 작은지 (다르게는, 더 크지 않은지) 여부를 결정한다. 이 비교의 결과에 따라, 로직 모듈 (116) 은 기지선 이득 인자 값 또는 제 2 이득 인자 중 하나를 선택한다.
여기 신호 생성기 (120) 는 서브프레임 여기 신호들의 시리즈로서 제 2 여기 신호를 생성하도록 구성될 수도 있다. 로직 모듈 (110) 의 대응하는 구현은 각각의 서브프레임 여기 신호에 대해 제 2 이득 인자의 상이한 값을 선택 또는 그렇지 않으면 산출하도록 구성될 수도 있으며, 그 값들의 적어도 하나는 기저선 이득 인자 값보다 더 크다. 예컨대, 도 25는 도 8에 도시된 태스크들 (T140, T230, 및 T240) 을 수행하도록 구성된 로직 모듈 (116) 의 그러한 구현 (118) 의 동작의 디스크립션을 도시한다.
로직 모듈 (120) 은, 장치 (A100) 내에 포함되거나 또는 장치 (A100) 외부에 있는 (예컨대, 장치 (A100) 을 포함하는 셀룰러 전화기와 같은 디바이스 내에 있는) 삭제 검출기 (210) 로부터 삭제 표시를 수신하도록 배열될 수도 있다. 삭제 검출기 (210) 는 다음의 조건들 중 임의의 하나 이상을 검출할 시에 프레임에 대한 삭제 표시를 산출하도록 구성될 수도 있으며, 그 조건들은 다음과 같다: (1) 프레임이 복구될 너무 많은 비트 에러들을 포함한다; (2) 프레임에 대해 표시된 비트 레이트가 유효하지 않거나 또는 지원되지 않는다; (3) 프레임의 모든 비트가 0이다; (4) 프레임에 대해 표시된 비트 레이트가 1/8-레이트이고 프레임의 모든 비트가 1이다; (5) 프레임이 비어 있고 마지막 유효 비트 레이트가 1/8-레이트가 아니었다.
로직 모듈 (110) 의 또 다른 구현들은, 상술된 프레임 삭제 복구 모듈 (100) 에 의해 수행된 것과 같은, 삭제 프로세싱의 추가 양태들을 수행하도록 구성될 수도 있다. 예컨대, 로직 모듈 (110) 의 그러한 구현은, 기저선 이득 인자 값을 계산하고/하거나 제 2 여기 신호를 필터링하기 위한 스펙트럼 파라미터 값들의 세트를 계산하는 태스크들을 수행하도록 구성될 수도 있다. 제 1 인코딩된 프레임이 하나의 적응 코드북 이득 인자만을 포함하는 애플리케이션에 대해, 기저선 이득 인자 값은 단순히 제 1 이득 인자의 값일 수도 있다. 제 1 인코딩된 프레임이 수개의 적응 코드북 이득 인자들 (예컨대, 각각의 서브프레임에 대해 상이한 인자) 을 포함하는 애플리케이션에 대해, 기저선 이득 인자 값도 또한 다른 적응 코드북 이득 인자들의 하나 이상에 기초할 수도 있다. 그러한 경우에, 예컨대, 로직 모듈 (110) 은 제 1 인코딩된 프레임의 적응 코드북 이득 인자들의 평균으로서 기저선 이득 인자 값을 계산하도록 구성될 수도 있다.
로직 모듈 (110) 의 구현들은, 그 구현들이 여기 신호 생성기 (120) 로 하여금 제 2 여기 신호를 출력하게 하는 방식에 따라 분류될 수도 있다. 로직 모듈 (110) 의 하나의 클래스 (110A) 는 여기 신호 생성기 (120) 에 제 2 이득 인자를 제공하도록 구성된 구현들을 포함한다. 도 26a는, 로직 모듈 (110) 의 그러한 구현 및 여기 신호 생성기 (120) 의 대응하는 구현 (120A) 을 포함하는 장치 (A100) 의 일 구현 (A100A) 의 블록도를 도시한다.
로직 모듈 (110) 의 다른 클래스 (110B) 는, 여기 신호 생성기 (110) 로 하여금 (예컨대, 입력으로서) 2개 이상의 옵션들 중에서 제 2 이득 인자를 선택하게 하도록 구성된 구현들을 포함한다. 도 26b는, 로직 모듈 (110) 의 그러한 구현 및 여기 신호 생성기 (120) 의 대응하는 구현 (120B) 을 포함하는 장치 (A100) 의 일 구현 (A100B) 의 블록도를 도시한다. 이러한 경우에, 도 22에서 로직 모듈 (112) 내에 도시된 선택기 (150) 가 그 대신 여기 신호 생성기 (120B) 내에 위치된다. 로직 모듈 (110) 의 임의의 구현들 (112, 114, 116, 118) 이 클래스 (110A) 또는 클래스 (110B) 에 따라 구성 및 배열될 수도 있다는 것이 명백히 의도되며 여기서 개시된다.
도 26c는 장치 (A100) 의 일 구현 (A100C) 의 블록도를 도시한다. 장치 (A100C) 는, 여기 신호 생성기 (120) 로 하여금 2개 이상의 여기 신호들 중에서 제 2 여기 신호를 선택하게 하도록 배열된 로직 모듈 (110) 의 클래스 (110B) 의 일 구현을 포함한다. 여기 신호 생성기 (120C) 는 여기 신호 생성기 (120) 의 2개의 서브-구현들 (120C1, 120C2) 을 포함하고, 그 중 하나는 제 2 이득 인자에 기초하여 여기 신호를 생성하도록 구성되고, 다른 하나는 다른 이득 인자 값 (예컨대, 기저선 이득 인자 값) 에 기초하여 여기 신호를 생성하도록 구성된다. 여기 신호 생성기 (120C) 는, 제 2 이득 인자에 기초한 여기 신호를 선택함으로써, 로직 모듈 (110B) 로부터 선택기 (150) 로의 제어 신호에 따라, 제 2 여기 신호를 생성하도록 구성된다. 여기 신호 생성기 (120) 의 클래스 (120C) 의 일 구성은 클래스 (120A 또는 120B) 의 대응하는 구현보다 더 많은 프로세싱 사이클들, 파워, 및/또는 저장소를 소비할 수도 있다는 것을 유의한다.
여기 신호 생성기 (120) 는 제 1 이득 인자 및 값들의 제 1 시퀀스에 기초하 여 제 1 여기 신호를 생성하도록 구성된다. 예컨대, 여기 신호 생성기 (120) 는 상술된 바와 같이 태스크 (T210) 를 수행하도록 구성될 수도 있다. 값들의 제 1 시퀀스는 제 3 여기 신호의 세그먼트와 같은, 제 3 여기 신호로부터의 정보에 기초한다. 전형적인 예에서, 제 1 시퀀스는 제 3 여기 신호의 마지막 서브프레임에 기초한다.
여기 신호 생성기 (120) 의 전형적인 구현은 제 1 시퀀스를 수신 및 저장하도록 구성된 메모리 (예컨대, 적응 코드북) 를 포함한다. 도 27a는 그러한 메모리 (160) 를 포함하는 여기 신호 생성기 (120) 의 일 구현 (122) 의 블록도를 도시한다. 다르게는, 적응 코드북의 적어도 일부는 장치 (A100) 내부 또는 외부의 다른 위치의 메모리에 위치될 수도 있어서, 제 1 시퀀스의 일부 (가능하게는 전부) 가 여기 신호 생성기 (120) 로의 입력으로서 제공된다.
도 27a에 도시된 바와 같이, 여기 신호 생성기 (120) 는 현재의 이득 인자와 시퀀스의 곱을 계산하도록 구성된 승산기 (170) 를 포함할 수도 있다. 제 1 이득 인자는, 이득 코드북 인덱스와 같은, 제 1 인코딩된 프레임으로부터의 정보에 기초할 수도 있다. 그러한 경우에, 여기 신호 생성기 (120) 는, 그 인덱스에 대응하는 값으로서 제 1 이득 인자를 검색하도록 구성된 로직과 함께, 이득 코드북을 포함할 수도 있다. 여기 신호 생성기 (120) 는 또한 적응 코드북 내의 제 1 시퀀스의 위치를 표시하는 적응 코드북 인덱스를 수신하도록 구성될 수도 있다.
여기 신호 생성기 (120) 는 제 1 인코딩된 프레임으로부터의 추가 정보에 기초하여 제 1 여기 신호를 생성하도록 구성될 수도 있다. 그러한 정보는 하나 이상의 고정 코드북 인덱스들, 및 제 1 여기 신호에 대한 고정 코드북 기여를 특정하는, 대응하는 이득 인자 값들 또는 코드북 인덱스들을 포함할 수도 있다. 도 27b는, 생성된 여기 신호가 기초할 수도 있는 다른 정보를 저장하도록 구성된 코드북 (180) (예컨대, 고정 코드북), 고정 코드북 시퀀스와 고정 코드북 이득 인자의 곱을 계산하도록 구성된 승산기 (190), 및 고정 코드북 기여와 적응 코드북 기여의 합으로서 여기 신호를 계산하도록 구성된 가산기 (195) 를 포함하는 여기 신호 생성기 (122) 의 일 구현 (124) 의 블록도를 도시한다. 여기 신호 생성기 (124) 는 또한 대응하는 인덱스들에 따라 코드북들 각각으로부터 시퀀스들 및 이득 인자들을 검색하도록 구성된 로직을 포함할 수도 있다.
여기 신호 생성기 (120) 는 또한 제 2 이득 인자 및 값들의 제 2 시퀀스에 기초하여 제 2 여기 신호를 생성하도록 구성된다. 제 2 이득 인자는 제 1 이득 인자보다 더 크고 기저선 이득 인자 값보다 더 클 수도 있다. 제 2 이득 인자는 또한 임계값과 동일하거나 또는 임계값보다 더 클 수도 있다. 여기 신호 생성기 (120) 가 서브프레임 여기 신호들의 시리즈로서 제 2 여기 신호를 생성하도록 구성된 경우에 대해, 각각의 서브프레임 여기 신호에 대해 제 2 이득 인자의 상이한 값이 사용될 수도 있으며 그 값들 중 적어도 하나는 기저선 이득 인자 값보다 더 크다. 그러한 경우에, 제 2 이득 인자의 상이한 값들이 프레임 주기에 걸쳐 상승 또는 하락하도록 배열되는 것이 바람직할 수도 있다.
값들의 제 2 시퀀스는, 제 1 여기 신호의 세그먼트와 같은, 제 1 여기 신호로부터의 정보에 기초한다. 전형적인 예에서, 제 2 시퀀스는 제 1 여기 신호의 마지막 서브프레임에 기초한다. 따라서, 여기 신호 생성기 (120) 는 제 1 여기 신호로부터의 정보에 기초하여 적응 코드북을 업데이트하도록 구성될 수도 있다. RCELP (relaxation CELP) 코딩 모드를 지원하는 코딩 시스템에 대한 장치 (A100) 의 애플리케이션에 대해, 여기 신호 생성기 (120) 의 그러한 구현은 피치 래그 파라미터의 대응하는 값에 따라 세그먼트를 타임-워핑하도록 구성될 수도 있다. 그러한 워핑 동작의 일 예는 위에서 인용된 3GPP2 문헌 C.S0014-C v1.0의 (섹션 4.11.5를 참조하여) 섹션 5.2.2에서 설명된다.
여기 신호 생성기 (120) 는 또한 제 3 여기 신호를 생성하도록 구성된다. 몇몇 애플리케이션들에서, 여기 신호 생성기 (120) 는 적응 코드북 (예컨대, 메모리 (160)) 로부터의 정보에 기초하여 제 3 여기 신호를 생성하도록 구성된다.
여기 신호 생성기 (120) 는 잡음 신호 (예컨대, NELP 포맷의 표시에 응답하여 생성된 여기 신호) 에 기초한 여기 신호를 생성하도록 구성될 수도 있다. 그러한 경우들에, 여기 신호 생성기 (120) 는 태스크 (T260) 를 수행하도록 구성된 잡음 신호 생성기를 포함하도록 구성될 수도 있다. 잡음 생성기가 (스펙트럼 정보와 같은) 대응하는 인코딩된 프레임으로부터의 다른 정보에 기초한 시드 값을 사용하는 것은, 그러한 기술이 인코더에서 사용되었던 동일한 잡음 신호의 생성을 지원하기 위해 사용될 수도 있으므로 바람직할 수도 있다. 다르게는, 여기 신호 생성기 (120) 는 생성된 잡음 신호를 수신하도록 구성될 수도 있다. 특정한 애플리케이션에 따라, 여기 신호 생성기 (120) 는 생성된 잡음 신호에 기초하여 제 3 여기 신호를 생성하거나 (예컨대, 태스크 (T270) 를 수행하거나) 또는 생성된 잡 음 신호에 기초하여 제 4 여기 신호를 생성하도록 (예컨대, 태스크 (T280) 를 수행하도록) 구성될 수도 있다.
여기 신호 생성기 (120) 는, 프레임 포맷의 표시에 따라, 적응 코드북으로부터의 시퀀스에 기초하여 여기 신호를 생성하거나 또는 생성된 잡음 신호에 기초하여 여기 신호를 생성하도록 구성될 수도 있다. 그러한 경우에, 여기 신호 생성기 (120) 는 현재의 프레임이 삭제된 경우에 마지막 유효 프레임의 코딩 모드에 따라 계속 동작하도록 통상적으로 구성된다.
여기 신호 생성기 (122) 는 적응 코드북을 업데이트하도록 통상적으로 구현되어, 메모리 (160) 에 저장된 시퀀스가 이전의 프레임에 대한 여기 신호에 기초하도록 한다. 상기된 바와 같이, 적응 코드북을 업데이트하는 것은 피치 래그 파라미터의 값에 따라 시간-워핑 동작을 수행하는 것을 포함할 수도 있다. 여기 신호 생성기 (122) 는 각각의 프레임에서 (또는 각각의 서브프레임에서) 메모리 (160) 를 업데이트하도록 구성될 수도 있다. 다르게는, 여기 신호 생성기 (122) 는 메모리로부터의 정보에 기초한 여기 신호를 사용하여 디코딩된 프레임들에서만 메모리 (16) 를 업데이트하도록 구현될 수도 있다. 예컨대, 여기 신호 생성기 (122) 는 CELP 프레임들에 대한 여기 신호들로부터의 정보에 기초하여 메모리 (160) 를 업데이트하지만 NELP 프레임들에 대한 여기 신호들로부터의 정보에 기초하여서는 업데이트하지 않도록 구현될 수도 있다. 메모리 (160) 가 업데이트되지 않는 프레임 주기들에 대해, 메모리 (160) 의 컨텐츠는 변화되지 않고 남아 있거나 또는 초기 상태로 리셋 (예컨대, 0으로 설정) 될 수도 있다.
스펙트럼 쉐이퍼 (130) 는, 인코딩된 스피치 신호의 제 1 인코딩된 프레임으로부터의 정보 및 제 1 여기 신호에 기초하여, 디코딩된 스피치 신호의 제 1 프레임을 계산하도록 구성된다. 예컨대, 스펙트럼 쉐이퍼 (130) 는 태스크 (T220) 를 수행하도록 구성될 수도 있다. 스펙트럼 쉐이퍼 (130) 는 또한, 제 2 여기 신호에 기초하여, 제 1 프레임에 바로 뒤따르는 디코딩된 스피치 신호의 제 2 프레임을 계산하도록 구성된다. 예컨대, 스펙트럼 쉐이퍼 (130) 는 태스크 (T240) 를 수행하도록 구성될 수도 있다. 스펙트럼 쉐이퍼 (130) 는 또한, 제 3 여기 신호에 기초하여, 제 1 프레임에 선행하는 디코딩된 스피치 신호의 제 3 프레임을 계산하도록 구성된다. 예컨대, 스펙트럼 쉐이퍼 (130) 는 태스크 (T250) 를 수행하도록 구성될 수도 있다. 애플리케이션에 따라, 스펙트럼 쉐이퍼 (130) 는 또한, 제 4 여기 신호에 기초하여, 디코딩된 스피치 신호의 제 4 프레임을 계산하도록 (예컨대, 태스크 (T290) 를 수행하도록) 구성될 수도 있다.
스펙트럼 쉐이퍼 (130) 의 전형적인 구현은, LPC 계수 값들의 세트와 같이, 프레임에 대한 스펙트럼 파라미터 값들의 세트에 따라 구성된 합성 필터를 포함한다. 스펙트럼 쉐이퍼 (130) 는 여기서 설명된 스피치 파라미터 계산기 및/또는 로직 모듈 (110) 로부터의 스피치 파라미터 계산기 (예컨대, 프레임 삭제의 경우들) 로부터 스펙트럼 파라미터 값들의 세트를 수신하도록 배열될 수도 있다. 스펙트럼 쉐이퍼 (130) 는 또한, 여기 신호의 상이한 서브프레임들의 시리즈 및/또는 스펙트럼 파라미터 값들의 상이한 세트들의 시리즈에 따라, 디코딩된 프레임을 계산하도록 구성될 수도 있다. 스펙트럼 쉐이퍼 (130) 는 또한, 여기 신호, 쉐 이핑된 여기 신호, 및/또는 스펙트럼 파라미터 값들에 대해 다른 필터링 동작들과 같은 하나 이상의 다른 프로세싱 동작들을 수행하도록 구성될 수도 있다.
장치 (A100) 내에 포함되거나 또는 장치 (A100) 외부 (예컨대, 장치 (A100) 를 포함하는 셀룰러 전화기와 같은 디바이스 내부) 에 있는 포맷 검출기 (220), 로직 모듈 (110), 여기 신호 생성기 (120), 및 스펙트럼 쉐이퍼 (130) 중 하나 이상에 제 1 및 다른 인코딩된 프레임들에 대한 프레임 포맷의 표시들을 제공하도록 배열될 수도 있다. 포맷 검출기 (220) 는 삭제 검출기 (210) 를 포함할 수도 있거나 또는 이들 2개의 엘리먼트들은 개별적으로 구현될 수도 있다. 몇몇 애플리케이션들에서, 코딩 시스템은 특정한 비트 레이트에 대해 하나의 코딩 모드만을 사용하도록 구성된다. 이러한 경우들에 대해, (예컨대 프레임 에너지와 같은 하나 이상의 파라미터들로부터 결정되는 것과 같은) 인코딩된 프레임의 비트 레이트가 또한 프레임 포맷을 표시한다. 인코딩된 프레임의 비트 레이트에서 하나보다 더 많은 코딩 모드를 사용하는 코딩 시스템에 대해, 포맷 검출기 (220) 는 코딩 모드를 식별하는 인코딩된 프레임 내의 하나 이상의 비트들의 세트와 같은 코딩 인덱스로부터 포맷을 결정하도록 구성될 수도 있다. 이러한 경우에, 포맷 표시는 코딩 인덱스의 결정에 기초할 수도 있다. 몇몇 경우들에서, 코딩 인덱스는 코딩 모드를 명시적으로 표시할 수도 있다. 다른 경우들에서, 코딩 인덱스는, 예컨대 다른 코딩 모드에 대해 유효하지 않을 값을 표시함으로써, 코딩 모드를 명시적으로 표시할 수도 있다.
장치 (A100) 는 장치 (A100) 내에 포함되거나 또는 장치 (A100) 외부 (예컨 대, 장치 (A100) 를 포함하는 셀룰러 전화기와 같은 디바이스 내부) 에 있는 스피치 파라미터 계산기 (230) 로부터 인코딩된 프레임의 스피치 파라미터들 (예컨대, 스펙트럼 파라미터 값들, 적응 및/또는 고정 코드북 인덱스들, 이득 인자 값들, 및/또는 코드북 인덱스들) 을 수신하도록 배열될 수도 있다. 도 28은 파서 (parser) (310) (또한 "역패킷화기"라 호칭), 역양자화기들 (320 및 330), 및 변환기 (340) 를 포함하는 스피치 파라미터 계산기 (230) 의 일 구현 (232) 의 블록도를 도시한다. 파서 (310) 는 인코딩된 프레임의 포맷에 따라 인코딩된 프레임을 파싱 (parse) 하도록 구성된다. 예컨대, 파서 (310) 는, 프레임 내의 정보의 다양한 타입들을, 포맷에 의해 표시된 바와 같은, 프레임 내의 그 비트 포지션들에 따라 구별하도록 구성될 수도 있다.
역양자화기 (320) 는 스펙트럼 정보를 역양자화하도록 구성된다. 예컨대, 역양자화기 (320) 는 인코딩된 프레임으로부터 파싱된 스펙트럼 정보를 인덱스들로서 하나 이상의 코드북들에 적용하여 스펙트럼 파라미터 값들의 세트를 획득하도록 통상적으로 구성된다. 역양자화기 (330) 는 시간 정보를 역양자화하도록 구성된다. 예컨대, 역양자화기 (330) 는 또한 인코딩된 프레임으로부터 파싱된 시간 정보를 인덱스들로서 하나 이상의 코드북들에 적용하여 시간 파라미터 값들 (예컨대, 이득 인자 값들) 을 획득한다. 다르게는, 여기 신호 생성기 (120) 는 시간 정보 (예컨대, 적응 및/또는 고정 코드북 인덱스들) 의 일부 또는 전부의 역양자화를 수행하도록 구성될 수도 있다. 도 28에 도시된 바와 같이, 역양자화기들 (320 및 33) 중 하나 또는 양자 모두는, 상이한 코딩 모드들이 상이한 양자화 테이블들 또는 기법들을 사용할 수도 있으므로, 특정한 프레임 포맷에 따라 대응하는 프레임 정보를 역양자화하도록 구성될 수도 있다.
상기된 바와 같이, LPC 계수 값들은 통상적으로 양자화 이전에 다른 형태 (예컨대, LSP, LSF, ISP, 및/또는 ISF 값들) 로 변환된다. 변환기 (340) 는 역양자화된 스펙트럼 정보를 LPC 계수 값들로 변환하도록 구성된다. 삭제된 프레임에 대해, 스피치 파라미터 계산기 (230) 의 출력들은 특정한 설계 선택에 따라, 널 (null) 이거나, 정의되지 않거나, 또는 변화되지 않을 수도 있다. 도 29a는 삭제 검출기 (210), 포맷 검출기 (220), 스피치 파라미터 계산기 (230), 및 장치 (A100) 의 구현들을 포함하는 시스템의 일 예의 블록도를 도시한다. 도 29b는 삭제 검출을 또한 수행하는 포맷 검출기 (220) 의 일 구현 (222) 을 포함하는 유사한 시스템의 블록도를 도시한다.
장치 (A100) 의 일 구현의 다양한 엘리먼트들은 의도된 애플리케이션에 적당하다고 간주되는 하드웨어, 소프트웨어, 및/또는 펌웨어의 임의의 조합으로 실시될 수도 있다. 예컨대, 그러한 엘리먼트들은, 동일한 칩 상에 상주하거나 또는 칩세트 내의 2개 이상의 칩들 사이에 상주하는 전자 및/또는 광학 디바이스들로서 제조될 수도 있다. 그러한 디바이스의 하나의 예는 트랜지스터들 또는 로직 게이트들과 같은 로직 엘리먼트들의 고정 또는 프로그래밍 가능한 어레이이고, 임의의 이들 엘리먼트들은 하나 이상의 그러한 어레이들로서 구현될 수도 있다. 이들 엘리먼트들의 임의의 2개 이상 또는 전부가 동일한 어레이 또는 어레이들 내에 구현될 수도 있다. 그러한 어레이 또는 어레이들은 하나 이상의 칩들 내에 (예컨 대, 2개 이상의 칩들을 포함하는 칩세트 내에) 구현될 수도 있다.
여기서 설명되는 장치 (A100) 의 다양한 구현들의 하나 이상의 엘리먼트들 (예컨대, 로직 모듈 (110), 여기 신호 생성기 (120), 및 스펙트럼 쉐이퍼 (130)) 은 또한, 마이크로프로세서, 임베딩된 프로세서, IP 코어, 디지털 신호 프로세서, FPGA (field-programmable gate array), ASSP (application-specific standard product), 및 ASIC (application-specific integrated circuit) 와 같은 로직 엘리먼트들의 하나 이상의 고정 또는 프로그래머블 어레이들 상에서 실행하도록 배열된 명령들의 하나 이상의 세트들로서 전부 또는 일부 구현될 수도 있다. 장치 (100) 의 일 구현의 임의의 다양한 엘리먼트들은 또한 하나 이상의 컴퓨터들 (예컨대, 명령들의 하나 이상의 세트들 또는 시퀀스들을 실행하도록 프로그래밍된 하나 이상의 어레이들을 포함하는 머신, 또한 "프로세서들"이라 호칭) 로서 실시될 수도 있고, 이들 엘리먼트들의 임의의 2개 이상 또는 전부가 동일한 그러한 컴퓨터 또는 컴퓨터들 내에서 구현될 수도 있다.
장치 (A100) 의 일 구현의 다양한 엘리먼트들은 셀룰러 전화기 또는 그러한 통신 능력을 갖는 다른 디바이스와 같은 무선 통신을 위한 디바이스 내에 포함될 수도 있다. 그러한 디바이스는 (예컨대, VoIP와 같은 하나 이상의 프로토콜들을 사용하여) 패킷-교환 네트워크들 및/또는 회선-교환 네트워크들과 통신하도록 구성될 수도 있다. 그러한 디바이스는 인코딩된 프레임들을 전달하는 신호에 대해, 디인터리빙, 디펑쳐링 (de-puncturing), 하나 이상의 컨볼루션 코드들의 디코딩, 하나 이상의 에러 정정 코드들의 디코딩, 네트워크 프로토콜 (이더넷, TCP/IP, cdma2000) 의 하나 이상의 레이어들의 디코딩, 무선-주파수 (RF) 복조, 및/또는 RF 수신과 같은 동작들을 수행하도록 구성될 수도 있다.
장치 (A100) 의 일 구현의 하나 이상의 엘리먼트들이, 태스크들을 수행하거나, 또는 장치가 임베딩된 디바이스 또는 시스템의 다른 동작에 관한 태스크와 같은, 장치의 동작에 직접 관련되지 않는 명령들의 다른 세트들을 실행하기 위해 사용되는 것이 가능하다. 또한, 장치 (A100) 의 일 구현의 하나 이상의 엘리먼트들이 공통의 구조를 갖는 것이 가능하다 (예컨대, 상이한 시간들에서 상이한 엘리먼트들에 대응하는 코드의 부분들을 실행하기 위해 사용되는 프로세서, 상이한 시간들에서 상이한 엘리먼트들에 대응하는 태스크들을 수행하기 위해 실행되는 명령들의 세트, 또는 상이한 시간들에서 상이한 엘리먼트들에 대한 동작들을 수행하는 전자 및/또는 광학 디바이스들의 배열). 하나의 그러한 예에서, 로직 모듈 (110), 여기 신호 생성기 (120), 및 스펙트럼 쉐이퍼 (130) 는 동일한 프로세서 상에서 실행하도록 배열된 명령들의 세트들로서 구현된다. 다른 그러한 예에서, 이들 엘리먼트들 및 삭제 검출기 (210), 포맷 검출기 (220), 및 스피치 파라미터 계산기 (230) 중 하나 이상 (가능하게는 전부) 이 동일한 프로세서 상에서 실행하도록 배열된 명령들의 세트들로서 구현된다. 또 다른 예에서, 여기 신호 생성기들 (120C1 및 120C2) 이 상이한 시간들에서 실행하는 명령들의 동일한 세트로서 구현된다. 또 다른 예에서, 역양자화기들 (320 및 330) 이 상이한 시간들에서 실행하는 명령들의 동일한 세트로서 구현된다.
셀룰러 전화기 또는 그러한 통신 능력을 갖는 다른 디바이스와 같은 무선 통 신을 위한 디바이스는 장치 (A100) 및 스피치 인코더 양자 모두의 구현들을 포함하도록 구성될 수도 있다. 그러한 경우에, 장치 (A100) 및 스피치 인코더가 공통의 구조를 갖는 것이 가능한다. 하나의 그러한 예에서, 장치 (A100) 및 스피치 인코더는 동일한 프로세서 상에서 실행하도록 배열된 명령들의 세트들을 포함하도록 구현된다.
설명된 구성들의 전술한 프리젠테이션은 당업자로 하여금 여기서 개시된 방법들 및 다른 구조들을 만들거나 또는 사용할 수 있게 하기 위해 제공된다. 여기서 도시되고 설명된 흐름도들, 블록도들, 상태도들, 및 다른 구조들은 예일 뿐이며, 이들 구조들의 다른 변화들이 또한 본원의 범위 내에 있다. 이들 구성들에 대한 다양한 변형들이 가능하고, 여기서 제시된 일반적인 원리들은 다른 구성들에도 적용될 수도 있다. 예컨대, 예들이 CELP 프레임에 뒤따르는 삭제된 프레임에 대한 애플리케이션을 주로 설명하지만, 그러한 방법들, 장치, 및 시스템들이 또한, 삭제된 프레임이 PPP 또는 다른 PWI 코딩 모드와 같은 과거의 여기 정보의 메모리에 기초한 여기 신호를 사용하는 다른 코딩 모드에 따라 인코딩된 프레임에 뒤따르는 경우에도 적용될 수도 있다는 것이 명백히 의도되며 여기서 개시된다. 따라서, 본원은, 위에서 보인 특정한 예들 또는 구성들에 한정되도록 의도된 것이 아니라, 본래의 개시의 일부를 형성하는 제출된 첨부 청구의 범위를 포함하여 여기서 임의의 방식으로 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위가 수여되도록 의도된다.
여기서 개시된 것과 같은 스피치 디코더들 및/또는 스피치 디코딩의 방법들 과 사용되거나 또는 사용을 위해 적응될 수도 있는 코덱들의 예들은, 문헌 3GPP2 C.S0014-C version 1.0, "Enhanced Variable Rate Codec, Speech Service Options 3, 68, and 70 for Wideband Spread Spectrum Digital Systems", ch. 5, January 2007 에서 설명된 것과 같은 인핸스드 가변 레이트 코덱 (EVRC); 문헌 ETSI TS 126 092 V6.0.0, ch. 6, December 2004 에서 설명된 것과 같은 적응 멀티레이트 (AMR) 스피치 코덱; 및 문헌 ETSI TS 126 192 V6.0.0, ch. 6, December 2004 에서 설명된 것과 같은 AMR 광대역 스피치 코덱을 포함한다.
당업자는 정보 및 신호들이 임의의 다양한 상이한 기술 용어들 및 기술들을 사용하여 표현될 수도 있다는 것을 이해할 것이다. 예컨대, 상기 설명 전반에 걸쳐 참조될 수도 있는 데이터, 명령, 지시, 정보, 신호, 비트, 및 심볼은 전압, 전류, 전자기파, 자기 필드 또는 파티클, 광학 필드 또는 파티클, 또는 이들의 임의의 조합에 의해 표현될 수도 있다. 인코딩된 프레임들이 도출된 신호 및 디코딩된 신호가 "스피치 신호"라 호칭되지만, 이들 신호들이 활성 프레임들 동안 음악 또는 다른 비-스피치 정보 컨텐츠를 전달할 수도 있다는 것이 또한 의도되며 여기서 개시된다.
당업자는 또한 여기서 개시된 구성들에 관련하여 설명된 다양한 예시적인 논리 블록, 모듈, 회로, 및 동작이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합들로서 구현될 수도 있다는 것을 인식할 것이다. 그러한 논리 블록, 모듈, 회로, 및 동작은 범용 프로세서, 디지털 신호 프로세서 (DSP), ASIC, FPGA, 또는 다른 프로그래머블 로직 디바이스, 개별 게이트 또는 트랜지스터 로직, 개별 하드 웨어 컴포넌트, 또는 여기서 개시된 기능들을 수행하도록 설계된 이들의 임의의 조합에 의해 구현되거나 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다르게는, 프로세서는 임의의 종래 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 예컨대 DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 협력하는 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성과 같은 컴퓨팅 디바이스들의 조합으로서 구현될 수도 있다.
여기서 설명된 방법들 및 알고리즘들의 태스크들은 하드웨어로 직접 실시되거나, 프로세서에 의해 실행되는 소프트웨어 모듈로 실시되거나, 또는 이들의 조합으로 실시될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 제거가능한 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되어, 프로세서가 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기록할 수 있도록 한다. 다르게는, 저장 매체는 프로세서에 집적될 수도 있다. 프로세서 및 저장 매체는 ASIC 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다르게는, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트들로서 상주할 수도 있다.
여기서 개시된 구성들의 각각은 배선 접속된 (hard-wired) 회로, 주문형 집적 회로에 제조된 회로 구성, 또는 비휘발성 저장소에 로딩된 펌웨어 프로그램 또 는 머신 판독가능 코드로서 데이터 저장 매체로부터 로딩되거나 또는 머신 판독가능 코드로서 데이터 저장 매체에 로딩된 소프트웨어 프로그램으로서 적어도 부분적으로 구현될 수도 있으며, 그러한 코드는 마이크로프로세서 또는 다른 디지털 신호 프로세싱 유닛과 같은 로직 엘리먼트들의 어레이에 의해 실행가능한 명령들이다. 데이터 저장 매체는 (한정하지 않고 동적 또는 정적 RAM (random-access memory), ROM (read-only memory), 및/또는 플래시 RAM을 포함할 수도 있는) 반도체 메모리, 또는 강유전성, 자기저항성, 오보닉 (ovonic), 폴리머 (polymeric) 또는 상-변화 메모리와 같은 저장 엘리먼트들의 어레이, 또는 자기 또는 광학 디스크와 같은 디스크 매체를 포함할 수도 있다. 용어 "소프트웨어"는 소스 코드, 어셈블리 언어 코드, 머신 코드, 2진 코드, 펌웨어, 매크로코드, 마이크로코드, 로직 엘리먼트들의 어레이에 의해 실행가능한 명령들의 임의의 하나 이상의 세트들 또는 시퀀스들, 및 그러한 예들의 임의의 조합을 포함하는 것으로 이해되어야 한다.

Claims (25)

  1. 디코딩된 스피치 신호의 프레임들을 획득하는 방법으로서,
    인코딩된 스피치 신호의 제 1 인코딩된 프레임으로부터의 정보 및 제 1 여기 신호에 기초하여, 상기 디코딩된 스피치 신호의 제 1 프레임을 계산하는 단계;
    상기 제 1 인코딩된 프레임에 바로 뒤따르는 상기 인코딩된 스피치 신호의 프레임의 삭제의 표시에 응답하고 제 2 여기 신호에 기초하여, 상기 제 1 프레임에 바로 뒤따르는 상기 디코딩된 스피치 신호의 제 2 프레임을 계산하는 단계; 및
    제 3 여기 신호에 기초하여, 상기 디코딩된 스피치 신호의 상기 제 1 프레임에 선행하는 제 3 프레임을 계산하는 단계를 구비하며,
    상기 제 1 여기 신호는 (A) 상기 제 3 여기 신호로부터의 정보에 기초한 값들의 제 1 시퀀스와 (B) 제 1 이득 인자의 곱에 기초하고,
    상기 제 2 프레임을 계산하는 단계는, 상기 제 2 여기 신호가 (A) 상기 제 1 여기 신호로부터의 정보에 기초한 값들의 제 2 시퀀스와 (B) 상기 제 1 이득 인자보다 더 큰 제 2 이득 인자의 곱에 기초하도록, 상기 제 1 이득 인자에 기초한 값과 임계값 간의 관계에 따라 상기 제 2 여기 신호를 생성하는 단계를 포함하는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  2. 디코딩된 스피치 신호의 프레임들을 획득하는 방법으로서,
    값들의 제 1 시퀀스와 제 1 이득 인자의 곱에 기초한 제 1 여기 신호를 생성하는 단계;
    인코딩된 스피치 신호의 제 1 인코딩된 프레임으로부터의 정보 및 상기 제 1 여기 신호에 기초하여, 상기 디코딩된 스피치 신호의 제 1 프레임을 계산하는 단계;
    상기 제 1 인코딩된 프레임에 바로 뒤따르는 상기 인코딩된 스피치 신호의 프레임의 삭제의 표시에 응답하여, 상기 제 1 이득 인자에 기초한 값과 임계값 간의 관계에 따라, (A) 상기 제 1 이득 인자보다 더 큰 제 2 이득 인자와 (B) 값들의 제 2 시퀀스의 곱에 기초하여 제 2 여기 신호를 생성하는 단계;
    상기 제 2 여기 신호에 기초하여, 상기 디코딩된 스피치 신호의 상기 제 1 프레임에 바로 뒤따르는 제 2 프레임을 계산하는 단계; 및
    제 3 여기 신호에 기초하여, 상기 디코딩된 스피치 신호의 상기 제 1 프레임에 선행하는 제 3 프레임을 계산하는 단계를 구비하며,
    상기 값들의 제 1 시퀀스는 상기 제 3 여기 신호로부터의 정보에 기초하고, 상기 값들의 제 2 시퀀스는 상기 제 1 여기 신호로부터의 정보에 기초하는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  3. 제 2 항에 있어서,
    상기 제 2 시퀀스는 상기 제 1 여기 신호의 적어도 세그먼트에 기초하는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  4. 제 2 항에 있어서,
    상기 제 1 이득 인자는 상기 제 1 인코딩된 프레임으로부터의 정보에 기초하는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  5. 제 2 항에 있어서,
    상기 디코딩된 스피치 신호의 제 1 프레임을 계산하는 단계는, 상기 제 1 인코딩된 프레임으로부터의 정보에 기초한 제 1 복수의 스펙트럼 파라미터 값들에 따라 상기 제 1 여기 신호를 프로세싱하는 단계를 포함하며,
    상기 디코딩된 스피치 신호의 제 2 프레임을 계산하는 단계는, 상기 제 1 복수의 스펙트럼 파라미터 값들에 기초한 제 2 복수의 스펙트럼 파라미터 값들에 따라 상기 제 2 여기 신호를 프로세싱하는 단계를 포함하는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  6. 제 2 항에 있어서,
    상기 제 1 여기 신호를 생성하는 단계는, 상기 제 1 인코딩된 프레임으로부터의 정보에 기초한 적어도 하나의 피치 파라미터에 따라 상기 제 1 시퀀스를 프로세싱하는 단계를 포함하는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  7. 제 2 항에 있어서,
    잡음 신호를 생성하는 단계; 및
    상기 생성된 잡음 신호에 기초하여 상기 제 3 여기 신호를 생성하는 단계를 구비하는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  8. 제 7 항에 있어서,
    상기 제 3 프레임은 상기 디코딩된 스피치 신호에서 상기 제 1 프레임에 바로 선행하는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  9. 제 8 항에 있어서,
    상기 제 3 프레임을 계산하는 단계는, 상기 인코딩된 스피치 신호에서 상기 제 1 인코딩된 프레임에 선행하는 제 2 인코딩된 프레임으로부터의 정보에 기초한 복수의 스펙트럼 파라미터 값들에 따라 상기 제 3 여기 신호를 프로세싱하는 단계를 포함하는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  10. 제 9 항에 있어서,
    적어도 하나의 프레임 주기가 상기 인코딩된 스피치 신호에서 상기 제 1 인코딩된 프레임으로부터 상기 제 2 인코딩된 프레임을 분리시키는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  11. 제 7 항에 있어서,
    상기 값들의 제 1 시퀀스에 기초하여 상기 제 1 여기 신호를 생성하는 단계 는, 상기 인코딩된 스피치 신호의 제 1 인코딩된 프레임이 제 1 포맷을 갖는다는 표시의 결과로서 발생하고,
    상기 생성된 잡음 신호에 기초하여 상기 제 3 여기 신호를 생성하는 단계는, 상기 인코딩된 스피치 신호에서 상기 제 1 인코딩된 프레임에 선행하는 제 2 인코딩된 프레임이 제 2 포맷을 갖는다는 표시의 결과로서 발생하며,
    상기 제 2 이득 인자에 기초하여 상기 제 2 여기 신호를 생성하는 단계는, (A) 상기 제 1 인코딩된 프레임이 상기 제 1 포맷을 갖고 (B) 상기 제 2 인코딩된 프레임이 상기 제 2 포맷을 갖는다는 표시의 결과로서 발생하는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  12. 제 2 항에 있어서,
    상기 값들의 제 1 시퀀스에 기초하여 상기 제 1 여기 신호를 생성하는 단계는, 상기 제 1 인코딩된 프레임이 제 1 포맷을 갖는다는 표시의 결과로서 발생하고,
    상기 방법은,
    잡음 신호를 생성하는 단계, 및
    (A) 상기 인코딩된 스피치 신호에서 상기 제 1 인코딩된 프레임에 선행하는 제 2 인코딩된 프레임으로부터의 정보 및 (B) 상기 생성된 잡음 신호에 기초한 제 4 여기 신호에 기초하여, 상기 디코딩된 스피치 신호에서 상기 제 3 프레임에 바로 선행하는 제 4 프레임을 계산하는 단계를 구비하며,
    상기 제 3 프레임을 계산하는 단계는, (A) 상기 인코딩된 스피치 신호에서 상기 제 2 인코딩된 프레임에 선행하고 (B) 상기 제 1 포맷을 갖는 제 3 인코딩된 프레임으로부터의 정보에 기초한 복수의 스펙트럼 파라미터 값들에 따라 상기 제 3 여기 신호를 프로세싱하는 단계를 포함하는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  13. 제 12 항에 있어서,
    상기 방법은, 상기 제 2 인코딩된 프레임이 제 2 포맷을 갖는다는 표시의 결과로서, 상기 생성된 잡음 신호에 기초하여 상기 제 4 여기 신호를 생성하는 단계를 구비하며,
    상기 제 2 이득 인자에 기초하여 상기 제 2 여기 신호를 생성하는 단계는, (A) 상기 제 1 인코딩된 프레임이 상기 제 1 포맷을 갖고 (B) 상기 제 2 인코딩된 프레임이 상기 제 2 포맷을 갖는다는 표시의 결과로서 발생하는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  14. 제 2 항에 있어서,
    상기 제 1 이득 인자에 기초한 값과 임계값을 비교하는 단계; 및
    상기 비교의 결과에 기초하여, (A) 복수의 이득 인자 값들 중에서 상기 제 2 이득 인자를 선택하는 단계와 (B) 상기 제 1 이득 인자에 기초한 값과 상기 제 1 이득 인자 중 적어도 하나에 기초하여 상기 제 2 이득 인자를 계산하는 단계 중에 서 적어도 하나의 단계를 수행하는 단계를 구비하는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  15. 제 2 항에 있어서,
    상기 디코딩된 스피치 신호의 상기 제 1 프레임은, 각각이 복수의 서브프레임 여기 신호들 중 대응하는 하나의 서브프레임 여기 신호에 기초한 복수의 서브프레임들을 포함하고,
    상기 복수의 서브프레임 여기 신호들의 각각은 (A) 복수의 서브프레임 이득 인자들 중 대응하는 하나의 서브프레임 이득 인자와 (B) 복수의 서브프레임 시퀀스들 중 대응하는 하나의 서브프레임 시퀀스의 곱에 기초하며,
    상기 제 1 여기 신호는 상기 복수의 서브프레임 여기 신호들을 포함하고, 상기 제 1 이득 인자는 상기 복수의 서브프레임 이득 인자들 중 하나의 서브프레임 이득 인자이며, 상기 제 1 시퀀스는 상기 복수의 서브프레임 시퀀스들 중 하나의 서브프레임 시퀀스인, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  16. 제 15 항에 있어서,
    상기 제 1 이득 인자에 기초한 값은 상기 서브프레임 이득 인자들의 평균에 기초하는, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  17. 제 16 항에 있어서,
    상기 제 2 이득 인자는 상기 서브프레임 이득 인자들의 평균보다 더 큰, 디코딩된 스피치 신호의 프레임들을 획득하는 방법.
  18. 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치로서,
    제 1 여기 신호, 제 2 여기 신호, 및 제 3 여기 신호를 생성하도록 구성된 여기 신호 생성기;
    (A) 인코딩된 스피치 신호의 제 1 인코딩된 프레임으로부터의 정보 및 상기 제 1 여기 신호에 기초하여, 상기 디코딩된 스피치 신호의 제 1 프레임을 계산하고, (B) 상기 제 2 여기 신호에 기초하여, 상기 디코딩된 스피치 신호의 상기 제 1 프레임에 바로 뒤따르는 제 2 프레임을 계산하며, (C) 상기 제 3 여기 신호에 기초하여, 상기 디코딩된 스피치 신호의 상기 제 1 프레임에 선행하는 제 3 프레임을 계산하도록 구성된 스펙트럼 쉐이퍼 (spectrum shaper); 및
    (A) 제 1 이득 인자에 기초한 값과 임계값 간의 관계를 평가하도록 구성되며, (B) 상기 제 1 인코딩된 프레임에 바로 뒤따르는 상기 인코딩된 스피치 신호의 프레임의 삭제의 표시를 수신하도록 배열된 로직 모듈을 구비하며,
    상기 여기 신호 생성기는 (A) 상기 제 1 이득 인자와 (B) 상기 제 3 여기 신호로부터의 정보에 기초한 값들의 제 1 시퀀스의 곱에 기초하여 상기 제 1 여기 신호를 생성하도록 구성되며,
    상기 삭제의 표시에 응답하여, 상기 평가된 관계에 따라, 상기 로직 모듈은 상기 여기 신호 생성기로 하여금 (A) 상기 제 1 이득 인자보다 더 큰 제 2 이득 인 자와 (B) 상기 제 1 여기 신호로부터의 정보에 기초한 값들의 제 2 시퀀스의 곱에 기초하여 상기 제 2 여기 신호를 생성하게 하도록 구성되는, 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치.
  19. 제 18 항에 있어서,
    상기 스펙트럼 쉐이퍼는, 상기 제 1 인코딩된 프레임으로부터의 정보에 기초한 제 1 복수의 스펙트럼 파라미터 값들에 기초하여 상기 제 1 프레임을 계산하도록 구성되며,
    상기 스펙트럼 쉐이퍼는, 상기 제 1 복수의 스펙트럼 파라미터 값들에 기초한 제 2 복수의 스펙트럼 파라미터 값들에 기초하여 상기 제 2 프레임을 계산하도록 구성되는, 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치.
  20. 제 18 항에 있어서,
    상기 로직 모듈은, (A) 상기 제 1 이득 인자 및 (B) 상기 제 1 이득 인자에 기초한 값 중 적어도 하나와 임계값을 비교함으로써, 상기 제 1 이득 인자에 기초한 값과 상기 임계값 간의 관계를 평가하도록 구성되는, 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치.
  21. 제 18 항에 있어서,
    상기 제 1 디코딩된 프레임은, 각각이 복수의 서브프레임 여기 신호들 중 대 응하는 하나의 서브프레임 여기 신호에 기초한 복수의 서브프레임들을 포함하고,
    상기 복수의 서브프레임 여기 신호들의 각각은 (A) 복수의 서브프레임 이득 인자들 중 대응하는 하나의 서브프레임 이득 인자와 (B) 복수의 서브프레임 시퀀스들 중 대응하는 하나의 서브프레임 시퀀스의 곱에 기초하고,
    상기 제 1 여기 신호는 상기 복수의 서브프레임 여기 신호들을 포함하고, 상기 제 1 이득 인자는 상기 복수의 서브프레임 이득 인자들 중 하나의 서브프레임 이득 인자이고, 상기 제 1 시퀀스는 상기 복수의 서브프레임 시퀀스들 중 하나의 서브프레임 시퀀스이며,
    상기 제 1 이득 인자에 기초한 값은 상기 서브프레임 이득 인자들의 평균에 기초하는, 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치.
  22. 제 18 항에 있어서,
    상기 여기 신호 생성기는, 상기 제 1 인코딩된 프레임이 제 1 포맷을 갖는다는 표시에 응답하여 상기 제 1 여기 신호를 생성하도록 구성되고,
    제 3 인코딩된 프레임이 상기 제 1 포맷과는 상이한 제 2 포맷을 갖는다는 표시에 응답하여, 상기 여기 신호 생성기는 생성된 잡음 신호에 기초하여 상기 제 3 여기 신호를 생성하도록 구성되며,
    상기 로직 모듈은, 상기 여기 신호 생성기로 하여금 (A) 상기 제 1 인코딩된 프레임이 상기 제 1 포맷을 갖고 (B) 상기 제 3 인코딩된 프레임이 상기 제 2 포맷을 갖는다는 표시에 응답하여 상기 제 2 여기 신호를 생성하게 하도록 구성되는, 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치.
  23. 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치로서,
    값들의 제 1 시퀀스와 제 1 이득 인자의 곱에 기초한 제 1 여기 신호를 생성하는 수단;
    인코딩된 스피치 신호의 제 1 인코딩된 프레임으로부터의 정보 및 상기 제 1 여기 신호에 기초하여, 상기 디코딩된 스피치 신호의 제 1 프레임을 계산하는 수단;
    상기 제 1 인코딩된 프레임에 바로 뒤따르는 상기 인코딩된 스피치 신호의 프레임의 삭제의 표시에 응답하여, 상기 제 1 이득 인자에 기초한 값과 임계값 간의 관계에 따라, (A) 상기 제 1 이득 인자보다 더 큰 제 2 이득 인자와 (B) 값들의 제 2 시퀀스의 곱에 기초하여 제 2 여기 신호를 생성하는 수단;
    상기 제 2 여기 신호에 기초하여, 상기 디코딩된 스피치 신호의 상기 제 1 프레임에 바로 뒤따르는 제 2 프레임을 계산하는 수단; 및
    제 3 여기 신호에 기초하여, 상기 디코딩된 스피치 신호의 상기 제 1 프레임에 선행하는 제 3 프레임을 계산하는 수단을 구비하며,
    상기 값들의 제 1 시퀀스는 상기 제 3 여기 신호로부터의 정보에 기초하고, 상기 값들의 제 2 시퀀스는 상기 제 1 여기 신호로부터의 정보에 기초하는, 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치.
  24. 제 23 항에 있어서,
    상기 제 1 여기 신호를 생성하는 수단은, 상기 제 1 인코딩된 프레임이 제 1 포맷을 갖는다는 표시에 응답하여 상기 제 1 여기 신호를 생성하도록 구성되고,
    상기 장치는, 제 3 인코딩된 프레임이 상기 제 1 포맷과 상이한 제 2 포맷을 갖는다는 표시에 응답하여, 생성된 잡음 신호에 기초하여 상기 제 3 여기 신호를 생성하는 수단을 포함하며,
    상기 제 2 여기 신호를 생성하는 수단은, (A) 상기 제 1 인코딩된 프레임이 상기 제 1 포맷을 갖고 (B) 상기 제 3 인코딩된 프레임이 상기 제 2 포맷을 갖는다는 표시에 응답하여 상기 제 2 여기 신호를 생성하도록 구성되는, 디코딩된 스피치 신호의 프레임들을 획득하기 위한 장치.
  25. 적어도 하나의 컴퓨터로 하여금, 값들의 제 1 시퀀스와 제 1 이득 인자의 곱에 기초한 제 1 여기 신호를 생성하게 하기 위한 코드;
    적어도 하나의 컴퓨터로 하여금, 인코딩된 스피치 신호의 제 1 인코딩된 프레임으로부터의 정보 및 상기 제 1 여기 신호에 기초하여, 디코딩된 스피치 신호의 제 1 프레임을 계산하게 하기 위한 코드;
    적어도 하나의 컴퓨터로 하여금, 상기 제 1 인코딩된 프레임에 바로 뒤따르는 상기 인코딩된 스피치 신호의 프레임의 삭제의 표시에 응답하여, 상기 제 1 이득 인자에 기초한 값과 임계값 간의 관계에 따라, (A) 상기 제 1 이득 인자보다 더 큰 제 2 이득 인자와 (B) 값들의 제 2 시퀀스에 기초하여 제 2 여기 신호를 생성하게 하기 위한 코드;
    적어도 하나의 컴퓨터로 하여금, 상기 제 2 여기 신호에 기초하여 상기 디코딩된 스피치 신호의 상기 제 1 프레임에 바로 뒤따르는 제 2 프레임을 계산하게 하기 위한 코드; 및
    적어도 하나의 컴퓨터로 하여금, 제 3 여기 신호에 기초하여 상기 디코딩된 스피치 신호의 상기 제 1 프레임에 선행하는 제 3 프레임을 계산하게 하기 위한 코드를 포함하며,
    상기 값들의 제 1 시퀀스는 상기 제 3 여기 신호로부터의 정보에 기초하고, 상기 값들의 제 2 시퀀스는 상기 제 1 여기 신호로부터의 정보에 기초하는, 컴퓨터-판독가능 매체.
KR1020097009177A 2006-10-06 2007-10-07 프레임 삭제 복구를 위한 시스템, 방법, 및 장치 KR101092267B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US82841406P 2006-10-06 2006-10-06
US60/828,414 2006-10-06
US11/868,351 US7877253B2 (en) 2006-10-06 2007-10-05 Systems, methods, and apparatus for frame erasure recovery
US11/868,351 2007-10-05
PCT/US2007/080653 WO2008043095A1 (en) 2006-10-06 2007-10-07 Systems, methods, and apparatus for frame erasure recovery

Publications (2)

Publication Number Publication Date
KR20090082383A KR20090082383A (ko) 2009-07-30
KR101092267B1 true KR101092267B1 (ko) 2011-12-13

Family

ID=39052629

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097009177A KR101092267B1 (ko) 2006-10-06 2007-10-07 프레임 삭제 복구를 위한 시스템, 방법, 및 장치

Country Status (11)

Country Link
US (2) US7877253B2 (ko)
EP (2) EP2070082B1 (ko)
JP (1) JP5265553B2 (ko)
KR (1) KR101092267B1 (ko)
CN (1) CN101523484B (ko)
AT (1) ATE548726T1 (ko)
BR (1) BRPI0717495B1 (ko)
CA (1) CA2663385C (ko)
RU (1) RU2419167C2 (ko)
TW (1) TWI362031B (ko)
WO (1) WO2008043095A1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100900438B1 (ko) * 2006-04-25 2009-06-01 삼성전자주식회사 음성 패킷 복구 장치 및 방법
US7877253B2 (en) * 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
US8260613B2 (en) * 2007-02-21 2012-09-04 Telefonaktiebolaget L M Ericsson (Publ) Double talk detector
WO2009047461A1 (fr) * 2007-09-21 2009-04-16 France Telecom Dissimulation d'erreur de transmission dans un signal numerique avec repartition de la complexite
TWI350653B (en) * 2007-10-19 2011-10-11 Realtek Semiconductor Corp Automatic gain control device and method
CN101437009B (zh) * 2007-11-15 2011-02-02 华为技术有限公司 丢包隐藏的方法及其系统
KR100998396B1 (ko) * 2008-03-20 2010-12-03 광주과학기술원 프레임 손실 은닉 방법, 프레임 손실 은닉 장치 및 음성송수신 장치
US8706479B2 (en) * 2008-11-14 2014-04-22 Broadcom Corporation Packet loss concealment for sub-band codecs
US8238861B2 (en) * 2009-01-26 2012-08-07 Qualcomm Incorporated Automatic gain control in a wireless communication network
US8838819B2 (en) * 2009-04-17 2014-09-16 Empirix Inc. Method for embedding meta-commands in normal network packets
US8924207B2 (en) * 2009-07-23 2014-12-30 Texas Instruments Incorporated Method and apparatus for transcoding audio data
US8321216B2 (en) * 2010-02-23 2012-11-27 Broadcom Corporation Time-warping of audio signals for packet loss concealment avoiding audible artifacts
US8990094B2 (en) * 2010-09-13 2015-03-24 Qualcomm Incorporated Coding and decoding a transient frame
PT2676267T (pt) 2011-02-14 2017-09-26 Fraunhofer Ges Forschung Codificação e descodificação de posições de pulso de faixas de um sinal de áudio
EP2676270B1 (en) 2011-02-14 2017-02-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Coding a portion of an audio signal using a transient detection and a quality result
WO2012110478A1 (en) 2011-02-14 2012-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Information signal representation using lapped transform
KR101551046B1 (ko) * 2011-02-14 2015-09-07 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 저-지연 통합 스피치 및 오디오 코딩에서 에러 은닉을 위한 장치 및 방법
BR112013020587B1 (pt) 2011-02-14 2021-03-09 Fraunhofer-Gesellschaft Zur Forderung De Angewandten Forschung E.V. esquema de codificação com base em previsão linear utilizando modelagem de ruído de domínio espectral
WO2012110415A1 (en) 2011-02-14 2012-08-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for processing a decoded audio signal in a spectral domain
NO2669468T3 (ko) * 2011-05-11 2018-06-02
CN102800317B (zh) * 2011-05-25 2014-09-17 华为技术有限公司 信号分类方法及设备、编解码方法及设备
JP5805601B2 (ja) * 2011-09-30 2015-11-04 京セラ株式会社 装置、方法、及びプログラム
US9728200B2 (en) * 2013-01-29 2017-08-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for adaptive formant sharpening in linear prediction coding
US9208775B2 (en) * 2013-02-21 2015-12-08 Qualcomm Incorporated Systems and methods for determining pitch pulse period signal boundaries
US9842598B2 (en) * 2013-02-21 2017-12-12 Qualcomm Incorporated Systems and methods for mitigating potential frame instability
EP2976768A4 (en) * 2013-03-20 2016-11-09 Nokia Technologies Oy AUDIO SIGNAL ENCODER COMPRISING A MULTI-CHANNEL PARAMETER SELECTOR
US9883312B2 (en) 2013-05-29 2018-01-30 Qualcomm Incorporated Transformed higher order ambisonics audio data
PT3011561T (pt) 2013-06-21 2017-07-25 Fraunhofer Ges Forschung Aparelho e método para desvanecimento de sinal aperfeiçoado em diferentes domínios durante ocultação de erros
CN104299614B (zh) * 2013-07-16 2017-12-29 华为技术有限公司 解码方法和解码装置
US10614816B2 (en) * 2013-10-11 2020-04-07 Qualcomm Incorporated Systems and methods of communicating redundant frame information
WO2015134579A1 (en) 2014-03-04 2015-09-11 Interactive Intelligence Group, Inc. System and method to correct for packet loss in asr systems
AU2015247503B2 (en) * 2014-04-17 2018-09-27 Audimax, Llc Systems, methods and devices for electronic communications having decreased information loss
US10770087B2 (en) * 2014-05-16 2020-09-08 Qualcomm Incorporated Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3194481B2 (ja) * 1991-10-22 2001-07-30 日本電信電話株式会社 音声符号化法
CA2568984C (en) 1991-06-11 2007-07-10 Qualcomm Incorporated Variable rate vocoder
SE501340C2 (sv) 1993-06-11 1995-01-23 Ericsson Telefon Ab L M Döljande av transmissionsfel i en talavkodare
JP3199142B2 (ja) * 1993-09-22 2001-08-13 日本電信電話株式会社 音声の励振信号符号化方法および装置
US5502713A (en) 1993-12-07 1996-03-26 Telefonaktiebolaget Lm Ericsson Soft error concealment in a TDMA radio system
WO1996037964A1 (en) * 1995-05-22 1996-11-28 Ntt Mobile Communications Network Inc. Sound decoding device
US5699485A (en) * 1995-06-07 1997-12-16 Lucent Technologies Inc. Pitch delay modification during frame erasures
JP3095340B2 (ja) * 1995-10-04 2000-10-03 松下電器産業株式会社 音声復号化装置
US5960386A (en) * 1996-05-17 1999-09-28 Janiszewski; Thomas John Method for adaptively controlling the pitch gain of a vocoder's adaptive codebook
US6014622A (en) 1996-09-26 2000-01-11 Rockwell Semiconductor Systems, Inc. Low bit rate speech coder using adaptive open-loop subframe pitch lag estimation and vector quantization
US6810377B1 (en) 1998-06-19 2004-10-26 Comsat Corporation Lost frame recovery techniques for parametric, LPC-based speech coding systems
US6691092B1 (en) * 1999-04-05 2004-02-10 Hughes Electronics Corporation Voicing measure as an estimate of signal periodicity for a frequency domain interpolative speech codec system
US6636829B1 (en) 1999-09-22 2003-10-21 Mindspeed Technologies, Inc. Speech communication system and method for handling lost frames
ATE439666T1 (de) 2001-02-27 2009-08-15 Texas Instruments Inc Verschleierungsverfahren bei verlust von sprachrahmen und dekoder dafer
JP3628268B2 (ja) * 2001-03-13 2005-03-09 日本電信電話株式会社 音響信号符号化方法、復号化方法及び装置並びにプログラム及び記録媒体
US7590525B2 (en) * 2001-08-17 2009-09-15 Broadcom Corporation Frame erasure concealment for predictive speech coding based on extrapolation of speech waveform
EP1428206B1 (en) * 2001-08-17 2007-09-12 Broadcom Corporation Bit error concealment methods for speech coding
US7379865B2 (en) * 2001-10-26 2008-05-27 At&T Corp. System and methods for concealing errors in data transmission
CA2388439A1 (en) * 2002-05-31 2003-11-30 Voiceage Corporation A method and device for efficient frame erasure concealment in linear predictive based speech codecs
FI118834B (fi) 2004-02-23 2008-03-31 Nokia Corp Audiosignaalien luokittelu
FI118835B (fi) 2004-02-23 2008-03-31 Nokia Corp Koodausmallin valinta
JP4146489B2 (ja) * 2004-05-26 2008-09-10 日本電信電話株式会社 音声パケット再生方法、音声パケット再生装置、音声パケット再生プログラム、記録媒体
JP3936370B2 (ja) * 2005-05-09 2007-06-27 富士通株式会社 音声復号化装置及びその方法
FR2897977A1 (fr) 2006-02-28 2007-08-31 France Telecom Procede de limitation de gain d'excitation adaptative dans un decodeur audio
US7877253B2 (en) 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
US8165224B2 (en) * 2007-03-22 2012-04-24 Research In Motion Limited Device and method for improved lost frame concealment

Also Published As

Publication number Publication date
EP2423916A3 (en) 2012-05-16
RU2419167C2 (ru) 2011-05-20
WO2008043095A1 (en) 2008-04-10
TW200832356A (en) 2008-08-01
CA2663385C (en) 2013-07-02
JP5265553B2 (ja) 2013-08-14
CN101523484B (zh) 2012-01-25
TWI362031B (en) 2012-04-11
BRPI0717495A2 (pt) 2014-04-22
EP2070082A1 (en) 2009-06-17
CA2663385A1 (en) 2008-04-10
EP2423916A2 (en) 2012-02-29
KR20090082383A (ko) 2009-07-30
JP2010506221A (ja) 2010-02-25
CN101523484A (zh) 2009-09-02
US20080086302A1 (en) 2008-04-10
RU2009117181A (ru) 2010-11-20
US20110082693A1 (en) 2011-04-07
EP2070082B1 (en) 2012-03-07
ATE548726T1 (de) 2012-03-15
US7877253B2 (en) 2011-01-25
EP2423916B1 (en) 2013-09-04
BRPI0717495B1 (pt) 2019-12-10
US8825477B2 (en) 2014-09-02

Similar Documents

Publication Publication Date Title
KR101092267B1 (ko) 프레임 삭제 복구를 위한 시스템, 방법, 및 장치
KR101034453B1 (ko) 비활성 프레임들의 광대역 인코딩 및 디코딩을 위한 시스템, 방법, 및 장치
US8532984B2 (en) Systems, methods, and apparatus for wideband encoding and decoding of active frames
EP2438592B1 (en) Method, apparatus and computer program product for reconstructing an erased speech frame
KR101092167B1 (ko) 피치-조정 및 비-피치-조정 코딩을 이용한 신호 인코딩
KR101617508B1 (ko) 노이즈에 강인한 스피치 코딩 모드 분류
KR101940371B1 (ko) 잠재적인 프레임 불안정을 완화하는 시스템들 및 방법들
KR101774541B1 (ko) 스피치 처리를 위한 무성음/유성음 결정
CN109243478B (zh) 用于线性预测译码中的自适应共振峰锐化的系统、方法、设备和计算机可读媒体
US9208775B2 (en) Systems and methods for determining pitch pulse period signal boundaries
US20030055631A1 (en) Method and system for a waveform attenuation technique for predictive speech coding based on extrapolation of speech waveform
KR101750645B1 (ko) 내삽 인자 세트를 결정하기 위한 시스템들 및 방법들
KR20230129581A (ko) 음성 정보를 갖는 개선된 프레임 손실 보정
Bhaskar et al. Low bit-rate voice compression based on frequency domain interpolative techniques

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: 20141128

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161125

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 9