KR20070047795A - 벡터 코드북 생성 방법, 데이터 압축 방법 및 장치, 및분산 음성 인식 시스템 - Google Patents

벡터 코드북 생성 방법, 데이터 압축 방법 및 장치, 및분산 음성 인식 시스템 Download PDF

Info

Publication number
KR20070047795A
KR20070047795A KR1020077004401A KR20077004401A KR20070047795A KR 20070047795 A KR20070047795 A KR 20070047795A KR 1020077004401 A KR1020077004401 A KR 1020077004401A KR 20077004401 A KR20077004401 A KR 20077004401A KR 20070047795 A KR20070047795 A KR 20070047795A
Authority
KR
South Korea
Prior art keywords
subsets
vector
subset
additional
feature
Prior art date
Application number
KR1020077004401A
Other languages
English (en)
Other versions
KR101010585B1 (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 KR20070047795A publication Critical patent/KR20070047795A/ko
Application granted granted Critical
Publication of KR101010585B1 publication Critical patent/KR101010585B1/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
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice

Landscapes

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

Abstract

1보다 큰 정수인 Q개의 특징을 갖는 입력 벡터에 의해 표현된 데이터를 압축하는 방법은 1) 제1항 내지 제13항 중 어느 한 항에 따른 방법에 의해 생성된, 인덱스된 Q-특징 참조 벡터들 및 소정 특징에 대하여 상기 서브세트들과 연관된 임계값들의 서브세트를 포함하는 벡터 코드북을 정의하는 단계; 2) 상기 소정 특징에 해당하는 입력 벡터의 특징값을 상기 서브세트들과 연관된 임계값과 점진적으로 비교하는 것에 의하여 상기 서브세트들 사이에서 참조 벡터들의 서브세트를 식별하는 단계; 및 3) 상기 단계 2)에서 식별된 서브세트에서, 상기 입력 벡터에 대하여 가장 낮은 왜곡을 제공하는 참조 벡터를 식별하는 단계를 포함한다.
ETSI, 데이터 압축, 벡터 코드북, 음성 인식 시스템

Description

벡터 코드북 생성 방법, 데이터 압축 방법 및 장치, 및 분산 음성 인식 시스템{METHOD FOR GENERATING A VECTOR CODEBOOK, METHOD AND DEVICE FOR COMPRESSING DATA, AND DISTRIBUTED SPEECH RECOGNITION SYSTEM}
본 발명은 데이터를 압축하는 방법에 관한 것이다. 좀 더 구체적으로, 본 발명은 분산 음성 인식 시스템에서 특징 벡터들을 압축하기 위한 방법에 관한 것이다.
많은 출원들이 음성 인식 기술을 사용하고 있다. 예를 들면 다음과 같은 것들을 포함한다.
- 은행 업무 및 중계 업무와 같이 "감지가능한" 정보의 음성 인식에 근거한 쌍방향 음성 반응(Interactive Voice Response; IVR) 서비스들. 음성 인식 특징은 장래 인간 확인 목적을 위하여 또는 절차상 요구를 만족시키기 위하여 저장될 수 있다;
- 전개된 음성 인식 시스템으로부터 수집된 음성 데이터베이스 내의 발음의 인간 확인. 이 데이터베이스는 시스템 성능을 향상시키기 위하여 모델들을 재교육하거나 조정하기 위하여 사용될 수 있다.
- 기계 및 인간 인식이 혼합된 어플리케이션(예를 들어, 인간 보조 명령).
음성 인식 출원은 또한 음성 명령을 인식하고 다음으로 인식된 음성 명령에 근거하여 목적 시스템에 자극을 인가하는 것에 의하여 목적 시스템을 제어하는 기술을 개시하는 US 5 946 653에 의해 개시된다. 음성 명령을 사용하여 제어된 목적 시스템들 및 소프트웨어 어플리케이션들은, 사용자가 명령을 말하는 것에 의하여 목적 시스템들 및 어플리케이션들을 제어할 수 있고 그에 의하여 사용자에 의해 인지되는 동작의 편안함 및 사용자 호의를 향상시킬 수 있기 때문에 바람직하다.
전형적인 음성 인식 시스템에서, 입력 음성은 마이크로폰을 통하여 수신되고, 샘플링되어 원본 입력 음성의 디지털 표현으로 전환된다. 디지털화된 음성은 다음으로 좀 더 작은 형식의 음성 표현을 제공하는 특징 벡터들을 생성하도록 (일반적으로 소위 "특징 처리" 또는 "프론트-엔드(front-end)" 처리에 따라) 처리된다. 특징 벡터들은 다음으로 입력 음성을 복원하기 위하여 입력 특징 벡터들을 음성 템플릿과 비교하는, 일반적으로 "백-엔드(back-end)"로 불리는 패턴 인식 및/또는 복원 시스템으로 전송되거나 통과된다.
백-엔드에서 음성 인식 및/또는 복원은 전형적으로 다량의 메모리 및 CPU 사이클들을 사용하는 검색 알고리즘을 요구한다.
음성 처리를 위한 세 가지 주요 접근법이 본 기술분야에서 공지되어 있다.
- 서버 측: 오디오 신호가 전송 채널을 통하여 장치에 의해 서버로 전송된다. 서버는 모든 오디오 신호 처리를 수행하여 인식 프로세스의 결과를 장치로 다시 전송한다. 이러한 접근법은 그래픽적인 디스플레이의 부재와 장치와 서버 사이의 연결의 불안정성의 한계를 갖는다. 모든 무선 기술에 내재한 낮은 해상도 아날 로그-대-디지털 변환, 변환 부호화 및 전송 손실들 그리고 모든 에러들로, 디지털화된 오디오 신호의 품질은 때때로 성공적인 음성 인식에 충분하지 못하다;
- 클라이언트 측: 음성 처리가 사용자의 장치에서 완전히 수행된다. 이러한 접근법은 오디오 채널 문제를 해결하는 반면, 클라이언트 장치가 높은 처리 및 메모리 능력과 낮은 전력 소모를 가질 필요가 있다. 그러나, 휴대용 개인 보조 단말기(PDA), 셀룰러 폰들 및 다른 임베디드(embedded) 장치와 같은 무선 휴대용 장치들은 전력 소모, 메모리, 및 배터리 에너지에 있어서 일반적으로 제한된다. 따라서 상기 자원 제한들에 의해 이러한 종래 장치들에서 복잡한 검색 알고리즘들을 수행하는 것이 곤란하다.
- 분산 음성 인식(DSR): 음성 인식 작업이 클라이언트의 일부와 서버의 일부에서 수행된다. 클라이언트 장치는 사용자의 디지털화된 음성에서 특정 특징들을 추출하고, 서버로 이러한 디지털 표현을 전송한다. 서버는 서버에 저장된 언어 모델들 및 단어 리스트들로 추출된 정보를 압축하는 것에 의하여 프로세스를 완료하고, 따라서, 무선 장치는 적은 메모리 제약을 갖는다. 이러한 접근법의 다른 장점들은 상당한 하드웨어 요구 없이 다양한 이동 장치들로 음성 인터페이스를 추가할 수 있고, 용이하게 서비스, 컨텐츠 및 코드를 업데이트할 수 있으며, 오류에 덜 민감하다(이러한 시스템들은 전형적으로 음성 인식 정확성에 불리한 영향 없이 10%까지 데이터 패킷 손실을 조정할 수 있다).
따라서 분산 음성 인식(DSR) 시스템은 프론트-엔드 처리만이 무선 휴대용 장치에서 수행되는 반면, 계산적이고 메모리 집중적인 백-엔드 처리는 원격 서버(예 를 들어 EP 1 395 978)에서 수행되는 것을 제공한다.
게다가, 통신 채널 대역폭을 절약하기 위하여, 백-엔드 처리를 위한 원격 서버로의 전송 전에, DSR 시스템의 프론트-엔드 처리에서 추출된 특징 벡터들을 압축하는 것이 본 기술분야에서 제안되어 왔다. 이 압축은 본 기술분야에서 일반적으로 "벡터 양자화" 또는 "벡터 압축"으로 불린다.
이러한 문맥에서, 유럽 전기 통신 표준 협회(ETSI)는 DRS 특징 추출 및 압출 알고리즘들을 위한 표준("오로라(Aurora)")을 발표했다(ETSI ES 202 050, ES 202 212, ES 201 108 및 ES 202 211).
오로라 ETSI 표준의 특징 추출 알고리즘에 따르면, 디지털화된 입력 음성은 필터링되고, 각 음성 프레임은 해밍 윈도우(Hamming window)를 사용하여 창이 만들어지고 빠른 푸리에 변환(Fast Fourier Transform; FFT)을 사용하여 주파수 도메인으로 변환된다. 다음으로, 멜-주파수 도메인(Mel-frequency domain) 변환 및 후속하는 처리 단계들이 음성 데이터의 각 시간 프레임에 대한 14개의 특징들-12개의 멜 주파수 켑스트럴(cepstral) 계수들 C(1) 내지 C(12) 더하지 제로 켑스트럴 계수 C(0) 및 로그 에너지 영역 InE-을 포함하는 벡터를 획득하도록 수행된다.
오로라 ETSI 표준의 압축 알고리즘에 따르면, 14개의 특징은 쌍으로 그룹화되고 그에 의하여 음성 데이터의 각 시간 프레임에 대하여 7개의 2-특징 벡터들을 제공한다. 이러한 2-특징 벡터들은 다음으로 7개의 개별적인 미리 결정된 코드북(codebook)을 사용하는 것에 의하여 압축된다.
코드북은 특징 벡터에 의해 나타내진 원래 정보의 표본으로 선택된 미리 결 정된 인덱스 참조 벡터의 세트이다. 코드북 내의 참조 벡터들의 분산은 오로라 ETSI 표준에 의해 제공된 것과 같이 균일하지 않을 수 있다.
압축 또는 양자화는 입력 벡터를 가장 낮은 왜곡을 제공하는 참조 벡터의 인덱스로 대체하는 것에 의하여 수행된다.
실제로, 인덱스는 1과 N-1(여기서 N은 코드북 내의 참조 벡터들의 수이다) 사이의 양의 정수이기 때문에, Q개(Q≥2)의 특징들을 포함하는 입력 특징 벡터들보다 좀 더 작은 정보로 표현될 수 있다.
ETSI 알고리즘에 따르면, 가장 낮은 왜곡은 입력 벡터와 개별적인 코드북의 각 참조 벡터 사이의 가중된 유클리드 거리를 계산하는 것에 의하여 발견된다. 가장 가까운 참조 벡터가 발견되면, 그 참조 벡터의 인덱스가 그 입력 벡터를 나타내기 위하여 사용된다.
2-특징 벡터들에 대한 유클리드 거리로 계산한 최소 거리값(Dmin)은 다음과 같이 표현된다.
Figure 112007016128098-PCT00001
여기서 N은 코드북 내의 벡터들의 수이고; (XA, XB)는 입력벡터이며, Ci=(Ci,A, Ci ,B)는 코드북의 i번째 벡터이다.
상기 식에 따르면, 종래 ETSI 압축 알고리즘(순수한 계산)은 2N개의 제곱 및 3N개의 덧셈과 균등한 N개의 거리 계산(제곱 루트의 계산 최소값(Dmin)의 검색 결과 에 영향을 미치지 않기 때문에 제곱 루트의 계산은 생략될 수 있다)을 요구한다. 이러한 동작들은 N에 비례하는 높은 프로세서 능력을 요구한다.
예를 들어 EP 0 496 541, US 5 946 653, US 6 389 389에 개시된 것과 같은 압축 알고리즘을 향상시키기 위한 시도들이 본 기술분야에서 이루어져 왔다.
그러나, 이러한 문헌들에 의해 개시된 기술들은 입력 벡터로부터 최소 거리를 갖는 코드북의 벡터를 발견하는데 요구되는 계산 노력을 효율적으로 감소시키지 못했다.
비디오 데이터 압축의 경우에, 서로 다른 벡터 양자화 기술이 US 4 958 225에서 제안된다. 특히, 이 특허는 입력 벡터와 가장 가깝게 매치하는 코드북 벡터들의 세트 중 하나를 식별하기 위하여 벡터 양자화를 채용하는 비디오 데이터의 압축 방법을 개시한다. 실시예에 따르면, 이 방법은 1) 입력 벡터(I)의 놈(norm)을 계산하는 단계; 2) 상기 입력 벡터의 놈과 가장 가까운 놈을 가진 참조 코드북 벡터(Aj)를 식별하는 단계; 3) 상기 입력 벡터와 상기 참조 코드북 벡터(Aj) 사이의 거리(hI,J)를 계산하는 단계; 4) 범위 |I|-hI ,J 내지 |I|+hI ,J 내의 놈을 가진 벡터들과 같이, 입력 벡터(I) 주변의 제한된 양의 벡터 공간으로부터의 코드북 벡터들로 이루어진 코드북 벡터들의 서브세트(S)을 식별하는 단계; 5) 입력 벡터까지 가장 짧은 거리를 가진 코드북 벡터를 위하여 상기 서브세트(S)을 검색하는 단계; 및 6) 상기 입력 벡터까지 가장 짧은 거리를 가진 코드북 벡터를 선택하는 단계를 포함한다. 상기 서브세트(S)을 식별하는 단계 4)는 가장 작은 거리 계산을 위하여 단계 5)에서 계산되어야만 하는 벡터들의 수를 감소시킨다.
그러나, 출원인은 비록 이러한 방법이 입력 벡터와 참조 벡터들 사이에서 계산되어야 할 거리 계산의 수를 서브세트(S)에 포함된 참조 벡터의 수로 감소시킨다 하더라도, 단계 1 내지 6을 통하여 수행될 많은 수의 계산들과 명령들이 여전히 요구된다는 점을 언급한다. 게다가, 모든 참조 코드북 벡터들의 놈들만이 미리 오프라인에서 계산될 수 있고, 단계 2)가 수행되어야 할 때 나중에 사용될 메모리에 저장될 수 있다. 따라서, 이 방법에 의해 요구되는 온라인 계산 노력은 여전히 높다.
따라서, 출원인은 특징 벡터 압축에 요구되는 계산 노력 감소의 기술적 문제에 직면하게 되었다.
좀 더 구체적으로, 출원인은 DSR 시스템에서 특징 벡터 압축에 요구되는 온라인 계산 노력 감소의 기술적 문제에 직면하게 되었다.
출원인은 상술한 문제들이 코드북의 참조 벡터들의 서브세트을 포함하는 미리 결정된 영역들로 코드북의 분할을 제공하는 코드북 처리, 및 온라인에서 새로운 입력 벡터가 수신될 때마다 수행되어야 하는 벡터 압축이 생성된 접근 정보를 통하여 그 입력 벡터를 더 잘 표현하는 영역을 식별하는 것에 의하여, 그리고 코드북의 참조 벡터들보다 적은 참조 벡터들의 수를 포함하는 상기 식별 영역 내의 가장 낮은 왜곡을 제공하는 참조 벡터를 검색하는 것에 의하여 수행되는 방식으로 미리 결정된 영역으로 미리 결정된 접근 정보의 발생을 통하여 해결될 수 있다는 것을 발견했다. 따라서 특징 벡터 압출에 요구되는 온라인 계산 노력은 감소한다. 게다가, 코드북 처리가 오프라인에서 임의의 주어진 코드북에 대하여 단 한 번만 수행될 수 있기 때문에, 온라인 처리에 큰 부담을 주지 않는다.
따라서, 본 발명의 제1 태양은 각각 Q개의 특성들을 포함하는 N개의 참조 벡터들의 세트를 포함하는 벡터 코드북으로부터 시작하는 낮은 데이터 압축 계삭 노력을 제공하는 벡터 코드북을 발생시키기 위한 방법에 관한 것으로, N과 Q는 1보다 큰 양의 정수이다. 상기 방법은,
a) N개의 참조 벡터들의 세트의 소정 특징값에 대하여 오름차순 또는 내림차순으로 N개의 참조 벡터들의 세트를 정렬시키는 단계;
b) 상기 정렬된 참조 벡터들의 세트를 서브세트들로 분할하는 단계;
c) 상기 소정 특성에 대한 개별적인 임계값을 상기 각 서브세트들과 연관시키는 단계를 포함한다.
발명의 상세한 설명 및 청구의 범위에서, "벡터"라는 용어는 스칼라들의 정렬된 세트를 가리키는데 사용된다. 벡터의 차원(dimension)은 정렬된 세트의 스칼라 요소들의 수이다. 예를 들어, 2-차원 벡터는 {a1, a2}로 나타날 수 있고, 여기서 a1은 이 벡터의 제1 스칼라 요소이며, a2는 제2 스칼라 요소이다.
게다가, "특징"이라는 용어는 스칼라를 가리키는데 사용된다. 예를 들면, 음성 인식 시스템의 경우에, "특징"이라는 용어는 입력 음성으로부터 특징 추출 알고리즘에 의하여 추출된 계수를 가리키는데 사용된다.
종속항들은 본 발명의 특정 실시예들에 관한 것이다.
바람직하게, 상기 방법은 상기 N개의 참조 벡터들의 세트를 분할하는 단계를 더 포함하며, 상기 분할 단계는,
d) 상기 N개의 참조 벡터들의 세트의 추가된 소정 특징값에 대하여, 오름차순 또는 내림차순으로 상기 각 서브세트들의 참조 벡터들을 정렬시키는 단계;
e) 상기 정렬된 참조 벡터들의 각 서브세트들을 추가 서브세트들로 하위분할하는 단계; 및
f) 상기 추가된 소정 특징들에 대하여 개별적인 추가 임계값을 상기 각 추가 서브세트들과 연관시키는 단계를 포함한다.
실시예에 따르면, 상기 추가 분할하는 단계는 추가 분할의 이전 실행에서 획득된 추가 서브세트 및, 단계 d) 및 f)를 수행하기 위하여, 상기 N개의 참조 벡터의 다른 추가된 소정 특징들을 언제나 서브세트들로 고려하여, 소정 횟수 동안 반복된다.
추가 분할 단계는 상기 정렬 단계가 아직 고려되지 않은 참조 벡터들의 세트의 임의의 다른 나머지 특징에 대하여 반복될 수 있다. 바람직하게, 그것은 참조 벡터들의 세트의 모든 나머지 특징들에 대하여 반복된다.
단계 c)에서 임계값들은 바람직하게는 N개의 참조 벡터들의 세트의 소정 특징값에 따라 선택된다.
단계 c)에서 각 임계값은 바람직하게는 개별 서브세트 내에 포함된 참조 벡터들의 소정 특징값에 따라 선택된다.
단계 c)에서 각 임계값은 개별 서브세트의 마지막 참조 벡터의 소정 특징값과, 만약 있다면, 다음 서브세트의 처음 참조 벡터의 소정 특징값 사이에 포함되는 값으로 설정될 수 있다. 바람직하게, 각 임계값은 개별 서브세트의 마지막 참조 벡터의 소정 특징값과 같도록 설정될 수 있다.
단계 f)에서 추가 임계값은 바람직하게는 N개의 참조 벡터들의 세트의 추가된 소정 특징값에 따라 선택된다.
단계 f)에서 각 추가 임계값은 바람직하게는 개별 추가 서브세트 내에 포함된 참조 벡터들의 추가된 소정 특징값에 따라 선택된다.
단계 f)에서 각 추가 임계값은 개별 추가 서브세트의 마지막 참조 벡터의 추가된 소정 특징값과, 만약 있다면, 다음 추가 서브세트의 처음 참조 벡터의 추가된 소정 특징값 사이에 포함되는 값으로 설정될 수 있다. 바람직하게, 각 추가 임계값은 개별 추가 서브세트의 마지막 참조 벡터의 추가된 소정 특징값과 같도록 설정될 수 있다.
단계 d)는 단계 a)에 사용되는 순서와 독립적으로 오름차순 또는 내림차순으로 수행될 수 있다.
단계 b)에서 정렬된 세트는 Nfirst개의 서브세트들로 하위분할되고, 여기서 Nfirst은 2≤Nfirst≤N인 양의 정수이다.
바람직하게, 단계b)에서 획득된 서브세트들은 실질적으로 동일한 수의 참조 벡터들을 포함한다. 즉, 서브세트들의 참조 벡터들의 수는 거의 모든 서브세트에 대하여 N/Nfirst와 같아진다.
상기 언급된 "서브세트들은 실질적으로 동일한 수의 참조 벡터들을 포함한다"는 표현은 나누기 N/Nfirst의 나머지가 0부터 다른 경우에 사용될 수 있고 따라서, 서브세트들의 참조 벡터들의 수는 모든 서브세트들에 대하여 N/Nfirst로 같지 않을 수 있다.
바람직하게, 단계 e)에서 각 서브세트는 동일한 수(Nsecond)의 추가 서브세트들에 의해 하위분할되며, 여기서 Nsecond는 1보다 큰 양의 정수이다. 게다가, Nsecond는 바람직하게는 가장 적은 수의 참조 벡터들을 갖는 서브세트의 참조 벡터들의 수보다 크지 않다.
바람직하게, 단계 e)에서 각 서브세트는 실질적으로 동일한 수의 참조 벡터들을 포함하는 추가 서브세트들로 하위분할된다.
이하에서 좀 더 자세히 설명되는 바와 같이, 실질적으로 동일한 수의 참조 벡터들을 포함하는 추가 서브세트들은, 그들이 포함된 코드북 영역과 독립적으로, 모든 수신된 입력 벡터들에 대하여 계산 노력이 실질적으로 동일하게 한다.
바람직하게, 상기 방법은 단계 b)에서 획득된 서브세트들 중 적어도 하나를 인접한 서브세트의 적어도 하나의 참조 벡터로 확장하는 단계 g)를 더 포함한다.
바람직하게, 상기 단계 g)는 상기 단계 a)에서 정렬된 세트의 꼭대기에 있는 상기 단계 b)에 의해 획득된 서브세트를, 상기 단계 b)에서 획득된 서브세트의 바닥에 상기 단계 a)에서 정렬된 세트에서 상기 꼭대기 서브세트의 바로 아래 있는 참조 벡터에 해당하는 적어도 하나의 참조 벡터를 추가하는 것에 의하여 확장함으로써 수행된다.
바람직하게, 상기 단계 g)는 상기 단계 a)에서 정렬된 세트의 바닥에 있는 상기 단계 b)에 의해 획득된 서브세트를, 상기 단계 b)에서 획득된 서브세트의 꼭대기에 상기 단계 a)에서 정렬된 세트에서 상기 바닥 서브세트의 바로 위 있는 참조 벡터에 해당하는 적어도 하나의 참조 벡터를 추가하는 것에 의하여, 확장함으로써 수행된다.
바람직하게, 상기 단계 g)는 상기 단계 b)에서 획득된 임의의 다른 중간 서브세트들을, 상기 중간 서브세트들의 꼭대기와 바닥에 상기 a)에서 정렬된 세트에서 상기 중간 서브세트들의 바로 위 및 아래에 있는 참조 벡터들에 해당하는 적어도 하나의 참조 벡터들을 추가하는 것에 의하여 수행된다.
이하에서 좀 더 자세히 설명되는 바와 같이, 단계 g)는 상기 서브세트에 의해 표현되는 코드북의 인접하는 영역들의 경계 근처에 위치한 입력 벡터에 대하여 최소 왜곡 계산에서 에러의 감소를 허용하는 -본 발명의 방법에 의해 생성된 코드북을 사용하는 벡터 압축 방법에서- 인접한 서브세트들 사이의 중첩을 발생시킨다.
바람직하게, 상기 단계 g)가 수행될 때, 단계 d) 및 e)는 확장된 서브세트에 대하여 수행된다.
바람직하게, 상기 단계 g)에서 상기 서브세트들은 동일한 수의 참조 벡터들오 그것의 꼭대기 및/또는 바닥에서 확장된다.
바람직하게, 상기 추가 분할 단계는, 단계 e) 후에 상기 e)에서 획득된 추가 서브세트들 중 적어도 하나를 인접하는 추가 서브세트의 적어도 하나의 참조 벡터로 확장하는 단계 h)를 더 포함한다.
바람직하게, 상기 단계 h)는 단계 d)에서 정렬된 해당 확장된 서브세트의 꼭대기에 있는 단계 e)에 의해 획득된 각 추가 서브세트들을, 상기 해당 정렬된 확장된 서브세트에서, 상기 꼭대기 추가 서브세트 바로 아래 있는 참조 벡터에 해당하는 적어도 하나의 참조 벡터들을 그것의 바닥에 추가하는 것에 의하여 확장함으로써 수행된다.
바람직하게, 상기 단계 h)는 단계 d)에서 정렬된 해당 확장된 서브세트의 바닥에 있는 단계 e)에 의해 획득된 각 추가 서브세트들을, 상기 해당 정렬된 확장된 서브세트에서, 상기 바닥 추가 서브세트 바로 위에 있는 참조 벡터에 해당하는 적어도 하나의 참조 벡터들을 그것의 꼭대기에 추가하는 것에 의하여 확장함으로써 수행된다.
바람직하게, 상기 단계 h)는 상기 단계 e)에서 획득된 임의의 다른 중간 추가 서브세트들을, 상기 단계 d)에서 정렬된 해당 확장된 서브세트들에서 상기 중간 추가 서브세트들 바로 위 및 아래에 있는 참조 벡터들에 해당하는 적어도 하나의 참조 벡터들을 그것의 꼭대기 및 바닥에 추가하는 것에 의하여 확장함으로써 수행된다.
바람직하게, 상기 단계 h)가 수행될 때, 추가 분할 단계는 매시간 단계 h)의 이전 수행에 따라 확장된 추가 서브세트들을 서브세트들로 고려하여 반복된다.
이하에서 좀 더 자세히 설명될 바와 같이, 단계 h)는 상기 추가 서브세트들에 의해 표현되는 코드북의 인접하는 영역들의 경계 근처에 위치한 입력 벡터에 대하여 최소 왜곡 계산에서 에러의 감소를 허용하는 -본 발명의 방법에 의해 생성된 코드북을 사용하는 벡터 압축 방법에서- 인접한 추가 서브세트들 사이의 중첩을 발생시킨다.
바람직하게, 상기 단계 h)에서 상기 추가 서브세트들은 동일한 수의 열로 상기 꼭대기 및 바닥에서 확장된다.
제2 태양에서, 본 발명은 본 발명의 제1 태양에 따른 방법의 단계들을 수행하도록 설계된 수단들을 포함하여 낮은 데이터 압축 계산 노력을 제공하는 벡터 코드북을 생성하기 위한 전자 처리 시스템에 관한 것이다.
전자 처리 시스템은 예를 들면, 개인 컴퓨터, 컴퓨터 네트워크 또는 무선 휴대용 장치(예를 들면, PDA 또는 셀룰러 폰)와 같은 임베디드 장치일 수 있다.
제3 태양에서 본 발명은 프로그램이 전자 처리 시스템상에서 수행될 때 본 발명의 제1 태양에 따른 방법의 단계들을 수행하도록 설계된 프로그램 명령어들을 포함하는 컴퓨터 프로그램에 관한 것이다.
바람직하게, 상기 컴퓨터 프로그램은 컴퓨터 판독가능한 매체 상에 실현된다.
예를 들면, 컴퓨터 판독가능한 매체는 읽기 전용 메모리 또는 자기 기록 수단이다. 읽기 전용 메모리의 전형적인 예들은 CD ROM 또는 반도체 ROM이다. 다음으로, 자기 기록 수단의 전형적인 예들은 플로피 디스크 또는 하드 디스크이다.
일 실시예에 따르면, 컴퓨터 프로그램은 예를 들면, 인터넷과 같이 컴퓨터 네트워크에서 전송되는 경우 캐리어(carrier) 신호로 이동된다.
전형적으로, 캐리어 신호는 전기 또는 광학 신호이다. 예를 들면, 그것은 무선파 신호 또는 모뎀에 의해 발생하는 전기 신호일 수 있다. 그러한 캐리어 신호는 예를 들면 다른 종래 전송 수단 또는 무선 파에 의해 전기 또는 광학 케이블로 전송될 수 있다.
제4 태양에서 본 발명은 1보다 큰 정수인 Q개의 특징을 갖는 입력 벡터에 의해 표현된 데이터를 압축하는 방법에 관한 것으로, 상기 데이터 압축 방법은
1) 제1항 내지 제13항 중 어느 한 항에 따른 방법에 의해 생성된, 인덱스된 Q-특징 참조 벡터들 및 소정 특징에 대하여 상기 서브세트들과 연관된 임계값들의 서브세트를 포함하는 벡터 코드북을 정의하는 단계;
2) 상기 소정 특징에 해당하는 입력 벡터의 특징값을 상기 서브세트들과 연관된 임계값과 점진적으로 비교하는 것에 의하여 상기 서브세트들 사이에서 참조 벡터들의 서브세트를 식별하는 단계; 및
3) 상기 단계 2)에서 식별된 서브세트에서, 상기 입력 벡터에 대하여 가장 낮은 왜곡을 제공하는 참조 벡터를 식별하는 단계를 포함한다.
본 발명에 따르면, 벡터 압축은 간단한 비교 단계(단계 2) 및 코드북보다 적은 수의 참조 벡터들을 포함하는 식별된 서브세트 내에서만 가장 낮은 왜곡을 제공하는 참조 벡터들을 식별하는 것에 의하여 수행될 수 있다.
게다가, 본 발명의 제1 태양에 따른 코드북의 생성은 임의의 주어진 코드북에 대하여 단 한 번만 오프라인에서 수행될 수 있다. 따라서, 입력 벡터가 수신될 때마다 온라인에서 수행되어야 하는 압축방법을 과부화하지 않는다.
전형적으로, 왜곡은 왜곡의 스칼라 표현을 제공하도록 2개 이상의 입력 벡터를 처리하도록 설계된 함수에 의해 계산된다. 전형적으로 상기 함수는 유클리드 거리를 구현한다. 그러나, 그것은 임의의 다른 타입의 거리를 구현할 수도 있다.
바람직하게, 단계 3)은 상기 입력 벡터로부터 최소 거리를 갖는 참조 벡터를 식별하는 것에 의하여 수행된다. 전형적으로, 이것은 입력 벡터와 단계 2)에서 식별된 서브세트 내에 포함된 각 참조 벡터 사이의 거리를 계산함으로써 수행된다.
바람직하게, 압축 방법은 상기 단계 3)에서 식별된 참조 벡터의 인덱스를 상기 입력 벡터와 연관시키는 단계를 더 포함한다.
바람직하게, 상기 단계 1)에서 인덱스된 Q-특징 참조 벡터들의 추가 서브세트들 및 상기 추가된 소정 특징들에 대하여 상기 추가 서브세트들과 연관된 추가 임계값들은 본 발명의 제1 태양에 따른 방법에 의하여 생성된 참조 벡터들의 각 서브세트에 대하여 또한 제공된다.
바람직하게, 상기 압축 방법은 상기 단계 2)에서 식별된 서브세트에 해당하는 추가 서브세트들 사이에서, 상기 추가된 소정 특징에 해당하는 입력 벡터의 추가 특징값을 상기 추가 서브세트들과 연관된 추가 임계값들과 점진적으로 비교하는 것에 의하여 추가 서브세트들을 식별하는 단계 4)를 더 포함하며; 상기 단계 3)은 상기 단계 4)에서 식별된 추가 서브세트 내에서 수행된다.
바람직하게, 상기 단계 1)에서 본 발명의 제1 태양에 따른 방법의 단계 g)에 의해 생성된 확장된 서브세트들이 제공되고, 상기 단계 2) 및 3)은 상기 확장된 서브세트들에 대하여 수행된다.
바람직하게, 상기 단계 1)에서 본 발명의 제1 태양에 따른 방법의 단계 h)에 의해 생성된 확장된 추가 서브세트들이 제공되고, 상기 단계 4) 및 3)은 상기 확장된 추가 서브세트들에 대하여 수행된다.
제5 태양에서 본 발명은 본 발명의 제4 태양에 따른 방법의 단계들을 수행하도록 설계된 수단을 포함하는 데이터 압축 전자 처리 시스템에 관한 것이다.
상기 전자 처리 시스템은 예를 들면, 개인 컴퓨터, 컴퓨터 네트워크, 무선 휴대용 장치(예를 들면, PDA 또는 셀룰러 폰), 또는 특별히 DSR 시스템의 사용자 장치일 수 있다.
다른 태양에서, 본 발명은 프로그램이 전자 처리 시스템상에서 수행될 때 본 발명의 제4 태양에 따른 방법의 단계들을 수행하도록 설계된 프로그램 명령어들을 포함하는 컴퓨터 프로그램에 관한 것이다.
컴퓨터 프로그램이 고려되는 만큼 본 발명의 제3 태양에 대하여 상술한 것이 참조된다.
다른 태양에서, 본 발명은 데이터 압축 장치에 관한 것으로,
- 1보다 큰 정수인 Q-특징 벡터들을 제공하도록 디지털 입력 데이터를 처리하기 위한 특징 추출 유닛;
- 정렬되고 인덱스된 Q-특징 참조 벡터들의 소정 서브세트들 및 상기 소정 서브세트들과 관련된 소정 임계값들을 포함하는 적어도 하나의 벡터 코드북을 저장하기 위한 메모리 유닛;
- 상기 특징 추출 유닛에 의해 제공된 각 입력 Q-특징 벡터들에 대하여, 상기 입력 벡터의 소정 특징을 상기 소정 임계값들과 비교하는 것에 의하여 상기 소정 서브세트들 중 하나를 식별하고; 상기 식별된 서브세트 내에서, 상기 입력 특징 벡터에 대하여 가장 낮은 왜곡을 제공하는 참조 벡터를 식별하는 데이터 압축 유닛을 포함한다.
바람직하게, 상기 데이터 압축 유닛은 상기 가장 낮은 왜곡을 제공하는 참조 벡터의 인덱스를 상기 입력 Q-특징 벡터와 연관시키도록 설계된다.
바람직하게, 상기 데이터 압축 유닛은 본 발명의 제4 태양에 따른 방법의 단계들을 수행하도록 설계된다.
바람직하게, 상기 메모리 유닛은 본 발명의 제1 태양에 따른 방법에 의해 생성된 상기 정렬되고 인덱스된 Q-특징 참조 벡터들의 (확장된) 서브세트 또는 (확장된) 추가 서브세트들, 본 발명의 제1 태양에 따른 방법에 의해 생성된 임계값 및 임의의 다른 임계값들을 저장하도록 설계된다.
바람직하게, 상기 장치는 본 발명의 제1 태양에 따른 방법의 단계들을 수행하고 상기 방법에 의해 생성된 (확장된) 서브세트들 또는 (확장된) 추가 서브세트들, 임계값들 및 임의의 추가 임계값들을 상기 메모리 유닛에 저장하도록 설계된 코드북 처리 유닛을 더 포함한다.
바람직하게, 상기 장치는 입력 음성 신호를 디지털 음성 데이터로 변환하고 상기 변환된 디지털 음성 데이터를 상기 특징 추출 유닛(802)으로 제공하기 위한 변환 유닛(801)을 더 포함한다.
다른 태양에서, 본 발명은
- 본 발명의 이전 태양에 따른 사용자 장치;
- 디지털 입력 데이터를 복원하기 위한 인식 장치; 및
- 상기 사용자 장치 및 인식 장치 사이의 데이터 전송을 위한 전송 채널을 포함하는 분산 음성 인식 시스템에 관한 것이다.
바람직하게, 상기 사용자 장치는 상기 인식 장치로 입력 Q-특징 벡터들에게 가장 낮은 왜곡을 제공하는 참조 벡터들의 인덱스를 전송하도록 설계된다.
바람직하게, 상기 분산 음성 인식 시스템은 본 발명의 제1 태양에 따른 방법의 단계들을 수행하고 상기 방법에 의해 생성된 (확장된) 서브세트들 또는 (확장된) 추가 서브세트들, 임계값들 및 임의의 추가 임계값들을 상기 메모리 유닛에 저장하도록 설계된 코드북 처리 유닛을 더 포함한다.
본 발명의 특징들 및 이점들은 이하의 첨부된 도면에서 비제한적인 예로 도시된 실시예들을 참조하여 이제부터 설명될 것이다.
도 1은 본 발명의 방법을 발생시키는 코드북을 개략적으로 설명하는 흐름도를 도시한다.
도 2는 2-특성 참조 벡터들을 포함하는 불균일한 코드북의 예를 도시한다.
도 3은 N개의 2-특성 참조 벡터들을 구비한 코드북을 나타내는 테이블의 예를 도시한다.
도 4는 본 발명에 따른 영역 선택 과정의 바람직한 실시예를 개략적으로 설명하는 흐름도를 도시한다.
도 5는 본 발명에 따른 최소 왜곡 검색 과정의 바람직한 실시예를 개략적으 로 설명하는 흐름도를 도시한다.
도 6은 본 발명의 방법을 발생시키는 코드북에 사용될 파라미터들(Nfirst, Mfirst, Nsecond, Msecond)에 대한 최적값들의 세트를 계산하는 파라미터 최적화 과정의 바람직한 실시예를 개략적으로 설명하는 흐름도를 도시한다.
도 7은 본 발명의 방법을 발생시키는 코드북에 따라 처리된 Q-차 테이블을 개략적으로 도시한다.
도 8은 본 발명의 실시예에 따른 DSR 시스템을 개략적으로 도시한다.
도 9는 본 발명에 따른 데이터 압축 방법을 개략적으로 설명하는 흐름도를 도시한다.
도 10은 2차 테이블 상에서 수행되는 본 발명에 따른 영역 선택 과정을 개략적으로 나타낸다.
도 9는 본 발명에 따른 데이터 압축 방법을 나타내는 흐름도이다.
이 방법은 예를 들면 음성 인식 시스템의 클라이언트 측에서 사용될 수 있다.
이 방법은 블록 900에서 시작하고, 설정 구간과 실행 구간을 포함한다.
설정 구간은 블록 901로 도시되는 코드북 발생 단계(또는 영역 포맷팅(formatting) 단계)를 포함하고, 미리 결정된 코드북이 미리 결정된 영역으로 하위분할된다.
실행 구간은 각 입력 특징 벡터에 대하여 수행되고, 각각 블록 902 및 903으로 도시되는 영역 선택 단계 및 최소 왜곡 검색 단계(또는 최소 왜곡 단계 및 맵핑(mapping) 단계)를 포함한다. 영역 선택 단계에서, 입력 벡터로 최소 왜곡을 제공하는 코드북 벡터를 포함하는 코드북 영역이 식별된다. 최소 왜곡 검색 단계에서, 입력 벡터로 최소 왜곡을 제공하는 코드북 벡터가 상기 식별 영역 내에서 발견되고 상기 입력 벡터는 식별된 코드북 벡터의 인덱스와 맵핑(mapping)된다.
블록 904에서, 새로운 특징 벡터가 처리되어야 하는지를 조사하고, 그렇지 않다면, 프로세스가 종료된다(블록 905).
본 발명의 방법은 이하에서 좀 더 상세히 설명된다.
낮은 데이터 압축 계산 노력을 제공하기 위한 코드북을 발생시키기 위한 본 발명의 방법에 따르면, 각 Q차 특징들을 구비한 N개의 참조 벡터들의 세트를 포함한 코드북이 참조 벡터들의 서브세트을 포함하는 소정 영역으로 상기 코드북을 분할하고 상기 소정 영역으로의 접근 정보를 발생시키도록 처리된다.
코드북은 코드북의 벡터를 나타내는 N개의 열과 Q개의 행을 포함하는 테이블에 의해 표현될 수 있다.
이러한 표현에 따르면, Q개의 행 및 테이블의 열의 서브세트을 포함하는 서브테이블은 해당하는 코드북 참조 벡터들의 서브세트을 포함하는 코드북 공간의 영역을 나타낸다.
이 테이블은 소정 서브테이블들과 상기 서브테이블들로의 접근을 위한 정보를 제공하도록 상기 테이블의 열들의 분할 및 정렬의 반복적인 동작에 의하여 처리 된다.
도 1의 흐름도는 상술한 코드북 발생 단계의 바람직한 실시예를 개략적으로 도시한다. 이 발생 단계는, 여기에 고려되는 예시적인 실시예에서, N개의 2-특징 벡터들(즉, Q=2): {C1 ,A; C1 ,B}, {C2 ,A; C2 ,B}, ..., {CN ,A; CN ,B}을 구비한 균일하지 않은 코드북 상에서 수행되고, 여기서, 1, 2, ..., N은 참조 벡터들의 인덱스들을 나타내고, A 및 B는 각각 벡터의 제1 및 제2 특징을 나타낸다.
도 2는 DSR 압축 알고리즘에 대한 ETSI "오로라" 표준에 의해 특정된 64개의 참조 벡터들을 포함하는 균일하지 않은 2-차원 코드북의 예를 도시한다.
도 1의 흐름도에 따르면, 상기 과정은 블록 100에서 시작하고, 블록 101에서 균일하지 않은 코드북이 테이블로 변환된다.
도 3은 단계 101에서 형성된, N개의 2-특징 벡터들 {C1 ,A; C1 ,B}, {C2 ,A; C2 ,B}, ..., {CN ,A; CN ,B}을 포함하는 테이블의 예를 도시한다.
블록 102에서, 두 개의 행 중 하나가 선택되고, 테이블의 모든 벡터들이 벡터들의 모든 특징들 사이의 해당을 유지하면서, 선택된 행 내에 포함되는 특징값들에 대하여 오름차순(또는 선택적으로 내림차순으로)으로 일렬로 정렬된다.
블록 103에서, N개의 열들이 획득된 정렬된 테이블은 바람직하게 서로 동일할 가능성이 가장 큰, 즉 N/Nfirst과 동일할 가능성이 가장 큰 다수의 열들을 구비한 Nfirst개의 2-행 서브테이블로 하위분할된다.
물론, Nfirst개의 서브테이블들은 나누기(N/Nfirst)의 나머지가 0일 때 N/Nfirst과 동일한 수의 열들을 구비할 수 있다.
간략화를 위하여, 이하의 설명에서, 상기 나머지는 0으로 가정한다.
블록 104에서, 블록 103에서 획득된 Nfirst개의 서브테이블들을 식별하는 Nfirst개의 제1 임계값들이 정의된다.
Nfirst개의 제1 임계값들은 예를 들면 해당 서브테이블의 선택된 행 내에 포함된 마지막 값과, 있다면, 다음 서브테이블의 선택된 행 내에 포함된 제1 값 사이에 포함되는 값으로 설정할 수 있다. 바람직하게, Nfirst개의 제1 임계값들은 해당 서브테이블의 선택된 행 내에 포함된 마지막 값과 같도록 설정된다.
블록 105에서, 각 서브테이블은 바람직하게는 그것의 꼭대기 및/또는 바닥에 Mfirst≤N/Nfirst인 그러한 서브테이블을 앞서거나 뒤따르는 정렬된 서브테이블 내의 Mfirst개의 열들에 해당하는 Mfirst개의 열들을 더하는 것에 의하여 확장된다. 따라서, Pfirst,i개의 열들을 포함하는 확장된 서브테이블들이 제공되며, Pfirst ,i는 다음 값들로 가정될 수 있다.
테이블의 꼭대기 및 바닥의 확장된 서브테이블에 대하여 Pfirst ,1 = (N/Nfirst) + Mfirst;
테이블의 모든 다른 중간의 확장된 서브테이블들에 대하여 Pfirst ,2 = (N/Nfirst) + 2×Mfirst.
블록 106에서, 각 확장된 서브테이블의 벡터들은 블록 102에서 이전 순서에 사용되었던 것과 독립적으로 그리고 벡터들의 모든 특징들 사이의 해당을 유지하면서, 다른 행에 포함된 특징값들에 대하여 오름차순(또는 내림차순)으로 저장된다.
블록 107에서, Pfirst ,i개의 열들을 구비한 각 정렬된 확장된 서브테이블은 Nsecond개의 2-행 추가 서브테이블들로 하위분할되고, 따라서, 추가 서브테이블들 내의 열의 수는 Pfirst ,i/Nsecond가 된다. 그들의 낮은 차원 때문에, 꼭대기 및 바닥의 확장된 서브테이블들은 다른 확장된 서브테이블들보다 적은 수의 열들을 가질 것이다.
물론, 각 확장된 서브테이블로부터 획득된 Nsecond개의 추가 서브테이블들은 나누기(Pfirst,i/Nsecond)의 나머지가 0일 경우 Pfirst ,i/Nsecond와 동일한 수의 열들을 가질 수 있다.
간략화를 위하여, 이하의 설명에서 상기 나머지는 0이라고 가정한다.
블록 108에서, 각 Nfirst개의 확장된 서브테이블들에 대하여 블록 107에서 획득된 Nsecond개의 추가 확장된 서브테이블들을 식별하는 Nsecond개의 제2 임계값들이 정의된다.
따라서, 전체 Nfirst×(Nsecond)개의 임계값들이 제공된다.
Nsecond개의 제2 임계값들은 예를 들면, 제1 임계값들을 정의하기 위하여 앞서 개시된 것과 동일한 조건으로 정의될 수 있다.
블록 109에서, Pfirst ,i/Nsecond 차원의 각 추가 서브테이블들은 바람직하게는 그것의 꼭대기 및/또는 바닥에 Msecond<(Pfirst ,i/Nsecond)인 그러한 서브테이블을 앞서거나 뒤따르는 해당하는 정렬된 확장된 서브테이블 내의 Msecond개의 열들(만약 있다면)에 해당하는 Msecond개의 열들을 더하는 것에 의하여 확장된다. 따라서, Psecond ,j개의 열들을 포함하는 확장된 추가 서브테이블들이 제공되며, 여기서 Psecond ,j는 이하의 별개 값들로 가정할 수 있다.
꼭대기 및 바닥의 확장된 서브테이블들의 꼭대기 및 바닥의 확장된 추가 서브테이블들에 대하여 Psecond ,1 = (Pfirst ,1/Nsecond) + Msecond;
꼭대기 및 바닥의 확장된 서브테이블들의 모든 다른 중간에 확장된 추가 서브테이블들에 대하여 Psecond ,2 = (Pfirst ,1/Nsecond) + 2×Msecond;
모든 다른 중간에 확장된 서브테이블들의 꼭대기 및 바닥의 확장된 추가 서브테이블들에 대하여 Psecond ,3 = (Pfirst ,2/Nsecond) + Msecond;
모든 다른 중간에 확장된 서브테이블들의 모든 다른 중간에 확장된 추가 서브테이블들에 대하여 Psecond ,4 = (Pfirst ,4/Nsecond) + 2×Msecond.
블록 110에서, 생성된 확장된 서브테이블들 및 제1 및 제2 임계값들이 그들 이 벡터 압축 방법에서 순차적으로 사용될 수 있도록 메모리에 저장된다.
블록 105 및 109에서 수행된 확장 단계들은 - 서브테이블들과 추가 서브테이블들 사이의 중첩을 제공하는 것에 의하여- 상기 (추가) 서브테이블들에 의해 표현되는 코드북의 인접 영역들의 경계 근처에 위치한 입력 벡터들에 대하여도 벡터 압축의 에러들이 매우 감소하게 하는, 본 발명의 코드북 발생 방법의 바람직한(필수적이지 않은) 단계들임이 주지된다.
주어진 코드북이 본 발명의 방법에 따라 발생하면, 입력 벡터를 상기 코드북 내의 최소 왜곡을 제공하는 참조 벡터의 인덱스로 대체하는 것에 의하여 벡터 압축은 새로운 입력 벡터가 수신될 때마다 수행될 수 있다.
좀 더 구체적으로, 본 발명에 따른 벡터 압축 방법은 두 가지 상술한 영역 선택 및 최소 왜곡 검색 과정들을 포함한다.
도 4의 흐름도는 도 1을 참조하여 개시된 것에 따른 2-특징 입력 벡터 {XA, XB} 및 2-차원 코드북에 대한 영역 선택 과정의 바람직한 실시예를 개략적으로 도시한다.
블록 401에서 상기 과정이 시작되고, Nfirst개의 제1 임계값 및 Nsecond개의 제2 임계값들이 메모리로부터 추출되며(블록 402) 새로운 입력 벡터 {XA, XB}가 수신된다(단계 403).
블록 404에서 파라미터들(i 및 j)이 1로 초기화된다.
블록 405에서 입력 벡터의 XA 특징은 i번째 제1 임계값(FIRST_THi)과 비교된다. 만약 XA ≤ FIRST_THi라면, 블록 408에서 i번째 서브테이블이 선택된다. 만약 XA > FIRST_THi라면, 블록 406에서 i 파라미터가 Nfirst와 비교된다. 만약 i < Nfirst라면, 블록 407에서 i가 1씩 증가하고(i=i+1), 블록 405로 리턴되며, 그렇지 않으면, 블록 408에서 i번째 서브테이블이 선택된다.
다시 말해, 블록 405 내지 408에서 입력 벡터 {XA, XB}의 제1 특징(즉, XA)은 입력 벡터가 포함된 서브테이블을 식별하기 위하여 Nfirst개의 제1 임계값과 점진적으로 비교된다.
다음으로, 단계 409 내지 412에서 입력 벡터 {XA, XB}의 제2 특징(즉, XB)이 입력 벡터가 포함된 블록 408에서 선택된 i번째 서브테이블 내에서 추가 서브테이블을 식별하기 위하여 Nsecond개의 제2 임계값들과 점진적으로 비교된다.
좀 더 구체적으로, 블록 409에서, 입력 벡터의 특징 XB는 j번째 제2 임계값(SECOND_TH_ij)과 비교된다. 만약 XB ≤ SECOND_TH_ij라면, 블록 412에서, 블록 408에서 선택된 i번째 서브테이블의 j번째 추가 서브테이블이 선택된다. 만약 XB > SECOND_TH_ij라면, 블록 410에서 j 파라미터가 Nsecond와 비교된다. 만약 J < Nsecond라면, 단계 411에서 j가 1씩 증가하며(j=j+1) 블록 409로 리턴되고, 그렇지 않으면 블록 408에서 선택된 i번째 서브테이블의 j번째 추가 서브테이블이 단계 412에서 선택된다. 단계 413에서 과정이 종료된다.
도 4에 도시된 실시예는 코드북 발생 방법의 블록 102 및 106에서 수행된 정렬이 오름차순으로 수행되었다고 가정했다. 블록 102 및/또는 106에서 내림차순이 사용되면, 블록 405 및/또는 409에서 특징(XA 및/또는 XB)은 임계값보다 작은지 대신에 임계값보다 큰지를 조사할 것이다.
게다가, 도 4에 도시된 실시예는 - 여기서 입력 벡터의 제1 특징(XA)은 제1 임계값들과 점진적으로 비교되고 입력 벡터의 제2 특징(XB)은 제2 임계값들과 점진적으로 비교된다 - 코드북 발생 방법에서 제1 임계값들이 테이블의 제1 행에 대하여 관련이 있고, 제2 임계값이 제1 행에 대한 것이라고 가정한다.
그러나, 일반적으로, 코드북 테이블의 q번째 행에 대하여 임계값들이 세트가 정의될 때 입력 벡터의 q번째 특징이 상기 임계값들의 세트와 점진적으로 비교되는 것이라는 점을 주지하라.
도 10은 2-특징 입력 벡터와 제1 행(CA) 및 제2 행(CB)을 구비한 2차원 테이블에 의해 표시된 2차원 코드북에 대하여 수행된 본 발명에 따른 영역 선택 과정을 개략적으로 나타낸다. 도시된 실시예에서 제3 확장된 서브테이블(S)의 제2 확장된 추가 서브테이블들은 최소 왜곡 검색 과정을 위한 영역 선택 과정에 의해 식별된다.
도 5의 흐름도는 최소 왜곡 검색 과정의 바람직한 실시예를 개략적으로 도시하며, 여기서 최소 왜곡은 입력 벡터로부터 최소 거리를 갖는 참조 벡터를 식별하 는 것에 의하여 계산된다.
이 과정에 따르면, 최소 왜곡 참조 벡터는 영역 선택 과정의 블록 412에서 선택된 i번째 서브테이블의 j번째 확장된 서브테이블 내에서 검색된다. 다음으로 수신된 입력 벡터는 식별된 참조 벡터의 인덱스와 맵핑된다.
좀 더 구체적으로, 블록 501에서 과정이 시작된다.
블록 502에서, 파라미터 BEST_DIST는 고려되는 코드북의 두 점들 사이의 최대 거리와 같거나 그보다 큰 값(MAX_DIST)으로 초기화되고, 파라미터 k는 영역 선택 과정의 블록 412에서 선택된 확장된 추가 서브테이블 내에 포함된 제1 참조 벡터의 인덱스와 같은 값(m)으로 초기화되며, 상기 확장된 추가 서브테이블의 열들의 수(Psecond,j)가 로딩된다.
블록 503은 블록 412에서 선택된 확장된 추가 서브테이블의 모든 Psecond ,j개의 참조 벡터들 {CK ,A, CK ,B}이 처리되었는지를 조사한다. 즉, k가 m+(Psecond ,j-1)보다 큰지를 조사한다.
긍정의 경우, 상기 과정이 종료된다(블록 509). 부정의 경우, 블록 504에서 입력 벡터 {XA, XB}와 현재 참조 벡터 {CK ,A, CK ,B} 사이의 거리(DIST)가 계산된다.
블록 505에서 계산된 거리 DIST와 BEST_DIST 파라미터 사이의 비교가 수행된다. 만약 DIST < BEST_DIST라면 파라미터 BEST_DIST는 블록 506에서 계산된 거리 DIST와 같도록 설정되고, 그렇지 않으면 블록 508에서 파라미터 k가 1 증가하여(k=k+1) 블록 503으로 리턴된다.
블록 507에서 수신된 벡터 {XA, XB}는 현재 참조 벡터 {CK ,A, CK ,B}의 인덱스로 대체되어 블록 508로 리턴된다.
본 발명에 따르면, 최소 왜곡 검색 과정은 Psecond ,j와 같은 다수의 요소들을 포함하는 확장된 추가 서브테이블 내에서 수행된다.
최소 왜곡 검색 과정은 예를 들면 (가중된) 유클리드 거리 계산에 의해 수행될 수 있다.
거리 계산의 최대 수(DNM) 관점에서 최악의 경우는 입력 벡터가 테이블의 중간 서브테이블로부터 획득된 중간 추가 서브테이블 내에 위치할 때 생성된다. 사실, 이 경우 추가 서브테이블 및 해당하는 서브테이블 모두 꼭대기 및 바닥으로 확장된다.
특별히, 최악의 경우 블록 504에 의해 수행되는 거리 계산의 최대 수는 다음과 같이 주어진다.
DNM = Psecond ,4 = (Pfirst ,2/Nsecond) = 2×Msecond
여기서,
Pfirst ,2 = (N/Nfirst) + 2×Mfirst이다
따라서, 거리 계산의 최대 수(DNM)은 다음과 같이 주어진다:
Figure 112007016128098-PCT00002
예를 들어, 64개의 2-참조 벡터들(N=64, Q=2)의 불균일한 코드북이 고려된 다. 64개의 열과 2개의 행을 가진 해당 코드북 테이블은 예를 들면 4(Nfirst=4)로 나누어진다. (N/Nfirst)=64/4/16개의 열을 구비한 4개의 서브테이블들이 획득된다. 다음으로 서브테이블들은 8개의 열(Mfirst=8)로 확장된다. 이 방법에서, 확장된 서브테이블들의 열의 수는 다음과 같다.
● 처음 및 마지막 (꼭대기 및 바닥의) 확장된 서브테이블에 대하여 P(1) = P(4) = Pfirst ,1 = (N/Nfirst) + Mfirst = 24.
● 중간에 확장된 서브테이블들에 대하여 P(2) = P(3) = Pfirst ,2 = (N/Nfirst) + 2×Mfirst = 32.
각 확장된 서브테이블들은 다음으로 4개의 추가 서브테이블들(Nsecond=4)로 하위분할되고, 그에 의하여 다음 수의 열들을 구비한 추가 서브테이블의 전체 수는 Nfirst×Nsecond = 4×4 = 16과 같다.
● 처음 및 마지막 서브테이블로부터 획득된 추가 서브테이블에 대하여 Pfirst,1/Nsecond = 24/4 = 6.
● 다른 추가 서브테이블들에 대하여 Pfirst ,2 /Nsecond = 32/4 = 8.
추가 서브테이블들은 다음으로 3개의 열이 확장된다(Msecond=3). 이러한 방식에서, 확장된 추가 서브테이블들의 열의 수는 다음과 같다.
● 처음 및 마지막 확장된 서브테이블에 관한 처음 및 마지막 확장된 추가 서브테이블에 대하여 P(1,1) = P(1,4) = P(4,1) = P(4,4) = (Pfirst ,1/Nsecond) + Msecond;
● 처음 및 마지막 확장된 서브테이블과 관련된 모든 다른 중간에 확장된 추가 서브테이블에 대하여 P(1,2) = P(1,3) = P(4,2) = P(4,3) = (Pfirst ,1/Nsecond) + 2·Msecond;
● 중간에 확장된 서브테이블과 관련된 처음 및 마지막 확장된 추가 서브테이블에 대하여 P(2,1) = P(2,4) = P(3,1) = P(3,1) = (Pfirst ,2/Nsecond) + Msecond;
● 중간에 확장된 서브테이블과 관련된 모든 다른 중간에 확장된 추가 서브테이블에 대하여 P(2,2) = P(2,3) = P(3,2) = P(3,3) = (Pfirst ,2/Nsecond) + 2·Msecond.
이 예에서 거리 계산의 최대 수(DNM)가 14와 같음이 획득된다. 이 값은 다음과 같은 상술한 관계에 의해 획득될 수 있다.
Figure 112007016128098-PCT00003
따라서, 본 발명에 따라 수행될 거리 계산의 최대 수는 종래 ETSI 압축 알고리즘(순수한 계산)으로 수행되어야 하는 거리 계산의 수(N과 같다)보다 작다.
본 발명의 코드북 발생 방법에서, 임계값은 서브테이블들 및 추가 서브테이블들과 관계가 있는 반면 최소 왜곡 검색 과정은 바람직하게는 확장된 추가 서브테이블들 내에서 수행됨이 또한 주지되어야 한다. 이것은 바람직하게는 입력 벡터가 상기 추가 서브테이블에 의해 표현된 코드북 영역 경계 근처에 위치한 때에도 벡터 압축에서 에러를 감소시킨다.
본 발명의 코드북 발생 방법에 사용될 상술한 파라미터들(Nfirst, Mfirst, Nsecond 및 Msecond)의 선택에 대하여, 예를 들면, 순차적인 근사 과정에 의해 수행될 수 있다. 즉, 파라미터들은 먼저 다수의 열을 구비한 서브테이블들(추가 서브테이블들)을 사용하여, 주어진 입력 벡터의 세트(예를 들어, 어플리케이션으로부터 획득된 또는 무작위로 생성된)에 대하여 벡터 압축 방법의 결과를 테스트하고, 압축 방법이 어플리케이션에 따라 수용가능한 소정 임계값 아래로 주어질 때까지 서브테이블들(추가 서브테이블들)의 열을 수를 점진적으로 감소시키는 것에 의하여 선택될 수 있다.
이러한 목적으로, 상술한 파라미터들은 높은 유연성을 가지고 선택될 수 있음이 주지된다. 사실, 다양한 서브테이블들이 서로 다른 수의 열을 가질 수 있으며 서로 다른 수의 열에 의하여 확장될 수 있다(예를 들면 각 서브테이블에 대하여 다른 Mfirst). 유사하게, 다양한 추가 서브테이블들이 서로 다른 수의 열을 가지고 다른 수의 열(예를 들면 각 추가 서브테이블에 대하여 다른 Msecond)로 확장될 수 있다.예를 들면, 파라미터들은 바람직하게는 홀수 참조 벡터를 구비한 불균일 코드북 또는 2개의 참조 벡터의 배수가 아닌 경우에도 거의 동일한 수의 열을 갖는 추가 서브테이블을 획득하기 위하여 선택될 수 있다.
출원인은 최소 왜곡 검색 과정의 복잡성 및 정확성의 관점에서 상술한 파라미터들의 선택 과정을 최적화하는 방법을 발견했다.
제안된 방법은 거의 동일한 수의 참조 벡터들을 포함하는 불균일 코드북 공간 안에 영역들(즉, 거의 동일한 수의 열을 갖는 코드북의 확장된 추가 서브테이블들)을 발생시켜, 그들이 포함된 영역과 독립적으로, 최소 왜곡 검색 과정에 필요한 계산 노력을 모든 수신된 입력 벡터에 대하여 거의 동일하게 하고자 하는 것이다. 이 방법에서, 불균일 코드북 공간은 다른 차원의 영역들 내에 거의 동일한 수의 점들로 분할된다.
제안된 최적화 방법에서, 이하의 조건들이 부과된다.
● 테이블 및 각 확장된 서브테이블은 각각 거의 동일한 수(각각 N/Nfirst 및 Pfirst,i/Nsecond와 같다)의 열을 포함하는(말단 (추가) 서브테이블들이 한 쪽만 확장된 낮은 차원을 갖는 것으로 고려된다) 서브테이블들 및 추가 서브테이블들로 분할된다.
● 서브테이블들은 동일한 수의 열 Mfirst로 확장되고, 추가 서브테이블들은 동일한 수의 열 Msecond로 확장된다.
● 참조 벡터들의 수(N)는 2의 제곱수와 같다(N=2n). 만약 코드북 내의 참조 벡터들의 수가 2의 제곱수가 아니라면, 2의 제곱수와 같은 다수의 열을 획득하기 위하여 다수의 열이 더미 참조 벡터들(예를 들면, 코드북의 가장 낮은 벡터 또는 가장 높은 벡터와 같도록 설정함)을 포함하는 테이블의 바닥 또는 꼭대기에 더해질 수 있다. 다음으로 더미 벡터들은 최소 왜곡 검색 과정의 수행으로부터 배제된다. 상술한 "오로라" ETSI 표준에 의해 정의된 코드북은 모두 2의 제곱인 참조 벡터들의 수(N)를 갖는다는 점이 주지된다.
● Nfirst는 2의 제곱: Nfirst = 2r;
● Mfirst의 최대값은 N/Nfirst;
● Nsecond의 최대값은 Pfirst ,1;
● Nsecond는 2의 제곱: Nsecond = 2t;
● Msecond의 최대값은 Pfirst ,1/Nsecond;
● 다음 관계들이 만족되어야 한다:
Figure 112007016128098-PCT00004
여기서, r s,t, u는 음이 아닌 정수이고 mod는 모듈로 동작자이다(즉, "x mod y"는 나누기 "x/y"의 나머지이다).
도 6은 상술한 조건들이 만족하는지 여부를 확인하고 최종 솔루션이 복잡성 함수(CPX)(이하에서 정의됨)의 최소에 해당하고 에러가 소정 임계값(THR_ERR)(결국 0으로 설정된다) 아래로 주어지는지를 확인하는 것에 의하여 최적 값들의 세트(BEST_Nfirst, BEST_Mfirst, BEST_Nsecond, BEST_Mfirst)를 계산하는 파라미터 최적화 방법의 바람직한 실시예를 개략적으로 도시한다.
도 6의 흐름도에 따르면 4개의 순환 루프들이 수행된다.
블록 701에서 과정이 시작한다.
블록 702에서 파라미터 BEST_CPX가 N(복잡성 함수(CPX)가 가장 나쁜 경우)으로 초기화된다.
블록 703에서 파라미터 r이 1(즉, BEST_Nfirst = 2r = 2)로 초기화되고 맨 위의 제1 루프-파라미터 BEST_Nfirst를 설정하기 위한-가 시작된다.
블록 704에서 r 파라미터 값이 n과 비교된다. 만약 r=n이라면(즉, BEST_Nfirst = 2r = N), 최적화 과정은 블록 708에서 종료된다. 만약 r≠n이라면, 블록 705가 수행된다.
블록 705에서 파라미터 s가 N/Nfirst으로 초기화되고(즉, BEST_Mfirst = N/Nfirst) 제2 루프-파라미터 BEST_Mfirst를 설정하기 위한-가 시작된다.
블록 706에서 s 파라미터 값이 0과 비교된다. 만약 s=0이라면(즉, BEST_Mfirst = 0), 파라미터 r이 단계 707에서 1씩 증가하고(r=r+1) 블록 704로 리턴된다. 만약 x≠0이라면, 블록 709에서 파라미터 t가 log2(Pfirst ,1)와 같도록 설정되고 제3 루프-파라미터 BEST_Nsecond를 설정하기 위한-가 시작된다.
블록 710에서, t 파라미터 값이 1과 비교된다. 만약 t=1이라면(즉, BEST_Nsecond = 2t = 1), 다음으로 파라미터 s가 블록 711에서 1씩 감소하고(s=s-1) 블록 706으로 리턴된다. 만약 t≠0이라면, 블록 712에서 다음 조건들이 조사된다: Pfirst,1 mod Nsecond≠0; Pfirst ,2 mod Nsecond≠0. 만약 상기 조건들 중 하나가 만족된다면, 블록 713에서 파라미터 t는 1씩 감소하고(t=t-1) 블록 710으로 리턴된다. 만약 상기 조건들 모두가 만족되지 않는다면, 파라미터 u는 블록 714에서 Pfirst ,1/Nsecond와 같도록 설정되고(즉, BEST_Msecond=Pfirst ,1/Nsecond), 제4 루프-를 설정하기 위한-BEST_Msecond가 시작된다.
블록 715에서, u 파라미터 값은 0과 비교된다. 만약 u=0이라면(즉, BEST_Msecond = 0), 파라미터 t이 단계 713에서 1씩 감소하고(t=t-1) 블록 710으로 리턴된다. 만약 u≠0이라면, 블록 716에서 복잡성 함수(CPX)가 계산된다.
복잡성 함수(CPX)는 최소 왜곡 검색 과정에 의해 최소 왜곡 참조 벡터를 발결하기 위하여 실행시간 동안 수행되어야 하는 거리 계산의 수이다. 예를 들면, 복잡성 함수는 각 영역(각 확장된 추가 서브테이블) 내에 포함된 참조 벡터들의 의미 수로 정의되고 코드북이 분할된 모든 영역들(모든 확장된 추가 서브테이블들)을 고려하여 계산된다. 즉:
Figure 112007016128098-PCT00005
블록 717에서, 블록 716에서 계산된 CPX 값이 BEST_CPX 파라미터와 비교된다. 만약 CPX ≥ BEST_CPX라면, 파라미터 t가 블록 713에서 1씩 감소하여(t=t-1) 블록 710으로 리턴된다. 만약 CPX < BEST_CPX라면, 에러 파라미터 ERR이 블록 718에서 계산된다.
블록 719에서, 블록 718에서 계산된 ERR 값이 THR_ERR과 비교된다. 만약 ERR > THR_ERR이라면, 파라미터 t가 블록 713에서 1씩 감소하여(t=t-1) 블록 710으로 리턴된다. 만약 ERR ≤ THR_ERR이라면, 블록 720에서 파라미터들(BEST_Nfirst, BEST_Mfirst, BEST_Nsecond, BEST_Mfirst, BEST_CPX)이 각각 2r, s, 2t, u 및 CPX와 같도록 설정된다. 다음으로, 블록 721에서, 파라미터 u가 1씩 감소하여(u=u-1) 블록 715로 리턴된다. 에러 파라미터 ERR은 CPX < BEST_CPX인 경우에만 계산된다는 점을 주지하라. 즉, 블록 720에서 마지막 수행으로 설정된 파라미터들(BEST_Nfirst, BEST_Mfirst, BEST_Nsecond, BEST_Mfirst, BEST_CPX)의 값을 사용하여 복잡성 함수(CPX)의 새로운 지역적 최소가 발견된 경우에만, 계산된다. 이것은 바람직하게는 최적화 과정의 계산 수를 감소시킨다.
블록 718에서 에러 파라미터(ERR)는 입력 벡터들(어플리케이션에 종속하여 또는 무작위로 생성된)의 세트에 본 발명에 따른 최소 왜곡 검색 과정을 수행하고 그렇게 획득된 결과를 종래 순수한 계산 알고리즘에 의해 획득된 결과와 비교하는 것에 의하여 획득될 수 있다.
블록 719에서 사용되는 임계값(THR_ERR)은 어플리케이션에 따라 사용자에 의하여 미리 정의되고, 0으로 설정될 수 있다.
도 6에 도시된 실시예에서, 파라미터 Nfirst를 설정하기 위하여 블록 704에서의 시작하는 최상위 루프는 최소값(2)부터 최대값(N)까지 변하는 Nfirst에 대하여 수행된다. 따라서 파라미터 최적화 과정은 먼저 바람직하게는 본 발명의 코드북 발생 방법에서 적은 수의 서브테이블들이 형성되게 하여 감소된 수의 서브테이블들이 저장되도록 하는 낮은 값의 Nfirst로 조사된다.
파라미터 Mfirst를 설정하기 위하여 블록 705에서 시작하는 루프는 최대값(N/Nfirst)부터 최소값(0)까지 변하는 Mfirst에 대하여 수행된다. 따라서, 파라미터 최적화 과정은 가장 높은 값부터 가장 낮은 값까지의 복잡성을 조사하는 것에 의하여 수행된다.
파라미터 Nsecond를 설정하기 위하여 블록 709에서 시작하는 루프는 최대값(Pfirst,1)부터 최소값(2)까지 변하는 Nsecond에 대하여 수행된다. 이 방법에서, 파라미터 최적화 과정은 바람직하게는 본 발명의 코드북 발생 방법에서 감소한 수의 참조 벡터들로 좀 더 많은 수의 추가 서브테이블들이 형성되고 그에 의하여 복잡성 함수가 감소하도록 하는 Nsecond의 높은 값에 대하여 먼저 조사된다.
파라미터 Msecond를 설정하기 위하여 블록 714에서 시작하는 루프는 최대 값(Pfirst,1/Nsecond)부터 최소값(0)까지 변하는 Msecond에 대하여 수행된다. 이 방법에서, 만약 ERR 파라미터가 Msecond의 전류값을 가진 임계값(THR_ERR)보다 작지 않다면, Msecond의 더 낮은 값은 조사되지 않고 과정이 다른 값의 Nsecond로 반복될 것이다. 이것은 바람직하게 최적화 과정의 계산이 감소될 수 있게 한다.
파라미터 최적화 과정이 2차원 코드북(Q=2)을 참조하여 설명되었으나, 상기 2차원 경우의 상술한 설명으로부터 본 기술분야에서 통상의 지식을 가진 자에게 자명하다면, Q>2인 Q차원 코드북의 경우까지 확장될 수 있다.
본 발명의 코드북 발생 방법과 같이, 본 발명의 파라미터 최적화 과정 또한 주어진 코드북에 대하여 단 한 번 오프라인에서 수행될 수 있음을 주지하라.
또한, 파라미터 최적화 과정은 소정 어플리케이션에 대하여, 상기 어플리케이션을 위하여 주어진 코드북에 대한 Nfirst, Mfirst, Nsecond 및 Msecond 파라미터들의 최적 값들을 선택하기 위한 것뿐 아니라, 어떤 이유로든 상기 어플리케이션을 위하여 주어진 코드북이 변경될 때 상기 파라미터들의 새로운 최적 값들을 선택하기 위하여도 사용될 수 있다.
본 발명의 코드북 발생 방법 및 압축 방법은 2차원 코드북(Q=2)에 대하여 도 1, 4 및 5의 흐름도를 참조하여 위에서 설명되었다. 그러나, 본 발명의 방법은 Q가 2보다 큰 N열 Q행을 포함하는 Q차원 코드북에도 또한 적용된다.
이 경우, 2-행 코드북 테이블을 위하여 개시된 상기 코드북 발생 방법의 정렬, 하위분할 및 확장 단계들은 도 7에 개략적으로 도시된 바와 같이 Q-행 코드북 테이블의 각 행에 대하여 반복적으로 수행될 수 있다.
특히, 다음 단계는 바람직하게 코드북 테이블의 각 행에 대하여 반복되어야 한다.
● 테이블 - 또는 이전 사이클에서 획득된 각 (확장) 서브테이블 - 의 열들을 현재 고려되는 행 내에 포함되는 특징값들에 대하여 오름차순 또는 내림차순으로 정렬시키는 단계;
● 상기 테이블 - 또는 이전 사이클에서 획득된 각 (확장) 서브테이블 - 을 미리 결정된 수의 서브테이블들로 하위분할하는 단계;
● 임계값을 현재 고려되는 행의 각 서브테이블과 비교하는 단계; 및
● 미리 결정된 수의 열에 의해 각 서브테이블을 선택적으로 확장하고, 있다면 상기 테이블의 다른 행을 고려하여, 그에 의하여 다음 사이클에서 처리될 확장된 서브테이블들을 발생시키는 단계.
생성된 (확장된) 서브테이블들 또는 (확장된) 추가 서브테이블들 및 생성된 모든 임계값들은 다음으로 메모리에 저장되어 상술한 것과 유사한 영역 선택 과정 및 최소 왜곡 검색 과정에 순차적으로 사용될 수 있다.
일반적으로, 상술한 단계들에 의한 마지막 수행에 의해 생성된 (확장된) 서브테이블들 또는 (확장된) 추가 서브테이블들만이 메모리에 저장된다.
확장 단계들이 수행되지 않을 경우, 이것은 상술한 단계들의 마지막 수행의 결과로서 저장된 참조 벡터를 구비한 테이블을 메모리에 저장하는 것에 해당한다.
사실, 확장 단계들이 수행되지 않을 경우, 마지막 하나의 고려되는 행에 대 하여 수행되고 마지막 행에 대하여 정렬된 분할 및 확장 단계들에 의해 생성된 확장 (추가) 서브테이블들을 메모리에 저장하는 것이 바람직하다. (영역 선택 과정 및 최소 왜곡 검색 과정에 사용될) 마지막 고려되는 행에 대하여 수행된 정렬, 하위분할 및 확장 단계들에 의해 생성된 확장된 추가 서브테이블들은 다음으로 적절한 포인터들에 의해 접근될 수 있다.
마지막 하나의 고려되는 행에 대하여 수행된 하위분할 및 확장 단계들에 의해 생성된 확장 (추가) 서브테이블들이 전체적으로 마지막으로 고려되는 행이 대하여 수행된 정렬, 하위분할 및 확장 단계들에 의해 생성된 추가 서브테이블들에 비하여 적은 수의 참조 벡터들을 포함하기 때문에, 많은 메모리 공간을 절약할 수 있게 한다.
도 7에서, 빗금 친 사각형들은 수신된 입력 벡터에 대하여 도 4를 참조하여 설명된 과정과 유사한 영역 선택 과정으로 점진적으로 식별될 수 있는 (확장된) 서브테이블들의 예를 나타낸다.
도 7로부터 명백한 바와 같이, 코드북 테이블의 행들이 많을수록 최소 왜곡 검색 과정에 의해 최종적으로 선택된 서브테이블(601) 내에 계산되어야 할 거리 계산의 수는 적어진다.
사실, 도시된 실시예에서, 빗금 친 확장된 서브테이블들은 제1 행부터 마지막 행까지 감소하는 수의 열을 갖는다. 최소 왜곡 검색 과정에 적용하기 위하여 사용되는 서브테이블은 마지막 행 내에 있기 때문에, 본 발명은 특징 벡터 압축을 위하여 요구되는 계산 노력이 증가하는 수의 행들을 구비하여 점진적으로 감소하게 한다.
본 발명에 따른 코드북 발생 방법, 영역 선택 과정, 최소 왜곡 검색 과정 및 파라미터 최적화 과정은 개인 컴퓨터, 임베디드 장치 또는 적절한 하드웨어, 펌웨어 및/또는 소프트웨어 구현에 의한 컴퓨터 네트워크와 같은 전자 처리 시스템에 의해 수행될 수 있다.
상기 실시예들은 본 발명의 범위로부터 벗어나지 않는 범위 내에서 본 상세한 설명으로부터 기술 분야에서 통상의 지식을 가진 자들에게 명백할 이론에 따라 설계될 것이다.
본 발명의 방법은 데이터 압축이 좀 더 작은 형식으로 정보를 전송하거나 저장하기 위하여 필요할 때는 언제든지 사용될 수 있다. 예를 들면, 본 발명의 방법은 이미지 처리 시스템에서 이미지 신호 압축에 또는 분산 음성 인식 시스템에서 음성 신호 압축에 사용될 수 있다.
예를 드는 방식으로, 도 8은 본 발명에 따라 구현된 분산 음성 인식 시스템(800)의 실시예의 블록도를 도시한다.
시스템(800)은 특징 추출 및 데이터 압축을 위한 사용자 장치(810) 및 최종 신호 인식을 위한 인식 시스템(820)(또는 "백-엔드")을 포함한다. 사용자 장치(810) 및 인식 시스템(820)은 각각 이동 전화 및 원격 서버일 수 있다.
시스템(800)은 사용자 장치(810)와 인식 시스템(820) 사이의 데이터 교환을 위한 전송 채널을 정의하는 데이터 네트워크(805)를 더 포함한다.
도 8에 도시된 블록도에서, 사용자 장치(810)는 변환 유닛(802)을 포함하며, 여기서 입력 음성은 샘플링되어 원본 입력 음성의 디지털 표현으로 변환된다. 변환 유닛(801)은 마이크로폰 트랜스듀서(transducer), 아날로그 필터, 자동 이득 제어기 및 아날로그-대-디지털 변환기와 같이 음향 압축 파형을 디지털 신호로 변환하기 위한 모든 장치들을 포함하는 전기-음향 장치이다.
사용자 장치(810)는 특징 추출 유닛(802)(또는 "프론트-엔드")을 더 포함하며, 여기서 디지털화된 음성이 일련의 특징 벡터들을 발생시키기 위하여 특징 추출 알고리즘을 통하여 처리된다. 특징 추출 알고리즘은 상술한 "오로라" ETSI 표준에 따라 구현될 수 있으며, 따라서, 14개의 특징 벡터들인 입력 음성의 각 시간 프레임에 대하여 생성된다.
분할 유닛(803)은 14개의 특징 벡터들을 쌍으로 그룹화하는 것에 의하여 각 14-특징 벡터들을 7개의 2-특징 벡터들로 분할하도록 설계된다.
압축 유닛(804)은 본 발명의 코드북 발생 방법에 따라 생성된 7개의 개별 소정 코드북들을 사용하는 것에 의하여 본 발명의 벡터 압축 방법에 의해 이 7개의 2-특징 벡터들 각각을 압축하는데 적합하다. 본 발명의 코드북 발생 방법에 사용될 파라미터들(Nfirst, Mfirst, Nsecond 및 Msecond)은 바람직하게는 본 발명의 파라미터 최적화 과정에 따라 미리 선택된다. 메모리 유닛(806)은 본 발명의 코드북 발생 방법에 따라 획득된 (추가) 서브테이블들 및 임계값들을 저장하도록 설계된다.
벡터 압축 블록(804)으로부터 출력된 인덱스들은 종래 기술에 따라 입력 음성을 인식 및/또는 복원하기 위하여 전송 채널(805)을 통하여 입력 인덱스들을 처 리하는 인식 시스템(820)으로 전송된다. 전송 채널은 예를 들면 4.8kbit/s 무선 데이터 채널일 수 있다.
이동 유닛들은 계산, 메모리 및 배터리 에너지에서 제한되기 때문에, 본 발명의 코드북 발생 방법 및 파라미터 최적화 방법은 바람직하게는 예를 들어 개인 컴퓨터와 같은 이동 유닛 외부의 전자 처리 시스템에 의하여 오프라인에서 수행될 수 있다. 다음으로, 벡터 압축 유닛(804)에 의해 사용될 생성된 확장 (추가) 서브테이블들 및 임계값들은 이동 유닛의 메모리(예를 들어, 메모리 유닛(806)) 내에 저장된다.
이러한 방법으로, 본 발명의 벡터 압축 방법만이 - 도시된 바와 같이 적은 계산 노력을 요구하는 - 제한된 자원의 초과 없이 이동 장치에 의해 수행된다.
본 명세서 내에 포함되어 있음

Claims (34)

  1. N과 Q가 1보다 큰 양의 정수인, Q개의 특징들을 포함하는 N개의 참조 벡터들의 세트를 포함하는 벡터 코드북에서 시작하여 적은 데이터 압축 계산 노력을 제공하는 벡터 코드북을 생성하는 방법에 있어서,
    a) 상기 N개의 참조 벡터들의 세트를 상기 N개의 참조 벡터들의 세트의 소정 특징값에 대하여 오름차순 또는 내림차순으로 정렬시키는 단계;
    b) 상기 정렬된 참조 벡터들의 세트를 서브세트들로 하위분할 하는 단계;
    c) 상기 소정 특징의 개별적인 임계값을 상기 서브세트 각각에 연관시키는 단계를 포함하는 벡터 코드북 생성 방법.
  2. 제1항에 있어서,
    상기 N개의 참조 벡터들의 세트를 추가 분할시키는 단계를 더 포함하며, 상기 추가 분할하는 단계는:
    d) 상기 N개의 참조 벡터들의 세트의 추가된 소정 특징값에 대하여, 오름차순 또는 내림차순으로 상기 각 서브세트들의 참조 벡터들을 정렬시키는 단계;
    e) 상기 정렬된 참조 벡터들의 각 서브세트들을 추가 서브세트들로 하위분할하는 단계; 및
    f) 상기 추가된 소정 특징들에 대하여 개별적인 추가 임계값을 상기 각 추가 서브세트들과 연관시키는 단계를 포함하는 것을 특징으로 하는 벡터 코드북 생성 방법.
  3. 제2항에 있어서,
    상기 추가 분할하는 단계는 추가 분할의 이전 실행에서 획득된 추가 서브세트 및, 단계 d) 및 f)를 수행되는 동안, 상기 N개의 참조 벡터의 다른 추가된 소정 특징들을 언제나 서브세트들로 고려하여, 소정 횟수 동안 반복되는 것을 특징으로 하는 벡터 코드북 생성 방법.
  4. 제1항에 있어서,
    g) 단계 b)에서 획득된 서브세트들 중 적어도 하나를 인접한 서브세트의 적어도 하나의 참조 벡터로 확장하는 단계를 더 포함하는 벡터 코드북 생성 방법.
  5. 제4항에 있어서,
    상기 단계 g)는 상기 단계 a)에서 정렬된 세트의 꼭대기에 있는 상기 단계 b)에 의해 획득된 서브세트를, 상기 단계 b)에서 획득된 서브세트의 바닥에 상기 단계 a)에서 정렬된 세트에서 상기 꼭대기 서브세트의 바로 아래 있는 참조 벡터에 해당하는 적어도 하나의 참조 벡터를 추가하는 것에 의하여 확장함으로써 수행되는 것을 특징으로 하는 벡터 코드북 생성 방법.
  6. 제4항에 있어서,
    상기 단계 g)는 상기 단계 a)에서 정렬된 세트의 바닥에 있는 상기 단계 b)에 의해 획득된 서브세트를, 상기 단계 b)에서 획득된 서브세트의 꼭대기에 상기 단계 a)에서 정렬된 세트에서 상기 바닥 서브세트의 바로 위 있는 참조 벡터에 해당하는 적어도 하나의 참조 벡터를 추가하는 것에 의하여, 확장함으로써 수행되는 것을 특징으로 하는 벡터 코드북 생성 방법.
  7. 제4항에 있어서,
    상기 단계 g)는 상기 단계 b)에서 획득된 임의의 다른 중간 서브세트들을, 상기 중간 서브세트들의 꼭대기와 바닥에 상기 a)에서 정렬된 세트에서 상기 중간 서브세트들의 바로 위 및 아래에 있는 참조 벡터들에 해당하는 적어도 하나의 참조 벡터들을 추가하는 것에 의하여 수행되는 것을 특징으로 하는 벡터 코드북 생성 방법.
  8. 제2항에 있어서,
    상기 단계 b)에서 획득된 서브세트들 중 적어도 하나를, 인접하는 서브세트의 적어도 하나의 참조 벡터로 확장하는 단계 g)를 더 포함하며,
    상기 단계 d) 및 e)는 상기 단계 g)에 따라 확장된 서브세트들에 대하여 수행되는 것을 특징으로 하는 벡터 코드북 생성 방법.
  9. 제8항에 있어서,
    상기 추가 분할 단계는, 단계 e) 후에 상기 e)에서 획득된 추가 서브세트들 중 적어도 하나를 인접하는 추가 서브세트의 적어도 하나의 참조 벡터로 확장하는 단계 h)를 더 포함하는 것을 특징으로 하는 벡터 코드북 생성 방법.
  10. 제9항에 있어서,
    상기 단계 h)는 단계 d)에서 정렬되는 해당 확장된 서브세트의 꼭대기에 있는 단계 e)에 의해 획득된 각 추가 서브세트들을, 상기 해당 정렬된 확장된 서브세트에서, 상기 꼭대기 추가 서브세트 바로 아래 있는 참조 벡터에 해당하는 적어도 하나의 참조 벡터들을 그것의 바닥에 추가하는 것에 의하여 확장함으로써 수행되는 것을 특징으로 하는 벡터 코드북 생성 방법.
  11. 제9항에 있어서,
    상기 단계 h)는 단계 d)에서 정렬되는 해당 확장된 서브세트의 바닥에 있는 단계 e)에 의해 획득된 각 추가 서브세트들을, 상기 해당 정렬되는 확장된 서브세트에서, 상기 바닥 추가 서브세트 바로 위에 있는 참조 벡터에 해당하는 적어도 하나의 참조 벡터들을 그것의 꼭대기에 추가하는 것에 의하여 확장함으로써 수행되는 것을 특징으로 하는 벡터 코드북 생성 방법.
  12. 제9항에 있어서,
    상기 단계 h)는 상기 단계 e)에서 획득된 임의의 다른 중간 추가 서브세트들 을, 상기 단계 d)에서 정렬되는 해당 확장된 서브세트들에서 상기 중간 추가 서브세트들 바로 위 및 아래에 있는 참조 벡터들에 해당하는 적어도 하나의 참조 벡터들을 그것의 꼭대기 및 바닥에 추가하는 것에 의하여 확장함으로써 수행되는 것을 특징으로 하는 벡터 코드북 생성 방법.
  13. 제3항에 있어서,
    상기 추가 분할은 상기 단계 e) 후에, 상기 단계 e)에서 획득된 추가 서브세트들 중 적어도 하나를 인접하는 추가 서브세트들의 적어도 하나의 참조 벡터로 확장하는 단계 h)를 더 포함하며,
    상기 추가 분할 단계는 상기 단계 h)의 이전 수행에 따라 확장된 추가 서브세트들을 언제나 서브세트들로 고려하여 반복되는 것을 특징으로 하는 벡터 코드북 생성 방법.
  14. 프로그램이 전자 처리 시스템상에서 수행될 때 제1항 내지 제13항 중 어느 한 항에 따른 방법의 단계들을 수행하도록 설계된 프로그램 명령어들을 포함하는 컴퓨터 프로그램.
  15. 1보다 큰 정수인 Q개의 특징을 갖는 입력 벡터에 의해 표현된 데이터를 압축하는 방법에 있어서,
    1) 제1항 내지 제13항 중 어느 한 항에 따른 방법에 의해 생성된, 인덱스된 Q-특징 참조 벡터들 및 소정 특징에 대하여 상기 서브세트들과 연관된 임계값들의 서브세트를 포함하는 벡터 코드북을 정의하는 단계;
    2) 상기 소정 특징에 해당하는 입력 벡터의 특징값을 상기 서브세트들과 연관된 임계값과 점진적으로 비교하는 것에 의하여 상기 서브세트들 사이에서 참조 벡터들의 서브세트를 식별하는 단계; 및
    3) 상기 단계 2)에서 식별된 서브세트에서, 상기 입력 벡터에 대하여 가장 낮은 왜곡을 제공하는 참조 벡터를 식별하는 단계를 포함하는 데이터 압축 방법.
  16. 제15항에 있어서,
    상기 단계 3)은 상기 입력 벡터로부터 최소 거리를 갖는 참조 벡터를 식별하는 것에 의하여 수행되는 것을 특징으로 하는 데이터 압축 방법.
  17. 제15항에 있어서,
    상기 단계 3)에서 식별된 참조 벡터의 인덱스를 상기 입력 벡터와 연관시키는 단계를 더 포함하는 것을 특징으로 하는 데이터 압축 방법.
  18. 제15항에 있어서,
    상기 단계 1)에서 인덱스된 Q-특징 참조 벡터들의 추가 서브세트들 및 상기 추가된 소정 특징들에 대하여 상기 추가 서브세트들과 연관된 추가 임계값들은 제2항 내지 제13항 중 어느 한 항에 따른 방법에 의하여 생성된 참조 벡터들의 각 서 브세트에 대하여 또한 제공되는 것을 특징으로 하는 데이터 압축 방법.
  19. 제18항에 있어서,
    상기 단계 2)에서 식별된 서브세트에 해당하는 추가 서브세트들 사이에서, 상기 추가된 소정 특징에 해당하는 입력 벡터의 추가 특징값을 상기 추가 서브세트들과 연관된 추가 임계값들과 점진적으로 비교하는 것에 의하여 추가 서브세트들을 식별하는 단계 4)를 더 포함하며,
    상기 단계 3)은 상기 단계 4)에서 식별된 추가 서브세트 내에서 수행되는 것을 특징으로 하는 데이터 압축 방법.
  20. 제15항에 있어서,
    상기 단계 1)에서 제4항 내지 제13항 중 어느 한 항에 따른 방법의 단계 g)에 의해 생성된 확장된 서브세트들이 제공되고, 상기 단계 2) 및 3)은 상기 확장된 서브세트들에 대하여 수행되는 것을 특징으로 하는 데이터 압축 방법.
  21. 제19항에 있어서,
    상기 단계 1에서 제9항 내지 제13항 중 어느 한 항에 따른 방법의 단계 h)에 의해 생성된 확장된 추가 서브세트들이 제공되고, 상기 단계 4) 및 3)은 상기 확장된 추가 서브세트들에 대하여 수행되는 것을 특징으로 하는 데이터 압축 방법.
  22. 프로그램이 전자 처리 시스템상에서 수행될 때 제15항 내지 제21항 중 어느 한 항에 따른 방법의 단계들을 수행하도록 설계된 프로그램 명령어들을 포함하는 컴퓨터 프로그램.
  23. 1보다 큰 정수인 Q-특징 벡터들을 제공하도록 디지털 입력 데이터를 처리하기 위한 특징 추출 유닛(802);
    정렬되고 인덱스된 Q-특징 참조 벡터들의 소정 서브세트들 및 상기 소정 서브세트들과 관련된 소정 임계값들을 포함하는 적어도 하나의 벡터 코드북을 저장하기 위한 메모리 유닛(806);
    상기 특징 추출 유닛(802)에 의해 제공된 각 입력 Q-특징 벡터들에 대하여, 상기 입력 벡터의 소정 특징을 상기 소정 임계값들과 비교하는 것에 의하여 상기 소정 서브세트들 중 하나를 식별하고; 상기 식별된 서브세트 내에서, 상기 입력 특징 벡터에 대하여 가장 낮은 왜곡을 제공하는 참조 벡터를 식별하는 데이터 압축 유닛(804)을 포함하는 데이터 압축 장치.
  24. 제23항에 있어서,
    상기 데이터 압축 유닛(804)은 상기 가장 낮은 왜곡을 제공하는 참조 벡터의 인덱스를 상기 입력 Q-특징 벡터와 연관시키도록 설계된 것을 특징으로 하는 데이터 압축 장치.
  25. 제23항에 있어서,
    상기 데이터 압축 유닛(804)은 제15항 내지 제21항 중 어느 한 항에 따른 방법의 단계들을 수행하도록 설계된 것을 특징으로 하는 데이터 압축 장치.
  26. 제23항에 있어서,
    상기 메모리 유닛(806)은 제1항 내지 제13항 중 어느 한 항에 따른 방법에 의해 생성된 상기 정렬되고 인덱스된 Q-특징 참조 벡터들의 서브세트, 상기 임계값 및 임의의 추가 임계값을 저장하도록 설계되는 것을 특징으로 하는 데이터 압축 장치.
  27. 제23항에 있어서,
    상기 메모리 유닛(806)은 제1항 내지 제13항 중 어느 한 항에 따른 방법에 의해 생성된 상기 정렬되고 인덱스된 Q-특징 참조 벡터들의 추가 서브세트들, 임계값들 및 모든 추가 임계값들을 저장하도록 설계된 것을 특징으로 하는 데이터 압축 장치.
  28. 제23항에 있어서,
    제1항 내지 제13항 중 어느 한 항에 따른 방법의 단계들을 수행하고 상기 방법에 의해 생성된 추가 서브세트들, 임계값들 및 임의의 추가 임계값들을 상기 메모리 유닛(806)에 저장하도록 설계된 코드북 처리 유닛을 더 포함하는 데이터 압축 장치.
  29. 제23항에 있어서,
    제1항 내지 제13항 중 어느 한 항에 따른 방법의 단계들을 수행하고 상기 방법에 의해 생성된 추가 서브세트들, 임계값들 및 모든 추가 임계값들을 상기 메모리 유닛(806)에 저장하도록 설계된 코드북 처리 유닛을 더 포함하는 데이터 압축 장치.
  30. 제23항에 있어서,
    입력 음성 신호를 디지털 음성 데이터로 변환하고 상기 변환된 디지털 음성 데이터를 상기 특징 추출 유닛(802)으로 제공하기 위한 변환 유닛(801)을 더 포함하는 데이터 압축 장치.
  31. 제23항 내지 제30항 중 임의의 한 항에 따른 사용자 장치(810);
    디지털 입력 데이터를 복원하기 위한 인식 장치(820); 및
    상기 사용자 장치(810) 및 인식 장치(820) 사이의 데이터 전송을 위한 전송 채널(805)을 포함하는 분산 음성 인식 시스템.
  32. 제31항에 있어서,
    상기 사용자 장치(810)는 상기 인식 장치(820)로 입력 Q-특징 벡터들에게 가 장 낮은 왜곡을 제공하는 참조 벡터들의 인덱스를 전송하도록 설계된 것을 특징으로 하는 분산 음성 인식 시스템.
  33. 제31항에 있어서,
    제1항 내지 제13항 중 어느 한 항에 따른 방법의 단계들을 수행하고 상기 방법에 의해 생성된 서브세트들, 임계값들 및 임의의 추가 임계값들을 상기 메모리 유닛(806)에 저장하도록 설계된 코드북 처리 유닛을 더 포함하는 분산 음성 인식 시스템.
  34. 제31항에 있어서,
    제1항 내지 제13항 중 어느 한 항에 따른 방법의 단계들을 수행하고 상기 방법에 의해 생성된 추가 서브세트들, 임계값들 및 모든 추가 임계값들을 상기 메모리 유닛(806)에 저장하도록 설계된 코드북 처리 유닛을 더 포함하는 분산 음성 인식 시스템.
KR1020077004401A 2004-07-23 2004-07-23 벡터 코드북 생성 방법, 데이터 압축 방법 및 장치, 및분산 음성 인식 시스템 KR101010585B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2004/008372 WO2006007871A1 (en) 2004-07-23 2004-07-23 Method for generating a vector codebook, method and device for compressing data, and distributed speech recognition system

Publications (2)

Publication Number Publication Date
KR20070047795A true KR20070047795A (ko) 2007-05-07
KR101010585B1 KR101010585B1 (ko) 2011-01-24

Family

ID=34958455

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077004401A KR101010585B1 (ko) 2004-07-23 2004-07-23 벡터 코드북 생성 방법, 데이터 압축 방법 및 장치, 및분산 음성 인식 시스템

Country Status (8)

Country Link
US (1) US8214204B2 (ko)
EP (1) EP1771841B1 (ko)
JP (1) JP4703648B2 (ko)
KR (1) KR101010585B1 (ko)
CN (1) CN101019171B (ko)
AT (1) ATE464635T1 (ko)
DE (1) DE602004026645D1 (ko)
WO (1) WO2006007871A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587314B2 (en) * 2005-08-29 2009-09-08 Nokia Corporation Single-codebook vector quantization for multiple-rate applications
US20070299667A1 (en) * 2006-06-22 2007-12-27 Texas Instruments, Incorporated System and method for reducing storage requirements for a model containing mixed weighted distributions and automatic speech recognition model incorporating the same
CN101335004B (zh) * 2007-11-02 2010-04-21 华为技术有限公司 一种多级量化的方法及装置
GB0901262D0 (en) * 2009-01-26 2009-03-11 Mitsubishi Elec R&D Ct Europe Video identification
KR101711158B1 (ko) * 2010-12-22 2017-03-14 한국전자통신연구원 셀룰러 시스템에서 인접 셀간 간섭 제어 방법
US9779731B1 (en) * 2012-08-20 2017-10-03 Amazon Technologies, Inc. Echo cancellation based on shared reference signals
US10147441B1 (en) 2013-12-19 2018-12-04 Amazon Technologies, Inc. Voice controlled system
CN103837890B (zh) * 2014-02-26 2016-07-06 中国石油集团川庆钻探工程有限公司地球物理勘探公司 获取地震数据的方法及设备
US9930186B2 (en) * 2015-10-14 2018-03-27 Pindrop Security, Inc. Call detail record analysis to identify fraudulent activity
CN107564535B (zh) * 2017-08-29 2020-09-01 中国人民解放军理工大学 一种分布式低速语音通话方法
US11470194B2 (en) 2019-08-19 2022-10-11 Pindrop Security, Inc. Caller verification via carrier metadata
CN112445943A (zh) * 2019-09-05 2021-03-05 阿里巴巴集团控股有限公司 数据处理的方法、装置和系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4958225A (en) 1989-06-09 1990-09-18 Utah State University Foundation Full-search-equivalent method for matching data and a vector quantizer utilizing such method
US5061924B1 (en) 1991-01-25 1996-04-30 American Telephone & Telegraph Efficient vector codebook
US5651026A (en) * 1992-06-01 1997-07-22 Hughes Electronics Robust vector quantization of line spectral frequencies
JP3093879B2 (ja) * 1992-07-27 2000-10-03 オリンパス光学工業株式会社 ベクトル量子化コードブック作成及び探索装置
US5774839A (en) * 1995-09-29 1998-06-30 Rockwell International Corporation Delayed decision switched prediction multi-stage LSF vector quantization
GB9622055D0 (en) * 1996-10-23 1996-12-18 Univ Strathclyde Vector quantisation
US6009387A (en) * 1997-03-20 1999-12-28 International Business Machines Corporation System and method of compression/decompressing a speech signal by using split vector quantization and scalar quantization
US6161086A (en) * 1997-07-29 2000-12-12 Texas Instruments Incorporated Low-complexity speech coding with backward and inverse filtered target matching and a tree structured mutitap adaptive codebook search
US5946653A (en) 1997-10-01 1999-08-31 Motorola, Inc. Speaker independent speech recognition system and method
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
US5966688A (en) * 1997-10-28 1999-10-12 Hughes Electronics Corporation Speech mode based multi-stage vector quantizer
US6148283A (en) * 1998-09-23 2000-11-14 Qualcomm Inc. Method and apparatus using multi-path multi-stage vector quantizer
US6389389B1 (en) 1998-10-13 2002-05-14 Motorola, Inc. Speech recognition using unequally-weighted subvector error measures for determining a codebook vector index to represent plural speech parameters
US7389227B2 (en) * 2000-01-14 2008-06-17 C & S Technology Co., Ltd. High-speed search method for LSP quantizer using split VQ and fixed codebook of G.729 speech encoder
JP3483513B2 (ja) * 2000-03-02 2004-01-06 沖電気工業株式会社 音声録音再生装置
JP3367931B2 (ja) 2000-03-06 2003-01-20 日本電信電話株式会社 共役構造ベクトル量子化方法
US6633839B2 (en) * 2001-02-02 2003-10-14 Motorola, Inc. Method and apparatus for speech reconstruction in a distributed speech recognition system
US7003454B2 (en) * 2001-05-16 2006-02-21 Nokia Corporation Method and system for line spectral frequency vector quantization in speech codec
CN1190772C (zh) * 2002-09-30 2005-02-23 中国科学院声学研究所 语音识别系统及用于语音识别系统的特征矢量集的压缩方法
US20040176950A1 (en) * 2003-03-04 2004-09-09 Docomo Communications Laboratories Usa, Inc. Methods and apparatuses for variable dimension vector quantization

Also Published As

Publication number Publication date
WO2006007871A8 (en) 2006-03-16
ATE464635T1 (de) 2010-04-15
JP4703648B2 (ja) 2011-06-15
EP1771841A1 (en) 2007-04-11
JP2008507718A (ja) 2008-03-13
CN101019171A (zh) 2007-08-15
WO2006007871A1 (en) 2006-01-26
KR101010585B1 (ko) 2011-01-24
DE602004026645D1 (de) 2010-05-27
US8214204B2 (en) 2012-07-03
EP1771841B1 (en) 2010-04-14
CN101019171B (zh) 2011-08-10
US20090037172A1 (en) 2009-02-05

Similar Documents

Publication Publication Date Title
US4837831A (en) Method for creating and using multiple-word sound models in speech recognition
EP0085543B1 (en) Speech recognition apparatus
KR0143076B1 (ko) 다중-요소 신호 코딩 방법 및 장치
US4718093A (en) Speech recognition method including biased principal components
JP3412496B2 (ja) 話者適応化装置と音声認識装置
KR101010585B1 (ko) 벡터 코드북 생성 방법, 데이터 압축 방법 및 장치, 및분산 음성 인식 시스템
KR20060129417A (ko) 차원 벡터 및 가변 분해능 양자화
EP1141939A1 (en) System and method for segmentation and recognition of speech signals
CN110931045A (zh) 基于卷积神经网络的音频特征生成方法
KR102204975B1 (ko) 심층 신경망 기반 음성인식 방법 및 그 장치
CN114512112A (zh) 语音合成模型的训练方法、装置、电子设备和存储介质
CN112885367B (zh) 基频获取方法、装置、计算机设备和存储介质
CN114171043A (zh) 回声的确定方法、装置、设备以及存储介质
JP2973805B2 (ja) 標準パターン作成装置
JP3029803B2 (ja) 音声認識のための単語モデル生成装置及び音声認識装置
JP3091648B2 (ja) 隠れマルコフモデルの学習方法
JP2734828B2 (ja) 確率演算装置及び確率演算方法
Srikotr et al. Sub-band Vector Quantized Variational AutoEncoder for Spectral Envelope Quantization
JP2023079258A (ja) 音抽出システム及び音抽出方法
EP0139642A1 (en) SPEECH RECOGNITION METHODS AND DEVICES.
Curatelli et al. Competitive learning methods for efficient vector quantizations in a speech recognition environment
JP2000181486A (ja) 学習装置および学習方法、認識装置および認識方法、並びに記録媒体
CN115188362A (zh) 语音合成模型生成方法及其装置、设备、介质、产品
Guo et al. A Chinese Speech Recognition System Based on Binary Neural Network and Pre-processing
JP5188913B2 (ja) 量子化装置、量子化方法、逆量子化装置、逆量子化方法、音声音響符号化装置および音声音響復号装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140107

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150106

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160108

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170111

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180105

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190108

Year of fee payment: 9