KR100935174B1 - 고속 코드-벡터 탐색 장치 및 방법 - Google Patents

고속 코드-벡터 탐색 장치 및 방법 Download PDF

Info

Publication number
KR100935174B1
KR100935174B1 KR1020037015841A KR20037015841A KR100935174B1 KR 100935174 B1 KR100935174 B1 KR 100935174B1 KR 1020037015841 A KR1020037015841 A KR 1020037015841A KR 20037015841 A KR20037015841 A KR 20037015841A KR 100935174 B1 KR100935174 B1 KR 100935174B1
Authority
KR
South Korea
Prior art keywords
vector
pulse
impulse response
pulse vector
value
Prior art date
Application number
KR1020037015841A
Other languages
English (en)
Other versions
KR20040006011A (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 KR20040006011A publication Critical patent/KR20040006011A/ko
Application granted granted Critical
Publication of KR100935174B1 publication Critical patent/KR100935174B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms

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

본 발명은 코드북으로부터 최적의 여기 파형을 빠르게 선택하기 위한 방법 및 장치에 관한 것이다. 순방향 및 역방향 피치 개선을 사용하는 인코딩 방식에서, 저장 및 프로세서는 1차원 자기 상관 벡터를 사용하여 2차원 자기 상관 행렬을 근사화함으로써 감소한다. 근사화는 임펄스 응답의 자기 상관 행렬을 결정하도록 구성되며, 펄스 에너지 결정 엘리먼트는 2차 펄스 위치를 통합하는 펄스 코드 벡터의 에너지를 결정하도록 구성된다.

Description

고속 코드-벡터 탐색 장치 및 방법{FAST CODE-VECTOR SEARCHING}
본 발명은 일반적으로 통신 시스템, 특히 통신 시스템 내에서의 음성 처리에 관한 것이다.
무선 통신 분야는 예컨대 코드리스 전화, 페이징, 무선 로컬 루프, 개인 휴대 정보 단말기(PDA), 인터넷 전화, 및 위성 통신 시스템을 포함하는 많은 응용을 가진다. 특히 중요한 응용은 이동 가입자를 위한 셀룰러 전화 시스템이다. 여기에 사용되는 바와 같이, "셀룰러" 시스템이라는 용어는 셀룰러 및 개인 통신 서비스(PCS) 주파수를 모두 포함한다. 다양한 무선(over-the-air) 인터페이스는 예컨대 주파수 분할 다중 액세스(FDMA), 시분할 다중 액세스(TDMA) 및 코드 분할 다중 액세스(CDMA)를 포함하는 셀룰러 전화 시스템을 위해 개발되었다. 이와 관련하여, 예컨대 차세대 이동 전화 서비스(AMPS), 글로벌 이동 통신 시스템(GSM), 및 잠정 표준 95(IS-95)를 포함하는 다양한 국내 및 국제 표준이 형성되었다. 특히, IS-95 및 이의 파생 표준, 즉 IS-95A, IS-95B, ANSI J-STD-008(여기에서는 IS-95로 총칭함) 및 데이터에 대하여 제안된 고속 데이터 시스템은 미국 통신 산업 협회(TIA) 및 다른 공지된 표준 단체에 의해 공표되었다.
IS-95 표준의 사용에 따라 구성된 셀룰러 전화 시스템은 고 효율 및 강한 셀룰러 전화 서비스를 제공하기 위해 CDMA 신호 처리 기술을 사용한다. IS-95 표준의 사용에 따라 실질적으로 구성된 전형적인 셀룰러 전화 시스템은 미국 특허 제5,103,459호 및 제4,901,307호에 개시되어 있으며, 이들 특허는 본 발명의 양수인에 양도되었으며 여기에 참조문헌으로서 통합된다. CDMA 기술을 이용하는 전형적인 시스템은 TIA에 의해 발행된 cdma2000 ITU-R 무선 전송 기술(RTT) 후보 제안(여기에서는 cdma2000으로 지칭됨)이다. cdma2000에 대한 표준은 IS-2000의 드래프트 버전에 제시되고 TIA에 의해 승인되었다. cdma2000 제안은 많은 방식에서 IS-95 시스템과 호환 가능하다. 다른 CDMA 표준은 3세대 파트너십 프로젝트 "3GPP", 문서번호 3G TS 25.211,3G TS 25.212, 3G TS 25.213, 및 3G TS 25.214에서 구체화된 W-CDMA 표준이다.
디지털 통신 시스템은 확산하는데, 효율적인 주파수 사용에 대한 요구는 일정하다. 시스템의 효율을 증가시키기 위한 한 방법은 압축된 신호를 처리하는 것이다. 정규 지상 전화 시스템에서, 디지털 전송에서 아날로그 음성 신호의 품질을 재현하기 위해 초당 64 킬로비트(kbps)의 샘플링 레이트가 사용된다. 그러나 음성 신호의 중복성을 사용하는 압축 기술을 사용함으로써, 무선으로 전송되는 정보량은 고품질을 유지하면서 감소할 수 있다.
전형적으로, 아날로그 음성 신호를 디지털 신호로 변환하는 것은 인코더를 통해 수행되며, 디지털 신호를 음성 신호로 변환하는 것은 디코더를 통해 수행된다. 전형적인 CDMA 시스템에서, 인코딩부 및 디코딩부를 포함하는 보코더는 원격국 및 기지국 내에 배치된다. 전형적인 보코더는 "가변 레이트 보코더"라는 명칭을 가진 미국 특허 제5,414,796호에 개시되어 있으며, 이 특허는 본 발명의 양수인에게 양도되었으며 여기에 참조문헌으로서 통합된다. 보코더에서, 인코딩부는 인간의 음성 생성모델에 관한 파라미터를 추출한다. 디코딩부는 전송 채널을 통해 수신된 파라미터를 사용하여 음성을 재합성한다. 모델은 시변 음성 신호를 정확하게 모델링하기 위해 일정하게 변화한다. 따라서 음성은 파라미터가 계산되는 분석 프레임 또는 시간 블록으로 분할된다. 그 다음에, 파라미터는 각각의 새로운 프레임에 대하여 갱신된다. 여기에 사용되는 바와 같이, "디코더"라는 단어는 전송 매체를 통해 수신된 디지털 신호를 변환하기 위해 사용될 수 있는 임의의 디바이스 또는 디바이스의 일부를 말한다. "인코더"라는 단어는 음향 신호를 디지털 신호로 변환하기 위해 사용될 수 있는 임의의 디바이스 또는 디바이스의 일부를 언급한다. 여기에 기술된 실시예는 CDMA 시스템의 보코더 또는 대안으로 비-CDMA 시스템의 인코더 및 디코더로 실행될 수 있다.
코드 여기 선형 예측 코딩(CELP), 확률적 코딩 또는 보코더 여기 음성 코딩 코더는 다양한 종류의 음성 코더 중 하나일 수 있다. 특정 종류의 코딩 알고리즘의 예는 "개선된 가변 레이트 코더"(EVRC)라는 명칭을 가진 잠정 표준 127(IS-127)에 기술되어 있다. 이러한 특정 종류의 코더의 다른 예는 계류중인 드래프트 제안 "광대역 스펙트럼 확산 통신 시스템에 대한 선택 가능한 모드 벡터 서비스 옵션", 문서번호 3QPP2 C.P9001에 기술된다. 보코더의 기능은 음성에 고유한 모든 본래의 중복성을 제거함으로써 디지털화된 음성 신호를 낮은 비트 레이트 신호로 압축하는 것이다. CELP 코더에서, 중복성은 단기 포먼트(formant)(또는 LPC) 필터에 의해 제거된다. 일단 이들 중복성이 제거되면, 결과적인 잔여 신호는 백색 주기 신호 또는 백색 가우시안 잡음으로서 모델링될 수 있으며, 이는 코딩되어야 한다. 그러므로 수신기에서 음성 분석 후, 적절한 코딩, 전송 및 재합성을 수행함으로써, 데이터 레이트가 상당히 감소할 수 있다.
소정의 음성 프레임에 대한 코딩 파라미터는 선형 예측 코딩(LPC) 필터의 계수를 결정함으로써 결정된다. 계수의 적절한 선택은 프레임에서 음성 신호의 단기 중복성을 제거할 것이다. 음성 신호에서 장기 주기적 중복성은 신호의 피치 래그 L 및 피치 이득 gp를 결정함으로써 제거된다. 가능한 피치 래그 값 및 피치 이득값의 결합은 적응형 코드북(an adaptive codebook)에 벡터로서 저장된다. 그 다음에, 여기 파형 코드북(an excitation waveform codebook)에 저장된 다수의 파형 사이에서 여기 신호가 선택된다. 적절한 여기 신호가 소정의 피치 래그 및 피치 이득에 의해 여기되어 LPC 필터에 입력될 때, 원래의 음성 신호에 대한 근사치가 생성될 수 있다. 이와 같이, 압축된 음성 전송은 LPC 필터 계수, 적응 코드 벡터의 식별자, 및 고정된 코드북 여기 벡터의 식별자를 전송함으로써 실행될 수 있다.
효율적인 여기 코드북 구조는 대수 코드북(an algebraic codebook)으로 지칭된다. 대수 코드북의 실제 구조는 공지되어 있으며, J.P.Adoul, et al.,Procedings of ICASSP Apr. 6-9, 1987 "대수 코드에 기초한 고속 CELP 코딩"에 기술되어 있다. 대수 코드의 사용은 "대수 코드에 기초한 효율적인 음성 코딩에 대한 동적 코드북"이라는 명칭을 가진 미국 특허 제5,444,816호에 더 개시되어 있으며, 이 문헌은 여기에 참조문헌으로서 통합된다.
최적 여기 벡터에 대한 코드북 탐색을 구현하기 위한 고도의 계산 및 저장 요건으로 인하여, 코드북 탐색의 속도를 증가시키기 위한 필요성이 존재하게 되었다.
본 발명은 코더에서 고속 코드 벡터 탐색을 구현하기 위한 신규한 방법 및 장치를 제공한다. 일 특징에서, 본 발명의 방법은 대수 코드북에서 코드 벡터를 선택하는 단계를 포함하며, 미리 계산된 토이플릿(Toeplitz) 자기 상관 행렬은 가중 필터 임펄스 응답의 1차원 벡터로서 저장되고, 피치 샤프닝된 펄스가 코드북 탐색을 수행하는데 필요한 저장 메모리를 상당히 절약하는 고속 코드북 탐색에 사용된다.
다른 특징에서, 본 발명의 장치는 펄스 벡터 코드북으로부터 최적 펄스 벡터를 선택하며, 상기 최적 펄스 벡터는 잔여 파형을 인코딩하기 위해 선형 예측 코더에 의해 사용된다. 본 발명의 장치는 임펄스 응답 벡터를 출력하기 위한 임펄스 응답 발생기; 임펄스 응답 벡터 및 다수의 목표 신호 샘플을 수신하고, 임펄스 응답 벡터에 기초하여 자기 상관값을 출력하며, 복합 임펄스 응답 벡터 및 다수의 목표 신호 샘플에 기초하여 자기 상관값을 출력하며, 임펄스 응답 벡터를 사용하여 결정되는 복합 임펄스 응답 벡터 및 다수의 목표 신호 샘플에 기초하여 상호 상관 벡터를 출력하는 상관 엘리먼트; 및 펄스 벡터를 사용하여 펄스 벡터 코드북으로부터 에너지값을 생성하고, 펄스 벡터 및 자기 상관값을 사용하여 결정되는 복합 펄스 벡터를 생성하는 펄스 에너지 결정 엘리먼트를 포함하며, 상기 에너지값 및 상기 상호 상관 벡터가 최적 펄스 벡터를 선택하는데 사용되는 비율값을 결정하기 위해 메트릭 계산기에 의해 사용된다.
또 다른 특징에서, 본 발명은 펄스 벡터의 코드북으로부터 최적 펄스 벡터를 선택하는 방법을 제공한다. 본 발명의 방법은 임펄스 응답 벡터와 관련된 자기 상관값을 결정하는 단계; 목표 신호 및 임펄스 응답 벡터로부터 결정되는 피치 샤프닝된 임펄스 응답 벡터와 관련된 상호 상관값을 결정하는 단계; 다수의 펄스 벡터로부터 각각의 펄스 벡터에 대한 에너지값을 각각의 펄스 벡터와 관련된 피치 샤프닝된 펄스 벡터 및 각각의 펄스 벡터를 사용하여 결정하는 단계; 및 다수의 에너지값 및 상호 상관값을 사용하여 다수의 비율을 결정하는 단계를 포함하며, 잔여 파형은 다수의 비율 중 가장 높은 비율을 가진 것으로 선택되는 펄스 벡터를 사용하여 인코딩된다.
도 1은 전형적인 통신 시스템의 블록도.
도 2는 코드북 탐색을 실행하기 위한 종래의 장치의 블록도.
도 3은 피치 개선된 임펄스 응답을 사용하는 코드에서 저속 코드북 탐색을 실행하는 장치의 블록도.
도 4는 피치 개선된 임펄스 응답을 사용하는 코더에서 고속 코드북 탐색을 실행하기 위한 장치의 블록도.
도 5는 고속 코드북 탐색을 실행하기 위한 방법 단계들의 흐름도.
도 1에 기술된 바와 같이, 무선 통신 시스템(10)은 일반적으로 다수의 원격국(또한 이동국 또는 가입자 유닛 또는 사용자 장치라 칭함)(12a-12d), 다수의 기지국(또한 기지국 트랜시버(BTS) 또는 노드(B))(14a-14c), 기지국 제어기(BSC)(또한 무선 네트워크 제어기 또는 패킷 제어 기능부(16)라 칭함), 이동 교환국(MSC) 또는 스위치(18), 패킷 데이터 전송 노드(PDSN) 또는 상호 접속 기능부(IWF)(20), 공중 교환 전화망(PSTN)(22)(전형적으로 전화 회사), 및 인터넷 프로토콜(IP) 네트워크(24)(전형적으로 인터넷)를 포함한다. 단순화를 위해, 4개의 원격국(12a-12d), 3개의 기지국(14a-14c), 하나의 BSC(16), 하나의 MSC(18) 및 하나의 PDSN(20)이 도시된다. 당업자는 임의의 수의 원격국(12), 기지국(14), BSC(16), MSC(18), 및 PDSN(20)이 존재할 수 있는 것으로 이해해야 한다.
일 실시예에서, 무선 통신 네트워크(10)는 패킷 데이터 서비스 네트워크이다. 원격국(12a-12d)은 휴대 전화, IP 기반 구동 랩탑 컴퓨터에 접속되는 셀룰러 전화, 웹-브라우저 애플리케이션, 핸즈프리 카 키트와 관련된 셀룰러 전화, IP 기반 구동 개인 휴대 정보 단말기(PDA), 웹-브라우저 애플리케이션, 휴대용 컴퓨터 내에 통합된 무선 통신 모듈, 또는 무선 로컬 루프 또는 미터 판독 시스템에서 발견될 수 있는 고정 위치 통신 모듈과 같은 다수의 다양한 형태의 무선 통신 장치 중 일부일 수 있다. 가장 일반적인 실시예에서, 원격국은 임의의 형태의 통신 유닛일 수 있다.
원격국(12a-12d)은 예컨대 EIA/TIA/IS-707 표준에 기술된 하나 이상의 무선 패킷 데이터 프로토콜을 실행하도록 구성될 수 있다. 특정 실시예에서, 원격국(12a-12d)은 IP 네트워크(24)에 대해 정해진 IP 패킷을 발생시키며, IP 패킷을 점대점 프로토콜(PPP)을 사용하여 프레임으로 캡슐화한다.
일 실시예에서, IP 네트워크(24)는 PDSN(20)에 접속되며, PDSN(20)은 MSC(18)에 접속되며, MSC(18)는 BSC(16) 및 PSTN(22)에 접속되며, BSC(16)는 예컨대 E1, T1, 비동기 전송 모드(ATM), IP, 프레임 중계, HDSL, ADSL, 또는 xDSL을 포함하는 여러 공지된 프로토콜 중 일부에 따라 음성 및/또는 데이터 패킷을 전송하도록 구성된 와이어라인을 통해 접속된다. 다른 실시예에서, BSC(16)는 PDSN(20)에 직접 접속되며, MSC(18)는 PDSN(20)에 접속되지 않는다. 또 다른 실시예에서, 원격국(12a-12d)은 3세대 파트너십 프로젝트 2"3GPP2", cdma2000 스펙트럼 확산 시스템을 위한 물리계층 표준", TIA/EIA/IS-2000-2-A로서 발행될 3GPP2 문서번호 C.P0002-A, TIA PN-4694(Draft, edit version 30)에 규정된 RF 인터페이스를 통해 기지국(14a-14c)과 통신하며, 이 문헌은 여기에 참조문헌으로서 통합된다. 또 다른 실시예에서, 원격국(12a-12d)은 3세대 파트너십 프로젝트 "3GPP", 문헌번호 3G TS 25.211, 3G TS 25.211, 3G TS 25.212, 3G TS 25.213 및 3G TS 25.214에 규정된 RF 인터페이스를 통해 기지국(14a-14c)과 통신한다.
무선 통신 네트워크(10)의 전형적인 동작 동안, 기지국(14a-14c)은 전화 통화, 웹 브라우징 또는 다른 데이터 통신과 관련된 다양한 원격국(12a-12d)으로부터 역방향 링크 신호의 세트를 수신하여 복조한다. 소정의 기지국(14a-14c)에 의해 수신된 각각의 역방향 링크 신호는 기지국(14a-14c) 내에서 처리된다. 각각의 기지국(14a-14c)은 순방향 링크 신호를 변조하여 원격국(12a-12d)에 전송함으로써 다수의 원격국(12a-12d)과 통신할 수 있다. 예컨대, 도 1에 도시된 바와 같이, 기지국(14a)은 제 1 및 제 2 원격국(12a, 12b)과 동시에 통신하며, 기지국(14c)은 제 3 및 제 4 원격국(12c, 12d)과 동시에 통신한다. 결과적인 패킷은 BSC(16)에 전송되며, BSC(16)는 특정 원격국(12a-12d)에 대한 호를 하나의 기지국(14a-14c)으로부터 다른 기지국(14a-14c)으로 소프트 핸드오프시키는 조정을 포함하는 호 자원 및 이동성 관리 기능을 제공한다. 예컨대, 원격국(12c)은 두 개의 기지국(14b, 14c)과 동시에 통신중에 있다. 이때, 원격국(12c)이 상기 기지국 중 한 기지국(14c)으로부터 멀리 떨어질 때, 호는 다른 기지국(14b)으로 핸드오프될 것이다.
전송이 종래의 전화 통화라면, BSC(16)는 수신된 데이터를 MSC(18)로 라우팅할 것이며, MSC(18)는 PSTN(22)과 인터페이싱하기 위한 추가 라우팅 서비스를 제공한다. 전송이 IP 네트워크(24)에 예정된 전송 데이터 호와 같은 패킷 기반 전송이라면, MSC(18)는 PDSN(20)에 데이터 패킷을 라우팅하며, PDSN(20)은 패킷을 IP 네트워크(24)에 전송할 것이다. 대안으로, BSC(16)는 PDSN(20)에 패킷을 직접 라우팅할 것이며, PDSN(20)은 패킷을 IP 네트워크(24)에 전송한다.
전술한 바와 같이, 음성 신호는 프레임으로 분할될 수 있으며, LPC 필터 계수, 적응형 코드북 벡터 및 고정된 코드북 벡터를 사용하여 모델링된다. 음성 신호의 최적 모델을 생성하기 위해, 실제 음성 및 재생성된 음성 간의 차이는 최소가 되어야 한다. 이 차이가 최소인지를 결정하는 한 기술은 실제 음성 및 재생성된 음성 간의 상관값을 결정한 후 최대 상관 특성을 가진 성분 세트를 선택하는 것이다.
도 2는 코드북으로부터 최적 여기 벡터를 선택하기 위한 종래의 인코더 장치의 블록도이다. 이러한 인코더는 필터의 임펄스 응답을 사용하여 입력 신호를 컨벌브(convolve)할때 포함되는 계산의 복잡성을 최소화하도록 설계되며, 상기 복잡성은 어떤 입력 신호가 목표 신호와 가장 가깝게 매칭되는지를 결정하기 위해 다수의 입력 신호를 컨벌브할 필요성에 의해 더 증가한다. 복잡성을 감소시키기 위해, 인코더는 제로-값들로 연장된 임펄스 응답을 가진 입력 신호들의 그룹을 컨벌브한다. 이러한 연장은 임펄스 응답이 고정되게 한다. 정지 임펄스 응답에 대한 자기 상관 행렬은 토이플릿 형식을 가진다.
음성 샘플들 s(n)의 프레임은 지각(conceptual) 가중 필터(230)에 의해 필터링되어 목표 신호 x(n)를 생성한다. 지각 가중 필터의 설계 및 구현은 전술한 미국 특허 제5,414,796호에 기술되어 있다. 임펄스 응답 발생기(210)는 임펄스 응답 h(n)를 발생시킨다. 임펄스 응답 h(n) 및 목표 신호 x(n)를 사용하여, 다음과 같은 관계식에 따라 계산 엘리먼트(290)에서 상호 상관 벡터 d(i)가 생성된다.
Figure 112003046210987-pct00001
자기 상관 행렬을 생성하기 위해 계산 엘리먼트(250)에 의해 임펄스 응답 h(n)이 사용된다.
Figure 112003046210987-pct00002
자기 상관 행렬 φ는 분석 윈도우가 M개의 샘플에서 M+L-1개의 샘플로 연장한다면 토이플릿 행렬이 되며, 여분의 샘플들은 제로값이다. 토이플릿 행렬은 각 대각선을 따라 엔트리가 일정한 정사각 행렬이다. 그러므로 토이플릿 자기 상관 행렬은 2차원 행렬보다 오히려 1차원 벡터에 의해 표현될 수 있다.
자기 상관 행렬 φ의 엔트리는 계산 엘리먼트(240)에 전송된다. 펄스 코드북 발생기(200)는 계산 엘리먼트(240)에 입력되는 다수의 펄스 벡터 {ck, k=1, ..., M)를 생성한다. 펄스 파형 코드북 또는 펄스 코드북으로서 대안으로 언급된 여기 파형 코드북은 다수의 펄스 위치 신호 {pi, i=1,...,M}(도면에 도시 안됨)에 응답하여 생성될 수 있으며, 여기서 i는 펄스 벡터에서 단위 벡터의 위치이다. Np는 펄스 벡터에서 다수의 펄스를 나타내는 값이다. 계산 엘리먼트(240)는 다음과 같은 공식에 따라 자기 상관 행렬 φ를 사용하여 펄스 벡터를 필터링한다.
Figure 112003046210987-pct00003
펄스 벡터 {ck, k=1,..,M}은 다음과 같은 식에 따라 d(n) 및 ck(n) 사이의 상호 상관을 결정하기 위해 계산 엘리먼트(290)에 의해 사용된다.
Figure 112003046210987-pct00004
일단 Eyy 및 Exy에 대한 값이 알려지면, 계산 엘리먼트(260)는 다음과 같은 관계식을 사용하여 Tk 값을 결정한다.
Figure 112003046210987-pct00005
Tk의 가장 큰 값에 대응하는 펄스 벡터가 잔여 파형을 인코딩하기 위한 최적 벡터로서 선택된다.
앞의 방식을 사용하여 최적 펄스 벡터를 탐색하는 것은 자기 상관 행렬 φ의 단순화로 인하여 효율적이다. 그러나 도 2의 장치는 개선된 가변 레이트 코덱(EVRC) 및 선택 가능한 모드 보코더(SMV)와 같이 새로운 음성 인코더에서 실행될 수 없다. 도 2의 장치에서, 자기 상관 행렬 φ의 단순화는 임펄스 응답 h(n)이 고정되도록 음성 프레임의 윈도우를 제로 값으로 연장함으로써 가능하다. 따라서, 자기 상관 행렬 φ의 엔트리는 φ(i,j)=φ(i-j)와 같다.
그러나 앞서 언급된 것과 같은 새로운 보코더의 일부에서, 음성 프레임의 윈도우는 피치 주기성으로부터 비제로 값 속성의 통합으로써 인하여 제로값으로 연장될 수 없다. 이들 보코더에서, 코드북 펄스의 피치 주기성 속성은 이득 조절된 순방향 및 역방향 피치 샤프닝 프로세스를 음성 신호의 분석 프레임에 통합함으로써 강화된다.
피치 샤프닝의 예는 다음과 같은 관계식에 따라 h(n)으로부터 복합 임펄스 응답
Figure 112009033037289-pct00006
을 공식화한 것이다.
Figure 112003046210987-pct00007
여기서, P는 서브프레임 L에 포함된 길이 L의 피치 래그 주기(전체 또는 부분)의 수이며, L은 피치 래그이며, gp는 피치 이득이다.
도 3은 필터의 임펄스 응답이 피치 개선된 여기 코드북을 탐색하기 위한 장치의 블록도이다. 음성 샘플들 s(n)의 프레임은 지각 가중 필터(330)에 의해 필터링되어 목표 신호 x(n)을 생성한다. 임펄스 응답 발생기(310)는 임펄스 응답 h(n)을 생성한다. 임펄스 응답 h(n)은 피치 샤프너 엘리먼트(370)에 입력되며, 복합 임펄스 응답
Figure 112009033037289-pct00008
을 산출한다. 복합 임펄스 응답
Figure 112009033037289-pct00009
및 목표 신호 x(n)은 계산 엘리먼트(390)에 입력되어 다음과 같은 관계식에 따라 상호 상관 벡터 d(i)를 결정한다.
Figure 112003046210987-pct00010
복합 임펄스 응답
Figure 112009033037289-pct00011
은 자기 상관 행렬을 생성하기 위해 계산 엘리먼트(350)에 의해 사용된다.
Figure 112003046210987-pct00012
자기 상관 행렬 φ의 엔트리는 계산 엘리먼트(340)에 전송된다. 펄스 코드북 발생기(300)는 계산 엘리먼트(340)에 입력되는 다수의 펄스 벡터 {ck, k=1,...,M}을 생성한다. 계산 엘리먼트(340)는 다음과 같은 공식에 따라 자기 상관 행렬을 사용하여 펄스 벡터를 필터링한다.
Figure 112003046210987-pct00013
펄스 벡터 {ck, k=1,..., M}은 다음과 같은 등식에 따라 d(n) 및 ck(n) 간의 상호 상관을 결정하기 위해 계산 엘리먼트(390)에 의해 사용될 수도 있다.
Figure 112003046210987-pct00014
일단 Eyy 및 Exy에 대한 값이 알려지면, 계산 엘리먼트(360)는 다음과 같은 관계식을 사용하여 Tk 값을 결정한다.
Figure 112003046210987-pct00015
Tk의 가장 큰 값에 대응하는 펄스 벡터가 잔여 파형을 인코딩하기 위한 최적 벡터로서 선택된다. 복합 임펄스 행렬
Figure 112009033037289-pct00016
이 더 이상 정지 상태가 아니기 때문에, 자기 상관 행렬은 1차원 행렬로 단순화될 수 없으며, φ 행렬을 저장하는데 필요한 전체 엘리먼트의 수는 크게 유지된다.
이하에 기술된 실시예는 피치 주기성의 기여를 향상시키도록 설계된 새로운 코더 내에서의 효율적인 계산 방식에 대한 필요성을 제기한다. 본 실시예는 당업자에게 반직관적으로 고려될 수 있는 방법을 기술하나, 임의의 피치 주기값의 적절한 선택은 유익한 결과를 야기할 수 있다. 특히, 본 기술에서 널리 지지되는 신념은 펄스 코드 벡터에서 펄스의 수가 벡터를 나타내는데 필요한 비트의 수를 최소화하기 위해 작게 유지되어야 한다는 점이다. 펄스 코드 벡터는 지정된 공간에 단위 펄스를 가진 벡터이며, 나머지 공간은 제로 값으로 지정된다. 소수의 펄스를 가진 펄스 벡터의 예는 이용 가능한 공간의 14% 미만이 단위 펄스에 의해 점유되는 것이다.
여기에 기술될 실시예는 코드 벡터 내에서 펄스의 수를 고의로 증가시킨다. 임펄스 응답의 피치를 향상시키는 코더에서, 순방향 및 역방향 래그 값은 복합 임펄스 응답을 형성하기 위해 현재 분석하에 있는 윈도우 프레임에 겹쳐진다. 이들 코더에서, 자기 상관 행렬 φ는 복합 임펄스 응답에 기초하여 결정된다.
여기에 기술된 실시예는 자기 상관 행렬 φ를 결정하는데 있어서 복합 임펄스 응답의 사용을 피한다. 실시예들은 복합 임펄스 응답을 사용하는 것보다는 복합 펄스 코드북 벡터를 결정하며, 펄스 코드 벡터의 순방향 및 역방향 래그 값이 코드 벡터에 다시 겹쳐진다. 이와 같은 래그 값들의 통합은 코드 벡터에서 펄스의 수를 증가시키며, 이는 코드 벡터 펄스의 수가 최소로 유지되어야 한다는 일반적인 믿음에 위배된다. 복합 펄스 코드 벡터가 사용된다면, 다음과 같은 관계식으로 인하여 복합 임펄스 응답에 기초하여 자기 상관 행렬 φ를 결정할 필요성이 더 이상 존재하지 않는다.
Figure 112003046210987-pct00017
앞의 식은 피치 샤프닝된 임펄스 응답을 사용하여 펄스 코드 벡터를 컨벌브한 결과가 임펄스 응답을 사용하여 피치 샤프닝된 펄스 코드 벡터를 컨벌브한 결과와 동일하다는 것을 나타낸다.
자기 상관 행렬 φ를 결정하기 위해 복합 임펄스 응답보다는 임펄스 응답이 사용된다면, 본 실시예는 임펄스 응답이 제로 값으로 연장될 수 있다는 것을 함축적으로 가정한다. 이러한 가정은 전술한 바와 같이 비-제로 래그 값을 다시 임펄스 응답에 겹치게 하는 실행과 반대이다. 본 실시예는, 상기 가정을 사용하여, 피치 샤프닝된 임펄스 응답을 사용하는 코더에서 최적 여기 또는 펄스 파형에 대한 고속 탐색을 수행하기 위해 1차원 자기 상관 행렬로 2차원 자기 상관 행렬 φ를 근사화한다.
도 4는 복합 펄스 벡터를 사용하여 고속 코드북 탐색을 실행하는 장치의 블록도이다. 일 실시예에서, 코드북에서의 펄스 벡터는 80개 샘플의 길이를 가지며, 단위 펄스는 80개 샘플의 위치 중 임의에 배치될 수 있다. 각 코드 벡터에서의 단위 펄스의 수는 80개 샘플 위치가 있다면, 소수, 예컨대 1 또는 2를 유지해야 한다. 많은 펄스를 가진 벡터는 더 큰 크기의 분석 윈도우에 사용될 수 있다. 각 펄스 pi에서, 대응 부호 si가 펄스에 할당된다. 결과적인 코드 벡터 ck는 이하의 식에 의해 주어진다.
Figure 112003046210987-pct00018
음성 샘플 s(n)의 프레임은 지각 가중 필터(430)에 의해 필터링되어 목표 신호 x(n)을 생성한다. 임펄스 응답 발생기(410)는 임펄스 응답 h(n)을 발생시킨다. 임펄스 응답 h(n)은 피치 샤프너 엘리먼트(470)에 입력되며, 복합 임펄스 응답
Figure 112009033037289-pct00019
을 산출한다. 복합 임펄스 응답
Figure 112009033037289-pct00020
및 목표 신호 x(n)는 다음과 같은 관계식에 따라 상호 상관 벡터 d(i)를 결정하기 위해 계산 엘리먼트(490)에 입력된다.
Figure 112003046210987-pct00021
임펄스 응답 h(n)은 1차원 자기 상관 행렬을 생성하기 위해 계산 엘리먼트(450)에 의해 사용된다.
Figure 112003046210987-pct00022
자기 상관 행렬 φ의 엔트리는 계산 엘리먼트(440)에 전송된다. 펄스 코드북 발생기(400)는 다수의 펄스 벡터 {ck, k=1, ..., M}를 생성하고, 이들은 다음과 같은 공식에 따라 피치 샤프닝 엘리먼트(420)에 의해 변경되어 복합 펄스 벡터를 형성한다.
Figure 112003046210987-pct00023
여기서 k1 및 k2는 0≤
Figure 112009033037289-pct00024
<M이 되도록 범위 0≤k1, k2≤M에서 최대가 되도록 선택된다. 각각의 1차 펄스
Figure 112009033037289-pct00025
는 벡터에서의 1차 펄스 위치 및 피치 래그에 따라 0 이상의 2차 펄스를 가질 것이다. 예컨대, 래그 L=33, 벡터 크기 M=80, i번째 펄스의 1차 위치는
Figure 112009033037289-pct00026
=46인 경우, 2차 펄스 위치는
Figure 112009033037289-pct00027
=13 및
Figure 112009033037289-pct00028
=79이다. 그러므로 복합 펄스 벡터는 1차 펄스 및 2차 펄스를 포함한다.
복합 펄스 벡터, 펄스 벡터 및 자기 상관 행렬 φ는 계산 엘리먼트(440)에 입력된다. 계산 엘리먼트(440)는 다음과 같은 공식에 따라 펄스 벡터 및 복합 펄스 벡터를 필터링한다.
Figure 112003046210987-pct00029
펄스 벡터 {ck, k=1,...,M}은 다음과 같은 식에 따라 d(n) 및 ck(n) 간의 상호 상관을 결정하기 위해 계산 엘리먼트(490)에 의해 사용된다.
Figure 112003046210987-pct00030
일단 Eyy 및 Exy에 대한 값이 알려지면, 계산 엘리먼트(460)는 다음과 같은 관계식을 사용하여 값 Tk을 결정한다.
Figure 112003046210987-pct00031
Tk의 가장 큰 값에 대응하는 펄스 벡터는 잔여 파형을 인코딩하기 위한 최적 벡터로서 선택된다. Eyy의 전술한 계산은 단순한 방식으로 순방향 및 역방향 피치 샤프닝을 코드 탐색에 통합함으로써, 이에 따라 2차원 행렬 φ(i, j)의 M×M개의 값들의 기존 요건과 다르게 1차원 φ(i) 벡터를 저장하기 위한 M개의 값으로 메모리 요건을 감소시키는 장점을 갖는다.
다른 구성에서, 자기 상관 행렬 φ 및 상호 상관값 Exy를 생성하는 기능을 수행하는 상호 상관 엘리먼트(401)가 구현될 수 있다. 다른 실시예에서, 에너지값 Eyy는 코드북 및 코드북의 복합 표현을 생성하고 수신된 자기 상관 행렬을 사용하여 에너지값을 계산하도록 구성된 펄스 에너지 결정 엘리먼트(402)를 사용하여 생성될 수 있다. 대안으로, 피치 샤프너(470)는 펄스 코드 결정 엘리먼트(402)와 별도로 실행될 수 있다. 또 다른 실시예에서, 단일 프로세서 및 메모리는 도 4의 개별 소자의 모든 기능을 수행하도록 구성될 수 있다.
도 5는 피치 개선된 임펄스 응답을 사용하는 코더에서 고속 코드북 탐색을 실행하기 위한 방법을 기술하는 흐름도이다. 프로세서 및 메모리는 방법 단계들을 실행하도록 구성될 수 있다. 단계(500)에서, 1차 펄스 벡터가 생성된다. 단계(502)에서, 1차 펄스 및 2차 펄스를 포함하는 복합 펄스 벡터가 생성된다. 단계(504)에서, 목표 신호 x(n)을 생성하기 위해 음성 신호 s(n)이 필터링된다. 단계(506)에서, 임펄스 응답 h(n)이 발생한다. 단계(506)에서, 임펄스 응답 h(n)이 발생한다. 단계(508)에서, 임펄스 응답 h(n)이 사용되어 피치 개선된 복합 임펄스 응답
Figure 112009033037289-pct00032
을 발생시킨다. 단계(510)에서, 복합 임펄스 응답
Figure 112009033037289-pct00033
및 목표 신호 x(n)에 기초하여 상호 상관값 d(i)가 결정된다. 단계(512)에서, 임펄스 응답 h(n)을 사용하여 1차원 자기 상관 행렬 φ가 결정된다. 단계(514)에서, 상호 상관값 d(i) 및 펄스 벡터를 사용하여 Exy 값이 결정된다. 단계(516)에서, 자기 상관 행렬 φ, 복합 펄스 벡터 및 1차 펄스 벡터를 사용하여 에너지값 Eyy가 결정된다. 단계(518)에서, Exy 및 Eyy를 사용하여 최대 기준 Tk가 결정된다. 단계(520)에서, 모든 펄스 벡터가 소비될 때까지 코드북의 다음 펄스 벡터에 대하여 프로세스가 반복된다. 단계(522)에서, 분석 프레임 내의 음성 신호를 인코딩하기 위해 가장 최대의 기준 Tk를 가진 펄스 벡터가 최적 여기 파형으로 선택된다.
전술한 방법 단계들은 여기에 기술된 실시예의 범위에 영향을 미치지 않고 서로 교환될 수 있다. 예컨대, Tk에 대한 계산에 영향을 미치지 않고 Exy 값 전에 Eyy 값을 결정하는 것이 가능하다.
당업자는 다양한 다른 기술중 일부를 사용하여 표현될 수 있다. 예컨대, 전술한 상세한 설명 전반에 걸쳐 참조될 수 있는 데이터, 명령, 커맨드, 정보, 신호, 비트, 심벌 및 칩은 전압, 전류, 전자기파, 자기장 또는 입자, 광 필드 또는 입자 또는 이들의 임의의 결합에 의해 표현될 수 있다.
당업자는 여기에 기술된 다양한 논리 블록, 모듈, 회로, 및 알고리즘 단계가 하드웨어, 컴퓨터 소프트웨어 또는 이들의 결합으로써 실행될 수 있다는 것을 인식해야 한다. 이러한 하드웨어 및 소프트웨어의 가변성을 명확히 설명하기 위해, 다양한 소자, 블록, 모듈, 회로 및 단계들이 기능과 관련하여 앞서 기술되었다. 이러한 기능이 하드웨어로서 실행되는지 또는 소프트웨어로서 실행되는지의 여부는 전체 시스템에 부여된 설계 제한요건 및 특정 응용에 따른다. 당업자는 각각의 특정 응용에 대해 다양한 방식으로 기술된 기능을 실행할 수 있으나, 이러한 실행은 본 발명의 범위를 벗어나지 않게 해석되어야 한다.
여기에 기술된 실시예와 관련하여 기술된 다양한 논리블록, 모듈 및 회로는 범용 프로세서, 디지털 신호 처리기(DSP), 주문형 반도체(ASIC), 필드프로그램 가능 게이트 어레이(FPGA) 또는 다른 프로그램가능 논리장치, 개별 게이트 또는 트랜지스터 논리장치, 개별 하드웨어 소자 또는 여기에 기술된 기능을 실행하도록 설계된 소자들의 임의의 결합을 사용하여 실행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있거나, 또는 대안으로 프로세서는 종래의 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수 있다. 프로세서는 컴퓨팅 장치의 결합, 예컨대 DSP 및 마이크로프로세서, 다수의 마이크로프로세서, DSP 코어와 관련한 하나 이상의 마이크로프로세서, 또는 임의의 다른 장치의 결합으로써 실행될 수 있다.
여기에 기술된 실시예와 관련하여 기술된 알고리즘 또는 방법의 단계들은 하드웨어, 프로세서에 의해 실행되는 소프트웨어 모듈 또는 이들의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드디스크, 소거가능 디스크, CD-ROM, 또는 공지된 다른 형태의 저장매체에 상주할 수 있다. 전형적인 저장매체는 프로세서에 접속되며, 이에 따라 프로세서는 저장매체로부터 정보를 판독하고 저장매체에 정보를 기록할 수 있다. 대안으로, 저장매체는 프로세서에 집적될 수 있다. 프로세서 및 저장매체는 ASIC내에 배치될 수 있다. ASIC은 사용자 단말기에 배치될 수 있다. 대안으로, 프로세서 및 저장매체는 사용자 단말기의 개별 소자로서 배치될 수 있다.
기술된 실시예의 이전 설명은 당업자로 하여금 본 발명의 실시 또는 사용할 수 있도록 한다. 이들 실시예의 다양한 수정은 당업자에 의해 용이하게 수행될 것이며, 여기에 기술된 일반적인 원리는 본 발명의 사상 및 범위를 벗어나지 않고 다른 실시예에 적용될 수 있다. 따라서, 본 발명은 여기에 기술된 실시예에 제한되지 않고 여기에 기술된 원리 및 신규한 특징에 따른 가장 넓은 범위를 따른다.

Claims (9)

  1. 잔여 파형을 인코딩하기 위해 선형 예측 코더에 의해 사용되는 최적 펄스 벡터를 펄스 벡터 코드북으로부터 선택하기 위한 장치로서,
    임펄스 응답 벡터를 출력하기 위한 임펄스 응답 발생기;
    상기 임펄스 응답 벡터 및 다수의 목표 신호 샘플들을 수신하고, 상기 임펄스 응답 벡터에 기초하여 자기 상관(autocorrelation)값을 출력하며, 상기 임펄스 응답 벡터를 사용하여 결정되는 복합(composite) 임펄스 응답 벡터 및 상기 다수의 목표 신호 샘플들에 기초하여 상호 상관(cross-correlation) 벡터를 출력하도록 구성되는 상관 엘리먼트; 및
    상기 펄스 벡터 코드북으로부터의 펄스 벡터, 상기 펄스 벡터를 사용하여 결정되는 복합 펄스 벡터, 및 상기 자기 상관값을 사용하여 에너지값을 생성하도록 구성되는 펄스 에너지 결정 엘리먼트를 포함하며,
    상기 에너지값 및 상기 상호 상관 벡터는 상기 최적 펄스 벡터를 선택하는데 사용되는 비율값을 결정하기 위해 메트릭(metric) 계산기에 의해 사용되는, 최적 펄스 벡터 선택 장치.
  2. 제 1 항에 있어서,
    상기 장치는 상기 펄스 벡터 코드북의 각 펄스 벡터에 대한 에너지값을 생성하도록 구성되며,
    가장 큰 비율값을 발생시키는 펄스 벡터가 상기 잔여 파형을 인코딩하는데 사용되는, 최적 펄스 벡터 선택 장치.
  3. 제 1 항에 있어서,
    상기 펄스 에너지 결정 엘리먼트는,
    상기 펄스 벡터 코드북을 생성하기 위한 펄스 벡터 생성기;
    상기 펄스 벡터를 수신하여 상기 복합 펄스 벡터를 생성하도록 구성되는 피치 샤프너(pitch sharpener); 및
    상기 펄스 벡터 생성기로부터의 펄스 벡터, 상기 피치 샤프너로부터의 복합 펄스 벡터, 및 상기 상관 엘리먼트로부터의 자기 상관값을 수신하여, 상기 에너지값을 결정하도록 구성되는 에너지 계산 엘리먼트를 포함하는, 최적 펄스 벡터 선택 장치.
  4. 제 3 항에 있어서,
    상기 피치 샤프너는 미리 결정된 피치 래그(lag) 파라미터 및 미리 결정된 피치 이득 파라미터에 따라 상기 복합 펄스 벡터를 결정하는, 최적 펄스 벡터 선택 장치.
  5. 제 3 항에 있어서,
    상기 에너지 계산 엘리먼트는 다음 공식에 따라 상기 에너지값을 결정하며,
    Figure 112009033037289-pct00034
    상기 Eyy는 상기 에너지값이며, 상기 gp는 피치 이득값이며, 상기 px는 펄스 벡터에서 x번째 엘리먼트의 펄스 위치이며, 상기 φ()은 상기 임펄스 응답의 자기 상관 벡터인, 최적 펄스 벡터 선택 장치.
  6. 잔여 파형을 인코딩하기 위한 장치로서,
    메모리 엘리먼트;
    상기 메모리 엘리먼트에 저장된 명령 세트를 실행하도록 구성되는 프로세서를 포함하며; 상기 명령 세트는,
    임펄스 응답 벡터와 관련된 자기 상관값을 결정하고,
    상기 임펄스 응답 벡터로부터 결정되는 피치 샤프닝(pitch-sharpened) 임펄스 응답 벡터 및 목표 신호와 관련된 상호 상관값을 결정하며,
    다수의 펄스 벡터들로부터의 각 펄스 벡터에 대한 에너지값을 각 펄스 벡터 및 각 펄스 벡터와 관련된 피치 샤프닝된 펄스 벡터를 사용하여 결정하며,
    다수의 비율들을 결정하기 위해 다수의 에너지값들 및 상기 상호 상관값을 사용하기 위한 것이고,
    상기 잔여 파형은 최대 비율을 제공하는 펄스 벡터를 사용함으로써 인코딩되는, 인코딩 장치.
  7. 펄스 벡터들의 코드북으로부터 최적 펄스 벡터를 선택하기 위한 방법으로서,
    임펄스 응답 벡터와 관련된 자기 상관값을 결정하는 단계;
    상기 임펄스 응답 벡터로부터 결정되는 피치 샤프닝된 임펄스 응답 벡터 및 목표 신호와 관련된 상호 상관값을 결정하는 단계;
    다수의 펄스 벡터들로부터의 각 펄스 벡터에 대한 에너지값을 각 펄스 벡터 및 각 펄스 벡터와 관련된 피치 샤프닝된 펄스 벡터를 사용하여 결정하는 단계; 및
    다수의 비율들을 결정하기 위해 다수의 에너지값 및 상기 상호 상관값을 사용하는 단계를 포함하며,
    상기 다수의 비율들 중 가장 높은 비율을 갖는 것으로서 선택되는 펄스 벡터를 사용함으로써 잔여 파형이 인코딩되는, 최적 펄스 벡터 선택 방법.
  8. 펄스 벡터들의 코드북으로부터 최적 펄스 벡터를 선택하기 위한 장치로서,
    임펄스 응답 벡터와 관련된 자기 상관값을 결정하기 위한 수단;
    상기 임펄스 응답 벡터로부터 결정되는 피치 샤프닝된 임펄스 응답 벡터 및 목표 신호와 관련된 상호 상관값을 결정하기 위한 수단;
    다수의 펄스 벡터들로부터의 각 펄스 벡터에 대한 에너지값을 각 펄스 벡터 및 각 펄스 벡터와 관련된 피치 샤프닝된 펄스 벡터를 사용하여 결정하기 위한 수단;
    다수의 비율들을 결정하기 위해 다수의 에너지값들 및 상기 상호 상관값을 사용하기 위한 수단; 및
    상기 다수의 비율들 중 가장 높은 비율을 갖는 펄스 벡터를 선택하기 위한 수단을 포함하는, 최적 펄스 벡터 선택 장치.
  9. 명령들을 저장하는 프로세서 판독 가능 매체로서, 상기 명령들은,
    임펄스 응답 벡터와 관련된 자기 상관값을 결정하기 위한 코드;
    상기 임펄스 응답 벡터로부터 결정되는 피치 샤프닝된 임펄스 응답 벡터 및 목표 신호와 관련된 상호 상관값을 결정하기 위한 코드;
    다수의 펄스 벡터들로부터의 각 펄스 벡터에 대한 에너지값을 각 펄스 벡터 및 각 펄스 벡터와 관련된 피치 샤프닝된 펄스 벡터를 사용하여 결정하기 위한 코드; 및
    다수의 비율들을 결정하기 위해 다수의 에너지값들 및 상기 상호 상관값을 사용하기 위한 코드를 포함하며,
    상기 다수의 비율들 중 가장 높은 비율을 갖는 것으로서 선택되는 펄스 벡터를 사용함으로써 잔여 파형이 인코딩되는, 프로세서 판독 가능 매체.
KR1020037015841A 2001-06-04 2002-05-31 고속 코드-벡터 탐색 장치 및 방법 KR100935174B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/874,657 US6766289B2 (en) 2001-06-04 2001-06-04 Fast code-vector searching
US09/874,657 2001-06-04
PCT/US2002/017037 WO2002099787A1 (en) 2001-06-04 2002-05-31 Fast code-vector searching

Publications (2)

Publication Number Publication Date
KR20040006011A KR20040006011A (ko) 2004-01-16
KR100935174B1 true KR100935174B1 (ko) 2010-01-06

Family

ID=25364269

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037015841A KR100935174B1 (ko) 2001-06-04 2002-05-31 고속 코드-벡터 탐색 장치 및 방법

Country Status (7)

Country Link
US (1) US6766289B2 (ko)
EP (1) EP1399918A1 (ko)
KR (1) KR100935174B1 (ko)
CN (1) CN1306473C (ko)
HK (1) HK1066901A1 (ko)
TW (1) TW559784B (ko)
WO (1) WO2002099787A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993099B2 (en) * 2001-11-07 2006-01-31 Texas Instruments Incorporated Communications receiver architectures and algorithms permitting hardware adjustments for optimizing performance
US20030210659A1 (en) * 2002-05-02 2003-11-13 Chu Chung Cheung C. TFO communication apparatus with codec mismatch resolution and/or optimization logic
CA2392640A1 (en) * 2002-07-05 2004-01-05 Voiceage Corporation A method and device for efficient in-based dim-and-burst signaling and half-rate max operation in variable bit-rate wideband speech coding for cdma wireless systems
US7003461B2 (en) * 2002-07-09 2006-02-21 Renesas Technology Corporation Method and apparatus for an adaptive codebook search in a speech processing system
KR100754439B1 (ko) 2003-01-09 2007-08-31 와이더댄 주식회사 이동 전화상의 체감 음질을 향상시키기 위한 디지털오디오 신호의 전처리 방법
WO2004084182A1 (en) * 2003-03-15 2004-09-30 Mindspeed Technologies, Inc. Decomposition of voiced speech for celp speech coding
US7788091B2 (en) * 2004-09-22 2010-08-31 Texas Instruments Incorporated Methods, devices and systems for improved pitch enhancement and autocorrelation in voice codecs
US7860710B2 (en) * 2004-09-22 2010-12-28 Texas Instruments Incorporated Methods, devices and systems for improved codebook search for voice codecs
US8265929B2 (en) * 2004-12-08 2012-09-11 Electronics And Telecommunications Research Institute Embedded code-excited linear prediction speech coding and decoding apparatus and method
US7571094B2 (en) * 2005-09-21 2009-08-04 Texas Instruments Incorporated Circuits, processes, devices and systems for codebook search reduction in speech coders
JP3981399B1 (ja) * 2006-03-10 2007-09-26 松下電器産業株式会社 固定符号帳探索装置および固定符号帳探索方法
US20100153100A1 (en) * 2008-12-11 2010-06-17 Electronics And Telecommunications Research Institute Address generator for searching algebraic codebook
CN101599272B (zh) * 2008-12-30 2011-06-08 华为技术有限公司 基音搜索方法及装置
SG188327A1 (en) 2010-09-02 2013-04-30 Microsoft Corp Generation and application of a sub-codebook of an error control coding codebook
JP5722916B2 (ja) * 2011-01-14 2015-05-27 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 符号化装置および符号化方法
CN102901953B (zh) * 2012-09-28 2017-05-31 罗森伯格(上海)通信技术有限公司 一种相关峰锐化方法及装置
ES2701402T3 (es) * 2012-10-05 2019-02-22 Fraunhofer Ges Forschung Aparato para codificar una señal de voz empleando ACELP en el dominio de autocorrelación
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
US9620134B2 (en) 2013-10-10 2017-04-11 Qualcomm Incorporated Gain shape estimation for improved tracking of high-band temporal characteristics
US10614816B2 (en) 2013-10-11 2020-04-07 Qualcomm Incorporated Systems and methods of communicating redundant frame information
US10083708B2 (en) 2013-10-11 2018-09-25 Qualcomm Incorporated Estimation of mixing factors to generate high-band excitation signal
US9384746B2 (en) 2013-10-14 2016-07-05 Qualcomm Incorporated Systems and methods of energy-scaled signal processing
US10163447B2 (en) 2013-12-16 2018-12-25 Qualcomm Incorporated High-band signal modeling

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0619574A1 (en) * 1993-04-09 1994-10-12 SIP SOCIETA ITALIANA PER l'ESERCIZIO DELLE TELECOMUNICAZIONI P.A. Speech coder employing analysis-by-synthesis techniques with a pulse excitation
US5864650A (en) * 1992-09-16 1999-01-26 Fujitsu Limited Speech encoding method and apparatus using tree-structure delta code book
KR20000029745A (ko) * 1996-07-31 2000-05-25 러셀 비. 밀러 Celp코더내의여기코드북을검색하기위한방법및장치
KR20010024943A (ko) * 1998-02-17 2001-03-26 비센트 비.인그라시아 고정 코드북의 최적 벡터의 빠른 결정 방법 및 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2010830C (en) 1990-02-23 1996-06-25 Jean-Pierre Adoul Dynamic codebook for efficient speech coding based on algebraic codes
US5701392A (en) * 1990-02-23 1997-12-23 Universite De Sherbrooke Depth-first algebraic-codebook search for fast coding of speech
US5265190A (en) 1991-05-31 1993-11-23 Motorola, Inc. CELP vocoder with efficient adaptive codebook search
US5732389A (en) * 1995-06-07 1998-03-24 Lucent Technologies Inc. Voiced/unvoiced classification of speech for excitation codebook selection in celp speech decoding during frame erasures
US5664055A (en) * 1995-06-07 1997-09-02 Lucent Technologies Inc. CS-ACELP speech compression system with adaptive pitch prediction filter gain based on a measure of periodicity
WO1997030524A1 (en) * 1996-02-15 1997-08-21 Philips Electronics N.V. Reduced complexity signal transmission system
US6169970B1 (en) * 1998-01-08 2001-01-02 Lucent Technologies Inc. Generalized analysis-by-synthesis speech coding method and apparatus
US6141638A (en) * 1998-05-28 2000-10-31 Motorola, Inc. Method and apparatus for coding an information signal

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864650A (en) * 1992-09-16 1999-01-26 Fujitsu Limited Speech encoding method and apparatus using tree-structure delta code book
EP0619574A1 (en) * 1993-04-09 1994-10-12 SIP SOCIETA ITALIANA PER l'ESERCIZIO DELLE TELECOMUNICAZIONI P.A. Speech coder employing analysis-by-synthesis techniques with a pulse excitation
KR20000029745A (ko) * 1996-07-31 2000-05-25 러셀 비. 밀러 Celp코더내의여기코드북을검색하기위한방법및장치
KR20010024943A (ko) * 1998-02-17 2001-03-26 비센트 비.인그라시아 고정 코드북의 최적 벡터의 빠른 결정 방법 및 장치

Also Published As

Publication number Publication date
US20030028373A1 (en) 2003-02-06
WO2002099787A1 (en) 2002-12-12
KR20040006011A (ko) 2004-01-16
CN1535462A (zh) 2004-10-06
EP1399918A1 (en) 2004-03-24
TW559784B (en) 2003-11-01
US6766289B2 (en) 2004-07-20
HK1066901A1 (en) 2005-04-01
CN1306473C (zh) 2007-03-21

Similar Documents

Publication Publication Date Title
KR100935174B1 (ko) 고속 코드-벡터 탐색 장치 및 방법
KR100926599B1 (ko) 코드북 벡터 검색의 메모리 요구들을 감소시키는 방법 및 장치
JP5280480B2 (ja) 帯域幅適応性量子化方法と装置
Salami et al. A toll quality 8 kb/s speech codec for the personal communications system (PCS)
US7577563B2 (en) Enhanced conversion of wideband signals to narrowband signals
US7698132B2 (en) Sub-sampled excitation waveform codebooks
US6940967B2 (en) Multirate speech codecs
EP1312230A2 (en) Method and apparatus for using non-symmetric speech coders to produce non-symmetric links in a wireless communication system
KR100752797B1 (ko) 음성 코더에서 선 스펙트럼 정보 양자화법을 인터리빙하는 방법 및 장치
JP2004509365A (ja) 複数チャネル信号の符号化及び復号化
CN100349395C (zh) 用于语音帧误差降低的语音通信单元和方法
Chang et al. An improved 13 kb/s speech coder for PCS

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161125

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 11