KR20040044411A - 코드북 벡터 검색에 대한 메모리 요건들을 감소시키는방법 및 장치 - Google Patents

코드북 벡터 검색에 대한 메모리 요건들을 감소시키는방법 및 장치 Download PDF

Info

Publication number
KR20040044411A
KR20040044411A KR10-2003-7015931A KR20037015931A KR20040044411A KR 20040044411 A KR20040044411 A KR 20040044411A KR 20037015931 A KR20037015931 A KR 20037015931A KR 20040044411 A KR20040044411 A KR 20040044411A
Authority
KR
South Korea
Prior art keywords
pulse
vector
cross
codebook
correlation
Prior art date
Application number
KR10-2003-7015931A
Other languages
English (en)
Other versions
KR100926599B1 (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 KR20040044411A publication Critical patent/KR20040044411A/ko
Application granted granted Critical
Publication of KR100926599B1 publication Critical patent/KR100926599B1/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • 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)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

코드북으로부터 최적 여기 파형을 신속하게 선택하기 위한 방버 및 장치가 제공된다. 최적 코드북 벡터를 선택하는데 필요한 계산들의 수를 감소시키기 위해, 코드벡터들의 서브세트가 최적 펄스 위치부(425)에 기반하여 선택되고, 여기서 코드벡터들의 서브세트는 서브코드북을 형성한다. 전체 코드북을 검색하지 않고, 서브코드북 엔트리들만이 검색된다(400).

Description

코드북 벡터 검색에 대한 메모리 요건들을 감소시키는 방법 및 장치{REDUCING MEMORY REQUIREMENTS OF A CODEBOOK VECTOR SEARCH}
무선 통신 분야는 코드리스 전화기, 호출기, 무선 로컬 루프, 개인 휴대 단말기(PDA), 인터넷 전화, 및 위성 통신 시스템들을 포함하여 다양한 응용예들을 가지고 있다. 특히 중요한 응용예는 이동 가입자용 셀룰러 전환 시스템들이다. 여기서 사용되는 "셀룰러" 시스템 이라는 용어는 셀룰러 및 개인 통신 서비스(PCS) 주파수들을 모두 포함한다. 주파수 분할 다중 접속(FDMA), 시분할 다중 접속(TDMA), 및 코드 분할 다중 접속(CDMA)를 포함하는 다양한 무선 인터페이스들이 셀룰러 전화 시스템들을 위해 개발되었다. 이와 관련하여, 개량형 이동 전화 서비스(AMPS), 이동용 글로벌 시스템(GSM), 및 잠정 표준 95(IS-95)를 포함하는 다양한 국내 및 국제 표준들이 설정되었다. 특히, IS-95 및 그 변형들인 IS-95A, IS95-B, ANSI J-STD-008(이들을 총칭하여 IS-95로 종종 언급됨) 및 데이터용 고속 데이터율 시스템 등이 국제통신 산업 협회(TIA) 및 다른 표준협회들에 의해 공표되었다.
IS-95 표준에 따라 구현된 셀룰러 전화 시스템들은 고효율 및 견고한 셀룰러 전화 서비스를 제공하기 위해서 CDMA 신호 처리 기술들을 사용한다. IS-95 표준에 따라 실질적으로 구현된 예시적인 셀룰러 전화 시스템들은 미국 특허 번호 5,103,359 및 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.213, 및 3G TS 25.214 에 구체화된 W-CDMA 이다.
디지털 통신 시스템의 성장에 따라, 효율적인 주파수 사용에 대한 필요성이 존재하게 된다. 시스템 효율의 증가시키는 일 방법은 압축된 신호를 전송하는 것이다. 정규 랜드라인 전화 시스템에서, 초당 64 킬로바이트(kbps) 샘플링 레이트가 디지털 전송에서 아날로그 음성 신호의 품질을 재생하기 위해서 사용된다. 그러나, 음성 신호의 잉여분들을 이용하는 압축 기술을 사용함으로써, 대기중에서 전송되는 정보의 량이 고 품질을 유지하면서 감소될 수 있다.
일반적으로, 아날로그 음성 신호를 디지털 신호로 전환시키는 것은 인코더에 의해 수행되고, 디지털 신호를 다시 음성 신호를 전환하는 것은 디코더에 의해 수행된다. 예시적인 CDMA 시스템에서, 인코딩부 및 디코딩부 모두를 포함하는 보코더는 원격국들 및 기지국을 내에 위치한다. 예시적인 보코더는 미국 특허번호5,414,796 호 제목 "가변 레이트 보코더"에 제시되어 있고, 이는 본 발명의 양수인에게 양도되고, 본 명세서에서 참조된다. 보코더에서, 인코딩부는 인간 음성 발생 모델에 관련되는 파라미터들을 추출한다. 디코딩부는 전송 채널 상에서 수신되는 파라미터들을 사용하여 음성을 재합성한다. 이러한 모델은 시변 음성 신호를 정확하게 모델링하기 위해 계속해서 변화한다. 따라서, 이러한 음성은 시간 블록 또는 분석 프레임들로 분할되고, 이 기간동안 파라미터들이 계산된다. 그리고 나서 파라미터들은 각각의 새로운 프레임에 대해 업데이트된다. 여기서 사용되는 "디코더" 라는 용어는 전송 채널상에서 수신된 디지털 신호들을 컨버팅하는데 사용되는 임의의 장치 또는 임의의 장치부를 지칭한다. "인코더"는 음향 신호들을 디지털 신호들을 컨버팅하는데 사용되는 임의의 장치 또는 장치부를 지칭한다. 따라서, 여기서 사용되는 실시예들은 CDMA 시스템의 보코더, 또는 비-CDMA 시스템들의 인코더 및 디코더들로 구현될 수 있다.
음성 코더의 다양한 클래스들 중에서, 코드 여기 선형 예측 코딩(CELP), 스토캐스틱 코딩, 또는 벡터 여기 음성 코딩 코더들은 하나의 클래스이다. 이러한 특정 클래스의 코딩 알고리즘의 예는 잠정 표준 127(IS-127), 제목 "Enhanced Variable Rate Coder(EVRC)" 에 제시되어 있다. 이러한 특정 클래스 코더의 또 다른 예는 계류중인 드래프트 제안 "Selectable Mode Vocoder Service Option for Wideband Spread Spectrum Communication System" 문서번호 3GPP2 C.P9001에 제시되어 있다. 이러한 보코더의 기능은 음성에 내재하는 자연적인 잉여분들을 모두 제거함으로써 디지털화된 음성 신호를 저비트 레이트 신호로 압축하는 것이다.CELP 코더에서, 잉여분들은 단기 포르만트(LPC) 필터에 의해 제거된다. 이러한 잉여분들이 일단 제거되면, 잔류 신호는 코딩되어야 하는 가우션 잡음, 또는 화이트 주기 신호로서 모델링된다. 따라서, 적절한 코딩에 뒤따르는 음성 분석, 전송 및 수신기에서의 재합성을 통해, 데이터의 상당한 감소가 달성될 수 있다.
음성의 주어진 프레임에 대한 코딩 파라미터들은 선형 예측 코딩(LPC) 필터의 계수들을 우선 결정함으로써 결정된다. 계수들의 적절한 선택을 통해 프레임에서 음성 신호의 단기 잉여분들을 제거한다. 음성 신호에서 장기 주기 잉여분들은 신호의 피치 이득(gp) 및 피치 래그(L)를 결정함으로써 제거된다. 가능한 피치 래그 값들 및 피치 이득값들의 조합이 적응성 코드북에서 벡터들로서 저장된다. 그리고 나서 여기 신호가 여기 파형 코드북에 저장된 다수의 파형들 중에서 선택된다. 적절한 여기 신호가 주어진 피치 래그 및 피치 이득에 의해 여기되어 LPC 필터로 입력되면, 원래 음성 신호에 근사한 신호가 발생될 수 있다. 따라서, 압축된 음성 전송이 LPC 필터 계수들, 적응성 코드북 벡터의 식별, 및 고정된 코드북 여기 벡터의 식별을 전송함으로써 수행될 수 있다.
효율적인 여기 코드북 구조는 대수(algebraic) 코드북으로서 지칭된다. 대수 코드북들의 실제 구조는 공지되어 있고 J.P.Adoul 등의 "대수 코드들에 기반한 고속 CELP 코딩" Proceeding of ICASSP Apr.6-9,1987 에 기재되어 있다. 대수 코드들의 사용은 또한 미국 특허 번호 5,444,816, 제목"대수 코드들에 기반한 효율적인 음성 코딩을 위한 다이나믹 코드북"에 제시되어 있고, 여기서 참조된다.
최적 여기 벡터들을 위한 코드북 검색들을 구현하기 위한 집약적인 계산 및 저장 요건들로 기인하여, 코드북 검색을 수행하는데 관련되는 저장 요건들을 감소시키는 필요성이 존재하게 된다.
본 발명은 일반적으로 통신 시스템에 관한 것으로서, 특히 통신 시스템내의 음성 처리에 관한 것이다.
도1은 예시적인 통신 시스템의 블록도이다.
도2는 코드북 검색을 수행하는 종래 장치의 블록도이다.
도3은 펄스 코드북으로부터 펄스 벡터들의 서브세트를 미리 선택하는 방법 단계의 흐름도이다.
도4는 서브코드북을 미리 선택하고 검색함으로써 코드북 검색을 수행하는 장치에 대한 블록도이다.
도5는 피치-강화된 임펄스 응답을 사용하는 코더의 코드북 검색을 수행하는 장치의 블록도이다.
도6은 서브코드북을 미리 선택하고 검색하여 피치-강화된 임펄스 응답을 사용하는 코더의 코드북 검색을 수행하는 장치에 대한 블록도이다.
도7은 룩업 테이블을 사용함으로써 빠른 코드북 검색을 수행하는 방법 단계의 흐름도이다.
코더들에서 고속 코드벡터 검색을 구현하는 신규한 방법 및 장치가 제시된다. 일 양상에서, 상기 방법은 코드북에서 벡터에 대한 검색을 수행하는데 필요한 메모리 요건들을 감소시키기 위해 제시된다.
또 다른 양상에서, 펄스 벡터 코드북으로부터 최적 펄스 벡터를 선택하기 위한 장치가 제시되며, 최적 펄스 벡터는 잔류 파형을 인코딩하기 위해 선형 예측 코더들에 의해 사용된다. 상기 장치는 임펄스 응답 벡터를 발생시키기 위한 임펄스 응답 발생기; 필터로부터 복수의 타겟 신호 샘플들에 임펄스 응답 벡터를 관련시키는 상호상관 벡터를 결정하도록 구현된 상호상관 엘리먼트-여기서, 상호 상관 벡터는 복수의 펄스 위치들을 상호상관 벡터내로 삽입하는 것이 소정수의 높은 상호상관 값들을 제공하도록 복수의 펄스 위치들을 결정하는데 사용됨-; 상호상관 엘리먼트로부터 복수의 펄스 위치들의 표시하는 표시 신호를 쉰하고 표시 신호에 응답하여 복수의 펄스 벡터들을 출력하도록 구현된 펄스 코드북 발생기-여기서, 복수의 펄스 벡터들은 펄스 벡터 코드북의 서브세트임-; 및 펄스 벡터 코드북의 서브세트에 기반하여 자기상관 서브 매트릭스를 결정하는 에너지 계산 엘리먼트-여기서 자기상관 서브 매트릭스 및 상호상관 벡터는 코드북으로부터 최적 펄스 벡터를 선택하기 위해 사용됨-를 포함한다.
또 다른 측면에서, 코드북 검색 요구 메모리를 줄이는 장치가 개시되어 있다. 상기 장치는 임펄스 응답 신호를 발생하는 임펄스 응답 발생기; 상기 임펄스 응답 신호를 타깃 신호에 관련시키는 교차 상관 벡터를 결정하도록 구성된 교차 상관 구성요소; 상기 교차 상관 벡터를 수신하고 상기 교차 상관 벡터를 사용하여 적절한 펄스 위치 세트를 식별하며, 상기 적절한 펄스 위치 세트의 식별을 반송하는 지시 신호를 발생하도록 구성된 선택 구성요소; 상기 선택 구성요소로부터 상기 지시 신호를 수신하고 다수의 펄스 벡터-상기 다수의 펄스 벡터는 지시 신호에 의해 반송되는 적절한 펄스 위치 세트의 식별에 기초하여 발생됨-를 발생하도록 구성된 펄스 코드북 발생기; 및 상기 다수의 펄스 벡터에 기초하여 자동상관 서브 매트릭스-상기 자동상관 서브 매트릭스는 자동상관 매트릭스 대신에 사용되며, 따라서 상기 코드북 검색의 요구 메모리를 감소시킴-를 결정하는 에너지 계산 구성요소를 포함한다.
또 다른 측면에서, 코드북으로부터 적절한 펄스 벡터를 선택하는 방법이 개시되어 있다. 상기 방법은 타깃 신호와 임펄스 응답 사이의 교차상관 벡터-상기 교차 상관 벡터의 각 컴포넌트는 분선 프레임의 위치에 상응함-를 결정하는 단계; 상기 교차상관 벡터의 가장 큰 P개 컴포넌트들에 상응하는 P개의 위치들을 결정하는 단계; 서브코드북을 형성하기 위해 상기 코드북으로부터 다수의 펄스 벡터-상기 다수의 펄스 벡터들 각각은 상기 다수의 P 위치 중에서 적어도 하나에 상응-를 선택하는 단계; 상기 다수의 P 펄스 벡터들에 기초하여 자동상관 매트릭스를 결정하는 단계; 및 상기 다수의 P 펄스 벡터로부터 상기 적절한 펄스 벡터를 선택하는 단계를 포함한다.
또 다른 측면에서, 상기 코드북 검색의 계산 복잡성을 줄이는 방법이 개시되어 있다. 상기 방법은 자동상관 값들의 부분적인 세트를 사용하여 에너지 값 매트릭스를 결정하는 단계; 상기 에너지 값 매트릭스를 저장하는 단계; 상기 에너지 값 매트릭스와 다수의 교차상관 값으로부터의 교차상관 값-상기 각각의 교차상관 값은 타깃 신호와 코드북의 개별 벡터 사이의 관계를 설명함-과 에너지 값 매트릭스를 사용하여 다수의 벡터들 각각에 대한 기준 값을 결정하는 단계; 및 상기 벡터가 가장 높은 기준비 값을 가지면 적절한 벡터로 선택하는 단계를 포함한다.
도1에 도시되어 있는 것과 같이, 무선 통신 네트워크(10)는 일반적으로 다수의 원격 유닛(또한 이동국 또는 가입자 유닛 또는 사용자 장치로 언급됨)(12a-12d), 다수의 기지국(또한 기지국 송수신기(BTSs)또는 노드 B)로 언급)(14a-14d), 기지국 제어기(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을 포함하는 수개의 공지된 프로토콜에 상응하여 음성 및/또는 데이터 패킷을 전송하도록 구성된 전선을 통해 기지국(14a-14d)에 연결되어 있다. 대안적인 실시예에서, 상기 BSC(16)은 상기 PDSN(20)에 직접 연결되어 있으며, 상기 MSC(18)은 상기 PDSN(20)에 연결되어 있지 않다. 또 다른 실시예에서, 상기 원격국(12a-12d)은 이하 참고로 통합되어 있으며 TIA/EIA/IS-2000-2-A로 출판된 3GPP2 문서 번호 C.P0002-A, TIA PN-4694 "cdma2000 대역 확산 스펙트럼 시스템을 위한 물리 계층 규격" 제하의 제3세대 파트너십 프로젝트 2"3GPP2"에서 규정하는 RF 인터페이스 상에서 기지국(14a-14c)과 통신한다. 또 다른 실시예에서, 상기 원격국(12a-12d)은 문서 번호 3G TS 25.211, 3G TS 25.212, 3G TS 25.213 및 3G TS 25.214의 제3세대 파트너십 프로젝트 "3GPP"에서 규정하는 RF 인터페이스 상에서 기지국들과 통신한다.
무선 네트워크(10)의 전형적인 작동 동안에, 상기 기지국(14a-14c)은 여러원격국(12a-12d)로부터 전화 호, 웹 브라우징 또는 다른 데이터 통신으로 할당된 역방향 링크 신호의 세트를 수신하여 복조한다. 소정의 기지국(14a-14c)에 의해 수신된 각각의 역방향 링크 신호는 상기 기지국(14a-14c)에서 처리된다. 각 기지국(14a-14c)은 순방향 링크 신호 세트를 변조하여 상기 원격국(12a-12d)으로 송신함으로써 다수의 원격국(12a-12d)과 통신할 수 있다. 예를 들어, 도1에 도시되어 있는 것과 같이, 상기 기지국(14a)은 동시에 제1 및 제2 원격국(12a, 12b)과 통신할 수 있으며, 상기 기지국(14c)은 동시에 제3 및 제4 원격국과 통신할 수 있다. 상기 결과 패킷들은 상기 BSC(16)으로 전송되는데, 상기 BSC(16)은 특정 원격국(12a-12d)이 하나의 기지국(14a-14c)로부터 또 다른 기지국(14a-14c)로의 호 소프트 핸드오프를 관리하는 기능 이외에 호 자원 할당과 이동성 관리 기능을 제공한다. 예를 들어, 원격국(12c)은 2개의 기지국(14b, 14c)과 동시에 통신할 수 있다. 결국, 상기 원격국(12c)이 상기 기지국들 중 하나(14c)로부터 멀리 이동할 때, 상기 호는 다른 기지국(14b)으로 핸드오프될 것이다.
만약 송신이 종래의 전화 호라면, 상기 BSC(16)은 상기 수신된 데이터를 상기 MSC(18)으로 전송할 것인데, 상기 MSC는 상기 PSTN(22)와의 인터페이스에 대한 추가의 루팅 서비스를 제공한다. 만약 송신이 상기 IP 네트워크(24)로 향하는 데이터 호와 같은 패킷-기반형 송신이라면, 상기 MSC(18)은 상기 데이터 패킷을 상기 PDSN(20)으로 전송하는데, 상기 PDSN(20)은 상기 패킷을 상기 IP 네트워크(24)로 전송할 것이다. 대안적으로, 상기 BSC(16)은 상기 패킷들을 직접 상기 PDSN(20)으로 전송할 것인데, 상기 PDSN은 상기 패킷들을 상기 IP 네트워크(24)로 전송한다.
위에서 언급한 것과 같이, 음성 신호는 프레임으로 분할될 수 있으며, LPC 필터 계수, 적응형 코드북 벡터 및 고정 코드북 벡터를 사용하여 모델화될 수 있다. 음성 신호의 최적 모델을 생성하기 위해, 실제 음성과 재생된 음성간의 차이는 최소가 되어야만 한다. 상기 차이점이 최소가 되는지의 여부를 결정하기 위한 하나의 기술은 실제 음성과 재생된 음성간의 상관값을 결정하여, 그후에 최대 상관 특성을 가지는 일련의 구성요소를 선택하는 것이다.
피치 상승을 사용하지 않는 코더의 저장 요구를 감소시키는 단계
도 2는 코드북으로부터 최적의 여기 벡터를 선택하기 위한 컨벌루션 인코더내의 장치의 블럭 다이어그램이다. 상기 인코더는 입력 신호와 필터의 임펄스 응답을 컨벌루션시킴으로써 파형 코드북의 검색과 관련된 계산 복잡성을 최소화 시키도록 설계되며, 상기 복잡성은 어떤 파형이 타겟 신호에 가장 인접하게 매칭되는지를 결정하기 위해 다수의 파형을 검색하도록 하는 요구에 의해 추가로 증가된다. 컨벌루션을 위한 저장 요구조건은 M ×N이며, 상기 M은 분석 프레임의 크기이다.
음성 샘플의 프레임 s(n)은 타겟 신호 x(n)를 생성하도록 지각 가중 필터(230)에 의해 필터링된다. 지각 가중 필터의 설계 및 구현은 전술된 미국 특허 5,414,796에서 설명된다. 임펄스 응답 발생기(210)는 임펄스 응답 h(n)을 발생시킨다. 임펄스 응답 h(n) 및 타겟 신호 x(n)를 사용할 때, 상호-상관 벡터 d(n)는 다음 관계식에 따라 계산 소자(290)에서 발생된다:
또한 계산 소자(250)에 의해 사용되는 임펄스 응답 h(n)은 또한 자기상관 행렬을 발생시킨다:
자기상관 행렬은 계산 소자(240)에 전송된다. 펄스 코드북 발생기(200)는 다수의 펄스 벡터{ck, k=1,..,CBsize}를 발생시키며, 상기 벡터는 계산 소자(240)에 입력된다. CBsize는 최적의 코드북 벡터가 선택될 코드북의 크기이다. Np는 펄스 벡터에서 펄스의 갯수를 나타내는 값이다. 본 명세서에서 선택적으로 펄스 파형 코드북 또는 펄스 코드북으로 참조되는 여기 파형 코드북은 다수의 펄스 위치 신호, {pi k, i=0,...,Np-1}(도면에 미도시)에 응답하여 발생될 수 있으며, 상기 pi k는 펄스 벡터 ck의 ith유니트 펄스의 위치이다. 각각의 펄스, pi k에 대하여, 상응하는 기호 si k가 펄스에 할당된다. 그결과 발생된 코드 벡터, ck는 하기의 등식으로 제공된다:
계산 소자(240)는 다음 공식에 따라 자기상관 행렬을 사용하여 펄스 벡터를 필터링한다:
펄스 벡터{ck, k=1,..,CBsize}는 또한 계산 소자에 의해 사용되며, 다음 등식에 따라 d(n)과 ck(n)사이의 상호상관값을 결정한다:
Eyy및 Exy에 대한 값이 공지되면, 계산 소자(260)는 다음 관계식을 사용하여 값 Tk를 결정한다:
Tk의 최대값과 상응하는 펄스 벡터는 잉여 파형을 인코딩하기 위한 최적 벡터로 선택된다.
본 명세서에서 설명되는 실시예는 상기 방식의 저장 요구조건을 감소시키도록 사용될 수 있다. 실제로, 본 명세서에서 설명되는 실시예는 임의의 코드북 검색이 계산면에서 더 효율적으로 수행되도록 한다. 일 실시예에서, 최적의 코드북 벡터를 선택하기 위해 요구되는 계산의 횟수는 전체 코드북으로부터 펄스 벡터 서브세트를 사전선택하여 상기 사전선택된 서브세트만을 따라 검색을 수행하는 단계에 의해 감소된다. 일 실시예에서, 사전선택은 상호상관 벡터 d(n)에 의해 결정된다. 만약 사전선택이 실행되면, 그에 상응하여 에너지값 Eyy을 결정하기 위해 더 작은 자기상관행렬이 사용된다. 당업자중에서 더 작은, 부분적인 자기상관 행렬을 사용하는 것은 귀납법을 사용하는 계산면에서 효율적인 방법이 사용되지 않을 수 있기 때문에 바람직하지 않는 것으로 생각될 수 있다. 귀납법은 일반적으로 향후의 값을 계산하기 위해 이전값을 따라 결정된다. 귀납법에서 특정 값을 신중히 생략하는 것은 바람직하지 못한 결과를 유도할 수 있다.
그러나, 본 명세서의 실시예는 계산시 귀납법을 사용하는 능력을 이용하여 코드북 검색의 메모리 요구조건을 감소시키기 위해 더 작은 자기상관 행렬을 사용할 것을 요구한다. 사전선택된 서브세트의 크기가 작으면, 메모리 감소시의 이득은 증가하는 계산 복잡성의 비용을 훨씬 능가한다.
도 3은 펄스 코드북으로부터 펄스 벡터의 서브세트를 사전선택하는 실시예의 흐름도이다. 단계(300)에서, 상호상관 벡터 d(n)는 0≤n ≤M-1에 대하여 결정되며, 상기 M은 벡터의 차원이며 분석 프레임의 길이와 상응한다. 단계(302)에서, 길이 M의 타겟 신호에서 P(상기 P<M)의 위치는 벡터 d(n)의 최고값 P에 기초하여 선택되며, 0≤n ≤M-1이다. 전술된 목적을 위해, 상기 사전선택된 펄스 위치의 세트가P'로써 표시된다. 추가 기호의 편의를 위해, p'k i는 펄스 벡터 ck내의 ith유니트 펄스의 위치라 하며, 상기 p'k i는 세트P'에 속한다. 또한, p'(i)는 세트P'의 각각의 요소를 나타내며, 0≤i ≤P-1이다. 예를 들어, M=80 크기의 프레임에서, 프레임 내의 P=20의 위치(p'(i), 0≤i ≤19)은 d(p'(i))가 d(n)의 최고 20개의 값내에 있도록 사전선택되며, 0 ≤n ≤79이다.
단계(304)에서, 복수의 코드 벡터는 상기 코드 벡터가 오직 p'(i)에서 펄스를 포함하는지에 따라 코드북으로부터 선택되며, 0 ≤i ≤P-1이다. 단계(306)에서, P ×P 크기의 서브-행렬'이 다음 공식에 따라 결정된다:
단계(308)에서, 자기상관 서브-행렬'은 서브코드북에서 펄스 벡터를 위한 에너지항 Eyy을 결정하기 위해 사용된다. 코드북내에서 선태되지 않은 펄스 벡터에 대하여 어떠한 에너지 결정도 수행되지 않아야만 한다. 단계(310)에서, 기준값 Tk는 음성 신호를 인코딩하기 위한 최적 펄스 벡터로서 선택된다. 단계(312)에서, Tk의 최대값에 상응하는 서브코드북의 펄스 베거는 음성 신호를 인코딩하기 위한 최적 펄스 벡터로서 선택된다. 본 명세서에 개시된 방법 단계는 본 명세서에 개시된 실시예의 사상에 영향을 주지않고 변경될 수 있다.
전술된 실시예를 사용하여 코드북 벡터 검색을 위해 요구되는 저장 공간은 (N ×M)으로부터 (P ×P)로 감소된다. 예를 들어, 만약 분석 프레임의 샘플 길이가 80인 경우, 서브코드북이 펄스 위치 20에 기초하여 선택될 때 분석 프레임을 위해 요구되는 80 ×80 = 6400의 위치 선정이 20 ×20 = 400으로 감소된다. P의 선택은 실시예가 구현되는 코더의 메모리 제한에 따라 변화할 수 있도록 상세하게 구현된다. 따라서, 가능한 P의 값은 1부터 M사이의 범위가 될 수 있다.
도 4는 서브코드북을 사전선택하여 검색함으로써 코드북 검색을 실행하도록 구성된 장치이다. 음성 샘플 s(n)의 프레임은 타겟 신호 x(n)를 생성하기 위해 지각 가중 필터(430)에 의해 필터링된다. 임펄스 응답 발생기(410)는 임펄스 응답 h(n)을 발생시킨다. 임펄스 응답 h(n)과 타겟 신호 x(n)를 사용할 때, 상호상관 벡터 d(n)는 다음 관계식에 따라 계산 소자(415)에서 발생된다:
펄스 코드북 발생기(400)에 의해 발생된 펄스 벡터를 사용할 때, 선택 소자(425)는 d(p'(i))가 d(n)의 최대값 P을 가지는 펄스 위치 p'(i)를 결정하며, 0≤i ≤P-1이다. 펄스 위치 p'(i)는 계산 소자(435)에 의해 사용되며 다음 공식에 따라 상호상관값(Exy')2을 결정한다:
펄스의 수는 또한 NP이지만 펄스의 위치는 세트 P'로부터의 값만을 취한다는 것을 알아야 한다.
일실시예에서, 상호-상관 엘리먼트(490)는 계산 엘리먼트(415, 435) 및 선택 엘리먼트(425)의 함수를 구현하도록 구성된다. 또 다른 실시예에서, 본 장치는, 선택 엘리먼트(425)의 함수가 계산 엘리먼트(415, 435)의 함수를 수행하는 성분과는 다른 성분에 의해서 수행되도록 구성될 수 있다. 여기서 설명되는 본 실시예에 영향을 주지 않으면서 본 장치 내에 많은 성분 구성을 구비하는 것을 가능하다.
펄스 위치(p'(i))는 또한 P ×P 차원성을 갖는 자기상관 서브-매트릭스(Ø')를 결정하기 위해서 계산 엘리먼트(450)에 의해 사용되며, 서브코드북을 위한 서치 파라미터를 결정하기 위해서 펄스 코드북 생성기(400)에 의해 사용된다.
계산 엘리먼트(450)는 다음의 공식에 따라 자기상관 서브-매트릭스(Ø')를 생성하기 위해서 펄스 위치(p'(i)) 및 임펄스 응답(h(n))을 사용한다.
자기상관 서브-매트릭스(Ø')의 엔트리는 계산 엘리먼트(440)에 보내진다.
선택 엘리먼트(425)로부터, 복수의 펄스 위치 신호{,i=0,...,NP-1} 에 응답하여, 펄스 코드북 생성기(400)에 의해 펄스 코드북이 생성되는데, 여기서는 상기가 세트 P'의 엘리먼트이도록 하는 펄스 벡터(ck)에서 i번째 단위 펄스의 위치이다. NP는 펄스 벡터로 펄스의 수를 나타내는 값이다. 펄스 코드북 생성기(400)는 복수의 펄스 벡터{ck, k=1,...,CB1size}를 생성하는데, 여기서 CB1size는 사전-선택의 결과인 CBsize보다 더 작다.
계산 엘리먼트(440)는 다음의 공식에 따라 자기상관 서브-매트릭스(Ø')를갖는 펄스 벡터를 필터링한다:
펄스 벡터{ck, k=1,...,CB1size}는 위에서 설명된 바와 같은 d(n)과 ck(n) 사이의 상호상관을 결정하기 위해서 계산 엘리먼트(490)에 의해 또한 사용된다.
일단 Eyy및 Exy의 값이 알려지면, 계산 엘리먼트(460)는 다음의 관련식을 사용하여 Tk값을 결정한다:
가장 큰 Tk값에 상응하는 펄스 벡터는 잔류 파형을 엔코딩하기 위해 최적의 벡터로서 선택된다. 일실시예에서는, 최적의 코드북 벡터를 서치하는 동안에, 펄스 위치가 프레임의 모든 위치를 통해 인덱싱되지 않는다. 그 보다는, 펄스 위치가 단지 미리-선택된 위치를 통해 인덱싱된다.
다른 실시예에서는, 단일 프로세서 및 메모리가 도 4의 각 성분의 모든 함수를 수행하도록 구성될 수 있다.
피치 향상을 사용하는 코더의 저장 필요요건 감소
EVRC(Enhanced Variable Rate Codec) 및 SMV(Selectable Mode Vocoder)와 같은 최신 세대의 코더에서는, 코드북 펄스의 피치 주기성 분포가 이득-조정된 포워드 및 백워드 피치 샤프닝(sharpening) 처리를 음성 신호의 분석 프레임에 병합함으로써 향상된다.
피치 샤프닝의 예로는 다음의 관계식에 따라 h(n)으로부터 복소 임펄스 응답()의 형성하는 것이 있다:
여기서, P는 서브프레임에 포함되는 길이(L)의 피치 래그 주기(전체 또는 부분)의 수이고, L은 피치 래그이며, gP는 피치 이득이다.
도 5는 필터의 임펄스 응답이 피치 향상되어진 여기 코드북을 서치하기 위한 장치의 블록도이다. 음성 샘플의 프레임(s(n))은 목표 신호(x(n))를 생성하기 위해서 지각적인 가중 필터(530)에 의해 필터링된다. 임펄스 응답 생성기(510)는 임펄스 응답(h(n))을 생성한다. 임펄스 응답(h(n))은 필치 샤프너 엘리먼트(570)에 입력되어 복소 임펄스 응답()을 산출한다. 복소 임펄스 응답() 및 목표 신호(x(n))는 다음의 관계식에 따라 상호-상관 벡터(d(n))를 결정하기 위해서 계산 엘리먼트(590)에 입력된다:
복소 임펄스 응답()은 또한 자기상관 매트릭스를 생성하기 위해서 계산 엘리먼트(550)에 의해 사용된다:
자기상관 매트릭스(Ø)의 엔트리는 계산 엘리먼트(540)에 보내진다. 펄스 코드북 생성기(500)는 복수의 펄스 벡터{ck, k=1,...,CBsize}를 생성하는데, 상기 펄스 벡터는 계산 엘리먼트(540)에 또한 입력된다. CBsize는 최적의 코드북 벡터가 선택되는 코드북의 사이즈이다. NP는 펄스 벡터에서 펄스의 수를 나타내는 값이다. 계산 엘리먼트(540)는 다음의 공식에 따라 자기상관 매트릭스를 갖는 펄스 벡터를 필터링한다:
펄스 벡터{ck, k=1,...,CBsize}는 또한 다음의 수학식에 따라 d(n)과 ck(n) 사이의 상호-상관을 결정하기 위해서 계산 엘리먼트(590)에 의해 사용된다:
일단 Eyy및 Exy의 값이 알려지면, 계산 엘리먼트(560)는 다음의 관계식을 사용하여 Tk값을 결정한다:
가장 큰 Tk의 값에 상응하는 펄스 벡터는 잔류 파형을 엔코딩하기 위해 최적의 벡터로서 선택된다.
도 6은 임펄스 응답에 피치 향상을 병합하는 코더의 빠른 코드북 서치를 수행할 장치의 블록도이다. 음성 샘플 프레임(s(n))은 목표 신호(x(n))를 생성하기 위해서 지각적인 가중 필터(630)에 의해 필터링된다. 임펄스 응답 생성기(610)는 임펄스 응답(h(n))을 생성한다. 임펄스 응답(h(n))은 필치 샤프너 엘리먼트(670)에 입력되어 복소 임펄스 응답()을 산출한다. 복소 임펄스 응답() 및 목표 신호(x(n))는 다음의 관계식에 따라 상호-상관 벡터(d(n))를 결정하기 위해 계산 엘리먼트(615)에 입력된다:
펄스 코드북 생성기(600)에 의해 생성되는 펄스 벡터를 사용함으로써, 선택 엘리먼트(625)는 펄스 위치(p'(i), 0 ≤i ≤P-1}를 결정하고, 그에 대해서 d(p'(i))는 P개의 가장 큰 d(n) 값을 갖는다. 펄스 위치(p'(i))는 다음의 공식에 따라 상호-상관 값((Exy')2)을 결정하기 위해서 계산 엘리먼트(635)에 의해 사용된다:
일실시예에서, 상호-상관 엘리먼트(690)는 계산 엘리먼트(615, 635) 및 선택 엘리먼트(625)의 함수를 구현하도록 구성된다. 다른 실시예에서, 본 장치는, 선택 엘리먼트(625)의 함수가 계산 엘리먼트(615, 635)의 함수를 수행하는 성분과는 다른 성분에 의해 수행되도록 구성될 수 있다. 여기서 설명된 실시예의 범위에 영향을 주지 않으면서 본 장치 내에 성분의 많은 구성을 갖는 것이 가능하다.
펄스 위치(p'(i))는 또한, P ×P의 차원성의 자기상관 서브-매트릭스(Ø)를 결정하기 위해 계산 엘리먼트(650)를 사용하고 또한 서브코드북에 대한 서치 파라미터를 결정하기 위해서 펄스 코드북 생성기(600)에 의해 사용된다. 계산 엘리먼트(650)는 다음의 공식에 따라 자기상관 서브-매트릭스(Ø')를 생성하기 위해서 펄스 위치(p'(i)) 및 복소 임펄스 응답()을 사용한다.
자동상관 서브-매트릭스는 계산 엘리먼트(640)로 전송된다.
펄스 서브코드북은 선택 엘리먼트(425)로부터 다수의 펄스 위치 신호에 응답하여 펄스 코드북 생성기(600)에 의해 생성되고, 여기서는 펄스 벡터내 i번째 유닛 펄스의 위치이고,는 세트P'의 엘리먼트이다. Np는 펄스 벡터내 펄스의 수를 나타내는 값이다. 펄스 코드북 생성기(600)는 다수의 펄스 벡터을 생성한다.
계산 엘리먼트(640)는 이하의 식에 따라 자동상관 서브-매트릭스로 펄스 벡터를 필터링한다:
펄스 벡터는 상술된 바와 같이 d(n)와 cK(n) 사이의 교차-상관 Exy를 결정하기 위해 계산 엘리먼트(635)에 의해 사용된다.
일단 Eyy및 Exy에 대한 값이 알려지면, 계산 엘리먼트(660)는 이하의 관계식을 이용하여 값 TK를 결정한다:
TK의 최대값에 해당하는 펄스 벡터는 나머지 파형을 인코딩하기 위해 최적 벡터로서 선택된다. Eyy의 상기 계산은 메모리 집중 계산을 필요로 함없이 코드북 검색에 순행 및 역행 피치 샤프닝을 결합하는 장점을 가진다. 따라서, 실시예들은 M×M 스토리지 공간에 대한 현재의 요구조건을 P×P 스토리지 공간만에 대한 요구조건으로 변환시킨다.
2-펄스 코드북 검색의 복잡성을 감소시키는 단계
다른 실시예에서, 2-펄스(Np=2) 검색의 복잡도가 자동상관 매트릭스 φ를 제외하고 Ey매트릭스를 사전-계산함으로써 감소된다. 이러한 실시예는 도 6에 대해 상술된 실시예와 관련하여 설명되지만, 이러한 실시예가 적절하지 않는 실험없이 홀로 구현될 수 있다는 것에 주목한다. 도시만을 목적으로 하여, 도 6의 설명의 숫자 표기가 사용된다.
도 7은 집중 계산을 제외하고 최적 코드 벡터를 결정하기 위해 메모리 룩업 테이블의 사용을 도시하는 순서도이다. 단계(700)에서, 교차-상관 벡터 d(n)는 LPC 필터 및 타겟 신호 x(n)의 임펄스 응답 h(n)를 사용하여 결정된다. 단계(702)에서, 에너지 벡터 Eyy는 이하의 식에 따라 결정된다:
여기서, 0≤i,j≤P-1이고값은 식에 따라 계산된다:
따라서, 전체 매트릭스를 계산하는 것을 제외하고, 매트릭스의 특정 엔트리는 매트릭스 Eyy를 생성하기 위해 계산되고 사용된다. 단계(704)에서, 최적 코드 벡터에 대한 검색은 값 Eyy(i,j)를 저장하는 룩업 테이블을 사용하여 수행된다. 저장된 Eyy값을 가진 룩업 테이블을 사용하는 것은 검색의 복잡도를 감소시키는데, 그 이유는 시스템이 코드북에서 검색되는 각각의 펄스 벡터에 대한 Eyy값을 결정하기 위해 매트릭스 φ의 많은 값을 합산할 필요가 더이상 없기 때문이다.
당업자라면 여러 다른 기술을 사용하여 정보와 신호가 표현될 수 있다는 것을 알 수 있을 것이다. 예를 들어, 상술된 설명 전체에서 참조된 데이터, 지시, 명령, 정보, 신호, 비트, 심볼 및 칩은 전압, 전류, 전자기파, 자기장 또는 입자,광학장 또는 입자, 또는 이들의 조합으로 표현될 수 있다.
당업자라면 여기서 개시된 실시예와 관련된 설명된 여러 예시적인 논리 블록, 모듈, 회로 및 알고리듬 단계가 전자 하드웨어, 컴퓨터웨어 또는 이들의 조합으로서 구현될 수 있다는 것을 알 수 있을 것이다. 하드웨어 및 소프트웨어의 이러한 상호교환성을 명확히 예시하기 위해, 여러 예시적인 컴포넌트, 블록, 모듈, 회로 및 단계들이 자신들의 기능의 견지에서 상기한 바와 같이 전반적으로 설명되었다. 이러한 기능은 특정 애플리케이션 및 전체 시스템에 대한 설계요인에 따라 하드웨어 또는 소프트웨어로서 구현된다. 당업자라면 각각의 특정 애플리케이션에 대해 여러 방식으로 상술된 기능을 구현하지만, 이러한 구현 결정은 본 발명의 범위를 벗어나서는 안된다는 것을 알 수 있을 것이다.
여기서 설명된 실시예들과 관련되어 설명된 여러 예시저인 논리 블록, 모듈 및 회로는 범용 프로세서, 디지털 신호 프로세서(DSP), 응용주문형 집적회로(ASIC), 현장 프로그램가능 게이트 어레이(FPGA) 또는 다른 프로그램가능 논리 장치, 이산 게이트 혹은 트랜지스터 논리, 이산 하드웨어 컴포넌트 또는 상술된 기능을 수행하도록 설계된 이들의 임의의 조합으로 구현 또는 실행될 수 있다. 범용 프로세서는 마이크로프로세서이지만, 선택적으로 프로세서는 통상적인 프로세서, 제어기, 마이크로콘트롤러 또는 상태기계일 수 있다. 프로세서는 또한 예를 들면, DSP와 마이크로프로세서의 조합, 다수의 마이크로프로세서, DSP 코어와 관련된 하나 이상의 마이크로프로세서 또는 임의의 다른 이러한 구성과 같은 계산 장치의 조합으로서 구현된다.
여기서 설명된 방법 또는 알고리듬은 하드웨어, 프로세서에 의해 실행된 소프트웨어 모듈, 또는 이 둘의 조합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 제거가능 디스크, CD-ROM 당업자에게 공지된 다른 형태의 스토리지내에 상주한다. 예시적인 스토리지 매체는 스토리지 매체로부터 정보를 판독 및 기록할 수 있는 프로세서에 연결된다. 선택적으로, 스토리지 매체는 프로세서와 이체형이다. 프로세서 및 스토리지 매체는 ASIC내에 상주한다. ASIC은 사용자 단말내에 상주한다. 선택적으로, 프로세서 및 스토리지 매체는 사용자 단말내에 이산 컴포넌트로서 상주한다.
상술된 실시예에 대한 이상의 설명은 당업자가 본 발명을 형성 또는 사용할 수 있도록 제공된 것이다. 이러한 실시예에 대한 여러 변경이 당업자에게 명확한 것이며, 여기서 규정된 일반적인 원리가 본 발명의 정신 또는 범위를 벗어남 없이 다른 실시예에 적용된다. 따라서, 본 발명은 여기서 설명된 실시예에 한정되는 것이 아니라 여기서 설명된 원리 및 새로운 특징에 부합하는 가장 광범위한 범위에 따른다.

Claims (7)

  1. 나머지 파형을 인코딩하기 위하여 선형예측 코더에 의하여 사용되는 최적 펄스 벡터를 펄스 벡터 코드북으로부터 선택하기 위한 장치로서,
    임펄스 응답 벡터를 발생시키기 위한 임펄스 응답 발생기와;
    필터로부터 다수의 목표 신호샘플에 대한 상기 임펄스 응답 벡터에 관한 상호상관 벡터를 결정하도록 구성되는 상호상관 엘리먼트 ― 상기 상호상관 벡터는 다수의 펄스 위치를 결정하여 상기 다수의 펄스 위치를 상기 상호상관 벡터에 삽입함으로서 미리 결정된 수의 높은 상호상관값을 제공하며 ―;
    상기 상호상관 엘리먼트로부터 상기 다수의 펄스위치를 나타내는 지시신호를 수신하고, 상기 지시신호에 응답하여 상기 펄스벡터 코드북의 부세트인 다수의 펄스 벡터를 출력하도록 구성된 펄스 코드북 발생기와;
    상기 펄스 벡터 코드북의 부세트에 기초하여 자기상관 부매트릭스를 결정하기 위한 에너지 계산 엘리먼트를 포함하며, 상기 자기상관 부매트릭스 및 상기 상호상관 벡터는 상기 코드북으로부터 상기 최적 펄스벡터를 선택하기 위하여 사용되는 최적 펄스벡터 선택장치.
  2. 제 1항에 있어서, 상기 상호상관 엘리먼트는,
    상기 상호상관 벡터를 결정하기 위한 적어도 하나의 계산 엘리먼트와;
    상기 다수의 펄스위치를 결정하여 상기 지시신호를 발생시키기 위한 선택 엘리먼트를 포함하는 최적 펄스벡터 선택장치.
  3. 코드북 검색의 메모리 요건을 감소시키기 위한 장치로서,
    임펄스 응답 신호를 발생시키기 위한 임펄스 응답 발생기와;
    목표신호에 대한 상기 임펄스 응답신호에 관한 상호상관 벡터를 결정하도록 구성된 상호상관 엘리먼트와;
    상기 상호상관 벡터를 수신하고, 상기 상호상관 벡터를 사용하여 최적의 펄스 위치 세트를 식별하며, 상기 최적 펄스위치 세트의 식별자를 반송하는 지시신호를 발생시키도록 구성된 선택 엘리먼트와;
    상기 선택 엘리먼트로부터 상기 지시신호를 수신하고, 상기 지시신호에 의하여 반송된 상기 최적 펄스위치 세트의 식별자에 기초하여 발생되는 다수의 펄스 벡터를 발생시키는 펄스 코드북 발생기와;
    상기 다수의 펄스 벡터에 기초하여 자기상관 매트릭스 대신에 사용되는 자기상관 부매트릭스를 결정하여, 상기 코드북 검색의 메모리 요건을 감소시키는 에너지 계산 엘리먼트를 포함하는 코드북 검색의 메모리 요건 감소장치.
  4. 나머지 파형을 감소시키기 위하여 다수의 펄스벡터사이에서 최적 펄스 벡터를 선택하기 위한 장치로서,
    메모리 엘리먼트와;
    상기 메모리 엘리먼트에 접속되고 상기 메모리 엘리먼트에 저장된 명령세트를 실행하도록 구성된 처리 엘리먼트를 포함하며;
    상기 명령세트는,
    미리 결정된 상호상관 벡터에 기초하여 최적 펄스 위치 세트를 결정하고,
    상기 최적 펄스 위치세트에 대응하며 상기 코드북 보다 적은 다수의 펄스 벡터를 결정하며,
    상기 다수의 펄스 벡터에만 기초하여 자기상관 부매트릭스를 계산하며,
    상기 자기상관 부매트릭스를 사용하여 다수의 에너지값을 결정하며 ―상기 각각의 에너지값은 상기 다수의 펄스벡터중 한 벡터에 대응하며 ―,
    상기 다수의 에너지값 및 상기 상호상관 벡터에 따라 결정되는 가장높은 기준값을 사용하여 상기 다수의 펄스벡터로부터 상기 최적 펄스 벡터를 상기 펄스 벡터로서 선택하는 최적 펄스 벡터 선택 장치.
  5. 코드북으로부터 최적 펄스 벡터를 선택하기 위한 방법으로서,
    목표신호 및 임펄스 응답사이의 상호상관 벡터를 결정하는 단계 ― 상기 상호상관 벡터의 각 성분은 분석 프레임에서의 한 위치에 대응하며 ―;
    상기 상호상관 벡터의 가장 큰 P 성분에 대응하는 다수의 P위치를 결정하는 단계와;
    서브코드북을 형성하기 위하여 상기 코드북으로부터 다수의 펄스 벡터를 선택하는 단계 ― 상기 다수의 펄스벡터의 각각은 상기 다수의 P위치중 적어도 한 위치에 대응하며 ―;
    상기 다수의 P 펄스 벡터에 기초하여 자기상관 매트릭스를 결정하는 단계와;
    상기 다수의 P펄스 벡터로부터 상기 최적 펄스 벡터를 선택하는 단계를 포함하는 최적 펄스 벡터 선택 방법.
  6. 코드북으로부터 최적 펄스 벡터를 선택하기 위한 장치로서,
    목표신호 및 임펄스 응답사이의 상호상관 벡터를 결정하기 위한 수단 ―상기 상호상관 벡터의 각 성분은 분석 프레임에서의 한 위치에 대응하며 ―;
    상기 상호상관 벡터의 가장 큰 P 성분에 대응하는 다수의 P위치를 결정하기 위한 수단과;
    서브코드북을 형성하기 위하여 상기 코드북으로부터 다수의 펄스벡터를 발생시키기 위한 수단 ― 상기 다수의 펄스벡터의 각각은 상기 다수의 P위치중 적어도 한 위치에 대응하며 ―;
    상기 다수의 펄스벡터에 기초하여 자기상관 매트릭스를 결정하기 위한 수단과;
    상기 다수의 펄스벡터로부터 상기 최적 펄스벡터를 선택하기 위한 수단을 포함하는 최적 펄스 벡터 선택 장치.
  7. 코드북 검색의 계산 복잡성을 감소시키기 위한 방법으로서,
    자기상관값의 부분 세트를 사용하여 에너지 값 매트릭스를 결정하는 단계와;
    상기 에너지 값 매트릭스를 저장하는 단계와;
    다수의 상호상관값으로부터의 상호상관값 및 에너지값을 사용하여 다수의 벡터의 각 벡터에 대한 기준값을 결정하는 단계 ― 상기 각각의 상호상관값은 상기 코드북에서 각 벡터 및 목표벡터사이의 관계를 기술하며―;
    상기 벡터가 상기 가장 높은 기준비 값을 가지는 경우 상기 벡터를 최적으로 선택하는 계산 복잡성 감소방법.
KR1020037015931A 2001-06-06 2002-06-05 코드북 벡터 검색의 메모리 요구들을 감소시키는 방법 및 장치 KR100926599B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/876,352 2001-06-06
US09/876,352 US6789059B2 (en) 2001-06-06 2001-06-06 Reducing memory requirements of a codebook vector search
PCT/US2002/017816 WO2002099788A1 (en) 2001-06-06 2002-06-05 Reducing memory requirements of a codebook vector search

Publications (2)

Publication Number Publication Date
KR20040044411A true KR20040044411A (ko) 2004-05-28
KR100926599B1 KR100926599B1 (ko) 2009-11-11

Family

ID=25367508

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037015931A KR100926599B1 (ko) 2001-06-06 2002-06-05 코드북 벡터 검색의 메모리 요구들을 감소시키는 방법 및 장치

Country Status (9)

Country Link
US (1) US6789059B2 (ko)
EP (1) EP1419500B1 (ko)
KR (1) KR100926599B1 (ko)
CN (1) CN100336101C (ko)
AT (1) ATE410770T1 (ko)
DE (1) DE60229270D1 (ko)
HK (1) HK1067222A1 (ko)
TW (1) TW561454B (ko)
WO (1) WO2002099788A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100813260B1 (ko) * 2005-07-13 2008-03-13 삼성전자주식회사 코드북 탐색 방법 및 장치
KR20100044089A (ko) * 2008-10-20 2010-04-29 삼성전자주식회사 적응적으로 코드북을 생성하고 사용하는 다중 입출력 통신 시스템 및 통신 방법

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714907B2 (en) * 1998-08-24 2004-03-30 Mindspeed Technologies, Inc. Codebook structure and search for speech coding
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
EP1394773B1 (en) * 2002-08-08 2006-03-29 Alcatel Method of coding a signal using vector quantization
KR20050008356A (ko) * 2003-07-15 2005-01-21 한국전자통신연구원 음성의 상호부호화시 선형 예측을 이용한 피치 지연 변환장치 및 방법
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
US7752039B2 (en) * 2004-11-03 2010-07-06 Nokia Corporation Method and device for low bit rate speech coding
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
US7778826B2 (en) * 2005-01-13 2010-08-17 Intel Corporation Beamforming codebook generation system and associated methods
US7571094B2 (en) * 2005-09-21 2009-08-04 Texas Instruments Incorporated Circuits, processes, devices and systems for codebook search reduction in speech coders
KR20080052813A (ko) * 2006-12-08 2008-06-12 한국전자통신연구원 채널별 신호 분포 특성을 반영한 오디오 코딩 장치 및 방법
CN101039137B (zh) * 2007-04-19 2010-04-14 上海交通大学 Mimo-ofdm系统基于码本搜索减少预编码反馈比特数的方法及装置
PT2165328T (pt) * 2007-06-11 2018-04-24 Fraunhofer Ges Forschung Codificação e descodificação de um sinal de áudio tendo uma parte do tipo impulso e uma parte estacionária
CA2809886C (en) * 2010-09-02 2017-03-28 Microsoft Corporation Generation and application of a sub-codebook of an error control coding codebook
US8516349B2 (en) * 2010-09-02 2013-08-20 Microsoft Corporation Generation and application of a sub-codebook of an error control coding codebook
EP2665060B1 (en) * 2011-01-14 2017-03-08 Panasonic Intellectual Property Corporation of America Apparatus for coding a speech/sound signal
EP2798631B1 (en) * 2011-12-21 2016-03-23 Huawei Technologies Co., Ltd. Adaptively encoding pitch lag for voiced speech
US9972325B2 (en) * 2012-02-17 2018-05-15 Huawei Technologies Co., Ltd. System and method for mixed codebook excitation for speech coding
US9112565B2 (en) * 2013-12-18 2015-08-18 Intel Corporation User equipment and method for precoding for MIMO codebook-based beamforming using an autocorrelation matrix for reduced quantization noise

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901307A (en) 1986-10-17 1990-02-13 Qualcomm, Inc. Spread spectrum multiple access communication system using satellite or terrestrial repeaters
JPH087597B2 (ja) 1988-03-28 1996-01-29 日本電気株式会社 音声符号化器
US5109390A (en) 1989-11-07 1992-04-28 Qualcomm Incorporated Diversity receiver in a cdma cellular telephone system
CA2010830C (en) 1990-02-23 1996-06-25 Jean-Pierre Adoul Dynamic codebook for efficient speech coding based on algebraic codes
JP2776050B2 (ja) * 1991-02-26 1998-07-16 日本電気株式会社 音声符号化方式
FI98104C (fi) * 1991-05-20 1997-04-10 Nokia Mobile Phones Ltd Menetelmä herätevektorin generoimiseksi ja digitaalinen puhekooderi
US5265190A (en) * 1991-05-31 1993-11-23 Motorola, Inc. CELP vocoder with efficient adaptive codebook search
CA2568984C (en) 1991-06-11 2007-07-10 Qualcomm Incorporated Variable rate vocoder
JP2979943B2 (ja) 1993-12-14 1999-11-22 日本電気株式会社 音声符号化装置
DE69629485T2 (de) * 1995-10-20 2004-06-09 America Online, Inc. Kompressionsystem für sich wiederholende töne
KR100455970B1 (ko) * 1996-02-15 2004-12-31 코닌클리케 필립스 일렉트로닉스 엔.브이. 복잡성이감소된신호전송시스템,전송기및전송방법,인코더및코딩방법
TW317051B (ko) * 1996-02-15 1997-10-01 Philips Electronics Nv
TW307960B (en) * 1996-02-15 1997-06-11 Philips Electronics Nv Reduced complexity signal transmission system
US5751901A (en) * 1996-07-31 1998-05-12 Qualcomm Incorporated Method for searching an excitation codebook in a code excited linear prediction (CELP) coder
JPH117361A (ja) * 1997-06-18 1999-01-12 Oputoromu:Kk 電子回路を有する記憶媒体とその使用方法
US5924062A (en) * 1997-07-01 1999-07-13 Nokia Mobile Phones ACLEP codec with modified autocorrelation matrix storage and search
US6067515A (en) * 1997-10-27 2000-05-23 Advanced Micro Devices, Inc. Split matrix quantization with split vector quantization error compensation and selective enhanced processing for robust speech recognition
US6714907B2 (en) * 1998-08-24 2004-03-30 Mindspeed Technologies, Inc. Codebook structure and search for speech coding
US6219642B1 (en) * 1998-10-05 2001-04-17 Legerity, Inc. Quantization using frequency and mean compensated frequency input data for robust speech recognition
US6347297B1 (en) * 1998-10-05 2002-02-12 Legerity, Inc. Matrix quantization with vector quantization error compensation and neural network postprocessing for robust speech recognition

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100813260B1 (ko) * 2005-07-13 2008-03-13 삼성전자주식회사 코드북 탐색 방법 및 장치
US8805681B2 (en) 2005-07-13 2014-08-12 Samsung Electronics Co., Ltd. Method and apparatus to search fixed codebook using tracks of a trellis structure with each track being a union of tracks of an algebraic codebook
KR20100044089A (ko) * 2008-10-20 2010-04-29 삼성전자주식회사 적응적으로 코드북을 생성하고 사용하는 다중 입출력 통신 시스템 및 통신 방법

Also Published As

Publication number Publication date
US20030046066A1 (en) 2003-03-06
CN1539139A (zh) 2004-10-20
KR100926599B1 (ko) 2009-11-11
ATE410770T1 (de) 2008-10-15
DE60229270D1 (de) 2008-11-20
WO2002099788A1 (en) 2002-12-12
TW561454B (en) 2003-11-11
EP1419500A1 (en) 2004-05-19
US6789059B2 (en) 2004-09-07
CN100336101C (zh) 2007-09-05
EP1419500B1 (en) 2008-10-08
HK1067222A1 (en) 2005-04-01

Similar Documents

Publication Publication Date Title
KR100926599B1 (ko) 코드북 벡터 검색의 메모리 요구들을 감소시키는 방법 및 장치
KR100935174B1 (ko) 고속 코드-벡터 탐색 장치 및 방법
JP5280480B2 (ja) 帯域幅適応性量子化方法と装置
JP5037772B2 (ja) 音声発話を予測的に量子化するための方法および装置
US20070171931A1 (en) Arbitrary average data rates for variable rate coders
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) 음성 코더에서 선 스펙트럼 정보 양자화법을 인터리빙하는 방법 및 장치
AU2002235538C1 (en) Method and apparatus for reducing undesired packet generation
AU2002235538A1 (en) Method and apparatus for reducing undesired packet generation
TWI358057B (en) Systems and methods for dimming a first packet ass
Chang et al. An improved 13 kb/s speech coder for PCS
JP3284874B2 (ja) 音声符号化装置
Chang et al. A speech coder with low complexity and optimized codebook

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee