KR102557066B1 - 시간적으로 불일치된 신호들에 대한 오디오 프로세싱 - Google Patents

시간적으로 불일치된 신호들에 대한 오디오 프로세싱 Download PDF

Info

Publication number
KR102557066B1
KR102557066B1 KR1020227037023A KR20227037023A KR102557066B1 KR 102557066 B1 KR102557066 B1 KR 102557066B1 KR 1020227037023 A KR1020227037023 A KR 1020227037023A KR 20227037023 A KR20227037023 A KR 20227037023A KR 102557066 B1 KR102557066 B1 KR 102557066B1
Authority
KR
South Korea
Prior art keywords
signal
encoded
value
shift
frame
Prior art date
Application number
KR1020227037023A
Other languages
English (en)
Other versions
KR20220150996A (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 KR20220150996A publication Critical patent/KR20220150996A/ko
Application granted granted Critical
Publication of KR102557066B1 publication Critical patent/KR102557066B1/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • G10L19/025Detection of transients or attacks for time/frequency resolution switching
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/22Mode decision, i.e. based on audio signal content versus external parameters

Abstract

디바이스는 프로세서 및 송신기를 포함한다. 프로세서는 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 1 양을 나타내는 제 1 불일치 값을 결정하도록 구성된다. 프로세서는 또한, 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 2 양을 나타내는 제 2 불일치 값을 결정하도록 구성된다. 프로세서는 또한, 제 1 불일치 값 및 제 2 불일치 값에 기초하여 유효 불일치 값을 결정하도록 구성된다. 프로세서는 또한, 비트 할당을 갖는 적어도 하나의 인코딩된 신호를 생성하도록 구성된다. 비트 할당은 유효 불일치 값에 적어도 부분적으로 기초한다. 송신기는 적어도 하나의 인코딩된 신호를 제 2 디바이스로 송신하도록 구성된다.

Description

시간적으로 불일치된 신호들에 대한 오디오 프로세싱{AUDIO PROCESSING FOR TEMPORALLY MISMATCHED SIGNALS}
우선권의 주장
본 출원은 공동 소유된, 발명의 명칭이 "AUDIO PROCESSING FOR TEMPORALLY OFFSET SIGNALS" 인 2016년 3월 18일자로 출원된 미국 가특허출원 제 62/310,611 호 및 발명의 명칭이 "AUDIO PROCESSING FOR TEMPORALLY MISMATCHED SIGNALS" 인 2017년 3월 16일자로 출원된 미국 정규특허출원 제 15/461,356 호의 우선권의 이익을 주장하고, 전술된 출원들 각각의 내용들은 그 전체가 참조로서 본원에 명확하게 포함된다.
기술분야
본 개시물은 일반적으로, 오디오 프로세싱에 관련된다.
기술 진보의 결과로 컴퓨팅 디바이스들이 더 작고 더 강력해졌다. 예를 들어, 작고, 경량이며, 사용자들에 의해 쉽게 운반되는 모바일 및 스마트 폰들과 같은 무선 전화기들, 태블릿들 및 랩톱 컴퓨터들을 포함하는 다양한 휴대용 개인 컴퓨팅 디바이스들이 현재 존재한다. 이들 디바이스들은 무선 네트워크들을 통해 음성 및 데이터 패킷들을 통신할 수 있다. 또한, 많은 이러한 디바이스들은 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 레코더, 및 오디오 파일 플레이어와 같은 부가적인 기능성을 포함한다. 또한, 이러한 디바이스들은, 인터넷에 액세스하는데 사용될 수 있는 웹 브라우저 애플리케이션과 같은 소프트웨어 애플리케이션들을 포함하는, 실행가능 명령들을 프로세싱할 수 있다. 이와 같이, 이들 디바이스들은 상당한 컴퓨팅 능력들을 포함할 수 있다.
컴퓨팅 디바이스는 오디오 신호들을 수신하기 위한 다수의 마이크로폰들을 포함할 수도 있다. 일반적으로, 사운드 소스는 다수의 마이크로폰들 중 제 1 마이크로폰에 제 2 마이크로폰보다 더 가깝다. 따라서, 제 2 마이크로폰으로부터 수신된 제 2 오디오 신호는 제 1 마이크로폰으로부터 수신된 제 1 오디오 신호에 대해 지연될 수도 있다. 스테레오-인코딩에서, 마이크로폰들로부터의 오디오 신호들은 중간 채널 (mid channel) 신호 및 하나 이상의 사이드 채널 (side channel) 신호들을 생성하도록 인코딩될 수도 있다. 중간 채널 신호는 제 1 오디오 신호 및 제 2 오디오 신호의 합에 대응할 수도 있다. 사이드 채널 신호는 제 1 오디오 신호와 제 2 오디오 신호 간의 차이에 대응할 수도 있다. 제 1 오디오 신호는, 제 1 오디오 신호에 대한 제 2 오디오 신호를 수신하는데 있어서의 지연 때문에 제 2 오디오 신호와 시간적으로 정렬되지 않을 수도 있다. 제 2 오디오 신호에 대한 제 1 오디오 신호의 불일치 (또는 "시간적 오프셋") 는 사이드 채널 신호의 규모를 증가시킬 수도 있다. 사이드 채널 신호의 규모의 증가 때문에, 더 많은 수의 비트들이 사이드 채널 신호를 인코딩하기 위해 필요할 수도 있다.
부가적으로, 상이한 프레임 유형들은 컴퓨팅 디바이스로 하여금 상이한 시간적 오프셋들 또는 시프트 추정들을 생성하게 할 수도 있다. 예를 들어, 컴퓨팅 디바이스는, 제 1 오디오 신호의 유성 프레임 (voiced frame) 이 특정 양만큼 제 2 오디오 신호에서의 대응하는 유성 프레임에 의해 오프셋된다는 것을 결정할 수도 있다. 그러나, 상대적으로 많은 양의 잡음으로 인해, 컴퓨팅 디바이스는, 제 1 오디오 신호의 트랜지션 프레임 (또는 무성 프레임 (unvoiced frame)) 이 상이한 양만큼 제 2 오디오 신호의 대응하는 트랜지션 프레임 (또는 대응하는 무성 프레임) 에 의해 오프셋된다는 것을 결정할 수도 있다. 시프트 추정들에서의 변동 (variation) 은 프레임 경계들에서 샘플 반복 및 아티팩트 스킵을 야기할 수도 있다. 부가적으로, 시프트 추정들에서의 변동은 더 높은 사이드 채널 에너지들을 초래할 수도 있고, 이것은 코딩 효율성을 감소시킬 수도 있다.
본원에 개시된 기법들의 일 구현에 따르면, 통신하기 위한 디바이스는 프로세서 및 송신기를 포함한다. 프로세서는 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 1 양을 나타내는 제 1 불일치 값을 결정하도록 구성된다. 제 1 불일치 값은 인코딩될 제 1 프레임과 연관된다. 프로세서는 또한, 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 2 양을 나타내는 제 2 불일치 값을 결정하도록 구성된다. 제 2 불일치 값은 인코딩될 제 2 프레임과 연관된다. 인코딩될 제 2 프레임은 인코딩될 제 1 프레임에 후속한다. 프로세서는 또한, 제 1 불일치 값 및 제 2 불일치 값에 기초하여 유효 불일치 값을 결정하도록 구성된다. 인코딩될 제 2 프레임은 제 1 오디오 신호의 제 1 샘플들 및 제 2 오디오 신호의 제 2 샘플들을 포함한다. 제 2 샘플들은 유효 불일치 값에 적어도 부분적으로 기초하여 선택된다. 프로세서는 또한, 인코딩될 제 2 프레임에 적어도 부분적으로 기초하여, 비트 할당을 갖는 적어도 하나의 인코딩된 신호를 생성하도록 구성된다. 비트 할당은 유효 불일치 값에 적어도 부분적으로 기초한다. 송신기는 적어도 하나의 인코딩된 신호를 제 2 디바이스로 송신하도록 구성된다.
본원에 개시된 기법들의 다른 구현에 따르면, 통신 방법은, 디바이스에서, 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 1 양을 나타내는 제 1 불일치 값을 결정하는 단계를 포함한다. 제 1 불일치 값은 인코딩될 제 1 프레임과 연관된다. 방법은 또한, 디바이스에서, 제 2 불일치 값을 결정하는 단계를 포함한다. 제 2 불일치 값은 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 2 양을 나타낸다. 제 2 불일치 값은 인코딩될 제 2 프레임과 연관된다. 인코딩될 제 2 프레임은 인코딩될 제 1 프레임에 후속한다. 방법은, 디바이스에서, 제 1 불일치 값 및 제 2 불일치 값에 기초하여 유효 불일치 값을 결정하는 단계를 더 포함한다. 인코딩될 제 2 프레임은 제 1 오디오 신호의 제 1 샘플들 및 제 2 오디오 신호의 제 2 샘플들을 포함한다. 제 2 샘플들은 유효 불일치 값에 적어도 부분적으로 기초하여 선택된다. 방법은 또한, 인코딩될 제 2 프레임에 적어도 부분적으로 기초하여, 비트 할당을 갖는 적어도 하나의 인코딩된 신호를 생성하는 단계를 포함한다. 비트 할당은 유효 불일치 값에 적어도 부분적으로 기초한다. 방법은 또한, 적어도 하나의 인코딩된 신호를 제 2 디바이스로 전송하는 단계를 포함한다.
본원에 개시된 기법들의 다른 구현에 따르면, 컴퓨터 판독가능 저장 디바이스는, 프로세서에 의해 실행되는 경우, 프로세서로 하여금, 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 1 양을 나타내는 제 1 불일치 값을 결정하는 것을 포함하는 동작들을 수행하게 하는 명령들을 저장한다. 제 1 불일치 값은 인코딩될 제 1 프레임과 연관된다. 동작들은 또한, 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 2 양을 나타내는 제 2 불일치 값을 결정하는 것을 포함한다. 제 2 불일치 값은 인코딩될 제 2 프레임과 연관된다. 인코딩될 제 2 프레임은 인코딩될 제 1 프레임에 후속한다. 동작들은 제 1 불일치 값 및 제 2 불일치 값에 기초하여 유효 불일치 값을 결정하는 것을 더 포함한다. 인코딩될 제 2 프레임은 제 1 오디오 신호의 제 1 샘플들 및 제 2 오디오 신호의 제 2 샘플들을 포함한다. 제 2 샘플들은 유효 불일치 값에 적어도 부분적으로 기초하여 선택된다. 동작들은 또한, 인코딩될 제 2 프레임에 적어도 부분적으로 기초하여, 비트 할당을 갖는 적어도 하나의 인코딩된 신호를 생성하는 것을 포함한다. 비트 할당은 유효 불일치 값에 적어도 부분적으로 기초한다.
본원에 개시된 기법들의 다른 구현에 따르면, 통신하기 위한 디바이스는 시프트 값 및 제 2 시프트 값을 결정하도록 구성된 프로세서를 포함한다. 시프트 값은 제 2 오디오 신호에 대한 제 1 오디오 신호의 시프트를 나타낸다. 제 2 시프트 값은 시프트 값에 기초한다. 프로세서는 또한, 제 2 시프트 값 및 시프트 값에 기초하여 비트 할당을 결정하도록 구성된다. 프로세서는 또한, 비트 할당에 기초하여 적어도 하나의 인코딩된 신호를 생성하도록 구성된다. 적어도 하나의 인코딩된 신호는 제 1 오디오 신호의 제 1 샘플들 및 제 2 오디오 신호의 제 2 샘플들에 기초한다. 제 2 샘플들은 제 2 시프트 값에 기초하는 양만큼 제 1 샘플들에 대하여 시간-시프트된다. 디바이스는 또한, 적어도 하나의 인코딩된 신호를 제 2 디바이스로 송신하도록 구성된 송신기를 포함한다.
본원에 개시된 기법들의 다른 구현에 따르면, 통신 방법은, 디바이스에서, 시프트 값 및 제 2 시프트 값을 결정하는 단계를 포함한다. 시프트 값은 제 2 오디오 신호에 대한 제 1 오디오 신호의 시프트를 나타낸다. 제 2 시프트 값은 시프트 값에 기초한다. 방법은 또한, 디바이스에서, 제 2 시프트 값 및 시프트 값에 기초하여 코딩 모드를 결정하는 단계를 포함한다. 방법은, 디바이스에서, 코딩 모드에 기초하여 적어도 하나의 인코딩된 신호를 생성하는 단계를 더 포함한다. 적어도 하나의 인코딩된 신호는 제 1 오디오 신호의 제 1 샘플들 및 제 2 오디오 신호의 제 2 샘플들에 기초한다. 제 2 샘플들은 제 2 시프트 값에 기초하는 양만큼 제 1 샘플들에 대하여 시간-시프트된다. 방법은 또한, 적어도 하나의 인코딩된 신호를 제 2 디바이스로 전송하는 단계를 포함한다.
본원에 개시된 기법들의 다른 구현에 따르면, 컴퓨터 판독가능 저장 디바이스는, 프로세서에 의해 실행되는 경우, 프로세서로 하여금, 시프트 값 및 제 2 시프트 값을 결정하는 것을 포함하는 동작들을 수행하게 하는 명령들을 저장한다. 시프트 값은 제 2 오디오 신호에 대한 제 1 오디오 신호의 시프트를 나타낸다. 제 2 시프트 값은 시프트 값에 기초한다. 동작들은 또한, 제 2 시프트 값 및 시프트 값에 기초하여 비트 할당을 결정하는 것을 포함한다. 동작들은 비트 할당에 기초하여 적어도 하나의 인코딩된 신호를 생성하는 것을 더 포함한다. 적어도 하나의 인코딩된 신호는 제 1 오디오 신호의 제 1 샘플들 및 제 2 오디오 신호의 제 2 샘플들에 기초한다. 제 2 샘플들은 제 2 시프트 값에 기초하는 양만큼 제 1 샘플들에 대하여 시간-시프트된다.
본원에 개시된 기법들의 다른 구현에 따르면, 장치는 시프트 값 및 제 2 시프트 값에 기초하여 비트 할당을 결정하기 위한 수단을 포함한다. 시프트 값은 제 2 오디오 신호에 대한 제 1 오디오 신호의 시프트를 나타낸다. 제 2 시프트 값은 시프트 값에 기초한다. 장치는 또한, 비트 할당에 기초하여 생성되는 적어도 하나의 인코딩된 신호를 송신하기 위한 수단을 포함한다. 적어도 하나의 인코딩된 신호는 제 1 오디오 신호의 제 1 샘플들 및 제 2 오디오 신호의 제 2 샘플들에 기초한다. 제 2 샘플들은 제 2 시프트 값에 기초하는 양만큼 제 1 샘플들에 대하여 시간-시프트된다.
도 1 은 다수의 오디오 신호들을 인코딩하도록 동작 가능한 디바이스를 포함하는 특정 예시적 시스템 예의 블록도이고;
도 2 는 도 1 의 디바이스를 포함하는 시스템의 다른 예를 예시하는 다이어그램이고;
도 3 은 도 1 의 디바이스에 의해 인코딩될 수도 있는 샘플들의 특정 예들을 예시하는 다이어그램이고;
도 4 는 도 1 의 디바이스에 의해 인코딩될 수도 있는 샘플들의 특정 예들을 예시하는 다이어그램이고;
도 5 는 다수의 오디오 신호들을 인코딩하도록 동작 가능한 시스템의 다른 예를 예시하는 다이어그램이고;
도 6 은 다수의 오디오 신호들을 인코딩하도록 동작 가능한 시스템의 다른 예를 예시하는 다이어그램이고;
도 7 은 다수의 오디오 신호들을 인코딩하도록 동작 가능한 시스템의 다른 예를 예시하는 다이어그램이고;
도 8 은 다수의 오디오 신호들을 인코딩하도록 동작 가능한 시스템의 다른 예를 예시하는 다이어그램이고;
도 9a 는 다수의 오디오 신호들을 인코딩하도록 동작 가능한 시스템의 다른 예를 예시하는 다이어그램이고;
도 9b 는 다수의 오디오 신호들을 인코딩하도록 동작 가능한 시스템의 다른 예를 예시하는 다이어그램이고;
도 9c 는 다수의 오디오 신호들을 인코딩하도록 동작 가능한 시스템의 다른 예를 예시하는 다이어그램이고;
도 10a 는 다수의 오디오 신호들을 인코딩하도록 동작 가능한 시스템의 다른 예를 예시하는 다이어그램이고;
도 10b 는 다수의 오디오 신호들을 인코딩하도록 동작 가능한 시스템의 다른 예를 예시하는 다이어그램이고;
도 11 은 다수의 오디오 신호들을 인코딩하도록 동작 가능한 시스템의 다른 예를 예시하는 다이어그램이고;
도 12 는 다수의 오디오 신호들을 인코딩하도록 동작 가능한 시스템의 다른 예를 예시하는 다이어그램이고;
도 13 은 다수의 오디오 신호들을 인코딩하는 특정 방법을 예시하는 플로우차트이고;
도 14 는 다수의 오디오 신호들을 인코딩하도록 동작 가능한 시스템의 다른 예를 예시하는 다이어그램이고;
도 15 는 유성 프레임들, 트랜지션 프레임들, 및 무성 프레임들에 대한 비교 값들을 예시하는 그래프들을 도시하고;
도 16 은 다수의 마이크로폰들에서 캡처된 오디오 간의 시간적 오프셋을 추정하는 방법을 예시하는 플로우차트이고;
도 17 은 시프트 추정을 위해 사용된 비교 값들에 대한 검색 범위를 선택적으로 확장하는 다이어그램이고;
도 18 은 시프트 추정을 위해 사용된 비교 값들에 대한 검색 범위의 선택적 확장을 예시하는 그래프들을 도시하고;
도 19 는 다수의 오디오 신호들을 인코딩하도록 동작 가능한 디바이스를 포함하는 특정 예시적 시스템 예의 블록도이고;
도 20 은 중간 신호와 사이드 신호 간에 비트들을 할당하는 방법의 플로우차트이고;
도 21 은 최종 시프트 값 및 보정된 시프트 값에 기초하여 상이한 코딩 모드들을 선택하는 방법의 플로우차트이고;
도 22 는 본원에 설명된 기법들에 따른 상이한 코딩 모드들을 예시하고;
도 23 은 인코더를 예시하고;
도 24 는 본원에 설명된 기법들에 따른 상이한 인코딩된 신호들을 예시하고;
도 25 는 본원에 설명된 기법들에 따른 신호를 인코딩하기 위한 시스템이고;
도 26 은 통신 방법의 플로우차트이고;
도 27 은 통신 방법의 플로우차트이고;
도 28 은 통신 방법의 플로우차트이며;
도 29 는 다수의 오디오 신호들을 인코딩하도록 동작 가능한 특정 예시적 디바이스 예의 블록도이다.
다수의 오디오 신호들을 인코딩하도록 동작 가능한 시스템들 및 디바이스들이 개시된다. 디바이스는 다수의 오디오 신호들을 인코딩하도록 구성된 인코더를 포함할 수도 있다. 다수의 오디오 신호들은 다수의 레코딩 디바이스들, 예를 들어 다수의 마이크로폰들을 사용하여 시간적으로 동시에 캡처될 수도 있다. 일부 예들에서, 다수의 오디오 신호들 (또는 멀티-채널 오디오) 은 동시에 또는 상이한 시간들에 레코딩되는 여러 오디오 채널들을 멀티플렉싱함으로써 합성적으로 (예를 들어, 인공적으로) 생성될 수도 있다. 예시적인 예들로서, 오디오 채널들의 동시적 레코딩 또는 멀티플렉싱은 2-채널 구성 (즉, 스테레오: 좌측 및 우측), 5.1 채널 구성 (좌측, 우측, 센터, 좌측 서라운드, 우측 서라운드, 및 저 주파수 엠퍼시스 (LFE) 채널들), 7.1 채널 구성, 7.1+4 채널 구성, 22.2 채널 구성, 또는 N-채널 구성을 낳을 수도 있다.
텔레컨퍼런스 룸들 (또는 텔레프레즌스 룸들) 에서의 오디오 캡처 디바이스들은 공간적 오디오를 획득하는 다수의 마이크로폰들을 포함할 수도 있다. 공간적 오디오는 인코딩 및 송신되는 백그라운드 오디오 뿐만 아니라 스피치를 포함할 수도 있다. 소정 소스 (예를 들어, 화자) 로부터의 스피치/오디오는 마이크로폰들이 배열되는 방법 뿐만 아니라 소스 (예를 들어, 화자) 가 마이크로폰들 및 룸 디멘전들에 대하여 위치되는 곳에 따라 상이한 시간들에서 다수의 마이크로폰들에 도달할 수도 있다. 예를 들어, 사운드 소스 (예를 들어, 화자) 는 디바이스와 연관된 제 1 마이크로폰에 디바이스와 연관된 제 2 마이크로폰보다 더 가까울 수도 있다. 따라서, 사운드 소스로부터 방출된 사운드는 제 1 마이크로폰에 제 2 마이크로폰보다 시간적으로 더 일찍 도달할 수도 있다. 디바이스는 제 1 마이크로폰을 통해 제 1 오디오 신호를 수신할 수도 있고 제 2 마이크로폰을 통해 제 2 오디오 신호를 수신할 수도 있다.
중간-사이드 (MS) 코딩 및 파라메트릭 스테레오 (PS) 코딩은 듀얼-모노 코딩 기법들을 통해 개선된 효율성을 제공할 수도 있는 스테레오 코딩 기법들이다. 듀얼-모노 코딩에서, 좌측 (L) 채널 (또는 신호) 및 우측 (R) 채널 (또는 신호) 은 채널-간 상관을 사용하지 않고 독립적으로 코딩된다. MS 코딩은 코딩 전에 좌측 채널 및 우측 채널을 합-채널 및 차이-채널 (예를 들어, 사이드 채널) 로 변환함으로써 상관된 L/R 채널-쌍 간의 리던던시를 감소시킨다. 합 신호 (sum signal) 및 차이 신호는 MS 코딩에서 파형 코딩된다. 상대적으로 더 많은 비트들이 사이드 신호 상에서보다 합 신호 상에서 소비된다. PS 코딩은 L/R 신호들을 합 신호 및 사이드 파라미터들의 세트로 변환함으로써 각각의 서브대역에서 리던던시를 감소시킨다. 사이드 파라미터들은 채널-간 세기 차이 (IID), 채널-간 위상 차이 (IPD), 채널-간 시간 차이 (ITD) 등을 나타낼 수도 있다. 합 신호는 사이드 파라미터들과 함께 파형 코딩 및 송신된다. 하이브리드 시스템에서, 사이드-채널은 더 낮은 대역들 (예를 들어, 2 킬로헤르츠 (kHz) 미만) 에서 파형 코딩되고, 채널-간 위상 보존이 지각적으로 덜 중요한 상위 대역들 (예를 들어, 2 kHz 이상) 에서 PS 코딩될 수도 있다.
MS 코딩 및 PS 코딩은 주파수 도메인에서 또는 서브-대역 도메인 중 어느 일방에서 행해질 수도 있다. 일부 예들에서, 좌측 채널 및 우측 채널은 비상관될 수도 있다. 예를 들어, 좌측 채널 및 우측 채널은 비상관된 합성 신호들을 포함할 수도 있다. 좌측 채널 및 우측 채널이 비상관되는 경우, MS 코딩, PS 코딩, 또는 양자 모두의 코딩 효율성은 듀얼-모노 코딩의 코딩 효율성에 접근할 수도 있다.
레코딩 구성에 따라, 좌측 채널과 우측 채널 간의 시간적 시프트 (또는 시간적 불일치), 뿐만 아니라 에코 및 룸 반향과 같은 다른 공간적 효과들이 존재할 수도 있다. 채널들 간의 시간적 시프트 및 위상 불일치가 보상되지 않으면, 합 채널 및 차이 채널은 MS 또는 PS 기법들과 연관된 코딩-이득들을 감소시키는 비슷한 에너지들을 포함할 수도 있다. 코딩-이득들에서의 감소는 시간적 (또는 위상) 시프트의 양에 기초할 수도 있다. 합 신호 및 차이 신호의 비슷한 에너지들은, 채널들이 시간적으로 시프트되지만 고도로 상관되는 소정 프레임들에서 MS 코딩의 사용을 제한할 수도 있다. 스테레오 코딩에서, 중간 채널 (예를 들어, 합 채널) 및 사이드 채널 (예를 들어, 차이 채널) 은 다음의 식에 기초하여 생성될 수도 있다:
, 수식 1
여기서 M 은 중간 채널에 대응하고, S 는 사이드 채널에 대응하고, L 은 좌측 채널에 대응하며, R 은 우측 채널에 대응한다.
일부 경우들에서, 중간 채널 및 사이드 채널은 다음의 식에 기초하여 생성될 수도 있다:
, 수식 2
여기서 c 는 주파수 의존적인 복소수 값에 대응한다. 수식 1 또는 수식 2 에 기초하여 중간 채널 및 사이드 채널을 생성하는 것은 "다운믹싱" 알고리즘을 수행하는 것으로서 지칭될 수도 있다. 수식 1 또는 수식 2 에 기초하여 중간 채널 및 사이드 채널로부터 좌측 채널 및 우측 채널을 생성하는 것의 역 프로세스는 "업믹싱" 알고리즘을 수행하는 것으로서 지칭될 수도 있다.
특정 프레임에 대해 MS 코딩 또는 듀얼-모노 코딩 간에 선택하는데 사용된 애드-혹 접근법은 중간 신호 및 사이드 신호를 생성하는 것, 중간 신호 및 사이드 신호의 에너지들을 계산하는 것, 및 에너지들에 기초하여 MB 코딩을 수행할지 여부를 결정하는 것을 포함할 수도 있다. 예를 들어, MS 코딩은, 사이드 신호 및 중간 신호의 에너지들의 비가 임계 미만이라는 결정에 응답하여 수행될 수도 있다. 예시하자면, 우측 채널이 적어도 제 1 시간 (예를 들어, 약 0.001 초 또는 48 kHz 에서 48 샘플들) 만큼 시프트되면, (좌측 신호 및 우측 신호의 합에 대응하는) 중간 신호의 제 1 에너지는 유성 스피치 프레임들에 대한 (좌측 신호와 우측 신호 간의 차이에 대응하는) 사이드 신호의 제 2 에너지와 비슷할 수도 있다. 제 1 에너지가 제 2 에너지와 비슷한 경우, 더 높은 수의 비트들이 사이드 채널을 인코딩하는데 사용될 수도 있고, 이에 의해 듀얼-모노 코딩에 대한 MS 코딩의 코딩 효율성을 감소시킨다. 듀얼-모노 코딩은 따라서, 제 1 에너지가 제 2 에너지와 비슷한 경우 (예를 들어, 제 1 에너지 및 제 2 에너지의 비가 임계 이상인 경우) 사용될 수도 있다. 대안의 접근에서, 특정 프레임에 대한 MS 코딩과 듀얼-모노 코딩 간의 판정은 좌측 채널 및 우측 채널의 정규화된 상호 상관 값들 및 임계의 비교에 기초하여 이루어질 수도 있다.
일부 예들에서, 인코더는 제 2 오디오 신호에 대한 제 1 오디오 신호의 시프트를 나타내는 시간적 시프트 값을 결정할 수도 있다. 시프트 값은 제 1 마이크로폰에서 제 1 오디오 신호의 수신과 제 2 마이크로폰에서 제 2 오디오 신호의 수신 간의 시간적 지연의 양에 대응할 수도 있다. 또한, 인코더는 예를 들어, 각각 20 밀리초 (ms) 스피치/오디오 프레임에 기초하여 프레임 단위로 시프트 값을 결정할 수도 있다. 예를 들어, 시프트 값은, 제 2 오디오 신호의 제 2 프레임이 제 1 오디오 신호의 제 1 프레임에 대하여 지연되는 시간의 양에 대응할 수도 있다. 대안으로, 시프트 값은, 제 1 오디오 신호의 제 1 프레임이 제 2 오디오 신호의 제 2 프레임에 대하여 지연되는 시간의 양에 대응할 수도 있다.
사운드 소스가 제 1 마이크로폰에 제 2 마이크로폰보다 더 가까운 경우, 제 2 오디오 신호의 프레임들은 제 1 오디오 신호의 프레임들에 대해 지연될 수도 있다. 이 경우에서, 제 1 오디오 신호는 "레퍼런스 오디오 신호" 또는 "레퍼런스 채널" 로서 지칭될 수도 있고 지연된 제 2 오디오 신호는 "타겟 오디오 신호" 또는 "타겟 채널" 로서 지칭될 수도 있다. 대안으로, 사운드 소스가 제 1 마이크로폰보다는 제 2 마이크로폰에 더 가까운 경우, 제 1 오디오 신호의 프레임들은 제 2 오디오 신호의 프레임들에 대해 지연될 수도 있다. 이 경우에서, 제 2 오디오 신호는 레퍼런스 오디오 신호 또는 레퍼런스 채널로서 지칭될 수도 있고, 지연된 제 1 오디오 신호는 타겟 오디오 신호 또는 타겟 채널로서 지칭될 수도 있다.
사운드 소스들 (예를 들어, 화자들) 이 컨퍼런스 또는 텔레프레즌스 룸에서 위치되는 곳 또는 사운드 소스 (예를 들어, 화자) 포지션이 마이크로폰들에 대해 변하는 방법에 따라, 레퍼런스 채널 및 타겟 채널은 일 프레임에서 다른 프레임으로 변화할 수도 있다; 유사하게, 시간적 지연 값은 또한, 일 프레임에서 다른 프레임으로 변화할 수도 있다. 그러나, 일부 구현들에서, 시프트 값은 항상, "레퍼런스" 채널에 대한 "타겟" 채널의 지연의 양을 나타내기 위해 포지티브일 수도 있다. 또한, 시프트 값은, 타겟 채널이 "레퍼런스" 채널과 정렬 (예를 들어, 최대한으로 정렬) 되도록 지연된 타겟 채널이 시간적으로 "풀 백 (pulled back)" 되는 "비인과적 시프트" (non-casual shift) 값에 대응할 수도 있다. 중간 채널 및 사이드 채널을 결정하기 위한 다운믹스 알고리즘은 레퍼런스 채널 및 비인과적 시프트된 타겟 채널 상에서 수행될 수도 있다.
인코더는 타겟 오디오 채널에 적용된 복수의 시프트 값들 및 레퍼런스 오디오 채널에 기초하여 시프트 값을 결정할 수도 있다. 예를 들어, 레퍼런스 오디오 채널의 제 1 프레임, X 는 제 1 시간 (m1) 에서 수신될 수도 있다. 타겟 오디오 채널의 제 1 특정 프레임, Y 는 제 1 시프트 값에 대응하는 제 2 시간 (n1) 에서 수신될 수도 있고, 예를 들어 shift1 = n1 - m1 이다. 또한, 레퍼런스 오디오 채널의 제 2 프레임은 제 3 시간 (m2) 에서 수신될 수도 있다. 타겟 오디오 채널의 제 2 특정 프레임은 제 2 시프트 값에 대응하는 제 4 시간 (n2) 에서 수신될 수도 있고, 예를 들어 shift2 = n2 - m2 이다.
디바이스는 제 1 샘플링 레이트 (예를 들어, 32 kHz 샘플링 레이트 (즉, 프레임 당 640 샘플들)) 에서 프레임 (예를 들어, 20 ms 샘플들) 을 생성하도록 프레이밍 또는 버퍼링 알고리즘을 수행할 수도 있다. 인코더는, 제 1 오디오 신호의 제 1 프레임 및 제 2 오디오 신호의 제 2 프레임이 디바이스에서 동시에 도달한다는 결정에 응답하여, 시프트 값 (예를 들어, shift1) 을 0 샘플들과 동일한 것으로서 추정할 수도 있다. (예를 들어, 제 1 오디오 신호에 대응하는) 좌측 채널 및 (예를 들어, 제 2 오디오 신호에 대응하는) 우측 채널은 시간적으로 정렬될 수도 있다. 일부 경우들에서, 좌측 채널 및 우측 채널은, 정렬되는 경우에도, 다양한 이유들 (예를 들어, 마이크로폰 교정) 로 인해 에너지가 상이할 수도 있다.
일부 예들에서, 좌측 채널 및 우측 채널은 다양한 이유들 (예를 들어, 사운드 소스, 예컨대 화자는 마이크로폰들 중 하나에 다른 것들 보다 더 가까울 수도 있고 2 개의 마이크로폰들은 임계 (예를 들어, 1-20 센티미터) 거리보다 더 큰 거리로 떨어져 있을 수도 있음) 로 인해 시간적으로 정렬되지 않을 수도 있다. 마이크로폰들에 대한 사운드 소스의 로케이션은 좌측 채널 및 우측 채널에서 상이한 지연들을 도입할 수도 있다. 또한, 좌측 채널과 우측 채널 간의 이득 차이, 에너지 차이, 또는 레벨 차이가 존재할 수도 있다.
일부 예들에서, 다수의 사운드 소스들 (예를 들어, 화자들) 로부터 마이크로폰들에서 오디오 신호들의 도달 시간은, 다수의 화자들이 (예를 들어, 오버랩 없이) 교대로 이야기 할 때 변할 수도 있다. 이러한 경우에서, 인코더는 화자에 기초하여 시간적 시프트 값을 동적으로 조정하여 레퍼런스 채널을 식별할 수도 있다. 일부 다른 예들에서, 다수의 화자들은 동시에 이야기 중일 수도 있고, 이것은 누가 가장 소리 큰 화자인지, 마이크로폰에 가장 가까운지에 따라 변하는 시간적 시프트 값들을 초래할 수도 있다.
일부 예들에서, 제 1 오디오 신호 및 제 2 오디오 신호는, 2 개의 신호들이 적은 (예를 들어, 무) 상관을 잠재적으로 보이는 경우 합성 또는 인공적으로 생성될 수도 있다. 본원에 설명된 예들은 예시적이고 제 1 오디오 신호와 제 2 오디오 신호 간의 관계를 유사한 또는 상이한 상황들에서 결정하는데 있어서 유익할 수도 있다는 것으로 이해되어야 한다.
인코더는 제 1 오디오 신호의 제 1 프레임 및 제 2 오디오 신호의 복수의 프레임들의 비교에 기초하여 비교 값들 (예를 들어, 차이 값들, 변화 값들, 또는 상호 상관 값들) 을 생성할 수도 있다. 복수의 프레임들의 각각의 프레임은 특정 시프트 값에 대응할 수도 있다. 인코더는 비교 값들에 기초하여 제 1 추정된 시프트 값을 생성할 수도 있다. 예를 들어, 제 1 추정된 시프트 값은 제 1 오디오 신호의 제 1 프레임과 제 2 오디오 신호의 대응하는 제 1 프레임 간의 더 높은 시간적-유사성 (또는 더 낮은 차이) 을 나타내는 비교 값에 대응할 수도 있다.
인코더는, 다수의 스테이지들에서, 일련의 추정된 시프트 값들을 리파이닝 (refining) 함으로써 최종 시프트 값을 결정할 수도 있다. 예를 들어, 인코더는 먼저, 제 1 오디오 신호 및 제 2 오디오 신호의 스테레오 사전-프로세싱된 및 리-샘플링된 버전들로부터 생성된 비교 값들에 기초하여 "잠정적인" (tentative) 시프트 값을 추정할 수도 있다. 인코더는 추정된 "잠정적인" 시프트 값에 근접하는 시프트 값들과 연관된 보간된 비교 값들을 생성할 수도 있다. 인코더는 보간된 비교 값들에 기초하여 제 2 추정된 "보간된" 시프트 값을 결정할 수도 있다. 예를 들어, 제 2 추정된 "보간된" 시프트 값은 제 1 추정된 "잠정적인" 시프트 값 및 나머지 보간된 비교 값들보다 더 높은 시간적-유사성 (또는 더 낮은 차이) 을 나타내는 특정 보간된 비교 값에 대응할 수도 있다. 현재 프레임 (예를 들어, 제 1 오디오 신호의 제 1 프레임) 의 제 2 추정된 "보간된" 시프트 값이 이전 프레임 (예를 들어, 제 1 프레임에 선행하는 제 1 오디오 신호의 프레임) 의 최종 시프트 값과 상이하면, 현재 프레임의 "보간된" 시프트 값은, 제 1 오디오 신호와 시프트된 제 2 오디오 신호 간의 시간적-유사성을 개선시키도록 더 "보정"된다. 특히, 제 3 추정된 "보정된" 시프트 값은 현재 프레임의 제 2 추정된 "보간된" 시프트 값 및 이전 프레임의 최종 추정된 시프트 값을 검색함으로써 시간적-유사성의 더 정확한 측정에 대응할 수도 있다. 제 3 추정된 "보정된" 시프트 값은 프레임들 간의 시프트 값에서 임의의 스퓨리어스 (spurious) 변화들을 제한함으로써 최종 시프트 값을 추정하도록 더 컨디셔닝되고, 본원에 설명된 바와 같이 2 개의 연속적인 (또는 계속적인) 프레임들에서 네거티브 시프트 값에서 포지티브 시프트 값으로 (또는 그 반대로) 스위칭하지 않도록 더 제어된다.
일부 예들에서, 인코더는 연속적인 프레임들에서 또는 인접한 프레임들에서 포지티브 시프트 값과 네거티브 시프트 값 간의 또는 그 반대의 스위칭을 억제할 수도 있다. 예를 들어, 인코더는 제 1 프레임의 추정된 "보간된" 또는 "보정된" 시프트 값 및 제 1 프레임에 선행하는 특정 프레임에서 대응하는 추정된 "보간된" 또는 "보정된" 또는 최종 시프트 값에 기초하여 시간적-시프트가 없다는 것을 나타내는 특정 값 (예를 들어, 0) 으로 최종 시프트 값을 설정할 수도 있다. 예시하자면, 인코더는, 현재 프레임의 추정된 "잠정적인" 또는 "보간된" 또는 "보정된" 시프트 값 중 하나가 포지티브이고 이전 프레임 (예를 들어, 제 1 프레임에 선행하는 프레임) 의 추정된 "잠정적인" 또는 "보간된" 또는 "보정된" 또는 "최종" 추정된 시프트 값 중 다른 하나가 네거티브라는 결정에 응답하여, 시간적-시프트가 없다는 것, 즉 shift1 = 0 을 나타내도록 현재 프레임 (예를 들어, 제 1 프레임) 의 최종 시프트 값을 설정할 수도 있다. 대안으로, 인코더는 또한, 현재 프레임의 추정된 "잠정적인" 또는 "보간된" 또는 "보정된" 시프트 값 중 하나가 네거티브이고 이전 프레임 (예를 들어, 제 1 프레임에 선행하는 프레임) 의 추정된 "잠정적인" 또는 "보간된" 또는 "보정된" 또는 "최종" 추정된 시프트 값 중 다른 하나가 포지티브라는 결정에 응답하여, 시간적-시프트가 없다는 것, 즉 shift1 = 0 을 나타내도록 현재 프레임 (예를 들어, 제 1 프레임) 의 최종 시프트 값을 설정할 수도 있다.
인코더는 시프트 값에 기초하여 제 1 오디오 신호 또는 제 2 오디오 신호의 프레임을 "레퍼런스" 또는 "타겟" 으로서 선택할 수도 있다. 예를 들어, 최종 시프트 값이 포지티브라는 결정에 응답하여, 인코더는 제 1 오디오 신호가 "레퍼런스" 신호라는 것 및 제 2 오디오 신호가 "타겟" 신호라는 것을 나타내는 제 1 값 (예를 들어, 0) 을 갖는 레퍼런스 채널 또는 신호 표시자를 생성할 수도 있다. 대안으로, 최종 시프트 값이 네거티브라는 결정에 응답하여, 인코더는 제 2 오디오 신호가 "레퍼런스" 신호라는 것 및 제 1 오디오 신호가 "타겟" 신호라는 것을 나타내는 제 2 값 (예를 들어, 1) 을 갖는 레퍼런스 채널 또는 신호 표시자를 생성할 수도 있다.
인코더는 비인과적 시프트된 타겟 신호 및 레퍼런스 신호와 연관된 상대적 이득 (예를 들어, 상대적 이득 파라미터) 을 추정할 수도 있다. 예를 들어, 최종 시프트 값이 포지티브라는 결정에 응답하여, 인코더는 비인과적 시프트 값 (예를 들어, 최종 시프트 값의 절대 값) 에 의해 오프셋되는 제 2 오디오 신호에 대한 제 1 오디오 신호의 에너지 또는 전력 레벨들을 정규화 또는 등화하도록 이득 값을 추정할 수도 있다. 대안으로, 최종 시프트 값이 네거티브라는 결정에 응답하여, 인코더는 제 2 오디오 신호에 대한 비인과적 시프트된 제 1 오디오 신호의 전력 레벨들을 정규화 또는 등화하도록 이득 값을 추정할 수도 있다. 일부 예들에서, 인코더는 비인과적 시프트된 "타겟" 신호에 대한 "레퍼런스" 신호의 에너지 또는 전력 레벨들을 정규화 또는 등화하도록 이득 값을 추정할 수도 있다. 다른 예들에서, 인코더는 타겟 신호 (예를 들어, 비시프트된 타겟 신호) 에 대한 레퍼런스 신호에 기초하여 이득 값 (예를 들어, 상대적 이득 값) 을 추정할 수도 있다.
인코더는 레퍼런스 신호, 타겟 신호, 비인과적 시프트 값, 및 상대적 이득 파라미터에 기초하여 적어도 하나의 인코딩된 신호 (예를 들어, 중간 신호, 사이드 신호, 또는 양자 모두) 를 생성할 수도 있다. 사이드 신호는 제 1 오디오 신호의 제 1 프레임의 제 1 샘플들과 제 2 오디오 신호의 선택된 프레임의 선택된 샘플들 간의 차이에 대응할 수도 있다. 인코더는 최종 시프트 값에 기초하여 선택된 프레임을 선택할 수도 있다. 제 1 프레임과 동시에 디바이스에 의해 수신되는 제 2 오디오 신호의 프레임에 대응하는 제 2 오디오 신호의 다른 샘플들과 비교할 때 제 1 샘플들과 선택된 샘플들 간의 감소된 차이 때문에 사이드 채널 신호를 인코딩하는데 더 적은 비트들이 사용될 수도 있다. 디바이스의 송신기는 적어도 하나의 인코딩된 신호, 비인과적 시프트 값, 상대적 이득 파라미터, 레퍼런스 채널 또는 신호 표시자, 또는 이들의 조합을 송신할 수도 있다.
인코더는 레퍼런스 신호, 타겟 신호, 비인과적 시프트 값, 상대적 이득 파라미터, 제 1 오디오 신호의 특정 프레임의 저 대역 파라미터들, 특정 프레임의 고 대역 파라미터들, 또는 이들의 조합에 기초하여 적어도 하나의 인코딩된 신호 (예를 들어, 중간 신호, 사이드 신호, 또는 양자 모두) 를 생성할 수도 있다. 특정 프레임은 제 1 프레임에 선행할 수도 있다. 하나 이상의 선행하는 프레임들로부터의 소정의 저 대역 파라미터들, 고 대역 파라미터들, 또는 이들의 조합은 제 1 프레임의 중간 신호, 사이드 신호, 또는 양자 모두를 인코딩하는데 사용될 수도 있다. 저 대역 파라미터들, 고 대역 파라미터들, 또는 이들의 조합에 기초하여 중간 신호, 사이드 신호, 또는 양자 모두를 인코딩하는 것은 비인과적 시프트 값 및 채널-간 상대적 이득 파라미터의 추정들을 개선시킬 수도 있다. 저 대역 파라미터들, 고 대역 파라미터들, 또는 이들의 조합은 피치 파라미터, 보이싱 파라미터, 코더 유형 파라미터, 저-대역 에너지 파라미터, 고-대역 에너지 파라미터, 틸트 파라미터, 피치 이득 파라미터, FCB 이득 파라미터, 코딩 모드 파라미터, 보이스 액티비티 파라미터, 잡음 추정 파라미터, 신호-대-잡음비 파라미터, 포먼트 (formants) 파라미터, 스피치/음악 판정 파라미터, 비인과적 시프트, 채널-간 이득 파라미터, 또는 이들의 조합을 포함할 수도 있다. 디바이스의 송신기는 적어도 하나의 인코딩된 신호, 비인과적 시프트 값, 상대적 이득 파라미터, 레퍼런스 채널 (또는 신호) 표시자, 또는 이들의 조합을 송신할 수도 있다.
도 1 을 참조하면, 특정 예시적 시스템 예가 개시되고 일반적으로 100 으로 표기된다. 시스템 (100) 은 네트워크 (120) 를 통해 제 2 디바이스 (106) 에 통신 가능하게 커플링된 제 1 디바이스 (104) 를 포함한다. 네트워크 (120) 는 하나 이상의 무선 네트워크들, 하나 이상의 유선 네트워크들, 또는 이들의 조합을 포함할 수도 있다.
제 1 디바이스 (104) 는 인코더 (114), 송신기 (110), 하나 이상의 입력 인터페이스들 (112), 또는 이들의 조합을 포함할 수도 있다. 입력 인터페이스들 (112) 의 제 1 입력 인터페이스는 제 1 마이크로폰 (146) 에 커플링될 수도 있다. 입력 인터페이스(들)(112) 의 제 2 입력 인터페이스는 제 2 마이크로폰 (148) 에 커플링될 수도 있다. 인코더 (114) 는 본원에 설명된 바와 같이, 시간적 등화기 (108) 를 포함할 수도 있고 다수의 오디오 신호들을 다운믹싱 및 인코딩하도록 구성될 수도 있다. 제 1 디바이스 (104) 는 또한, 분석 데이터 (190) 를 저장하도록 구성된 메모리 (153) 를 포함할 수도 있다. 제 2 디바이스 (106) 는 디코더 (118) 를 포함할 수도 있다. 디코더 (118) 는 다수의 채널들을 업믹싱 및 렌더링하도록 구성되는 시간적 밸런서 (124) 를 포함할 수도 있다. 제 2 디바이스 (106) 는 제 1 라우드스피커 (142), 제 2 라우드스피커 (144), 또는 양자 모두에 커플링될 수도 있다.
동작 동안, 제 1 디바이스 (104) 는 제 1 마이크로폰 (146) 으로부터 제 1 입력 인터페이스를 통해 제 1 오디오 신호 (130) 를 수신할 수도 있고 제 2 마이크로폰 (148) 으로부터 제 2 입력 인터페이스를 통해 제 2 오디오 신호 (132) 를 수신할 수도 있다. 제 1 오디오 신호 (130) 는 우측 채널 신호 또는 좌측 채널 신호 중 하나에 대응할 수도 있다. 제 2 오디오 신호 (132) 는 우측 채널 신호 또는 좌측 채널 신호 중 다른 하나에 대응할 수도 있다. 사운드 소스 (152)(예를 들어, 사용자, 스피커, 주변 잡음, 악기 등) 는 제 1 마이크로폰 (146) 에 제 2 마이크로폰 (148) 보다 더 가까울 수도 있다. 따라서, 사운드 소스 (152) 로부터의 오디오 신호는 제 2 마이크로폰 (148) 을 통한 것보다 더 이른 시간에 제 1 마이크로폰 (146) 을 통해 입력 인터페이스(들)(112) 에서 수신될 수도 있다. 다수의 마이크로폰들을 통한 멀티-채널 신호 포착에서 이 자연적 지연은 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간에 시간적 시프트를 도입할 수도 있다.
시간적 등화기 (108) 는 마이크로폰들 (146, 148) 에서 캡처된 오디오 간의 시간적 오프셋을 추정하도록 구성될 수도 있다. 시간적 오프셋은 제 1 오디오 신호 (130) 의 제 1 프레임과 제 2 오디오 신호 (132) 의 제 2 프레임 간의 지연에 기초하여 추정될 수도 있고, 여기서 제 2 프레임은 제 1 프레임과 실질적으로 유사한 콘텐트를 포함한다. 예를 들어, 시간적 등화기 (108) 는 제 1 프레임과 제 2 프레임 간의 상호 상관을 결정할 수도 있다. 상호 상관은 하나의 프레임의, 다른 하나에 대한 지체 (lag) 의 함수로서 2 개의 프레임들의 유사성을 측정할 수도 있다. 상호 상관에 기초하여, 시간적 등화기 (108) 는 제 1 프레임과 제 2 프레임 간의 지연 (예를 들어, 지체) 을 결정할 수도 있다. 시간적 등화기 (108) 는 지연 및 이력적 지연 데이터에 기초하여 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 시간적 오프셋을 추정할 수도 있다.
이력적 데이터는 제 1 마이크로폰 (146) 으로부터 캡처된 프레임들과 제 2 마이크로폰 (148) 으로부터 캡처된 대응하는 프레임들 간의 지연들을 포함할 수도 있다. 예를 들어, 시간적 등화기 (108) 는 제 1 오디오 신호 (130) 와 연관된 이전의 프레임들과 제 2 오디오 신호 (132) 와 연관된 대응하는 프레임들 간의 상호 상관 (예를 들어, 지체) 을 결정할 수도 있다. 각각의 지체는 "비교 값" 에 의해 표현될 수도 있다. 즉, 비교 값은 제 1 오디오 신호 (130) 의 프레임과 제 2 오디오 신호 (132) 의 대응하는 프레임 간의 시간 시프트 (k) 를 나타낼 수도 있다. 일 구현에 따르면, 이전의 프레임들에 대한 비교 값들은 메모리 (153) 에 저장될 수도 있다. 시간적 등화기 (108) 의 평활화기 (192) 는 프레임들의 장-기 세트에 대한 비교 값들을 "평활화" (또는 평균) 하고, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 시간적 오프셋 (예를 들어, "시프트") 을 추정하기 위해 장-기 평활화된 비교 값들을 사용할 수도 있다.
예시하자면, 이 프레임 N 에 대한 k 의 시프트에서 비교 값을 나타내면, 프레임 N 은 k=T_MIN (최소 시프트) 내지 k=T_MAX (최대 시프트) 의 비교 값들을 가질 수도 있다. 평활화는, 장-기 비교 값 에 의해 표현되도록 수행될 수도 있다. 상기 식에서 함수 f 는 시프트 (k) 에서 과거 비교 값들의 전부 (또는 서브세트) 의 함수일 수도 있다. 장-기 비교 값 의 대안의 표현은 일 수도 있다. 함수들 f 또는 g 는 각각, 단순한 유한 임펄스 응답 (FIR) 필터들 또는 무한 임펄스 응답 (IIR) 필터들일 수도 있다. 예를 들어, 함수 g 는, 장-기 비교 값 에 의해 표현되도록 단일 탭 IIR 필터일 수도 있고, 여기서 이다. 따라서, 장-기 비교 값 은 프레임 N 에서 순시적 비교 값 및 하나 이상의 이전 프레임들에 대한 장-기 비교 값들 의 가중된 혼합에 기초할 수도 있다. α 의 값이 증가함에 따라, 장-기 비교 값에서 평활화의 양이 증가한다. 특정 양태에서, 함수 f 는, 장-기 비교 값 에 의해 표현되도록 L-탭 FIR 필터일 수도 있고, 여기서 ..., 및 은 가중치들에 대응한다. 특정 양태에서, ..., 및 ..., 및 의 특정 가중치 각각은 ..., 및 의 다른 가중치와 동일하거나 또는 다를 수도 있다. 따라서, 장-기 비교 값 은 프레임 N 에서 순시적 비교 값 및 이전의 (L-1) 프레임들에 대한 비교 값들 의 가중된 혼합에 기초할 수도 있다.
전술된 평활화 기법들은 유성 프레임들, 무성 프레임들, 및 트랜지션 프레임들 간의 시프트 추정을 실질적으로 정규화할 수도 있다. 정규화된 시프트 추정들은 프레임 경계들에서 아티팩트 스킵 및 샘플 반복을 감소시킬 수도 있다. 부가적으로, 정규화된 시프트 추정들은 감소된 사이드 채널 에너지들을 초래할 수도 있고, 이것은 코딩 효율성을 개선시킬 수도 있다.
시간적 등화기 (108) 는 제 2 오디오 신호 (132)(예를 들어, "레퍼런스") 에 대한 제 1 오디오 신호 (130)(예를 들어, "타겟") 의 시프트 (예를 들어, 비인과적 시프트) 를 나타내는 최종 시프트 값 (116)(예를 들어, 비인과적 시프트 값) 을 결정할 수도 있다. 최종 시프트 값 (116) 은 순시적 비교 값 및 장-기 비교 에 기초할 수도 있다. 예를 들어, 전술된 평활화 동작은 도 5 에 대하여 설명된 바와 같이, 잠정적인 시프트 값, 보간된 시프트 값, 보정된 시프트 값, 또는 이들의 조합 상에서 수행될 수도 있다. 최종 시프트 값 (116) 은 도 5 에 대하여 설명된 바와 같이, 잠정적인 시프트 값, 보간된 시프트 값, 및 보정된 시프트 값에 기초할 수도 있다. 최종 시프트 값 (116) 의 제 1 값 (예를 들어, 포지티브 값) 은, 제 2 오디오 신호 (132) 가 제 1 오디오 신호 (130) 에 대해 지연된다는 것을 나타낼 수도 있다. 최종 시프트 값 (116) 의 제 2 값 (예를 들어, 네거티브 값) 은, 제 1 오디오 신호 (130) 가 제 2 오디오 신호 (132) 에 대해 지연된다는 것을 나타낼 수도 있다. 최종 시프트 값 (116) 의 제 3 값 (예를 들어, 0) 은 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 지연이 없다는 것을 나타낼 수도 있다.
일부 구현들에서, 최종 시프트 값 (116) 의 제 3 값 (예를 들어, 0) 은 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 지연이 스위칭된 부호를 갖는다는 것을 나타낼 수도 있다. 예를 들어, 제 1 오디오 신호 (130) 의 제 1 특정 프레임은 제 1 프레임에 선행할 수도 있다. 제 2 오디오 신호 (132) 의 제 1 특정 프레임 및 제 2 특정 프레임은 사운드 소스 (152) 에 의해 방출된 동일한 사운드에 대응할 수도 있다. 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 지연은 제 2 특정 프레임에 대하여 지연된 제 1 특정 프레임을 갖는 것으로부터 제 1 프레임에 대하여 지연된 제 2 프레임을 갖는 것으로 스위칭할 수도 있다. 대안으로, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 지연은 제 1 특정 프레임에 대하여 지연된 제 2 특정 프레임을 갖는 것으로부터 제 2 프레임에 대하여 지연된 제 1 프레임을 갖는 것으로 스위칭할 수도 있다. 시간적 등화기 (108) 는, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 지연이 스위칭된 부호를 갖는다는 결정에 응답하여, 제 3 값 (예를 들어, 0) 을 나타내도록 최종 시프트 값 (116) 을 설정할 수도 있다.
시간적 등화기 (108) 는 최종 시프트 값 (116) 에 기초하여 레퍼런스 신호 표시자 (164) 를 생성할 수도 있다. 예를 들어, 시간적 등화기 (108) 는, 최종 시프트 값 (116) 이 제 1 값 (예를 들어, 포지티브 값) 을 나타낸다는 결정에 응답하여, 제 1 오디오 신호 (130) 가 "레퍼런스" 신호라는 것을 나타내는 제 1 값 (예를 들어, 0) 을 갖도록 레퍼런스 신호 표시자 (164) 를 생성할 수도 있다. 시간적 등화기 (108) 는, 최종 시프트 값 (116) 이 제 1 값 (예를 들어, 포지티브 값) 을 나타낸다는 결정에 응답하여 제 2 오디오 신호 (132) 가 "타겟" 신호에 대응한다는 것을 결정할 수도 있다. 대안으로, 시간적 등화기 (108) 는, 최종 시프트 값 (116) 이 제 2 값 (예를 들어, 네거티브 값) 을 나타낸다는 결정에 응답하여, 제 2 오디오 신호 (132) 가 "레퍼런스" 신호라는 것을 나타내는 제 2 값 (예를 들어, 1) 을 갖도록 레퍼런스 신호 표시자 (164) 를 생성할 수도 있다. 시간적 등화기 (108) 는, 최종 시프트 값 (116) 이 제 2 값 (예를 들어, 네거티브 값) 을 나타낸다는 결정에 응답하여 제 1 오디오 신호 (130) 가 "타겟" 신호에 대응한다는 것을 결정할 수도 있다. 시간적 등화기 (108) 는, 최종 시프트 값 (116) 이 제 3 값 (예를 들어, 0) 을 나타낸다는 결정에 응답하여, 제 1 오디오 신호 (130) 가 "레퍼런스" 신호라는 것을 나타내는 제 1 값 (예를 들어, 0) 을 갖도록 레퍼런스 신호 표시자 (164) 를 생성할 수도 있다. 시간적 등화기 (108) 는, 최종 시프트 값 (116) 이 제 3 값 (예를 들어, 0) 을 나타낸다는 결정에 응답하여 제 2 오디오 신호 (132) 가 "타겟" 신호에 대응한다는 것을 결정할 수도 있다. 대안으로, 시간적 등화기 (108) 는, 최종 시프트 값 (116) 이 제 3 값 (예를 들어, 0) 을 나타낸다는 결정에 응답하여, 제 2 오디오 신호 (132) 가 "레퍼런스" 신호라는 것을 나타내는 제 2 값 (예를 들어, 1) 을 갖도록 레퍼런스 신호 표시자 (164) 를 생성할 수도 있다. 시간적 등화기 (108) 는, 최종 시프트 값 (116) 이 제 3 값 (예를 들어, 0) 을 나타낸다는 결정에 응답하여 제 1 오디오 신호 (130) 가 "타겟" 신호에 대응한다는 것을 결정할 수도 있다. 일부 구현들에서, 시간적 등화기 (108) 는, 최종 시프트 값 (116) 이 제 3 값 (예를 들어, 0) 을 나타낸다는 결정에 응답하여, 레퍼런스 신호 표시자 (164) 를 불변 상태로 남겨둘 수도 있다. 예를 들어, 레퍼런스 신호 표시자 (164) 는 제 1 오디오 신호 (130) 의 제 1 특정 프레임에 대응하는 레퍼런스 신호 표시자와 동일할 수도 있다. 시간적 등화기 (108) 는 최종 시프트 값 (116) 의 절대 값을 나타내는 비인과적 시프트 값 (162) 을 생성할 수도 있다.
시간적 등화기 (108) 는 "타겟" 신호의 샘플들에 기초하여 그리고 "레퍼런스" 신호의 샘플들에 기초하여 이득 파라미터 (160)(예를 들어, 코덱 이득 파라미터) 를 생성할 수도 있다. 예를 들어, 시간적 등화기 (108) 는 비인과적 시프트 값 (162) 에 기초하여 제 2 오디오 신호 (132) 의 샘플들을 선택할 수도 있다. 대안으로, 시간적 등화기 (108) 는 비인과적 시프트 값 (162) 에 독립적으로 제 2 오디오 신호 (132) 의 샘플들을 선택할 수도 있다. 시간적 등화기 (108) 는, 제 1 오디오 신호 (130) 가 레퍼런스 신호라는 결정에 응답하여, 제 1 오디오 신호 (130) 의 제 1 프레임의 제 1 샘플들에 기초하여 선택된 샘플들의 이득 파라미터 (160) 를 결정할 수도 있다. 대안으로, 시간적 등화기 (108) 는, 제 2 오디오 신호 (132) 가 레퍼런스 신호라는 결정에 응답하여, 선택된 샘플들에 기초하여 제 1 샘플들의 이득 파라미터 (160) 를 결정할 수도 있다. 일 예로서, 이득 파라미터 (160) 는 다음의 식들 중 하나에 기초할 수도 있다:
, 식 1a
, 식 1b
, 식 1c
, 식 1d
, 식 1e
, 식 1f
여기서, g D 는 다운믹스 프로세싱을 위한 상대적 이득 파라미터 (160) 에 대응하고, Ref(n) 은 "레퍼런스" 신호의 샘플들에 대응하고, N1 은 제 1 프레임의 비인과적 시프트 값 (162) 에 대응하며, Targ(n+N 1 ) 은 "타겟" 신호의 샘플들에 대응한다. 이득 파라미터 (160)(gD) 는, 예를 들어 식들 1a - 1f 중 하나에 기초하여, 프레임들 간의 이득에서의 큰 점프들을 회피하기 위해 장-기 평활화/히스테리시스 로직을 통합하도록 수정될 수도 있다. 타겟 신호가 제 1 오디오 신호 (130) 를 포함하는 경우, 제 1 샘플들은 타겟 신호의 샘플들을 포함할 수도 있고 선택된 샘플들은 레퍼런스 신호의 샘플들을 포함할 수도 있다. 타겟 신호가 제 2 오디오 신호 (132) 를 포함하는 경우, 제 1 샘플들은 레퍼런스 신호의 샘플들을 포함할 수도 있고, 선택된 샘플들은 타겟 신호의 샘플들을 포함할 수도 있다.
일부 구현들에서, 시간적 등화기 (108) 는 레퍼런스 신호 표시자 (164) 에 관계 없이, 제 1 오디오 신호 (130) 를 레퍼런스 신호로서 취급하는 것 및 제 2 오디오 신호 (132) 를 타겟 신호로서 취급하는 것에 기초하여 이득 파라미터 (160) 를 생성할 수도 있다. 예를 들어, 시간적 등화기 (108) 는 식들 1a-1f 중 하나에 기초하여 이득 파라미터 (160) 를 생성할 수도 있고, 여기서 Ref(n) 은 제 1 오디오 신호 (130) 의 샘플들 (예를 들어, 제 1 샘플들) 에 대응하고 Targ(n+N 1 ) 은 제 2 오디오 신호 (132) 의 샘플들 (예를 들어, 선택된 샘플들) 에 대응한다. 대안의 구현들에서, 시간적 등화기 (108) 는 레퍼런스 신호 표시자 (164) 에 관계 없이, 제 2 오디오 신호 (132) 를 레퍼런스 신호로서 취급하는 것 및 제 1 오디오 신호 (130) 를 타겟 신호로서 취급하는 것에 기초하여 이득 파라미터 (160) 를 생성할 수도 있다. 예를 들어, 시간적 등화기 (108) 는 식들 1a-1f 중 하나에 기초하여 이득 파라미터 (160) 를 생성할 수도 있고, 여기서 Ref(n) 은 제 2 오디오 신호 (132) 의 샘플들 (예를 들어, 선택된 샘플들) 에 대응하고 Targ(n+N 1 ) 은 제 1 오디오 신호 (130) 의 샘플들 (예를 들어, 제 1 샘플들) 에 대응한다.
시간적 등화기 (108) 는 다운믹스 프로세싱을 위해 제 1 샘플들, 선택된 샘플들, 및 상대적인 이득 파라미터 (160) 에 기초하여 하나 이상의 인코딩된 신호들 (102)(예를 들어, 중간 채널 신호, 사이드 채널 신호, 또는 양자 모두) 을 생성할 수도 있다. 예를 들어, 시간적 등화기 (108) 는 다음의 식들 중 하나에 기초하여 중간 신호를 생성할 수도 있다:
, 식 2a
, 식 2b
, 식 2c
, 식 2d
여기서, M 은 중간 채널 신호에 대응하고, gD 는 다운믹스 프로세싱을 위한 상대적인 이득 파라미터 (160) 에 대응하고, Ref(n) 은 "레퍼런스" 신호의 샘플들에 대응하고, N1 는 제 1 프레임의 비인과적 시프트 값 (162) 에 대응하며, Targ(n+N 1 ) 는 "타겟" 신호의 샘플들에 대응한다. DMXFAC 는 도 19 를 참조하여 더 설명되는 바와 같이, 다운믹스 팩터에 대응할 수도 있다.
시간적 등화기 (108) 는 다음의 식들 중 하나에 기초하여 사이드 채널 신호를 생성할 수도 있다:
, 식 3a
, 식 3b
, 식 3c
, 식 3d
여기서, S 는 사이드 채널 신호에 대응하고, gD 는 다운믹스 프로세싱을 위한 상대적인 이득 파라미터 (160) 에 대응하고, Ref(n) 은 "레퍼런스" 신호의 샘플들에 대응하고, N1 는 제 1 프레임의 비인과적 시프트 값 (162) 에 대응하며, Targ(n+N 1 ) 는 "타겟" 신호의 샘플들에 대응한다.
송신기 (110) 는 인코딩된 신호들 (102)(예를 들어, 중간 채널 신호, 사이드 채널 신호, 또는 양자 모두), 레퍼런스 신호 표시자 (164), 비인과적 시프트 값 (162), 이득 파라미터 (160), 또는 이들의 조합을 네트워크 (120) 를 통해 제 2 디바이스 (106) 로 송신할 수도 있다. 일부 구현들에서, 송신기 (110) 는 인코딩된 신호들 (102)(예를 들어, 중간 채널 신호, 사이드 채널 신호, 또는 양자 모두), 레퍼런스 신호 표시자 (164), 비인과적 시프트 값 (162), 이득 파라미터 (160), 또는 이들의 조합을 추가의 프로세싱 또는 이후의 디코딩을 위해 네트워크 (120) 의 디바이스 또는 로컬 디바이스에 저장할 수도 있다.
디코더 (118) 는 인코딩된 신호들 (102) 을 디코딩할 수도 있다. 시간적 밸런서 (124) 는 (예를 들어, 제 1 오디오 신호 (130) 에 대응하는) 제 1 출력 신호 (126), (예를 들어, 제 2 오디오 신호 (132) 에 대응하는) 제 2 출력 신호 (128), 또는 양자 모두를 생성하도록 업믹싱을 수행할 수도 있다. 제 2 디바이스 (106) 는 제 1 라우드스피커 (142) 를 통해 제 1 출력 신호 (126) 를 출력할 수도 있다. 제 2 디바이스 (106) 는 제 2 라우드스피커 (144) 를 통해 제 2 출력 신호 (128) 를 출력할 수도 있다.
시스템 (100) 은 따라서, 시간적 등화기 (108) 로 하여금 중간 신호보다 더 적은 비트들을 사용하여 사이드 채널 신호를 인코딩하는 것을 가능하게 할 수도 있다. 제 1 오디오 신호 (130) 의 제 1 프레임의 제 1 샘플들 및 제 2 오디오 신호 (132) 의 선택된 샘플들은 사운드 소스 (152) 에 의해 방출된 동일한 사운드에 대응할 수도 있고, 따라서 제 1 샘플들과 선택된 샘플들 간의 차이는 제 2 오디오 신호 (132) 의 제 1 샘플들과 다른 샘플들간보다 더 낮을 수도 있다. 사이드 채널 신호는 제 1 샘플들과 선택된 샘플들 간의 차이에 대응할 수도 있다.
도 2 를 참조하면, 시스템의 특정 예시적 구현이 개시되고 일반적으로 200 으로 표기된다. 시스템 (200) 은 네트워크 (120) 를 통해 제 2 디바이스 (106) 에 커플링된 제 1 디바이스 (104) 를 포함한다. 제 1 디바이스 (204) 는 도 1 의 제 1 디바이스 (104) 에 대응할 수도 있다. 시스템 (200) 은 제 1 디바이스 (204) 가 2 개보다 많은 마이크로폰들에 커플링된다는 점에서 도 1 의 시스템 (100) 과 상이하다. 예를 들어, 제 1 디바이스 (204) 는 제 1 마이크로폰 (146), 제 N 마이크로폰 (248), 및 하나 이상의 추가의 마이크로폰들 (예를 들어, 도 1 의 제 2 마이크로폰 (148)) 에 커플링될 수도 있다. 제 2 디바이스 (106) 는 제 1 라우드스피커 (142), 제 Y 라우드스피커 (244), 하나 이상의 추가의 스피커들 (예를 들어, 제 2 라우드스피커 (144)), 또는 이들의 조합에 커플링될 수도 있다. 제 1 디바이스 (204) 는 인코더 (214) 를 포함할 수도 있다. 인코더 (214) 는 도 1 의 인코더 (114) 에 대응할 수도 있다. 인코더 (214) 는 하나 이상의 시간적 등화기들 (208) 을 포함할 수도 있다. 예를 들어, 시간적 등화기(들)(208)은 도 1 의 시간적 등화기 (108) 를 포함할 수도 있다.
동작 동안, 제 1 디바이스 (204) 는 2 보다 많은 오디오 신호들을 수신할 수도 있다. 예를 들어, 제 1 디바이스 (204) 는 제 1 마이크로폰 (146) 을 통해 제 1 오디오 신호 (130) 를, 제 N 마이크로폰 (248) 을 통해 제 N 오디오 신호 (232) 를, 그리고 추가의 마이크로폰들 (예를 들어, 제 2 마이크로폰 (148)) 을 통해 하나 이상의 추가의 오디오 신호들 (예를 들어, 제 2 오디오 신호 (132)) 을 수신할 수도 있다.
시간적 등화기(들)(208) 은 하나 이상의 레퍼런스 신호 표시자들 (264), 최종 시프트 값들 (216), 비인과적 시프트 값들 (262), 이득 파라미터들 (260), 인코딩된 신호들 (202), 또는 이들의 조합을 생성할 수도 있다. 예를 들어, 시간적 등화기(들)(208)은, 제 1 오디오 신호 (130) 가 레퍼런스 신호이고 제 N 오디오 신호 (232) 및 추가의 오디오 신호들 각각이 타겟 신호라는 것을 결정할 수도 있다. 시간적 등화기(들)(208) 은 레퍼런스 신호 표시자 (164), 최종 시프트 값들 (216), 비인과적 시프트 값들 (262), 이득 파라미터들 (260), 및 제 1 오디오 신호 (130) 에 그리고 제 N 오디오 신호 (232) 및 추가의 오디오 신호들 각각에 대응하는 인코딩된 신호들 (202) 을 생성할 수도 있다.
레퍼런스 신호 표시자들 (264) 은 레퍼런스 신호 표시자 (164) 를 포함할 수도 있다. 최종 시프트 값들 (216) 은, 제 1 오디오 신호 (130) 에 대한 제 2 오디오 신호 (132) 의 시프트를 나타내는 최종 시프트 값 (116), 제 1 오디오 신호 (130) 에 대한 제 N 오디오 신호 (232) 의 시프트를 나타내는 제 2 최종 시프트 값, 또는 양자 모두를 포함할 수도 있다. 비인과적 시프트 값들 (262) 은, 최종 시프트 값 (116) 의 절대 값에 대응하는 비인과적 시프트 값 (162), 제 2 최종 시프트 값의 절대 값에 대응하는 제 2 비인과적 시프트 값, 또는 양자 모두를 포함할 수도 있다. 이득 파라미터들 (260) 은, 제 2 오디오 신호 (132) 의 선택된 샘플들의 이득 파라미터 (160), 제 N 오디오 신호 (232) 의 선택된 샘플들의 제 2 이득 파라미터, 또는 양자 모두를 포함할 수도 있다. 인코딩된 신호들 (202) 은 인코딩된 신호들 (102) 중 적어도 하나를 포함할 수도 있다. 예를 들어, 인코딩된 신호들 (202) 은, 제 1 오디오 신호 (130) 의 제 1 샘플들 및 제 2 오디오 신호 (132) 의 선택된 샘플들에 대응하는 사이드 채널 신호, 제 N 오디오 신호 (232) 의 제 1 샘플들 및 선택된 샘플들에 대응하는 제 2 사이드 채널, 또는 양자 모두를 포함할 수도 있다. 인코딩된 신호들 (202) 은, 제 2 오디오 신호 (132) 의 제 1 샘플들, 선택된 샘플들, 및 제 N 오디오 신호 (232) 의 선택된 샘플들에 대응하는 중간 채널 신호를 포함할 수도 있다.
일부 구현들에서, 시간적 등화기(들)(208) 은 도 15 를 참조하여 설명된 바와 같이, 다수의 레퍼런스 신호들 및 대응하는 타겟 신호들을 결정할 수도 있다. 예를 들어, 레퍼런스 신호 표시자들 (264) 은 레퍼런스 신호 및 타겟 신호의 각 쌍에 대응하는 레퍼런스 신호 표시자를 포함할 수도 있다. 예시하자면, 레퍼런스 신호 표시자들 (264) 은 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 대응하는 레퍼런스 신호 표시자 (164) 를 포함할 수도 있다. 최종 시프트 값들 (216) 은 레퍼런스 신호 및 타겟 신호의 각 쌍에 대응하는 최종 시프트 값을 포함할 수도 있다. 예를 들어, 최종 시프트 값들 (216) 은 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 대응하는 최종 시프트 값 (116) 을 포함할 수도 있다. 비인과적 시프트 값들 (262) 은 레퍼런스 신호 및 타겟 신호의 각 쌍에 대응하는 비인과적 시프트 값을 포함할 수도 있다. 예를 들어, 비인과적 시프트 값들 (262) 은 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 대응하는 비인과적 시프트 값 (162) 을 포함할 수도 있다. 이득 파라미터들 (260) 은 레퍼런스 신호 및 타겟 신호의 각 쌍에 대응하는 이득 파라미터를 포함할 수도 있다. 예를 들어, 이득 파라미터들 (260) 은 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 대응하는 이득 파라미터 (160) 를 포함할 수도 있다. 인코딩된 신호들 (202) 은 레퍼런스 신호 및 타겟 신호의 각 쌍에 대응하는 중간 채널 신호 및 사이드 채널 신호를 포함할 수도 있다. 예를 들어, 인코딩된 신호들 (202) 은 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 대응하는 인코딩된 신호들 (102) 을 포함할 수도 있다.
송신기 (110) 는 레퍼런스 신호 표시자들 (264), 비인과적 시프트 값들 (262), 이득 파라미터들 (260), 인코딩된 신호들 (202), 또는 이들의 조합을 네트워크 (120) 를 통해 제 2 디바이스 (106) 로 송신할 수도 있다. 디코더 (118) 는 레퍼런스 신호 표시자들 (264), 비인과적 시프트 값들 (262), 이득 파라미터들 (260), 인코딩된 신호들 (202), 또는 이들의 조합에 기초하여 하나 이상의 출력 신호들을 생성할 수도 있다. 예를 들어, 디코더 (118) 는 제 1 라우드스피커 (142) 를 통해 제 1 출력 신호 (226) 를, 제 Y 라우드스피커 (244) 를 통해 제 Y 출력 신호 (228) 를, 하나 이상의 추가의 라우드스피커들 (예를 들어, 제 2 라우드스피커 (144)) 을 통해 하나 이상의 추가의 출력 신호들 (예를 들어, 제 2 출력 신호 (128)) 들, 또는 이들의 조합을 출력할 수도 있다.
시스템 (200) 은 따라서, 시간적 등화기(들)(208) 로 하여금, 2 보다 많은 오디오 신호들을 인코딩하는 것을 가능하게 할 수도 있다. 예를 들어, 인코딩된 신호들 (202) 은 비인과적 시프트 값들 (262) 에 기초하여 사이드 채널 신호들을 생성함으로써 대응하는 중간 채널들보다 더 적은 비트들을 사용하여 인코딩되는 다수의 사이드 채널 신호들을 포함할 수도 있다.
도 3 을 참조하면, 예시적 샘플 예들이 도시되고 일반적으로 300 으로 표기된다. 샘플들 (300) 의 적어도 서브세트는 본원에 설명된 바와 같이, 제 1 디바이스 (104) 에 의해 인코딩될 수도 있다.
샘플들 (300) 은 제 1 오디오 신호 (130) 에 대응하는 제 1 샘플들 (320), 제 2 오디오 신호 (132) 에 대응하는 제 2 샘플들 (350), 또는 양자 모두를 포함할 수도 있다. 제 1 샘플들 (320) 은 샘플 (322), 샘플 (324), 샘플 (326), 샘플 (328), 샘플 (330), 샘플 (332), 샘플 (334), 샘플 (336), 하나 이상의 추가의 샘플들, 또는 이들의 조합을 포함할 수도 있다. 제 2 샘플들 (350) 은 샘플 (352), 샘플 (354), 샘플 (356), 샘플 (358), 샘플 (360), 샘플 (362), 샘플 (364), 샘플 (366), 하나 이상의 추가의 샘플들, 또는 이들의 조합을 포함할 수도 있다.
제 1 오디오 신호 (130) 는 복수의 프레임들 (예를 들어, 프레임 (302), 프레임 (304), 프레임 (306), 또는 이들의 조합) 에 대응할 수도 있다. 복수의 프레임들 각각은 제 1 샘플들 (320) 의 (예를 들어, 32 kHz 에서 640 샘플들 또는 48 kHz 에서 960 샘플들과 같은 20 ms 에 대응하는) 샘플들의 서브세트에 대응할 수도 있다. 예를 들어, 프레임 (302) 은 샘플 (322), 샘플 (324), 하나 이상의 추가의 샘플들, 또는 이들의 조합에 대응할 수도 있다. 프레임 (304) 은 샘플 (326), 샘플 (328), 샘플 (330), 샘플 (332), 하나 이상의 추가의 샘플들, 또는 이들의 조합에 대응할 수도 있다. 프레임 (306) 은 샘플 (334), 샘플 (336), 하나 이상의 추가의 샘플들, 또는 이들의 조합에 대응할 수도 있다.
샘플 (322) 은 샘플 (352) 과 대략적으로 동시에 도 1 의 입력 인터페이스(들)(112) 에서 수신될 수도 있다. 샘플 (324) 은 샘플 (354) 과 대략적으로 동시에 도 1 의 입력 인터페이스(들)(112) 에서 수신될 수도 있다. 샘플 (326) 은 샘플 (356) 과 대략적으로 동시에 도 1 의 입력 인터페이스(들)(112) 에서 수신될 수도 있다. 샘플 (328) 은 샘플 (358) 과 대략적으로 동시에 도 1 의 입력 인터페이스(들)(112) 에서 수신될 수도 있다. 샘플 (330) 은 샘플 (360) 과 대략적으로 동시에 도 1 의 입력 인터페이스(들)(112) 에서 수신될 수도 있다. 샘플 (332) 은 샘플 (362) 과 대략적으로 동시에 도 1 의 입력 인터페이스(들)(112) 에서 수신될 수도 있다. 샘플 (334) 은 샘플 (364) 과 대략적으로 동시에 도 1 의 입력 인터페이스(들)(112) 에서 수신될 수도 있다. 샘플 (336) 은 샘플 (366) 과 대략적으로 동시에 도 1 의 입력 인터페이스(들)(112) 에서 수신될 수도 있다.
최종 시프트 값 (116) 의 제 1 값 (예를 들어, 포지티브 값) 은 제 2 오디오 신호 (132) 가 제 1 오디오 신호 (130) 에 대해 지연된다는 것을 나타낼 수도 있다. 예를 들어, 최종 시프트 값 (116) 의 제 1 값 (예를 들어, +X ms 또는 +Y 샘플들, 여기서 X 및 Y 는 포지티브의 실수들을 포함) 은, 프레임 (304)(예를 들어, 샘플들 (326-332)) 이 샘플들 (358-364) 에 대응한다는 것을 나타낼 수도 있다. 샘플들 (326-332) 및 샘플들 (358-364) 은 사운드 소스 (152) 로부터 방출된 동일한 사운드에 대응할 수도 있다. 샘플들 (358-364) 은 제 2 오디오 신호 (132) 의 프레임 (344) 에 대응할 수도 있다. 도 1 내지 도 15 중 하나 이상에서 크로스-해칭을 갖는 샘플들의 예시는 샘플들이 동일한 사운드에 대응한다는 것을 나타낼 수도 있다. 예를 들어, 샘플들 (326-332) 및 샘플들 (358-364) 은, 샘플들 (326-332)(예를 들어, 프레임 (304) 및 샘플들 (358-364)(예를 들어, 프레임 (344)) 이 사운드 소스 (152) 로부터 방출된 동일한 사운드에 대응한다는 것을 나타내도록 도 3 에서 크로스-해칭으로 예시된다.
도 3 에 도시된 바와 같이 Y 샘플들의 시간적 오프셋이 예시적인 것으로 이해되어야 한다. 예를 들어, 시간적 오프셋은 0 이상인 샘플들의 수, Y 에 대응할 수도 있다. 시간적 오프셋 Y = 0 샘플들인 제 1 경우에서, (예를 들어, 프레임 (304) 에 대응하는) 샘플들 (326-332) 및 (예를 들어, 프레임 (344) 에 대응하는) 샘플들 (356-362) 은 임의의 프레임 오프셋 없이 높은 유사성을 보일 수도 있다. 시간적 오프셋 Y = 2 샘플들인 제 2 경우에서, 프레임 (304) 및 프레임 (344) 은 2 개의 샘플들에 의해 오프셋될 수도 있다. 이 경우에서, 제 1 오디오 신호 (130) 는 Y = 2 샘플들 또는 X = (2/Fs) ms 에 의해 입력 인터페이스(들)(112) 에서 제 2 오디오 신호 (132) 전에 수신될 수도 있고, 여기서 Fs 는 kHz 단위의 샘플 레이트에 대응한다. 일부 경우들에서, 시간적 오프셋, Y 는 비-정수 값, 예를 들어 32 kHz 에서 X = 0.05 ms 에 대응하는 Y = 1.6 샘플들을 포함할 수도 있다.
도 1 의 시간적 등화기 (108) 는 샘플들 (326-332) 및 샘플들 (358-364) 을 인코딩함으로써 인코딩된 신호들 (102) 을 생성할 수도 있다. 시간적 등화기 (108) 는, 제 1 오디오 신호 (130) 가 레퍼런스 신호에 대응하고 제 2 오디오 신호 (132) 가 타겟 신호에 대응한다는 것을 결정할 수도 있다.
도 4 를 참조하면, 예시적 샘플 예들이 도시되고 일반적으로 400 으로 표기된다. 샘플들 (400) 은, 제 1 오디오 신호 (130) 가 제 2 오디오 신호 (132) 에 대해 지연된다는 점에서 샘플들 (300) 과 상이하다.
최종 시프트 값 (116) 의 제 2 값 (예를 들어, 네거티브 값) 은, 제 1 오디오 신호 (130) 가 제 2 오디오 신호 (132) 에 대해 지연된다는 것을 나타낼 수도 있다. 예를 들어, 최종 시프트 값 (116) 의 제 2 값 (예를 들어, -X ms 또는 -Y 샘플들, 여기서 X 및 Y 는 포지티브의 실수들을 포함) 은, 프레임 (304)(예를 들어, 샘플들 (326-332)) 이 샘플들 (354-360) 에 대응한다는 것을 나타낼 수도 있다. 샘플들 (354-360) 은 제 2 오디오 신호 (132) 의 프레임 (344) 에 대응할 수도 있다. 샘플들 (354-360)(예를 들어, 프레임 (344)) 및 샘플들 (326-332)(예를 들어, 프레임 (304)) 은 사운드 소스 (152) 로부터 방출된 동일한 사운드에 대응할 수도 있다.
도 4 에 도시된 바와 같이 -Y 샘플들의 시간적 오프셋이 예시적인 것으로 이해되어야 한다. 예를 들어, 시간적 오프셋은 0 이하인 샘플들의 수, -Y 에 대응할 수도 있다. 시간적 오프셋 Y = 0 샘플들인 제 1 경우에서, (예를 들어, 프레임 (304) 에 대응하는) 샘플들 (326-332) 및 (예를 들어, 프레임 (344) 에 대응하는) 샘플들 (356-362) 은 임의의 프레임 오프셋 없이 높은 유사성을 보일 수도 있다. 시간적 오프셋 Y = -6 샘플들인 제 2 경우에서, 프레임 (304) 및 프레임 (344) 은 6 샘플들에 의해 오프셋될 수도 있다. 이 경우에서, 제 1 오디오 신호 (130) 는 Y = -6 샘플들 또는 X = (-6/Fs)ms 에 의해 입력 인터페이스(들)(112) 에서 제 2 오디오 신호 (132) 에 후속하여 수신될 수도 있고, 여기서 Fs 는 kHz 에서 샘플 레이트에 대응한다. 일부 경우들에서, 시간적 오프셋, Y 는 비-정수 값, 예를 들어 32 kHz 단위의 X = -0.1 ms 에 대응하는 Y = -3.2 샘플들을 포함할 수도 있다.
도 1 의 시간적 등화기 (108) 는, 도 1 을 참조하여 설명된 바와 같이 샘플들 (326-332) 및 샘플들 (354-360) 을 인코딩함으로써 인코딩된 신호들 (102) 을 생성할 수도 있다. 시간적 등화기 (108) 는, 제 2 오디오 신호 (132) 가 레퍼런스 신호에 대응하고 제 1 오디오 신호 (130) 가 타겟 신호에 대응한다는 것을 결정할 수도 있다. 특히, 시간적 등화기 (108) 는 도 5 를 참조하여 설명된 바와 같이, 최종 시프트 값 (116) 으로부터 비인과적 시프트 값 (162) 을 추정할 수도 있다. 시간적 등화기 (108) 는 최종 시프트 값 (116) 의 부호에 기초하여 제 1 오디오 신호 (130) 또는 제 2 오디오 신호 (132) 중 하나를 레퍼런스 신호로서 그리고 제 1 오디오 신호 (130) 또는 제 2 오디오 신호 (132) 중 다른 하나를 타겟 신호로서 식별 (예를 들어, 지정) 할 수도 있다.
도 5 를 참조하면, 시스템의 예시적인 예가 도시되고 일반적으로 500 으로 표기된다. 시스템 (500) 은 도 1 의 시스템 (100) 에 대응할 수도 있다. 예를 들어, 시스템 (100), 도 1 의 제 1 디바이스 (104), 또는 양자 모두는 시스템 (500) 의 하나 이상의 컴포넌트들을 포함할 수도 있다. 시간적 등화기 (108) 는 리샘플러 (504), 신호 비교기 (506), 보간기 (510), 시프트 리파이너 (511), 시프트 변화 분석기 (512), 절대 시프트 생성기 (513), 레퍼런스 신호 지정기 (508), 이득 파라미터 생성기 (514), 신호 생성기 (516), 또는 이들의 조합을 포함할 수도 있다.
동작 동안, 리샘플러 (504) 는 도 6 을 참조하여 또한 설명된 바와 같이, 하나 이상의 리샘플링된 신호들을 생성할 수도 있다. 예를 들어, 리샘플러 (504) 는 리샘플링 (예를 들어, 다운샘플링 또는 업샘플링) 팩터 (D)(예를 들어, ≥ 1) 에 기초하여 제 1 오디오 신호 (130) 를 리샘플링 (예를 들어, 다운샘플링 또는 업샘플링) 함으로써 제 1 리샘플링된 신호 (530) 를 생성할 수도 있다. 리샘플러 (504) 는 리샘플링 팩터 (D) 에 기초하여 제 2 오디오 신호 (132) 를 리샘플링함으로써 제 2 리샘플링된 신호 (532) 를 생성할 수도 있다. 리샘플러 (504) 는 제 1 리샘플링된 신호 (530), 제 2 리샘플링된 신호 (532), 또는 양자 모두를 신호 비교기 (506) 에 제공할 수도 있다.
신호 비교기 (506) 는, 도 7 을 참조하여 또한 설명된 바와 같이, 비교 값들 (534)(예를 들어, 차이 값들, 변동 값들, 유사성 값들, 코히런스 값들, 또는 상호 상관 값들), 잠정적인 시프트 값 (536), 또는 양자 모두를 생성할 수도 있다. 예를 들어, 신호 비교기 (506) 는, 도 7 을 참조하여 또한 설명된 바와 같이, 제 1 리샘플링된 신호 (530) 및 제 2 리샘플링된 신호 (532) 에 적용된 복수의 시프트 값들에 기초하여 비교 값들 (534) 을 생성할 수도 있다. 신호 비교기 (506) 는, 도 7 을 참조하여 또한 설명된 바와 같이, 비교 값들 (534) 에 기초하여 잠정적인 시프트 값 (536) 을 결정할 수도 있다. 일 구현에 따르면, 신호 비교기 (506) 는 리샘플링된 신호들 (530, 532) 의 이전 프레임들에 대한 비교 값들을 취출할 수도 있고 이전 프레임들에 대한 비교 값들을 사용하여 장-기 평활화 동작에 기초하여 비교 값들 (534) 을 수정할 수도 있다. 예를 들어, 비교 값들 (534) 은 현재 프레임 (N) 에 대한 장-기 비교 값 을 포함할 수도 있고 에 의해 표현될 수도 있고, 여기서 이다. 따라서, 장-기 비교 값 은 프레임 N 에서의 순시적 비교 값 및 하나 이상의 이전 프레임들에 대한 장-기 비교 값들 의 가중된 혼합에 기초할 수도 있다. α 의 값이 증가함에 따라, 장-기 비교 값에서의 평활화의 양은 증가한다.
제 1 리샘플링된 신호 (530) 는 제 1 오디오 신호 (130) 보다 더 적은 샘플들 또는 더 많은 샘플들을 포함할 수도 있다. 제 2 리샘플링된 신호 (532) 는 제 2 오디오 신호 (132) 보다 더 적은 샘플들 또는 더 많은 샘플들을 포함할 수도 있다. 리샘플링된 신호들 (예를 들어, 제 1 리샘플링된 신호 (530) 및 제 2 리샘플링된 신호 (532)) 중 더 적은 샘플들에 기초하여 비교 값들 (534) 을 결정하는 것은 원래의 신호들 (예를 들어, 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132)) 의 샘플들보다 더 적은 리소스들 (예를 들어, 시간, 동작들의 수, 또는 양자 모두) 을 사용할 수도 있다. 리샘플링된 신호들 (예를 들어, 제 1 리샘플링된 신호 (530) 및 제 2 리샘플링된 신호 (532)) 중 더 많은 샘플들에 기초하여 비교 값들 (534) 을 결정하는 것은 원래의 신호들 (예를 들어, 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132)) 의 샘플들보다 정확도를 증가시킬 수도 있다. 신호 비교기 (506) 는 비교 값들 (534), 잠정적인 시프트 값 (536), 또는 양자 모두를 보간기 (510) 에 제공할 수도 있다.
보간기 (510) 는 잠정적인 시프트 값 (536) 을 확장할 수도 있다. 예를 들어, 보간기 (510) 는, 도 8 을 참조하여 또한 설명된 바와 같이, 보간된 시프트 값 (538) 을 생성할 수도 있다. 예를 들어, 보간기 (510) 는 비교 값들 (534) 을 보간함으로써 잠정적인 시프트 값 (536) 에 근접하는 시프트 값들에 대응하는 보간된 비교 값들을 생성할 수도 있다. 보간기 (510) 는 보간된 비교 값들 및 비교 값들 (534) 에 기초하여 보간된 시프트 값 (538) 을 결정할 수도 있다. 비교 값들 (534) 은 시프트 값들의 더 조대한 입도 (coarser granularity) 에 기초할 수도 있다. 예를 들어, 비교 값들 (534) 은, 제 1 서브세트의 제 1 시프트 값과 제 1 서브세트의 각각의 제 2 시프트 값 간의 차이가 임계 이상 (예를 들어, ≥ 1) 이도록 시프트 값들의 세트의 제 1 서브세트에 기초할 수도 있다. 임계는 리샘플링 팩터 (D) 에 기초할 수도 있다.
보간된 비교 값들은 리샘플링된 잠정적인 시프트 값 (536) 에 근접하는 시프트 값들의 더 미세한 입도에 기초할 수도 있다. 예를 들어, 보간된 비교 값들은, 제 2 서브세트의 최고 시프트 값과 리샘플링된 잠정적인 시프트 값 (536) 간의 차이가 임계 미만 (예를 들어, ≥ 1) 이고, 제 2 서브세트의 최저 시프트 값과 리샘플링된 잠정적인 시프트 값 (536) 간의 차이가 임계 미만이도록 시프트 값들의 세트의 제 2 서브세트에 기초할 수도 있다. 시프트 값들의 세트의 더 조대한 입도 (예를 들어, 제 1 서브세트) 에 기초하여 비교 값들 (534) 을 결정하는 것은 시프트 값들의 세트의 더 미세한 입도 (예를 들어, 전부) 에 기초하여 비교 값들 (534) 을 결정하는 것보다 더 적은 리소스들 (예를 들어, 시간, 동작들, 또는 양자 모두) 을 사용할 수도 있다. 시프트 값들의 제 2 서브세트에 대응하는 보간된 비교 값들을 결정하는 것은 시프트 값들의 세트의 각각의 시프트 값에 대응하는 비교 값들을 결정하지 않고 잠정적인 시프트 값 (536) 에 근접하는 시프트 값들의 더 작은 세트의 더 미세한 입도에 기초하여 잠정적인 시프트 값 (536) 을 확장할 수도 있다. 따라서, 시프트 값들의 제 1 서브세트에 기초하여 잠정적인 시프트 값 (536) 을 결정하는 것 및 보간된 비교 값들에 기초하여 보간된 시프트 값 (538) 을 결정하는 것은 추정된 시프트 값의 리파인먼트 및 리소스 사용의 균형을 맞출 수도 있다. 보간기 (510) 는 보간된 시프트 값 (538) 을 시프트 리파이너 (511) 에 제공할 수도 있다.
일 구현에 따르면, 보간기 (510) 는 이전 프레임들에 대한 보간된 시프트 값들을 취출할 수도 있고 이전 프레임들에 대한 보간된 시프트 값들을 사용하여 장-기 평활화 동작에 기초하여 보간된 시프트 값 (538) 을 수정할 수도 있다. 예를 들어, 보간된 시프트 값 (538) 은 현재 프레임 (N) 에 대한 장-기 보간된 시프트 값 을 포함할 수도 있고 에 의해 표현될 수도 있고, 여기서 이다. 따라서, 장-기 보간된 시프트 값 은 프레임 N 에서의 순시적 보간된 시프트 값 및 하나 이상의 이전 프레임들에 대한 장-기 보간된 시프트 값들 의 가중된 혼합에 기초할 수도 있다. α 의 값이 증가함에 따라, 장-기 비교 값에서의 평활화의 양은 증가한다.
시프트 리파이너 (511) 는, 도 9a 내지 도 9c 를 참조하여 또한 설명된 바와 같이, 보간된 시프트 값 (538) 을 리파이닝함으로써 보정된 시프트 값 (540) 을 생성할 수도 있다. 예를 들어, 도 9a 를 참조하여 또한 설명된 바와 같이, 시프트 리파이너 (511) 는, 보간된 시프트 값 (538) 이 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 시프트에서의 변화가 시프트 변화 임계보다 크다는 것을 나타내는지 여부를 결정할 수도 있다. 시프트에서의 변화는 도 3 의 프레임 (302) 과 연관된 제 1 시프트 값과 보간된 시프트 값 (538) 간의 차이 (예를 들어, 변동) 에 의해 나타내어질 수도 있다. 시프트 리파이너 (511) 는, 차이가 임계 이하라는 결정에 응답하여, 보정된 시프트 값 (540) 을 보간된 시프트 값 (538) 으로 설정할 수도 있다. 대안으로, 도 9a 를 참조하여 또한 설명된 바와 같이, 시프트 리파이너 (511) 는, 차이가 임계보다 크다는 결정에 응답하여, 시프트 변화 임계 이하인 차이에 대응하는 복수의 시프트 값들을 결정할 수도 있다. 시프트 리파이너 (511) 는 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 적용된 복수의 시프트 값들에 기초하여 비교 값들을 결정할 수도 있다. 시프트 리파이너 (511) 는 도 9a 를 참조하여 또한 설명된 바와 같이, 비교 값들에 기초하여 보정된 시프트 값 (540) 을 결정할 수도 있다. 예를 들어, 시프트 리파이너 (511) 는 도 9a 를 참조하여 또한 설명된 바와 같이, 비교 값들 및 보간된 시프트 값 (538) 에 기초하여 복수의 시프트 값들의 시프트 값을 선택할 수도 있다. 시프트 리파이너 (511) 는 선택된 시프트 값을 나타내도록 보정된 시프트 값 (540) 을 설정할 수도 있다. 프레임 (302) 에 대응하는 제 1 시프트 값과 보간된 시프트 값 (538) 간의 비영 (non-zero) 차이는, 제 2 오디오 신호 (132) 의 일부 샘플들이 양자 모두의 프레임들 (예를 들어, 프레임 (302) 및 프레임 (304)) 에 대응한다는 것을 나타낼 수도 있다. 예를 들어, 제 2 오디오 신호 (132) 의 일부 샘플들은 인코딩 동안 중복될 수도 있다. 대안으로, 비영 차이는, 제 2 오디오 신호 (132) 의 일부 샘플들이 프레임 (302) 에도 또는 프레임 (304) 에도 대응하지 않는다는 것을 나타낼 수도 있다. 예를 들어, 제 2 오디오 신호 (132) 의 일부 샘플들은 인코딩 동안 손실될 수도 있다. 보정된 시프트 값 (540) 을 복수의 시프트 값들 중 하나로 설정하는 것은 연속적인 (또는 인접한) 프레임들 간의 시프트들에서의 큰 차이를 방지할 수도 있고, 이에 의해 인코딩 동안 샘플 중복 또는 샘플 손실의 양을 감소시킨다. 시프트 리파이너 (511) 는 보정된 시프트 값 (540) 을 시프트 변화 분석기 (512) 에 제공할 수도 있다.
일 구현에 따르면, 시프트 리파이너는 이전 프레임들에 대한 보정된 시프트 값들을 취출할 수도 있고 이전 프레임들에 대한 보정된 시프트 값들을 사용하여 장-기 평활화 동작에 기초하여 보정된 시프트 값 (540) 을 수정할 수도 있다. 예를 들어, 보정된 시프트 값 (540) 은 현재 프레임 (N) 에 대한 장-기 보정된 시프트 값 을 포함할 수도 있고 에 의해 표현될 수도 있고, 여기서 이다. 따라서, 장-기 보정된 시프트 값 은 프레임 N 에서의 순시적 보정된 시프트 값 및 하나 이상의 이전 프레임들에 대한 장-기 보정된 시프트 값들 의 가중된 혼합에 기초할 수도 있다. α 의 값이 증가함에 따라, 장-기 비교 값에서의 평활화의 양은 증가한다.
일부 구현들에서, 시프트 리파이너 (511) 는 도 9b 를 참조하여 설명된 바와 같이, 보간된 시프트 값 (538) 을 조정할 수도 있다. 시프트 리파이너 (511) 는 조정된 보간된 시프트 값 (538) 에 기초하여 보정된 시프트 값 (540) 을 결정할 수도 있다. 일부 구현들에서, 시프트 리파이너 (511) 는 도 9c 를 참조하여 설명된 바와 같이, 보정된 시프트 값 (540) 을 결정할 수도 있다.
시프트 변화 분석기 (512) 는, 도 1 을 참조하여 설명된 바와 같이, 보정된 시프트 값 (540) 이 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 타이밍에서의 스위치 또는 반전을 나타내는지 여부를 결정할 수도 있다. 특히, 타이밍에서의 반전 또는 스위치는, 프레임 (302) 에 대해, 제 1 오디오 신호 (130) 가 제 2 오디오 신호 (132) 전에 입력 인터페이스(들)(112) 에서 수신되고 후속의 프레임 (예를 들어, 프레임 (304) 또는 프레임 (306)) 에 대해, 제 2 오디오 신호 (132) 가 제 1 오디오 신호 (130) 전에 입력 인터페이스(들)에서 수신된다는 것을 나타낼 수도 있다. 대안으로, 타이밍에서의 반전 또는 스위치는, 프레임 (302) 에 대해, 제 2 오디오 신호 (132) 가 제 1 오디오 신호 (130) 전에 입력 인터페이스(들)(112) 에서 수신되고 후속의 프레임 (예를 들어, 프레임 (304) 또는 프레임 (306)) 에 대해, 제 1 오디오 신호 (130) 가 제 2 오디오 신호 (132) 전에 입력 인터페이스(들)에서 수신된다는 것을 나타낼 수도 있다. 다시 말해, 타이밍에서의 스위치 또는 반전은, 프레임 (302) 에 대응하는 최종 시프트 값이 프레임 (304) 에 대응하는 보정된 시프트 값 (540) 의 제 2 부호와 구별되는 제 1 부호를 갖는다 (예를 들어, 포지티브에서 네가티브로의 트랜지션 또는 그 반대) 는 것을 나타낼 수도 있다. 시프트 변화 분석기 (512) 는, 도 10a 를 참조하여 또한 설명된 바와 같이, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 지연이 프레임 (302) 과 연관된 제 1 시프트 값 및 보정된 시프트 값 (540) 에 기초하여 스위칭된 부호를 갖는지 여부를 결정할 수도 있다. 시프트 변화 분석기 (512) 는, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 지연이 스위칭된 부호를 갖는다는 결정에 응답하여, 최종 시프트 값 (116) 을 시간 시프트가 없다는 것을 나타내는 값 (예를 들어, 0) 으로 설정할 수도 있다. 대안으로, 시프트 변화 분석기 (512) 는, 도 10a 를 참조하여 또한 설명된 바와 같이, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 지연이 스위칭된 부호를 갖지 않는다는 결정에 응답하여 최종 시프트 값 (116) 을 보정된 시프트 값 (540) 으로 설정할 수도 있다. 시프트 변화 분석기 (512) 는, 도 10a 및 도 11 을 참조하여 또한 설명된 바와 같이, 보정된 시프트 값 (540) 을 리파이닝함으로써 추정된 시프트 값을 생성할 수도 있다. 시프트 변화 분석기 (512) 는 최종 시프트 값 (116) 을 추정된 시프트 값으로 설정할 수도 있다. 시간 시프트가 없다는 것을 나타내도록 최종 시프트 값 (116) 을 설정하는 것은 제 1 오디오 신호 (130) 의 연속적인 (또는 인접한) 프레임들에 대해 반대 방향들에서 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 를 시간 시프트하지 않게 함으로써 디코더에서 왜곡을 감소시킬 수도 있다. 시프트 변화 분석기 (512) 는 최종 시프트 값 (116) 을 레퍼런스 신호 지정기 (508) 에, 절대 시프트 생성기 (513) 에, 또는 양자 모두에 제공할 수도 있다. 일부 구현들에서, 시프트 변화 분석기 (512) 는 도 10b 를 참조하여 설명된 바와 같이 최종 시프트 값 (116) 을 결정할 수도 있다.
절대 시프트 생성기 (513) 는 최종 시프트 값 (116) 에 절대 함수를 적용함으로써 비인과적 시프트 값 (162) 을 생성할 수도 있다. 절대 시프트 생성기 (513) 는 비인과적 시프트 값 (162) 을 이득 파라미터 생성기 (514) 에 제공할 수도 있다.
레퍼런스 신호 지정기 (508) 는 도 12 및 도 13 을 참조하여 또한 설명되는 바와 같이, 레퍼런스 신호 표시자 (164) 를 생성할 수도 있다. 예를 들어, 레퍼런스 신호 표시자 (164) 는, 제 1 오디오 신호 (130) 가 레퍼런스 신호라는 것을 나타내는 제 1 값 또는 제 2 오디오 신호 (132) 가 레퍼런스 신호라는 것을 나타내는 제 2 값을 가질 수도 있다. 레퍼런스 신호 지정기 (508) 는 레퍼런스 신호 표시자 (164) 를 이득 파라미터 생성기 (514) 에 제공할 수도 있다.
이득 파라미터 생성기 (514) 는 비인과적 시프트 값 (162) 에 기초하여 타겟 신호 (예를 들어, 제 2 오디오 신호 (132)) 의 샘플들을 선택할 수도 있다. 예시하자면, 이득 파라미터 생성기 (514) 는, 비인과적 시프트 값 (162) 이 제 1 값 (예를 들어, +X ms 또는 +Y 샘플들, 여기서 X 및 Y 는 포지티브의 실수들을 포함) 을 갖는다는 결정에 응답하여 샘플들 (358-364) 을 선택할 수도 있다. 이득 파라미터 생성기 (514) 는, 비인과적 시프트 값 (162) 이 제 2 값 (예를 들어, -X ms 또는 -Y 샘플들) 을 갖는다는 결정에 응답하여 샘플들 (354-360) 을 선택할 수도 있다. 이득 파라미터 생성기 (514) 는, 비인과적 시프트 값 (162) 이 시간 시프트가 없다는 것을 나타내는 값 (예를 들어, 0) 을 갖는다는 결정에 응답하여 샘플들 (356-362) 을 선택할 수도 있다.
이득 파라미터 생성기 (514) 는, 레퍼런스 신호 표시자 (164) 에 기초하여 제 1 오디오 신호 (130) 가 레퍼런스 신호인지 또는 제 2 오디오 신호 (132) 가 레퍼런스 신호인지 여부를 결정할 수도 있다. 이득 파라미터 생성기 (514) 는 도 1 을 참조하여 설명된 바와 같이, 제 2 오디오 신호 (132) 의 선택된 샘플들 (예를 들어, 샘플들 (354-360), 샘플들 (356-362), 또는 샘플들 (358-364)) 및 프레임 (304) 의 샘플들 (326-332) 에 기초하여 이득 파라미터 (160) 를 생성할 수도 있다. 예를 들어, 이득 파라미터 생성기 (514) 는 식 1a 내지 식 1f 중 하나 이상에 기초하여 이득 파라미터 (160) 를 생성할 수도 있고, 여기서 gD 는 이득 파라미터 (160) 에 대응하고, Ref(n) 은 레퍼런스 신호의 샘플들에 대응하며, Targ(n+N 1 ) 는 타겟 신호의 샘플들에 대응한다. 예시하자면, Ref(n) 는 프레임 (304) 의 샘플들 (326-332) 에 대응할 수도 있고, Targ(n+tN 1 ) 은 비인과적 시프트 값 (162) 이 제 1 값 (예를 들어, +X ms 또는 +Y 샘플들, 여기서 X 및 Y 는 포지티브의 실수들을 포함) 을 갖는 경우 프레임 (344) 의 샘플들 (358-364) 에 대응할 수도 있다. 일부 구현들에서, 도 1 을 참조하여 설명된 바와 같이, Ref(n) 은 제 1 오디오 신호 (130) 의 샘플들에 대응할 수도 있고 Targ(n+N 1 ) 은 제 2 오디오 신호 (132) 의 샘플들에 대응할 수도 있다. 대안의 구현들에서, 도 1 을 참조하여 설명된 바와 같이, Ref(n) 은 제 2 오디오 신호 (132) 의 샘플들에 대응할 수도 있고 Targ(n+N 1 ) 은 제 1 오디오 신호 (130) 의 샘플들에 대응할 수도 있다.
이득 파라미터 생성기 (514) 는 이득 파라미터 (160), 레퍼런스 신호 표시자 (164), 비인과적 시프트 값 (162), 또는 이들의 조합을 신호 생성기 (516) 에 제공할 수도 있다. 신호 생성기 (516) 는 도 1 을 참조하여 설명된 바와 같이, 인코딩된 신호들 (102) 을 생성할 수도 있다. 예를 들어, 인코딩된 신호들 (102) 은 제 1 인코딩된 신호 프레임 (564)(예를 들어, 중간 채널 프레임), 제 2 인코딩된 신호 프레임 (566)(예를 들어, 사이드 채널 프레임), 또는 양자 모두를 포함할 수도 있다. 신호 생성기 (516) 는 식 2a 또는 식 2b 에 기초하여 제 1 인코딩된 신호 프레임 (564) 을 생성할 수도 있고, 여기서 M 은 제 1 인코딩된 신호 프레임 (564) 에 대응하고, gD 는 이득 파라미터 (160) 에 대응하고, Ref(n) 은 레퍼런스 신호의 샘플들에 대응하며, Targ(n+N 1 ) 는 타겟 신호의 샘플들에 대응한다. 신호 생성기 (516) 는 식 3a 또는 식 3b 에 기초하여 제 2 인코딩된 신호 프레임 (566) 을 생성할 수도 있고, 여기서 S 는 제 2 인코딩된 신호 프레임 (566) 에 대응하고, gD 는 이득 파라미터 (160) 에 대응하고, Ref(n) 은 레퍼런스 신호의 샘플들에 대응하며, Targ(n+N 1 ) 는 타겟 신호의 샘플들에 대응한다.
시간적 등화기 (108) 는 제 1 리샘플링된 신호 (530), 제 2 리샘플링된 신호 (532), 비교 값들 (534), 잠정적인 시프트 값 (536), 보간된 시프트 값 (538), 보정된 시프트 값 (540), 비인과적 시프트 값 (162), 레퍼런스 신호 표시자 (164), 최종 시프트 값 (116), 이득 파라미터 (160), 제 1 인코딩된 신호 프레임 (564), 제 2 인코딩된 신호 프레임 (566), 또는 이들의 조합을 메모리 (153) 에 저장할 수도 있다. 예를 들어, 분석 데이터 (190) 는 제 1 리샘플링된 신호 (530), 제 2 리샘플링된 신호 (532), 비교 값들 (534), 잠정적인 시프트 값 (536), 보간된 시프트 값 (538), 보정된 시프트 값 (540), 비인과적 시프트 값 (162), 레퍼런스 신호 표시자 (164), 최종 시프트 값 (116), 이득 파라미터 (160), 제 1 인코딩된 신호 프레임 (564), 제 2 인코딩된 신호 프레임 (566), 또는 이들의 조합을 포함할 수도 있다.
전술된 평활화 기법들은 유성 프레임들, 무성 프레임들, 및 트랜지션 프레임들 간의 시프트 추정을 실질적으로 정규화할 수도 있다. 정규화된 시프트 추정들은 프레임 경계들에서 아티팩트 스킵 및 샘플 반복을 감소시킬 수도 있다. 부가적으로, 정규화된 시프트 추정들은 감소된 사이드 채널 에너지들을 초래할 수도 있고, 이것은 코딩 효율성을 개선시킬 수도 있다.
도 6 을 참조하면, 시스템의 예시적인 예가 도시되고 일반적으로 600 으로 표기된다. 시스템 (600) 은 도 1 의 시스템 (100) 에 대응할 수도 있다. 예를 들어, 시스템 (100), 도 1 의 제 1 디바이스 (104), 또는 양자 모두는 시스템 (600) 의 하나 이상의 컴포넌트들을 포함할 수도 있다.
리샘플러 (504) 는 도 1 의 제 1 오디오 신호 (130) 를 리샘플링 (예를 들어, 다운샘플링 또는 업샘플링) 함으로써 제 1 리샘플링된 신호 (530) 의 제 1 샘플들 (620) 을 생성할 수도 있다. 리샘플러 (504) 는 도 1 의 제 2 오디오 신호 (132) 를 리샘플링 (예를 들어, 다운샘플링 또는 업샘플링) 함으로써 제 2 리샘플링된 신호 (532) 의 제 2 샘플들 (650) 을 생성할 수도 있다.
제 1 오디오 신호 (130) 는 도 3 의 제 1 샘플들 (320) 을 생성하도록 제 1 샘플 레이트 (Fs) 에서 샘플링될 수도 있다. 제 1 샘플 레이트 (Fs) 는 광대역 (WB) 대역폭과 연관된 제 1 레이트 (예를 들어, 16 킬로헤르츠 (kHz)), 초 광대역 (SWB) 대역폭과 연관된 제 2 레이트 (예를 들어, 32 kHz), 전대역 (FB) 대역폭과 연관된 제 3 레이트 (예를 들어, 48 kHz), 또는 다른 레이트에 대응할 수도 있다. 제 2 오디오 신호 (132) 는 도 3 의 제 2 샘플들 (350) 을 생성하도록 제 1 샘플 레이트 (Fs) 에서 샘플링될 수도 있다.
일부 구현들에서, 리샘플러 (504) 는 제 1 오디오 신호 (130)(또는 제 2 오디오 신호 (132)) 를 리샘플링하기 전에 제 1 오디오 신호 (130)(또는 제 2 오디오 신호 (132)) 를 사전-프로세싱할 수도 있다. 리샘플러 (504) 는 무한 임펄스 응답 (IIR) 필터 (예를 들어, 제 1 차 IIR 필터) 에 기초하여 제 1 오디오 신호 (130)(또는 제 2 오디오 신호 (132)) 를 필터링함으로써 제 1 오디오 신호 (130)(또는 제 2 오디오 신호 (132)) 를 사전-프로세싱할 수도 있다. IIR 필터는 다음의 식에 기초할 수도 있다:
, 식 4
여기서, α 는 포지티브, 예컨대 0.68 또는 0.72 이다. 리샘플링 전에 탈-엠퍼시스 (de-emphasis) 를 수행하는 것은 에일리어싱, 신호 컨디셔닝, 또는 양자 모두와 같은 효과들을 감소시킬 수도 있다. 제 1 오디오 신호 (130)(예를 들어, 사전-프로세싱된 제 1 오디오 신호 (130)) 및 제 2 오디오 신호 (132)(예를 들어, 사전-프로세싱된 제 2 오디오 신호 (132)) 는 리샘플링 팩터 (D) 에 기초하여 리샘플링될 수도 있다. 리샘플링 팩터 (D) 는 제 1 샘플 레이트 (Fs) 에 기초할 수도 있다 (예를 들어, D = Fs/8, D=2Fs 등).
대안의 구현들에서, 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 는 리샘플링 전에 안티-에일리어싱 필터를 사용하여 저역-통과 필터링 또는 데시메이팅 (decimating) 될 수도 있다. 데시메이션 필터는 리샘플링 팩터 (D) 에 기초할 수도 있다. 특정 예에서, 리샘플러 (504) 는, 제 1 샘플 레이트 (Fs) 가 특정 레이트 (예를 들어, 32 kHz) 에 대응한다는 결정에 응답하여 제 1 컷-오프 주파수 (예를 들어, π/D 또는 π/4) 를 갖는 데시메이션 필터를 선택할 수도 있다. 다수의 신호들 (예를 들어, 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132)) 을 탈-엠퍼사이징 (de-emphasizing) 함으로써 에일리어싱을 감소시키는 것은 다수의 신호들에 데시메이션 필터를 적용하는 것보다 연산적으로 비용이 덜 들 수도 있다.
제 1 샘플들 (620) 은 샘플 (622), 샘플 (624), 샘플 (626), 샘플 (628), 샘플 (630), 샘플 (632), 샘플 (634), 샘플 (636), 하나 이상의 추가의 샘플들, 또는 이들의 조합을 포함할 수도 있다. 제 1 샘플들 (620) 은 도 3 의 서브세트 (예를 들어, 1/8 번째) 의 제 1 샘플들 (320) 을 포함할 수도 있다. 샘플 (622), 샘플 (624), 하나 이상의 추가의 샘플들, 또는 이들의 조합은 프레임 (302) 에 대응할 수도 있다. 샘플 (626), 샘플 (628), 샘플 (630), 샘플 (632), 하나 이상의 추가의 샘플들, 또는 이들의 조합은 프레임 (304) 에 대응할 수도 있다. 샘플 (634), 샘플 (636), 하나 이상의 추가의 샘플들, 또는 이들의 조합은 프레임 (306) 에 대응할 수도 있다.
제 2 샘플들 (650) 은 샘플 (652), 샘플 (654), 샘플 (656), 샘플 (658), 샘플 (660), 샘플 (662), 샘플 (664), 샘플 (667), 하나 이상의 추가의 샘플들, 또는 이들의 조합을 포함할 수도 있다. 제 2 샘플들 (650) 은 도 3 의 서브세트 (예를 들어, 1/8 번째) 의 제 2 샘플들 (350) 을 포함할 수도 있다. 샘플들 (654-660) 은 샘플들 (354-360) 에 대응할 수도 있다. 예를 들어, 샘플들 (654-660) 은 서브세트 (예를 들어, 1/8 번째) 의 샘플들 (354-360) 을 포함할 수도 있다. 샘플들 (656-662) 은 샘플들 (356-362) 에 대응할 수도 있다. 예를 들어, 샘플들 (656-662) 은 서브세트 (예를 들어, 1/8 번째) 의 샘플들 (356-362) 을 포함할 수도 있다. 샘플들 (658-664) 은 샘플들 (358-364) 에 대응할 수도 있다. 예를 들어, 샘플들 (658-664) 은 서브세트 (예를 들어, 1/8 번째) 의 샘플들 (358-364) 을 포함할 수도 있다. 일부 구현들에서, 리샘플링 팩터는 제 1 값 (예를 들어, 1) 에 대응할 수도 있고, 여기서 도 6 의 샘플들 (622-636) 및 샘플들 (652-667) 은 도 3 의 샘플들 (322-336) 및 샘플들 (352-366) 에 각각 유사할 수도 있다.
리샘플러 (504) 는 제 1 샘플들 (620), 제 2 샘플들 (650), 또는 양자 모두를 메모리 (153) 에 저장할 수도 있다. 예를 들어, 분석 데이터 (190) 는 제 1 샘플들 (620), 제 2 샘플들 (650), 또는 양자 모두를 포함할 수도 있다.
도 7 을 참조하면, 시스템의 예시적인 예가 도시되고 일반적으로 700 으로 표기된다. 시스템 (700) 은 도 1 의 시스템 (100) 에 대응할 수도 있다. 예를 들어, 시스템 (100), 도 1 의 제 1 디바이스 (104), 또는 양자 모두는 시스템 (700) 의 하나 이상의 컴포넌트들을 포함할 수도 있다.
메모리 (153) 는 복수의 시프트 값들 (760) 을 저장할 수도 있다. 시프트 값들 (760) 은 제 1 시프트 값 (764)(예를 들어, -X ms 또는 -Y 샘플들, 여기서 X 및 Y 는 포지티브의 실수들을 포함), 제 2 시프트 값 (766)(예를 들어, +X ms 또는 +Y 샘플들, 여기서 X 및 Y 는 포지티브의 실수들을 포함), 또는 양자 모두를 포함할 수도 있다. 시프트 값들 (760) 은 더 낮은 시프트 값 (예를 들어, 최소 시프트 값, T_MIN) 내지 더 높은 시프트 값 (예를 들어, 최대 시프트 값, T_MAX) 의 범위일 수도 있다. 시프트 값들 (760) 은 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 예상된 시간적 시프트 (예를 들어, 최대 예상된 시간적 시프트) 를 나타낼 수도 있다.
동작 동안, 신호 비교기 (506) 는 제 1 샘플들 (620) 및 제 2 샘플들 (650) 에 적용된 시프트 값들 (760) 에 기초하여 비교 값들 (534) 을 결정할 수도 있다. 예를 들어, 샘플들 (626-632) 은 제 1 시간 (t) 에 대응할 수도 있다. 예시하자면, 도 1 의 입력 인터페이스(들)(112) 은 대략 제 1 시간 (t) 에서 프레임 (304) 에 대응하는 샘플들 (626-632) 을 수신할 수도 있다. 제 1 시프트 값 (764)(예를 들어, -X ms 또는 -Y 샘플들, 여기서 X 및 Y 는 포지티브의 실수들을 포함) 은 제 2 시간 (t-1) 에 대응할 수도 있다.
샘플들 (654-660) 은 제 2 시간 (t-1) 에 대응할 수도 있다. 예를 들어, 입력 인터페이스(들)(112) 은 대략 제 2 시간 (t-1) 에서 샘플들 (654-660) 을 수신할 수도 있다. 신호 비교기 (506) 는 샘플들 (626-632) 및 샘플들 (654-660) 에 기초하여 제 1 시프트 값 (764) 에 대응하는 제 1 비교 값 (714)(예를 들어, 차이 값, 변동 값, 또는 상호 상관 값) 을 결정할 수도 있다. 예를 들어, 제 1 비교 값 (714) 은 샘플들 (626-632) 및 샘플들 (654-660) 의 상호 상관의 절대 값에 대응할 수도 있다. 다른 예로서, 제 1 비교 값 (714) 은 샘플들 (626-632) 과 샘플들 (654-660) 간의 차이를 나타낼 수도 있다.
제 2 시프트 값 (766)(예를 들어, +X ms 또는 +Y 샘플들, 여기서 X 및 Y 는 포지티브의 실수들을 포함) 은 제 3 시간 (t+1) 에 대응할 수도 있다. 샘플들 (658-664) 은 제 3 시간 (t+1) 에 대응할 수도 있다. 예를 들어, 입력 인터페이스(들)(112) 은 대략 제 3 시간 (t+1) 에서 샘플들 (658-664) 을 수신할 수도 있다. 신호 비교기 (506) 는 샘플들 (626-632) 및 샘플들 (658-664) 에 기초하여 제 2 시프트 값 (766) 에 대응하는 제 2 비교 값 (716)(예를 들어, 차이 값, 변동 값, 또는 상호 상관 값) 을 결정할 수도 있다. 예를 들어, 제 2 비교 값 (716) 은 샘플들 (626-632) 및 샘플들 (658-664) 의 상호 상관의 절대 값에 대응할 수도 있다. 다른 예로서, 제 2 비교 값 (716) 은 샘플들 (626-632) 과 샘플들 (658-664) 간의 차이를 나타낼 수도 있다. 신호 비교기 (506) 는 비교 값들 (534) 을 메모리 (153) 에 저장할 수도 있다. 예를 들어, 분석 데이터 (190) 는 비교 값들 (534) 을 포함할 수도 있다.
신호 비교기 (506) 는 비교 값들 (534) 의 다른 값들보다 더 높은 (또는 더 낮은) 값을 갖는 비교 값들 (534) 의 선택된 비교 값 (736) 을 식별할 수도 있다. 예를 들어, 신호 비교기 (506) 는, 제 2 비교 값 (716) 이 제 1 비교 값 (714) 이상이라는 결정에 응답하여 선택된 비교 값 (736) 으로서 제 2 비교 값 (716) 을 선택할 수도 있다. 일부 구현들에서, 비교 값들 (534) 은 상호 상관 값들에 대응할 수도 있다. 신호 비교기 (506) 는, 제 2 비교 값 (716) 이 제 1 비교 값 (714) 보다 크다는 결정에 응답하여, 샘플들 (626-632) 이 샘플들 (654-660) 보다 샘플들 (658-664) 과 더 높은 상관을 갖는다고 결정할 수도 있다. 신호 비교기 (506) 는 더 높은 상관을 나타내는 제 2 비교 값 (716) 을 선택된 비교 값 (736) 으로서 선택할 수도 있다. 다른 구현들에서, 비교 값들 (534) 은 차이 값들 (예를 들어, 변동 값) 에 대응할 수도 있다. 신호 비교기 (506) 는, 제 2 비교 값 (716) 이 제 1 비교 값 (714) 보다 낮다는 결정에 응답하여, 샘플들 (626-632) 이 샘플들 (654-660) 보다 샘플들 (658-664) 과 더 큰 유사성 (예를 들어, 더 낮은 차이) 을 갖는다고 결정할 수도 있다. 신호 비교기 (506) 는 더 낮은 차이를 나타내는 제 2 비교 값 (716) 을 선택된 비교 값 (736) 으로서 선택할 수도 있다.
선택된 비교 값 (736) 은 비교 값들 (534) 의 다른 값들보다 더 높은 상관 (또는 더 낮은 차이) 을 나타낼 수도 있다. 신호 비교기 (506) 는 선택된 비교 값 (736) 에 대응하는 시프트 값들 (760) 의 잠정적인 시프트 값 (536) 을 식별할 수도 있다. 예를 들어, 신호 비교기 (506) 는, 제 2 시프트 값 (766) 이 선택된 비교 값 (736)(예를 들어, 제 2 비교 값 (716)) 에 대응한다는 결정에 응답하여 제 2 시프트 값 (766) 을 잠정적인 시프트 값 (536) 으로서 식별할 수도 있다.
신호 비교기 (506) 는 다음의 식에 기초하여 선택된 비교 값 (736) 을 결정할 수도 있다:
, 식 5
여기서, maxXCorr 는 선택된 비교 값 (736) 에 대응하고 k 는 시프트 값에 대응한다. w(n)*1' 는 탈-엠퍼사이징된, 리샘플링된, 및 윈도윙된 제 1 오디오 신호 (130) 에 대응하며, w(n)*r' 는 탈-엠퍼사이징된, 리샘플링된, 및 윈도윙된 제 2 오디오 신호 (132) 에 대응한다. 예를 들어, w(n)*1' 는 샘플들 (626-632) 에 대응할 수도 있고, w(n-l)*r' 은 샘플들 (654-660) 에 대응할 수도 있고, w(n)*r' 는 샘플들 (656-662) 에 대응할 수도 있으며, w(n+1)*r' 는 샘플들 (658-664) 에 대응할 수도 있다. -K 는 시프트 값들 (760) 의 더 낮은 시프트 값 (예를 들어, 최소 시프트 값) 에 대응할 수도 있고, K 는 시프트 값들 (760) 의 더 높은 시프트 값 (예를 들어, 최대 시프트 값) 에 대응할 수도 있다. 식 5 에서, w(n)*1' 는 제 1 오디오 신호 (130) 가 우측 (r) 채널 신호 또는 좌측 (l) 채널 신호에 대응하는지 여부에 관계 없이 제 1 오디오 신호 (130) 에 대응한다. 식 5 에서, w(n)*r' 는 제 2 오디오 신호 (132) 가 우측 (r) 채널 신호 또는 좌측 (l) 채널 신호에 대응하는지 여부에 관계 없이 제 2 오디오 신호 (132) 에 대응한다.
신호 비교기 (506) 는 다음의 식에 기초하여 잠정적인 시프트 값 (536) 을 결정할 수도 있다:
, 식 6
여기서, T 는 잠정적인 시프트 값 (536) 에 대응한다.
신호 비교기 (506) 는 도 6 의 리샘플링 팩터 (D) 에 기초하여 잠정적인 시프트 값 (536) 을 리샘플링된 샘플들로부터 원래의 샘플들에 맵핑할 수도 있다. 예를 들어, 신호 비교기 (506) 는 리샘플링 팩터 (D) 에 기초하여 잠정적인 시프트 값 (536) 을 업데이트할 수도 있다. 예시하자면, 신호 비교기 (506) 는 잠정적인 시프트 값 (536) 을 잠정적인 시프트 값 (536)(예를 들어, 3) 및 리샘플링 팩터 (D)(예를 들어, 4) 의 곱 (예를 들어, 12) 으로 설정할 수도 있다.
도 8 을 참조하면, 시스템의 예시적인 예가 도시되고 일반적으로 800 으로 표기된다. 시스템 (800) 은 도 1 의 시스템 (100) 에 대응할 수도 있다. 예를 들어, 시스템 (100), 도 1 의 제 1 디바이스 (104), 또는 양자 모두는 시스템 (800) 의 하나 이상의 컴포넌트들을 포함할 수도 있다. 메모리 (153) 는 시프트 값들 (860) 을 저장하도록 구성될 수도 있다. 시프트 값들 (860) 은 제 1 시프트 값 (864), 제 2 시프트 값 (866), 또는 양자 모두를 포함할 수도 있다.
동작 동안, 보간기 (510) 는 본원에 설명된 바와 같이, 잠정적인 시프트 값 (536)(예를 들어, 12) 에 근접한 시프트 값들 (860) 을 생성할 수도 있다. 맵핑된 시프트 값들은 리샘플링 팩터 (D) 에 기초하여 리샘플링된 샘플들로부터 원래의 샘플들로 맵핑된 시프트 값들 (760) 에 대응할 수도 있다. 예를 들어, 맵핑된 시프트 값들의 제 1 맵핑된 시프트 값은 제 1 시프트 값 (764) 및 리샘플링 팩터 (D) 의 곱에 대응할 수도 있다. 맵핑된 시프트 값들의 제 1 맵핑된 시프트 값 및 맵핑된 시프트 값들의 각각의 제 2 맵핑된 시프트 값 간의 차이는 임계 값 (예를 들어, 리샘플링 팩터 (D), 예컨대 4) 이상일 수도 있다. 시프트 값들 (860) 은 시프트 값들 (760) 보다 더 미세한 입도를 가질 수도 있다. 예를 들어, 시프트 값들 (860) 의 더 낮은 값 (예를 들어, 최소 값) 과 잠정적인 시프트 값 (536) 간의 차이는 임계 값 (예를 들어, 4) 미만일 수도 있다. 임계 값은 도 6 의 리샘플링 팩터 (D) 에 대응할 수도 있다. 시프트 값들 (860) 은 제 1 값 (예를 들어, 잠정적인 시프트 값 (536)-(임계 값-1)) 에서부터 제 2 값 (예를 들어, 잠정적인 시프트 값 (536) + (임계 값 -1)) 의 범위일 수도 있다.
보간기 (510) 는, 본원에 설명된 바와 같이 비교 값들 (534) 에 보간을 수행함으로써 시프트 값들 (860) 에 대응하는 보간된 비교 값들 (816) 을 생성할 수도 있다. 시프트 값들 (860) 중 하나 이상에 대응하는 비교 값들은 비교 값들 (534) 의 더 낮은 입도 때문에 비교 값들 (534) 로부터 배제될 수도 있다. 보간된 비교 값들 (816) 을 사용하여 시프트 값들 (860) 중 하나 이상에 대응하는 보간된 비교 값들이 검색을 가능하게 하여, 잠정적인 시프트 값 (536) 에 근접한 특정 시프트 값에 대응하는 보간된 비교 값이 도 7 의 제 2 비교 값 (716) 보다 더 높은 상관 (또는 더 낮은 차이) 을 나타내는지 여부를 결정할 수도 있다.
도 8 은 보간된 비교 값들 (816) 및 비교 값들 (534)(예를 들어, 상호 상관 값들) 의 예들을 예시하는 그래프 (820) 를 포함한다. 보간기 (510) 는 해닝 윈도윙된 싱크 보간 (hanning windowed sinc interpolation), IIR 필터 기반 보간, 스플라인 보간, 다른 형태의 신호 보간, 또는 이들의 조합에 기초하여 보간을 수행할 수도 있다. 예를 들어, 보간기 (510) 는 다음의 식에 기초하여 해닝 윈도윙된 싱크 보간을 수행할 수도 있다:
, 식 7
여기서, 이고, b 는 윈도윙된 싱크 함수에 대응하고, 은 잠정적인 시프트 값 (536) 에 대응한다. 는 비교 값들 (534) 의 특정 비교 값에 대응할 수도 있다. 예를 들어, 는 i 가 4 에 대응하는 경우, 제 1 시프트 값 (예를 들어, 8) 에 대응하는 비교 값들 (534) 의 제 1 비교 값을 나타낼 수도 있다. 는 i 가 0 에 대응하는 경우 잠정적인 시프트 값 (536)(예를 들어, 12) 에 대응하는 제 2 비교 값 (716) 을 나타낼 수도 있다. 는 i 가 -4 에 대응하는 경우, 제 3 시프트 값 (예를 들어, 16) 에 대응하는 비교 값들 (534) 의 제 3 비교 값을 나타낼 수도 있다.
R(k)32kHz 는 보간된 비교 값들 (816) 의 특정 보간된 값에 대응할 수도 있다. 보간된 비교 값들 (816) 의 각각의 보간된 값은 윈도윙된 싱크 함수 (b) 및 제 1 비교 값, 제 2 비교 값 (716), 및 제 3 비교 값의 각각의 곱의 합에 대응할 수도 있다. 예를 들어, 보간기 (510) 는 윈도윙된 싱크 함수 (b) 및 제 1 비교 값의 제 1 곱, 윈도윙된 싱크 함수 (b) 및 제 2 비교 값의 제 2 곱, 및 윈도윙된 싱크 함수 (b) 및 제 3 비교 값의 제 3 곱을 결정할 수도 있다. 보간기 (510) 는 제 1 곱, 제 2 곱, 및 제 3 곱의 합에 기초하여 특정 보간된 값을 결정할 수도 있다. 보간된 비교 값들 (816) 의 제 1 보간된 값은 제 1 시프트 값 (예를 들어, 9) 에 대응할 수도 있다. 윈도윙된 싱크 함수 (b) 는 제 1 시프트 값에 대응하는 제 1 값을 가질 수도 있다. 보간된 비교 값들 (816) 의 제 2 보간된 값은 제 2 시프트 값 (예를 들어, 10) 에 대응할 수도 있다. 윈도윙된 싱크 함수 (b) 는 제 2 시프트 값에 대응하는 제 2 값을 가질 수도 있다. 윈도윙된 싱크 함수 (b) 의 제 1 값은 제 2 값과 다를 수도 있다. 제 1 보간된 값은 따라서, 제 2 보간된 값과 다를 수도 있다.
식 7 에서, 8 kHz 는 비교 값들 (534) 의 제 1 레이트에 대응할 수도 있다. 예를 들어, 제 1 레이트는 비교 값들 (534) 에 포함되는 프레임 (예를 들어, 도 3 의 프레임 (304)) 에 대응하는 비교 값들의 수 (예를 들어, 8) 를 나타낼 수도 있다. 32 kHz 는 보간된 비교 값들 (816) 의 제 2 레이트에 대응할 수도 있다. 예를 들어, 제 2 레이트는 보간된 비교 값들 (816) 에 포함되는 프레임 (예를 들어, 도 3 의 프레임 (304)) 에 대응하는 보간된 비교 값들의 수 (예를 들어, 32) 를 나타낼 수도 있다.
보간기 (510) 는 보간된 비교 값들 (816) 의 보간된 비교 값 (838)(예를 들어, 최대 값 또는 최소 값) 을 선택할 수도 있다. 보간기 (510) 는 보간된 비교 값 (838) 에 대응하는 시프트 값들 (860) 의 시프트 값 (예를 들어, 14) 을 선택할 수도 있다. 보간기 (510) 는 선택된 시프트 값 (예를 들어, 제 2 시프트 값 (866)) 을 나타내는 보간된 시프트 값 (538) 을 생성할 수도 있다.
더 조대한 접근을 사용하여 잠정적인 시프트 값 (536) 을 결정하는 것 및 잠정적인 시프트 값 (536) 주변을 검색하여 보간된 시프트 값 (538) 을 결정하는 것은 검색 효율성 또는 정확성을 손상시키지 않고 검색 복잡성을 감소시킬 수도 있다.
도 9a 를 참조하면, 시스템의 예시적인 예가 도시되고 일반적으로 900 으로 표기된다. 시스템 (900) 은 도 1 의 시스템 (100) 에 대응할 수도 있다. 예를 들어, 시스템 (100), 도 1 의 제 1 디바이스 (104), 또는 양자 모두는 시스템 (900) 의 하나 이상의 컴포넌트들을 포함할 수도 있다. 시스템 (900) 은 메모리 (153), 시프트 리파이너 (911), 또는 양자 모두를 포함할 수도 있다. 메모리 (153) 는 프레임 (302) 에 대응하는 제 1 시프트 값 (962) 을 저장하도록 구성될 수도 있다. 예를 들어, 분석 데이터 (190) 는 제 1 시프트 값 (962) 을 포함할 수도 있다. 제 1 시프트 값 (962) 은 프레임 (302) 과 연관된 잠정적인 시프트 값, 보간된 시프트 값, 보정된 시프트 값, 최종 시프트 값, 또는 비인과적 시프트 값에 대응할 수도 있다. 프레임 (302) 은 제 1 오디오 신호 (130) 에서 프레임 (304) 에 선행할 수도 있다. 시프트 리파이너 (911) 는 도 1 의 시프트 리파이너 (511) 에 대응할 수도 있다.
도 9a 는 또한, 일반적으로 920 으로 표기된 동작의 예시적 방법의 플로우차트를 포함한다. 방법 (920) 은 도 1 의 시간적 등화기 (108), 인코더 (114), 제 1 디바이스 (104), 도 2 의 시간적 등화기(들)(208), 인코더 (214), 제 2 디바이스 (204), 도 5 의 시프트 리파이너 (511), 시프트 리파이너 (911), 또는 이들의 조합에 의해 수행될 수도 있다.
방법 (920) 은, 901 에서, 제 1 시프트 값 (962) 과 보간된 시프트 값 (538) 간의 차이의 절대 값이 제 1 임계보다 큰지 여부를 결정하는 단계를 포함한다. 예를 들어, 시프트 리파이너 (911) 는 제 1 시프트 값 (962) 과 보간된 시프트 값 (538) 간의 차이의 절대 값이 제 1 임계 (예를 들어, 시프트 변화 임계) 보다 큰지 여부를 결정할 수도 있다.
방법 (920) 은 또한, 901 에서, 절대 값이 제 1 임계 이하라는 결정에 응답하여, 902 에서, 보간된 시프트 값 (538) 을 나타내도록 보정된 시프트 값 (540) 을 설정하는 단계를 포함한다. 예를 들어, 시프트 리파이너 (911) 는, 절대 값이 시프트 변화 임계 이하라는 결정에 응답하여, 보간된 시프트 값 (538) 을 나타내도록 보정된 시프트 값 (540) 을 설정할 수도 있다. 일부 구현들에서, 시프트 변화 임계는, 제 1 시프트 값 (962) 이 보간된 시프트 값 (538) 과 동일한 경우 보정된 시프트 값 (540) 이 보간된 시프트 값 (538) 으로 설정될 것을 나타내는 제 1 값 (예를 들어, 0) 을 가질 수도 있다. 대안의 구현들에서, 시프트 변화 임계는, 보정된 시프트 값 (540) 이 더 큰 자유도로, 902 에서, 보간된 시프트 값 (538) 으로 설정될 것을 나타내는 제 2 값 (예를 들어, ≥ 1) 을 가질 수도 있다. 예를 들어, 보정된 시프트 값 (540) 은 제 1 시프트 값 (962) 과 보간된 시프트 값 (538) 간의 차이들의 범위에 대해 보간된 시프트 값 (538) 으로 설정될 수도 있다. 예시하자면, 보정된 시프트 값 (540) 은, 제 1 시프트 값 (962) 과 보간된 시프트 값 (538) 간의 차이 (예를 들어, -2, -1, 0, 1, 2) 의 절대 값이 시프트 변화 임계 (예를 들어, 2) 이하인 경우 보간된 시프트 값 (538) 으로 설정될 수도 있다.
방법 (920) 은, 901 에서 절대 값이 제 1 임계보다 크다는 결정에 응답하여, 904 에서 제 1 시프트 값 (962) 이 보간된 시프트 값 (538) 보다 큰지 여부를 결정하는 단계를 더 포함한다. 예를 들어, 시프트 리파이너 (911) 는, 절대 값이 시프트 변화 임계보다 크다는 결정에 응답하여, 제 1 시프트 값 (962) 이 보간된 시프트 값 (538) 보다 큰지 여부를 결정할 수도 있다.
방법 (920) 은 또한, 904 에서, 제 1 시프트 값 (962) 이 보간된 시프트 값 (538) 보다 크다는 결정에 응답하여, 906 에서, 더 낮은 시프트 값 (930) 을 제 1 시프트 값 (962) 과 제 2 시프트 임계 간의 차이로 설정하고, 더 큰 시프트 값 (932) 을 제 1 시프트 값 (962) 으로 설정하는 단계를 포함한다. 예를 들어, 시프트 리파이너 (911) 는, 제 1 시프트 값 (962)(예를 들어, 20) 이 보간된 시프트 값 (538)(예를 들어, 14) 보다 크다는 결정에 응답하여, 더 낮은 시프트 값 (930)(예를 들어, 17) 을 제 1 시프트 값 (962)(예를 들어, 20) 과 제 2 임계 (예를 들어, 3) 간의 차이로 설정할 수도 있다. 부가적으로, 또는 대안으로, 시프트 리파이너 (911) 는, 제 1 시프트 값 (962) 이 보간된 시프트 값 (538) 보다 크다는 결정에 응답하여, 더 큰 시프트 값 (932)(예를 들어, 20) 을 제 1 시프트 값 (962) 으로 설정할 수도 있다. 제 2 임계는 제 1 시프트 값 (962) 과 보간된 시프트 값 (538) 간의 차이에 기초할 수도 있다. 일부 구현들에서, 더 낮은 시프트 값 (930) 은 보간된 시프트 값 (538) 오프셋과 임계 (예를 들어, 제 2 임계) 간의 차이로 설정될 수도 있고 더 큰 시프트 값 (932) 은 제 1 시프트 값 (962) 과 임계 (예를 들어, 제 2 임계) 간의 차이로 설정될 수도 있다.
방법 (920) 은, 904 에서 제 1 시프트 값 (962) 이 보간된 시프트 값 (538) 이하라는 결정에 응답하여, 910 에서, 더 낮은 시프트 값 (930) 을 제 1 시프트 값 (962) 으로 설정하고, 더 큰 시프트 값 (932) 을 제 1 시프트 값 (962) 과 제 3 임계의 합으로 설정하는 단계를 더 포함한다. 예를 들어, 시프트 리파이너 (911) 는, 제 1 시프트 값 (962)(예를 들어, 10) 이 보간된 시프트 값 (538)(예를 들어, 14) 이하라는 결정에 응답하여, 더 낮은 시프트 값 (930) 을 제 1 시프트 값 (962)(예를 들어, 10) 으로 설정할 수도 있다. 부가적으로, 또는 대안으로, 시프트 리파이너 (911) 는, 제 1 시프트 값 (962) 이 보간된 시프트 값 (538) 이하라는 결정에 응답하여, 더 큰 시프트 값 (932)(예를 들어, 13) 을 제 1 시프트 값 (962)(예를 들어, 10) 및 제 3 임계 (예를 들어, 3) 의 합으로 설정할 수도 있다. 제 3 임계는 제 1 시프트 값 (962) 과 보간된 시프트 값 (538) 간의 차이에 기초할 수도 있다. 일부 구현들에서, 더 낮은 시프트 값 (930) 은 제 1 시프트 값 (962) 과 임계 (예를 들어, 제 3 임계) 간의 차이로 설정될 수도 있고 더 큰 시프트 값 (932) 은 보간된 시프트 값 (538) 과 임계 (예를 들어, 제 3 임계) 간의 차이로 설정될 수도 있다.
방법 (920) 은 또한, 908 에서, 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 적용된 시프트 값들 (960) 에 기초하여 비교 값들 (916) 을 결정하는 단계를 포함한다. 예를 들어, 시프트 리파이너 (911)(또는 신호 비교기 (506)) 는, 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 적용된 시프트 값들 (960) 에 기초하여, 도 7 을 참조하여 설명된 바와 같이 비교 값들 (916) 을 생성할 수도 있다. 예시하자면, 시프트 값들 (960) 은 더 낮은 시프트 값 (930)(예를 들어, 17) 에서부터 더 큰 시프트 값 (932)(예를 들어, 20) 까지의 범위일 수도 있다. 시프트 리파이너 (911)(또는 신호 비교기 (506)) 는 샘플들 (326-332) 및 제 2 샘플들 (350) 의 특정 서브세트에 기초하여 비교 값들 (916) 의 특정 비교 값을 생성할 수도 있다. 제 2 샘플들 (350) 의 특정 서브세트는 시프트 값들 (960) 의 특정 시프트 값 (예를 들어, 17) 에 대응할 수도 있다. 특정 비교 값은 샘플들 (326-332) 과 제 2 샘플들 (350) 의 특정 서브세트 간의 차이 (또는 상관) 를 나타낼 수도 있다.
방법 (920) 은, 912 에서 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 기초하여 생성된 비교 값들 (916) 에 기초하여 보정된 시프트 값 (540) 을 결정하는 단계를 더 포함한다. 예를 들어, 시프트 리파이너 (911) 는 비교 값들 (916) 에 기초하여 보정된 시프트 값 (540) 을 결정할 수도 있다. 예시하자면, 제 1 경우에서, 비교 값들 (916) 이 상호 상관 값들에 대응하는 경우, 시프트 리파이너 (911) 는 보간된 시프트 값 (538) 에 대응하는 도 8 의 보간된 비교 값 (838) 이 비교 값들 (916) 의 최고 비교 값 이상이라고 결정할 수도 있다. 대안으로, 비교 값들 (916) 이 차이 값들 (예를 들어, 변동 값들) 에 대응하는 경우, 시프트 리파이너 (911) 는, 보간된 비교 값 (838) 이 비교 값들 (916) 의 최저 비교 값 이하라고 결정할 수도 있다. 이 경우에서, 시프트 리파이너 (911) 는, 제 1 시프트 값 (962)(예를 들어, 20) 이 보간된 시프트 값 (538)(예를 들어, 14) 보다 크다는 결정에 응답하여, 보정된 시프트 값 (540) 을 더 낮은 시프트 값 (930)(예를 들어, 17) 으로 설정할 수도 있다. 대안으로, 시프트 리파이너 (911) 는, 제 1 시프트 값 (962)(예를 들어, 10) 이 보간된 시프트 값 (538)(예를 들어, 14) 이하라는 결정에 응답하여, 보정된 시프트 값 (540) 을 더 큰 시프트 값 (932)(예를 들어, 13) 으로 설정할 수도 있다.
제 2 경우에서, 비교 값들 (916) 이 상호 상관 값들에 대응하는 경우, 시프트 리파이너 (911) 는, 보간된 비교 값 (838) 이 비교 값들 (916) 의 최고 비교 값 미만이라고 결정할 수도 있고 보정된 시프트 값 (540) 을 최고 비교 값에 대응하는 시프트 값들 (960) 의 특정 시프트 값 (예를 들어, 18) 으로 설정할 수도 있다. 대안으로, 비교 값들 (916) 이 차이 값들 (예를 들어, 변동 값들) 에 대응하는 경우, 시프트 리파이너 (911) 는, 보간된 비교 값 (838) 이 비교 값들 (916) 의 최저 비교 값보다 크다고 결정할 수도 있고 보정된 시프트 값 (540) 을 최저 비교 값에 대응하는 시프트 값들 (960) 의 특정 시프트 값 (예를 들어, 18) 으로 설정할 수도 있다.
비교 값들 (916) 은 제 1 오디오 신호 (130), 제 2 오디오 신호 (132), 및 시프트 값들 (960) 에 기초하여 생성될 수도 있다. 보정된 시프트 값 (540) 은 도 7 을 참조하여 설명된 바와 같이, 신호 비교기 (506) 에 의해 수행된 것과 유사한 절차를 사용하여 비교 값들 (916) 에 기초하여 생성될 수도 있다.
방법 (920) 은 따라서, 시프트 리파이너 (911) 가 연속적인 (또는 인접한) 프레임들과 연관된 시프트 값에서의 변화를 제한하게 할 수도 있다. 시프트 값에서의 감소된 변화는 인코딩 동안 샘플 손실 또는 샘플 중복을 감소시킬 수도 있다.
도 9b 를 참조하면, 시스템의 예시적인 예가 도시되고 일반적으로 950 으로 표기된다. 시스템 (950) 은 도 1 의 시스템 (100) 에 대응할 수도 있다. 예를 들어, 시스템 (100), 도 1 의 제 1 디바이스 (104), 또는 양자 모두는 시스템 (950) 의 하나 이상의 컴포넌트들을 포함할 수도 있다. 시스템 (950) 은 메모리 (153), 시프트 리파이너 (511), 또는 양자 모두를 포함할 수도 있다. 시프트 리파이너 (511) 는 보간된 시프트 조정기 (958) 를 포함할 수도 있다. 보간된 시프트 조정기 (958) 는 본원에 설명된 바와 같이, 제 1 시프트 값 (962) 에 기초하여 보간된 시프트 값 (538) 을 선택적으로 조정하도록 구성될 수도 있다. 시프트 리파이너 (511) 는 도 9a 및 도 9c 를 참조하여 설명된 바와 같이, 보간된 시프트 값 (538)(예를 들어, 조정된 보간된 시프트 값 (538)) 에 기초하여 보정된 시프트 값 (540) 을 결정할 수도 있다.
도 9b 는 또한, 일반적으로 951 로 지정된 동작의 예시적 방법의 플로우차트를 포함한다. 방법 (951) 은 도 1 의 시간적 등화기 (108), 인코더 (114), 제 1 디바이스 (104), 도 2 의 시간적 등화기(들)(208), 인코더 (214), 제 1 디바이스 (204), 도 5 의 시프트 리파이너 (511), 도 9a 의 시프트 리파이너 (911), 보간된 시프트 조정기 (958), 또는 이들의 조합에 의해 수행될 수도 있다.
방법 (951) 은, 952 에서, 제 1 시프트 값 (962) 과 비제약된 보간된 시프트 값 (956) 간의 차이에 기초하여 오프셋 (957) 을 생성하는 단계를 포함한다. 예를 들어, 보간된 시프트 조정기 (958) 는 제 1 시프트 값 (962) 과 비제약된 보간된 시프트 값 (956) 간의 차이에 기초하여 오프셋 (957) 을 생성할 수도 있다. 비제약된 보간된 시프트 값 (956) 은 (예를 들어, 보간된 시프트 조정기 (958) 에 의한 조정 전에) 보간된 시프트 값 (538) 에 대응할 수도 있다. 보간된 시프트 조정기 (958) 는 비제약된 보간된 시프트 값 (956) 을 메모리 (153) 에 저장할 수도 있다. 예를 들어, 분석 데이터 (190) 는 비제약된 보간된 시프트 값 (956) 을 포함할 수도 있다.
방법 (951) 은 또한, 953 에서, 오프셋 (957) 의 절대 값이 임계보다 큰지 여부를 결정하는 단계를 포함한다. 예를 들어, 보간된 시프트 조정기 (958) 는 오프셋 (957) 의 절대 값이 임계를 충족시키는지 여부를 결정할 수도 있다. 임계는 보간된 시프트 제한 MAX_SHIFT_CHANGE (예를 들어, 4) 에 대응할 수도 있다.
방법 (951) 은, 953 에서 오프셋 (957) 의 절대 값이 임계보다 크다는 결정에 응답하여, 954 에서 제 1 시프트 값 (962), 오프셋 (957) 의 부호, 및 임계에 기초하여 보간된 시프트 값 (538) 을 설정하는 단계를 포함한다. 예를 들어, 보간된 시프트 조정기 (958) 는 오프셋 (957) 의 절대 값이 임계를 충족 (예를 들어, 이보다 큼) 시키지 못한다는 결정에 응답하여 보간된 시프트 값 (538) 을 제약할 수도 있다. 예시하자면, 보간된 시프트 조정기 (958) 는 제 1 시프트 값 (962), 오프셋 (957) 의 부호 (예를 들어, +1 또는 -1), 및 임계에 기초하여 보간된 시프트 값 (538) 을 조정할 수도 있다 (예를 들어, 보간된 시프트 값 (538) = 제 1 시프트 값 (962) + sign(오프셋 (957))*임계).
방법 (951) 은, 953 에서 오프셋 (957) 의 절대 값이 임계 이하라는 결정에 응답하여, 955 에서 보간된 시프트 값 (538) 을 비제약된 보간된 시프트 값 (956) 으로 설정하는 단계를 포함한다. 예를 들어, 보간된 시프트 조정기 (958) 는 오프셋 (957) 의 절대 값이 임계를 충족시킨다는 (예를 들어, 임계 이하라는) 결정에 응답하여 보간된 시프트 값 (538) 이 변하는 것을 억제할 수도 있다.
방법 (951) 은 따라서, 제 1 시프트 값 (962) 에 대한 보간된 시프트 값 (538) 에서의 변화가 보간 시프트 제한을 충족시키도록 보간된 시프트 값 (538) 을 제약하는 것을 가능하게 할 수도 있다.
도 9c 을 참조하면, 시스템의 예시적인 예가 도시되고 일반적으로 970 로 지정된다. 시스템 (970) 은 도 1 의 시스템 (100) 에 대응할 수도 있다. 예를 들어, 시스템 (100), 도 1 의 제 1 디바이스 (104), 또는 양자 모두는 시스템 (970) 의 하나 이상의 컴포넌트들을 포함할 수도 있다. 시스템 (970) 은 메모리 (153), 시프트 리파이너 (921), 또는 양자 모두를 포함할 수도 있다. 시프트 리파이너 (921) 는 도 5 의 시프트 리파이너 (511) 에 대응할 수도 있다.
도 9c 는 또한, 일반적으로 971 로 지정된 동작의 예시적 방법의 플로우차트를 포함한다. 방법 (971) 은 도 1 의 시간적 등화기 (108), 인코더 (114), 제 1 디바이스 (104), 도 2 의 시간적 등화기(들)(208), 인코더 (214), 제 1 디바이스 (204), 도 5 의 시프트 리파이너 (511), 도 9a 의 시프트 리파이너 (911), 시프트 리파이너 (921), 또는 이들의 조합에 의해 수행될 수도 있다.
방법 (971) 은, 972 에서 제 1 시프트 값 (962) 과 보간된 시프트 값 (538) 간의 차이가 비영인지 여부를 결정하는 단계를 포함한다. 예를 들어, 시프트 리파이너 (921) 는 제 1 시프트 값 (962) 과 보간된 시프트 값 (538) 간의 차이가 비영인지 여부를 결정할 수도 있다.
방법 (971) 은, 972 에서 제 1 시프트 값 (962) 과 보간된 시프트 값 (538) 간의 차이가 0 이라는 결정에 응답하여, 973 에서 보정된 시프트 값 (540) 을 보간된 시프트 값 (538) 으로 설정하는 단계를 포함한다. 예를 들어, 시프트 리파이너 (921) 는, 제 1 시프트 값 (962) 과 보간된 시프트 값 (538) 간의 차이가 0 이라는 결정에 응답하여, 보간된 시프트 값 (538) 에 기초하여 보정된 시프트 값 (540) 을 결정할 수도 있다 (예를 들어, 보정된 시프트 값 (540) = 보간된 시프트 값 (538)).
방법 (971) 은, 972 에서 제 1 시프트 값 (962) 과 보간된 시프트 값 (538) 간의 차이가 비영이라는 결정에 응답하여, 975 에서 오프셋 (957) 의 절대 값이 임계보다 큰지 여부를 결정하는 단계를 포함한다. 예를 들어, 시프트 리파이너 (921) 는, 제 1 시프트 값 (962) 과 보간된 시프트 값 (538) 간의 차이가 비영이라는 결정에 응답하여, 오프셋 (957) 의 절대 값이 임계보다 큰지 여부를 결정할 수도 있다. 오프셋 (957) 은, 도 9b 를 참조하여 설명된 바와 같이, 제 1 시프트 값 (962) 과 비제약된 보간된 시프트 값 (956) 간의 차이에 대응할 수도 있다. 임계는 보간된 시프트 제한 MAX_SHIFT_CHANGE (예를 들어, 4) 에 대응할 수도 있다.
방법 (971) 은, 972 에서 제 1 시프트 값 (962) 과 보간된 시프트 값 (538) 간의 차이가 비영이라는 결정, 또는 975 에서 오프셋 (957) 의 절대 값이 임계 이하라는 결정에 응답하여, 976 에서 더 낮은 시프트 값 (930) 을 제 1 임계와 제 1 시프트 값 (962) 및 보간된 시프트 값 (538) 중 최소 값 간의 차이로 설정하고, 더 큰 시프트 값 (932) 을 제 2 임계와 제 1 시프트 값 (962) 및 보간된 시프트 값 (538) 중 최대 값의 합으로 설정하는 단계를 포함한다. 예를 들어, 시프트 리파이너 (921) 는, 오프셋 (957) 의 절대 값이 임계 이하라는 결정에 응답하여, 제 1 임계와 제 1 시프트 값 (962) 및 보간된 시프트 값 (538) 중 최소 값 간의 차이에 기초하여 더 낮은 시프트 값 (930) 을 결정할 수도 있다. 시프트 리파이너 (921) 는 또한, 제 2 임계와 제 1 시프트 값 (962) 및 보간된 시프트 값 (538) 중 최대 값의 합에 기초하여 더 큰 시프트 값 (932) 을 결정할 수도 있다.
방법 (971) 은 또한, 977 에서, 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 적용된 시프트 값들 (960) 에 기초하여 비교 값들 (916) 을 생성하는 단계를 포함한다. 예를 들어, 시프트 리파이너 (921)(또는 신호 비교기 (506)) 는, 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 적용된 시프트 값들 (960) 에 기초하여, 도 7 을 참조하여 설명된 바와 같이 비교 값들 (916) 을 생성할 수도 있다. 시프트 값들 (960) 은 더 낮은 시프트 값 (930) 에서부터 더 큰 시프트 값 (932) 까지의 범위일 수도 있다. 방법 (971) 은 979 로 진행할 수도 있다.
방법 (971) 은, 975 에서 오프셋 (957) 의 절대 값이 임계보다 크다는 결정에 응답하여, 978 에서 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 적용된 비제약된 보간된 시프트 값 (956) 에 기초하여 비교 값 (915) 을 생성하는 단계를 포함한다. 예를 들어, 시프트 리파이너 (921)(또는 신호 비교기 (506)) 는, 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 적용된 비제약된 보간된 시프트 값들 (956) 에 기초하여, 도 7 을 참조하여 설명된 바와 같이 비교 값 (915) 을 생성할 수도 있다.
방법 (971) 은 또한, 979 에서 비교 값들 (916), 비교 값 (915), 또는 이들의 조합에 기초하여 보정된 시프트 값 (540) 을 결정하는 단계를 포함한다. 예를 들어, 시프트 리파이너 (921) 는 도 9a 를 참조하여 설명된 바와 같이, 비교 값들 (916), 비교 값 (915), 또는 이들의 조합에 기초하여 보정된 시프트 값 (540) 을 결정할 수도 있다. 일부 구현들에서, 시프트 리파이너 (921) 는 시프트 변동으로 인한 로컬 최대 값들을 회피하기 위해 비교 값 (915) 및 비교 값들 (916) 의 비교에 기초하여 보정된 시프트 값 (540) 을 결정할 수도 있다.
일부 경우들에서, 제 1 오디오 신호 (130), 제 1 리샘플링된 신호 (530), 제 2 오디오 신호 (132), 제 2 리샘플링된 신호 (532), 또는 이들의 조합의 고유 피치는 시프트 추정 프로세스와 간섭할 수도 있다. 이러한 경우들에서, 피치 탈-엠퍼시스 또는 피치 필터링은 피치로 인한 간섭을 감소시키고 다수의 채널들 간의 시프트 추정의 신뢰도를 개선시키기 위해 수행될 수도 있다. 일부 경우들에서, 배경 잡음은 제 1 오디오 신호 (130), 제 1 리샘플링된 신호 (530), 제 2 오디오 신호 (132), 제 2 리샘플링된 신호 (532), 또는 이들의 조합에 존재할 수도 있고, 이것은 시프트 추정 프로세스와 간섭할 수도 있다. 이러한 경우들에서, 잡음 억제 또는 잡음 소거는 다수의 채널들 간의 시프트 추정의 신뢰도를 개선시키는데 사용될 수도 있다.
도 10a 을 참조하면, 시스템의 예시적인 예가 도시되고 일반적으로 1000 으로 표기된다. 시스템 (1000) 은 도 1 의 시스템 (100) 에 대응할 수도 있다. 예를 들어, 시스템 (100), 도 1 의 제 1 디바이스 (104), 또는 양자 모두는 시스템 (1000) 의 하나 이상의 컴포넌트들을 포함할 수도 있다.
도 10a 는 또한, 일반적으로 1020 으로 표기된 동작의 예시적 방법의 플로우차트를 포함한다. 방법 (1020) 은 시프트 변화 분석기 (512), 시간적 등화기 (108), 인코더 (114), 제 1 디바이스 (104), 또는 이들의 조합에 의해 수행될 수도 있다.
방법 (1020) 은 1001 에서, 제 1 시프트 값 (962) 이 0 과 동일한지 여부를 결정하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는, 프레임 (302) 에 대응하는 제 1 시프트 값 (962) 이 시간 시프트가 없다는 것을 나타내는 제 1 값 (예를 들어, 0) 을 갖는지 여부를 결정할 수도 있다. 방법 (1020) 은, 1001 에서 제 1 시프트 값 (962) 이 0 과 동일하다는 결정에 응답하여, 1010 으로 진행하는 것을 포함한다.
방법 (1020) 은, 1001 에서 제 1 시프트 값 (962) 이 비영이라는 결정에 응답하여, 1002 에서 제 1 시프트 값 (962) 이 0 보다 큰지 여부를 결정하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는, 프레임 (302) 에 대응하는 제 1 시프트 값 (962) 이, 제 2 오디오 신호 (132) 가 제 1 오디오 신호 (130) 에 대해 시간적으로 지연된다는 것을 나타내는 제 1 값 (예를 들어, 포지티브 값) 을 갖는지 여부를 결정할 수도 있다.
방법 (1020) 은, 1002 에서 제 1 시프트 값 (962) 이 0 보다 크다는 결정에 응답하여, 1004 에서 보정된 시프트 값 (540) 이 0 미만인지 여부를 결정하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는, 제 1 시프트 값 (962) 이 제 1 값 (예를 들어, 포지티브 값) 을 갖는다는 결정에 응답하여, 보정된 시프트 값 (540) 이 제 1 오디오 신호 (130) 가 제 2 오디오 신호 (132) 에 대해 시간적으로 지연된다는 것을 나타내는 제 2 값 (예를 들어, 네거티브 값) 을 갖는지 여부를 결정할 수도 있다. 방법 (1020) 은, 1004 에서 보정된 시프트 값 (540) 이 0 미만이라는 결정에 응답하여, 1008 로 진행하는 단계를 포함한다. 방법 (1020) 은, 1004 에서 보정된 시프트 값 (540) 이 0 이상이라는 결정에 응답하여, 1010 으로 진행하는 단계를 포함한다.
방법 (1020) 은, 1002 에서 제 1 시프트 값 (962) 이 0 미만이라는 결정에 응답하여, 1006 에서 보정된 시프트 값 (540) 이 0 보다 큰지 여부를 결정하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는, 제 1 시프트 값 (962) 이 제 2 값 (예를 들어, 네거티브 값) 을 갖는다는 결정에 응답하여, 보정된 시프트 값 (540) 이 제 2 오디오 신호 (132) 가 제 1 오디오 신호 (130) 에 대해 시간적으로 지연된다는 것을 나타내는 제 1 값 (예를 들어, 포지티브 값) 을 갖는지 여부를 결정할 수도 있다. 방법 (1020) 은, 1006 에서 보정된 시프트 값 (540) 이 0 보다 크다는 결정에 응답하여, 1008 로 진행하는 단계를 포함한다. 방법 (1020) 은, 1006 에서 보정된 시프트 값 (540) 이 0 이하이라는 결정에 응답하여, 1010 으로 진행하는 단계를 포함한다.
방법 (1020) 은 1008 에서, 최종 시프트 값 (116) 을 0 으로 설정하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는 최종 시프트 값 (116) 을 시간 시프트가 없다는 것을 나타내는 특정 값 (예를 들어, 0) 으로 설정할 수도 있다.
방법 (1020) 은, 1010 에서 제 1 시프트 값 (962) 이 보정된 시프트 값 (540) 과 동일한지 여부를 결정하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는, 제 1 시프트 값 (962) 및 보정된 시프트 값 (540) 이 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 동일한 시간 지연을 나타내는지 여부를 결정할 수도 있다.
방법 (1020) 은, 1010 에서 제 1 시프트 값 (962) 이 보정된 시프트 값 (540) 과 동일하다는 결정에 응답하여, 1012 에서 최종 시프트 값 (116) 을 보정된 시프트 값 (540) 으로 설정하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는 최종 시프트 값 (116) 을 보정된 시프트 값 (540) 으로 설정할 수도 있다.
방법 (1020) 은, 1010 에서 제 1 시프트 값 (962) 이 보정된 시프트 값 (540) 과 동일하지 않다는 결정에 응답하여, 1014 에서 추정된 시프트 값 (1072) 을 생성하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는, 도 11 을 참조하여 또한 설명된 바와 같이, 보정된 시프트 값 (540) 을 리파이닝함으로써 추정된 시프트 값 (1072) 을 결정할 수도 있다.
방법 (1020) 은, 1016 에서 최종 시프트 값 (116) 을 추정된 시프트 값 (1072) 으로 설정하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는 최종 시프트 값 (116) 을 추정된 시프트 값 (1072) 으로 설정할 수도 있다.
일부 구현들에서, 시프트 변화 분석기 (512) 는 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 지연이 스위칭하지 않는다는 결정에 응답하여 제 2 추정된 시프트 값을 나타내도록 비인과적 시프트 값 (162) 을 설정할 수도 있다. 예를 들어, 시프트 변화 분석기 (512) 는, 1001 에서 제 1 시프트 값 (962) 이 0 과 동일하다는, 1004 에서 보정된 시프트 값 (540) 이 0 이상이라는, 또는 1006 에서 보정된 시프트 값 (540) 이 0 이하라는 결정에 응답하여 보정된 시프트 값 (540) 을 나타내도록 비인과적 시프트 값 (162) 을 설정할 수도 있다.
시프트 변화 분석기 (512) 는 따라서, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 지연이 도 3 의 프레임 (302) 과 프레임 (304) 간에 스위칭했다는 결정에 응답하여 시간 시프트가 없다는 것을 나타내도록 비인과적 시프트 값 (162) 을 설정할 수도 있다. 비인과적 시프트 값 (162) 이 연속적인 프레임들 사이에서 방향들을 스위칭 (예를 들어, 포지티브에서 네거티브로 또는 네거티브에서 포지티브로) 하는 것을 방지하는 것은 인코더 (114) 에서 다운믹스 신호 생성에서의 왜곡을 감소시키거나, 디코더에서 업믹스 합성을 위한 추가적인 지연의 사용을 회피하거나, 또는 양자 모두를 할 수도 있다.
도 10b 을 참조하면, 시스템의 예시적인 예가 도시되고 일반적으로 1030 으로 표기된다. 시스템 (1030) 은 도 1 의 시스템 (100) 에 대응할 수도 있다. 예를 들어, 시스템 (100), 도 1 의 제 1 디바이스 (104), 또는 양자 모두는 시스템 (1030) 의 하나 이상의 컴포넌트들을 포함할 수도 있다.
도 10b 는 또한, 일반적으로 1031 로 지정된 동작의 예시적 방법의 플로우차트를 포함한다. 방법 (1031) 은 시프트 변화 분석기 (512), 시간적 등화기 (108), 인코더 (114), 제 1 디바이스 (104), 또는 이들의 조합에 의해 수행될 수도 있다.
방법 (1031) 은, 1032 에서 제 1 시프트 값 (962) 이 0 보다 더 크고 보정된 시프트 값 (540) 이 0 미만인지 여부를 결정하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는, 제 1 시프트 값 (962) 이 0 보다 큰지 여부 및 보정된 시프트 값 (540) 이 0 미만인지 여부를 결정할 수도 있다.
방법 (1031) 은, 1032 에서 제 1 시프트 값 (962) 이 0 보다 크고 보정된 시프트 값 (540) 이 0 미만이라는 결정에 응답하여, 1033 에서 최종 시프트 값 (116) 을 0 으로 설정하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는, 제 1 시프트 값 (962) 이 0 보다 크고 보정된 시프트 값 (540) 이 0 미만이라는 결정에 응답하여, 최종 시프트 값 (115) 을 시간 시프트가 없다는 것을 나타내는 제 1 값 (예를 들어, 0) 으로 설정할 수도 있다.
방법 (1031) 은, 1032 에서 제 1 시프트 값 (962) 이 0 이하이라는 또는 보정된 시프트 값 (540) 이 0 이상이라는 결정에 응답하여, 1034 에서 제 1 시프트 값 (962) 이 0 미만인지 여부 및 보정된 시프트 값 (540) 이 0 보다 큰지 여부를 결정하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는 제 1 시프트 값 (962) 이 0 이하이고 또는 보정된 시프트 값 (540) 이 0 이상이라는 결정에 응답하여, 제 1 시프트 값 (962) 이 0 미만인지 여부 및 보정된 시프트 값 (540) 이 0 보다 큰지 여부를 결정할 수도 있다.
방법 (1031) 은, 제 1 시프트 값 (962) 이 0 미만이고 보정된 시프트 값 (540) 이 0 보다 크다는 결정에 응답하여, 1033 으로 진행하는 단계를 포함한다. 방법 (1031) 은, 제 1 시프트 값 (962) 이 0 이상이라는 또는 보정된 시프트 값 (540) 이 0 이하라는 결정에 응답하여, 1035 에서 최종 시프트 값 (116) 을 보정된 시프트 값 (540) 으로 설정하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는 제 1 시프트 값 (962) 이 0 이상이라는 또는 보정된 시프트 값 (540) 이 0 이하라는 결정에 응답하여, 최종 시프트 값 (116) 을 보정된 시프트 값 (540) 으로 설정할 수도 있다.
도 11 을 참조하면, 시스템의 예시적인 예가 도시되고 일반적으로 1100 으로 표기된다. 시스템 (1100) 은 도 1 의 시스템 (100) 에 대응할 수도 있다. 예를 들어, 시스템 (100), 도 1 의 제 1 디바이스 (104), 또는 양자 모두는 시스템 (1100) 의 하나 이상의 컴포넌트들을 포함할 수도 있다. 도 11 은 또한, 일반적으로 1120 으로 표기되는 동작의 방법을 예시하는 플로우차트를 포함한다. 방법 (1120) 은 시프트 변화 분석기 (512), 시간적 등화기 (108), 인코더 (114), 제 1 디바이스 (104), 또는 이들의 조합에 의해 수행될 수도 있다. 방법 (1120) 은 도 10a 의 단계 (1014) 에 대응할 수도 있다.
방법 (1120) 은, 1104 에서 제 1 시프트 값 (962) 이 보정된 시프트 값 (540) 보다 큰지 여부를 결정하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는, 제 1 시프트 값 (962) 이 보정된 시프트 값 (540) 보다 큰지 여부를 결정할 수도 있다.
방법 (1120) 은 또한, 1104 에서 제 1 시프트 값 (962) 이 보정된 시프트 값 (540) 보다 크다는 결정에 응답하여, 1106 에서 제 1 시프트 값 (1130) 을 보정된 시프트 값 (540) 과 제 1 오프셋 간의 차이로 설정하고, 제 2 시프트 값 (1132) 을 제 1 시프트 값 (962) 과 제 1 오프셋의 합으로 설정하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는, 제 1 시프트 값 (962)(예를 들어, 20) 이 보정된 시프트 값 (540)(예를 들어, 18) 보다 크다는 결정에 응답하여, 보정된 시프트 값 (540) 에 기초하여 제 1 시프트 값 (1130)(예를 들어, 17) (예를 들어, 보정된 시프트 값 (540) - 제 1 오프셋) 을 결정할 수도 있다. 대안으로, 또는 추가하여, 시프트 변화 분석기 (512) 는 제 1 시프트 값 (962) 에 기초하여 제 2 시프트 값 (1132)(예를 들어, 21)(예를 들어, 제 1 시프트 값 (962) + 제 1 오프셋) 을 결정할 수도 있다. 방법 (1120) 은 1108 로 진행할 수도 있다.
방법 (1120) 은, 1104 에서 제 1 시프트 값 (962) 이 보정된 시프트 값 (540) 이하라는 결정에 응답하여, 제 1 시프트 값 (1130) 을 제 1 시프트 값 (962) 과 제 2 오프셋 간의 차이로 설정하고, 제 2 시프트 값 (1132) 을 보정된 시프트 값 (540) 과 제 2 오프셋의 합으로 설정하는 단계를 더 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는, 제 1 시프트 값 (962)(예를 들어, 10) 이 보정된 시프트 값 (540)(예를 들어, 12) 이하라는 결정에 응답하여, 제 1 시프트 값 (962) 에 기초하여 제 1 시프트 값 (1130)(예를 들어, 9) (예를 들어, 제 1 시프트 값 (962) - 제 2 오프셋) 을 결정할 수도 있다. 대안으로, 또는 추가하여, 시프트 변화 분석기 (512) 는 보정된 시프트 값 (540) 에 기초하여 제 2 시프트 값 (1132)(예를 들어, 13)(예를 들어, 보정된 시프트 값 (540) + 제 2 오프셋) 을 결정할 수도 있다. 제 1 오프셋 (예를 들어, 2) 은 제 2 오프셋 (예를 들어, 3) 과 구별될 수도 있다. 일부 구현들에서, 제 1 오프셋은 제 2 오프셋과 동일할 수도 있다. 제 1 오프셋, 제 2 오프셋, 또는 양자 모두 중 더 높은 값은 검색 범위를 향상시킬 수도 있다.
방법 (1120) 은 또한, 1108 에서, 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 적용된 시프트 값들 (1160) 에 기초하여 비교 값들 (1140) 을 생성하는 단계를 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는, 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 적용된 시프트 값들 (1160) 에 기초하여, 도 7 을 참조하여 설명된 바와 같이, 비교 값들 (1140) 을 생성할 수도 있다. 예시하자면, 시프트 값들 (1160) 은 제 1 시프트 값 (1130)(예를 들어, 17) 에서부터 제 2 시프트 값 (1132)(예를 들어, 21) 까지의 범위일 수도 있다. 시프트 변화 분석기 (512) 는 샘플들 (326-332) 및 제 2 샘플들 (350) 의 특정 서브세트에 기초하여 비교 값들 (1140) 의 특정 비교 값을 생성할 수도 있다. 제 2 샘플들 (350) 의 특정 서브세트는 시프트 값들 (1160) 의 특정 시프트 값 (예를 들어, 17) 에 대응할 수도 있다. 특정 비교 값은 샘플들 (326-332) 과 제 2 샘플들 (350) 의 특정 서브세트 간의 차이 (또는 상관) 를 나타낼 수도 있다.
방법 (1120) 은, 1112 에서 비교 값들 (1140) 에 기초하여 추정된 시프트 값 (1072) 을 결정하는 단계를 더 포함한다. 예를 들어, 시프트 변화 분석기 (512) 는, 비교 값들 (1140) 이 상호 상관 값들에 대응하는 경우, 비교 값들 (1140) 중 최고 비교 값을 추정된 시프트 값 (1072) 으로서 선택할 수도 있다. 대안으로, 시프트 변화 분석기 (512) 는, 비교 값들 (1140) 이 차이 값들 (예를 들어, 변동 값들) 에 대응하는 경우, 비교 값들 (1140) 중 최저 비교 값을 추정된 시프트 값 (1072) 으로서 선택할 수도 있다.
방법 (1120) 은 따라서, 시프트 변화 분석기 (512) 가 보정된 시프트 값 (540) 을 리파이닝함으로써 추정된 시프트 값 (1072) 을 생성하는 것을 가능하게 할 수도 있다. 예를 들어, 시프트 변화 분석기 (512) 는 원래의 샘플들에 기초하여 비교 값들 (1140) 을 결정할 수도 있고 최고 상관 (또는 최저 차이) 을 나타내는 비교 값들 (1140) 의 비교 값에 대응하는 추정된 시프트 값 (1072) 을 선택할 수도 있다.
도 12 를 참조하면, 시스템의 예시적인 예가 도시되고 일반적으로 1200 으로 표기된다. 시스템 (1200) 은 도 1 의 시스템 (100) 에 대응할 수도 있다. 예를 들어, 시스템 (100), 도 1 의 제 1 디바이스 (104), 또는 양자 모두는 시스템 (1200) 의 하나 이상의 컴포넌트들을 포함할 수도 있다. 도 12 는 또한, 일반적으로 1220 으로 표기되는 동작의 방법을 예시하는 플로우차트를 포함한다. 방법 (1220) 은 레퍼런스 신호 지정기 (508), 시간적 등화기 (108), 인코더 (114), 제 1 디바이스 (104), 또는 이들의 조합에 의해 수행될 수도 있다.
방법 (1220) 은 1202 에서, 최종 시프트 값 (116) 이 0 과 동일한지 여부를 결정하는 단계를 포함한다. 예를 들어, 레퍼런스 신호 지정기 (508) 는, 최종 시프트 값 (116) 이 시간 시프트가 없다는 것을 나타내는 특정 값 (예를 들어, 0) 을 갖는지 여부를 결정할 수도 있다.
방법 (1220) 은, 1202 에서 최종 시프트 값 (116) 이 0 과 동일하다는 결정에 응답하여, 1204 에서 레퍼런스 신호 표시자 (164) 를 불변 상태로 남겨두는 단계를 포함한다. 예를 들어, 레퍼런스 신호 지정기 (508) 는, 최종 시프트 값 (116) 이 시간 시프트가 없다는 것을 나타내는 특정 값 (예를 들어, 0) 을 갖는다는 결정에 응답하여, 레퍼런스 신호 표시자 (164) 를 불변 상태로 남겨둘 수도 있다. 예시하자면, 레퍼런스 신호 표시자 (164) 는, 동일한 오디오 신호 (예를 들어, 제 1 오디오 신호 (130) 또는 제 2 오디오 신호 (132)) 가 프레임 (302) 과 같이 프레임 (304) 과 연관된 레퍼런스 신호라는 것을 나타낼 수도 있다.
방법 (1220) 은, 1202 에서 최종 시프트 값 (116) 이 비영이라는 결정에 응답하여, 1206 에서 최종 시프트 값 (116) 이 0 보다 큰지 여부를 결정하는 단계를 포함한다. 예를 들어, 레퍼런스 신호 지정기 (508) 는, 최종 시프트 값 (116) 이 시간 시프트를 나타내는 특정 값 (예를 들어, 비영 값) 을 갖는다는 결정에 응답하여, 최종 시프트 값 (116) 이 제 2 오디오 신호 (132) 가 제 1 오디오 신호 (130) 에 대해 지연되는 것을 나타내는 제 1 값 (예를 들어, 포지티브 값) 또는 제 1 오디오 신호 (130) 가 제 2 오디오 신호 (132) 에 대해 지연된다는 것을 나타내는 제 2 값 (예를 들어, 네거티브 값) 을 갖는지 여부를 결정할 수도 있다.
방법 (1220) 은, 최종 시프트 값 (116) 이 제 1 값 (예를 들어, 포지티브 값) 을 갖는다는 결정에 응답하여, 1208 에서, 제 1 오디오 신호 (130) 가 레퍼런스 신호라는 것을 나타내는 제 1 값 (예를 들어, 0) 을 갖도록 레퍼런스 신호 표시자 (164) 를 설정하는 단계를 포함한다. 예를 들어, 레퍼런스 신호 지정기 (508) 는, 최종 시프트 값 (116) 이 제 1 값 (예를 들어, 포지티브 값) 을 갖는다는 결정에 응답하여, 제 1 오디오 신호 (130) 가 레퍼런스 신호라는 것을 나타내는 제 1 값 (예를 들어, 0) 으로 레퍼런스 신호 표시자 (164) 를 설정할 수도 있다. 레퍼런스 신호 지정기 (508) 는, 최종 시프트 값 (116) 이 제 1 값 (예를 들어, 포지티브 값) 을 갖는다는 결정에 응답하여, 제 2 오디오 신호 (132) 가 타겟 신호에 대응한다고 결정할 수도 있다.
방법 (1220) 은, 최종 시프트 값 (116) 이 제 2 값 (예를 들어, 네거티브 값) 을 갖는다는 결정에 응답하여, 1210 에서, 제 2 오디오 신호 (132) 가 레퍼런스 신호라는 것을 나타내는 제 2 값 (예를 들어, 1) 을 갖도록 레퍼런스 신호 표시자 (164) 를 설정하는 단계를 포함한다. 예를 들어, 레퍼런스 신호 지정기 (508) 는, 최종 시프트 값 (116) 이 제 1 오디오 신호 (130) 가 제 2 오디오 신호 (132) 에 대해 지연된다는 것을 나타내는 제 2 값 (예를 들어, 네거티브 값) 을 갖는다는 결정에 응답하여, 레퍼런스 신호 표시자 (164) 를 제 2 오디오 신호 (132) 가 레퍼런스 신호라는 것을 나타내는 제 2 값 (예를 들어, 1) 으로 설정할 수도 있다. 레퍼런스 신호 지정기 (508) 는, 최종 시프트 값 (116) 이 제 2 값 (예를 들어, 네거티브 값) 을 갖는다는 결정에 응답하여, 제 1 오디오 신호 (130) 가 타겟 신호에 대응한다고 결정할 수도 있다.
레퍼런스 신호 지정기 (508) 는 레퍼런스 신호 표시자 (164) 를 이득 파라미터 생성기 (514) 에 제공할 수도 있다. 이득 파라미터 생성기 (514) 는 도 5 를 참조하여 설명된 바와 같이, 레퍼런스 신호에 기초하여 타겟 신호의 이득 파라미터 (예를 들어, 이득 파라미터 (160)) 를 결정할 수도 있다.
타겟 신호는 레퍼런스 신호에 대해 시간적으로 지연될 수도 있다. 레퍼런스 신호 표시자 (164) 는, 제 1 오디오 신호 (130) 또는 제 2 오디오 신호 (132) 가 레퍼런스 신호에 대응하는지 여부를 나타낼 수도 있다. 레퍼런스 신호 표시자 (164) 는, 이득 파라미터 (160) 가 제 1 오디오 신호 (130) 또는 제 2 오디오 신호 (132) 에 대응하는지 여부를 나타낼 수도 있다.
도 13 을 참조하면, 동작의 특정 방법을 예시하는 플로우차트가 도시되고 일반적으로 1300 으로 표기된다. 방법 (1300) 은 레퍼런스 신호 지정기 (508), 시간적 등화기 (108), 인코더 (114), 제 1 디바이스 (104), 또는 이들의 조합에 의해 수행될 수도 있다.
방법 (1300) 은, 1302 에서 최종 시프트 값 (116) 이 0 이상인지 여부를 결정하는 단계를 포함한다. 예를 들어, 레퍼런스 신호 지정기 (508) 는, 최종 시프트 값 (116) 이 0 이상인지 여부를 결정할 수도 있다. 방법 (1300) 은 또한, 1302 에서 최종 시프트 값 (116) 이 0 이상이라는 결정에 응답하여, 1208 로 진행하는 단계를 포함한다. 방법 (1300) 은 1302 에서, 최종 시프트 값 (116) 이 0 미만이라는 결정에 응답하여, 1210 을 진행하는 단계를 더 포함한다. 방법 (1300) 은, 최종 시프트 값 (116) 이 시간 시프트가 없다는 것을 나타내는 특정 값 (예를 들어, 0) 을 갖는다는 결정에 응답하여, 제 1 오디오 신호 (130) 가 레퍼런스 신호에 대응한다는 것을 나타내는 제 1 값 (예를 들어, 0) 으로 레퍼런스 신호 표시자 (164) 가 설정된다는 점에서, 도 12 의 방법 (1220) 과 상이하다. 일부 구현들에서, 레퍼런스 신호 지정기 (508) 는 방법 (1220) 을 수행할 수도 있다. 다른 구현들에서, 레퍼런스 신호 지정기 (508) 는 방법 (1300) 을 수행할 수도 있다.
방법 (1300) 은 따라서, 제 1 오디오 신호 (130) 가 프레임 (302) 에 대한 레퍼런스 신호에 대응하는지 여부에 관계 없이 최종 시프트 값 (116) 이 시간 시프트가 없다는 것을 나타내는 경우 제 1 오디오 신호 (130) 가 레퍼런스 신호에 대응한다는 것을 나타내는 특정 값 (예를 들어, 0) 으로 레퍼런스 신호 표시자 (164) 를 설정하게 할 수도 있다.
도 14 를 참조하면, 시스템의 예시적인 예가 도시되고 일반적으로 1400 으로 표기된다. 시스템 (1400) 은 도 5 의 신호 비교기 (506), 도 5 의 보간기 (510), 도 5 의 시프트 리파이너 (511), 및 도 5 의 시프트 변화 분석기 (512) 를 포함한다.
신호 비교기 (506) 는 비교 값들 (534)(예를 들어, 차이 값들, 분산 값들, 유사성 값들, 코히런스 값들, 또는 상호 상관 값들), 잠정적인 시프트 값 (536), 또는 양자 모두를 생성할 수도 있다. 예를 들어, 신호 비교기 (506) 는, 제 1 리샘플링된 신호 (530) 및 제 2 리샘플링된 신호 (532) 에 적용된 복수의 시프트 값들 (1450) 에 기초하여 비교 값들 (534) 을 생성할 수도 있다. 신호 비교기 (506) 는 비교 값들 (534) 에 기초하여 잠정적인 시프트 값 (536) 을 결정할 수도 있다. 신호 비교기 (506) 는 리샘플링된 신호들 (530, 532) 의 이전 프레임들에 대한 비교 값들을 취출하도록 구성된 평활화기 (1410) 를 포함하고, 이전 프레임들에 대한 비교 값들을 사용하여 장-기 평활화 동작에 기초하여 비교 값들 (534) 을 수정할 수도 있다. 예를 들어, 비교 값들 (534) 은 현재 프레임 (N) 에 대한 장-기 비교 값 을 포함할 수도 있고, 에 의해 표현될 수도 있고, 여기서 이다. 따라서, 장-기 비교 값 은 프레임 N 에서의 순시적 비교 값 및 하나 이상의 이전 프레임들에 대한 장-기 비교 값들 의 가중된 혼합에 기초할 수도 있다. α의 값이 증가함에 따라, 장-기 비교 값에서 평활화의 양은 증가한다. 신호 비교기 (506) 는 비교 값들 (534), 잠정적인 시프트 값 (536), 또는 양자 모두를 보간기 (510) 에 제공할 수도 있다.
보간기 (510) 는 잠정적인 시프트 값 (536) 을 확장하여 보간된 시프트 값 (538) 을 생성할 수도 있다. 예를 들어, 보간기 (510) 는 비교 값들 (534) 을 보간함으로써 잠정적인 시프트 값 (536) 에 근접하는 시프트 값들에 대응하는 보간된 비교 값들을 생성할 수도 있다. 보간기 (510) 는 보간된 비교 값들 및 비교 값들 (534) 에 기초하여 보간된 시프트 값 (538) 을 결정할 수도 있다. 비교 값들 (534) 은 시프트 값들의 더 조대한 입도에 기초할 수도 있다. 예를 들어, 보간된 비교 값들은 리샘플링된 잠정적인 시프트 값 (536) 에 근접하는 더 미세한 입도의 시프트 값들에 기초할 수도 있다. 시프트 값들의 세트의 더 조대한 입도 (예를 들어, 제 1 서브세트) 에 기초하여 비교 값들 (534) 을 결정하는 것은 시프트 값들의 세트의 더 미세한 입도 (예를 들어, 전부) 에 기초하여 비교 값들 (534) 을 결정하는 것보다 더 적은 리소스들 (예를 들어, 시간, 동작들, 또는 양자 모두) 을 사용할 수도 있다. 시프트 값들의 제 2 서브세트에 대응하는 보간된 비교 값들을 결정하는 것은 시프트 값들의 세트의 각각의 시프트 값에 대응하는 비교 값들을 결정하지 않고서 잠정적인 시프트 값 (536) 에 근접하는 시프트 값들의 더 작은 세트의 더 미세한 입도에 기초하여 잠정적인 시프트 값 (536) 을 확장할 수도 있다. 따라서, 시프트 값들의 제 1 서브세트에 기초하여 잠정적인 시프트 값 (536) 을 결정하는 것 및 보간된 비교 값들에 기초하여 보간된 시프트 값 (538) 을 결정하는 것은 추정된 시프트 값의 리파인먼트 및 리소스 사용의 균형을 맞출 수도 있다. 보간기 (510) 는 보간된 시프트 값 (538) 을 시프트 리파이너 (511) 에 제공할 수도 있다.
보간기 (510) 는 이전의 프레임들에 대한 보간된 시프트 값들을 취출하도록 구성된 평활화기 (1420) 를 포함하고, 이전의 프레임들에 대한 보간된 시프트 값들을 사용하여 장-기 평활화 동작에 기초하여 보간된 시프트 값 (538) 을 수정할 수도 있다. 예를 들어, 보간된 시프트 값 (538) 은 현재 프레임 (N) 에 대한 장-기 보간된 시프트 값 을 포함할 수도 있고, 에 의해 표현될 수도 있고, 여기서 이다. 따라서, 장-기 보간된 시프트 값 은 프레임 N 에서의 순시적 보간된 시프트 값 및 하나 이상의 이전 프레임들에 대한 장-기 보간된 시프트 값들 의 가중된 혼합에 기초할 수도 있다. α의 값이 증가함에 따라, 장-기 비교 값에서 평활화의 양은 증가한다.
시프트 리파이너 (511) 는 보간된 시프트 값 (538) 을 리파이닝함으로써 보정된 시프트 값 (540) 을 생성할 수도 있다. 예를 들어, 시프트 리파이너 (511) 는, 보간된 시프트 값 (538) 이 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 시프트에서의 변화가 시프트 변화 임계보다 크다는 것을 나타내는지 여부를 결정할 수도 있다. 시프트에서의 변화는 도 3 의 프레임 (302) 과 연관된 제 1 시프트 값과 보간된 시프트 값 (538) 간의 차이에 의해 나타내어질 수도 있다. 시프트 리파이너 (511) 는, 차이가 임계 이하라는 결정에 응답하여, 보정된 시프트 값 (540) 을 보간된 시프트 값 (538) 으로 설정할 수도 있다. 대안으로, 시프트 리파이너 (511) 는, 차이가 임계보다 크다는 결정에 응답하여, 시프트 변화 임계 이하인 차이에 대응하는 복수의 시프트 값들을 결정할 수도 있다. 시프트 리파이너 (511) 는 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 에 적용된 복수의 시프트 값들에 기초하여 비교 값들을 결정할 수도 있다. 시프트 리파이너 (511) 는 비교 값들에 기초하여 보정된 시프트 값 (540) 을 결정할 수도 있다. 예를 들어, 시프트 리파이너 (511) 는 비교 값들 및 보간된 시프트 값 (538) 에 기초하여 복수의 시프트 값들의 시프트 값을 선택할 수도 있다. 시프트 리파이너 (511) 는 선택된 시프트 값을 나타내도록 보정된 시프트 값 (540) 을 설정할 수도 있다. 프레임 (302) 에 대응하는 제 1 시프트 값과 보간된 시프트 값 (538) 간의 비영 차이는, 제 2 오디오 신호 (132) 의 일부 샘플들이 양자 모두의 프레임들 (예를 들어, 프레임 (302) 및 프레임 (304)) 에 대응한다는 것을 나타낼 수도 있다. 예를 들어, 제 2 오디오 신호 (132) 의 일부 샘플들은 인코딩 동안 중복될 수도 있다. 대안으로, 비영 차이는, 제 2 오디오 신호 (132) 의 일부 샘플들이 프레임 (302) 에도 그리고 프레임 (304) 에도 대응하지 않는다는 것을 나타낼 수도 있다. 예를 들어, 제 2 오디오 신호 (132) 의 일부 샘플들은 인코딩 동안 손실될 수도 있다. 보정된 시프트 값 (540) 을 복수의 시프트 값들 중 하나로 설정하는 것은 연속적인 (또는 인접한) 프레임들 간의 시프트들에서의 큰 변화를 방지할 수도 있고, 이에 의해 인코딩 동안 샘플 중복 또는 샘플 손실의 양을 감소시킨다. 시프트 리파이너 (511) 는 보정된 시프트 값 (540) 을 시프트 변화 분석기 (512) 에 제공할 수도 있다.
시프트 리파이너 (511) 는 이전의 프레임들에 대한 보정된 시프트 값들을 취출하도록 구성된 평활화기 (1430) 를 포함하고, 이전의 프레임들에 대한 보정된 시프트 값들을 사용하여 장-기 평활화 동작에 기초하여 보정된 시프트 값 (540) 을 수정할 수도 있다. 예를 들어, 보정된 시프트 값 (540) 은 현재 프레임 (N) 에 대한 장-기 보정된 시프트 값 을 포함할 수도 있고 에 의해 표현될 수도 있고, 여기서 이다. 따라서, 장-기 보정된 시프트 값 는 프레임 N 에서의 순시적 보정된 시프트 값 및 하나 이상의 이전의 프레임들에 대한 장-기 보정된 시프트 값들 의 가중된 혼합에 기초할 수도 있다. α의 값이 증가함에 따라, 장-기 비교 값에서 평활화의 양은 증가한다.
시프트 변화 분석기 (512) 는, 보정된 시프트 값 (540) 이 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 타이밍에서의 스위치 또는 반전을 나타내는지 여부를 결정할 수도 있다. 시프트 변화 분석기 (512) 는, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 지연이 프레임 (302) 과 연관된 제 1 시프트 값 및 보정된 시프트 값 (540) 에 기초하여 스위칭된 부호를 갖는지 여부를 결정할 수도 있다. 시프트 변화 분석기 (512) 는, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 지연이 스위칭된 부호를 갖는다는 결정에 응답하여, 최종 시프트 값 (116) 을 시간 시프트가 없다는 것을 나타내는 값 (예를 들어, 0) 으로 설정할 수도 있다. 대안으로, 시프트 변화 분석기 (512) 는, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 지연이 스위칭된 부호를 갖지 않는다는 결정에 응답하여 최종 시프트 값 (116) 을 보정된 시프트 값 (540) 으로 설정할 수도 있다.
시프트 변화 분석기 (512) 는 보정된 시프트 값 (540) 을 리파이닝함으로써 추정된 시프트 값을 생성할 수도 있다. 시프트 변화 분석기 (512) 는 최종 시프트 값 (116) 을 추정된 시프트 값으로 설정할 수도 있다. 시간 시프트가 없다는 것을 나타내도록 최종 시프트 값 (116) 을 설정하는 것은 제 1 오디오 신호 (130) 의 연속적인 (또는 인접한) 프레임들에 대한 반대 방향들에서 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 를 시간 시프트하지 않게 함으로써 디코더에서 왜곡을 감소시킬 수도 있다. 시프트 변화 분석기 (512) 는 최종 시프트 값 (116) 을 절대 시프트 생성기 (513) 에 제공할 수도 있다. 절대 시프트 생성기 (513) 는 최종 시프트 값 (116) 에 절대 함수를 적용함으로써 비인과적 시프트 값 (162) 을 생성할 수도 있다.
전술된 평활화 기법들은 유성 프레임들, 무성 프레임들, 및 트랜지션 프레임들 간의 시프트 추정을 실질적으로 정규화할 수도 있다. 정규화된 시프트 추정들은 프레임 경계들에서 아티팩트 스킵 및 샘플 반복을 감소시킬 수도 있다. 부가적으로, 정규화된 시프트 추정들은 감소된 사이드 채널 에너지들을 초래할 수도 있고, 이것은 코딩 효율성을 개선시킬 수도 있다.
도 14 에 대하여 설명된 바와 같이, 평활화는 신호 비교기 (506), 보간기 (510), 시프트 리파이너 (511), 또는 이들의 조합에서 수행될 수도 있다. 보간된 시프트가 입력 샘플링 레이트 (FSin) 에서 잠정적인 시프트와 일관적으로 상이하면, 보간된 시프트 값 (538) 의 평활화는 비교 값들 (534) 의 평활화에 추가하여 또는 비교 값들 (534) 의 평활화에 대한 대안으로 수행될 수도 있다. 보간된 시프트 값 (538) 의 추정 동안, 보간 프로세스는 신호 비교기 (506) 에서 생성된 평활화된 장-기 비교 값들, 신호 비교기 (506) 에서 생성된 비-평활화된 비교 값들, 또는 보간된 평활화된 비교 값들 및 보간된 비-평활화된 비교 값들의 가중된 혼합 상에서 수행될 수도 있다. 평활화가 보간기 (510) 에서 수행되면, 현재 프레임에서 추정된 잠정적인 시프트에 추가하여 다수의 샘플들 부근에서 수행되도록 보간이 확장될 수도 있다. 예를 들어, 보간은 이전 프레임의 시프트 (예를 들어, 이전의 잠정적인 시프트, 이전의 보간된 시프트, 이전의 보정된 시프트, 또는 이전의 최종 시프트 중 하나 이상) 에 근접하여 그리고 현재 프레임의 잠정적인 시프트에 근접하여 수행될 수도 있다. 결과적으로, 평활화는 보간된 시프트 추정을 개선시킬 수도 있는 보간된 시프트 값들에 대한 추가적인 샘플들 상에서 수행될 수도 있다.
도 15 를 참조하면, 유성 프레임들, 트랜지션 프레임들, 및 무성 프레임들에 대한 비교 값들을 예시하는 그래프들이 도시된다. 도 15 에 따르면, 그래프 (1502) 는 설명된 장-기 평활화 기법들을 사용하지 않고 프로세싱된 유성 프레임에 대한 비교 값들 (예를 들어, 상호 상관 값들) 을 예시하고, 그래프 (1504) 는 설명된 장-기 평활화 기법들을 사용하지 않고 프로세싱된 트랜지션 프레임에 대한 비교 값들을 예시하며, 그래프 (1506) 는 설명된 장-기 평활화 기법들을 사용하지 않고 프로세싱된 무성 프레임에 대한 비교 값들을 예시한다.
각각의 그래프 (1502, 1504, 1506) 에서 표현된 상호 상관은 실질적으로 상이할 수도 있다. 예를 들어, 그래프 (1502) 는 도 1 의 제 1 마이크로폰 (146) 에 의해 캡처된 유성 프레임과 도 1 의 제 2 마이크로폰 (148) 에 의해 캡처된 대응하는 유성 프레임 간의 피크 상호 상관이 대략 17 샘플 시프트에서 발생한다는 것을 예시한다. 그러나, 그래프 (1504) 는 제 1 마이크로폰 (146) 에 의해 캡처된 트랜지션 프레임과 제 2 마이크로폰 (148) 에 의해 캡처된 대응하는 트랜지션 프레임 간의 피크 상호 상관이 대략 4 샘플 시프트에서 발생한다는 것을 예시한다. 또한, 그래프 (1506) 는 제 1 마이크로폰 (146) 에 의해 캡처된 무성 프레임과 제 2 마이크로폰 (148) 에 의해 캡처된 대응하는 무성 프레임 간의 피크 상호 상관이 대략 -3 샘플 시프트에서 발생한다는 것을 예시한다. 따라서, 시프트 추정은 상대적으로 고 레벨의 잡음으로 인해 트랜지션 프레임들 및 무성 프레임들에 대해 부정확할 수도 있다.
도 15 에 따르면, 그래프 (1512) 는 설명된 장-기 평활화 기법들을 사용하여 프로세싱된 유성 프레임에 대한 비교 값들 (예를 들어, 상호 상관 값들) 을 예시하고, 그래프 (1514) 는 설명된 장-기 평활화 기법들을 사용하여 프로세싱된 트랜지션 프레임에 대한 비교 값들을 예시하며, 그래프 (1516) 는 설명된 장-기 평활화 기법들을 사용하여 프로세싱된 무성 프레임에 대한 비교 값들을 예시한다. 각각의 그래프 (1512, 1514, 1516) 에서 상호 상관은 실질적으로 유사할 수도 있다. 예를 들어, 각각의 그래프 (1512, 1514, 1516) 는 도 1 의 제 1 마이크로폰 (146) 에 의해 캡처된 프레임과 도 1 의 제 2 마이크로폰 (148) 에 의해 캡처된 대응하는 프레임 간의 피크 상호 상관이 대략 17 샘플 시프트에서 발생한다는 것을 예시한다. 따라서, (그래프 (1514) 에 의해 예시된) 트랜지션 프레임들 및 (그래프 (1516) 에 의해 예시된) 무성 프레임들에 대한 시프트 추정은 잡음에도 불구하고 유성 프레임의 시프트 추정과 상대적으로 정확 (또는 유사) 할 수도 있다.
도 15 에 대하여 설명된 비교 값 장-기 평활화 프로세스는, 비교 값들이 각각의 프레임에서 동일한 시프트 범위들 상에서 추정되는 경우 적용될 수도 있다. 평활화 로직 (예를 들어, 평활화기들 (1410, 1420, 1430)) 은 생성된 비교 값들에 기초하여 채널들 간의 시프트의 추정 전에 수행될 수도 있다. 예를 들어, 평활화는 잠정적인 시프트나, 보간된 시프트나, 또는 보정된 시프트의 추정 전에 수행될 수도 있다. 묵음 (silent) 부분들 (또는 시프트 추정에서 드리프트를 야기할 수도 있는 백그라운드 잡음) 동안 비교 값들의 적응을 감소시키기 위해, 비교 값들은 더 높은 시간-상수 (예를 들어, α= 0.995) 에 기초하여 평활화될 수도 있고; 그렇지 않은 경우, 평활화는 α= 0.9 에 기초할 수도 있다. 비교 값들을 조정할지 여부의 결정은 백그라운드 에너지 또는 장-기 에너지가 임계 미만인지 여부에 기초할 수도 있다.
도 16 을 참조하면, 동작의 특정 방법을 예시하는 플로우차트가 도시되고 일반적으로 1600 으로 표기된다. 방법 (1600) 은 도 1 의 시간적 등화기 (108), 인코더 (114), 제 1 디바이스 (104), 또는 이들의 조합에 의해 수행될 수도 있다.
방법 (1660) 은, 1602 에서, 제 1 마이크로폰에서 제 1 오디오 신호를 캡처하는 단계를 포함한다. 제 1 오디오 신호는 제 1 프레임을 포함할 수도 있다. 예를 들어, 도 1 을 참조하면, 제 1 마이크로폰 (146) 은 제 1 오디오 신호 (130) 를 캡처할 수도 있다. 제 1 오디오 신호 (130) 는 제 1 프레임을 포함할 수도 있다.
제 2 오디오 신호는, 1604 에서, 제 2 마이크로폰에서 캡처될 수도 있다. 제 2 오디오 신호는 제 2 프레임을 포함할 수도 있고, 제 2 프레임은 제 1 프레임과 실질적으로 유사한 콘텐트를 가질 수도 있다. 예를 들어, 도 1 을 참조하면, 제 2 마이크로폰 (148) 은 제 2 오디오 신호 (132) 를 캡처할 수도 있다. 제 2 오디오 신호 (132) 는 제 2 프레임을 포함할 수도 있고, 제 2 프레임은 제 1 프레임과 실질적으로 유사한 콘텐트를 가질 수도 있다. 제 1 프레임 및 제 2 프레임들은 유성 프레임들, 트랜지션 프레임들, 또는 무성 프레임들 중 하나일 수도 있다.
1606 에서, 제 1 프레임과 제 2 프레임 간의 지연이 추정될 수도 있다. 예를 들어, 도 1 을 참조하면, 시간적 등화기 (108) 는 제 1 프레임과 제 2 프레임 간의 상호 상관을 결정할 수도 있다. 1608 에서, 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 오프셋은 이력적 지연 데이터에 기초한 지연에 기초하여 추정될 수도 있다. 예를 들어, 도 1 을 참조하면, 시간적 등화기 (108) 는 마이크로폰들 (146, 148) 에서 캡처된 오디오 간의 시간적 오프셋을 추정할 수도 있다. 시간적 오프셋은 제 1 오디오 신호 (130) 의 제 1 프레임과 제 2 오디오 신호 (132) 의 제 2 프레임 간의 지연에 기초하여 추정될 수도 있고, 여기서 제 2 프레임은 제 1 프레임과 실질적으로 유사한 콘텐트를 포함한다. 예를 들어, 시간적 등화기 (108) 는 상호 상관 함수를 사용하여 제 1 프레임과 제 2 프레임 간의 지연을 추정할 수도 있다. 상호 상관 함수는 2 개의 프레임들의 유사성을, 하나의 프레임의, 다른 프레임에 대한 지체의 함수로서 측정하도록 사용될 수도 있다. 상호 상관 함수에 기초하여, 시간적 등화기 (108) 는 제 1 프레임과 제 2 프레임 간의 지연 (예를 들어, 지체) 을 결정할 수도 있다. 시간적 등화기 (108) 는 지연 및 이력적 지연 데이터에 기초하여 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 시간적 오프셋을 추정할 수도 있다.
이력적 데이터는 제 1 마이크로폰 (146) 으로부터 캡처된 프레임들과 제 2 마이크로폰 (148) 으로부터 캡처된 대응하는 프레임들 간의 지연들을 포함할 수도 있다. 예를 들어, 시간적 등화기 (108) 는 제 1 오디오 신호 (130) 와 연관된 이전의 프레임들과 제 2 오디오 신호 (132) 와 연관된 대응하는 프레임들 간의 상호 상관 (예를 들어, 지체) 을 결정할 수도 있다. 각각의 지체는 "비교 값" 에 의해 표현될 수도 있다. 즉, 비교 값은 제 1 오디오 신호 (130) 의 프레임과 제 2 오디오 신호 (132) 의 대응하는 프레임 간의 시간 시프트 (k) 를 나타낼 수도 있다. 일 구현에 따르면, 이전의 프레임들에 대한 비교 값들은 메모리 (153) 에 저장될 수도 있다. 시간적 등화기 (108) 의 평활화기 (192) 는 프레임들의 장-기 세트에 대한 비교 값들을 "평활화" (또는 평균) 하고, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 시간적 오프셋 (예를 들어, "시프트") 을 추정하기 위해 장-기 평활화된 비교 값들을 사용할 수도 있다.
따라서, 이력적 지연 데이터는 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 와 연관된 평활화된 비교 값들에 기초하여 생성될 수도 있다. 예를 들어, 방법 (1600) 은 이력적 지연 데이터를 생성하기 위해 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 와 연관된 평활화 비교 값들을 포함할 수도 있다. 평활화된 비교 값들은 제 1 프레임 보다 더 이른 시간에 생성된 제 1 오디오 신호 (130) 의 프레임들에 기초하고 제 2 프레임보다 더 이른 시간에 생성된 제 2 오디오 신호 (132) 의 프레임들에 기초할 수도 있다. 일 구현에 따르면, 방법 (1600) 은 시간적 오프셋에 의해 제 2 프레임을 시간적으로 시프트하는 단계를 포함할 수도 있다.
예시하자면, 이 프레임 N 에 대한 k 의 시프트에서 비교 값을 나타내면, 프레임 N 은 k=T_MIN (최소 시프트) 내지 k=T_MAX (최대 시프트) 의 비교 값들을 가질 수도 있다. 평활화는, 장-기 비교 값 에 의해 표현되도록 수행될 수도 있다. 상기 식에서 함수 f 는 시프트 (k) 에서 과거 비교 값들의 전부 (또는 서브세트) 의 함수일 수도 있다. 대안의 표현은 일 수도 있다. 함수들 f 또는 g 는 각각, 단순한 유한 임펄스 응답 (FIR) 필터들 또는 무한 임펄스 응답 (IIR) 필터들일 수도 있다. 예를 들어, 함수 g 는, 장-기 비교 값 에 의해 표현되도록 단일 탭 IIR 필터일 수도 있고, 여기서 이다. 따라서, 장-기 비교 값 은 프레임 N 에서의 순시적 비교 값 및 하나 이상의 이전 프레임들에 대한 장-기 비교 값들 의 가중된 혼합에 기초할 수도 있다. α 의 값이 증가함에 따라, 장-기 비교 값에서 평활화의 양이 증가한다.
일 구현에 따르면, 방법 (1600) 은 도 17 및 도 18 에 대하여 더 상세히 설명되는 바와 같이, 제 1 프레임과 제 2 프레임 간의 지연을 추정하는데 사용되는 비교 값들의 범위를 조정하는 단계를 포함할 수도 있다. 지연은 최고 상호 상관을 갖는 비교 값들의 범위에서의 비교 값과 연관될 수도 있다. 범위를 조정하는 것은, 범위의 경계에서 비교 값들이 단조 증가하는지 여부를 결정하고, 경계에서 비교 값들이 단조 증가하고 있다는 결정에 응답하여 경계를 확장하는 단계를 포함할 수도 있다. 경계는 좌측 경계 또는 우측 경계를 포함할 수도 있다.
도 16 의 방법 (1600) 은 유성 프레임들, 무성 프레임들, 및 트랜지션 프레임들 간의 시프트 추정을 실질적으로 정규화할 수도 있다. 정규화된 시프트 추정들은 프레임 경계들에서 아티팩트 스킵 및 샘플 반복을 감소시킬 수도 있다. 부가적으로, 정규화된 시프트 추정들은 감소된 사이드 채널 에너지들을 초래할 수도 있고, 이것은 코딩 효율성을 개선시킬 수도 있다.
도 17 을 참조하면, 시프트 추정을 위해 사용된 비교 값들에 대한 검색 범위를 선택적으로 확장하기 위한 프로세스 다이어그램 (1700) 이 도시된다. 예를 들어, 프로세스 다이어그램 (1700) 은 현재 프레임에 대해 생성된 비교 값들, 과거 프레임들에 대해 생성된 비교 값들, 또는 이들의 조합에 기초하여 비교 값들에 대한 검색 범위를 확장하는데 사용될 수도 있다.
프로세스 다이어그램 (1700) 에 따르면, 검출기는 우측 경계 또는 좌측 경계 부근에서의 비교 값들이 증가 또는 감소하고 있는지 여부를 결정하도록 구성될 수도 있다. 미래의 비교 값 생성에 대한 검색 범위 경계들은 이 결정에 기초하여 더 많은 시프트 값들을 수용하도록 바깥쪽으로 푸시될 수도 있다. 예를 들어, 검색 범위 경계들은, 비교 값들이 재생성되는 경우 동일한 프레임에서의 비교 값들 또는 후속의 프레임들에서의 비교 값들에 대해 바깥쪽으로 푸시될 수도 있다. 검출기는 현재 프레임에 대해 생성된 비교 값들에 기초하여 또는 하나 이상의 이전 프레임들에 대해 생성된 비교 값들에 기초하여 검색 경계 확장을 개시할 수도 있다.
1702 에서, 검출기는 우측 경계에서 비교 값들이 단조 증가하고 있는지 여부를 결정할 수도 있다. 비-제한적 예로서, 검색 범위는 -20 에서부터 20 까지 (예를 들어, 네거티브 방향에서 20 샘플 시프트들에서부터 포지티브 방향으로 20 샘플 시프트들까지) 확장할 수도 있다. 본원에 사용된 바와 같이, 네거티브 방향에서의 시프트는 제 1 신호, 예컨대 레퍼런스 신호인 도 1 의 제 1 오디오 신호 (130) 및 제 2 신호, 예컨대 타겟 신호인 도 1 의 제 2 오디오 신호 (132) 에 대응한다. 포지티브 방향에서의 시프트는 타겟 신호인 제 1 신호 및 레퍼런스 신호인 제 2 신호에 대응한다.
1702 에서, 우측 경계에서 비교 값들이 단조 증가하고 있으면, 1704 에서, 검출기는 우측 경계를 바깥쪽으로 조정하여 검색 범위를 증가시킬 수도 있다. 예시하자면, 샘플 시프트 19 에서 비교 값이 특정 값을 갖고 샘플 시프트 20 에서 비교 값이 더 높은 값을 가지면, 검출기는 포지티브 방향으로 검색 범위를 확장할 수도 있다. 비-제한적 예로서, 검출기는 검색 범위를 -20 내지 25 로 확장할 수도 있다. 검출기는 1 개의 샘플, 2 개의 샘플들, 3 개의 샘플들 등의 증분들에서 검색 범위를 확장할 수도 있다. 일 구현에 따르면, 1702 에서의 결정은 우측 경계에서 스퓨리어스 점프에 기초하여 검색 범위를 확장하는 가능성을 감소시키기 위해 우측 경계를 향해 복수의 샘플들에서 비교 값들을 검출함으로써 수행될 수도 있다.
1702 에서, 우측 경계에서 비교 값들이 단조 증가하지 않으면, 1706 에서 검출기는 좌측 경계에서 비교 값들이 단조 증가하는지 여부를 결정할 수도 있다. 1706 에서, 좌측 경계에서 비교 값들이 단조 증가하고 있으면, 1708 에서, 검출기는 좌측 경계를 바깥쪽으로 조정하여 검색 범위를 증가시킬 수도 있다. 예시하자면, 샘플 시프트 -19 에서 비교 값이 특정 값을 갖고 샘플 시프트 -20 에서 비교 값이 더 높은 값을 가지면, 검출기는 네거티브 방향으로 검색 범위를 확장할 수도 있다. 비-제한적 예로서, 검출기는 검색 범위를 -25 에서부터 20 까지 확장할 수도 있다. 검출기는 1 개의 샘플, 2 개의 샘플들, 3 개의 샘플들 등의 증분들에서 검색 범위를 확장할 수도 있다. 일 구현에 따르면, 1702 에서의 결정은 좌측 경계에서 스퓨리어스 점프에 기초하여 검색 범위를 확장하는 가능성을 감소시키기 위해 좌측 경계를 향해 복수의 샘플들에서 비교 값들을 검출함으로써 수행될 수도 있다. 1706 에서, 좌측 경계에서 비교 값들이 단조 증가하지 않으면, 1710 에서, 검출기는 검색 범위를 불변 상태로 남겨둘 수도 있다.
따라서, 도 17 의 프로세스 다이어그램 (1700) 은 미래의 프레임들에 대한 검색 범위 수정을 개시할 수도 있다. 예를 들어, 과거의 3 개의 연속적인 프레임들이 임계 전의 최종 10 개의 시프트 값들에 걸친 비교 값들에서 단조 증가하고 있는 것 (예를 들어, 샘플 시프트 10 에서부터 샘플 시프트 20 까지 증가 또는 샘플 시프트 -10 에서부터 샘플 시프트 -20 까지 증가) 으로 검출되면, 검색 범위는 특정 수의 샘플들 만큼 바깥쪽으로 증가될 수도 있다. 검색 범위의 이 바깥쪽 증가는, 경계에서 비교 값이 더 이상 단조 증가하지 않을 때까지 미래의 프레임들에 대해 연속적으로 구현될 수도 있다. 이전의 프레임들에 대한 비교 값들에 기초한 검색 범위의 증가는, "진정한 시프트 (true shift)" 가 검색 범위의 경계에 매우 가깝지만 검색 범위 바로 밖에 있을 수 있는 가능성을 감소시킬 수도 있다. 이 가능성을 감소시켜 개선된 사이드 채널 에너지 최소화 및 채널 코딩을 초래할 수도 있다.
도 18 을 참조하면, 시프트 추정을 위해 사용된 비교 값들에 대한 검색 범위의 선택적 확장을 예시하는 그래프들이 도시된다. 그래프들은 표 1 에서 데이터와 연관되어 동작할 수도 있다.
표 1: 선택적 검색 범위 확장 데이터
표 1 에 따르면, 검출기는, 특정 경계가 3 개 이상의 연속적인 프레임들에서 증가하면 검색 범위를 확장할 수도 있다. 제 1 그래프 (1802) 는 프레임 i-2 에 대한 비교 값들을 예시한다. 제 1 그래프 (1802) 에 따르면, 좌측 경계는 단조 증가하지 않고 우측 경계는 하나의 연속적인 프레임에 대해 단조 증가한다. 결과적으로, 검색 범위는 다음 프레임 (예를 들어, 프레임 i-1) 에 대해 불변 상태로 남아 있고, 경계는 -20 내지 20 의 범위일 수도 있다. 제 2 그래프 (1804) 는 프레임 i-1 에 대한 비교 값들을 예시한다. 제 2 그래프 (1804) 에 따르면, 좌측 경계는 단조 증가하지 않고 우측 경계는 2 개의 연속적인 프레임에 대해 단조 증가한다. 결과적으로, 검색 범위는 다음 프레임 (예를 들어, 프레임 i) 에 대해 불변 상태로 남아 있고, 경계는 -20 내지 20 의 범위일 수도 있다.
제 3 그래프 (1806) 는 프레임 i 에 대한 비교 값들을 예시한다. 제 3 그래프 (1806) 에 따르면, 좌측 경계는 단조 증가하지 않고 우측 경계는 3 개의 연속적인 프레임에 대해 단조 증가한다. 우측 경계가 3 이상의 연속적인 프레임에 대해 단조 증가하기 때문에, 다음 프레임 (예를 들어, 프레임 i+1) 에 대한 검색 범위는 확장될 수도 있고 다음 프레임에 대한 경계는 -23 내지 23 의 범위일 수도 있다. 제 4 그래프 (1808) 는 프레임 i+1 에 대한 비교 값들을 예시한다. 제 4 그래프 (1808) 에 따르면, 좌측 경계는 단조 증가하지 않고 우측 경계는 4 개의 연속적인 프레임에 대해 단조 증가한다. 우측 경계가 3 이상의 연속적인 프레임에 대해 단조 증가하기 때문에, 다음 프레임 (예를 들어, 프레임 i+2) 에 대한 검색 범위는 확장될 수도 있고 다음 프레임에 대한 경계는 -26 내지 26 의 범위일 수도 있다. 제 5 그래프 (1810) 는 프레임 i+2 에 대한 비교 값들을 예시한다. 제 5 그래프 (1810) 에 따르면, 좌측 경계는 단조 증가하지 않고 우측 경계는 5 개의 연속적인 프레임들에 대해 단조 증가한다. 우측 경계가 3 이상의 연속적인 프레임에 대해 단조 증가하기 때문에, 다음 프레임 (예를 들어, 프레임 i+3) 에 대한 검색 범위는 확장될 수도 있고 다음 프레임에 대한 경계는 -29 내지 29 의 범위일 수도 있다.
제 6 그래프 (1812) 는 프레임 i+3 에 대한 비교 값들을 예시한다. 제 6 그래프 (1812) 에 따르면, 좌측 경계는 단조 증가하지 않고 우측 경계는 단조 증가하지 않는다. 결과적으로, 검색 범위는 다음 프레임 (예를 들어, 프레임 i+4) 에 대해 불변 상태로 남아 있고, 경계는 -29 내지 29 의 범위일 수도 있다. 제 7 그래프 (1814) 는 프레임 i+4 에 대한 비교 값들을 예시한다. 제 7 그래프 (1814) 에 따르면, 좌측 경계는 단조 증가하지 않고 우측 경계는 하나의 연속적인 프레임에 대해 단조 증가한다. 결과적으로, 검색 범위는 다음 프레임에 대해 불변 상태로 남아 있고, 경계는 -29 내지 29 의 범위일 수도 있다.
도 18 에 따르면, 좌측 경계는 우측 경계와 함께 확장된다. 대안의 구현들에서, 좌측 경계는, 각각의 프레임에 대해 비교 값들이 추정되는 시프트 값들의 일정한 수를 유지하기 위해 우측 경계의 바깥쪽 푸시를 보상하도록 안쪽으로 푸시될 수도 있다. 다른 구현에서, 좌측 경계는, 검출기가 우측 경계가 바깥쪽으로 확장된다는 것을 나타내는 경우 일정한 상태로 있을 수도 있다.
일 구현에 따르면, 검출기가 특정 경계가 바깥쪽으로 확장된다는 것을 나타내는 경우, 특정 경계가 바깥쪽으로 확장되는 샘플들의 양은 비교 값들에 기초하여 결정될 수도 있다. 예를 들어, 검출기가 우측 경계가 비교 값들에 기초하여 바깥쪽으로 확장된다고 결정하는 경우, 새로운 세트의 비교 값들은 더 넓은 시프트 검색 범위 상에서 생성될 수도 있고 검출기는 새롭게 생성된 비교 값들 및 기존의 비교 값들을 사용하여 최종 검색 범위를 결정할 수도 있다. 예시하자면, 프레임 i+1 에 대해, -30 내지 30 범위의 더 넓은 범위의 시프트들 상에서 비교 값들의 세트가 생성될 수도 있다. 최종 검색 범위는 더 넓은 검색 범위에서 생성된 비교 값들에 기초하여 제한될 수도 있다.
도 18 에서 예들은 우측 경계가 바깥쪽으로 확장될 수도 있다는 것을 나타내지만, 검출기가 좌측 경계가 확장된다는 것을 결정하는 경우 좌측 경계를 바깥쪽으로 확장하도록 유사한 아날로그 함수 (analogous function) 들이 수행될 수도 있다. 일부 구현들에 따르면, 검색 범위 상의 절대적 제한들은 검색 범위가 무기한으로 증가 또는 감소하는 것을 방지하는데 이용될 수도 있다. 비-제한적 예로서, 검색 범위의 절대 값은 8.75 밀리초를 초과하여 증가하도록 (예를 들어, CODEC 의 룩 어헤드 (look-ahead)) 허용되지 않을 수도 있다.
도 19 를 참조하면, 특정 예시적 시스템 예가 개시되고 일반적으로 1900 으로 표기된다. 시스템 (1900) 은 네트워크 (120) 를 통해 제 2 디바이스 (106) 에 통신 가능하게 커플링되는 제 1 디바이스 (104) 를 포함한다.
제 1 디바이스 (104) 는 도 1 에 대하여 설명된 바와 유사한 컴포넌트들을 포함하고 실질적으로 유사한 방식으로 동작할 수도 있다. 예를 들어, 제 1 디바이스 (104) 는 인코더 (114), 메모리 (153), 입력 인터페이스들 (112), 송신기 (110), 제 1 마이크로폰 (146), 및 제 2 마이크로폰 (148) 을 포함한다. 최종 시프트 값 (116) 에 추가하여, 메모리 (153) 는 추가 정보를 포함할 수도 있다. 예를 들어, 메모리 (153) 는 도 5 의 보정된 시프트 값 (540), 제 1 임계 (1902), 제 2 임계 (1904), 제 1 HB 코딩 모드 (1912), 제 1 LB 코딩 모드 (1913), 제 2 HB 코딩 모드 (1914), 제 2 LB 코딩 모드 (1915), 제 1 수의 비트들 (1916), 및 제 2 수의 비트들 (1918) 을 포함할 수도 있다. 도 1 에 도시된 시간적 등화기 (108) 에 추가하여, 인코더 (114) 는 비트 할당기 (1908) 및 코딩 모드 선택기 (1910) 를 포함할 수도 있다.
인코더 (114)(또는 제 1 디바이스 (104) 에서 다른 프로세서) 는 도 5 에 대하여 설명된 기법들에 따라 최종 시프트 값 (116) 및 보정된 시프트 값 (540) 을 결정할 수도 있다. 이하에서 설명된 바와 같이, 보정된 시프트 값 (540) 은 또한, "시프트 값" 으로서 지칭될 수도 있고, 최종 시프트 값 (116) 은 또한, "제 2 시프트 값" 으로서 지칭될 수도 있다. 보정된 시프트 값은 제 2 마이크로폰 (148) 에 의해 캡처된 제 2 오디오 신호 (132) 에 대한 제 1 마이크로폰 (146) 에 의해 캡처된 제 1 오디오 신호 (130) 의 시프트 (예를 들어, 시간 시프트) 를 나타낼 수도 있다. 도 5 에 대하여 설명된 바와 같이, 최종 시프트 값 (116) 은 보정된 시프트 값 (540) 에 기초할 수도 있다.
비트 할당기 (1908) 는 최종 시프트 값 (116) 및 보정된 시프트 값 (540) 에 기초하여 비트 할당을 결정하도록 구성될 수도 있다. 예를 들어, 비트 할당기 (1908) 는 최종 시프트 값 (116) 및 보정된 시프트 값 (540) 간의 변동을 결정할 수도 있다. 변동을 결정한 후에, 비트 할당기 (1908) 는 변동을 제 1 임계 (1902) 와 비교할 수도 있다. 이하에서 설명되는 바와 같이, 변동이 제 1 임계 (1902) 를 충족시키면, 중간 신호에 할당된 비트들의 수 및 사이드 신호에 할당된 비트들의 수는 인코딩 동작 동안 조정될 수도 있다.
예시하자면, 인코더 (114) 는 비트 할당에 기초하여 적어도 하나의 인코딩된 신호 (예를 들어, 인코딩된 신호들 (102)) 를 생성하도록 구성될 수도 있다. 인코딩된 신호들 (102) 은 제 1 인코딩된 신호 및 제 2 인코딩된 신호를 포함할 수도 있다. 일 구현에 따르면, 제 1 인코딩된 신호는 중간 신호에 대응할 수도 있고, 제 2 인코딩된 신호는 사이드 신호에 대응할 수도 있다. 인코더 (114) 는 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 의 합에 기초하여 중간 신호 (예를 들어, 제 1 인코딩된 신호) 를 생성할 수도 있다. 인코더 (114) 는 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 차이에 기초하여 사이드 신호를 생성할 수도 있다. 일 구현에 따르면, 제 1 인코딩된 신호 및 제 2 인코딩된 신호는 저-대역 신호들을 포함할 수도 있다. 예를 들어, 제 1 인코딩된 신호는 저-대역 중간 신호를 포함할 수도 있고, 제 2 인코딩된 신호는 저-대역 사이드 신호를 포함할 수도 있다. 제 1 인코딩된 신호 및 제 2 인코딩된 신호는 고-대역 신호들을 포함할 수도 있다. 예를 들어, 제 1 인코딩된 신호는 고-대역 중간 신호를 포함할 수도 있고, 제 2 인코딩된 신호는 고-대역 사이드 신호를 포함할 수도 있다.
최종 시프트 값 (116)(예를 들어, 인코딩된 신호들 (120) 을 인코딩하기 위해 사용된 시프트 양) 이 보정된 시프트 값 (540)(예를 들어, 사이드 신호 에너지를 감소시키도록 계산된 시프트 양) 과 상이하다면, 최종 시프트 값 (116) 및 보정된 시프트 값 (540) 이 유사한 시나리오와 비교하여 추가적인 비트들이 사이드 신호 코딩에 할당될 수도 있다. 사이드 신호 코딩에 추가적인 비트들을 할당한 후에, 이용 가능한 비트들의 나머지는 중간 신호 코딩에 그리고 사이드 파라미터들에 할당될 수도 있다. 유사한 최종 시프트 값 (116) 및 보정된 시프트 값 (540) 을 갖는 것은 연속적인 프레임들에서 부호 반전들의 가능성을 실질적으로 감소시키거나, 오디오 신호들 (130, 132) 간의 시프트에서 큰 점프의 발생을 실질적으로 감소시키거나, 및/또는 프레임간에 타겟 신호를 시간적으로 천천히-시프트할 수도 있다. 예를 들어, 시프트는, 사이드 채널이 충분히 탈상관되지 않기 때문에 그리고 큰 스텝들로 시프트를 변경하는 것이 아티팩트들을 생성할 수도 있기 때문에 천천히 전개 (예를 들어, 변화) 할 수도 있다. 부가적으로, 시프트들이 프레임간에 특정 양보다 많이 변화하고 최종 시프트 변동이 제한되면, 증가된 사이드 프레임 에너지가 발생할 수도 있다. 따라서, 증가된 사이드 프레임 에너지를 고려하도록 추가적인 비트들이 사이드 신호 코딩에 할당될 수도 있다.
예시하자면, 비트 할당기 (1908) 는 제 1 수의 비트들 (1916) 을 제 1 인코딩된 신호 (예를 들어, 중간 신호) 에 할당할 수도 있고 제 2 수의 비트들 (1918) 을 제 2 인코딩된 신호 (예를 들어, 사이드 신호) 에 할당할 수도 있다. 비트 할당기 (1908) 는 최종 시프트 값 (116) 과 보정된 시프트 값 (540) 간의 변동 (또는 차이) 를 결정할 수도 있다. 변동을 결정한 후에, 비트 할당기 (1908) 는 변동을 제 1 임계 (1902) 와 비교할 수도 있다. 보정된 시프트 값 (540) 과 최종 시프트 값 (116) 간의 변동이 제 1 임계 (1902) 를 충족시킨다는 것에 응답하여, 비트 할당기 (1908) 는 제 1 수의 비트들 (1916) 을 감소시키고 제 2 수의 비트들 (1918) 을 증가시킬 수도 있다. 예를 들어, 비트 할당기 (1908) 는 중간 신호에 할당된 비트들의 수를 감소시킬 수도 있고 사이드 신호에 할당된 비트들의 수를 증가시킬 수도 있다. 일 구현에 따르면, 제 1 임계 (1902) 는, 최종 시프트 값 (116) 및 보정된 시프트 값 (540) 이 (실질적으로) 유사하지 않으면 추가적인 비트들이 사이드 신호에 할당되도록 상대적으로 작은 값 (예를 들어, 0 또는 1) 과 동일할 수도 있다.
전술된 바와 같이, 인코더 (114) 는 비트 할당에 기초하여 인코딩된 신호들 (102) 을 생성할 수도 있다. 부가적으로, 인코딩된 신호들 (102) 은 코딩 모드에 기초할 수도 있고, 코딩 모드는 보정된 시프트 값 (540)(예를 들어, 시프트 값) 및 최종 시프트 값 (116)(예를 들어, 제 2 시프트 값) 에 기초할 수도 있다. 예를 들어, 인코더 (114) 는 보정된 시프트 값 (540) 및 최종 시프트 값 (116) 에 기초하여 코딩 모드를 결정하도록 구성될 수도 있다. 전술된 바와 같이, 인코더 (114) 는 보정된 시프트 값 (540) 과 최종 시프트 값 (116) 간의 차이를 결정할 수도 있다.
차이가 임계를 충족시킨다는 것에 응답하여, 인코더 (114) 는 제 1 코딩 모드에 기초하여 제 1 인코딩된 신호 (예를 들어, 중간 신호) 를 생성할 수도 있고 제 2 코딩 모드에 기초하여 제 2 인코딩된 신호 (예를 들어, 사이드 신호) 를 생성할 수도 있다. 코딩 모드들의 예들은 도 21 및 도 22 를 참조하여 또한 설명된다. 예시하자면, 일 구현에 따르면, 제 1 인코딩된 신호는 저-대역 중간 신호를 포함하고 제 2 인코딩된 신호는 저-대역 사이드 신호를 포함하며, 제 1 코딩 모드 및 제 2 코딩 모드는 대수 부호 여진 선형 예측 (ACELP) 코딩 모드를 포함한다. 다른 구현에 따르면, 제 1 인코딩된 신호는 고-대역 중간 신호를 포함하고 제 2 인코딩된 신호는 고-대역 사이드 신호를 포함하며, 제 1 코딩 모드 및 제 2 코딩 모드는 대역폭 확장 (BWE) 코딩 모드를 포함한다.
일 구현에 따르면, 보정된 시프트 값 (540) 과 최종 시프트 값 (116) 간의 차이가 임계를 충족시키지 못한다는 것에 응답하여, 인코더 (114) 는 ACELP 코딩 모드에 기초하여 인코딩된 저-대역 중간 신호 (예를 들어, 제 1 인코딩된 신호) 를 생성할 수도 있고 예측 ACELP 코딩 모드에 기초하여 인코딩된 저-대역 사이드 신호 (예를 들어, 제 2 인코딩된 신호) 를 생성할 수도 있다. 이 시나리오에서, 인코딩된 신호들 (102) 은 인코딩된 저-대역 중간 신호 및 인코딩된 저-대역 사이드 신호에 대응하는 하나 이상의 파라미터들을 포함할 수도 있다.
특정 구현에 따르면, 인코더 (114) 는, 적어도, 제 1 시프트 값 (962)(예를 들어, 프레임 (302) 의 최종 시프트) 에 대한 제 2 시프트 값 (예를 들어, 프레임 (304) 의 보정된 시프트 값 (540) 또는 최종 시프트 값 (116)) 에서의 변동이 특정 임계를 초과한다는 결정에 기초하여, 시프트 변동 추적 플래그를 설정할 수도 있다. 인코더 (114) 는 시프트 변동 추적 플래그, 이득 파라미터 (160)(예를 들어, 추정된 타겟 이득), 또는 양자 모두에 기초하여, 에너지 비 값 또는 다운믹스 팩터 (예를 들어, DMXFAC (식들 2c-2d 에서와 같음)) 를 추정할 수도 있다. 인코더 (114) 는 이하의 의사 코드에 나타난 바와 같이, 시프트 변동에 의해 제어되는 다운믹스 팩터 (DMXFAC) 에 기초하여 프레임 (304) 에 대한 비트 할당을 결정할 수도 있다.
의사 코드: 시프트 변동 추적 플래그를 생성
의사 코드: 시프트 변동, 타겟 이득에 기초하여 다운믹스 팩터를 조정.
의사 코드: 다운믹스 팩터에 기초하여 비트 할당을 조정.
"sideChannel_bits" 는 제 2 수의 비트들 (1918) 에 대응할 수도 있다. "midChannel_bits" 은 제 1 수의 비트들 (1916) 에 대응할 수도 있다. 특정 구현에 따르면, sideChannel_bits 은 다운믹스 팩터 (예를 들어, DMXFAC), 코딩 모드 (예를 들어, ACELP, TCX, INACTIVE 등), 또는 양자 모두에 기초하여 추정될 수도 있다. 고 대역 비트 할당, HighBand_bits 은 코더 유형 (ACELP, 유성, 무성), 코어 샘플 레이트 (12.8 kHz 또는 16kHz 코어), 사이드-채널 코딩, 중간-채널 코딩, 및 고-대역 코딩에 대해 이용 가능한 고정된 총 비트 레이트, 또는 이들의 조합에 기초할 수도 있다. 사이드-채널 코딩 및 고-대역 코딩에 할당한 후의 나머지 수의 비트들은 중간-채널 코딩에 대해 할당될 수도 있다.
특정 구현에서, 타겟 채널 조정을 위해 선택된 최종 시프트 값 (116) 은 제안된 또는 실제 보정된 시프트 값 (예를 들어, 보정된 시프트 값 (540)) 과는 다를 수도 있다. 상태 머신 (예를 들어, 인코더 (114)) 은, 보정된 시프트 값 (540) 이 임계보다 크고 타겟 채널에서 큰 시프트 또는 조정을 초래할 것이라는 결정에 응답하여, 최종 시프트 값 (116) 을 중간 값으로 설정할 수도 있다. 예를 들어, 인코더 (114) 는 최종 시프트 값 (116) 을 제 1 시프트 값 (962)(예를 들어, 이전 프레임의 최종 시프트 값) 과 보정된 시프트 값 (540)(예를 들어, 현재 프레임의 제안된 또는 보정된 시프트 값) 간의 중간 값으로 설정할 수도 있다. 최종 시프트 값 (116) 이 보정된 시프트 값 (540) 과는 다른 경우, 사이드 채널은 최대한으로 탈상관되지 않을 수도 있다. 최종 시프트 값 (116) 을 중간 값 (즉, 보정된 시프트 값 (540) 에 의해 표현된 바와 같은, 진정한 또는 실제 시프트 값이 아님) 은 사이드-채널 코딩에 더 많은 비트들을 할당하는 것을 초래할 수도 있다. 사이드-채널 비트 할당은 시프트 변동에 직접적으로 기초하거나 또는 시프트 변동 추적 플래그, 타겟 이득, 다운믹스 팩터 DMXFAC, 또는 이들의 조합에 간접적으로 기초할 수도 있다.
다른 구현에 따르면, 보정된 시프트 값 (540) 과 최종 시프트 값 (116) 간의 차이가 임계를 충족시키지 못한다는 것에 응답하여, 인코더 (114) 는 BWE 코딩 모 드에 기초하여 인코딩된 고-대역 중간 신호 (예를 들어, 제 1 인코딩된 신호) 를 생성할 수도 있고 블라인드 BWE 코딩 모드에 기초하여 인코딩된 고-대역 사이드 신호 (예를 들어, 제 2 인코딩된 신호) 를 생성할 수도 있다. 이 시나리오에서, 인코딩된 신호들 (102) 은 인코딩된 고-대역 중간 신호 및 인코딩된 고-대역 사이드 신호에 대응하는 하나 이상의 파라미터들을 포함할 수도 있다.
인코딩된 신호들 (102) 은 제 1 오디오 신호 (130) 의 제 1 샘플들 및 제 2 오디오 신호 (132) 의 제 2 샘플들에 기초할 수도 있다. 제 2 샘플들은 최종 시프트 값 (116)(예를 들어, 제 2 시프트 값) 에 기초하는 양만큼 제 1 샘플들에 대하여 시간-시프트될 수도 있다. 송신기 (110) 는 인코딩된 신호들 (102) 을 네트워크 (120) 를 통해 제 2 디바이스 (106) 로 송신하도록 구성될 수도 있다. 인코딩된 신호 (102) 를 수신 시에, 제 2 디바이스 (106) 는 제 1 라우드스피커 (142) 에서 제 1 출력 신호 (126) 를 출력하고 제 2 라우드스피커 (144) 에서 제 2 출력 신호 (128) 를 출력하도록 도 1 에 대하여 설명된 바와 실질적으로 유사한 방식으로 동작할 수도 있다.
도 19 의 시스템 (1900) 은, 최종 시프트 값 (116) 이 보정된 시프트 값 (540) 과 상이한 경우 인코더 (114) 가 사이드 채널 코딩에 할당된 비트들의 수를 조정 (예를 들어, 증가) 하게 할 수도 있다. 예를 들어, 최종 시프트 값 (116) 은, 연속적인 프레임들에서 부호 반전을 회피하거나, 큰 시프트 점프들을 회피하거나 및/또는 레퍼런스 신호와 정렬시키기 위해 프레임간에 타겟 신호를 시간적으로 천천히-시프트하도록, 보정된 시프트 값 (540) 과는 상이한 값으로 (도 5 의 시프트 변화 분석기 (512) 에 의해) 제한될 수도 있다. 이들 시나리오들에서, 인코더 (114) 는 사이드 채널 코딩에 할당된 비트들의 수를 증가시켜 아티팩트들을 감소시킬 수도 있다. 최종 시프트 값 (116) 은 다른 파라미터들, 예컨대 채널 간 사전-프로세싱/분석 파라미터들 (예를 들어, 보이싱, 피치, 프레임 에너지, 음성 액티비티, 트랜션트 검출, 스피치/음악 분류, 코더 유형, 잡음 레벨 추정, 신호대 잡음비 (SNR) 추정, 신호 엔트로피 등) 에 기초하여, 채널들 간의 상호 상관에 기초하여, 및/또는 채널들 간의 스펙트럼 유사성에 기초하여 보정된 시프트 값 (540) 과는 상이할 수도 있다는 것이 이해되어야 한다.
도 20 을 참조하면, 중간 신호와 사이드 신호 간에 비트들을 할당하는 방법 (2000) 의 플로우차트가 도시된다. 방법 (2000) 은 비트 할당기 (1908) 에 의해 수행될 수도 있다.
2052 에서, 방법 (2000) 은 최종 시프트 값 (116) 과 보정된 시프트 값 (540) 간의 차이 (2057) 를 결정하는 단계를 포함한다. 예를 들어, 비트 할당기 (1908) 는 최종 시프트 값 (116) 으로부터 보정된 시프트 값 (540) 을 감산함으로써 차이 (2057) 를 결정할 수도 있다.
2053 에서, 방법 (2000) 은 차이 (2057)(예를 들어, 차이 (2057) 의 절대 값) 를 제 1 임계 (1902) 와 비교하는 단계를 포함한다. 예를 들어, 비트 할당기 (1908) 는, 차이의 절대 값이 제 1 임계 (1902) 보다 큰지 여부를 결정할 수도 있다. 차이 (2057) 의 절대 값이 제 1 임계 (1902) 보다 크면, 2054 에서, 비트 할당기 (1908) 는 제 1 수의 비트들 (1916) 을 감소시킬 수도 있고 제 2 수의 비트들 (1918) 을 증가시킬 수도 있다. 예를 들어, 비트 할당기 (1908) 는 중간 신호에 할당된 비트들의 수를 감소시킬 수도 있고 사이드 신호에 할당된 비트들의 수를 증가시킬 수도 있다.
차이 (2057) 의 절대 값이 제 1 임계 (1902) 보다 크지 않으면, 2055 에서, 비트 할당기 (1908) 는 차이 (2057) 의 절대 값이 제 2 임계 (1904) 미만인지 여부를 결정할 수도 있다. 차이 (2057) 의 절대 값이 제 2 임계 (1904) 미만이면, 2056 에서, 비트 할당기 (1908) 는 제 1 수의 비트들 (1916) 을 증가시킬 수도 있고 제 2 수의 비트들 (1918) 을 감소시킬 수도 있다. 예를 들어, 비트 할당기 (1908) 는 중간 신호에 할당된 비트들의 수를 증가시킬 수도 있고 사이드 채널에 할당된 비트들의 수를 감소시킬 수도 있다. 차이 (2057) 의 절대 값이 제 2 임계 (1904) 보다 작지 않으면, 2057 에서, 제 1 수의 비트들 (1916) 및 제 2 수의 비트들 (1918) 은 여전히 불변 상태로 있을 수도 있다.
도 20 의 방법 (2000) 은, 최종 시프트 값 (116) 이 보정된 시프트 값 (540) 과 상이한 경우 비트 할당기 (1908) 가 사이드 채널 코딩에 할당된 비트들의 수를 조정 (예를 들어, 증가) 하게 할 수도 있다. 예를 들어, 최종 시프트 값 (116) 은, 연속적인 프레임들에서 부호 반전을 회피하거나, 큰 시프트 점프들을 회피하거나 및/또는 레퍼런스 신호와 정렬시키기 위해 프레임간에 타겟 신호를 시간적으로 천천히-시프트하도록, 보정된 시프트 값 (540) 과는 상이한 값으로 (도 5 의 시프트 변화 분석기 (512) 에 의해) 제한될 수도 있다. 이들 시나리오들에서, 인코더 (114) 는 사이드 채널 코딩에 할당된 비트들의 수를 증가시켜 아티팩트들을 감소시킬 수도 있다.
도 21 을 참조하면, 최종 시프트 값 (116) 및 보정된 시프트 값 (540) 에 기초하여 상이한 코딩 모드들을 선택하는 방법 (2100) 의 플로우차트가 도시된다. 방법 (2100) 은 코딩 모드 선택기 (1910) 에 의해 수행될 수도 있다.
2152 에서, 방법 (2100) 은 최종 시프트 값 (116) 과 보정된 시프트 값 (540) 간의 차이 (2057) 를 결정하는 단계를 포함한다. 예를 들어, 비트 할당기 (1908) 는 최종 시프트 값 (2052) 으로부터 보정된 시프트 값 (540) 을 감산함으로써 차이 (2057) 를 결정할 수도 있다.
2153 에서, 방법 (2100) 은 차이 (2057)(예를 들어, 차이 (2057) 의 절대 값) 를 제 1 임계 (1902) 와 비교하는 단계를 포함한다. 예를 들어, 비트 할당기 (1908) 는, 차이의 절대 값이 제 1 임계 (1902) 보다 큰지 여부를 결정할 수도 있다. 차이 (2057) 의 절대 값이 제 1 임계 (1902) 보다 크면, 2154 에서, 코딩 모드 선택기 (1910) 는 제 1 HB 코딩 모드 (1912) 로서 BWE 코딩 모드를 선택하고, 제 1 LB 코딩 모드 (1913) 로서 ACELP 코딩 모드를 선택하고, 제 2 HB 코딩 모드 (1914) 로서 BWE 코딩 모드를 선택하며, 제 2 LB 코딩 모드 (1915) 로서 ACELP 코딩 모드를 선택할 수도 있다. 이 시나리오에 따른 코딩의 예시적 구현은 도 22 에서 코딩 스킴 (2202) 으로서 도시된다. 코딩 스킴 (2202) 에 따르면, 고-대역은 시간-분할 (TD) 또는 주파수-분할 (FD) BWE 코딩 모드들을 사용하여 인코딩될 수도 있다.
도 21 을 다시 참조하면, 차이 (2057) 의 절대 값이 제 1 임계 (1902) 보다 크지 않으면, 2155 에서, 코딩 모드 선택기 (1910) 는 차이 (2057) 의 절대 값이 제 2 임계 (1904) 미만인지 여부를 결정할 수도 있다. 차이 (2057) 의 절대 값이 제 2 임계 (1904) 미만이면, 2156 에서, 코딩 모드 선택기 (1910) 는 제 1 HB 코딩 모드 (1912) 로서 BWE 코딩 모드를 선택하고, 제 1 LB 코딩 모드 (1913) 로서 ACELP 코딩 모드를 선택하고, 제 2 HB 코딩 모드 (1914) 로서 블라인드 BWE 코딩 모드를 선택하며, 제 2 LB 코딩 모드 (1915) 로서 예측 ACELP 를 선택할 수도 있다. 이 시나리오에 따른 코딩의 예시적 구현은 도 22 에서 코딩 스킴 (2206) 으로서 도시된다. 코딩 스킴 (2206) 에 따르면, 고-대역은 중간 채널 코딩을 위해 TD 또는 FD BWE 코딩 모드를 사용하여 인코딩될 수도 있고, 고-대역은 사이드 채널 코딩을 위해 TD 또는 FD 블라인드 BWE 코딩 모드를 사용하여 인코딩될 수도 있다.
도 21 을 다시 참조하면, 차이 (2057) 의 절대 값이 제 2 임계 (1904) 보다 작지 않으면, 2157 에서, 코딩 모드 선택기 (1910) 는 제 1 HB 코딩 모드 (1912) 로서 BWE 코딩 모드를 선택하고, 제 1 LB 코딩 모드 (1913) 로서 ACELP 코딩 모드를 선택하고, 제 2 HB 코딩 모드 (1914) 로서 블라인드 BWE 코딩 모드를 선택하며, 제 2 LB 코딩 모드 (1915) 로서 ACELP 코딩 모드를 선택할 수도 있다. 이 시나리오에 따른 코딩의 예시적 구현은 도 22 에서 코딩 스킴 (2204) 으로서 도시된다. 코딩 스킴 (2204) 에 따르면, 고-대역은 중간 채널 코딩을 위해 TD 또는 FD BWE 코딩 모드를 사용하여 인코딩될 수도 있고, 고-대역은 사이드 채널 코딩을 위해 TD 또는 FD 블라인드 BWE 코딩 모드를 사용하여 인코딩될 수도 있다.
따라서, 방법 (2100) 에 따르면, 코딩 스킴 (2202) 은 사이드 채널 코딩에 대해 더 큰 수의 비트들을 할당할 수도 있고, 코딩 스킴 (2204) 은 사이드 채널 코딩에 대해 더 작은 수의 비트들을 할당할 수도 있으며, 코딩 스킴 (2206) 은 사이드 채널 코딩에 대해 더욱 더 작은 수의 비트들을 할당할 수도 있다. 신호들 (130, 132) 이 잡음-형 신호들이면, 코딩 모드 선택기 (1910) 는 코딩 스킴 (2208) 에 따라 신호들 (130, 132) 을 인코딩할 수도 있다. 예를 들어, 사이드 채널은 잔차 또는 예측 코딩을 사용하여 인코딩될 수도 있다. 고-대역 및 저-대역 사이드 채널은 변환 도메인 (예를 들어, 이산 푸리에 변환 (DFT) 또는 수정된 이산 코사인 변환 (MDCT) 코딩) 을 사용하여 인코딩될 수도 있다. 신호들 (130, 132) 이 감소된 잡음 (예를 들어, 음악-형 신호들) 을 가지면, 코딩 모드 선택기 (1910) 는 코딩 스킴 (2210) 에 따라 신호들 (130, 132) 을 인코딩할 수도 있다. 코딩 스킴 (2210) 은 코딩 스킴 (2208) 과 유사할 수도 있지만, 코딩 스킴 (2210) 에 따른 중간 채널 코딩은 변환 코딩된 여기 (TCX) 코딩을 포함한다.
도 21 의 방법 (2100) 은 코딩 모드 선택기 (1910) 가 최종 시프트 값 (116) 과 보정된 시프트 값 (540) 간의 차이에 기초하여 중간 채널 및 사이드 채널에 대한 코딩 모드들을 변경하게 할 수도 있다.
도 23 을 참조하면, 제 1 디바이스 (104) 의 인코더 (114) 의 예시적 예가 도시된다. 인코더 (114) 는 시프트 추정기 (2304) 를 통해, 인터-프레임 시프트 변동 분석기 (2306) 에, 레퍼런스 신호 지정기 (2309) 에, 또는 양자 모두에 커플링된 신호 사전-프로세서 (2302) 를 포함한다. 신호 사전-프로세서 (2302) 는 오디오 신호들 (2328)(예를 들어, 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132)) 을 수신하고, 오디오 신호들 (2328) 을 프로세싱하여 제 1 리샘플링된 신호 (2330) 및 제 2 리샘플링된 신호 (2332) 를 생성하도록 구성될 수도 있다. 예를 들어, 신호 사전-프로세서 (2302) 는 오디오 신호들 (2328) 을 다운샘플링 또는 리샘플링하여 리샘플링된 신호들 (2330, 2332) 을 생성하도록 구성될 수도 있다. 시프트 추정기 (2304) 는 리샘플링된 신호들 (2330, 2332) 의 비교(들)에 기초하여 시프트 값들을 결정하도록 구성될 수도 있다. 인터-프레임 시프트 변동 분석기 (2306) 는 레퍼런스 신호들 및 타겟 신호들로서 오디오 신호들을 식별하도록 구성될 수도 있다. 인터-프레임 시프트 변동 분석기 (2306) 는 또한, 2 개의 시프트 값들 간의 차이를 결정하도록 구성될 수도 있다. 레퍼런스 신호 지정기 (2309) 는 하나의 오디오 신호를 레퍼런스 신호 (예를 들어, 시간-시프트되지 않는 신호) 로서 선택하고 다른 오디오 신호를 타겟 신호 (예를 들어, 레퍼런스 신호와 신호를 시간적으로 정렬하도록 레퍼런스 신호에 대해 시간-시프트되는 신호) 로서 선택하도록 구성될 수도 있다.
인터-프레임 시프트 변동 분석기 (2306) 는, 타겟 신호 조정기 (2308) 를 통해 이득 파라미터 생성기 (2315) 에 커플링될 수도 있다. 타겟 신호 조정기 (2308) 는 시프트 값들 간의 차이에 기초하여 타겟 신호를 조정하도록 구성될 수도 있다. 예를 들어, 타겟 신호 조정기 (2308) 는 타겟 신호의 조정된 샘플들을 생성하는데 사용되는 추정된 샘플들을 생성하기 위해 샘플들의 서브세트 상에 보간을 수행하도록 구성될 수도 있다. 이득 파라미터 생성기 (2315) 는 타겟 신호의 전력 레벨에 대한 레퍼런스 신호의 전력 레벨을 "정규화"(예를 들어, 등화) 하는 레퍼런스 신호의 이득 파라미터를 결정하도록 구성될 수도 있다. 대안으로, 이득 파라미터 생성기 (2315) 는 레퍼런스 신호의 전력 레벨에 대한 타겟 신호의 전력 레벨을 정규화 (예를 들어, 등화) 하는 타겟 신호의 이득 파라미터를 결정하도록 구성될 수도 있다.
레퍼런스 신호 지정기 (2309) 는 인터-프레임 시프트 변동 분석기 (2306) 에, 이득 파라미터 생성기 (2315) 에, 또는 양자 모두에 커플링될 수도 있다. 타겟 신호 조정기 (2308) 는 중간사이드 생성기 (2310) 에, 이득 파라미터 생성기 (2315) 에, 또는 양자 모두에 커플링될 수도 있다. 이득 파라미터 생성기 (2315) 는 중간사이드 생성기 (2310) 에 커플링될 수도 있다. 중간사이드 생성기 (2310) 는 레퍼런스 신호 및 조정된 타겟 신호 상에 인코딩을 수행하여 적어도 하나의 인코딩된 신호를 생성하도록 구성될 수도 있다. 예를 들어, 중간사이드 생성기 (2310) 는 스테레오 인코딩을 수행하여 중간 채널 신호 (2370) 및 사이드 채널 신호 (2372) 를 생성하도록 구성될 수도 있다.
중간사이드 생성기 (2310) 는 대역폭 확장 (BWE) 공간적 밸런서 (2312), 중간 BWE 코더 (2314), 저 대역 (LB) 신호 재생성기 (2316), 또는 이들의 조합에 커플링될 수도 있다. LB 신호 재생성기 (2316) 는 LB 사이드 코어 코더 (2318), LB 중간 코어 코더 (2320), 또는 양자 모두에 커플링될 수도 있다. 중간 BWE 코더 (2314) 는 BWE 공간적 밸런서 (2312), LB 중간 코어 코더 (2320), 또는 양자 모두에 커플링될 수도 있다. BWE 공간적 밸런서 (2312), 중간 BWE 코더 (2314), LB 신호 재성성기 (2316), LB 사이드 코어 코더 (2318), 및 LB 중간 코어 코더 (2320) 는 대역폭 확장 및 추가적인 코딩, 예컨대 저 대역 코딩 및 중간 대역 코딩을 중간 채널 신호 (2370), 사이드 채널 신호 (2372), 또는 양자 모두 상에서 수행하도록 구성될 수도 있다. 대역폭 확장 및 추가적인 코딩을 수행하는 것은 추가적인 신호 인코딩을 수행하는 것, 파라미터들을 생성하는 것, 또는 양자 모두를 포함할 수도 있다.
동작 동안, 신호 사전-프로세서 (2302) 는 오디오 신호 (2328) 를 수신할 수도 있다. 오디오 신호들 (2328) 은 제 1 오디오 신호 (130), 제 2 오디오 신호 (132), 또는 양자 모두를 포함할 수도 있다. 특정 구현에서, 오디오 신호들 (2328) 은 좌측 채널 신호 및 우측 채널 신호를 포함할 수도 있다. 다른 구현들에서, 오디오 신호들 (2328) 은 다른 신호들을 포함할 수도 있다. 신호 사전-프로세서 (2302) 는 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 를 다운샘플링 (또는 리샘플링) 하여 리샘플링된 신호들 (2330, 2332)(예를 들어, 다운샘플링된 제 1 오디오 신호 (130) 및 다운샘플링된 제 2 오디오 신호 (132)) 을 생성할 수도 있다.
시프트 추정기 (2304) 는 리샘플링된 신호들 (2330, 2332) 에 기초하여 시프트 값들을 생성할 수도 있다. 특정 구현에서, 시프트 추정기 (2304) 는 절대 값 연산의 수행 후에 비인과적 시프트 값 (NC_SHIFT_INDX) (2361) 을 생성할 수도 있다. 특정 구현에서, 시프트 추정기 (2304) 는 다음 시프트 값이 현재 시프트 값과 상이한 부호 (예를 들어, 포지티브 또는 네거티브) 를 갖는 것을 방지할 수도 있다. 예를 들어, 제 1 프레임에 대한 시프트 값이 네거티브이고 제 2 프레임에 대한 시프트 값이 포지티브인 것으로 결정되는 경우, 시프트 추정기 (2304) 는 제 2 프레임에 대한 시프트 값을 0 이도록 설정할 수도 있다. 다른 예로서, 제 1 프레임에 대한 시프트 값이 포지티브이고 제 2 프레임에 대한 시프트 값이 네거티브인 것으로 결정되는 경우, 시프트 추정기 (2304) 는 제 2 프레임에 대한 시프트 값을 0 이도록 설정할 수도 있다. 따라서, 이 구현에서, 현재 프레임에 대한 시프트 값은 이전 프레임에 대한 시프트 값과 동일한 부호 (예를 들어, 포지티브 또는 네거티브) 를 갖고, 또는 현재 프레임에 대한 시프트 값은 0 이다.
레퍼런스 신호 지정기 (2309) 는 제 3 프레임 및 제 4 프레임에 대응하는 기간 동안 레퍼런스 신호로서 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 중 하나를 선택할 수도 있다. 레퍼런스 신호 지정기 (2309) 는 시프트 추정기 (2304) 로부터의 최종 시프트 값 (116) 에 기초하여 레퍼런스 신호를 결정할 수도 있다. 예를 들어, 최종 시프트 값 (116) 이 네거티브인 경우, 레퍼런스 신호 지정기 (2309) 는 제 2 오디오 신호 (132) 를 레퍼런스 신호로서 그리고 제 1 오디오 신호 (130) 를 타겟 신호로서 식별할 수도 있다. 최종 시프트 값 (116) 이 포지티브 또는 0 인 경우, 레퍼런스 신호 지정기 (2309) 는 제 2 오디오 신호 (132) 를 타겟 신호로서 그리고 제 1 오디오 신호 (130) 를 레퍼런스 신호로서 식별할 수도 있다. 레퍼런스 신호 지정기 (2309) 는 레퍼런스 신호를 나타내는 값을 갖는 레퍼런스 신호 표시자 (2365) 를 생성할 수도 있다. 예를 들어, 레퍼런스 신호 표시자 (2365) 는, 제 1 오디오 신호 (130) 가 레퍼런스 신호로서 식별되는 경우 제 1 값 (예를 들어, 논리 0 값) 을 가질 수도 있고, 레퍼런스 신호 표시자 (2365) 는 제 2 오디오 신호 (132) 가 레퍼런스 신호로서 식별되는 경우 제 2 값 (예를 들어, 논리 1 값) 을 가질 수도 있다. 레퍼런스 신호 지정기 (2309) 는 레퍼런스 신호 표시자 (2365) 를 인터-프레임 시프트 변동 분석기 (2306) 에, 그리고 이득 파라미터 생성기 (2315) 에 제공할 수도 있다.
인터-프레임 시프트 변동 분석기 (2306) 는 최종 시프트 값 (116), 제 1 시프트 값 (2363), 타겟 신호 (2342), 레퍼런스 신호 (2340), 및 레퍼런스 신호 표시자 (2365) 에 기초하여 타겟 신호 표시자 (2364) 를 생성할 수도 있다. 타겟 신호 표시자 (2364) 는 조정된 타겟 채널을 나타낸다. 예를 들어, 타겟 신호 표시자 (2364) 의 제 1 값 (예를 들어, 논리 0 값) 은, 제 1 오디오 신호 (130) 가 조정된 타겟 채널이라는 것을 나타낼 수도 있고, 타겟 신호 표시자 (2364) 의 제 2 값 (예를 들어, 논리 1 값) 은 제 2 오디오 신호 (132) 가 조정된 타겟 채널이라는 것을 나타낼 수도 있다. 인터-프레임 시프트 변동 분석기 (2306) 는 타겟 신호 표시자 (2364) 를 타겟 신호 조정기 (2308) 에 제공할 수도 있다.
타겟 신호 조정기 (2308) 는 조정된 타겟 신호에 대응하는 샘플들을 조정하여 조정된 샘플들 조정된 타겟 신호 (2352) 를 생성할 수도 있다. 타겟 신호 조정기 (2308) 는 조정된 타겟 신호 (2352) 를 이득 파라미터 생성기 (2315) 및 중간사이드 생성기 (2310) 에 제공할 수도 있다. 이득 파라미터 생성기 (2315) 는 레퍼런스 신호 표시자 (2365) 및 조정된 타겟 신호 (2352) 에 기초하여 이득 파라미터 (261) 를 생성할 수도 있다. 이득 파라미터 (261) 는 레퍼런스 신호의 전력 레벨에 대한 타겟 신호의 전력 레벨을 정규화 (예를 들어, 등화) 할 수도 있다. 대안으로, 이득 파라미터 생성기 (2315) 는 레퍼런스 신호 (또는 이들의 샘플들) 를 수신하고, 타겟 신호의 전력 레벨에 대한 레퍼런스 신호의 전력 레벨을 정규화하는 이득 파라미터 (261) 를 결정할 수도 있다. 이득 파라미터 생성기 (2315) 는 이득 파라미터 (261) 를 중간사이드 생성기 (2310) 에 제공할 수도 있다.
중간사이드 생성기 (2310) 는 조정된 타겟 신호 (2352), 레퍼런스 신호 (2340), 및 이득 파라미터 (261) 에 기초하여 중간 채널 신호 (2370), 사이드 채널 신호 (2372), 또는 양자 모두를 생성할 수도 있다. 중간사이드 생성기 (2310) 는 사이드 채널 신호 (2372) 를 BWE 공간적 밸런서 (2312) 에, LB 신호 재생성기 (2316) 에, 또는 양자 모두에 제공할 수도 있다. 중간사이드 생성기 (2310) 는 중간 채널 신호 (2370) 를 중간 BWE 코더 (2314), LB 신호 재생성기 (2316), 또는 양자 모두에 제공할 수도 있다. LB 신호 재생성기 (2316) 는 중간 채널 신호 (2370) 에 기초하여 LB 중간 신호 (2360) 를 생성할 수도 있다. 예를 들어, LB 신호 재생성기 (2316) 는 중간 채널 신호 (2370) 를 필터링함으로써 LB 중간 신호 (2360) 를 생성할 수도 있다. LB 신호 재생성기 (2316) 는 LB 중간 신호 (2360) 를 LB 중간 코어 코더 (2320) 에 제공할 수도 있다. LB 중간 코어 코더 (2320) 는 LB 중간 신호 (2360) 에 기초하여 파라미터들 (예를 들어, 코어 파라미터들 (2371), 파라미터들 (2375), 또는 양자 모두) 을 생성할 수도 있다. 코어 파라미터들 (2371), 파라미터들 (2375), 또는 양자 모두는 여기 파라미터, 보이싱 파라미터 등을 포함할 수도 있다. LB 중간 코어 코더 (2320) 는 코어 파라미터들 (2371) 을 중간 BWE 코더 (2314) 에 제공하거나, 파라미터들 (2375) 을 LB 사이드 코어 코더 (2318) 에 제공하거나, 또는 양자 모두일 수도 있다. 코어 파라미터들 (2371) 은 파라미터들 (2375) 과 동일하거나 다를 수도 있다. 예를 들어, 코어 파라미터들 (2371) 은 파라미터들 (2375) 중 하나 이상을 포함할 수도 있거나, 파라미터들 (2375) 중 하나 이상을 배제할 수도 있고, 하나 이상의 추가의 파라미터들을 포함할 수도 있거나, 또는 이들의 조합일 수도 있다. 중간 BWE 코더 (2314) 는 중간 채널 신호 (2370), 코어 파라미터들 (2371), 또는 이들의 조합에 기초하여 코딩된 중간 BWE 신호 (2373) 를 생성할 수도 있다. 중간 BWE 코더 (2314) 는 또한, 중간 채널 신호 (2370), 코어 파라미터들 (2371), 또는 이들의 조합에 기초하여 제 1 이득 파라미터들의 세트 (2394) 및 LPC 파라미터들 (2392) 을 생성할 수도 있다. 중간 BWE 코더 (2314) 는 코딩된 중간 BWE 신호 (2373) 를 BWE 공간적 밸런서 (2312) 에 제공할 수도 있다. BWE 공간적 밸런서 (2312) 는 코딩된 중간 BWE 신호 (2373), 좌측 HB 신호 (2396)(예를 들어, 좌측 채널 신호의 고-대역 부분), 우측 HB 신호 (2398)(예를 들어, 우측 채널 신호의 고-대역 부분), 또는 이들의 조합에 기초하여 파라미터들 (예를 들어, 하나 이상의 이득 파라미터들, 스펙트럼 조정 파라미터들, 다른 파라미터들, 또는 이들의 조합) 을 생성할 수도 있다.
LB 신호 재생성기 (2316) 는 사이드 채널 신호 (2372) 에 기초하여 LB 사이드 신호 (2362) 를 생성할 수도 있다. 예를 들어, LB 신호 재생성기 (2316) 는 사이드 채널 신호 (2342) 를 필터링함으로써 LB 사이드 신호 (2362) 를 생성할 수도 있다. LB 신호 재생성기 (2316) 는 LB 사이드 신호 (2362) 를 LB 사이드 코어 코더 (2318) 에 제공할 수도 있다.
따라서, 도 23 의 시스템 (2300) 은 조정된 타겟 채널에 기초하는 인코딩된 신호들 (예를 들어, LB 사이드 코어 코더 (2318), LB 중간 코어 코더 (2320), 중간 BWE 코더 (2314), BWE 공간적 밸런서 (2312), 또는 이들의 조합에서 생성된 출력 신호들) 을 생성한다. 시프트 값들 간의 차이에 기초하여 타겟 채널을 조정하는 것은 인터-프레임 불연속성들을 보상 (또는 은닉) 할 수도 있고, 이것은 인코딩된 신호들의 플레이백 동안 클릭들 또는 다른 오디오 사운드들을 감소시킬 수도 있다.
도 24 를 참조하면, 다이어그램 (2400) 은 본원에 설명된 기법들에 따른 상이한 인코딩된 신호들을 예시한다. 예를 들어, 인코딩된 HB 중간 신호 (2102), 인코딩된 LB 중간 신호 (2104), 인코딩된 HB 사이드 신호 (2108), 및 인코딩된 LB 사이드 신호 (2110) 가 도시된다.
인코딩된 HB 중간 신호 (2102) 는 LPC 파라미터들 (2392) 및 제 1 이득 파라미터들의 세트 (2394) 를 포함한다. LPC 파라미터들 (2392) 은 고-대역 라인 스펙트럼 주파수 (LSF) 인덱스를 나타낼 수도 있다. 제 1 이득 파라미터들의 세트 (2394) 는 이득 프레임 인덱스, 이득 형상들 인덱스, 또는 양자 모두를 나타낼 수도 있다. 인코딩된 HB 사이드 신호 (2108) 는 LPC 파라미터들 (2492) 및 이득 파라미터들의 세트 (2494) 를 포함한다. LPC 파라미터들 (2492) 은 고-대역 LSF 인덱스를 나타낼 수도 있다. 이득 파라미터들의 세트 (2494) 는 이득 프레임 인덱스, 이득 형상들 인덱스, 또는 양자 모두를 나타낼 수도 있다. 인코딩된 LB 중간 신호 (2104) 는 코어 파라미터들 (2371) 을 포함할 수도 있고, 인코딩된 LB 사이드 신호 (2110) 는 코어 파라미터들 (2471) 을 포함할 수도 있다.
도 25 를 참조하면, 본원에 개시된 기법들에 따른 신호를 인코딩하기 위한 시스템 (2500) 이 도시된다. 시스템 (2500) 은 다운-믹서 (2502), 사전-프로세서 (2504), 중간-코더 (2506), 제 1 HB 중간-코더 (2508), 제 2 HB 중간-코더 (2509), 사이드-코더 (2510), 및 HB 사이드-코더 (2512) 를 포함한다.
오디오 신호 (2528) 는 다운-믹서 (2502) 에 제공될 수도 있다. 일 구현에 따르면, 오디오 신호 (2528) 는 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132) 를 포함할 수도 있다. 다운-믹서 (2502) 는 다운-믹스 동작을 수행하여 중간 채널 신호 (2370) 및 사이드 채널 신호 (2372) 를 생성할 수도 있다. 중간 채널 신호 (2370) 는 사전-프로세서 (2504) 에 제공될 수도 있고, 사이드 채널 신호 (2372) 는 사이드-코더 (2510) 에 제공될 수도 있다.
사전-프로세서 (2504) 는 중간 채널 신호 (2370) 에 기초하여 사전-프로세싱 파라미터들 (2570) 을 생성할 수도 있다. 사전-프로세싱 파라미터들 (2570) 은 제 1 수의 비트들 (1916), 제 2 수의 비트들 (1918), 제 1 HB 코딩 모드 (1912), 제 1 LB 코딩 모드 (1913), 제 2 HB 코딩 모드 (1914), 및 제 2 LB 코딩 모드 (1915) 를 포함할 수도 있다. 중간 채널 신호 (2370) 및 사전-프로세싱 파라미터들 (2570) 은 중간-코더 (2506) 에 제공될 수도 있다. 코딩 모드에 기초하여, 중간-코더 (2506) 는 제 1 HB 중간-코더 (2508) 에 또는 제 2 HB 중간-코더 (2509) 에 선택적으로 커플링할 수도 있다. 사이드-코더 (2510) 는 HB 사이드-코더 (2512) 에 커플링할 수도 있다.
도 26 을 참조하면, 통신을 위한 방법 (2600) 의 플로우차트가 도시된다. 방법 (2600) 은 도 1 및 도 19 의 제 1 디바이스 (104) 에 의해 수행될 수도 있다.
방법 (2600) 은, 2602 에서, 디바이스에서, 시프트 값 및 제 2 시프트 값을 결정하는 단계를 포함한다. 시프트 값은 제 2 오디오 신호에 대한 제 1 오디오 신호의 시프트를 나타낼 수도 있고, 제 2 시프트 값은 시프트 값에 기초할 수도 있다. 예를 들어, 도 19 를 참조하면, 인코더 (114)(또는 제 1 디바이스 (104) 에서 다른 프로세서) 는 도 5 에 대하여 설명된 기법들에 따라 최종 시프트 값 (116) 및 보정된 시프트 값 (540) 을 결정할 수도 있다. 방법 (2600) 에 대하여, 보정된 시프트 값 (540) 은 또한, "시프트 값" 으로서 지칭될 수도 있고, 최종 시프트 값 (116) 은 또한, "제 2 시프트 값" 으로서 지칭될 수도 있다. 보정된 시프트 값은 제 2 마이크로폰 (148) 에 의해 캡처된 제 2 오디오 신호 (132) 에 대한 제 1 마이크로폰 (146) 에 의해 캡처된 제 1 오디오 신호 (130) 의 시프트 (예를 들어, 시간 시프트) 를 나타낼 수도 있다. 도 5 에 대하여 설명된 바와 같이, 최종 시프트 값 (116) 은 보정된 시프트 값 (540) 에 기초할 수도 있다.
방법 (2600) 은 또한, 2604 에서, 디바이스에서, 제 2 시프트 값 및 시프트 값에 기초하여 비트 할당을 결정하는 단계를 포함한다. 예를 들어, 도 19 를 참조하면, 비트 할당기 (1908) 는 최종 시프트 값 (116) 및 보정된 시프트 값 (540) 에 기초하여 비트 할당을 결정할 수도 있다. 예를 들어, 비트 할당기 (1908) 는 최종 시프트 값 (116) 및 보정된 시프트 값 (540) 간의 차이를 결정할 수도 있다. 최종 시프트 값 (116) 이 보정된 시프트 값 (540) 과 상이하면, 최종 시프트 값 (116) 및 보정된 시프트 값 (540) 이 유사한 시나리오와 비교하여 추가적인 비트들이 사이드 신호 코딩에 할당될 수도 있다. 사이드 신호 코딩에 추가적인 비트들을 할당한 후에, 이용 가능한 비트들의 나머지는 중간 신호 코딩에 그리고 사이드 파라미터들에 할당될 수도 있다. 유사한 최종 시프트 값 (116) 및 보정된 시프트 값 (540) 을 갖는 것은 연속적인 프레임들에서 부호 반전들의 가능성을 실질적으로 감소시키거나, 오디오 신호들 (130, 132) 간의 시프트에서 큰 점프의 발생을 실질적으로 감소시키거나, 및/또는 프레임에서 프레임으로 타겟 신호를 시간적으로 천천히-시프트할 수도 있다.
방법 (2600) 은 또한, 2606 에서, 디바이스에서, 비트 할당에 기초하여 적어도 하나의 인코딩된 신호를 생성하는 단계를 포함한다. 적어도 하나의 인코딩된 신호는 제 1 오디오 신호의 제 1 샘플들 및 제 2 오디오 신호의 제 2 샘플들에 기초할 수도 있다. 제 2 샘플들은 제 2 시프트 값에 기초하는 양만큼 제 1 샘플들에 대하여 시간-시프트될 수도 있다. 예를 들어, 도 19 를 참조하면, 인코더 (114) 는 비트 할당에 기초하여 적어도 하나의 인코딩된 신호 (예를 들어, 인코딩된 신호들 (102)) 를 생성할 수도 있다. 인코딩된 신호들 (102) 은 제 1 인코딩된 신호 및 제 2 인코딩된 신호를 포함할 수도 있다. 일 구현에 따르면, 제 1 인코딩된 신호는 중간 신호에 대응할 수도 있고, 제 2 인코딩된 신호는 사이드 신호에 대응할 수도 있다. 인코딩된 신호들 (102) 은 제 1 오디오 신호의 제 1 샘플들 및 제 2 오디오 신호의 제 2 샘플들에 기초할 수도 있다. 제 2 샘플들은 최종 시프트 값 (116)(예를 들어, 제 2 시프트 값) 에 기초하는 양만큼 제 1 샘플들에 대하여 시간-시프트될 수도 있다.
방법 (2600) 은 또한, 2608 에서, 적어도 하나의 인코딩된 신호를 제 2 디바이스로 전송하는 단계를 포함한다. 예를 들어, 도 19 를 참조하면, 송신기 (110) 는 인코딩된 신호들 (102) 을 네트워크 (120) 를 통해 제 2 디바이스 (106) 로 송신할 수도 있다. 인코딩된 신호 (102) 를 수신 시에, 제 2 디바이스 (106) 는 제 1 라우드스피커 (142) 에서 제 1 출력 신호 (126) 를 출력하고 제 2 라우드스피커 (144) 에서 제 2 출력 신호 (128) 를 출력하도록 도 1 에 대하여 설명된 바와 실질적으로 유사한 방식으로 동작할 수도 있다.
일 구현에 따르면, 방법 (2600) 은 시프트 값과 제 2 시프트 값 간의 차이가 임계를 충족시킨다는 것에 응답하여 비트 할당이 제 1 값을 갖는다고 결정하는 단계를 포함한다. 적어도 하나의 인코딩된 신호는 제 1 인코딩된 신호 및 제 2 인코딩된 신호를 포함할 수도 있다. 제 1 인코딩된 신호는 중간 신호에 대응할 수도 있고, 제 2 인코딩된 신호는 사이드 신호에 대응할 수도 있다. 비트 할당은, 제 1 수의 비트들이 제 1 인코딩된 신호에 할당된다는 것 및 제 2 수의 비트들이 제 2 인코딩된 신호에 할당된다는 것을 나타낼 수도 있다. 방법 (2600) 은 또한, 시프트 값과 제 2 시프트 값 간의 차이가 제 1 임계를 충족시킨다는 것에 응답하여 제 1 수의 비트들을 감소시키고 제 2 수의 비트들을 증가시키는 단계를 포함할 수도 있다.
일 구현에 따르면, 방법 (2600) 은 제 1 오디오 신호 및 제 2 오디오 신호의 합에 기초하여 중간 신호를 생성하는 단계를 포함할 수도 있다. 방법 (2600) 은 또한, 제 1 오디오 신호와 제 2 오디오 신호 간의 차이에 기초하여 사이드 신호를 생성하는 단계를 포함할 수도 있다. 방법 (2600) 의 일 구현에 따르면, 제 1 인코딩된 신호는 저-대역 중간 신호를 포함하고 제 2 인코딩된 신호는 저-대역 사이드 신호를 포함한다. 방법 (2600) 의 다른 구현에 따르면, 제 1 인코딩된 신호는 고-대역 중간 신호를 포함하고 제 2 인코딩된 신호는 고-대역 사이드 신호를 포함한다.
일 구현에 따르면, 방법 (2600) 은 시프트 값 및 제 2 시프트 값에 기초하여 코딩 모드를 결정하는 단계를 포함한다. 적어도 하나의 인코딩된 신호는 코딩 모드에 기초할 수도 있다. 방법 (2600) 은 또한, 시프트 값과 제 2 시프트 값 간의 차이가 임계를 충족시킨다는 것에 응답하여 제 1 코딩 모드에 기초하여 제 1 인코딩된 신호를 생성하고 제 2 모드에 기초하여 제 2 인코딩된 신호를 생성하는 단계를 포함할 수도 있다. 적어도 하나의 인코딩된 신호는 제 1 인코딩된 신호 및 제 2 인코딩된 신호를 포함할 수도 있다. 일 구현에 따르면, 제 1 인코딩된 신호는 저-대역 중간 신호를 포함할 수도 있고, 제 2 인코딩된 신호는 저-대역 사이드 신호를 포함할 수도 있다. 제 1 코딩 모드 및 제 2 코딩 모드는 ACELP 코딩 모드를 포함할 수도 있다. 다른 구현에 따르면, 제 1 인코딩된 신호는 고-대역 중간 신호를 포함할 수도 있고, 제 2 인코딩된 신호는 고-대역 사이드 신호를 포함할 수도 있다. 제 1 코딩 모드 및 제 2 코딩 모드는 BWE 코드 모드를 포함할 수도 있다.
일 구현에 따르면, 방법 (2600) 은 ACELP 코딩 모드에 기초하여 인코딩된 저-대역 중간 신호를 생성하고 예측 ACELP 코딩 모드에 기초하여 인코딩된 저-대역 사이드 신호를 생성하는 단계를 포함한다. 적어도 하나의 인코딩된 신호는 인코딩된 저-대역 중간 신호 및 인코딩된 저-대역 사이드 신호에 대응하는 하나 이상의 파라미터들을 포함할 수도 있다.
일 구현에 따르면, 방법 (2600) 은 시프트 값과 제 2 시프트 값 간의 차이가 임계를 충족시키지 못한다는 것에 응답하여 BWE 코딩 모드에 기초하여 인코딩된 고-대역 중간 신호를 생성하는 단계를 포함한다. 방법 (2600) 은 또한, 차이가 임계를 충족시키지 못한다는 것에 응답하여 블라인드 BWE 코딩 모드에 기초하여 인코딩된 고-대역 사이드 신호를 생성하는 단계를 포함할 수도 있다. 적어도 하나의 인코딩된 신호는 인코딩된 고-대역 중간 신호 및 인코딩된 고-대역 사이드 신호에 대응하는 하나 이상의 파라미터들을 포함할 수도 있다.
도 6 의 방법 (2600) 은, 최종 시프트 값 (116) 이 보정된 시프트 값 (540) 과 상이한 경우 인코더 (114) 가 사이드 채널 코딩에 할당된 비트들의 수를 조정 (예를 들어, 증가) 하게 할 수도 있다. 예를 들어, 최종 시프트 값 (116) 은, 연속적인 프레임들에서 부호 반전을 회피하거나, 큰 시프트 점프들을 회피하거나 및/또는 레퍼런스 신호와 정렬시키기 위해 프레임간에 타겟 신호를 시간적으로 천천히-시프트하도록 보정된 시프트 값 (540) 과는 상이한 값으로 (도 5 의 시프트 변화 분석기 (512) 에 의해) 제한될 수도 있다. 이들 시나리오들에서, 인코더 (114) 는 사이드 채널 코딩에 할당된 비트들의 수를 증가시켜 아티팩트들을 감소시킬 수도 있다.
도 27 을 참조하면, 통신을 위한 방법 (2700) 의 플로우차트가 도시된다. 방법 (2700) 은 도 1 및 도 19 의 제 1 디바이스 (104) 에 의해 수행될 수도 있다.
방법 (2700) 은, 2702 에서, 디바이스에서, 시프트 값 및 제 2 시프트 값을 결정하는 단계를 포함할 수도 있다. 시프트 값은 제 2 오디오 신호에 대한 제 1 오디오 신호의 시프트를 나타낼 수도 있고, 제 2 시프트 값은 시프트 값에 기초할 수도 있다. 예를 들어, 도 19 를 참조하면, 인코더 (114)(또는 제 1 디바이스 (104) 에서 다른 프로세서) 는 도 5 에 대하여 설명된 기법들에 따라 최종 시프트 값 (116) 및 보정된 시프트 값 (540) 을 결정할 수도 있다. 방법 (2700) 에 대하여, 보정된 시프트 값 (540) 은 또한, "시프트 값" 으로서 지칭될 수도 있고, 최종 시프트 값 (116) 은 또한, "제 2 시프트 값" 으로서 지칭될 수도 있다. 보정된 시프트 값은 제 2 마이크로폰 (148) 에 의해 캡처된 제 2 오디오 신호 (132) 에 대한 제 1 마이크로폰 (146) 에 의해 캡처된 제 1 오디오 신호 (130) 의 시프트 (예를 들어, 시간 시프트) 를 나타낼 수도 있다. 도 5 에 대하여 설명된 바와 같이, 최종 시프트 값 (116) 은 보정된 시프트 값 (540) 에 기초할 수도 있다.
방법 (2700) 은 또한, 2704 에서, 디바이스에서, 제 2 시프트 값 및 시프트 값에 기초하여 코딩 모드를 결정하는 단계를 포함할 수도 있다. 방법 (2700) 은 또한, 2706 에서, 디바이스에서, 코딩 모드에 기초하여 적어도 하나의 인코딩된 신호를 생성하는 단계를 포함할 수도 있다. 적어도 하나의 인코딩된 신호는 제 1 오디오 신호의 제 1 샘플들 및 제 2 오디오 신호의 제 2 샘플들에 기초할 수도 있다. 제 2 샘플들은 제 2 시프트 값에 기초하는 양만큼 제 1 샘플들에 대하여 시간-시프트될 수도 있다. 예를 들어, 도 19 를 참조하면, 인코더 (114) 는 코딩 모드에 기초하여 적어도 하나의 인코딩된 신호 (예를 들어, 인코딩된 신호들 (102)) 를 생성할 수도 있다. 인코딩된 신호들 (102) 은 제 1 인코딩된 신호 및 제 2 인코딩된 신호를 포함할 수도 있다. 일 구현에 따르면, 제 1 인코딩된 신호는 중간 신호에 대응할 수도 있고, 제 2 인코딩된 신호는 사이드 신호에 대응할 수도 있다. 인코딩된 신호들 (102) 은 제 1 오디오 신호 (130) 의 제 1 샘플들 및 제 2 오디오 신호 (132) 의 제 2 샘플들에 기초할 수도 있다. 제 2 샘플들은 최종 시프트 값 (116)(예를 들어, 제 2 시프트 값) 에 기초하는 양만큼 제 1 샘플들에 대하여 시간-시프트될 수도 있다.
방법 (2700) 은 또한, 2708 에서, 적어도 하나의 인코딩된 신호를 제 2 디바이스로 전송하는 단계를 포함할 수도 있다. 예를 들어, 도 19 를 참조하면, 송신기 (110) 는 인코딩된 신호들 (102) 을 네트워크 (120) 를 통해 제 2 디바이스 (106) 로 송신할 수도 있다. 인코딩된 신호 (102) 를 수신 시에, 제 2 디바이스 (106) 는 제 1 라우드스피커 (142) 에서 제 1 출력 신호 (126) 를 출력하고 제 2 라우드스피커 (144) 에서 제 2 출력 신호 (128) 를 출력하도록 도 1 에 대하여 설명된 바와 실질적으로 유사한 방식으로 동작할 수도 있다.
방법 (2700) 은 또한, 시프트 값과 제 2 시프트 값 간의 차이가 임계를 충족시킨다는 것에 응답하여 제 1 코딩 모드에 기초하여 제 1 인코딩된 신호를 생성하고 제 2 코딩 모드에 기초하여 제 2 인코딩된 신호를 생성하는 단계를 포함할 수도 있다. 적어도 하나의 인코딩된 신호는 제 1 인코딩된 신호 및 제 2 인코딩된 신호를 포함할 수도 있다. 일 구현에 따르면, 제 1 인코딩된 신호는 저-대역 중간 신호를 포함할 수도 있고, 제 2 인코딩된 신호는 저-대역 사이드 신호를 포함할 수도 있다. 제 1 코딩 모드 및 제 2 코딩 모드는 ACELP 코딩 모드를 포함할 수도 있다. 다른 구현에 따르면, 제 1 인코딩된 신호는 고-대역 중간 신호를 포함할 수도 있고, 제 2 인코딩된 신호는 고-대역 사이드 신호를 포함할 수도 있다. 제 1 코딩 모드 및 제 2 코딩 모드는 BWE 코딩 모드를 포함할 수도 있다.
일 구현에 따르면, 방법 (2700) 은 또한, 시프트 값과 제 2 시프트 값 간의 차이가 임계를 충족시키지 못한다는 것에 응답하여 ACELP 코딩 모드에 기초하여 인코딩된 저-대역 중간 신호를 생성하고 예측 ACELP 코딩 모드에 기초하여 인코딩된 저-대역 사이드 신호를 생성하는 단계를 포함할 수도 있다. 적어도 하나의 인코딩된 신호는 인코딩된 저-대역 사이드 신호에 대응하는 하나 이상의 파라미터들 및 인코딩된 저-대역 중간 신호를 포함할 수도 있다.
다른 구현에 따르면, 방법 (2700) 은 또한, 시프트 값과 제 2 시프트 값 간의 차이가 임계를 충족시키지 못한다는 것에 응답하여 BWE 코딩 모드에 기초하여 인코딩된 고-대역 중간 신호를 생성하고 블라인드 BWE 코딩 모드에 기초하여 인코딩된 고-대역 사이드 신호를 생성하는 단계를 포함할 수도 있다. 적어도 하나의 인코딩된 신호는 인코딩된 고-대역 중간 신호 및 인코딩된 고-대역 사이드 신호에 대응하는 하나 이상의 파라미터들을 포함할 수도 있다.
일 구현에 따르면, 시프트 값과 제 2 시프트 값 간의 차이가 제 1 임계를 충족시키고 제 2 임계를 충족시키지 못한다는 것에 응답하여, 방법 (2700) 은 ACELP 코딩 모드에 기초하여 인코딩된 저-대역 중간 신호 및 인코딩된 저-대역 사이드 신호를 생성하는 단계를 포함할 수도 있다. 방법 (2700) 은 또한, BWE 코딩 모드에 기초하여 인코딩된 고-대역 신호를 생성하고 블라인드 BWE 코딩 모드에 기초하여 인코딩된 고-대역 사이드 신호를 생성하는 단계를 포함할 수도 있다. 적어도 하나의 인코딩된 신호는 인코딩된 고-대역 중간 신호, 인코딩된 저-대역 중간 신호, 인코딩된 저-대역 사이드 신호, 및 인코딩된 고-대역 사이드 신호에 대응하는 하나 이상의 파라미터들을 포함할 수도 있다.
일 구현에 따르면, 방법 (2700) 은 제 2 시프트 값 및 시프트 값에 기초하여 비트 할당을 결정하는 단계를 포함할 수도 있다. 적어도 하나의 인코딩된 신호를 비트 할당에 기초하여 생성될 수도 있다. 적어도 하나의 인코딩된 신호는 제 1 인코딩된 신호 및 제 2 인코딩된 신호를 포함할 수도 있다. 비트 할당은, 제 1 수의 비트들이 제 1 인코딩된 신호에 할당된다는 것 및 제 2 수의 비트들이 제 2 인코딩된 신호에 할당된다는 것을 나타낼 수도 있다. 방법 (2700) 은 또한, 시프트 값과 제 2 시프트 값 간의 차이가 제 1 임계를 충족시킨다는 것에 응답하여 제 1 수의 비트들을 감소시키고 제 2 수의 비트들을 증가시키는 단계를 포함할 수도 있다.
도 28 을 참조하면, 통신을 위한 방법 (2800) 의 플로우차트가 도시된다. 방법 (2800) 은 도 1 및 도 19 의 제 1 디바이스 (104) 에 의해 수행될 수도 있다.
방법 (2800) 은, 2802 에서, 디바이스에서, 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 1 양을 나타내는 제 1 불일치 값을 결정하는 단계를 포함한다. 예를 들어, 도 9 를 참조하면, 인코더 (114)(또는 제 1 디바이스 (104) 에서 다른 프로세서) 는 도 9 를 참조하여 설명된 바와 같이, 제 1 시프트 값 (962) 을 결정할 수도 있다. 방법 (2800) 에 대하여, 제 1 시프트 값 (962) 은 또한, "제 1 불일치 값" 으로서 지칭될 수도 있다. 제 1 시프트 값 (962) 은 도 9 를 참조하여 설명된 바와 같이, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 시간적 불일치의 제 1 양을 나타낼 수도 있다. 제 1 시프트 값 (962) 은 인코딩될 제 1 프레임과 연관될 수도 있다. 예를 들어, 인코딩될 제 1 프레임은 도 3 의 프레임 (302) 의 샘플들 (322-324) 및 제 2 오디오 신호 (132) 의 특정 샘플들을 포함할 수도 있다. 특정 샘플들은 도 1 을 참조하여 설명된 바와 같이, 제 1 시프트 값 (962) 에 기초하여 선택될 수도 있다.
방법 (2800) 은 또한, 2804 에서, 디바이스에서, 제 2 불일치 값을 결정하는 단계를 포함하고, 제 2 불일치 값은 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 2 양을 나타낸다. 예를 들어, 인코더 (114)(또는 제 1 디바이스 (104) 에서 다른 프로세서) 는 도 5 를 참조하여 설명된 바와 같이, 잠정적인 시프트 값 (536), 보간된 시프트 값 (538), 보정된 시프트 값 (540), 또는 이들의 조합을 결정할 수도 있다. 방법 (2800) 에 대하여, 잠정적인 시프트 값 (536), 보간된 시프트 값 (538), 또는 보정된 시프트 값 (540) 은 또한, "제 2 불일치 값" 으로서 지칭될 수도 있다. 잠정적인 시프트 값 (536), 보간된 시프트 값 (538), 또는 보정된 시프트 값 (540) 중 하나 이상은 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 간의 시간적 불일치의 제 2 양을 나타낼 수도 있다. 제 2 불일치 값은 인코딩될 제 2 프레임과 연관될 수도 있다. 예를 들어, 인코딩될 제 2 프레임은 도 4 를 참조하여 설명된 바와 같이, 제 1 오디오 신호 (130) 의 샘플들 (326-332) 및 제 2 오디오 신호 (132) 의 샘플들 (354-360) 을 포함할 수도 있다. 다른 예로서, 인코딩될 제 2 프레임은 도 3 을 참조하여 설명된 바와 같이, 제 1 오디오 신호 (130) 의 샘플들 (326-332) 및 제 2 오디오 신호 (132) 의 샘플들 (358-364) 을 포함할 수도 있다.
인코딩될 제 2 프레임은 인코딩될 제 1 프레임에 후속할 수도 있다. 예를 들어, 인코딩될 제 2 프레임과 연관된 적어도 일부 샘플들은 제 1 오디오 신호 (130) 의 제 1 샘플들 (320) 에서 또는 제 2 오디오 신호 (132) 의 제 2 샘플들 (350) 에서 인코딩될 제 1 프레임과 연관된 적어도 일부 샘플들에 후속할 수도 있다. 특정 양태에서, 인코딩될 제 2 프레임의 샘플들 (326-332) 은 제 1 오디오 신호 (130) 의 제 1 샘플들 (320) 에서 인코딩될 제 1 프레임의 샘플들 (322-324) 에 후속할 수도 있다. 예시하자면, 샘플들 (326-332) 각각은 샘플들 (322-324) 중 어느 하나와 연관된 시간스탬프에 의해 표시된 것 보다 더 늦은 시간을 나타내는 시간스탬프와 연관될 수도 있다. 일부 양태들에서, 인코딩될 제 2 프레임의 샘플들 (354-360)(또는 샘플들 (358-364)) 은 제 2 오디오 신호 (132) 의 제 2 샘플들 (350) 에서 인코딩될 제 1 프레임의 특정 샘플들에 후속할 수도 있다.
방법 (2800) 은, 2806 에서, 디바이스에서, 제 1 불일치 값 및 제 2 불일치 값에 기초하여 유효 불일치 값을 결정하는 단계를 더 포함한다. 예를 들어, 인코더 (114)(또는 제 1 디바이스 (104) 에서 다른 프로세서) 는 도 5 에 대하여 설명된 기법들에 따라 보정된 시프트 값 (540), 최종 시프트 값 (116), 또는 양자 모두를 결정할 수도 있다. 방법 (2800) 에 대하여, 보정된 시프트 값 (540) 또는 최종 시프트 값 (116) 은 또한, "유효 불일치 값" 으로서 지칭될 수도 있다. 인코더 (114) 는 제 1 시프트 값 (962) 또는 제 2 불일치 값 중 하나를 제 1 값으로서 식별할 수도 있다. 예를 들어, 인코더 (114) 는, 제 1 시프트 값 (962) 이 제 2 불일치 값 이하라는 결정에 응답하여, 제 1 시프트 값 (962) 을 제 1 값으로서 식별할 수도 있다. 인코더 (114) 는 제 1 시프트 값 (962) 또는 제 2 불일치 값 중 다른 하나를 제 2 값으로서 식별할 수도 있다.
인코더 (114)(또는 제 1 디바이스 (104) 에서 다른 프로세서) 는 제 1 값 이상이고 제 2 값 이하이도록 유효 불일치 값을 생성할 수도 있다. 예를 들어, 인코더 (114) 는, 도 10a 및 도 10b 를 참조하여 설명된 바와 같이, 제 1 시프트 값 (962) 이 0 보다 크고 보정된 시프트 값 (540) 이 0 미만이라는 또는 제 1 시프트 값 (962) 이 0 미만이고 보정된 시프트 값 (540) 이 0 보다 크다는 결정에 응답하여 시간 시프트가 없다는 것을 나타내는 특정 값 (예를 들어, 0) 과 동일하도록 최종 시프트 값 (116) 을 생성할 수도 있다. 이 예에서, 최종 시프트 값 (116) 은 "유효 불일치 값" 으로서 지칭될 수도 있고 보정된 시프트 값 (540) 은 "제 2 불일치 값" 으로서 지칭될 수도 있다.
다른 예로서, 인코더 (114) 는 도 10a 및 도 11 을 참조하여 설명된 바와 같이, 추정된 시프트 값 (1072) 과 동일하도록 최종 시프트 값 (116) 을 생성할 수도 있다. 추정된 시프트 값 (1072) 은 보정된 시프트 값 (540) 과 제 1 오프셋 간의 차이 이상이고, 제 1 시프트 값 (962) 과 제 1 오프셋의 합 이하일 수도 있다. 대안으로, 추정된 시프트 값 (1072) 은 도 11 을 참조하여 설명된 바와 같이, 제 1 시프트 값 (962) 과 제 2 오프셋 간의 차이 이상이고, 보정된 시프트 값 (540) 과 제 2 오프셋의 합 이하일 수도 있다. 이 예에서, 최종 시프트 값 (116) 은 "유효 불일치 값" 으로서 지칭될 수도 있고 보정된 시프트 값 (540) 은 "제 2 불일치 값" 으로서 지칭될 수도 있다.
특정 양태에서, 인코더 (114) 는, 도 9 를 참조하여 설명된 바와 같이 더 낮은 시프트 값 (930) 이상이고 더 큰 시프트 값 (932) 이하이도록 보정된 시프트 값 (540) 을 생성할 수도 있다. 더 낮은 시프트 값 (930) 은 제 1 시프트 값 (962) 또는 보간된 시프트 값 (538) 중 더 낮은 것에 기초할 수도 있다. 더 큰 시프트 값 (932) 은 제 1 시프트 값 (962) 또는 보간된 시프트 값 (538) 중 다른 하나에 기초할 수도 있다. 이 양태에서, 보간된 시프트 값 (538) 은 "제 2 불일치 값" 으로서 지칭될 수도 있고 보정된 시프트 값 (540) 또는 최종 시프트 값 (116) 은 "유효 불일치 값" 으로서 지칭될 수도 있다. 도 1 및 도 3 내지 도 5 를 참조하여 설명된 바와 같이, 제 2 샘플들 (350) 의 샘플들 (358-364)(또는 샘플들 (354-360)) 은 유효 불일치 값에 적어도 부분적으로 기초하여 선택될 수도 있다.
방법 (2800) 은 또한, 인코딩될 제 2 프레임에 적어도 부분적으로 기초하여, 비트 할당을 갖는 적어도 하나의 인코딩된 신호를 생성하는 단계를 포함한다. 예를 들어, 도 1 을 참조하여 설명된 바와 같이, 인코더 (114)(또는 제 1 디바이스 (104) 에서 다른 프로세서) 는 인코딩될 제 2 프레임에 기초하여 인코딩된 신호들 (102) 을 생성할 수도 있다. 예시하자면, 인코더 (114) 는, 도 1 및 도 4 를 참조하여 설명된 바와 같이 샘플들 (326-332) 및 샘플들 (354-360) 을 인코딩함으로써 인코딩된 신호들 (102) 을 생성할 수도 있다. 대안의 양태에서, 인코더 (114) 는 도 1 및 도 3 을 참조하여 설명된 바와 같이, 샘플들 (326-332) 및 샘플들 (358-364) 을 인코딩함으로써 인코딩된 신호들 (102) 을 생성할 수도 있다.
인코딩된 신호들 (102) 은 도 9 를 참조하여 설명된 바와 같이, 비트 할당을 가질 수도 있다. 예를 들어, 비트 할당은, 제 1 수의 비트들 (1916) 이 제 1 인코딩된 신호 (예를 들어, 중간 신호) 에 할당된다는 것, 제 2 수의 비트들 (1918) 이 제 2 인코딩된 신호 (예를 들어, 사이드 신호) 에 할당된다는 것, 또는 양자 모두를 나타낼 수도 있다. 인코더 (114)(또는 제 1 디바이스 (104) 에서 다른 프로세서) 는 도 9 를 참조하여 설명된 바와 같이, 제 1 수의 비트들 (1916) 에 대응하는 제 1 비트 할당을 갖도록 제 1 인코딩된 신호 (예를 들어, 중간 신호) 를, 제 2 수의 비트들 (1918) 에 대응하는 제 2 비트 할당을 갖도록 제 2 인코딩된 신호 (예를 들어, 사이드 신호) 를, 또는 양자 모두를 생성할 수도 있다.
방법 (2800) 은 2810 에서, 적어도 하나의 인코딩된 신호를 제 2 디바이스로 전송하는 단계를 더 포함한다. 예를 들어, 도 19 를 참조하면, 송신기 (110) 는 인코딩된 신호들 (102) 을 네트워크 (120) 를 통해 제 2 디바이스 (106) 로 송신할 수도 있다. 인코딩된 신호 (102) 를 수신 시에, 제 2 디바이스 (106) 는 제 1 라우드스피커 (142) 에서 제 1 출력 신호 (126) 를 출력하고 제 2 라우드스피커 (144) 에서 제 2 출력 신호 (128) 를 출력하도록 도 1 에 대하여 설명된 바와 실질적으로 유사한 방식으로 동작할 수도 있다.
방법 (2800) 은 또한, 도 19 를 참조하여 설명된 바와 같이 인코딩될 제 1 프레임과 연관된 제 1 비트 할당을 생성하는 단계를 포함할 수도 있다. 제 1 비트 할당은, 제 2 수의 비트들이 제 1 인코딩된 사이드 신호에 할당된다는 것을 나타낼 수도 있다. 인코딩될 제 2 프레임과 연관된 비트 할당은, 특정 수가 인코딩된 신호들 (102) 을 인코딩하는데 할당된다는 것을 나타낼 수도 있다. 특정 수는 제 2 수보다 크거나, 이보다 작거나, 또는 이와 동일할 수도 있다. 예를 들어, 인코더 (114) 는 도 1 을 참조하여 설명된 바와 같이, 제 1 수의 비트들 (1916), 제 2 수의 비트들 (1918), 또는 양자 모두에 기초하여 제 1 비트 할당을 갖는 하나 이상의 제 1 인코딩된 신호들을 생성할 수도 있다. 인코더 (114) 는 도 3 을 참조하여 설명된 바와 같이, 샘플들 (322-324) 및 제 2 샘플들 (350) 의 선택된 샘플들을 인코딩함으로써 제 1 인코딩된 신호들을 생성할 수도 있다. 인코더 (114) 는, 도 20 을 참조하여 설명된 바와 같이, 제 1 수의 비트들 (1916), 제 2 수의 비트들 (1918), 또는 양자 모두를 업데이트할 수도 있다. 인코더 (114) 는 도 20 을 참조하여 설명된 바와 같이, 업데이트된 제 1 수의 비트들 (1916), 업데이트된 제 2 수의 비트들 (1918), 또는 양자 모두에 대응하는 비트 할당을 갖는 인코딩된 신호들 (102) 을 생성할 수도 있다.
방법 (2800) 은 도 5 의 비교 값들 (534), 도 9 의 비교 값들 (915), 비교 값들 (916), 도 11 의 비교 값들 (1140), 도 15 의 그래프 (1502) 에 대응하는 비교 값들, 그래프 (1504) 에 대응하는 비교 값들, 비교 값들 (1506), 또는 이들의 조합을 결정하는 단계를 더 포함할 수도 있다. 예를 들어, 인코더 (114) 는 도 3 및 도 4 를 참조하여 설명된 바와 같이, 제 2 오디오 신호 (132) 의 샘플들의 다수의 세트들에 대한 제 1 오디오 신호 (130) 의 샘플들 (326-332) 의 비교에 기초하여 비교 값들을 결정할 수도 있다. 샘플들의 다수의 세트들 중 각각의 세트는 특정 검색 범위로부터의 특정 불일치 값에 대응할 수도 있다. 예를 들어, 특정 검색 범위는 도 9 를 참조하여 설명된 바와 같이, 더 낮은 시프트 값 (930) 이상이고 더 큰 시프트 값 (932) 이하일 수도 있다. 다른 예로서, 특정 검색 범위는 도 9 를 참조하여 설명된 바와 같이, 제 1 시프트 값 (1130) 이상이고 제 2 시프트 값 (1132) 이하일 수도 있다. 보간된 비교 값 (838), 보정된 시프트 값 (540), 최종 시프트 값 (116), 또는 이들의 조합은 도 8, 도 9a, 도 9b, 도 10a, 및 도 11 을 참조하여 설명된 바와 같이 비교 값들에 기초할 수도 있다.
방법 (2800) 은 또한, 도 17 을 참조하여 설명된 바와 같이, 비교 값들의 경계 비교 값들을 결정하는 단계를 포함할 수도 있다. 예를 들어, 인코더 (114) 는 도 18 을 참조하여 설명된 바와 같이, 우측 경계에서 비교 값들 (예를 들어, 20 샘플들 시프트/불일치), 좌측 경계에서 비교 값들 (-20 샘플들 시프트/불일치), 또는 양자 모두를 결정할 수도 있다. 경계 비교 값들은 특정 검색 범위의 경계 불일치 값 (예를 들어, -20 또는 20) 의 임계 (예를 들어, 10 샘플들) 내에 있는 불일치 값들에 대응할 수도 있다. 인코더 (114) 는 도 17 을 참조하여 설명된 바와 같이, 경계 비교 값들이 단조 증가 또는 단조 감소한다는 결정에 응답하여 단조적 경향 (trend) 을 나타내는 것으로서 인코딩될 제 2 프레임을 식별할 수도 있다.
인코더 (114) 는 도 17 및 도 18 을 참조하여 설명된 바와 같이, 인코딩될 제 2 프레임 전에 있는 인코딩될 특정 수의 프레임들 (예를 들어, 3 개의 프레임들) 이 단조적 경향을 나타내는 것으로 식별된다고 결정할 수도 있다. 인코더 (114) 는, 특정 수가 임계보다 크다는 결정에 응답하여, 도 17 및 도 18 을 참조하여 설명된 바와 같이 인코딩될 제 2 프레임에 대응하는 특정 검색 범위 (예를 들어, -23 내지 23) 를 결정할 수도 있다. 특정 검색 범위는 인코딩될 제 1 프레임에 대응하는 제 1 검색 범위 (예를 들어, -20 내지 20) 의 제 1 경계 불일치 값 (예를 들어, -20) 을 초과하는 제 2 경계 불일치 (예를 들어, -23) 값을 포함한다. 인코더 (114) 는 도 18 을 참조하여 설명된 바와 같이, 특정 검색 범위에 기초하여 비교 값들을 생성할 수도 있다. 제 2 불일치 값은 비교 값들에 기초할 수도 있다.
방법 (2800) 은 유효 불일치 값에 적어도 부분적으로 기초하여 코딩 모드를 결정하는 단계를 더 포함할 수도 있다. 예를 들어, 인코더 (114) 는 도 19 를 참조하여 설명된 바와 같이, 제 1 LB 코딩 모드 (1913), 제 2 LB 코딩 모드 (1915), 제 1 HB 코딩 모드 (1912), 제 2 HB 코딩 모드 (1914), 또는 이들의 조합을 결정할 수도 있다. 인코딩된 신호들 (102) 은 도 19 를 참조하여 설명된 바와 같이, 제 1 LB 코딩 모드 (1913), 제 2 LB 코딩 모드 (1915), 제 1 HB 코딩 모드 (1912), 제 2 HB 코딩 모드 (1914), 또는 이들의 조합에 기초할 수도 있다. 특정 구현에 따르면, 인코더 (114) 는 도 19 를 참조하여 설명된 바와 같이, 제 1 HB 코딩 모드 (1912) 에 기초하여 인코딩된 HB 중간 신호를, 제 2 HB 코딩 모드 (1914) 에 기초하여 인코딩된 HB 사이드 신호를, 제 1 LB 코딩 모드 (1913) 에 기초하여 인코딩된 LB 중간 신호를, 제 2 LB 코딩 모드 (1915) 에 기초하여 인코딩된 LB 사이드 신호를, 또는 이들의 조합을 생성할 수도 있다.
일부 구현들에 따르면, 도 21 을 참조하여 설명된 바와 같이, 제 1 HB 코딩 모드 (1912) 는 BWE 코딩 모드를 포함할 수도 있고, 제 2 HB 코딩 모드 (1914) 는 블라인드 BWE 코딩 모드를 포함할 수도 있다. 인코딩된 신호들 (102) 은 인코딩된 HB 중간 신호, 및 인코딩된 HB 사이드 신호에 대응하는 하나 이상의 파라미터들을 포함할 수도 있다.
일부 구현들에 따르면, 도 21 을 참조하여 설명된 바와 같이, 제 1 HB 코딩 모드 (1912) 는 BWE 코딩 모드를 포함할 수도 있고, 제 2 HB 코딩 모드 (1914) 는 BWE 코딩 모드를 포함할 수도 있다. 인코딩된 신호들 (102) 은 인코딩된 HB 중간 신호, 및 인코딩된 HB 사이드 신호에 대응하는 하나 이상의 파라미터들을 포함할 수도 있다.
일부 구현들에 따르면, 도 21 을 참조하여 설명된 바와 같이, 제 1 LB 코딩 모드 (1913) 는 ACELP 코딩 모드를 포함할 수도 있거나, 제 2 LB 코딩 모드 (1915) 는 ACELP 코딩 모드를 포함할 수도 있거나, 제 1 HB 코딩 모드 (1912) 는 BWE 코딩 모드를 포함할 수도 있거나, 제 2 HB 코딩 모드 (1914) 는 블라인드 BWE 코딩 모드를 포함할 수도 있거나, 또는 이들의 조합일 수도 있다. 인코딩된 신호들 (102) 은 인코딩된 HB 중간 신호, 인코딩된 LB 중간 신호, 인코딩된 LB 사이드 신호, 및 인코딩된 HB 사이드 신호에 대응하는 하나 이상의 파라미터들을 포함할 수도 있다.
일부 구현들에 따르면, 도 21 을 참조하여 설명된 바와 같이, 제 1 LB 코딩 모드 (1913) 는 ACELP 코딩 모드를 포함할 수도 있거나, 제 2 LB 코딩 모드 (1915) 는 예측 ACELP 코딩 모드를 포함할 수도 있거나, 또는 양자 모두일 수도 있다. 인코딩된 신호들 (102) 은 인코딩된 LB 중간 신호, 및 인코딩된 LB 사이드 신호에 대응하는 하나 이상의 파라미터들을 포함할 수도 있다.
도 29 를 참조하면, 디바이스 (예를 들어, 무선 통신 디바이스) 의 특정의 예시적인 예의 블록도가 도시되고, 일반적으로 2900 으로 표기된다. 다양한 구현들에서, 디바이스 (2900) 는 도 29 에 예시된 것보다 더 적은 또는 더 많은 컴포넌트들을 가질 수도 있다. 예시적인 구현에서, 디바이스 (2900) 는 도 1 의 제 1 디바이스 (104) 또는 제 2 디바이스 (106) 에 대응할 수도 있다. 예시적인 구현에서, 디바이스 (2900) 는 도 1 내지 도 28 의 시스템들 및 방법들을 참조하여 설명된 하나 이상의 동작들을 수행할 수도 있다.
특정 구현에서, 디바이스 (2900) 는 프로세서 (2906)(예를 들어, 중앙 처리 장치 (CPU)) 를 포함한다. 디바이스 (2900) 는 하나 이상의 추가적인 프로세서들 (2910)(예를 들어, 하나 이상의 디지털 신호 프로세서 (DSP)들) 을 포함할 수도 있다. 프로세서들 (2910) 은 매체 (예를 들어, 스피치 및 음악) 코더-디코더 (CODEC)(2908), 및 에코 소거기 (2912) 를 포함할 수도 있다. 매체 CODEC (2908) 은 도 1 의 디코더 (118), 인코더 (114), 또는 양자 모두를 포함할 수도 있다. 인코더 (114) 는 시간적 등화기 (108), 비트 할당기 (1908), 및 코딩 모드 선택기 (1910) 를 포함할 수도 있다.
디바이스 (2900) 는 메모리 (153) 및 CODEC (2934) 을 포함할 수도 있다. 매체 CODEC (2908) 이 프로세서들 (2910) 의 컴포넌트 (예를 들어, 전용 회로부 및/또는 실행 가능한 프로그래밍 코드) 로서 예시되지만, 다른 구현들에서 매체 CODEC (2908) 의 하나 이상의 컴포넌트들, 예컨대 디코더 (118), 인코더 (114), 또는 양자 모두가 프로세서 (2906), CODEC (2934), 다른 프로세싱 컴포넌트, 또는 이들의 조합에 포함될 수도 있다.
디바이스 (2900) 는 안테나 (2942) 에 커플링된 송신기 (110) 를 포함할 수도 있다. 디바이스 (2900) 는 디스플레이 제어기 (2926) 에 커플링된 디스플레이 (2928) 를 포함할 수도 있다. 하나 이상의 스피커들 (2948) 이 CODEC (2934) 에 커플링될 수도 있다. 하나 이상의 마이크로폰들 (2946) 은, 입력 인터페이스(들)(112) 을 통해 CODEC (2934) 에 커플링될 수도 있다. 특정 구현에서, 스피커들 (2948) 은 도 1 의 제 1 라우드스피커 (142), 제 2 라우드스피커 (144), 도 2 의 제 Y 라우드스피커 (244), 또는 이들의 조합을 포함할 수도 있다. 특정 구현에서, 마이크로폰들 (2946) 은 도 1 의 제 1 마이크로폰 (146), 제 2 마이크로폰 (148), 도 2 의 제 N 마이크로폰 (248), 도 11 의 제 3 마이크로폰 (1146), 제 4 마이크로폰 (1148), 또는 이들의 조합을 포함할 수도 있다. CODEC (2934) 은 디지털-대-아날로그 컨버터 (DAC)(2902) 및 아날로그-대-디지털 컨버터 (ADC)(2904) 를 포함할 수도 있다.
메모리 (153) 는 도 1 내지 도 28 을 참조하여 설명된 하나 이상의 동작들을 수행하도록, 프로세서 (2906), 프로세서들 (2910), CODEC (2934), 디바이스 (2900) 의 다른 프로세싱 유닛, 또는 이들의 조합에 의해 실행 가능한 명령들 (2960) 을 포함할 수도 있다. 메모리 (153) 는 분석 데이터 (190) 를 저장할 수도 있다.
디바이스 (2900) 의 하나 이상의 컴포넌트들은 하나 이상의 태스크들, 또는 이들의 조합을 수행하기 위한 명령들을 실행하는 프로세서에 의해 전용 하드웨어 (예를 들어, 회로부) 를 통해 구현될 수도 있다. 일 예로서, 메모리 (153) 또는 프로세서 (2906), 프로세서들 (2910), 및/또는 CODEC (2934) 의 하나 이상의 컴포넌트들은 메모리 디바이스, 예컨대 랜덤 액세스 메모리 (RAM), 자기저항 랜덤 액세스 메모리 (MRAM), 스핀-토크 트랜스퍼 MRAM (STT-MRAM), 플래시 메모리, 판독-전용 메모리 (ROM), 프로그래머블 판독-전용 메모리 (PROM), 소거 가능한 프로그래머블 판독-전용 메모리 (EPROM), 전기적으로 소거 가능한 프로그래머블 판독-전용 메모리 (EEPROM), 레지스터들, 하드 디스크, 착탈형 디스크, 또는 컴팩트 디스크 판독-전용 메모리 (CD-ROM) 일 수도 있다. 메모리 디바이스는, 컴퓨터 (예를 들어, CODEC (2934) 내의 프로세서, 프로세서 (2906), 및/또는 프로세서들 (2910)) 에 의해 실행되는 경우, 컴퓨터로 하여금 도 1 내지 도 28 을 참조하여 설명된 하나 이상의 동작들을 수행하게 할 수도 있는 명령들 (예를 들어, 명령들 (2960)) 을 포함할 수도 있다. 일 예로서, 메모리 (153) 또는 프로세서 (2906), 프로세서들 (2910), 및/또는 CODEC (2934) 의 하나 이상의 컴포넌트들은, 컴퓨터 (예를 들어, CODEC (2934) 의 프로세서, 프로세서 (2906), 및/또는 프로세서들 (2910)) 에 의해 실행되는 경우, 컴퓨터로 하여금 도 1 내지 도 28 을 참조하여 설명된 하나 이상의 동작들을 수행하게 하는 명령들 (예를 들어, 명령들 (2960)) 을 포함하는 비-일시적인 컴퓨터 판독가능 매체일 수도 있다.
특정 구현에서, 디바이스 (2900) 는 시스템-인-패키지 또는 시스템-온-칩 디바이스 (예를 들어, 이동국 모뎀 (MSM) (2922)) 에 포함될 수도 있다. 특정 구현에서, 프로세서 (2906), 프로세서들 (2910), 디스플레이 제어기 (2926), 메모리 (153), CODEC (2934), 및 송신기 (110) 가 시스템-인-패키지 또는 시스템-온-칩 디바이스 (2922) 에 포함된다. 특정 구현에서, 입력 디바이스 (2930), 예컨대 터치스크린 및/또는 키패드, 및 전력 공급기 (2944) 는 시스템-온-칩 디바이스 (2922) 에 커플링된다. 더욱이, 특정 구현에서, 도 29 에 예시된 바와 같이, 디스플레이 (2928), 입력 디바이스 (2930), 스피커들 (2948), 마이크로폰들 (2946), 안테나 (2942), 및 전력 공급기 (2944) 는 시스템-온-칩 디바이스 (2922) 외부에 있다. 그러나, 디스플레이 (2928), 입력 디바이스 (2930), 스피커들 (2948), 마이크로폰들 (2946), 안테나 (2942), 및 전력 공급기 (2944) 각각은 시스템-온-칩 디바이스 (2922) 의 컴포넌트, 예컨대 인터페이스 또는 제어기에 커플링될 수 있다.
디바이스 (2900) 는 무선 전화기, 이동 통신 디바이스, 이동 전화, 스마트폰, 셀룰러 폰, 랩톱 컴퓨터, 데스크톱 컴퓨터, 컴퓨터, 태블릿 컴퓨터, 셋톱 박스, 개인 휴대 정보 단말기 (PDA), 디스플레이 디바이스, 텔레비전, 게이밍 콘솔, 뮤직 플레이어, 라디오, 비디오 플레이어, 엔터테인먼트 유닛, 통신 디바이스, 고정된 로케이션 데이터 유닛, 퍼스널 미디어 플레이어, 디지털 비디오 플레이어, 디지털 비디오 디스크 (DVD) 플레이어, 튜너, 카메라, 네비게이션 디바이스, 디코더 시스템, 인코더 시스템, 기지국, 비히클 (vehicle), 또는 이들의 임의의 조합을 포함할 수도 있다.
특정 구현에서, 본원에 설명된 시스템들의 하나 이상의 컴포넌트들 및 디바이스 (2900) 는 디코딩 시스템 또는 장치 (예를 들어, 전자 디바이스, CODEC, 또는 그 안에 프로세서) 안에, 인코딩 시스템 또는 장치 안에, 또는 양자 모두에 통합될 수도 있다. 다른 구현들에서, 본원에 설명된 시스템들의 하나 이상의 컴포넌트들 및 디바이스 (2900) 는 무선 통신 디바이스 (예를 들어, 무선 전화기), 태블릿 컴퓨터, 데스크톱 컴퓨터, 랩톱 컴퓨터, 셋톱 박스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 텔레비전, 게임 콘솔, 네비게이션 디바이스, 통신 디바이스, 개인 휴대 정보 단말기 (PDA), 고정 로케이션 데이터 유닛, 퍼스널 미디어 플레이어, 기지국, 비히클, 또는 디바이스의 다른 유형 안에 통합될 수도 있다.
본원에 설명된 시스템들의 하나 이상의 컴포넌트들 및 디바이스 (2900) 에 의해 수행된 다양한 기능들은 소정의 컴포넌트들 또는 모듈들에 의해 수행되는 것으로서 설명된다는 것이 주목되어야 한다. 컴포넌트들 및 모듈들의 이 분할은 단지 예시를 위한 것이다. 대안의 구현에서, 특정 컴포넌트 또는 모듈에 의해 수행된 기능은 다수의 컴포넌트들 또는 모듈들 사이에 분할될 수도 있다. 더욱이, 대안의 구현에서, 본원에 설명된 시스템들의 2 이상의 컴포넌트들 또는 모듈들은 단일의 컴포넌트 또는 모듈 안에 통합될 수도 있다. 본원에 설명된 시스템들에 예시된 각각의 컴포넌트 또는 모듈은 하드웨어 (예를 들어, 필드-프로그래머블 게이트 어레이 (FPGA) 디바이스, 주문형 집적 회로 (ASIC), DSP, 제어기 등), 소프트웨어 (예를 들어, 프로세서에 의해 실행 가능한 명령들), 또는 이들의 임의의 조합을 사용하여 구현될 수도 있다.
설명된 구현들과 관련하여, 장치는 시프트 값 및 제 2 시프트 값에 기초하여 비트 할당을 결정하기 위한 수단을 포함한다. 시프트 값은 제 2 오디오 신호에 대한 제 1 오디오 신호의 시프트를 나타낼 수도 있고, 제 2 시프트 값은 시프트 값에 기초할 수도 있다. 예를 들어, 비트 할당을 결정하기 위한 수단은 도 19 의 비트 할당기 (1908), 비트 할당을 결정하도록 구성된 하나 이상의 디바이스들/회로들 (예를 들어, 컴퓨터 판독가능 저장 디바이스에 저장되는 명령들을 실행하는 프로세서), 또는 이들의 조합을 포함할 수도 있다.
장치는 또한, 비트 할당에 기초하여 생성되는 적어도 하나의 인코딩된 신호를 송신하기 위한 수단을 포함할 수도 있다. 적어도 하나의 인코딩된 신호는 제 1 오디오 신호의 제 1 샘플들 및 제 2 오디오 신호의 제 2 샘플들에 기초할 수도 있고, 제 2 샘플들은 제 2 시프트 값에 기초하는 양만큼 제 1 샘플들에 대하여 시간-시프트될 수도 있다. 예를 들어, 송신하기 위한 수단은 도 1 및 도 19 의 송신기 (110) 를 포함할 수도 있다.
설명된 구현들과 또한 관련하여, 장치는 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 1 양을 나타내는 제 1 불일치 값을 결정하기 위한 수단을 포함한다. 제 1 불일치 값은 인코딩될 제 1 프레임과 연관된다. 예를 들어, 제 1 불일치 값을 결정하기 위한 수단은 도 1 의 인코더 (114), 시간적 등화기 (108), 도 2 의 시간적 등화기(들)(208), 도 5 의 신호 비교기 (506), 보간기 (510), 시프트 리파이너 (511), 시프트 변화 분석기 (512), 절대 시프트 생성기 (513), 프로세서들 (2910), CODEC (2934), 프로세서 (2906), 제 1 불일치 값을 결정하도록 구성된 하나 이상의 디바이스들/회로들 (예를 들어, 컴퓨터 판독가능 저장 디바이스에 저장되는 명령들을 실행하는 프로세서), 또는 이들의 조합을 포함할 수도 있다.
장치는 또한, 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 2 양을 나타내는 제 2 불일치 값을 결정하기 위한 수단을 포함한다. 제 2 불일치 값은 인코딩될 제 2 프레임과 연관된다. 인코딩될 제 2 프레임은 인코딩될 제 1 프레임에 후속한다. 예를 들어, 제 2 불일치 값을 결정하기 위한 수단은 도 1 의 인코더 (114), 시간적 등화기 (108), 도 2 의 시간적 등화기(들)(208), 도 5 의 신호 비교기 (506), 보간기 (510), 시프트 리파이너 (511), 시프트 변화 분석기 (512), 절대 시프트 생성기 (513), 프로세서들 (2910), CODEC (2934), 프로세서 (2906), 제 2 불일치 값을 결정하도록 구성된 하나 이상의 디바이스들/회로들 (예를 들어, 컴퓨터 판독가능 저장 디바이스에 저장되는 명령들을 실행하는 프로세서), 또는 이들의 조합을 포함할 수도 있다.
장치는 제 1 불일치 값 및 제 2 불일치 값에 기초하여 유효 불일치 값을 결정하기 위한 수단을 더 포함한다. 인코딩될 제 2 프레임은 제 1 오디오 신호의 제 1 샘플들 및 제 2 오디오 신호의 제 2 샘플들을 포함한다. 제 2 샘플들은 유효 불일치 값에 적어도 부분적으로 기초하여 선택된다. 예를 들어, 유효 불일치 값을 결정하기 위한 수단은 도 1 의 인코더 (114), 시간적 등화기 (108), 도 2 의 시간적 등화기(들)(208), 도 5 의 신호 비교기 (506), 보간기 (510), 시프트 리파이너 (511), 시프트 변화 분석기 (512), 프로세서들 (2910), CODEC (2934), 프로세서 (2906), 유효 불일치 값을 결정하도록 구성된 하나 이상의 디바이스들/회로들 (예를 들어, 컴퓨터 판독가능 저장 디바이스에 저장되는 명령들을 실행하는 프로세서), 또는 이들의 조합을 포함할 수도 있다.
장치는 또한, 유효 불일치 값에 적어도 부분적으로 기초하는 비트 할당을 갖는 적어도 하나의 인코딩된 신호를 송신하기 위한 수단을 포함한다. 적어도 하나의 인코딩된 신호는 인코딩될 제 2 프레임에 적어도 부분적으로 기초하여 생성된다. 예를 들어, 송신하기 위한 수단은 도 1 및 도 19 의 송신기 (110) 를 포함할 수도 있다.
당업자는 또한, 본원에 개시된 구현들과 연관되어 설명된 다양한 예시적인 논리 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 하드웨어 프로세서와 같은 프로세싱 디바이스에 의해 실행된 컴퓨터 소프트웨어, 또는 양자 모두의 조합으로서 구현될 수도 있음을 인지할 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들, 및 단계들은 그 기능에 관하여 일반적으로 전술되어 있다. 그러한 기능이 하드웨어 또는 실행 가능한 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 의존한다. 당업자는, 설명된 기능성을 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현할 수도 있지만, 이러한 구현 결정들은 본 개시물의 범위를 벗어나게 하는 것으로 해석되지 않아야 한다.
본원에서 개시된 구현들과 연관되어 설명된 방법 또는 알고리즘의 단계들은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들 둘의 조합에서 직접적으로 구현될 수도 있다. 소프트웨어 모듈은 메모리 디바이스, 예컨대 랜덤 액세스 메모리 (RAM), 자기저항 랜덤 액세스 메모리 (MRAM), 스핀-토크 트랜스퍼 MRAM (STT-MRAM), 플래시 메모리, 판독-전용 메모리 (ROM), 프로그래머블 판독-전용 메모리 (PROM), 소거 가능한 프로그래머블 판독-전용 메모리 (EPROM), 전기적으로 소거 가능한 프로그래머블 판독-전용 메모리 (EEPROM), 레지스터들, 하드 디스크, 착탈형 디스크, 또는 컴팩트 디스크 판독-전용 메모리 (CD-ROM) 에 있을 수도 있다. 예시적인 메모리 디바이스는, 프로세서가 메모리 디바이스로부터 정보를 판독하고, 메모리 디바이스에 정보를 기입하도록 프로세서에 커플링된다. 대안에서, 메모리 디바이스는 프로세서와 통합될 수도 있다. 프로세서 및 저장 매체는 주문형 집적 회로 (ASIC) 내에 있을 수도 있다. ASIC 는 컴퓨팅 디바이스 또는 사용자 단말 내에 있을 수도 있다. 대안에서, 프로세서와 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말기에서 별개의 컴포넌트들로 있을 수도 있다.
개시된 구현들의 이전 설명은 당업자가 개시된 구현들을 실시하거나 사용하는 것을 가능하게 하도록 제공된다. 이들 구현들에 대한 다양한 수정들이 당업자에게는 자명할 것이고, 본원에서 정의된 원리들은 본 개시물의 사상을 벗어나지 않으면서 다른 구현들에 적용될 수도 있다. 따라서, 본 개시물은 본원에서 보여진 구현들에 제한되도록 의도되지 않고, 다음의 청구항들에 의해 정의된 바와 같은 원리들 및 신규의 특성들과 가능한 일치하는 최광의 범위를 따르기 위한 것이다.

Claims (43)

  1. 통신용 디바이스로서,
    프로세서로서,
    제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 1 양을 나타내는 제 1 불일치 값을 결정하는 것으로서, 상기 제 1 불일치 값은 인코딩될 제 1 프레임과 연관되는, 상기 제 1 불일치 값을 결정하고;
    상기 제 1 오디오 신호와 상기 제 2 오디오 신호 간의 시간적 불일치의 제 2 양을 나타내는 제 2 불일치 값을 결정하는 것으로서, 상기 제 2 불일치 값은 인코딩될 제 2 프레임과 연관되고, 인코딩될 상기 제 2 프레임은 인코딩될 상기 제 1 프레임에 후속하는, 상기 제 2 불일치 값을 결정하고;
    상기 제 1 불일치 값 및 상기 제 2 불일치 값에 기초하여 유효 불일치 값을 결정하는 것으로서, 인코딩될 상기 제 2 프레임은 상기 제 1 오디오 신호의 제 1 샘플들 및 상기 제 2 오디오 신호의 제 2 샘플들을 포함하고, 상기 제 2 샘플들은 상기 유효 불일치 값에 적어도 부분적으로 기초하여 선택되는, 상기 유효 불일치 값을 결정하고;
    상기 유효 불일치 값에 적어도 부분적으로 기초하여 제 1 코딩 모드 및 제 2 코딩 모드를 선택하며;
    인코딩될 상기 제 2 프레임에 적어도 부분적으로 기초하여, 비트 할당을 갖는 적어도 하나의 인코딩된 신호를 생성하는 것으로서, 상기 비트 할당은 상기 유효 불일치 값에 적어도 부분적으로 기초하고, 상기 적어도 하나의 인코딩된 신호는 제 1 인코딩된 신호 및 제 2 인코딩된 신호에 기초하고, 상기 제 1 인코딩된 신호는 상기 제 1 코딩 모드에 기초하고, 상기 제 2 인코딩된 신호는 상기 제 2 코딩 모드에 기초하는, 상기 적어도 하나의 인코딩된 신호를 생성하도록 구성된,
    상기 프로세서; 및
    상기 적어도 하나의 인코딩된 신호를 제 2 디바이스로 송신하도록 구성된 송신기를 포함하는, 통신용 디바이스.
  2. 제 1 항에 있어서,
    상기 유효 불일치 값은 제 1 값 이상 그리고 제 2 값 이하이고, 상기 제 1 값은 상기 제 1 불일치 값 또는 상기 제 2 불일치 값 중 하나와 동일하며, 상기 제 2 값은 상기 제 1 불일치 값 또는 상기 제 2 불일치 값 중 다른 하나와 동일한, 통신용 디바이스.
  3. 제 1 항에 있어서,
    상기 프로세서는 또한, 상기 제 1 불일치 값과 상기 제 2 불일치 값 간의 변동에 기초하여 상기 유효 불일치 값을 결정하도록 구성되는, 통신용 디바이스.
  4. 제 1 항에 있어서,
    상기 적어도 하나의 인코딩된 신호는 상기 제 1 인코딩된 신호 및 상기 제 2 인코딩된 신호를 포함하고,
    상기 제 1 인코딩된 신호는 인코딩된 중간 신호를 포함하고,
    상기 제 2 인코딩된 신호는 인코딩된 사이드 신호를 포함하고, 그리고
    상기 비트 할당은 제 1 수의 비트들이 상기 인코딩된 중간 신호에 할당되고 제 2 수의 비트들이 상기 인코딩된 사이드 신호에 할당된다는 것을 나타내는, 통신용 디바이스.
  5. 제 1 항에 있어서,
    상기 프로세서는 또한, 인코딩될 상기 제 1 프레임에 기초하여, 적어도 제 1 비트 할당을 갖는 제 1 특정 인코딩된 신호를 생성하도록 구성되고,
    상기 송신기는 또한, 적어도 상기 제 1 특정 인코딩된 신호를 송신하도록 구성되는, 통신용 디바이스.
  6. 제 1 항에 있어서,
    상기 제 1 불일치 값과 상기 제 2 불일치 값 간의 변동에 기초하여, 상기 비트 할당은 인코딩될 상기 제 1 프레임과 연관된 제 1 비트 할당과는 다른, 통신용 디바이스.
  7. 제 1 항에 있어서,
    특정 수의 비트들이 신호 인코딩을 위해 이용 가능하고, 인코딩될 상기 제 1 프레임과 연관된 제 1 비트 할당은 제 1 비를 나타내며, 상기 비트 할당은 제 2 비를 나타내는, 통신용 디바이스.
  8. 제 1 항에 있어서,
    상기 적어도 하나의 인코딩된 신호는 상기 제 1 인코딩된 신호를 포함하고,
    상기 프로세서는 또한, 특정 수의 비트들이 상기 제 1 인코딩된 신호에 할당된다는 것을 나타내도록 상기 비트 할당을 생성하도록 구성되고,
    상기 제 1 인코딩된 신호는 인코딩된 중간 신호를 포함하고,
    인코딩될 상기 제 1 프레임과 연관된 제 1 비트 할당은 제 1 수의 비트들이 제 1 인코딩된 중간 신호에 할당된다는 것을 나타내고, 그리고
    상기 특정 수는 상기 제 1 수 미만인, 통신용 디바이스.
  9. 제 1 항에 있어서,
    상기 적어도 하나의 인코딩된 신호는 상기 제 2 인코딩된 신호를 포함하고,
    상기 프로세서는 또한, 특정 수의 비트들이 상기 제 2 인코딩된 신호에 할당된다는 것을 나타내도록 상기 비트 할당을 생성하도록 구성되고,
    상기 제 2 인코딩된 신호는 인코딩된 사이드 신호를 포함하고,
    인코딩될 상기 제 1 프레임과 연관된 제 1 비트 할당은 제 2 수의 비트들이 제 1 인코딩된 사이드 신호에 할당된다는 것을 나타내고, 그리고
    상기 특정 수는 상기 제 2 수보다 큰, 통신용 디바이스.
  10. 제 1 항에 있어서,
    상기 프로세서는 또한,
    상기 제 2 불일치 값 및 상기 유효 불일치 값에 기초하여 변동 값을 결정하며;
    상기 변동 값이 제 1 임계보다 크다는 결정에 응답하여, 제 1 수의 비트들 및 제 2 수의 비트들을 나타내도록 비트 할당을 생성하도록 구성되고,
    상기 비트 할당은, 상기 제 1 수의 비트들이 인코딩된 중간 신호에 할당된다는 것 및 상기 제 2 수의 비트들이 인코딩된 사이드 신호에 할당된다는 것을 나타내고,
    상기 제 1 인코딩된 신호는 상기 인코딩된 중간 신호를 포함하고 상기 제 2 인코딩된 신호는 상기 인코딩된 사이드 신호를 포함하고, 그리고
    상기 적어도 하나의 인코딩된 신호는 상기 제 1 인코딩된 신호 및 상기 제 2 인코딩된 신호를 포함하는, 통신용 디바이스.
  11. 제 10 항에 있어서,
    상기 프로세서는 또한, 상기 변동 값이 상기 제 1 임계 이하이고 제 2 임계 미만이라는 결정에 응답하여, 제 3 수의 비트들 및 제 4 수의 비트들을 나타내도록 상기 비트 할당을 생성하도록 구성되고,
    상기 비트 할당은, 상기 제 3 수의 비트들이 상기 인코딩된 중간 신호에 할당된다는 것 및 상기 제 4 수의 비트들이 상기 인코딩된 사이드 신호에 할당된다는 것을 나타내고,
    상기 제 3 수의 비트들은 상기 제 1 수의 비트들보다 크고,
    상기 제 4 수의 비트들은 상기 제 2 수의 비트들 미만이고
    상기 제 1 인코딩된 신호는 상기 인코딩된 중간 신호를 포함하고, 그리고
    상기 제 2 인코딩된 신호는 상기 인코딩된 사이드 신호를 포함하는, 통신용 디바이스.
  12. 제 1 항에 있어서,
    상기 프로세서는 또한, 상기 제 2 오디오 신호의 샘플들의 다수의 세트들에 대한 상기 제 1 오디오 신호의 제 1 샘플들의 비교에 기초하여 비교 값들을 결정하도록 구성되고,
    상기 샘플들의 다수의 세트들의 각각의 세트는 특정 검색 범위로부터의 특정 불일치 값에 대응하며, 그리고
    상기 제 2 불일치 값은 상기 비교 값들에 기초하는, 통신용 디바이스.
  13. 제 12 항에 있어서,
    상기 프로세서는 또한,
    상기 비교 값들의 경계 비교 값들을 결정하는 것으로서, 상기 경계 비교 값들은 상기 특정 검색 범위의 경계 불일치 값의 임계 내에 있는 불일치 값들에 대응하는, 상기 경계 비교 값들을 결정하고; 그리고
    상기 경계 비교 값들이 단조 증가하고 있다는 결정에 응답하여 인코딩될 상기 제 2 프레임을 단조적 경향을 나타내는 것으로서 식별하도록 구성되는, 통신용 디바이스.
  14. 제 12 항에 있어서,
    상기 프로세서는 또한,
    상기 비교 값들의 경계 비교 값들을 결정하는 것으로서, 상기 경계 비교 값들은 상기 특정 검색 범위의 경계 불일치 값의 임계 내에 있는 불일치 값들에 대응하는, 상기 경계 비교 값들을 결정하고; 그리고
    상기 경계 비교 값들이 단조 감소한다는 결정에 응답하여 인코딩될 상기 제 2 프레임을 단조적 경향을 나타내는 것으로서 식별하도록 구성되는, 통신용 디바이스.
  15. 제 1 항에 있어서,
    상기 프로세서는 또한,
    인코딩될 상기 제 2 프레임 이전에 있는 인코딩될 특정 수의 프레임들이 단조적 경향을 나타내는 것으로서 식별된다는 것을 결정하고;
    상기 특정 수가 임계보다 크다는 결정에 응답하여, 인코딩될 상기 제 2 프레임에 대응하는 특정 검색 범위를 결정하는 것으로서, 상기 특정 검색 범위는 인코딩될 상기 제 1 프레임에 대응하는 제 1 검색 범위의 제 1 경계 불일치 값을 초과하는 제 2 경계 불일치 값을 포함하는, 상기 인코딩될 상기 제 2 프레임에 대응하는 특정 검색 범위를 결정하고; 그리고
    상기 특정 검색 범위에 기초하여 비교 값들을 생성하도록 구성되고,
    상기 제 2 불일치 값은 상기 비교 값들에 기초하는, 통신용 디바이스.
  16. 제 1 항에 있어서,
    상기 프로세서는 또한,
    상기 제 1 오디오 신호의 상기 제 1 샘플들 및 상기 제 2 오디오 신호의 상기 제 2 샘플들의 합에 기초하여 중간 신호를 생성하고; 그리고
    상기 비트 할당에 기초하여 상기 중간 신호를 인코딩함으로써 인코딩된 중간 신호를 생성하도록 구성되고,
    상기 제 1 인코딩된 신호는 상기 인코딩된 중간 신호를 포함하고, 그리고
    상기 적어도 하나의 인코딩된 신호는 상기 제 1 인코딩된 신호를 포함하는, 통신용 디바이스.
  17. 제 1 항에 있어서,
    상기 프로세서는 또한,
    상기 제 1 오디오 신호의 상기 제 1 샘플들과 상기 제 2 오디오 신호의 상기 제 2 샘플들 간의 차이에 기초하여 사이드 신호를 생성하고; 그리고
    상기 비트 할당에 기초하여 상기 사이드 신호를 인코딩함으로써 인코딩된 사이드 신호를 생성하도록 구성되고,
    상기 제 2 인코딩된 신호는 상기 인코딩된 사이드 신호를 포함하고, 그리고
    상기 적어도 하나의 인코딩된 신호는 상기 제 2 인코딩된 신호를 포함하는, 통신용 디바이스.
  18. 제 1 항에 있어서,
    상기 적어도 하나의 인코딩된 신호는 상기 제 1 인코딩된 신호 및 상기 제 2 인코딩된 신호를 포함하고, 그리고
    상기 프로세서는 또한:
    상기 제 1 코딩 모드에 기초하여, 상기 제 1 오디오 신호의 제 1 샘플들 및 상기 제 2 오디오 신호의 제 2 샘플들에 기초한 상기 제 1 인코딩된 신호를 생성하는 것으로서, 상기 제 2 샘플들은 상기 유효 불일치 값에 기초하여 선택되는, 상기 상기 제 1 인코딩된 신호를 생성하고; 그리고
    상기 제 2 코딩 모드에 기초하여, 상기 제 1 샘플들 및 상기 제 2 샘플들에 기초한 상기 제 2 인코딩된 신호를 생성함으로써,
    상기 적어도 하나의 인코딩된 신호를 생성하도록 구성되는, 통신용 디바이스.
  19. 제 1 항에 있어서,
    상기 제 1 인코딩된 신호는 저-대역 중간 신호를 포함하고,
    상기 제 2 인코딩된 신호는 저-대역 사이드 신호를 포함하고, 그리고
    상기 제 1 코딩 모드 및 상기 제 2 코딩 모드는 대수 부호 여진 선형 예측 (ACELP) 코딩 모드를 포함하는, 통신용 디바이스.
  20. 제 1 항에 있어서,
    상기 제 1 인코딩된 신호는 고-대역 중간 신호를 포함하고,
    상기 제 2 인코딩된 신호는 고-대역 사이드 신호를 포함하고, 그리고
    상기 제 1 코딩 모드 및 상기 제 2 코딩 모드는 대역폭 확장 (BWE) 코딩 모드를 포함하는, 통신용 디바이스.
  21. 제 1 항에 있어서,
    상기 프로세서는 또한,
    상기 유효 불일치 값에 적어도 부분적으로 기초하여, 대수 부호 여진 선형 예측 (ACELP) 코딩 모드에 기초한 인코딩된 저-대역 중간 신호를 생성하는 것으로서, 상기 제 1 인코딩된 신호는 상기 인코딩된 저-대역 중간 신호를 포함하는, 상기 인코딩된 저-대역 중간 신호를 생성하고; 그리고
    상기 유효 불일치 값에 적어도 부분적으로 기초하여, 예측 ACELP 코딩 모드에 기초한 인코딩된 저-대역 사이드 신호를 생성하는 것으로서, 상기 제 2 인코딩된 신호는 상기 인코딩된 저-대역 사이드 신호를 포함하는, 상기 인코딩된 저-대역 사이드 신호를생성하도록 구성되고,
    상기 적어도 하나의 인코딩된 신호는 상기 제 1 인코딩된 신호 및 상기 제 2 인코딩된 신호에 대응하는 하나 이상의 파라미터들을 포함하는, 통신용 디바이스.
  22. 제 1 항에 있어서,
    상기 프로세서는 또한,
    상기 유효 불일치 값에 적어도 부분적으로 기초하여, 대역폭 확장 (BWE) 코딩 모드에 기초한 인코딩된 고-대역 중간 신호를 생성하는 것으로서, 상기 제 1 인코딩된 신호는 상기 인코딩된 고-대역 중간 신호를 포함하는, 상기 인코딩된 고-대역 중간 신호를 생성하고; 그리고
    상기 유효 불일치 값에 적어도 부분적으로 기초하여, 블라인드 BWE 코딩 모드에 기초한 인코딩된 고-대역 사이드 신호를 생성하는 것으로서, 상기 제 2 인코딩된 신호는 상기 인코딩된 고-대역 사이드 신호를 포함하는, 상기 고-대역 사이드 신호를 생성하도록 구성되고,
    상기 적어도 하나의 인코딩된 신호는 상기 제 1 인코딩된 신호 및 상기 제 2 인코딩된 신호에 대응하는 하나 이상의 파라미터들을 포함하는, 통신용 디바이스.
  23. 제 1 항에 있어서,
    상기 송신기에 커플링된 안테나를 더 포함하고,
    상기 송신기는 상기 안테나를 통해 상기 적어도 하나의 인코딩된 신호를 송신하도록 구성되는, 통신용 디바이스.
  24. 제 1 항에 있어서,
    상기 프로세서 및 상기 송신기는 이동 통신 디바이스에 통합되는, 통신용 디바이스.
  25. 제 1 항에 있어서,
    상기 프로세서 및 상기 송신기는 기지국에 통합되는, 통신용 디바이스.
  26. 통신 방법으로서,
    디바이스에서, 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 1 양을 나타내는 제 1 불일치 값을 결정하는 단계로서, 상기 제 1 불일치 값은 인코딩될 제 1 프레임과 연관되는, 상기 제 1 불일치 값을 결정하는 단계;
    상기 디바이스에서, 상기 제 1 오디오 신호와 상기 제 2 오디오 신호 간의 시간적 불일치의 제 2 양을 나타내는 제 2 불일치 값을 결정하는 단계로서, 상기 제 2 불일치 값은 인코딩될 제 2 프레임과 연관되고, 인코딩될 상기 제 2 프레임은 인코딩될 상기 제 1 프레임에 후속하는, 상기 제 2 불일치 값을 결정하는 단계;
    상기 디바이스에서, 상기 제 1 불일치 값 및 상기 제 2 불일치 값에 기초하여 유효 불일치 값을 결정하는 단계로서, 인코딩될 상기 제 2 프레임은 상기 제 1 오디오 신호의 제 1 샘플들 및 상기 제 2 오디오 신호의 제 2 샘플들을 포함하고, 상기 제 2 샘플들은 상기 유효 불일치 값에 적어도 부분적으로 기초하여 선택되는, 상기 유효 불일치 값을 결정하는 단계;
    상기 유효 불일치 값에 적어도 부분적으로 기초하여, 제 1 코딩 모드 및 제 2 코딩 모드를 선택하는 단계;
    인코딩될 상기 제 2 프레임에 적어도 부분적으로 기초하여, 비트 할당을 갖는 적어도 하나의 인코딩된 신호를 생성하는 단계로서, 상기 비트 할당은 상기 유효 불일치 값에 적어도 부분적으로 기초하고, 상기 적어도 하나의 인코딩된 신호는 제 1 인코딩된 신호 및 제 2 인코딩된 신호에 기초하고, 상기 제 1 인코딩된 신호는 상기 제 1 코딩 모드에 기초하고, 그리고 상기 제 2 인코딩된 신호는 상기 제 2 코딩 모드에 기초하는, 상기 적어도 하나의 인코딩된 신호를 생성하는 단계; 및
    상기 적어도 하나의 인코딩된 신호를 제 2 디바이스로 송신하는 단계를 포함하는, 통신 방법.
  27. 제 26 항에 있어서,
    상기 적어도 하나의 인코딩된 신호는 상기 제 1 인코딩된 신호 및 상기 제 2 인코딩된 신호를 포함하고,
    상기 적어도 하나의 인코딩된 신호를 생성하는 단계는,
    상기 제 1 코딩 모드에 기초하여, 상기 제 1 오디오 신호의 제 1 샘플들 및 상기 제 2 오디오 신호의 제 2 샘플들에 기초한 상기 제 1 인코딩된 신호를 생성하는 단계로서, 상기 제 2 샘플들은 상기 유효 불일치 값에 기초하여 선택되는, 상기 제 1 인코딩된 신호를 생성하는 단계; 및
    상기 제 2 코딩 모드에 기초하여, 상기 제 1 샘플들 및 상기 제 2 샘플들에 기초한 상기 제 2 인코딩된 신호를 생성하는 단계를 포함하는, 통신 방법.
  28. 제 26 항에 있어서,
    상기 적어도 하나의 인코딩된 신호는 상기 제 1 인코딩된 신호 및 상기 제 2 인코딩된 신호를 포함하고,
    상기 제 1 인코딩된 신호는 저-대역 중간 신호를 포함하고,
    상기 제 2 인코딩된 신호는 저-대역 사이드 신호를 포함하고, 그리고
    상기 제 1 코딩 모드 및 상기 제 2 코딩 모드는 대수 부호 여진 선형 예측 (ACELP) 코딩 모드를 포함하는, 통신 방법.
  29. 제 26 항에 있어서,
    상기 적어도 하나의 인코딩된 신호는 상기 제 1 인코딩된 신호 및 상기 제 2 인코딩된 신호를 포함하고,
    상기 제 1 인코딩된 신호는 고-대역 중간 신호를 포함하고,
    상기 제 2 인코딩된 신호는 고-대역 사이드 신호를 포함하고, 그리고
    상기 제 1 코딩 모드 및 상기 제 2 코딩 모드는 대역폭 확장 (BWE) 코딩 모드를 포함하는, 통신 방법.
  30. 제 26 항에 있어서,
    상기 디바이스는 이동 통신 디바이스를 포함하는, 통신 방법.
  31. 제 26 항에 있어서,
    상기 디바이스는 기지국을 포함하는, 통신 방법.
  32. 제 26 항에 있어서,
    상기 유효 불일치 값에 적어도 부분적으로 기초하여, 대역폭 확장 (BWE) 코딩 모드에 기초한 인코딩된 고-대역 중간 신호를 생성하는 단계로서, 상기 제 1 인코딩된 신호는 상기 인코딩된 고-대역 중간 신호를 포함하는, 상기 인코딩된 고-대역 중간 신호를 생성하는 단계; 및
    상기 유효 불일치 값에 적어도 부분적으로 기초하여, 블라인드 BWE 코딩 모드에 기초한 인코딩된 고-대역 사이드 신호를 생성하는 단계로서, 상기 제 2 인코딩된 신호는 상기 인코딩된 고-대역 사이드 신호를 포함하는, 상기 인코딩된 고-대역 사이드 신호를 생성하는 단계를 더 포함하고,
    상기 적어도 하나의 인코딩된 신호는 상기 제 1 인코딩된 신호 및 상기 제 2 인코딩된 신호에 대응하는 하나 이상의 파라미터들을 포함하는, 통신 방법.
  33. 제 26 항에 있어서,
    상기 유효 불일치 값에 적어도 부분적으로 기초하여, 대수 부호 여진 선형 예측 (ACELP) 코딩 모드에 기초한 인코딩된 저-대역 중간 신호 및 인코딩된 저-대역 사이드 신호를 생성하는 단계로서, 상기 제 1 인코딩된 신호는 상기 인코딩된 저-대역 중간 신호를 포함하는, 상기 인코딩된 저-대역 중간 신호 및 인코딩된 저-대역 사이드 신호를 생성하는 단계;
    상기 유효 불일치 값에 적어도 부분적으로 기초하여, 대역폭 확장 (BWE) 코딩 모드에 기초한 인코딩된 고-대역 중간 신호를 생성하는 단계로서, 상기 제 2 인코딩된 신호는 상기 인코딩된 고-대역 중간 신호를 포함하는, 상기 인코딩된 고-대역 중간 신호를 생성하는 단계; 및
    상기 유효 불일치 값에 적어도 부분적으로 기초하여, 블라인드 BWE 코딩 모드에 기초한 인코딩된 고-대역 사이드 신호를 생성하는 단계를 더 포함하고,
    상기 적어도 하나의 인코딩된 신호는 상기 인코딩된 고-대역 중간 신호, 상기 인코딩된 저-대역 중간 신호, 상기 인코딩된 저-대역 사이드 신호, 및 상기 인코딩된 고-대역 사이드 신호에 대응하는 하나 이상의 파라미터들을 포함하는, 통신 방법.
  34. 제 26 항에 있어서,
    상기 비트 할당은, 제 1 수의 비트들이 상기 제 1 인코딩된 신호에 할당되고 제 2 수의 비트들이 상기 제 2 인코딩된 신호에 할당된다는 것을 나타내는, 통신 방법.
  35. 제 34 항에 있어서,
    상기 제 1 수의 비트들은 인코딩될 상기 제 1 프레임과 연관된 제 1 비트 할당에 의해 표시된 제 1 특정 수의 비트들 미만이고,
    상기 제 2 수의 비트들은 상기 제 1 비트 할당에 의해 표시된 제 2 특정 수의 비트들보다 큰, 통신 방법.
  36. 명령들을 저장한 컴퓨터 판독가능 저장 디바이스로서,
    상기 명령들은, 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금,
    제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 1 양을 나타내는 제 1 불일치 값을 결정하는 것으로서, 상기 제 1 불일치 값은 인코딩될 제 1 프레임과 연관되는, 상기 제 1 불일치 값을 결정하는 것;
    상기 제 1 오디오 신호와 상기 제 2 오디오 신호 간의 시간적 불일치의 제 2 양을 나타내는 제 2 불일치 값을 결정하는 것으로서, 상기 제 2 불일치 값은 인코딩될 제 2 프레임과 연관되고, 인코딩될 상기 제 2 프레임은 인코딩될 상기 제 1 프레임에 후속하는, 상기 제 2 불일치 값을 결정하는 것;
    상기 제 1 불일치 값 및 상기 제 2 불일치 값에 기초하여 유효 불일치 값을 결정하는 것으로서, 인코딩될 상기 제 2 프레임은 상기 제 1 오디오 신호의 제 1 샘플들 및 상기 제 2 오디오 신호의 제 2 샘플들을 포함하고, 상기 제 2 샘플들은 상기 유효 불일치 값에 적어도 부분적으로 기초하여 선택되는, 상기 유효 불일치 값을 결정하는 것;
    상기 유효 불일치 값에 적어도 부분적으로 기초하여, 제 1 코딩 모드 및 제 2 코딩 모드를 선택하는 것; 및
    인코딩될 상기 제 2 프레임에 적어도 부분적으로 기초하여, 비트 할당을 갖는 적어도 하나의 인코딩된 신호를 생성하는 단계로서, 상기 비트 할당은 상기 유효 불일치 값에 적어도 부분적으로 기초하고, 상기 적어도 하나의 인코딩된 신호는 제 1 인코딩된 신호 및 제 2 인코딩된 신호에 기초하고, 상기 제 1 인코딩된 신호는 상기 제 1 코딩 모드에 기초하고, 그리고 상기 제 2 인코딩된 신호는 상기 제 2 코딩 모드에 기초하는, 상기 적어도 하나의 인코딩된 신호를 생성하는하는 것
    을 포함하는 동작들을 수행하게 하는, 컴퓨터 판독가능 저장 디바이스.
  37. 제 36 항에 있어서,
    상기 적어도 하나의 인코딩된 신호는 상기 제 1 인코딩된 신호 및 상기 제 2 인코딩된 신호를 포함하고,
    비트 할당은 제 1 수의 비트들이 상기 제 1 인코딩된 신호에 할당된다는 것 및 제 2 수의 비트들이 상기 제 2 인코딩된 신호에 할당된다는 것을 나타내는, 컴퓨터 판독가능 저장 디바이스.
  38. 제 36 항에 있어서,
    상기 제 1 인코딩된 신호는 중간 신호에 대응하며 상기 제 2 인코딩된 신호는 사이드 신호에 대응하는, 컴퓨터 판독가능 저장 디바이스.
  39. 제 38 항에 있어서,
    상기 동작들은,
    상기 제 1 오디오 신호 및 상기 제 2 오디오 신호의 합에 기초하여 상기 중간 신호를 생성하는 것; 및
    상기 제 1 오디오 신호와 상기 제 2 오디오 신호 간의 차이에 기초하여 상기 사이드 신호를 생성하는 것을 더 포함하는, 컴퓨터 판독가능 저장 디바이스.
  40. 제 1 오디오 신호와 제 2 오디오 신호 간의 시간적 불일치의 제 1 양을 나타내는 제 1 불일치 값을 결정하기 위한 수단으로서, 상기 제 1 불일치 값은 인코딩될 제 1 프레임과 연관되는, 상기 제 1 불일치 값을 결정하기 위한 수단;
    상기 제 1 오디오 신호와 상기 제 2 오디오 신호 간의 시간적 불일치의 제 2 양을 나타내는 제 2 불일치 값을 결정하기 위한 수단으로서, 상기 제 2 불일치 값은 인코딩될 제 2 프레임과 연관되고, 인코딩될 상기 제 2 프레임은 인코딩될 상기 제 1 프레임에 후속하는, 상기 제 2 불일치 값을 결정하기 위한 수단;
    상기 제 1 불일치 값 및 상기 제 2 불일치 값에 기초하여 유효 불일치 값을 결정하기 위한 수단으로서, 인코딩될 상기 제 2 프레임은 상기 제 1 오디오 신호의 제 1 샘플들 및 상기 제 2 오디오 신호의 제 2 샘플들을 포함하고, 상기 제 2 샘플들은 상기 유효 불일치 값에 적어도 부분적으로 기초하여 선택되는, 상기 유효 불일치 값을 결정하기 위한 수단;
    상기 유효 불일치 값에 적어도 부분적으로 기초하여, 제 1 코딩 모드 및 제 2 코딩 모드를 선택하기 위한 수단; 및
    상기 유효 불일치 값에 적어도 부분적으로 기초하는 비트 할당을 갖는 적어도 하나의 인코딩된 신호를 송신하기 위한 수단으로서, 상기 적어도 하나의 인코딩된 신호는 인코딩될 상기 제 2 프레임에 적어도 부분적으로 기초하여 생성되고, 상기 적어도 하나의 인코딩된 신호는 제 1 인코딩된 신호 및 제 2 인코딩된 신호에 기초하고, 상기 제 1 인코딩된 신호는 상기 제 1 코딩 모드에 기초하고, 그리고 상기 제 2 인코딩된 신호는 상기 제 2 코딩 모드에 기초하는, 상기 적어도 하나의 인코딩된 신호를 송신하기 위한 수단
    을 포함하는, 장치.
  41. 제 40 항에 있어서,
    상기 결정하기 위한 수단, 상기 선택하기 위한 수단 및 상기 송신하기 위한 수단은 모바일 폰, 통신 디바이스, 컴퓨터, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 네비게이션 디바이스, 개인용 휴대 정보 단말기 (PDA), 디코더, 또는 셋 톱 박스 중 적어도 하나에 통합되는, 장치.
  42. 제 40 항에 있어서,
    상기 결정하기 위한 수단, 상기 선택하기 위한 수단 및 상기 송신하기 위한 수단은 이동 통신 디바이스에 통합되는, 장치.
  43. 제 40 항에 있어서,
    상기 결정하기 위한 수단, 상기 선택하기 위한 수단 및 상기 송신하기 위한 수단은 기지국에 통합되는, 장치.
KR1020227037023A 2016-03-18 2017-03-17 시간적으로 불일치된 신호들에 대한 오디오 프로세싱 KR102557066B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201662310611P 2016-03-18 2016-03-18
US62/310,611 2016-03-18
US15/461,356 US10210871B2 (en) 2016-03-18 2017-03-16 Audio processing for temporally mismatched signals
US15/461,356 2017-03-16
KR1020187026626A KR102461411B1 (ko) 2016-03-18 2017-03-17 시간적으로 불일치된 신호들에 대한 오디오 프로세싱
PCT/US2017/023026 WO2017161309A1 (en) 2016-03-18 2017-03-17 Audio processing for temporally mismatched signals

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187026626A Division KR102461411B1 (ko) 2016-03-18 2017-03-17 시간적으로 불일치된 신호들에 대한 오디오 프로세싱

Publications (2)

Publication Number Publication Date
KR20220150996A KR20220150996A (ko) 2022-11-11
KR102557066B1 true KR102557066B1 (ko) 2023-07-18

Family

ID=59847109

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227037023A KR102557066B1 (ko) 2016-03-18 2017-03-17 시간적으로 불일치된 신호들에 대한 오디오 프로세싱
KR1020187026626A KR102461411B1 (ko) 2016-03-18 2017-03-17 시간적으로 불일치된 신호들에 대한 오디오 프로세싱

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187026626A KR102461411B1 (ko) 2016-03-18 2017-03-17 시간적으로 불일치된 신호들에 대한 오디오 프로세싱

Country Status (10)

Country Link
US (2) US10210871B2 (ko)
EP (2) EP3739579B1 (ko)
JP (1) JP6978425B2 (ko)
KR (2) KR102557066B1 (ko)
CN (2) CN108780648B (ko)
BR (1) BR112018068608A2 (ko)
CA (1) CA3014675A1 (ko)
ES (1) ES2837478T3 (ko)
TW (1) TWI743097B (ko)
WO (1) WO2017161309A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112015031180B1 (pt) * 2013-06-21 2022-04-05 Fraunhofer- Gesellschaft Zur Förderung Der Angewandten Forschung E.V Aparelho e método para gerar um formato espectral adaptativo de ruído de conforto
US10210871B2 (en) * 2016-03-18 2019-02-19 Qualcomm Incorporated Audio processing for temporally mismatched signals
CN108269577B (zh) * 2016-12-30 2019-10-22 华为技术有限公司 立体声编码方法及立体声编码器
US10304468B2 (en) * 2017-03-20 2019-05-28 Qualcomm Incorporated Target sample generation
CN109859766B (zh) * 2017-11-30 2021-08-20 华为技术有限公司 音频编解码方法和相关产品
CN108428457B (zh) * 2018-02-12 2021-03-23 北京百度网讯科技有限公司 音频去重方法及装置
US10932122B1 (en) * 2019-06-07 2021-02-23 Sprint Communications Company L.P. User equipment beam effectiveness

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060029239A1 (en) 2004-08-03 2006-02-09 Smithers Michael J Method for combining audio signals using auditory scene analysis

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7573912B2 (en) * 2005-02-22 2009-08-11 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschunng E.V. Near-transparent or transparent multi-channel encoder/decoder scheme
US8112286B2 (en) * 2005-10-31 2012-02-07 Panasonic Corporation Stereo encoding device, and stereo signal predicting method
US20080294446A1 (en) * 2007-05-22 2008-11-27 Linfeng Guo Layer based scalable multimedia datastream compression
US9653088B2 (en) * 2007-06-13 2017-05-16 Qualcomm Incorporated Systems, methods, and apparatus for signal encoding using pitch-regularizing and non-pitch-regularizing coding
EP2381439B1 (en) 2009-01-22 2017-11-08 III Holdings 12, LLC Stereo acoustic signal encoding apparatus, stereo acoustic signal decoding apparatus, and methods for the same
CN105225667B (zh) * 2009-03-17 2019-04-05 杜比国际公司 编码器系统、解码器系统、编码方法和解码方法
CN102222505B (zh) * 2010-04-13 2012-12-19 中兴通讯股份有限公司 可分层音频编解码方法系统及瞬态信号可分层编解码方法
PL2633521T3 (pl) * 2010-10-25 2019-01-31 Voiceage Corporation Kodowanie zwykłych sygnałów audio przy małych przepływnościach bitowych i małym opóźnieniu
WO2014013294A1 (en) * 2012-07-19 2014-01-23 Nokia Corporation Stereo audio signal encoder
US9601125B2 (en) * 2013-02-08 2017-03-21 Qualcomm Incorporated Systems and methods of performing noise modulation and gain adjustment
IL278164B (en) * 2013-04-05 2022-08-01 Dolby Int Ab Audio encoder and decoder
KR102251833B1 (ko) * 2013-12-16 2021-05-13 삼성전자주식회사 오디오 신호의 부호화, 복호화 방법 및 장치
US10074373B2 (en) 2015-12-21 2018-09-11 Qualcomm Incorporated Channel adjustment for inter-frame temporal shift variations
US10210871B2 (en) * 2016-03-18 2019-02-19 Qualcomm Incorporated Audio processing for temporally mismatched signals

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060029239A1 (en) 2004-08-03 2006-02-09 Smithers Michael J Method for combining audio signals using auditory scene analysis

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Audio codec processing functions, Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec. 3GPP TS 26.290 version 9.0.0 Release 9, 2009.09.
ISO/IEC FDIS 23003-3:2011(E), Information technology - MPEG audio technologies - Part 3: Unified speech and audio coding. ISO/IEC JTC 1/SC 29/WG 11. 2011.09.20.

Also Published As

Publication number Publication date
EP3739579A1 (en) 2020-11-18
CN108780648A (zh) 2018-11-09
EP3430621B1 (en) 2020-09-16
EP3430621A1 (en) 2019-01-23
JP2019512735A (ja) 2019-05-16
BR112018068608A2 (pt) 2019-02-05
TW201737243A (zh) 2017-10-16
US20170270934A1 (en) 2017-09-21
EP3739579C0 (en) 2023-12-06
ES2837478T3 (es) 2021-06-30
US20180336907A1 (en) 2018-11-22
CN116721667A (zh) 2023-09-08
KR102461411B1 (ko) 2022-10-31
KR20220150996A (ko) 2022-11-11
US10204629B2 (en) 2019-02-12
EP3739579B1 (en) 2023-12-06
JP6978425B2 (ja) 2021-12-08
US10210871B2 (en) 2019-02-19
KR20180125963A (ko) 2018-11-26
WO2017161309A1 (en) 2017-09-21
TWI743097B (zh) 2021-10-21
CA3014675A1 (en) 2017-09-21
CN108780648B (zh) 2023-07-14

Similar Documents

Publication Publication Date Title
CN108701465B (zh) 音频信号解码
KR102557066B1 (ko) 시간적으로 불일치된 신호들에 대한 오디오 프로세싱
KR102391271B1 (ko) 다수의 오디오 신호들의 인코딩
RU2762302C1 (ru) Устройство, способ или компьютерная программа для оценки разности во времени между каналами
KR102551431B1 (ko) 목표 샘플 발생
EP3391371B1 (en) Temporal offset estimation

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant