KR20160096119A - 대역폭 확장 모드 선택 - Google Patents

대역폭 확장 모드 선택 Download PDF

Info

Publication number
KR20160096119A
KR20160096119A KR1020167017467A KR20167017467A KR20160096119A KR 20160096119 A KR20160096119 A KR 20160096119A KR 1020167017467 A KR1020167017467 A KR 1020167017467A KR 20167017467 A KR20167017467 A KR 20167017467A KR 20160096119 A KR20160096119 A KR 20160096119A
Authority
KR
South Korea
Prior art keywords
parameters
highband
mode
input signal
output
Prior art date
Application number
KR1020167017467A
Other languages
English (en)
Inventor
스테빤 피에르 빌레뜨
다니엘 제이 신더
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20160096119A publication Critical patent/KR20160096119A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/038Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques

Landscapes

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

Abstract

디바이스는 추출기, 예측기, 셀렉터 및 스위치를 포함하는 디코더를 포함한다. 예측기는 수신된 입력 신호로부터 제 1 복수의 파라미터들을 추출하도록 구성된다. 입력 신호는 인코딩된 오디오 신호에 대응한다. 예측기는 입력 신호에서의 고대역 정보와 독립적으로, 제 2 복수의 파라미터들을 생성함으로써 블라인드 대역폭 확장을 수행하도록 구성된다. 제 2 복수의 파라미터들은 인코딩된 오디오 신호의 고대역 부분에 대응한다. 셀렉터는 제 1 복수의 파라미터들을 이용하는 제 1 모드 및 제 2 복수의 파라미터들을 이용하는 제 2 모드를 포함하는 다수의 고대역 모드들 중 특정 모드를 선택하도록 구성된다. 스위치는 선택된 특정 모드에 기초하여 제 1 복수의 파라미터들 또는 제 2 복수의 파라미터들을 출력하도록 구성된다.

Description

