KR20180094904A - 시간 오프셋 추정 - Google Patents
시간 오프셋 추정 Download PDFInfo
- Publication number
- KR20180094904A KR20180094904A KR1020187016920A KR20187016920A KR20180094904A KR 20180094904 A KR20180094904 A KR 20180094904A KR 1020187016920 A KR1020187016920 A KR 1020187016920A KR 20187016920 A KR20187016920 A KR 20187016920A KR 20180094904 A KR20180094904 A KR 20180094904A
- Authority
- KR
- South Korea
- Prior art keywords
- value
- comparison values
- channel
- audio signal
- comparison
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 175
- 238000009499 grossing Methods 0.000 claims abstract description 104
- 230000002123 temporal effect Effects 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims description 81
- 230000007774 longterm Effects 0.000 claims description 72
- 230000008859 change Effects 0.000 claims description 69
- 230000007704 transition Effects 0.000 claims description 16
- 230000003044 adaptive effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims 1
- 230000005236 sound signal Effects 0.000 description 387
- 230000000875 corresponding effect Effects 0.000 description 95
- 238000010586 diagram Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 28
- 230000003111 delayed effect Effects 0.000 description 24
- 238000012952 Resampling Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 7
- 230000001364 causal effect Effects 0.000 description 7
- 238000007670 refining Methods 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 3
- 238000005314 correlation function Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000012447 hatching Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S1/00—Two-channel systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S7/00—Indicating arrangements; Control arrangements, e.g. balance control
- H04S7/30—Control circuits for electronic adaptation of the sound field
- H04S7/307—Frequency adjustment, e.g. tone control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2400/00—Details of stereophonic systems covered by H04S but not provided for in its groups
- H04S2400/01—Multi-channel, i.e. more than two input channels, sound reproduction with two speakers wherein the multi-channel information is substantially preserved
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2400/00—Details of stereophonic systems covered by H04S but not provided for in its groups
- H04S2400/03—Aspects of down-mixing multi-channel audio to configurations with lower numbers of playback channels, e.g. 7.1 -> 5.1
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2400/00—Details of stereophonic systems covered by H04S but not provided for in its groups
- H04S2400/15—Aspects of sound capture and related signal processing for recording or reproduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2420/00—Techniques used stereophonic systems covered by H04S but not provided for in its groups
- H04S2420/03—Application of parametric coding in stereophonic audio systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Acoustics & Sound (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Circuit For Audible Band Transducer (AREA)
- Stereophonic System (AREA)
- Telephone Function (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
채널을 비인과적으로 시프트하는 방법이 인코더에서 비교 값들을 추정하는 단계를 포함한다. 각각의 비교 값이 이전에 캡처된 기준 채널 및 대응하는 이전에 캡처된 타겟 채널 사이의 시간적 불일치의 양을 나타낸다. 그 방법은 이력적 비교 값 데이터 및 평활화 파라미터에 기초하여 평활화된 비교 값들을 생성하기 위해 비교 값들을 평활화하는 단계를 또한 포함한다. 그 방법은 평활화된 비교 값들에 기초하여 잠정적 시프트 값을 추정하는 단계를 더 포함한다. 그 방법은 기준 채널과 시간적으로 정렬되는 조정된 타겟 채널을 생성하기 위해 비인과적 시프트 값에 의해 타겟 채널을 비인과적으로 시프트하는 단계를 또한 포함한다. 비인과적 시프트 값은 잠정적 시프트 값에 기초한다. 그 방법은, 기준 채널 및 조정된 타겟 채널에 기초하여, 중간 대역 채널 또는 사이드 대역 채널 중 적어도 하나를 생성하는 단계를 더 포함한다.
Description
우선권 주장
본 출원은 공동 소유의 발명의 명칭이 "TEMPORAL OFFSET ESTIMATION"인 2015년 12월 18일자로 출원된 미국 가특허 출원 제62/269,796호와, 발명의 명칭이 "TEMPORAL OFFSET ESTIMATION"인 2016년 12월 8일자로 출원된 미국 정규특허 출원 제15/372,802호로부터의 우선권의 이익을 주장하며, 각각의 전술한 출원들의 내용들은 그 전부가 참조로 본 명세서에 명시적으로 포함된다.
분야
본 개시물은 대체로 다수의 채널들의 시간 오프셋을 추정하는 것에 관한 것이다.
기술에서의 진보가 컴퓨팅 디바이스들이 더 작고 더 강력해지게 하였다. 예를 들어, 작고, 경량이고, 사용자들이 쉽게 휴대하는 모바일 및 스마트 폰들과 같은 무선 전화기들, 태블릿들 및 랩톱 컴퓨터들을 포함하는 다양한 휴대용 개인 컴퓨팅 디바이스들이 현재 존재한다. 이들 디바이스들은 음성 및 데이터 패킷들을 무선 네트워크들을 통해 통신할 수 있다. 게다가, 많은 이러한 디바이스들은 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 레코더, 및 오디오 파일 플레이어와 같은 추가적인 기능을 통합한다. 또한, 이러한 디바이스들은, 소프트웨어 애플리케이션들, 이를테면 인터넷에 액세스하는데 사용될 수 있는 웹 브라우저 애플리케이션을 포함하는 실행가능 명령들을 프로세싱할 수 있다. 이처럼, 이들 디바이스들은 상당한 컴퓨팅 능력들을 포함할 수 있다.
컴퓨팅 디바이스가 오디오 신호들을 수신하기 위해 다수의 마이크로폰들을 포함할 수도 있다. 일반적으로, 사운드 소스가 다수의 마이크로폰들 중 제 2 마이크로폰보다 제 1 마이크로폰에 더 가깝다. 따라서, 제 2 마이크로폰으로부터 수신된 제 2 오디오 신호가 제 1 마이크로폰으로부터 수신된 제 1 오디오 신호에 비해 지연될 수도 있다. 스테레오 인코딩에서, 마이크로폰들로부터의 오디오 신호들은 중간 채널과 하나 이상의 사이드 채널들을 생성하도록 인코딩될 수도 있다. 중간 채널은 제 1 오디오 신호와 제 2 오디오 신호의 합에 해당할 수도 있다. 사이드 채널 신호가 제 1 오디오 신호와 제 2 오디오 신호 사이의 차이에 해당할 수도 있다. 제 1 오디오 신호는 제 1 오디오 신호에 비한 제 2 오디오 신호를 수신함에 있어서의 지연 때문에 제 2 오디오 신호와 시간적으로 정렬되지 않을 수도 있다. 제 2 오디오 신호에 비한 제 1 오디오 신호의 오정렬 (또는 "시간 오프셋") 은 사이드 채널의 크기를 증가시킬 수도 있다. 사이드 채널의 크기에서의 증가 때문에, 더 많은 수의 비트들이 사이드 채널을 인코딩하기 위해 필요할 수도 있다.
덧붙여, 상이한 프레임 유형들이 컴퓨팅 디바이스가 상이한 시간 오프셋들 또는 시프트 추정값들을 생성하게 할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 제 1 오디오 신호의 유성음 (voiced) 프레임이 제 2 오디오 신호에서의 대응하는 유성음 프레임에 의해 특정 양만큼 오프셋된다고 결정할 수도 있다. 그러나, 상대적으로 높은 양의 잡음으로 인해, 컴퓨팅 디바이스는 제 1 오디오 신호의 전이 (transition) 프레임 (또는 무성음 (unvoiced) 프레임) 이 제 2 오디오 신호의 대응하는 전이 프레임 (또는 대응하는 무성음 프레임) 에 의해 상이한 양만큼 오프셋된다고 결정할 수도 있다. 시프트 추정값들에서의 변화들은 프레임 경계들에서 샘플 반복 및 아티팩트 스키핑을 야기할 수도 있다. 덧붙여, 시프트 추정값들에서의 변화는 더 높은 사이드 채널 에너지들을 초래할 수도 있으며, 이는 코딩 효율을 감소시킬 수도 있다.
본 명세서에서 개시되는 기법들의 하나의 구현예에 따르면, 다수의 마이크로폰들에서 캡처된 오디오 사이의 시간 오프셋을 추정하는 방법이 제 1 마이크로폰에서 기준 채널을 캡처하는 단계와 제 2 마이크로폰에서 타겟 채널을 캡처하는 단계를 포함한다. 기준 채널은 기준 프레임을 포함하고, 타겟 채널은 타겟 프레임을 포함한다. 그 방법은 기준 프레임과 타겟 프레임 사이의 지연을 추정하는 단계를 또한 포함한다. 그 방법은 지연에 기초하여 그리고 이력적 지연 데이터에 기초하여 기준 채널과 타겟 채널 사이의 시간 오프셋을 추정하는 단계를 더 포함한다.
본 명세서에서 개시되는 기법들의 다른 구현예에 따르면, 다수의 마이크로폰들에서 캡처된 오디오 사이의 시간 오프셋을 추정하는 장치가 기준 채널을 캡처하도록 구성되는 제 1 마이크로폰과 타겟 채널을 캡처하도록 구성되는 제 2 마이크로폰을 포함한다. 기준 채널은 기준 프레임을 포함하고, 타겟 채널은 타겟 프레임을 포함한다. 그 장치는 프로세서와 프로세서로 하여금 기준 프레임과 타겟 프레임 사이의 지연을 추정하게 하도록 실행 가능한 명령들을 저장하는 메모리를 또한 포함한다. 그 명령들은 프로세서로 하여금 지연에 기초하여 그리고 이력적 지연 데이터에 기초하여 기준 채널과 타겟 채널 사이의 시간 오프셋을 추정하게 하도록 또한 실행 가능하다.
본 명세서에서 개시되는 기법들의 다른 구현예에 따르면, 비일시적 컴퓨터 판독가능 매체가 다수의 마이크로폰들에서 캡처된 오디오 사이의 시간 오프셋을 추정하기 위한 명령들을 포함한다. 그 명령들은, 프로세서에 의해 실행될 때, 프로세서로 하여금 기준 프레임과 타겟 프레임 사이의 지연을 추정하는 동작을 포함하는 동작들을 수행하게 한다. 기준 프레임은 제 1 마이크로폰에서 캡처되는 기준 채널에 포함되고, 타겟 프레임은 제 2 마이크로폰에서 캡처되는 타겟 채널에 포함된다. 그 동작들은 지연에 기초하여 그리고 이력적 지연 데이터에 기초하여 기준 채널과 타겟 채널 사이의 시간 오프셋을 추정하는 동작을 또한 포함한다.
본 명세서에서 개시되는 기법들의 다른 구현예에 따르면, 다수의 마이크로폰들에서 캡처된 오디오 사이의 시간 오프셋을 추정하는 장치가 기준 채널을 캡처하는 수단과 타겟 채널을 캡처하는 수단을 포함한다. 기준 채널은 기준 프레임을 포함하고, 타겟 채널은 타겟 프레임을 포함한다. 그 장치는 기준 프레임과 타겟 프레임 사이의 지연을 추정하는 수단을 또한 포함한다. 그 장치는 지연에 기초하여 그리고 이력적 지연 데이터에 기초하여 기준 채널과 타겟 채널 사이의 시간 오프셋을 추정하는 수단을 더 포함한다.
본 명세서에서 개시되는 기법들의 다른 구현예에 따르면, 채널을 비인과적으로 시프트하는 방법이 인코더에서 비교 값들을 추정하는 단계를 포함한다. 각각의 비교 값이 이전에 캡처된 기준 채널 및 대응하는 이전에 캡처된 타겟 채널 사이의 시간적 불일치의 양을 나타낸다. 그 방법은 이력적 비교 값 데이터 및 평활화 파라미터에 기초하여 평활화된 비교 값들을 생성하기 위해 비교 값들을 평활화하는 단계를 또한 포함한다. 그 방법은 평활화된 비교 값들에 기초하여 잠정적 시프트 값을 추정하는 단계를 더 포함한다. 그 방법은 기준 채널과 시간적으로 정렬되는 조정된 타겟 채널을 생성하기 위해 비인과적 시프트 값에 의해 타겟 채널을 비인과적으로 시프트하는 단계를 또한 포함한다. 비인과적 시프트 값은 잠정적 시프트 값에 기초한다. 그 방법은, 기준 채널 및 조정된 타겟 채널에 기초하여, 중간 대역 채널 또는 사이드 대역 채널 중 적어도 하나를 생성하는 단계를 더 포함한다.
본 명세서에서 개시되는 기법들의 다른 구현예에 따르면, 채널을 비인과적으로 시프트하는 장치가 기준 채널을 캡처하도록 구성되는 제 1 마이크로폰과 타겟 채널을 캡처하도록 구성되는 제 2 마이크로폰을 포함한다. 그 장치는 비교 값들을 추정하도록 구성되는 인코더를 또한 포함한다. 각각의 비교 값이 이전에 캡처된 기준 채널 및 대응하는 이전에 캡처된 타겟 채널 사이의 시간적 불일치의 양을 나타낸다. 인코더는 이력적 비교 값 데이터 및 평활화 파라미터에 기초하여 평활화된 비교 값들을 생성하기 위해 비교 값들을 평활화하도록 또한 구성된다. 인코더는 추가로, 평활화된 비교 값들에 기초하여 잠정적 시프트 값을 추정하도록 구성된다. 인코더는 기준 채널과 시간적으로 정렬되는 조정된 타겟 채널을 생성하기 위해 타겟 채널을 비인과적 시프트 값만큼 비인과적으로 시프트하도록 또한 구성된다. 비인과적 시프트 값은 잠정적 시프트 값에 기초한다. 인코더는 추가로, 기준 채널 및 조정된 타겟 채널에 기초하여, 중간 대역 채널 또는 사이드 대역 채널 중 적어도 하나를 생성하도록 구성된다.
본 명세서에서 개시되는 기법들의 다른 구현예에 따르면, 비일시적 컴퓨터 판독가능 매체가 채널을 비인과적으로 시프트하기 위한 명령들을 포함한다. 그 명령들은, 인코더에 의해 실행될 때, 인코더로 하여금 비교 값들을 추정하는 것을 포함하는 동작들을 수행하게 한다. 각각의 비교 값이 이전에 캡처된 기준 채널 및 대응하는 이전에 캡처된 타겟 채널 사이의 시간적 불일치의 양을 나타낸다. 그 동작들은 이력적 비교 값 데이터 및 평활화 파라미터에 기초하여 평활화된 비교 값들을 생성하기 위해 비교 값들을 평활화하는 것을 또한 포함한다. 그 동작들은 평활화된 비교 값들에 기초하여 잠정적 시프트 값을 추정하는 것을 또한 포함한다. 그 동작들은 기준 채널과 시간적으로 정렬되는 조정된 타겟 채널을 생성하기 위해 비인과적 시프트 값에 의해 타겟 채널을 비인과적으로 시프트하는 것을 또한 포함한다. 비인과적 시프트 값은 잠정적 시프트 값에 기초한다. 그 동작들은, 기준 채널 및 조정된 타겟 채널에 기초하여, 중간 대역 채널 또는 사이드 대역 채널 중 적어도 하나를 생성하는 것을 또한 포함한다.
본 명세서에서 개시되는 기법들의 다른 구현예에 따르면, 채널을 비인과적으로 시프트하는 장치가 비교 값들을 추정하는 수단을 포함한다. 각각의 비교 값이 이전에 캡처된 기준 채널 및 대응하는 이전에 캡처된 타겟 채널 사이의 시간적 불일치의 양을 나타낸다. 그 장치는 이력적 비교 값 데이터 및 평활화 파라미터에 기초하여 평활화된 비교 값들을 생성하기 위해 비교 값들을 평활화하는 수단을 또한 포함한다. 그 장치는 평활화된 비교 값들에 기초하여 잠정적 시프트 값을 추정하는 수단을 또한 포함한다. 그 장치는 기준 채널과 시간적으로 정렬되는 조정된 타겟 채널을 생성하기 위해 비인과적 시프트 값에 의해 타겟 채널을 비인과적으로 시프트하는 수단을 또한 포함한다. 비인과적 시프트 값은 잠정적 시프트 값에 기초한다. 그 장치는, 기준 채널 및 조정된 타겟 채널에 기초하여, 중간 대역 채널 또는 사이드 대역 채널 중 적어도 하나를 생성하는 수단을 또한 포함한다.
도 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은 다수의 채널들을 인코딩하도록 동작 가능한 기지국의 블록도이다.
도 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은 다수의 채널들을 인코딩하도록 동작 가능한 기지국의 블록도이다.
다수의 오디오 신호들을 인코딩하도록 동작 가능한 시스템들 및 디바이스들이 개시된다. 디바이스가 다수의 오디오 신호들을 인코딩하도록 구성되는 인코더를 포함할 수도 있다. 다수의 오디오 신호들은 다수의 레코딩 디바이스들, 예컨대, 다수의 마이크로폰들을 사용하여 시간적으로 동시에 캡처될 수도 있다. 일부 예들에서, 다수의 오디오 신호들 (또는 멀티-채널 오디오) 은 동일한 시간에 또는 상이한 시간들에 기록되는 여러 오디오 채널들을 다중화함으로써 합성적으로 (예컨대, 인위적으로) 생성될 수도 있다. 구체적인 예들로서, 오디오 채널들의 동시 기록 또는 다중화는 2-채널 구성 (즉, 스테레오: 좌측 및 우측), 5.1 채널 구성 (좌측, 우측, 중앙, 좌측 서라운드, 우측 서라운드, 및 저 주파 앰퍼시스 (low frequency emphasis, LFE) 채널들), 7.1 채널 구성, 7.1+4 채널 구성, 22.2 채널 구성, 또는 N-채널 구성을 초래할 수도 있다.
원격회의실들 (또는 텔레프레전스 (telepresence) 룸들) 에서의 오디오 캡처 디바이스들이 공간적 오디오를 취득하는 다수의 마이크로폰들을 포함할 수도 있다. 공간적 오디오는 인코딩되고 송신되는 배경 오디오 뿐만 아니라 스피치를 포함할 수도 있다. 주어진 소스 (예컨대, 화자 (talker)) 로부터의 스피치/오디오는 마이크로폰들 및 룸 치수들에 대하여 소스 (예컨대, 화자) 가 위치되는 곳 뿐만 아니라 마이크로폰들이 배열되는 방법에 의존하여 상이한 시간들에서 다수의 마이크로폰들에 도착할 수도 있다. 예를 들어, 사운드 소스 (예컨대, 화자) 가 디바이스에 연관된 제 2 마이크로폰보다 디바이스에 연관된 제 1 마이크로폰에 더 가까울 수도 있다. 따라서, 사운드 소스로부터 방출된 사운드가 제 2 마이크로폰보다 시간적으로 더 일찍 제 1 마이크로폰에 도달할 수도 있다. 디바이스는 제 1 오디오 신호를 제 1 마이크로폰을 통해 수신할 수도 있고 제 2 오디오 신호를 제 2 마이크로폰을 통해 수신할 수도 있다.
중간-사이드 (mid-side, MS) 코딩과 파라메트릭 스테레오 (parametric stereo, PS) 코딩이 듀얼-모노 코딩 기법들보다 개선된 효율을 제공할 수도 있는 스테레오 코딩 기법들이다. 듀얼-모노 코딩에서, 좌측 (L) 채널 (또는 신호) 및 우측 (R) 채널 (또는 신호) 은 채널 간 상관을 사용하는 일 없이 독립적으로 코딩된다. MS 코딩은 좌측 채널 및 우측 채널을 코딩에 앞서 합-채널 및 차이-채널 (예컨대, 사이드 채널) 로 변환함으로써 상관된 L/R 채널-쌍 사이의 리던던시를 감소시킨다. 합 신호와 차이 신호는 MS 코딩으로 파형 코딩된다. 비교적 더 많은 비트들이 사이드 신호에서보다 합 신호에서 소비된다. PS 코딩은 L/R 신호들을 합 신호와 사이드 파라미터들의 세트로 변환함으로써 각각의 서브 대역에서의 리던던시를 감소시킨다. 사이드 파라미터들은 채널 간 세기 차이 (inter-channel intensity difference, IID), 채널 간 위상 차이 (inter-channel phase difference, IPD), 채널 간 시간 차이 (inter-channel time difference, ITD) 등을 나타낼 수도 있다. 합 신호는 사이드 파라미터들과 함께 파형 코딩되고 송신된다. 하이브리드 시스템에서, 사이드-채널은 하위 대역들 (예컨대, 2 킬로헤르츠 (kHz) 미만) 에서 파형 코딩되고 채널 간 위상 보존이 인지적으로 덜 중요한 상위 대역들 (예컨대, 2 kHz 이상) 에서 PS 코딩될 수도 있다.
MS 코딩과 PS 코딩은 주파수 도메인에서 또는 서브 대역 도메인에서 중 어느 하나에서 행해질 수도 있다. 일부 예들에서, 좌측 채널과 우측 채널은 비상관될 수도 있다. 예를 들어, 좌측 채널과 우측 채널은 비상관된 합성 신호들을 포함할 수도 있다. 좌측 채널과 우측 채널이 비상관될 때, MS 코딩, PS 코딩, 또는 둘 다의 코딩 효율은, 듀얼-모노 코딩의 코딩 효율에 접근할 수도 있다.
기록 구성에 의존하여, 좌측 채널과 우측 채널 사이의 시간적 시프트, 뿐만 아니라 에코 및 룸 잔향 (reverberation) 과 같은 다른 공간적 효과들이 있을 수도 있다. 채널들 사이의 시간적 시프트 및 위상 불일치가 보상되지 않으면, 합 채널과 차이 채널은 MS 또는 PS 기법들에 연관된 코딩-이득들을 감소시키는 필적하는 에너지들을 포함할 수도 있다. 코딩-이득들에서의 감소는 시간적 (또는 위상) 시프트의 양에 기초할 수도 있다. 합 신호 및 차이 신호의 필적하는 에너지들은 채널들이 시간적으로 시프트되지만 고도로 상관되는 특정한 프레임들에서 MS 코딩의 사용을 제한할 수도 있다. 스테레오 코딩에서, 중간 채널 (예컨대, 합 채널) 과 사이드 채널 (예컨대, 차이 채널) 이 다음의 공식에 기초하여 생성될 수도 있으며:
M = (L+R)/2, S = (L-R)/2,
공식 1
여기서 M은 중간 채널에 해당하며, S는 사이드 채널에 해당하며, L은 좌측 채널에 해당하고, R은 우측 채널에 해당한다.
일부 경우들에서, 중간 채널과 사이드 채널은 다음의 공식에 기초하여 생성될 수도 있으며:
M = c(L+R), S = c(L-R),
공식 2
여기서 c는 주파수 의존적인 복소수 값에 해당한다. 공식 1 또는 공식 2에 기초하여 중간 채널 및 사이드 채널을 생성하는 것은 "다운믹싱 (downmixing)" 알고리즘을 수행하는 것이라고 지칭될 수도 있다. 공식 1 또는 공식 2에 기초하여 중간 채널 및 사이드 채널로부터 좌측 채널 및 우측 채널을 생성하는 역 프로세스가 "업믹싱 (upmixing)" 알고리즘이라고 지칭될 수도 있다.
특정 프레임에 대해 MS 코딩 또는 듀얼-모노 코딩 사이에서 선택하는데 사용되는 애드-혹 접근법이 중간 신호와 사이드 신호를 생성하는 것, 중간 신호 및 사이드 신호의 에너지들을 계산하는 것, 및 그 에너지들에 기초하여 MS 코딩을 수행할지의 여부를 결정하는 것을 포함할 수도 있다. 예를 들어, 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 프레임에 관하여 지연되는 시간량에 해당할 수도 있다.
사운드 소스가 제 2 마이크로폰보다 제 1 마이크로폰에 더 가까울 때, 제 2 오디오 신호의 프레임들은 제 1 오디오 신호의 프레임들에 비해 지연될 수도 있다. 이 경우, 제 1 오디오 신호는 "기준 오디오 신호" 또는 "기준 채널"이라고 지칭될 수도 있고 지연된 제 2 오디오 신호는 "타겟 오디오 신호" 또는 "타겟 채널"이라고 지칭될 수도 있다. 대안적으로, 사운드 소스가 제 1 마이크로폰보다 제 2 마이크로폰에 더 가까울 때, 제 1 오디오 신호의 프레임들은 제 2 오디오 신호의 프레임들에 비해 지연될 수도 있다. 이 경우, 제 2 오디오 신호는 기준 오디오 신호 또는 기준 채널이라고 지칭될 수도 있고 지연된 제 1 오디오 신호는 타겟 오디오 신호 또는 타겟 채널이라고 지칭될 수도 있다.
사운드 소스들 (예컨대, 화자들) 이 회의 또는 텔레프레전스 룸에서 위치되는 곳 또는 사운드 소스 (예컨대, 화자) 포지션이 마이크로폰들에 비해 변화하는 방법에 의존하여, 기준 채널과 타겟 채널은 프레임마다 변화할 수도 있으며; 유사하게, 시간 지연 값은 프레임마다 또한 변화할 수도 있다. 그러나, 일부 구현예들에서, 불일치 값은 "기준" 채널에 비한 "타겟" 채널의 지연의 양을 나타내기 위해 항상 양 (positive) 일 수도 있다. 더욱이, 불일치 값은 타겟 채널이 "기준" 채널과 정렬 (예컨대, 최대한으로 정렬) 되도록 지연된 타겟 채널이 시간적으로 "후퇴되게 (pulled back)" 하는 "비인과적 시프트" 값에 해당할 수도 있다. 중간 채널과 사이드 채널을 결정하기 위한 다운믹스 알고리즘은 기준 채널과 비인과적 시프트된 타겟 채널에 대해 수행될 수도 있다.
인코더는 기준 오디오 채널과 타겟 오디오 채널에 적용되는 복수의 불일치 값들에 기초하여 불일치 값을 결정할 수도 있다. 예를 들어, 기준 오디오 채널 (X) 의 제 1 프레임이, 제 1 시간 (m1) 에 수신될 수도 있다. 타겟 오디오 채널 (Y) 의 제 1 특정 프레임이, 제 1 불일치 값, 예컨대, shift1 = n1 - m1에 대응하는 제 2 시간 (n1) 에 수신될 수도 있다. 게다가, 기준 오디오 채널의 제 2 프레임이 제 3 시간 (m2) 에 수신될 수도 있다. 타겟 오디오 채널의 제 2 특정 프레임이 제 2 불일치 값, 예컨대, shift2 = n2 - m2에 대응하는 제 4 시간 (n2) 에 수신될 수도 있다.
디바이스는 제 1 샘플링 레이트 (예컨대, 32 kHz 샘플링 레이트 (즉, 프레임 당 640 개 샘플들)) 에서 프레임 (예컨대, 20 ms 샘플들) 을 생성하기 위해 프레이밍 (framing) 또는 버퍼링 알고리즘을 수행할 수도 있다. 인코더는, 제 1 오디오 신호의 제 1 프레임과 제 2 오디오 신호의 제 2 프레임이 동일한 시간에 디바이스에 도착한다는 결정에 응답하여, 불일치 값 (예컨대, shift1) 을 영 개 샘플과 동일한 것으로서 추정할 수도 있다. 좌측 채널 (예컨대, 제 1 오디오 신호에 대응함) 과 우측 채널 (예컨대, 제 2 오디오 신호에 대응함) 이 시간적으로 정렬될 수도 있다. 일부 경우들에서, 좌측 채널과 우측 채널은, 심지어 정렬될 때에도, 다양한 이유들 (예컨대, 마이크로폰 교정) 로 인해 에너지가 상이할 수도 있다.
일부 예들에서, 좌측 채널과 우측 채널은 다양한 이유들 (예컨대, 사운드 소스, 이를테면 화자가, 마이크로폰들 중 하나의 마이크로폰에 다른 마이크로폰보다 더 가까울 수도 있고, 두 개의 마이크로폰들이 임계값 (예컨대, 1~20 센티미터) 거리보다 더 많이 떨어져 있을 수도 있음) 로 인해 시간적으로 정렬되지 않을 수도 있다. 마이크로폰들에 비한 사운드 소스의 로케이션이 좌측 채널과 우측 채널에서 상이한 지연들을 도입할 수도 있다. 덧붙여서, 좌측 채널과 우측 채널 사이에 이득 차이, 에너지 차이, 또는 레벨 차이가 있을 수도 있다.
일부 예들에서, 다수의 화자들이 (예컨대, 중첩 없이) 번갈아 말할 때 다수의 사운드 소스들 (예컨대, 화자들) 로부터의 마이크로폰들에서의 오디오 신호들의 도착 시간이 가변할 수도 있다. 이러한 경우에, 인코더는 기준 채널을 식별하기 위해 화자에 기초하여 시간적 불일치 값을 동적으로 조정할 수도 있다. 일부 다른 예들에서, 다수의 화자들이 동일한 시간에 말하고 있을 수도 있으며, 이는 마이크로폰에 가장 가까운 가장 시끄러운 화자 등에 의존하여 시간적 불일치 값들을 가변시키는 결과를 초래할 수도 있다.
일부 예들에서, 제 1 오디오 신호와 제 2 오디오 신호는 두 개의 신호들이 적은 (예컨대, 없는) 상관을 잠재적으로 나타낼 때 합성되거나 또는 부자연스럽게 생성될 수도 있다. 본 명세서에서 설명되는 예들은 예시적이고 유사하거나 또는 상이한 상황들에서 제 1 오디오 신호와 제 2 오디오 신호 사이에 관계를 결정함에 있어서 유익할 수도 있다는 것이 이해되어야 한다.
인코더는 제 1 오디오 신호의 제 1 프레임과 제 2 오디오 신호의 복수의 프레임들의 비교에 기초하여 비교 값들 (예컨대, 차이 값들 또는 상호 상관 값들) 을 생성할 수도 있다. 복수의 프레임들 중 각각의 프레임이 특정 불일치 값에 대응할 수도 있다. 인코더는 비교 값들에 기초하여 제 1 추정된 불일치 값을 생성할 수도 있다. 예를 들어, 제 1 추정된 불일치 값은 제 1 오디오 신호의 제 1 프레임과 제 2 오디오 신호의 대응하는 제 1 프레임 사이의 더 높은 시간적 유사도 (또는 더 낮은 차이) 를 나타내는 비교 값에 해당할 수도 있다.
인코더는, 다수의 스테이지들에서, 일련의 추정된 불일치 값들을 리파인함으로써 최종 불일치 값을 결정할 수도 있다. 예를 들어, 인코더는 제 1 오디오 신호 및 제 2 오디오 신호의 스테레오 프리-프로세싱된 및 재샘플링된 버전들로부터 생성된 비교 값들에 기초하여 "잠정적" 불일치 값을 먼저 추정할 수도 있다. 인코더는 추정된 "잠정적" 불일치 값에 근접한 불일치 값들에 연관된 보간된 비교 값들을 생성할 수도 있다. 인코더는 보간된 비교 값들에 기초하여 제 2 추정된 "보간된" 불일치 값을 결정할 수도 있다. 예를 들어, 제 2 추정된 "보간된" 불일치 값은 나머지 보간된 비교 값들 및 제 1 추정된 "잠정적" 불일치 값보다 더 높은 시간적 유사도 (또는 더 낮은 차이) 를 나타내는 특정 보간된 비교 값에 해당할 수도 있다. 현재 프레임 (예컨대, 제 1 오디오 신호의 제 1 프레임) 의 제 2 추정된 "보간된" 불일치 값이 이전 프레임 (예컨대, 제 1 프레임에 선행하는 제 1 오디오 신호의 프레임) 의 최종 불일치 값과 상이하면, 현재 프레임의 "보간된" 불일치 값은 제 1 오디오 신호와 시프트된 제 2 오디오 신호 사이의 시간적 유사도를 개선하기 위해 추가로 "보정된"다. 특히, 제 3 추정된 "보정된" 불일치 값이 현재 프레임의 제 2 추정된 "보간된" 불일치 값과 이전 프레임의 최종 추정된 불일치 값 주위를 검색함으로써 시간적 유사도의 더욱 정확한 측정값에 해당할 수도 있다. 제 3 추정된 "보정된" 불일치 값은 프레임들 사이의 불일치 값에서의 임의의 스퓨리어스 (spurious) 변화들을 제한함으로써 최종 불일치 값을 추정하도록 추가로 컨디셔닝되고, 본 명세서에서 설명되는 바와 같은 두 개의 연속하는 (또는 연속적인) 프레임들에서 음의 불일치 값으로부터 양의 불일치 값으로 (또는 그 반대로) 스위칭하지 않도록 추가로 제어된다.
일부 예들에서, 인코더는 연속 프레임들에서 또는 인접한 프레임들에서 양의 불일치 값과 음의 불일치 값 사이에서 또는 반대로 스위칭하는 것을 하지 않을 수도 있다. 예를 들어, 인코더는 제 1 프레임의 추정된 "보간된" 또는 "보정된" 불일치 값과 제 1 프레임에 선행하는 특정 프레임에서의 대응하는 추정된 "보간된" 또는 "보정된" 또는 최종 불일치 값에 기초하여 시간적 시프트가 없음을 나타내는 특정 값 (예컨대, 0) 으로 최종 불일치 값을 설정할 수도 있다. 예시하기 위해, 인코더는, 현재 프레임 (예컨대, 제 1 프레임) 의 추정된 "잠정적" 또는 "보간된" 또는 "보정된" 불일치 값 중 하나가 양이고 이전 프레임 (예컨대, 제 1 프레임에 선행하는 프레임) 의 추정된 "잠정적" 또는 "보간된" 또는 "보정된" 또는 "최종" 추정된 불일치 값 중 다른 하나가 음이라는 결정에 응답하여, 시간적 시프트가 없음, 즉, shift1 = 0임을 나타내도록 현재 프레임의 최종 불일치 값을 설정할 수도 있다. 대안적으로, 인코더는, 현재 프레임 (예컨대, 제 1 프레임) 의 추정된 "잠정적" 또는 "보간된" 또는 "보정된" 불일치 값 중 하나가 음이고 이전 프레임 (예컨대, 제 1 프레임에 선행하는 프레임) 의 추정된 "잠정적" 또는 "보간된" 또는 "보정된" 또는 "최종" 추정된 불일치 값 중 다른 하나가 양이라는 결정에 응답하여, 시간적 시프트가 없음, 즉, shift1 = 0임을 나타내도록 현재 프레임의 최종 불일치 값을 또한 설정할 수도 있다.
인코더는 그 불일치 값에 기초하여 "기준" 또는 "타겟"으로서 제 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 프레임의 중간 신호, 사이드 신호, 또는 둘 다를 인코딩하는데 사용될 수도 있다. 저 대역 파라미터들, 고 대역 파라미터들, 또는 그 조합에 기초하여 중간 신호, 사이드 신호, 또는 둘 다를 인코딩하는 것은, 비인과적 불일치 값 및 채널 간 상대 이득 파라미터의 추정값들을 개선시킬 수도 있다. 저 대역 파라미터들, 고 대역 파라미터들, 또는 그 조합은, 피치 파라미터, 유성음화 (voicing) 파라미터, 코더 유형 파라미터, 저대역 에너지 파라미터, 고대역 에너지 파라미터, 틸트 파라미터, 피치 이득 파라미터, FCB 이득 파라미터, 코딩 모드 파라미터, 음성 활동도 파라미터, 잡음 추정 파라미터, 신호 대 잡음 비 파라미터, 포먼트 (formants) 파라미터, 스피치/음악 결정 파라미터, 비인과적 시프트, 채널 간 이득 파라미터, 또는 그 조합을 포함할 수도 있다. 디바이스의 송신기가 적어도 하나의 인코딩된 신호, 비인과적 불일치 값, 상대 이득 파라미터, 기준 채널 또는 신호 표시자, 또는 그 조합을 송신할 수도 있다.
도 1을 참조하면, 시스템의 특정 구체적인 예가 개시되고 전체가 100으로 지정된다. 시스템 (100) 은 제 2 디바이스 (106) 에, 네트워크 (120) 를 통해, 통신적으로 커플링되는 제 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) 는 우측 채널 또는 좌측 채널 중 다른 하나에 해당할 수도 있다. 도 1의 예에서, 제 1 오디오 신호 (130) 는 기준 채널이고 제 2 오디오 신호 (132) 는 타겟 채널이다. 따라서, 본 명세서에서 설명되는 구현예들에 따르면, 제 2 오디오 신호 (132) 는 제 1 오디오 신호 (130) 와 시간적으로 정렬하도록 조정될 수도 있다. 그러나, 아래에서 설명되는 바와 같이, 다른 구현들에서, 제 1 오디오 신호 (130) 는 타겟 채널일 수도 있고 제 2 오디오 신호 (132) 는 기준 채널일 수도 있다.
사운드 소스 (152) (예컨대, 사용자, 스피커, 주변 소음, 악기 등) 가 제 2 마이크로폰 (148) 보다는 제 1 마이크로폰 (146) 에 더 가까울 수도 있다. 따라서, 사운드 소스 (152) 로부터의 오디오 신호가 제 2 마이크로폰 (148) 을 통하는 것보다 더 이른 시간에 제 1 마이크로폰 (146) 을 통해 입력 인터페이스(들)(112) 에서 수신될 수도 있다. 다수의 마이크로폰들을 통한 멀티-채널 신호 취득에서의 이 자연적 지연은 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 사이의 시간적 시프트를 도입할 수도 있다.
시간 등화기 (108) 는 마이크로폰들 (146, 148) 에서 캡처된 오디오 사이의 시간 오프셋을 추정하도록 구성될 수도 있다. 시간 오프셋은 제 1 오디오 신호 (130) 의 제 1 프레임 (131) (예컨대, "기준 프레임") 과 제 2 오디오 신호 (132) 의 제 2 프레임 (133) (예컨대, "타겟 프레임") 사이의 지연에 기초하여 추정될 수도 있으며, 여기서 제 2 프레임 (133) 은 제 1 프레임 (131) 과는 실질적으로 유사한 콘텐츠를 포함한다. 예를 들어, 시간 등화기 (108) 는 제 1 프레임 (131) 과 제 2 프레임 (133) 사이의 상호 상관을 결정할 수도 있다. 상호 상관은 하나의 프레임의 다른 프레임에 비한 지체 (lag) 의 함수로서 두 개의 프레임들의 유사도를 측정할 수도 있다. 상호 상관에 기초하여, 시간 등화기 (108) 는 제 1 프레임 (131) 과 제 2 프레임 (133) 사이의 지연 (예컨대, 지체) 을 결정할 수도 있다. 시간 등화기 (108) 는 지연 및 이력적 지연 데이터에 기초하여 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 사이의 시간 오프셋을 추정할 수도 있다.
이력적 데이터는 제 1 마이크로폰 (146) 에서부터 캡처된 프레임들과 제 2 마이크로폰 (148) 에서부터 캡처된 대응 프레임들 사이의 지연들을 포함할 수도 있다. 예를 들어, 시간 등화기 (108) 는 제 1 오디오 신호 (130) 에 연관된 이전 프레임들과 제 2 오디오 신호 (132) 에 연관된 대응 프레임들 사이의 상호 상관 (예컨대, 지체) 을 결정할 수도 있다. 각각의 지체는 "비교 값"에 의해 표현될 수도 있다. 다시 말하면, 비교 값은 제 1 오디오 신호 (130) 의 프레임과 제 2 오디오 신호 (132) 의 대응하는 프레임 사이의 시간 시프트 (k) 를 나타낼 수도 있다. 하나의 구현예에 따르면, 이전 프레임들에 대한 비교 값들은 메모리 (153) 에 저장될 수도 있다. 시간 등화기 (108) 의 평활화기 (190) 가 장기 (long-term) 프레임 세트에 대한 비교 값들을 "평활화" (또는 평균화) 하고 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 사이의 시간 오프셋 (예컨대, "시프트") 을 추정하기 위해 장기 평활화된 비교 값들을 사용할 수도 있다.
예시하기 위해, 가 프레임 N에 대한 k의 시프트에서의 비교 값을 나타내면, 프레임 N은 k=T_MIN (최소 시프트) 부터 k=T_MAX (최대 시프트) 까지의 비교 값들을 가질 수도 있다. 평활화는 장기 비교 값 가 = 에 의해 표현되도록 수행될 수도 있다. 위의 수식에서의 함수 f는 시프트 (k) 에서의 과거 비교 값들의 모두 (또는 서브세트) 의 함수일 수도 있다. 대안적 표현은 = 일 수도 있다. 함수들 (f 또는 g) 은 각각 단순한 유한 임펄스 응답 (finite impulse response, FIR) 필터들 또는 무한 임펄스 응답 (infinite impulse response, IIR) 필터들일 수도 있다. 예를 들어, 함수 g는 장기 비교 값 가 인 = 에 의해 표현되도록 단일 탭 IIR 필터일 수도 있다. 따라서, 장기 비교 값 는 프레임 N에서의 순간 비교 값 와 하나 이상의 이전 프레임들에 대한 장기 비교 값들 의 가중된 혼합에 기초할 수도 있다. 의 값이 증가함에 따라, 장기 비교 값에서의 평활화 양은 증가한다. 일부 구현예들에서, 비교 값들은 정규화된 상호 상관 값들일 수도 있다. 다른 구현들에서, 비교 값들은 비-정규화된 상호 상관 값들일 수도 있다.
위에서 설명된 평활화 기법들은 유성음 프레임들, 무성음 프레임들, 및 전이 프레임들 사이의 시프트 추정값을 실질적으로 정규화할 수도 있다. 정규화된 시프트 추정값들은 프레임 경계들에서 샘플 반복 및 아티팩트 스키핑을 감소시킬 수도 있다. 덧붙여, 정규화된 시프트 추정값들은 감소된 사이드 채널 에너지들을 초래할 수도 있으며, 이는 코딩 효율을 개선시킬 수도 있다.
시간 등화기 (108) 는 제 2 오디오 신호 (132) (예컨대, "타겟") 에 비한 제 1 오디오 신호 (130) (예컨대, "기준") 의 시프트 (예컨대, 비인과적 불일치 또는 비인과적 시프트) 를 나타내는 최종 불일치 값 (116) (예컨대, 비인과적 불일치 값) 을 결정할 수도 있다. 최종 불일치 값 (116) 은 순간 비교 값 및 장기 비교 에 기초할 수도 있다. 예를 들어, 위에서 설명된 평활화 동작은, 도 5에 관해 설명되는 바와 같이, 잠정적 불일치 값에 대해, 보간된 불일치 값에 대해, 보정된 불일치 값, 또는 그 조합에 대해 수행될 수도 있다. 제 1 불일치 값 (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 프레임 (131) 에 선행할 수도 있다. 제 1 특정 프레임과 제 2 오디오 신호 (132) 의 제 2 특정 프레임이 사운드 소스 (152) 에 의해 방출된 동일한 사운드에 해당할 수도 있다. 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 사이의 지연은 제 2 특정 프레임에 대해 지연된 제 1 특정 프레임을 갖는 것에서부터 제 1 프레임 (131) 에 대해 지연된 제 2 프레임 (133) 을 갖는 것으로 스위칭할 수도 있다. 대안적으로, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 사이의 지연은 제 1 특정 프레임에 대해 지연된 제 2 특정 프레임을 갖는 것에서부터 제 2 프레임 (133) 에 대해 지연된 제 1 프레임 (131) 을 갖는 것으로 스위칭할 수도 있다. 시간 등화기 (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) 가 기준 신호라는 결정에 응답하여, 선택된 샘플들의 이득 파라미터 (160) 를 제 1 오디오 신호 (130) 의 제 1 프레임 (131) 의 제 1 샘플들에 기초하여 결정할 수도 있다. 대안적으로, 시간 등화기 (108) 는, 제 2 오디오 신호 (132) 가 기준 신호라는 결정에 응답하여, 선택된 샘플들에 기초하여 제 1 샘플들의 이득 파라미터 (160) 를 결정할 수도 있다. 일 예로서, 이득 파라미터 (160) 는 다음의 수식들 중 하나의 수식에 기초할 수도 있으며:
여기서 는 다운믹스 프로세싱을 위한 상대 이득 파라미터 (160) 에 해당하며, 은 "기준" 신호의 샘플들에 해당하며, 은 제 1 프레임 (131) 의 비인과적 불일치 값 (162) 에 해당하고, 은 "타겟" 신호의 샘플들에 해당한다. 이득 파라미터 (160) (gD) 는 프레임들 사이의 이득에서의 큰 점프들을 피하기 위한 장기 평활화/히스테리시스 로직을 포함하도록, 예컨대, 수식 1a 내지 1f 중 하나에 기초하여 수정될 수도 있다. 타겟 신호가 제 1 오디오 신호 (130) 를 포함할 때, 제 1 샘플들은 타겟 신호의 샘플들을 포함할 수도 있고 선택된 샘플들은 기준 신호의 샘플들을 포함할 수도 있다. 타겟 신호가 제 2 오디오 신호 (132) 를 포함할 때, 제 1 샘플들은 기준 신호의 샘플들을 포함할 수도 있고, 선택된 샘플들은 타겟 신호의 샘플들을 포함할 수도 있다.
일부 구현예들에서, 시간 등화기 (108) 는 기준 신호 표시자 (164) 에 무관하게, 제 1 오디오 신호 (130) 를 기준 신호로서 취급하는 것 및 제 2 오디오 신호 (132) 를 타겟 신호로서 취급하는 것에 기초하여 이득 파라미터 (160) 를 생성할 수도 있다. 예를 들어, 시간 등화기 (108) 는 Ref(n) 이 제 1 오디오 신호 (130) 의 샘플들 (예컨대, 제 1 샘플들) 에 해당하고 Targ(n+N1) 이 제 2 오디오 신호 (132) 의 샘플들 (예컨대, 선택된 샘플들) 에 해당하는 수식 1a~1f 중 하나에 기초하여 이득 파라미터 (160) 를 생성할 수도 있다. 대체 구현예들에서, 시간 등화기 (108) 는 기준 신호 표시자 (164) 에 무관하게, 제 2 오디오 신호 (132) 를 기준 신호로서 취급하는 것 및 제 1 오디오 신호 (130) 를 타겟 신호로서 취급하는 것에 기초하여 이득 파라미터 (160) 를 생성할 수도 있다. 예를 들어, 시간 등화기 (108) 는 Ref(n) 이 제 2 오디오 신호 (132) 의 샘플들 (예컨대, 선택된 샘플들) 에 해당하고 Targ(n+N1) 이 제 1 오디오 신호 (130) 의 샘플들 (예컨대, 제 1 샘플들) 에 해당하는 수식 1a~1f 중 하나에 기초하여 이득 파라미터 (160) 를 생성할 수도 있다.
시간 등화기 (108) 는 다운믹스 프로세싱을 위한 제 1 샘플들, 선택된 샘플들, 및 상대 이득 파라미터 (160) 에 기초하여 하나 이상의 인코딩된 신호들 (102) (예컨대, 중간 채널, 사이드 채널, 또는 둘 다) 를 생성할 수도 있다. 예를 들어, 시간 등화기 (108) 는 다음의 수식들 중 하나의 수식에 기초하여 중간 신호를 생성할 수도 있으며:
여기서 M은 중간 채널에 해당하며, 는 다운믹스 프로세싱을 위한 상대 이득 파라미터 (160) 에 해당하며, 은 "기준" 신호의 샘플들에 해당하며, 은 제 1 프레임의 비인과적 불일치 값 (162) 에 해당하고, 은 "타겟" 신호의 샘플들에 해당한다.
시간 등화기 (108) 는 다음의 수식들 중 하나의 수식에 기초하여 사이드 채널을 생성할 수도 있으며:
여기서 S는 사이드 채널에 해당하며, 는 다운믹스 프로세싱을 위한 상대 이득 파라미터 (160) 에 해당하며, 은 "기준" 신호의 샘플들에 해당하며, 은 제 1 프레임의 비인과적 불일치 값 (162) 에 해당하고, 은 "타겟" 신호의 샘플들에 해당한다.
송신기 (110) 는 인코딩된 신호들 (102) (예컨대, 중간 채널, 사이드 채널, 또는 둘 다), 기준 신호 표시자 (164), 비인과적 불일치 값 (162), 이득 파라미터 (160), 또는 그 조합을, 네트워크 (120) 를 통해, 제 2 디바이스 (106) 에 송신할 수도 있다. 일부 구현예들에서, 송신기 (110) 는 인코딩된 신호들 (102) (예컨대, 중간 채널, 사이드 채널, 또는 둘 다), 기준 신호 표시자 (164), 비인과적 불일치 값 (162), 이득 파라미터 (160), 또는 그 조합을, 네트워크 (120) 의 디바이스 또는 로컬 디바이스에 추가의 프로세싱 또는 나중의 디코딩을 위해 저장할 수도 있다.
디코더 (118) 는 인코딩된 신호들 (102) 을 디코딩할 수도 있다. 시간 밸런서 (124) 는 제 1 출력 신호 (126) (예컨대, 제 1 오디오 신호 (130) 에 해당함), 제 2 출력 신호 (128) (예컨대, 제 2 오디오 신호 (132) 에 해당함), 또는 둘 다를 생성하기 위해 업믹싱을 수행할 수도 있다. 제 2 디바이스 (106) 는 제 1 출력 신호 (126) 를 제 1 라우드스피커 (142) 를 통해 출력할 수도 있다. 제 2 디바이스 (106) 는 제 2 출력 신호 (128) 를 제 2 라우드스피커 (144) 를 통해 출력할 수도 있다.
시스템 (100) 은 따라서 시간 등화기 (108) 가 중간 신호보다 더 적은 비트들을 사용하여 사이드 채널을 인코딩하는 것을 가능하게 할 수도 있다. 제 1 오디오 신호 (130) 의 제 1 프레임 (131) 의 제 1 샘플들과 제 2 오디오 신호 (132) 의 선택된 샘플들은 사운드 소스 (152) 에 의해 방출된 동일한 사운드에 대응할 수도 있고 그런고로 제 1 샘플들과 선택된 샘플들 사이의 차이가 제 1 샘플들과 제 2 오디오 신호 (132) 의 다른 샘플들 사이에서보다 더 낮을 수도 있다. 사이드 채널은 제 1 샘플들과 선택된 샘플들 사이의 차이에 해당할 수도 있다.
도 2를 참조하면, 시스템의 특정 구체적인 구현예가 개시되고 전체가 200으로 지정된다. 시스템 (200) 은 제 2 디바이스 (106) 에, 네트워크 (120) 를 통해, 커플링되는 제 1 디바이스 (204) 를 포함한다. 제 1 디바이스 (204) 는 도 1의 제 1 디바이스 (104) 에 해당할 수도 있다. 시스템 (200) 은 제 1 디바이스 (204) 가 두 개를 초과하는 마이크로폰들에 커플링된다는 점에서 도 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) 는 두 개를 초과하는 오디오 신호들을 수신할 수도 있다. 예를 들어, 제 1 디바이스 (204) 는 제 1 오디오 신호 (130) 를 제 1 마이크로폰 (146) 을 통해, 제 N 오디오 신호 (232) 를 제 N 마이크로폰 (248) 을 통해, 그리고 하나 이상의 추가적인 오디오 신호들 (예컨대, 제 2 오디오 신호 (132)) 을 추가적인 마이크로폰들 (예컨대, 제 2 마이크로폰 (148)) 을 통해 수신할 수도 있다.
시간 등화기(들)(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) 의 선택된 샘플들에 대응하는 사이드 채널, 제 1 샘플들 및 제 N 오디오 신호 (232) 의 선택된 샘플들에 대응하는 제 2 사이드 채널, 또는 둘 다를 포함할 수도 있다. 인코딩된 신호들 (202) 은 제 1 샘플들에 대응하는 중간 채널, 제 2 오디오 신호 (132) 의 선택된 샘플들, 및 제 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 출력 신호 (226) 를 제 1 라우드스피커 (142) 를 통해, 제 Y 출력 신호 (228) 를 제 Y 라우드스피커 (244) 를 통해, 하나 이상의 추가적인 출력 신호들 (예컨대, 제 2 출력 신호 (128)) 을 하나 이상의 추가적인 라우드스피커들 (예컨대, 제 2 라우드스피커 (144)) 을 통해, 또는 그 조합으로 출력할 수도 있다.
시스템 (200) 은 따라서 시간 등화기(들)(208) 가 두 개를 초과하는 오디오 신호들을 인코딩하는 것을 가능하게 할 수도 있다. 예를 들어, 인코딩된 신호들 (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) 은 도 1의 입력 인터페이스(들)(112) 에서 샘플 (352) 과 거의 동일한 시간에 수신될 수도 있다. 샘플 (324) 은 도 1의 입력 인터페이스(들)(112) 에서 샘플 (354) 과 거의 동일한 시간에 수신될 수도 있다. 샘플 (326) 은 도 1의 입력 인터페이스(들)(112) 에서 샘플 (356) 과 거의 동일한 시간에 수신될 수도 있다. 샘플 (328) 은 도 1의 입력 인터페이스(들)(112) 에서 샘플 (358) 과 거의 동일한 시간에 수신될 수도 있다. 샘플 (330) 은 도 1의 입력 인터페이스(들)(112) 에서 샘플 (360) 과 거의 동일한 시간에 수신될 수도 있다. 샘플 (332) 은 도 1의 입력 인터페이스(들)(112) 에서 샘플 (362) 과 거의 동일한 시간에 수신될 수도 있다. 샘플 (334) 은 도 1의 입력 인터페이스(들)(112) 에서 샘플 (364) 과 거의 동일한 시간에 수신될 수도 있다. 샘플 (336) 은 도 1의 입력 인터페이스(들)(112) 에서 샘플 (366) 과 거의 동일한 시간에 수신될 수도 있다.
예를 들어, 최종 불일치 값 (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 경우에서, 샘플들 (326~332) (예컨대, 프레임 (304) 에 해당함) 과 샘플들 (356~362) (예컨대, 프레임 (344) 에 해당함) 은 임의의 프레임 오프셋 없이 높은 유사도를 나타낼 수도 있다. 시간 오프셋 Y = 2 개 샘플들인 제 2 경우에, 프레임 (304) 과 프레임 (344) 은 2 개 샘플들만큼 오프셋될 수도 있다. 이 경우, 제 1 오디오 신호 (130) 는, 입력 인터페이스(들)(112) 에서 Fs가 kHz 단위의 샘플 레이트에 해당하는 Y = 2 개 샘플들 또는 X = (2/Fs) ms만큼 제 2 오디오 신호 (132) 에 앞서 수신될 수도 있다. 일부 경우들에서, 시간 오프셋 (Y) 은, 비-정수 값, 예컨대, 32 kHz에서 X = 0.05 ms에 해당하는 Y = 1.6 개 샘플들을 포함할 수도 있다.
도 1의 시간 등화기 (108) 는, 도 1을 참조하여 설명되는 바와 같이, 샘플들 (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~364) 에 대응함을 나타낼 수도 있다. 샘플들 (354~360) 은 제 2 오디오 신호 (132) 의 프레임 (344) 에 해당할 수도 있다. 샘플들 (354~360) (예컨대, 프레임 (344)) 과 샘플들 (326~332) (예컨대, 프레임 (304)) 은 사운드 소스 (152) 로부터 방출된 동일한 사운드에 해당할 수도 있다.
도 4에 도시된 바와 같은 -Y 개 샘플들의 시간 오프셋은 예시적이라는 것이 이해되어야 한다. 예를 들어, 시간 오프셋은 0 이하인 샘플들의 수 (-Y) 에 해당할 수도 있다. 시간 오프셋 Y = 0 개 샘플인 제 1 경우에서, 샘플들 (326~332) (예컨대, 프레임 (304) 에 해당함) 과 샘플들 (356~362) (예컨대, 프레임 (344) 에 해당함) 은 임의의 프레임 오프셋 없이 높은 유사도를 나타낼 수도 있다. 시간 오프셋 Y = -6 개 샘플들인 제 2 경우에, 프레임 (304) 과 프레임 (344) 은 6 개 샘플들만큼 오프셋될 수도 있다. 이 경우, 제 1 오디오 신호 (130) 는, Fs가 kHz 단위의 샘플 레이트에 해당하는 Y = -6 개 샘플들 또는 X = (-6/Fs) ms만큼 입력 인터페이스(들)(112) 에서 제 2 오디오 신호 (132) 에 후속하여 수신될 수도 있다. 일부 경우들에서, 시간 오프셋 (Y) 은, 비-정수 값, 예컨대, 32 kHz에서 X = -0.1 ms에 해당하는 Y = -3.2 개 샘플들을 포함할 수도 있다.
도 1의 시간 등화기 (108) 는, 도 1을 참조하여 설명되는 바와 같이, 샘플들 (354~360) 과 샘플들 (326~332) 을 인코딩함으로써 인코딩된 신호들 (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에서의 순간 비교 값 과 하나 이상의 이전 프레임들에 대한 장기 비교 값들 의 가중된 혼합에 기초할 수도 있다. 의 값이 증가함에 따라, 장기 비교 값에서의 평활화 양은 증가한다. 평활화 파라미터들 (예컨대, 의 값) 은 무음 부분들 동안 (또는 시프트 추정에서 드리프트를 유발할 수도 있는 배경 잡음 동안) 비교 값들의 평활화를 제한하도록 제어/적응될 수도 있다. 예를 들어, 비교 값들은 더 높은 평활화 계수 (예컨대, = 0.995) 에 기초하여 평활화될 수도 있으며; 그렇지 않으면 평활화는 = 0.9에 기초할 수 있다. 평활화 파라미터들 (예컨대, ) 의 제어는 배경 에너지 또는 장기 에너지가 임계값 미만인지의 여부에 기초하거나, 코더 유형에 기초하거나, 또는 비교 값 통계에 기초할 수도 있다.
특정 구현예에서, 평활화 파라미터들 (예컨대, ) 의 값은 채널들의 단기 신호 레벨 () 및 장기 신호 레벨 () 에 기초할 수도 있다. 일 예로서 단기 신호 레벨은 다운샘플링된 기준 샘플들의 절대 값들의 합과 다운샘플링된 타겟 샘플들의 절대 값들의 합의 합으로서 프로세싱되고 있는 프레임 (N) 에 대해 계산 ()될 수도 있다. 장기 신호 레벨은 단기 신호 레벨들의 평활화된 버전일 수도 있다. 예를 들어, 이다. 게다가, 평활화 파라미터들 (예컨대, ) 의 값은 다음과 같이 설명되는 의사-코드에 따라 제어될 수도 있다:
특정 구현예에서, 평활화 파라미터들 (예컨대, ) 의 값은 단기 및 장기 비교 값들의 상관에 기초하여 제어될 수도 있다. 예를 들어, 현재 프레임의 비교 값들이 장기 평활화된 비교 값들과 매우 유사할 때, 그것은 정지한 화자의 표시이고 이는 평활화를 추가로 증가 (예컨대, 의 값을 증가) 시키도록 평활화 파라미터들을 제어하는데 사용될 수 있다. 한편, 다양한 시프트 값들의 함수로서의 비교 값들이 장기 비교 값들과 유사하지 않을 때, 평활화 파라미터들은 평활화를 감소 (예컨대, 의 값을 감소) 시키도록 조정될 (예컨대, 적응될) 수 있다.
게다가, 단기 비교 값들 () 은 프로세싱되고 있는 현재 프레임의 부근에서 프레임들의 비교 값들의 평활화된 버전으로서 추정될 수도 있다 예시: . 다른 구현예들에서, 단기 비교 값들은 프로세싱되고 있는 프레임에서 생성된 비교 값들 ()과 동일할 수도 있다.
게다가, 단기 및 장기 비교 값들의 상호 상관 () 이 로서 계산되는 각각의 프레임 (N) 마다 단일 값일 수도 있다. 여기서 Fac는 이 0과 1 사이로 제한되도록 선택된 정규화 계수이다. 일 예로서, Fac는 다음과 같이 계산될 수 있다: .
제 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) 은 불일치 값들의 더 조악한 세분도에 기초할 수도 있다. 예를 들어, 비교 값들 (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) 을 생성할 수도 있다. 예를 들어, 시프트 리파이너 (511) 는, 도 9a를 참조하여 추가로 설명되는 바와 같이, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 사이의 시프트에서의 변경이 시프트 변경 임계값보다 더 크다는 것을 보간된 불일치 값 (538) 이 나타내는지의 여부를 결정할 수도 있다. 시프트에서의 변경은 보간된 불일치 값 (538) 과 도 3의 프레임 (302) 에 연관된 제 1 불일치 값 사이의 차이에 의해 나타내어질 수도 있다. 시프트 리파이너 (511) 는, 그 차이가 임계값 이하라는 결정에 응답하여, 보정된 불일치 값 (540) 을 보간된 불일치 값 (538) 으로 설정할 수도 있다. 대안적으로, 시프트 리파이너 (511) 는, 도 9a를 참조하여 추가로 설명되는 바와 같이, 그 차이가 임계값보다 더 크다는 결정에 응답하여, 시프트 변경 임계값 이하인 차이에 대응하는 복수의 불일치 값들을 결정할 수도 있다. 시프트 리파이너 (511) 는 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 에 적용되는 복수의 불일치 값들에 기초하여 비교 값들을 결정할 수도 있다. 시프트 리파이너 (511) 는, 도 9a를 참조하여 추가로 설명되는 바와 같이, 비교 값들에 기초하여 보정된 불일치 값 (540) 을 결정할 수도 있다. 예를 들어, 시프트 리파이너 (511) 는, 도 9a를 참조하여 추가로 설명되는 바와 같이, 비교 값들 및 보간된 불일치 값 (538) 에 기초하여 복수의 불일치 값들 중 불일치 값을 선택할 수도 있다. 시프트 리파이너 (511) 는 선택된 불일치 값을 나타내기 위해 보정된 불일치 값 (540) 을 설정할 수도 있다. 프레임 (302) 에 대응하는 제 1 불일치 값과 보간된 불일치 값 (538) 사이의 영이 아닌 차이가 제 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) 가 입력 인터페이스(들)(112) 에서 제 2 오디오 신호 (132) 에 앞서 수신되고, 후속 프레임 (예컨대, 프레임 (304) 또는 프레임 (306)) 에 대해, 제 2 오디오 신호 (132) 가 입력 인터페이스(들)에서 제 1 오디오 신호 (130) 에 앞서 수신됨을 나타낼 수도 있다. 대안적으로, 타이밍에서의 역 또는 스위치가, 프레임 (302) 에 대해, 제 2 오디오 신호 (132) 가 입력 인터페이스(들)(112) 에서 제 1 오디오 신호 (130) 에 앞서 수신되고, 후속 프레임 (예컨대, 프레임 (304) 또는 프레임 (306)) 에 대해, 제 1 오디오 신호 (130) 가 입력 인터페이스(들)에서 제 2 오디오 신호 (132) 에 앞서 수신됨을 나타낼 수도 있다. 다르게 말하면, 타이밍에서의 스위치 또는 역이, 프레임 (302) 에 대응하는 최종 불일치 값이 프레임 (304) 에 대응하는 보정된 불일치 값 (540) 의 제 2 부호와는 별개인 제 1 부호를 가짐 (예컨대, 양 대 음의 전환 또는 그 반대임) 을 나타낼 수도 있다. 시프트 변경 분석기 (512) 는, 도 10a를 참조하여 추가로 설명되는 바와 같이, 보정된 불일치 값 (540) 과 프레임 (302) 에 연관된 제 1 불일치 값에 기초하여 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 사이의 지연이 부호를 스위칭하였는지의 여부를 결정할 수도 있다. 시프트 변경 분석기 (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) 0의 샘플들을 선택할 수도 있다. 예시하기 위해, 이득 파라미터 생성기 (514) 는 비인과적 불일치 값 (162) 이 제 1 값 (예컨대, +X ms 또는 +Y 개 샘플들, 여기서 X 및 Y는 양의 실수들을 포함함) 을 가진다는 결정에 응답하여 샘플들 (358~364) 을 선택할 수도 있다. 이득 파라미터 생성기 (514) 는 비인과적 불일치 값 (162) 이 제 2 값 (예컨대, -X ms 또는 -Y 개 샘플들) 을 가진다는 결정에 응답하여 샘플들 (354~360) 을 선택할 수도 있다. 이득 파라미터 생성기 (514) 는 비인과적 불일치 값 (162) 이 시간 시프트 없음을 나타내는 값 (예컨대, 0) 을 가진다는 결정에 응답하여 샘플들 (356~362) 을 선택할 수도 있다.
이득 파라미터 생성기 (514) 는 제 1 오디오 신호 (130) 가 기준 신호인지 또는 제 2 오디오 신호 (132) 가 기준 신호인지를 기준 신호 표시자 (164) 에 기초하여 결정할 수도 있다. 이득 파라미터 생성기 (514) 는, 도 1을 참조하여 설명되는 바와 같이, 프레임 (304) 의 샘플들 (326~332) 및 제 2 오디오 신호 (132) 의 선택된 샘플들 (예컨대, 샘플들 (354~360), 샘플들 (356~362), 또는 샘플들 (358~364)) 에 기초하여 이득 파라미터 (160) 를 생성할 수도 있다. 예를 들어, 이득 파라미터 생성기 (514) 는 gD가 이득 파라미터 (160) 에 해당하며, Ref(n) 이 기준 신호의 샘플들에 해당하고, Targ(n+N1) 이 타겟 신호의 샘플들에 해당하는 수식 1a 내지 수식 1f 중 하나 이상에 기초하여 이득 파라미터 (160) 를 생성할 수도 있다. 예시하기 위해, 비인과적 불일치 값 (162) 이 제 1 값 (예컨대, +X ms 또는 +Y 개 샘플들, 여기서 X 및 Y는 양의 실수들을 포함함) 을 가질 때 Ref(n) 은 프레임 (304) 의 샘플들 (326~332) 에 해당할 수도 있고 Targ(n+tN1) 은 프레임 (344) 의 샘플들 (358~364) 에 해당할 수도 있다. 일부 구현예들에서, 도 1을 참조하여 설명되는 바와 같이, Ref(n) 은 제 1 오디오 신호 (130) 의 샘플들에 해당할 수도 있고 Targ(n+N1) 은 제 2 오디오 신호 (132) 의 샘플들에 해당할 수도 있다. 대체 구현예들에서, 도 1을 참조하여 설명되는 바와 같이, Ref(n) 은 제 2 오디오 신호 (132) 의 샘플들에 해당할 수도 있고 Targ(n+N1) 은 제 1 오디오 신호 (130) 의 샘플들에 해당할 수도 있다.
이득 파라미터 생성기 (514) 는 이득 파라미터 (160), 기준 신호 표시자 (164), 비인과적 불일치 값 (162), 또는 그 조합을 신호 생성기 (516) 에 제공할 수도 있다. 신호 생성기 (516) 는, 도 1을 참조하여 설명되는 바와 같이, 인코딩된 신호들 (102) 을 생성할 수도 있다. 예를 들어, 인코딩된 신호들 (102) 은 제 1 인코딩된 신호 프레임 (564) (예컨대, 중간 채널 프레임), 제 2 인코딩된 신호 프레임 (566) (예컨대, 사이드 채널 프레임), 또는 둘 다를 포함할 수도 있다. 신호 생성기 (516) 는 M이 제 1 인코딩된 신호 프레임 (564) 에 해당하며, gD가 이득 파라미터 (160) 에 해당하며, Ref(n) 이 기준 신호의 샘플들에 대응하고, Targ(n+N1) 이 타겟 신호의 샘플들에 해당하는 수식 2a 또는 수식 2b에 기초하여 제 1 인코딩된 신호 프레임 (564) 을 생성할 수도 있다. 신호 생성기 (516) 는 S가 제 2 인코딩된 신호 프레임 (566) 에 해당하며, gD가 이득 파라미터 (160) 에 해당하며, Ref(n) 이 기준 신호의 샘플들에 해당하고, Targ(n+N1) 이 타겟 신호의 샘플들에 해당하는 수식 3a 또는 수식 3b에 기초하여 제 2 인코딩된 신호 프레임 (566) 을 생성할 수도 있다.
시간 등화기 (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의 샘플들 (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 필터는 다음의 수식에 기초할 수도 있으며:
여기서 는 0.68 또는 0.72와 같은 양수이다. 재샘플링하기에 앞서 디-앰퍼시스를 수행하는 것은 에일리어싱 (aliasing), 신호 컨디셔닝, 또는 둘 다와 같은 효과들을 감소시킬 수도 있다. 제 1 오디오 신호 (130) (예컨대, 프리-프로세싱된 제 1 오디오 신호 (130)) 와 제 2 오디오 신호 (132) (예컨대, 프리-프로세싱된 제 2 오디오 신호 (132)) 는 재샘플링 계수 (D) 에 기초하여 재샘플링될 수도 있다. 재샘플링 계수 (D) 는 제 1 샘플 레이트 (Fs) (예컨대, D = Fs/8, D=2Fs 등) 에 기초할 수도 있다.
대안적 구현예들에서, 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 는 재샘플링에 앞서 안티-에일리어싱 필터를 사용하여 저역 통과 필터링 또는 데시메이션 (decimation) 될 수도 있다. 데시메이션 필터는 재샘플링 계수 (D) 에 기초할 수도 있다. 특정 예어서, 리샘플러 (504) 는 제 1 샘플 레이트 (Fs) 가 특정 레이트 (예컨대, 32 kHz) 에 해당한다는 결정에 응답하여 제 1 차단 주파수 (예컨대, π/D 또는 π/4) 를 갖는 데시메이션 필터를 선택할 수도 있다. 다수의 신호들 (예컨대, 제 1 오디오 신호 (130) 및 제 2 오디오 신호 (132)) 을 디-앰퍼시스함으로써 에일리어싱을 감소시키는 것은 데시메이션 필터를 다수의 신호들에 적용하는 것보다 계산적으로 덜 비쌀 수도 있다.
제 1 샘플들 (620) 은 샘플 (622), 샘플 (624), 샘플 (626), 샘플 (628), 샘플 (630), 샘플 (632), 샘플 (634), 샘플 (636), 하나 이상의 추가적인 샘플들, 또는 그 조합을 포함할 수도 있다. 제 1 샘플들 (620) 은 도 3의 제 1 샘플들 (320) 의 서브세트 (예컨대, 8분의 1) 를 포함할 수도 있다. 샘플 (622), 샘플 (624), 하나 이상의 추가적인 샘플들, 또는 그 조합은, 프레임 (302) 에 해당할 수도 있다. 샘플 (626), 샘플 (628), 샘플 (630), 샘플 (632), 하나 이상의 추가적인 샘플들, 또는 그 조합은 프레임 (304) 에 해당할 수도 있다. 샘플 (634), 샘플 (636), 하나 이상의 추가적인 샘플들, 또는 그 조합은, 프레임 (306) 에 해당할 수도 있다.
제 2 샘플들 (650) 은 샘플 (652), 샘플 (654), 샘플 (656), 샘플 (658), 샘플 (660), 샘플 (662), 샘플 (664), 샘플 (666), 하나 이상의 추가적인 샘플들, 또는 그 조합을 포함할 수도 있다. 제 2 샘플들 (650) 은 도 3의 제 2 샘플들 (350) 의 서브세트 (예컨대, 8분의 1) 를 포함할 수도 있다. 샘플들 (654~660) 은 샘플들 (354~360) 에 해당할 수도 있다. 예를 들어, 샘플들 (654~660) 은 샘플들 (354~360) 의 서브세트 (예컨대, 8분의 1) 를 포함할 수도 있다. 샘플들 (656~662) 은 샘플들 (356~362) 에 해당할 수도 있다. 예를 들어, 샘플들 (656~662) 은 샘플들 (356~362) 의 서브세트 (예컨대, 8분의 1) 를 포함할 수도 있다. 샘플들 (658~664) 은 샘플들 (358~364) 에 해당할 수도 있다. 예를 들어, 샘플들 (658~664) 은 샘플들 (358~364) 의 서브세트 (예컨대, 8분의 1) 를 포함할 수도 있다. 일부 구현예들에서, 재샘플링 계수는 도 6의 샘플들 (622~636) 및 샘플들 (652~666) 이 도 3의 샘플들 (322~336) 및 샘플들 (352~366) 에 각각 유사할 수도 있는 경우 제 1 값 (예컨대, 1) 에 해당할 수도 있다.
리샘플러 (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) 는 프레임 (304) 에 해당하는 샘플들 (626~632) 을 거의 제 1 시간 (t) 에 수신할 수도 있다. 제 1 불일치 값 (764) (예컨대, -X ms 또는 -Y 개 샘플들, X 및 Y는 양의 실수들을 포함함) 은 제 2 시간 (t-1) 에 대응할 수도 있다.
샘플들 (654~660) 은 제 2 시간 (t-1) 에 대응할 수도 있다. 예를 들어, 입력 인터페이스(들)(112) 는 샘플들 (654~660) 을 거의 제 2 시간 (t-1) 에 수신할 수도 있다. 신호 비교기 (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) 이상이라는 결정에 응답하여 제 2 비교 값 (716) 을 선택된 비교 값 (736) 으로서 선택할 수도 있다. 일부 구현예들에서, 비교 값들 (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) 는 불일치 값들 (760) 중 선택된 비교 값 (736) 에 대응하는 잠정적 불일치 값 (536) 을 식별할 수도 있다. 예를 들어, 신호 비교기 (506) 는 제 2 불일치 값 (766) 이 선택된 비교 값 (736) (예컨대, 제 2 비교 값 (716)) 에 대응한다는 결정에 응답하여, 제 2 불일치 값 (766) 을 잠정적 불일치 값 (536) 으로서 식별할 수도 있다.
신호 비교기 (506) 는 다음의 수식에 기초하여 선택된 비교 값 (736) 을 결정할 수도 있으며:
여기서 maxXCorr는 선택된 비교 값 (736) 에 해당하고 k는 불일치 값에 해당한다. 은 디-앰퍼시스된, 재샘플링된, 및 윈도우식 제 1 오디오 신호 (130) 에 해당하고, 은 디-앰퍼시스된, 재샘플링된, 및 윈도우식 제 2 오디오 신호 (132) 에 해당한다. 예를 들어, 은 샘플들 (626~632) 에 대응할 수도 있으며, 은 샘플들 (654~660) 에 대응할 수도 있으며, 은 샘플들 (656~662) 에 대응할 수도 있고, 은 샘플들 (658~664) 에 대응할 수도 있다. -K는 불일치 값들 (760) 중 더 낮은 불일치 값 (예컨대, 최소 불일치 값) 에 해당할 수도 있고, K는 불일치 값들 (760) 중 더 높은 불일치 값 (예컨대, 최대 불일치 값) 에 해당할 수도 있다. 수식 5에서, 은 제 1 오디오 신호 (130) 가 우측 (r) 채널에 해당하는지 또는 좌측 (l) 채널에 해당하는지와는 독립적으로 제 1 오디오 신호 (130) 에 해당한다. 수식 5에서, 은 제 2 오디오 신호 (132) 가 우측 (r) 채널에 해당하는지 또는 좌측 (l) 채널에 해당하는지와는 독립적으로 제 2 오디오 신호 (132) 에 해당한다.
신호 비교기 (506) 는 다음의 수식에 기초하여 잠정적 불일치 값 (536) 을 결정할 수도 있으며:
여기서 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) 을 사용하는 것은, 잠정적 불일치 값 (536) 에 근접한 특정 불일치 값에 대응하는 보간된 비교 값이 도 7의 제 2 비교 값 (716) 보다 더 높은 상관 (또는 더 낮은 차이) 을 나타내는지의 여부를 결정하기 위해 불일치 값들 (860) 중 하나 이상의 불일치 값들에 대응하는 보간된 비교 값들의 검색을 가능하게 할 수도 있다.
도 8은 보간된 비교 값들 (816) 및 비교 값들 (534) (예컨대, 상호 상관 값들) 의 예들을 도시하는 그래프 (820) 를 포함한다. 보간기 (510) 는 해닝 (hanning) 윈도우식 싱크 (sinc) 보간, IIR 필터 기반 보간, 스플라인 보간, 다른 형태의 신호 보간, 또는 그 조합에 기초하여 보간을 수행할 수도 있다. 예를 들어, 보간기 (510) 는 다음의 수식에 기초하여 해닝 윈도우식 싱크 보간을 수행할 수도 있으며:
여기서 , b는 윈도우식 싱크 함수 (싱크 함수) 에 해당하며, 는 잠정적 불일치 값 (536) 에 해당한다. 는 비교 값들 (534) 중 특정 비교 값에 해당할 수도 있다. 예를 들어, 는 i가 4에 해당할 때 비교 값들 (534) 중 제 1 불일치 값 (예컨대, 8) 에 대응하는 제 1 비교 값을 나타낼 수도 있다. 는 i가 0에 해당할 때 잠정적 불일치 값 (536) (예컨대, 12) 에 대응하는 제 2 비교 값 (716) 을 나타낼 수도 있다. 는 i가 -4에 해당할 때 비교 값들 (534) 중 제 3 불일치 값 (예컨대, 16) 에 대응하는 제 3 비교 값을 나타낼 수도 있다.
R(k)32kHz 는 보간된 비교 값들 (816) 중 특정 보간된 값에 해당할 수도 있다. 보간된 비교 값들 (816) 중 각각의 보간된 값은 윈도우식 싱크 함수 (b) 와 제 1 비교 값, 제 2 비교 값 (716), 및 제 3 비교 값의 각각과의 곱의 합에 해당할 수도 있다. 예를 들어, 보간기 (510) 는 윈도우식 싱크 함수 (b) 와 제 1 비교 값의 제 1 곱, 윈도우식 싱크 함수 (b) 와 제 2 비교 값 (716) 의 제 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) 는 불일치 값들 (860) 중 보간된 비교 값 (838) 에 대응하는 불일치 값 (예컨대, 14) 을 선택할 수도 있다. 보간기 (510) 는 선택된 불일치 값 (예컨대, 제 2 불일치 값 (866)) 을 나타내는 보간된 불일치 값 (538) 을 생성할 수도 있다.
잠정적 불일치 값 (536) 을 결정하기 위해 조악한 접근법을 사용하는 것과 보간된 불일치 값 (538) 을 결정하기 위해 잠정적 불일치 값 (536) 주위를 검색하는 것은 검색 효율 또는 정확도를 약화시키는 일 없이 검색 복잡도를 감소시킬 수도 있다.
도 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) 은 시간 등화기 (108), 인코더 (114), 도 1의 제 1 디바이스 (104), 시간 등화기(들)(208), 인코더 (214), 도 2의 제 1 디바이스 (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) 을 가질 수도 있다. 대안적 구현예들에서, 시프트 변경 임계값은, 902에서, 더 큰 자유도로, 보정된 불일치 값 (540) 이 보간된 불일치 값 (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) 은 시간 등화기 (108), 인코더 (114), 도 1의 제 1 디바이스 (104), 시간 등화기(들)(208), 인코더 (214), 도 2의 제 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) 은 시간 등화기 (108), 인코더 (114), 도 1의 제 1 디바이스 (104), 시간 등화기(들)(208), 인코더 (214), 도 2의 제 1 디바이스 (204), 도 5의 시프트 리파이너 (511), 도 9a의 시프트 리파이너 (911), 시프트 리파이너 (921), 또는 그 조합에 의해 수행될 수도 있다.
방법 (971) 은, 972에서, 제 1 불일치 값 (962) 과 보간된 불일치 값 (538) 사이의 차이가 영이 아닌지의 여부를 결정하는 단계를 포함한다. 예를 들어, 시프트 리파이너 (921) 는 제 1 불일치 값 (962) 과 보간된 불일치 값 (538) 사이의 차이가 영이 아닌지의 여부를 결정할 수도 있다.
방법 (971) 은, 972에서의 제 1 불일치 값 (962) 과 보간된 불일치 값 (538) 사이의 차이가 영이라는 결정에 응답하여, 973에서, 보정된 불일치 값 (540) 을 보간된 불일치 값 (538) 으로 설정하는 단계를 포함한다. 예를 들어, 시프트 리파이너 (921) 는, 제 1 불일치 값 (962) 과 보간된 불일치 값 (538) 사이의 차이가 영이라는 결정에 응답하여, 보간된 불일치 값 (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) 에 적용되는 비제약된 보간된 불일치 값에 기초하여, 도 7을 참조하여 설명되는 바와 같이, 비교 값 (915) 을 생성할 수도 있다.
방법 (971) 은, 979에서, 비교 값들 (916), 비교 값 (915), 또는 그 조합에 기초하여 보정된 불일치 값 (540) 을 결정하는 단계를 또한 포함한다. 예를 들어, 시프트 리파이너 (921) 는, 도 9a를 참조하여 설명되는 바와 같이, 비교 값들 (916), 비교 값 (915), 또는 그 조합에 기초하여 보정된 불일치 값 (540) 을 결정할 수도 있다. 일부 구현예들에서, 시프트 리파이너 (921) 는 시프트 변동으로 인한 국부적 극대들 (local maxima) 을 피하기 위해 비교 값 (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) 이 영보다 더 크고 보정된 불일치 값 (540) 이 영 미만인지를 결정하는 단계를 포함한다. 예를 들어, 시프트 변경 분석기 (512) 는 제 1 불일치 값 (962) 이 영보다 더 큰지의 여부와 보정된 불일치 값 (540) 이 영 미만인지의 여부를 결정할 수도 있다.
방법 (1031) 은, 1032에서 제 1 불일치 값 (962) 이 영보다 더 크고 보정된 불일치 값 (540) 이 영 미만이라는 결정에 응답하여, 1033에서, 최종 불일치 값 (116) 을 영으로 설정하는 단계를 포함한다. 예를 들어, 시프트 변경 분석기 (512) 는, 제 1 불일치 값 (962) 이 영보다 더 크고 보정된 불일치 값 (540) 이 영 미만이라는 결정에 응답하여, 최종 불일치 값 (116) 을 시간 시프트 없음을 나타내는 제 1 값 (예컨대, 0) 으로 설정할 수도 있다.
방법 (1031) 은, 1032에서 제 1 불일치 값 (962) 이 영 이하이거나 또는 보정된 불일치 값 (540) 이 영 이상이라는 결정에 응답하여, 1034에서, 제 1 불일치 값 (962) 이 영 미만인지의 여부와 보정된 불일치 값 (540) 이 영보다 더 큰지의 여부를 결정하는 단계를 포함한다. 예를 들어, 시프트 변경 분석기 (512) 는, 제 1 불일치 값 (962) 이 영 이하이거나 또는 보정된 불일치 값 (540) 이 영 이상이라는 결정에 응답하여, 제 1 불일치 값 (962) 이 영 미만인지의 여부와 보정된 불일치 값 (540) 이 영보다 더 큰지의 여부를 결정할 수도 있다.
방법 (1031) 은, 제 1 불일치 값 (962) 이 0 미만이고 보정된 불일치 값 (540) 이 0보다 더 크다는 결정에 응답하여, 1033으로 진행하는 것을 포함한다. 방법 (1031) 은, 제 1 불일치 값 (962) 이 영 이상이거나 보정된 불일치 값 (540) 이 영 이하라는 결정에 응답하여, 1035에서, 최종 불일치 값 (116) 을 보정된 불일치 값 (540) 으로 설정하는 단계를 포함한다. 예를 들어, 시프트 변경 분석기 (512) 는, 제 1 불일치 값 (962) 이 영 이상이거나 또는 보정된 불일치 값 (540) 이 영 이하라는 결정에 응답하여, 최종 불일치 값 (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) 은 따라서 보정된 불일치 값 (540) 을 리파인함으로써 시프트 변경 분석기 (512) 가 추정된 불일치 값 (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 값 (예컨대, 양의 값) 을 가진다는 결정에 응답하여, 기준 신호 표시자 (164) 를 제 1 오디오 신호 (130) 가 기준 신호임을 나타내는 제 1 값 (예컨대, 0) 으로 설정할 수도 있다. 기준 신호 지정기 (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) 이 영 이상인지의 여부를 결정하는 단계를 포함한다. 예를 들어, 기준 신호 지정기 (508) 는 최종 불일치 값 (116) 이 영 이상인지의 여부를 결정할 수도 있다. 방법 (1300) 은, 1302에서 최종 불일치 값 (116) 이 영 이상이라는 결정에 응답하여, 1208으로 진행하는 것을 또한 포함한다. 방법 (1300) 은, 1302에서 최종 불일치 값 (116) 이 영 미만이라는 결정에 응답하여, 1210으로 진행하는 것을 포함한다. 방법 (1300) 은, 최종 불일치 값 (116) 이 시간 시프트 없음을 나타내는 특정 값 (예컨대, 0) 을 가진다는 결정에 응답하여, 기준 신호 표시자 (164) 는 제 1 오디오 신호 (130) 가 기준 신호에 해당함을 나타내는 제 1 값 (예컨대, 0) 으로 설정된다는 점에서 도 12의 방법 (1220) 과는 상이하다. 일부 구현예들에서, 기준 신호 지정기 (508) 는 방법 (1220) 을 수행할 수도 있다. 다른 구현예들에서, 기준 신호 지정기 (508) 는 방법 (1300) 을 수행할 수도 있다.
방법 (1300) 은 따라서 제 1 오디오 신호 (130) 가 프레임 (302) 에 대한 기준 신호에 해당하는지의 여부와는 독립적으로 제 1 불일치 값 (116) 이 시간 시프트 없음을 나타낼 때 기준 신호 표시자 (164) 를 제 1 오디오 신호 (130) 가 기준 신호에 해당함을 나타내는 특정 값 (예컨대, 0) 으로 설정하는 것을 가능하게 할 수도 있다.
도 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에서의 순간 비교 값 와 하나 이상의 이전 프레임들에 대한 장기 비교 값들 의 가중된 혼합에 기초할 수도 있다. 의 값이 증가함에 따라, 장기 비교 값에서의 평활화 양은 증가한다.
평활화 파라미터 (예컨대, 의 값) 는 비교 값들의 평활화를 무음 부분들 동안 (또는 시프트 추정에서 드리프트를 야기할 수도 있는 배경 잡음 동안) 제한하도록 제어/적응될 수도 있으며, 비교 값들은 더 높은 평활화 계수 (예컨대, = 0.995) 에 기초하여 평활화될 수도 있고; 그렇지 않으면 평활화는 = 0.9에 기초할 수도 있다. 평활화 파라미터 (예컨대, ) 의 제어는 배경 에너지 또는 장기 에너지가 임계값 미만인지의 여부에 기초하거나, 코더 유형에 기초하거나, 또는 비교 값 통계에 기초할 수도 있다.
특정 구현예에서, 평활화 파라미터 (예컨대, ) 의 값은 채널들의 단기 신호 레벨 () 및 장기 신호 레벨 () 에 기초할 수도 있다. 일 예로서 단기 신호 레벨은 다운샘플링된 기준 샘플들의 절대 값들의 합과 다운샘플링된 타겟 샘플들의 절대 값들의 합의 합으로서 프로세싱되고 있는 프레임 (N) 에 대해 계산 ()될 수도 있다. 장기 신호 레벨은 단기 신호 레벨들의 평활화된 버전일 수도 있다. 예를 들어, 이다. 게다가, 평활화 파라미터들 (예컨대, ) 의 값은 의사-코드에 따라 제어될 수도 있다.
특정 구현예에서, 평활화 파라미터 (예컨대, ) 의 값은 단기 및 장기 비교 값들의 상관에 기초하여 제어될 수도 있다. 예를 들어, 현재 프레임의 비교 값들이 장기 평활화된 비교 값들과 매우 유사할 때, 그것은 정지한 화자의 표시이고 이는 평활화를 추가로 증가 (예컨대, 의 값을 증가) 시키도록 평활화 파라미터들을 제어하는데 사용될 수 있다. 한편, 다양한 시프트 값들의 함수로서의 비교 값들이 장기 비교 값들과 유사하지 않을 때, 평활화 파라미터는 평활화를 감소 (예컨대, 의 값을 감소) 시키도록 조정될 수 있다. 신호 비교기 (506) 는 비교 값들 (534), 잠정적 불일치 값 (536), 또는 둘 다를 보간기 (510) 에 제공할 수도 있다.
보간기 (510) 는 보간된 불일치 값 (538) 을 생성하기 위해 잠정적 불일치 값 (536) 을 확장할 수도 있다. 예를 들어, 보간기 (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) 는 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 사이의 시프트에서의 변경이 시프트 변경 임계값보다 더 크다는 것을 보간된 불일치 값 (538) 이 나타내는지의 여부를 결정할 수도 있다. 시프트에서의 변경은 보간된 불일치 값 (538) 과 도 3의 프레임 (302) 에 연관된 제 1 불일치 값 사이의 차이에 의해 나타내어질 수도 있다. 시프트 리파이너 (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) 는 보정된 불일치 값 (540) 과 프레임 (302) 에 연관된 제 1 불일치 값에 기초하여 제 1 오디오 신호 (130) 와 제 2 오디오 신호 (132) 사이의 지연이 부호를 스위칭하였는지의 여부를 결정할 수도 있다. 시프트 변경 분석기 (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) 은 생성된 비교 값들에 기초하여 채널들 사이에서 시프트의 추정에 앞서 수행될 수도 있다. 예를 들어, 평활화는 잠정적 시프트의 추정, 보간된 시프트의 추정, 또는 보정된 시프트에 앞서 수행될 수도 있다. 무음 부분들 (또는 시프트 추정에서 드리프트를 야기할 수도 있는 배경 잡음) 동안 비교 값들의 적응을 줄이기 위해, 비교 값들은 더 높은 시상수 (time-constant) (예컨대, = 0.995) 에 기초하여 평활화될 수도 있으며; 그렇지 않으면 평활화는 = 0.9에 기초할 수도 있다. 비교 값들을 조정할지의 여부의 결정은 배경 에너지 또는 장기 에너지가 임계값 미만인지의 여부에 기초할 수도 있다.
도 16을 참조하면, 특정 동작 방법을 예시하는 흐름도가 도시되고 전체가 1600으로 지정된다. 방법 (1600) 은 도 1의 시간 등화기 (108), 인코더 (114), 제 1 디바이스 (104), 또는 그 조합에 의해 수행될 수도 있다.
방법 (1600) 은, 1602에서, 제 1 마이크로폰에서 기준 채널을 캡처하는 단계를 포함한다. 기준 채널은 기준 프레임을 포함할 수도 있다. 예를 들어, 도 1을 참조하면, 제 1 마이크로폰 (146) 은 제 1 오디오 신호 (130) (예컨대, 방법 (1600) 에 따른 "기준 채널") 를 캡처할 수도 있다. 제 1 오디오 신호 (130) 는 기준 프레임 (예컨대, 제 1 프레임 (131)) 을 포함할 수도 있다.
타겟 채널이, 1604에서, 제 2 마이크로폰에서 캡처될 수도 있다. 타겟 채널은 타겟 프레임을 포함할 수도 있다. 예를 들어, 도 1을 참조하면, 제 2 마이크로폰 (148) 은 제 2 오디오 신호 (132) (예컨대, 방법 (1600) 에 따른 "타겟 채널") 를 캡처할 수도 있다. 제 2 오디오 신호 (132) 는 타겟 프레임 (예컨대, 제 2 프레임 (133)) 을 포함할 수도 있다. 기준 프레임 및 타겟 프레임들은 유성음 프레임들, 전이 프레임들, 또는 무성음 프레임들 중 하나일 수도 있다.
기준 프레임과 타겟 프레임 사이의 지연이, 1606에서, 추정될 수도 있다. 예를 들어, 도 1을 참조하면, 시간 등화기 (108) 는 기준 프레임과 타겟 프레임 사이의 상호 상관을 결정할 수도 있다. 기준 채널과 타겟 채널 사이의 시간 오프셋이, 1608에서, 지연에 기초하여, 이력적 지연 데이터에 기초하여 추정될 수도 있다. 예를 들어, 도 1을 참조하면, 시간 등화기 (108) 는 마이크로폰들 (146, 148) 에서 캡처된 오디오 사이의 (예컨대, 기준 및 타겟 채널들 사이의) 시간 오프셋을 추정할 수도 있다. 시간 오프셋은 제 1 오디오 신호 (130) 의 제 1 프레임 (131) (예컨대, 기준 프레임) 과 제 2 오디오 신호 (132) 의 제 2 프레임 (133) (예컨대, 타겟 프레임) 사이의 지연에 기초하여 추정될 수도 있다. 예를 들어, 시간 등화기 (108) 는 기준 프레임과 타겟 프레임 사이의 지연을 추정하기 위해 상호 상관 함수를 사용할 수도 있다. 상호 상관 함수는 하나의 프레임의 다른 프레임에 비한 지체의 함수로서 두 개의 프레임들의 유사도를 측정하는데 사용될 수도 있다. 상호 상관 함수에 기초하여, 시간 등화기 (108) 는 기준 프레임과 타겟 프레임 사이의 지연 (예컨대, 지체) 을 결정할 수도 있다. 시간 등화기 (108) 는 지연 및 이력적 지연 데이터에 기초하여 제 1 오디오 신호 (130) (예컨대, 기준 채널) 와 제 2 오디오 신호 (132) (예컨대, 타겟 채널) 사이의 시간 오프셋을 추정할 수도 있다.
이력적 데이터는 제 1 마이크로폰 (146) 에서부터 캡처된 프레임들과 제 2 마이크로폰 (148) 에서부터 캡처된 대응 프레임들 사이의 지연들을 포함할 수도 있다. 예를 들어, 시간 등화기 (108) 는 제 1 오디오 신호 (130) 에 연관된 이전 프레임들과 제 2 오디오 신호 (132) 에 연관된 대응 프레임들 사이의 상호 상관 (예컨대, 지체) 을 결정할 수도 있다. 각각의 지체는 "비교 값"에 의해 표현될 수도 있다. 다시 말하면, 비교 값은 제 1 오디오 신호 (130) 의 프레임과 제 2 오디오 신호 (132) 의 대응하는 프레임 사이의 시간 시프트 (k) 를 나타낼 수도 있다. 하나의 구현예에 따르면, 이전 프레임들에 대한 비교 값들은 메모리 (153) 에 저장될 수도 있다. 시간 등화기 (108) 의 평활화기 (190) 가 장기 프레임 세트에 대한 비교 값들을 "평활화" (또는 평균화) 할 수도 있고 제 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 오디오 신호 (130) 와 같은 제 1 신호 및 타겟 신호인 도 1의 제 2 오디오 신호 (132) 와 같은 제 2 신호에 대응한다. 양의 방향에서의 시프트가 타겟 신호인 제 1 신호 및 기준 신호인 제 2 신호에 대응한다.
1702에서, 우측 경계에서 비교 값들이 단조롭게 증가하고 있다면, 검출기는, 1704에서, 검색 범위를 증가시키기 위해 우측 경계를 바깥쪽으로 조정할 수도 있다. 예시하기 위해, 샘플 시프트 (19) 에서의 비교 값이 특정 값을 가지고 샘플 시프트 (20) 에서의 비교 값이 더 높은 값을 가진다면, 검출기는 검색 범위를 양의 방향으로 확장할 수도 있다. 비제한적 예로서, 검출기는 검색 범위를 -20부터 25까지로 확장할 수도 있다. 검출기는 하나의 샘플, 두 개의 샘플들, 세 개의 샘플들 등의 증분들로 검색 범위를 확장할 수도 있다. 하나의 구현예에 따르면, 1702에서의 결정은 우측 경계에서의 스퓨리어스 점프에 기초한 검색 범위를 확장할 공산을 감소시키기 위해 우측 경계 쪽 복수의 샘플들에서 비교 값들을 검출함으로써 수행될 수도 있다.
1702에서, 우측 경계에서의 비교 값들이 단조롭게 증가하고 있지 않다면, 검출기는, 1706에서, 좌측 경계에서의 비교 값들이 단조롭게 증가하고 있는지의 여부를 결정할 수도 있다. 1706에서, 좌측 경계에서 비교 값들이 단조롭게 증가하고 있다면, 검출기는, 1708에서, 검색 범위를 증가시키기 위해 좌측 경계를 바깥쪽으로 조정할 수도 있다. 예시하기 위해, 샘플 시프트 (-19) 에서의 비교 값이 특정 값을 가지고 샘플 시프트 (-20) 에서의 비교 값이 더 높은 값을 가진다면, 검출기는 검색 범위를 음의 방향으로 확장할 수도 있다. 비제한적 예로서, 검출기는 검색 범위를 -25부터 20까지로 확장할 수도 있다. 검출기는 하나의 샘플, 두 개의 샘플들, 세 개의 샘플들 등의 증분들로 검색 범위를 확장할 수도 있다. 하나의 구현예에 따르면, 1702에서의 결정은 좌측 경계에서의 스퓨리어스 점프에 기초한 검색 범위를 확장할 공산을 감소시키기 위해 좌측 경계 쪽 복수의 샘플들에서 비교 값들을 검출함으로써 수행될 수도 있다. 1706에서, 좌측 경계에서 비교 값들이 단조롭게 증가하고 있지 않다면, 검출기는, 1710에서, 검색 범위를 변경하지 않고 남겨둘 수도 있다.
따라서, 도 17의 프로세스도 (1700) 는 장래의 프레임들에 대한 검색 범위 수정을 개시할 수도 있다. 예를 들어, 임계값 전의 마지막 열 개의 불일치 값들에 대한 비교 값들에서 과거의 세 개의 연속 프레임들이 단조롭게 증가하고 있는 (예컨대, 샘플 시프트 (10) 에서부터 샘플 시프트 (20) 로 증가하고 있거나 또는 샘플 시프트 (-10) 에서부터 샘플 시프트 (-20) 로 증가하고 있는) 것으로 검출되면, 검색 범위는 특정 수의 샘플들만큼 바깥쪽으로 증가될 수도 있다. 이 검색 범위의 바깥쪽 증가는, 경계에서의 비교 값이 더 이상 단조롭게 증가하지 않을 때까지, 장래의 프레임들에 대해 지속적으로 구현될 수도 있다. 이전 프레임들에 대한 비교 값들에 기초하여 검색 범위를 증가시키는 것은 "셀제 시프트"가 검색 범위의 경계에 매우 가깝지만 검색 범위 밖에 놓일 수도 있는 공산을 감소시킬 수도 있다. 이 공산을 감소시키는 것은 개선된 사이드 채널 에너지 최소화 및 채널 코딩을 초래할 수도 있다.
도 18을 참조하면, 시프트 추정을 위해 사용되는 비교 값들에 대한 검색 범위의 선택적 확장을 예시하는 그래프들이 도시된다. 그 그래프들은 표 1에서의 데이터와 연계하여 동작할 수도 있다.
표 1: 선택적 검색 범위 확장 데이터
표 1에 따르면, 특정 경계가 세 개 이상의 연속 프레임들에서 증가하면 검출기는 검색 범위를 확장할 수도 있다. 제 1 그래프 (1802) 는 프레임 i-2에 대한 비교 값들을 예시한다. 제 1 그래프 (1802) 에 따르면, 하나의 연속 프레임에 대해 좌측 경계는 단조롭게 증가하고 있지 않고 우측 경계는 단조롭게 증가하고 있다. 그 결과, 검색 범위는 다음의 프레임 (예컨대, 프레임 i-1) 에 대해 변경없이 남아 있고 그 경계는 -20부터 20까지의 범위일 수도 있다. 제 2 그래프 (1804) 는 프레임 i-1에 대한 비교 값들을 예시한다. 제 2 그래프 (1804) 에 따르면, 두 개의 연속 프레임들에 대해 좌측 경계는 단조롭게 증가하고 있지 않고 우측 경계는 단조롭게 증가하고 있다. 그 결과, 검색 범위는 다음의 프레임 (예컨대, 프레임 i) 에 대해 변경없이 남아 있고 그 경계는 -20부터 20까지의 범위일 수도 있다.
제 3 그래프 (1806) 는 프레임 i에 대한 비교 값들을 예시한다. 제 3 그래프 (1806) 에 따르면, 세 개의 연속 프레임들에 대해 좌측 경계는 단조롭게 증가하고 있지 않고 우측 경계는 단조롭게 증가하고 있다. 우측 경계가 세 개 이상의 연속 프레임에 대해 단조롭게 증가하고 있기 때문에, 다음의 프레임 (예컨대, 프레임 i+1) 에 대한 검색 범위는 확장될 수도 있고 다음의 프레임에 대한 경계는 -23부터 23까지의 범위일 수도 있다. 제 4 그래프 (1808) 는 프레임 i+1에 대한 비교 값들을 예시한다. 제 4 그래프 (1808) 에 따르면, 네 개의 연속 프레임들에 대해 좌측 경계는 단조롭게 증가하고 있지 않고 우측 경계는 단조롭게 증가하고 있다. 우측 경계가 세 개 이상의 연속 프레임에 대해 단조롭게 증가하고 있기 때문에, 다음의 프레임 (예컨대, 프레임 i+2) 에 대한 검색 범위는 확장될 수도 있고 다음의 프레임에 대한 경계는 -26부터 26까지의 범위일 수도 있다. 제 5 그래프 (1810) 는 프레임 i+2에 대한 비교 값들을 예시한다. 제 5 그래프 (1810) 에 따르면, 다섯 개의 연속 프레임들에 대해 좌측 경계는 단조롭게 증가하고 있지 않고 우측 경계는 단조롭게 증가하고 있다. 우측 경계가 세 개 이상의 연속 프레임에 대해 단조롭게 증가하고 있기 때문에, 다음의 프레임 (예컨대, 프레임 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에서의 예들이 우측 경계가 바깥쪽으로 확장될 수도 있음을 나타내지만, 좌측 경계가 확장될 것이라고 검출기가 결정하면, 비슷한 유사 함수들이 좌측 경계를 바깥쪽으로 확장하기 위해 수행될 수도 있다. 일부 구현예들에 따르면, 검색 범위에 대한 절대 제한들이 검색 범위가 무한히 증가하거나 또는 감소하는 것을 방지하는데 이용될 수도 있다. 비제한적 예로서, 검색 범위의 절대 값은 8.75 밀리초 (예컨대, 코덱의 예견 (look-ahead)) 를 초과하여 증가하도록 허용되지 않을 수도 있다.
도 19를 참조하면, 채널을 비인과적으로 시프트하는 방법 (1900) 이 도시된다. 그 방법 (1900) 은 도 1의 시간 등화기 (108), 인코더 (114), 제 1 디바이스 (104), 또는 그 조합에 의해 수행될 수도 있다.
방법 (1900) 은, 1902에서, 인코더에서 비교 값들을 추정하는 단계를 포함한다. 각각의 비교 값이 이전에 캡처된 기준 채널 및 대응하는 이전에 캡처된 타겟 채널 사이의 시간적 불일치의 양을 나타낼 수도 있다. 예를 들어, 도 1을 참조하면, 인코더 (114) 는 기준 프레임들 (시간적으로 일찍 캡처됨) 과 대응하는 타겟 프레임들 (시간적으로 일찍 캡처됨) 을 나타내는 비교값들을 추정할 수도 있다. 기준 프레임들과 타겟 프레임들은 마이크로폰들 (146, 148) 에 의해 캡처될 수도 있다.
방법 (1900) 은, 1904에서, 이력적 비교 값 데이터 및 평활화 파라미터에 기초하여 평활화된 비교 값들을 생성하기 위해 비교 값들을 평활화하는 단계를 또한 포함한다. 예를 들어, 도 1을 참조하면, 인코더 (114) 는 이력적 비교 값 데이터 및 평활화 파라미터에 기초하여 평활화된 비교 값들을 생성하기 위해 비교 값들을 평활화할 수도 있다. 하나의 구현예에 따르면, 평활화 파라미터는 적응적일 수도 있다. 예를 들어, 방법 (1900) 은 단기 비교 값들 대 장기 비교 값들의 상관에 기초하여 평활화 파라미터를 적응시키는 단계를 포함할 수도 있다. 하나의 구현예에 따르면, 비교 값들 는 와 동일하다. 평활화 파라미터 () 의 값은 입력 채널들의 단기 에너지 표시자들 및 입력 채널들의 장기 에너지 표시자들에 기초하여 조정될 수도 있다. 덧붙여, 평활화 파라미터 () 의 값은, 단기 에너지 표시자들이 장기 에너지 표시자들보다 더 크면 감소될 수도 있다. 다른 구현예에 따르면, 평활화 파라미터 () 의 값은 단기 평활화된 비교 값들 대 장기 평활화된 비교 값들의 상관에 기초하여 조정된다. 덧붙여, 평활화 파라미터 () 의 값은, 그 상관이 임계값을 초과하면 증가될 수도 있다. 다른 구현예에 따르면, 비교 값들은 다운 샘플링된 기준 채널들 및 대응하는 다운 샘플링된 타겟 채널의 상호 상관 값들일 수도 있다.
방법 (1900) 은, 1906에서, 평활화된 비교 값들에 기초하여 잠정적 시프트 값을 추정하는 동작을 또한 포함한다. 예를 들어, 도 1을 참조하면, 인코더 (114) 는 평활화된 비교 값들에 기초하여 잠정적 시프트 값을 추정할 수도 있다. 방법 (1900) 은, 1908에서, 기준 채널과 시간적으로 정렬되는 조정된 타겟 채널을 생성하기 위해 비인과적 시프트 값에 의해 타겟 채널을 비인과적으로 시프트하는 단계를 포함하며, 비인과적 시프트 값은 잠정적 시프트 값에 기초한다. 예를 들어, 시간 등화기 (108) 는 기준 채널과는 시간적으로 정렬되는 조정된 타겟 채널을 생성하기 위해 타겟 채널을 비인과적 시프트 값 (예컨대, 비인과적 불일치 값 (162)) 만큼 비인과적으로 시프트할 수도 있다.
방법 (1900) 은, 1910에서, 기준 채널 및 조정된 타겟 채널에 기초하여 중간 대역 채널 또는 사이드 대역 채널 중 적어도 하나를 생성하는 단계를 또한 포함한다. 예를 들어, 도 19를 참조하면, 인코더 (114) 는 기준 채널 및 조정된 타겟 채널에 기초하여 적어도 중간 대역 채널 및 사이드 대역 채널을 생성할 수도 있다.
도 20을 참조하면, 디바이스 (예컨대, 무선 통신 디바이스) 의 특정 구체적인 예의 블록도가 묘사되고 전체가 2000으로 지정된다. 다양한 실시형태들에서, 디바이스 (2000) 는 도 20에서 예시된 것보다 더 많거나 또는 더 적은 컴포넌트들을 가질 수도 있다. 예시적인 실시형태에서, 디바이스 (2000) 는 도 1의 제 1 디바이스 (104) 또는 제 2 디바이스 (106) 에 해당할 수도 있다. 예시적인 실시형태에서, 디바이스 (2000) 는 도 1 내지 도 19의 시스템들 및 방법들을 참조하여 설명되는 하나 이상의 동작들을 수행할 수도 있다.
특정 실시형태에서, 디바이스 (2000) 는 프로세서 (2006) (예컨대, 중앙 프로세싱 유닛 (CPU) 를 포함한다. 디바이스 (2000) 는 하나 이상의 추가적인 프로세서들 (2010) (예컨대, 하나 이상의 디지털 신호 프로세서들 (DSP들)) 을 포함할 수도 있다. 프로세서들 (2010) 은 미디어 (예컨대, 스피치 및 음악) 코더-디코더 (CODEC) (2008) 와 에코 제거기 (2012) 를 포함할 수도 있다. 미디어 CODEC (2008) 은 도 1의 디코더 (118), 인코더 (114), 또는 둘 다를 포함할 수도 있다. 인코더 (114) 는 시간 등화기 (108) 를 포함할 수도 있다.
디바이스 (2000) 는 메모리 (153) 와 CODEC (2034) 을 포함할 수도 있다. 비록 미디어 CODEC (2008) 이 프로세서들 (2010) 의 컴포넌트 (예컨대, 전용 회로부 및/또는 실행가능 프로그래밍 코드) 로서 예시되지만, 다른 실시형태들에서 미디어 CODEC (2008) 의 하나 이상의 컴포넌트들, 이를테면 디코더 (118), 인코더 (114), 또는 둘 다가, 프로세서 (2006), CODEC (2034), 다른 프로세싱 컴포넌트, 또는 그 조합에 포함될 수도 있다.
디바이스 (2000) 는 안테나 (2042) 에 커플링되는 송신기 (110) 를 포함할 수도 있다. 디바이스 (2000) 는 디스플레이 제어기 (2026) 에 커플링된 디스플레이 (2028) 를 포함할 수도 있다. 하나 이상의 스피커들 (2048) 이 CODEC (2034) 에 커플링될 수도 있다. 하나 이상의 마이크로폰들 (2046) 이, 입력 인터페이스(들)(112) 를 통해, CODEC (2034) 에 커플링될 수도 있다. 특정 구현예에서, 스피커들 (2048) 은 도 1의 제 1 라우드스피커 (142), 제 2 라우드스피커 (144), 도 2의 제 Y 라우드스피커 (244), 또는 그 조합을 포함할 수도 있다. 특정 구현예에서, 마이크로폰들 (2046) 은 제 1 마이크로폰 (146), 도 1의 제 2 마이크로폰 (148), 도 2의 제 N 마이크로폰 (248), 제 3 마이크로폰 (1146), 도 11의 제 4 마이크로폰 (1148), 또는 그 조합을 포함할 수도 있다. CODEC (2034) 은 디지털-아날로그 변환기 (DAC) (2002) 와 아날로그-디지털 변환기 (ADC) (2004) 를 포함할 수도 있다.
메모리 (153) 는 도 1 내지 도 19를 참조하여 설명되는 하나 이상의 동작들을 수행하기 위해, 프로세서 (2006), 프로세서들 (2010), CODEC (2034), 디바이스 (2000) 의 다른 프로세싱 유닛, 또는 그 조합에 의해 실행 가능한 명령들 (2060) 을 포함할 수도 있다. 메모리 (153) 는 분석 데이터 (190) 를 저장할 수도 있다.
디바이스 (2000) 의 하나 이상의 컴포넌트들은 하나 이상의 태스크들, 또는 그것들의 조합을 수행하기 위한 명령들을 실행하는 프로세서에 의해 전용 하드웨어 (예컨대, 회로부) 를 통해 구현될 수도 있다. 일 예로서, 메모리 (153) 또는 프로세서 (2006), 프로세서 (2010), 및/또는 CODEC (2034) 의 하나 이상의 컴포넌트들은, 랜덤 액세스 메모리 (RAM), 자기저항성 랜덤 액세스 메모리 (MRAM), STT-MRAM (spin-torque transfer MRAM), 플래시 메모리, 판독전용 메모리 (ROM), 프로그래밍가능 판독전용 메모리 (PROM), 소거가능 프로그래밍가능 판독전용 메모리 (EPROM), 전기적 소거가능 프로그래밍가능 판독전용 메모리 (EEPROM), 레지스터들, 하드 디스크, 착탈식 디스크, 콤팩트 디스크 판독전용 메모리 (CD-ROM) 와 같은 메모리 디바이스일 수도 있다. 메모리 디바이스는 컴퓨터 (예컨대, CODEC (2034) 에서의 프로세서, 프로세서 (2006), 및/또는 프로세서들 (2010)) 에 의해 실행될 때, 컴퓨터로 하여금 도 1 내지 도 18을 참조하여 설명되는 하나 이상의 동작들을 수행하게 할 수도 있는 명령들 (예컨대, 명령들 (2060)) 을 포함할 수도 있다. 일 예로서, 메모리 (153) 또는 프로세서 (2006), 프로세서들 (2010), 및/또는 CODEC (2034) 의 하나 이상의 컴포넌트들은, 컴퓨터 (예컨대, CODEC (2034) 에서의 프로세서, 프로세서 (2006), 및/또는 프로세서들 (2010)) 에 의해 실행될 때, 컴퓨터로 하여금 도 1 내지 도 19를 참조하여 설명되는 하나 이상의 동작들을 수행하게 하는 명령들 (예컨대, 명령들 (2060)) 을 포함하는 비일시적 컴퓨터 판독가능 매체일 수도 있다.
특정 실시형태에서, 디바이스 (2000) 는 시스템-인-패키지 (system-in-package) 또는 시스템-온-칩 디바이스 (예컨대, 이동국 모뎀 (MSM)) (2022) 에 포함될 수도 있다. 특정 실시형태에서, 프로세서 (2006), 프로세서들 (2010), 디스플레이 제어기 (2026), 메모리 (153), CODEC (2034), 및 송신기 (110) 는 시스템-인-패키지 또는 시스템-온-칩 디바이스 (2022) 에 포함된다. 특정 실시형태에서, 입력 디바이스 (2030), 이를테면 터치스크린 및/또는 키패드와, 전력 공급부 (2044) 가 시스템-온-칩 디바이스 (2022) 에 커플링된다. 더구나, 특정 실시형태에서, 도 20에 예시된 바와 같이, 디스플레이 (2028), 입력 디바이스 (2030), 스피커들 (2048), 마이크로폰들 (2046), 안테나 (2042), 및 전력 공급부 (2044) 는 시스템-온-칩 디바이스 (2022) 외부에 있다. 그러나, 디스플레이 (2028), 입력 디바이스 (2030), 스피커들 (2048), 마이크로폰들 (2046), 안테나 (2042), 및 전력 공급부 (2044) 의 각각은 시스템-온-칩 디바이스 (2022) 의 컴포넌트, 이를테면 인터페이스 또는 제어기에 커플링될 수 있다.
디바이스 (2000) 는 무선 전화기, 모바일 통신 디바이스, 모바일 폰, 스마트 폰, 셀룰러 폰, 랩톱 컴퓨터, 데스크톱 컴퓨터, 컴퓨터, 태블릿 컴퓨터, 셋톱 박스, 개인 정보 단말기 (PDA), 디스플레이 디바이스, 텔레비전, 게이밍 콘솔, 음악 플레이어, 라디오, 비디오 플레이어, 엔터테인먼트 유닛, 통신 디바이스, 고정 로케이션 데이터 유닛, 개인 미디어 플레이어, 디지털 비디오 플레이어, 디지털 비디오 디스크 (DVD) 플레이어, 튜너, 카메라, 내비게이션 디바이스, 디코더 시스템, 인코더 시스템, 또는 그것들의 임의의 조합을 포함할 수도 있다.
특정 구현예에서, 본 명세서에서 설명되는 시스템들의 하나 이상의 컴포넌트들과 디바이스 (2000) 는 디코딩 시스템 또는 장치 (예컨대, 전자 디바이스, CODEC, 또는 그 속의 프로세서) 속에, 인코딩 시스템 또는 장치 속에, 또는 둘 다 속에 통합될 수도 있다. 다른 구현예들에서, 본 명세서에서 설명되는 시스템들의 하나 이상의 컴포넌트들과 디바이스 (2000) 는 무선 전화기, 태블릿 컴퓨터, 데스크톱 컴퓨터, 랩톱 컴퓨터, 셋톱 박스, 음악 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 텔레비전, 게임 콘솔, 내비게이션 디바이스, 통신 디바이스, 개인 정보 단말기 (PDA), 고정 로케이션 데이터 유닛, 개인 미디어 플레이어, 또는 다른 유형의 디바이스 속에 통합될 수도 있다.
본 명세서에서 설명되는 시스템들의 하나 이상의 컴포넌트들 및 디바이스 (2000) 에 의해 수행되는 다양한 기능들은 특정한 컴포넌트들 또는 모듈들에 의해 수행되는 것으로서 설명된다는 것에 주의해야 한다. 컴포넌트들 및 모듈들의 이 구분은 예시만을 위한 것이다. 대안적인 구현예에서, 특정 컴포넌트 또는 모듈에 의해 수행되는 기능이 다수의 컴포넌트들 또는 모듈들 중에서 분할될 수도 있다. 더구나, 대안적인 구현예에서, 본 명세서에서 설명되는 시스템들의 둘 이상의 컴포넌트들 또는 모듈들이 단일 컴포넌트 또는 모듈 속에 통합될 수도 있다. 본 명세서에서 설명되는 각각의 컴포넌트 또는 모듈은 하드웨어 (예컨대, 필드 프로그램가능 게이트 어레이 (FPGA) 디바이스, 주문형 집적회로 (ASIC), DSP, 제어기 등), 소프트웨어 (예컨대, 프로세서에 의해 실행 가능한 명령들), 또는 그것들의 임의의 조합을 사용하여 구현될 수도 있다.
설명된 구현예들과 연계하여, 장치가 기준 채널을 캡처하는 수단을 포함한다. 기준 채널은 기준 프레임을 포함할 수도 있다. 예를 들어, 제 1 오디오 신호를 캡처하는 수단은 도 1 및 도 2의 제 1 마이크로폰 (146), 도 20의 마이크로폰(들)(2046), 기준 채널을 캡처하도록 구성되는 하나 이상의 디바이스들/센서들 (예컨대, 컴퓨터 판독가능 저장 디바이스에 저장되는 명령들을 실행하는 프로세서), 또는 그 조합을 포함할 수도 있다.
장치는 타겟 채널을 캡처하는 수단을 또한 포함할 수도 있다. 타겟 채널은 타겟 프레임을 포함할 수도 있다. 예를 들어, 제 2 오디오 신호를 캡처하는 수단은 도 1 및 도 2의 제 2 마이크로폰 (148), 도 20의 마이크로폰(들)(2046), 타겟 채널을 캡처하도록 구성되는 하나 이상의 디바이스들/센서들 (예컨대, 컴퓨터 판독가능 저장 디바이스에 저장되는 명령들을 실행하는 프로세서), 또는 그 조합을 포함할 수도 있다.
그 장치는 기준 프레임과 타겟 프레임 사이의 지연을 추정하는 수단을 또한 포함할 수도 있다. 예를 들어, 지연을 결정하는 수단은 시간 등화기 (108), 인코더 (114), 도 1의 제 1 디바이스 (104), 미디어 CODEC (2008), 프로세서들 (2010), 디바이스 (2000), 지연을 결정하도록 구성되는 하나 이상의 디바이스들 (예컨대, 컴퓨터 판독가능 저장 디바이스에 저장되는 명령들을 실행하는 프로세서), 또는 그 조합을 포함할 수도 있다.
그 장치는 지연에 기초하여 그리고 이력적 지연 데이터에 기초하여 기준 채널과 타겟 채널 사이의 시간 오프셋을 추정하는 수단을 또한 포함할 수도 있다. 예를 들어, 시간 오프셋을 결정하는 수단은 시간 등화기 (108), 인코더 (114), 도 1의 제 1 디바이스 (104), 미디어 CODEC (2008), 프로세서들 (2010), 디바이스 (2000), 시간 오프셋을 추정하도록 구성되는 하나 이상의 디바이스들 (예컨대, 컴퓨터 판독가능 저장 디바이스에 저장되는 명령들을 실행하는 프로세서), 또는 그 조합을 포함할 수도 있다.
도 21을 참조하면, 기지국 (2100) 의 특정 구체적인 예의 블록도가 묘사된다. 다양한 구현예들에서, 기지국 (2100) 은 도 21에 예시된 것보다 더 많은 컴포넌트들 또는 더 적은 컴포넌트들을 가질 수도 있다. 구체적인 예에서, 기지국 (2100) 은 제 1 디바이스 (104), 도 1의 제 2 디바이스 (106), 도 2의 제 1 디바이스 (204), 또는 그 조합을 포함할 수도 있다. 구체적인 예에서, 기지국 (2100) 은 도 1 내지 도 19를 참조하여 설명된 시스템들 또는 방법들 중 하나 이상에 따라 동작할 수도 있다.
기지국 (2100) 은 무선 통신 시스템의 일부일 수도 있다. 무선 통신 시스템은 다수의 기지국들과 다수의 무선 디바이스들을 포함할 수도 있다. 무선 통신 시스템은 LTE (Long Term Evolution) 시스템, 코드 분할 다중 접속 (CDMA) 시스템, GSM (Global System for Mobile Communications) 시스템, 무선 로컬 영역 네트워크 (WLAN) 시스템, 또는 일부 다른 무선 시스템일 수도 있다. CDMA 시스템이 광대역 CDMA (WCDMA), CDMA 1X, EVDO (Evolution-Data Optimized), TD-SCDMA (Time Division Synchronous CDMA), 또는 CDMA의 일부 다른 버전을 구현할 수도 있다.
무선 디바이스는 사용자 장비 (UE), 이동국, 단말, 액세스 단말, 가입자 유닛, 스테이션 등이라고 또한 지칭될 수도 있다. 무선 디바이스들은 셀룰러 폰, 스마트폰, 태블릿, 무선 모뎀, 개인 정보 단말기 (PDA), 핸드헬드 디바이스, 랩톱 컴퓨터, 스마트북, 넷북, 태블릿, 무선 폰, 무선 가입자 회선 (WLL) 스테이션, 블루투스 디바이스 등을 포함할 수도 있다. 무선 디바이스들은 도 21의 디바이스 (2100) 를 포함하거나 또는 그런 디바이스에 해당할 수도 있다.
다양한 기능들, 이를테면 메시지들 및 데이터 (예컨대, 오디오 데이터) 를 전송하는 것 및 수신하는 것이 기지국 (2100) 의 하나 이상의 컴포넌트들에 의해 (그리고/또는 도시되지 않은 다른 컴포넌트들에서) 수행될 수도 있다. 특정 예에서, 기지국 (2100) 은 프로세서 (2106) (예컨대, CPU) 를 포함한다. 기지국 (2100) 은 트랜스코더 (2110) 를 포함할 수도 있다. 트랜스코더 (2110) 는 오디오 CODEC (2108) 을 포함할 수도 있다. 예를 들어, 트랜스코더 (2110) 는 오디오 CODEC (2108) 의 동작들을 수행하도록 구성되는 하나 이상의 컴포넌트들 (예컨대, 회로부) 을 포함할 수도 있다. 다른 예로서, 트랜스코더 (2110) 는 CODEC (2108) 의 동작들을 수행하기 위해 하나 이상의 컴퓨터 판독가능 명령들을 실행하도록 구성될 수도 있다. 비록 오디오 CODEC (2108) 이 트랜스코더 (2110) 의 컴포넌트로서 예시되지만, 다른 예들에서 오디오 CODEC (2108) 의 하나 이상의 컴포넌트들은 프로세서 (2106), 다른 프로세싱 컴포넌트, 또는 그 조합에 포함될 수도 있다. 예를 들어, 디코더 (2138) (예컨대, 보코더 디코더) 가 수신기 데이터 프로세서 (2164) 에 포함될 수도 있다. 다른 예로서, 인코더 (2136) (예컨대, 보코더 인코더) 가 송신 데이터 프로세서 (2182) 에 포함될 수도 있다.
트랜스코더 (2110) 는 둘 이상의 네트워크들 사이에서 메시지들 및 데이터를 트랜스코딩하도록 기능을 할 수도 있다. 트랜스코더 (2110) 는 메시지 및 오디오 데이터를 제 1 포맷 (예컨대, 디지털 포맷) 으로부터 제 2 포맷으로 변환하도록 구성될 수도 있다. 예시하기 위해, 디코더 (2138) 는 제 1 포맷을 갖는 인코딩된 신호들을 디코딩할 수도 있고 인코더 (2136) 는 디코딩된 신호들을 제 2 포맷을 갖는 인코딩된 신호들로 인코딩할 수도 있다. 부가적으로 또는 대안적으로, 트랜스코더 (2110) 는 데이터 레이트 적응을 수행하도록 구성될 수도 있다. 예를 들어, 트랜스코더 (2110) 는 오디오 데이터의 포맷을 변경하는 일 없이 데이터 레이트를 다운 변환 또는 데이터 레이트를 업 변환할 수도 있다. 예시하기 위해, 트랜스코더 (2110) 는 64 kbit/s 신호들을 16 kbit/s 신호들로 다운 변환할 수도 있다.
오디오 CODEC (2108) 은 인코더 (2136) 와 디코더 (2138) 를 포함할 수도 있다. 인코더 (2136) 는 도 1의 인코더 (114), 도 2의 인코더 (214), 또는 둘 다를 포함할 수도 있다. 디코더 (2138) 는 도 1의 디코더 (118) 를 포함할 수도 있다.
기지국 (2100) 은 메모리 (2132) 를 포함할 수도 있다. 메모리 (2132), 이를테면 컴퓨터 판독가능 저장 디바이스는, 명령들을 포함할 수도 있다. 그 명령들은, 도 1 내지 도 20의 방법들 및 시스템들을 참조하여 설명된 하나 이상의 동작들을 수행하기 위해, 프로세서 (2106), 트랜스코더 (2110), 또는 그 조합에 의해 실행 가능한 하나 이상의 명령들을 포함할 수도 있다. 기지국 (2100) 은 안테나들의 어레이에 커플링된 제 1 트랜시버 (2152) 및 제 2 트랜시버 (2154) 와 같은 다수의 송신기들 및 수신기들 (예컨대, 트랜시버들) 을 포함할 수도 있다. 안테나들의 어레이는 제 1 안테나 (2142) 와 제 2 안테나 (2144) 를 포함할 수도 있다. 안테나들의 어레이는 하나 이상의 무선 디바이스들, 이를테면 도 21의 디바이스 (2100) 와 무선으로 통신하도록 구성될 수도 있다. 예를 들어, 제 2 안테나 (2144) 는 무선 디바이스로부터 데이터 스트림 (2114) (예컨대, 비트 스트림) 을 수신할 수도 있다. 데이터 스트림 (2114) 은 메시지들, 데이터 (예컨대, 인코딩된 스피치 데이터), 또는 그 조합을 포함할 수도 있다.
기지국 (2100) 은 네트워크 접속 (2160), 이를테면 백홀 (backhaul) 접속을 포함할 수도 있다. 네트워크 접속 (2160) 은 무선 통신 네트워크의 하나 이상의 기지국들 또는 코어 네트워크와 통신하도록 구성될 수도 있다. 예를 들어, 기지국 (2100) 은 코어 네트워크로부터 네트워크 접속 (2160) 을 통해 제 2 데이터 스트림 (예컨대, 메시지들 또는 오디오 데이터) 을 수신할 수도 있다. 기지국 (2100) 은 제 2 데이터 스트림을 프로세싱하여 메시지들 또는 오디오 데이터를 생성하고 메시지들 또는 오디오 데이터를 하나 이상의 무선 디바이스에게 안테나 어레이의 하나 이상의 안테나들을 통해 또는 다른 기지국에게 네트워크 접속 (2160) 을 통해 제공할 수도 있다. 특정 구현예에서, 네트워크 접속 (2160) 은 예시적인, 비제한적 예로서 광역 네트워크 (WAN) 접속일 수도 있다. 일부 구현예들에서, 코어 네트워크는 공중전화망 (PSTN), 패킷 백본 네트워크, 또는 둘 다를 포함하거나 또는 그것들에 해당할 수도 있다.
기지국 (2100) 은 네트워크 접속 (2160) 및 프로세서 (2106) 에 커플링되는 미디어 게이트웨이 (2170) 를 포함할 수도 있다. 미디어 게이트웨이 (2170) 는 상이한 원거리통신 기술들의 미디어 스트림들 사이에서 변환하도록 구성될 수도 있다. 예를 들어, 미디어 게이트웨이 (2170) 는 상이한 송신 프로토콜들, 상이한 코딩 스킴들, 또는 둘 다 사이에서 변환할 수도 있다. 예시하기 위해, 미디어 게이트웨이 (2170) 는 구체적이며, 비제한적인 예로서, PCM 신호들을 실시간 전송 프로토콜 (RTP) 신호들로 변환할 수도 있다. 미디어 게이트웨이 (2170) 는 패킷 교환 네트워크들 (예컨대, VoIP (Voice Over Internet Protocol) 네트워크, IP 멀티미디어 서브시스템 (IMS), 제 4 세대 (4G) 무선 네트워크, 이를테면 LTE, WiMax, 및 UMB 등), 회선 교환 네트워크들 (예컨대, PSTN), 및 하이브리드 네트워크들 (예컨대, 제 2 세대 (2G) 무선 네트워크, 이를테면 GSM, GPRS, 및 EDGE, 제 3 세대 (3G) 무선 네트워크, 이를테면 WCDMA, EV-DO, 및 HSPA 등) 사이에서 데이터를 변환할 수도 있다.
덧붙여, 미디어 게이트웨이 (2170) 는 트랜스코더를 포함할 수도 있고, 코덱들이 호환 가능하지 않을 때 데이터를 트랜스코딩하도록 구성될 수도 있다. 예를 들어, 미디어 게이트웨이 (2170) 는, 구체적인 비제한적인 예로서, 적응적 멀티-레이트 (AMR) 코덱과 G.711 코덱 사이에서 트랜스코딩할 수도 있다. 미디어 게이트웨이 (2170) 는 라우터와 복수의 물리적 인터페이스들을 포함할 수도 있다. 일부 구현예들에서, 미디어 게이트웨이 (2170) 는 제어기 (도시되지 않음) 를 또한 포함할 수도 있다. 특정 구현예에서, 미디어 게이트웨이 제어기는 미디어 게이트웨이 (2170) 외부에, 기지국 (2100) 외부에, 또는 둘 다에 있을 수도 있다. 미디어 게이트웨이 제어기는 다수의 미디어 게이트웨이들의 동작들을 제어하고 조정 (coordination) 할 수도 있다. 미디어 게이트웨이 (2170) 는 미디어 게이트웨이 제어기로부터 제어 신호들을 수신할 수도 있고 상이한 송신 기술들 사이에서 브리지하도록 기능을 할 수도 있고 최종 사용자 능력들 및 접속들에 서비스를 추가할 수도 있다.
기지국 (2100) 은 트랜시버들 (2152, 2154) 에 커플링된 복조기 (2162), 수신기 데이터 프로세서 (2164), 및 프로세서 (2106) 를 포함할 수도 있고, 수신기 데이터 프로세서 (2164) 는 프로세서 (2106) 에 커플링될 수도 있다. 복조기 (2162) 는 트랜시버들 (2152, 2154) 로부터 수신된 변조된 신호들을 복조하도록 그리고 복조된 데이터를 수신기 데이터 프로세서 (2164) 로 제공하도록 구성될 수도 있다. 수신기 데이터 프로세서 (2164) 는 복조된 데이터로부터 메시지 또는 오디오 데이터를 추출하고 그 메시지 또는 오디오 데이터를 프로세서 (2106) 로 전송하도록 구성될 수도 있다.
기지국 (2100) 은 송신 데이터 프로세서 (2182) 와 송신 다중입력-다중출력 (MIMO) 프로세서 (2184) 를 포함할 수도 있다. 송신 데이터 프로세서 (2182) 는 프로세서 (2106) 및 송신 MIMO 프로세서 (2184) 에 커플링될 수도 있다. 송신 MIMO 프로세서 (2184) 는 트랜시버들 (2152, 2154) 및 프로세서 (2106) 에 커플링될 수도 있다. 일부 구현예들에서, 송신 MIMO 프로세서 (2184) 는 미디어 게이트웨이 (2170) 에 커플링될 수도 있다. 송신 데이터 프로세서 (2182) 는 프로세서 (2106) 로부터 메시지들 또는 오디오 데이터를 수신하도록 그리고 예시적인, 비제한적 예들로서 CDMA 또는 직교 주파수-분할 다중화 (OFDM) 와 같은 코딩 스킴에 기초하여 메시지들 또는 오디오 데이터를 코딩하도록 구성될 수도 있다. 송신 데이터 프로세서 (2182) 는 코딩된 데이터를 송신 MIMO 프로세서 (2184) 로 제공할 수도 있다.
코딩된 데이터는 다중화된 데이터를 생성하기 위해 CDMA 또는 OFDM 기법들을 사용하여 다른 데이터, 이를테면 파일럿 데이터와 다중화될 수도 있다. 다중화된 데이터는 그 다음에 변조 심볼들을 생성하기 위해 특정 변조 스킴 (예컨대, 이진 위상 시프트 키잉 ("BPSK"), 직교 위상 시프트 키잉 ("QSPK"), M-진 위상-시프트 키잉 ("M-PSK"), M-진 직교 진폭 변조 ("M-QAM") 등) 에 기초하여 송신 데이터 프로세서 (2182) 에 의해 변조될 (즉, 심볼 매핑될) 수도 있다. 특정 구현예에서, 코딩된 데이터 및 다른 데이터는 상이한 변조 스킴들을 사용하여 변조될 수도 있다. 각 데이터 스트림에 대한 데이터 레이트, 코딩 및 변조는 프로세서 (2106) 에 의해 실행되는 명령들에 의해 결정될 수도 있다.
송신 MIMO 프로세서 (2184) 는 송신 데이터 프로세서 (2182) 로부터 변조 심볼들을 수신하도록 구성될 수도 있고 변조 심볼들을 추가로 프로세싱할 수도 있고 그 데이터에 대한 빔포밍을 수행할 수도 있다. 예를 들어, 송신 MIMO 프로세서 (2184) 는 변조 심볼들에 빔포밍 가중치들을 적용할 수도 있다. 빔포밍 가중치들은 변조 심볼들이 송신되는, 안테나 어레이의 하나 이상의 안테나들에 대응할 수도 있다.
동작 동안, 기지국 (2100) 의 제 2 안테나 (2144) 는 데이터 스트림 (2114) 을 수신할 수도 있다. 제 2 트랜시버 (2154) 는 제 2 안테나 (2144) 로부터 데이터 스트림 (2114) 을 수신할 수도 있고 그 데이터 스트림 (2114) 을 복조기 (2162) 로 제공할 수도 있다. 복조기 (2162) 는 데이터 스트림 (2114) 의 변조된 신호들을 복조하고 복조된 데이터를 수신기 데이터 프로세서 (2164) 로 제공할 수도 있다. 수신기 데이터 프로세서 (2164) 는 복조된 데이터로부터 오디오 데이터를 추출하고 추출된 오디오 데이터를 프로세서 (2106) 에 제공할 수도 있다.
프로세서 (2106) 는 오디오 데이터를 트랜스코더 (2110) 로 트랜스코딩을 위해 제공할 수도 있다. 트랜스코더 (2110) 의 디코더 (2138) 는 제 1 포맷으로부터의 오디오 데이터를 디코딩된 오디오 데이터로 디코딩할 수도 있고 인코더 (2136) 는 디코딩된 오디오 데이터를 제 2 포맷으로 인코딩할 수도 있다. 일부 구현예들에서, 인코더 (2136) 는 무선 디바이스로부터 수신된 것보다 더 높은 데이터 레이트 (예컨대, 업 변환) 또는 낮은 데이터 레이트 (예컨대, 업 변환) 를 사용하여 오디오 데이터를 인코딩할 수도 있다. 다른 구현예들에서, 오디오 데이터는 트랜스코딩되지 않을 수도 있다. 비록 트랜스코딩 (예컨대, 디코딩 및 인코딩) 이 트랜스코더 (2110) 에 의해 수행되고 있는 것으로서 예시되지만, 트랜스코딩 동작들 (예컨대, 디코딩 및 인코딩) 은 기지국 (2100) 의 다수의 컴포넌트들에 의해 수행될 수도 있다. 예를 들어, 디코딩은 수신기 데이터 프로세서 (2164) 에 의해 수행될 수도 있고 인코딩은 송신 데이터 프로세서 (2182) 에 의해 수행될 수도 있다. 다른 구현예들에서, 프로세서 (2106) 는 다른 송신 프로토콜, 코딩 스킴, 또는 둘 다로의 변환을 위해 오디오 데이터를 미디어 게이트웨이 (2170) 에 제공할 수도 있다. 미디어 게이트웨이 (2170) 는 변환된 데이터를 다른 기지국 또는 코어 네트워크에 네트워크 접속 (2160) 를 통해 제공할 수도 있다.
인코더 (2136) 는 기준 프레임 (예컨대, 제 1 프레임 (131)) 과 타겟 프레임 (예컨대, 제 2 프레임 (133)) 사이의 지연을 추정할 수도 있다. 인코더 (2136) 는 지연에 기초하여 그리고 이력적 지연 데이터에 기초하여 기준 채널 (예컨대, 제 1 오디오 신호 (130)) 과 타겟 채널 (예컨대, 제 2 오디오 신호 (132)) 사이의 시간 오프셋을 또한 추정할 수도 있다. 인코더 (2136) 는 시스템의 전체 지연에 대한 영향을 감소 (또는 최소화) 하기 위해 코덱 샘플 레이트에 기초하여 상이한 분해능에서 시간 오프셋 (또는 최종 시프트) 값을 양자화하고 인코딩할 수도 있다. 하나의 예시적인 구현예에서, 인코더는 인코더에서의 멀티-채널 다운믹스 목적들을 위해 더 높은 분해능으로 시간 오프셋을 추정 및 사용할 수도 있지만, 인코더는 디코더에서의 사용을 위한 더 낮은 분해능에서 양자화 및 송신할 수도 있다. 디코더 (118) 는 기준 신호 표시자 (164), 비인과적 시프트 값 (162), 이득 파라미터 (160), 또는 그 조합에 기초하여 인코딩된 신호들을 디코딩함으로써 제 1 출력 신호 (126) 및 제 2 출력 신호 (128) 를 생성할 수도 있다. 인코더 (2136) 에서 생성된 인코딩된 오디오 데이터, 이를테면 트랜스코딩된 데이터는, 프로세서 (2106) 를 통해 송신 데이터 프로세서 (2182) 또는 네트워크 접속 (2160) 에 제공될 수도 있다.
트랜스코더 (2110) 로부터의 트랜스코딩된 오디오 데이터는 변조 심볼들을 생성하기 위해 변조 스킴, 이를테면 OFDM에 따라 코딩하는 송신 데이터 프로세서 (2182) 에 제공될 수도 있다. 송신 데이터 프로세서 (2182) 는 변조 심볼들을 송신 MIMO 프로세서 (2184) 에 추가의 프로세싱 및 빔포밍을 위해 제공할 수도 있다. 송신 MIMO 프로세서 (2184) 는 빔포밍 가중치들을 적용할 수도 있고 변조 심볼들을 제 1 트랜시버 (2152) 를 통해 안테나 어레이의 하나 이상의 안테나들, 이를테면 제 1 안테나 (2142) 로 제공할 수도 있다. 따라서, 기지국 (2100) 은 무선 디바이스로부터 수신된 데이터 스트림 (2114) 에 대응하는 트랜스코딩된 데이터 스트림 (2116) 을 다른 무선 디바이스로 제공할 수도 있다. 트랜스코딩된 데이터 스트림 (2116) 은 데이터 스트림 (2114) 과는 상이한 인코딩 포맷, 데이터 레이트, 또는 둘 다를 가질 수도 있다. 다른 구현예들에서, 트랜스코딩된 데이터 스트림 (2116) 은 다른 기지국 또는 코어 네트워크로의 송신을 위해 네트워크 접속 (2160) 에 제공될 수도 있다.
기지국 (2100) 은 그러므로, 프로세서 (예컨대, 프로세서 (2106) 또는 트랜스코더 (2110)) 에 의해 실행될 때, 프로세서로 하여금, 기준 프레임과 타겟 프레임 사이의 지연을 추정하는 것을 포함하는 동작들을 수행하게 하는 명령들을 저장하는 컴퓨터 판독가능 저장 디바이스 (예컨대, 메모리 (2132)) 를 포함할 수도 있다. 그 동작들은 지연에 기초하여 그리고 이력적 지연 데이터에 기초하여 기준 채널과 타겟 채널 사이의 시간 오프셋을 추정하는 동작을 또한 포함한다.
당업자들은 본 명세서에서 개시된 실시형태들에 관련하여 설명되는 다양한 예시적인 논리 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 하드웨어 프로세서와 같은 프로세싱 디바이스에 의해 실행되는 컴퓨터 소프트웨어, 또는 둘 다의 조합들로서 구현될 수도 있다는 것을 더 이해할 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들, 및 단계들은 일반적으로 그것들의 기능성의 측면에서 위에서 설명되었다. 이러한 기능성이 하드웨어 또는 실행가능 소프트웨어 중 어느 것으로서 구현되는지는 전체 시스템에 부과되는 특정 애플리케이션 및 설계 제약들에 달려있다. 당업자들은 설명된 기능성을 각 특정 애플리케이션에 대하여 다양한 방식들로 구현할 수도 있지만, 이러한 구현 결정들은 본 개시물의 범위로부터의 일탈을 야기하는 것으로서 해석되지 않아야 한다.
본 명세서에서 개시된 실시형태들에 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이들 두 가지의 조합으로 직접 실시될 수도 있다. 소프트웨어 모듈이, RAM (random-access memory), MRAM (magneto-resistive random access memory), STT-MRAM (spin-torque transfer MRAM), 플래시 메모리, ROM (read-only memory), 프로그래밍가능 ROM (PROM), 소거가능 프로그래밍가능 ROM (EPROM), 전기적 소거가능 프로그래밍가능 ROM (EEPROM), 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM (compact disc read-only memory) 과 같은 메모리 디바이스 내에 존재할 수도 있다. 예시적인 메모리 디바이스가 프로세서에 커플링되어서 그 프로세서는 메모리 디바이스로부터 정보를 판독할 수 있고 그 메모리 디바이스에 정보를 기입할 수 있다. 대체예에서, 메모리 디바이스는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 주문형 집적회로 (ASIC) 내에 존재할 수도 있다. ASIC은 컴퓨팅 디바이스 또는 사용자 단말 내에 존재할 수도 있다. 대체예에서, 프로세서와 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말에 개별 컴포넌트들로서 존재할 수도 있다.
개시된 구현예들의 이전의 설명은 본 기술분야의 통상의 기술자가 개시된 구현예들을 제작하고 사용하는 것을 가능하게 하도록 제공된다. 이들 구현예들에 대한 다양한 변형예들은 본 기술분야의 통상의 기술자들에게 쉽사리 명확하게 될 것이고, 본 명세서에서 정의되는 원리들은 본 개시물의 범위로부터 벗어남 없이 다른 구현예들에 적용될 수도 있다. 따라서, 본 개시물은 본 명세서에서 보인 구현예들로 한정될 의도는 없으며 다음의 청구항들에 의해 정의된 바와 같은 원리들 및 신규한 특징들과 일치하는 가능한 가장 넓은 범위에 일치하는 것이다.
Claims (32)
- 인코더에서 비교 값들을 추정하는 단계로서, 각각의 비교 값은 이전에 캡처된 기준 채널 및 대응하는 이전에 캡처된 타겟 채널 사이의 시간적 불일치의 양을 나타내는, 상기 비교 값들을 추정하는 단계;
이력적 비교 값 데이터 및 평활화 파라미터에 기초하여 평활화된 비교 값들을 생성하기 위해 상기 비교 값들을 평활화하는 단계;
상기 평활화된 비교 값들에 기초하여 잠정적 시프트 값을 추정하는 단계;
특정 기준 채널과 시간적으로 정렬되는 조정된 특정 타겟 채널을 생성하기 위해 비인과적 시프트 값만큼 특정 타겟 채널을 비인과적으로 시프트하는 단계로서, 상기 비인과적 시프트 값은 상기 잠정적 시프트 값에 기초하는, 상기 특정 타겟 채널을 비인과적으로 시프트하는 단계; 및
상기 특정 기준 채널 및 상기 조정된 특정 타겟 채널에 기초하여 중간 대역 채널 또는 사이드 대역 채널 중 적어도 하나를 생성하는 단계를 포함하는, 방법. - 제 1 항에 있어서,
상기 평활화 파라미터는 적응적인, 방법. - 제 1 항에 있어서,
장기 비교 값들에 비한 단기 비교 값들에서의 변화에 기초하여 상기 평활화 파라미터를 적응시키는 단계를 더 포함하는, 방법. - 제 1 항에 있어서,
상기 평활화 파라미터의 값이 입력 채널들의 단기 에너지 표시자들 및 상기 입력 채널들의 장기 에너지 표시자들에 기초하여 조정되는, 방법. - 제 4 항에 있어서,
상기 평활화 파라미터의 상기 값은, 상기 단기 에너지 표시자들이 상기 장기 에너지 표시자들보다 더 크면 감소되는, 방법. - 제 1 항에 있어서,
상기 평활화 파라미터의 값이 장기 평활화된 비교 값들에 비한 단기 평활화된 비교 값들에서의 변화에 기초하여 조정되는, 방법. - 제 6 항에 있어서,
상기 평활화 파라미터의 상기 값은, 상기 변화가 임계값을 초과하면 증가되는, 방법. - 제 1 항에 있어서,
상기 비교 값들은 다운 샘플링된 기준 채널들 및 대응하는 다운 샘플링된 타겟 채널들의 상호 상관 값들을 포함하는, 방법. - 제 1 항에 있어서,
상기 비교 값들의 범위를 조정하는 단계를 더 포함하며,
상기 잠정적 시프트 값은 최고 상호 상관을 갖는 상기 비교 값들의 범위에서의 비교 값과 연관되는, 방법. - 제 9 항에 있어서,
상기 범위를 조정하는 단계는,
상기 범위의 경계에서의 특정 비교 값들이 단조롭게 증가하고 있는지의 여부를 결정하는 단계; 및
상기 경계에서의 상기 특정 비교 값들이 단조롭게 증가하고 있다는 결정에 응답하여 상기 경계를 확장하는 단계를 포함하는, 방법. - 제 10 항에 있어서,
상기 경계는 좌측 경계 또는 우측 경계를 포함하는, 방법. - 제 1 항에 있어서,
상기 기준 채널의 기준 프레임과 상기 타겟 채널의 타겟 프레임이 유성음 프레임들, 전이 프레임들, 또는 무성음 프레임들 중 하나인, 방법. - 제 1 항에 있어서,
상기 비교 값들을 추정하는 단계, 상기 비교 값들을 평활화하는 단계, 상기 잠정적 시프트 값을 추정하는 단계, 및 상기 타겟 채널을 비인과적으로 시프트하는 단계는 모바일 디바이스에서 수행되는, 방법. - 제 1 항에 있어서,
상기 비교 값들을 추정하는 단계, 상기 비교 값들을 평활화하는 단계, 상기 잠정적 시프트 값을 추정하는 단계, 및 상기 타겟 채널을 비인과적으로 시프트하는 단계는 기지국에서 수행되는, 방법. - 특정 기준 채널을 캡처하도록 구성되는 제 1 마이크로폰;
특정 타겟 채널을 캡처하도록 구성되는 제 2 마이크로폰; 및
인코더를 포함하며,
상기 인코더는,
비교 값들을 추정하는 것으로서, 각각의 비교 값이 이전에 캡처된 기준 채널 및 대응하는 이전에 캡처된 타겟 채널 사이의 시간적 불일치의 양을 나타내는, 상기 비교 값들을 추정하며;
이력적 비교 값 데이터 및 평활화 파라미터에 기초하여 평활화된 비교 값들을 생성하기 위해 상기 비교 값들을 평활화하며;
상기 평활화된 비교 값들에 기초하여 잠정적 시프트 값을 추정하며;
특정 기준 채널과 시간적으로 정렬되는 조정된 특정 타겟 채널을 생성하기 위해 비인과적 시프트 값만큼 상기 특정 타겟 채널을 비인과적으로 시프트하는 것으로서, 상기 비인과적 시프트 값은 상기 잠정적 시프트 값에 기초하는, 상기 특정 타겟 채널을 비인과적으로 시프트하며; 그리고
상기 특정 기준 채널 및 상기 조정된 특정 타겟 채널에 기초하여 중간 대역 채널 또는 사이드 대역 채널 중 적어도 하나를 생성하도록
구성되는, 장치. - 제 15 항에 있어서,
상기 평활화 파라미터는 적응적인, 장치. - 제 15 항에 있어서,
상기 인코더는 또한, 단기 비교 값들 대 장기 비교 값들의 상관에 기초하여 상기 평활화 파라미터를 적응시키도록 구성되는, 장치. - 제 15 항에 있어서,
상기 인코더는 또한, 입력 채널들의 단기 에너지 표시자들 및 상기 입력 채널들의 장기 에너지 표시자들에 기초하여 상기 평활화 파라미터의 값을 조정하도록 구성되는, 장치. - 제 18 항에 있어서,
상기 인코더는 또한, 상기 단기 에너지 표시자들이 상기 장기 에너지 표시자들보다 더 크면, 상기 평활화 파라미터의 상기 값을 감소시키도록 구성되는, 장치. - 제 15 항에 있어서,
상기 인코더는 또한, 단기 평활화된 비교 값들 대 장기 평활화된 비교 값들의 상관에 기초하여 상기 평활화 파라미터의 값을 조정하도록 구성되는, 장치. - 제 20 항에 있어서,
상기 인코더는 또한, 상기 상관이 임계값을 초과하면, 상기 평활화 파라미터의 상기 값을 증가시키도록 구성되는, 장치. - 제 15 항에 있어서,
상기 비교 값들은 다운 샘플링된 기준 채널들 및 대응하는 다운 샘플링된 타겟 채널들의 상호 상관 값들인, 장치. - 제 15 항에 있어서,
상기 인코더는 또한, 상기 비교 값들의 범위를 조정하는 것을 조정하도록 구성되며,
상기 잠정적 시프트 값은 최고 상호 상관을 갖는 상기 비교 값들의 상기 범위에서의 비교 값과 연관되는, 장치. - 제 15 항에 있어서,
상기 인코더는 모바일 디바이스에 통합되는, 장치. - 제 15 항에 있어서,
상기 인코더는 기지국에 통합되는, 장치. - 명령들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서,
상기 명령들은, 인코더에 의해 실행될 때, 상기 인코더로 하여금,
비교 값들을 추정하는 것으로서, 각각의 비교 값이 이전에 캡처된 기준 채널 및 대응하는 이전에 캡처된 타겟 채널 사이의 시간적 불일치의 양을 나타내는, 상기 비교 값들을 추정하는 것;
이력적 비교 값 데이터 및 평활화 파라미터에 기초하여 평활화된 비교 값들을 생성하기 위해 상기 비교 값들을 평활화하는 것;
상기 평활화된 비교 값들에 기초하여 잠정적 시프트 값을 추정하는 것;
특정 기준 채널과 시간적으로 정렬되는 조정된 특정 타겟 채널을 생성하기 위해 비인과적 시프트 값만큼 특정 타겟 채널을 비인과적으로 시프트하는 것으로서, 상기 비인과적 시프트 값은 상기 잠정적 시프트 값에 기초하는, 상기 특정 타겟 채널을 비인과적으로 시프트하는 것; 및
상기 특정 기준 채널 및 상기 조정된 특정 타겟 채널에 기초하여 중간 대역 채널 또는 사이드 대역 채널 중 적어도 하나를 생성하는 것
을 포함하는 동작들을 수행하게 하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제 26 항에 있어서,
상기 평활화 파라미터는 적응적인, 비일시적 컴퓨터 판독가능 저장 매체. - 제 26 항에 있어서,
상기 동작들은 단기 비교 값들 대 장기 비교 값들의 상관에 기초하여 상기 평활화 파라미터를 적응시키는 것을 더 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 비교 값들을 추정하는 수단으로서, 각각의 비교 값이 이전에 캡처된 기준 채널 및 대응하는 이전에 캡처된 타겟 채널 사이의 시간적 불일치의 양을 나타내는, 상기 비교 값들을 추정하는 수단;
이력적 비교 값 데이터 및 평활화 파라미터에 기초하여 평활화된 비교 값들을 생성하기 위해 상기 비교 값들을 평활화하는 수단;
상기 평활화된 비교 값들에 기초하여 잠정적 시프트 값을 추정하는 수단;
특정 기준 채널과 시간적으로 정렬되는 조정된 특정 타겟 채널을 생성하기 위해 비인과적 시프트 값만큼 특정 타겟 채널을 비인과적으로 시프트하는 수단으로서, 상기 비인과적 시프트 값은 상기 잠정적 시프트 값에 기초하는, 상기 특정 타겟 채널을 비인과적으로 시프트하는 수단; 및
상기 특정 기준 채널 및 상기 조정된 특정 타겟 채널에 기초하여 중간 대역 채널 또는 사이드 대역 채널 중 적어도 하나를 생성하는 수단을 포함하는, 장치. - 제 29 항에 있어서,
상기 평활화 파라미터는 적응적인, 장치. - 제 29 항에 있어서,
상기 비교 값들을 추정하는 수단, 상기 비교 값들을 평활화하는 수단, 상기 잠정적 시프트 값을 추정하는 수단, 및 상기 타겟 채널을 비인과적으로 시프트하는 수단은 모바일 디바이스 내에 통합되는, 장치. - 제 29 항에 있어서,
상기 비교 값들을 추정하는 수단, 상기 비교 값들을 평활화하는 수단, 상기 잠정적 시프트 값을 추정하는 수단, 및 상기 타겟 채널을 비인과적으로 시프트하는 수단은 기지국 내에 통합되는, 장치.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562269796P | 2015-12-18 | 2015-12-18 | |
US62/269,796 | 2015-12-18 | ||
US15/372,802 US10045145B2 (en) | 2015-12-18 | 2016-12-08 | Temporal offset estimation |
US15/372,802 | 2016-12-08 | ||
PCT/US2016/065869 WO2017106039A1 (en) | 2015-12-18 | 2016-12-09 | Temporal offset estimation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180094904A true KR20180094904A (ko) | 2018-08-24 |
KR102009612B1 KR102009612B1 (ko) | 2019-08-09 |
Family
ID=57796974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187016920A KR102009612B1 (ko) | 2015-12-18 | 2016-12-09 | 시간 오프셋 추정 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10045145B2 (ko) |
EP (2) | EP3742439B1 (ko) |
JP (2) | JP6800229B2 (ko) |
KR (1) | KR102009612B1 (ko) |
CN (1) | CN108369809B (ko) |
CA (1) | CA3004770C (ko) |
ES (1) | ES2837406T3 (ko) |
TW (1) | TWI688243B (ko) |
WO (1) | WO2017106039A1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200023748A (ko) | 2018-08-27 | 2020-03-06 | 농업회사법인 한국도시농업 주식회사 | 컨베이어형 작물 재배장치의 자율 회전형 관수시스템 |
KR20200061256A (ko) | 2018-11-23 | 2020-06-02 | 김근우 | 체인 컨베이어식 작물재배장치의 관수 순환시스템 |
KR20200061254A (ko) | 2018-11-23 | 2020-06-02 | 김근우 | 체인 컨베이어식 작물재배장치의 관수시스템 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10304468B2 (en) | 2017-03-20 | 2019-05-28 | Qualcomm Incorporated | Target sample generation |
US10891960B2 (en) * | 2017-09-11 | 2021-01-12 | Qualcomm Incorproated | Temporal offset estimation |
US10872611B2 (en) * | 2017-09-12 | 2020-12-22 | Qualcomm Incorporated | Selecting channel adjustment method for inter-frame temporal shift variations |
GB2571949A (en) * | 2018-03-13 | 2019-09-18 | Nokia Technologies Oy | Temporal spatial audio parameter smoothing |
CN109087660A (zh) * | 2018-09-29 | 2018-12-25 | 百度在线网络技术(北京)有限公司 | 用于回声消除的方法、装置、设备以及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130301835A1 (en) * | 2011-02-02 | 2013-11-14 | Telefonaktiebolaget L M Ericsson (Publ) | Determining the inter-channel time difference of a multi-channel audio signal |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7508947B2 (en) * | 2004-08-03 | 2009-03-24 | Dolby Laboratories Licensing Corporation | Method for combining audio signals using auditory scene analysis |
US8112286B2 (en) * | 2005-10-31 | 2012-02-07 | Panasonic Corporation | Stereo encoding device, and stereo signal predicting method |
US8385556B1 (en) * | 2007-08-17 | 2013-02-26 | Dts, Inc. | Parametric stereo conversion system and method |
US8463414B2 (en) | 2010-08-09 | 2013-06-11 | Motorola Mobility Llc | Method and apparatus for estimating a parameter for low bit rate stereo transmission |
WO2012094338A1 (en) * | 2011-01-04 | 2012-07-12 | Srs Labs, Inc. | Immersive audio rendering system |
ES2571742T3 (es) | 2012-04-05 | 2016-05-26 | Huawei Tech Co Ltd | Método de determinación de un parámetro de codificación para una señal de audio multicanal y un codificador de audio multicanal |
US10635383B2 (en) * | 2013-04-04 | 2020-04-28 | Nokia Technologies Oy | Visual audio processing apparatus |
-
2016
- 2016-12-08 US US15/372,802 patent/US10045145B2/en active Active
- 2016-12-09 CN CN201680072462.1A patent/CN108369809B/zh active Active
- 2016-12-09 CA CA3004770A patent/CA3004770C/en active Active
- 2016-12-09 WO PCT/US2016/065869 patent/WO2017106039A1/en active Application Filing
- 2016-12-09 JP JP2018530869A patent/JP6800229B2/ja active Active
- 2016-12-09 KR KR1020187016920A patent/KR102009612B1/ko active IP Right Grant
- 2016-12-09 ES ES16826222T patent/ES2837406T3/es active Active
- 2016-12-09 EP EP20186140.8A patent/EP3742439B1/en active Active
- 2016-12-09 EP EP16826222.8A patent/EP3391371B1/en active Active
- 2016-12-15 TW TW105141511A patent/TWI688243B/zh active
-
2019
- 2019-12-09 JP JP2019222100A patent/JP6910416B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130301835A1 (en) * | 2011-02-02 | 2013-11-14 | Telefonaktiebolaget L M Ericsson (Publ) | Determining the inter-channel time difference of a multi-channel audio signal |
Non-Patent Citations (1)
Title |
---|
Recommendation ITU-T G.722. 7 kHz audio-coding within 64 kbit/s. 2012.09. * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200023748A (ko) | 2018-08-27 | 2020-03-06 | 농업회사법인 한국도시농업 주식회사 | 컨베이어형 작물 재배장치의 자율 회전형 관수시스템 |
KR20200061256A (ko) | 2018-11-23 | 2020-06-02 | 김근우 | 체인 컨베이어식 작물재배장치의 관수 순환시스템 |
KR20200061254A (ko) | 2018-11-23 | 2020-06-02 | 김근우 | 체인 컨베이어식 작물재배장치의 관수시스템 |
Also Published As
Publication number | Publication date |
---|---|
US10045145B2 (en) | 2018-08-07 |
JP6910416B2 (ja) | 2021-07-28 |
CN108369809A (zh) | 2018-08-03 |
CN108369809B (zh) | 2019-08-13 |
EP3742439B1 (en) | 2022-03-30 |
JP2019504344A (ja) | 2019-02-14 |
EP3391371A1 (en) | 2018-10-24 |
TWI688243B (zh) | 2020-03-11 |
CA3004770A1 (en) | 2017-06-22 |
BR112018012159A2 (pt) | 2018-11-27 |
ES2837406T3 (es) | 2021-06-30 |
CA3004770C (en) | 2020-12-29 |
EP3391371B1 (en) | 2020-09-16 |
WO2017106039A1 (en) | 2017-06-22 |
EP3742439A1 (en) | 2020-11-25 |
JP6800229B2 (ja) | 2020-12-16 |
TW201728147A (zh) | 2017-08-01 |
KR102009612B1 (ko) | 2019-08-09 |
JP2020060774A (ja) | 2020-04-16 |
US20170180906A1 (en) | 2017-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11094330B2 (en) | Encoding of multiple audio signals | |
KR102230623B1 (ko) | 다중의 오디오 신호들의 인코딩 | |
KR102009612B1 (ko) | 시간 오프셋 추정 | |
KR102551431B1 (ko) | 목표 샘플 발생 | |
JP2020525835A (ja) | 時間領域チャンネル間予測 | |
KR102345910B1 (ko) | 시간 오프셋 추정 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |