KR101019936B1 - 음성 파형의 정렬을 위한 시스템, 방법, 및 장치 - Google Patents

음성 파형의 정렬을 위한 시스템, 방법, 및 장치 Download PDF

Info

Publication number
KR101019936B1
KR101019936B1 KR1020087016188A KR20087016188A KR101019936B1 KR 101019936 B1 KR101019936 B1 KR 101019936B1 KR 1020087016188 A KR1020087016188 A KR 1020087016188A KR 20087016188 A KR20087016188 A KR 20087016188A KR 101019936 B1 KR101019936 B1 KR 101019936B1
Authority
KR
South Korea
Prior art keywords
phase shifts
waveform
periodic
speech
phase shift
Prior art date
Application number
KR1020087016188A
Other languages
English (en)
Other versions
KR20080085007A (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 KR20080085007A publication Critical patent/KR20080085007A/ko
Application granted granted Critical
Publication of KR101019936B1 publication Critical patent/KR101019936B1/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
    • G10L19/097Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters using prototype waveform decomposition or prototype waveform interpolative [PWI] coders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/06Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation coefficients

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Measuring Frequencies, Analyzing Spectra (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

시스템, 방법, 및 장치는 측정된 코사인 및 사인의 단일한 세트가 2 개의 상이한 위상 시프트에서 2 개의 주기적인 파형의 교차 상관 (cross-correlation) 을 계산하도록 사용되는 파형 정렬 동작을 포함하도록 묘사된다.
음성 시그널, 교차 상관, 위상 시프트, 파형 정렬

Description

음성 파형의 정렬을 위한 시스템, 방법, 및 장치 {SYSTEMS, METHODS, AND APPARATUS FOR ALIGNMENT OF SPEECH WAVEFORMS}
U.S.C §119 에 따른 우선권 주장
본 특허 출원은, 발명의 명칭이 "주파수 도메인 정렬 계산에서 복잡도 감소 {COMPLEXITY REDUCTION IN FREQUENCY DOMAIN ALIGNMENT CACULATION}" 으로 2005년 12월 2일자로 출원된 (attorney docket 제 050296P1 호) 가출원 제 60/742,116 호를 우선권으로 주장한다.
본 개시는 시그널 프로세싱에 관련된다.
프로토타입 (Prototype) 파형 인코딩 방법은 부드러운 파형의 전개를 제공하기 위해 프로토타입 정렬의 동작을 일반적으로 포함한다. 이러한 정렬은 시간 도메인 또는 주파수 도메인에서 일련의 교차 상관 (cross-correlation) 으로 계산될 수도 있다.
요약
2 개의 주기적인 음성 파형을 정렬하는 방법은 범위 안에서 제 1 다수의 위상 시프트 각각에 대해서 (1) 위상 시프트에 기초한 다수의 앵글 각각에 대한 하나 이상의 삼각 함수를 평가하는 단계 및 (2) 평가된 삼각 함수에 기초하여, 제 1 및 제 2 상관 측정값을 계산하는 단계를 포함한다. 제 1 상관 측정값은 (A) 위상 시프트에 의해 시프트된 2 개의 주기적인 음성 파형의 제 1 파형과 (B) 2 개의 주기적인 음성 파형의 제 2 파형 사이의 상관 측정값이다. 제 2 상관 측정값은 (C) 범위 밖의 위상 시프트에 의해 시프트된 2 개의 주기적인 음성 파형의 제 1 파형과 (D) 2 개의 주기적인 음성 파형의 제 2 파형 사이의 상관 측정값이다.
2 개의 주기적인 음성 파형을 정렬하도록 구성된 장치는 범위 내에 있는 제 1 다수의 위상 시프트 각각에 대해서, 위상 시프트에 기초한 다수의 앵글의 각각에 대한 하나 이상의 삼각 함수를 평가하는 수단을 포함한다. 이 장치는 또한 제 1 다수의 위상 시프트 각각에 대해서, (1) 위상 시프트에 기초한 앵글의 평가된 삼각 함수에 기초한 제 1 상관 측정값 및 (2) 위상 시프트에 기초한 앵글의 평가된 삼각 함수에 기초한 제 2 상관 측정값을 계산하는 수단을 포함한다. 제 1 상관 측정값은 (A) 위상 시프트에 의해 시프트된 2 개의 주기적인 음성 파형의 제 1 파형 및 (B) 2 개의 주기적인 음성 파형의 제 2 파형 사이의 상관 측정값이다. 제 2 상관 측정값은 (C) 범위 밖의 위상 시프트에 의해 시프트된 2 개의 주기적인 음성 파형의 제 1 파형 및 (D) 2 개의 주기적인 음성 파형의 제 2 파형 사이의 상관 측정값이다.
2 개의 주기적인 음성 파형을 정렬하도록 구성된 다른 장치는 범위 내의 제 1 다수의 위상 시프트 각각에 대해서, 위상 시프트에 기초하여 다수의 앵글 각각에 대한 하나 이상의 삼각 함수를 평가하도록 구성되는 삼각 함수 평가기를 포함한다. 이 장치는 또한 제 1 다수의 위상 시프트 각각에 대해서, (1) 위상 시프트에 기 초한 앵글의 평가된 삼각 함수에 기초하여 제 1 상관 측정값 및 (2) 위상 시프트에 기초한 앵글의 평가된 삼각 함수에 기초하여 제 2 상관 측정값을 계산하도록 구성된 계산기를 포함한다. 제 1 상관 측정값은 (A) 위상 시프트에 의해 시프트된 2 개의 주기적인 음성 파형의 제 1 파형 및 (B) 2 개의 주기적인 음성 파형의 제 2 파형 사이의 상관 측정값이다. 제 2 상관 측정값은 (C) 범위 밖의 위상 시프트에 의해 시프트된 2 개의 주기적인 음성 파형의 제 1 파형 및 (D) 2 개의 주기적인 음성 파형의 제 2 파형 사이의 상관 측정값이다.
도 1 은 일 구성에 따르는 방법 (M100) 에 대한 흐름도를 나타낸다.
도 2 는 2 개의 주기적인 음성 파형을 정렬하는 방법에 대한 의사코드 리스팅의 일 예를 나타낸다.
도 3 은 정렬 태스크 (T400) 의 구현에 대한 의사코드 리스팅의 일 예를 나타낸다.
도 4 는 정렬 태스크의 다른 구현에 대한 의사코드 리스팅의 일 예를 나타낸다.
도 5 는 정렬 태스크 (T400) 의 다른 구현에 대한 의사코드 리스팅의 일 예를 나타낸다.
도 6 은 코딩 모드 선택 방법의 다이어그램을 나타낸다.
도 7a 는 개시된 구성에 따르는 장치 (100) 의 블럭도를 나타낸다.
도 7b 는 프로토타입 정렬기 (140) 의 구현 (142) 의 블럭도를 나타낸다.
도 8 은 태스크 (T400, T500) 각각의 구현 (T410, T510) 의 애플리케이션의 일 예를 나타낸다.
도 9a 는 방법 (M100) 의 일 구현 (M200) 에 대한 흐름도를 나타낸다.
도 9b 는 장치 (100) 의 일 구현 (200) 에 대한 블럭도를 나타낸다.
대부분의 현존 음성 코더는 음성 프레임이 선형 예측 코딩 (LPC) 계수의 세트 및 레지듀얼 (residual) 로 분해되는 동작을 포함한다. 레지듀얼의 코딩이 인코딩된 시그널 스트림의 대부분을 점유하기 때문에, 레지듀얼을 코딩하기 위해 필요한 비트 레이트를 감소하도록 다양한 방법이 개발되어져 왔다.
마찰음과 같은 무성음 세그먼트에 대해서, 랜덤 노이즈는 레지듀얼의 전부 또는 일부를 대신할 수도 있다. 모음과 같은 유성음 세그먼트에 대해서, 레지듀얼 시그널은 적어도 어떤 샘플들이 보간 (interpolate) 될 수도 있음을 의미하는 높은 정도의 주기성을 나타낸다. 사실, 낮은 양자화 레이트에서 유성음 세그먼트를 인코딩하기 위해서 코드 여기 선형 예측 (CELP ; code-excited linear prediction) 과 같은 코딩 기술의 사용은 주기성의 레벨의 보존을 실패하게 할 수도 있다.
낮은 비트 레이트에서의 유성음 세그먼트의 송신 또는 저장에 사용될 수도 있는 코딩 방법은 프로토타입 피치 주기 (PPP) 코더 및 프로토타입 파형 보간 (PWI) 코더를 포함한다. 이러한 코딩 방법은 레지듀얼 시그널에서 하나의 피치 기간의 길이를 갖는 프로토타입 파형을 주기적으로 배치한다. 디코더에서, 레지듀얼 시그널이 최초의 높은 주기의 파형의 근사값을 획득하기 위해서 프로토타입 사이의 주기들에 보간된다.
일반적으로 주기성은, 강한 유성 세그먼트 동안에만 강하고, 음성의 덜 강한 유성 또는 무성의 모드에 대해서는 피치 주기 (pitch period) 가 심지어 존재하지 않을 수도 있다. 비주기성 음성 세그먼트를 포함하는, 음성 시그널의 모든 세그먼트를 인코딩하기 위해서 PPP 또는 PWI 코더를 사용하는 것은, 전체적으로 저하된 결과를 제공할 가능성이 있다. 하나의 해법은 유성 및 무성음에 대해 상이한 코딩 방법을 사용하는 것이다. 예를 들어, PPP 또는 PWI 방법은 유성 세그먼트에 대해 사용될 수도 있고, CELP 방법은 무성 세그먼트에 대해 사용될 수도 있다. 제로 교차 (zero crossings) 또는 정규화된 자기 상관 (autocorrelation) 함수를 사용하여 계산될 수도 있는, 코딩 방법 사이의 전환은 음성 시그널에서의 주기성의 측정에 따라서 수행될 수도 있다.
다른 해법은 파형 보간법 (WI) 으로 PWI 방법을 확장하는 것이다. WI 코딩 방법에서, 지금은 대표적인 (representative) 또는 특성 (characteristic) 파형이라고 불리는, 프로토타입 파형은 부드러운 전개 파형 (SEW) 및 빠른 전개 파형 (REW) 으로 분해된다. REW 가 더 빨리 변화하는 컴포넌트를 모델링할 동안 SEW 는 피치 관련 컴포넌트를 모델링한다. 이러한 2 개의 파형은 일반적으로 매우 상이한 지각 요구를 가지고 분리되어서 양자화될 수도 있다.
명백하게 언급되지 않는 한, '프로토타입' 및 '프로토타입 파형' 의 용어는 느린 전개 파형 (SEW) 을 적어도 포함하는 파형과 같은 임의의 주기적인 음성 파형을 포함하기 위해서 여기에 사용된다. 이러한 파형에 사용될 수도 있는 다른 용어는 SEW 및 REW 모두를 포함할 수도 있는 파형을 표시하도록 종종 사용되는 "대표 파형" 및 "특성 파형" 이다. PPP, PWI, 및 WI 코딩 방법으로 여기에 설명된 원리의 애플리케이션이 명백히 예상되며 여기에 개시된다.
도 1 은 음성 프레임에 대한 레지듀얼 시그널을 인코딩하는 방법 (M100) 을 나타낸다. 프레임은 음성 시그널의 장기 스펙트럼 특성이 상대적으로 변화가 없도록 충분히 짧은 음성 시그널의 세그먼트이다. 일반적인 프레임 길이는 20 밀리세컨즈이다. 태스크 (T100) 는 프레임에 대해 피치 래그 (lag) 값 (또는 "피치 주기") L 을 추출한다. 이 동작은 또한 "피치 추정 (pitch estimation)" 으로 지칭된다. 8kHz 에서 샘플링된 음성 시그널에 대해서, 피치 래그 값은 일반적으로 20 에서 120 (각각 400 Hz 및 67Hz 의 기본 주파수에 대응하는) 의 범위에 있다.
태스크 (T100) 는 레지듀얼 시그널에서 가장 큰 절대값을 갖는 샘플들 사이의 평균 거리를 결정하는 단계를 포함할 수도 있다. 다른 방법에서, 태스크 (T100) 는 후보 피치 주기 (예를 들어, 이전 프레임의 피치 주기) 의 두 배만큼 큰 윈도우와 같은, 윈도우 또는 프레임의 자기 상관을 최대화하는 딜레이를 결정하도록 구성될 수도 있다. 이 자기 상관 동작의 결과는 또한 프레임이 유성인지 무성인지 여부의 결정을 지지하기 위해서 사용될 수도 있다. 어떤 경우에 (특히 WI 코딩 방법에 대해서), 태스크 (T100) 는 피치 더블링 (doubling) 또는 트리플링 (tripling) 을 피하기 위해서 L/2 및 L/3 샘플들 근처의 로컬 최대값에 대한 검사를 포함할 수도 있다. 더 높은 샘플링 레이트 (예를 들어, 8 kHz 에서 16kHz 까지 다시 샘플링되는 시그널 상에서) 를 갖는 시그널상에서 피치 추정을 수행하여 피치 더블링 또는 트리플링을 감소시키는 것이 가능할 수도 있다.
태스크 (T200) 는 레지듀얼 프레임으로부터 길이 L 의 프로토타입을 추출한다. 태스크 (T200) 는 일반적으로 프레임의 최종 피치 기간으로부터 프로토타입을 추출하도록 구성된다. 레지듀얼의 높은 에너지 부분이 프로토타입의 시작 또는 종료시에 발생하지 않게 하는 것이 바람직할 수도 있으며, 이러한 배치는 인접 프로토타입 사이의 불연속을 야기할 수도 있다. 일 예에서, 태스크 (T200) 는 프로토타입의 시작 및 종료시의 에너지의 합이 최소가 되게 프로토타입을 추출하도록 구성된다. 다른 예에서, 태스크 (T200) 는 프로토타입의 양끝 중 하나에서 가장 큰 크기 (예를 들어, 우세한 스파이크 (spike)) 를 갖는 프로토타입 내의 샘플로부터의 거리가 샘플들의 특정 개수 (예를 들어, 6 개) 또는 L 의 특정 부분 (예를 들어, 25%) 보다 적지 않도록 하는 프로토타입을 추출하도록 구성된다.
프레임당 하나 이상의 프로토타입을 추출하도록 태스크 (T200) 를 구성하는 것 또한 가능하다. WI 코딩 방법 내에서, 예를 들어, 프레임당 8 개 이상의 프로토타입까지 추출하는 것이 바람직할 수도 있다. 이 경우에, 더 많은 주파수 피치 추정을 획득하는 것 또한 바람직할 수도 있다. 어떤 경우에, 피치 추출은 프레임당 한 번 또는 두 번 수행되며, 추가적인 피치 값 (예를 들어, 프레임 당 8 개의 값 전체에 대해서) 은 선형 보간 (값이 근접한 피치 값에 대해서) 및/또는 계단식 보간 (인접한 피치 값들 사이의 차이가 큰 경우) 과 같은 방법을 사용한 추출된 피치 값들 사이에 보간된다.
샘플 인덱스
Figure 112008047949892-pct00001
및 L 이 피치 주기인 경우, 추출된 프로토타입 s 는 시간도메인에서 길이 L 의 시퀀스 s[n] 으로 일반적으로 표현된다. 프로토타입은 또한 주기 L 의 주기적 시그널로 주파수 도메인에서 표현될 수도 있다. 이산 푸리에 시리즈 (DFS) 표현을 사용하면, 예를 들어, 프로토타입 s 는 스펙트럼의 또는 DFS 계수 a[k], b[k] 의 각각의 쌍 (pair) 으로 각각 가중되는 기본 주파수 1/L 의 하모닉의 합으로 표시될 수도 있다.
Figure 112008047949892-pct00002
이 식에서, k 는 기본 주파수의 k 번째 하모닉을 나타내는 인덱스이며, 프로토타입 s 에서의 하모닉은 0 번째 하모닉 (k = 0, DC 구성요소를 나타내는) 및 첫 번째 하모닉 (k = 1, 기본 주파수를 나타내는) 에서부터
Figure 112008047949892-pct00003
번째 하모닉 (k =
Figure 112008047949892-pct00004
, 프로토타입에서 기본 주파수의 가장 높은 하모닉을 나타내는) 까지의 범위에 있다. 식 (1) 에서, 시간 도메인 표시에서와 같이, 샘플 인덱스 n 은
Figure 112008047949892-pct00005
의 범위를 갖는다. 그러나 식 (1) 의 주파수 도메인 표현에서, n 은 정수일 필요는 없으며, 식 (1) 은 n 의 부분적인 값에서 s 를 평가하기 위해 사용될 수도 있다.
방법 (M100) 은 DFS 계수의 세트를 계산하는 태스크 (T300) 을 포함한다. 예를 들어, 태스크 (T300) 는 다음의 식에 따라서, DFS 계수 a[k], b[k] 를 계산하도록 구성될 수도 있다.
Figure 112008047949892-pct00006
(2a)
Figure 112008047949892-pct00007
(2b)
z[0] 은 1/L 과 같고, 짝수의 L 에 대해서 z[L/2] 는 1/L 과 같고, 다른 경우에 z[k] 는 2/L 과 같다.
식 (1) 에서, k= 0 인 경우,
Figure 112008047949892-pct00008
는 0 이므로 계수 b[0] 는 여분이다. 계수 a[0] 은 또한 지각적으로 관계없는 프로토타입의 DC 컴포넌트를 표현하기 때문에 무시될 수도 있다. 태스크 (T300) 는 범위
Figure 112008047949892-pct00009
에 대한 DFS 계수를 계산하도록 구성될 수도 있고, 식 (1) 은 다음과 같이 간략화될 수도 있다.
Figure 112008047949892-pct00010
(3)
하나의 프로토타입에서부터 다음으로 파형이 부드럽게 전개되는 것이 바람직하다. 프로토타입 사이의 부드러운 보간을 제공하기 위해서, 인접 프로토타입을 정렬하는 것이 바람직하다. 예를 들어, 이전의 프레임의 프로토타입과 같은 기준에 현재의 프레임에 대한 프로토타입을 정렬하는 것이 바람직할 수도 있다. 이러한 정렬은 또한 프로토타입의 더 효율적인 양자화를 제공할 수도 있다. 기준 프로토타입에 대해서, 디코더에서 볼 수 있는 디코딩된 (예를 들어, 역양자화된) 프로토타입의 사용이 일반적으로 바람직하다.
프로토타입 정렬은 시간 도메인에서 또는 주파수 도메인에서 수행될 수도 있다. 시간 도메인에서, 프로토타입 정렬은, 일 프로토타입과 다른 프로토타입의 순환, 시간-이동된 버젼의 교차 상관의 최대값을 산출하는, 시간 변위
Figure 112008047949892-pct00011
을 식별함으로써, 수행될 수도 있다.
Figure 112008047949892-pct00012
(4)
x 는 시간 시프트 (샘플들에서 측정된) 이고, Sc 는 현재의 프로토타입을 나타내며, Sr 은 기준 프로토타입을 나타낸다. 식별된 시프트
Figure 112008047949892-pct00013
는, 그 후 2 개의 프로토타입의 특징이 시간 정렬되도록 기준 프로토타입에 적용될 수도 있다. 비록 다른 예에서 동작이 시간 시프트 x 가 현재의 프로토타입 대신에 적용되어 동작하도록 구성되어있더라도, 이 예에서 기준 프로토타입은 현재의 프로토타입에 상대적으로 시프트된다.
프로토타입이 시간보다는 위상에서 정렬되도록, 주파수 도메인에서 대신 프로토타입 정렬을 수행하는 것이 바람직할 수도 있다. 예를 들어, 상이한 길이의 프로토타입 정렬은 주파수 도메인에서 더 쉽게 수행될 수도 있으며, 시간 도메인에서 이러한 동작을 수행하는 것은 하나의 프로토타입의 길이를 다른 프로토타입에 매칭하도록 시간 워핑 (time-warping) 을 요구할 수도 있다. 계산 복잡성의 감소는 주파수 도메인에서 정렬 동작, 특히 부분적인 위상 시프트를 수행함으로써 획득될 수도 있다.
주파수 도메인에서, 정렬 동작은 다른 프로토타입의 위상 시프트된 버젼에 일 프로토타입의 최대 교차-상관을 산출하는 위상 시프트
Figure 112008047949892-pct00014
을 식별함으로서 수행될 수도 있다.
Figure 112008047949892-pct00015
(5)
an[k], bn[k] 는 기준 프로토타입에 대한 DFS 계수를 나타내고, an +1[k], bn+1[k] 는 현재 프로토타입에 대한 DFS 계수를 나타낸다. 프로토타입 사이의 상관이 최대가 되는 위상 시프트
Figure 112008047949892-pct00016
를 결정하기 위해서 정렬 범위 (분수의 값이 될 수도 있는) 에서의 r 의 값에 대해 교차-상관은 반복된다. 도 2 는 식 (5) 의 계산을 수행하는데 사용될 수도 있는 의사 코드 리스팅의 일 예를 나타낸다.
비록 주파수 도메인에서의 정렬의 계산이 시간 도메인에서의 이러한 계산 보다 특정 이점을 산출해 낼 수도 있으나, 그럼에도 불구하고 정렬될 프로토타입의 각각의 쌍에 대한 식 (5) 의 평가는 계산적으로 집약적이고 프로토타입 코딩 시스템에서 전체 계산 부담의 상당한 부분을 나타낼 수도 있다.
식 (5) 의 계산은 바람직한 위상 샘플링 레이트에서 정렬 범위
Figure 112008047949892-pct00018
에 걸쳐 수행될 수도 있다. 비록, PWI 인코더는 시프트의 제 1 시리즈가 저해상도에서 수행되는 것뿐만 아니라 전체 정렬 범위에 걸쳐서 수행되는 순환 방법을 적용하도록 구성된다. 순환의 각 레벨에서, 식별된 시프트는 다음의 레벨로 파라미터로 제공되며, 이것은 미세 해상도에서 다른 일련의 시프트를 수행하나 식별된 시프트를 포함하는 더 작은 정렬 범위에서만 수행한다. 타겟 해상도에서의 일련의 시프트가 완료된 경우 순환은 끝난다. 그러나, 이러한 방법은 유성음에 적합하지 않을 수도 있는데, 글로벌 상관 최대값 보다는 로컬 상관 최대값을 찾을 가능성이 더 높기 때문이다.
방법 (M100) 은 상이한 기술에 의해서 효율적인 정렬을 수행하도록 구성되고, 이러한 순환을 포함하는 방법 (M100) 의 구현이 명백히 예상되며 여기에 개시된다. 이 기술의 구현의 일 유형에 따르면, 태스크 (T400) 는 2 개의 상이한 위상 시프트에 대한 교차-상관이 평가된 코사인 및 사인의 단일 세트에 대해 수행되도록 프로토타입 사이에서의 정렬을 계산한다. 이러한 기술은 프로토타입 정렬 동작에 대한 삼각 함수 평가의 개수를 식 (5) 에 의해 설명된 동작과 비교하여 약 1/2 로 감소하도록 적용될 수도 있다.
태스크 (T400) 는 정렬 범위
Figure 112008047949892-pct00019
(0 또는
Figure 112008047949892-pct00020
라디안의 앵글에 대응하는 세트의 가능한 예외를 갖는) 에서 2 개의 상이한 위상 시프트 값 r 에 대한 프로토타입 교차-상관을 계산하도록 평가된 코사인 및 사인의 세트 각각을 사용하도록 구성된다. 이 기술의 전개의 일 설명은 다음의 식 (5) 의 변형으로부터 시작된다.
Figure 112008047949892-pct00021
(6)
식 (6) 에서, r 및 L-r 의 위상 시프트에 대한 상관은 서로 쌍을 이룬다 (이러한 쌍은 +r 및 -r 로 쌍을 이루는 위상 시프트와 같음이 이해될 것이다). 다음의 삼각 항등식의 애플리케이션과 함께, 이렇게 쌍을 이루는 위상 시프트의 코사인 및 사인 사이의 관계가 이용될 수도 있다.
Figure 112008047949892-pct00022
(7a)
Figure 112008047949892-pct00023
(7b)
정수 k 에 대해서, 식
Figure 112008047949892-pct00024
, 및
Figure 112008047949892-pct00025
Figure 112008047949892-pct00026
와 함께 이러한 항등식을 결합하면, 다음이 확립될 수도 있다.
Figure 112008047949892-pct00027
(8a)
Figure 112008047949892-pct00028
(8b)
결과 (8a) 및 (8b) 는 다음과 같이 식 (6) 을 수정하기 위해서 사용될 수도 있다. 측정 범위
Figure 112008047949892-pct00029
에서 r 의 값 각각에 대해서, 동일한 코사인 및 사인 값은 다음의 두 개의 식 (9A) 및 (9B) 를 계산하기 위해서 사용되고, 최대 결과를 산출하는 식이 식별된다.
Figure 112008047949892-pct00030
(9A)
Figure 112008047949892-pct00031
(9B)
최대값을 산출하는 식이 식 (9A) 중 하나라면,
Figure 112008047949892-pct00032
는 값 r 로 할당된다. 최대값을 산출하는 식이 식 (9B) 중 하나라면,
Figure 112008047949892-pct00033
는 값 -r 로 할당된다. 식 (9A-B) 에 r 의 값 각각에 대한 평가된 코사인 및 사인의 세트는 2 개의 상이한 위상 시프트 값 (식 (9A) 및 (9B) 의 위상 시프트 값이 동일한 경우인, r = 0 또는 r = L/2 인 경우를 제외하고) 에 대한 교차-상관을 계산하도록 사용되는 것이 관측될 수도 있다. 이 경우 또는 비슷한 경우에, 태스크 (T400) 는 정렬 범위
Figure 112008047949892-pct00034
내 2 개의 상이한 위상 시프트 값 r 에 대한 프로토타입 교차-상관을 계산하도록 위상 시프트 측정 범위
Figure 112008047949892-pct00035
(r = 0 또는 r = L/2 에 대응하는 세트를 제외한) 에 걸친 측정된 코사인 및 사인의 세트 각각을 사용하도록 구성된다. 도 3 은 식 (9) 의 계산을 수행하도록 태스크 (T400) 의 구현에 의해 사용될 수도 있는 의사 코드 리스팅의 일 예이다.
정렬 전 프로토타입상에서의 스펙트럼 가중을 수행하는 것이 바람직할 수도 있다. 예를 들어, 가능하다면 포먼트 (formant) 주파수에서의 디엠파시스 (de-emphasis) 와 함께, LPC 계수를 사용하는 포먼트 구조의 일부를 복구하는 것이 바람직할 수도 있다. 이러한 구현에서, 태스크 (T400) 는 현재의 프로토타입을 길이 2L 로 제로 패드 (zero-pad) 하도록 구성되고, 이 시그널을 (예를 들어, 현재 프레임의 마지막 서브프레임의 LPC 계수를 사용하는) 제로 메모리를 갖는 가중된 LPC 합성 필터로 필터링하도록 구성되고, 필터링된 시그널의 n 번째 샘플을
Figure 112008047949892-pct00036
에 대한 (n+L) 번째 샘플에 더하여 길이 L 의 지각 가중 프로토타입을 획득하도록 구성된다.
교차-상관 최대화 상기 식 (4), (5), (6), 및 (9) 는 프로토타입은 동일한 길이임을 가정한다. 주파수 도메인에서, 상이한 길이의 2 개의 프로토타입은 더 긴 프로토타입을 스펙트럼으로 절단하거나 및/또는 더 짧은 프로토타입을 제로 패딩하여 정규화할 수도 있다. WI 코딩 방법에서, 하나의 프로토타입이 다른 프로토타입 길이의 약 2 배 또는 3 배인 길이를 갖는 것 (예를 들어, 피치 더블링 또는 트리플링 때문에) 이 발생할 수도 있다. 이러한 경우에, 더 짧은 프로토타입은 제로 진폭 하모닉을 보간하여 주기적으로 확장될 수도 있다. 태스크 (T400) 는 프로토타입 정렬 전에 하나 이상의 이러한 길이 정규화 동작을 수행하도록 구성될 수도 있다.
상기 식 (5), (6), 및 (9) 에서, 프로토타입의 하모닉 컴포넌트 각각에 대해서, 이 식들은 모두 프로토타입의 DFS 계수에 기초한 동일한 팩터와 평가된 코사인 각각을 곱하고, 프로토타입의 DFS 계수에 기초한 동일한 팩터와 평가된 사인 각각을 곱하는 것을 포함하는 것을 주목해야 할 수도 있다. 계산의 복잡성의 감소는 이러한 팩터를 미리 계산하고 이들을 저장함으로써 (예를 들어, 팩터 Xk 및 Yk 로) 획득될 수도 있다. 이러한 방법에서, 식 (5) 는 다음과 같이 간략화될 수도 있다.
Figure 112008047949892-pct00037
(10)
도 4 는 식 (10) 에 따른 감소를 채용하는 프로토타입 정렬 태스크에 대한 의사 코드 리스팅의 일 예를 나타낸다.
마찬가지로, 팩터 Xk 및 Yk 를 미리 계산한 것은 식 (9A-B) 를 간략화하기 위해서 사용될 수도 있다.
Figure 112008047949892-pct00038
(11A)
Figure 112008047949892-pct00039
(11B)
도 5 는 이러한 감소를 채용하는 태스크 (T400) 의 구현에 대한 의사 코드 리스팅의 예를 나타낸다.
태스크 (T500) 는 현재의 프로토타입에, 최대 교차-상관 (예를 들어,
Figure 112008047949892-pct00040
) 에 대응하는 위상 시프트를 적용하도록 구성된다. 예를 들어, 태스크 (T500) 는 시간 도메인에서 프로토타입이 (예를 들어,
Figure 112008047949892-pct00041
샘플들의) 순환하도록 구성될 수도 있고, 주파수 도메인에서 프로토타입 (예를 들어,
Figure 112008047949892-pct00042
라디안의 앵글에 의해서) 을 회전하도록 구성될 수도 있다. 태스크 (T500) 는 또한 정렬된 프로토타입상에서 가중 동작 (예를 들어, 지각 가중 동작) 을 수행하도록 구성될 수도 있다.
태스크 (T600) 는 프로토타입을 양자화하도록 (예를 들어, 유효 송신 및/또는 저장) 구성된다. 이러한 양자화는 파워 및 모양의 분리된 양자화에 대한 프로토타입의 이득 정규화를 포함할 수도 있다. 추가적으로 또는 다른 방법으로, 이러한 양자화는 분리된 양자화 및/또는 서브 샘플링에 대한 위상 벡터 및 진폭으로의 DFS 계수의 분해를 포함할 수도 있다. 이러한 정규화 및/또는 분해 동작은 결과 벡터가 음성 시그널의 다른 프로토타입의 이러한 벡터에 더 많이 상관될 수도 있음에 따라서, 더 유효한 벡터 양자화를 제공할 수도 있다.
방법 (M100) 의 구현에 더하여, 태스크 (T400) 는 상이한 위상 시프트가 상이한 주파수 밴드 각각에 대해 획득될 수도 있게, 프로토타입의 상이한 주파수 밴드상에서 프로토타입 정렬을 분리적으로 수행하도록 구성된다. 이 경우에, 태스크 (T500) 는 대응하는 밴드 내의 프로토타입의 하모닉 컴포넌트에 각각의 위상 시프트를 적용하도록 구성될 수도 있고, 태스크 (T600) 는 주파수 밴드 분할에 따르는 (예를 들어, 하나의 위상 값이 주파수 밴드 각각에 대해 인코딩되도록) 프로토타입의 위상 벡터를 서브샘플링하도록 구성될 수도 있다.
WI 코딩 방법에서, 필터 뱅크 (bank) (예를 들어, 고주파 및 저주파 필터를 포함하는) 는 이후의 프로세싱 및/또는 분리 양자화를 위해서 SEW 및 REW 를 분리하도록 정렬된 프로토타입에 적용될 수도 있다.
도 6 은 송신에 대한 음성 샘플들을 프로세싱하도록 구성되는 음성 코더의 일 예에 의해 수행될 수도 있는, 코딩 모드 선택을 포함하는, 동작의 흐름도를 나타낸다. 태스크 (400) 에서, 음성 코더는 연속하는 프레임에서 음성 시그널의 디지털 샘플을 수신한다. 주어진 프레임을 수신한 후에, 음성 코더는 태스크 (402) 로 진행한다. 태스크 (402) 에서, 음성 코더는 프레임의 에너지를 검출한다. 에너지는 프레임의 음성 활동의 측정값이다. 음성 검출은 디지털화된 음성 샘플들의 진폭의 제곱을 더하고 임계값에 대해 결과 에너지를 비교하여 수행된다. 태스크 (402) 는 배경 노이즈의 레벨의 변화에 기초하여 이 임계값을 적응하도록 구성될 수도 있다. 예시적인 변수 임계값 음성 활동 검출기는 US 특허 제 5,414,796 호 (Jacobs 등, 1995 년 5 월 9 일에 발행된) 에 설명된다. 어떤 무성음 소리는 배경 노이즈로 실수로 인코딩될 수도 있는 매우 낮은 에너지 샘플들일 수 있다. 이러한 오차의 가능성을 감소시키기 위해서, 전술된 US 특허 제 5,414,796 호에서 설명된 것과 같이, 낮은 에너지 샘플들의 스펙트럼의 기울기 (예를 들어, 제 1 반사 계수) 는 배경 노이즈로부터 무성음을 구별하도록 사용될 수도 있다.
프레임의 에너지를 검출한 후, 음성 코더는 태스크 (404) 로 진행한다. 태스크 (404) 에서, 음성 코더는 검출된 프레임 에너지가 음성 정보를 포함하는 프레임을 분류하기에 충분한지 여부를 판정한다. 검출된 프레임 에너지가 소정의 임계값보다 아래인 경우, 음성 코더는 태스크 (406) 로 진행한다. 태스크 (406) 에서, 음성 코더는 프레임을 배경 노이즈 (즉, 무음 (silence)) 로 인코딩한다. 하나의 구성에서 배경 노이즈 프레임은 1/8 레이트 또는 1kbps 로 인코딩된다. 태스크 (404) 에서의 경우, 검출된 프레임 에너지는 소정의 임계 레벨을 만족하거나 넘게 되며, 프레임은 음성으로 분류되고 음성 코더는 태스크 (408) 로 진행한다.
태스크 (408) 에서, 음성 코더는 프레임이 무성음인지 여부를 판정한다. 예를 들어, 태스크 (408) 는 프레임의 주기성을 검사하도록 구성될 수도 있다. 주기성 결정의 다양한 알려진 방법은 예를 들어, 제로 크로싱의 사용 및 정규화된 자기 상관 함수 (NACF) 의 사용을 포함한다. 특히, 주기성을 검출하기 위한 제로 크로싱 및 NACF 의 사용은 US 특허 제 5,911,128 호 (DeJaco, 1999 년 6 월 8 일에 발행된) 및 제 6,691,084 호 (Manjunath 외, 2004 년 2 월 10 일에 발행된) 에 설명된다. 추가적으로, 무성음으로부터 유성음을 구별하기 위해 사용되는 상기 방법은 통신 산업 연합 협정 기준 TIA/EIA IS-127 및 TIA/EIA IS-733 에 통합된다. 프레임이 태스크 (408) 에서 무성음으로 판정되는 경우, 음성 코더는 태스크 (410) 로 진행한다. 태스크 (410) 에서, 음성 코더는 프레임을 무성음으로 인코딩한다. 일 구성에서, 무성음 프레임은 쿼터 (quarter) 레이트 또는 2.6kbps 로 인코딩된다. 태스크 (408) 에서 프레임이 무성음으로 판정되지 않은 경우, 음성 코더는 태스크 (412) 로 진행한다.
태스크 (412) 에서, 음성 코더는 프레임이 이행 (transitional) 음성인지 여부를 판정한다. 태스크 (412) 는 당업계에 알려진 주기 검출 방법 (예를 들어, US 특허 제 5,911,128 호에 설명된 것과 같은) 을 사용하도록 구성될 수도 있다. 프레임이 이행 음성으로 판정된 경우, 음성 코더는 태스크 (414) 로 진행한다. 태스크 (414) 에서, 프레임은 이행 음성 (즉, 무성음에서 유성음으로 이행) 으로 인코딩된다. 일 구조에서, 이행 음성 프레임은 US 특허 제 6,260,017 호 (Das 외, 2001 년 7 월 10 일에 발행된) 에 설명된 멀티 펄스 보간 코딩 방법에 따라서 인코딩된다. CELP 방법은 또한 이행 음성 프레임을 코딩하기 위해서 사용될 수도 있다. 다른 구조에서, 이행 음성 프레임은 최대 레이트, 또는 13.2 kbps 에서 인코딩된다.
태스크 (412) 에서, 음성 코더가 프레임이 이행 음성이 아니라고 판정한 경우, 음성 코더는 태스크 (416) 로 진행한다. 태스크 (416) 에서, 음성 코더는 프레임을 유성음으로 인코딩한다. 일 구조에서, 유성음 프레임은 여기에 설명된 PPP 코딩 방법 또는 다른 프로토타입 코딩 방법을 사용하여 하프 레이트 (예를 들어, 6.2 kbps), 또는 쿼터 레이트로 인코딩될 수도 있다. PPP 또는 다른 코딩 방법을 사용한 최대 레이트로 (예를 들어, 8k CELP 코더에서 13.2 kbps 또는 8 kbps) 유성음 프레임을 인코딩하는 것이 가능하다. 그러나, 유성 프레임을 하프 또는 쿼터 레이트로 코딩하는 것은 코더가 유성 프레임의 정상 상태 특성을 이용하여 유용 대역폭을 아낄 수 있게 하는 것을 당업자가 인식할 수도 있다. 또, 유성음을 인코딩하도록 사용되는 레이트를 고려하지 않고, 유성음은 과거 프레임으로부터의 정보를 사용하여 유리하게 코딩되며, 그래서 예측되게 코딩된다고 언급된다.
도 7a 는 음성 코더, 셀룰러 전화기, 음성 인코딩 및/또는 통신에 대한 다른 장치에 사용될 수도 있는 개시된 구조에 따른 장치 (100) 에 대한 블럭도를 나타낸다. 장치 (100) 는 프레임에 대한 피치 래그 값 (또는 "피치 주기") 를 추출하도록 구성되는 피치 래그 추출기 (110) 을 포함한다. 예를 들어, 피치 래그 추출기 (110) 는 음성 시그널의 프레임을 LPC 계수의 세트 및 레지듀얼 시그널로 분해하도록 구성되는 선형 예측 (LP) 분석 모듈로부터 레지듀얼 시그널을 수신하도록 배열될 수도 있다. 피치 래그 추출기 (110) 는 레지듀얼 시그널상에서 여기에 설명된 태스크 (T100) 의 구현을 수행하도록 구성될 수도 있다. 일 예에서, 피치 래그 추출기 (110) 는 레지듀얼 시그널에서 가장 큰 절대값을 갖는 샘플들 사이의 평균 거리를 결정하여 피치 기간을 추출하도록 구성된다. 다른 방법에서, 피치 래그 추출기 (110) 는 프레임 또는 후보 피치 주기 (예를 들어, 이전의 프레임의 피치 주기) 의 2 배 만큼 큰 윈도우의 자기상관을 최대화하는 딜레이를 결정하도록 구성될 수도 있다. 이 자기상관 동작의 결과는 또한 프레임이 유성인지 무성인지 여부의 결정을 지지하도록 사용될 수도 있다. 어떤 경우에 (특히 WI 코딩 방법에 대해서), 피치 래그 추출기 (110) 는 L/2 및 L/3 샘플들 (예를 들어, 피치 더블링 또는 트리플링을 방지하기 위해서) 주변의 로컬 최대값을 검사하도록 구성될 수도 있다.
장치 (100) 는 레지듀얼 프레임 (예를 들어, 여기에 설명된 태스크 (T200) 의 구현에 따라서) 으로부터 길이 L 의 프로토타입을 추출하도록 구성되는 프로토타입 추출기 (120) 를 포함한다. 프로토타입 추출기 (120) 는 일반적으로 프레임의 최종 피치 주기로부터 프로토타입을 추출하도록 구성된다. 일 예에서, 프로토타입 추출기 (120) 는 프로토타입의 시작 및 종료시의 에너지의 합이 최소가 되는 프로토타입을 추출하도록 구성된다. 다른 예에서, 프로토타입의 양 끝 중 하나에서 가장 큰 크기 (즉, 우세한 스파이크) 를 갖는 프로토타입 내에서의 샘플로부터의 거리가 샘플들의 특정 개수 (예를 들어, 6) 또는 L 의 특정 부분 (예를 들어, 25%) 보다 작지 않도록, 프로토타입 추출기 (120) 는 프로토타입을 추출하도록 구성된다.
프로토타입 추출기 (120) 는 또한 프레임당 하나 이상의 프로토타입을 추출하도록 구성될 수도 있다. WI 코딩 방법에서, 예를 들어, 프로토타입 추출기 (120) 가 프레임당 8 개 이상의 프로토타입까지 추출하게 하는 것이 바람직할 수도 있다. 이 경우에, 피치 래그 추출기 (110) 는 프레임당 피치 래그 값을 한번 또는 두번 추출하도록 구성될 수도 있고, 선형 보간 (값이 가까운 피치 값들에 대해서) 및/또는 계단식 보간 (인접한 피치 값들 사이의 차이가 큰 경우) 과 같은 방법을 사용하여 추출된 피치 값들 사이에서 추가적인 피치 값 (예를 들어, 프레임당 8 개의 값의 전체에 대해서) 을 보간하도록 구성될 수도 있다.
장치 (100) 는 스펙트럼 계수 (예를 들어, DFS 계수) 의 세트를 계산하도록 구성되는 계수 계산기 (130) 를 포함한다. 예를 들어, 계수 계산기 (130) 는 전술된 식 (2a) 및 (2b) 에 따르는 기본 주파수 1/L 의 하모닉에 대응하는 DFS 계수의 세트를 계산하도록 구성될 수도 있다. 계수 계산기 (130) 가
Figure 112008047949892-pct00043
의 범위 내의 각각의 k 에 대한 계수 a[k], b[k] 의 쌍을 계산하도록 구성되는 것이 바람직할 수도 있다.
장치 (100) 는 여기에 기술된 태스크 (T400) 의 구현에 따르는 2 개의 프로토타입 (예를 들어, 현재의 프레임의 프로토타입 및 이전의 프레임의 프로토타입) 사이의 정렬을 계산하도록 구성되는 프로토타입 정렬기 (140) 를 포함한다. 예를 들어, 프로토타입 정렬기 (140) 는 2 개의 상이한 위상 시프트에 대한 교차-상관이 평가된 코사인 및 사인의 단일 세트에 대해서 수행되도록 프로토타입 사이의 정렬을 계산하도록 구성될 수도 있다.
프로토타입 정렬기 (140) 는 정렬 범위
Figure 112008047949892-pct00044
내의 2 개의 상이한 위상 시프트 r 에 대해서 프로토타입 교차-상관을 계산하도록 측정된 코사인 및 사인의 세트 각각 (0 또는
Figure 112008047949892-pct00045
라디안의 앵글에 대응하는 세트의 가능한 예외를 갖는) 을 사용하도록 구성될 수도 있다. 예를 들어, 프로토타입 정렬기 (140) 는 정렬 범위
Figure 112008047949892-pct00046
내의 2 개의 상이한 위상 시프트 값 r 에 대해서 프로토타입 교차-상관을 계산하도록 위상 시프트 평가 범위
Figure 112008047949892-pct00047
(r=0 또는 r=L/2 에 대응하는 세트를 제외하고) 에 걸쳐 평가된 코사인 및 사인의 각각의 세트를 사용하도록 구성될 수도 있다. 프로토타입 정렬기 (140) 는 도 3 및 도 5 에 나타난 의사코드 리스팅 중 하나에 따르는 이러한 동작을 수행하도록 구성될 수도 있다.
도 7b 는 프로토타입 정렬기 (140) 구현 (142) 의 블럭도를 나타낸다. 평가 범위 (예를 들어,
Figure 112008047949892-pct00048
) 내의 다수의 제 1 위상 시프트 각각에 대해서, 삼각 함수 평가기 (144) 는 제 1 위상 시프트에 기초한 다수의 앵글 각각에 대한 하나 이상의 삼각 함수에서 평가하도록 구성된다. 다수의 제 1 위상 시프트 각각에 대해서, 계산기 (146) 는 2 개의 프로토타입 사이의 제 1 및 제 2 상관 측정값을 계산하도록 구성된다. 제 1 상관 측정값은 다른 프로토타입과 관련된 제 1 위상 시프트 (예를 들어, r) 에 의해 시프트된 프로토타입 중 하나에 대응한다. 제 2 상관 측정값은 평가 범위의 외부의 위상 시프트 (예를 들어, -r 또는 L-r) 에 의해 다른 것에 비교하여 시프트된 프로토타입 중 하나에 대응한다. 비교기 (148) 는 제 1 및 제 2 상관 측정값 중 최대값을 식별하도록 구성된다.
프로토타입 정렬기 (140) 가 정렬전에 프로토타입상에서 스펙트럼 가중을 수행하는 것이 바람직할 수도 있다. 이러한 일 구현에서, 프로토타입 정렬기 (140) 는 길이 2L 로 현재의 프로토타입을 제로 패드하도록 구성되고, 제로 메모리를 갖는 가중 LPC 합성 필터에 의해 (예를 들어, 현재 프레임의 마지막 서브 프레임의 LPC 계수를 사용하여) 이 시그널을 필터링하도록 구성되고,
Figure 112008047949892-pct00049
Figure 112008047949892-pct00050
에 대한 (n+L) 번째 샘플에 필터링된 시그널의 n 번째 샘플들을 추가하여 길이 L 의 지각 가중 프로토타입을 얻도록 구성된다. 프로토타입 정렬기 (140) 는 또한 정렬을 계산하기 전에 여기에 설명된 하나 이상의 프로토타입의 하나 이상의 길이 정규화 동작을 수행하도록 구성될 수도 있다.
장치 (100) 는 현재의 프로토타입에 프로토타입 정렬기 (140) 에 의해 식별된 최대 교차-상관 (예를 들어,
Figure 112008047949892-pct00051
) 에 대응하는 위상 시프트를 적용하도록 구성되는 위상 시프터 (150) 를 포함한다. 예를 들어, 위상 시프터 (150) 는 시간 도메인에서 프로토타입이 (예를 들어,
Figure 112008047949892-pct00052
샘플들의) 순환하도록 구성될 수도 있고, 주파수 도메인에서 프로토타입을 회전하도록 (예를 들어,
Figure 112008047949892-pct00053
라디안의 앵글에 의해) 구성될 수도 있다. 위상 시프터 (150) 는 또한 정렬된 프로토타입 상에서 지각 가중 동작과 같은 스펙트럼의 가중 동작을 수행하도록 (예를 들어, 정렬된 프로토타입에 지각 가중 필터와 같은 필터를 적용함으로서) 구성될 수도 있다.
장치 (100) 는 프로토타입을 양자화하도록 (예를 들어, 유효 송신 및/또는 저장) 구성되는 프로토타입 양자화기 (160) 를 포함한다. 이러한 양자화는 파워 및 모양의 분리된 양자화에 대한 프로토타입의 이득 정규화를 포함할 수도 있다. 추가적으로 또는 다른 방법에서, 이러한 양자화는 분리된 양자화에 대해 위상 벡터 및 진폭으로의 DFS 계수의 분해를 포함할 수도 있다. 프로토타입 양자화기 (160) 는 다음의 방법 중 어느 하나에 따라서 진폭 및 위상의 양자화를 수행하도록 구성될 수도 있으며, 그 방법은 각각의 컴포넌트의 스칼라 양자화, 컴포넌트 세트의 벡터 양자화, 다중-스테이지 양자화 (벡터, 스칼라, 또는 혼합), 쌍 또는 쌍의 세트에서 진폭 및 위상의 결합 양자화이다.
장치 (100) 의 구현에 더하여, 프로토타입 정렬기 (140) 는 상이한 위상 시프트가 상이한 주파수 밴드 각각에 대해 획득될 수도 있도록, 프로토타입의 상이한 주파수 밴드상에서 프로토타입 정렬을 분리하여 수행하도록 구성된다. 이 경우에, 위상 시프터 (150) 는 대응하는 밴드 내에서 프로토타입의 하모닉 컴포넌트에 대응하는 위상 시프트를 적용하도록 구성될 수도 있고, 프로토타입 양자화기 (160) 는 주파수 밴드 분할에 따르는 프로토타입의 위상 벡터를 서브샘플링하도록 (예를 들어, 하나의 위상 값이 각각의 주파수 밴드에 대해 인코딩되도록) 구성될 수도 있다. 위상 및 진폭 정보의 서브 샘플링 및 PPP 코딩 및 디코딩의 다른 양태가 예를 들어 US 특허 제 6,678,649 호 (Manjunath, 2004 년 1 월 13 일에 발행된) 에 논의된다.
WI 코딩 방법의 사용에 대해서, 장치 (100) 는 위상 시프터 (150) 로부터 정렬된 프로토타입을 수신하도록 조정되고, 더 나아가 프로세싱 및/또는 분리 양자화에 대해 SEW 및 REW 를 분리하도록 조정되는 필터 뱅크 (예를 들어, 고주파 및 저주파 필터를 포함하는) 를 포함하도록 구성될 수도 있다.
장치 (100) 의 구현의 다양한 요소는 비록 이러한 제한 없는 다른 배열이 또한 예상되더라도, 예를 들어, 칩셋 내의 2 개 이상의 칩 중 또는 같은 칩 상에 상주하는 전자 및/또는 광학 디바이스로 구현될 수도 있다. 이러한 장치의 하나 이상의 요소는 마이크로 프로세서, 임베디드 프로세서, IP 코어, 디지털 신호 프로세서, FPGA (필드-프로그래머블 게이트 어레이), ASSP (Application-Specific Standard product), 및 ASIC (application-specific integrated circuit) 과 같은 로직 요소 (예를 들어, 트랜지스터, 게이트) 의 하나 이상의 고정된 또는 프로그래머블 어레이를 실행하기 위해서 조정되는 명령들의 하나 이상의 세트의 전체 또는 부분에서 구현될 수도 있다.
장치 (100) 구현의 하나 이상의 요소에 대해서 장치가 내제되어 있는 디바이스 또는 시스템의 다른 동작과 관련한 태스크와 같은, 장치의 동작과 직접적으로 관련되지 않은 명령들의 다른 세트를 실행하거나 또는 태스크를 수행하도록 사용되는 것이 가능하다. 또한 장치 (100) 의 구현의 하나 이상의 요소에 대해서 일반적인 구조 (예를 들어, 상이한 시간에 상이한 요소에 대응하여 코드의 부분을 수행하도록 사용되는 프로세서, 상이한 시간에 상이한 요소들에 대응한 태스크를 수행하도록 실행되는 명령들의 세트, 또는 상이한 시간에 상이한 요소들에 대해 동작을 수행하는 전자 및/또는 광학 디바이스의 배열) 를 갖게 하는 것이 가능하다.
전술된 특정 예시는 0 에서 2
Figure 112008047949892-pct00054
라디안의 각도 범위에 대응하는
Figure 112008047949892-pct00055
정렬 범위를 설명한다. 그러나, L/2 주변에서 (또는
Figure 112008047949892-pct00056
라디안 주변에서) 대칭적인 임의 범위에 걸친 2 개의 상이한 각도 값에 대해 계산을 수행하도록 평가된 삼각 함수 (예를 들어, 코사인 및/또는 사인) 의 세트를 사용하도록 일반적으로 구성될 수도 있는 여기에 개시된 정렬의 방법 (예를 들어, 태스크 (T400), 태스크 (T400 및 T500) 의 조합, 또는 태스크 (T400) 를 포함하는 다른 방법) 이 명백히 이해되고 여기에 개시된다. 마찬가지로, 여기에 기술된 정렬의 방법은 L/2 (또는
Figure 112008047949892-pct00057
라디안 주변) 주변에서 대칭인 부분에서 더 넓은 범위의 임의의 부분에 걸쳐 2 개의 상이한 각도 값에 대한 계산을 수행하도록 평가된 삼각 함수의 세트를 사용하도록 일반적으로 구성될 수도 있다.
도 8 은 전술된 상이한 정렬 해법에서 2 개의 주기 파형 (예를 들어, 프로토타입) 의 점진적인 정렬을 수행하도록 조정되는 태스크 (T400, T500) 의 구현 (T410, T510) 의 애플리케이션의 일 예를 나타낸다. L 의 값은 100 이고 숫자는 샘플 축에 따른 인덱스 값을 나타내는 경우, 도 8A 는 2 개의 파형 a 및 b 의 표시를 나타낸다. 참조로서, 그림은 파형 사이의 최대 교차-상관을 생성하는 위상 시프트
Figure 112010042128912-pct00058
가 73 임을 나타낸다. 다르게 말해서,
Figure 112010042128912-pct00059
= 73 의 시프트가 파형 b 에 적용되는 경우 파형이 정렬된다.
이 방법에서, 태스크 (T410 및 T510) 는 바람직한 정렬 해법이 획득될 때까지 반복되어 수행된다. L/2 중심에 위치된 정렬 범위를 유지하기 위해서, 태스크 (T510) 는 태스크 (T410) 의 각각의 반복 전에 파형 중 하나를 시프트시키도록 정렬된다.
태스크 (T410) 의 제 1 반복 전에, 태스크 (T510) 는 파형의 하나에 L/2 (예를 들어,
Figure 112010042128912-pct00060
라디안) 의 시프트를 적용한다. 도 8B 는 태스크 (T510) 가 파형 b 상에서 L/2 의 시프트를 수행한 후에 2 개의 파형 (a 및 b) 의 표시를 나타낸다. 그 후, 태스크 (T410) 의 제 1 반복은 제 1 해상도 (이 예에서는, 10 의 해상도에서) 에서 정렬 범위
Figure 112010042128912-pct00061
(
Figure 112010042128912-pct00062
의 평가 범위와 함께) 에 걸쳐 파형 a 및 b 의 상관을 계산한다. 도 8B 에서 나타난 바와 같이, 태스크 (T410) 는 이 반복에 대해서
Figure 112010042128912-pct00063
의 값을 계산한다.
태스크 (T410) 의 제 2 반복 이전에, 태스크 (T510) 는 도 8B 에 도시된 파형 b 에
Figure 112010042128912-pct00064
의 추가적인 시프트 (이 예에서는, 70) 를 적용한다. 도 8C 는 태스크 (T510) 가 이 시프트를 수행한 후에 2 개의 파형 a 및 b 의 표시를 도시한다. 그 후, 태스크 (T410) 의 제 2 반복은 제 2 해상도에서 (이 예에서는, v2 = 10 및 제 2 해상도는 2) 해치 (hatch) 된 영역 (상호 해치된 영역에 의해 나타나는,
Figure 112010042128912-pct00065
의 감소된 평가 범위와 함께) 에서 나타난 것과 같이, 감소된 정렬 범위
Figure 112010042128912-pct00066
에 걸쳐 파형 a 및 b 의 상관을 계산한다. 도 8C 에서 나타나는 것과 같이, 태스크 (T410) 는 이 반복에 대해서
Figure 112010042128912-pct00067
= 52 의 값을 계산한다.
태스크 (T410) 의 제 3 반복 이전에, 태스크 (T510) 는 도 8C 에 도시된 파형 b 에
Figure 112010042128912-pct00068
의 추가적인 시프트 (이 예에서는, 102) 를 적용한다. 도 8D 는 태스크 (T510) 가 이 시프트를 수생한 후에 2 개의 파형 a 및 b 의 표시를 도시한다. 그 후, 태스크 (T410) 의 제 3 반복은 제 3 해상도에서 (이 예에서는, v3 = 5 및 제 3 해상도는 1) 해치된 영역 (상호 해치된 영역에 의해 나타나는,
Figure 112010042128912-pct00069
의 감소된 평가 범위와 함께) 에서 나타난 것과 같이, 감소된 정렬 범위
Figure 112010042128912-pct00070
에 걸쳐 파형 a 및 b 의 상관을 계산한다. 도 8D 에서 나타나는 것과 같이, 태스크 (T410) 는 이 반복에 대해서
Figure 112010042128912-pct00071
= 51 의 값을 계산한다.
이 예에서, 반복의 횟수는 3 이며, 태스크 (410) 는 다음과 같은 식에 따른
Figure 112008047949892-pct00072
의 최종 값을 계산하도록 구성된다.
Figure 112008047949892-pct00073
이 예에서 설명되는 것과 같이,
Figure 112008047949892-pct00074
에 대한 식은 70 + 2 + 1 또는 73 을 평가한다. 당업자는 이러한 방법의 동일한 구현으로 전술한 L/2 의 예비 위상 시프트가 생략될 수도 있는 경우를 인식할 것이며,
Figure 112008047949892-pct00075
에 대해 변경된 식은 다음과 같다.
Figure 112008047949892-pct00076
도 9a 는 태스크 (T400 및 T500) 의 구현 (T410, T510) 을 각각 포함하는 방법 (M100) 의 구현 (M200) 의 흐름도를 도시한다. 도 9b 는 이러한 반복 방법을 수행하도록 조정되는 위상 시프터 (150) 및 프로토타입 정렬기 (140) 의 구현 (144, 154) 를 포함하는 장치 (100) 의 구현 (200) 의 블럭도를 나타낸다. 예를 들어, 도 7b 에 나타난 구현 (142) 에 따라, 프로토타입 정렬기 (144) 가 구현될 수도 있음이 이해된다. 이러한 경우에, 계산기 (146) 는 전술된
Figure 112008047949892-pct00077
의 최종 값을 계산하도록 추가적으로 구성될 수도 있고, 프로토타입 정렬기 (144) 및/또는 장치 (200) 는 그렇게 구성된 다른 계산기를 포함할 수도 있다.
개시되어 있는 구조에 대한 전술된 설명은 당업자로 하여금 여기에 개시된 방법 및 다른 구조를 제조 또는 이용할 수 있도록 제공된다. 이 구조에 대한 다양한 변경이 가능하며, 여기에 제시된 일반적 원리는 다른 구조에도 또한 적용될 수도 있다. 문맥으로부터 이해될 수도 있는 것처럼, 예를 들어, 구조는 하드 유선 회로, 주문형 직접회로로 만든 회로 구조, 또는 비휘발성 저장체 또는 마이크로프로세서 또는 다른 디지털 시그널 프로세싱 유닛과 같은 로직 요소의 어레이에 의해 실행가능한 명령들인 기계 판독가능 코드로 데이터 저장 매체로부터 또는 저장 매체로 로딩되는 소프트웨어 프로그램에 로딩되는 펌웨어 프로그램의 부분 또는 전체로 구현될 수도 있다. 이 데이터 저장 매체는 반도체 메모리 (동적 또는 정적 RAM (random-access memory), ROM (read-only memory) 및/또는 플래시 RAM 를 제한 없이 포함할 수도 있는), 또는 강유전성, 자기저항성, 오보닉, 폴리메릭, 또는 위상 변화 메모리와 같은 저장 요소 또는 자성 또는 광학 디스크와 같은 디스크 매체의 어레이일 수도 있다. "소프트웨어" 의 용어는 소스 코드, 어셈블리 언어 코드, 기계 코드, 이진 코드, 펌웨어, 매크로코드, 마이크로코드, 임의 하나의 또는 그 이상의 세트 또는 로직 요소의 어레이에 의해 실행될 수 있는 명령들의 시퀀스, 및 이런 예시의 임의의 조합을 포함하는 것이 이해되어야 한다.
여기에 개시된 방법 각각은 또한 로직 요소 (예를 들어, 프로세서, 마이크로프로세서, 마이크로제어기, 또는 다른 유한 상태 머신) 의 어레이를 포함하는 머신에 의해 실행될 수도 있고 및/또는 판독될 수도 있는 명령들의 하나 이상의 세트로 (예를 들어, 전술한 하나 이상의 데이터 저장 매체에) 명백히 내제 될 수도 있다. 그러므로, 본 개시는 전술된 구조를 제한하려는 목적이 아니라, 최초 개시의 부분을 형성하는 출원된 첨부된 청구항에서 포함되는 여기에 개시된 어떤 방법의 원리 및 신규한 특징으로 일관된 가장 넓은 범위에 일치한다.

Claims (49)

  1. 전자 디바이스의 제어 하에서 2 개의 주기적인 음성 파형들을 정렬하는 방법으로서, 제 1 평가 범위 내의 제 1 다수의 위상 시프트들의 각각에 대해서:
    상기 제 1 다수의 위상 시프트들로부터의 위상 시프트에 기초한 다수의 앵글 (angle) 들의 각각에 대하여 적어도 하나의 삼각 함수를 평가하는 단계;
    상기 제 1 다수의 위상 시프들로부터의 상기 위상 시프트에 기초한 앵글들의 상기 평가된 삼각 함수들에 기초하여, (A) 상기 2 개의 주기적인 음성 파형들 중 상기 위상 시프트만큼 시프트된 제 1 주기적인 음성 파형과, (B) 상기 2 개의 주기적인 음성 파형들 중 제 2 주기적인 음성 파형 사이의 제 1 상관 측정값을 계산하는 단계; 및
    상기 제 1 다수의 위상 시프들로부터의 상기 위상 시프트에 기초한 앵글들의 상기 평가된 삼각 함수들에 기초하여, (C) 상기 2 개의 주기적인 음성 파형들 중 상기 제 1 평가 범위 밖의 제 2 범위 내의 제 2 다수의 위상 시프트들 중 하나의 위상 시프트만큼 시프트된 상기 제 1 주기적인 음성 파형과, (D) 상기 2 개의 주기적인 음성 파형들 중 상기 제 2 주기적인 음성 파형 사이의 제 2 상관 측정값을 계산하는 단계를 포함하고,
    상기 제 2 다수의 위상 시프트들의 각각의 상기 위상 시프트는 상기 제 1 다수의 위상 시프트들 중 적어도 하나의 위상 시프트에 대응하는, 음성 파형 정렬 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 음성 파형 정렬 방법은,
    상기 제 1 다수의 위상 시프트들에 대하여 제 1 다수의 상관 측정값들을 계산하는 단계, 상기 제 2 다수의 위상 시프트들에 대하여 제 2 다수의 상관 측정값들을 계산하는 단계, 및 상기 2 개의 주기적인 음성 파형들 중 상기 제 1 주기적인 음성 파형에, 상기 제 1 다수의 상관 측정값들 및 상기 제 2 다수의 상관 측정값들 중에서 식별된 최대값에 대응하는 위상 시프트를 적용하는 단계를 포함하는, 음성 파형 정렬 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 적어도 하나의 삼각 함수를 평가하는 단계는, 상기 제 1 다수의 위상 시프트들로부터의 상기 위상 시프트에 기초한 상기 다수의 앵글들의 각각에 대하여 코사인을 평가하는 단계를 포함하는, 음성 파형 정렬 방법.
  6. 제 1 항에 있어서,
    상기 적어도 하나의 삼각 함수를 평가하는 단계는, 상기 제 1 다수의 위상 시프트들로부터의 상기 위상 시프트에 기초한 상기 다수의 앵글들의 각각에 대하여 코사인 및 사인을 평가하는 단계를 포함하는, 음성 파형 정렬 방법.
  7. 제 1 항에 있어서,
    상기 제 1 상관 측정값을 계산하는 단계는 (E) 평가된 코사인들의 곱들과 (F) 평가된 사인들의 곱들의 다수의 합들을 계산하는 단계를 포함하고,
    상기 제 2 상관 측정값을 계산하는 단계는 (G) 평가된 코사인들의 곱들과 (H) 평가된 사인들의 곱들의 다수의 차이들을 계산하는 단계를 포함하는, 음성 파형 정렬 방법.
  8. 제 1 항에 있어서,
    상기 2 개의 주기적인 음성 파형들 중 상기 제 1 주기적인 음성 파형은 음성 시그널의 제 1 시간 부분의 레지듀얼 (residual) 로부터 추출된 프로토타입 파형에 기초하고,
    상기 2 개의 주기적인 음성 파형들 중 상기 제 2 주기적인 음성 파형은 상기 음성 시그널의 제 2 시간 부분의 레지듀얼로부터 추출된 프로토타입 파형에 기초하는, 음성 파형 정렬 방법.
  9. 제 8 항에 있어서,
    상기 2 개의 주기적인 음성 파형들의 각각의 길이는 상기 음성 시그널의 상기 제 1 및 제 2 시간 부분들 중 적어도 하나의 피치 (pitch) 주기와 동일한, 음성 파형 정렬 방법.
  10. 제 1 항에 있어서,
    상기 제 1 평가 범위는 0 라디안에서부터 π 라디안까지 포함하는 범위 내에 있는, 음성 파형 정렬 방법.
  11. 제 1 항에 있어서,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 제 2 다수의 위상 시프트들로부터의 상기 대응하는 위상 시프트는 π 라디안 초과 2π 라디안 미만의 범위 내에 있는, 음성 파형 정렬 방법.
  12. 컴퓨터로 하여금 제 1 항에 기재된 상기 음성 파형 정렬 방법을 실행하게 하는 머신 실행가능 명령들로 인코딩된, 컴퓨터 판독가능 저장 매체.
  13. 2 개의 주기적인 음성 파형들을 정렬하도록 구성된 장치로서,
    제 1 평가 범위 내의 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 제 1 다수의 위상 시프트들로부터의 위상 시프트에 기초한 다수의 앵글 (angle) 들의 각각에 대하여 적어도 하나의 삼각 함수를 평가하는 수단; 및
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, (1) 상기 제 1 다수의 위상 시프들로부터의 상기 위상 시프트에 기초한 앵글들의 상기 평가된 삼각 함수들에 기초하여, (A) 상기 2 개의 주기적인 음성 파형들 중 상기 위상 시프트만큼 시프트된 제 1 주기적인 음성 파형과, (B) 상기 2 개의 주기적인 음성 파형들 중 제 2 주기적인 음성 파형 사이의 제 1 상관 측정값을 계산하고, (2) 상기 위상 시프트에 기초한 앵글들의 상기 평가된 삼각 함수들에 기초하여, (C) 상기 2 개의 주기적인 음성 파형들 중 상기 제 1 평가 범위 밖의 제 2 범위 내의 제 2 다수의 위상 시프트들 중 하나의 위상 시프트만큼 시프트된 상기 제 1 주기적인 음성 파형과, (D) 상기 2 개의 주기적인 음성 파형들 중 상기 제 2 주기적인 음성 파형 사이의 제 2 상관 측정값을 계산하는 수단을 포함하고,
    상기 제 2 다수의 위상 시프트들의 각각의 상기 위상 시프트는 상기 제 1 다수의 위상 시프트들 중 적어도 하나의 위상 시프트에 대응하는, 음성 파형 정렬 장치.
  14. 삭제
  15. 제 13 항에 있어서,
    상기 음성 파형 정렬 장치는,
    상기 제 1 다수의 위상 시프트들에 대하여 제 1 다수의 상관 측정값들을 계산하고, 상기 제 2 다수의 위상 시프트들에 대하여 제 2 다수의 상관 측정값들을 계산하며, 상기 2 개의 주기적인 음성 파형들 중 상기 제 1 주기적인 음성 파형에, 상기 제 1 다수의 상관 측정값들 및 상기 제 2 다수의 상관 측정값들 중에서 식별된 최대값에 대응하는 위상 시프트를 적용하는 수단을 포함하는, 음성 파형 정렬 장치.
  16. 삭제
  17. 제 13 항에 있어서,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 적어도 하나의 삼각 함수를 평가하는 수단은, 상기 제 1 다수의 위상 시프트들로부터의 상기 위상 시프트에 기초한 상기 다수의 앵글들의 각각에 대하여 코사인을 평가하도록 구성되는, 음성 파형 정렬 장치.
  18. 제 13 항에 있어서,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 적어도 하나의 삼각 함수를 평가하는 수단은, 상기 제 1 다수의 위상 시프트들로부터의 상기 위상 시프트에 기초한 상기 다수의 앵글들의 각각에 대하여 코사인 및 사인을 평가하도록 구성되는, 음성 파형 정렬 장치.
  19. 제 13 항에 있어서,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 계산하는 수단은 (E) 평가된 코사인들의 곱들과 (F) 평가된 사인들의 곱들의 다수의 합들을 포함하도록 상기 제 1 상관 측정값을 계산하도록 구성되고,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 계산하는 수단은 (G) 평가된 코사인들의 곱들과 (H) 평가된 사인들의 곱들의 다수의 차이들을 포함하도록 상기 제 2 상관 측정값을 계산하도록 구성되는, 음성 파형 정렬 장치.
  20. 제 13 항에 있어서,
    상기 음성 파형 정렬 장치는,
    (i) 음성 시그널의 제 1 시간 부분의 레지듀얼 (residual) 로부터 제 1 프로토타입 파형을 추출하고,
    (ii) 상기 음성 시그널의 제 2 시간 부분의 레지듀얼로부터 제 2 프로토타입 파형을 추출하도록 구성되는 프로토타입 파형 추출 수단을 포함하고,
    상기 2 개의 주기적인 음성 파형들 중 상기 제 1 주기적인 음성 파형은 상기 제 1 프로토타입 파형에 기초하고,
    상기 2 개의 주기적인 음성 파형들 중 상기 제 2 주기적인 음성 파형은 상기 제 2 프로토타입 파형에 기초하는, 음성 파형 정렬 장치.
  21. 제 20 항에 있어서,
    상기 2 개의 주기적인 음성 파형들의 각각의 길이는 상기 음성 시그널의 상기 제 1 및 제 2 시간 부분들 중 적어도 하나의 피치 (pitch) 주기와 동일한, 음성 파형 정렬 장치.
  22. 제 13 항에 있어서,
    상기 제 1 평가 범위는 0 라디안에서부터 π 라디안까지 포함하는 범위 내에 있는, 음성 파형 정렬 장치.
  23. 제 13 항에 있어서,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 제 2 다수의 위상 시프트들로부터의 상기 대응하는 위상 시프트는 π 라디안 초과 2π 라디안 미만의 범위 내에 있는, 음성 파형 정렬 장치.
  24. 제 13 항에 기재된 상기 음성 파형 정렬 장치를 포함하는, 음성 코더.
  25. 제 13 항에 기재된 상기 음성 파형 정렬 장치를 포함하는, 셀룰러 전화기.
  26. 2 개의 주기적인 음성 파형들을 정렬하도록 구성된 장치로서,
    제 1 평가 범위 내의 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 제 1 다수의 위상 시프트들로부터의 위상 시프트에 기초한 다수의 앵글 (angle) 들의 각각에 대하여 적어도 하나의 삼각 함수를 평가하도록 구성되는 삼각 함수 평가기; 및
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, (1) 상기 제 1 다수의 위상 시프들로부터의 위상 시프트에 기초한 앵글들의 상기 평가된 삼각 함수들에 기초하여, (A) 상기 2 개의 주기적인 음성 파형들 중 상기 제 1 다수의 위상 시프트들로부터의 상기 위상 시프트만큼 시프트된 제 1 주기적인 음성 파형과, (B) 상기 2 개의 주기적인 음성 파형들 중 제 2 주기적인 음성 파형 사이의 제 1 상관 측정값을 계산하고, (2) 상기 제 1 다수의 위상 시프트들로부터의 상기 위상 시프트에 기초한 앵글들의 상기 평가된 삼각 함수들에 기초하여, (C) 상기 2 개의 주기적인 음성 파형들 중 상기 제 1 평가 범위 밖의 제 2 범위 내의 제 2 다수의 위상 시프트들 중 하나의 위상 시프트만큼 시프트된 상기 제 1 주기적인 음성 파형과, (D) 상기 2 개의 주기적인 음성 파형들 중 상기 제 2 주기적인 음성 파형 사이의 제 2 상관 측정값을 계산하도록 구성된 계산기를 포함하고,
    상기 제 2 다수의 위상 시프트들의 각각의 상기 위상 시프트는 상기 제 1 다수의 위상 시프트들 중 적어도 하나의 위상 시프트에 대응하는, 음성 파형 정렬 장치.
  27. 삭제
  28. 제 26 항에 있어서,
    상기 계산기는, 상기 제 1 다수의 위상 시프트들에 대하여 제 1 다수의 상관 측정값들을 계산하고, 상기 제 2 다수의 위상 시프트들에 대하여 제 2 다수의 상관 측정값들을 계산하며,
    상기 음성 파형 정렬 장치는,
    상기 2 개의 주기적인 음성 파형들 중 상기 제 1 주기적인 음성 파형에, 상기 제 1 다수의 상관 측정값들 및 상기 제 2 다수의 상관 측정값들 중에서 식별된 최대값에 대응하는 위상 시프트를 적용하도록 구성된 위상 시프터를 포함하는, 음성 파형 정렬 장치.
  29. 삭제
  30. 제 26 항에 있어서,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 삼각 함수 평가기는 상기 제 1 다수의 위상 시프트들로부터의 상기 위상 시프트에 기초한 상기 다수의 앵글들의 각각에 대하여 코사인을 평가하도록 구성되는, 음성 파형 정렬 장치.
  31. 제 26 항에 있어서,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 삼각 함수 평가기는 상기 제 1 다수의 위상 시프트들로부터의 상기 위상 시프트에 기초한 상기 다수의 앵글들의 각각에 대하여 코사인 및 사인을 평가하도록 구성되는, 음성 파형 정렬 장치.
  32. 제 26 항에 있어서,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 계산기는 (E) 평가된 코사인들의 곱들 및 (F) 평가된 사인들의 곱들의 다수의 합들을 포함하도록 상기 제 1 상관 측정값을 계산하도록 구성되고,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 계산기는 (G) 평가된 코사인들의 곱들 및 (H) 평가된 사인들의 곱들의 다수의 차이들을 포함하도록 상기 제 2 상관 측정값을 계산하도록 구성되는, 음성 파형 정렬 장치.
  33. 제 26 항에 있어서,
    상기 음성 파형 정렬 장치는,
    (i) 음성 시그널의 제 1 시간 부분의 레지듀얼 (residual) 로부터 제 1 프로토타입 파형을 추출하고,
    (ii) 상기 음성 시그널의 제 2 시간 부분의 레지듀얼로부터 제 2 프로토타입 파형을 추출하도록 구성되는 프로토타입 추출기를 포함하고,
    상기 2 개의 주기적인 음성 파형들 중 상기 제 1 주기적인 음성 파형은 상기 제 1 프로토타입 파형에 기초하고,
    상기 2 개의 주기적인 음성 파형들 중 상기 제 2 주기적인 음성 파형은 상기 제 2 프로토타입 파형에 기초하는, 음성 파형 정렬 장치.
  34. 제 33 항에 있어서,
    상기 2 개의 주기적인 음성 파형들의 각각의 길이는 상기 음성 시그널의 상기 제 1 및 제 2 시간 부분들 중 적어도 하나의 피치 (pitch) 주기와 동일한, 음성 파형 정렬 장치.
  35. 제 26 항에 있어서,
    상기 제 1 평가 범위는 0 라디안에서부터 π 라디안까지 포함하는 범위 내에 있는, 음성 파형 정렬 장치.
  36. 제 26 항에 있어서,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 제 2 다수의 위상 시프트들로부터의 상기 대응하는 위상 시프트는 π 라디안 초과 2π 라디안 미만의 범위 내에 있는, 음성 파형 정렬 장치.
  37. 제 26 항에 기재된 상기 음성 파형 정렬 장치를 포함하는, 음성 코더.
  38. 제 26 항에 기재된 상기 음성 파형 정렬 장치를 포함하는, 셀룰러 전화기.
  39. 제 8 항에 있어서,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 위상 시프트에 기초한 상기 다수의 앵글들의 각각은 상기 제 1 주기적인 음성 파형의 상이한 하모닉 주파수에 대응하는, 음성 파형 정렬 방법.
  40. 제 20 항에 있어서,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 위상 시프트에 기초한 상기 다수의 앵글들의 각각은 상기 제 1 프로토타입 파형의 상이한 하모닉 주파수에 대응하는, 음성 파형 정렬 장치.
  41. 제 33 항에 있어서,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 위상 시프트에 기초한 상기 다수의 앵글들의 각각은 상기 제 1 프로토타입 파형의 상이한 하모닉 주파수에 대응하는, 음성 파형 정렬 장치.
  42. 제 12 항에 있어서,
    상기 음성 파형 정렬 방법은,
    상기 제 1 다수의 위상 시프트들에 대하여 제 1 다수의 상관 측정값들을 계산하는 단계, 상기 제 2 다수의 위상 시프트들에 대하여 제 2 다수의 상관 측정값들을 계산하는 단계, 및 상기 2 개의 주기적인 음성 파형들 중 상기 제 1 주기적인 음성 파형에, 상기 제 1 다수의 상관 측정값들 및 상기 제 2 다수의 상관 측정값들 중에서 식별된 최대값에 대응하는 위상 시프트를 적용하는 단계를 포함하는, 컴퓨터 판독가능 저장 매체.
  43. 제 12 항에 있어서,
    상기 적어도 하나의 삼각 함수를 평가하는 단계는, 상기 제 1 다수의 위상 시프트들로부터의 상기 위상 시프트에 기초한 상기 다수의 앵글들의 각각에 대하여 코사인을 평가하는 단계를 포함하는, 컴퓨터 판독가능 저장 매체.
  44. 제 12 항에 있어서,
    상기 적어도 하나의 삼각 함수를 평가하는 단계는, 상기 제 1 다수의 위상 시프트들로부터의 상기 위상 시프트에 기초한 상기 다수의 앵글들의 각각에 대하여 코사인 및 사인을 평가하는 단계를 포함하는, 컴퓨터 판독가능 저장 매체.
  45. 제 12 항에 있어서,
    상기 제 1 상관 측정값을 계산하는 단계는 (E) 평가된 코사인들의 곱들과 (F) 평가된 사인들의 곱들의 다수의 합들을 계산하는 단계를 포함하고,
    상기 제 2 상관 측정값을 계산하는 단계는 (G) 평가된 코사인들의 곱들과 (H) 평가된 사인들의 곱들의 다수의 차이들을 계산하는 단계를 포함하는, 컴퓨터 판독가능 저장 매체.
  46. 제 12 항에 있어서,
    상기 2 개의 주기적인 음성 파형들 중 상기 제 1 주기적인 음성 파형은 음성 시그널의 제 1 시간 부분의 레지듀얼 (residual) 로부터 추출된 프로토타입 파형에 기초하고,
    상기 2 개의 주기적인 음성 파형들 중 상기 제 2 주기적인 음성 파형은 상기 음성 시그널의 제 2 시간 부분의 레지듀얼로부터 추출된 프로토타입 파형에 기초하는, 컴퓨터 판독가능 저장 매체.
  47. 제 46 항에 있어서,
    상기 2 개의 주기적인 음성 파형들의 각각의 길이는 상기 음성 시그널의 상기 제 1 및 제 2 시간 부분들 중 적어도 하나의 피치 (pitch) 주기와 동일한, 컴퓨터 판독가능 저장 매체.
  48. 제 12 항에 있어서,
    상기 제 1 평가 범위는 0 라디안에서부터 π 라디안까지 포함하는 범위 내에 있는, 컴퓨터 판독가능 저장 매체.
  49. 제 12 항에 있어서,
    상기 제 1 다수의 위상 시프트들의 각각에 대해서, 상기 제 2 다수의 위상 시프트들로부터의 상기 대응하는 위상 시프트는 π 라디안 초과 2π 라디안 미만의 범위 내에 있는, 컴퓨터 판독가능 저장 매체.
KR1020087016188A 2005-12-02 2006-12-01 음성 파형의 정렬을 위한 시스템, 방법, 및 장치 KR101019936B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US74211605P 2005-12-02 2005-12-02
US60/742,116 2005-12-02

Publications (2)

Publication Number Publication Date
KR20080085007A KR20080085007A (ko) 2008-09-22
KR101019936B1 true KR101019936B1 (ko) 2011-03-09

Family

ID=38609993

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087016188A KR101019936B1 (ko) 2005-12-02 2006-12-01 음성 파형의 정렬을 위한 시스템, 방법, 및 장치

Country Status (7)

Country Link
US (1) US8145477B2 (ko)
EP (1) EP1955320A2 (ko)
JP (1) JP4988757B2 (ko)
KR (1) KR101019936B1 (ko)
CN (1) CN101317218B (ko)
TW (1) TWI358056B (ko)
WO (1) WO2007120308A2 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101355626B1 (ko) * 2007-07-20 2014-01-27 삼성전자주식회사 네트워크 제어 장치
US8990094B2 (en) * 2010-09-13 2015-03-24 Qualcomm Incorporated Coding and decoding a transient frame
US8862465B2 (en) * 2010-09-17 2014-10-14 Qualcomm Incorporated Determining pitch cycle energy and scaling an excitation signal
EP2634769B1 (en) * 2012-03-02 2018-11-07 Yamaha Corporation Sound synthesizing apparatus and sound synthesizing method
WO2013142951A1 (en) 2012-03-29 2013-10-03 Litens Automotive Partnership Tensioner and endless drive arrangement
US9036734B1 (en) * 2013-07-22 2015-05-19 Altera Corporation Methods and apparatus for performing digital predistortion using time domain and frequency domain alignment
US9569405B2 (en) * 2014-04-30 2017-02-14 Google Inc. Generating correlation scores
WO2016025812A1 (en) * 2014-08-14 2016-02-18 Rensselaer Polytechnic Institute Binaurally integrated cross-correlation auto-correlation mechanism
US10262677B2 (en) * 2015-09-02 2019-04-16 The University Of Rochester Systems and methods for removing reverberation from audio signals
JP7003119B6 (ja) 2016-09-13 2023-08-18 リテンズ オートモーティヴ パートナーシップ Vテンショナ及び無端駆動装置
CN114429770A (zh) * 2022-04-06 2022-05-03 北京普太科技有限公司 一种被测设备的声音数据测试方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3638004A (en) * 1968-10-28 1972-01-25 Time Data Corp Fourier transform computer
JP2707564B2 (ja) * 1987-12-14 1998-01-28 株式会社日立製作所 音声符号化方式
US5003604A (en) * 1988-03-14 1991-03-26 Fujitsu Limited Voice coding apparatus
CA1328509C (en) * 1988-03-28 1994-04-12 Tetsu Taguchi Linear predictive speech analysis-synthesis apparatus
ES2225321T3 (es) * 1991-06-11 2005-03-16 Qualcomm Incorporated Aparaato y procedimiento para el enmascaramiento de errores en tramas de datos.
US5884253A (en) * 1992-04-09 1999-03-16 Lucent Technologies, Inc. Prototype waveform speech coding with interpolation of pitch, pitch-period waveforms, and synthesis filter
US5517595A (en) * 1994-02-08 1996-05-14 At&T Corp. Decomposition in noise and periodic signal waveforms in waveform interpolation
TW271524B (ko) 1994-08-05 1996-03-01 Qualcomm Inc
JPH08320695A (ja) 1995-05-25 1996-12-03 Nippon Telegr & Teleph Corp <Ntt> 標準音声信号発生方法およびこの方法を実施する装置
JP3436614B2 (ja) 1995-08-07 2003-08-11 フクダ電子株式会社 音声信号変換装置および超音波診断装置
WO1998005029A1 (en) * 1996-07-30 1998-02-05 British Telecommunications Public Limited Company Speech coding
US6754630B2 (en) * 1998-11-13 2004-06-22 Qualcomm, Inc. Synthesis of speech from pitch prototype waveforms by time-synchronous waveform interpolation
US6456964B2 (en) * 1998-12-21 2002-09-24 Qualcomm, Incorporated Encoding of periodic speech using prototype waveforms
US6691084B2 (en) * 1998-12-21 2004-02-10 Qualcomm Incorporated Multiple mode variable rate speech coding
US6260017B1 (en) * 1999-05-07 2001-07-10 Qualcomm Inc. Multipulse interpolative coding of transition speech frames
US6397175B1 (en) * 1999-07-19 2002-05-28 Qualcomm Incorporated Method and apparatus for subsampling phase spectrum information
US6324505B1 (en) * 1999-07-19 2001-11-27 Qualcomm Incorporated Amplitude quantization scheme for low-bit-rate speech coders
US6665638B1 (en) * 2000-04-17 2003-12-16 At&T Corp. Adaptive short-term post-filters for speech coders
KR20030005222A (ko) * 2001-01-10 2003-01-17 코닌클리케 필립스 일렉트로닉스 엔.브이. 코딩
US6931373B1 (en) * 2001-02-13 2005-08-16 Hughes Electronics Corporation Prototype waveform phase modeling for a frequency domain interpolative speech codec system
US20030028887A1 (en) * 2001-07-02 2003-02-06 Laurent Frouin Method to control the copying and/or broadcasting of audiovisual signals transmitted to within a home audiovisual network
US20030074383A1 (en) * 2001-10-15 2003-04-17 Murphy Charles Douglas Shared multiplication in signal processing transforms
US8355907B2 (en) * 2005-03-11 2013-01-15 Qualcomm Incorporated Method and apparatus for phase matching frames in vocoders

Also Published As

Publication number Publication date
WO2007120308A3 (en) 2008-02-07
US8145477B2 (en) 2012-03-27
KR20080085007A (ko) 2008-09-22
US20070185708A1 (en) 2007-08-09
CN101317218A (zh) 2008-12-03
CN101317218B (zh) 2013-01-02
TWI358056B (en) 2012-02-11
TW200802302A (en) 2008-01-01
WO2007120308A2 (en) 2007-10-25
JP2009518666A (ja) 2009-05-07
JP4988757B2 (ja) 2012-08-01
EP1955320A2 (en) 2008-08-13

Similar Documents

Publication Publication Date Title
KR101019936B1 (ko) 음성 파형의 정렬을 위한 시스템, 방법, 및 장치
US6691084B2 (en) Multiple mode variable rate speech coding
US8401843B2 (en) Method and device for coding transition frames in speech signals
JP4659314B2 (ja) 音声符号器用のスペクトル・マグニチュード量子化
CN102203855B (zh) 用于低位速率应用的译码方案选择
TWI362031B (en) Methods, apparatus and computer program product for obtaining frames of a decoded speech signal
CN105825861B (zh) 确定加权函数的设备和方法以及量化设备和方法
US6640209B1 (en) Closed-loop multimode mixed-domain linear prediction (MDLP) speech coder
EP2040253A1 (en) Predictive dequantization of voiced speech
US20040002856A1 (en) Multi-rate frequency domain interpolative speech CODEC system
US20170309285A1 (en) Apparatus and method for selecting one of a first encoding algorithm and a second encoding algorithm using harmonics reduction
CN102197423A (zh) 用于低位速率应用的过渡语音帧的译码
CN102067212A (zh) 用于低位速率应用的对过渡语音帧的译码
KR100804888B1 (ko) 프레임 에러에 대한 민감도를 감소시키기 위하여 코딩 방식선택 패턴을 사용하는 예측 음성 코더
KR100463417B1 (ko) 상관함수의 최대값과 그의 후보값의 비를 이용한 피치검출 방법 및 그 장치
Kleijn et al. A 5.85 kbits CELP algorithm for cellular applications
US6449592B1 (en) Method and apparatus for tracking the phase of a quasi-periodic signal
US20220180884A1 (en) Methods and devices for detecting an attack in a sound signal to be coded and for coding the detected attack
Bhaskar et al. Low bit-rate voice compression based on frequency domain interpolative techniques
Kroon et al. A low-complexity toll-quality variable bit rate coder for CDMA cellular systems
Bae et al. On a reduction of pitch searching time by preliminary pitch in the CELP vocoder
CHALOM Speech Compression: A Review of the Sinusoidal Model and CELP
HUE035162T2 (en) Systems, procedures, equipment and computer-readable media for decoding harmonic signals

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 9