대역폭 확장 모드 선택{BANDWIDTH EXTENSION MODE SELECTION}
우선권 주장
본 출원은 2014년 5월 6일 출원된 미국 출원 번호 제14/270,963호 및 2013년 12월 11일 출원된 미국 가출원 번호 제61/914,845호를 우선권으로 주장하며, 이들 양쪽 모두의 내용을 여기서는 전체적으로 참조로서 포함한다.
기술분야
본 개시물은 일반적으로 대역폭 확장에 관한 것이다.
기술에서의 진보들은 보다 소형이고 보다 강력한 컴퓨팅 디바이스들을 가져왔다. 예를 들어, 작고, 가볍고, 사용자들이 가지고 다니기 쉬운 휴대용 무선 전화기들, 개인 휴대 정보 단말기 (PDA) 들, 및 페이징 디바이스들과 같은 무선 컴퓨팅 디바이스들을 포함하여 다양한 휴대용 개인 컴퓨팅 디바이스들이 현재 존재한다. 좀더 구체적으로, 셀룰러 전화기들 및 인터넷 (internet protocol; IP) 전화기들과 같은 휴대용 무선 전화기들은 무선 네트워크들을 통해 음성 및 데이터 패킷들을 통신할 수 있다. 또한, 많은 이러한 무선 전화기들은 이에 포함되는 다른 유형의 디바이스들을 포함한다. 예를 들어, 무선 전화기는 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 레코더, 및 오디오 파일 재생기를 또한 포함한다.
디지털 기술들에 의한 음성의 전송은 장거리 및 디지털 무선 전화 애플리케이션들에서 특히 널리 퍼져있다. 스피치가 샘플링 및 디지털화에 의해 송신되면, 초 당 64 킬로비트 (kbps) 정도의 데이터 레이트가 아날로그 전화의 속도 품질을 실현하는데 이용될 수도 있다. 압축 기술들은 복원된 스피치의 인식되는 품질을 유지하면서 채널을 통하여 전송되는 정보의 양을 감소시키는데 이용될 수도 있다. 수신기에서 스피치 분석, 이에 후속하여 코딩, 송신 및 재합성의 이용을 통하여, 데이터 레이트에서의 상당한 감소가 실현될 수도 있다.
스피치를 압축하는 디바이스들은 많은 원격 통신 분야들에 이용되는 것을 알 수도 있다. 예시적인 분야가 무선 통신들이다. 무선 통신들의 분야는 예를 들어, 코드리스 전화방식들, 페이징, 무선 로컬 루프들, 무선 전화 방식들, 이를 테면 셀룰라 및 퍼스널 통신 서비스 (PCS) 전화 시스템들, 모바일 인터넷 프로토콜 (IP) 전화 방식, 및 위성 통신 시스템들을 포함한 많은 애플리케이션들을 갖는다. 특정 애플리캐이션은 모바일 가입자들을 위한 무선 전화 방식이다.
여러 OTA (over-the-air) 인터페이스들은 예를 들어, FDMA (frequency division multiple access), TDMA (time division multiple access), CDMA (code division multiple access), 및 TD-SCDMA (time division-synchronous CDMA) 을 포함한 무선 통신 시스템들에 대해 개발되어 왔다. 이와 연계하여, 예를 들어, AMPS (Advanced Mobile Phone Service), GSM (Global System for Mobile Communications), 및 IS-95 (Interim Standard 95) 를 포함한 여러 국내 및 국제 표준들이 확립되어 왔다. 예시적인 무선 전화 통신 시스템은 CDMA (code division multiple access) 시스템이다. IS-95 표준 및 그 파생안들, IS-95A, ANSI J-STD-008, 및 IS-95B (여기에서는 총괄적으로 IS-95 라고 지칭된다) 는 셀룰라 또는 PCS 전화기 통신 시스템들을 위한 CDMA OTA 인터페이스의 사용을 구체화하는 TIA (Telecommunication Industry Association) 및 다른 잘 알려진 표준들 바디들에 의해 반포되었다.
IS-95 표준은 후속하여 "3G" 시스템들, 이를 테면, cdma2000 및 WCDMA 로 진화하였고, 이들은 보다 많은 용량들 및 고속의 패킷 데이터 서비스들을 제공한다. 2 개의 cdma2000 변형물들이, TIA 에 의해 발행된 도큐먼트들 IS-2000 (cdma2000 1xRTT) 및 IS-856 (cdma2000 1xEV-DO) 에 의해 제시된다. cdma2000 1xRTT 통신 시스템은 153 kbps 의 피크 데이터 레이트를 제공하는 한편, cdma2000 1xEV-DO 통신 시스템은 38.4 kbps 내지 2.4 Mbps 범위에 있는 데이터 레이트들의 세트를 정의한다. WCDMA 표준은 "3GPP" (3rd Generation Partnership Project), 도큐먼트 넘버들, 3G TS 25.211, 3G TS 25.212, 3G TS 25.213, 및 3G TS 25.214 에서 구체화된다. IMT-Advanced (International Mobile Telecommunications Advanced) 사양은 "4G" 표준들을 기술한다. IMT-Advanced 사양은 (예를 들어, 기차와 자동차들로부터) 높은 이동성 통신을 위하여 초 당 100 메가비트들에서 4G 서비스에 대힌 피크 데이터 레이트를 설정하며 (예를 들어, 보행자들 및 정지된 사용자들로부터) 낮은 이동성 통신을 위하여 초당 1 기가비트 (Gbit/s) 를 설정한다.
인간의 스피치 생성의 모델에 관련한 파라미터들을 추출함으로써 스피치를 압축하는 기술들을 채용하는 디바이스들은 스피치 코더들이라 지칭된다. 스피치 코더들은 인코더 및 디코더를 포함할 수도 있다. 인코더는 인커밍 스피치 신호를 시간 블록들 또는 분석 프레임들로 분할한다. 시간 단위의 각각의 세그먼트 (또는 "프레임") 의 지속기간은 신호의 스펙트럼 엔벨로프가 상대적으로 정지 상태인 것으로 예상될 수도 있기에 충분히 짧도록 선택될 수도 있다. 특정 애플리케이션에 대해 적절한 것으로 보여지는 샘플링 레이트 또는 임의의 프레임 길이가 이용될 수도 있지만, 예를 들어, 프레임 길이는 8 킬로헤르츠 (kHz) 의 샘플링 레이트에서 160 개의 샘플들에 대응하는 20 밀리초일 수도 있다.
인코더는 인커밍 스피치 프레임을 분석하여 특정 관련 파라미터들을 분석하고, 그 후 파라미터들을 바이너리 표현으로, 예를 들어, 비트들의 세트 또는 바이너리 데이터 패킷으로 양자화한다. 데이터 패킷들은 통신 채널 (즉, 유선 및/또는 무선 네트워크 접속) 을 통하여 수신기 및 디코더로 송신된다. 디코더는 데이터 패킷들을 프로세싱하고, 프로세싱된 데이터 패킷들을 양자화해제하여, 파라미터들을 생성하고, 양자화 해제된 파라미터들을 이용하여 스피치 프레임들을 재합성한다.
스피치 코더의 기능은 스피치에 내재된 자연 리던던시들을 제거함으로써, 디지털화된 스피치 신호를 로우 비트 레이트 신호로 압축하는 것이다. 디지털 압축은 비트들의 세트로 파라미터들을 표현하기 위해 파라미터들의 세트로 입력 스피치 프레임을 표현하고 양자화를 채용함으로써 실현될 수도 있다. 입력 스피치 프레임이 비트들의 수 (Ni) 를 갖고, 스피치 코더에 의해 생성된 데이터 패킷이 비트들의 수 (No) 를 가지면, 스피치 코더에 의해 실현되는 압축 팩터는 Cr = Ni/No 이다. 목표 압축 팩터를 실현하면서 디코딩된 스피치의 높은 음성 품질을 유지하는 것이 도전과제이다. 스피치 코더의 성능은 (1) 위에 설명된 분석 및 합성 프로세스의 조합 또는 스피치 모델이 얼마나 잘 수행하는지, 및 (2) 프레임 당 No 비트들의 목표 비트 레이트에서 파라미터 양자화 프로세스가 얼마나 잘 수행되는지에 의존한다. 따라서, 스피치 모델의 목표는 각각의 프레임에 대한 파라미터들의 작은 세트로 스피치 신호의 에센스 또는 목표 음성 품질을 캡쳐하는 것이다.
스피치 코더들은 일반적으로, 스피치 신호를 기술하기 위해 파라미터들의 세트 (벡터들을 포함) 를 이용한다. 파라미터들의 양호한 세트는 이상적으로 인지적으로 정확한 스피치 신호의 복원을 위한 낮은 시스템 대역폭을 제공한다. 피치, 신호 파워, 스펙트럼 엔벨로프 (또는 포먼트들), 진폭 및 위상 스펙트럼은 스피치 코딩 파라미터들의 예들이다.
스피치 코더들은 시간-도메인 코더들로서 구현될 수도 있으며, 이 시간-도메인 코더들은 한번에 스피치의 작은 세그먼트들 (예를 들어, 5 밀리초 (ms) 서브프레임들) 을 인코딩하기 위해 높은 시간 분해능 프로세싱을 채용함으로써 시간 도메인 스피치 파형을 캡쳐하려 시도한다. 각각의 서브프레임에 대해, 코드북 스페이스로부터 대표되는 고정밀도는 검색 알고리즘에 의해 구해진다. 대안적으로, 스피치 코더들은 파라미터들의 세트로 입력 스피치 프레임 (분석) 의 단기 스피치 스펙트럼을 캡쳐하고 스펙트럼 파라미터들로부터 스피치 파형을 재생성하도록 대응하는 합성 프로세스를 채용하려 시도하는 주파수 도메인 코더들로 구현될 수도 있다. 파라미터 양자화기는 알려진 양자화 기술들에 따라 코드 벡터들의 저장된 표현으로 이들 파라미터들을 표현함으로써 파라미터들을 보존한다.
하나의 시간 도메인 스피치 코더가 CELP (Code Excited Linear Predictive) 코더이다. CELP 코더에서, 스피치 신호에서의 단기 상관성들, 또는 리던던시들은 단기 포먼트 필터의 계수들을 구하는 선형 예측 (LP; linear prediction) 분석에 의해 제거된다. 단기 예측 필터를 인커밍 스피치 프레임에 적용하는 것은 LP 잔차 신호를 생성하며, 이 신호는 추가로 장기 예측 필터 파라미터들 및 후속 확률적 코드북으로 모델링 및 양자화된다. 따라서, CELP 코딩은 시간 도메인 스피치 파형을 LP 단기 필터 계수들을 인코딩하고 LP 잔차를 인코딩하는 별도의 작업들로 나누어진다. 시간 도메인 코딩은 고정된 레이트에서 (즉, 각각의 프레임에 대해 비트들의 동일한 수 (No) 를 이용하여) 또는 (상이한 비트 레이트들이 상이한 유형들의 프레임 컨텐츠들에 이용되는) 가변 레이트에서 수행될 수도 있다. 가변 레이트 코더는 목표 품질을 얻는데 적합한 레벨로 파라미터들을 인코딩하는데 요구되는 비트들의 양을 이용하려 시도한다.
시간 도메인 코더들, 이를 테면, CELP 코더는 시간 도메인 스피치 파형의 정확도를 보전하기 위해 프레임 당 비트들의 높은 수 (N0) 에 의존할 수도 있다. 이러한 코더들은 프레임 당 비트들의 수 (No) 가 비교적 크다고 (예를 들어, 8 kbps 이상) 가정하면 우수한 음성 품질을 전달할 수도 있다. 낮은 비트 레이트들 (예를 들어, 4 kbps 이하) 에서, 시간 도메인 코더들은 이용가능한 비트들의 제한된 수로 인하여 높은 품질 및 견고한 성능을 유지하는 것에 실패할 수도 있다. 낮은 비트 레이트들에서, 제한된 코드북 공간은 더 높은 레이트의 상업적 애플리케이션들에 배치되는 시간 도메인 코더들의 파형 매칭 능력을 클립한다. 따라서, 낮은 비트 레이트들에서 동작하는 많은 CELP 코딩 시스템들은 잡음으로서 특징화되는 인식하기에 충분한 왜곡을 겪는다.
낮은 비트 레이트들에서의 CELP 코더들에 대한 대안은 CELP 코더와 유사한 원리 하에서 동작하는 NELP ("Noise Excited Linear Predictive") 이다. NELP 코더들은 코드북 보다는, 스피치를 모델링하는데 필터링된 의사 랜덤 잡음 신호를 이용한다. NELP 가, 코딩된 스피치에 대해 보다 간략한 모델을 이용하기 때문에, NELP 는 CELP 보다 더 낮은 비트 레이트를 실현한다. NELP 는 무성음 스피치 또는 묵음을 압축 또는 표현하는데 이용될 수도 있다.
2.4 kbps 정도의 레이트에서 동작하는 코딩 시스템들은 일반적으로 본래 파라미터적이다. 즉, 이러한 코딩 시스템들은 규칙적 간격들에서 스피치 신호의 스펙트럼 엔벨로프 (또는 포먼트들) 및 피치 주기를 기술하는 파라미터들을 송신함으로써 동작한다. 이러한 파라미터적 코더들의 예시가 LP 보코더이다.
LP 보코더들은 유성 스피치 신호를 피치 주기 당 단일 펄스로 모델링한다. 이 기본 기술은 다른 무엇보다도, 스펙트럼 엔벨로프에 대한 송신 정보를 포함하도록 증강될 수도 있다. LP 보코더들이 적절한 성능을 일반적으로 제공하고 있지만, 이들은 버즈로서 특징화되는 인식적으로 상당한 왜곡을 도입할 수 있다.
최근에, 파형 코더들 및 파라미터 코더들 양쪽 모두의 하이브리들인 코더들이 출현되었다. 이들 하이브리드 코더들의 예시는 PWI (prototype-waveform interpolation) 스피치 코딩 시스템이다. PWI 스피치 코딩 시스템은 또한 PPP (prototype pitch period) 스피치 코더로서 알려져 있을 수도 있다. PWI 스피치 코딩 시스템은 유성 스피치를 코딩하기 위한 효율적인 방법을 제공한다. PWI 의 기본 개념은 프로토타입 파형들 사이를 보간함으로써, 고정된 간격들에서 대표 피치 사이클 (프로토타입 파형) 을 추출하고 이 기술을 송신하고, 그리고 스피치 신호를 복원하는 것이다. PWI 방법은 LP 잔차 신호 또는 스피치 신호 중 어느 것에서 동작할 수도 있다.
통상적인 전화 시스템들 (예를 들어, PSTN들 (public switched telephone networks)) 에서, 신호 대역폭은 300 헤르쯔 (Hz) 내지 3.4 킬로헤르쯔 (kHz) 의 주파수 범위로 제한된다. 대역폭 (WB) 애플리케이션들, 이를 테면 셀룰라 전화 방식 및 VoIP (voice over internet protocol) 에서, 신호 대역폭은 50 Hz 내지 7 kHz 까지의 범위에 걸쳐 있을 수도 있다. SWB (Super wideband) 코딩 기술들은 약 16 kHz 까지 확장하는 대역폭을 지원한다. 3.4 kHz 의 협대역 전화 방식으로부터 16 kHz 의 SWB 전화 방식으로 신호 대역폭을 확장하는 것은 신호 복원 품질, 명료성 (intelligibility) 및 자연스러움을 개선할 수도 있다.
SWB 코딩 기술들은 통상적으로, (예를 들어, 또한 "저대역" 이라 지칭되는 50 Hz 내지 7 kHz) 신호의 하위 주파수 부분을 인코딩 및 송신하는 것을 수반한다. 예를 들어, 저대역은 필터 파라미터들 및/또는 저대역 추출 신호를 이용하여 표현될 수도 있다. 그러나, 코딩 효율을 개선하기 위하여, (예를 들어, 또한 "고대역" 이라 지칭되는 7 kHz 내지 16 kHz) 신호의 상위 주파수 부분은 완전하게 인코딩 및 송신되지 않을 수도 있다. 수신 디바이스는 고대역을 예측하기 위해 신호 모델링을 이용할 수도 있다. 일부 구현들에서, 저대역 신호의 특성들은 예측에서의 보조를 위하여 고대역 파라미터들 (예를 들어, 이득 정보, 선형 스펙트럼 주파수들 (또한, LSP들 (line spectral pairs) 로서 지칭되는 LSF들) 을 생성하는데 이용될 수도 있다. 그러나, 저대역과 고대역 사이의 에너지 디스패리티들은 고대역을 부정확하게 특징화하는 예측된 고대역 파라미터들을 야기할 수도 있다.
다른 구현들에서, 고대역 파라미터 정보는 저대역으로 송신될 수도 있다. 고대역 파라미터들은 고대역 파라미터 정보로부터 추출될 수도 있다. 이들 구현들에서, 고대역 파라미터들은 고대역 파라미터 정보가 수신되지 못할 때 생성되지 않을 수도 있어, 고대역으로부터 저대역으로의 트랜지션을 야기한다. 예를 들어, 고대역 파라미터들은 특정 오디오 신호에 대하여 수신될 수도 있지만, 후속하는 오디오 신호에 대하여 수신되지 못할 수도 있다. 특정 입력 신호와 연관된 고대역 오디오가 생성될 수도 있고, 후속하는 오디오 신호와 연관된 고대역 오디오가 생성되지 못할 수도 있다. 특정 오디오 신호와 연관된 고대역 오디오를 포함한 특정 출력 신호로부터, 후속하는 오디오 신호와 연관된 후속하는 출력 신호로의 트랜지션이 존재할 수도 있다. 후속하는 출력 신호는 후속하는 오디오 신호와 연관된 저대역을 포함할 수도 있고 후속하는 오디오 신호와 연관된 고대역 신호를 포함하지 못할 수도 있다. 고대역 오디오를 포함하는 특정 출력 신호로부터, 고대역 오디오를 포함하지 않는 후속하는 출력 신호로의 트랜지션과 연관된 오디오 품질에서의 인지적 드롭이 존재할 수도 있다.
대역폭 확장 기술들의 동적 선택을 위한 시스템들 및 방법들이 개시된다. 오디오 디코더는 인코딩된 오디오 신호들을 수신할 수도 있다. 인코딩된 오디오 신호들 중 일부는 고대역을 복원하는 것을 보조할 수도 있는 고대역 파라미터들을 포함할 수도 있다. 다른 인코딩된 오디오 신호들은 고대역 파라미터들을 포함하지 않을 수도 있거나 또는 고대역 파라미터들과 연관된 송신 에러들이 존재할 수도 있다. 특정 실시형태에서, 오디오 디코더는 고대역 파라미터들이 성공적으로 수신될 때, 수신된 고대역 파라미터들을 이용하여 고대역을 복원할 수도 있다. 고대역 파라미터들이 오디오 디코더에 의해 성공적으로 수신되지 못할 때, 오디오 디코더는 저대역에 기초하여 예측들을 수행함으로써 고대역 파라미터들을 생성할 수도 있고 고대역을 복원하기 위해 예측된 고대역 파라미터들을 이용할 수도 있다. 대안의 실시형태에서, 오디오 디코더는 제어 입력에 기초하여, 수신된 고대역 파라미터들을 이용하는 것과, 예측된 고대역 파라미터들을 이용하는 것 사이에서 동적으로 스위칭할 수도 있다.
특정 실시형태에서, 디바이스는 디코더를 포함한다. 디코더는 추출기, 예측기, 셀렉터, 및 스위치를 포함한다. 예측기는 수신된 입력 신호로부터 제 1 복수의 파라미터들을 추출하도록 구성된다. 입력 신호는 인코딩된 오디오 신호에 대응한다. 예측기는 입력 신호에서의 고대역 정보와 독립적으로, 제 2 복수의 파라미터들을 생성함으로써 블라인드 대역폭 확장을 수행하도록 구성된다. 제 2 복수의 파라미터들은 인코딩된 오디오 신호의 고대역 부분에 대응한다. 제 2 복수의 파라미터들은 입력 신호에서의 저대역 파라미터들에 대응하는 저대역 파라미터 정보에 기초하여 생성된다. 저대역 파라미터들은 인코딩된 오디오 신호의 저대역 부분과 연관된다. 셀렉터는 인코딩된 오디오 신호의 고대역 부분의 재생을 위하여 다수의 고대역 모드들로부터 특정 모드를 선택하도록 구성된다. 다수의 고대역 모드들은 제 1 복수의 파라미터들을 이용하는 제 1 모드 및 제 2 복수의 파라미터들을 이용하는 제 2 모드를 포함한다. 스위치는 선택된 모드에 기초하여 제 1 복수의 파라미터들 또는 제 2 복수의 파라미터들을 출력하도록 구성된다.
다른 특정 실시형태에서, 방법은 수신된 입력 신호로부터 제 1 복수의 파라미터들을 디코더에서 추출하는 것을 포함한다. 입력 신호는 인코딩된 오디오 신호에 대응한다. 방법은 입력 신호에서의 고대역 정보와 독립적으로, 제 2 복수의 파라미터들을 생성함으로써 블라인드 대역폭 확장을 디코더에서 수행하는 것을 포함한다. 제 2 복수의 파라미터들은 인코딩된 오디오 신호의 고대역 부분에 대응한다. 제 2 복수의 파라미터들은 입력 신호에서의 저대역 파라미터들에 대응하는 저대역 파라미터 정보에 기초하여 생성된다. 저대역 파라미터들은 인코딩된 오디오 신호의 저대역 부분과 연관된다. 방법은 인코딩된 오디오 신호의 고대역 부분의 재생을 위하여 다수의 고대역 모드들로부터 특정 모드를 디코더에서 선택하는 것을 더 포함한다. 다수의 고대역 모드들은 제 1 복수의 파라미터들을 이용하는 제 1 모드 및 제 2 복수의 파라미터들을 이용하는 제 2 모드를 포함한다. 방법은 특정 모드의 선택에 응답하여 디코더의 출력 생성기에 제 1 복수의 파라미터들 또는 제 2 복수의 파라미터들을 전송하는 것을 더 포함한다.
다른 실시형태에서, 컴퓨터 판독가능 저장 디바이스는 프로세서에 의해 실행될 때 프로세서로 하여금 동작들을 수행하게 하는 명령들을 저장한다. 동작들은 수신된 입력 신호로부터 제 1 복수의 파라미터들을 추출하는 것을 포함한다. 입력 신호는 인코딩된 오디오 신호에 대응한다. 동작들은 또한, 입력 신호에서의 고대역 정보와 독립적으로, 제 2 복수의 파라미터들을 생성함으로써 블라인드 대역폭 확장을 수행하는 것을 포함한다. 제 2 복수의 파라미터들은 인코딩된 오디오 신호의 고대역 부분에 대응한다. 제 2 복수의 파라미터들은 입력 신호에서의 저대역 파라미터들에 대응하는 저대역 파라미터 정보에 기초하여 생성된다. 저대역 파라미터들은 인코딩된 오디오 신호의 저대역 부분과 연관된다. 동작들은 인코딩된 오디오 신호의 고대역 부분의 재생을 위하여 다수의 고대역 모드들로부터 특정 모드를 선택하는 것을 더 포함한다. 다수의 고대역 모드들은 제 1 복수의 파라미터들을 이용하는 제 1 모드 및 제 2 복수의 파라미터들을 이용하는 제 2 모드를 포함한다. 동작들은 또한, 선택된 모드에 기초하여 제 1 복수의 파라미터들 또는 제 2 복수의 파라미터들을 출력하는 것을 포함한다.
개시된 실시형태들 중 적어도 하나에 의해 제공되는 특정 이점들은 추출된 고대역 파라미터들을 이용하는 것과 예측된 고대역 파라미터들을 이용하는 것 사이를 동적으로 스위칭하는 것을 포함한다. 예를 들어, 오디오 디코더는 예측된 고대역 파라미터들을 이용함으로써, 추출된 고대역 파라미터들과 연관된 에러들을 감추거나 또는 그 효과를 감소시킬 수도 있다. 예시를 위하여, 네트워크 조건들은 오디오 송신 동안에 열화할 수도 있고 그 결과 추출된 고대역 파라미터들과 연관된 에러들을 야기한다. 오디오 디코더는 네트워크 송신 에러들의 효과들을 감소시키기 위해 예측된 고대역 파라미터들을 이용하도록 스위칭할 수도 있다. 본 개시물의 다른 양상들, 이점들, 및 특징들은, 다음의 섹션들: 도면의 간단한 설명, 발명의 상세한 설명, 및 청구항을 포함하여, 전체 출원서의 검토 후에 자명해질 것이다.
도 1 은 대역폭 확장 모드 선택을 수행하도록 동작가능한 시스템의 특정 실시형태를 예시하는 다이어그램이다.
도 2 는 대역폭 확장 모드 선택을 수행하도록 동작가능한 시스템의 다른 특정 실시형태를 예시하는 다이어그램이다.
도 3 은 대역폭 확장 모드 선택을 수행하도록 동작가능한 시스템의 특정 실시형태를 예시하는 다른 다이어그램이다.
도 4 는 대역폭 확장 모드 선택을 수행하도록 동작가능한 시스템의 특정 실시형태를 예시하는 다른 다이어그램이다.
도 5 는 대역폭 확장 모드 선택을 수행하도록 동작가능한 시스템의 특정 실시형태를 예시하는 다른 다이어그램이다.
도 6 은 대역폭 확장 모드 선택의 방법의 특정 실시형태를 예시하는 플로우차트이다.
도 7 은 도 1 내지 도 6 의 시스템들 및 방법들에 따라 대역폭 확장 선택 모드를 수행하도록 동작가능한 디바이스의 블록도이다.
본원에 설명된 원리들은 예를 들어, 헤드셋, 핸드셋 또는 스피치 신호 교환을 수행하도록 구성된 다른 오디오 디바이스에 적용될 수도 있다. 본원의 문맥에 명시적으로 제한되지 않은 한, 용어 "신호"는 본원에서, 유선, 버스 또는 다른 송신 매체 상에서 표현되는 바와 같은 메모리 로케이션 (또는 메모리 로케이션들의 세트) 의 상태를 포함한 통상의 의미들 중 어느 것을 나타내는데 이용된다. 본원의 문맥에 명시적으로 제한되지 않은 한, 용어 "생성하는"은 본원에서, 컴퓨팅하는 또는 달리 생성하는 것과 같은 통상의 의미들 중 어느 것을 나타내는데 이용된다. 본원의 문맥에 명시적으로 제한되지 않은 한, 용어 "계산하는"은 복수의 값들로부터 연산하는, 평가하는, 평활화하는, 및/또는 선택하는 것과 같은 통상의 의미들 중 어느 것을 나타내는데 이용된다. 본원의 문맥에 명시적으로 제한되지 않은 한, 용어 "획득하는"은 (예를 들어, 다른 컴포넌트, 블록 또는 디바이스로부터) 계산하는, 유도하는, 수신하는 및/또는 (예를 들어, 저장 엘리먼트들의 어레이 또는 메모리 레지스터로부터) 취출하는 것과 같은 통상의 의미들 중 어느 것을 나타내는데 이용된다.
본원의 문맥에 명시적으로 제한되지 않은 한, 용어 "생성하는"은 계산하는, 생성하는 및/또는 제공하는 것과 같은 통상의 의미들 중 어느 것을 나타내는데 이용된다. 본원의 문맥에 명시적으로 제한되지 않은 한, 용어 "제공하는"은 계산하는, 생성하는 및/또는 제공하는 것과 같은 통상의 의미들 중 어느 것을 나타내는데 이용된다. 본원의 문맥에 명시적으로 제한되지 않은 한, 용어 "커플링되는"은 직접 또는 간접적인 전기적 또는 물리적 접속을 나타내는데 이용된다. 접속이 간접적이면, 당해 기술 분야의 당업자는 "커플링되고" 있는 구조체들 사이에 다른 블록들 또는 컴포넌트들이 존재할 수도 있음을 알 것이다.
용어 "구성"은 본원의 특정 문맥에 의해 나타내는 바와 같은 방법, 장치/디바이스, 및/또는 시스템을 참조하여 이용될 수도 있다. 용어 "포함하는" 이 상세한 설명 및 청구범위에 이용될 때, 이는 다른 엘리먼트들 또는 동작들을 배제하지 않는다. ("A 는 B 에 기초하는" 에서와 같이) 용어 "에 기초하여" 는 경우 (i) "적어도 기초하여" (예를 들어, "A 는 적어도 B 에 기초하는", 및 경우 (ii) 특정 문맥에서 필요에 따라 "와 같은" (예를 들어, "A 는 B 와 같은") 을 포함하는 통상의 의미들 중 어느 것을 나타내는데 이용된다. 경우 (i) A 는 B 에 기초하는 것이 적어도 기초하는 것을 포함하는 경우에, 이는 A 는 B 에 커플링되는 구성을 포함할 수도 있다. 이와 유사하게, 용어 "에 응답하여"는 "적어도 ~에 응답하여" 를 포함하는 통상의 의미들 중 어느 것을 나타내는데 이용된다. 용어 "적어도 하나"는 "하나 이상"을 포함하는 통상의 의미들 중 어느 것을 나타내는데 이용된다. 용어 "적어도 둘"은 "둘 이상"을 포함하는 통상의 의미들 중 어느 것을 나타내는데 이용된다.
용어 "장치" 및 "디바이스"는 일반적으로 특정 문맥에 의해 달리 나타내어지지 않는 한 일반적으로 그리고 상호교환적으로 이용된다. 달리 나타내어지지 않는 한, 특정 피쳐를 갖는 장치의 동작의 임의의 개시는 또한, 유사한 피쳐를 갖는 방법을 개시하도록 (또는 그 반대로) 표현적으로 의도되며, 특정 구성에 따른 장치의 동작의 임의의 개시는 유사한 구성에 따라 방법을 개시하도록 (또는 그 반대로) 표현적으로 의도된다. 용어 "방법", "프로세스", "절차", 및 "기술"은 특정 문맥에 의해 달리 나타내어지지 않는 한, 일반적으로 그리고 상호교환적으로 이용된다. 용어 "엘리먼트" 및 "모듈"은 보다 큰 구성의 일부를 표현하는데 이용될 수도 있다. 문헌의 일부분을 참조하는 것에 의한 임의의 통합은 또한, 통합된 부분에서 참조되는 임의의 도면들 뿐만 아니라 이러한 정의들이 문헌 전반에 나타나는 경우 부분 내에서 참조되는 용어들 또는 변수들의 정의들을 포함하는 것으로 이해할 수도 있다.
본원에 이용된 용어 "통신 디바이스"는 무선 통신 네트워크를 통하여 음성 및/또는 데이터 통신을 위하여 이용될 수도 있는 전자 디바이스를 지칭한다. 통신 디바이스의 예들은 셀룰라 폰들, 개인 휴대 정보 단말기들 (PDA들), 핸드헬드 디바이스들, 헤드셋들, 무선 모뎀들, 랩톱 컴퓨터들, 퍼스널 컴퓨터들 등을 포함한다.
도 1 을 참조하여 보면, 대역폭 확장 모드 선택을 수행하도록 동작가능한 시스템의 특정 실시형태들이 도시되며 일반적으로 100 으로 지정된다. 특정 실시형태에서, 시스템 (100) 은 (예를 들어, 무선 전화기 또는 코더/디코더 (CODEC) 에서) 디코딩 시스템 또는 장치로 통합될 수도 있다. 다른 실시형태들에서, 시스템 (100) 은 셋톱 박스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 네비게이션 디바이스, 통신 디바이스, 개인 휴대 정보 단말기 (PDA), 고정된 로케이션 데이터 유닛, 또는 컴퓨터 내에 통합될 수도 있다.
다음 설명에서, 도 1 의 시스템 (100) 에 의해 수행되는 여러 기능들은 특정 컴포넌트들 또는 모듈들에 의해 수행되는 것으로서 설명됨을 주지해야 한다. 그러나, 컴포넌트들 및 모듈들의 이 분할은 단지 예시에 불과하다. 대안의 실시형태에서, 특정 컴포넌트 또는 모듈에 의해 수행되는 기능은 다수의 컴포넌트들 또는 모듈들 중에서 분할될 수도 있다. 또한, 대안의 실시형태에서, 도 1 의 둘 이상의 컴포넌트들 또는 모듈들은 단일의 컴포넌트 또는 모듈로 통합될 수도 있다. 도 1 에 예시된 각각의 컴포넌트 또는 모듈은 하드웨어 (예를 들어, FPGA (field-programmable gate array) 디바이스, ASIC (application-specific integrated circuit), DSP (digital signal processor), 제어기), 소프트웨어 (예를 들어, 프로세서에 의해 실행가능한 명령들) 또는 이들의 임의의 조합을 이용하여 구현될 수도 있다.
도 1 내지 도 7 에 설명된 예시적인 실시형태가 EVRC-NW (Enhanced Variable Rate Codec - Narrowband-Wideband) 에 이용된 것과 유사한 고대역 모델에 대하여 설명되어 있지만, 예시적인 실시형태들 중 하나 이상이 임의의 다른 고대역 모델을 이용할 수도 있다. 임의의 특정 모델의 이용은 단지 예를 드는 것에 불과함을 이해하여야 한다.
시스템 (100) 은 네트워크 (120) 를 통하여 제 2 디바이스 (106) 와 통신하는 제 1 디바이스 (104) 를 포함한다. 제 1 디바이스 (104) 는 마이크로폰 (146) 에 커플링될 수도 있거나 또는 이것과 통신할 수도 있다. 제 1 디바이스 (104) 는 인코더 (114) 를 포함할 수도 있다. 제 2 디바이스 (106) 는 스피커 (142) 에 커플링될 수도 있거나 또는 이것과 통신할 수도 있다. 제 2 디바이스 (106) 는 디코더 (116) 를 포함할 수도 있다. 디코더 (116) 는 대역폭 확장 모듈 (118) 을 포함할 수도 있다.
동작 동안에, 제 1 디바이스 (104) 는 오디오 신호 (130) (예를 들어, 제 1 사용자 (152) 의 사용자 스피치 신호) 를 수신할 수도 있다. 예를 들어, 제 1 사용자 (152) 는 제 2 사용자 (154) 와 음성 통화를 하는 것에 참여할 수도 있다. 음성 통화를 위하여 제 1 사용자 (152) 는 제 1 디바이스 (104) 를 이용할 수도 있고 제 2 사용자 (154) 는 제 2 디바이스 (106) 를 이용할 수도 있다. 음성 통화 동안에, 제 1 사용자 (152) 는 제 1 디바이스 (104) 에 커플링된 마이크로폰 (146) 으로 스피킹할 수도 있다. 오디오 신호 (130) 는 제 1 사용자 (152) 에 의해 스피킹된 단어의 일부분 또는 단어, 또는 다수의 단어들에 대응할 수도 있다. 오디오 신호 (130) 는 배경 잡음 (예를 들어, 음악, 거리 소음, 다른 사람들의 스피치 등) 에 대응할 수도 있다. 제 1 디바이스 (104) 는 마이크로폰 (146) 을 통하여 오디오 신호 (130) 를 수신할 수도 있다.
특정 실시형태에서, 마이크로폰 (146) 은 오디오 신호 (130) 를 캡쳐할 수도 있고, 제 1 디바이스 (104) 에서의 아날로그/디지털 컨버터 (ADC) 는 캡쳐된 오디오 신호 (130) 를 아날로그 파형으로부터 디지털 오디오 샘플들로 구성된 디지털 파형으로 변환할 수도 있다. 디지털 오디오 샘플들은 디지털 신호 프로세서에 의해 프로세싱될 수도 있다. 이득 조정기는 오디오 신호 (예를 들어, 아날로그 파형 또는 디지털 파형) 의 진폭 레벨을 증가 또는 감소시킴으로써, (예를 들어, 아날로그 파형의 또는 디지털 파형의) 이득을 조정할 수도 있다. 이득 조정기들은 아날로그 또는 디지털 도메인의 어느 것에서 동작할 수도 있다. 예를 들어, 이득 조정기는 디지털 도메인에서 동작할 수도 있고, 아날로그/디지털 컨버터에 의해 생성된 디지털 오디오 샘플들을 조정할 수도 있다. 이득 조정 후에, 에코 소거기는 마이크로폰 (146) 에 진입한 스피커의 출력에 의해 생성될 수도 있었던 에코를 소거할 수도 있다. 디지털 오디오 샘플들은 보코더 (보이스 인코더-디코더) 에 의해 "압축"될 수도 있다. 에코 소거기의 출력은 보코더 전처리 블록들, 예를 들어, 필터들, 잡음 프로세서들, 레이트 컨버터들 등에 커플링될 수도 있다. 보코더의 인코더 (예를 들어, 인코더 (114)) 는 디지털 오디오 샘플들을 압축하여 송신 패킷 (디지털 오디오 샘플들의 압축된 비트들의 표현) 을 형성할 수도 있다. 예를 들어, 인코더는 협대역 비트스트림에서 고대역 정보를 "은닉"하는 워터마킹을 이용할 수도 있다. 스피치 CODEC 비트 스트림들에서의 워터마킹 또는 데이터 은닉은 네트워크 인프라스트럭처에 대한 변화들 없이 대역내 여분의 데이터의 송신을 가능하게 할 수도 있다.
워터마킹은 새로운 CODEC의 새로운 인프라스트럭처를 배치하는 비용을 발생시킴이 없이 애플리케이션들 (예를 들어, 인증, 데이터 은닉 등) 의 범위에 이용될 수 있다. 한 가능성있는 애플리케이션은 대역폭 확장일 수도 있으며, 여기에서, 하나의 CODEC의 비트스트림 (예를 들어, 배치된 CODEC) 은 고품질 대역폭 확장을 위한 정보를 포함하는 은닉된 비트들에 대한 캐리어로서 이용된다. 캐리어를 디코딩하는 동안에, 비트스트림 및 은닉된 비트들은 캐리어 CODEC의 대역폭보다 더 큰 대역폭을 갖는 오디오 신호의 합성을 가능하게 할 수도 있다 (예를 들어, 더 넓은 대역폭이 네트워크 인프라스트럭처를 변경함이 없이 실현될 수도 있다).
예를 들어, 협대역 CODEC은 스피치의 0-4 kHz (kilohertz) 저대역 부분을 인코딩하는데 이용될 수도 있는 한편, 스피치의 4-7 kHz 고대역 부분은 별도로 인코딩될 수도 있다. 고대역을 위한 비트들은 협대역 스피치 비트 스트림 내에 은닉될 수도 있다. 이 예에서, 광대역 오디오 신호는 레거시 협대역 비트 스트림을 수신하는 수신기에서 디코딩될 수도 있다. 다른 예에서, 광대역 CODEC은 스피치의 0-7 kHz 저대역 부분을 인코딩하는데 이용될 수도 있는 한편, 스피치의 7-14 kHz 고대역 부분은 개별적으로 인코딩되고 광대역 비트스트림에 은닉된다. 이 예에서, 수퍼 광대역 오디오 신호는 레거시 광대역 비트스트림을 수신하는 수신기에서 디코딩될 수도 있다.
워터마크는 적응성일 수도 있다. 인코더 (114) 는 선형 예측 (LP) 코딩을 이용하여 오디오 신호 (예를 들어, 스피치) 를 압축할 수도 있다. 인코더 (114) 는 오디오 신호의 특정 수 (예를 들어, 80 또는 160) 의 프레임 당 오디오 샘플들을 수신할 수도 있다. 특정 실시형태에서, 인코더 (114) 는 오디오 신호를 압축하기 위해 CELP (code excitation linear prediction) 를 수행할 수도 있다. 예를 들어, 인코더 (114) 는 적응성 코드북 기여도 및 고정된 코드북 기여도의 합에 대응하는 여기 신호를 생성할 수도 있다. 적응성 코드북 기여도는 여기 신호의 주기성 (예를 들어, 피치) 을 제공할 수도 있고, 고정된 코드북 기여도는 나머지를 제공할 수도 있다.
오디오 신호의 각각의 프레임은 특정 수의 서브프레임들에 대응할 수도 있다. 예를 들어, 160 개 샘플들의 20 밀리초 (ms) 프레임은 40 개 샘플들의 4 개의 5 ms 서브샘플들 각각에 대응할 수도 있다. 각각의 고정된 코드북 벡터는 특정 수 (예를 들어, 40) 의 샘플들을 갖는 서브프레임의 서브프레임 여기 신호에 대응하는 특정 수 (예를 들어, 40) 의 컴포넌트들을 가질 수도 있다. 벡터의 포지션들 (또는 컴포넌트들) 은 0-39 으로 라벨링될 수도 있다.
각각의 고정된 코드북 벡터는 특정 수 (예를 들어, 5) 의 펄스들을 포함할 수도 있다. 예를 들어, 고정된 코드북 벡터는 특정 수 (예를 들어, 5) 의 인터리브된 트랙들 각각에서 하나의 +/- 1 펄스를 포함할 수도 있다. 각각의 트랙은 특정 수 (예를 들어, 8) 의 포지션들 (또는 비트들) 에 대응할 수도 있다.
특정 실시형태에서, 40 개 샘플들의 각각의 서브프레임은 트랙 당 8 개의 포지션들을 갖는 5 개의 인터리브된 트랙들에 대응할 수도 있다. 일부 구성들에서, AMR-NB (adaptive multi-rate narrow band) 12.2 (여기에서 12.2 는 12.2 kbps (kilobits per second) 의 비트레이트를 의미할 수도 있음) 가 이용될 수도 있다. AMR-NB 12.2 에서, 40 샘플 서브프레임당 8 개의 포지션들의 5 개의 트랙들이 있다.
예를 들어, 고정된 코드북 벡터의 포지션들 (0, 5, 10, 15, 20, 25, 30, 및 35) 은 트랙 0 을 형성할 수도 있다. 다른 예로서, 고정된 코드북 벡터의 포지션들 (1, 6, 11, 16, 21, 26, 31, 및 36) 은 트랙 1 을 형성할 수도 있다. 추가의 예로서, 고정된 코드북 벡터의 포지션들 (2, 7, 12, 17, 22, 27, 32, 및 37) 은 트랙 2 를 형성할 수도 있다. 다른 예로서, 고정된 코드북 벡터의 포지션들 (3, 8, 13, 18, 23, 28, 33, 및 38) 은 트랙 3 을 형성할 수도 있다. 추가의 예로서, 고정된 코드북 벡터의 포지션들 (4, 9, 14, 24, 29, 34, 및 39) 은 트랙 4 를 형성할 수도 있다.
인코더 (114) 는 특정 트랙을 인코딩하도록 하나 이상의 부호 비트들 및 특정 수 (예를 들어, 2) 의 +/- 1 펄스들을 이용할 수도 있다. 예를 들어, 인코더 (114) 는 트랙 당 부호 비트 및 2 개의 펄스들을 인코딩할 수도 있고, 여기에서 펄스들의 오더는 제 2 펄스의 부호를 결정할 수도 있다. 8 개의 가능한 포지션들에서의 펄스의 로케이션은 3 비트들을 이용하여 인코딩될 수도 있다. 이 예에서, 인코더 (114) 는 각각의 트랙을 인코딩하도록 7 (즉, 3+3+1) 비트들을 이용할 수도 있고 각각의 서브프레임을 인코딩하도록 35 (즉, 7 x 5) 비트들을 이용할 수도 있다.
인코더 (114) 는 어느 트랙들 (예를 들어, 트랙 0, 트랙 1, 트랙 2, 트랙 3, 및/또는 트랙 4) 이 상위 우선순위를 갖는지를 결정할 수도 있다. 예를 들어, 인코더 (114) 는 디코딩된 서브프레임의 인지적 오디오 품질에 대한 트랙들의 영향에 기초하여 상위 우선순위 트랙들의 특정 수 (예를 들어, 2) 를 식별할 수도 있다. 인코더 (114) 는 인코더 (114) 에서 그리고 디코더 (116) 에서 양쪽 모두 존재하는 정보를 이용하여 상위 우선순위 트랙들을 식별할 수도 있어, 상위 우선순위 트랙들을 나타내는 정보가 추가적으로 또는 개별적으로 송신될 필요가 없게 된다. 일 구성에서, 워터마크로부터 상위 우선순위 트랙들을 보호하는데 LTP (long term prediction) 기여도가 이용될 수도 있다. 예를 들어, LTP 기여도는 특정 트랙에 대응하는 메인 피치 펄스에서 피크들을 나타낼 수도 있고 인코더 (114) 및 디코더 (116) 양쪽 모두에 이용가능할 수도 있다. 예시를 위하여, 인코더 (114) 는 LTP 조건의 2 개의 최고 절대 값들에 대응하는 2 개의 상위 우선순위 트랙들을 식별할 수도 있다. 인코더 (114) 는 하위 우선순위 트랙들로서 3 개의 나머지 트랙들을 식별할 수도 있다.
인코더 (114) 는 2 개의 상위 우선순위 트랙들을 워터마킹하지 않을 수도 있고 하위 우선순위 트랙들을 워터마킹할 수도 있다. 예를 들어, 인코더 (114) 는 워터마크를 인코딩하기 위해 하위 우선순위 트랙들 각각에 대응하는 비트들 중 특정 수 (예를 들어, 2) 의 최하위 비트들 (예를 들어, 7 비트들) 을 이용할 수도 있다. 예를 들어, 인코더 (114) 는 메인 피치 펄스에 감소된 영향 (예를 들어, 최소한의 영향) 을 갖는 워터마크에서 반송되는 총 1.2 kbps (kilobits per second) 에 대해, 5 ms 서브프레임 당 6 (즉, 2 x 3) 비트들의 워터마크를 생성할 수도 있다.
LTP 신호는 에러들 및 패킷 손실들에 민감할 수도 있고, 에러들은 시간에 따라 전파하여, 인코더 (114) 및 디코더 (116) 가 디코더 (116) 에 의해 수신된 인코딩된 오디오 신호에서의 비트 에러들 또는 소거 후에 긴 주기들 동안에 동기 해제되는 것으로 초래될 수도 있다. 특정 실시형태에서, 인코더 (114) 및 디코더 (116) 는 상위 우선순위 트랙들을 식별하기 위해 메모리 제한된 LTP 기여도를 이용할 수도 있다. 메모리 제한된 버전의 LTP 는 특정 프레임에 선행되는 특정 수 (예를 들어, 2) 의 프레임들, 및 특정 프레임들의 코드북 기여도와 양자화된 피치 값들에 기초하여 구성될 수도 있다. 이득들이 유니티로 설정될 수도 있다. 인코더 (114) 및 디코더 (116) 에 의한 메모리 제한된 버전의 LTP 기여도의 이용은 에러들의 존재 (예를 들어, 송신 에러들) 에서 성능을 상당히 개선시킬 수도 있다. 특정 실시형태에서, 오리지널 LTP 기여도는 저대역 코딩에 이용될 수도 있고, 메모리 제한된 LTP 기여도는 워터마킹 목적을 위한 상위 우선순위 트랙들을 식별하기 위해 이용될 수도 있다.
인지적 오디오 품질에 대한 더 낮은 충격들을 갖는 트랙들에서 워터마크를 인코딩하는 것은 모든 트랙들에 액세스하기 보다는, 디코딩된 오디오 신호의 개선된 품질을 가져올 수도 있다. 특히, 메인 피치 펄스는 메인 피치 펄스에 대응하는 상위 우선순위 트랙들에서 워터마크를 인코딩하지 않음으로써 보전될 수도 있다. 메인 피치 펄스를 보전하는 것은 디코딩된 오디오 신호의 스피치 품질에 대하여 긍정적인 영향을 줄 수도 있다.
일부 구성들에서, 본원에 개시된 시스템들 및 방법들은 AMR-NB 12.2 의 역방향 상호동작가능한 버전인 CODEC을 제공하는데 이용될 수도 있다. 편의를 위해, 이러한 CODEC은 본원에서 "eAMR" 이라고 지칭될 수도 있으나, CODEC은 상이한 용어를 이용하여 지칭될 수도 있다. eAMR 은 협대역 비트 스트림 내에 은닉된 광대역 정보의 "?薦?" 층을 전송하는 능력을 가질 수도 있다. eAMR 은 워터마킹 (예를 들어, 스테가노그래피 (steganography)) 기술을 이용할 수도 있고, 대역 외 시그널링에 의존하지 않는다. 이용된 워터마크는 (레거시 상호동작에 있어서) 협대역 품질에 무시해도 될 정도의 영향을 줄 수도 있다. 워터마크로 인해, 예를 들어, AMR 12.2 와 비교하여 협대역 품질이 약간 저하될 수도 있다. 일부 구성들에서, 인코더, 이를 테면, 인코더 (114) 는 (예를 들어, 리턴 채널 상에 워터마크를 검출하지 못하는 경우에도) 수신 디바이스의 레거시 디코더를 검출할 수도 있고, 워터마크를 추가하는 것을 정지하고 레거시 AMR 12.2 동작으로 복귀할 수도 있다.
인코더 (114) 는 압축된 비트들 (예를 들어, 서브프레임 당 35 비트들) 에 대응하는 송신 패킷을 생성할 수도 있다. 인코더 (114) 는 제 1 디바이스 (104) 에 커플링된 또는 통신하는 메모리에 송신 패킷을 저장할 수도 있다. 예를 들어, 메모리는 제 1 디바이스 (104) 의 프로세서에 의해 액세스가능할 수도 있다. 프로세서는 디지털 신호 프로세서와 통신하는 제어 프로세서일 수도 있다. 제 1 디바이스 (104) 는 네트워크 (120) 를 통하여 제 2 디바이스 (106) 에 입력 신호 (102)(예를 들어, 인코딩된 오디오 신호) 를 송신할 수도 있다. 입력 신호 (102) 는 오디오 신호 (130) 에 대응할 수도 있다. 특정 실시형태에서, 제 1 디바이스 (104) 는 트랜시버를 포함할 수도 있다. 트랜시버는 일부 형태의 송신 패킷 (다른 정보가 송신 패킷에 첨부될 수도 있다) 을 변조할 수도 있고, 안테나를 통하여 무선으로 변조된 정보를 전송할 수도 있다.
제 2 디바이스 (106) 의 대역폭 확장 모듈 (118) 은 입력 신호 (102) 를 수신할 수도 있다. 예를 들어, 제 2 디바이스 (106) 의 안테나는 송신 패킷을 포함하는 일정 형태의 인커밍 패킷들을 수신할 수도 있다. 송신 패킷은 제 2 디바이스 (106) 에서 보코더의 디코더 (예를 들어, 디코더 (116) 에 의해) "압축해제"될 수도 있다. 압축 해제된 신호는 복원된 오디오 샘플들로 지칭될 수도 있다. 복원된 오디오 샘플들은 보코더 후처리 블록에 의해 후처리될 수도 있고, 에코를 제거하기 위해 에코 소거기에 의해 이용될 수도 있다. 간략화를 위하여, 보코더의 디코더 및 보코더 후처리 블록들은 보코더 디코더 모듈로서 지칭될 수도 있다. 일부 구성들에서, 에코 소거기의 출력은 대역폭 확장 모듈 (118) 에 의해 프로세싱될 수도 있다. 대안으로서, 다른 구성들에서, 보코더 디코더 모듈의 출력은 대역폭 확장 모듈 (118) 에 의해 프로세싱될 수도 있다.
대역폭 확장 모듈 (118) 은 입력 신호 (102) 로부터 제 1 복수의 파라미터들을 추출하는 추출기를 포함할 수도 있고, 또한, 입력 신호 (102) 에 고대역 정보와 독립적으로 제 2 복수의 파라미터들을 예측하는 예측기를 포함할 수도 있다. 예를 들어, 대역폭 확장 모듈 (118) 은 입력 신호 (102) 로부터 워터마크 데이터를 추출할 수도 있고, 워터마크 데이터에 기초하여 제 1 복수의 파라미터들을 결정할 수도 있다. 특정 실시형태에서, 보코더 디코더 모듈은 eAMR 디코더 모듈일 수도 있다. 예를 들어, 디코더 (116) 는 eAMR 디코더일 수도 있다. 대역폭 확장 모듈 (118) 은 입력 신호 (102) 의 고대역 정보와 독립적으로 제 2 복수의 파라미터들을 생성하기 위해 예측기를 이용하여 블라인드 대역폭 확장을 수행할 수도 있다.
대역폭 확장 모듈 (118) 은 오디오 신호 (130) 의 고대역 부분의 재생을 위하여 다수의 고대역 모드들로부터 특정 모드를 선택할 수도 있고, 도 2 내지 도 5 를 참조로 설명된 바와 같이 특정 모드에 기초하여 출력 신호 (128) 를 생성할 수도 있다. 예를 들어, 다수의 고대역 모드들은 추출된 고대역 파라미터들을 이용하는 제 1 모드, 예측된 고대역 파라미터들을 이용하는 제 2 모드, 고대역 파라미터들과 독립적인 제 3 모드 또는 이들의 조합을 포함할 수도있다. 대역폭 확장 모듈 (118) 은 선택된 모드에 기초하여, 추출된 고대역 파라미터들을 이용하여, 예측된 고대역 파라미터들을 이용하여 또는 고대역 파라미터들과 독립적으로 출력 신호 (128) 를 생성할 수도 있다.
출력 신호 (128) 는 이득 조정기에 의해 증폭되거나 또는 억제될 수도 있다. 제 2 디바이스 (106) 는 스피커 (142) 를 통하여 제 2 사용자 (154) 에 출력 신호 (128) 를 제공할 수도 있다. 예를 들어, 이득 조정기의 출력은 디지털/아날로그 컨버터에 의해 디지털 신호로부터 아날로그 신호로 변환될 수도 있고 스피커 (142) 를 통하여 재생될 수도 있다.
시스템 (100) 은 출력 신호를 생성하기 위해, 추출된 복수의 파라미터들을 이용하는 것, 생성된 복수의 파라미터들을 이용하는 것, 또는 고대역 파라미터들을 이용하지 않는 것 사이를 스위칭하는 것이 가능할 수도 있다. 생성된 복수의 파라미터들을 이용하는 것은 추출된 복수의 파라미터들과 연관된 에러들의 존재에서 고대역 오디오 신호의 생성을 가능하게 할 수도 있다. 따라서, 시스템 (100) 은 입력 신호 (102) 에 발생하는 에러들의 존재에서 강화된 오디오 신호 재생을 가능하게 할 수도 있다.
도 2 를 참조하여 보면, 대역폭 확장 모드 선택을 수행하도록 동작가능한 시스템의 예시적인 실시형태들이 도시되며 일반적으로 200 으로 지정된다. 특정 실시형태에서, 시스템 (200) 은 도 1 의 시스템 (100)(또는 시스템 (100) 의 하나 이상의 컴포넌트들) 에 대응 또는 이 시스템에 포함될 수도 있다. 예를 들어, 시스템 (200) 의 하나 이상의 컴포넌트들은 도 1 의 대역폭 확장 모듈 (118) 에 포함될 수도 있다.
시스템 (200) 은 수신기 (204) 을 포함한다. 수신기 (204) 는 추출기 (206) 및 예측기 (208) 에 커플링되거나 또는 이들과 통신할 수도 있다. 추출기 (206), 예측기 (208) 및 셀렉터 (210) 는 스위치 (212) 에 커플링될 수도 있다. 수신기 (204) 및 스위치 (212) 는 신호 생성기 (214) 에 커플링될 수도 있다.
동작 동안에, 수신기 (204) 는 입력 신호 (예를 들어, 도 1 의 입력 신호 (102)) 를 수신할 수도 있다. 입력 신호 (102) 는 입력 비트스트림에 대응할 수도 있다. 수신기 (204) 는 입력 신호 (102) 를 추출기 (206) 에, 예측기 (208) 에, 그리고 신호 생성기 (214) 에 제공할 수도 있다. 입력 신호 (102) 는 오디오 신호 (130) 의 고대역 부분과 연관된 고대역 파라미터 정보를 포함할 수도 또는 포함하지 않을 수도 있다. 예를 들어, 인코더 (114) 는 고대역 파라미터 정보를 포함한 입력 신호 (102) 를 생성할 수도 또는 생성하지 않을 수도 있다. 예시를 위하여 인코더 (114) 는 고대역 파라미터 정보를 생성하도록 구성되지 않을 수도 있다. 인코더 (114) 가 고대역 파라미터 정보를 포함하는 입력 신호 (102) 를 생성하는 경우에도, 고대역 파라미터 정보는 수신기 (204) 에 의해 (예를 들어, 송신 에러들로 인하여) 수신되지 않을 수도 있다. 특정 실시형태에서, 입력 신호 (102) 는 고대역 파라미터 정보에 대응하는 워터마크 데이터 (232) 를 포함할 수도 있다. 예를 들어, 인코더 (114) 는 오디오 신호 (130) 의 저대역 부분에 대응하는 저대역 비트와 함께 워터마크 데이터 (232) 를 대역내에 임베딩할 수도 있다.
추출기 (206) 는 입력 신호 (102) 로부터 제 1 복수의 파라미터들 (220) 을 추출할 수도 있다. 제 1 복수의 파라미터들 (220) 은 고대역 파라미터 정보에 대응할 수도 있다. 예를 들어, 제 1 복수의 고대역 파라미터들 (220) 은 선스펙트럼 주파수들 (LSF), 이득 형상 (예를 들어, 특정 프레임의 서브프레임들에 대응하는 시간 이득 파라미터들), 이득 프레임 (예를 들어, 특정 프레임에 대한 저대역에 대한 고대역의 에너지비에 대응하는 이득 파라미터들), 또는 고대역 부분에 대응하는 다른 파라미터들 중 적어도 하나를 포함할 수도 있다. 특정 실시형태에서, 제 1 복수의 파라미터들 (220) 중 하나 이상은 특정 고대역 모델에 대응할 수도 있다. 예를 들어, 특정 고대역 모델은 주파수 도메인, LSF들, 시간 이득들, 또는 이들의 조합에서의 고대역 확장을 이용할 수도 있다.
추출기 (206) 는 입력 신호 (102) 가 고대역 파라미터 정보를 포함하면, 고대역 파라미터 정보가 임베딩된, 입력 신호 (102) 의 로케이션을 결정할 수도 있다. 예를 들어, 고대역 파라미터 정보는 입력 신호 (102) 에서 저대역 파라미터 정보 (238) 와 함께 임베딩될 수도 있다. 저대역 파라미터 정보 (238) 는 입력 신호 (102) 의 저대역 부분과 연관된 저대역 파라미터들에 대응할 수도 있다. 다른 예로서, 입력 신호 (102) 는 고대역 파라미터 정보 (예를 들어, 제 1 복수의 파라미터들 (220)) 를 인코딩하는 워터마크 데이터 (232) 를 포함할 수도 있다. 특정 실시형태에서, 추출기 (206) 는 코드북 (예를 들어, 고정된 코드북 (FCB)) 에 기초하여 로케이션을 결정할 수도 있다. 예를 들어, 코드북은 입력 신호 (102) 의 오디오 인코딩 프로세스에 이용된 트랙들의 수에 의해 인덱싱될 수도 있다. 추출기 (206) 는 높은 우선순위 트랙들로서 최대 장기 예측 (LTP) 기여도를 갖는 트랙들의 수 (예를 들어, 2) 를 결정할 수도 있는 한편, 다른 트랙들은 낮은 우선순위 트랙들로서 결정될 수도 있다 (또는 지정될 수도 있다). 특정 실시형태에서, 낮은 우선순위 트랙들은 낮은 우선순위 부분 (234) 에 대응할 수도 있고, 높은 우선순위 트랙들은 입력 신호 (102) 의 높은 우선순위 부분 (236) 에 대응할 수도 있다. 추출기 (206) 는 결정된 로케이션으로부터 제 1 복수의 파라미터들 (220) 을 추출할 수도 있다. 예를 들어, 추출기 (206) 는 낮은 우선순위 부분 (234) 으로부터 제 1 복수의 파라미터들 (220) 을 추출할 수도 있다. 제 1 복수의 파라미터들 (220) 은 입력 신호 (102) 가 고대역 파라미터 정보를 포함하면, 고대역 파라미터들에 대응할 수도 있다. 입력 신호 (102) 가 고대역 파라미터 정보를 포함하지 않으면, 제 1 복수의 파라미터들 (220) 은 랜덤 데이터에 대응할 수도 있다. 추출기 (206) 는 스위치 (212) 에 제 1 복수의 파라미터들 (220) 을 제공할 수도 있다.
예측기 (208) 는 수신기 (204) 로부터 입력 신호 (102) 를 수신할 수도 있고 제 2 복수의 파라미터들 (222) 을 생성할 수도 있다. 제 2 복수의 파라미터들 (222) 은 입력 신호 (102) 의 고대역 부분에 대응할 수도 있다. 예측기 (208) 는 입력 신호 (102) 로부터 추출된 저대역 파라미터 정보에 기초하여 제 2 복수의 파라미터들 (222) 을 생성할 수도 있다. 예측기 (208) 는 도 3 을 참조로 추가 설명되는 바와 같이, 저대역 파라미터 정보에 기초하여 블라인드 대역폭 확장을 수행함으로써 제 2 복수의 파라미터들 (222) 을 생성할 수도 있다. 특정 실시형태에서, 예측기 (208) 는 특정 고대역 모델에 기초하여 제 2 복수의 파라미터들 (222) 을 생성할 수도 있다. 예를 들어, 특정 고대역 모델은 주파수 도메인, LSF들, 시간 이득들, 또는 이들의 조합에서의 고대역 확장을 이용할 수도 있다.
예측기 (208) 는 스위치 (212) 에 제 2 복수의 파라미터들 (222) 을 제공할 수도 있다. 특정 실시형태에서, 제 1 복수의 파라미터들 (220) 은 예측기 (208) 가 제 2 복수의 파라미터들 (222) 을 생성하는 것과 동시에 추출기 (206) 에 의해 추출될 수도 있다.
셀렉터 (210) 는 인코딩된 오디오 신호의 고대역 부분의 재생을 위하여 다수의 고대역 모드들로부터 특정 모드를 선택할 수도 있다. 다수의 고대역 모드들은 추출된 고대역 파라미터들 (예를 들어, 제 1 복수의 파라미터들 (220)) 을 이용하는 제 1 모드, 및 예측된 고대역 파라미터들 (예를 들어, 제 2 복수의 파라미터들 (222)) 을 이용하는 제 2 모드를 포함할 수도 있다. 셀렉터 (210) 는 제어 입력 (230)(예를 들어, 제어 신호) 에 기초하여 특정 모드를 선택할 수도 있다. 제어 입력 (230) 은 사용자 입력에 대응할 수도 있고, 사용자 설정 또는 선호도를 표시할 수도 있다. 특정 실시형태에서, 제어 입력 (230) 은 프로세서에 의해 셀렉터 (210) 에 제공될 수도 있다. 프로세서는 하나 이상의 다른 디바이스드로부터 통신 네트워크에 관한 정보를 수신하거나 또는 다른 디바이스로부터 인코더에 관한 정보를 수신하는 것에 응답하여 제어 입력 (230) 을 생성할 수도 있다. 예를 들어, 제어 입력 (230) 은 인코더가 입력 신호 (102) 에서 고대역 파라미터들을 포함하지 않음을 표시하는 정보를 수신하는 것, 통신 네트워크가 송신 에러들을 경험하고 있음을 표시하는 정보를 수신하는 것, 또는 양쪽 모두에 응답하여, 예측된 고대역 파라미터들을 이용하도록 표시할 수도 있다. 제어 입력 (230) 은 디폴트 값 (예를 들어, 1 또는 2) 을 가질 수도 있다. 셀렉터 (210) 는 제 1 값 (예를 들어, 1) 을 표시하는 제어 입력 (230) 에 응답하여 제 1 모드를 선택할 수도 있고, 제 2 값 (예를 들어, 2) 을 표시하는 제어 입력 (230) 에 응답하여 제 2 모드를 선택할 수도 있다. 셀렉터 (210) 는 파라미터 모드 (224) 를 스위치 (212) 에 전송할 수도 있다. 파라미터 모드 (224) 는 선택된 모드 (예를 들어, 제 1 모드 또는 제 2 모드) 를 표시할 수도 있다.
특정 실시형태에서, 다수의 고대역 모드들은 또한, 임의의 고대역 파라미터들과 독립적인 제 3 모드를 포함할 수도 있다. 셀렉터 (210) 는 제 1 값 (예를 들어, 1) 을 표시하는 제어 입력 (230) 에 응답하여 제 1 모드를 선택할 수도 있고, 제 2 값 (예를 들어, 2) 을 표시하는 제어 입력 (230) 에 응답하여 제 2 모드를 선택할 수도 있고, 제 3 값 (예를 들어, 0) 을 표시하는 제어 입력 (230) 에 응답하여 제 1 모드를 선택할 수도 있다. 셀렉터 (210) 는 선택된 모드 (예를 들어, 제 1 모드, 제 2 모드 또는 제 3 모드) 를 표시하는 파라미터 모드 (224) 를 스위치 (212) 에 전송할 수도 있다.
스위치 (212) 는 추출기 (206) 로부터 제 1 복수의 파라미터들 (220), 예측기 (208) 로부터 제 2 복수의 파라미터들 (222), 및 셀렉터 (210) 로부터 파라미터 모드 (224) 를 수신할 수도 있다. 스위치 (212) 는 파라미터 모드 (224) 에 기초하여 신호 생성기 (214) 에 선택된 파라미터들 (226)(예를 들어, 제 1 복수의 파라미터들 (220), 제 2 복수의 파라미터들 (222), 또는 비-고대역 파라미터들) 을 제공할 수도 있다. 예를 들어, 스위치 (212) 는 제 1 모드를 표시하는 파라미터 모드 (224) 에 응답하여 신호 생성기 (214) 에 제 1 복수의 파라미터들 (220) 을 제공할 수도 있다. 스위치 (212) 는 제 2 모드를 표시하는 파라미터 모드 (224) 에 응답하여 신호 생성기 (214) 에 제 2 복수의 파라미터들 (222) 을 제공할 수도 있다. 스위치 (212) 는 제 3 모드를 표시하는 파라미터 모드 (224) 에 응답하여 신호 생성기 (214) 에 비-고대역 파라미터들을 제공하여, 비-고대역 파라미터들이 신호 생성기 (214) 에 의해 이용되게 된다.
신호 생성기 (214) 는 수신기 (204) 로부터 입력 신호 (102) 를 수신할 수도 있고, 스위치 (212) 로부터 선택된 파라미터들 (226) 을 수신할 수도 있다. 신호 생성기 (214) 는 선택된 파라미터들 (226) 및 입력 신호 (102) 에 기초하여 출력 고대역 부분을 생성할 수도 있다. 예를 들어, 선택된 파라미터들 (226) 이 고대역 파라미터들 (예를 들어, 제 1 복수의 파라미터들 (220) 또는 제 2 복수의 파라미터들 (222)) 에 대응하면, 신호 생성기 (214) 는 출력 고대역 부분을 생성하기 위해 선택된 파라미터들 (226) 을 모델링 및/또는 디코딩할 수도 있다. 예를 들어, 신호 생성기 (214) 는 출력 고대역 부분을 생성하기 위해 특정 고대역 모델을 이용할 수도 있다. 예시적인 예로서, 특정 고대역 모델은 주파수 도메인, LSF들, 시간 이득들, 또는 이들의 조합에서의 고대역 확장을 이용할 수도 있다. 상위 주파수 대역에서 이용된 특정 고대역 모델은 디코딩된 하위 대역 신호에 의존할 수도 있다. 신호 생성기 (214) 는 입력 신호 (102) 에 기초하여 출력 저대역 부분을 생성할 수도 있다. 예를 들어, 신호 생성기 (214) 는 출력 저대역 부분을 생성하기 위해 입력 신호 (102) 로부터 저대역 파라미터들을 추출, 모델링, 및/또는 디코딩할 수도 있다. 출력 저대역 부분은 출력 고대역 부분을 생성하는데 이용될 수도 있다. 신호 생성기 (214) 는 출력 저대역 부분 및 출력 고대역 부분을 결합함으로써 출력 신호 (128)(예를 들어, 디코딩된 오디오 신호) 를 생성할 수도 있다. 신호 생성기 (214) 는 플레이백 디바이스 (예를 들어, 스피커) 에 출력 신호 (128) 를 송신할 수도 있다.
비-고대역 파라미터들이 신호 생성기 (214) 에 제공되면, 신호 생성기 (214) 는 출력 저대역 부분을 생성할 수도 있고 출력 고대역 부분을 생성하는 것이 보류될 수도 있다. 이 경우에 출력 신호 (128) 는 저대역 오디오에만 대응할 수도 있다.
특정 실시형태에서, 입력 신호 (102) 는 대략 50 헤르쯔 (Hz) 내지 대략 16 킬로헤르쯔 (kHz) 까지의 주파수 범위에서 데이터를 포함하는 수퍼 광대역 (SWB) 신호일 수도 있다. 입력 신호 (102) 의 저대역 부분 및 입력 신호 (102) 의 고대역 부분은 50 Hz - 7 kHz 및 7 kHz - 16 kHz 의 비오버랩하는 주파수 대역들을 각각 점유할 수도 있다. 대안의 실시형태에서, 저대역 부분 및 고대역 부분은 50 Hz - 8 kHz 및 8 kHz - 16 kHz 의 비오버랩하는 주파수 대역들을 각각 점유할 수도 있다. 다른 대안의 실시형태에서, 저대역 부분 및 고대역 부분은 오버랩할 수도 있다 (예를 들어, 각각 50 Hz - 8 kHz 및 7 kHz - 16 kHz).
특정 실시형태에서, 입력 신호 (102) 는 대략 50 Hz 내지 대략 8 kHz 까지의 주파수 범위를 갖는 광대역 (WB) 신호일 수도 있다. 이러한 실시형태에서, 입력 신호 (102) 의 저대역 부분은 대략 50 Hz 내지 대략 6.4 kHz 까지의 주파수 범위에 대응할 수도 있고, 입력 신호 (102) 의 고대역 부분은 대략 6.4 kHz 내지 대략 8 kHz 까지의 주파수 범위에 대응할 수도 있다.
도 2 의 시스템 (200) 은 제어 입력에 기초하여, 추출된 고대역 파라미터들을 이용하는 것, 예측된 고대역 파라미터들을 이용하는 것, 및 비-고대역 파라미터들을 이용하는 것 사이에서 동적으로 스위칭하는 것을 가능하게 할 수도 있다. 특정 실시형태에서, 제어 입력 (230) 은 시스템 (200) 의 리소스들 (예를 들어, 배터리, 프로세서 또는 양쪽 모두) 을 보존하기 위해 변경될 수도 있다. 예를 들어, 제어 입력 (230) 은 리소스들이 보존되는 것을 표시하는 사용자 입력에 기초하여, 또는 (예를 들어, 배터리, 프로세서, 또는 양쪽 모두와 연관된) 리소스 이용가능성이 특정 임계 레벨을 만족하지 않음을 표시하는 것에 기초하여 비-고대역 파라미터들이 이용될 수 있음을 표시할 수도 있다. 시스템 (200) 의 리소스들은 제어 입력 (230) 이 비-고대역 파라미터들이 이용될 것임을 표시할 때 고대역 오디오를 생성하지 않음으로써 보존될 수도 있다. 다른 실시형태에서, 제어 입력 (230) 은 인코더가 입력 신호 (102) 에서 고대역 파라미터들을 포함하지 않음을 표시하는 정보를 프로세서가 수신하거나, 통신 네트워크가 송신 에러들을 경험하고 있음을 표시하는 정보를 프로세서가 수신하는 것, 또는 양쪽 모두에 응답하여, 예측된 고대역 파라미터들을 이용하도록 표시할 수도 있다. 예측된 고대역 파라미터들을 이용하는 것은 고대역 파라미터들의 부재, 또는 고대역 파라미터들과 연관된 에러들을 감출 수도 있다. 따라서, 시스템 (200) 은 리소스 보존, 에러 감추기, 또는 양쪽 모두를 가능하게 할 수도 있다.
도 3 을 참조하여 보면, 대역폭 확장 모드 선택을 수행하도록 동작가능한 시스템의 다른 특정 실시형태들이 개시되며 일반적으로 300 으로 지정된다. 특정 실시형태에서, 시스템 (300) 은 도 1 의 시스템 (100)(또는 시스템 (100) 의 하나 이상의 컴포넌트들) 에 대응 또는 이 시스템에 포함될 수도 있다. 예를 들어, 시스템 (300) 의 하나 이상의 컴포넌트들은 도 1 의 대역폭 확장 모듈 (118) 에 포함될 수도 있다. 시스템 (300) 은 수신기 (204), 추출기 (206), 예측기 (208), 셀렉터 (210), 스위치 (212) 및 신호 생성기 (214) 를 포함한다. 도 3 에서, 추출기 (206) 는 예측기 (208) 에 커플링된다. 예측기 (208) 는 블라인드 대역폭 익스텐더 (blind bandwidth extender; BBE)(304) 및 튜너 (302) 를 포함할 수도 있다.
동작 동안에, 추출기 (206) 는 예측기 (208) 에 제 1 복수의 파라미터들 (220) 을 제공할 수도 있다. BBE (304) 는 입력 신호 (102) 의 저대역 부분에 기초하여 블라인드 대역폭 확장을 수행함으로써 제 2 복수의 파라미터들 (222) 을 생성할 수도 있다. 예를 들어, BBE (304) 는 입력 신호 (102) 에서의 임의의 고대역 정보와 독립적으로 제 2 복수의 파라미터들 (222) 을 생성할 수도 있다. BBE (304) 는 특정 저대역 파라미터들에 대응하는 특정 고대역 파라미터들을 표시하는 파라미터 데이터에 대한 액세스를 가질 수도 있다. 파라미터 데이터는 트레이닝 오디오 샘플들에 기초하여 생성될 수도 있다. 예를 들어, 각각의 트레이닝 오디오 샘플은 저대역 오디오 및 고대역 오디오를 포함할 수도 있다. 특정 저대역 파라미터들과 특정 고대역 파라미터들 사이의 상관성은 트레이닝 오디오 샘플들의 저대역 오디오 및 고대역 오디오에 기초하여 결정될 수도 있다. 파라미터 데이터는 특정 저대역 파라미터들과 특정 고대역 파라미터들 사이의 상관성을 표시할 수도 있다. BBE (304) 는 입력 신호 (102) 의 저대역 파라미터들 및 파라미터 데이터를 이용하여 제 2 복수의 파라미터들 (222) 을 예측할 수도 있다. BBE (304) 는 사용자 입력을 통하여 파라미터 데이터를 수신할 수도 있다. 대안으로서, 파라미터 데이터는 디폴트 값들을 가질 수도 있다.
특정 실시형태에서, BBE (304) 는 분석 데이터에 기초하여 제 2 복수의 파라미터들 (222) 을 생성할 수도 있다. 분석 데이터는 제 1 복수의 파라미터들 (220)(예를 들어, 제 1 이득 프레임 및/또는 제 1 평균 선스펙트럼 주파수들 (LSF들)) 과 연관된 데이터를 포함할 수도 있다. 분석 데이터는 이전에 수신된 입력 신호들과 연관된 이력 데이터 (예를 들어, 예측된 이득 프레임 및/또는 제 1 평균 선스펙트럼 주파수들 (LSF들)) 를 포함할 수도 있다. 예를 들어, BBE (304) 는 예측된 이득 프레임에 기초하여 제 2 복수의 파라미터들 (222) 을 생성할 수도 있다. 튜너 (302) 는 제 2 복수의 파라미터들 (222) 의 제 2 이득 프레임에 대한 제 1 복수의 파라미터들 (220) 의 제 1 이득 프레임의 비에 기초하여 예측된 이득 프레임을 조정할 수도 있다.
다른 예로서, 입력 신호 (예를 들어, 입력 신호 (102)) 와 연관된 평균 LSF 는 스펙트럼 틸트를 표시할 수도 있다. BBE (304) 는 이력 평균 LSF들을 이용하여 제 2 복수의 파라미터들 (222) 을 바이어싱하여 이력 평균 LSF들에 의해 표시되는 스펙트럼 틸트를 보다 양호하게 매칭시킬 수도 있다. 튜너 (302) 는 입력 신호 (102) 의 현재 프레임에 대하여 추출된 평균 LSF들에 기초하여 이력 평균 LSF들을 조정할 수도 있다. 예를 들어, 튜너 (302) 는 제 1 평균 LSF들에 기초하여 이력 평균 LSF들을 조정할 수도 있다. 특정 실시형태에서, BBE (304) 는 현재 프레임에 대한 평균 추출된 LSF들에 기초하여 제 2 복수의 파라미터들 (222) 을 생성할 수도 있다. 예를 들어, BBE (304) 는 제 1 평균 LSF들에 기초하여 제 2 복수의 파라미터들 (222) 을 바이어싱할 수도 있다.
시스템 (300) 은 제어 입력에 기초하여, 추출된 고대역 파라미터들을 이용하는 것, 예측된 고대역 파라미터들을 이용하는 것, 및 비-고대역 파라미터들을 이용하는 것 사이에서 동적으로 스위칭하는 것을 가능하게 할 수도 있다. 추가로, 시스템 (300) 은 수신된 고대역 파라미터들과 연관된 분석 데이터에 기초하여 예측된 고대역 파라미터들을 적응시킴으로써 추출된 고대역 파라미터들과 예측된 고대역 파라미터들 사이를 스위칭할 때 아티팩트들을 감소시킬 수도 있다.
도 4 를 참조하여 보면, 대역폭 확장 모드 선택을 수행하도록 동작가능한 시스템의 다른 특정 실시형태들이 개시되며 일반적으로 400 으로 지정된다. 특정 실시형태에서, 시스템 (400) 은 도 1 의 시스템 (100)(또는 시스템 (100) 의 하나 이상의 컴포넌트들) 에 대응 또는 이 시스템에 포함될 수도 있다. 예를 들어, 시스템 (400) 의 하나 이상의 컴포넌트들은 도 1 의 대역폭 확장 모듈 (118) 에 포함될 수도 있다.
시스템 (400) 은 수신기 (204), 추출기 (206), 예측기 (208), 셀렉터 (210), 스위치 (212), 신호 생성기 (214), 튜너 (302) 및 BBE (304) 를 포함한다. 시스템 (400) 은 또한, 추출기 (206), 예측기 (208) 및 셀렉터 (210) 에 커플링된 밸리데이터 (402)(예를 들어, 파라미터 타당성 검사기) 를 포함한다.
동작 동안에, 밸리데이터 (402) 는 추출기 (206) 로부터 제 1 복수의 파라미터들 (220) 를 수신할 수도 있고, 예측기 (208) 로부터 제 2 복수의 파라미터들 (222) 을 수신할 수도 있다. 밸리데이터 (402) 는 제 1 복수의 파라미터들 (220) 과 제 2 복수의 파라미터들 (222) 의 비교에 기초하여 제 1 복수의 파라미터들 (220) 의 "신뢰성" 을 결정할 수도 있다. 예를 들어, 밸리데이터 (402) 는 제 1 복수의 파라미터들 (220) 과 제 2 복수의 파라미터들 (222) 사이의 차이 (예를 들어, 절대값들, 표준 편차 등) 에 기초하여 제 1 복수의 파라미터들 (220) 의 신뢰성을 결정할 수도 있다. 예시를 위하여, 신뢰성은 차이에 역으로 관련될 수도 있다. 밸리데이터 (402) 는 결정된 신뢰성을 표시하는 타당성 데이터 (404) 를 생성할 수도 있다. 밸리데이터 (402) 는 셀렉터 (210) 에 타당성 데이터 (404) 를 제공할 수도 있다.
셀렉터 (210) 는 제 1 복수의 파라미터들 (220) 이 신뢰성있는지 또는 너무 신뢰성이 없는지를 결정하여 타당성 데이터 (404) 가 신뢰성 임계값을 만족하는지 (예를 들어, 신뢰성 임계값을 초과하는지) 여부에 기초하여 신호 복원에 이용할 수도 있다. 예를 들어, 제 1 복수의 파라미터들 (220) 과 제 2 복수의 파라미터들 (222) 사이의 차이는 고대역 파라미터 정보의 송신과 연관된 에러 (예를 들어, 붕괴된/손상한 데이터) 가 존재함을 표시할 수도 있다. 다른 예로서, 차이는 제 1 복수의 파라미터들 (220) 이 랜덤 데이터에 대응함 (예를 들어, 입력 신호 (102) 가 고대역 파라미터들을 포함하지 않도록 인코더에 의해 생성될 때) 을 표시할 수도 있다.
셀렉터 (210) 는 사용자 입력을 통하여 신뢰성 임계값을 수신할 수도 있다. 신뢰성 임계값은 사용자 설정들 및/또는 선호도들에 대응할 수도 있다. 대안으로서, 신뢰성 임계값은 디폴트 값을 가질 수도 있다. 특정 실시형태에서, 제어 입력 (230) 은 신뢰성 임계값에 대응하는 값을 포함할 수도 있다.
셀렉터 (210) 는 타당성 데이터 (404) 에 기초하여 다수의 고대역 모드들 중 특정 모드를 선택할 수도 있다. 예를 들어, 셀렉터 (210) 는 타당성 데이터 (404) 가 신뢰성 임계값을 만족함 (예를 들어 초과함) 에 응답하여, 제 1 복수의 파라미터들 (220) 을 이용하는 제 1 모드를 선택할 수도 있다. 셀렉터 (210) 는 타당성 데이터 (404) 가 신뢰성 임계값을 만족하지 않음 (예를 들어 초과하지 않음) 에 응답하여, 제 2 복수의 파라미터들 (222) 을 이용하는 제 2 모드를 선택할 수도 있다. 대안으로서, 셀렉터 (210) 는 타당성 데이터 (404) 가 신뢰성 임계값을 만족하지 않음에 응답하여 제 3 모드를 선택할 수도 있다.
특정 실시형태에서, 셀렉터 (210) 는 타당성 데이터 (404) 와 제어 입력 (230) 에 기초하여 특정 모드를 선택할 수도 있다. 예를 들어, 셀렉터 (210) 는 타당성 데이터 (404) 가 신뢰성 임계값을 만족할 때 제 1 모드를 선택할 수도 있다. 셀렉터 (210) 는 타당성 데이터 (404) 가 신뢰성 임계값을 만족하지 않고 제어 입력 (230) 이 제 1 값 (예를 들어, 참) 을 표시할 때 제 2 모드를 선택할 수도 있다. 셀렉터 (210) 는 타당성 데이터 (404) 가 신뢰성 임계값을 만족하지 않고 제어 입력 (230) 이 제 2 값 (예를 들어, 거짓) 을 표시할 때 제 3 모드를 선택할 수도 있다.
시스템 (400) 은 수신된 입력 신호에서의 고대역 파라미터 정보의 신로성에 기초하여, 추출된 고대역 파라미터들을 이용하는 것, 예측된 고대역 파라미터들을 이용하는 것, 및 비-고대역 파라미터들을 이용하는 것 사이에서 동적으로 스위칭하는 것을 가능하게 할 수도 있다. 수신된 고대역 파라미터 정보가 신뢰성있을 때, 추출된 고대역 파라미터들이 이용될 수도 있다. 수신된 고대역 파라미터 정보가 신뢰성없을 때, 예측된 고대역 파라미터들을 이용하여 수신된 고대역 파라미터 정보와 연관된 에러들을 감출 수도 있다. 특정 실시형태에서, 시스템 (400) 은 입력 신호 (102) 에서의 고대역 파라미터 정보가, 수신기 (204) 로의 송신 전에, 더 작은 양의 리던던시와 에러 검출을 이용하여 인코딩되게 할 수도 있다. 인코더는 추출된 고대역 파라미터들의 신뢰성을 결정하기 위한 비교를 위하여 예측된 고대역 파라미터들에 대한 액세스를 갖는 시스템 (400) 에 의존할 수도 있다.
도 5 를 참조하여 보면, 대역폭 확장 모드 선택을 수행하도록 동작가능한 시스템의 다른 특정 실시형태들이 개시되며 일반적으로 500 으로 지정된다. 특정 실시형태에서, 시스템 (500) 은 도 1 의 시스템 (100)(또는 시스템 (100) 의 하나 이상의 컴포넌트들) 에 대응 또는 이 시스템에 포함될 수도 있다. 예를 들어, 시스템 (500) 의 하나 이상의 컴포넌트들은 도 1 의 대역폭 확장 모듈 (118) 에 포함될 수도 있다.
시스템 (500) 은 수신기 (204), 추출기 (206), 예측기 (208), 셀렉터 (210), 스위치 (212), 신호 생성기 (214), 튜너 (302), BBE (304) 및 밸리데이터 (402) 를 포함한다. 시스템 (500) 은 또한 추출기 (206) 및 셀렉터 (210) 에 커플링된 에러 검출기 (502) 를 포함한다.
동작 동안에, 추출기 (206) 는 에러 검출기 (502) 에 에러 검출 데이터 (504) 를 제공할 수도 있다. 예를 들어, 추출기 (206) 는 에러 검출 데이터 (504) 를 입력 신호 (102) 로부터 추출할 수도 있다. 에러 검출 데이터 (504) 는 고대역 파라미터 정보와 연관될 수도 있다. 예를 들어, 에러 검출 데이터 (504) 는 고대역 파라미터 정보와 연관된 주기적 리던던시 체크 (CRC) 데이터에 대응할 수도 있다.
에러 검출기 (502) 는 고대역 파라미터 정보와 연관된 에러가 존재하는지의 여부를 결정하기 위해 에러 검출 데이터 (504) 를 분석할 수도 있다. 예를 들어, 에러 검출기 (502) 는 CRC 데이터 (예를 들어, 4 비트들) 가 무효 데이터를 표시한다고 결정하는 것에 응답하여 에러를 검출할 수도 있다. 에러 검출기 (502) 는 CRC 데이터가 유효 데이터를 표시한다고 결정하는 것에 응답하여 어떠한 에러도 검출하지 않을 수도 있다. 에러 검출 데이터 (504) 를 표현하도록 추가 비트들을 이용하는 것은 고대역 파라미터 정보의 송신과 연관된 에러들을 검출하는 확률을 증가시킬 수도 있지만, 고대역 정보를 송신하는데 이용된 비트들의 수를 증가시킬 수도 있다.
특정 실시형태에서, 에러 검출기 (502) 는 이력 에러 레이트 (예를 들어, CRC 체크들에 기초한 에러있는 프레임들의 평균 에러 레이트) 를 표시하는 상태를 유지할 수도 있다. 이 이력 에러 레이트는, 입력 신호 (102) 가 유효 고대역 파라미터 정보를 포함하는지를 결정하는데 이용될 수도 있다. 예를 들어, 이력 에러 레이트는 입력 신호 (102) 와 연관된 CRC 데이터가 거짓 양성을 표시하는지의 여부를 결정하는데 이용될 수도 있다. 예시를 위하여, 입력 신호 (102) 와 연관된 CRC 데이터는, 입력 신호 (102) 가 고대역 파라미터 정보를 포함하지 않고 제 1 복수의 파라미터들이 랜덤 데이터를 표현하는 경우에도 유효 데이터를 표시할 수도 있다. 에러 검출기 (502) 는 평균 에러 레이트가 임계 에러 레이트를 만족한다고 (초과한다고) 결정하는 것에 응답하여 에러를 검출할 수도 있다. 예를 들어, 에러 검출기 (502) 는 임계 에러 레이트를 만족하는 (예를 들어, 초과하는) 이력 에러 레이트에 기초하여 인코더가 고대역 파라미터 정보를 송신하지 않는 것으로 결정할 수도 있다. 예를 들어, 에러 검출기 (502) 는 평균 에러 레이트가, 가장 최근에 수신된 프레임들의 수 (예를 들어, 16) 중 프레임들의 임계 수 (예를 들어, 6) 보다 더 큰 것과 연관된 에러를 표시하는 것으로 결정하는 것에 응답하여 에러를 검출할 수도 있다. 에러 검출기 (502) 는 사용자 설정 또는 선호도에 대응하는 사용자 입력을 통하여 임계 에러 레이트를 수신할 수도 있다. 대안으로서, 임계 에러는 디폴트 값을 가질 수도 있다.
에러 검출기 (502) 는 에러가 검출되는지의 여부를 표시하는 에러 출력 (506) 을 셀렉터 (210) 에 제공할 수도 있다. 예를 들어, 에러 출력 (506) 은 어떠한 에러들도 에러 검출기 (502) 에 의해 검출되지 않음을 표시하는 제 1 값 (예를 들어, 0) 을 가질 수도 있다. 에러 출력 (506) 은 적어도 하나의 에러가 에러 검출기 (502) 에 의해 검출됨을 표시하는 제 2 값 (예를 들어, 1) 을 가질 수도 있다. 예를 들어, 에러 출력 (506) 은 에러 검출 데이터 (504)(예를 들어, CRC 데이터) 가 무효 데이터를 표시한다고 결정하는 것에 응답하여 제 2 값 (예를 들어, 1) 을 가질 수도 있다. 다른 예로서, 에러 출력 (506) 은 평균 에러 레이트가 임계 에러 레이트를 만족하지 않는다고 결정하는 것에 응답하여 제 2 값 (예를 들어, 1) 을 가질 수도 있다.
셀렉터 (210) 는 에러 출력 (506) 에 기초하여 고대역 모드를 선택할 수도 있다. 예를 들어, 셀렉터 (210) 는 에러 출력 (506) 이 제 1 값 (예를 들어, 0) 을 갖는다고 결정하는 것에 응답하여 제 1 복수의 파라미터들을 이용하는 제 1 모드를 선택할 수도 있다. 셀렉터 (210) 는 에러 출력 (506) 이 제 2 값 (예를 들어, 1) 을 갖는다고 결정하는 것에 응답하여 제 2 모드 또는 제 3 모드를 선택할 수도 있다.
특정 실시형태에서, 셀렉터 (210) 는 에러 출력 (506) 및 타당성 데이터 (404) 에 기초하여 고대역 모드를 선택할 수도 있다. 예를 들어, 셀렉터 (210) 는 에러 출력 (506) 이 제 1 값 (예를 들어, 0) 을 갖고 타당성 데이터 (404) 가 신뢰성 임계값을 만족한다고 (예를 들어, 초과한다고) 결정하는 것에 응답하여 제 1 모드를 선택할 수도 있다. 셀렉터 (210) 는 에러 출력 (506) 이 제 2 값 (예를 들어, 1) 을 갖고 타당성 데이터 (404) 가 신뢰성 임계값을 만족하지 않는다고 (예를 들어, 초과하지 않는다고) 결정하는 것에 응답하여 제 3 모드를 선택할 수도 있다.
특정 실시형태에서, 셀렉터 (210) 는 에러 출력 (506), 타당성 데이터 (404) 및 제어 입력 (230) 에 기초하여 고대역 모드를 선택할 수도 있다. 예를 들어, 셀렉터 (210) 는 제어 입력 (230) 이 제 1 값 (예를 들어, 참) 을 갖고, 에러 출력 (506) 이 제 1 값 (예를 들어, 0) 을 갖고, 타당성 데이터 (404) 가 신뢰성 임계값을 만족한다고 (예를 들어, 초과한다고) 결정하는 것에 응답하여 제 1 모드를 선택할 수도 있다. 다른 예로서, 셀렉터 (210) 는 제어 입력 (230) 이 제 1 값 (예를 들어, 참) 을 갖고, 에러 출력 (506) 이 제 2 값 (예를 들어, 1) 을 갖고, 타당성 데이터 (404) 가 신뢰성 임계값을 만족하지 않는다고 (예를 들어, 초과하지 않는다고) 결정하는 것에 응답하여 제 2 모드를 선택할 수도 있다. 셀렉터는 제어 입력 (230) 이 제 2 값 (예를 들어, 거짓) 을 갖는다고 결정하는 것에 응답하여 제 3 모드를 선택할 수도 있다.
시스템 (500) 은 제어 입력 (예를 들어, 제어 입력 (230)), 수신된 고대역 파라미터 정보의 신뢰성 (예를 들어, 타당성 데이터 (404) 에 의해 표시되는 바와 같은 것), 및/또는 수신된 에러 검출 데이터 (예를 들어, 에러 검출 데이터 (504)) 에 기초하여, 추출된 고대역 파라미터들을 이용하는 것, 예측된 고대역 파라미터들을 이용하는 것, 및 비-고대역 파라미터들을 이용하는 것 사이에서 동적으로 스위칭하는 것을 가능하게 할 수도 있다. 시스템 (500) 은 제어 입력이 비-고대역 파라미터들이 이용될 것임을 표시할 때 고대역 오디오를 생성하는 것을 보류함으로써 리소스들의 보전을 가능하게 할 수도 있다. 고대역 오디오가 생성될 때, 시스템 (500) 은 수신된 고대역 파라미터들과 연관된 에러들을 검출하거나 또는 수신된 고대역 파라미터들이 신뢰성있다고 결정하는 것에 응답하여, 예측된 고대역 파라미터들을 이용하여 고대역 오디오를 생성함으로써 수신된 고대역 파라미터 정보와 연관된 에러들을 감출 수도 있다.
도 6 을 참조하여 보면, 대역폭 확장 모드 선택의 방법의 특정 실시형태의 흐름도가 도시되며 일반적으로 600 으로 지정된다. 방법 (600) 은 도 1 내지 도 5 의 시스템들 (100-500) 의 하나 이상의 컴포넌트들에 의해 수행될 수도 있다. 예를 들어, 방법 (600) 은 도 1 의 디코더 (116) 의 대역폭 확장 모듈 (118) 의 하나 이상의 컴포넌트들에 의해서와 같이 디코더에서 수행될 수도 있다.
방법 (600) 은 602 에서, 수신된 입력 신호로부터 제 1 복수의 파라미터들을 추출하는 것을 포함한다. 입력 신호는 인코딩된 오디오 신호에 대응할 수도 있다. 예를 들어, 도 2 내지 도 5 의 추출기 (206) 는 도 2 를 참조하여 추가로 설명된 바와 같이, 입력 신호 (102) 로부터 제 1 복수의 파라미터들 (220) 을 추출할 수도 있다. 입력 신호 (102) 는 인코딩된 오디오 신호에 대응할 수도 있다.
방법 (600) 은 또한, 604 에서, 입력 신호에서의 고대역 정보와 독립적으로, 제 2 복수의 파라미터들을 생성함으로써 블라인드 대역폭 확장을 수행하는 것을 포함한다. 제 2 복수의 파라미터들은 인코딩된 오디오 신호의 고대역 부분에 대응할 수도 있다. 제 2 복수의 파라미터들은 입력 신호에서의 저대역 파라미터들에 대응하는 저대역 파라미터 정보에 기초하여 생성될 수도 있다. 저대역 파라미터들은 인코딩된 오디오 신호의 저대역 부분과 연관될 수도 있다. 예를 들어, 도 2 내지 도 5 의 예측기 (208) 는 도 2 및 도 3 을 참조로 추가로 설명된 바와 같이 제 2 복수의 파라미터들 (222) 을 생성할 수도 있다. 제 2 복수의 파라미터들 (222) 은 입력 신호 (102) 의 고대역 부분에 대응할 수도 있다. 예측기 (208) 는 입력 신호 (102) 의 저대역 파라미터들에 대응하는 저대역 파라미터 정보에 기초하여 제 2 복수의 파라미터들 (222) 을 생성할 수도 있다.
방법 (600) 은 606 에서, 인코딩된 오디오 신호의 고대역 부분의 재생을 위하여 다수의 고대역 모드들로부터 특정 모드를 선택하는 것을 더 포함한다. 예를 들어, 도 2 내지 도 5 의 셀렉터 (210) 는 도 2 내지 도 5 를 참조하여 추가로 설명된 바와 같이, 다수의 고대역 모드들로부터 특정 모드를 선택할 수도 있다. 다수의 고대역 모드들은 제 1 복수의 파라미터들을 이용하는 제 1 모드 및 제 2 복수의 파라미터들을 이용하는 제 2 모드를 포함할 수도 있다.
방법 (600) 은 608 에서, 특정 모드의 선택에 응답하여 디코더의 출력 생성기에 제 1 복수의 파라미터들 또는 제 2 복수의 파라미터들을 전송하는 것을 또한 포함할 수도 있다. 예를 들어, 도 2 내지 도 5 의 스위치 (212) 는 도 2 내지 도 5 를 참조로 추가로 설명된 바와 같이, 특정 모드의 선택에 응답하여 신호 생성기 (214) 에 그 선택된 파라미터들 (226) 을 전송할 수도 있다. 선택된 파라미터들 (226) 은 제 1 복수의 파라미터들 (220) 또는 제 2 복수의 파라미터들 (222) 에 대응할 수도 있다.
도 6 의 방법 (600) 은 추출된 고대역 파라미터들을 이용하는 것과 예측된 고대역 파라미터들을 이용하는 것 사이의 동적 스위칭을 가능하게 할 수도 있다.
특정 실시형태들에서, 도 6 의 방법 (600) 은 중앙 프로세싱 유닛 (CPU), 디지털 신호 프로세서 (DSP), 그래픽 프로세싱 유닛 (GPU) 또는 제어기 또는 펌웨어 디바이스를 통하여 이들의 조합과 같은 프로세싱 유닛의 하드웨어 (예를 들어, 필드 프로그램가능 게이트 어레이 (FPGA) 디바이스, 주문형 집적 회로 (ASIC) 등) 를 통해, 펌웨어 디바이스 또는 이들의 조합을 통해 구현될 수도 있다. 일 예로서, 도 6 의 방법 (600) 은 도 7 에 대하여 설명된 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수 있다.
도 7 을 참조하여 보면, 디바이스 (예를 들어, 무선 통신 디바이스) 의 특정 예시적인 실시형태의 블록도가 도시되며 일반적으로 700 으로 지정된다. 여러 실시형태들에서, 디바이스 (700) 는 도 7 에 예시된 것보다 더 많거나 또는 더 적은 수의 컴포넌트들을 가질 수도 있다. 예시적인 실시형태에서, 디바이스 (700) 는 도 1 의 제 1 디바이스 (104) 또는 제 2 디바이스 (106) 에 대응할 수도 있다. 예시적인 실시형태에서, 디바이스 (700) 는 도 6 의 방법 (600) 에 따라 동작할 수도 있다.
특정 실시형태에서, 디바이스 (700) 는 프로세서 (706)(예를 들어, 중앙 프로세싱 유닛 (CPU)) 를 포함한다. 디바이스 (700) 는 하나 이상의 추가 프로세서들 (710)(예를 들어, 하나 이상의 디지털 신호 프로세서들 (DSP들)) 을 포함할 수도 있다. 프로세서들 (710) 은 스피치 및 뮤직 코더/디코더 (CODEC)(708) 및 에코 소거기 (712) 를 포함할 수도 있다. 스피치 및 뮤직 CODEC (708) 은 보코더 인코더 (714), 보코더 디코더 (716) 또는 양쪽 모두를 포함할 수도 있다. 특정 실시형태에서, 보코더 인코더 (714) 는 도 1 의 인코더 (114) 에 대응할 수도 있다. 특정 실시형태에서, 보코더 디코더 (716) 는 도 1 의 디코더 (116) 에 대응할 수도 있다.
디바이스 (700) 는 메모리 (732) 및 CODEC (734) 을 포함할 수도 있다. 디바이스 (700) 는 안테나 (742) 에 커플링된 무선 제어기 (740) 를 포함할 수도 있다. 디바이스 (700) 는 디스플레이 제어기 (726) 에 커플링된 디스플레이 (728) 를 포함할 수도 있다. 스피커 (736), 마이크로폰 (738) 또는 양쪽 모두는 CODEC (734) 에 커플링될 수도 있다. 특정 실시형태에서, 스피커 (736) 는 도 1 의 스피커 (142) 에 대응할 수도 있다. 특정 실시형태에서, 마이크로폰 (738) 은 도 1 의 마이크로폰 (146) 에 대응할 수도 있다. CODEC (734) 은 디지털/아날로그 컨버터 (DAC)(702) 및 아날로그/디지털 컨버터 (ADC)(704) 를 포함할 수도 있다.
특정 실시형태에서, CODEC (734) 은 마이크로폰 (738) 으로부터 아날로그 신호들을 수신할 수도 있고, 아날로그/디지털 컨버터 (ADC)(704) 를 이용하여 아날로그 신호들을 디지털 신호들로 변환할 수도 있고, 스피치 및 뮤직 CODEC (708) 에 디지털 신호들을 제공할 수도 있다. 스피치 및 뮤직 CODEC (708) 은 디지털 신호들을 프로세싱할 수도 있다. 특정 실시형태에서, 스피치 및 뮤직 CODEC (708) 은 디지털 신호들을 CODEC (734) 에 제공할 수도 있다. CODEC (734) 은 디지털/아날로그 컨버터 (702) 를 이용하여 디지털 신호들을 아날로그 신호들로 변환할 수도 있고 아날로그 신호들을 스피커 (736) 에 제공할 수도 있다.
디바이스 (700) 는 도 1 의 대역폭 확장 모듈 (118) 을 포함할 수도 있다. 특정 실시형태에서, 대역폭 확장 모듈 (118) 의 하나 이상의 컴포넌트들은 프로세서 (706), 프로세서들 (710), 스피치 및 뮤직 CODEC (708), 보코더 디코더 (716), CODEC (734), 또는 이들의 조합에 포함될 수도 있다.
메모리 (732) 는 도 6 의 방법 (600) 에서와 같이 본원에 개시된 방법들 및 프로세스들을 수행하기 위해 프로세서 (706), 프로세서들 (710), CODEC (734), 디바이스 (700) 의 하나 이상의 다른 프로세싱 유닛들 또는 이들의 조합에 의해 실행가능한 명령들 (760) 을 포함할 수도 있다.
시스템들 (100-500) 의 하나 이상의 컴포넌트들은 하나 이상의 테스크들, 또는 이들의 조합을 수행하기 위해, 명령들을 실행하는 프로세서에 의해 전용 하드웨어 (예를 들어, 회로) 를 통하여 구현될 수도 있다. 일 예로서, 메모리 (732) 또는 스피치 및 뮤직 CODEC (708) 의 하나 이상의 컴포넌트들은 랜덤 액세스 메모리 (RAM), 자기 저항 랜덤 액세스 메모리 (MRAM), 스핀 토크 트랜스퍼 MRAM (STT-MRAM), 플래시 메모리, 판독 전용 메모리 (ROM), 프로그램가능 판독 전용 메모리 (PROM), 소거가능한 프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능한 프로그램가능 판독 전용 메모리 (EEPROM), 레지스터들, 하드 디스크, 탈착가능 디스크, 또는 컴팩트 디스크 판독 전용 메모리 (CD-ROM) 와 같은 메모리 디바이스일 수도 있다. 메모리 디바이스는 컴퓨터 (예를 들어, CODEC (734) 에서의 프로세서, 프로세서 (706), 및/또는 프로세서들 (710)) 에 의해 실행될 때, 컴퓨터로 하여금, 도 6 의 방법 (600) 둥 하나의 적어도 일부분을 수행하게 할 수도 있는 명령들 (예를 들어, 명령들 (760)) 을 포함할 수도 있다. 일 예로서, 메모리 (732) 또는 스피치 및 뮤직 CODEC (708) 의 하나 이상의 컴포넌트들은 컴퓨터 (예를 들어, CODEC (734) 에서의 프로세서, 프로세서 (706), 및/또는 프로세서들 (710)) 에 의해 실행될 때, 컴퓨터로 하여금, 도 6 의 방법 (600) 둥 하나의 적어도 일부분을 수행하게 하는 명령들 (예를 들어, 명령들 (760)) 을 포함하는 비일시적 컴퓨터 판독가능 매체일 수도 있다.
특정 실시형태에서, 디바이스 (700) 는 시스템 인 패키지 또는 시스템 온 칩 디바이스 (예를 들어, 모바일 스테이션 모뎀 (MSM)(722)) 에 포함될 수도 있다. 특정 실시형태에서, 프로세서 (706), 프로세서들 (710), 디스플레이 제어기 (726), 메모리 (732), CODEC (734), 대역폭 확장 모듈 (118), 및 무선 제어기 (740) 는 시스템 인 패키지 또는 시스템 온 칩 디바이스 (722) 에 포함된다. 특정 실시형태에서, 입력 디바이스 (730), 이를 테면, 터치스크린 및/또는 키패드와, 전력 공급 장치 (744) 는 시스템 온 칩 디바이스 (722) 에 커플링된다. 또한, 특정 실시형태에서, 도 7 에 도시된 바와 같이, 디스플레이 (728), 입력 디바이스 (730), 스피커 (736), 마이크로폰 (738), 안테나 (742), 및 전력 공급 장치 (744) 는 시스템 온 칩 디바이스 (722) 외부에 있다. 그러나, 디스플레이 (728), 입력 디바이스 (730), 스피커 (736), 마이크로폰 (738), 안테나 (742), 및 전력 공급 장치 (744) 각각은 인터페이스 또는 제어기와 같은 시스템 온 칩 디바이스 (722) 의 컴포넌트에 커플링될 수 있다.
디바이스 (700) 는 모바일 통신 디바이스, 스마트폰, 셀룰라 폰, 랩톱 컴퓨터, 컴퓨터, 테블릿, 개인 휴대 정보 단말기, 디스플레이 디바이스, 텔레비전, 게임 콘솔, 뮤직 플레이어, 라디오, 디지털 비디오 플레이어, 디지털 비디오 디스크 (DVD) 플레이어, 튜너, 카메라, 네비게이션 디바이스, 디코더 시스템 또는 이들의 임의의 조합을 포함할 수도 있다.
예시적인 실시형태에서, 프로세서들 (710) 은 도 1 내지 도 6 을 참조로 설명된 방법들 및 동작들의 일부 또는 전부를 수행하기 위해 동작가능할 수도 있다. 예를 들어, 마이크로폰 (738) 은 오디오 신호 (예를 들어, 도 1 의 오디오 신호 (130)) 를 캡쳐할 수도 있다. ADC (704) 는 아날로그 파형으로부터의 캡쳐된 오디오 신호를 디지털 오디오 신호로 구성된 디지털 파형으로 변환할 수도 있다. 프로세서들 (710) 은 디지털 오디오 샘플들을 프로세싱할 수도 있다. 이득 조정기는 디지털 오디오 샘플들을 조정할 수도 있다. 에코 소거기 (712) 는 스피커 (736) 의 출력이 마이크로폰 (738) 에 진입함으로써 생성될 수도 있었던 에코를 감소시킬 수도 있다.
보코더 인코더 (714) 는 프로세싱된 스피치 신호에 대응하는 디지털 오디오 샘플들을 압축할 수도 있고, 송신 패킷 (예를 들어, 디지털 오디오 샘플들의 압축된 비트들의 표현) 을 형성할 수도 있다. 예를 들어, 송신 패킷은 도 1 및 도 2 를 참조하여 설명된 바와 같이, 도 2 의 워터마크 데이터 (232) 를 포함할 수도 있다. 송신 패킷은 메모리 (732) 에 저장될 수도 있다. 트랜시버는 일부 형태의 송신 패킷 (예를 들어, 다른 정보가 송신 패킷에 첨부될 수도 있다) 을 변조할 수도 있고, 안테나 (742) 를 통하여 변조된 정보를 송신할 수도 있다.
다른 추가의 예로서, 안테나 (742) 는 수신 패킷을 포함하는 인커밍 패킷들을 수신할 수도 있다. 수신 패킷은 다른 디바이스에 의해 네트워크를 통하여 전송될 수도 있다. 예를 들어, 수신 패킷은 도 1 의 입력 신호 (102) 에 대응할 수도 있다. 보코더 디코더 (716) 는 수신 패킷을 압축해제할 수도 있다. 압축해제된 수신 패킷은 복원된 오디오 샘플들로 지칭될 수도 있다. 에코 소거기 (712) 는 복원된 오디오 샘플들로부터 에코를 제거할 수도 있다.
프로세서들 (710) 은 도 2 내지 도 5 를 참조로 설명된 바와 같이, 수신 패킷으로부터 제 1 복수의 파라미터들 (220) 을 추출할 수도 있고, 제 2 복수의 파라미터들 (222) 을 생성할 수도 있고, 제 1 복수의 파라미터들 (220), 제 2 복수의 파라미터들 (222) 또는 비-고대역 파라미터들을 선택할 수도 있고, 선택된 파라미터들에 기초하여 출력 신호 (128) 를 생성할 수도 있다. 이득 조정기는 출력 신호 (128) 를 증폭 또는 억제할 수도 있다. DAC (702) 는 디지털 신호로부터 아날로그 신호로 출력 신호 (128) 를 변환할 수도 있고, 스피커 (736) 에 변환된 신호를 제공할 수도 있다. 특정 실시형태에서, 스피커 (736) 는 도 1 의 스피커 (142) 에 대응할 수도 있다.
설명된 실시형태들과 연계하여, 수신된 입력 신호로부터 제 1 복수의 파라미터들을 추출하기 위한 수단을 포함하는 장치가 개시된다. 입력 신호는 인코딩된 오디오 신호에 대응할 수도 있다. 예를 들어, 추출하기 위한 수단은 도 2 내지 도 5 의 추출기 (206), 제 1 복수의 파라미터들을 추출하도록 구성되는 하나 이상의 디바이스들 (예를 들어, 비일시적 컴퓨터 판독가능 저장 매체에서의 명령들을 실행하는 프로세서) 또는 이들의 임의의 조합을 포함할 수도 있다.
장치는 또한, 입력 신호에서의 고대역 정보와 독립적으로, 제 2 복수의 파라미터들을 생성함으로써 블라인드 대역폭 확장을 수행하기 위한 수단을 포함한다. 제 2 복수의 파라미터들은 인코딩된 오디오 신호의 고대역 부분에 대응한다. 제 2 복수의 파라미터들은 입력 신호에서의 저대역 파라미터들에 대응하는 저대역 파라미터 정보에 기초하여 생성된다. 저대역 파라미터들은 인코딩된 오디오 신호의 저대역 부분과 연관된다. 예를 들어, 수행하기 위한 수단은 도 2 내지 도 5 의 예측기 (208), 제 2 복수의 파라미터들을 생성함으로써 블라인드 대역폭 확장을 수행하도록 구성되는 하나 이상의 디바이스들 (예를 들어, 비일시적 컴퓨터 판독가능 저장 매체에서의 명령들을 실행하는 프로세서) 또는 이들의 임의의 조합을 포함할 수도 있다.
장치는 또한, 인코딩된 오디오 신호의 고대역 부분의 재생을 위하여 다수의 고대역 모드들로부터 특정 모드를 선택하기 위한 수단을 더 포함하며, 다수의 고대역 모드들은 제 1 복수의 파라미터들을 이용하는 제 1 모드와 제 2 복수의 파라미터들을 이용하는 제 2 모드를 포함한다. 예를 들어, 선택하기 위한 수단은 도 2 내지 도 5 의 셀렉터 (210), 특정 모드를 선택하도록 구성되는 하나 이상의 디바이스들 (예를 들어, 비일시적 컴퓨터 판독가능 저장 매체에서의 명령들을 실행하는 프로세서) 또는 이들의 임의의 조합을 포함할 수도 있다.
장치는 또한, 선택된 특정 모드에 기초하여 제 1 복수의 파라미터들 또는 제 2 복수의 파라미터들을 출력하기 위한 수단을 포함한다. 예를 들어, 출력하기 위한 수단은 도 2 내지 도 5 의 스위치 (212), 출력하도록 구성되는 하나 이상의 디바이스들 (예를 들어, 비일시적 컴퓨터 판독가능 저장 매체에서의 명령들을 실행하는 프로세서) 또는 이들의 임의의 조합을 포함할 수도 있다.
당해 기술 분야의 당업자라면, 본원에서 개시된 예시적인 실시형태들과 연계하여 설명된 다양한 예시적인 논리 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 하드웨어 프로세서와 같은 프로세싱 디바이스에 의해 실행가능한 컴퓨터 소프트웨어, 또는 양자 모두의 조합으로서 구현될 수도 있음을 더 알 수 있을 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들, 및 단계들이 그 기능의 면에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 따라 달라진다. 당업자들은 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능을 구현할 수도 있으나, 그러한 구현 결정들이 본 개시물의 범위로부터 벗어나게 하는 것으로 해석되어서는 안된다.
본원에서 개시된 구체예들과 연계하여 설명된 일 방법 또는 알고리즘의 스텝들은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들 양자의 조합에서 직접적으로 구현될 수도 있다. 소프트웨어 모듈은 랜덤 액세스 메모리 (RAM), 자기 저항 랜덤 액세스 메모리 (MRAM), 스핀 토크 트랜스퍼 MRAM (STT-MRAM), 플래시 메모리, 판독 전용 메모리 (ROM), 프로그램가능 판독 전용 메모리 (PROM), 소거가능한 프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능한 프로그램가능 판독 전용 메모리 (EEPROM), 레지스터들, 하드 디스크, 탈착가능 디스크, 또는 컴팩트 디스크 판독 전용 메모리 (CD-ROM) 와 같은 메모리 디바이스에 상주할 수도 있다. 예시적인 메모리 디바이스는, 프로세서가 메모리 디바이스로부터 정보를 판독할 수 있고 정보를 메모리 디바이스에 기입할 수 있도록 프로세서에 커플링된다. 대안적으로, 메모리 디바이스는 프로세서와 일체적일 수도 있다. 프로세서 및 저장 매체는 주문형 집적 회로 (ASIC) 에 상주할 수도 있다. ASIC 는 컴퓨팅 디바이스 또는 사용자 단말기에 상주할 수도 있다. 대안적으로, 프로세서 및 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말기에 개별 컴포넌트들로서 상주할 수도 있다.
개시된 실시형태들의 이전 설명은 당업자가 개시된 실시형태들을 제조하거나 이용하는 것을 가능하게 하도록 제공된다. 이들 실시형태들에 대한 다양한 수정들은 당업자들에게 쉽게 명백할 것이며, 본 명세서에 정의된 원리들은 본 개시물의 범위로부터 벗어남이 없이 다른 실시형태들에 적용될 수도 있다. 따라서, 본 개시물은 본 명세서에 도시된 실시형태들로 제한되도록 의도된 것이 아니라, 다음의 청구항들에 의해 정의된 바와 같은 원리들 및 신규한 피처들과 일치하는 가능한 가장 넓은 범위를 따르도록 하기 위한 것이다.

Claims (30)

  1. 디바이스로서,
    디코더를 포함하고,
    상기 디코더는:
    수신된 입력 신호로부터 제 1 복수의 파라미터들을 추출하도록 구성되는 추출기로서, 상기 입력 신호는 인코딩된 오디오 신호에 대응하는, 상기 추출기;
    상기 입력 신호에서 고대역 정보와는 독립적인 제 2 복수의 파라미터들을 생성함으로써 블라인드 대역폭 확장을 수행하도록 구성되는 예측기로서, 상기 제 2 복수의 파라미터들은 상기 인코딩된 오디오 신호의 고대역 부분에 대응하고, 상기 제 2 복수의 파라미터들은 상기 입력 신호에서 저대역 파라미터들에 대응하는 저대역 파라미터 정보에 기초하여 생성되고, 상기 저대역 파라미터들은 상기 인코딩된 오디오 신호의 저대역 부분과 연관되는, 상기 예측기;
    상기 인코딩된 오디오 신호의 상기 고대역 부분의 재생을 위하여 다수의 고대역 모드들로부터 특정 모드를 선택하도록 구성되는 셀렉터로서, 상기 다수의 고대역 모드들은 상기 제 1 복수의 파라미터들을 이용하는 제 1 모드와 상기 제 2 복수의 파라미터들을 이용하는 제 2 모드를 포함하는, 상기 셀렉터; 및
    선택된 상기 특정 모드에 기초하여 상기 제 1 복수의 파라미터들 또는 상기 제 2 복수의 파라미터들을 출력하도록 구성되는 스위치를 포함하는, 디바이스.
  2. 제 1 항에 있어서,
    상기 입력 신호는 입력 비트 스트림에 대응하고, 상기 추출기는 상기 예측기가 상기 제 2 복수의 파라미터들을 생성하는 것과 동시에, 상기 제 1 복수의 파라미터들을 추출하도록 구성되는, 디바이스.
  3. 제 1 항에 있어서,
    상기 셀렉터는 또한, 제어 입력 신호를 수신하도록 구성되고, 상기 특정 모드는 상기 제어 입력 신호에 기초하여 선택되는, 디바이스.
  4. 제 1 항에 있어서,
    상기 추출기는 상기 입력 신호에서 상기 저대역 파라미터 정보 내에 임베딩된 상기 제 1 복수의 파라미터들을 추출하도록 구성되는, 디바이스.
  5. 제 1 항에 있어서,
    상기 추출기는 상기 입력 신호에서 워터마크를 검출하도록 구성되고, 상기 워터마크는 상기 제 1 복수의 파라미터들을 인코딩하는, 디바이스.
  6. 제 1 항에 있어서,
    상기 추출기는 또한, 상기 제 1 복수의 파라미터들과 연관된 에러 검출 데이터를 추출하도록 구성되는, 디바이스.
  7. 제 6 항에 있어서,
    상기 추출기에 그리고 상기 셀렉터에 커플링되는 에러 검출기를 더 포함하고,
    상기 에러 검출기는:
    상기 에러 검출 데이터를 수신하고; 그리고
    상기 에러 검출 데이터에 기초하여 에러 출력을 생성하도록 구성되고,
    상기 셀렉터는 상기 에러 출력에 적어도 부분적으로 기초하여 상기 특정 모드를 선택하도록 구성되는, 디바이스.
  8. 제 7 항에 있어서,
    상기 제 1 복수의 파라미터들의 신뢰성을 표시하는 타당성 데이터를 생성하도록 구성되는 파라미터 타당성 검사기 (parameter validity checker) 를 더 포함하고,
    상기 타당성 데이터는 상기 제 1 복수의 파라미터들 및 상기 제 2 복수의 파라미터들에 적어도 부분적으로 기초하고,
    상기 셀렉터는 상기 타당성 데이터에 기초하여 상기 특정 모드를 선택하도록 구성되는, 디바이스.
  9. 제 8 항에 있어서,
    상기 셀렉터는 상기 타당성 데이터가 신뢰성 임계값을 만족하고 상기 에러 출력이 에러가 검출되지 않음을 표시한다고 결정하는 것에 응답하여, 상기 제 1 복수의 파라미터들을 이용하는 상기 제 1 모드를 선택하도록 구성되는, 디바이스.
  10. 제 9 항에 있어서,
    상기 셀렉터는 또한, 상기 타당성 데이터가 신뢰성 임계값을 만족하지 않거나 또는 상기 에러 출력이 에러가 검출됨을 표시한다고 결정하는 것에 응답하여, 상기 제 2 복수의 파라미터들을 이용하는 상기 제 2 모드를 선택하도록 구성되는, 디바이스.
  11. 제 9 항에 있어서,
    상기 셀렉터는 또한, 상기 타당성 데이터가 신뢰성 임계값을 만족하지 않거나 또는 상기 에러 출력이 에러가 검출됨을 표시한다고 결정하는 것에 응답하여, 상기 다수의 고대역 모드들 중 제 3 모드를 선택하도록 구성되고, 상기 스위치는 상기 제 3 모드가 선택된다고 결정하는 것에 응답하여, 비-고대역 파라미터들 (no high band parameters) 을 출력하도록 구성되는, 디바이스.
  12. 제 1 항에 있어서,
    상기 디코더는 인핸스드 적응성 멀티-레이트 (enhanced adaptive multi-rate; eAMR) 디코더인, 디바이스.
  13. 제 1 항에 있어서,
    상기 예측기는:
    분석 데이터에 기초하여 상기 제 2 복수의 파라미터들을 생성하기 위해 상기 블라인드 대역폭 확장을 수행하도록 구성되는 블라인드 대역폭 익스텐더; 및
    상기 제 1 복수의 파라미터들에 적어도 부분적으로 기초하여 상기 분석 데이터를 변경하도록 구성되는 튜너를 포함하는, 디바이스.
  14. 제 1 항에 있어서,
    상기 제 1 복수의 파라미터들은 선스펙트럼 주파수들 (line spectral frequencies; LSF), 이득 형상 (gain shape) 또는 이득 프레임 중 적어도 하나를 포함하는, 디바이스.
  15. 제 1 항에 있어서,
    상기 예측기는 예측된 이득 프레임에 기초하여 상기 제 2 복수의 파라미터들을 생성하도록 구성되는, 디바이스.
  16. 제 15 항에 있어서,
    상기 예측기는 또한, 상기 제 1 복수의 파라미터들의 제 1 이득 프레임 및 상기 제 2 복수의 파라미터들의 제 2 이득 프레임의 비에 기초하여 상기 예측된 이득 프레임을 조정하도록 구성되는, 디바이스.
  17. 제 1 항에 있어서,
    상기 예측기는 평균 선스펙트럼 주파수들 (LSF) 에 기초하여 상기 제 2 복수의 파라미터들을 생성하도록 구성되는, 디바이스.
  18. 제 17 항에 있어서,
    상기 예측기는 또한, 상기 제 1 복수의 파라미터들의 제 1 LSF 에 기초하여 상기 평균 LSF 를 조정하도록 구성되는, 디바이스.
  19. 제 1 항에 있어서,
    출력 생성기를 더 포함하고,
    상기 출력 생성기는:
    상기 저대역 파라미터들에 기초하여 출력 저대역 부분을 생성하고;
    상기 특정 모드에 기초하여 출력 고대역 부분을 생성하고; 그리고
    상기 출력 저대역 부분과 상기 출력 고대역 부분을 결합함으로써 출력 신호를 생성하도록 구성되는, 디바이스.
  20. 방법으로서,
    디코더에서, 수신된 입력 신호로부터 제 1 복수의 파라미터들을 추출하는 단계로서, 상기 입력 신호는 인코딩된 오디오 신호에 대응하는, 상기 제 1 복수의 파라미터들을 추출하는 단계;
    상기 디코더에서, 상기 입력 신호에서 고대역 정보와는 독립적인 제 2 복수의 파라미터들을 생성함으로써 블라인드 대역폭 확장을 수행하는 단계로서, 상기 제 2 복수의 파라미터들은 상기 인코딩된 오디오 신호의 고대역 부분에 대응하고, 상기 제 2 복수의 파라미터들은 상기 입력 신호에서 저대역 파라미터들에 대응하는 저대역 파라미터 정보에 기초하여 생성되고, 상기 저대역 파라미터들은 상기 인코딩된 오디오 신호의 저대역 부분과 연관되는, 상기 블라인드 대역폭 확장을 수행하는 단계;
    상기 디코더에서, 상기 인코딩된 오디오 신호의 상기 고대역 부분의 재생을 위하여 다수의 고대역 모드들로부터 특정 모드를 선택하는 단계로서, 상기 다수의 고대역 모드들은 상기 제 1 복수의 파라미터들을 이용하는 제 1 모드와 상기 제 2 복수의 파라미터들을 이용하는 제 2 모드를 포함하는, 상기 특정 모드를 선택하는 단계; 및
    상기 특정 모드의 선택에 응답하여 상기 디코더의 출력 생성기에 상기 제 1 복수의 파라미터들 또는 상기 제 2 복수의 파라미터들을 전송하는 단계를 포함하는, 방법.
  21. 제 20 항에 있어서
    상기 제 2 복수의 파라미터들은 상기 제 1 복수의 파라미터들과 연관된 에러를 검출하는 것에 응답하여 선택되는, 방법.
  22. 제 21 항에 있어서,
    상기 에러는 상기 제 1 복수의 파라미터들과 연관된 주기적 리던던시 체크 (cyclic redundancy check; CRC) 가 무효 데이터를 표시한다고 결정하는 것에 응답하여 검출되는, 방법.
  23. 제 20 항에 있어서
    상기 디코더는 인핸스드 적응성 멀티-레이트 (eAMR) 디코더인, 디바이스.
  24. 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 동작들을 수행하게 하는 명령들을 저장한 컴퓨터 판독가능 저장 디바이스로서,
    상기 동작들은:
    수신된 입력 신호로부터 제 1 복수의 파라미터들을 추출하는 것으로서, 상기 입력 신호는 인코딩된 오디오 신호에 대응하는, 상기 제 1 복수의 파라미터들을 추출하는 것;
    상기 입력 신호에서 고대역 정보와는 독립적인 제 2 복수의 파라미터들을 생성함으로써 블라인드 대역폭 확장을 수행하는 것으로서, 상기 제 2 복수의 파라미터들은 상기 인코딩된 오디오 신호의 고대역 부분에 대응하고, 상기 제 2 복수의 파라미터들은 상기 입력 신호에서 저대역 파라미터들에 대응하는 저대역 파라미터 정보에 기초하여 생성되고, 상기 저대역 파라미터들은 상기 인코딩된 오디오 신호의 저대역 부분과 연관되는, 상기 블라인드 대역폭 확장을 수행하는 것;
    상기 인코딩된 오디오 신호의 상기 고대역 부분의 재생을 위하여 다수의 고대역 모드들로부터 특정 모드를 선택하는 것으로서, 상기 다수의 고대역 모드들은 상기 제 1 복수의 파라미터들을 이용하는 제 1 모드와 상기 제 2 복수의 파라미터들을 이용하는 제 2 모드를 포함하는, 상기 특정 모드를 선택하는 것; 및
    선택된 상기 특정 모드에 기초하여 상기 제 1 복수의 파라미터들 또는 상기 제 2 복수의 파라미터들을 출력하는 것을 포함하는, 명령들을 저장한 컴퓨터 판독가능 저장 디바이스.
  25. 제 24 항에 있어서,
    상기 동작들은:
    상기 저대역 파라미터들에 기초하여 출력 저대역 부분을 생성하는 것;
    상기 특정 모드가 상기 제 1 모드 또는 상기 제 2 모드라고 결정하는 것에 응답하여:
    상기 특정 모드에 기초하여 출력 고대역 부분을 생성하는 것; 및
    상기 출력 저대역 부분과 상기 출력 고대역 부분을 결합함으로써 출력 신호를 생성하는 것, 그리고
    상기 특정 모드가 상기 다수의 고대역 모드들 중 제 3 모드에 있다고 결정하는 것에 응답하여:
    상기 출력 고대역 부분을 생성하는 것을 보류하는 것;
    상기 출력 저대역 부분에 기초하여 상기 출력 신호를 생성하는 것을 더 포함하는, 명령들을 저장한 컴퓨터 판독가능 저장 디바이스.
  26. 제 25 항에 있어서,
    상기 동작들은 상기 제 1 복수의 파라미터들과 연관된 에러 레이트가 임계 에러 레이트보다 더 크다고 결정하는 것에 응답하여 상기 제 3 모드를 선택하는 것을 더 포함하는, 명령들을 저장한 컴퓨터 판독가능 저장 디바이스.
  27. 제 25 항에 있어서,
    상기 동작들은 상기 제 1 복수의 파라미터들과 상기 제 2 복수의 파라미터들 사이의 차이가 특정 임계값보다 더 크다고 결정하는 것에 응답하여 상기 제 3 모드를 선택하는 것을 더 포함하는, 명령들을 저장한 컴퓨터 판독가능 저장 디바이스.
  28. 제 24 항에 있어서,
    상기 프로세서는 인핸스드 적응성 멀티-레이트 (eAMR) 디코더에 통합되는, 명령들을 저장한 컴퓨터 판독가능 저장 디바이스.
  29. 장치로서,
    수신된 입력 신호로부터 제 1 복수의 파라미터들을 추출하기 위한 수단으로서, 상기 입력 신호는 인코딩된 오디오 신호에 대응하는, 상기 제 1 복수의 파라미터들을 추출하기 위한 수단;
    상기 입력 신호에서 고대역 정보와는 독립적인 제 2 복수의 파라미터들을 생성함으로써 블라인드 대역폭 확장을 수행하기 위한 수단으로서, 상기 제 2 복수의 파라미터들은 상기 인코딩된 오디오 신호의 고대역 부분에 대응하고, 상기 제 2 복수의 파라미터들은 상기 입력 신호에서 저대역 파라미터들에 대응하는 저대역 파라미터 정보에 기초하여 생성되고, 상기 저대역 파라미터들은 상기 인코딩된 오디오 신호의 저대역 부분과 연관되는, 상기 블라인드 대역폭 확장을 수행하기 위한 수단;
    상기 인코딩된 오디오 신호의 상기 고대역 부분의 재생을 위하여 다수의 고대역 모드들로부터 특정 모드를 선택하기 위한 수단으로서, 상기 다수의 고대역 모드들은 상기 제 1 복수의 파라미터들을 이용하는 제 1 모드와 상기 제 2 복수의 파라미터들을 이용하는 제 2 모드를 포함하는, 상기 특정 모드를 선택하기 위한 수단; 및
    선택된 상기 특정 모드에 기초하여 상기 제 1 복수의 파라미터들 또는 상기 제 2 복수의 파라미터들을 출력하기 위한 수단을 포함하는, 장치.
  30. 제 29 항에 있어서,
    상기 추출하기 위한 수단, 상기 생성하기 위한 수단, 상기 선택하기 위한 수단, 및 상기 출력하기 위한 수단은 디코더, 셋톱 박스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 네비게이션 디바이스, 통신 디바이스, 개인 휴대 정보 단말기 (PDA), 고정된 로케이션 데이터 유닛, 또는 컴퓨터 내에 통합되는, 장치.
KR1020167017467A 2013-12-11 2014-12-05 대역폭 확장 모드 선택 KR20160096119A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361914845P 2013-12-11 2013-12-11
US61/914,845 2013-12-11
US14/270,963 US9293143B2 (en) 2013-12-11 2014-05-06 Bandwidth extension mode selection
US14/270,963 2014-05-06
PCT/US2014/068908 WO2015088919A1 (en) 2013-12-11 2014-12-05 Bandwidth extension mode selection

Publications (1)

Publication Number Publication Date
KR20160096119A true KR20160096119A (ko) 2016-08-12

Family

ID=53271812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167017467A KR20160096119A (ko) 2013-12-11 2014-12-05 대역폭 확장 모드 선택

Country Status (6)

Country Link
US (1) US9293143B2 (ko)
EP (1) EP3080804A1 (ko)
JP (1) JP2017503192A (ko)
KR (1) KR20160096119A (ko)
CN (1) CN105814629A (ko)
WO (1) WO2015088919A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6001814B1 (ja) * 2013-08-28 2016-10-05 ドルビー ラボラトリーズ ライセンシング コーポレイション ハイブリッドの波形符号化およびパラメトリック符号化発話向上
US9837094B2 (en) 2015-08-18 2017-12-05 Qualcomm Incorporated Signal re-use during bandwidth transition period
US10362423B2 (en) * 2016-10-13 2019-07-23 Qualcomm Incorporated Parametric audio decoding
EP3559849B1 (en) * 2016-12-22 2020-09-02 Assa Abloy AB Mobile credential with online/offline delivery
US11906642B2 (en) * 2018-09-28 2024-02-20 Silicon Laboratories Inc. Systems and methods for modifying information of audio data based on one or more radio frequency (RF) signal reception and/or transmission characteristics
MX2021007257A (es) * 2018-12-17 2021-08-16 Idac Holdings Inc Dise?o de se?al asociado con suministro simultaneo de energia e informacion.
WO2021087734A1 (zh) * 2019-11-05 2021-05-14 海能达通信股份有限公司 宽窄带互通环境下语音通讯方法及系统
US11985179B1 (en) * 2020-11-23 2024-05-14 Amazon Technologies, Inc. Speech signal bandwidth extension using cascaded neural networks
WO2023147650A1 (en) * 2022-02-03 2023-08-10 Voiceage Corporation Time-domain superwideband bandwidth expansion for cross-talk scenarios

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205130B1 (en) 1996-09-25 2001-03-20 Qualcomm Incorporated Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters
SE0004163D0 (sv) * 2000-11-14 2000-11-14 Coding Technologies Sweden Ab Enhancing perceptual performance of high frequency reconstruction coding methods by adaptive filtering
EP1440433B1 (en) * 2001-11-02 2005-05-04 Matsushita Electric Industrial Co., Ltd. Audio encoding and decoding device
EP1634278B1 (en) * 2003-06-17 2011-03-23 Panasonic Corporation Receiving apparatus, sending apparatus and transmission system
CA2457988A1 (en) 2004-02-18 2005-08-18 Voiceage Corporation Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization
ATE429698T1 (de) * 2004-09-17 2009-05-15 Harman Becker Automotive Sys Bandbreitenerweiterung von bandbegrenzten tonsignalen
ES2358125T3 (es) * 2005-04-01 2011-05-05 Qualcomm Incorporated Procedimiento y aparato para un filtrado de antidispersión de una señal ensanchada de excitación de predicción de velocidad de ancho de banda.
US8032369B2 (en) 2006-01-20 2011-10-04 Qualcomm Incorporated Arbitrary average data rates for variable rate coders
BRPI0818927A2 (pt) 2007-11-02 2015-06-16 Huawei Tech Co Ltd Método e aparelho para a decodificação de áudio
ES2396927T3 (es) 2008-07-11 2013-03-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparato y procedimiento para decodificar una señal de audio codificada
US8630685B2 (en) 2008-07-16 2014-01-14 Qualcomm Incorporated Method and apparatus for providing sidetone feedback notification to a user of a communication device with multiple microphones
WO2011128399A1 (en) * 2010-04-16 2011-10-20 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E. V. Apparatus, method and computer program for generating a wideband signal using guided bandwidth extension and blind bandwidth extension
US8880404B2 (en) 2011-02-07 2014-11-04 Qualcomm Incorporated Devices for adaptively encoding and decoding a watermarked signal
US9767822B2 (en) * 2011-02-07 2017-09-19 Qualcomm Incorporated Devices for encoding and decoding a watermarked signal
US9767823B2 (en) 2011-02-07 2017-09-19 Qualcomm Incorporated Devices for encoding and detecting a watermarked signal
EP2673771B1 (en) 2011-02-09 2016-06-01 Telefonaktiebolaget LM Ericsson (publ) Efficient encoding/decoding of audio signals

Also Published As

Publication number Publication date
US20150162008A1 (en) 2015-06-11
WO2015088919A1 (en) 2015-06-18
JP2017503192A (ja) 2017-01-26
CN105814629A (zh) 2016-07-27
US9293143B2 (en) 2016-03-22
EP3080804A1 (en) 2016-10-19

Similar Documents

Publication Publication Date Title
US9293143B2 (en) Bandwidth extension mode selection
US10297263B2 (en) High band excitation signal generation
CN107851441B (zh) 用于对输入音频信号进行编码的方法和设备
TWI630602B (zh) 在頻寬轉換週期期間之信號再使用
TW201606758A (zh) 基於高頻帶信號特徵之時間增益調整
AU2013377884A1 (en) Systems and methods of performing gain control
EP3127112B1 (en) Apparatus and methods of switching coding technologies at a device
KR20180011861A (ko) 다수의 서브-대역들을 사용한 고-대역 신호 코딩

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination