KR100972349B1 - Ltp 부호화 시스템에서 피치 래그를 결정하기 위한시스템 및 방법 - Google Patents

Ltp 부호화 시스템에서 피치 래그를 결정하기 위한시스템 및 방법 Download PDF

Info

Publication number
KR100972349B1
KR100972349B1 KR1020077017213A KR20077017213A KR100972349B1 KR 100972349 B1 KR100972349 B1 KR 100972349B1 KR 1020077017213 A KR1020077017213 A KR 1020077017213A KR 20077017213 A KR20077017213 A KR 20077017213A KR 100972349 B1 KR100972349 B1 KR 100972349B1
Authority
KR
South Korea
Prior art keywords
pitch lag
lag
search window
new
current frame
Prior art date
Application number
KR1020077017213A
Other languages
English (en)
Other versions
KR20070090261A (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 KR20070090261A publication Critical patent/KR20070090261A/ko
Application granted granted Critical
Publication of KR100972349B1 publication Critical patent/KR100972349B1/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/09Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals

Landscapes

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

Abstract

오디오 부호화 시스템에서 정보의 현재 프레임을 위한 래그 예측을 결정하기 위해, 적응 래그 탐색 윈도우를 사용하도록 구성된 방법들, 컴퓨터 코드 생성물들, 장치들, 모듈들, 시스템들, 및 인코더들이 개시된다. 시스템은 래그 추정이 신뢰성이 있는지 결정할 수 있고 그렇지 않다면, 새로운 윈도우가 선택될 수 있고, 새로운 래그 추정이 새로운 탐색 윈도우에 기초하여 계산될 수 있다. 적응 스레시홀드는 래그 추정이 신뢰성이 있는지 결정하기 위해 래그 추정을 위한 상호 상관에 비교될 수 있다. 시스템은 또한 부호화 이득이 예측을 사용하여 얻어지기 쉬운지 결정할 수 있고, 그렇지 않다면 계산적으로 비용이 드는 시간 - 주파수 변환이 회피될 수 있다.

Description

LTP 부호화 시스템에서 피치 래그를 결정하기 위한 시스템 및 방법{System and method for determinig the pitch lag in an LTP encoding system}
본 발명은 일반적으로 부호화 시스템들의 분야에 관련된다. 좀더 자세히는, 본 발명은 향상된 오디오 부호화 시스템들 및 방법들에 관련된다.
많은 애플리케이션에서, 신호들 또는 파일들을 나타내기 위해 필요한 정보량을 최소화하는 것이 바람직하다. 정보량을 최소화함으로써, 신호를 전송하기 위해 필요한 대역폭 및/ 또는 파일 저장하기 위해 필요한 스토리지(storage) 공간이 절약될 수 있다. 이것은 이동 통신 장치들과 같이, 제한된 자원들을 갖는 장치들 및 시스템들의 경우에 특히 유용하다.
전형적으로 인코더를 사용하여 압축된 한 유형의 신호는 오디오 신호이다. 오디오 인코더들은 신호를 나타내기 위해 필요한 비트율(bitrate)이 상당히 감소될 수 있도록, 시간 도메인 오디오 신호를 압축하기 위해 사용될 수 있다. 이상적으로, 신호를 전송하기 위해 사용되는 전송 채널의 제한들에 적합하도록, 부호화된(encoded) 신호의 비트율은 감소된다. 이는 실시간(real-time) 통신 및 스트리밍 서비스들 애플리케이션의 경우에 특히 유용하다. 부호화된 오디오 신호를 나타내는 파일의 크기는 압축을 사용하면 또한 감소될 수 있다. 이것은 특히 고품질 오디오 콘텐츠를 다운로딩 및/ 또는 저장하는 경우에 특히 유용하다. 전형적으로 오디오 인코더는 어느 주어진 비트율 또는 압축된 파일 크기에서 인지 왜곡(perceptual distortion)을 최소화함을 목표로 한다. 그러나, 비트율이 더 낮아지거나 파일에 적용되는 압축이 더 많아질수록, 인코더가 이런 두 가지 컨디션(condition)들을 충족하는 것이 더 힘들어진다. 전형적으로, 이것은 어떤 부호화 시스템의 전체적인 성능(performance)을 최종적으로 정의하는 것은 부호화하기 어려운 신호인 최악(worst-case)의 신호들을 대상으로 하는 (부호화) 성능이다. 어떤 부호화 시스템의 전체적인 성능을 정의하는 다른 요인은 부호화 속력 및 신호를 부호화하는데 필요한 자원이다.
많은 부호화 기술들 및 인코더들이 현재 존재하지만, 기존의 기술들 및 인코더들에서 하나의 문제는 느리다는 것이다. 기존의 기술들에서 접하게 되는 또 하나의 문제는 비정상적인 양의 메모리와 같은 자원들을 요구한다는 것이다. 이것은 연구 환경에서는 문제가 되지 않을 수 있지만, 상업적 용도 및 특히 모바일 용도의 경우, 부호화 속도 및 자원 요구들은 중요한 고려사항들이 될 수 있다.
고급 오디오 부호화(Advanced Audio Coding, AAC)는 오디오 부호화 시스템의 예이고, 이것은 고품질의 오디오 파일들을 발생시키기 위해 사용될 수 있다. MP3의 후계자인 AAC는 광대역 오디오 부호화 알고리즘이고, 이것은 고품질의 오디오 파일들을 발생시키기 위해 사용될 수 있다. AAC는 고품질의 디지털 오디오를 전달하기 위해 필요한 데이터의 양을 감소시키기 위해 2개의 부호화 전략들을 이용한다. 인지될 수 없는 신호 성분(component)들이 제거되고, 부호화된 신호에서 잉여 부분들 이 제거된다. AAC는 일반적으로 128 포인트 및 1024 포인트의 변형이산 여현변환(modified discrete cosine transform, MDCT)인 2개의 주파수 해상도(resolution)들을 지원한다. 전자는 일반적으로 과도기적(transient) 신호 세그먼트(segment)들의 효율적인 처리를 위해 사용될 수 있고, 후자는 (의사(quasi))-정상 신호(stationary signal) 세그먼트들이 고 에너지 압축(compaction)을 이루기 위해 제시되었을 때 사용될 수 있다.
AAC는 광범위한 부호화 툴(tool)들의 세트를 제공하고, 이것은 다양한 부호화 컨디션들 하에서 주관적 오디오 품질을 최대화하려는 시도로 사용될 수 있다. AAC는 신호를 부호화하기 위해 사용될 수 있는 툴들의 서브세트(subset)를 정의할 수 있는 프로파일(profile)들을 사용해서 동작한다.
이런 프로파일의 하나인 AAC 장기 예측(Long-Term Prediction, LTP)은 토널(tonal) 신호 세그먼트들을 모델링하기 위해 사용될 수 있고, 최악-신호 세그먼트들의 부호화에 상당한 품질 향상을 제공할 수 있다. 그러나 다른 기존의 부호화 기술들과 유사하게 AAC LTP 인코더들은 매우 느린 부호화 속도를 경험할 수 있다. 하나의 원인은 상당한 양의 계산이 요구될 수 있는 LTP 래그(lag) 정보의 추정(estimation)이 행해지기 때문일 수 있다.
LTP가 과거의 재구성된 신호 세그먼트들(past reconstructed signal segments)을 반복함으로써, 장기간의 상관관계(correlation)들을 모델링하도록 AAC LTP 인코더가 구성될 수 있기 때문이다. LTP에 사용되는 하나의 전달함수 샘플은 수학식 1과 같을 수 있다
Figure 112007054302094-pct00001
여기서,
Figure 112007054302094-pct00002
은 LTP 예측기(predictor) 계수이고, M은 보통 피치 래그(pitch lag)로 지칭되는 예측기 지연이다. 예측기 파라미터들(LTP 계수 및 래그)은 평균 제곱 오차(mean squared error) 함수를 최소화함으로써 결정될 수 있다. 평균 제곱 오차 함수를 정의하는 하나의 방법은 수학식 2와 같을 수 있다.
Figure 112007054302094-pct00003
여기서 N은 (시간 도메인에서)프레임 크기이고,
Figure 112007054302094-pct00004
는 입력 신호 세그먼트이고,
Figure 112007054302094-pct00005
은 과거의 재구성된 신호이다.
바람직한 최적의 LTP 예측기 계수는 수학식 3 및 수학식 4와 같이 계산될 수 있다.
Figure 112007054302094-pct00006
여기서,
Figure 112007054302094-pct00007
LTP 래그는 수학식 5와 같이, 특정 래그 범위를 통해,
Figure 112007054302094-pct00008
Figure 112007054302094-pct00009
사이에 정규화된 상호상관(cross-correlation)을 최대화함으로써, 결정될 수 있다.
Figure 112007054302094-pct00010
LTP 래그가 결정된 후에, 예측된 시간 도메인 신호는 샘플 전달 함수를 이용하여 계산될 수 있다. 이때, 예측된 시간 도메인 신호는 나머지 신호 계산을 위해 주파수 도메인 표현(representation)으로 변환될 수 있다. AAC에서, 이런 시간 - 주파수(time-to-frequency, t/f) 변환은 일반적으로 1024 포인트의 변형이산 여현 변환(MDCT)일 수 있다. 예측 이득을 최대화하기 위해서, 차신호(difference signal)는 주파수 대역 기반 상에서 얻을 수 있다. 예측가능한 컴포넌트들이 대역 내에 제시된다면, 차신호가 사용될 수 있고; 그렇지 않으면 그 대역은 변경되지 않은 채 남을 수 있다. 이런 제어는 한 세트의 플래그(flag)들로 구현될 수 있고, 이것들은 다른 예측기 파라미터들과 함께 비트스트림(bitstream) 내에서 전송된다.
위에서 언급된 바와 같이, 위에서 설명된 것과 같은 부호화 방법들은 느리거나 비실용적인 양의 자원들을 요구하는 경향이 있다. 이것은 부호화 속도 및 자원 요구가 특히 중요한 문제들이 되는, 이동 통신 장치들과 같은 특정 애플리케이션들에서 특별할 수 있다. 이처럼, 고품질의 오디오 신호를 여전히 유지하면서도 부호화 시간 및 자원들을 감소시킬 수 있는, 오디오 신호를 부호화하기 위한 향상된 시스템들, 방법들, 장치들 및 컴퓨터 코드 생성물들에 대한 필요가 존재한다.
본 발명의 실시 예는 AAC LTP 부호화 시스템에서 정보의 현재 프레임에 대한 피치 래그를 결정하기 위한 방법들, 컴퓨터 코드 생성물들, 장치들, 모듈들, 시스템들 및 인코더들에 관련된다. 실시 예들은 이전 프레임 래그 근처에서 현재 프레임내에 래그 탐색 윈도우(lag search window)를 선택하고, 현재 프레임을 위한 래그 탐색 윈도우에서 피치 래그 추정(pitch lag estimate)을 계산하도록 구성될 수 있다. 본 발명의 실시 예들은 또한 피치 래그 추정이 신뢰성이 없는지를 결정하고, 피치 래그 추정이 신뢰성이 없다고 결정되면, 새로운 래그 탐색 윈도우를 선택하고 새로운 래그 탐색 윈도우에서 새로운 피치 래그 예측을 계산하도록 또한 구성될 수 있다.
새로운 래그 탐색의 선택은 현재 프레임의 처음부터 탐색 윈도우의 하부 경계(lower boundary)까지의 영역에 대응하는 하부 탐색 윈도우를 설정, 탐색 윈도우의 상부 경계(upper boundary)로부터 현재 프레임의 끝(end)까지의 영역에 대응하는 상부 탐색 윈도우를 설정, 하부 탐색 윈도우에서 하위 피치 래그(lower pitch lag) 및 상부 윈도우에서 상위 피치 래그(upper pitch lag)를 계산, 최대 상호상관을 생성하는 하위 피치 래그 또는 상위 피치 래그 중 하나에 대응하는 새로운 탐색 윈도우 위치 결정기(locator)를 선택, 새로운 탐색 윈도우 위치 결정기 주변에 새로운 탐색 윈도우를 설정, 새로운 탐색 윈도우를 위한 새로운 피치 래그를 계산, 최대 상호상관을 생성하는 피치 래그 또는 새로운 피치 래그 중 하나를 래그 예측기로 선택하는 것을 포함한다. 피치래그가 신뢰성이 있는지에 대한 결정은 피치 래그에 연관된 상호 상관을 적응 스레시홀드(adaptive threshold)와 비교하는 것을 포함할 수 있다.
추가로, 본 발명의 실시 예들은 부호화 이득이 피치 래그에 대한 예측을 사용하여 얻어질 수 있는지 결정하고 만약 그렇지 않다면 시간 - 주파수 변환의 수행을 생략하도록 구성될 수 있다. 부호화 이득이 피치 래그에 대한 예측을 사용하여 얻어질 수 있다고 결정된다면, 시간 - 주파수 변환이 수행될 수 있고, 예측이 주파수 도메인에서 평가될 수 있고, 적응 스레시홀드(adaptive threshold)를 업데이트할것인지가 결정될 수 있다.
다른 특징들과 마찬가지로 이런 본 발명의 실시 예의 양상들 및 이점들은 상세한 설명에서 첨부된 도면들을 첨부하여 좀더 상세히 논의될 것이다.
도 1은 본 발명에 따른 시스템의 하나의 실시 예의 블록도.
도 2는 본 발명에 따른 인코더의 하나의 실시 예의 블록도.
도 3은 본 발명에 따른 방법의 하나의 실시 예의 흐름도.
도 4는 도 3의 흐름도에 계속되는 흐름도.
도 5는 본 발명에 따른 장치의 하나의 실시 예의 블록도.
도 1을 참조하면, 오디오 부호화 시스템(10)의 하나의 실시 예가 도시된다. 오디오 부호화 시스템(10)은 오디오 신호(14)를 부호화하도록 구성된 인코더(12)를 포함한다. 부호화 후에, 인코더(12)는 전송 라인(16) 상에서 부호화된 신호를 전송 라인으로 전송하거나 부호화된 신호를 송신하여 파일로 저장하게 한다. 디코더(18)는 부호화된 신호를 수신 또는 로딩(loading)하고, 부호화된 신호를 오디오 신호의 재생(복호화) 버전(20)으로 복호화하기 위해 포함될 수 있다. 시스템(10)의 다양한 실시 예들에서, 인코더(12) 및/ 또는 디코더(18)는 무선 또는 유선 통신 시스템 또는 양 시스템들의 소정의 조합 내에 포함될 수 있다. 본 발명에 따른 LTP 래그의 추정은 퍼스널 컴퓨터, 오디오 파일 서버 또는 기지국과 같은 네트워크 장치들에서뿐만 아니라, 오디오 신호들 또는 디지털 라디오(radio)를 처리할 수 있는 이동 전화와 같은 이동 장치들 모두에서 AAC LTP 부호화 동안에 일어날 수 있다.
도 2는 이번 경우에 AAC LTP 인코더인, 본 발명에 따른 인코더(12)의 하나의 실시 예의 블록도를 도시한다. 우선, 피치 래그는 블록(22)에서 예측될 수 있다. 다음에, 예측기 계수는 블록(24)에서 계산될 수 있다. 그 후에, 예측기 계수는 인코더 및 디코더가 에러가 없는 컨디션들 하에서 동일한 예측 신호를 발생시킬 수 있도록, 블록(26)에서 양자화될 수 있다. 예측기 계수(또는 또한 탭(tap)으로 알려짐)의 양자화 후에, 예측된 시간 도메인 프레임이 블록(28)에서 얻어질 수 있다. 예측된 프레임은 최종적으로 블록(30)에서 나머지 스펙트럼 계산을 위해 시간-주파수 표현으로 변환될 수 있다.
이것이 예측 이득이 있는 경우에만, 예측이 사용되는 것을 보장하기 위해, 적절한 예측기 제어가 사용될 수 있고, 이것은 또한 디코더(18)로 전송될 수 있다. 주파수 선택 스위치(Frequency Selective Switch, FSS)(32)는 예측기 제어 파라미터들 및 예측 이득을 계산하기 위해 사용될 수 있다. 예측기 제어를 위해, MDCT 프레임들(원래 35 그리고 예측된 경우에는 37)은 주파수의 비균일(non-uniform) 영역들인 배율(scale factor)대역들로 그룹화될 수 있다. 우선, 블록(34)에서 각 배율 대역을 위해, 예측 이득이 결정될 수 있고, 대역 내에 예측은 양의 이득(positive gain)이 얻어질 수 있다면 활성화될 수 있고, 그렇지 않다면, 그 대역에 대한 예측은 폐기될 수 있다. 최종적으로, 블록(36)에서 이득이 적어도 예측기 측 정보를 보상하는지(compensate) 알아보기 위해, 전체 예측 이득이 결정될 수 있다. 만일 이것이 사실이라면, 나머지 스펙트럼은 예측이 활성화되는 이런 배율 대역들을 위해 형성될 수 있다. 나머지 배율 대역들을 위해, 입력 스펙트럼(35)이 이렇게 사용될 수 있다. 만일 전체 예측 이득이 음이라면, 예측은 현재 프레임에서 폐기될 수 있 고 단일한(single) 신호 비트는 이것을 신호화하는(signaling) 디코더(18)로 전송될 수 있다. 예측 이득은 예측을 전혀 사용하지 않는 경우에 비교해 예측기를 사용하는 효과를 나타내기 위해 사용될 수 있다.
양자화 이후에, LTP의 타임 히스토리 버퍼(time history buffer)가 업데이트될 수 있다. 예측된 스펙트럼 샘플들이 활성화된, 역 양자화 스펙트럼(블록(38))으로 추가될 수 있고, 최종적으로 합성 필터 뱅크(synthesis filter bank)(블록(40))로 전달될 수 있다. 버퍼의 가장 오래된 부분은 폐기될 수 있고, 현재 프레임이 버퍼에 저장될 수 있다(블록(42)). 도 2에 도시된 바와 같이, 이런 오퍼레이션들의 어떤 것들은 인코더(12)의 내부 디코더(44)에 의해 행해질 수 있다.
본 발명의 실시 예들의 다양한 양상들이 LTP 래그 예측에 포함된 계산의 복잡도를 감소시키기 위해 사용될 수 있다. 예를 들어, 적응 탐색 윈도우는 래그 추정을 위해 사용될 수 있고, 신호 적응 결정 스레시홀드들을 수반하는 적응 2/4 래그 결정 절차가 성능을 향상시키기 위해 사용될 수 있고, 좀 더 전통적인 AAC 부호화 방법들 및 특히 AAC LTP 부호화 방법들의 요구들을 감소시키기 위해 사용될 수 있다 .
하나의 실시 예에서, LTP 래그 추정은 이전의 래그의 근처에서 LTP 래그를 추정하기 위해 적응 탐색 윈도우를 사용함으로써 향상될 수 있다. 예를 들어,
Figure 112007054302094-pct00011
이 프레임
Figure 112007054302094-pct00012
(이전 프레임)의 LTP 래그를 나타낸다면, 이때 프레임
Figure 112007054302094-pct00013
(현재 프레임)을 위한 LTP 래그는 수학식 6과 같이 이전 래그의 근처에서 최적의 LTP 래그 를 우선적으로 추정함으로써 결정될 수 있다.
Figure 112007054302094-pct00014
여기서
Figure 112007054302094-pct00015
Figure 112007054302094-pct00016
는 적응 탐색 윈도우의 경계들을 설명한다. 하나의 실시 예에서, 이런 값들은 64에서 256까지 각각 설정될 수 있다. LTP 래그 추정은 래그
Figure 112007054302094-pct00017
이 신뢰성 있는지 결정하기 위해, 래그
Figure 112007054302094-pct00018
에 연관된 상호 상관을 적응 스레시홀드
Figure 112007054302094-pct00019
과 비교함으로써 더욱 향상될 수 있다. 래그
Figure 112007054302094-pct00020
은 수학식 7이 유효하다면 신뢰성이 없다(unreliable)고 생각될 수 있다. :
Figure 112007054302094-pct00021
여기서
Figure 112007054302094-pct00022
는 최대 허용 상호상관 레벨이고,
Figure 112007054302094-pct00023
는 각각의 소정 수의 과거(past) 프레임들(본 발명의 하나의 실시 예에서 8 프레임들)에서 LTP가 활성화되었는지(enalbed)
Figure 112007054302094-pct00024
또는 비활성화 되었는지(disabled)
Figure 112007054302094-pct00025
표시하는 이진 배열(binary array)이고,
Figure 112007054302094-pct00026
은 본 발명의 하나의 실시 예에서 과거 수의 프레임들(본 발명의 하나의 실시 예에서 3 프레임들)을 위한 선택된 LTP 래그의 평균 상호상관이다. 하나의 실시 예에서 값
Figure 112007054302094-pct00027
Figure 112007054302094-pct00028
로 설정될 수 있다.
수학식 7이 래그
Figure 112007054302094-pct00029
이 신뢰성이 있다고 표시하면(값 0으로 복귀), 약간의 추가의 후처리(postprocessing) 검사(check)들이 예측 이득이 선택된 래그로 얻어질 수 있다는 신뢰성를 증가시키기 위해 행해질 수 있다. 하나의 실시 예에서, 이런 후처리 단계들은 수학식 8을 포함할 수 있다:
Figure 112007054302094-pct00030
래그 예측이 비제로(non-zero) 래그로 복귀하면, 현재 프레임을 위한 예측 에러 스펙트럼을 결정할지 여부에 대한 결정이 행해질 수 있다. 에러를 전송함으로써 부호화 이득이 얻어질 수 있는지 예상하는 것에 상당한 근거(ground)들이 있을 때만 예측 에러 스펙트럼이 결정될 수 있도록, 이런 결정이 행해진다. LTP 래그 및 계수는 예측된 시간 영역 신호를 얻기 위해 사용될 수 있으나 AAC 부호화에서, 예측 에러는 보통 주파수 도메인 신호로 전송된다. 시간 - 주파수 변환은 보통 상대적으로 상당한 계산을 의미하기 때문에, 시간 - 주파수 변환들의 수를 최소화하는 것이 이득이다. 하나의 실시 예에서, 시간 - 주파수 변환들의 수는 수학식 9와 같이 최소화될 수 있다.
Figure 112007054302094-pct00031
여기서,
Figure 112007054302094-pct00032
는 수학식 1에 따라 얻어진 예측 시간 도메인 신호이고,
Figure 112007054302094-pct00033
는 시간 도메인 에너지들을 위한 신호 스레시홀드이다. 하나의 실시 예에서,
Figure 112007054302094-pct00034
의 값은 0.5로 설정될 수 있다.
Figure 112007054302094-pct00035
이 0으로 복귀한다면, LTP는 현재 프레임을 위해 폐기될 수 있고 따라서, 어떤 스펙트럼도 계산될 필요가 없다. 그렇지 않다면, 예측 에러는 주파수 도메인에서 평가될 수 있다. 어느 경우에도, 값
Figure 112007054302094-pct00036
은 다음 프레임에서 LTP 래그의 계산을 위해 저장될 수 있다.
수학식 7은 비신뢰성 있는 LTP 래그 추정기로 복귀하고, 추가의 LTP 래그 추정이 행해질 수 있다. 우선 최적의 래그 추정기들은 수학식 5를 사용하여, 래그 범위들
Figure 112007054302094-pct00037
Figure 112007054302094-pct00038
에 대해 얻어질 수 있다. 추정기들은 즉 래그 증가/ 감소가 일관적(unity)이지 않을 수 있는, 조악한(coarse) 그리드 상에서 계산될 수 있다. 하나의 실시 예에서, 그리드의 크기는 3으로 설정될 수 있고, 이것은 제1 및 제2 래그 범위를 위한 가능한 래그 포지션들이 각각
Figure 112007054302094-pct00039
Figure 112007054302094-pct00040
일 수 있다는 것이다.
다음으로, 2개의 래그들의 최대 상호상관을 주는 래그는 수학식 10과 같이 선택될 수 있다.
Figure 112007054302094-pct00041
그리고 탐색 윈도우는
Figure 112007054302094-pct00042
근처
Figure 112007054302094-pct00043
의 범위로 좁아질 수 있다. 하나의 실시 예에서,
Figure 112007054302094-pct00044
의 값은
Figure 112007054302094-pct00045
으로 설정될 수 있다. 이런 새로운 윈도우를 위한 최적의 래그는 상호상관이 수학식 11을 만족한다면 계산될 수 있다.
Figure 112007054302094-pct00046
여기서,
Figure 112007054302094-pct00047
는 구현 종속 상수(implementation dependent constant)이다. 하나의 실시 예에서,
Figure 112007054302094-pct00048
의 값은 1.05로 설정될 수 있다. 최종적으로, 래그 예측기는 수학식 12와 같이 최대 상호 상관을 주는 래그 값으로 선택될 수 있다.
Figure 112007054302094-pct00049
이후에, 처리는 수학식 8로부터 계속될 수 있다.
AAC는 일반적으로 128 및 1024 포인트 MDCT들인, 2개의 주파수 해상도들을 지원한다. 전자는 과도기적(transient) 신호 세그먼트(segment)들의 효율적인 처리를 위해 일반적으로 사용될 수 있고, 후자는 (의사(quasi))-정상 신호 세그먼트들이 고 에너지 압축을 이루기 위해 제시되었을 때 사용될 수 있다. AAC 표준은 LTP가 1024-포인트 MDCT로만 사용될 수 있다고 특정한다. 이와 같이, 128 포인트의 MDCT가 현재 프레임에 적용된다면, LTP는 계산될 필요가 없다, 만약 이런 경우라면, LTP 래그는 128 포인트의 MDCT에서 1024 포인트의 MDCT로 전환할 때는, 이전 프레임로부터는 이용할 수 없을 것이다. LTP 래그 추정 루틴(routune)에서 이런 상황을 다루기 위해, -1과 같은,더미(dummy) 래그 값은 이전 래그 값이 알려지지 않았음을 표시하기 위해 사용될 수 있다. 더미 래그 값을 만나게 되면, 래그는 아래 와 같이 예측될 수 있다. :
우선, 최적의 래그 값은 전체 래그 범위가
Figure 112007054302094-pct00050
인 조악한 그리드 상에서 결정될 수 있다. 하나의 실시 예에서 그리드의 크기는 4로 설정된다. 다음에, 래그 탐색 윈도우는 다시 좁혀질 수 있고, 최종 래그는 수학식 13에 따라 얻어질 수 있다:
Figure 112007054302094-pct00051
여기서,
Figure 112007054302094-pct00052
Figure 112007054302094-pct00053
은 최종 탐색 윈도우의 경계들을 특정한다. 하나의 실시 예에서, 이런 값은 56 및 70으로 각각 설정될 수 있다. 이 후에 처리는 수학식 8에 따라,
Figure 112007054302094-pct00054
를 계산함으로써 계속될 수 있다.
신뢰성 있는 LTP 래그가 계산되고 후 처리가 시간 - 주파수 변환을 수행할 가치가 있다고 결정한다면, 예측 에러는 주파수 도메인에서 평가될 수 있다. 하나의 실시 예에서, 이것은 각 주파수 대역을 위한 에러 스펙트럼을 계산하는 것 및 예측이 대역에 대해 활성화되는지 아닌지 결정하는 것을 포함한다. 하나의 실시 예 에서, 에러를 부호화하는 것이 원래의 스펙트럼보다 더 많은 비트를 요구한다면 예측이 사용되지 않을 수 있다. 에러 및 원래의 스펙트럼 샘플들에 요구되는 비트들의 수는 신호들의 인지 엔트로피(perceptual entropy)들 또는 신호 대 잡음(signal-to-noise, SNR) 값들에 기초해 계산될 수 있다. 아래에서 설명되는 하나의 실시 예에서, SNR 값들이 사용된다. 주어진 주파수 대역(sfb)를 위한 원래의 스펙트럼 샘플들 대신에 에러 스펙트럼 샘플들을 전송함으로써 저장된 비트들의 수는 수학식 14와 같이 계산될 수 있다.
Figure 112007054302094-pct00055
여기서,
Figure 112007054302094-pct00056
은 대응하는 주파수 대역 폭이고,
Figure 112007054302094-pct00057
은 대응하는 주파수 대역의 시작에 대한 오프셋이고,
Figure 112007054302094-pct00058
Figure 112007054302094-pct00059
은 원래의 시간 신호 및 예측된 시간 신호 각각의 MDCT 표현들이다. LTP 예측을 사용하여 저장된 전체 비트들의 수는 각 주파수 대역을 통해 수학식 14를 적산함으로써 얻어질 수 있다. 상호 상관과 관련된 적응 스레시홀드
Figure 112007054302094-pct00060
은 수학식 15와 같이 조정될 수 있다.
Figure 112007054302094-pct00061
여기서,
Figure 112007054302094-pct00062
은 프레임에 제시된 주파수 대역들의 전체 수를 설명하고
Figure 112007054302094-pct00063
Figure 112007054302094-pct00064
은 아래의 의사 코드(pseudo-code)에 따라 결정된다:
Figure 112007054302094-pct00065
Figure 112007054302094-pct00066
은 부호화의 시작에서 단일한(unity) 값으로 설정될 수 있음을 주의해야 한다. 본 발명의 실시 예들은 LTP 부호화 툴의 성능에서 어떤 성능 저하도 없이 부호화 속도에서 상당한 향상을 제공한다. 본 발명의 실시 예들은 폐회로 콘텍스트(context)에서 래그 추정을 위해 사용될 수 있다. 폐루프(closed loop) 래그 추정에서, 과거 재구성된 시간 신호가 성능에서 향상들을 얻기 위해 사용될 수 있고, 이에 반해, 개루프 추정에서는 입력신호만이 래그의 추정을 얻기 위해 사용될 수 있다.
도 3 및 도 4는 본 발명에 따른 하나의 실시 예를 도시한다. 도 3 및 도 4에 도시된 방법은 LPT 래그를 결정하기 위한 향상된 방법을 포함한다. 전체 프레임에 대한, LTP 래그를 계산하는 대신에 적응 래그 탐색 윈도우가 이전 프레임 래그의 근처에서 설정된다. 블록(320)에서 최적의 LTP 래그의 추정이 적응 래그 탐색 윈도우를 사용하여 계산될 수 있고, 결정된 최적의 LTP 래그에 연관된 상호상관이 블록(330)에서 계산될 수 있다. 이런 상호 상관은 블록(340)에서, 계산된 LTP 래그가 위에서 좀더 상세히 설명된 바와 같이 신뢰성 있는지 결정하기 위해, 적응 스레시홀드에 비교될 수 있다.
LTP 래그가 신뢰성있다고 결정되면, 부호화 이득이 예측을 사용하여 얻어질 수 있는지 블록(350)에서 결정될 수 있다. 만약 부호화 이득이 예측을 사용하여 얻어질 수 있다면, 예측 에러 스펙트럼을 결정하기 위해 블록 (360)에서 시간 - 주파수 변환을 할 수 있고, 예측 에러는 이후 블록(370)에서 주파수 도메인에서 평가될 수 있다. 부호화 이득이 얻어질 수 없다고 결정된다면, LTP는 블록(380)에서 폐기 될 수 있고 예측 에러 스펙트럼을 계산할 필요가 없고, 따라서 귀중한 계산 시간 및 자원들을 절약할 수 있다.
원래의 적응 탐색 윈도우에 기초한 LTP 래그 예측이 신뢰성 없다고 결정된다면, 새로운 적응 탐색 윈도우가 선택될 수 있다. 하나의 실시 예에서, 이것은 구(old) 적응 탐색 윈도우 아래 및 위의 범위에서 래그 추정들을 계산하는 것을 포함할 수 있다. 바꾸어 말하면, 하위 래그는 블록(400)에서 범위의 처음부터 구 적응 래그 윈도우의 하한까지의 범위를 기초로 계산될 수 있고, 상위 래그는 블 록(410)에서 구 적응 래그 윈도우의 상한으로부터 범위의 상부 끝까지 범위를 기초로 계산될 수 있다. 상호상관들은 블록(420)에서 각각의 상위 및 하위 래그들에 대해 계산될 수 있고, 블록(430)에서 상위 또는 하위 래그들이 최대 상호 상관을 생성할 수 있는지 결정될 수 있다. 상위 래그가 최대 상호상관을 생성하면, 블록(440)에서 새로운 탐색 윈도우가 상위 래그 근처에서 선택될 수 있다.
하위 래그가 최대 상호상관을 생성하면, 블록(450)에서 새로운 탐색 윈도우가 하위 래그 근처에서 선택될 수 있다. 새로운 탐색 윈도우를 선택한 후에, 새로운 최적의 래그가 블록(460)에서 새로운 탐색 윈도우를 위해 계산될 수 있다. 이 후에, 이전 프레임 래그에 기초해 탐색 윈도우를 사용하여 계산되는, 새로운 최적의 래그 추정기 또는 원래의 래그 추정기 중의 하나인, 최대 상호상관을 생성하는 래그 추정기가 블록(470)에서 선택될 수 있다. 래그 추정기를 선택한 후에, 블록(470)에서, 알고리즘은 부호화 이득이 선택된 예측을 사용하여 얻어질 수 있는지 결정하기 위해 블록(350)으로 복귀되고, 적절한 후속 절차가 블록(350)에서 행해진 결정에 기초하여 이어질 수 있다.
도 5를 참조하면, 본 발명은 이동 또는 네트워크 통신 장치의 일부로서 구현될 수 있다. 예시적인 이동 통신 장치들은 이동 MP3/AAC 플레이어, 콤팩트 디스크 플레이어, PDA, PC, 또는 오디오 처리 성능을 가진 셀룰러 전화를 포함할 수 있으며, 이에 제한되지는 않는다. 예시적인 네트워크 통신 장치들은 기지국에 제한되지 않고, 퍼스널 컴퓨터 또는 오디오 파일 서버를 포함한다. 통신 장치(500)는 도 5에 도시된 바와 같이 클록(510), 애플리케이션(520), 통신 인터페이스(530), 프로세 서(540), 메모리(550) 및 인코더/ 디코더(560)를 포함할 수 있다. 통신 장치의 정확한 아키텍처는 중요하지 않고, 별개의 그리고 추가의 컴포넌트들이 통신 장치에 포함될 수 있다. 본 발명의 래그 추정 기술은 통신 장치(500)의 프로세서(540), 메모리(550) 및 인코더/ 디코더(560)에서 실행될 수 있다.
[001]본 발명을 수행하는 프로세서(540) 및 애플리케이션(520)을 도와주는 메모리(550)는, 랜덤 액세스 메모리( Random Access Memory, RAM), 리드 온리 메모리(Read Only Memory, ROM), 또는 플래시 메모리일 수 있으며, 그것들로 제한되지는 않는다. 본 발명을 수행할 수 있는 프로세서(540)는 소프트웨어 또는 하드웨어로 구현될 수 있다. 본 발명이 사용될 수 있는 애플리케이션(520)은, 인터넷 오디오 전송 및 스트리밍을 돕는 애플리케이션들 및 디지털 라디오 및 오디오 플레이어들의 동작을 포함하며, 그에 제한되지는 않는다.
[0002] 본 발명의 또 하나의 가능한 구현은 본 발명을 수행시 포함된 컴퓨터 코드 생성물의 일부로서일 수 있다. 컴퓨터 코드 생성물은 컴퓨터 판독가능 코드 및 컴퓨터 판독가능 스토리지 매체를 포함한다. 컴퓨터 판독가능 코드는 본 발명에 따라 프로세서가 취하는 동작들을 명령하는 명령들의 세트이다. 컴퓨터 판독가능 코드는 C 또는 C++과 같은 고급 언어 또는 기계 언어 또는 어셈블리 언어와 같은 저급 언어와 같이, 컴퓨터 언어를 사용하여 기록될 수 있다. 컴퓨터 판독가능 스토리지 매체는 컴퓨터 코드 생성물이 캡처될 수 있는 장소이다. 예시적인 컴퓨터 판독가능 스토리지 매체들은 그 위에 프로그램들이 써지고, 전송되며, 컴퓨터로 판독 가능한 코드를 처리할 수 있는 어떤 기계에서라도 실행되는 마그네틱 테입, 컴퓨터 디스켓들, 하드 드라이브들, 메모리, 및 페이퍼(paper)를 포함할 수 있으며, 그에 제한되지는 않는다.
본 발명은 또한 모듈로서 구현될 수 있다. 모듈은 선택적으로 다른 장치가 AAC LTP 부호화 동안 LTP 래그 추정을 수행할 수 있게 하는 선택적으로 연결되거나 설치된 플러그-인(plug-in)일 수 있다. 모듈은 하드웨어 또는 소프트웨어의 형태 또는 하드웨어 및 소프트웨어의 조합의 모습일 수 있다. 여기서 및 청구항들에서 사용되는 "모듈"이라는 용어는 소프트웨어 코드의 하나 이상의 라인(line)들을 사용할 수 있는 구현들, 및/ 또는 하드웨어 구현들, 및/ 또는 매뉴얼 입력들을 수신하기 위한 장비들을 포함하는 의도일 수 있음을 주의해야 한다. AAC 부호화 방법은 예로서만 사용됨을 이해해야 하고, 본 발명은 래그 추정이 예측가능한 부호화의 콘텍스트 내에 필요한, 다른 부호화 방법들에 또한 사용될 수 있다.
예시적인 실시 예들이 도면들에 도시되고 명세서에 설명되었지만, 이런 실시 예들은 단지 예시로서만 제공됨을 이해해야 한다. 다른 실시 예는 예를 들어, 동일한 동작들을 실행하기 위한 상이한 기술들을 포함한다. 본 발명은 특정 실시 예에 제한되지 않지만, 그럼에도 불구하고 첨부된 청구항들의 범위 및 참뜻 내에 있는 다양한 변경들, 조합들, 및 교환(permutation)들로 확장될 수 있다.

Claims (30)

  1. 이전 프레임 래그가 계산된 윈도우 근처의 현재 프레임 내에서, 상부 경계 및 하부 경계를 갖는 래그 탐색 윈도우를 선택하는 단계; 및
    상기 래그 탐색 윈도우에서 상기 현재 프레임을 위한 피치 래그 추정을 계산하는 단계;
    상기 피치 래그 추정이 신뢰성이 없는지 결정하는 단계; 및
    상기 피치 래그 추정이 신뢰성이 없다고 결정되면, 새로운 래그 탐색 윈도우를 선택하고 상기 새로운 래그 탐색 윈도우에서 새로운 피치 래그 추정을 계산하는 단계를 포함하는,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 새로운 래그 탐색 윈도우를 선택하는 단계는,
    상기 현재 프레임의 처음부터 상기 하부 경계까지의 영역에 대응하는 하부 탐색 윈도우를 설정하는 단계;
    상기 상부 경계로부터 상기 현재 프레임의 말단까지의 영역에 대응하는 상부 탐색 윈도우를 설정하는 단계;
    상기 하부 탐색 윈도우에서 하위 피치 래그를 계산하고 상기 상부 윈도우에서 상위 피치 래그를 계산하는 단계;
    최대 상호 상관을 생성하는 상기 하위 피치 래그 또는 상기 상위 피치 래그 중 하나에 대응하는 새로운 탐색 윈도우 위치 결정기를 선택하는 단계;
    상기 새로운 탐색 윈도우 위치 결정기 주변에 새로운 탐색 윈도우를 설정하는 단계;
    상기 새로운 탐색 윈도우를 위한 새로운 피치 래그를 계산하는 단계; 및
    최대 상호 상관을 생성하는 상기 피치 래그 또는 상기 새로운 피치 래그 중 하나를 래그 추정기로서 선택하는 단계를 포함하는,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 방법.
  4. 제1항에 있어서, 상기 피치 래그 추정이 신뢰성이 없는지 결정하는 단계는 또한 피치 래그에 연관된 상호 상관을 적응 스레시홀드에 비교하는 단계를 더 포함하는,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 방법.
  5. 제1항에 있어서, 부호화 이득이 상기 피치 래그 추정에 대한 예측을 사용하여 얻어질 수 있는지 결정하며, 만약 부호화 이득이 얻어질 수 없다면, 시간 - 주파수 변환의 실행을 생략하는 단계를 더 포함하는,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 방법.
  6. 제4항에 있어서, 부호화 이득이 상기 피치 래그 추정에 대한 예측을 사용하여 얻어질 수 있는지 결정하며, 만약 부호화 이득이 얻어질 수 있다면, 시간 - 주파수 변환을 실행하고, 주파수 도메인에서 예측을 평가하며, 그리고 상기 적응 스레시홀드를 업데이트할지 결정하는 단계를 더 포함하는,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 방법.
  7. 이전 프레임 래그가 계산된 윈도우 근처의 현재 프레임 내에서, 상부 경계 및 하부 경계를 갖는 래그 탐색 윈도우를 선택하고;
    상기 래그 탐색 윈도우에서 상기 현재 프레임을 위한 피치 래그 추정을 계산하고;
    상기 피치 래그 추정이 신뢰성이 없는지 결정하고,
    상기 피치 래그 추정이 신뢰성이 없다고 결정되면, 새로운 래그 탐색 윈도우를 선택하고 상기 새로운 래그 탐색 윈도우에서 새로운 피치 래그 예측을 계산하도록 구성된 컴퓨터 코드를 포함하는,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 컴퓨터 판독가능 저장 매체.
  8. 삭제
  9. 제7항에 있어서, 상기 새로운 래그 탐색 윈도우을 선택하도록 구성된 컴퓨터 코드는,
    상기 현재 프레임의 처음부터 상기 하부 경계까지의 영역에 대응하는 하부 탐색 윈도우를 설정하고;
    상기 상부 경계로부터 상기 현재 프레임의 말단까지의 영역에 대응하는 상부 탐색 윈도우를 설정하고;
    상기 하부 탐색 윈도우에서 하위 피치 래그를 계산하고 상기 상부 윈도우에서 상위 피치 래그를 계산하며;
    최대 상호 상관을 생성하는 상기 하위 피치 래그 또는 상기 상위 피치 래그 중 하나에 대응하는 새로운 탐색 윈도우 위치 결정기를 선택하며;
    상기 새로운 탐색 윈도우 위치 결정기 주변에 새로운 탐색 윈도우를 설정하며;
    상기 새로운 탐색 윈도우를 위한 새로운 피치 래그를 계산하고; 그리고
    최대 상호 상관을 생성하는 상기 피치 래그 또는 상기 새로운 피치 래그 중 하나를 래그 추정기로 선택하는 것을 더 포함하는,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 컴퓨터 판독가능 저장 매체.
  10. 제7항에 있어서, 상기 피치 래그 추정이 신뢰성이 없는지 결정하도록 구성된 컴퓨터 코드는, 피치 래그 추정에 연관된 상호 상관을 적응 스레시홀드에 비교하도록 구성된 컴퓨터 코드를 더 포함하는,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 컴퓨터 판독가능 저장 매체.
  11. 제7항에 있어서, 부호화 이득이 상기 피치 래그 추정에 대한 예측을 사용하여 얻어질 수 있는지 결정하고 만약 부호화 이득이 얻어질 수 없다면, 시간 - 주파수 변환의 실행을 생략하도록 구성된 컴퓨터 코드를 더 포함하는,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 컴퓨터 판독가능 저장 매체.
  12. 제10항에 있어서, 부호화 이득이 상기 피치 래그 추정에 대한 예측을 사용하여 얻어질 수 있는지 결정하고, 만약 부호화 이득이 얻어질 수 있다면, 시간 - 주파수 변환을 실행하고, 주파수 도메인에서 예측을 평가하고, 그리고 상기 적응 스레시홀드를 업데이트할지 결정하도록 구성된 컴퓨터 코드를 더 포함하는,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 컴퓨터 판독가능 저장 매체.
  13. 프로세서;
    상기 프로세서와 연결되어 통신하는 메모리; 및
    상기 프로세서와 연결되어 통신하는 인코더를 포함하며,
    상기 인코더는:
    이전 프레임 래그가 계산된 윈도우 근처의 현재 프레임 내에서, 상부 경계 및 하부 경계를 갖는 래그 탐색 윈도우를 선택하고;
    상기 래그 탐색 윈도우에서 상기 현재 프레임을 위한 피치 래그 추정을 계산하고;
    상기 피치 래그 추정이 신뢰성이 없는지 결정하고;그리고
    상기 피치 래그 추정이 신뢰성이 없다고 결정되면, 새로운 래그 탐색 윈도우를 선택 및 상기 새로운 래그 탐색 윈도우에서 새로운 피치 래그 추정을 계산하도록 구성된,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 장치.
  14. 삭제
  15. 제13항에 있어서, 상기 새로운 래그 탐색 윈도우을 선택하는 것은,
    상기 현재 프레임의 처음부터 상기 하부 경계까지의 영역에 대응하는 하부 탐색 윈도우를 설정;
    상기 상부 경계로부터 상기 현재 프레임의 말단까지의 영역에 대응하는 상부 탐색 윈도우를 설정;
    상기 하부 탐색 윈도우에서 하위 피치 래그를 계산하고 상기 상부 윈도우에서 상위 피치 래그를 계산;
    최대 상호 상관을 생성하는 상기 하위 피치 래그 또는 상기 상위 피치 래그 중 하나에 대응하는 새로운 탐색 윈도우 위치 결정기를 선택;
    상기 새로운 탐색 윈도우 위치 결정기 주변에 새로운 탐색 윈도우를 설정;
    상기 새로운 탐색 윈도우를 위한 새로운 피치 래그를 계산; 및
    최대 상호 상관을 생성하는 상기 피치 래그 또는 상기 새로운 피치 래그 중 하나를 래그 추정기로 선택하는 것을 더 포함하는,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 장치.
  16. 제13항에 있어서, 상기 피치 래그 추정이 신뢰성이 없는지 결정하는 것은 피치 래그 추정에 연관된 상호 상관을 적응 스레시홀드에 비교하는 것을 더 포함하는,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 장치.
  17. 제13항에 있어서, 상기 인코더는 부호화 이득이 상기 피치 래그 추정에 대한 예측을 사용하여 얻어질 수 있는지 결정하고, 만약 부호화 이득이 얻어질 수 없다면, 시간 - 주파수 변환의 실행을 생략하도록 또한 구성된,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 장치.
  18. 제16항에 있어서, 상기 인코더는
    부호화 이득이 상기 피치 래그 추정에 대한 예측을 사용하여 얻어질 수 있는지 결정하고 만약 부호화 이득이 얻어질 수 있다면, 시간 - 주파수 변환을 실행하고, 주파수 도메인에서 예측을 평가하고, 그리고 상기 적응 스레시홀드를 업데이트할지 결정하도록 또한 구성된,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하기 위한 장치.
  19. LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하도록 구성된 모듈로서, 상기 모듈은 인코더를 포함하고,
    상기 인코더는:
    이전 프레임 래그가 계산된 윈도우 근처의 현재 프레임 내에서 상부 경계 및 하부 경계를 갖는 래그 탐색 윈도우를 선택하고;
    상기 래그 탐색 윈도우에서 상기 현재 프레임을 위한 피치 래그 추정을 계산하고;
    상기 피치 래그 추정이 신뢰성이 없는지 결정하고; 그리고
    상기 피치 래그 추정이 신뢰성이 없다고 결정되면,
    새로운 래그 탐색 윈도우를 선택하고 상기 새로운 래그 탐색 윈도우에서 새로운 피치 래그 추정을 계산하도록 구성되는,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하도록 구성된 모듈.
  20. 삭제
  21. 제19항에 있어서, 상기 인코더는,
    상기 현재 프레임의 처음부터 상기 하부 경계까지의 영역에 대응하는 하부 탐색 윈도우를 설정;
    상기 상부 경계로부터 상기 현재 프레임의 말단까지의 영역에 대응하는 상부 탐색 윈도우를 설정;
    상기 하부 탐색 윈도우에서 하위 피치 래그를 계산하고 상기 상부 윈도우에서 상위 피치 래그를 계산;
    최대 상호 상관을 생성하는 상기 하위 피치 래그 또는 상기 상위 피치 래그 중 하나에 대응하는 새로운 탐색 윈도우 위치 결정기를 선택;
    상기 새로운 탐색 윈도우 위치 결정기 주변에 새로운 탐색 윈도우를 설정;
    상기 새로운 탐색 윈도우를 위한 새로운 피치 래그를 계산; 및
    최대 상호 상관을 생성하는 상기 피치 래그 또는 상기 새로운 피치 래그 중 하나를 래그 예측기로 선택하도록 또한 구성된,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하도록 구성된 모듈.
  22. 제19항에 있어서,
    상기 피치 래그가 신뢰성이 없는지 결정하는 것은, 피치 래그에 연관된 상호 상관을 적응 스레시홀드에 비교하는 것을 포함하는,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하도록 구성된 모듈.
  23. 제19항에 있어서, 상기 인코더는
    부호화 이득이 상기 피치 래그에 대한 예측을 사용하여 얻어질 수 있는지 결정하고 만약 부호화 이득이 얻어질 수 없다면, 시간 - 주파수 변환의 실행을 생략하도록 또한 구성된,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하도록 구성된 모듈.
  24. 제22항에 있어서, 상기 인코더는
    부호화 이득이 상기 피치 래그에 대한 예측을 사용하여 얻어질 수 있는지 결정하고, 만약 부호화 이득이 얻어질 수 있다면, 시간 - 주파수 변환을 실행하고, 주파수 도메인에서 예측을 평가하고, 그리고 상기 적응 스레시홀드를 업데이트할지 결정하도록 또한 구성된,
    LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하도록 구성된 모듈.
  25. 오디오 신호를 부호화하기 위한 오디오 부호화 기기로서:
    상기 오디오 신호를 수신하도록 구성된 통신 인터페이스;
    프로세서; 및
    컴퓨터-판독가능 명령어들이 저장된 컴퓨터-판독가능 저장 매체를 포함하며,
    상기 컴퓨터-판독가능 명령어들은 상기 프로세서에 의해 실행될 때, 상기 오디오 부호화 기기로 하여금:
    이전 프레임 래그가 계산된 윈도우의 근처에서 오디오 정보의 현재 프레임 내에서, 상부 경계 및 하부 경계를 갖는 래그 탐색 윈도우를 선택함으로써 LTP 부호화 시스템에서 정보의 현재 프레임을 위한 피치 래그를 결정하고;
    상기 래그 탐색 윈도우에서 상기 현재 프레임을 위한 피치 래그 추정을 계산하고;
    상기 피치 래그 추정이 신뢰성이 없는지 결정하고; 그리고
    상기 피치 래그 예측이 신뢰성이 없다고 결정되면, 새로운 래그 탐색 윈도우를 선택 및 상기 새로운 래그 탐색 윈도우에서 새로운 피치 래그 추정을 계산하도록 하는,
    오디오 신호를 부호화하기 위한 오디오 부호화 기기.
  26. 삭제
  27. 제25항에 있어서, 상기 새로운 래그 탐색 윈도우를 선택하는 것은:
    상기 현재 프레임의 처음부터 상기 하부 경계까지의 영역에 대응하는 하부 탐색 윈도우를 설정;
    상기 상부 경계로부터 상기 현재 프레임의 말단까지의 영역에 대응하는 상부 탐색 윈도우를 설정;
    상기 하부 탐색 윈도우에서 하위 피치 래그를 계산하고 상기 상부 윈도우에서 상위 피치 래그를 계산;
    최대 상호 상관을 생성하는 상기 하위 피치 래그 또는 상기 상위 피치 래그 중 하나에 대응하는 새로운 탐색 윈도우 위치 결정기를 선택;
    상기 새로운 탐색 윈도우 위치 결정기 주변에 새로운 탐색 윈도우를 설정;
    상기 새로운 탐색 윈도우를 위한 새로운 피치 래그를 계산; 및
    최대 상호 상관을 생성하는 상기 피치 래그 또는 상기 새로운 피치 래그 중 하나를 래그 추정기로 선택하는 것을 포함하는,
    오디오 신호를 부호화하기 위한 오디오 부호화 기기.
  28. 제25항에 있어서,
    상기 상기 피치 래그 추정이 신뢰성이 없는지 결정하는 것은 피치 래그에 연관된 상호 상관을 적응 스레시홀드에 비교하는 것을 포함하는,
    오디오 신호를 부호화하기 위한 오디오 부호화 기기.
  29. 제25항에 있어서, 상기 컴퓨터-판독가능 저장 매체는, 상기 프로세서에 의해 실행될 때, 상기 오디오 부호화 기기로 하여금,
    부호화 이득이 상기 피치 래그 추정에 대한 예측을 사용하여 얻어질 수 있는지 결정하고, 만약 부호화 이득이 얻어질 수 없다면, 시간 - 주파수 변환의 실행을 생략하도록 하는 컴퓨터-판독가능 명령어들을 더 포함하는,
    오디오 신호를 부호화하기 위한 오디오 부호화 기기.
  30. 제28항에 있어서,
    상기 컴퓨터-판독가능 저장 매체는, 상기 프로세서에 의해 실행될 때, 상기 오디오 부호화 기기로 하여금,
    부호화 이득이 상기 피치 래그 추정에 대한 예측을 사용하여 얻어질 수 있는지 결정하고 만약 부호화 이득이 얻어질 수 있다면, 시간 - 주파수 변환을 실행하고, 주파수 도메인에서 예측을 평가하고, 그리고 상기 적응 스레시홀드를 업데이트할지 결정하도록 하는 컴퓨터-판독가능 명령어들을 더 포함하는,
    오디오 신호를 부호화하기 위한 오디오 부호화 기기.
KR1020077017213A 2004-12-27 2005-12-26 Ltp 부호화 시스템에서 피치 래그를 결정하기 위한시스템 및 방법 KR100972349B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/022,610 2004-12-27
US11/022,610 US7933767B2 (en) 2004-12-27 2004-12-27 Systems and methods for determining pitch lag for a current frame of information

Publications (2)

Publication Number Publication Date
KR20070090261A KR20070090261A (ko) 2007-09-05
KR100972349B1 true KR100972349B1 (ko) 2010-07-26

Family

ID=36612878

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077017213A KR100972349B1 (ko) 2004-12-27 2005-12-26 Ltp 부호화 시스템에서 피치 래그를 결정하기 위한시스템 및 방법

Country Status (5)

Country Link
US (1) US7933767B2 (ko)
EP (1) EP1831871A1 (ko)
KR (1) KR100972349B1 (ko)
CN (1) CN101091207A (ko)
WO (1) WO2006070265A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010350B2 (en) * 2006-08-03 2011-08-30 Broadcom Corporation Decimated bisectional pitch refinement
KR20090122143A (ko) * 2008-05-23 2009-11-26 엘지전자 주식회사 오디오 신호 처리 방법 및 장치
CN101615395B (zh) * 2008-12-31 2011-01-12 华为技术有限公司 信号编码、解码方法及装置、系统
TW201028018A (en) * 2009-01-07 2010-07-16 Ind Tech Res Inst Encoder, decoder, encoding method and decoding method
US9082416B2 (en) * 2010-09-16 2015-07-14 Qualcomm Incorporated Estimating a pitch lag
PL2922053T3 (pl) * 2012-11-15 2019-11-29 Ntt Docomo Inc Urządzenie do kodowania audio, sposób kodowania audio, program do kodowania audio, urządzenie do dekodowania audio, sposób dekodowania audio, i program do dekodowania audio
EP3483879A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analysis/synthesis windowing function for modulated lapped transformation
EP3483886A1 (en) * 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selecting pitch lag
KR102664768B1 (ko) * 2019-01-13 2024-05-17 후아웨이 테크놀러지 컴퍼니 리미티드 고해상도 오디오 코딩

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030177002A1 (en) * 2002-02-06 2003-09-18 Broadcom Corporation Pitch extraction methods and systems for speech coding using sub-multiple time lag extraction

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781880A (en) 1994-11-21 1998-07-14 Rockwell International Corporation Pitch lag estimation using frequency-domain lowpass filtering of the linear predictive coding (LPC) residual
US5774837A (en) * 1995-09-13 1998-06-30 Voxware, Inc. Speech coding system and method using voicing probability determination
EP0788091A3 (en) 1996-01-31 1999-02-24 Kabushiki Kaisha Toshiba Speech encoding and decoding method and apparatus therefor
US5774836A (en) 1996-04-01 1998-06-30 Advanced Micro Devices, Inc. System and method for performing pitch estimation and error checking on low estimated pitch values in a correlation based pitch estimator
JPH10105194A (ja) * 1996-09-27 1998-04-24 Sony Corp ピッチ検出方法、音声信号符号化方法および装置
US5812967A (en) * 1996-09-30 1998-09-22 Apple Computer, Inc. Recursive pitch predictor employing an adaptively determined search window
FI114248B (fi) * 1997-03-14 2004-09-15 Nokia Corp Menetelmä ja laite audiokoodaukseen ja audiodekoodaukseen
FI113903B (fi) * 1997-05-07 2004-06-30 Nokia Corp Puheen koodaus
JP4550176B2 (ja) * 1998-10-08 2010-09-22 株式会社東芝 音声符号化方法
FI116992B (fi) * 1999-07-05 2006-04-28 Nokia Corp Menetelmät, järjestelmä ja laitteet audiosignaalin koodauksen ja siirron tehostamiseksi
US7124075B2 (en) * 2001-10-26 2006-10-17 Dmitry Edward Terez Methods and apparatus for pitch determination
US7236927B2 (en) * 2002-02-06 2007-06-26 Broadcom Corporation Pitch extraction methods and systems for speech coding using interpolation techniques
US20030220787A1 (en) * 2002-04-19 2003-11-27 Henrik Svensson Method of and apparatus for pitch period estimation
KR100463417B1 (ko) * 2002-10-10 2004-12-23 한국전자통신연구원 상관함수의 최대값과 그의 후보값의 비를 이용한 피치검출 방법 및 그 장치
WO2004084179A2 (en) 2003-03-15 2004-09-30 Mindspeed Technologies, Inc. Adaptive correlation window for open-loop pitch
US6988064B2 (en) * 2003-03-31 2006-01-17 Motorola, Inc. System and method for combined frequency-domain and time-domain pitch extraction for speech signals
KR100552693B1 (ko) * 2003-10-25 2006-02-20 삼성전자주식회사 피치검출방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030177002A1 (en) * 2002-02-06 2003-09-18 Broadcom Corporation Pitch extraction methods and systems for speech coding using sub-multiple time lag extraction

Also Published As

Publication number Publication date
EP1831871A1 (en) 2007-09-12
KR20070090261A (ko) 2007-09-05
WO2006070265A1 (en) 2006-07-06
CN101091207A (zh) 2007-12-19
US7933767B2 (en) 2011-04-26
US20060143002A1 (en) 2006-06-29

Similar Documents

Publication Publication Date Title
KR100972349B1 (ko) Ltp 부호화 시스템에서 피치 래그를 결정하기 위한시스템 및 방법
US7457743B2 (en) Method for improving the coding efficiency of an audio signal
JP6704037B2 (ja) 音声符号化装置および方法
US7050972B2 (en) Enhancing the performance of coding systems that use high frequency reconstruction methods
CA2866202C (en) Signal coding and decoding methods and devices
CN105210149A (zh) 用于音频信号解码或编码的时域电平调整
JP2023169294A (ja) 符号化及び復号化のための符号化装置、復号化装置、システム及び方法
US11335355B2 (en) Estimating noise of an audio signal in the log2-domain
WO2014051964A1 (en) Apparatus and method for audio frame loss recovery
US8060362B2 (en) Noise detection for audio encoding by mean and variance energy ratio
KR20050087366A (ko) 오디오 신호의 인코딩 방법
JP4721355B2 (ja) 符号化データの符号化則変換方法および装置
CN1199959A (zh) 音频编码方法和装置
KR100640833B1 (ko) 디지털 오디오의 부호화 방법
KR101421256B1 (ko) 휴대용 단말기의 대역 확장 기법을 이용한 부호화 장치 및방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20130701

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140703

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150619

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee