KR102047596B1 - 오디오 대역폭 선택 - Google Patents

오디오 대역폭 선택 Download PDF

Info

Publication number
KR102047596B1
KR102047596B1 KR1020177028193A KR20177028193A KR102047596B1 KR 102047596 B1 KR102047596 B1 KR 102047596B1 KR 1020177028193 A KR1020177028193 A KR 1020177028193A KR 20177028193 A KR20177028193 A KR 20177028193A KR 102047596 B1 KR102047596 B1 KR 102047596B1
Authority
KR
South Korea
Prior art keywords
audio
mode
frame
decoder
determining
Prior art date
Application number
KR1020177028193A
Other languages
English (en)
Other versions
KR20170134461A (ko
Inventor
벤카트라만 에스 아티
벤카타 수브라마니암 찬드라 세카르 체비얌
비베크 라젠드란
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Priority to KR1020197033630A priority Critical patent/KR102308579B1/ko
Publication of KR20170134461A publication Critical patent/KR20170134461A/ko
Application granted granted Critical
Publication of KR102047596B1 publication Critical patent/KR102047596B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • 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/26Pre-filtering or post-filtering
    • 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/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • 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/0316Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Telephone Function (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

디바이스는 오디오 스트림의 오디오 프레임을 수신하도록 구성된 수신기를 포함한다. 디바이스는 또한, 오디오 프레임과 연관된 제 1 디코딩된 스피치를 생성하고 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 카운트를 결정하도록 구성된 디코더를 포함한다. 디코더는 제 1 디코딩된 스피치에 기초하여 제 2 디코딩된 스피치를 출력하도록 추가로 구성된다. 제 2 디코딩된 스피치는 디코더의 출력 모드에 따라 생성될 수도 있다. 출력 모드는 오디오 프레임들의 카운트에 적어도 부분적으로 기초하여 선택될 수도 있다.

Description

오디오 대역폭 선택{AUDIO BANDWIDTH SELECTION}
관련 출원들에 대한 상호 참조
본 출원은, 참조로 그 전체적으로 본원에 명백히 편입되는, 2016 년 3 월 29 일자로 출원된 "AUDIO BANDWIDTH SELECTION (오디오 대역폭 선택)" 이라는 명칭의 미국 특허 출원 제 15/083,717 호, 및 2015 년 4 월 5 일자로 출원된 "AUDIO BANDWIDTH SELECTION" 이라는 명칭의 미국 특허 가출원 제 62/143,158 호의 이익을 주장한다.
본 개시물은 일반적으로 오디오 대역폭 선택에 관련된다.
디바이스들 사이의 오디오 컨텐츠의 송신은 하나 이상의 주파수 범위들을 이용하여 발생할 수도 있다. 오디오 컨텐츠는 인코더 대역폭보다 더 작고 디코더 대역폭보다 더 작은 대역폭을 가질 수도 있다. 오디오 컨텐츠를 인코딩하고 디코딩한 후, 디코딩된 오디오 컨텐츠는 디코딩된 오디오 컨텐츠의 품질에 부정적으로 영향을 줄 수도 있는 원래의 오디오 컨텐츠의 대역폭을 초과하는 주파수 대역으로의 스펙트럼 에너지 누설을 포함할 수도 있다. 예를 들어, 협대역 컨텐츠 (예컨대, 0 내지 4 킬로헤르쯔 (kHz) 의 제 1 주파수 범위 내의 오디오 컨텐츠) 는 0 내지 8 kHz 의 제 2 주파수 범위 내에서 동작하는 광대역 코더를 이용하여 인코딩될 수도 있고 디코딩될 수도 있다. 협대역 컨텐츠가 광대역 코더를 이용하여 인코딩/디코딩될 때, 광대역 코더의 출력은 원래의 협대역 신호의 대역폭을 초과하는 주파수 대역들에서의 스펙트럼 에너지 누설을 포함할 수도 있다. 잡음은 원래의 협대역 컨텐츠의 오디오 품질을 열화시킬 수도 있다. 열화된 오디오 품질은, 협대역 컨텐츠를 출력하는 이동 디바이스의 음성 프로세싱 체인에서 구현될 수도 있는, 비-선형 전력 증폭에 의해 또는 동적 범위 압축에 의해 확대될 수도 있다.
특정한 양태에서, 디바이스는 오디오 스트림의 오디오 프레임을 수신하도록 구성된 수신기를 포함한다. 디바이스는 또한, 오디오 프레임과 연관된 제 1 디코딩된 스피치 (speech) 를 생성하고 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 카운트를 결정하도록 구성된 디코더를 포함한다. 디코더는 제 1 디코딩된 스피치에 기초하여 제 2 디코딩된 스피치를 출력하도록 추가로 구성된다. 제 2 디코딩된 스피치는 디코더의 출력 모드에 따라 생성될 수도 있다. 출력 모드는 오디오 프레임들의 카운트에 적어도 부분적으로 기초하여 선택될 수도 있다.
또 다른 특정한 양태에서, 방법은 디코더에서, 오디오 스트림의 오디오 프레임과 연관된 제 1 디코딩된 스피치를 생성하는 단계를 포함한다. 방법은 또한, 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 수에 적어도 부분적으로 기초하여 디코더의 출력 모드를 결정하는 단계를 포함한다. 방법은 제 1 디코딩된 스피치에 기초하여 제 2 디코딩된 스피치를 출력하는 단계를 더 포함한다. 제 2 디코딩된 스피치는 출력 모드에 따라 생성될 수도 있다.
또 다른 특정한 양태에서, 방법은 디코더에서 오디오 스트림의 다수의 오디오 프레임들을 수신하는 단계를 포함한다. 방법은 디코더에서, 제 1 오디오 프레임을 수신하는 것에 응답하여 대역 제한된 컨텐츠와 연관되는 다수의 오디오 프레임들의 오디오 프레임들의 상대적인 카운트에 대응하는 메트릭 (metric) 을 결정하는 단계를 더 포함한다. 방법은 또한, 디코더의 출력 모드에 기초하여 임계치를 선택하는 단계, 및 임계치와의 메트릭의 비교에 기초하여 출력 모드를 제 1 모드로부터 제 2 모드로 업데이트하는 단계를 포함한다.
또 다른 특정한 양태에서, 방법은 디코더에서 오디오 스트림의 제 1 오디오 프레임을 수신하는 단계를 포함한다. 방법은 또한, 디코더에서 수신되며 광대역 컨텐츠와 연관되는 것으로서 분류되는, 제 1 오디오 프레임을 포함하는 연속 오디오 프레임들의 수를 결정하는 단계를 포함한다. 방법은 연속 오디오 프레임들의 수가 임계치 이상인 것에 응답하여 제 1 오디오 프레임과 연관된 출력 모드를 광대역 모드인 것으로 결정하는 단계를 더 포함한다.
또 다른 특정한 양태에서, 장치는 오디오 스트림의 오디오 프레임과 연관된 제 1 디코딩된 스피치를 생성하기 위한 수단을 포함한다. 장치는 또한, 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 수에 적어도 부분적으로 기초하여 디코더의 출력 모드를 결정하기 위한 수단을 포함한다. 장치는 제 1 디코딩된 스피치에 기초하여 제 2 디코딩된 스피치를 출력하기 위한 수단을 더 포함한다. 제 2 디코딩된 스피치는 출력 모드에 따라 생성될 수도 있다.
또 다른 특정한 양태에서, 컴퓨터-판독가능 저장 디바이스는, 프로세서에 의해 실행될 경우, 프로세서로 하여금, 오디오 스트림의 오디오 프레임과 연관된 제 1 디코딩된 스피치를 생성하는 것과, 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 카운트에 적어도 부분적으로 기초하여 디코더의 출력 모드를 결정하는 것을 포함하는 동작들을 수행하게 하는 명령들을 저장한다. 동작들은 또한, 제 1 디코딩된 스피치에 기초하여 제 2 디코딩된 스피치를 출력하는 것을 포함한다. 제 2 디코딩된 스피치는 출력 모드에 따라 생성될 수도 있다.
본 개시물의 다른 양태들, 장점들, 및 특징들은 다음의 섹션들: 도면들의 간단한 설명, 상세한 설명, 및 청구항들을 포함하는 출원의 검토 후에 명백해질 것이다.
도 1 은 디코더를 포함하며 오디오 프레임들에 기초하여 출력 모드를 선택하도록 동작가능한 시스템의 예의 블록도이고;
도 2 는 대역폭에 기초한 오디오 프레임의 분류의 예를 예시하는 그래프들을 포함하고;
도 3 은 도 1 의 디코더의 동작의 양태들을 예시하기 위한 표들을 포함하고;
도 4 는 도 1 의 디코더의 동작의 양태들을 예시하기 위한 표들을 포함하고;
도 5 는 디코더를 동작시키는 방법의 예를 예시하는 플로우차트이고;
도 6 은 오디오 프레임을 분류하는 방법의 예를 예시하는 플로우차트이고;
도 7 은 디코더를 동작시키는 방법의 또 다른 예를 예시하는 플로우차트이고;
도 8 은 디코더를 동작시키는 방법의 또 다른 예를 예시하는 플로우차트이고;
도 9 는 대역 제한된 컨텐츠를 검출하도록 동작가능한 디바이스의 특정한 예시적인 예의 블록도이고; 그리고
도 10 은 인코더를 선택하도록 동작가능한 기지국의 특정한 예시적인 양태의 블록도이다.
본 개시물의 특정한 양태들은 도면들을 참조하여 이하에서 설명된다. 설명에서, 공통적인 특징들은 공통적인 참조 번호들에 의해 지시된다. 본원에서 이용된 바와 같이, 다양한 용어는 특정한 구현예들을 오직 설명할 목적을 위하여 이용되고, 구현예들의 제한이 되도록 의도된 것은 아니다. 예를 들어, 단수 형태들 "a", "an", 및 "the" 는 문맥이 명확하게 이와 다르게 표시하지 않으면, 복수 형태들을 마찬가지로 포함하도록 의도된다. 용어들 "포함한다 (comprises)" 및 "포함하는 (comprising)" 은 "포함한다 (includes)" 또는 "포함하는 (including)" 과 상호 교환가능하게 이용될 수도 있다는 것이 추가로 이해될 수도 있다. 추가적으로, 용어 "여기서 (wherein)" 는 "여기서 (where)" 와 상호 교환가능하게 이용될 수도 있다는 것이 이해될 것이다. 본원에서 이용된 바와 같이, 구조, 컴포넌트, 동작 등과 같은 엘리먼트를 수정하기 위하여 이용된 서수 용어 (예컨대, "제 1 (first)", "제 2 (second), "제 3 (third)" 등) 는 또 다른 엘리먼트에 대한 엘리먼트의 임의의 우선순위 또는 순서를 자체적으로 표시하는 것이 아니라, 오히려, 동일한 명칭을 가지는 (그러나, 서수 용어의 이용을 위한) 또 다른 엘리먼트로부터 엘리먼트를 단지 구별한다. 본원에서 이용된 바와 같이, 용어 "세트 (set)" 는 특정한 엘리먼트 중의 하나 이상을 지칭하고, 용어 "복수 (plurality)" 는 특정한 엘리먼트의 다수 (예컨대, 2 개 이상) 를 지칭한다.
본 개시물에서, 디코더에서 수신된 오디오 패킷들 (예컨대, 인코딩된 오디오 프레임들) 은 광대역 주파수 범위와 같은 주파수 범위와 연관된 디코딩된 스피치를 생성하기 위하여 디코딩될 수도 있다. 디코더는 디코딩된 스피치가 주파수 범위의 제 1 서브-범위 (sub-range) (예컨대, 저대역) 와 연관된 대역 제한된 컨텐츠를 포함하는지 여부를 검출할 수도 있다. 디코딩된 스피치가 대역 제한된 컨텐츠를 포함할 경우, 디코더는 주파수 범위의 제 2 서브 범위 (예컨대, 고대역) 와 연관된 오디오 컨텐츠를 제거하기 위하여 디코딩된 스피치를 추가로 프로세싱할 수도 있다. 고대역과 연관된 오디오 컨텐츠 (예컨대, 스펙트럼 에너지 누설) 를 제거함으로써, 디코더는 (예컨대, 광대역 주파수 범위 상에서) 더 큰 대역폭을 가지기 위하여 오디오 패킷들을 초기에 디코딩함에도 불구하고, 대역 제한된 (예컨대, 협대역) 스피치를 출력할 수도 있다. 추가적으로, 고대역과 연관된 오디오 컨텐츠 (예컨대, 스펙트럼 에너지 누설) 를 제거함으로써, 대역 제한된 컨텐츠를 인코딩하고 디코딩한 후의 오디오 품질은 (예컨대, 입력 신호 대역폭 상에서 스펙트럼 누설을 감쇠시킴으로써) 개선될 수도 있다.
예시하자면, 디코더에서 수신된 각각의 오디오 프레임에 대하여, 디코더는 오디오 프레임을 광대역 컨텐츠 또는 협대역 컨텐츠 (예컨대, 협대역 대역 제한된 컨텐츠) 와 연관되는 것으로서 분류할 수도 있다. 예를 들어, 특정한 오디오 프레임에 대하여, 디코더는 저대역과 연관된 제 1 에너지 값을 결정할 수도 있고, 고대역과 연관된 제 2 에너지 값을 결정할 수도 있다. 일부 구현예들에서, 제 1 에너지 값은 저대역의 평균 에너지 값과 연관될 수도 있고, 제 2 에너지 값은 고대역의 피크 에너지 값과 연관될 수도 있다. 제 1 에너지 값 및 제 2 에너지 값의 비율이 임계치 (예컨대, 512) 보다 더 클 경우, 특정한 프레임은 대역 제한된 컨텐츠와 연관된 것으로서 분류될 수도 있다. 데시벨 (dB) 도메인에서, 이 비율은 차이로서 해독될 수 있다. (예컨대, (제 1 에너지)/(제 2 에너지) > 512 는 10*log10(제 1 에너지/제 2 에너지) = 10*log10(제 1 에너지) - 10*log10(제 2 에너지) > 27.097 dB 와 동등함).
디코더의 출력 스피치 모드 (예컨대, 광대역 모드 또는 대역 제한된 모드) 와 같은 출력 모드는 다수의 오디오 프레임들의 분류자 (classifier) 들에 기초하여 선택될 수도 있다. 예를 들어, 출력 모드는 디코더의 합성기의 합성 모드와 같은, 디코더의 합성기의 동작 모드에 대응할 수도 있다. 출력 모드를 선택하기 위하여, 디코더는 최근에 수신된 오디오 프레임들의 그룹을 식별할 수도 있고, 대역 제한된 컨텐츠와 연관된 것으로서 분류된 프레임들의 수를 결정할 수도 있다. 출력 모드가 광대역 모드로 설정될 경우, 대역 제한된 컨텐츠를 가지는 것으로서 분류된 프레임들의 수는 특정한 임계치와 비교될 수도 있다. 출력 모드는 대역 제한된 컨텐츠와 연관된 프레임들의 수가 특정한 임계치 이상일 경우에, 광대역 모드로부터 대역 제한된 모드로 변경될 수도 있다. 출력 모드가 대역 제한된 모드 (예컨대, 협대역 모드) 로 설정될 경우, 대역 제한된 컨텐츠를 가지는 것으로서 분류된 프레임들의 수는 제 2 임계치와 비교될 수도 있다. 제 2 임계치는 특정한 임계치보다 더 낮은 값일 수도 있다. 출력 모드는 프레임들의 수가 제 2 임계치 이하일 경우에, 대역 제한된 모드로부터 광대역 모드로 변경될 수도 있다. 출력 모드에 기초하여 상이한 임계치들을 이용함으로써, 디코더는 상이한 출력 모드들 사이에서 빈번하게 스위칭하는 것을 회피하는 것을 도울 수도 있는 히스테리시스 (hysteresis) 를 제공할 수도 있다. 예를 들어, 단일 임계치가 구현되었을 경우, 출력 모드는 프레임들의 수가 단일 임계치 이상인 것과 단일 임계치 미만인 것 사이에서 프레임-대-프레임에 기초하여 전후로 발진할 때에, 광대역 모드와 대역 제한된 모드 사이에서 빈번하게 스위칭할 것이다.
추가적으로 또는 대안적으로, 디코더가 광대역 오디오 프레임들로서 분류되는 특정한 수의 연속 오디오 프레임들을 수신하는 것에 응답하여, 출력 모드는 대역 제한된 모드로부터 광대역 모드로 변경될 수도 있다. 예를 들어, 디코더는 광대역 프레임들로서 분류된 특정한 수의 연속으로 수신된 오디오 프레임들을 검출하기 위하여 수신된 오디오 프레임들을 모니터링할 수도 있다. 출력 모드가 대역 제한된 모드 (예컨대, 협대역 모드) 이고, 연속으로 수신된 오디오 프레임들의 특정한 수가 임계치 값 (예컨대, 20) 이상일 경우, 디코더는 출력 모드를 대역 제한된 모드로부터 광대역 모드로 전이 (transition) 시킬 수도 있다. 대역 제한된 출력 모드로부터 광대역 출력 모드로 전이시킴으로써, 디코더는 디코더가 대역 제한된 출력 모드에서 유지되었을 경우에 이와 다르게 억압되었을 광대역 컨텐츠를 제공할 수도 있다.
개시된 양태들 중의 적어도 하나에 의해 제공된 하나의 특정한 장점은, 광대역 주파수 범위 상에서 오디오 프레임들을 디코딩하도록 구성된 디코더가 협대역 주파수 범위 상에서 대역 제한된 컨텐츠를 선택적으로 출력할 수도 있다는 것이다. 예를 들어, 디코더는 고대역 주파수의 스펙트럼 에너지 누설을 제거함으로써 대역 제한된 컨텐츠를 선택적으로 출력할 수도 있다. 스펙트럼 에너지 누설을 제거하는 것은, 스펙트럼 에너지 누설이 제거되지 않을 경우에 이와 다르게 경험하였을 대역 제한된 컨텐츠의 오디오 품질의 열화를 감소시킬 수도 있다. 추가적으로, 디코더는 출력 모드를 광대역 모드로부터 대역 제한된 모드로 언제 스위칭할 것인지와, 대역 제한된 모드로부터 광대역 모드로 언제 스위칭할 것인지를 결정하기 위하여, 상이한 임계치들을 이용할 수도 있다. 상이한 임계치들을 이용함으로써, 디코더는 짧은 시간의 주기들 동안에 다수의 모드들 사이에서 반복적으로 전이하는 것을 회피할 수도 있다. 추가적으로, 광대역 프레임들로서 분류된 특정한 수의 연속으로 수신된 오디오 프레임들을 검출하기 위하여 수신된 오디오 프레임들을 모니터링함으로써, 디코더는 디코더가 대역 제한된 모드에서 유지되었을 경우에 이와 다르게 억압되었을 광대역 컨텐츠를 제공하기 위하여 대역 제한된 모드로부터 광대역 모드로 신속하게 전이할 수도 있다.
도 1 을 참조하면, 대역 제한된 컨텐츠를 검출하도록 동작가능한 시스템의 특정한 예시적인 양태가 개시되고, 전반적으로 100 으로 지시된다. 시스템 (100) 은 제 1 디바이스 (102) (예컨대, 소스 디바이스) 및 제 2 디바이스 (120) (예컨대, 목적지 디바이스) 를 포함할 수도 있다. 제 1 디바이스 (102) 는 인코더 (104) 를 포함할 수도 있고, 제 2 디바이스 (120) 는 디코더 (122) 를 포함할 수도 있다. 제 1 디바이스 (102) 는 네트워크 (도시되지 않음) 를 통해 제 2 디바이스 (120) 와 통신할 수도 있다. 예를 들어, 제 1 디바이스 (102) 는 오디오 프레임 (112) (예컨대, 인코딩된 오디오 데이터) 와 같은 오디오 데이터를 제 2 디바이스 (120) 로 송신하도록 구성될 수도 있다. 추가적으로 또는 대안적으로, 제 2 디바이스 (120) 는 오디오 데이터를 제 1 디바이스 (102) 로 송신하도록 구성될 수도 있다.
제 1 디바이스 (102) 는 입력 오디오 데이터 (110) (예컨대, 스피치 데이터) 를 인코딩하기 위하여 인코더 (104) 를 이용하도록 구성될 수도 있다. 예를 들어, 인코더 (104) 는 오디오 프레임 (112) 을 생성하기 위하여 입력 오디오 데이터 (110) (예컨대, 원격 마이크로폰 또는 제 1 디바이스 (102) 에 로컬인 마이크로폰을 통해 무선으로 수신된 스피치 데이터) 를 인코딩하도록 구성될 수도 있다. 인코더 (104) 는 하나 이상의 파라미터들을 추출하기 위하여 입력 오디오 데이터 (110) 를 분석할 수도 있고, 파라미터들을 2진 표현으로, 예컨대, 오디오 프레임 (112) 과 같은, 비트들의 세트 또는 2진 데이터 패킷으로 양자화할 수도 있다. 예시하자면, 인코더 (104) 는 프레임들을 생성하기 위하여 스피치 신호를 시간의 블록들로 압축하거나, 분할하거나, 또는 양자 모두를 행하도록 구성될 수도 있다. 시간의 각각의 블록의 기간 (또는 "프레임") 은 신호의 스펙트럼 포락선 (spectral envelope) 이 상대적으로 정지된 것으로 유지되도록 예상될 수도 있을 정도로 충분히 짧도록 선택될 수도 있다. 일부 구현예들에서, 제 1 디바이스 (102) 는, 스피치 컨텐츠를 인코딩하도록 구성되는 인코더 (104) 및 비-스피치 컨텐츠 (예컨대, 음악 컨텐츠) 를 인코딩하도록 구성되는 또 다른 인코더 (도시되지 않음) 와 같은 다수의 인코더들을 포함할 수도 있다.
인코더 (104) 는 입력 오디오 데이터 (110) 를 샘플링 레이트 (Fs) 에서 샘플링하도록 구성될 수도 있다. 헤르쯔 (Hz) 인 샘플링 레이트 (Fs) 는 입력 오디오 데이터 (100) 의 초 당 샘플들의 수이다. 입력 오디오 데이터 (110) (예컨대, 입력 컨텐츠) 의 신호 대역폭은 이론적으로, [0, (Fs/2)] 의 범위와 같은, 제로 (0) 와 샘플링 레이트의 1/2 (Fs/2) 사이일 수도 있다. 신호 대역폭이 Fs/2 미만일 경우, 입력 신호 (예컨대, 입력 오디오 데이터 (110)) 는 대역 제한된 것으로서 지칭될 수도 있다. 추가적으로, 대역 제한된 신호의 컨텐츠는 대역 제한된 컨텐츠로서 지칭될 수도 있다.
코딩된 대역폭은 오디오 코더 (CODEC) 가 코딩하는 주파수 범위를 표시할 수도 있다. 일부 구현예들에서, 오디오 코더 (CODEC) 는 인코더 (104) 와 같은 인코더, 디코더 (122) 와 같은 디코더, 또는 양자 모두를 포함할 수도 있다. 본원에서 설명된 바와 같이, 시스템 (100) 의 예들은 디코딩된 스피치의 샘플링 레이트를, 8 kHz 가 가능한 신호 대역폭을 가능하게 하는 16 킬로헤르쯔 (kHz) 로서 이용하여 제공된다. 8 kHz 의 대역폭은 광대역 ("WB") 에 대응할 수도 있다. 4 kHz 의 코딩된 대역폭은 협대역 ("NB") 에 대응할 수도 있고, 0 내지 4 kHz 의 범위 내의 정보가 코딩되고 0 내지 4 kHz 의 범위 외부의 다른 정보는 폐기된다는 것을 표시할 수도 있다.
일부 양태들에서, 인코더 (104) 는 입력 오디오 데이터 (110) 의 신호 대역폭과 동일한 인코딩된 대역폭을 제공할 수도 있다. 코딩된 대역폭이 신호 대역폭 (예컨대, 입력 신호 대역폭) 보다 더 클 경우, 데이터가 입력 오디오 데이터 (110) 가 신호 정보를 포함하지 않는 주파수 범위들의 컨텐츠를 인코딩하기 위하여 이용되는 것으로 인해, 신호 인코딩 및 송신은 감소된 효율을 가질 수도 있다. 추가적으로, 코딩된 대역폭이 신호 대역폭보다 더 클 경우, 대수 코드-여기된 선형 예측 (algebraic code-excited linear prediction; ACELP) 코더와 같은 시간-도메인 코더가 이용되는 경우들에는, 에너지 누설이 입력 신호가 에너지를 가지지 않는 신호 대역폭을 초과하는 주파수들의 영역으로 발생할 수도 있다. 스펙트럼 에너지 누설은 코딩된 신호와 연관된 신호 품질에 불리할 수도 있다. 대안적으로, 코딩된 대역폭이 입력 신호 대역폭 미만일 경우, 코더는 입력 신호 내에 포함된 정보의 전체를 송신하지 않을 수도 있다 (예컨대, Fs/2 를 초과하는 주파수들에서의 입력 신호 내에 포함된 정보가 코딩된 신호에서 생략될 수도 있음). 입력 신호의 정보의 전체보다 더 적은 것을 송신하는 것은 디코딩된 스피치의 명료도 (intelligibility) 및 활동도 (liveliness) 를 감소시킬 수도 있다.
일부 구현예들에서, 인코더 (104) 는 적응적 멀티-레이트 광대역 (adaptive multi-rate wideband; AMR-WB) 인코더를 포함할 수도 있거나 이것에 대응할 수도 있다. AMR-WB 인코더는 8 kHz 의 코딩 대역폭을 가질 수도 있고, 입력 오디오 데이터 (110) 는 코딩 대역폭 미만인 입력 신호 대역폭을 가질 수도 있다. 예시하자면, 입력 오디오 데이터 (110) 는 그래프 (150) 에서 예시된 바와 같이, NB 입력 신호 (예컨대, NB 컨텐츠) 에 대응할 수도 있다. 그래프 (150) 에서, NB 입력 신호는 4 내지 8 kHz 영역에서 제로 에너지를 가진다 (즉, 스펙트럼 에너지 누설을 포함하지 않음). 인코더 (104) (예컨대, AMR-WB 인코더) 는, 디코딩될 때, 그래프 (160) 에서, 4 내지 8 kHz 범위에서의 누설 에너지를 포함하는 오디오 프레임 (112) 을 생성할 수도 있다. 일부 구현예들에서, 입력 오디오 데이터 (110) 는 제 1 디바이스 (102) 에 결합된 디바이스 (도시되지 않음) 로부터 무선 통신으로 제 1 디바이스 (102) 에서 수신될 수도 있다. 대안적으로, 입력 오디오 데이터 (110) 는 제 1 디바이스 (102) 의 마이크로폰을 통한 것과 같이, 제 1 디바이스 (102) 에 의해 수신된 오디오 데이터를 포함할 수도 있다. 일부 구현예들에서, 입력 오디오 데이터 (110) 는 오디오 스트림 내에 포함될 수도 있다. 오디오 스트림의 부분은 제 1 디바이스 (102) 에 결합된 디바이스로부터 수신될 수도 있고, 오디오 스트림의 또 다른 부분은 제 1 디바이스 (102) 의 마이크로폰을 통해 수신될 수도 있다.
다른 구현예들에서, 인코더 (104) 는 AMR-WB 상호운용성 모드를 가지는 개량된 음성 서비스들 (enhanced voice services; EVS) CODEC 을 포함할 수도 있거나 이것에 대응할 수도 있다. AMR-WB 상호운용성 모드에서 동작하도록 구성될 때, 인코더 (104) 는 AMR-WB 인코더와 동일한 코딩 대역폭을 지원하도록 구성될 수도 있다.
오디오 프레임 (112) 은 제 1 디바이스 (102) 로부터 제 2 디바이스 (120) 로 송신 (예컨대, 무선으로 송신) 될 수도 있다. 예를 들어, 오디오 프레임 (112) 은 유선 네트워크 접속, 무선 네트워크 접속, 또는 그 조합과 같은 통신 채널 상에서, 제 2 디바이스 (120) 의 수신기 (도시되지 않음) 로 송신될 수도 있다. 일부 구현예들에서, 오디오 프레임 (112) 은 제 1 디바이스 (102) 로부터 제 2 디바이스 (120) 로 송신된 일련의 오디오 프레임들 (예컨대, 오디오 스트림) 내에 포함될 수도 있다. 일부 구현예들에서, 오디오 프레임 (112) 에 대응하는 코딩된 대역폭을 표시하는 정보는 오디오 프레임 (112) 내에 포함될 수도 있다. 오디오 프레임 (112) 은 3 세대 파트너십 프로젝트 (3rd Generation Partnership Project; 3GPP) EVS 프로토콜에 기초하는 무선 네트워크를 통해 통신될 수도 있다.
제 2 디바이스 (120) 는 제 2 디바이스 (120) 의 수신기를 통해 오디오 프레임 (112) 을 수신하도록 구성되는 디코더 (122) 를 포함할 수도 있다. 일부 구현예들에서, 디코더 (122) 는 AMR-WB 인코더의 출력을 수신하도록 구성될 수도 있다. 예를 들어, 디코더 (122) 는 AMR-WB 상호운용성 모드를 가지는 EVS CODEC 을 포함할 수도 있다. AMR-WB 상호운용성 모드에서 동작하도록 구성될 때, 디코더 (122) 는 AMR-WB 인코더와 동일한 코딩 대역폭을 지원하도록 구성될 수도 있다. 디코더 (122) 는 데이터 패킷들 (예컨대, 오디오 프레임들) 을 프로세싱하고, 오디오 파라미터들을 생성하기 위하여 프로세싱된 데이터 패킷들을 역양자화 (unquantize) 하고, 역양자화된 오디오 파라미터들을 이용하여 스피치 프레임들을 재합성하도록 구성될 수도 있다.
디코더 (122) 는 제 1 디코드 스테이지 (decode stage) (123), 검출기 (124), 제 2 디코드 스테이지 (132) 를 포함할 수도 있다. 제 1 디코드 스테이지 (123) 는 제 1 디코딩된 스피치 (114) 및 음성 활성도 판단 (voice activity decision; VAD) (140) 을 생성하기 위하여 오디오 프레임 (112) 을 프로세싱하도록 구성될 수도 있다. 제 1 디코딩된 스피치 (114) 는 검출기 (124), 제 2 디코드 스테이지 (132) 에 제공될 수도 있다. VAD (140) 는 본원에서 설명된 바와 같이, 하나 이상의 결정들을 행하기 위하여 디코더 (122) 에 의해 이용될 수도 있거나, 디코더 (122) 에 의해 디코더 (122) 의 하나 이상의 다른 컴포넌트들로 출력될 수도 있거나, 또는 그 조합일 수도 있다.
VAD (140) 는 오디오 프레임 (112) 이 유용한 오디오 컨텐츠를 포함하는지 여부를 표시할 수도 있다. 유용한 오디오 컨텐츠의 예는 침묵 동안의 단지 배경 잡음과는 반대인 활성 스피치 (active speech) 이다. 예를 들어, 디코더 (122) 는 제 1 디코딩된 스피치 (114) 에 기초하여, 오디오 프레임 (112) 이 활성인지 (예컨대, 활성 스피치를 포함하는지) 여부를 결정할 수도 있다. VAD (140) 는 특정한 프레임이 "활성" 또는 "유용한" 것인 것을 표시하기 위하여 1 의 값으로 설정될 수도 있다. 대안적으로, VAD (140) 는 특정한 프레임이 오디오 컨텐츠가 없는 (예컨대, 배경 잡음을 단지 포함함) 프레임과 같은 "비활성" 프레임인 것을 표시하기 위하여 0 의 값으로 설정될 수도 있다. VAD (140) 는 디코더 (122) 에 의해 결정되는 것으로서 설명되지만, 다른 구현예들에서, VAD (140) 는 디코더 (122) 와는 별개인 제 2 디바이스 (120) 의 컴포넌트에 의해 결정될 수도 있고, 디코더 (122) 에 제공될 수도 있다. 추가적으로 또는 대안적으로, VAD (140) 는 제 1 디코딩된 스피치 (114) 에 기초하는 것으로서 설명되지만, 다른 구현예들에서, VAD (140) 는 오디오 프레임 (112) 에 직접적으로 기초할 수도 있다.
검출기 (124) 는 오디오 프레임 (112) (예컨대, 제 1 디코딩된 스피치 (114)) 을 광대역 컨텐츠 또는 대역 제한된 컨텐츠 (예컨대, 협대역 컨텐츠) 와 연관되는 것으로서 분류하도록 구성될 수도 있다. 예를 들어, 디코더 (122) 는 오디오 프레임 (112) 을 협대역 프레임 또는 광대역 프레임으로서 분류하도록 구성될 수도 있다. 협대역 프레임의 분류는 오디오 프레임 (112) 이 대역 제한된 컨텐츠를 가지는 (예컨대, 이와 연관되는) 것으로서 분류되는 것에 대응할 수도 있다. 오디오 프레임 (112) 의 분류에 적어도 부분적으로 기초하여, 디코더 (122) 는 협대역 (NB) 모드 또는 광대역 (WB) 모드와 같은 출력 모드 (134) 를 선택할 수도 있다. 예를 들어, 출력 모드는 디코더의 합성기의 동작 모드 (예컨대, 합성 모드) 에 대응할 수도 있다.
예시하자면, 검출기 (124) 는 분류기 (126), 추적기 (128), 및 평탄화 로직 (smoothing logic) (130) 을 포함할 수도 있다. 분류기 (126) 는 오디오 프레임을 대역 제한된 컨텐츠 (예컨대, NB 컨텐츠) 또는 광대역 컨텐츠 (예컨대, WB 컨텐츠) 와 연관되는 것으로서 분류하도록 구성될 수도 있다. 일부 구현예들에서, 분류기 (126) 는 활성 프레임들에 대한 분류를 생성하지만, 비활성 프레임들의 분류를 생성하지는 않는다.
오디오 프레임 (112) 의 분류를 결정하기 위하여, 분류기 (126) 는 제 1 디코딩된 스피치 (114) 의 주파수 범위를 다수의 대역들로 분할할 수도 있다. 예시적인 예 (190) 는 대역들로 분할된 주파수 범위를 도시한다. 주파수 범위 (예컨대, 광대역) 는 0 내지 8 kHz 의 대역폭을 가질 수도 있다. 주파수 범위는 저대역 (예컨대, 협대역) 및 고대역을 포함할 수도 있다. 저대역은 주파수 범위 (예컨대, 협대역) 의 0 내지 4 kHz 와 같은 제 1 서브-범위 (예컨대, 제 1 세트) 에 대응할 수도 있다. 고대역은 주파수 범위의 4 내지 8 kHz 와 같은 제 2 서브-범위 (예컨대, 제 2 세트) 에 대응할 수도 있다. 광대역은 대역들 B0 내지 B7 과 같은 다수의 대역들로 분할될 수도 있다. 다수의 대역들의 각각은 동일한 대역폭 (예컨대, 예 (190) 에서의 1 kHz 의 대역폭) 을 가질 수도 있다. 고대역의 하나 이상의 대역들은 전이 대역들로서 지시될 수도 있다. 전이 대역들 중의 적어도 하나는 저대역에 인접할 수도 있다. 광대역은 8 개의 대역들로 분할되는 것으로서 예시되지만, 다른 구현예들에서, 광대역은 8 개보다 더 많거나 더 적은 대역들로 분할될 수도 있다. 예를 들어, 광대역은 예시적인 비제한적 예로서, 400 Hz 의 대역폭을 각각 가지는 20 개의 대역들로 분할될 수도 있다.
분류기 (126) 의 동작을 예시하기 위하여, (광대역과 연관된) 제 1 디코딩된 스피치 (114) 는 20 개의 대역들로 분할될 수도 있다. 분류기 (126) 는 저대역의 대역들과 연관된 제 1 에너지 메트릭, 및 고대역의 대역들과 연관된 제 2 에너지 메트릭을 결정할 수도 있다. 예를 들어, 제 1 에너지 메트릭은 저대역의 대역들의 평균 에너지 (또는 전력) 일 수도 있다. 또 다른 예로서, 제 1 에너지 메트릭은 저대역의 대역들의 서브세트의 평균 에너지일 수도 있다. 예시하자면, 서브세트는 800 내지 3600 Hz 의 주파수 범위 내의 대역들을 포함할 수도 있다. 일부 구현예들에서, 가중화 값들 (예컨대, 승산기들) 은 제 1 에너지 메트릭을 결정하기 이전에 저대역의 하나 이상의 대역들에 적용될 수도 있다. 가중화 값을 특정한 대역에 적용하는 것은 제 1 에너지 메트릭을 계산할 때, 더 많은 선호도를 특정한 대역에 부여할 수도 있다. 일부 구현예들에서, 선호도는 고대역에 근접한 저대역의 하나 이상의 대역들에 부여될 수도 있다.
특정한 대역에 대응하는 에너지의 양을 결정하기 위하여, 분류기 (126) 는 직교 미러 필터 뱅크 (quadrature mirror filter bank), 대역 통과 필터 (band pass filter), 복소 저지연 필터 뱅크 (complex low delay filter bank), 또 다른 컴포넌트, 또는 또 다른 기법을 이용할 수도 있다. 추가적으로 또는 대안적으로, 분류기 (126) 는 각각의 대역에 대한 신호 컴포넌트들의 제곱들을 합산함으로써 특정한 대역의 에너지의 양을 결정할 수도 있다.
제 2 에너지 메트릭은 고대역을 구성하는 하나 이상의 대역들 (예컨대, 하나 이상의 대역들은 전이 대역들로서 고려된 대역들을 포함하지 않음) 의 피크 에너지 값에 기초하여 결정될 수도 있다. 추가로 설명하자면, 피크 에너지를 결정하기 위하여, 고대역의 하나 이상의 전이 대역들이 고려되지 않을 수도 있다. 하나 이상의 전이 대역들은 고대역의 다른 대역들보다 저대역 컨텐츠로부터의 더 많은 스펙트럼 누설을 가질 수도 있으므로, 하나 이상의 전이 대역들이 무시될 수도 있다. 따라서, 하나 이상의 전이 대역들은, 고대역이 의미 있는 컨텐츠를 포함하거나, 또는 스펙트럼 에너지 누설을 단지 포함하는지 여부를 표시하지 않을 수도 있다. 예를 들어, 고대역을 구성하는 대역들의 피크 에너지 값은 전이 대역 (예컨대, 4.4 kHz 의 상한을 가지는 전이 대역) 을 초과하는 제 1 디코딩된 스피치 (114) 의 가장 큰 검출된 대역 에너지 값일 수도 있다.
(저대역의) 제 1 에너지 메트릭 및 (고대역의) 제 2 에너지 메트릭이 결정된 후, 분류기 (126) 는 제 1 에너지 메트릭 및 제 2 에너지 메트릭을 이용하여 비교를 수행할 수도 있다. 예를 들어, 분류기 (126) 는 제 1 에너지 메트릭 및 제 2 에너지 메트릭 사이의 비율이 임계치 양 이상인지 여부를 결정할 수도 있다. 비율이 임계치 양보다 더 클 경우, 제 1 디코딩된 스피치 (114) 는 고대역 (예컨대, 4 내지 8 kHz) 에서 의미 있는 오디오 컨텐츠를 가지지 않는 것으로 결정될 수도 있다. 예를 들어, 고대역은 (저대역의) 코딩 대역 제한된 컨텐츠로 인해 스펙트럼 누설을 주로 포함하는 것으로 결정될 수도 있다. 따라서, 비율이 임계치 양보다 더 클 경우, 오디오 프레임 (112) 은 대역 제한된 컨텐츠 (예컨대, NB 컨텐츠) 를 가지는 것으로서 분류될 수도 있다. 비율이 임계치 양 이하일 경우, 오디오 프레임 (112) 은 광대역 컨텐츠 (예컨대, WB 컨텐츠) 와 연관되는 것으로서 분류될 수도 있다. 임계치 양은 예시적인 비제한적 예들로서, 512 와 같은 미리 결정된 값일 수도 있다. 대안적으로, 임계치 양은 제 1 에너지 메트릭에 기초하여 결정될 수도 있다. 예를 들어, 임계치 양은 512 의 값에 의해 제산된 제 1 에너지 메트릭과 동일할 수도 있다. 512 의 값은 제 1 에너지 메트릭의 로그 (logarithm) 와 제 2 에너지 메트릭의 로그 사이의 대략 27 dB 차이에 대응할 수도 있다 (예컨대, 10*log10(제 1 에너지 메트릭) - 10*log10(제 2 에너지 메트릭)). 다른 구현예들에서는, 제 1 에너지 메트릭 및 제 2 에너지 메트릭의 비율이 계산될 수도 있고 임계치 양과 비교될 수도 있다. 대역 제한된 컨텐츠 및 광대역 컨텐츠를 가지는 것으로서 분류된 오디오 신호들의 예들은 도 2 를 참조하여 설명된다.
추적기 (128) 는 분류기 (126) 에 의해 생성된 하나 이상의 분류들의 레코드 (record) 를 유지하도록 구성될 수도 있다. 예를 들어, 추적기 (128) 는 메모리, 버퍼, 또는 분류들을 추적하도록 구성될 수도 있는 다른 데이터 구조를 포함할 수도 있다. 예시하자면, 추적기 (128) 는 특정한 수 (예컨대, 100) 의 가장 최근에 생성된 분류자들 (예컨대, 100 개의 가장 최근의 프레임들에 대한 분류기 (126) 의 분류 출력들) 에 대응하는 데이터를 유지하도록 구성되는 버퍼를 포함할 수도 있다. 일부 구현예들에서, 추적기 (128) 는 매 프레임 (또는 매 활성 프레임) 에 업데이트되는 스칼라 값 (scalar value) 을 유지할 수도 있다. 스칼라 값은 분류기 (126) 에 의해 분류된 프레임들의 상대적인 카운트의 장기 메트릭 (long term metric) 을 대역 제한된 (예컨대, 협대역) 컨텐츠와 연관된 것으로 나타낼 수도 있다. 예를 들어, 스칼라 값 (예컨대, 장기 메트릭) 은 대역 제한된 (예컨대, 협대역) 컨텐츠와 연관된 것으로서 분류된 수신된 프레임들의 백분율을 표시할 수도 있다. 일부 구현예들에서, 추적기 (128) 는 하나 이상의 카운터들을 포함할 수도 있다. 예를 들어, 추적기 (128) 는 수신된 프레임들의 수 (예컨대, 활성 프레임들의 수) 를 카운팅하기 위한 제 1 카운터, 대역 제한된 컨텐츠를 가지는 것으로서 분류된 프레임들의 수를 카운팅하도록 구성된 제 2 카운터, 광대역 컨텐츠를 가지는 것으로서 분류된 프레임들의 수를 카운팅하도록 구성된 제 3 카운터, 또는 그 조합을 포함할 수도 있다. 추가적으로 또는 대안적으로, 하나 이상의 카운터들은 대역 제한된 컨텐츠를 가지는 것으로서 분류된 연속으로 (그리고 가장 최근에) 수신된 프레임들의 수를 카운팅하기 위한 제 4 카운터, 광대역 컨텐츠를 가지는 것으로서 분류된 연속으로 (그리고 가장 최근에) 수신된 프레임들의 수를 카운팅하도록 구성된 제 5 카운터, 또는 그 조합을 포함할 수도 있다. 일부 구현예들에서, 적어도 하나의 카운터는 증분되도록 구성될 수도 있다. 일부 구현예들에서, 적어도 하나의 카운터는 감분되도록 구성될 수도 있다. 일부 구현예들에서, 추적기 (128) 는 VAD (140) 가 특정한 프레임이 활성 프레임인 것을 표시하는 것에 응답하여 수신된 활성 프레임들의 수의 카운트를 증분시킬 수도 있다.
평탄화 로직 (130) 은 출력 모드 (134) 를 광대역 모드 및 대역 제한된 모드 (예컨대, 협대역 모드) 중의 하나로서 선택하는 것과 같이, 출력 모드 (134) 를 결정하도록 구성될 수도 있다. 예를 들어, 평탄화 로직 (130) 은 각각의 오디오 프레임 (예컨대, 각각의 활성 오디오 프레임) 에 응답하여 출력 모드 (134) 를 결정하도록 구성될 수도 있다. 평탄화 로직 (130) 은 출력 모드 (134) 가 광대역 모드와 대역 제한된 모드 사이에서 빈번하게 교대하지 않도록, 출력 모드 (134) 를 결정하기 위한 장기 접근법을 구현할 수도 있다.
평탄화 로직 (130) 은 출력 모드 (134) 를 결정할 수도 있고, 출력 모드 (134) 의 표시를 제 2 디코드 스테이지 (132) 에 제공할 수도 있다. 평탄화 로직 (130) 은 추적기 (128) 에 의해 제공된 하나 이상의 메트릭들에 기초하여 출력 모드 (134) 를 결정할 수도 있다. 하나 이상의 메트릭들은 예시적인 비제한적 예들로서, 수신된 프레임들의 수, 활성 프레임들 (예컨대, 활성/유용한 것으로서 음성 활성도 판단에 의해 표시된 프레임들) 의 수, 대역 제한된 컨텐츠를 가지는 것으로서 분류된 프레임들의 수, 광대역 컨텐츠를 가지는 것으로서 분류된 프레임들의 수 등을 포함할 수도 있다. 활성 프레임들의 수는 어느 것이 가장 최신 이벤트이든지, 통신 (예컨대, 전화 호출) 의 초반부터, 대역 제한된 모드로부터 광대역 모드로 스위칭되는 것과 같이, 출력 모드가 명시적으로 스위칭되었던 최후 이벤트로부터 VAD (140) 에 의해 "활성/유용한" 것으로서 표시된 (예컨대, 분류된) 프레임들의 수로서 측정될 수도 있다. 추가적으로, 평탄화 로직 (130) 은 이전의 또는 현존하는 (예컨대, 현재의) 출력 모드 및 하나 이상의 임계치들 (131) 에 기초하여 출력 모드 (134) 를 결정할 수도 있다.
일부 구현예들에서, 평탄화 로직 (130) 은 수신된 프레임들의 수가 제 1 임계치 수 이하일 경우에, 출력 모드 (134) 를 광대역 모드인 것으로 선택할 수도 있다. 추가적인 또는 대안적인 구현예에서, 평탄화 로직 (130) 은 활성 프레임들의 수가 제 2 임계치 미만일 경우에, 출력 모드 (134) 를 광대역 모드인 것으로 선택할 수도 있다. 제 1 임계치 수는 예시적인 비제한적 예들로서, 20, 50, 250, 또는 500 의 값을 가질 수도 있다. 제 2 임계치 수는 예시적인 비제한적 예들로서, 20, 50, 250, 또는 500 의 값을 가질 수도 있다. 수신된 프레임들의 수가 제 1 임계치 수보다 더 클 경우, 평탄화 로직 (130) 은 대역 제한된 컨텐츠를 가지는 것으로서 분류된 프레임들의 수, 광대역 컨텐츠를 가지는 것으로서 분류된 프레임들의 수, 대역 제한된 컨텐츠와 연관되도록 분류기 (126) 에 의해 분류된 프레임들의 상대적인 카운트의 장기 메트릭, 광대역 컨텐츠를 가지는 것으로서 분류된 연속으로 (그리고 가장 최근에) 수신된 프레임들의 수, 또는 그 조합에 기초하여 출력 모드 (134) 를 결정할 수도 있다. 제 1 임계치 수가 충족된 후, 검출기 (124) 는 본원에서 추가로 설명된 바와 같이, 평탄화 로직 (130) 이 출력 모드 (134) 를 선택하는 것을 가능하게 하기 위하여, 추적기 (128) 가 누적된 충분한 분류들을 가지는 것으로 고려할 수도 있다.
예시하자면, 일부 구현예들에서, 평탄화 로직 (130) 은 적응적 임계치와 비교하여, 대역 제한된 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 상대적인 카운트의 비교에 기초하여 출력 모드 (134) 를 선택할 수도 있다. 대역 제한된 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 상대적인 카운트는 추적기 (128) 에 의해 추적된 분류들의 총 수로부터 결정될 수도 있다. 예를 들어, 추적기 (128) 는 특정한 수 (예컨대, 100) 의 가장 최근에 분류된 활성 프레임들을 추적하도록 구성될 수도 있다. 예시하자면, 수신된 활성 프레임들의 수의 카운트는 특정한 수에서 상한설정 (예컨대, 그것으로 제한) 될 수도 있다. 일부 구현예에서, 대역 제한된 컨텐츠와 연관되도록 분류된 수신된 프레임들의 수는 대역 제한된 컨텐츠와 연관되도록 분류된 프레임들의 상대적인 수를 표시하기 위한 비율 또는 백분율로서 표현될 수도 있다. 예를 들어, 수신된 활성 프레임들의 수의 카운트는 하나 이상의 프레임들의 그룹에 대응할 수도 있고, 평탄화 로직 (130) 은 대역 제한된 컨텐츠와 연관되는 것으로서 분류되는 하나 이상의 프레임들 그룹의 백분율을 결정할 수도 있다. 따라서, 수신된 프레임들의 수의 카운트를 초기 값 (예컨대, 제로의 값) 으로 설정하는 것은 백분율을 제로의 값으로 재설정하는 효과를 가질 수도 있다.
적응적 임계치는 디코더 (122) 에 의해 프로세싱된 이전의 오디오 프레임에 적용된 이전의 출력 모드와 같은 이전의 출력 모드 (134) 에 따라 평탄화 로직 (130) 에 의해 선택 (예컨대, 설정) 될 수도 있다. 예를 들어, 이전의 출력 모드는 가장 최근에 이용된 출력 모드일 수도 있다. 이전의 출력 모드가 광대역 컨텐츠 모드일 경우, 적응적 임계치는 제 1 적응적 임계치로서 선택될 수도 있다. 이전의 출력 모드가 대역 제한된 컨텐츠 모드일 경우, 적응적 임계치는 제 2 적응적 임계치로서 선택될 수도 있다. 제 1 적응적 임계치의 값은 제 2 적응적 임계치의 값보다 더 클 수도 있다. 예를 들어, 제 1 적응적 임계치는 90 % 의 값과 연관될 수도 있고, 제 2 적응적 임계치는 80 % 의 값과 연관될 수도 있다. 또 다른 예로서, 제 1 적응적 임계치는 80 % 의 값과 연관될 수도 있고, 제 2 적응적 임계치는 71 % 의 값과 연관될 수도 있다. 이전의 출력 모드에 기초하여 적응적 임계치를 다수의 임계치 값들 중의 하나로서 선택하는 것은 출력 모드 (134) 가 광대역 모드와 대역 제한된 모드 사이에서 빈번하게 스위칭하는 것을 회피하는 것을 도울 수도 있는 히스테리시스를 제공할 수도 있다.
적응적 임계치가 제 1 적응적 임계치일 경우 (예컨대, 이전의 출력 모드는 광대역 모드임), 평탄화 로직 (130) 은 대역 제한된 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 수를 제 1 적응적 임계치와 비교할 수도 있다. 대역 제한된 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 수가 제 1 적응적 임계치 이상일 경우, 평탄화 로직 (130) 은 출력 모드 (134) 를 대역 제한된 모드인 것으로 선택할 수도 있다. 대역 제한된 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 수가 제 1 적응적 임계치 미만일 경우, 평탄화 로직 (130) 은 이전의 출력 모드 (예컨대, 광대역 모드) 를 출력 모드 (134) 로서 유지할 수도 있다.
적응적 임계치가 제 2 적응적 임계치일 경우 (예컨대, 이전의 출력 모드는 대역 제한된 모드임), 평탄화 로직 (130) 은 대역 제한된 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 수를 제 2 적응적 임계치와 비교할 수도 있다. 대역 제한된 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 수가 제 2 적응적 임계치 이하일 경우, 평탄화 로직 (130) 은 출력 모드 (134) 를 광대역 모드인 것으로 선택할 수도 있다. 대역 제한된 컨텐츠와 연관되도록 분류된 수신된 프레임들의 수가 제 2 적응적 임계치보다 더 클 경우, 평탄화 로직 (130) 은 이전의 출력 모드 (예컨대, 대역 제한된 모드) 를 출력 모드 (134) 로서 유지할 수도 있다. 제 1 적응적 임계치 (예컨대, 더 높은 적응적 임계치) 가 충족될 때에 광대역 모드로부터 대역 제한된 모드로 스위칭함으로써, 검출기 (124) 는 대역 제한된 컨텐츠가 검출기 (122) 에 의해 수신되고 있을 높은 확률을 제공할 수도 있다. 추가적으로, 제 2 적응적 임계치 (예컨대, 더 낮은 적응적 임계치) 가 충족될 때에 대역 제한된 모드로부터 광대역 모드로 스위칭함으로써, 검출기 (124) 는 대역 제한된 컨텐츠가 디코더 (122) 에 의해 수신되고 있을 더 낮은 확률에 응답하여 모드를 변경할 수도 있다.
평탄화 로직 (130) 은 대역 제한된 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 수를 이용하는 것으로서 설명되지만, 다른 구현예들에서, 평탄화 로직 (130) 은 광대역 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 상대적인 카운트에 기초하여 출력 모드 (134) 를 선택할 수도 있다. 예를 들어, 평탄화 로직 (130) 은 광대역 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 상대적인 카운트를, 제 3 적응적 임계치 및 제 4 적응적 임계치 중의 하나로서 설정되는 적응적 임계치와 비교할 수도 있다. 제 3 적응적 임계치는 10 % 와 연관된 값을 가질 수도 있고, 제 4 적응적 임계치는 20 % 와 연관된 값을 가질 수도 있다. 평탄화 로직 (130) 은 이전의 출력 모드가 광대역 모드일 때, 광대역 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 수를 제 3 적응적 임계치와 비교할 수도 있다. 광대역 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 수가 제 3 적응적 임계치 이하일 경우, 평탄화 로직 (130) 은 출력 모드 (134) 를 대역 제한된 모드인 것으로 선택할 수도 있고, 그렇지 않을 경우에는, 출력 모드 (134) 가 광대역 모드로서 유지될 수도 있다. 평탄화 로직 (130) 은 이전의 출력 모드가 협대역 모드일 때, 광대역 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 수의 수를 제 4 적응적 임계치와 비교할 수도 있다. 광대역 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 수가 제 4 적응적 임계치 이상일 경우, 평탄화 로직 (130) 은 출력 모드 (134) 를 광대역 모드인 것으로 선택할 수도 있고, 그렇지 않을 경우에는, 출력 모드 (134) 가 대역 제한된 모드로서 유지될 수도 있다.
일부 구현예들에서, 평탄화 로직 (130) 은 광대역 컨텐츠를 가지는 것으로서 분류된 연속으로 (그리고 가장 최근에) 수신된 프레임들의 수에 기초하여 출력 모드 (134) 를 결정할 수도 있다. 예를 들어, 추적기 (128) 는 광대역 컨텐츠와 연관되는 것으로서 분류되는 (예컨대, 대역 제한된 컨텐츠와 연관되는 것으로서 분류되지 않음) 연속으로 수신된 활성 프레임들의 카운트를 유지할 수도 있다. 일부 구현예들에서, 현재의 프레임이 활성 프레임으로서 식별되고 광대역 컨텐츠와 연관되는 것으로서 분류되는 한, 카운트는 오디오 프레임 (112) 과 같은 현재의 프레임에 기초할 수도 있다 (예컨대, 포함함). 평탄화 로직 (130) 은 광대역 컨텐츠와 연관되는 것으로서 분류된 연속으로 수신된 활성 프레임들의 카운트를 획득할 수도 있고, 카운트를 임계치 수와 비교할 수도 있다. 임계치 수는 예시적인 비제한적 예들로서, 7 또는 20 의 값을 가질 수도 있다. 카운트가 임계치 수 이상일 경우, 평탄화 로직 (130) 은 출력 모드 (134) 를 광대역 모드인 것으로 선택할 수도 있다. 일부 구현예들에서, 광대역 모드는 출력 모드 (134) 의 디폴트 모드로 고려될 수도 있고, 출력 모드 (134) 는 카운트가 임계치 수 이상일 때에 광대역 모드로서 변경되지 않게 될 수 있다.
추가적으로 또는 대안적으로, 광대역 컨텐츠를 가지는 것으로서 분류된 연속으로 (그리고 가장 최근에) 수신된 프레임들의 수가 임계치 수 이상인 것에 응답하여, 평탄화 로직 (130) 은 수신된 프레임들의 수 (예컨대, 활성 프레임들의 수) 를 추적하는 카운터로 하여금, 제로의 값과 같은 초기 값으로 설정되게 할 수도 있다. 수신된 프레임들의 수 (예컨대, 활성 프레임들의 수) 를 추적하는 카운터를 제로의 값으로 설정하는 것은 출력 모드 (134) 를 광대역 모드로 설정되도록 강제하는 효과를 가질 수도 있다. 예를 들어, 출력 모드 (134) 는 적어도 수신된 프레임들의 수 (예컨대, 활성 프레임들의 수) 가 제 1 임계치 수보다 더 클 때까지 광대역 모드로 설정될 수도 있다. 일부 구현예들에서, 출력 모드 (134) 가 대역 제한된 모드 (예컨대, 협대역 모드) 로부터 광대역 모드로 스위칭될 때에 언제든지, 수신된 프레임들의 수의 카운트는 초기 값으로 설정될 수도 있다. 일부 구현예들에서, 광대역 컨텐츠를 가지는 것으로서 분류된 연속으로 (그리고 가장 최근에) 수신된 프레임들의 수가 임계치 수 이상인 것에 응답하여, 대역 제한된 컨텐츠를 가지는 것으로서 최근에 분류된 프레임들의 상대적인 카운트를 추적하는 장기 메트릭은 제로의 값과 같은 초기 값으로 재설정될 수 있다. 대안적으로, 광대역 컨텐츠를 가지는 것으로서 분류된 연속으로 (그리고 가장 최근에) 수신된 프레임들의 수가 임계치 수 미만일 경우, 평탄화 로직 (130) 은 (오디오 프레임 (112) 과 같은 수신된 오디오 프레임과 연관된) 출력 모드 (134) 를 선택하기 위하여, 본원에서 설명된 바와 같이 하나 이상의 다른 결정들을 행할 수도 있다.
평탄화 로직 (130) 이 광대역 컨텐츠와 연관되는 것으로서 분류된 연속으로 수신된 활성 프레임들의 카운트를 임계치 수와 비교하는 것에 추가하여, 또는 대안적으로, 평탄화 로직 (130) 은 특정한 수의 가장 최근에 수신된 활성 프레임들로부터 광대역 컨텐츠를 가지는 것으로서 분류되는 (예컨대, 대역 제한된 컨텐츠를 가지는 것으로서 분류되지 않은) 이전에 수신된 활성 프레임들의 수를 결정할 수도 있다. 가장 최근에 수신된 활성 프레임들의 특정한 수는 예시적인 비제한적 예로서, 20 일 수도 있다. 평탄화 로직 (130) 은 (특정한 수의 가장 최근에 수신된 활성 프레임들로부터) 광대역 컨텐츠를 가지는 것으로서 분류되는 이전에 수신된 활성 프레임들의 수를 (적응적 임계치와 동일하거나 상이한 값을 가질 수도 있는) 제 2 임계치 수와 비교할 수도 있다. 일부 구현예들에서, 제 2 임계치 수는 고정된 (예컨대, 적응적이지 않은) 임계치이다. 광대역 컨텐츠를 가지는 것으로서 분류되는 이전에 수신된 활성 프레임들의 수가 제 2 임계치 수 이상인 것으로 결정된다는 결정에 응답하여, 평탄화 로직 (130) 은 광대역 컨텐츠와 연관되는 것으로서 분류된 연속으로 수신된 활성 프레임들의 카운트가 임계치 수보다 더 큰 것으로 결정하는 평탄화 로직 (130) 을 참조하여 설명된 것과 동일한 동작들 중의 하나 이상을 수행할 수도 있다. 광대역 컨텐츠를 가지는 것으로서 분류되는 이전에 수신된 활성 프레임들의 수가 제 2 임계치 수보다 더 작은 것으로 결정된다는 결정에 응답하여, 평탄화 로직 (130) 은 (오디오 프레임 (112) 과 같은 수신된 오디오 프레임과 연관된) 출력 모드 (134) 를 선택하기 위하여, 본원에서 설명된 바와 같이 하나 이상의 다른 결정들을 행할 수도 있다.
일부 구현예들에서, VAD (140) 가 오디오 프레임 (112) 이 활성 프레임인 것을 표시하는 것에 응답하여, 평탄화 로직 (130) 은 제 1 디코딩된 스피치 (114) 의 평균 저대역 에너지 (대안적으로, 저대역의 대역들의 서브세트의 평균 에너지) 와 같은, 오디오 프레임 (112) 의 저대역의 평균 에너지 (또는 저대역의 대역들의 서브세트의 평균 에너지) 를 결정할 수도 있다. 평탄화 로직 (130) 은 오디오 프레임 (112) 의 평균 저대역 에너지 (또는 대안적으로, 저대역의 대역들의 서브세트의 평균 에너지) 를 장기 메트릭과 같은 임계치 에너지 값과 비교할 수도 있다. 예를 들어, 임계치 에너지 값은 다수의 이전에 수신된 프레임들의 평균 저대역 에너지 값의 평균 (또는 대안적으로, 저대역의 대역들의 서브세트의 평균 에너지의 평균) 일 수도 있다. 일부 구현예들에서, 다수의 이전에 수신된 프레임들은 오디오 프레임 (112) 을 포함할 수도 있다. 오디오 프레임 (112) 의 저대역의 평균 에너지 값이 다수의 이전에 수신된 프레임들의 평균 저대역 에너지 값보다 더 작을 경우, 추적기 (128) 는 오디오 프레임 (112) 에 대한 126 의 분류 판단으로, 대역 제한된 컨텐츠와 연관되도록 분류기 (126) 에 의해 분류된 프레임들의 상대적인 카운트의 장기 메트릭에 대응하는 값을 업데이트하지 않을 것을 선택할 수도 있다. 대안적으로, 오디오 프레임 (112) 의 저대역의 평균 에너지 값이 다수의 이전에 수신된 프레임들의 평균 저대역 에너지 값 이상일 경우, 추적기 (128) 는 오디오 프레임 (112) 에 대한 126 의 분류 판단으로, 대역 제한된 것과 연관되도록 분류기 (126) 에 의해 분류된 프레임들의 상대적인 카운트의 장기 메트릭에 대응하는 값을 업데이트할 것을 선택할 수도 있다.
제 2 디코드 스테이지 (132) 는 출력 모드 (134) 에 따라 제 1 디코딩된 스피치 (114) 를 프로세싱할 수도 있다. 예를 들어, 제 2 디코드 스테이지 (132) 는 제 1 디코딩된 스피치 (114) 를 수신할 수도 있고, 출력 모드 (134) 에 따라, 제 2 디코딩된 스피치 (116) 를 출력할 수도 있다. 예시하자면, 출력 모드 (134) 가 WB 모드에 대응할 경우, 제 2 디코드 스테이지 (132) 는 제 1 디코딩된 스피치 (114) 를 제 2 디코딩된 스피치 (116) 로서 출력 (예컨대, 생성) 하도록 구성될 수도 있다. 대안적으로, 출력 모드 (134) 가 NB 모드에 대응할 경우, 제 2 디코드 스테이지 (132) 는 제 1 디코딩된 스피치의 부분을 제 2 디코딩된 스피치로서 선택적으로 출력할 수도 있다. 예를 들어, 제 2 디코드 스테이지 (132) 는 제 1 디코딩된 스피치 (114) 의 고대역 컨텐츠를 "제로 아웃 (zero out)" 하거나, 또는 대안적으로 감쇠시키고, 제 2 디코딩된 스피치 (116) 를 생성하기 위하여 제 1 디코딩된 스피치 (114) 의 저대역 컨텐츠에 대한 최종적인 합성을 수행하도록 구성될 수도 있다. 그래프 (170) 는 대역 제한된 컨텐츠를 가지는 (그리고 고대역 컨텐츠 없음) 제 2 디코딩된 스피치 (116) 의 예를 예시한다.
동작 동안, 제 2 디바이스 (120) 는 다수의 오디오 프레임들의 제 1 오디오 프레임을 수신할 수도 있다. 예를 들어, 제 1 오디오 프레임은 오디오 프레임 (112) 에 대응할 수도 있다. VAD (140) (예컨대, 데이터) 는 제 1 오디오 프레임이 활성 프레임인 것을 표시할 수도 있다. 제 1 오디오 프레임을 수신하는 것에 응답하여, 분류기 (126) 는 대역 제한된 프레임 (예컨대, 협대역 프레임) 인 것으로의 제 1 오디오 프레임의 제 1 분류를 생성할 수도 있다. 제 1 분류는 추적기 (128) 에서 저장될 수도 있다. 제 1 오디오 프레임을 수신하는 것에 응답하여, 평탄화 로직 (130) 은 수신된 오디오 프레임들의 수가 제 1 임계치 수보다 더 작은 것으로 결정할 수도 있다. 대안적으로, 평탄화 로직 (130) 은 (어느 것이 가장 최신 이벤트이든지, 출력 모드가 대역 제한된 모드로부터 광대역 모드로 명시적으로 스위칭되었을 때, 또는 호출의 초반부터, 최후 이벤트로부터 VAD (140) 에 의해 "활성/유용한" 것으로서 표시된 (예컨대, 식별된) 프레임들의 수로서 측정된) 활성 프레임들의 수가 제 2 임계치 수보다 더 작은 것으로 결정할 수도 있다. 수신된 오디오 프레임들의 수가 제 1 임계치 수보다 더 작으므로, 평탄화 로직 (130) 은 출력 모드 (134) 에 대응하는 제 1 출력 모드 (예컨대, 디폴트 모드) 를 광대역 모드인 것으로 선택할 수도 있다. 디폴트 모드는 대역 제한된 컨텐츠와 연관되는 수신된 프레임들의 수에 관계 없이, 그리고 (예컨대, 대역 제한된 컨텐츠가 아니라) 광대역 컨텐츠를 가지는 것으로서 각각 분류되었던 연속으로 수신된 프레임들의 수에 관계 없이, 수신된 오디오 프레임들의 수가 제 1 임계치 수보다 더 작을 경우에 선택될 수도 있다.
제 1 오디오 프레임이 수신된 후, 제 2 디바이스는 다수의 오디오 프레임들의 제 2 오디오 프레임을 수신할 수도 있다. 예를 들어, 제 2 오디오 프레임은 제 1 오디오 프레임 후의 다음 수신된 프레임일 수도 있다. VAD (140) 는 제 2 오디오 프레임이 활성 프레임인 것을 표시할 수도 있다. 수신된 활성 오디오 프레임들의 수는 제 2 오디오 프레임이 활성 프레임인 것에 응답하여 증분될 수도 있다.
제 2 오디오 프레임이 활성 프레임인 것에 기초하여, 분류기 (126) 는 대역 제한된 프레임 (예컨대, 협대역 프레임) 인 것으로의 제 2 오디오 프레임의 제 2 분류를 생성할 수도 있다. 제 2 분류는 추적기 (128) 에서 저장될 수도 있다. 제 2 오디오 프레임을 수신하는 것에 응답하여, 평탄화 로직 (130) 은 수신된 오디오 프레임들 (예컨대, 수신된 활성 오디오 프레임들) 의 수가 제 1 임계치 수 이상인 것으로 결정할 수도 있다. (표기들 "제 1" 및 "제 2" 는 프레임들 사이를 구별하고, 수신된 프레임들의 시퀀스에서 프레임들의 순서 또는 위치를 반드시 나타내지는 않는다는 것에 주목한다. 예를 들어, 제 1 프레임은 프레임들의 시퀀스에서 수신되는 제 7 프레임일 수도 있고, 제 2 프레임은 프레임들의 시퀀스에서의 제 8 프레임일 수도 있다.) 수신된 오디오 프레임들의 수가 제 1 임계치 수보다 더 큰 것에 응답하여, 평탄화 로직 (130) 은 이전의 출력 모드 (예컨대, 제 1 출력 모드) 에 기초하여 적응적 임계치를 설정할 수도 있다. 예를 들어, 제 1 출력 모드는 광대역 모드이었으므로, 적응적 임계치는 제 1 적응적 임계치로 설정될 수도 있다.
평탄화 로직 (130) 은 대역 제한된 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 수를 제 1 적응적 임계치와 비교할 수도 있다. 평탄화 로직 (130) 은 대역 제한된 컨텐츠를 가지는 것으로서 분류된 수신된 프레임들의 수가 제 1 적응적 임계치 이상인 것으로 결정할 수도 있고, 제 2 오디오 프레임에 대응하는 제 2 출력 모드를 대역 제한된 모드인 것으로 설정할 수도 있다. 예를 들어, 평탄화 로직 (130) 은 출력 모드 (134) 를 대역 제한된 컨텐츠 모드 (예컨대, NB 모드) 인 것으로 업데이트할 수도 있다.
제 2 디바이스 (120) 의 디코더 (122) 는 오디오 프레임 (112) 과 같은 다수의 오디오 프레임들을 수신하고, 대역 제한된 컨텐츠를 가지는 하나 이상의 오디오 프레임들을 식별하도록 구성될 수도 있다. 대역 제한된 컨텐츠를 가지는 것으로서 분류된 프레임들의 수 (광대역 컨텐츠를 가지는 것으로서 분류된 프레임들의 수, 또는 양자 모두) 에 기초하여, 디코더 (122) 는 대역 제한된 컨텐츠를 포함하는 (그리고 고대역 컨텐츠를 포함하지 않는) 디코딩된 스피치를 생성하고 출력하기 위하여 수신된 프레임들을 선택적으로 프로세싱하도록 구성될 수도 있다. 디코더 (122) 는 디코더 (122) 가 광대역 디코딩된 스피치 및 대역 제한된 디코딩된 스피치를 출력하는 것 사이에서 빈번하게 스위칭하지 않는다는 것을 보장하기 위하여, 평탄화 로직 (130) 을 이용할 수도 있다. 추가적으로, 광대역 프레임들로서 분류된 특정한 수의 연속으로 수신된 오디오 프레임들을 검출하기 위하여 수신된 오디오 프레임들을 모니터링함으로써, 디코더 (122) 는 대역 제한된 출력 모드로부터 광대역 출력 모드로 신속하게 전이할 수도 있다. 대역 제한된 출력 모드로부터 광대역 출력 모드로 신속하게 전이시킴으로써, 디코더 (122) 는 디코더 (122) 가 대역 제한된 출력 모드에서 유지되었을 경우에 이와 다르게 억압되었을 광대역 컨텐츠를 제공할 수도 있다. 도 1 의 디코더 (122) 의 이용은 개선된 신호 디코딩 품질뿐만 아니라, 개선된 사용자 경험을 초래할 수도 있다.
도 2 는 오디오 신호들의 분류를 예시하는 그래프들이 도시된 것을 도시한다. 오디오 신호들의 분류는 도 1 의 분류기 (126) 에 의해 수행될 수도 있다. 제 1 그래프 (200) 는 대역 제한된 컨텐츠를 포함하는 것으로서의 제 1 오디오 신호의 분류를 예시한다. 제 1 그래프 (200) 에서, 제 1 오디오 신호의 저대역 부분의 평균 에너지 레벨과 제 1 오디오 신호의 (전이 대역을 제외하는) 고대역 부분의 피크 에너지 레벨 사이의 비율은 임계치 비율보다 더 크다. 제 2 그래프 (250) 는 광대역 컨텐츠를 포함하는 것으로서의 제 2 오디오 신호의 분류를 예시한다. 제 2 그래프 (250) 에서, 제 2 오디오 신호의 저대역 부분의 평균 에너지 레벨과 제 2 오디오 신호의 (전이 대역을 제외하는) 고대역 부분의 피크 에너지 레벨 사이의 비율은 임계치 비율보다 더 작다.
도 3 및 도 4 를 참조하면, 디코더의 동작과 연관된 값들을 예시하는 표들이 도시된다. 디코더는 도 1 의 디코더 (122) 에 대응할 수도 있다. 도 3 내지 도 4 에서 이용된 바와 같이, 오디오 프레임 시퀀스는 오디오 프레임들이 디코더에서 수신되는 순서를 표시한다. 분류는 수신된 오디오 프레임에 대응하는 분류를 표시한다. 각각의 분류는 도 1 의 분류기 (126) 에 의해 결정될 수도 있다. WB 의 분류는 광대역 컨텐츠를 가지는 것으로서 분류되는 프레임에 대응하고, NB 의 분류는 대역 제한된 컨텐츠를 가지는 것으로서 분류되는 프레임에 대응한다. 백분율 협대역은 대역 제한된 컨텐츠를 가지는 것으로서 분류되었던 최근에 수신된 프레임들의 백분율을 표시한다. 백분율은 예시적인 비제한적 예들로서, 200 또는 500 개의 프레임들과 같은 최근에 수신된 프레임들의 수에 기초할 수도 있다. 적응적 임계치는 특정한 프레임과 연관된 오디오 컨텐츠를 출력하기 위하여 이용되어야 할 출력 모드를 결정하기 위하여, 특정한 프레임에 대한 백분율 협대역에 적용될 수도 있는 임계치를 표시한다. 출력 모드는 특정한 프레임과 연관된 오디오 컨텐츠를 출력하기 위하여 이용되어야 할 모드 (예컨대, 광대역 모드 (WB) 또는 대역 제한된 (NB) 모드) 를 표시한다. 출력 모드는 도 1 의 출력 모드 (134) 에 대응할 수도 있다. 카운트 연속 WB 는 광대역 컨텐츠를 가지는 것으로서 분류되었던 연속으로 수신된 프레임들의 수를 표시할 수도 있다. 활성 프레임 카운트는 디코더에 의해 수신된 활성 프레임들의 수를 표시한다. 프레임은 도 1 의 VAD (140) 와 같은 VAD 에 의해 활성 프레임 (A) 또는 비활성 프레임 (I) 으로서 식별될 수도 있다.
제 1 표 (300) 는 출력 모드의 변경과, 출력 모드에서의 변경에 응답한 적응적 임계치의 변경을 예시한다. 예를 들어, 프레임 (c) 이 수신될 수도 있고, 대역 제한된 컨텐츠 (NB) 와 연관되는 것으로서 분류될 수도 있다. 프레임 (c) 가 수신되는 것에 응답하여, 협대역 프레임들의 백분율은 90 의 적응적 임계치 이상일 수도 있다. 따라서, 출력 모드는 WB 로부터 NB 로 변경되고, 적응적 임계치는 프레임 (d) 와 같은 추후에 수신된 프레임에 적용되어야 할 83 의 값으로 업데이트될 수도 있다. 적응적 값은 프레임 (i) 에 응답하여, 협대역 프레임들의 백분율이 83 의 적응적 임계치보다 더 작을 때까지 83 의 값에서 유지될 수도 있다. 협대역 프레임들의 백분율이 83 의 적응적 임계치보다 더 작은 것에 응답하여, 출력 모드는 NB 로부터 WB 로 변경되고, 적응적 임계치는 프레임 (j) 와 같은 추후에 수신된 프레임에 대한 90 의 값으로 업데이트될 수도 있다. 이에 따라, 제 1 표 (300) 는 적응적 임계치의 변경을 예시한다.
제 2 표 (350) 는 광대역 컨텐츠를 가지는 것으로서 분류되었던 연속으로 수신된 프레임들의 수 (카운트 연속 WB) 가 임계치 값 이상인 것에 응답하여, 출력 모드가 변경될 수도 있다는 것을 예시한다. 예를 들어, 임계치 값은 7 의 값과 동일할 수도 있다. 예시하자면, 프레임 (h) 은 광대역 프레임으로서 분류되는 제 7 순차 수신된 프레임일 수도 있다. 프레임 (h) 을 수신하는 것에 응답하여, 출력 모드는 대역 제한된 모드 (NB) 로부터 스위칭될 수도 있고, 광대역 모드 (WB) 로 설정될 수도 있다. 이에 따라, 제 2 표 (350) 는 광대역 컨텐츠를 가지는 것으로서 분류되었던 연속으로 수신된 프레임들의 수에 응답하여 출력 모드를 변경하는 것을 예시한다.
제 3 표 (400) 는 적응적 임계치와 대비한, 대역 제한된 컨텐츠를 가지는 것으로서 분류된 프레임들의 백분율의 비교가 활성 프레임들의 임계치 수가 디코더에 의해 수신되었을 때까지, 출력 모드를 결정하기 위하여 이용되지 않는 구현예를 예시한다. 예를 들어, 활성 프레임들의 임계치 수는 예시적인 비제한적 예로서, 50 과 동일할 수도 있다. 프레임들 (a) 내지 (aw) 는 대역 제한된 컨텐츠를 가지는 것으로서 분류된 프레임들의 백분율에 관계 없이, 광대역 컨텐츠와 연관된 출력 모드에 대응할 수도 있다. 활성 프레임 카운트가 임계치 수 (예컨대, 50) 이상일 수도 있으므로, 프레임 (ax) 에 대응하는 출력 모드는 적응적 임계치와의, 대역 제한된 컨텐츠를 가지는 것으로서 분류된 프레임들의 백분율의 비교에 기초하여 결정될 수도 있다. 이에 따라, 제 3 표 (400) 는 활성 프레임들의 임계치 수가 수신되었을 때까지 출력 모드를 변경하는 것을 금지하는 것을 예시한다.
제 4 표 (450) 는 프레임이 비활성 프레임으로서 분류되는 것에 응답한 디코더의 동작의 예를 예시한다. 추가적으로, 제 4 표 (450) 는 적응적 임계치와의, 대역 제한된 컨텐츠를 가지는 것으로서 분류된 프레임들의 백분율의 비교가 활성 프레임들의 임계치 수가 디코더에 의해 수신되었을 때까지, 출력 모드를 결정하기 위하여 이용되지 않는다는 것을 예시한다. 예를 들어, 활성 프레임들의 임계치 수는 예시적인 비제한적 예로서, 50 과 동일할 수도 있다.
제 4 표 (450) 는 분류가 비활성 프레임으로서 식별된 프레임에 대하여 결정되지 않을 수도 있다는 것을 예시한다. 추가적으로, 비활성으로서 식별된 프레임은 대역 제한된 컨텐츠를 가지는 프레임들의 백분율 (백분율 협대역) 을 결정하기 위하여 고려되지 않을 수도 있다. 따라서, 적응적 임계치는 특정한 프레임이 비활성으로서 식별될 경우에 비교에서 사용되지 않는다. 또한, 비활성으로서 식별된 프레임의 출력 모드는 가장 최근에 수신된 프레임에 대한 동일한 출력 모드일 수도 있다. 이에 따라, 제 4 표 (450) 는 비활성 프레임들로서 식별되는 하나 이상의 프레임들을 포함하는 프레임들의 시퀀스에 응답한 디코더 동작을 예시한다.
도 5 를 참조하면, 디코더를 동작시키는 방법의 특정한 예시적인 예의 플로우차트가 개시되고 500 으로 전반적으로 지시된다. 디코더는 도 1 의 디코더 (122) 에 대응할 수도 있다. 예를 들어, 방법 (500) 은 도 1 의 제 2 디바이스 (120) (예컨대, 디코더 (122), 제 1 디코드 스테이지 (123), 검출기 (124), 제 2 디코드 스테이지 (132)) 또는 그 조합에 의해 수행될 수도 있다.
방법 (500) 은 502 에서, 디코더에서, 오디오 스트림의 오디오 프레임과 연관된 제 1 디코딩된 스피치를 생성하는 것을 포함한다. 오디오 프레임 및 제 1 디코딩된 스피치는 도 1 의 오디오 프레임 (112) 및 제 1 디코딩된 스피치 (114) 에 각각 대응할 수도 있다. 제 1 디코딩된 스피치는 저대역 컴포넌트 및 고대역 컴포넌트를 포함할 수도 있다. 고대역 컴포넌트는 스펙트럼 에너지 누설에 대응할 수도 있다.
방법 (500) 은 또한, 504 에서, 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 수에 적어도 부분적으로 기초하여 디코더의 출력 모드를 결정하는 것을 포함한다. 예를 들어, 출력 모드는 도 1 의 출력 모드 (134) 에 대응할 수도 있다. 일부 구현예들에서, 출력 모드는 협대역 모드 또는 광대역 모드인 것으로 결정될 수도 있다.
방법 (500) 은 506 에서, 제 1 디코딩된 스피치에 기초하여 제 2 디코딩된 스피치를 출력하는 것으로서, 제 2 디코딩된 스피치는 출력 모드에 따라 출력되는 것을 더 포함한다. 예를 들어, 제 2 디코딩된 스피치는 도 1 의 제 2 디코딩된 스피치 (116) 를 포함할 수도 있거나 이것에 대응할 수도 있다. 출력 모드가 광대역 모드일 경우, 제 2 디코딩된 스피치는 제 1 디코딩된 스피치와 실질적으로 동일할 수도 있다. 예를 들어, 제 2 디코딩된 스피치의 대역폭은 제 2 디코딩된 스피치가 제 1 디코딩된 스피치의 공차 범위와 동일하거나 이 공차 범위 내에 있을 경우에 제 1 디코딩된 스피치의 대역폭과 실질적으로 동일하다. 공차 범위는 설계 공차, 제조 공차, 디코더와 연관된 동작 공차 (예컨대, 프로세싱 공차), 또는 그 조합에 대응할 수도 있다. 출력 모드가 협대역 모드일 경우, 제 2 디코딩된 스피치를 출력하는 것은 제 1 디코딩된 스피치의 저대역 컴포넌트를 유지하는 것과, 제 1 디코딩된 스피치의 고대역 컴포넌트를 감쇠시키는 것을 포함할 수도 있다. 추가적으로 또는 대안적으로, 출력 모드가 협대역 모드일 경우, 제 2 디코딩된 스피치를 출력하는 것은 제 1 디코딩된 스피치의 고대역 컴포넌트와 연관된 하나 이상의 주파수 대역들을 감쇠시키는 것을 포함할 수도 있다. 일부 구현예들에서, 고대역 컴포넌트의 감쇠, 또는 고대역과 연관된 주파수 대역들 중의 하나 이상의 주파수 대역의 감쇠는 고대역 컴포넌트를 "제로 아웃하는 것", 또는 고대역 컨텐츠와 연관된 주파수 대역들 중의 하나 이상을 "제로 아웃하는 것" 을 의미할 수 있다.
일부 구현예들에서, 방법 (500) 은 저대역 컴포넌트와 연관된 제 1 에너지 메트릭 및 고대역 컴포넌트와 연관된 제 2 에너지 메트릭에 기초하는 비율 값을 결정하는 것을 포함할 수도 있다. 방법 (500) 은 또한, 비율 값을 분류 임계치와 비교하는 것과, 비율 값이 분류 임계치보다 더 큰 것에 응답하여, 오디오 프레임을 대역 제한된 컨텐츠와 연관되는 것으로서 분류하는 것을 포함할 수도 있다. 오디오 프레임이 대역 제한된 컨텐츠와 연관될 경우, 제 2 디코딩된 스피치를 출력하는 것은, 제 2 디코딩된 스피치를 생성하기 위하여 제 1 디코딩된 스피치의 고대역 컴포넌트를 감쇠시키는 것을 포함할 수도 있다. 대안적으로, 오디오 프레임이 대역 제한된 컨텐츠와 연관될 경우, 제 2 디코딩된 스피치를 출력하는 것은, 제 2 디코딩된 스피치를 생성하기 위하여, 고대역 컴포넌트와 연관된 하나 이상의 대역들의 에너지 값을 특정한 값으로 설정하는 것을 포함할 수도 있다. 예시적인 비제한적 예로서, 특정한 값은 제로일 수도 있다.
일부 구현예들에서, 방법 (500) 은 오디오 프레임을 협대역 프레임 또는 광대역 프레임으로서 분류하는 것을 포함할 수도 있다. 협대역 프레임의 분류는 대역 제한된 컨텐츠와 연관되는 것에 대응한다. 방법 (500) 은 또한, 대역 제한된 컨텐츠와 연관되는 다수의 오디오 프레임들의 오디오 프레임들의 제 2 카운트에 대응하는 메트릭 값을 결정하는 것을 포함할 수도 있다. 다수의 오디오 프레임들은 도 1 의 제 2 디바이스 (120) 에서 수신된 오디오 스트림에 대응할 수도 있다. 다수의 오디오 프레임들은 오디오 프레임 (예컨대, 도 1 의 오디오 프레임 (112) 및 제 2 오디오 프레임을 포함할 수도 있다. 예를 들어, 대역 제한된 컨텐츠와 연관되는 오디오 프레임들의 제 2 카운트는 도 1 의 추적기 (128) 에서 유지 (예컨대, 저장) 될 수도 있다. 예시하자면, 대역 제한된 컨텐츠와 연관되는 오디오 프레임들의 제 2 카운트는 도 1 의 추적기 (128) 에서 유지된 특정한 메트릭 값에 대응할 수도 있다. 방법 (500) 은 또한, 메트릭 값 (예컨대, 오디오 프레임들의 제 2 카운트) 에 기초하여, 도 1 의 시스템 (100) 을 참조하여 설명된 바와 같은 적응적 임계치와 같은 임계치를 선택하는 것을 포함할 수도 있다. 예시하자면, 오디오 프레임들의 제 2 카운트는 오디오 프레임과 연관된 출력 모드를 선택하기 위하여 이용될 수도 있고, 적응적 임계치는 출력 모드에 기초하여 선택될 수도 있다.
일부 구현예들에서, 방법 (500) 은 제 1 디코딩된 스피치의 저대역 컴포넌트와 연관된 다수의 주파수 대역들의 제 1 세트와 연관된 제 1 에너지 메트릭을 결정하는 것과, 제 1 디코딩된 스피치의 고대역 컴포넌트와 연관된 다수의 주파수 대역들의 제 2 세트와 연관된 제 2 에너지 메트릭을 결정하는 것을 포함할 수도 있다. 제 1 에너지 메트릭을 결정하는 것은 다수의 주파수 대역들의 제 1 세트의 대역들의 서브세트의 평균 에너지 값을 결정하는 것과, 제 1 에너지 메트릭을 평균 에너지 값과 동일하게 설정하는 것을 포함할 수도 있다. 제 2 에너지 메트릭을 결정하는 것은 다수의 주파수 대역들의 제 2 세트의 최고 검출된 에너지 값을 가지는 다수의 주파수 대역들의 제 2 세트의 특정한 주파수 대역을 결정하는 것과, 제 2 에너지 메트릭을 최고 검출된 에너지 값과 동일하게 설정하는 것을 포함할 수도 있다. 제 1 서브-범위 및 제 2 서브-범위는 상호 배타적일 수도 있다. 일부 구현예들에서, 제 1 서브-범위 및 제 2 서브-범위는 주파수 범위의 전이 대역에 의해 분리된다.
일부 구현예들에서, 방법 (500) 은 오디오 스트림의 제 2 오디오 프레임을 수신하는 것에 응답하여, 디코더에서 수신되며 광대역 컨텐츠를 가지는 것으로서 분류되는 연속 오디오 프레임들의 제 3 카운트를 결정하는 것을 포함할 수도 있다. 예를 들어, 광대역 컨텐츠를 가지는 연속 오디오 프레임들의 제 3 카운트는 도 1 의 추적기 (128) 에서 유지 (예컨대, 저장) 될 수도 있다. 방법 (500) 은 광대역 컨텐츠를 가지는 연속 오디오 프레임들의 제 3 카운트가 임계치 이상인 것에 응답하여, 출력 모드를 광대역 모드로 업데이트하는 것을 더 포함할 수도 있다. 예시하자면, 504 에서 결정된 출력 모드가 대역 제한된 모드와 연관될 경우, 출력 모드는 광대역 컨텐츠를 가지는 연속 오디오 프레임들의 제 3 카운트가 임계치 이상일 경우에 광대역 모드로 업데이트될 수도 있다. 추가적으로, 연속 오디오 프레임들의 제 3 카운트가 임계치 이상일 경우, 출력 모드는 대역 제한된 컨텐츠를 가지는 것으로서 분류된 오디오 프레임들의 수 (또는 광대역 컨텐츠를 가지는 것으로서 분류된 프레임들의 수) 및 적응적 임계치에 기초하는 비교에 관계 없이 업데이트될 수도 있다.
일부 구현예들에서, 방법 (500) 은 디코더에서, 대역 제한된 컨텐츠와 연관되는 다수의 제 2 오디오 프레임들의 제 2 오디오 프레임들의 상대적인 카운트에 대응하는 메트릭 값을 결정하는 것을 포함할 수도 있다. 특정한 구현예에서, 메트릭 값을 결정하는 것은 오디오 프레임을 수신하는 것에 응답하여 수행될 수도 있다. 예를 들어, 도 1 의 분류기 (126) 는 도 1 을 참조하여 설명된 바와 같이, 대역 제한된 컨텐츠와 연관된 오디오 프레임들의 카운트에 대응하는 메트릭 값을 결정할 수도 있다. 방법 (500) 은 또한, 디코더의 출력 모드에 기초하여 임계치를 선택하는 것을 포함할 수도 있다. 출력 모드는 임계치와의 메트릭 값의 비교에 기초하여 제 1 모드로부터 제 2 모드로 선택적으로 업데이트될 수도 있다. 예를 들어, 도 1 의 평탄화 로직 (130) 은 도 1 을 참조하여 설명된 바와 같이, 출력 모드를 제 1 모드로부터 제 2 모드로 선택적으로 업데이트할 수도 있다.
일부 구현예들에서, 방법 (500) 은 오디오 프레임이 활성 프레임인지 여부를 결정하는 것을 포함할 수도 있다. 예를 들어, 도 1 의 VAD (140) 는 오디오 프레임이 활성 또는 비활성인지 여부를 표시할 수도 있다. 오디오 프레임이 활성 프레임인 것으로 결정하는 것에 응답하여, 디코더의 출력 모드가 결정될 수도 있다.
일부 구현예들에서, 방법 (500) 은 디코더에서 오디오 스트림의 제 2 오디오 프레임을 수신하는 것을 포함할 수도 있다. 예를 들어, 디코더 (122) 는 도 3 의 오디오 프레임 (b) 을 수신할 수도 있다. 방법 (500) 은 또한, 제 2 오디오 프레임이 비활성 프레임인지 여부를 결정하는 것을 포함할 수도 있다. 방법 (500) 은 제 2 오디오 프레임이 비활성 프레임인 것으로 결정하는 것에 응답하여, 디코더의 출력 모드를 유지하는 것을 더 포함할 수도 있다. 예를 들어, 분류기 (126) 는 도 1 을 참조하여 설명된 바와 같이, VAD (140) 가 제 2 오디오 프레임이 비활성 프레임인 것을 표시하는 것에 응답하여, 분류를 출력하지 않을 수도 있다. 또 다른 예로서, 검출기 (124) 는 도 1 을 참조하여 설명된 바와 같이, 이전의 출력 모드를 유지할 수도 있고, VAD (140) 가 제 2 오디오 프레임이 비활성 프레임인 것을 표시하는 것에 응답하여, 제 2 프레임에 대한 출력 모드 (134) 를 결정하지 않을 수도 있다.
일부 구현예들에서, 방법 (500) 은 디코더에서 오디오 스트림의 제 2 오디오 프레임을 수신하는 것을 포함할 수도 있다. 예를 들어, 디코더 (122) 는 도 3 의 오디오 프레임 (b) 을 수신할 수도 있다. 방법 (500) 은 또한, 디코더에서 수신되며 광대역 컨텐츠와 연관되는 것으로서 분류되는, 제 2 오디오 프레임을 포함하는 연속 오디오 프레임들의 수를 결정하는 것을 포함할 수도 있다. 예를 들어, 도 1 의 추적기 (128) 는 도 1 및 도 3 을 참조하여 설명된 바와 같이, 광대역 컨텐츠와 연관되는 것으로서 분류된 연속 오디오 프레임들의 수를 카운팅할 수도 있고 결정할 수도 있다. 방법 (500) 은 광대역 컨텐츠와 연관되는 것으로서 분류된 연속 오디오 프레임들의 수가 임계치 이상인 것에 응답하여, 제 2 오디오 프레임과 연관된 제 2 출력 모드를 광대역 모드인 것으로 선택하는 것을 더 포함할 수도 있다. 예를 들어, 도 1 의 평탄화 로직 (130) 은 도 3 의 제 2 표 (350) 를 참조하여 설명된 바와 같이, 광대역 컨텐츠와 연관되는 것으로서 분류된 연속 오디오 프레임들의 수가 임계치 이상인 것에 응답하여 출력 모드를 선택할 수도 있다.
일부 구현예들에서, 방법 (500) 은 광대역 모드를, 제 2 오디오 프레임과 연관된 제 2 출력 모드로서 선택하는 것을 포함할 수도 있다. 방법 (500) 은 또한, 광대역 모드를 선택하는 것에 응답하여, 제 2 오디오 프레임과 연관된 출력 모드를 제 1 모드로부터 광대역 모드로 업데이트하는 것을 포함할 수도 있다. 방법 (500) 은 도 3 의 제 2 표 (350) 를 참조하여 설명된 바와 같이, 출력 모드를 제 1 모드로부터 광대역 모드로 업데이트하는 것에 응답하여, 수신된 오디오 프레임들의 카운트를 제 1 초기 값으로 설정하는 것, 대역 제한된 컨텐츠와 연관되는 오디오 스트림의 오디오 프레임들의 상대적인 카운트에 대응하는 메트릭 값을 제 2 초기 값으로 설정하는 것, 또는 양자 모두를 더 포함할 수도 있다. 일부 구현예들에서, 제 1 초기 값 및 제 2 초기 값은 제로와 같은 동일한 값일 수도 있다.
일부 구현예들에서, 방법 (500) 은 디코더에서 오디오 스트림의 다수의 오디오 프레임들을 수신하는 것을 포함할 수도 있다. 다수의 오디오 프레임들은 오디오 프레임 치 제 2 오디오 프레임을 포함할 수도 있다. 방법 (500) 은 또한, 제 2 오디오 프레임을 수신하는 것에 응답하여, 디코더에서, 대역 제한된 컨텐츠와 연관되는 다수의 오디오 프레임들의 오디오 프레임들의 상대적인 카운트에 대응하는 메트릭 값을 결정하는 것을 포함할 수도 있다. 방법 (500) 은 디코더의 출력 모드의 제 1 모드에 기초하여 임계치를 선택하는 것을 포함할 수도 있다. 제 1 모드는 제 2 오디오 프레임 이전에 수신된 오디오 프레임과 연관될 수도 있다. 방법 (500) 은 임계치와의 메트릭 값의 비교에 기초하여, 출력 모드를 제 1 모드로부터 제 2 모드로 업데이트하는 것을 더 포함할 수도 있다. 제 2 모드는 제 2 오디오 프레임과 연관될 수도 있다.
일부 구현예들에서, 방법 (500) 은 디코더에서, 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 수에 대응하는 메트릭 값을 결정하는 것을 포함할 수도 있다. 방법 (500) 은 또한, 디코더의 이전의 출력 모드에 기초하여 임계치를 선택하는 것을 포함할 수도 있다. 디코더의 출력 모드는 임계치와의 메트릭 값의 비교에 기초하여 추가로 결정될 수도 있다.
일부 구현예들에서, 방법 (500) 은 디코더에서 오디오 스트림의 제 2 오디오 프레임을 수신하는 것을 포함할 수도 있다. 방법 (500) 은 또한, 디코더에서 수신되며 광대역 컨텐츠와 연관되는 것으로서 분류되는, 제 2 오디오 프레임을 포함하는 연속 오디오 프레임들의 수를 결정하는 것을 포함할 수도 있다. 방법 (500) 은 연속 오디오 프레임들의 수가 임계치 이상인 것에 응답하여 제 2 오디오 프레임과 연관된 제 2 출력 모드를 광대역 모드인 것으로 선택하는 것을 더 포함할 수도 있다.
방법 (500) 은 이에 따라, 디코더가 오디오 프레임과 연관된 오디오 컨텐츠를 출력하기 위한 출력 모드를 선택하는 것을 가능하게 할 수도 있다. 예를 들어, 출력 모드가 협대역 모드일 경우, 디코더는 오디오 프레임과 연관된 협대역 컨텐츠를 출력할 수도 있고, 오디오 프레임과 연관된 고대역 컨텐츠를 출력하는 것을 금지할 수도 있다.
도 6 을 참조하면, 오디오 프레임을 프로세싱하는 방법의 특정한 예시적인 예의 플로우차트가 개시되고 600 으로 전반적으로 지시된다. 오디오 프레임은 도 1 의 오디오 프레임 (112) 을 포함할 수도 있거나 이것에 대응할 수도 있다. 예를 들어, 방법 (600) 은 도 1 의 제 2 디바이스 (120) (예컨대, 디코더 (122), 제 1 디코드 스테이지 (123), 검출기 (124), 분류기 (126), 제 2 디코드 스테이지 (132)) 또는 그 조합에 의해 수행될 수도 있다.
방법 (600) 은 602 에서, 디코더에서 오디오 스트림의 오디오 프레임을 수신하고, 오디오 프레임은 주파수 범위와 연관되는 것을 포함한다. 오디오 프레임은 도 1 의 오디오 프레임 (112) 에 대응할 수도 있다. 주파수 범위는 0 내지 8 kHz 와 같은 광대역 주파수 범위 (예컨대, 광대역 대역폭) 와 연관될 수도 있다. 광대역 주파수 범위는 저대역 주파수 범위 및 고대역 주파수 범위를 포함할 수도 있다.
방법 (600) 은 또한, 604 에서, 주파수 범위의 제 1 서브-범위와 연관된 제 1 에너지 메트릭을 결정하는 것과, 606 에서, 주파수 범위의 제 2 서브-범위와 연관된 제 2 에너지 메트릭을 결정하는 것을 포함한다. 제 1 에너지 메트릭 및 제 2 에너지 메트릭은 도 1 의 디코더 (122) (예컨대, 검출기 (124)) 에 의해 생성될 수도 있다. 제 1 서브-범위는 저대역 (예컨대, 협대역) 의 부분에 대응할 수도 있다. 예를 들어, 저대역이 0 내지 4 kHz 의 대역폭을 가질 경우, 제 1 서브-범위는 0.8 내지 3.6 kHz 의 대역폭을 가질 수도 있다. 제 1 서브-범위는 오디오 프레임의 저대역 컴포넌트와 연관될 수도 있다. 제 2 서브-범위는 고대역의 부분에 대응할 수도 있다. 예를 들어, 고대역이 4 내지 8 kHz 의 대역폭을 가질 경우, 제 2 서브-범위는 4.4 내지 8 kHz 의 대역폭을 가질 수도 있다. 제 2 서브-범위는 오디오 프레임의 고대역 컴포넌트와 연관될 수도 있다.
방법 (600) 은 608 에서, 제 1 에너지 메트릭 및 제 2 에너지 메트릭에 기초하여, 오디오 프레임을 대역 제한된 컨텐츠와 연관되는 것으로서 분류할 것인지 여부를 결정하는 것을 더 포함한다. 대역 제한된 컨텐츠는 오디오 프레임의 협대역 컨텐츠 (예컨대, 저대역 컨텐츠) 에 대응할 수도 있다. 오디오 프레임의 고대역 내에 포함된 컨텐츠는 스펙트럼 에너지 누설과 연설될 수도 있다. 제 1 서브-범위는 다수의 제 1 대역들을 포함할 수도 있다. 다수의 제 1 대역들의 각각의 대역은 동일한 대역폭을 가질 수도 있고, 제 1 에너지 메트릭을 결정하는 것은 다수의 제 1 대역들의 2 개 이상의 대역들의 평균 에너지 값을 계산하는 것을 포함할 수도 있다. 제 2 서브-범위는 다수의 제 2 대역들을 포함할 수도 있다. 다수의 제 2 대역들의 각각의 대역은 동일한 대역폭을 가질 수도 있고, 제 2 에너지 메트릭을 결정하는 것은 다수의 제 2 대역들의 피크 에너지 값을 결정하는 것을 포함할 수도 있다.
일부 구현예들에서, 제 1 서브-범위 및 제 2 서브-범위는 상호 배타적일 수도 있다. 예를 들어, 제 1 서브-범위 및 제 2 서브-범위는 주파수 범위의 전이 대역에 의해 분리될 수도 있다. 전이 대역은 고대역과 연관될 수도 있다.
방법 (600) 은 이에 따라, 디코더가 오디오 프레임이 대역 제한된 컨텐츠 (예컨대, 협대역 컨텐츠) 를 포함하는지 여부를 분류하는 것을 가능하게 할 수도 있다. 대역 제한된 컨텐츠를 가지는 것으로서의 오디오 프레임의 분류는 디코더가 디코더의 출력 모드 (예컨대, 합성 모드) 를 협대역 모드로 설정하는 것을 가능하게 할 수도 있다. 출력 모드가 협대역 모드로서 설정될 때, 디코더는 수신된 오디오 프레임들의 대역 제한된 컨텐츠 (예컨대, 협대역 컨텐츠) 를 출력할 수도 있고, 수신된 오디오 프레임들과 연관된 고대역 컨텐츠를 출력하는 것을 금지할 수도 있다.
도 7 을 참조하면, 디코더를 동작시키는 방법의 특정한 예시적인 예의 플로우차트가 개시되고 700 으로 전반적으로 지시된다. 디코더는 도 1 의 디코더 (122) 에 대응할 수도 있다. 예를 들어, 방법 (700) 은 도 1 의 제 2 디바이스 (120) (예컨대, 디코더 (122), 제 1 디코드 스테이지 (123), 검출기 (124), 제 2 디코드 스테이지 (132)) 또는 그 조합에 의해 수행될 수도 있다.
방법 (700) 은 702 에서, 디코더에서 오디오 스트림의 다수의 오디오 프레임들을 수신하는 것을 포함한다. 다수의 오디오 프레임들은 도 1 의 오디오 프레임 (112) 을 포함할 수도 있다. 일부 구현예들에서, 방법 (700) 은 디코더에서, 다수의 오디오 프레임들의 각각의 오디오 프레임에 대하여, 프레임이 대역 제한된 컨텐츠와 연관되는지 여부를 결정하는 것을 포함할 수도 있다.
방법 (700) 은 704 에서, 제 1 오디오 프레임을 수신하는 것에 응답하여, 디코더에서, 대역 제한된 컨텐츠와 연관되는 다수의 오디오 프레임들의 오디오 프레임들의 상대적인 카운트에 대응하는 메트릭 값을 결정하는 것을 포함한다. 예를 들어, 메트릭 값은 NB 프레임들의 카운트에 대응할 수도 있다. 일부 구현예들에서, 메트릭 값 (예컨대, 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 카운트) 은 프레임들의 수 (예컨대, 가장 최근에 수신된 활성 프레임들의 최대한으로 100) 의 백분율로서 결정될 수도 있다.
방법 (700) 은 또한, 706 에서, 디코더의 (제 1 오디오 프레임 이전에 수신된 오디오 스트림의 제 2 오디오 프레임과 연관된) 출력 모드에 기초하여 임계치를 선택하는 것을 포함한다. 예를 들어, 출력 모드 (예컨대, 출력 모드) 는 도 1 의 출력 모드 (134) 에 대응할 수도 있다. 출력 모드는 광대역 모드 또는 협대역 모드 (예컨대, 대역 제한된 모드) 일 수도 있다. 임계치는 도 1 의 하나 이상의 임계치들 (131) 에 대응할 수도 있다. 임계치는 제 1 값을 가지는 광대역 임계치, 및 제 2 값을 가지는 협대역 임계치로서 선택될 수도 있다. 제 1 값은 제 2 값보다 더 클 수도 있다. 출력 모드가 광대역 모드인 것으로 결정하는 것에 응답하여, 광대역 임계치는 임계치로서 선택될 수도 있다. 출력 모드가 협대역 모드인 것으로 결정하는 것에 응답하여, 협대역 임계치는 임계치로서 선택될 수도 있다.
방법 (700) 은 708 에서, 임계치와의 메트릭 값의 비교에 기초하여, 출력 모드를 제 1 모드로부터 제 2 모드로 업데이트하는 것을 더 포함할 수도 있다.
일부 구현예들에서, 제 1 모드는 오디오 스트림의 제 2 오디오 프레임에 부분적으로 기초하여 선택될 수도 있고, 제 2 오디오 프레임은 제 1 오디오 프레임 이전에 수신될 수도 있다. 예를 들어, 제 2 오디오 프레임을 수신하는 것에 응답하여, 출력 모드는 광대역 모드로 설정되었을 수도 있다 (예컨대, 이 예에서, 제 1 모드는 광대역 모드임). 임계치를 선택하기 이전에, 제 2 오디오 프레임에 대응하는 출력 모드는 광대역 모드인 것으로 검출될 수도 있다. (제 2 오디오 프레임에 대응하는) 출력 모드가 광대역 모드인 것으로 결정하는 것에 응답하여, 광대역 임계치는 임계치로서 선택될 수도 있다. 메트릭 값이 광대역 임계치 이상일 경우, (제 1 오디오 프레임에 대응하는) 출력 모드는 협대역 모드로 업데이트될 수도 있다.
다른 구현예들에서, 제 2 오디오 프레임을 수신하는 것에 응답하여, 출력 모드는 협대역 모드로 설정되었을 수도 있다 (예컨대, 이 예에서, 제 1 모드는 협대역 모드임). 임계치를 선택하기 이전에, 제 2 오디오 프레임에 대응하는 출력 모드는 협대역 모드인 것으로 검출될 수도 있다. (제 2 오디오 프레임에 대응하는) 출력 모드가 협대역 모드인 것으로 결정하는 것에 응답하여, 협대역 임계치는 임계치로서 선택될 수도 있다. 메트릭 값이 협대역 임계치 이하일 경우, (제 1 오디오 프레임에 대응하는) 출력 모드는 광대역 모드로 업데이트될 수도 있다.
일부 구현예들에서, 제 1 오디오 프레임의 저대역 컴포넌트와 연관된 평균 에너지 값은 제 1 오디오 프레임의 저대역 컴포넌트의 대역들의 서브세트와 연관된 특정한 평균 에너지에 대응할 수도 있다.
일부 구현예들에서, 방법 (700) 은 디코더에서, 활성 프레임으로서 표시된 다수의 오디오 프레임들의 적어도 하나의 오디오 프레임에 대하여, 적어도 하나의 오디오 프레임이 대역 제한된 컨텐츠와 연관되는지 여부를 결정하는 것을 포함할 수도 있다. 예를 들어, 디코더 (122) 는 도 2 를 참조하여 설명된 바와 같이, 오디오 프레임 (112) 의 에너지 레벨에 기초하여, 오디오 프레임 (112) 이 대역 제한된 컨텐츠와 연관되는 것으로 결정할 수도 있다.
일부 구현예들에서, 메트릭 값을 결정하기 이전에, 제 1 오디오 프레임은 활성 프레임인 것으로 결정될 수도 있고, 제 1 오디오 프레임의 저대역 컴포넌트와 연관된 평균 에너지 값이 결정될 수도 있다. 평균 에너지 값이 임계치 에너지 값보다 더 큰 것으로 결정하는 것에 응답하여, 그리고 제 1 오디오 프레임이 활성 프레임인 것으로 결정하는 것에 응답하여, 메트릭 값은 제 1 값으로부터 제 2 값으로 업데이트될 수도 있다. 메트릭 값이 제 2 값으로 업데이트된 후, 제 1 오디오 프레임이 수신되는 것에 응답하여, 메트릭 값은 제 2 값을 가지는 것으로서 식별될 수도 있다. 방법 (500) 은 제 1 오디오 프레임이 수신되는 것에 응답하여 제 2 값을 식별하는 것을 포함할 수도 있다. 예를 들어, 제 1 값은 광대역 임계치에 대응할 수도 있고, 제 2 값은 협대역 임계치에 대응할 수도 있다. 디코더 (122) 는 광대역 임계치로 이전에 설정되었을 수도 있고, 디코더는 도 1 및 도 2 를 참조하여 설명된 바와 같이, 오디오 프레임 (112) 을 수신하는 것에 응답하여 협대역 임계치를 선택할 수도 있다.
추가적으로 또는 대안적으로, 평균 에너지 값이 임계치 값 이하인 것, 또는 제 1 오디오 프레임이 활성 프레임이 아닌 것의 어느 하나로 결정하는 것에 응답하여, 메트릭 값은 유지될 수도 있다 (예컨대, 업데이트되지 않음). 일부 구현예들에서, 임계치 에너지 값은 (제 1 오디오 프레임을 포함할 수도 있거나 포함하지 않을 수도 있는) 과거의 20 개의 프레임들의 평균 저대역 에너지의 평균과 같은, 다수의 수신된 프레임들의 평균 저대역 에너지 값에 기초할 수도 있다. 일부 구현예들에서, 임계치 에너지 값은 (제 1 오디오 프레임을 포함할 수도 있거나 포함하지 않을 수도 있는) 통신 (예컨대, 전화 호출) 의 초반부터 수신된 다수의 활성 프레임들의 평탄화된 평균 저대역 에너지에 기초할 수도 있다. 예로서, 임계치 에너지 값은 통신의 초반부터 수신된 모든 활성 프레임들의 평탄화된 평균 저대역 에너지에 기초할 수도 있다. 예시의 목적들을 위하여, 이 평탄화 로직의 특정한 예는 다음일 수도 있다:
Figure 112017096405680-pct00001
여기서,
Figure 112017096405680-pct00002
은 현재의 오디오 프레임 (이 예에서, 제 1 오디오 프레임으로서 또한 지칭된 프레임 "n") 의 평균 저대역 에너지 (nrg_LB(n)) 에 기초하여 업데이트되는, 초반부터의 (예컨대, 프레임 0 부터의) 모든 활성 프레임들의 저대역의 평탄화된 평균 에너지이고,
Figure 112017096405680-pct00003
은 현재의 프레임의 에너지를 제외한, 초반부터의 모든 활성 프레임들의 저대역의 평균 에너지 (예컨대, 프레임 "n" 을 제외한, 프레임 0 부터 프레임 "n-1" 까지의 활성 프레임들에 대한 평균) 이다.
특정한 예를 계속하면, 제 1 오디오 프레임의 평균 저대역 에너지
Figure 112017096405680-pct00004
는 제 1 오디오 프레임을 선행하며 제 1 오디오 프레임의 평균 저대역 에너지를 포함하는 모든 프레임들의 평균 에너지
Figure 112017096405680-pct00005
에 기초하여 계산된 저대역의 평탄화된 평균 에너지와 비교될 수도 있고, 평균 저대역 에너지
Figure 112017096405680-pct00006
가 저대역의 평탄화된 평균 에너지
Figure 112017096405680-pct00007
보다 더 큰 것으로 구해질 경우, 대역 제한된 컨텐츠와 연관되는 다수의 오디오 프레임들의 오디오 프레임들의 상대적인 카운트에 대응하는 700 에서 설명된 메트릭 값은 608 에서 도 6 을 참조하여 설명된 것과 같이, 제 1 오디오 프레임을 광대역 컨텐츠 또는 대역 제한된 것과 연관되는 것으로서 분류할 것인지 여부의 결정에 기초하여 업데이트될 수도 있다. 평균 저대역 에너지
Figure 112017096405680-pct00008
가 저대역의 평탄화된 평균 에너지
Figure 112017096405680-pct00009
이하인 것으로 구해질 경우, 대역 제한된 컨텐츠와 연관되는 다수의 오디오 프레임들의 오디오 프레임들의 상대적인 카운트에 대응하는 방법 (700) 을 참조하여 설명된 메트릭 값은 업데이트되지 않을 수도 있다.
대안적인 구현예에서, 제 1 오디오 프레임의 저대역 컴포넌트와 연관된 평균 에너지 값은 제 1 오디오 프레임의 저대역 컴포넌트의 대역들의 서브세트와 연관된 평균 에너지 값으로 대체될 수 있다. 추가적으로, 임계치 에너지 값은 또한, (제 1 오디오 프레임을 포함할 수도 있거나 포함하지 않을 수도 있는) 과거의 20 개의 프레임들의 평균 저대역 에너지의 평균에 기초할 수도 있다. 대안적으로, 임계치 에너지 값은 전화 호출과 같은 통신의 초반부터 모든 활성 프레임들의 저대역 컴포넌트에 대응하는 대역들의 서브세트와 연관된 평탄화된 평균 에너지 값에 기초할 수도 있다. 활성 프레임들은 제 1 오디오 프레임을 포함할 수도 있거나 포함하지 않을 수도 있다.
일부 구현예들에서, VAD 에 의해 비활성 프레임으로서 표시된 다수의 오디오 프레임들의 각각의 오디오 프레임에 대하여, 디코더는 출력 모드를 가장 최근에 수신된 활성 프레임의 특정한 모드와 동일하도록 유지할 수도 있다.
방법 (700) 은 이에 따라, 디코더가 수신된 오디오 프레임과 연관된 오디오 컨텐츠를 출력하기 위한 출력 모드를 업데이트 (또는 유지) 하는 것을 가능하게 할 수도 있다. 예를 들어, 디코더는 수신된 오디오 프레임들이 대역 제한된 컨텐츠를 포함한다는 결정에 기초하여, 출력 모드를 협대역 모드로 설정할 수도 있다. 디코더는 디코더가 대역 제한된 컨텐츠를 포함하지 않는 추가적인 오디오 프레임들을 수신하고 있다는 검출에 응답하여, 출력 모드를 협대역 모드로부터 광대역 모드로 변경할 수도 있다.
도 8 을 참조하면, 디코더를 동작시키는 방법의 특정한 예시적인 예의 플로우차트가 개시되고 800 으로 전반적으로 지시된다. 디코더는 도 1 의 디코더 (122) 에 대응할 수도 있다. 예를 들어, 방법 (800) 은 도 1 의 제 2 디바이스 (120) (예컨대, 디코더 (122), 제 1 디코드 스테이지 (123), 검출기 (124), 제 2 디코드 스테이지 (132)) 또는 그 조합에 의해 수행될 수도 있다.
방법 (800) 은 802 에서, 디코더에서 오디오 스트림의 제 1 오디오 프레임을 수신하는 것을 포함한다. 예를 들어, 제 1 오디오 프레임은 도 1 의 오디오 프레임 (112) 에 대응할 수도 있다.
방법 (800) 은 또한, 804 에서, 디코더에서 수신되며 광대역 컨텐츠와 연관되는 것으로서 분류되는, 제 1 오디오 프레임을 포함하는 연속 오디오 프레임들의 카운트를 결정하는 것을 포함한다. 일부 구현예들에서, 804 로 참조된 카운트는 대안적으로, 디코더에서 수신되며 광대역 컨텐츠와 연관되는 것으로서 분류되는, 제 1 오디오 프레임을 포함하는 (도 1 의 VAD (140) 와 같은 수신된 VAD 들에 의해 분류된) 연속 활성 프레임들의 카운트일 수 있다. 예를 들어, 연속 오디오 프레임들의 카운트는 도 1 의 추적기 (128) 에 의해 추적된 연속 광대역 프레임들의 수에 대응할 수도 있다.
방법 (800) 은 806 에서, 연속 오디오 프레임들의 카운트가 임계치 이상인 것에 응답하여, 제 1 오디오 프레임과 연관된 출력 모드를 광대역 모드인 것으로 결정하는 것을 더 포함한다. 임계치는 1 이상인 값을 가질 수도 있다. 예시적인 비제한적 예들로서, 임계치의 값은 20 일 수도 있다.
대안적인 구현예에서, 방법 (800) 은 특정 크기의 큐 버퍼 (queue buffer) 를 유지하는 것으로서, 큐 버퍼의 크기는 임계치 (예컨대, 예시적인 비제한적 예로서, 20) 와 동일한 것과, 제 1 오디오 프레임의 분류를 포함하는 프레임들 (또는 활성 프레임들) 의 과거 연속 임계치 수의 분류기 (126) 로부터의 분류 (광대역 컨텐츠와 연관되는지, 또는 대역 제한된 컨텐츠와 연관되는지 여부) 로 큐 버퍼를 업데이트하는 것을 포함할 수도 있다. 큐 버퍼는 도 1 의 추적기 (128) (또는 그 컴포넌트) 를 포함할 수도 있거나 이것에 대응할 수도 있다. 큐 버퍼에 의해 표시된 바와 같이, 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 프레임들 (또는 활성 프레임들) 의 수가 제로인 것으로 구해질 경우, 그것은 광대역으로서 분류된 제 1 프레임을 포함하는 연속 프레임들 (또는 활성 프레임들) 의 수가 임계치 이상인 것으로 결정하는 것과 동등하다. 예를 들어, 도 1 의 평탄화 로직 (130) 은 큐 버퍼에 의해 표시된 바와 같이, 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 프레임들 (또는 활성 프레임들) 의 수가 제로인 것으로 구해지는지 여부를 결정할 수도 있다.
일부 구현예들에서, 제 1 오디오 프레임을 수신하는 것에 응답하여, 방법 (800) 은 제 1 오디오 프레임이 활성 프레임인 것으로 결정하는 것과, 수신된 프레임들의 카운트를 증분시키는 것을 포함할 수도 있다. 예를 들어, 제 1 오디오 프레임은 도 1 의 VAD (140) 와 같은 VAD 에 기초하여 활성 프레임인 것으로 결정될 수도 있다. 일부 구현예들에서, 수신된 프레임들의 카운트는 제 1 오디오 프레임이 활성 프레임인 것에 응답하여 증분될 수도 있다. 일부 구현예들에서, 수신된 활성 프레임들의 카운트는 최대 값에서 상한설정 (예컨대, 그것으로 제한) 될 수도 있다. 예를 들어, 최대 값은 예시적인 비제한적 예로서, 100 일 수도 있다.
추가적으로, 제 1 오디오 프레임을 수신하는 것에 응답하여, 방법 (800) 은 광대역 컨텐츠 또는 협대역 컨텐츠로 연관되는 것으로서의 제 1 오디오 프레임의 분류를 결정하는 것을 포함할 수도 있다. 연속 오디오 프레임들의 수는 제 1 오디오 프레임의 분류가 결정된 후에 결정될 수도 있다. 연속 오디오 프레임들의 수가 결정된 후, 방법 (800) 은 수신된 프레임들의 카운트 (또는 수신된 활성 프레임들의 카운트) 가 예시적인 비제한적 예로서, 50 의 임계치와 같은 제 2 임계치 이상인지 여부를 결정할 수도 있다. 제 1 오디오 프레임과 연관된 출력 모드는 수신된 활성 프레임들의 카운트가 제 2 임계치 미만인 것으로 결정하는 것에 응답하여, 광대역 모드인 것으로 결정될 수도 있다.
일부 구현예들에서, 방법 (800) 은 연속 오디오 프레임들의 수가 임계치 이상인 것에 응답하여, 제 1 오디오 프레임과 연관된 출력 모드를 제 1 모드로부터 광대역 모드로 설정하는 것을 포함할 수도 있다. 예를 들어, 제 1 모드는 협대역 모드일 수도 있다. 연속 오디오 프레임들의 수가 임계치 이상인 것으로 결정하는 것에 기초하여 출력 모드를 제 1 모드로부터 광대역 모드로 설정하는 것에 응답하여, 수신된 오디오 프레임들의 카운트 (또는 수신된 활성 프레임들의 카운트) 는 예시적인 비제한적 예로서, 제로의 값과 같은 초기 값으로 설정될 수도 있다. 추가적으로 또는 대안적으로, 연속 오디오 프레임들의 수가 임계치 이상인 것으로 결정하는 것에 기초하여 출력 모드를 제 1 모드로부터 광대역 모드로 설정하는 것에 응답하여, 도 7 의 방법 (700) 을 참조하여 설명된 바와 같이, 대역 제한된 컨텐츠와 연관되는 다수의 오디오 프레임들의 오디오 프레임들의 상대적인 카운트에 대응하는 메트릭 값은 예시적인 비제한적 예로서, 제로의 값과 같은 초기 값으로 설정될 수도 있다.
일부 구현예들에서, 출력 모드를 업데이트하기 이전에, 방법 (800) 은 출력 모드로서 설정된 이전의 모드를 결정하는 것을 포함할 수도 있다. 이전의 모드는 제 1 오디오 프레임을 선행하였던 오디오 스트림의 제 2 오디오 프레임과 연관될 수도 있다. 이전의 모드가 광대역 모드인 것으로 결정하는 것에 응답하여, 이전의 모드는 유지될 수도 있고, 제 1 프레임과 연관될 수도 있다 (예컨대, 제 1 모드 및 제 2 모드는 양자 모두 광대역 모드일 수도 있음). 대안적으로, 이전의 모드가 협대역 모드인 것으로 결정하는 것에 응답하여, 출력 모드는 제 2 오디오 프레임과 연관된 협대역 모드로부터 제 1 오디오 프레임과 연관된 광대역 모드로 설정 (예컨대, 변경) 될 수도 있다.
방법 (800) 은 이에 따라, 디코더가 수신된 오디오 프레임과 연관된 오디오 컨텐츠를 출력하기 위한 출력 모드 (예컨대, 출력 모드) 를 업데이트 (또는 유지) 하는 것을 가능하게 할 수도 있다. 예를 들어, 디코더는 수신된 오디오 프레임들이 대역 제한된 컨텐츠를 포함한다는 결정에 기초하여, 출력 모드를 협대역 모드로 설정할 수도 있다. 디코더는 디코더가 대역 제한된 컨텐츠를 포함하지 않는 추가적인 오디오 프레임들을 수신하고 있다는 검출에 응답하여, 출력 모드를 협대역 모드로부터 광대역 모드로 변경할 수도 있다.
특정한 양태들에서, 도 5 내지 도 8 의 방법들은 필드-프로그래밍가능한 게이트 어레이 (FPGA) 디바이스, 애플리케이션-특정 집적 회로 (ASIC), 중앙 프로세싱 유닛 (CPU) 과 같은 프로세싱 유닛, 디지털 신호 프로세서 (DSP), 제어기, 또 다른 하드웨어 디바이스, 펌웨어 디바이스, 또는 그 임의의 조합에 의해 구현될 수도 있다. 예로서, 도 5 내지 도 8 의 방법들 중의 하나 이상은 개별적으로 또는 조합하여, 도 9 및 도 10 에 대하여 설명된 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수도 있다. 예시하자면, 도 5 의 방법 (500) 의 부분은 도 6 내지 도 8 의 방법들 중의 하나의 제 2 부분과 조합될 수도 있다.
도 9 를 참조하면, 디바이스 (예컨대, 무선 통신 디바이스) 의 특정한 예시적인 예의 블록도가 도시되고 900 으로 전반적으로 지시된다. 다양한 구현예들에서, 디바이스 (900) 는 도 9 에서 예시된 것보다 더 많거나 더 적은 컴포넌트들을 가질 수도 있다. 예시적인 예에서, 디바이스 (900) 는 도 1 의 시스템에 대응할 수도 있다. 예를 들어, 디바이스 (900) 는 도 1 의 제 1 디바이스 (102) 또는 제 2 디바이스 (120) 에 대응할 수도 있다. 예시적인 예에서, 디바이스 (900) 는 도 5 내지 도 8 의 방법들 중의 하나 이상에 따라 동작할 수도 있다.
특정한 구현예에서, 디바이스 (900) 는 프로세서 (906) (예컨대, CPU) 를 포함한다. 디바이스 (900) 는 프로세서 (910) (예컨대, DSP) 와 같은 하나 이상의 추가적인 프로세서들을 포함할 수도 있다. 프로세서 (910) 는 스피치 CODEC, 음악 CODEC, 또는 그 조합과 같은 CODEC (908) 을 포함할 수도 있다. 프로세서 (910) 는 스피치/음악 CODEC (908) 의 동작들을 수행하도록 구성된 하나 이상의 컴포넌트들 (예컨대, 회로부) 을 포함할 수도 있다. 또 다른 예로서, 프로세서 (910) 는 스피치/음악 CODEC (908) 의 동작들을 수행하기 위하여 하나 이상의 컴퓨터-판독가능 명령들을 실행하도록 구성될 수도 있다. 이에 따라, CODEC (908) 은 하드웨어 및 소프트웨어를 포함할 수도 있다. 스피치/음악 CODEC (908) 은 프로세서 (910) 의 컴포넌트로서 예시되지만, 다른 예들에서, 스피치/음악 CODEC (908) 의 하나 이상의 컴포넌트들은 프로세서 (906), CODEC (934), 또 다른 프로세싱 컴포넌트, 또는 그 조합 내에 포함될 수도 있다.
스피치/음악 CODEC (908) 은 보코더 디코더 (vocoder decoder) 와 같은 디코더 (992) 를 포함할 수도 있다. 예를 들어, 디코더 (992) 는 도 1 의 디코더 (122) 에 대응할 수도 있다. 특정한 양태에서, 디코더 (992) 는 오디오 프레임이 대역 제한된 컨텐츠를 포함하는지 여부를 검출하도록 구성된 검출기 (994) 를 포함할 수도 있다. 예를 들어, 검출기 (994) 는 도 1 의 검출기 (124) 에 대응할 수도 있다.
디바이스 (900) 는 메모리 (932) 및 CODEC (934) 을 포함할 수도 있다. CODEC (934) 은 디지털-대-아날로그 변환기 (digital-to-analog converter; DAC) (902) 및 아날로그-대-디지털 변환기 (analog-to-digital converter; ADC) (904) 를 포함할 수도 있다. 스피커 (936), 마이크로폰 (938), 또는 양자 모두는 CODEC (934) 에 결합될 수도 있다. CODEC (934) 은 마이크로폰 (938) 으로부터 아날로그 신호들을 수신할 수도 있고, 아날로그-대-디지털 변환기 (904) 를 이용하여 아날로그 신호들을 디지털 신호들로 변환할 수도 있고, 디지털 신호들을 스피치/음악 CODEC (908) 에 제공할 수도 있다. 스피치/음악 CODEC (908) 은 디지털 신호들을 프로세싱할 수도 있다. 일부 구현예들에서, 스피치/음악 CODEC (908) 은 디지털 신호들을 CODEC (934) 에 제공할 수도 있다. CODEC (934) 은 디지털-대-아날로그 변환기 (902) 를 이용하여 디지털 신호들을 아날로그 신호들로 변환할 수도 있고, 아날로그 신호들을 스피커 (936) 에 제공할 수도 있다.
디바이스 (900) 는 트랜시버 (950) (예컨대, 송신기, 수신기, 또는 양자 모두) 를 통해 안테나 (942) 에 결합된 무선 제어기 (940) 를 포함할 수도 있다. 디바이스 (900) 는 컴퓨터-판독가능 저장 디바이스와 같은 메모리 (932) 를 포함할 수도 있다. 메모리 (932) 는 도 5 내지 도 8 의 방법들 중의 하나 이상을 수행하기 위하여, 프로세서 (906), 프로세서 (910), 또는 그 조합에 의해 실행가능한 하나 이상의 명령들과 같은 명령들 (960) 을 포함할 수도 있다.
예시적인 예로서, 메모리 (932) 는, 프로세서 (906), 프로세서 (910), 또는 그 조합에 의해 실행될 경우, 프로세서 (906), 프로세서 (910), 또는 그 조합으로 하여금, 오디오 프레임 (예컨대, 도 1 의 오디오 프레임 (112)) 과 연관된 제 1 디코딩된 스피치 (예컨대, 도 1 의 제 1 디코딩된 스피치 (114)) 를 생성하는 것과, 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 카운트에 적어도 부분적으로 기초하여 디코더 (예컨대, 도 1 의 디코더 (122) 또는 디코더 (992)) 의 출력 모드를 결정하는 것을 포함하는 동작들을 수행하게 하는 명령들을 저장할 수도 있다. 동작들은 제 1 디코딩된 스피치에 기초하여 제 2 디코딩된 스피치 (예컨대, 도 1 의 제 2 디코딩된 스피치 (116)) 를 출력하는 것으로서, 제 2 디코딩된 스피치가 출력 모드 (예컨대, 도 1 의 출력 모드 (134)) 에 따라 생성되는 것을 더 포함할 수도 있다.
일부 구현예들에서, 동작들은 오디오 프레임과 연관된 주파수 범위의 제 1 서브-범위와 연관된 제 1 에너지 메트릭을 결정하는 것과, 주파수 범위의 제 2 서브-범위와 연관된 제 2 에너지 메트릭을 결정하는 것을 더 포함할 수도 있다. 동작들은 또한, 제 1 에너지 메트릭 및 제 2 에너지 메트릭에 기초하여, 오디오 프레임 (예컨대, 도 1 의 오디오 프레임 (112)) 을 협대역 프레임 또는 광대역 프레임과 연관되는 것으로서 분류할 것인지 여부를 결정하는 것을 포함할 수도 있다.
일부 구현예들에서, 동작들은 오디오 프레임 (예컨대, 도 1 의 오디오 프레임 (112)) 을 협대역 프레임 또는 광대역 프레임으로서 분류하는 것을 더 포함할 수도 있다. 동작들은 또한, 대역 제한된 컨텐츠와 연관되는 다수의 오디오 프레임들 (예컨대, 도 3 의 오디오 프레임들 a 내지 i) 의 오디오 프레임들의 제 2 카운트에 대응하는 메트릭 값을 결정하는 것과, 메트릭 값에 기초하여 임계치를 선택하는 것을 포함할 수도 있다.
일부 구현예들에서, 동작들은 오디오 스트림의 제 2 오디오 프레임을 수신하는 것에 응답하여, 디코더에서 수신되며 광대역 컨텐츠를 가지는 것으로서 분류된 연속 오디오 프레임들의 제 3 카운트를 결정하는 것을 더 포함할 수도 있다. 동작들은 연속 오디오 프레임들의 제 3 카운트가 임계치 이상인 것에 응답하여, 출력 모드를 광대역 모드로 업데이트하는 것을 포함할 수도 있다.
일부 구현예들에서, 메모리 (932) 는, 프로세서 (906), 프로세서 (910), 또는 그 조합으로 하여금, 도 1 의 제 2 디바이스 (120) 를 참조하여 설명된 바와 같은 기능들을 수행하게 하거나, 도 5 내지 도 8 의 방법들 중의 하나 이상의 방법의 적어도 부분을 수행하게 하거나, 또는 그 조합을 하게 하기 위하여, 프로세서 (906), 프로세서 (910), 또는 그 조합에 의해 실행될 수도 있는 코드 (예컨대, 해독되거나 컴파일링된 프로그램 명령들) 를 포함할 수도 있다. 추가로 예시하자면, 예 1 은 메모리 (932) 에서 컴파일링될 수도 있고 저장될 수도 있는 예시적인 의사-코드 (예컨대, 부동 소수점인 간략화된 C-코드) 를 도시한다. 의사-코드는 도 1 내지 도 8 에 대하여 설명된 양태들의 가능한 구현예를 예시한다. 의사-코드는 실행가능한 코드의 일부가 아닌 코멘트들을 포함한다. 의사-코드에서, 코멘트의 초반은 순방향 슬래시 및 별표 (예컨대, "/*") 에 의해 표시되고, 코멘트의 종반은 별표 및 순방향 슬래시 (예컨대, "*/") 에 의해 표시된다. 예시하자면, 코멘트 "COMMENT" 는 /* COMMENT */ 로서 의사-코드에서 나타날 수도 있다.
제공된 예에서, "==" 연산자는 등식 비교를 표시하여, "A==B" 는 A 의 값이 B 의 값과 동일할 때에 TRUE 의 값을 가지고, 그렇지 않을 경우에는 "FALSE" 의 값을 가진다. "&&" 연산자는 논리적 AND 연산을 표시한다. "||" 연산자는 논리적 OR 연산을 표시한다. ">" (~ 보다 더 큰) 연산자는 "~ 보다 더 큰" 을 나타내고, ">=" 연산자는 "~ 이상" 을 나타내고, "<" 연산자는 "~ 미만" 을 표시한다. 수를 후행하는 용어 "f" 는 부동 소수점 (예컨대, 소수) 수 포맷을 나타낸다. "st->A" 용어는 A 가 상태 파라미터인 것을 나타낸다 (즉, "->" 문자들은 논리적 또는 산술적 연산을 나타내지 않음).
제공된 예에서, "*" 는 승산 연산을 나타낼 수도 있고, "+" 또는 "sum" 은 가산 연산을 나타낼 수도 있고, "-" 는 감산 연산을 표시할 수도 있고, "/" 는 제산 연산을 나타낼 수도 있다. "=" 연산자는 배정을 나타낸다 (예컨대, "a=1" 은 1 의 값을 변수 "a" 에 배정함). 다른 구현예들은 예 1 의 조건들의 세트에 추가하여, 또는 그것 대신에 하나 이상의 조건들을 포함할 수도 있다.
예 1
/*C-코드 수정됨:*/
if(st->VAD == 1) /* 1 과 동일한 VAD 는 수신된 오디오 프레임이 활성인 것을 표시하고, VAC 는 도 1 의 VAD (140) 에 대응할 수도 있음 */
{
st->flag_NB = 1;
/* bandstoZero 를 판단하기 위하여 주요 검출기 로직에 진입함 */
}
else
{
st->flag_NB = 0;
/* 이것은 수신된 오디오 프레임이 비활성인 것을 표시하는 (st-> VAD == 0) 일 경우에 발생한다. 주요 검출기 로직에 진입하지 않고, 그 대신에, bandstoZero 는 최후 bandstoZero 로 설정된다 (즉, 이전의 출력 모드 선택을 이용함). */
}
IF(st->flag_NB == 1) /* 활성 프레임들에 대한 주요 검출기 로직 */
{
/* 변수들을 설정 */
Word32 nrgQ31;
Word32 nrg_band[20], tempQ31, max_nrg;
Word16 realQ1, imagQ1, flag, offset, WBcnt;
Word16 perc_detect, perc_miss;
Word16 tmp1, tmp2, tmp3, tmp;
realQ1 = 0;
imagQ1 = 0;
set32_fx(nrg_band, 0, 20); /* 광대역 범위를 20 개의 대역들로 분할하는 것과 연관됨 */
max_nrg = 0;
offset = 50; /* 대역 제한된 컨텐츠를 가지는 것으로서 분류된 프레임들의 백분율을 계산하기 이전에 수신되어야 할 프레임들의 임계치 수 */
WBcnt = 20; /* 광대역 컨텐츠와 연관된 분류를 가지는 연속 수신된 프레임들의 수와 비교하기 위하여 이용되어야 할 임계치 */
perc_miss = 80; /* 도 1 의 시스템 (100) 을 참조하여 설명된 바와 같은 제 2 적응적 임계치 */
perc_detect = 90; /* 도 1 의 시스템 (100) 을 참조하여 설명된 바와 같은 제 1 적응적 임계치 */
st->active_frame_counter=st->active_frame_counter+1;
if(st ->active_frame_cnt_bwddec > 99)
{/* active_frame_cnt 를 <= 100 인 것으로 상한설정 */
st ->active_frame_cnt_bwddec = 100;
}
FOR (i = 0; i < 20; i++) /* 도 1 의 분류기 (126) 와 연관된 에너지 기반 대역폭 검출 */
{
nrgQ31 = 0; /* nrgQ31 는 에너지 값과 연관됨 */
FOR (k = 0; k < nTimeSlots; k++)
{
/* 대역들에서의 직교 미러 필터 (QMF) 분석 버퍼들 에너지를 이용함 */
realQ1 = rAnalysis[k][i];
imagQ1 = iAnalysis[k][i];
nrgQ31 = (nrgQ31 + realQ1*realQ1);
nrgQ31 = (nrgQ31 + imagQ1*imagQ1);
}
nrg_band[i] = (nrgQ31);
}
for(i = 2; i < 9; i++)
/*저대역과 연관된 평균 에너지를 계산한다. 800 Hz 로부터 3600 Hz 까지의 서브세트가 이용된다. 저대역과 연관된 최대 에너지와 비교한다. 512 의 인수가 (예컨대, 에너지 비율 임계치를 결정하기 위하여) 이용된다. */
{
tempQ31 = tempQ31 + w[i]*nrg_band[i]/7.0;
}
for(i = 11; i < 20; i++) /* max_nrg 는 HB 대역들의 서브세트에서의 최대 대역 에너지와 파퓰레이팅 (populate) 된다. 4.4 kHz 로부터 8 kHz 까지의 대역들이 오직 고려됨 */
{
max_nrg = max(max_nrg, nrg_band[i]);
}
if(max_nrg < tempQ31/512.0) /* 평균 저대역 에너지를 피크 hb 에너지와 비교함 */
flag = 1; /* 대역 제한된 모드 분류됨 */
else
flag = 0; /* 광대역 모드 분류됨 */
/* 파라미터 플래그는 분류기 (126) 의 판단을 유지함 */
/* 가장 최신 플래그로 플래그 버퍼를 업데이트한다. flag_buffer 의 최상부 위치에서 가장 최신 플래그를 푸시하고, 값들의 나머지를 1 만큼 시프트하고, 이에 따라, flag_buffer 는 최후 20 개의 프레임들의 플래그 정보를 가진다. 플래그 버퍼는 광대역 컨텐츠를 가지는 것으로서 분류된 연속 프레임들의 수를 추적하기 위하여 이용될 수도 있다. */
FOR(i = 0; i < WBcnt-1; i++)
{
st->flag_buffer[i] = st->flag_buffer[i+1];
}
st->flag_buffer[WBcnt-1] = flag;
st->avg_nrg_LT = 0.99*avg_nrg_LT + 0.01*tempQ31;
if(st->VAD == 0 || tempQ31 < st->avg_nrg_LT/200)
{
update_perc = 0;
}
else
{
update_perc = 1;
}
if(update_perc == 1) /* 신뢰성 기준이 충족될 때. 대역 제한된 컨텐츠와 연관되는 분류된 프레임들의 백분율을 결정함 */
{
if(flag == 1) /* 순간적 판단이 충족될 경우, 백분율을 증가시킴 */
{
st->perc_bwddec = st->perc_bwddec + (100-st->perc_bwddec)/(active_frame_cnt_bwddec); /* 활성 프레임들의 수 */
}
else /* 그 외에는, 백분율을 감소시킴 */
{
st->perc_bwddec = st->perc_bwddec - st->perc_bwddec/(active_frame_cnt_bwddec);
}
}
if( (st->active_frame_cnt_bwddec > 50) )
/* 활성 카운트 > 50 일 때까지, 출력 모드를 NB 로 변경하지 않는다. 이것은 출력 모드로서의 광대역 모드인 디폴트 판단이 선택된다는 것을 의미함 */
{
if ((st->perc_bwddec >= perc_detect) || (st->perc_bwddec >= perc_miss && st->last_flag_filter_NB == 1) && (sum(st->flag_buffer, WBcnt) > WBcnt_thr))
{
/* 최종적인 판단 (출력 모드) 은 NB (대역 제한된 모드) */
st->cldfbSyn_fx->bandsToZero = st->cldfbSyn fx-> total_bands - 10;
/* 16 kHz 샘플링 레이트에서의 총 대역들 = 20. 사실상, 협대역 컨텐츠에 대응하는 최초 10 개의 대역들을 초과하는 모든 대역들은 스펙트럼 잡음 누설을 제거하기 위하여 감쇠될 수도 있음 */
st->last_flag_filter_NB = 1;
}
else
{
/* 최종적인 판단은 WB */
st->last_flag_filter_NB = 0;
}
}
if(sum_s(st->flag_buffer, WBcnt) == 0)
/* 연속 WB 프레임들의 수가 WBcnt 를 초과할 때마다, 출력 모드를 NB 로 변경하지 않는다. 사실상, 디폴트 WB 모드는 출력 모드로서 선택된다. WB 모드가 "연속 프레임들의 수가 WB 인 것으로 인해" 선택될 때마다, active_frame_cnt 뿐만 아니라 perc_bwddec 를 재설정함 (예컨대, 초기 값으로 설정함) */
{
st->perc_bwddec = 0.0f;
st->active_frame_cnt_bwddec = 0;
st->last_flag_filter_NB = 0;
}
}
else if (st->flag_NB == 0)
/* 비활성 스피치에 대한 검출기 로직은 판단을 최후 프레임과 동일하게 유지함 */
{
st->cldfbSyn_fx->bandsToZero = st->last_frame_bandstoZero;
}
/* bandstoZero 가 판단된 후 */
if(st->cldfbSyn_fx->bandsToZero == st->cldfbSyn_fx->total_bands - 10)
{
/* 4000 Hz 를 초과하는 모든 대역들을 0 로 설정함 */
}
/* 대역폭 검출기 후의 최종적인 디코딩된 스피치를 획득하기 위하여 QMF 합성을 수행함 */
메모리 (932) 는 도 5 내지 도 8 의 방법들 중의 하나 이상과 같은, 본원에서 개시된 방법들 및 프로세스들을 수행하기 위하여, 프로세서 (906), 프로세서 (910), CODEC (934), 디바이스 (900) 의 또 다른 프로세싱 유닛, 또는 그 조합에 의해 실행가능한 명령들 (960) 을 포함할 수도 있다. 도 1 의 시스템 (100) 의 하나 이상의 컴포넌트들은 하나 이상의 태스크들 또는 그 조합을 수행하기 위하여 명령들 (예컨대, 명령들 (960)) 을 실행하는 프로세서에 의해 전용 하드웨어 (예컨대, 회로부) 를 통해 구현될 수도 있다. 예로서, 메모리 (932), 또는 프로세서 (906), 프로세서 (910), CODEC (934), 또는 그 조합의 하나 이상의 컴포넌트들은 랜덤 액세스 메모리 (random access memory; RAM), 자기저항 랜덤 액세스 메모리 (magnetoresistive random access memory; MRAM), 스핀-토크 전달 MRAM (spin-torque transfer MRAM; STT-MRAM), 플래시 메모리, 판독-전용 메모리 (read-only memory; ROM), 프로그래밍가능 판독-전용 메모리 (programmable read-only memory; PROM), 소거가능 프로그래밍가능 판독-전용 메모리 (erasable programmable read-only memory; EPROM), 전기적 소거가능 프로그래밍가능 판독-전용 메모리 (electrically erasable programmable read-only memory; EEPROM), 레지스터들, 하드 디스크, 분리가능한 디스크, 또는 컴팩트 디스크 판독-전용 메모리 (compact disc read-only memory; CD-ROM) 와 같은 메모리 디바이스일 수도 있다. 메모리 디바이스는, 컴퓨터 (예컨대, CODEC (934) 에서의 프로세서, 프로세서 (906), 프로세서 (910), 또는 그 조합) 에 의해 실행될 경우, 컴퓨터로 하여금, 도 5 내지 도 8 의 방법들 중의 하나 이상의 방법의 적어도 부분을 수행하게 할 수도 있는 명령들 (예컨대, 명령들 (960)) 을 포함할 수도 있다. 예로서, 메모리 (932), 또는 프로세서 (906), 프로세서 (910), CODEC (934) 의 하나 이상의 컴포넌트들은, 컴퓨터 (예컨대, CODEC (934) 에서의 프로세서, 프로세서 (906), 프로세서 (910), 또는 그 조합) 에 의해 실행될 경우, 컴퓨터로 하여금, 도 5 내지 도 8 의 방법들 중의 하나 이상의 방법의 적어도 부분을 수행하게 하는 명령들 (예컨대, 명령들 (960)) 을 포함하는 비-일시적 컴퓨터-판독가능 매체일 수도 있다. 예를 들어, 컴퓨터-판독가능 저장 디바이스는, 프로세서에 의해 실행될 경우, 프로세서로 하여금, 오디오 스트림의 오디오 프레임과 연관된 제 1 디코딩된 스피치를 생성하는 것과, 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 카운트에 적어도 부분적으로 기초하여 디코더의 출력 모드를 결정하는 것을 포함하는 동작들을 수행하게 할 수도 있는 명령들을 포함할 수도 있다. 동작들은 또한, 제 1 디코딩된 스피치에 기초하여 제 2 디코딩된 스피치를 출력하는 것으로서, 제 2 디코딩된 스피치는 출력 모드에 따라 생성되는 것을 포함할 수도 있다.
특정한 구현예에서, 디바이스 (900) 는 시스템-인-패키지 (system-in-package) 또는 시스템-온-칩 (system-on-chip) 디바이스 (922) 내에 포함될 수도 있다. 일부 구현에들에서, 메모리 (932), 프로세서 (906), 프로세서 (910), 디스플레이 제어기 (926), CODEC (934), 무선 제어기 (940), 및 트랜시버 (950) 는 시스템-인-패키지 또는 시스템-온-칩 디바이스 (922) 내에 포함된다. 일부 구현예들에서, 입력 디바이스 (930) 및 전력 공급 장치 (944) 는 시스템-온-칩 디바이스 (922) 에 결합된다. 또한, 특정한 구현예에서, 도 9 에서 예시된 바와 같이, 디스플레이 (928), 입력 디바이스 (930), 스피커 (936), 마이크로폰 (938), 안테나 (942), 및 전력 공급 장치 (944) 는 시스템-온-칩 디바이스 (922) 에 대해 외부적이다. 다른 구현예들에서, 디스플레이 (928), 입력 디바이스 (930), 스피커 (936), 마이크로폰 (938), 안테나 (942), 및 전력 공급 장치 (944) 의 각각은 시스템-온-칩 디바이스 (922) 의 인터페이스 또는 제어기와 같은, 시스템-온-칩 디바이스 (922) 의 컴포넌트에 결합될 수도 있다. 예시적인 예에서, 디바이스 (900) 는 통신 디바이스, 이동 통신 디바이스, 스마트폰, 셀룰러 전화, 랩톱 컴퓨터, 컴퓨터, 태블릿 컴퓨터, 개인 정보 단말, 셋톱 박스, 디스플레이 디바이스, 텔레비전, 게임용 콘솔, 음악 플레이어, 라디오, 디지털 비디오 플레이어, 디지털 비디오 디스크 (digital video disc; DVD) 플레이어, 광학 디스크 플레이어, 튜너, 카메라, 내비게이션 디바이스, 디코더 시스템, 인코더 시스템, 기지국, 차량, 또는 그 임의의 조합에 대응한다.
예시적인 예에서, 프로세서 (910) 는 도 1 내지 도 8 을 참조하여 설명된 방법들 또는 동작들의 전부 또는 부분을 수행하도록 동작가능할 수도 있다. 예를 들어, 마이크로폰 (938) 은 사용자 스피치 신호에 대응하는 오디오 신호를 캡처할 수도 있다. ADC (904) 는 캡처된 오디오 신호를 아날로그 파형으로부터, 디지털 오디오 샘플들로 구성된 디지털 파형으로 변환할 수도 있다. 프로세서 (910) 는 디지털 오디오 샘플들을 프로세싱할 수도 있다.
CODEC (908) 의 인코더 (예컨대, 보코더 인코더) 는 프로세싱된 스피치 신호에 대응하는 디지털 오디오 샘플들을 압축할 수도 있고, 패킷들 (예컨대, 디지털 오디오 샘플들의 압축된 비트들의 표현) 의 시퀀스를 형성할 수도 있다. 패킷들의 시퀀스는 메모리 (932) 내에 저장될 수도 있다. 트랜시버 (50) 는 시퀀스의 각각의 패킷을 변조할 수도 있고, 변조된 데이터를 안테나 (942) 를 통해 송신할 수도 있다.
추가의 예로서, 안테나 (942) 는 네트워크를 통해 또 다른 디바이스에 의해 전송된 패킷들의 시퀀스에 대응하는 착신 패킷들을 수신할 수도 있다. 착신 패킷들은 도 1 의 오디오 프레임 (112) 과 같은 오디오 프레임 (예컨대, 인코딩된 오디오 프레임) 을 포함할 수도 있다. 디코더 (992) 는 (예컨대, 도 1 의 제 1 디코딩된 스피치 (114) 와 같은 합성된 오디오 신호에 대응하는) 복원된 오디오 샘플들을 생성하기 위하여 수신 패킷을 압축해제할 수도 있고 디코딩할 수도 있다. 검출기 (994) 는 프레임을 광대역 컨텐츠 또는 협대역 컨텐츠 (예컨대, 대역 제한된 컨텐츠) 또는 그 조합과 연관되는 것으로서 분류하기 위하여, 오디오 프레임이 대역 제한된 컨텐츠를 포함하는지 여부를 검출하도록 구성될 수도 있다. 추가적으로 또는 대안적으로, 검출기 (994) 는, 디코더의 오디오 출력이 NB 또는 WB 이어야 하는지 여부를 표시하는, 도 1 의 출력 모드 (134) 와 같은 출력 모드를 선택할 수도 있다. DAC (902) 는 디코더 (992) 의 출력을 디지털 파형으로부터 아날로그 파형으로 변환할 수도 있고, 변환된 파형을 출력을 위하여 스피커 (936) 에 제공할 수도 있다.
도 10 을 참조하면, 기지국 (1000) 의 특정한 예시적인 예의 블록도가 도시된다. 다양한 구현예들에서, 기지국 (100) 은 도 10 에서 예시된 것보다 더 많거나 더 적은 컴포넌트들을 가질 수도 있다. 예시적인 예에서, 기지국 (1000) 은 도 1 의 제 2 디바이스 (120) 를 포함할 수도 있다. 예시적인 예에서, 기지국 (1000) 은 도 5 내지 도 6 의 방법들 중의 하나 이상, 예들 1 내지 5 중의 하나 이상, 또는 그 조합에 따라 동작할 수도 있다.
기지국 (1000) 은 무선 통신 시스템의 일부일 수도 있다. 무선 통신 시스템은 다수의 기지국들 및 다수의 무선 디바이스들을 포함할 수도 있다. 무선 통신 시스템은 롱텀 에볼루션 (Long Term Evolution; LTE) 시스템, 코드 분할 다중 액세스 (Code Division Multiple Access; CDMA) 시스템, 이동 통신들을 위한 글로벌 시스템 (Global System for Mobile Communications; GSM) 시스템, 무선 로컬 영역 네트워크 (wireless local area network; WLAN) 시스템, 또는 일부 다른 무선 시스템일 수도 있다. CDMA 시스템은 광대역 CDMA (Wideband CDMA; WCDMA), CDMA 1X, 진화-데이터 최적화 (Evolution-Data Optimized; EVDO), 시간 분할 동기식 CDMA (Time Division Synchronous CDMA; TD-SCDMA), 또는 CDMA 의 일부 다른 버전을 구현할 수도 있다.
무선 디바이스들은 또한, 사용자 장비 (UE), 이동국, 단말, 액세스 단말, 가입자 유닛, 스테이션 등으로서 지칭될 수도 있다. 무선 디바이스들은 셀룰러 전화, 스마트폰, 태블릿, 무선 모뎀, 개인 정보 단말 (PDA), 핸드헬드 디바이스, 랩톱 컴퓨터, 스마트북, 넷북, 태블릿, 코드리스 전화, 무선 로컬 루프 (wireless local loop; WLL) 스테이션, 블루투스 (Bluetooth) 디바이스 등을 포함할 수도 있다. 무선 디바이스들은 도 9 의 디바이스 (900) 를 포함할 수도 있거나 그것에 대응할 수도 있다.
메시지들 및 데이터 (예컨대, 오디오 데이터) 를 전송하고 수신하는 것과 같은 다양한 기능들은 기지국 (1000) 의 하나 이상의 컴포넌트들에 의해 (및/또는 도시되지 않은 다른 컴포넌트들에서) 수행될 수도 있다. 특정한 예에서, 기지국 (1000) 은 프로세서 (1006) (예컨대, CPU) 를 포함한다. 기지국 (1000) 은 트랜스코더 (1010) 를 포함할 수도 있다. 트랜스코더 (1010) 는 스피치 및 음악 CODEC (1008) 을 포함할 수도 있다. 예를 들어, 트랜스코더 (1010) 는 스피치 및 음악 CODEC (1008) 의 동작들을 수행하도록 구성된 하나 이상의 컴포넌트들 (예컨대, 회로부) 을 포함할 수도 있다. 또 다른 예로서, 트랜스코더 (1010) 는 스피치 및 음악 CODEC (1008) 의 동작들을 수행하기 위하여 하나 이상의 컴퓨터-판독가능 명령들을 실행하도록 구성될 수도 있다. 스피치 및 음악 CODEC (1008) 은 트랜스코더 (1010) 의 컴포넌트로서 예시되지만, 다른 예들에서, 스피치 및 음악 CODEC (1008) 의 하나 이상의 컴포넌트들은 프로세서 (1006), 또 다른 프로세싱 컴포넌트, 또는 그 조합 내에 포함될 수도 있다. 예를 들어, 디코더 (1038) (예컨대, 보코더 디코더) 는 수신기 데이터 프로세서 (1064) 내에 포함될 수도 있다. 또 다른 예로서, 인코더 (1036) (예컨대, 보코더 디코더) 는 송신 데이터 프로세서 (1066) 내에 포함될 수도 있다.
트랜스코더 (1010) 는 2 개 이상의 네트워크들 사이에서 메시지들 및 데이터를 트랜스코딩하도록 작용할 수도 있다. 트랜스코더 (1010) 는 메시지 및 오디오 데이터를 제 1 포맷 (예컨대, 디지털 포맷) 으로부터 제 2 포맷으로 변환하도록 구성될 수도 있다. 예시하자면, 디코더 (1038) 는 제 1 포맷을 가지는 인코딩된 신호들을 디코딩할 수도 있고, 인코더 (1036) 는 디코딩된 신호들을, 제 2 포맷을 가지는 인코딩된 신호들로 인코딩할 수도 있다. 추가적으로 또는 대안적으로, 트랜스코더 (1010) 는 데이터 레이트 적응을 수행하도록 구성될 수도 있다. 예를 들어, 트랜스코더 (1010) 는 오디오 데이터 포맷을 변경하지 않으면서, 데이터를 다운컨버팅할 수도 있거나 데이터 레이트를 업컨버팅할 수도 있다. 예시하자면, 트랜스코더 (1010) 는 64 kbit/s 신호들으 ㄹ16 kbit/s 신호들로 다운컨버팅할 수도 있다.
스피치 및 음악 CODEC (1008) 은 인코더 (1036) 및 디코더 (1038) 를 포함할 수도 있다. 인코더 (1036) 는 도 9 를 참조하여 설명된 바와 같이, 검출기 및 다수의 인코딩 스테이지들을 포함할 수도 있다. 디코더 (1038) 는 검출기 및 다수의 디코딩 스테이지들을 포함할 수도 있다.
기지국 (1000) 은 메모리 (1032) 를 포함할 수도 있다. 컴퓨터-판독가능 저장 디바이스와 같은 메모리 (1032) 는 명령들을 포함할 수도 있다. 명령들은 도 5 내지 도 6, 예들 1 내지 5, 또는 그 조합의 방법들 중의 하나 이상의 방법을 수행하기 위하여, 프로세서 (1006), 트랜스코더 (1010), 또는 그 조합에 의해 실행가능한 하나 이상의 명령들을 포함할 수도 있다. 기지국 (1000) 은 안테나들의 어레이에 결합된, 제 1 트랜시버 (1052) 및 제 2 트랜시버 (1054) 와 같은 다수의 송신기들 및 수신기들 (예컨대, 트랜시버들) 을 포함할 수도 있다. 안테나들의 어레이는 제 1 안테나 (1042) 및 제 2 안테나 (1044) 를 포함할 수도 있다. 안테나들의 어레이는 도 9 의 디바이스 (900) 와 같은 하나 이상의 무선 디바이스들과 무선으로 통신하도록 구성될 수도 있다. 예를 들어, 제 2 안테나 (1044) 는 무선 디바이스로부터 데이터 스트림 (1014) (예컨대, 비트 스트림) 을 수신할 수도 있다. 데이터 스트림 (1014) 은 메시지들, 데이터 (예컨대, 인코딩된 스피치 데이터), 또는 그 조합을 포함할 수도 있다.
기지국 (1000) 은 백홀 접속부와 같은 네트워크 접속부 (1060) 를 포함할 수도 있다. 네트워크 접속부 (1060) 는 무선 통신 네트워크의 코어 네트워크 또는 하나 이상의 기지국들과 통신하도록 구성될 수도 있다. 예를 들어, 기지국 (1000) 은 네트워크 접속부 (106) 를 통해 코어 네트워크로부터 제 2 데이터 스트림 (예컨대, 메시지들 또는 오디오 데이터) 을 수신할 수도 있다. 기지국 (1000) 은 메시지들 또는 오디오 데이터를 생성하기 위하여 제 2 데이터 스트림을 프로세싱할 수도 있고, 메시지들 또는 오디오 데이터를, 안테나들의 어레이의 하나 이상의 안테나들을 통해 하나 이상의 무선 디바이스에, 또는 네트워크 접속부 (106) 를 통해 또 다른 기지국에 제공할 수도 있다. 특정한 구현예에서, 네트워크 접속부 (1060) 는 예시적인 비제한적 예로서, 광역 네트워크 (wide area network; WAN) 접속부일 수도 있다.
기지국 (1000) 은 트랜시버들 (1052, 1054), 수신기 데이터 프로세서 (1064), 및 프로세서 (1006) 에 결합되는 복조기 (1062) 를 포함할 수도 있고, 수신기 데이터 프로세서 (1064) 는 프로세서 (1006) 에 결합될 수도 있다. 복조기 (1062) 는 트랜시버들 (1052, 1054) 로부터 수신된 변조된 신호들을 복조하고, 복조된 데이터를 수신기 데이터 프로세서 (1064) 에 제공하도록 구성될 수도 있다. 수신기 데이터 프로세서 (1064) 는 복조된 데이터로부터 메시지 또는 오디오 데이터를 추출하고 메시지 또는 오디오 데이터를 프로세서 (1006) 로 전송하도록 구성될 수도 있다.
기지국 (1000) 은 송신 데이터 프로세서 (1066) 및 송신 다중 입력-다중 출력 (multiple input-multiple output; MIMO) 프로세서 (1068) 를 포함할 수도 있다. 송신 데이터 프로세서 (1066) 는 프로세서 (1006) 및 송신 MIMO 프로세서 (1068) 에 결합될 수도 있다. 송신 MIMO 프로세서 (1068) 는 트랜시버들 (1052, 1054) 및 프로세서 (1006) 에 결합될 수도 있다. 송신 데이터 프로세서 (1066) 는 프로세서 (1006) 로부터 메시지들 또는 오디오 데이터를 수신하고, 예시적인 비제한적 예들로서, CDMA 또는 직교 주파수-분할 멀티플렉싱 (orthogonal frequency-division multiplexing; OFDM) 과 같은 코딩 방식에 기초하여 메시지들 또는 오디오 데이터를 코딩하도록 구성될 수도 있다. 송신 데이터 프로세서 (1066) 는 코딩된 데이터를 송신 MIMO 프로세서 (1068) 에 제공할 수도 있다.
코딩된 데이터는 멀티플렉싱된 데이털르 생성하기 위한 CDMA 또는 OFDM 기법들을 이용하여, 파일럿 데이터와 같은 다른 데이터로 멀티플렉싱될 수도 있다. 다음으로, 멀티플렉싱된 데이터는 변조 심볼들을 생성하기 위한 특정한 변조 방식 (예컨대, 2진 위상-시프트 키잉 (Binary phase-shift keying) ("BPSK"), 직교 위상-시프트 키잉 (Quadrature phase-shift keying) ("QSPK"), M-진 위상-시프트 키잉 (M-ary phase-shift keying) ("M-PSK"), M-진 직교 진폭 변조 (M-ary Quadrature amplitude modulation) ("M-QAM") 등) 에 기초하여 송신 데이터 프로세서 (1066) 에 의해 변조 (즉, 심볼 맵핑) 될 수도 있다. 특정한 구현예에서, 코딩된 데이터 및 다른 데이터는 상이한 변조 방식들을 이용하여 변조될 수도 있다. 각각의 데이터 스트림에 대한 데이터 레이트, 코딩, 및 변조는 프로세서 (1006) 에 의해 실행된 명령들에 의해 결정될 수도 있다.
송신 MIMO 프로세서 (1068) 는 송신 데이터 프로세서 (1066) 로부터 변조 심볼들을 수신하도록 구성될 수도 있고, 변조 심볼들을 추가로 프로세싱할 수도 있고 데이터에 대해 빔포밍 (beamforming) 을 수행할 수도 있다. 예를 들어, 송신 MIMO 프로세서 (1068) 는 빔포밍 가중치들을 변조 심볼들에 적용할 수도 있다. 빔포밍 가중치들은 변조 심볼들이 그것으로부터 송신되는 안테나들의 어레이의 하나 이상의 안테나들에 대응할 수도 있다.
동작 동안, 기지국 (1000) 의 제 2 안테나 (1044) 는 데이터 스트림 (1014) 을 수신할 수도 있다. 제 2 트랜시버 (1054) 는 제 2 안테나 (1044) 로부터 데이터 스트림 (1014) 을 수신할 수도 있고, 데이터 스트림 (1014) 을 복조기 (1062) 에 제공할 수도 있다. 복조기 (1062) 는 데이터 스트림 (1014) 의 변조된 신호들을 복조할 수도 있고, 복조된 데이터를 수신된 데이터 프로세서 (1064) 에 제공할 수도 있다. 수신기 데이터 프로세서 (1064) 는 복조된 데이터로부터 오디오 데이터를 추출할 수도 있고, 추출된 오디오 데이터를 프로세서 (1006) 에 제공할 수도 있다.
프로세서 (1006) 는 트랜스코딩을 위하여 오디오 데이터를 트랜스코더 (1010) 에 제공할 수도 있다. 트랜스코더 (1010) 의 디코더 (1038) 는 오디오 데이터를 제 1 포맷으로부터 디코딩된 오디오 데이터로 디코딩할 수도 있고, 디코딩된 오디오 데이터를 제 2 포맷으로 인코딩할 수도 있다. 일부 구현예들에서, 인코더 (1036) 는 무선 디바이스로부터 수신된 것보다 더 높은 데이터 레이트 (예컨대, 업컨버팅) 또는 더 낮은 데이터 레이트 (예컨대, 다운컨버팅) 를 이용하여 오디오 데이터를 인코딩할 수도 있다. 다른 구현예들에서, 오디오 데이터는 트랜스코딩되지 않을 수도 있다. 트랜스코딩 (예컨대, 디코딩 및 인코딩) 은 트랜스코더 (1010) 에 의해 수행되는 것으로서 예시되지만, 트랜스코딩 동작들 (예컨대, 디코딩 및 인코딩) 은 기지국 (1000) 의 다수의 컴포넌트들에 의해 수행될 수도 있다. 예를 들어, 디코딩은 수신기 데이터 프로세서 (1064) 에 의해 수행될 수도 있고, 인코딩은 송신 데이터 프로세서 (1066) 에 의해 수행될 수도 있다.
디코더 (1038) 및 인코더 (1036) 는 프레임-대-프레임에 기초하여, 데이터 스트림 (1014) 의 각각의 수신된 프레임이 협대역 프레임 또는 광대역 프레임에 대응하는지 여부를 결정할 수도 있고, 프레임을 트랜스코딩 (예컨대, 디코딩 및 인코딩) 하기 위하여, 대응하는 디코딩 출력 모드 (예컨대, 협대역 출력 모드 또는 광대역 출력 모드) 및 대응하는 인코딩 출력 모드를 선택할 수도 있다. 트랜스코딩된 데이터와 같은, 인코더 (1036) 에서 생성된 인코딩된 오디오 데이터는 프로세서 (1006) 를 통해 송신 데이터 프로세서 (1066) 또는 네트워크 접속부 (1060) 에 제공될 수도 있다.
트랜스코더 (1010) 로부터의 트랜스코딩된 오디오 데이터는 변조 심볼들을 생성하기 위하여, OFDM 과 같은 변조 방식에 따라 코딩하기 위한 송신 데이터 프로세서 (1066) 에 제공될 수도 있다. 송신 데이터 프로세서 (1066) 는 추가의 프로세싱 및 빔포밍을 위하여, 변조 심볼들을 송신 MIMO 프로세서 (1068) 에 제공할 수도 있다. 송신 MIMO 프로세서 (1068) 는 빔포밍 가중치들을 적용할 수도 있고, 변조 심볼들을 제 1 트랜시버 (1052) 를 통해 제 1 안테나 (1042) 와 같은, 안테나들의 어레이의 하나 이상의 안테나들에 제공할 수도 있다. 이에 따라, 기지국 (1000) 은 무선 디바이스로부터 수신된 데이터 스트림 (1014) 에 대응하는 트랜스코딩된 데이터 스트림 (1016) 을 또 다른 무선 디바이스에 제공할 수도 있다. 트랜스코딩된 데이터 스트림 (1016) 은 데이터 스트림 (1014) 과는 상이한 인코딩 포맷, 데이터 레이트, 또는 양자 모두를 가질 수도 있다. 다른 구현예들에서, 트랜스코딩된 데이터 스트림 (1016) 은 또 다른 기지국 또는 코어 네트워크로의 송신을 위하여, 네트워크 접속부 (1060) 에 제공될 수도 있다.
그러므로, 기지국 (1000) 은, 프로세서 (예컨대, 프로세서 (1006) 또는 트랜스코더 (1010)) 에 의해 실행될 경우, 프로세서로 하여금, 오디오 스트림의 오디오 프레임과 연관된 제 1 디코딩된 스피치를 생성하는 것과, 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 카운트에 적어도 부분적으로 기초하여 디코더의 출력 모드를 결정하는 것을 포함하는 동작들을 수행하게 하는 명령들을 저장하는 컴퓨터-판독가능 저장 디바이스 (예컨대, 메모리 (1032)) 를 포함할 수도 있다. 동작들은 또한, 제 1 디코딩된 스피치에 기초하여 제 2 디코딩된 스피치를 출력하는 것으로서, 제 2 디코딩된 스피치는 출력 모드에 따라 생성되는 것을 포함할 수도 있다.
설명된 양태들과 함께, 장치는 오디오 프레임과 연관된 제 1 디코딩된 스피치를 생성하기 위한 수단을 포함할 수도 있다. 예를 들어, 생성하기 위한 수단은 도 1 의 디코더 (122), 제 1 디코드 스테이지 (123), 도 9 의 CODEC (934), 스피치/음악 CODEC (908), 디코더 (992), 명령들 (960) 을 실행하도록 프로그래밍된 프로세서들 (906, 910) 중의 하나 이상, 도 10 의 프로세서 (1006) 또는 트랜스코더 (1010), 제 1 디코딩된 스피치를 생성하기 위한 하나 이상의 다른 구조들, 디바이스들, 회로들, 모듈들, 또는 명령들, 또는 그 조합을 포함할 수도 있거나 이에 대응할 수도 있다.
장치는 또한, 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 수에 적어도 부분적으로 기초하여 디코더의 출력 모드를 결정하기 위한 수단을 포함할 수도 있다. 예를 들어, 결정하기 위한 수단은 도 1 의 디코더 (122), 검출기 (124), 평탄화 로직 (130), 도 9 의 CODEC (934), 스피치/음악 CODEC (908), 디코더 (992), 검출기 (994), 명령들 (960) 을 실행하도록 프로그래밍된 프로세서들 (906, 910) 중의 하나 이상, 도 10 의 프로세서 (1006) 또는 트랜스코더 (1010), 출력 모드를 결정하기 위한 하나 이상의 다른 구조들, 디바이스들, 회로들, 모듈들, 또는 명령들, 또는 그 조합을 포함할 수도 있거나 이에 대응할 수도 있다.
장치는 또한, 제 1 디코딩된 스피치에 기초하여 제 2 디코딩된 스피치를 출력하기 위한 수단을 포함할 수도 있다. 제 2 디코딩된 스피치는 출력 모드에 따라 생성될 수도 있다. 예를 들어, 출력하기 위한 수단은 도 1 의 디코더 (122), 제 2 디코드 스테이지 (132), 도 9 의 CODEC (934), 스피치/음악 CODEC (908), 디코더 (992), 명령들 (960) 을 실행하도록 프로그래밍된 프로세서들 (906, 910) 중의 하나 이상, 도 10 의 프로세서 (1006) 또는 트랜스코더 (1010), 제 2 디코딩된 스피치를 출력하기 위한 하나 이상의 다른 구조들, 디바이스들, 회로들, 모듈들, 또는 명령들, 또는 그 조합을 포함할 수도 있거나 이에 대응할 수도 있다.
장치는 또한, 대역 제한된 컨텐츠와 연관되는 다수의 오디오 프레임들의 오디오 프레임들의 카운트에 대응하는 메트릭 값을 결정하기 위한 수단을 포함할 수도 있다. 예를 들어, 메트릭 값을 결정하기 위한 수단은 도 1 의 디코더 (122), 분류기 (126), 도 9 의 디코더 (992), 명령들 (960) 을 실행하도록 프로그래밍된 프로세서들 (906, 910) 중의 하나 이상, 도 10 의 프로세서 (1006) 또는 트랜스코더 (1010), 메트릭 값을 결정하기 위한 하나 이상의 다른 구조들, 디바이스들, 회로들, 모듈들, 또는 명령들, 또는 그 조합을 포함할 수도 있거나 이에 대응할 수도 있다.
장치는 또한, 메트릭 값에 기초하여 임계치를 선택하기 위한 수단을 포함할 수도 있다. 예를 들어, 임계치를 선택하기 위한 수단은 도 1 의 디코더 (122), 평탄화 로직 (130), 도 9 의 디코더 (992), 명령들 (960) 을 실행하도록 프로그래밍된 프로세서들 (906, 910) 중의 하나 이상, 도 10 의 프로세서 (1006) 또는 트랜스코더 (1010), 메트릭 값에 기초하여 임계치를 선택하기 위한 하나 이상의 다른 구조들, 디바이스들, 회로들, 모듈들, 또는 명령들, 또는 그 조합을 포함할 수도 있거나 이에 대응할 수도 있다.
장치는 임계치와의 메트릭 값의 비교에 기초하여 출력 모드를 제 1 모드로부터 제 2 모드로 업데이트하기 위한 수단을 더 포함할 수도 있다. 예를 들어, 출력 모드를 업데이트하기 위한 수단은 도 1 의 디코더 (122), 평탄화 로직 (130), 도 9 의 디코더 (992), 명령들 (960) 을 실행하도록 프로그래밍된 프로세서들 (906, 910) 중의 하나 이상, 도 10 의 프로세서 (1006) 또는 트랜스코더 (1010), 출력 모드를 업데이트하기 위한 하나 이상의 다른 구조들, 디바이스들, 회로들, 모듈들, 또는 명령들, 또는 그 조합을 포함할 수도 있거나 이에 대응할 수도 있다.
일부 구현예들에서, 장치는 제 1 디코딩된 스피치를 생성하기 위한 수단에서 수신되며 광대역 컨텐츠와 연관되는 것으로서 분류되는 연속 오디오 프레임들의 수를 결정하기 위한 수단을 포함할 수도 있다. 예를 들어, 연속 오디오 프레임들의 수를 결정하기 위한 수단은 도 1 의 디코더 (122), 추적기 (128), 도 9 의 디코더 (992), 명령들 (960) 을 실행하도록 프로그래밍된 프로세서들 (906, 910) 중의 하나 이상, 도 10 의 프로세서 (1006) 또는 트랜스코더 (1010), 연속 오디오 프레임들의 수를 결정하기 위한 하나 이상의 다른 구조들, 디바이스들, 회로들, 모듈들, 또는 명령들, 또는 그 조합을 포함할 수도 있거나 이에 대응할 수도 있다.
일부 구현예들에서, 제 1 디코딩된 스피치를 생성하기 위한 수단은 스피치 모델을 포함할 수도 있거나 이것에 대응할 수도 있고, 출력 모드를 결정하기 위한 수단 및 제 2 디코딩된 스피치를 출력하기 위한 수단은 각각 프로세서, 및 프로세서에 의해 실행가능한 명령들을 저장하는 메모리를 포함할 수도 있거나 이에 대응할 수도 있다. 추가적으로 또는 대안적으로, 제 1 디코딩된 스피치를 생성하기 위한 수단, 출력 모드를 결정하기 위한 수단, 및 제 2 디코딩된 스피치를 출력하기 위한 수단은 디코더, 셋톱 박스, 음악 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 내비게이션 디바이스, 통신 디바이스, 개인 정보 단말 (PDA), 컴퓨터, 또는 그 조합 내로 통합될 수도 있다.
위에서 설명된 설명의 양태들에서, 수행된 다양한 기능들은 도 1 의 시스템 (100) 의 컴포넌트들 또는 모듈, 도 9 의 디바이스 (900), 도 10 의 기지국 (1000), 또는 그 조합과 같은 어떤 컴포넌트들 또는 모듈들에 의해 수행되는 것으로서 설명되었다. 그러나, 컴포넌트들 및 모듈들의 이 분할은 오직 예시를 위한 것이다. 대안적인 예들에서, 특정한 컴포넌트 또는 모듈에 의해 수행된 기능은 그 대신에 다수의 컴포넌트들 또는 모듈들 사이에서 분할될 수도 있다. 또한, 다른 대안적인 예들에서, 도 1, 도 9, 및 도 10 의 2 개 이상의 컴포넌트들 또는 모듈들은 단일 컴포넌트 또는 모듈 내로 통합될 수도 있다. 도 1, 도 9, 및 도 10 에서 예시된 각각의 컴포넌트 또는 모듈은 하드웨어 (예컨대, ASIC, DSP, 제어기, FPGA 디바이스 등), 소프트웨어 (예컨대, 프로세서에 의해 실행가능한 명령들), 또는 그 임의의 조합을 이용하여 구현될 수도 있다.
당업자들은, 본원에서 개시된 양태들과 관련하여 설명된 다양한 예시적인 논리적 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 프로세서에 의해 실행된 컴퓨터 소프트웨어, 또는 양자 모두의 조합들로서 구현될 수도 있다는 것을 추가로 인식할 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들, 및 단계들은 그 기능성의 측면에서 일반적으로 위에서 설명되었다. 이러한 기능성이 하드웨어 또는 프로세서 실행가능 명령들로서 구현되는지 여부는 특정한 애플리케이션과, 전체적인 시스템에 대해 부과된 설계 제약들에 종속된다. 당업자들은 각각의 특정한 애플리케이션을 위한 다양한 방법들로 설명된 기능성을 구현할 수도 있고, 이러한 구현 판단들은 본 개시물의 범위로부터의 이탈을 야기시키는 것으로 해석되지 않아야 한다.
본원에서 개시된 양태들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로, 프로세서에 의해 실행된 소프트웨어 모듈로, 또는 둘의 조합으로 직접적으로 포함될 수도 있다. 소프트웨어 모듈은 RAM, 플래시 메모리, ROM, PROM, EPROM, EEPROM, 레지스터들, 하드 디스크, 분리가능한 디스크, CD-ROM, 또는 당해 분야에서 알려진 임의의 다른 형태의 비-순시적 저장 매체에서 상주할 수도 있다. 특정한 저장 매체는 프로세서가 저장 매체로부터 정보를 판독할 수도 있고 정보를 저장 매체에 기록할 수도 있도록 프로세서에 결합될 수도 있다. 대안적으로, 저장 매체는 프로세서에 일체적일 수도 있다. 프로세서 및 저장 매체는 ASIC 내에 상주할 수도 있다. ASIC 은 컴퓨팅 디바이스 또는 사용자 단말 내에 상주할 수도 있다. 대안적으로, 프로세서 및 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말에서 개별 컴포넌트들로서 상주할 수도 있다.
이전의 설명은 당해 분야의 숙련자가 개시된 양태들을 제조하거나 이용하는 것을 가능하게 하도록 제공된다. 이 양태들에 대한 다양한 변형들은 당해 분야의 숙련자들에게 용이하게 명백할 것이고, 본원에서 정의된 원리들은 개시물의 범위로부터 이탈하지 않으면서 다른 양태들에 적용될 수도 있다. 이에 따라, 본 개시물은 본원에서 도시된 양태들에 제한되도록 의도된 것이 아니고, 다음의 청구항들에 의해 정의된 바와 같은 원리들 및 신규한 특징들과 일치하는 가능한 가장 넓은 범위를 따르도록 하기 위한 것이다.

Claims (56)

  1. 오디오 대역폭 선택을 위한 디바이스로서,
    오디오 스트림의 오디오 프레임을 수신하도록 구성된 수신기; 및
    상기 오디오 프레임과 연관된 제 1 디코딩된 스피치를 생성하고, 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 수를 표시하는 카운트 및 수신된 활성 오디오 프레임들의 수를 표시하는 카운트에 적어도 부분적으로 기초하여 디코더의 출력 모드를 결정하고, 그리고 상기 제 1 디코딩된 스피치에 기초하여 제 2 디코딩된 스피치를 출력하도록 구성된 디코더로서, 상기 제 2 디코딩된 스피치는 상기 출력 모드에 따라 생성되는, 상기 디코더를 포함하는, 오디오 대역폭 선택을 위한 디바이스.
  2. 제 1 항에 있어서,
    상기 디코더는 상기 오디오 프레임을 협대역 프레임 또는 광대역 프레임으로서 분류하도록 구성되고,
    상기 협대역 프레임의 분류는 상기 대역 제한된 컨텐츠와 연관되는 것에 대응하는, 오디오 대역폭 선택을 위한 디바이스.
  3. 제 1 항에 있어서,
    상기 제 2 디코딩된 스피치는 상기 출력 모드가 광대역 모드를 포함할 때에 상기 제 1 디코딩된 스피치에 대응하는, 오디오 대역폭 선택을 위한 디바이스.
  4. 제 1 항에 있어서,
    상기 제 2 디코딩된 스피치는 상기 출력 모드가 협대역 모드를 포함할 때에 상기 제 1 디코딩된 스피치의 부분을 포함하는, 오디오 대역폭 선택을 위한 디바이스.
  5. 제 1 항에 있어서,
    상기 디코더는 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 수를 표시하는 상기 카운트와 연관된 메트릭 값에 기초하고, 그리고 광대역 컨텐츠와 연관되는 것으로서 분류되는 연속 오디오 프레임들의 수에 기초하여 상기 출력 모드를 선택하도록 구성된 검출기를 포함하는, 오디오 대역폭 선택을 위한 디바이스.
  6. 제 1 항에 있어서,
    상기 디코더는,
    상기 오디오 프레임을 광대역 컨텐츠 또는 상기 대역 제한된 컨텐츠와 연관되는 것으로서 분류하도록 구성된 분류기; 및
    상기 분류기에 의해 생성된 하나 이상의 분류들의 레코드를 유지하도록 구성된 추적기로서, 상기 추적기는 버퍼, 메모리, 또는 하나 이상의 카운터들 중의 적어도 하나를 포함하는, 상기 추적기를 포함하는, 오디오 대역폭 선택을 위한 디바이스.
  7. 제 1 항에 있어서,
    상기 수신기 및 상기 디코더는 이동 통신 디바이스 또는 기지국 내로 통합되는, 오디오 대역폭 선택을 위한 디바이스.
  8. 제 1 항에 있어서,
    상기 수신기에 결합된 복조기로서, 상기 복조기는 상기 오디오 스트림을 복조하도록 구성되는, 상기 복조기;
    상기 복조기에 결합된 프로세서; 및
    인코더를 더 포함하는, 오디오 대역폭 선택을 위한 디바이스.
  9. 제 8 항에 있어서,
    상기 수신기, 상기 복조기, 상기 프로세서, 및 상기 인코더는 이동 통신 디바이스 내로 통합되는, 오디오 대역폭 선택을 위한 디바이스.
  10. 제 8 항에 있어서,
    상기 수신기, 상기 복조기, 상기 프로세서, 및 상기 인코더는 기지국 내로 통합되는, 오디오 대역폭 선택을 위한 디바이스.
  11. 제 1 항에 있어서,
    상기 디코더는 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 수를 표시하는 상기 카운트 및 수신된 활성 오디오 프레임들의 수를 표시하는 상기 카운트에 기초하여 메트릭 값을 결정하도록 추가로 구성되고,
    상기 메트릭 값은 대역 제한된 컨텐츠와 연관되는 것으로서 분류되는 수신된 활성 오디오 프레임들의 퍼센티지로서 결정되며, 상기 디코더의 상기 출력 모드는 상기 메트릭 값에 추가로 기초하여 선택되는, 오디오 대역폭 선택을 위한 디바이스.
  12. 디코더를 동작시키는 방법으로서,
    디코더에서, 오디오 스트림의 오디오 프레임과 연관된 제 1 디코딩된 스피치를 생성하는 단계;
    대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 수를 표시하는 카운트 및 수신된 활성 오디오 프레임들의 수를 표시하는 카운트에 적어도 부분적으로 기초하여 상기 디코더의 출력 모드를 결정하는 단계; 및
    상기 제 1 디코딩된 스피치에 기초하여 제 2 디코딩된 스피치를 출력하는 단계로서, 상기 제 2 디코딩된 스피치는 상기 출력 모드에 따라 생성되는, 상기 제 2 디코딩된 스피치를 출력하는 단계를 포함하는, 디코더를 동작시키는 방법.
  13. 제 12 항에 있어서,
    상기 제 1 디코딩된 스피치는 저대역 컴포넌트 및 고대역 컴포넌트를 포함하는, 디코더를 동작시키는 방법.
  14. 제 13 항에 있어서,
    상기 저대역 컴포넌트와 연관된 제 1 에너지 메트릭 및 상기 고대역 컴포넌트와 연관된 제 2 에너지 메트릭에 기초하는 비율 값을 결정하는 단계;
    상기 비율 값을 분류 임계치와 비교하는 단계; 및
    상기 비율 값이 상기 분류 임계치보다 더 큰 것에 응답하여, 상기 오디오 프레임을 상기 대역 제한된 컨텐츠와 연관되는 것으로서 분류하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  15. 제 14 항에 있어서,
    상기 오디오 프레임이 상기 대역 제한된 컨텐츠와 연관될 때, 상기 제 2 디코딩된 스피치를 생성하기 위하여 상기 제 1 디코딩된 스피치의 상기 고대역 컴포넌트를 감쇠시키는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  16. 제 14 항에 있어서,
    상기 오디오 프레임이 상기 대역 제한된 컨텐츠와 연관될 때, 상기 제 2 디코딩된 스피치를 생성하기 위하여 상기 고대역 컴포넌트와 연관된 하나 이상의 대역들의 에너지 값을 제로로 설정하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  17. 제 12 항에 있어서,
    상기 제 1 디코딩된 스피치의 저대역 컴포넌트와 연관된 다수의 주파수 대역들의 제 1 세트와 연관된 제 1 에너지 메트릭을 결정하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  18. 제 17 항에 있어서,
    상기 제 1 에너지 메트릭을 결정하는 단계는 상기 다수의 주파수 대역들의 제 1 세트의 대역들의 서브세트의 평균 에너지 값을 결정하는 단계, 및 상기 제 1 에너지 메트릭을 상기 평균 에너지 값과 동일하게 설정하는 단계를 포함하는, 디코더를 동작시키는 방법.
  19. 제 17 항에 있어서,
    상기 제 1 디코딩된 스피치의 고대역 컴포넌트와 연관된 다수의 주파수 대역들의 제 2 세트와 연관된 제 2 에너지 메트릭을 결정하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  20. 제 19 항에 있어서,
    상기 다수의 주파수 대역들의 제 2 세트의 최고 검출된 에너지 값을 가지는 상기 다수의 주파수 대역들의 제 2 세트의 특정한 주파수 대역을 결정하는 단계; 및
    상기 제 2 에너지 메트릭을 상기 최고 검출된 에너지 값과 동일하게 설정하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  21. 제 19 항에 있어서,
    상기 제 1 세트 및 상기 제 2 세트는 상호 배타적이고, 상기 다수의 주파수 대역들의 제 2 세트의 각각의 대역은 동일한 대역폭을 가지는, 디코더를 동작시키는 방법.
  22. 제 21 항에 있어서,
    상기 제 1 세트 및 상기 제 2 세트는 상기 오디오 프레임과 연관된 주파수 범위의 전이 대역에 의해 분리되는, 디코더를 동작시키는 방법.
  23. 제 12 항에 있어서,
    상기 출력 모드가 광대역 모드를 포함할 때, 상기 제 2 디코딩된 스피치가 상기 제 1 디코딩된 스피치와 실질적으로 동일한, 디코더를 동작시키는 방법.
  24. 제 12 항에 있어서,
    상기 출력 모드가 협대역 모드를 포함할 때, 상기 제 2 디코딩된 스피치를 생성하기 위하여 상기 제 1 디코딩된 스피치의 저대역 컴포넌트를 유지하고 상기 제 1 디코딩된 스피치의 고대역 컴포넌트를 감쇠시키는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  25. 제 12 항에 있어서,
    상기 출력 모드가 협대역 모드를 포함할 때, 상기 제 2 디코딩된 스피치를 생성하기 위하여 상기 제 1 디코딩된 스피치의 고대역 컴포넌트와 연관된 주파수 대역들의 하나 이상의 에너지 값들을 감쇠시키는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  26. 제 12 항에 있어서,
    상기 오디오 프레임이 활성 프레임인지 여부를 결정하는 단계를 더 포함하며,
    상기 디코더의 상기 출력 모드를 결정하는 단계는 상기 오디오 프레임이 상기 활성 프레임인 것으로 결정하는 것에 응답하여 수행되는, 디코더를 동작시키는 방법.
  27. 제 12 항에 있어서,
    상기 디코더에서 상기 오디오 스트림의 제 2 오디오 프레임을 수신하는 단계;
    상기 제 2 오디오 프레임이 비활성 프레임인지 여부를 결정하는 단계; 및
    상기 제 2 오디오 프레임이 상기 비활성 프레임인 것으로 결정하는 것에 응답하여, 상기 디코더의 상기 출력 모드를 유지하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  28. 제 12 항에 있어서,
    상기 디코더에서 상기 오디오 스트림의 다수의 오디오 프레임들을 수신하는 단계로서, 상기 다수의 오디오 프레임들은 상기 오디오 프레임 및 제 2 오디오 프레임을 포함하는, 상기 오디오 스트림의 다수의 오디오 프레임들을 수신하는 단계;
    상기 제 2 오디오 프레임을 수신하는 것에 응답하여, 상기 디코더에서, 상기 대역 제한된 컨텐츠와 연관되는 상기 다수의 오디오 프레임들의 오디오 프레임들의 상대적인 수를 표시하는 카운트에 대응하는 메트릭 값을 결정하는 단계;
    상기 디코더의 상기 출력 모드의 제 1 모드에 기초하여 임계치를 선택하는 단계로서, 상기 제 1 모드는 상기 제 2 오디오 프레임 이전에 수신된 상기 오디오 프레임과 연관되는, 상기 임계치를 선택하는 단계; 및
    상기 임계치와의 상기 메트릭 값의 비교에 기초하여 상기 출력 모드를 상기 제 1 모드로부터 제 2 모드로 업데이트하는 단계로서, 상기 제 2 모드는 상기 제 2 오디오 프레임과 연관되는, 상기 출력 모드를 상기 제 1 모드로부터 제 2 모드로 업데이트하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  29. 제 28 항에 있어서,
    상기 메트릭 값은 대역 제한된 컨텐츠와 연관되는 것으로서 분류되는 상기 다수의 오디오 프레임들의 백분율로서 결정되고, 상기 임계치는 제 1 값을 가지는 광대역 임계치, 또는 제 2 값을 가지는 협대역 임계치로서 선택되고, 상기 제 1 값은 상기 제 2 값보다 더 큰, 디코더를 동작시키는 방법.
  30. 제 28 항에 있어서,
    상기 제 1 모드는 광대역 모드를 포함하고,
    상기 임계치를 선택하기 이전에, 상기 출력 모드가 상기 광대역 모드인 것으로 결정하는 단계; 및
    상기 출력 모드가 상기 광대역 모드인 것으로 결정하는 것에 응답하여, 상기 임계치로서 광대역 임계치를 선택하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  31. 제 30 항에 있어서,
    상기 메트릭 값이 상기 광대역 임계치 이상일 때, 상기 출력 모드는 협대역 모드로 업데이트되는, 디코더를 동작시키는 방법.
  32. 제 28 항에 있어서,
    상기 제 1 모드는 협대역 모드를 포함하고,
    상기 임계치를 선택하기 이전에, 상기 출력 모드가 상기 협대역 모드인 것으로 결정하는 단계; 및
    상기 출력 모드가 상기 협대역 모드인 것으로 결정하는 것에 응답하여, 상기 임계치로서 협대역 임계치를 선택하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  33. 제 32 항에 있어서,
    상기 메트릭 값이 상기 협대역 임계치 이하일 때, 상기 출력 모드는 광대역 모드로 업데이트되는, 디코더를 동작시키는 방법.
  34. 제 28 항에 있어서,
    상기 메트릭 값을 결정하기 이전에:
    상기 제 2 오디오 프레임이 활성 프레임인 것으로 결정하는 단계; 및
    상기 제 2 오디오 프레임의 저대역 컴포넌트와 연관된 평균 에너지 값을 결정하는 단계; 및
    상기 평균 에너지 값이 임계치 에너지 값보다 더 큰 것으로 결정하는 것에 응답하여, 그리고 상기 제 2 오디오 프레임이 상기 활성 프레임인 것으로 결정하는 것에 응답하여, 상기 메트릭 값을 제 1 값으로부터 제 2 값으로 업데이트하는 단계로서, 상기 제 2 오디오 프레임을 수신하는 것에 응답하여 상기 메트릭 값을 결정하는 단계는 상기 제 2 값을 식별하는 단계를 포함하는, 상기 메트릭 값을 제 1 값으로부터 제 2 값으로 업데이트하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  35. 제 34 항에 있어서,
    상기 제 2 오디오 프레임의 상기 저대역 컴포넌트와 연관된 상기 평균 에너지 값은 상기 제 2 오디오 프레임의 상기 저대역 컴포넌트의 대역들의 서브세트와 연관된 특정한 평균 에너지를 포함하는, 디코더를 동작시키는 방법.
  36. 제 34 항에 있어서,
    상기 임계치 에너지 값은 장기 메트릭이고, 상기 임계치 에너지 값은 상기 다수의 오디오 프레임들의 저대역 컴포넌트들과 연관된 평균 에너지 값들의 평균인, 디코더를 동작시키는 방법.
  37. 제 28 항에 있어서,
    상기 메트릭 값을 결정하기 이전에:
    상기 제 2 오디오 프레임이 활성 프레임인 것으로 결정하는 단계; 및
    상기 제 2 오디오 프레임의 저대역 컴포넌트와 연관된 평균 에너지 값을 결정하는 단계; 및
    상기 평균 에너지 값이 임계치 에너지 값 이하인 것으로 결정하는 것에 응답하여, 그리고 상기 제 2 오디오 프레임이 상기 활성 프레임인 것으로 결정하는 것에 응답하여, 상기 메트릭 값을 유지하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  38. 제 28 항에 있어서,
    활성 프레임으로서 표시된 상기 다수의 오디오 프레임들의 적어도 하나의 오디오 프레임에 대하여, 상기 디코더에서, 상기 적어도 하나의 오디오 프레임이 상기 대역 제한된 컨텐츠와 연관되는지 여부를 결정하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  39. 제 12 항에 있어서,
    상기 디코더에서, 대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 수에 대응하는 메트릭 값을 결정하는 단계; 및
    상기 디코더의 이전의 출력 모드에 기초하여 임계치를 선택하는 단계로서, 상기 디코더의 상기 출력 모드를 결정하는 단계는 상기 임계치와의 상기 메트릭 값의 비교에 추가로 기초하는, 상기 임계치를 선택하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  40. 제 12 항에 있어서,
    상기 디코더에서 상기 오디오 스트림의 제 2 오디오 프레임을 수신하는 단계;
    상기 디코더에서 수신되며 광대역 컨텐츠와 연관되는 것으로서 분류되는, 상기 제 2 오디오 프레임을 포함하는 연속 오디오 프레임들의 수를 결정하는 단계; 및
    연속 오디오 프레임들의 상기 수가 임계치 이상인 것에 응답하여, 상기 제 2 오디오 프레임과 연관된 제 2 출력 모드를 광대역 모드인 것으로 선택하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  41. 제 40 항에 있어서,
    상기 제 2 오디오 프레임을 수신하는 것에 응답하여:
    상기 제 2 오디오 프레임이 활성 프레임인 것으로 결정하는 단계;
    수신된 활성 프레임들의 수를 표시하는 상기 카운트를 증분시키는 단계; 및
    광대역 프레임 또는 협대역 프레임으로서의 상기 제 2 오디오 프레임의 분류를 결정하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  42. 제 41 항에 있어서,
    수신된 활성 프레임들의 수를 표시하는 상기 카운트가 제 2 임계치 이상인지 여부를 결정하는 단계를 더 포함하며,
    상기 연속 오디오 프레임들의 수는 상기 제 2 오디오 프레임의 상기 분류를 결정한 후에 결정되는, 디코더를 동작시키는 방법.
  43. 제 42 항에 있어서,
    수신된 활성 프레임들의 수를 표시하는 상기 카운트가 상기 제 2 임계치 미만인 것으로 결정하는 것에 응답하여, 상기 제 2 오디오 프레임과 연관된 상기 출력 모드를 상기 광대역 모드인 것으로 결정하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  44. 제 40 항에 있어서,
    상기 제 2 출력 모드를 선택하는 단계는 상기 제 2 오디오 프레임과 연관된 상기 출력 모드를 제 1 모드로부터 상기 광대역 모드로 업데이트하는 단계를 포함하고,
    상기 출력 모드를 상기 제 1 모드로부터 상기 광대역 모드로 업데이트하는 것에 응답하여, 수신된 오디오 프레임들의 수를 표시하는 카운트를 제 1 초기 값으로 설정하거나, 대역 제한된 컨텐츠와 연관되는 상기 오디오 스트림의 오디오 프레임들의 상대적인 수를 표시하는 카운트에 대응하는 메트릭 값을 제 2 초기 값으로 설정하거나, 또는 양자 모두를 행하는 단계를 더 포함하는, 디코더를 동작시키는 방법.
  45. 제 12 항에 있어서,
    상기 디코더에서 수신되며 광대역 컨텐츠와 연관되는 것으로서 분류되는, 상기 오디오 프레임들을 포함하는 연속 오디오 프레임들의 수를 결정하는 단계를 더 포함하며,
    상기 디코더의 상기 출력 모드를 결정하는 단계는 임계치와의 연속 오디오 프레임들의 상기 수의 비교에 추가로 기초하는, 디코더를 동작시키는 방법.
  46. 제 12 항에 있어서,
    상기 디코더는 이동 통신 디바이스 또는 기지국을 포함하는 디바이스 내에 포함되는, 디코더를 동작시키는 방법.
  47. 제 12 항에 있어서,
    비율 값에 기초하여 상기 오디오 프레임을 상기 대역 제한된 컨텐츠와 연관되는 것으로서 분류하는 단계를 더 포함하며,
    상기 비율 값은 상기 제 1 디코딩된 스피치의 저대역 컴포넌트와 연관된 제 1 에너지 메트릭 및 상기 제 1 디코딩된 스피치의 고대역 컴포넌트와 연관된 제 2 에너지 메트릭에 기초하는, 디코더를 동작시키는 방법.
  48. 오디오 대역폭 선택을 위한 장치로서,
    오디오 스트림의 오디오 프레임과 연관된 제 1 디코딩된 스피치를 생성하기 위한 수단;
    대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 수를 표시하는 카운트 및 수신된 활성 오디오 프레임들의 수를 표시하는 카운트에 적어도 부분적으로 기초하여 디코더의 출력 모드를 결정하기 위한 수단; 및
    상기 제 1 디코딩된 스피치에 기초하여 제 2 디코딩된 스피치를 출력하기 위한 수단으로서, 상기 제 2 디코딩된 스피치는 상기 출력 모드에 따라 생성되는, 상기 제 2 디코딩된 스피치를 출력하기 위한 수단을 포함하는, 오디오 대역폭 선택을 위한 장치.
  49. 제 48 항에 있어서,
    상기 제 1 디코딩된 스피치를 생성하기 위한 수단은 스피치 모델을 포함하고, 상기 출력 모드를 결정하기 위한 수단 및 상기 제 2 디코딩된 스피치를 출력하기 위한 수단은 각각 프로세서, 및 상기 프로세서에 의해 실행가능한 명령들을 저장하는 메모리를 포함하는, 오디오 대역폭 선택을 위한 장치.
  50. 제 48 항에 있어서,
    상기 대역 제한된 컨텐츠와 연관되는 다수의 오디오 프레임들의 오디오 프레임들의 수를 표시하는 카운트에 대응하는 메트릭 값을 결정하기 위한 수단;
    상기 메트릭 값에 기초하여 임계치를 선택하기 위한 수단; 및
    상기 임계치와의 상기 메트릭 값의 비교에 기초하여, 상기 출력 모드를 제 1 모드로부터 제 2 모드로 업데이트하기 위한 수단을 더 포함하는, 오디오 대역폭 선택을 위한 장치.
  51. 제 48 항에 있어서,
    상기 제 1 디코딩된 스피치를 생성하기 위한 수단에서 수신되며 광대역 컨텐츠와 연관되는 것으로서 분류되는 연속 오디오 프레임들의 수를 결정하기 위한 수단을 더 포함하는, 오디오 대역폭 선택을 위한 장치.
  52. 제 48 항에 있어서,
    상기 생성하기 위한 수단, 상기 결정하기 위한 수단, 상기 출력하기 위한 수단은 이동 통신 디바이스 또는 기지국 내로 통합되는, 오디오 대역폭 선택을 위한 장치.
  53. 명령들을 저장하는 컴퓨터-판독가능 저장 디바이스로서,
    상기 명령들은, 프로세서에 의해 실행될 경우, 상기 프로세서로 하여금,
    오디오 스트림의 오디오 프레임과 연관된 제 1 디코딩된 스피치를 생성하는 것;
    대역 제한된 컨텐츠와 연관되는 것으로서 분류된 오디오 프레임들의 수를 표시하는 카운트 및 수신된 활성 오디오 프레임들의 수를 표시하는 카운트에 적어도 부분적으로 기초하여 디코더의 출력 모드를 결정하는 것; 및
    상기 제 1 디코딩된 스피치에 기초하여 제 2 디코딩된 스피치를 출력하는 것으로서, 상기 제 2 디코딩된 스피치는 상기 출력 모드에 따라 생성되는, 상기 제 2 디코딩된 스피치를 출력하는 것
    을 포함하는 동작들을 수행하게 하는, 컴퓨터-판독가능 저장 디바이스.
  54. 제 53 항에 있어서,
    상기 명령들은 추가로, 상기 프로세서로 하여금,
    상기 오디오 프레임과 연관된 주파수 범위의 제 1 서브-범위와 연관된 제 1 에너지 메트릭을 결정하는 것;
    상기 주파수 범위의 제 2 서브-범위와 연관된 제 2 에너지 메트릭을 결정하는 것; 및
    상기 제 1 에너지 메트릭 및 상기 제 2 에너지 메트릭에 기초하여, 상기 오디오 프레임을 협대역 프레임 또는 광대역 프레임과 연관되는 것으로서 분류할 것인지 여부를 결정하는 것
    을 포함하는 동작들을 수행하게 하는, 컴퓨터-판독가능 저장 디바이스.
  55. 제 53 항에 있어서,
    상기 명령들은 추가로, 상기 프로세서로 하여금,
    상기 오디오 프레임을 협대역 프레임 또는 광대역 프레임으로서 분류하는 것;
    상기 대역 제한된 컨텐츠와 연관되는 다수의 오디오 프레임들의 오디오 프레임들의 수를 표시하는 제 2 카운트에 대응하는 메트릭 값을 결정하는 것; 및
    상기 메트릭 값에 기초하여 임계치를 선택하는 것
    을 포함하는 동작들을 수행하게 하는, 컴퓨터-판독가능 저장 디바이스.
  56. 제 53 항에 있어서,
    상기 명령들은 추가로, 상기 프로세서로 하여금,
    상기 오디오 스트림의 제 2 오디오 프레임을 수신하는 것에 응답하여, 광대역 컨텐츠를 가지는 것으로서 분류되는, 상기 디코더에서 수신된 연속 오디오 프레임들의 수를 표시하는 제 3 카운트를 결정하는 것; 및
    연속 오디오 프레임들의 수를 표시하는 상기 제 3 카운트가 임계치 이상인 것에 응답하여, 상기 출력 모드를 광대역 모드로 업데이트하는 것
    을 포함하는 동작들을 수행하게 하는, 컴퓨터-판독가능 저장 디바이스.
KR1020177028193A 2015-04-05 2016-03-30 오디오 대역폭 선택 KR102047596B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020197033630A KR102308579B1 (ko) 2015-04-05 2016-03-30 오디오 대역폭 선택

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562143158P 2015-04-05 2015-04-05
US62/143,158 2015-04-05
US15/083,717 2016-03-29
US15/083,717 US10049684B2 (en) 2015-04-05 2016-03-29 Audio bandwidth selection
PCT/US2016/025053 WO2016164232A1 (en) 2015-04-05 2016-03-30 Audio bandwidth selection

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197033630A Division KR102308579B1 (ko) 2015-04-05 2016-03-30 오디오 대역폭 선택

Publications (2)

Publication Number Publication Date
KR20170134461A KR20170134461A (ko) 2017-12-06
KR102047596B1 true KR102047596B1 (ko) 2019-11-21

Family

ID=57017020

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177028193A KR102047596B1 (ko) 2015-04-05 2016-03-30 오디오 대역폭 선택
KR1020197033630A KR102308579B1 (ko) 2015-04-05 2016-03-30 오디오 대역폭 선택

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197033630A KR102308579B1 (ko) 2015-04-05 2016-03-30 오디오 대역폭 선택

Country Status (9)

Country Link
US (2) US10049684B2 (ko)
EP (1) EP3281199B1 (ko)
JP (1) JP6545815B2 (ko)
KR (2) KR102047596B1 (ko)
CN (1) CN107408392B (ko)
AU (1) AU2016244808B2 (ko)
BR (1) BR112017021351A2 (ko)
TW (2) TWI693596B (ko)
WO (1) WO2016164232A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190130669A (ko) * 2015-04-05 2019-11-22 퀄컴 인코포레이티드 오디오 대역폭 선택

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3614382B1 (en) * 2014-07-28 2020-10-07 Nippon Telegraph And Telephone Corporation Coding of a sound signal
JP6501259B2 (ja) * 2015-08-04 2019-04-17 本田技研工業株式会社 音声処理装置及び音声処理方法
KR102398124B1 (ko) * 2015-08-11 2022-05-17 삼성전자주식회사 음향 데이터의 적응적 처리
US11054884B2 (en) * 2016-12-12 2021-07-06 Intel Corporation Using network interface controller (NIC) queue depth for power state management
SG10202100336WA (en) 2017-01-10 2021-02-25 Fraunhofer Ges Forschung Audio decoder, audio encoder, method for providing a decoded audio signal, method for providing an encoded audio signal, audio stream, audio stream provider and computer program using a stream identifier
EP3483879A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analysis/synthesis windowing function for modulated lapped transformation
EP3483886A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selecting pitch lag
EP3483883A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio coding and decoding with selective postfiltering
EP3483884A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Signal filtering
WO2019091576A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
EP3483878A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder supporting a set of different loss concealment tools
EP3483882A1 (en) * 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Controlling bandwidth in encoders and/or decoders
TWI748215B (zh) * 2019-07-30 2021-12-01 原相科技股份有限公司 聲音輸出之調整方法及執行該調整方法之電子裝置
US11172294B2 (en) * 2019-12-27 2021-11-09 Bose Corporation Audio device with speech-based audio signal processing
CN112530454A (zh) * 2020-11-30 2021-03-19 厦门亿联网络技术股份有限公司 一种窄带语音信号检测方法、装置、系统和可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090306992A1 (en) 2005-07-22 2009-12-10 Ragot Stephane Method for switching rate and bandwidth scalable audio decoding rate
WO2014118185A1 (en) 2013-01-29 2014-08-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder, method for providing an encoded audio information, method for providing a decoded audio information, computer program and encoded representation using a signal-adaptive bandwidth extension

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4308345B2 (ja) * 1998-08-21 2009-08-05 パナソニック株式会社 マルチモード音声符号化装置及び復号化装置
KR100728428B1 (ko) * 2002-09-19 2007-06-13 마츠시타 덴끼 산교 가부시키가이샤 오디오 디코딩 장치 및 오디오 디코딩 방법
WO2004090870A1 (ja) * 2003-04-04 2004-10-21 Kabushiki Kaisha Toshiba 広帯域音声を符号化または復号化するための方法及び装置
US8032370B2 (en) * 2006-05-09 2011-10-04 Nokia Corporation Method, apparatus, system and software product for adaptation of voice activity detection parameters based on the quality of the coding modes
US8532984B2 (en) * 2006-07-31 2013-09-10 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of active frames
TWI343560B (en) * 2006-07-31 2011-06-11 Qualcomm Inc Systems, methods, and apparatus for wideband encoding and decoding of active frames
US8032359B2 (en) * 2007-02-14 2011-10-04 Mindspeed Technologies, Inc. Embedded silence and background noise compression
EP2162880B1 (en) * 2007-06-22 2014-12-24 VoiceAge Corporation Method and device for estimating the tonality of a sound signal
DE102008009720A1 (de) 2008-02-19 2009-08-20 Siemens Enterprise Communications Gmbh & Co. Kg Verfahren und Mittel zur Dekodierung von Hintergrundrauschinformationen
US20090281803A1 (en) * 2008-05-12 2009-11-12 Broadcom Corporation Dispersion filtering for speech intelligibility enhancement
EP2577656A4 (en) * 2010-05-25 2014-09-10 Nokia Corp BANDWIDTH EXTENSIONER
US8548460B2 (en) * 2010-05-25 2013-10-01 Qualcomm Incorporated Codec deployment using in-band signals
US8868432B2 (en) * 2010-10-15 2014-10-21 Motorola Mobility Llc Audio signal bandwidth extension in CELP-based speech coder
US8924200B2 (en) * 2010-10-15 2014-12-30 Motorola Mobility Llc Audio signal bandwidth extension in CELP-based speech coder
CN102800317B (zh) * 2011-05-25 2014-09-17 华为技术有限公司 信号分类方法及设备、编解码方法及设备
WO2013063688A1 (en) * 2011-11-03 2013-05-10 Voiceage Corporation Improving non-speech content for low rate celp decoder
US8666753B2 (en) * 2011-12-12 2014-03-04 Motorola Mobility Llc Apparatus and method for audio encoding
US20130282373A1 (en) * 2012-04-23 2013-10-24 Qualcomm Incorporated Systems and methods for audio signal processing
US9711156B2 (en) 2013-02-08 2017-07-18 Qualcomm Incorporated Systems and methods of performing filtering for gain determination
US9842598B2 (en) * 2013-02-21 2017-12-12 Qualcomm Incorporated Systems and methods for mitigating potential frame instability
CN104217723B (zh) * 2013-05-30 2016-11-09 华为技术有限公司 信号编码方法及设备
CN104217727B (zh) * 2013-05-31 2017-07-21 华为技术有限公司 信号解码方法及设备
CN106409310B (zh) * 2013-08-06 2019-11-19 华为技术有限公司 一种音频信号分类方法和装置
CN104269173B (zh) * 2014-09-30 2018-03-13 武汉大学深圳研究院 切换模式的音频带宽扩展装置与方法
US10049684B2 (en) * 2015-04-05 2018-08-14 Qualcomm Incorporated Audio bandwidth selection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090306992A1 (en) 2005-07-22 2009-12-10 Ragot Stephane Method for switching rate and bandwidth scalable audio decoding rate
KR101295729B1 (ko) * 2005-07-22 2013-08-12 프랑스 텔레콤 비트 레이트­규모 가변적 및 대역폭­규모 가변적 오디오디코딩에서 비트 레이트 스위칭 방법
WO2014118185A1 (en) 2013-01-29 2014-08-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder, method for providing an encoded audio information, method for providing a decoded audio information, computer program and encoded representation using a signal-adaptive bandwidth extension

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
G.722.2 : Wideband coding of speech at around 16 kbit/s using Adaptive Multi-Rate Wideband (AMR-WB). Recommendation G.722.2. 2003.07.29.*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190130669A (ko) * 2015-04-05 2019-11-22 퀄컴 인코포레이티드 오디오 대역폭 선택
KR102308579B1 (ko) * 2015-04-05 2021-10-01 퀄컴 인코포레이티드 오디오 대역폭 선택

Also Published As

Publication number Publication date
BR112017021351A2 (pt) 2018-07-03
AU2016244808B2 (en) 2019-08-22
WO2016164232A1 (en) 2016-10-13
TW201928946A (zh) 2019-07-16
US10049684B2 (en) 2018-08-14
EP3281199B1 (en) 2023-10-04
EP3281199A1 (en) 2018-02-14
CN107408392A8 (zh) 2018-01-12
KR102308579B1 (ko) 2021-10-01
AU2016244808A1 (en) 2017-09-14
US20160293174A1 (en) 2016-10-06
US10777213B2 (en) 2020-09-15
TWI661422B (zh) 2019-06-01
KR20190130669A (ko) 2019-11-22
JP2018513411A (ja) 2018-05-24
JP6545815B2 (ja) 2019-07-17
KR20170134461A (ko) 2017-12-06
US20180342255A1 (en) 2018-11-29
CN107408392B (zh) 2021-07-30
CN107408392A (zh) 2017-11-28
EP3281199C0 (en) 2023-10-04
TWI693596B (zh) 2020-05-11
TW201703026A (zh) 2017-01-16

Similar Documents

Publication Publication Date Title
KR102047596B1 (ko) 오디오 대역폭 선택
US20210266246A1 (en) Selecting a Packet Loss Concealment Procedure
JP6377862B2 (ja) エンコーダ選択
US9972334B2 (en) Decoder audio classification
JP6522781B2 (ja) 利得フレームパラメータを生成するための装置、方法

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right