KR101585367B1 - 오디오 데이터의 중복적 송신에 대한 비트 할당을 위한 시스템, 방법들, 장치 및 컴퓨터 판독가능 매체 - Google Patents

오디오 데이터의 중복적 송신에 대한 비트 할당을 위한 시스템, 방법들, 장치 및 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR101585367B1
KR101585367B1 KR1020147022450A KR20147022450A KR101585367B1 KR 101585367 B1 KR101585367 B1 KR 101585367B1 KR 1020147022450 A KR1020147022450 A KR 1020147022450A KR 20147022450 A KR20147022450 A KR 20147022450A KR 101585367 B1 KR101585367 B1 KR 101585367B1
Authority
KR
South Korea
Prior art keywords
frame
audio signal
value
decision metric
candidates
Prior art date
Application number
KR1020147022450A
Other languages
English (en)
Other versions
KR20140111035A (ko
Inventor
비베크 라젠드란
벤카테쉬 크리쉬난
다니엘 제이 신더
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20140111035A publication Critical patent/KR20140111035A/ko
Application granted granted Critical
Publication of KR101585367B1 publication Critical patent/KR101585367B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/09Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • G10L19/107Sparse pulse excitation, e.g. by using algebraic codebook

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Telephonic Communication Services (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Traffic Control Systems (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Radio Relay Systems (AREA)
  • Telephone Function (AREA)

Abstract

오디오 신호의 프레임들에 대한 초기 비트 할당들의 압축가능성 기반 재할당이 기술된다. (예를 들어, 스피치 코덱 동작의 고정 비트 레이트 모드들에 대해) 중요 프레임들의 리던던시 기반 재송신에 대한 애플리케이션들이 또한 기술된다.

Description

오디오 데이터의 중복적 송신에 대한 비트 할당을 위한 시스템, 방법들, 장치 및 컴퓨터 판독가능 매체{SYSTEM, METHODS, APPARATUS, AND COMPUTER-READABLE MEDIA FOR BIT ALLOCATION FOR REDUNDANT TRANSMISSION OF AUDIO DATA}
본 특허 출원은 2012년 1월 12일자로 출원되고 여기의 양수인에게 양도된 발명의 명칭이 "SYSTEMS, METHODS, APPARATUS, AND COMPUTER-READABLE MEDIA FOR BIT ALLOCATION FOR REDUNDANT TRANSMISSION" 인 가출원 번호 제 61/586,007 호에 대한 우선권을 주장한다. 본 특허 출원은 또한 2012년 1월 17일자로 출원되고 여기의 양수인에게 양도된 발명의 명칭이 "SYSTEMS, METHODS, APPARATUS, AND COMPUTER-READABLE MEDIA FOR CRITICALITY THRESHOLD CONTROL" 인 가출원 번호 제 61/587,507 호에 대한 우선권을 주장한다. 본 특허 출원은 또한 2012년 5월 1일자로 출원되고 여기의 양수인에게 양도된 발명의 명칭이 "SYSTEMS, METHODS, APPARATUS, AND COMPUTER-READABLE MEDIA FOR BIT ALLOCATION FOR REDUNDANT TRANSMISSION" 인 가출원 번호 제 61/641,093 호에 대한 우선권을 주장한다.
본 개시는 오디오 통신에 관한 것이다
디지털 오디오 통신은 회선 교환 네트워크 (circuit-switched network) 들을 통해 수행되었다. 회선 교환 네트워크는 콜의 지속기간 동안 물리적 경로가 2 개의 단말기들 사이에 확립되는 네크워크이다. 회선 교환 애플리케이션들에서, 송신 단말기는 수신 단말기로 물리적 경로를 통해 오디오 (예를 들어, 음성) 정보를 포함하는 패킷들의 시퀀스를 전송한다. 수신 단말기는 대응하는 오디오 신호 (예를 들어, 스피치 신호) 를 합성하기 위해 패킷들 내에 포함된 오디오 정보 (예를 들어, 음성 정보) 를 사용한다.
디지털 오디오 통신은 패킷 교환 네트워크들을 통해 수행되기 시작했다. 패킷 교환 네트워크는 패킷들이 목적지 어드레스에 기초하여 네트워크를 통해 라우팅되는 네트워크이다. 패킷 교환 통신에 따르면, 라우터들은 각 패킷에 대한 경로를 개별적으로 결정하여, 그의 목적지에 도달하도록 그것을 임의의 이용가능한 경로를 따라 전송한다. 결과적으로, 패킷들은 동시에 또는 동일한 순서로 수신 단말기에 도달하지 않을 수도 있다. 디-지터 (de-jitter) 버퍼가 수신 단말기에서 사용되어 패킷들을 다시 순서대로 놓고 그들을 연속적인 순차적 양식으로 재생할 수도 있다.
일부 경우들에서, 패킷은 송신 단말기에서 수신 단말기로의 수송 시에 손실된다. 손실된 패킷은 합성된 오디오 신호의 품질을 열화시킬 수도 있다. 이와 같이, 프레임 내의 (예를 들어, 스피치 프레임 내의) 정보의 손실을 다루는 시스템들 및 방법들을 제공함으로써 이익들이 실현될 수도 있다.
일반적 구성에 따른 오디오 신호를 프로세싱하는 방법은 오디오 신호의 제 1 프레임 (예를 들어, 중요 프레임) 에 대해 오디오 신호에서 후속하는 오디오 신호의 제 2 프레임에 대한 결정 메트릭의 적어도 하나의 값을 계산하는 단계를 포함한다. 이러한 방법은 또한 결정 메트릭의 적어도 하나의 계산된 값에 기초하여 복수의 재할당 후보들 중에서 하나를 선택하는 단계를 포함한다. 이러한 방법에서, 계산된 적어도 하나의 값은 제 2 프레임의 압축가능성의 측정에 기초하고, 선택된 재할당 후보는 제 1 부분 및 제 2 부분으로의 제 2 프레임에 대한 초기 비트 할당의 재할당을 나타낸다. 유형의 특징들을 판독하는 머신으로 하여금 그러한 방법을 수행하게 하는 유형의 특징들을 갖는 컴퓨터 판독가능 저장 매체 (예를 들어, 비일시적 매체) 가 또한 개시된다.
다른 일반적 구성에 따른 오디오 신호를 프로세싱하는 장치는 오디오 신호의 제 1 프레임 (예를 들어, 중요 프레임) 에 대해 오디오 신호에서 후속하는 오디오 신호의 제 2 프레임에 대한 결정 메트릭의 적어도 하나의 값을 계산하는 수단을 포함한다. 이러한 장치는 또한 결정 메트릭의 적어도 하나의 계산된 값에 기초하여 복수의 재할당 후보들 중에서 하나를 선택하는 수단을 포함한다. 이러한 장치에서, 계산된 적어도 하나의 값은 제 2 프레임의 압축가능성의 측정에 기초하고, 선택된 재할당 후보는 제 1 부분 및 제 2 부분으로의 제 2 프레임에 대한 초기 비트 할당의 재할당을 나타낸다.
다른 일반적 구성에 따른 오디오 신호를 프로세싱하는 장치는 오디오 신호의 제 1 프레임 (예를 들어, 중요 프레임) 에 대해 오디오 신호에서 후속하는 오디오 신호의 제 2 프레임에 대한 결정 메트릭의 적어도 하나의 값을 계산하도록 구성된 계산기를 포함한다. 이러한 장치는 또한 결정 메트릭의 상기 적어도 하나의 계산된 값에 기초하여 복수의 재할당 후보들 중에서 하나를 선택하도록 구성된 선택기를 포함한다. 이러한 장치에서, 계산된 적어도 하나의 값은 제 2 프레임의 압축가능성의 측정에 기초하고, 선택된 재할당 후보는 제 1 부분 및 제 2 부분으로의 제 2 프레임에 대한 초기 비트 할당의 재할당을 나타낸다.
도 1a 는 네트워크 (NW10) 를 통해 통신하는 송신 단말기 (102) 및 수신 단말기 (104) 의 예를 도시하는 블록도이다.
도 1b 는 오디오 인코더 (AE10) 의 구현 (AE20) 의 블록도를 도시한다.
도 2 는 네트워크 (NW20) 를 통해 서로와 통신할 수도 있는 상이한 단말기 디바이스들의 예들을 도시한다.
도 3 은 프레임 인코더 (FE10) 의 기본 구현 (FE20) 의 블록도를 도시한다.
도 4 는 송신 단말기 (102) 의 구현 (112) 및 수신 단말기 (104) 의 구현 (114) 의 예를 도시하는 블록도이다.
도 5a 는 일반적 구성에 따른 방법 (M100) 의 흐름도를 도시한다.
도 5b 는 방법 (M100) 의 구현 (M200) 의 흐름도를 도시한다.
도 5c 는 방법 (M200) 의 구현 (M210) 의 흐름도를 도시한다.
도 6a 는 오디오 신호의 프레임들의 시퀀스의 예를 도시한다.
도 6b 는 결정 메트릭 (D) 의 값의 범위들과 복수의 재할당 후보들 사이의 대응을 도시한다.
도 6c 는 방법 (M200) 의 구현 (M220) 의 흐름도를 도시한다.
도 7a 는 방법 (M100) 의 구현 (M300) 의 흐름도를 도시한다.
도 7b 는 방법 (M300) 의 구현 (M310) 의 흐름도를 도시한다.
도 8a 는 방법 (M100) 의 구현 (M400) 의 흐름도를 도시한다.
도 8b 는 방법 (M400) 의 구현 (M410) 의 흐름도를 도시한다.
도 9a 는 방법 (M400) 의 구현 (M420) 의 흐름도를 도시한다.
도 9b 는 방법 (M400) 의 구현 (M430) 의 흐름도를 도시한다.
도 10a 는 방법 (M400) 의 구현 (M500) 의 흐름도를 도시한다.
도 10b 는 방법 (M500) 의 구현 (M510) 의 흐름도를 도시한다.
도 11a 는 방법 (M500) 의 구현 (M520) 의 흐름도를 도시한다.
도 11b 는 방법 (M500) 의 구현 (M530) 의 흐름도를 도시한다.
도 12 는 방법 (M500) 의 구현 (M540) 의 흐름도를 도시한다.
도 13a 는 방법 (M100) 의 구현 (M110) 의 흐름도를 도시한다.
도 13b 는 방법 (M110) 의 구현 (M120) 의 흐름도를 도시한다.
도 13c 는 방법 (M120) 의 구현 (M130) 의 흐름도를 도시한다.
도 14a 및 도 14b 는 채널 상태 정보와 여기에 기술된 다른 시스템 파라미터들 사이의 관계들의 예들을 도시한다.
도 15a 는 방법 (M120) 의 구현 (M140) 의 흐름도를 도시한다.
도 15b 는 방법들 (M130 및 M140) 의 구현 (M150) 의 흐름도를 도시한다.
도 16a 는 방법 (M100) 의 구현 (M600) 의 흐름도를 도시한다.
도 16b 는 방법 (M600) 의 구현 (M610) 의 흐름도를 도시한다.
도 16c 는 방법 (M600) 의 구현 (M620) 의 흐름도를 도시한다.
도 17a 는 방법 (M600) 의 구현 (M630) 의 흐름도를 도시한다.
도 17b 는 방법 (M600) 의 구현 (M640) 의 흐름도를 도시한다.
도 17c 는 방법 (M600) 의 구현 (M650) 의 흐름도를 도시한다.
도 18a 는 방법들 (M400 및 M610) 의 구현 (M660) 의 흐름도를 도시한다.
도 18b 는 방법들 (M400 및 M620) 의 구현 (M670) 의 흐름도를 도시한다.
도 18c 는 방법 (M600) 의 구현 (M700) 의 흐름도를 도시한다.
도 19a 는 방법들 (M660 및 M700) 의 구현 (M710) 의 흐름도를 도시한다.
도 19b 는 방법들 (M670 및 M700) 의 구현 (M720) 의 흐름도를 도시한다.
도 20a 는 IPv4 패킷의 다이어그램이다.
도 20b 는 IPv6 패킷의 다이어그램이다.
도 20c 는 통신 디바이스 (D10) 의 블록도를 도시한다.
도 21 은 중요 프레임의 중복적 카피 및 후속 프레임의 카피를 반송하는 RTP 패킷의 페이로드의 예를 도시한다.
도 22 는 오디오 디코더 (AD10) 의 구현 (AD20) 의 블록도이다.
도 23a 는 일반적 구성에 따른 장치 (MF100) 의 블록도를 도시한다.
도 23b 는 장치 (MF100) 의 구현 (MF300) 의 블록도를 도시한다.
도 23c 는 장치 (MF100) 의 구현 (MF500) 의 블록도를 도시한다.
도 24a 는 장치 (MF100) 의 구현 (MF140) 의 블록도를 도시한다.
도 24b 는 장치 (MF140) 의 구현 (MF150) 의 블록도를 도시한다.
도 25a 는 일반적 구성에 따른 장치 (A100) 의 블록도를 도시한다.
도 25b 는 장치 (A100) 의 구현 (A300) 의 블록도를 도시한다.
도 25c 는 장치 (A100) 의 구현 (A500) 의 블록도를 도시한다.
도 25d 는 무선 디바이스 (1102) 의 블록도를 도시한다.
도 26 은 핸드셋 (H100) 의 정면도, 이면도 및 측면도를 도시한다.
송신 동안의 정보의 손실에 대한 고정 비트 레이트 스킴의 강건성을 향상시키는 것이 바람직할 수도 있다. 여기에 기술된 시스템들, 방법들 및 장치는 오디오 신호의 중요 프레임들의 적응적 중복적 인코딩에 적용될 수도 있다. 그러한 적응적 인코딩은 복수의 공유 레이트들 (예를 들어, 공유 비트 할당들) 및 프레임 오프셋들을 테스트하는 것을 포함할 수도 있다. 그러한 적응적 인코딩은 또한 프레임이 중요한 프레임이라는 것을 결정하는 것을 포함할 수도 있다.
명확하게 콘텍스트에 의해 제한되지 않는 한, 용어 "신호" 는 와이어, 버스, 또는 다른 송신 매체 상에 표현된 메모리 로케이션 (또는, 메모리 로케이션들의 세트) 의 상태를 포함하여, 그의 보통의 의미들 중 임의의 것을 나타내기 위해 여기에서 사용된다. 명확하게 콘텍스트에 의해 제한되지 않는 한, 용어 "생성하는 (generating)" 은 컴퓨팅하는 또는 다르게는 생성하는 (producing) 과 같은, 그의 보통의 의미들 중 임의의 것을 나타내기 위해 여기에서 사용된다. 명확하게 콘텍스트에 의해 제한되지 않는 한, 용어 "계산하는" 은 복수의 값들로부터 컴퓨팅하는, 평가하는, 평활화하는, 및/또는 선택하는과 같은 그의 보통의 의미들 중 임의의 것을 나타내기 위해 여기에서 사용된다. 명확하게 콘텍스트에 의해 제한되지 않는 한, 용어 "획득하는" 은 계산하는, 도출하는, (예를 들어, 외부 디바이스로부터) 수신하는, 및/또는 (예를 들어, 저장 엘리먼트들의 어레이로부터) 취출하는과 같은, 그의 보통의 의미들 중 임의의 것을 나타내기 위해 여기에서 사용된다. 명확하게 콘텍스트에 의해 제한되지 않는 한, 용어 "선택하는" 은 2 개 보다 많은 것의 세트 중 적어도 하나, 그리고 전체보다 더 적은 것을 식별하는, 나타내는, 적용하는, 및/또는 사용하는과 같은, 그의 보통의 의미들 중 임의의 것을 나타내기 위해 여기에서 사용된다. 명확하게 콘텍스트에 의해 제한되지 않는 한, 용어 "결정하는" 은 결정하는, 확립하는, 결론을 내리는, 계산하는, 선택하는, 및/또는 평가하는과 같은 그의 보통의 의미들 중 임의의 것을 나타내기 위해 여기에서 사용된다. 용어 "포함하는" 이 본 상세한 설명 및 청구범위에서 사용되는 경우, 그것은 다른 엘리먼트들 또는 동작들을 배제하지 않는다. ("A 는 B 에 기초한다" 에서와 같이) 용어 "기초하는" 은 경우 (i) "~ 로부터 도출되는" (예를 들어, "B 는 A 의 전구체이다"), 경우 (ii) "적어도 ~ 에 기초하는" (예를 들어, "A 는 적어도 B 에 기초한다), 및 특정의 콘텍스트에서 적절하다면, 경우 (iii) "~와 동일한" (예를 들어, "A 는 B 와 동일하다") 을 포함하여 그의 보통의 의미들 중 임의의 것을 나타내기 위해 여기에서 사용된다. 유사하게 용어 "~ 에 응답하여" 는 "적어도 ~ 에 응답하여" 를 포함하여, 그의 보통의 의미들 중 임의의 것을 나타내기 위해 여기에서 사용된다.
달리 나타내지 않으면, 용어 "시리즈" 는 둘 이상의 아이템들의 시퀀스를 나타내는데 사용된다. 용어 "로그 (logarithm)" 는, 다른 베이스들에 대한 그러한 동작의 확장들이 본 개시의 범위 내에 있지만, 베이스가 10 인 로그를 나타내는데 사용된다. 용어 "주파수 컴포넌트" 는 신호의 부대역 (예를 들어, 바크 (Bark) 스케일 또는 멜 (mel) 스케일 부대역) 또는 (예를 들어, 고속 푸리에 변환 또는 MDCT 에 의해 생성된) 신호의 주파수 도메인 표현의 샘플과 같은, 신호의 주파수들 또는 주파수 대역들의 세트 중 하나를 나타내는데 사용된다.
달리 나타내지 않는다면, 특정의 특징을 갖는 장치의 동작의 임의의 개시는 또한 유사한 특징을 갖는 방법을 개시하도록 명백히 의도되고 (그 역도 성립), 특정의 구성에 따른 장치의 동작의 임의의 개시는 또한 유사한 구성에 따른 방법을 개시하도록 명백히 의도된다 (그 역도 성립). 용어 "구성 (configuration)" 은 그의 특정의 콘텍스트에 의해 나타낸 방법, 장치, 및/또는 시스템에 대한 참조로 사용될 수도 있다. 용어들 "방법", "프로세스", "절차", 및 "기법" 은 특정의 콘텍스트에 의해 달리 나타내지 않는다면 일반적으로 그리고 상호교환적으로 사용된다. 다수의 서브태스크들을 갖는 "태스크" 는 또한 방법이다. 용어 "장치" 및 "디바이스" 는 또한 특정의 콘텍스트에 의해 달리 나타내지 않는다면 일반적으로 그리고 상호교환적으로 사용된다. 용어 "엘리먼트" 및 "모듈" 은 통상 더 큰 구성의 부분을 나타내는데 사용된다. 콘텍스트에 의해 명백히 제한되지 않는 다면, 용어 "시스템" 은 "공통의 목적을 서빙하기 위해 상호작용하는 엘리먼트들의 그룹" 을 포함하여, 그의 보통의 의미들 중 임의의 것을 나타내기 위해 여기에서 사용된다. 용어 "복수" 는 "둘 이상" 을 의미한다. 문서의 일부의 참조에 의한 병합은 또한 그 일부 내에서 참조되는 용어들 또는 변수들의 정의들을 병합하는 것으로 이해될 것이며, 여기서 그 병합된 일부 내에서 참조된 임의의 수치들 뿐아니라 그러한 정의들은 문서 내의 그 밖의 부분에 나타난다.
용어들 "코더", "코덱", 및 "코딩 시스템" 은 (아마도 감지적 가중화 (perceptual weighting) 및/또는 다른 필터링 동작과 같은 하나 이상의 사전 프로세싱 동작들 이후에) 오디오 신호의 프레임들을 수신 및 인코딩하도록 구성된 적어도 하나의 인코더 및 프레임들의 디코딩된 표현들을 생성하도록 구성된 대응하는 디코더를 포함하는 시스템을 나타내도록 상호교환가능하게 사용된다. 그러한 인코더 및 디코더는 통상 통신 링크의 반대의 단말기들에 전개된다. 풀-듀플렉스 통신을 지원하기 위해, 인코더 및 디코더의 양자의 인스턴스들은 통상 그러한 링크의 각 말단에 전개된다.
달리 나타내지 않는다면, 용어들 "보코더", "오디오 코더", 및 "스피치 코더" 는 오디오 인코더 및 대응하는 오디오 디코더의 조합을 지칭한다. 달리 나타내지 않는다면, 용어 "코딩" 은 인코딩 및 후속하는 디코딩을 포함하여, 코덱을 통한 오디오 신호의 전달을 나타낸다. 달리 나타내지 않는다면, 용어 "송신하는" 은 송신 채널로 (예를 들어, 신호를) 전파하는을 나타낸다.
여기에 기술된 코딩 스킴은 (예를 들어, 넌- 스피치 오디오를 포함하는) 임의의 오디오 신호를 코딩하는데 적용될 수도 있다. 대안적으로, 그러한 코딩 스킴을 단지 스피치에 대해서만 사용하는 것이 바람직할 수도 있다. 그러한 경우에, 코딩 스킴은 오디오 신호의 각 프레임의 컨텐츠의 타입을 결정하고 적합한 코딩 스킴을 선택하기 위해 분류 스킴과 함께 사용될 수도 있다.
여기에 기술된 코딩 스킴은 주요 코덱으로서 또는 멀티-레이어 또는 멀티-스테이지 코덱에서 레어어 또는 스테이지로서 사용될 수도 있다. 하나의 그러한 예에서, 그러한 코딩 스킴은 오디오 신호의 주파수 컨텐츠의 일부 (예를 들어, 저대역 또는 고대역) 를 코딩하는데 사용되고, 다른 코딩 스킴은 신호의 주파수 컨텐츠의 다른 부분을 코딩하는데 사용된다. 다른 그러한 예에서, 그러한 코딩 스킴은 선형 예측 코딩 (LPC) 분석 동작의 레지듀얼과 같은, 다른 코딩 레이어의 레지듀얼 (즉, 오리지널 신호와 인코딩된 신호 사이의 오차) 인 오디오 신호를 코딩하는데 사용된다.
여기에 기술된 방법들, 시스템들, 및 장치는 세그먼트들의 시리즈로서 오디오 신호를 프로세싱하도록 구성될 수도 있다. 통상적인 세그먼트 길이들은 약 5 또는 10 밀리초에서 약 40 또는 50 밀리초까지의 범위이고, 세그먼트들은 (예를 들어, 인접한 세그먼트들이 25% 또는 50% 만큼 중첩하는 상태로) 중첩하거나 중첩하지 않을 수도 있다. 하나의 특정의 예에서, 오디오 신호는 각각 10 밀리초의 길이를 갖는 비중첩 세그먼트들 또는 "프레임들" 의 시리즈로 분할된다. 다른 특정의 예에서, 각 프레임은 20 밀리초의 길이를 갖는다. 오디오 신호에 대한 샘플링 레이트들의 예들은 (제한 없이) 8, 12, 16, 32, 44.1, 48, 및 192 킬로헤르쯔를 포함한다.
오디오 통신 애플리케이션들은 패킷 교환 네크워크에서 구현될 수도 있다. 예를 들어, 오디오 통신 애플리케이션들은 VoIP (Voice over Internet Protocol) 네트워크에서 구현될 수도 있다. 패킷은 인코딩된 오디오 신호의 하나 이상의 프레임들을 포함할 수도 있고, 오디오 (예를 들어, 음성) 정보를 갖는 패킷들은 네트워크에서 제 1 디바이스로부터 제 2 디바이스로 송신될 수도 있다. 그러나 패킷들의 일부는 패킷들의 송신 동안 손실될 수도 있다. 예를 들어, (때때로 버스티 (bursty) 패킷 손실로서 지칭되는) 다수의 패킷들의 손실은 수신 디바이스에서 감지된 스피치 품질의 열화에 대한 이유일 수도 있다.
VoIP 네트워크에서의 패킷 손실들에 의해 야기된 감지된 스피치 품질의 열화를 경감시키기 위해, 2 가지 타입의 솔루션들이 존재한다. 첫번째 솔루션은 수신기 기반 패킷 손실 은닉 (packet loss concealment: PLC) 접근법이다. PLC 방법은 VoIP 통신에서 패킷 손실의 효과들을 마스킹하는데 사용될 수도 있다. 예를 들어, PLC 방법은 송신 동안 손실된 것 대신에 대체 패킷을 생성하도록 구현될 수도 있다. 그러한 PLC 방법은 손실된 것과 가능한 한 유사한 패킷을 생성하도록 시도할 수도 있다. 수신기 기반 PLC 방법들은 대체 패킷을 생성하기 위해 전송자로부터 임의의 추가적인 자원들 또는 도움을 필요로 하지 않을 수도 있다. 그러나, 중요한 스피치 프레임들이 손실된 경우, PLC 방법은 패킷 손실의 효과들을 마스킹하는데 비효과적일 수도 있다.
두번째 솔루션은 전송자 기반 패킷 손실 복원 접근법이다. 그러한 접근법은 각 패킷과 함께 몇몇 추가 데이터를 전송하는 것을 포함할 수도 있는 순방향 에러 정정 (forward error correction: FEC) 방법들을 포함한다. 추가 데이터는 송신 동안 데이터의 손실에 의해 야기된 에러들을 복구하는데 사용될 수도 있다. 예를 들어, FEC 스킴들은 중복적 오디오 프레임들을 송신할 수도 있다. 즉, 오디오 프레임의 하나 보다 많은 카피 (통상적으로 둘) 가 전송자에 의해 송신된다. 이들 2 개의 프레임들은 주요 카피 및 중복적 카피로서 지칭될 수도 있다.
전송자 기반 패킷 손실 복원 스킴들이 디코딩된 스피치의 감지 품질을 향상시킬 수도 있지만, 이들 스킴들은 또한 스피치의 송신 동안 사용된 대역폭을 증가시킬 수도 있다. 전통적인 FEC 스킴들은 또한 단-대-단 지연을 증가시킬 수도 있고, 이는 실시간 대화들에 대해 허용가능하지 않을 수도 있다. 예를 들어, 종래의 전송자 기반 스킴들은 동일한 스피치 프레임을 2 개의 상이한 시간 주기들에서 두 번 전송한다. 이러한 접근법은 데이터 레이트를 적어도 배가시킬 수도 있다. 일부 종래의 스킴들은 데이터 레이트를 감소시키기 위해, 중복적 카피에 대해 저 비트 레이트 코덱을 사용할 수도 있다. 그러나, 저 비트 레이트 코덱의 사용은 인코더에서의 복잡성을 증가시킬 수도 있다. 또, 일부 종래의 스킴들은 프레임의 중복적 카피 및 프레임의 주요 카피 양자 모두에 대해 동일한 저 비트 레이트 코덱을 사용할 수도 있다. 이러한 접근법은 데이터 레이트를 감소시킬 뿐아니라 인코더에서의 복잡성을 감소시킬 수도 있지만, 베이스라인 (baseline) 스피치 품질 (즉, 프레임들이 손실되지 않은 경우의 스피치 품질) 은 크게 감소될 수도 있다. 또, 종래의 전송자 기반 스킴들은 적어도 하나의 프레임 간격의 추가적인 지연의 가정 하에서 동작한다.
여기에 기술된 시스템들, 방법들, 및 장치는 스피치 품질, 지연; 및 데이터 레이트 사이의 최적의 트레이드 오프를 획득하기 위해 소스 제어 (및 아마도 채널 제어) FEC 스킴을 제공하도록 구현될 수도 있다. FEC 스킴은 어떠한 추가적인 지연도 도입되지 않도록 구성될 수도 있다. 적당한 데이터 레이트 증가들 하에서의 스피치 품질의 고 품질 개선이 달성될 수도 있다. 여기에 기술된 FEC 스킴은 또한 임의의 목표 데이터 레이트에서 동작할 수도 있다. 하나의 예에서, FEC 스킴 및 목표 데이터 레이트는 외부 제어들 뿐아니라 송신 채널 조건에 기초하여 적응적으로 조정될 수도 있다. 제안된 FEC 스킴은 또한 레거시 통신 디바이스들 (예를 들어, 레거시 핸드셋들) 과 호환가능한 방식으로 구현될 수도 있다.
오디오 (예를 들어, 음성) 통신을 위한 일부 코덱들의 경우, 각 프레임이 인코딩되는 비트들의 총 수는 미리결정된 상수이다. 그러한 코덱들의 예들은 (예를 들어, ETSI (European Telecommunications Standards Institute), www-dot-etsi-dot-org, Sophia Antipolis, FR 로부터 2011 년 4월 5일자로 이용가능한 3GPP 기술 사양 (TS) 26.071, 버전 10.0.0 에 기술된) 적응적 멀티 레이트 (AMR) 스피치 코덱 및 (ETST 로부터 이용가능한 3GPP 기술 사용 26.190 v10.0.0 (March 2011) 및/또는 ITU-T 추천 G.722.2, July 2003, International Telecommunication Union, www-dot-itu-dot-int 에 기술된) AMR 광대역 스피치 코덱을 포함하며, 여기서 비트들의 수는 프레임에 대해 선택된 코딩 코드에 의해 결정된다. 그러한 경우들에서, 과거의 프레임의 중복적 카피를 송신하는 것은 현재의 프레임 내의 신호 정보를 코딩하는데 이용가능한 비트들의 수에서의 대응하는 감소를 요구할 수도 있다. 이러한 감소는 디코딩된 스피치의 감지 품질에 부정적인 영향을 미칠 수도 있다.
중복적 카피들이 중요 프레임들에 대해서만 송신되는 유연한 접근법을 구현하는 것이 바람직할 수도 있다. "중요 프레임 (critical frame) " 은 그의 손실이 디코딩된 신호의 감지 품질에 상당한 영향을 미치는 것으로 예상되는 프레임이다. 또한, 현재의 프레임에 중복적 카피를 피기백 (piggyback) 하는 영향이 최소인 것으로 예상되는 경우에만 그러한 중복적 카피를 송신하는 것이 바람직할 수도 있다. 고정 비트 레이트 시스템의 경우, 현재의 프레임을 코딩하는데 사용되는 비트들의 수 및 과거의 프레임의 중복적 카피 (예를 들어, 부분적 카피) 를 코딩하는데 사용되는 비트들의 수의 총합이 목표 고정 비트 레이트 (T) 와 부합하도록, 현재의 프레임을 코딩하는데 사용될 비트들의 수를 결정하는 것이 바람직할 수도 있다.
도 1a 는 송신 채널 (TC10) 을 경유하여 네트워크 (NW10) 를 통해 통신하는 송신 단말기 (102) 및 수신 단말기 (104) 의 예를 도시하는 블록도이다. 단말기들 (102 및 104) 각각은 여기에 기술된 방법을 수행하고 및/또는 여기에 기술된 장치를 포함하도록 구현될 수도 있다. 송신 단말기 (102) 및 수신 단말기 (104) 는 전화기들 (예를 들어, 스마트폰들), 컴퓨터들, 오디오 브로드캐스트 및 수신 장비, 화상 회의 장비 등을 포함하여, 음성 통신들을 지원할 수 있는 임의의 디바이스들일 수도 있다. 송신 단말기 (102) 및 수신 단말기 (104) 는 예를 들어 코드 분할 다중 액세스 (CDMA) 능력과 같은 무선 다중 액세스 기술을 갖도록 구현될 수도 있다. CDMA 는 확산 스펙트럼 통신에 기초한 변조 및 다중 액세스 스킴이다.
송신 단말기 (102) 는 오디오 인코더 (AE10) 를 포함하고, 수신 단말기 (104) 는 오디오 디코더 (AD10) 를 포함한다. 오디오 인코더 (AE10) 는 인간 스피치 생성의 모델에 따라 파라미터들의 값들을 추출함으로써 제 1 사용자 인터페이스 (UI10) (예를 들어, 마이크로폰 및 오디오 프런트-엔드) 로부터의 오디오 정보 (예를 들어, 스피치) 를 압축하는데 사용될 수도 있다. 채널 인코더 (CE10) 는 파라미터 값들을 패킷들로 어셈블하고, 송신기 (TX10) 는 송신 채널 (TC10) 을 경유하여 인터넷 또는 회사 인트라넷과 같은 패킷 기반 네트워크를 포함할 수도 있는 네트워크 (NW10) 을 통해 이들 파라미터 값들을 포함하는 패킷들을 송신한다. 송신 채널 (TC10) 은 유선 및/또는 무선 송신 채널일 수도 있고, 채널의 품질이 결정되는 방법 및 장소에 따라 네트워크 (NW10) 의 입력 포인트 (예를 들어, 기지국 제어기) 까지, 네트워크 (NW10) 내의 다른 엔티티 (예를 들어, 채널 품질 분석기) 까지, 및/또는 수신 단말기 (104) 의 수신기 (RX10) 까지 연장되는 것으로 고려될 수도 있다.
수신 단말기 (104) 의 수신기 (RX10) 는 송신 채널을 경유하여 네트워크 (NW10) 로부터 패킷들을 수신하는데 사용된다. 채널 디코더 (CD10) 는 파라미터 값들을 획득하기 위해 패킷들을 디코딩하고, 오디오 디코더 (AD10) 는 패킷들로부터의 파라미터 값들을 사용하여 오디오 정보를 합성한다. 합성된 오디오 (예를 들어, 스피치) 는 수신 단말기 (104) 상의 제 2 사용자 인터페이스 (UI20) (예를 들어, 오디오 출력 스테이지 및 라우드스피커) 로 제공된다. 도시되지는 않지만, 여러 신호 프로세싱 기능들이 채널 인코더 (CE10) 및 채널 디코더 (CD10) 에서 (예를 들어, 순환 리던던시 체크 (CRC) 기능들을 포함하는 콘볼루션 코딩, 인터리빙) 그리고 송신기 (TX10) 및 수신기 (RX10) 에서 (예를 들어, 디지털 변조 및 대응하는 복조, 확산 스펙트럼 프로세싱, 아날로그 대 디지털 및 디지털 대 아날로그 변환) 수행될 수도 있다.
도 2 는 무선 업링크 및 다운링크 송신 채널들을 통해 이동국들과 통신하는 기지국 송수신기들 (BTS1-BTS3) 을 포함하는 네트워크 (NW10) 의 구현 (NW20) 의 예를 도시한다. 네트워크 (NW20) 는 또한 공중 전화 교환망 (PSTN) 및 인터넷 (INT) 에 연결되는 코어 네트워크 (CNW1), 및 인터넷 (INT) 에 또한 연결되는 코어 네트워크 (CNW2) 를 포함한다. 네트워크 (NW20) 는 또한 기지국 송수신기들을 코어 네트워크들과 인터페이싱하는 기지국 제어기들 (BSC1-BSC3) 을 포함한다. 네트워크 (NW20) 는 단말기 디바이스들 사이에 패킷 교환 통신들을 제공하도록 구현될 수도 있다. 코어 네트워크 (CNW1) 는 또한 기지국 송수신기들 (BTS1, BTS2) 을 경유하여 단말기 디바이스들 (MS1 및 MS2) 사이에 및/또는 그러한 단말기 디바이스와 PSTN 상의 단말기 디바이스 사이에 회선 교환 통신을 제공할 수도 있다.
도 2 는 또한 네트워크 (NW20) 를 경유하여 (예를 들어, 패킷 교환 통신 링크를 통해) 서로와 통신할 수도 있는 상이한 단말기 디바이스들의 예들: 이동국들 (MS1-MS3); VoIP (Voice over IP) 전화 (VP); 및 통신 프로그램 (예를 들어, Microsoft Skype Division, LU 로부터의 Skype 소프트웨어) 을 실행하도록 구성되는 컴퓨터 (CP) 를 도시한다. 단말기 디바이스들 (MS1-MS3, VP 및 CP) 중 임의의 것은 송신 단말기 (102) 의 인스턴스 및 수신 단말기 (104) 의 인스턴스를 포함하도록 구현될 수도 있다. 이동 디바이스들 (MS1-MS3) 은 무선 라디오 업링크 및 다운링크 송신 채널들을 경유하여 네트워크와 통신한다. 단말기들 (VP 및 CP) 은 유선 송신 채널들 (예를 들어, 이더넷 케이블) 및/또는 무선 송신 채널들 (예를 들오, IEEE 802.11 또는 "WiFi" 링크) 을 통해 네트워크와 통신한다. 네트워크 (NW20) 는 또한 게이트웨이들 및/또는 TRAU (Transcoder and Rate Adapter Unit) 와 같은 중간 엔티티들을 포함할 수도 있다.
통신에 대한 각 당사자는 수신 뿐아니라 송신할 수도 있고, 각 단말기는 오디오 인코더 (AE10) 및 오디오 디코더 (AD10) 의 인스턴스들을 포함할 수도 있다. 오디오 인코더 및 디코더는 별개의 디바이스들이거나 "보이스 코더" 또는 "보코더" 로서 알려진 단일의 디바이스로 통합될 수도 있다. 도 1a 에 도시된 바와 같이, 단말기들 (102, 104) 은 네트워크 (NW10) 의 하나의 단말기에서 오디오 인코더 (AE10) 를, 그리고 다른 단말기에서 오디오 디코더 (AD10) 를 갖는 것으로 기술된다.
송신 단말기 (102) 의 적어도 하나의 구성에서, 오디오 신호 (예를 들어, 스피치) 는 제 1 사용자 인터페이스 (UI10) 로부터 오디오 인코더 (AE10) 로 프레임들로 입력될 수도 있고, 각각의 프레임은 서브 브레임들로 더 파티셔닝된다. 그러한 임의의 프레임 경계들은 일부 블록 프로세싱이 수행되는 경우 사용될 수도 있다. 그러나, 오디오 샘플들의 프레임들 (및 서브 프레임들) 로의 그러한 파티셔닝은 블록 프로세싱이라기 보다 연속적인 프로세싱이 구현되는 경우 생략될 수도 있다. 기술된 예들에서, 네트워크 (NW10) 를 가로질러 송신된 각 패킷은 특정의 애플리케이션 및 전체 설계 제약들에 따라 하나 이상의 프레임들을 포함할 수도 있다.
오디오 인코더 (AE10) 는 가변 레이트 또는 단일 고정 레이트 인코더일 수도 있다. 가변 레이트 인코더는 오디오 컨텐츠에 따라 (예를 들어, 스피치가 존재하는지 여부 및/또는 어떤 타입의 스피치가 존재하는지에 따라) 프레임 마다 다수의 인코더 모드들 (예를 들어, 상이한 고정 레이트들) 사이에서 동적으로 스위칭할 수도 있다. 오디오 디코더 (AD10) 는 또한 대응하는 방식으로 프레임 마다 대응하는 디코더 모드들 사이에서 동적으로 스위치할 수도 있다. 특정의 모드가 수신 단말기 (104) 에서의 허용가능한 신호 재생 품질을 유지하면서 이용가능한 최저 비트 레이트를 달성하기 위해 각 프레임에 대해 선택될 수도 있다.
오디오 인코더 (AE10) 는 통상 시간에서의 비중첩 세그먼트들 또는 "프레임들" 의 시리즈로서 입력 신호를 프로세싱하며, 새로 인코딩된 프레임이 각 프레임에 대해 계산된다. 프레임 주기는 일반적으로 신호가 국부적으로 정지하는 것으로 예상되는 주기이다; 통상의 예들은 20 밀리초 (16 kHz 의 샘플링 레이트에서 320 개의 샘플들, 12.8 kHz 의 샘플링 레이트에서 256 개의 샘플들 또는 8 kHz 의 샘플링 레이트에서 160 개의 샘플들과 등가임) 및 10 밀리초를 포함한다. 중첩하는 프레임들의 시리즈로서 입력 신호를 프로세싱하도록 오디오 인코더 (AE10) 를 구현하는 것도 가능하다.
도 1b 는 프레임 인코더 (FE10) 를 포함하는 오디오 인코더 (AE10) 의 구현 (AE20) 의 블록도를 도시한다. 프레임 인코더 (FE10) 는 입력 신호의 코어 오디오 프레임들 (CF) 의 시퀀스의 각각을 인코딩하여 인코딩된 오디오 프레임들 (EF) 의 시퀀스의 대응하는 것을 생성하도록 구성된다. 오디오 인코더 (AE10) 는 또한 입력 신호를 프레임들로 분할하는 것 및 프레임 인코더 (FE10) 에 대한 코딩 모드를 선택하는 것과 같은 추가의 태스크들을 수행하도록 구현될 수도 있다. 코딩 모드 (예를 들어, 레이트 제어) 를 선택하는 것은 음성 활동 검출 (voice activity detection: VAD) 을 수행하는 것 및/또는 다르게는 프레임의 오디오 컨텐츠를 분류하는 것을 포함할 수도 있다. 이러한 예에서, 오디오 인코더 (AE20) 는 또한 (예를 들어, ETSI 에서 이용가능한 3GPP TS 26.104 v10.0.0, Mar. 2011 에 기술된 바와 같은) 음성 활동 검출 신호 (VS) 를 생성하기 위해 코어 오디오 프레임들 (CF) 을 프로세싱하도록 구성되는 음성 활동 검출기 (VAD10) 를 포함한다.
프레임 인코더 (FE10) 는 통상 (A) 필터를 기술하는 파라미터들의 세트 및 (B) 오디오 프레임의 합성된 재생을 생성하기 위해 기술된 필터를 도출하기 위해 디코더에서 사용될 여기 신호로서 입력 오디오 신호의 각 프레임을 인코딩하는 소스 필터 모델에 따라 구현된다. 스피치 신호의 스펙트럼 인벨로프는 통상 성도 (vocal tract) (예를 들어, 목구멍 및 입) 의 공진들을 나타내고 포먼트 (formant) 로 불리는 피크들에 의해 특징지워진다. 대부분의 스피치 코더들은 필터 계수들과 같은 파라미터들의 세트로서 적어도 이러한 코어스 (coarse) 스펙트럼 구조를 인코딩한다. 나머지 레지듀얼 신호는 스피치 신호를 생성하기 위해 필터를 구동하고 통상 그의 세기 및 피치에 의해 특징지워지는 (예를 들어, 성대들에 의해 생성되는 바와 같은) 소스 (source) 로서 모델링될 수도 있다.
도 3 은 사전 프로세싱 모듈 (PP10), 선형 예측 코딩 (LPC) 분석 모듈 (LA10), 개방 루프 피치 검색 모듈 (OL10), 적응적 코드북 (ACB) 검색 모듈 (AS10), 고정된 코드북 (FCB) 검색 모듈 (FS10), 및 이득 벡터 양자화 (VQ) 모듈 (GV10) 을 포함하는 프레임 인코더 (FE10) 의 기본 구현 (FE20) 의 블록도를 도시한다. 사전 프로세싱 모듈 (PP10) 은 예를 들어 3GPP TS 26.190 v10.0.0 의 섹션 5.1 에서 기술된 바와 같이 구현될 수도 있다. 하나의 그러한 예에서, 사전 프로세싱 모듈 (PP10) 은 (예를 들어, 16 kHz 로부터 12.8 kHz 로) 코어 오디오 프레임의 다운샘플링, (예를 들어, 50 Hz 의 컷오프 주파수로) 다운샘플링된 프레임의 고역 통과 필터링, 및 (예를 들어, 1차 고역 통과 필터를 사용하여) 필터링된 프레임의 프리엠퍼시스를 수행하도록 구현된다.
선형 예측 코딩 (LPC) 분석 모듈 (LA10) 은 각각의 코어 오디오 프레임의 스펙트럼 인벨로프를 선형 예측 (LP) 계수들 (예를 들어, 전극 (all-pole) 필터 (1/A(z)) 의 계수들) 의 세트로서 인코딩한다. 하나의 예에서, LPC 분석 모듈 (LA10) 은 각 20 밀리초 프레임의 포먼트 구조를 특징짓기 위해 16 개의 LP 필터 계수들의 세트를 계산하도록 구성된다. 분석 모듈 (LA10) 은 예를 들어 3GPP TS 26.190 v10.0.0 의 섹션 5.2 에서 기술된 바와 같이 구현될 수도 있다.
분석 모듈 (LA10) 은 각각의 프레임의 샘플들을 직접 분석하도록 구성될 수도 있거나, 또는 샘플들은 윈도우잉 함수 (예를 들어, 해밍 윈도우) 에 따라 먼저 가중될 수도 있다. 분석은 또한 30 밀리초 윈도우와 같이 프레임보다 더 큰 윈도우에 대해 수행될 수도 있다. 이러한 윈도우는 대칭 (예를 들어, 그것이 20 밀리초 프레임 바로 전후에 5 밀리초를 포함하도록, 5-20-5) 이거나, 비대칭 (예를 들어, 그것이 최근 10 밀리초의 선행 프레임을 포함하도록, 10-20) 일 수도 있다. LPC 분석 모듈은 통상 레빈슨-더빈 (Levinson-Durbin) 회귀법 또는 레룩스-게겐 (Leroux-Gueguen) 알고리즘을 사용하여 LP 필터 계수들을 계산하도록 구성된다. LPC 인코딩이 스피치에 잘 적합되지만, 그것은 (예를 들어, 음악과 같은 넌-스피치를 포함하는) 일반적 오디오 신호들을 인코딩하는데 사용될 수도 있다. 다른 구현에서, 분석 모듈은 LP 필터 계수들의 세트 대신에 각 프레임에 대한 켑스트럼 계수들의 세트를 계산하도록 구성될 수도 있다.
선형 예측 필터 계수들은 통상 효율적으로 양자화하기에 어렵고, 양자화 및/또는 엔트로피 인코딩을 위해 보통 선 스펙트럼 쌍 (LSP) 들 또는 선 스펙트럼 주파수 (LSF) 들, 또는 이미턴스 (immittance) 스펙트럼 쌍 (ISP) 들 또는 이미턴스 스펙트럼 주파수 (ISF) 들과 같은 다른 표현으로 맵핑된다. 하나의 예에서, 분석 모듈 (LA10) 은 LP 필터 계수들의 세트를 대응하는 ISF 들의 세트로 변환한다. LP 필터 계수들의 다른 일대일 표현들은 parcor 계수들 및 로그-면적-비 값들을 포함한다. 통상적으로, LP 필터 계수들의 세트와 대응하는 LSF 들, LSP 들, ISF 들 또는 ISP 들의 세트 사이의 변환은 가역적이지만, 실시형태들은 또한 변환이 에러 없이 가역적이지 않는 분석 모듈 (LA10) 의 구현들을 포함한다.
분석 모듈 (LA10) 은 ISF 들 (또는 LSF 들 또는 다른 계수 표현) 의 세트를 양자화하도록 구성되고, 프레임 인코더 (FE20) 는 LPC 인덱스 (XL) 로서 이러한 양자화의 결과를 출력하도록 구성된다. 그러한 양자화기는 통상 입력 벡터를 테이블 또는 코드북 내의 대응하는 벡터 엔트리에 대한 인덱스로서 인코딩하는 벡터 양자화기를 포함한다.
프레임 인코더 (FE20) 는 또한 피치 분석을 단순화하고 적응적 코드북 검색 모듈 (AS10) 에서의 폐루프 피치 검색의 범위를 감소시키는데 사용될 수도 있는 선택적 개루프 피치 검색 모듈 (OL10) 을 포함한다. 모듈 (OL10) 은 가중화된 신호를 2 만큼 데시메이트하고, (현재의 레이트에 따라) 프레임당 1 회 또는 2 회 피치 추정을 생성하기 위해, 양자화되지 않은 LP 필터 계수들에 기초하는 가중화 필터를 통해 입력 신호를 필터링하도록 구현될 수도 있다. 모듈 (OL10) 은 예를 들어 3GPP TS 26.190 v10.0.0 의 섹션 5.4 에서 기술된 바와 같이 구현될 수도 있다.
적응적 코드북 (ACB) 검색 모듈 (AS10) 은 피치 필터의 지연 및 이득을 생성하기 위해 (과거의 여기에 기초하고 "피치 코드북" 으로 지칭되기도 하는) 적응적 코드북을 검색하도록 구성된다. 모듈 (AS10) 은 (예를 들어 양자화된 그리고 양자화되지 않은 LP 필터 계수들에 기초하여 가중화된 합성 필터를 통해 LP 레지듀얼을 필터링함으로써 획득되는) 목표 신호에 대한 서브프레임 기반으로 개루프 피치 추정치들 주위의 폐루프 피치 검색을 수행하고, 그 후 표시된 프랙셔널 피치 래그 (lag) 에서 과거의 여기를 내삽함으로써 적응적 코드벡터를 컴퓨팅하고 ACB 이득을 컴퓨팅하도록 구현될 수도 있다. 모듈 (AS10) 은 또한 (특히 64 개의 샘플들의 서브프레임 사이즈보다 작은 지연들에 대해) 폐루프 피치 검색을 단순화하기 위해 과거 여기 버퍼를 확장하기 위해 LP 레지듀얼을 사용하도록 구현될 수도 있다. 모듈 (AS10) 은 (예를 들어, 각 서브프레임에 대해) ACB 이득 및 제 1 서브프레임의 피치 지연 (또는 현재의 레이트에 따른, 제 1 및 제 3 서브프레임들의 피치 지연들) 및 다른 서브프레임들의 상대적인 피치 지연들을 나타내는 양자화된 인덱스를 생성하도록 구현될 수도 있다. 모듈 (AS10) 은 예를 들어 3GPP TS 26.190 v10.0.0 의 섹션 5.7 에서 기술된 바와 같이 구현될 수도 있다.
고정 코드북 (FCB) 검색 모듈 (FS10) 은 적응적 코드벡터에 의해 모델링되지 않는 여기의 부분을 나타내는 ("이노베이션 코드북", "이노베이티브 코드북", "스토캐스틱 (stochastic) 코드북", 또는 "대수 코드북" 으로도 불리는) 고정 코드북의 벡터를 나타내는 인덱스를 생성하도록 구성된다. 모듈 (FS10) 은, 어떠한 코드북도 필요하지 않도록, FCB 벡터를 재생하는데 필요한 모든 정보를 포함하는 (예를 들어, 펄스 포지션들 및 부호들을 나타내는) 코드워드로서 코드북 인덱스를 생성하도록 구현될 수도 있다. 모듈 (FS10) 은 예를 들어 3GPP TS 26.190 v10.0.0 의 섹션 5.8 에서 기술된 바와 같이 구현될 수도 있다.
이득 벡터 양자화 모듈 (GV10) 은 각 서브프레임에 대한 이득들을 포함할 수도 있는 FCB 및 ACB 이득들을 양자화하도록 구성된다. 모듈 (GV10) 은 예를 들어 3GPP TS 26.190 v10.0.0 의 섹션 5.9 에서 기술된 바와 같이 구현될 수도 있다.
코드북 기반 접근법에 대한 대안으로서, 변환 기반 접근법이 LPC 레지듀얼 신호를 인코딩하는데 사용될 수도 있다. 예를 들어, 변형된 이산 코사인 변환 (MDCT) 이 칼리옵 (Calliope) 수퍼광대역 코덱 (퀄컴사, 샌디에고, 캘리포니아) 및 AMR-WB+ 코덱의 TCX 옵션에서와 같이, 레지듀얼을 MDCT 계수들의 세트를 포함하는 파라미터들로 인코딩하는데 사용될 수도 있다. 다른 예에서, 변환 기반 접근법은 LPC 분석을 수행하지 않고 오디오 신호를 인코딩하는데 사용된다.
도 5a 는 태스크들 (T200 및 T300) 을 포함하는 일반적 구성에 따른 오디오 신호 프로세싱의 방법 (M100) 에 대한 흐름도를 도시한다. 태스크 (T200) 는 오디오 신호의 제 1 프레임 (예를 들어, 중요한 프레임) 에 대해 오디오 신호에서 후속하는 오디오 신호의 제 2 프레임 ("후속 프레임" 또는 "캐리어 프레임") 에 대한 결정 메트릭의 적어도 하나의 값을 계산한다. 결정 메트릭의 적어도 하나의 계산된 값에 기초하여, 태스크 (T300) 는 복수의 재할당 후보들 중에서 하나를 선택하며, 여기서 선택된 재할당 후보는 제 1 부분 및 제 2 부분으로의 후속 프레임에 대한 초기 비트 할당 (T) 의 재할당을 나타낸다. 통상의 애플리케이션에서, 초기 비트 할당 (T) 의 제 1 부분은 그 후 후속 프레임의 카피를 반송하는데 사용되고, 초기 비트 할당 (T) 의 제 2 부분은 중요 프레임의 중복적 카피를 반송하는데 사용된다.
캐리어 프레임이 또한 중요 프레임일 (즉, 그것에 후속하는 다른 프레임에 대해 중요할 가능성을 감소시키는 것이 바람직할 수도 있다. 통상적으로 이러한 가능성은 중요 프레임을 즉시 후속하는 프레임에 대해 가장 높고, 그 후 후속하는 프레임들에 대해 급격히 감소한다. 유성음 스피치의 경우, 토크 스퍼트 (talk spurt) 에서의 온셋 (onset) 프레임이 중요하고, 그것에 즉시 후속하는 프레임이 또한 (온셋 프레임이 손실되는 경우을 커버하기 위해) 중요하다. 그러나, 토크 스퍼트에서의 다른 프레임이 (예를 들어, 피치 래그가 드리프트하는 경우에 대해) 중요한 것이 가능하다.
프레임 오프셋 (k) 은 중요 프레임과 캐리어 프레임 사이의 거리를 나타내는데 사용될 수도 있다. 하나의 그러한 예에서, 프레임 오프셋 (k) 의 값은 중요 프레임 (n) 과 캐리어 프레임 (n+k) 사이의 프레임 넘버에서의 차이이다 (개재하는 프레임들의 수보다 하나 더 많음). 도 6a 는 k 의 값이 3 인 통상의 예를 도시한다. 다른 예에서, k 의 값은 4 이다. 다른 가능한 값들은 1, 2, 3, 5, 및 5 보다 큰 정수들을 포함한다.
방법 (M100) 은 (예를 들어, 시스템 구현 동안 또는 콜 셋업 동안) 오프셋 (k) 이 고정되도록 구현될 수도 있다. k 의 값은 최대 허용가능한 지연 및 오리지널 시간 도메인 신호에서의 (예를 들어, 밀리초로) 프레임의 길이에 따라 선택될 수도 있다. 예를 들어, k 의 값은 (예를 들어, 프레임 지연을 제한하기 위해) 최대 허용가능한 값에 의해 제약될 수도 있다. 최대 허용가능한 지연이 80 또는 100 밀리초의 값을 갖는 것이 바람직할 수도 있다. 그러한 경우에, k 는 20 밀리초 프레임들을 사용하는 스킴에 대해서는 4 또는 5 의 최대값을, 또는 10밀리초 프레임들을 사용하는 스킴에 대해서는 8, 9, 또는 10 의 최대값을 가질 수도 있다.
오프셋 (k) 의 값은 또한 (예를 들어, 수신기로부터의 피드백에 의해 나타낸 바와 같이) 채널 조건들에 따라 통화 중에 선택 및/또는 업데이트될 수도 있다. 예를 들어, (긴 페이드들로 인해) 연속적인 프레임들의 빈번한 손실을 야기하고 있는 환경에서는 k 의 더 높은 값을 사용하는 것이 바람직할 수도 있다.
수신 단말기 (104) 는 또한 송신 단말기 (102) 로 채널 상태 정보 (120) 를 피드백할 수도 있다. 하나의 그러한 예에서, 수신 단말기 (104) 는 송신 단말기 (102) 로부터의 패킷들을 반송하는 송신 채널의 품질에 관련한 정보를 수집하도록 구성된다. 수신 단말기 (104) 는 채널의 품질을 추정하기 위해 수집된 정보를 사용할 수도 있다. 수집된 정보 및/또는 채널 품질 추정은 그 후 채널 상태 정보로서 송신 단말기 (102) 로 피드백될 수도 있다.
도 4 는 송신 채널들 (TC10 및 RC10) 을 경유하여 네트워크 (NW10) 를 통해 통신하는 송신 단말기 (102) 의 구현 (112) 및 수신 단말기 (104) 의 구현 (114) 의 예를 도시하는 블록도이다. 이러한 예에서, 수신 단말기 (114) 는 (예를 들어, 오디오 디코더 (AD10) 로부터의) 수집된 정보 및/또는 품질 추정을 송신기 (TX10) 의 인스턴스 (TX20) 및 송신 채널 (RC10) 을 통해 송신 단말기 (102) 로 다시 송신하기 위해 패킷으로 어셈블할 수도 있는 채널 인코더 (CE10) 의 인스턴스 (CE20) 를 포함하고, 송신 단말기 (102) 에서 패킷은 수신기 (RX10) 의 인스턴스 (RX20) 에 의해 수신되고 채널 디코더 (CD10) 의 인스턴스 (CD20) 에 의해 디스어셈블되고, 정보 및/또는 추정이 오디오 인코더 (AE10) 로 제공된다. 송신 단말기 (112) (예를 들어, 오디오 인코더 (AE10)) 는 여기에 기술된 전송자 기반 패킷 손실 복원 스킴과 연관되는 하나 이상의 기능들 (예를 들어, 오프셋 및/또는 중요도 임계값) 을 적응시키기 위해 이러한 채널 상태 정보를 사용할 수도 있다.
오프셋 (k) 은 프레임의 주요 카피의 송신 시간과 프레임의 중복적 카피의 송신 시간 사이의 간격의 길이를 나타낸다. 보통 패킷 교환 네트워크에서의 패킷 손실들은 버스티 (bursty) 이고, 버스트 길이들은 상이한 네트워크 조건들 하에서 상이할 수도 있다. 따라서, 동적으로 조정된 오프셋을 사용하는 것은 더 양호한 에러 보호 성능을 야기할 수도 있다. 최적의 오프셋은 수신기에 의해 전송된 채널 상태 정보를 사용하여 추정될 수도 있다. 예를 들어, 오프셋 값은 채널 조건에 기초하여 (예를 들어, 런-타임에서) 적응적으로 조정될 수 있다. 대안적으로, 오프셋 값은 미리결정될 수도 있다.
하나의 예에서, 태스크 (T200) 는 프레임으로부터의 정보에 기초하는 개루프 결정 메트릭 (D) 을 계산한다. 도 5b 는 메트릭 계산 태스크 (T200) 의 그러한 구현 (T210) 을 포함하는 방법 (M100) 의 구현 (M200) 에 대한 흐름도를 도시한다. 태스크 (T210) 는 예를 들어 후속하는 프레임의 압축가능성의 측정으로서 개루프 메트릭 (D) 을 계산하도록 구현될 수도 있다. 그러한 측정은 후속 프레임의 서브프레임들의 서로에 대한 상관 (예를 들어, 서브프레임들의 모든 쌍들 (또는 모든 인접한 쌍들) 및 모든 가능한 래그 값들에 대한 최대 상관, 또는 서브프레임들의 각 쌍에 대한 (또는 각 인접한 쌍에 대한) 모든 가능한 래그 값들에 대한 최대 상관의 평균) 으로서 계산될 수도 있다. 그러한 측정은 프레임의 압축가능성의 정적 측정이도록 고려될 수도 있다. 메트릭 (D) 의 하나의 그러한 예는 길이 (S) 의 2 개의 서브프레임들 (vi 및 vj) 사이의 래그 (p) 에서의 상관의 측정 (Rijp) 이며, 이것은,
Figure 112014075862715-pct00001
와 같은 수식을 사용하여 계산될 수도 있다.
하나의 그러한 예에서, 20 밀리초 프레임은 각각 길이 53 개, 53 개 및 54 개 샘플들의 3 개의 서브프레임들로 분할된다. 다른 그러한 예에서, 20밀리초 프레임은 4 개의 5밀리초 서브프레임들로 분할된다. 메트릭 (D) 은 예를 들어 D 의 높은 값은 압축가능한 프레임을 나타내고 D 의 낮은 값은 압축에 저항하는 프레임을 나타내도록 선택될 수도 있다.
태스크 (T300) 는 결정 메트릭의 적어도 하나의 계산된 값에 기초하여 복수의 재할당 후보들 중에서 하나를 선택한다. 도 5c 는 방법 (M200) 의 구현 (M210) 에 대한 흐름도를 도시한다. 방법 (M210) 은 비교 태스크 (T310) 를 포함하고 임계값들 (V1 내지 VM) 의 세트를 통해 루핑하도록 구성되는 루프로서 태스크 (T300) 의 구현을 포함한다. 태스크 (T310) 는 D 의 값을 임계값들의 세트 중 현재의 임계값과 비교한다. 이러한 비제한 예에서, 임계값들의 세트는 1 부터 (M-1) 까지의 모든 정수들 (q) 에 대해 Vq ≤ Vq+1 이도록 순서화되고, 루프는 값 (VM) 에서 시작하도록 구성된다. 하나의 예에서, M 의 값은 3 이지만, 다른 가능한 값들은 2, 4, 5 및 5 보다 큰 정수들을 포함한다.
재할당 인덱스 (m) 에 대해 1 의 값으로 시작하여, 도 5c 에 도시된 루프는 D 의 값이 임계값 (Vm) 보다 작지 않은 (대안적으로 더 큰) m 의 값을 선택한다. 통상의 애플리케이션에서, 후속 프레임의 카피 및 중요 프레임의 중복적 카피는 인덱스 (m) 의 선택된 값에 의해 나타낸 재할당 후보에 따라 초기 비트 할당 (T) 으로 인코딩된다.
재할당 후보들 각각은 적어도 후속 프레임 및 중요 프레임 중에서 초기 비트 할당의 분배를 나타낸다. 예를 들어, 각 분배 (Nm) 는 중요 프레임에 대한 Nm 비트들의 할당 및 후속 프레임에 대한 (T-Nm) 비트들의 할당으로의 초기 비트 할당 (T) 의 스플릿 (split) 을 나타낼 수도 있다. 다른 경우들에서, 분배가 마찬가지로 다른 프레임 및/또는 다른 정보를 인코딩하도록 T 비트들의 총 할당의 부분의 할당을 나타내는 것이 가능하다.
도 6b 는 임계값들 (V1 내지 VM) 에 의해 정의된 결정 메트릭 (D) 의 값의 범위들, 및 이들 범위들 각각과 제 1 (캐리어) 부분 및 제 2 (중복적) 부분 중의 초기 비트 할당 (T) 의 복수의 분배들의 상이한 것 사이의 대응을 도시한다. 이러한 예에서, 분배들 각각은 넘버 (N1 내지 NM) 에 의해 정의되고, 이것은 제 2 부분에서의 비트들의 수 또는 프레임이 제 2 부분으로 인코딩되는 비트 레이트를 나타낼 수도 있다 (이러한 예는 또한 아래에서 논의되는 바와 같이 폴백 (fallback) 분배 (N0) 를 포함한다). 메트릭 (D) 은 예를 들어 D 의 높은 값이 압축가능한 프레임을 나타내고 D 의 낮은 값이 압축에 저항하는 프레임을 나타내도록 선택될 수도 있다. 이러한 경우에, 압축가능한 프레임 (즉, D 의 높은 값) 을 나타내는 D 의 값의 경우, 낮은 레이트 (즉, 작은 중복적 부분) 는 충분할 수도 있다. 압축에 저항하는 프레임 (즉, 이 예에서 D 의 낮은 값) 을 나타내는 D 의 값의 경우, 더 높은 레이트 (즉, 더 큰 중복적 부분) 가 원해질 수도 있다. 방법 (M210) 의 비제한 예에서, 재할당 후보들의 세트는 1 부터 (M-1) 까지의 모든 정수들 (p) 에 대해 Np ≤ Np+1 이도록 순서화된다.
대부분의 중요한 프레임들에 대해, 방법 (M210) 에서의 루프는 M 보다 저 적은 회수로 반복할 수도 있다. 예를 들어, 대부분의 중요한 프레임들에 대해, 만족스러운 재할당 후보가 식별되기 전에 방법이 세트 내의 모든 임계값에 대해 실행하는 것이 필요하지 않도록 (예를 들어, 적절한 결정 메트릭 및 임계값들의 세트를 선택하기 위해) 방법 (M200) 을 구현하는 것이 바람직할 수도 있다.
태스크 (T310) 가 세트 내의 모든 임계값들에 대해 실패하는 경우, 방법 (M210) 은 중요 프레임의 중복적 카피가 송신될 수 없다고 결정할 수도 있다. 대안적으로, 방법 (M210) 은 도 6b 에 도시된 바와 같은 폴백 케이스를 포함하도록 구현될 수도 있다. 도 6c 는 재할당 인덱스 (m) 에 대해 M 의 값으로 시작하도록 구성되는 선택 태스크 (T300) 의 대안적인 구현 (T320) 을 포함하는, 루프를 갖는 방법 (M200) 의 구현 (M220) 에 대한 흐름도를 도시한다. 방법 (M220) 은 또한 도 6b 에 도시된 바와 같이 폴백 케이스를 포함하도록 구현될 수도 있다.
도 5c 및 도 6c 에 도시된 특정의 루프 구조들, 및 메트릭 (D) 의 값의 범위들과 초기 비트 할당의 재할당들 사이의 특정의 대응은 단지 예들일 뿐이라는 것, 및 임의의 적절한 선택 루프 및 결정 메트릭 임계값들 (V1 내지 VM) 의 순서화된 세트의 엘리먼트들과 중복적 부분 재할당들 (N1 내지 NM) 의 순서화된 세트의 대응하는 엘리먼트들 사이의 임의의 적절한 대응이 사용될 수도 있다는 것이 이해될 것이다. 상술된 결정 메트릭 (D) 의 개루프 예는 단지 예일 뿐이라는 것, 및 재할당들에 결정 메트릭을 결합하는 개시된 원리들은 중요 프레임의 중복적 카피를 수용하기 위해 캐리어 프레임의 비트 레이트를 감소시키는 감지 품질 영향을 특정하는 임의의 결정 메트릭 (예를 들어, 개루프 또는 폐루프) 에 적용될 수도 있다는 것이 또한 주의된다.
중요 프레임에 후속하는 하나 이상의 프레임들로부터의 정보에 기초하여 프레임 (n+k) 를 선택하도록 (예를 들어, 오프셋 (k) 에 대한 값을 선택하도록) 방법 (M100) 을 구현하는 것이 발마직할 수도 있다. 그러한 경우에, 중요 프레임이 채널에서 손실되지 않는 경우에 감지 품질 영향을 최소화하도록 프레임 (n+k) 을 선택하는 것이 바람직할 수도 있다. 예를 들어, 가장 압축가능한 후속 프레임을 최대 지연 제약 (K) 에 종속하는 프레임 (n+k) 으로서 선택하는 것이 바람직할 수도 있다. 도 7a 는 메트릭 계산 태스크 (T200) 의 구현 (T220) 을 포함하는 방법 (M100) 의 구현 (M300) 에 대한 흐름도를 도시한다. 태스크 (T220) 는 중요 프레임에 대해 오디오 신호에서 후속하는 복수의 프레임들 각각에 대한 결정 메트릭의 적어도 하나의 값을 계산한다. 방법 (M300) 은 또한 (예를 들어, 오프셋 (k) 의 대응하는 값을 선택함으로써) 복수의 후속 프레임들 중 하나 및 복수의 재할당 후보들 중 하나를 선택하는 태스크 (T300) 의 구현 (T350) 을 포함한다.
도 7b 는 방법 (M300) 의 구현 (M310) 에 대한 흐름도를 도시한다. 방법 (M310) 은 계산 태스크 (T230) 를 포함하는 루프로서 태스크 (T220) 의 구현을 포함한다. 태스크 (T230) 는 오프셋 (k) 의 현재의 값에 의해 나타낸 프레임에 대해 여기에 기술된 결정 메트릭 (D) 의 값을 계산한다. 방법 (M310) 은 또한 비교 태스크 (T330) 를 포함하고 역순으로 임계값들 (V1 내지 VM) 의 세트를 통해 루핑하도로 구성되는 루프로서 태스크 (T350) 의 구현을 포함한다. 이러한 비제한 예에서, 임계값들의 세트는 1 부터 (M-1) 까지의 모든 정수들 (q) 에 대해 Vq ≤ Vq+1 이도록 순서화되고, 태스크 (T230) 를 포함하는 루프는 값 (k=1) 에서 시작하도록 구성되며, 태스크 (T330) 를 포함하는 루프는 값 (VM) 에서 시작하도록 구성된다. 태스크 (T330) 가 세트 내의 모든 임계 값들에 대해 실패하는 경우, 방법 (M310) 은 중요 프레임의 중복적 카피가 오프셋 (k) 에 대해 송신될 수 없다고 결정할 수도 있다. 태스크 (T330) 가 세트 내의 모든 임계값들에 대해 그리고 k 의 모든 값들에 대해 실패하는 경우, 방법 (M310) 은 중요 프레임의 중복적 카피가 송신될 수 없다고 결정할 수도 있다. 대안적으로, 방법 (M310) 은 폴백으로서 오프셋 (k) 의 디폴트 값 (예를 들어, 3 또는 4) 을 포함하도록 구현될 수도 있다.
대부분의 중요한 프레임들의 경우, 태스크 (T330) 는 K 보다 더 적은 프레임들 각각에 대해 임계값들의 세트 중 M 개의 값들과 결정 메트릭의 값을 비교할 수도 있다는 것이 명백히 주의되어야 한다. 예를 들어, 대부분의 중요한 프레임들의 경우, 만족스러운 프레임 및 재할당 후보가 식별되기 전에, 방법이 K 개의 후속 프레임들의 모든 후속 프레임에 대해 실행하는 것이 필요하지 않도록 (예를 들어, 적절한 결정 메트릭 및 임계값들의 세트를 선택하도록) 방법 (M300) 을 구현하는 것이 바람직할 수도 있다. M 이 1 (예를 들어, 단지 하나의 임계값) 과 동일하고, K 가 1 보다 크도록 (예를 들어, 다수의 가능한 오프셋들) 방법 (M300) 을 구현하는 것이 또한 가능하다.
임계값들 및 M 개의 재할당 후보들의 동일한 세트들이 복수 (K) 의 후속 프레임들의 프레임들 전체에 대해 사용될 것이지만, (예를 들어, 후속 프레임의 스피치 모드 및/또는 다른 특징에 따라) 상이한 후속 프레임들에 대해 임계값들 및/또는 재할당 후보들의 상이한 세트를 사용하는 것도 또한 가능하며, 그러한 경우에 재할당 후보들의 각 세트가 엘리먼트들의 상이한 각각의 수 (M) 를 갖는 것이 가능하다.
다른 예에서, 태스크 (T200) 는 폐루프 결정 메트릭에 대한 값들의 세트를 계산하도록 구현된다. 이러한 예에서, 각각의 계산된 값은 후속 프레임의 각각의 인코딩된 버전들로부터의 정보에 기초하는 측정과 같은, 압축가능성의 동적 측정에 기초한다. 도 8a 는 메트릭 계산 태스크 (T200) 의 그러한 구현 (T250) 을 포함하는 방법 (M100) 의 구현 (M400) 에 대한 흐름도를 도시한다. 태스크 (T250) 는 예를 들어 감지 품질의 측정에 기초하여 결정 메트릭을 계산하도록 구현될 수도 있다. 그러한 메트릭은 각각의 재할당 후보에 대해 캐리어 프레임의 감지 품질에서의 연관된 변화 (예를 들어, 감소) 의 측정으로서 계산될 수도 있다. 예를 들어, 그러한 메트릭은 (A) 전체 초기 비트 할당 (T) 을 사용하여 인코딩된 캐리어 프레임의 감지 품질의 측정과 (B) 초기 비트 할당의 캐리어 부분만을 사용하여 인코딩된 캐리어 프레임의 감지 품질의 측정 사이의 차이 (예를 들어, 절대 차이) 또는 비로서 계산될 수도 있다.
도 8b 는 방법 (M400) 의 구현 (M410) 에 대한 흐름도를 도시한다. 방법 (M410) 은 계산 서브태스크 (T260) 를 갖고 재할당 인덱스들 (1 내지 M) 의 세트를 통해 루핑하도록 구성되는 루프로서 태스크 (T250) 의 구현을 포함한다. 태스크 (T260) 는 현재의 인덱스 값에 의해 나타낸 재할당 후보 및 프레임 (n+k) 에 대한 결정 메트릭의 값 (Dm) 을 계산한다. 이러한 예에서, Dm = |Q(T)-Q(T-Nm)| 이며, 여기서 Q(x) 는 x 개의 비트들을 사용하여 인코딩된 프레임 (n+k) 의 감지 품질이 측정이다. 측정(Dm) 의 그러한 예는 또한 프레임 (n+k) 에 대한 분배 (Nm) 의 품질 코스트로서 고려될 수도 있고, (예를 들어, T 개의 비트들을 사용하여 인코딩된 프레임 (n+k) 의 품질에 대한)다른 그러한 품질 코스트들이 또한 사용될 수도 있다.
압축가능성 측정 Q(x) 은 풀 참조 메트릭, 비참조 메트릭, 또는 감소된 참조 메트릭일 수도 있다. 측정 Q(x) 의 예들은 감지적으로 가중화된 왜곡 측정들 (예를 들어, 향상된 변경된 바크 (Bark) 스펙트럼 거리 또는 EMBSD; 예를 들어, ITU-T 추천 P.861 에 기술된 바와 같은 측정 정규화 블록들 또는 MNB 알고리즘); 오리지널 및 디코딩된 신호들에 대한 (예를 들어, 숨겨진 마코프 (Markov) 모델들을 적용하는) 스피치 인식기의 워드-에러-레이트 출력; 및 추정된 평균 오피년 스코어 (mean opinion score: MOS) 에 맵핑될 수도 있는 R-값을 생성하는 (ITU-T 추천들 G.107 및 G.108 에 기술된) E-모델의 버전을 포함한다. Q(x) 에 대해 사용될 수도 있는 메트릭들 (예를 들어, 객관적 메트릭들) 의 다른 예들은 신호대 잡음비 (SNR), (예를 들어, 프레임 (n+k) 의 LP 계수들을 사용하여 가중화된) 감지적으로 가중화된 SNR, 세그먼트화된 SNR, 감지적으로 가중화된 세그먼트화된 SNR, 켑스트럼 거리, 및 바크 스펙트럼 거리를 포함한다. Q(x) 에 대해 사용될 수도 있는 객관적 메트릭들의 다른 예들은 (예를 들어, ITU-T 추천 P.861 에 기술된 바와 같은) 감지 스피치 품질 측정 (PSQM), 그러한 측정에 의해 생성된 노이즈 교란 추정기, 및 예를 들어, ITU-T 추천들 P.861 및 P.862 에 기술된 다른 메트릭들 (예를 들어, PSQM 및 PSQM+; 스피치 품질의 감지 평가, PESQ) 을 포함한다. 다른 예에서, 결정 메트릭 (Dm) 은 SNR 또는 감지적으로 가중화된 SNR 로서 계산되며, 여기서 신호 양은 T 개의 비트들을 사용하여 인코딩된 버전으로부터 디코딩된 프레임 (n+k) 의 에너지에 기초하고, 노이즈 양은 (T-Nm) 개의 비트들을 사용하여 인코딩된 버전으로부터 디코딩된 프레임 (n+k) 과 신호 양 사이의 차이의 에너지에 기초한다.
방법 (M410) 은 또한 비교 서브태스크 (T340) 를 갖고 결정 메트릭 값들 (D1 내지 DM) 의 계산된 세트를 통해 루핑하도록 구성되는 루프로서 태스크 (T300) 의 구현을 포함한다. 태스크 (T340) 는 임계값 (Z) 을 결정 메트릭 값들의 세트 중 현재의 결정 메트릭 값과 비교한다. 이러한 비제한 예에서, 결정 메트릭 값들의 세트는 1 부터 (M-1) 까지의 모든 정수들 (p) 에 대해 Dp ≤ Dp+1 이도록 순서화된다. 하나의 예에서, M 의 값은 3 이지만, 다른 가능한 값들은 2, 4, 5, 5 보다 큰 정수들을 포함한다.
재할당 인덱스 (m) 에 대해 1 의 값으로 시작하여, 태스크 (T340) 를 포함하는 루프는 Dm 의 값이 입계값 (Z) 보다 크지 않은 (대안적으로 더 작은) m 의 제 1 값을 선택한다. 방법 (M400) 은 재할당 후보 (Nm) 에 따라 중요 프레임의 중복적 카피 및 프레임 (n+k) 의 카피를 인코딩함으로써 그러한 선택을 적용하도록 구현될 수도 있다. 태스크 (T340) 가 세트 내의 모든 임계값들에 대해 실패하는 경우, 방법 (M410) 은 중요 프레임의 중복적 카피가 송신될 수 없다고 결정할 수도 있다. 대안적으로, 방법 (M410) 은 폴백 케이스 (예를 들어, 디폴트 재할당) 를 포함하도록 구현될 수도 있다.
대부분의 중요 프레임들에 대해, 태스크 (T340) 는 결정 메트릭의 M 개의 값들의 전체보다 더 적은 값들을 임계값 (Z) 과 비교할 수도 있다. 예를 들어, 대부분의 중요 프레임들에 대해, 방법이 해당 프레임에 대한 만족스러운 재할당이 식별되기 전에 M 개의 값들 중 모든 값을 테스트하는 것은 필요하지 않도록 (예를 들어, 적절한 결정 메트릭, 임계값, 및 재할당 후보들의 세트를 선택하도록) 방법 (M400) 을 구현하는 것이 바람직할 수도 있다.
도 9a 는 단일의 루프가 태스크들 (T260 및 T340) 양자 모두를 둘러싸는 방법 (M400) 의 대안적인 구현 (M420) 에 대한 흐름도를 도시한다. 도 9b 는 재할당 인덱스 (m) 에 대해 M 의 값으로 시작하도록 구성되는 대안적인 루프 구조를 갖는 방법 (M400) 의 구현 (M430) 에 대한 흐름도를 도시한다. 방법들 (M420 및 M430) 은 또한 폴백 케이스 (예를 들어, 디폴트 재할당) 를 포함하도록 구현될 수도 있다. 도 8b, 도 9a, 및 도 9b 에 도시된 특정의 루프 구조들은 단지 예들일 뿐이라는 것과, 임의의 적절한 선택 루프가 방법 (M400) 을 구현하는데 사용될 수도 있다는 것이 이해될 것이다.
방법 (M300) 을 참조하여 여기에서 논의된 유사한 방식으로, 중요 프레임에 후속하는 하나 이상의 프레임들로부터의 정보에 기초하여 오프셋 (k) 에 대한 값을 선택하도록 방법 (M400) 을 구현하는 것이 바람직할 수도 있다. 그러한 경우에, 중요 프레임이 채널에서 손실되지 않는 경우 감지 품질 영향을 최소화하도록 오프셋 (k) 에 대한 적절한 값을 결정하는 것이 바람직할 수도 있다. 예를 들어, 최대 지연 제약 (K) 에 종속하는 품질 변화 임계값 (Z) 을 만족하도록 k 에 대한 값을 선택하는 것이 바람직할 수도 있다.
도 10a 는 메트릭 계산 태스크 (T250) 의 구현 (T270) 을 포함하는 방법 (M400) 의 그러한 구현 (M500) 에 대한 흐름도를 도시한다. 태스크 (T270) 는 중요 프레임에 대해 오디오 신호에서 후속하는 복수의 프레임들 각각에 대한 결정 메트릭의 값들의 세트를 계산한다. 방법 (M500) 은 또한 (예를 들어, 오프셋 (k) 의 대응하는 값을 선택함으로써) 복수의 후속 프레임들 중에서 하나 및 복수의 재할당 후보들 중에서 하나를 선택하는 태스크 (T350) 의 인스턴스를 포함한다.
도 10b 는 방법 (M500) 의 구현 (M510) 에 대한 흐름도를 도시한다. 방법 (M510) 은 계산 태스크 (T260) 의 인스턴스 (T280) 을 포함하는 루프로서 태스크 (T270) 의 구현을 포함한다. 이러한 루프는 오프셋 (k) 의 현재의 값에 의해 나타낸 프레임에 대해 여기에 기술된 결정 메트릭의 값들 (D1 내지 DM) 의 세트를 계산한다. 이러한 루프는 또한 여기에 기술된 비교 태스크 (T340) 의 인스턴스를 갖는 태스크 (T350) 를 구현한다. 이러한 비제한 예에서, 루프는 값 1 로 오프셋 인덱스 (k) 및 재할당 인덱스 (m) 양자 모두를 초기화하도록 구성된다.
동일한 임계값 (Z) 및 M 개의 재할당 후보들의 동일한 세트가 복수 (K) 의 후속 프레임들의 프레임들 전부에 대해 사용될 것이지만, (예를 들어, 후속 프레임의 스피치 모드 및/또는 다른 특징에 따라) 상이한 후속 프레임들에 대해 재할당 후보들의 상이한 세트 및/또는 상이한 임계값 (Z) 를 사용하는 것도 가능하며, 그러한 경우에 재할당 후보들의 각 세트가 엘리먼트들의 상이한 각각의 수 (M) 를 갖는 것이 가능하다.
대부분의 중요 프레임들에 대해, 태스크 (T340) 는 K 개보다 더 적은 후속 프레임들 각각에 대해 임계값 (Z) 과 결정 메트릭의 각각의 값 (Dm) 을 비교할 수도 있다. 예를 들어, 대부분의 중요 프레임들에 대해, 후속 프레임 및 그 프레임에 대한 만족스러운 재할당이 식별되기 전에 방법이 K 개의 후속 프레임들 중 모든 후속 프레임에 대해 실행하는 것이 필요하지 않도록 (예를 들어, 적절한 결정 메트릭, 임계값, 및 재할당 후보들의 세트를 선택하도록) 방법 (M500) 을 구현하는 것이 바람직할 수도 있다.
방법 (M510) 은, 태스크 (T340) 가 프레임 (n+k) 에 대한 모든 재할당 후보들에 대해 실패하는 경우에 프레임이 T 개의 비트들을 사용하여 인코딩되도록 구현될 수도 있다. 태스크 (T340) 가 모든 후보 프레임들에 대한 모든 재할당 후보들에 대해 실패하는 경우, 방법 (M510) 은 중요 프레임의 중복적 카피가 송신될 수 없다고 결정할 수도 있다. 대안적으로, 방법 (M510) 은 폴백으로서 재할당 인덱스 (m) 및 오프셋 (k) 의 디폴트 값들 (예를 들어, 3 또는 4) 을 포함하도록 구현될 수도 있다. 도 11a, 도 11b, 및 도 12 는 대안적인 루프 구조들을 갖는 방법 (M500) 의, 각각 유사한 구현들 (M520, M530, 및 M540) 에 대한 흐름도들을 도시한다. 다른 비제한 대안에서, 방법 (M510) 의 루프 구조는 내부 루프가 k (예를 들어, 프레임들) 의 값들을 통해 반복하고 외부 루프가 m (예를 들어, 재할당 후보들) 의 값들을 통해 반복하도록 재구성된다.
방법 (M100) 은 프레임 (n) 이 중요 프레임이라는 결정에 응답하여 수행될 수도 있다. 예를 들어, 중요한 (즉, 패킷 손실 조건들 하에서 디코딩된 신호의 품질에 중요한) 것으로서 식별되는 오디오 신호의 각 프레임에 대해 방법 (M100) 의 인스턴스를 수행하는 것이 바람직할 수도 있다. 도 13a 는 중요 프레임을 식별하는 태스크 (T100) 를 포함하는 방법 (M100) 의 구현 (M110) 에 대한 흐름도를 도시한다.
태스크 (T100) 는 프레임에 대해 중요도 측정의 값을 계산하고 그 계산된 값을 임계값과 비교함으로써 신호의 프레임이 중요하다고 나타내도록 구현될 수도 있다. 그러한 중요도 측정은 프레임 내의 정보에 기초할 수도 있고, 입력 신호 내의 프레임에 인접 및/또는 후속하는 하나 이상의 프레임들로부터의 정보에 기초할 수도 있다. 태스크 (T100) 는 계산된 값이 프레임에 대해 선택된 코딩 모드에 기초할 수도 있는 임계값을 초과하는 (대안적으로 임계값보다 작지 않은) 경우 프레임이 중요하다고 나타내도록 구현될 수도 있다. 태스크 (T100) 는 오디오 신호의 각 프레임에 대해 또는 소정의 프레임들 (예를 들어, 유성음, 또는 트랜지언트, 또는 온셋으로서 식별되는 프레임들; 적어도 최소 비트 레이트가 초기에 할당되는 프레임들 등) 만에 대해 실행하도록 구현될 수도 있다.
태스크 (T100) 는 프레임의 일반적인 특징화들로부터 특정의 손실 영향 평가들까지에 걸치는 하나 이상의 기준에 기초하여 중요도 측정을 계산하도록 구현될 수도 있다. 그러한 측정은 프레임 내의 정보에 기초할 수도 있고, 입력 신호 내의 프레임에 인접 및/또는 후속하는 하나 이상의 프레임들로부터의 정보에 또한 기초할 수도 있다.
중요 프레임은 손실되는 경우 상당한 품질 열화를 야기할 수도 있는 프레임일 수도 있다. 상이한 중요 프레임들은 중요성의 상이한 레벨들을 가질 수도 있다. 예를 들어, 2 개의 중요 프레임들 (n1 및 n2) 에 대해, 프레임 (n1+1) (즉, 프레임 (n1) 다음의 프레임) 이 프레임 (n1) 으로부터 고도로 예측가능하고, 프레임 (n2+1) (즉, 프레임 (n2) 다음의 프레임) 이 프레임 (n2) 에 그다지 의존하지 않는 경우, 프레임 (n1) 의 손실은 하나보다 많은 프레임에 대한 품질 열화를 야기할 수도 있기 때문에 프레임 (n1) 은 프레임 (n2) 보다 더 중요할 수도 있다.
태스크 (T100) 는 프레임 (n) 의 그리고 아마도 프레임 (n) 에 인접 및/또는 후속하는 하나 이상의 프레임들 각각의 코딩 타입 (즉, 프레임을 인코딩하는데 사용될 코딩 프로세스) 의 표시에 기초하여 중요도 측정을 계산하도록 구현될 수도 있다. 그러한 코딩 타입의 예들은 코드 여기 선형 예측 (CELP), 노이즈 여기 선형 예측 (NELP), 프로토타입 파형 내삽 (PWI) 또는 프로토타입 피치 주기 (PPP) 등을 포함할 수도 있다. 이러한 기준 하에서, 예를 들어, 중요한 CELP 프레임은 중요한 NELP 프레임보다 더 중요한 것으로 고려될 수도 있다.
추가적으로 또는 대안적으로, 태스크 (T100) 는 프레임 (n) 의 그리고 아마도 프레임 (n) 에 인접 및/또는 후속하는 하나 이상의 프레임들 각각의 스피치 모드 (즉, 프레임의 스피치 컨텐츠의 분류) 에 기초하여 중요도 측정을 계산하도록 구현될 수도 있다. 스프치 모드의 예들은 유성음, 무성음, 사일런스, 및 트랜지언트를 포함할 수도 있다. "유성음" 의 분류는 온셋 및 스테이셔너리 (stationary) 로 더 분할될 수도 있다. 트랜지언트의 분류는 온-트랜지언트 및 오프-트랜지언트로 더 분할될 수도 있다. 이러한 기준 하에서, 예를 들어, 음성 온셋 프레임 (토크 스퍼트에서의 초기 프레임) 은, 토크 스퍼트 내의 후속 프레임들의 인코딩이 온셋 프레임 내의 정보에 대단히 의존할 수도 있기 때문에 스테이셔너리 유성음 프레임보다 더 중요할 수도 있다. 하나의 예에서, 태스크 (T100) 는 프레임 (n) 이 스피치 온셋 프레임이고 후속 프레임 (예를 들어, 프레임 (n+1), (n+2), 또는 (n+3)) 이 스테이셔너리 유성음 프레임이라는 표시에 응답하여 높은 종속도를 나타내도록 중요도 측정을 계산하도록 구현된다.
추가적으로 또는 대안적으로, 태스크 (T100) 는 프레임 (n) 의 (및 아마도 프레임 (n) 에 인접 및/또는 후속하는 하나 이상의 프레임들 각각의) 하나 이상의 다른 특성들에 기초하여 중요도 측정을 계산하도록 구성될 수도 있다. 예를 들어, 프레임 (n) 에 대한 일부 중요한 파라미터들의 값들이 선행의 프레임에 대한 대응하는 값들과 상당히 (예를 들어, 소정의 미리결정된 임계값 이상) 상이한 경우, 프레임 (n) 은 그것에 선행하는 프레임으로부터 용이하게 예측되지 않을 수도 있고 프레임 (n) 의 손실은 선행하는 프레임보다 프레임 (n) 에 더 유사한 후속 프레임들에 악영향을 미칠 수도 있기 때문에, 프레임 (n) 은 중요한 프레임일 수도 있다.
그러한 특성의 하나의 예는 적응적 코드북 (ACB) 이득이다. 프레임 (n) 에 대한 낮은 ACB 이득 값은 프레임이 그것에 선행하는 프레임과 상당히 상이하다는 것을 타나내는 반면, 프레임 (n) 에 후속하는 프레임 (예를 들어, 프레임 (n+1), (n+2), 또는 (n+3)) 에 대한 높은 ACB 이득 값은 프레임이 프레임 (n) 에 매우 의존적이라는 것을 나타낼 수도 있다. 하나의 예에서, 태스크 (T100) 는 후속 프레임에 대한 적응적 코드벡터를 생성하고 후속 프레임의 인코딩된 버전에 대한 ACB 이득 값을 계산하기 위해 프레임 (n) 으로부터의 정보 (예를 들어, 여기 신호) 를 사용한다. 이러한 예에서, 태스크 (T100) 는 적어도 계산된 ACB 이득 값에 기초하여 중요도 측정을 계산하도록 구현된다.
그러한 특성의 다른 예는 감지적으로 가중화된 SNR (신호대 잡음비) 이고, 이것은 이 경우에,
Figure 112014075862715-pct00002
로서 표현될 수도 있으며, 여기서 L 은 샘플 단위의 프레임 길이이고, c 는 감지 가중화 필터 (W(z)) 로 프레임 (n) 의 디코딩된 버전을 필터링함으로써 획득된 감지적으로 가중화된 신호이며, e 는 감지적으로 가중화된 에러이다. 에러 (e) 는 예를 들어 (A) 프레임 (n) 의 W(z)-필터링된 디코딩된 버전과 (B) 프레임 (n) 의 W(z)-필터링된 에러 은닉 버전 (즉, 프레임이 디코더에서 이용가능하지 않다고 가정) 사이의 차이로서 계산될 수도 있다. 에러 은닉 버전은 프레임 에러 은닉 알고리즘에 따라 이전의 프레임들로부터의 정보에 기초하여 계산될 수도 있다. 예를 들어, 에러 은닉 버전은 3GPP TS 26.091 v10.0.0 (Apr. 2011, ETSI 로부터 이용가능한 "Error concealment of lost frames") 에 기술된 절차에 따라 계산될 수도 있다. 하나의 예에서, W(z)=A(z/γ)H(z) 이고, 여기서
Figure 112014075862715-pct00003
이며, a1 내지 aρ 는 프레임 (n) 에 대한 LPC 필터 계수들이고, γ=0.92 이며, H(z)=1/(1-0.68z-1) 이다. 대안적인 예에서, 에러 (e) 는 디코딩된 및 에러 은닉된 버전들 사이의 차이에 필터 (W(z)) 를 적용함으로써 계산된다.
추가적으로 또는 대안적으로, 태스크 (T100) 는 하나 이상의 후속 프레임들의 코딩 품질에 대한 프레임 (n) 의 손실의 영향의 추정으로서 중요도 측정을 계산하도록 구성될 수도 있다. 예를 들어, 중요도 측정은 프레임 (n) 에 후속하는 하나 이상의 프레임들 각각의 인코딩된 버전으로부터의 정보 (예를 들어, 프레임 (n) 의 및/또는 하나 이상의 후속 프레임들의 적응적 코드북 이득) 에 기초할 수도 있다. 추가적으로 또는 대안적으로, 그러한 측정은 프레임 (n) 에 후속하는 하나 이상의 프레임들 각각의 디코딩된 버전의 정보 (예를 들어, 디코딩된 버전의 감지적으로 가중화된 SNR) 에 기초할 수도 있고, 여기서 후속 프레임은 프레임 (n) 의 정보를 사용하지 않고 인코딩되었다.
프레임 (n) 에 대한 프레임 (n+q) 을 위한 그러한 측정의 하나의 예는,
Figure 112014075862715-pct00004
로서 표현될 수도 있으며, 여기서 L 은 샘플 단위의 프레임 길이이고, c 는 감지 가중화 필터 (W(z)) 로 프레임 (n+q) 의 디코딩된 버전을 필터링함으로써 획득된 감지적으로 가중화된 신호이며, e 는 감지적으로 가중화된 에러이다. 에러 (e) 는 이 경우에 예를 들어 (A) 프레임 (n) 의 손실 없이 프레임 (n+q) 의 W(z)-필터링된 디코딩된 버전과 (B) 프레임 (n) 의 에러 은닉 버전을 가정하는 프레임 (n+q) 의 W(z)-필터링된 디코딩된 버전 사이의 차이로서 계산될 수도 있다. 필터 (W(z)) 는 프레임 (n+q) 에 대한 LPC 필터 계수들을 사용하여 위에서 기술된 바와 같이 계산될 수도 있다. 대안적인 예에서, 에러 (e) 는 프레임 (n+q) 의 정상적으로 디코딩된 버전과 손실 가정 디코딩된 버전 사이의 차이에 필터 (W(z)) 를 적용함으로써 계산된다.
태스크 (T100) 는 중요 프레임으로서 활성 스피치 프레임만을 나타내도록 구현될 수도 있다. 대안적으로, 태스크 (T100) 는 넌-스피치 프레임들을 잠재적으로 중요한 프레임들로서 고려하도록 구현될 수도 있다. 통상, 2방향 대화들에서, 각 당사자는 통신 시스템이 그 당사자의 스피치를 송신하는 소정 시간 동안 (예를 들어, 거의 언제나보다 작은) 말하고, 통신 시스템이 사일런스 또는 배경 잡음을 송신하는 다른 시간동안 멈춘다. 사일런스 (또는 배경 잡음) 주기 동안의 빈번하지 않은 송신 또는 불연속적 송신 (DTX) 은 대화의 감지 품질에 영향을 거의 미치지 않지만 인트라/인터-셀 간섭을 감소시키고 (따라서 시스템 능력을 잠재적으로 증가시키고) 대화에 사용된 모바일 유닛의 배터리 전력을 보존하는 이익들을 제공한다.
통상적인 DTX 스킴은 음성 활동 검출 (VAD) 을 사용하는 스피치 인코더에 의해 실현된다. VAD 를 사용하여, 인코더는 배경 잡음으로부터 활성 스피치를 구별할 수 있다. 그러한 하나의 예에서, 오디오 인코더 (AE10) (예를 들어, AE20) 는 송신을 위한 목표 비트 레이트 패킷으로 각 활성 스피치 세그먼트 (통상 20 밀리초 길이) 를 인코딩하도록 구현되고 상대적으로 작은 사이즈 패킷으로 중요 배경 잡음 세그먼트들 (또한 20 밀리초 길이) 을 표현한다. 이러한 작은 패킷은 사일런스를 나타내는 사일런스 디스크립터 (SID) 일 수도 있다. 중요 배경 잡음 세그먼트는 토크 스퍼트를 즉시 뒤따르는 배경 잡음 세그먼트 또는 그의 특징들이 그의 선행의 잡음 세그먼트들과는 상당히 상이한 배경 잡음 세그먼트일 수도 있다. 다른 타입의 배경 잡음 세그먼트들 (또는 중요하지 않은 배경 잡음 세그먼트들) 은 제로 비트들로 표시되거나, 블랭킹되거나, 송신되지 않거나, 송신이 억제될 수도 있다. 출력 패킷들의 그러한 패턴 (즉, 활성 세그먼트(들), 그 후 중요 배경 잡음 세그먼트(들), 그 후 중요하지 않은 배경 잡음 세그먼트(들)) 이 스피치 인코더의 입력 또는 소스에 순수하게 의존하는 경우, 그러한 DTX 스킴은 소스 제어 DTX 스킴으로 불린다.
하나 이상의 패킷 교환 네트워크들을 통해 단말기 (A) (예를 들어, 단말기 (102) 와 같은 송신 사용자 장비 또는 UE) 와 단말기 (B) (예를 들어, 단말기 (104) 와 같은 수신 UE) 사이의 실시간 음성 통신을 수행하는 것이 바람직할 수도 있다. AMR 및 AMR-WB 와 같은 이전의 솔루션들은 비트 레이트를 감소시킴으로써 불량한 채널 조건들에 적응한다 ("레이트 적응" 으로도 불림). VoIP (Voice over Internet Protocol) 에서 사용하기 위한 차세대 코덱들의 경우, 비트레이트에 있어서의 감소는 (예를 들어, RTP 오버헤드들에 기인하여, 여기서 RTP 는 예를 들어, RFC 3550, 표준 64 (July 2003), 인터넷 엔지니어링 태스크 포스 (IETF) 에 기술된 실시간 수송 프로토콜이다) 네트워크들 내의 혼잡을 상당히 감소시키는데 도움이 되지 않을 수도 있다. 여기에 개시된 방법은 보코더에 더 큰 강건성을 부여하고 및/또는 채널 손상으로 인한 코덱 성능 문제들을 해결할 수도 있다.
송신 단말기 (A) 로부터 수신 단말기 (B) 로의 통신 채널의 품질은 네크워크 내의 엔티티들에 의해 (예를 들어, 업링크 무선 채널의 네트워크 말단에서의 기지국 송수신기에 의해, 코어 네트워크에서의 트래픽 분석기 등등에 의해) 및/또는 (예를 들어, 패킷 손실 레이트를 분석함으로써) 수신 단말기 (B) 에 의해 추정될 수 있다. 제어 신호들 (예를 들어, 예를 들어 RFC 1889 (Jan. 1996, IETF) 에 기술된 RTP 제어 프로토콜 (RTCP) 를 사용하는 제어 패킷들) 을 통해, 및/또는 다른 서비스 품질 (QoS) 피드백 메커니즘을 통해 인-밴드 (in-band) 메시징을 사용하여 송신 UE 로 다시 그러한 정보를 전달하는 것이 바람직할 수도 있다. 송신 단말기 (A) 는 손상된 채널들 하에서 양호한 성능을 위해 최적화되는 동작 모드 (즉, "채널-인식" 모드) 로 스위칭함으로써 그러한 정보를 적용하도록 구현될 수도 있다. 또한, 불량한 채널 조건들이 예상될 수 있는 경우 (예를 들어, 관리되지 않은 네트워크들), 송신 UE 는 콜 셋업 시간에 채널 인식 동작 모드를 선택하도록 구성될 수도 있다.
보코더는 불량 채널 조건들 (예를 들어, 패킷 에러들, 높은 지터 등) 의 표시에 응답하여 "채널 손상 강건 모드" 로 스위칭하도록 구현될 수도 있다. "채널 손상 강건 모드" 에서, 스피치 코덱은 입력 신호의 소정의 중요 프레임들을 부분적으로 또는 전체적으로 재송신하는 것을 선택할 수 있다. 예를 들어, "채널 손상 강건 모드" 에서 동작하는 스피치 코더는 프레임의 중요도가 소정의 미리 결정된 임계값을 초과하는 경우 프레임의 중복적 카피를 송신하도록 구성될 수도 있다. 특정의 프레임의 중요도는 인코더에서 추정된 디코딩된 스피치에 대한 그 프레임의 손실의 감지적 영향의 함수로서 결정될 수도 있다. 채널 인식 코덱은 채널 상태의 표시에 응답하여 채널 손상 강건 모드와 통상 동작 모드 (즉, 어떠한 중복적 카피들도 전송되지 않음) 사이에서 스위칭하도록 구성될 수도 있다.
여기에 기술된 시스템들, 방법들 및 장치는 채널 품질 추정의 함수로서 중요도 임계값을 설정하도록 구현될 수도 있다. 매우 양호한 채널들의 경우, 중요도 임계값은 매우 높게 설정될 수도 있다. 채널 품질이 열화됨에 따라, 중요도 임계값은 더욱 많은 프레임들이 중요한 것으로 간주되도록 낮추어질 수도 있다.
도 13b 는 태스크 (T50) 를 포함하는 방법 (M110) 의 구현 (M120) 에 대한 흐름도를 도시한다. 태스크 (T50) 는 중요도 임계값을 계산한다. 태스크 (T50) 는 송신 채널의 상태에 관련한 정보에 기초하여 중요도 임계값을 계산하도록 구현될 수도 있다. 그러한 정보는 일련의 시간 간격들 각각에 대해 업데이트될 수도 있는 다음의 측정들의 하나 이상을 포함할 수도 있다: 패킷 손실 레이트, 패킷 손실 프랙션, 예상된 패킷들의 수, 초당 손실 레이트, 수신 패킷 카운트, 손실 추정 유효성 (예를 들어, 그 간격에 대해 예상된 패킷들의 수와 같은, 샘플 사이즈의 측정에 기초한 가중치 측정), 겉보기 스루풋, 및 지터.
태스크 (T50) 는 또한 송신 채널의 상태에 관련한 정보에 기초하여 하나보다 많은 임계값을 계산하도록 구성될 수도 있다. 그러한 경우에, 결정 태스크 (T100) 는 적절한 계산된 임계값을 선택하기 위해 프레임 (및/또는 하나 이상의 인접 프레임들) 로부터의 정보를 사용하도록 구성될 수도 있다. 예를 들어, 스피치를 포함하는 것으로 결정되는 프레임의 중요도를 결정하기 위해 하나의 중요도 임계값을, 그리고 잡음을 포함하는 것으로 결정되는 프레임의 중요도를 결정하기 위해 다른 중요도 임계값을 사용하는 것이 바람직할 수도 있다. 다른 예에서, 상이한 임계값들이 트랜지셔널 (예를 들어, 온셋) 및 스테이셔너리 스피치 프레임들을 위해, 및/또는 유성음 스피치 및 무성음 스피치 프레임들을 위해 사용된다. 하나보다 많은 중요도 임계값이 사용되는 케이스의 경우, 태스크 (T100) 는 둘 이상의 중요도 측정 중에서, 프레임 (n) 에 대해 사용될 임계값에 대응하는 중요도 측정을 선택하도록 구성될 수도 있다.
임계값을 계산하기 위해 태스크 (T50) 가 사용하는 정보는 일련의 시간 간격들 각각에 대해 업데이트될 수도 있는 다음의 측정들의 하나 이상을 포함할 수도 있다: 패킷 손실 레이트, 패킷 손실 프랙션, 예상된 패킷들의 수, 초당 손실 레이트, 수신 패킷 카운트, 손실 추정 유효성 (예를 들어, 그 간격에 대해 예상된 패킷들의 수와 같은, 샘플 사이즈의 측정에 기초한 가중치 측정), 겉보기 스루풋, 및 지터. 상술된 바와 같이, 수신기는 제어 신호들 (RTCP 메시징이 하나의 그러한 제어 시그널링 방법의 예이다) 을 통해, 및/또는 다른 서비스 품질 (QoS) 피드백 메커니즘을 통해 인-밴드 (in-band) 메시징을 사용하여 송신 UE 로 다시 그러한 정보를 전달하도록 구성될 수도 있다. RTCP 메시징 (예를 들어, IETF 사양 RFC 3550 에 정의된 바와 같은 실시간 수송 제어 프로토콜) 을 통해 제공될 수도 있는 정보의 예들은 송신 옥텟 카운트들, 송신 패킷 카운트들, 예상 패킷 카운트들, 손실된 패킷들의 수 및/또는 프랙션, 지터 (예를 들어, 지연에서의 변동), 및 라운트-트립 지연을 포함한다. 도 13c 는 (예를 들어, 상술된 바와 같은) 채널 상태 정보를 수신하는 태스크 (T25) 를 포함하는 방법 (M120) 의 구현 (M130) 에 대한 흐름도를 도시한다.
도 14a 및 도 14b 는 채널 상태 정보, 그 정보에 기초하는 중요도 임계값, 및 프레임이 중요한 것으로 표시될 결과적인 가능성 사이의 관계들의 예들을 도시한다. 도 14b 의 예에서, 채널의 보고된 품질은 도 14a 에서의 채널의 보고된 품질보다 낮다. 결과적으로, 도 14b 에서의 중요도 임계값은 도 14a 에서의 중요도 임계값보다 덜 선택적이며, 프레임이 중요한 것으로 표시될 결과적인 가능성은 더 높다. 채널의 보고된 품질이 너무 낮게 되는 경우, 프레임이 중요한 것으로 표시될 결과적인 가능성은 너무 높게 될 수도 있다.
중요한 것으로 표시될 수도 있는 프레임들의 수 또는 비율을 제한하는 것이 바람직할 수도 있다. 예를 들어, 네이티브 스피치 코딩 품질을 보존하는 것에 대한 불량한 채널 조건들 하에서의 성능을 향상시키는 것 및/또는 매우 포괄적인 중요도 결정으로 인해 트리거될 수도 있는 재송신들에 기인한 능력 손실을 막는 것을 밸런싱하는 것이 바람직할 수도 있다.
재송신 주파수를 제한하는 것에 대한 하나의 접근법은 임계값이 얼마나 많은 프레임들이 재송신될 수도 있는지에 대한 제한을 설정하는 낮은 캡 값 (즉, 낮은 경계 값, 또는 플로어 값) 에 종속하도록 방법 (M120) 을 구현하는 것이다. 예를 들어, 방법 (M120) 은 계산된 임계값에 대한 최소값을 시행하도록 구현될 수도 있다. 도 15a 는 태스크 (T75) 를 포함하는 방법 (M120) 의 그러한 구현 (M140) 의 흐름도를 도시한다. 태스크 (T75) 는 태스크 (T50) 에 의해 생성된 계산된 후보 임계값을 경계값 (예를 들어, 낮은 캡 값) 과 비교한다. 비교의 결과에 기초하여, 태스크 (T75) 는, 태스크 (T75) 가 선택된 값을 계산된 임계값으로서 생성하도록, (A) 계산된 후보 임계값 및 (B) 경계값 중에서 하나를 선택한다. 예를 들어, 태스크 (T75) 는 그것이 경계값 보다 큰 (대안적으로 더 작지 않은) 경우에는 계산된 후보값을 선택하고, 그렇지 않은 경우에는 경계값을 선택하도록 구현될 수도 있다. 그러한 방식으로, 태스크 (T75) 는 캡 값으로 계산된 임계값을 클립핑하도록 구성될 수도 있다. 태스크 (T75) 는 또한, 비교가 실패하는 경우 (예를 들어, 클립핑이 발생하는 경우), 태스크 (T75) 가 (예를 들어, 조건을 로깅하고, 기지국으로 조건을 보고하고, 및/또는 다른 치료적 액션을 수행하기 위해) 다른 모듈로 그러한 조건을 표시하도록 구성될 수도 있다.
물론, 중요도 측정의 계산된 값이 중요도에 반비례하도록 대안적으로 태스크 (T100) 를 구현하는 것도 가능하다. 그러한 경우에, 태스크 (T100) 는 중요도 측정이 계산된 임계값 아래에 있는 (대안적으로 계산된 임계값을 초과하는데 실패하는) 경우에 프레임이 중요하다고 나타내도록 구성될 수도 있고, 태스크 (T75) 는 높은 캡 값 (즉, 높은 경계값, 또는 천정값) 과 계산된 임계값을 비교하도록 (그리고 아마도 클립핑하도록) 구성될 수도 있다. 도 15b 는 태스크들 (T25 및 T75) 을 포함하는 방법들 (M130 및 M140) 의 구현 (M150) 에 대한 흐름도를 도시한다. 여기에 기술된 태스크들 (T25, T50, 및 T75) 중 하나 이상을 갖는 태스크 (T100) (예를 들어, T50+T100, T50+T75+T100, T25+T50+T100, 및 T25+T50+T75+T100 중 임의의 것) 는 (예를 들어, 태스크 (T200) 이전에 실행하는 태스크들로서) 여기에 기술된 방법 (M100) 의 임의의 다른 구현들에 포함될 수도 있다.
도 16a 는 태스크 (T400) 를 포함하는 방법 (M100) 의 구현 (M600) 에 대한 흐름도를 도시한다. 태스크 (T400) 는 태스크 (T300) 에서 선택된 재할당 후보에 따라 중요 프레임의 중복적 카피를 생성한다. 중복적 카피는 통상 인코딩된 신호에서의 중요 프레임의 주요 카피 (즉, 정상적으로 인코딩된 중요 프레임의 카피) 보다 더 적은 비트들을 가지며, 그 주요 카피의 부분적 또는 완전한 손실로부터 초래되는 에러들을 정정하기 위해 순방향 에러 정정 (FEC) 동작을 수행하도록 디코더에 의해 사용될 수도 있다. 태스크 (T400) 는 (예를 들어, 태스크 (T250) 로서의 태스크 (T200) 의 구현에서 결정 메트릭 계산에 대한 입력 파라미터로서) 선택 태스크 (T300) 이전에 또는 태스크 (T300) 에 의한 재할당 후보의 선택에 응답하여 중복적 카피를 생성하도록 구현될 수도 있다.
상술된 바와 같이, 선택된 재할당 후보는 비트들의 수로서 또는 비트 레이트로서 중복적 카피에 대한 재할당을 나타낼 수도 있다. 도 16b 는 태스크 (T400) 의 구현 (T410) 을 포함하는 방법 (M600) 의 구현 (M610) 에 대한 흐름도를 도시한다. 태스크 (T410) 는 선택된 재할당 후보에 의해 나타낸 바와 같은 AR 비트들 (예를 들어, Nm 비트들) 의 길이를 갖는 중요 프레임의 중복적 카피를 생성한다. 도 16c 는 태스크 (T400) 의 구현 (T420) 을 포함하는 방법 (M600) 의 구현 (M620) 에 대한 흐름도를 도시한다. 태스크 (T420) 는 선택된 재할당 후보에 의해 나타낸 바와 같은 레이트 (rR) 로 인코딩되는 중요 프레임의 중복적 카피를 생성한다.
통상, 중복적 카피가 후속 프레임들을 디코딩하는데 사용될 수도 있는 양호한 참조 (예를 들어, 양호한 적응적 코드북) 를 제공하는 것이 바람직하다. 중요 프레임의 중복적 카피는 중요 프레임의 주요 카피의 파라미터들의 일부 또는 전부를 포함할 수도 있다. 태스크 (T400) 는 주요 카피의 감소된 버전으로서 중복적 카피를 생성하도록 구현될 수도 있다. 예를 들어, 주요 카피는 주파수 인벨로프 정보 (예를 들어, LPC 또는 MDCT 계수들) 및/또는 시간 인벨로프 정보 (예를 들어, 고정 코드북 인덱스, 고정 코드북 이득, 적응적 코드북 이득, 피치 래그, 및/또는 CELP 코덱에 대한 피치 이득; PWI 또는 PPP 코덱에 대한 프로토타입 파라미터들 및/또는 피치 정보) 와 같은 컴포넌트들을 포함하는 중요 프레임의 인코딩된 버전일 수도 있다. 태스크 (T400) 는 하나 이상의 그러한 컴포넌트들 각각의 부분 또는 전부의 카피를 포함하도록 중복적 카피를 생성하도록 구현될 수도 있다. 예를 들어, 태스크 (T400) 는 양자화된 LPC 필터 파라미터들 및/또는 양자화된 시간 인벨로프 (예를 들어, 여기 신호) 파라미터들을 식별하는 하나 이상의 코드북 인덱스들을 포함하도록 중복적 카피를 생성하도록 구현될 수도 있다.
그러한 케이스들에서, 태스크 (T400) 는 이미 계산되었던 중요 프레임의 주요 카피의 컴포넌트들을 사용하여 (예를 들어, 복제하여 및/또는 압축하여) 중복적 카피를 어셈블하도록 구현될 수도 있다. 태스크 (T400) 는 (예를 들어, 태스크 (T410) 와 같이) 비트 제약을 만족시키는 방식으로 또는 (예를 들어, 태스크 (T420) 와 같이) 레이트 제약과 연관된 구조와 양립하여 중복적 카피를 생성하도록 구현될 수도 있다. 그러한 구조는 상술된 것들과 같은 복수의 파라미터들 (즉, LPC 필터 정보, 피치 지연, 고정/적응 코드북 인덱스/이득 등) 각각에 대해, 프레임에 대해 또는 프레임의 하나 이상의 서브프레임들 각각에 대해, 비트들의 특정된 수를 포함할 수도 있다.
추가적으로 또는 대안적으로, 태스크 (T400) 는 중요 프레임의 주요 카피를 생성하는 데 사용된 것과 상이한 코딩 방법을 사용하여 중요 프레임을 인코딩함으로써 중복적 카피의 부분 또는 전부를 생성하도록 구현될 수도 있다. 그러한 경우에, 이러한 상이한 코딩 방법은 통상적으로 (예를 들어, 저차 LPC 분석을 사용하여, 광대역 코덱보다는 협대역 코덱을 사용하여, 등등) 중요 프레임의 주요 카피를 생성하는데 시용되는 방법보다 더 낮은 레이트를 가질 것이다. 그러한 상이한 코딩 방법은 상이한 비트 레이트 및/또는 상이한 코딩 스킴 (예를 들어, 주요 카피에 대해 CELP 및 중복적 카피에 대해 PPP 또는 PWI) 일 수도 있다. 도 17a 는 태스크 (T400) 의 구현 (T430) 을 포함하는 방법 (M600) 의 구현 (M630) 에 대한 흐름도를 도시한다. 태스크 (T430) 는 인코더로 하여금 중요 프레임의 중복적 카피를 생성하게 한다. 하나의 예에서, 태스크 (T430) 는 인코더에 중요 프레임 및 (예를 들어, 비트들의 수로서, 또는 비트 레이트로서) 표시된 할당 (Nm) 을 제공하도록 구현된다.
도 17b 는 태스크 (T400) 의 구현 (T440) 을 포함하는 방법 (M600) 의 구현 (M640) 에 대한 흐름도를 도시한다. 태스크 (T440) 는 프레임 (n+k) 의 카피 및 중요 프레임 (n) 의 중복적 카피를 생성한다. 태스크 (T400) 는 선택된 재할당 후보에 따라, 후속 프레임에 대한 초기 비트 할당 (T) 을 제 1 부분 및 제 2 부분으로 재할당하는 것, 및 각각의 부분들로 (예를 들어, 각각 (T-Nm) 및 Nm 비트들로) 피팅하도록 프레임 (n+k) 의 카피 및 중복적 카피를 생성하는 것을 포함할 수도 있다.
도 17c 는 태스크 (T400) 의 구현 (T450) 을 포함하는 방법 (M600) 의 구현 (M650) 에 대한 흐름도를 도시한다. 태스크 (T450) 는 프레임 (n+k) 의 카피를 제 1 부분으로 인코딩하고 중요 프레임 (n) 의 중복적 카피를 제 2 부분으로 인코딩한다.
하나의 예에서, 초기 비트 할당 (T) 의 값은 253 이며, 이것은 예를 들어 12.65 kbps (kilobits per second) 의 비트 레이트 및 20 밀리초의 프레임 길이에 대응한다. 다른 예에서, T 의 값은 192 이며, 이것은 예를 들어, 9.6 kbps 의 비트 레이트 및 20 밀리초의 프레임 길이에 대응한다.
T 비트들의 할당의 분배들의 세트 중의 하나의 선택은 선택된 후속 프레임의 비트 레이트에서의 변화 및 중요 프레임의 중복적 카피를 인코딩하는 저 비트 레이트 스킴의 선택으로서 구현될 수도 있다. 예를 들어, 중요 프레임의 중복적 카피를 반송하는 사이즈 Nm 비트들의 부분 및 후속 프레임의 카피를 반송하는 사이즈 (T-Nm) 비트들의 부분으로서 T 비트들의 할당을 분배하는 것 (여기서, T = 253이고 Nm = 61) 은 후속 프레임의 비트 레이트를 12.65 kbps 의 시작 비트 레이트로부터 9.6 kbps 의 감소된 비트 레이트로 변경하고, 현재의 9.6-kbps 스킴에 따라 후속 프레임을 인코딩하고, 3.05-kbps 스킴을 사용하여 중요 프레임의 중복적 카피를 인코딩함으로써 (예를 들어, AMR 코덱 내에서) 구현될 수도 있다.
각각 분배들의 세트 중의 상이한 것에 대응하는, 중복적 인코딩에 대한 수개의 그러한 저 비트 레이트 스킴들을 구현하는 것이 바람직할 수도 있다. 다른 시작 비트 레이트들의 예들은 8.85, 8.55, 6.6, 6.2, 4, 2.7, 및 2 kbps 를 포함하고, 이들은 각각 177, 171, 132, 124, 80, 54, 및 40 의 T 의 값들에 (예를 들어, 20 밀리초의 프레임 길이의 경우) 대응한다. 다른 시작 비트 레이트들의 추가의 예들은 23.85, 23.05, 19.85, 18.25, 15.85, 14.25, 및 12.65 kbps 를 포함하며, 이들은 각각 477, 461, 397, 365, 317, 285, 및 253 의 T 의 값들에 (예를 들어, 20 밀리초의 프레임 길이의 경우) 대응한다. 프레임은 예를 들어 여기에서 참조된 AMR-WB 코덱의 릴리스 10 에 기술된 바와 같은 그러한 레이트에 따라 (예를 들어, CELP 코딩 모델을 사용하여) 인코딩될 수도 있다.
여기에 기술된 원리들은 각 프레임이 동일한 초기 비트 할당 (T) 을 수신하는 단일 고정 비트 레이트 스킴들에 적용될 수도 있다. 이들 원리들은 T 비트들의 총 프레임 할당이 프레임 마다 변화할 수도 있는 가변 비트 레이트 스킴들 (예를 들어, 멀티-모드 또는 다중 고정 비트 레이트 스킴들) 에 또한 적용될 수도 있다. 예를 들어, 프레임 (n+k) 을 인코딩하는데 이용가능한 비트들의 수 (T) 는 프레임이 스피치 또는 잡음을 포함하는지 여부에 따라, 또는 프레임이 유성음 스피치 또는 무성음 스피치를 포함하는지 여부 등에 따라 변할 수도 있다.
방법들 (M300 및 M500) 은 T 비트들을 사용하여 복수의 후속 프레임들 중 적어도 하나 (예를 들어, 넌-캐리어 프레임) 를 인코딩하는 것을 포함하도록 구현될 수도 있다. 그러한 방법들은 심지어 T 비트들을 사용하여 복수의 후속 프레임들 중 넌-캐리어 프레임들 각각을 인코딩하는 것을 포함할 수도 있다. 그러나, 하나의 중요 프레임에 관련한 K 개의 후속 프레임들의 세트가 다른 중요 프레임에 관련한 K 개의 후속 프레임들의 세트와 중첩하도록 (즉, 공통으로 적어도 하나의 프레임을 갖도록), 오디오 신호가 2 개의 인접한 중요 프레임들, 또는 다르게는 서로에 근접한 2 개의 중요 프레임들을 포함하는 것도 가능하다. 그러한 경우에, 공통 후속 프레임들 중 하나는 하나의 중요 프레임의 중복적 카피를 반송하도록 선택될 수도 있고, 공통 후속 프레임들 중 다른 것은 다른 중요 프레임의 중복적 카피를 반송하도록 선택될 수도 있어, 이들 2 개의 후속 프레임들 각각이 T 보다 더 적은 비트들을 사용하여 인코딩되도록 한다. 선택된 후속 프레임 자신이 중요 프레임일 수도 있는 것도 가능하다. 일부 경우들에서, 예를 들어, 중요 프레임과 관련한 K 후속 프레임들의 세트가 적어도 하나의 다른 중요 프레임을 약 20 퍼센트의 시간 포함할 수도 있다는 것이 예상될 수도 있다.
태스크 (T400) 는 (예를 들어, 태스크 (T250) 의 결정 메트릭 계산에 대한 입력 파라미터로서) 선택 태스크 (T300) 이전에 또는 태스크 (T300) 에 의한 재할당 후보의 선택에 응답하여 프레임 (n+k) 의 카피를 생성하도록 구현될 수도 있다. 도 18a 는 태스크들 (TA10 및 TB10) 을 포함하는 방법 (M610) 의 구현 (M660) 에 대한 흐름도를 도시한다. 태스크 (TA10) 는 프레임 (n+k) 에 할당된 비트들의 수 (A0) 로서 초기 비트 할당 (T) 의 표시를 수신한다. 태스크 (TB10) 는 A1 비트들 (예를 들어, (T-Nm) 비트들) 로 프레임 (n+k) 의 카피를 인코딩하며, 여기서 A1 은 A0 보다 작다. 방법 (M660) 은 또한 입력 파라미터로서 태스크 (TB10) 에서 인코딩된 프레임 (n+k) 의 카피로부터 정보를 수신하도록 배열되는 태스크 (T250) 의 인스턴스를 포함한다. 예를 들어, 태스크 (T250) 는 여기에 기술된 품질 변화 결정 메트릭의 하나 이상의 값들을 계산하기 위해 프레임 (n+k) 의 카피를 사용하도록 구현될 수도 있다.
도 18b 는 태스크들 (TA20 및 TB20) 을 포함하는 방법 (M620) 의 구현 (T670) 에 대한 흐름도를 도시한다. 태스크 (TA20) 는 프레임 (n+k) 에 대한 레이트 선택 (r0) 으로서 초기 비트 할당 (T) 의 표시를 수신한다. 태스크 (TB20) 는 r0 보다 낮은 레이트 (r1) 에 따라 프레임 (n+k) 의 카피를 인코딩한다. 방법 (M670) 은 또한 입력 파라미터로서 태스크 (TB20) 에서 인코딩된 프레임 (n+k) 의 카피로부터 정보를 수신하도록 배열되는 태스크 (T250) 의 인스턴스를 포함한다. 예를 들어, 태스크 (T250) 는 여기에 기술된 품질 변화 결정 메트릭의 하나 이상의 값들을 계산하기 위해 프레임 (n+k) 의 카피를 사용하도록 구현될 수도 있다.
도 18c 는 태스크 (T500) 를 포함하는 방법 (M600) 의 구현 (M700) 에 대한 흐름도를 도시한다. 태스크 (T500) 는 후속 프레임 (n+k) 의 카피 및 태스크 (T400) 에 의해 생성된 중요 프레임 (n) 의 중복적 카피를 포함하는 패킷을 생성한다. 도 19a 는 방법들 (M610 및 M700) 의 구현 (M710) 에 대한 흐름도를 도시한다. 도 19b 는 방법들 (M620 및 M700) 의 구현 (M720) 에 대한 흐름도를 도시한다. 패킷은, 그것이 중요 프레임의 중복적 카피를 반송한다는 것을 나타내고, 오프셋 (k) 의 값을 나타내며, 및/또는 재할당된 비트들의 수 (Nm) 를 나타내는 정보를 포함하는 것이 바람직할 수도 있다. 대안적으로, 그러한 정보는 인코딩된 신호에서의 다른 정보로부터 디코더에 의해 도출가능할 수도 있다.
패킷은 하나 이상의 프레임들을 포함할 수도 있다. 패킷 길이를 20 밀리초로 제한하는 것 (예를 들어, 래그를 감소시키는 것) 이 바람직할 수도 있다. 도 20a 는 인터넷 프로토콜 버전 4 (IPv4), 사용자 데이터그램 프로토콜 (UDP), 및 RTP 를 포함하는 VoIP 통신을 위한 통상적인 프로토콜 스택을 사용하여 인코딩된 패킷에 대한 오버헤드의 예를 도시한다. 도 20b 는 IP 버전 6 (IPv6) 패킷에 대한 유사한 예를 도시한다. 페이로드 사이즈의 예들은 G.711 에 대해 160 바이트들, G.729 에 대해 20 바이트들, 및 G.723.1 코덱에 대해 24 바이트들을 포함한다. 여기에 기술된 중복적 인코딩에 대한 비트 재할당을 위한 방법과 함께 사용될 수도 있는 다른 코덱들은, 제한 없이, G.726, G.728, G.729A, AMR, AMR-WB, AMR-WB+ (예를 들어, 3GPP TS 26.290 v10.0.0, March 2011 에 기술됨), VMR-WB (3GPP2 C.S0052-0, 서비스 옵션 62 및 63), 향상된 가변 레이트 코덱 (EVRC, 제목이 "Enhanced Variable Rate Codec, Speech Service Options 3, 68, 및 70 for Wideband Spread Spectrum Digital Systems" 인 제3 세대 파트너십 프로젝트 2 (3GPP2) 문서 C.S0014-C, v1.0, January 2004 (www-dot-3gpp-dot-org 에서 온라인으로 이용가능함) 에 기술됨), 선택가능 모드 보코더 스피치 코덱 (제목이 "Selectable Mode Vocoder (SMV) Service Option for Wideband Spread Spectrum Communication Systems" 인 3GPP2 문서 C.S0030-0, v3.0, January 2004 (www-dot-3gpp-dot-org 에서 온라인으로 이용가능함) 에 기술됨), 및 향상된 음성 서비스 코덱 (EVS, 예를 들어, ETSI 로부터 이용가능한 3GPP TR 22.813 v10.0.0 (March 2010) 에 기술됨) 을 포함한다.
도 21 은 중요 프레임에 후속하는 프레임의 카피 및 중요 프레임의 중복적 카피를 반송하는 RTP 패킷에 대한 페이로드의 예를 도시한다. 중복적 카피 (비트들 r(0) 내지 r (176))는 대응하는 프레임 타입 표시자 (FT) 에 대해 1 의 값으로 표시된 바와 같이, AMR-WB 8.85 kbps 모드에서 인코딩되고, 후속 프레임의 카피 (비트들 p(0) 내지 p(131)) 는 대응하는 프레임 타입 표시자 (FT) 에 대해 제로의 값에 의해 표시된 바와 같이, AMR-WB 6.6kbps 모드에서 인코딩된다. 이러한 예에서, 코덱 모드 요청 표시자 (CMR) 는 8.85 kbps 모드를 채택하도록 수신 단말기에서의 인코더에게 요청하고, 페이로드는 마지막 옥텟을 채우도록 3 개의 패딩 비트들 (P) 로 끝난다. 다른 예들에서, 페이로드는 2 보다 많은 인코딩된 프레임들을 포함할 수도 있고, 및/또는 중복적 카피의 비트들은 (이에 따라 스위칭되는 카피들에 대한 대응하는 컨텐츠 테이블 엔트리들의 순서로) 패킷 내의 서브프레임의 카피의 비트들에 선행할 수도 있다.
예를 들어, RTP 헤더를 12 바이트들로부터 4 바이트들로 압축하기 위해 헤더 압축을 사용하는 것이 바람직할 수도 있다. RTP 헤더는 송신 시간을 계산하는데 사용될 수도 있는 타임스탬프, 및 순서 밖에서 수신되는 패킷들을 정확하게 제공하는데 및/또는 패킷 손실을 검출하는데 사용될 수도 있는 시퀀스 넘버를 포함한다. 로버스트 헤더 압축 (ROHC; IETF RFC 3095, RFC 3843, 및/또는 RFC 4815 에 기술됨) 은 더 큰 압축 레이트들 (예를 들어, 1 내지 4 바이트들로의 하나 이상의, 및 아마도 모든 패킷 헤더들의 압축) 을 지원하는데 사용될 수도 있다.
도 22 는 오디오 디코더 (AD10) 의 구현 (AD20) 의 블로도이다. 오디오 디코더 (AD20) 는 스탠드-얼론 엔티티로서 보코더의 부분으로서 구현되거나, 수신 단말기 (104) 내의 하나 이상의 엔티티들에 걸쳐 분포될 수도 있다. 오디오 디코더 (AD20) 는 또한 VoIP 클라이언트의 부분으로 구현될 수도 있다.
오디오 디코더 (AD20) 는 그의 기능성에 의해 아래에 기술될 것이다. 오디오 디코더 (AD20) 는 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 임의의 조합으로서 구현될 수도 있고, 그것이 구현되는 방식은 특정의 애플리케이션 및 전체 시스템에 부과된 설계 제약들에 의존할 수도 있다. 예로써, 오디오 디코더 (AD20) 는 마이크로프로세서, 디지털 신호 프로세서 (DSP), 프로그래머블 로직, 전용 하드웨어 또는 임의의 다른 하드웨어 기반 및/또는 소프트웨어 기반 프로세싱 엔티티로 구현될 수도 있다.
이러한 예에서, 오디오 디코더 (AD20) 는 디-지터 버퍼 (DB10) ("지터 버퍼" 로도 불림) 를 포함한다. 디-지터 버퍼 (DB10) 는 (예를 들어, 네트워크 혼잡, 타이밍 드리프트, 및/또는 라우트 변경들에 기인한) 패킷 도달 시간에서의 변동들에 의해 야기된 지터를 감소시키거나 제거하는 하드웨어 디바이스 또는 소프트웨어 프로세스일 수도 있다. 디-지터 버퍼 (DB10) 는 오디오 프레임들을 패킷들로 수신할 수도 있다. 디-지터 버퍼 (DB10) 는 이전에 도달한 패킷들의 프레임들이 (예를 들어, 패킷들의 타임스탬프들에 의해 나타낸 바와 같은) 정확한 순서로 프레임 디코더 (FD20) 로 연속적으로 제공될 수 있도록 새로 도달하는 패킷들을 지연시키도록 구현될 수도 있어, 작은 오디오 왜곡으로 확실한 연결을 야기한다. 디-지터 버퍼 (DB10) 는 고정되거나 적응적일 수도 있다. 고정된 디-지터 버퍼는 패킷들에 고정된 지연을 도입할 수도 있다. 한편, 적응적 디-지터 버퍼는 네트워크의 지연에 있어서의 변화들에 적응할 수도 있다. 디-지터 버퍼 (DB10) 는 적절한 순서로 프레임 디코더 (FD20) 로 (예를 들어, 인덱스들 (XL, XF, XG, 및 XP) 을 포함하는) 인코딩된 오디오 프레임들을 제공할 수도 있다.
프레임의 카피가 디-지터 버퍼에 의해 수신되지 않는 경우, FEC 가 사용되지 않는다면 프레임 손실이 야기될 수도 있다. FEC 가 사용되고 현재의 재생될 프레임의 카피가 손실되는 경우, 디-지터 버퍼 (DB10) 는 버퍼에 프레임의 중복적 카피가 존재하는지 여부를 결정할 수도 있다. 현재의 프레임의 중복적 카피가 이용가능한 경우, 중복적 카피는 오디오 샘플들을 생성하기 위해 디코딩을 위해 프레임 디코더 (FD20) 로 제공될 수도 있다.
또, 디-지터 버퍼 (DB10) 는 주요 프레임 (즉, 오리지널 중요 프레임) 및 중복적 프레임 (즉, 오리지널 중요 프레임의 일부 또는 전부의 카피) 을 상이하게 프로세싱하도록 변경될 수도 있다. 디-지터 버퍼 (DB10) 는 여기에 기술된 바와 같은 FEC 동작을 구현하는 것과 연관된 평균 지연이 FEC 동작이 구현되지 않을 때의 평균 지연보다 크지 않도록 이들 2 개의 프레임들을 상이하게 프로세싱할 수도 있다. 예를 들어, 버퍼 (DB10) 는 착신 패킷이 중복적 카피를 포함한다는 것 (예를 들어, 패킷이 2 개의 프레임들을 포함한다는 것) 을 검출하도록, 및 이러한 검출에 응답하여 중복적 카피의 디코딩을 개시하도록 구현될 수도 있다.
디-지터 버퍼 (DB10) 로부터 릴리스된 오디오 프레임들은 디코딩된 코어 오디오 프레임들 (DF) (예를 들어, 합성된 스피치) 을 생성하기 위해 프레임 디코더 (FD20) 로 제공될 수도 있다. 일반적으로, 프레임 디코더 (FD20) 는 본 기술 분야에서 알려진 스피치를 합성된 스피치로 디코딩하는 임의의 방법을 수행하도록 구현될 수도 있다. 도 22 의 예에서, 프레임 디코더 (FD20) 는 도 3 을 참조하여 상술된 인코딩 방법에 대응하는 CELP 디코딩 방법을 사용한다. 이러한 예에서, (예를 들어, 3GPP TS 26.190 v10.0.0 의 섹션 6.1 의 단계들 (1-8) 에 기술된 바와 같이) 고정 코드벡터 생성기 (VG10) 는 FCB 인덱스 (XF) 및 이득 인덱스 (XG) 의 대응하는 부분을 디코딩하여 각 서브프레임에 대한 고정된 코드벡터들을 생성하고, 역양자화기 (IA10) 및 벡터 생성기 (A50) 는 ACB 인덱스 (XP) 및 이득 인덱스 (XG) 의 대응하는 부분을 디코딩하여 각 서브프레임에 대한 적응적 코드벡터들을 생성하며, 가산기 (AD10) 는 대응하는 코드벡터들을 결합하여 여기 신호를 생성하고 메모리 (ME10) 를 업데이트한다. 역양자화기 (IL10) 및 역변환 모듈 (IM10) 은 LPC 인덱스 (XL) 을 디코딩하여 LP 필터 계수 벡터들을 생성하고, 이들은 (3GPP TS 26.190 v10.0.0 의 섹션 6.1 의 처음 단락 및 단계 (4) 에 기술된 바와 같이) 합성된 신호를 생성하기 위해 합성 필터 (SF10) 에 의한 여기에 적용된다. 미가공 합성 신호는 포스트-필터 (PF10) 에 제공되며, 포스트-필터 (PF10) 는 (예를 들어, 3GPP TS 26.190 v10.0.0 의 섹션 6.2 에 기술된 바와 같이) 고역 통과 필터링, 업스케일링, 및 내삽과 같은 동작들을 수행하여 디코딩된 코어 오디오 프레임들 (DF) 을 생성하도록 구현될 수도 있다. 대안적으로, 및 제한 없이, 프레임 디코더 (FD20) 는 NELP 또는 PPP 풀-프레임 디코딩 방법들을 사용할 수도 있다.
주요 카피의 파라미터 값들의 일부 (즉, 부분적 세트) 를 포함하는 프레임들의 중복적 카피들은 디-지터 버퍼 (DB10) 로부터 부분 프레임 디코딩 모듈로 전달될 수도 있다. 예를 들어, 프레임 디코더 (FD20) 는 중복적 카피가 이용가능하기 전에 (예를 들어, 위에서 참조된 3GPP TS 26.091 v10.0.0 에 기술된 에러 은닉 절차에 따라) 중요 프레임에 대응하는 프레임을 생성하도록 구현될 수도 있다. 이러한 경우에, 프레임 디코더 (FD20) 는 캐리어 프레임 (n+k) 을 디코딩하기 전에 (예를 들어, 중복적 카피로부터의 고정된 및 적응적 코드북 인덱스들 및 이득들에 따라) 메모리 (ME10) 를 업데이트하도록 구성되는 부분 프레임 디코딩 모듈을 포함할 수도 있다.
하나의 구성에서, 후속 프레임 (n+k) 의 카피 및 중요 프레임 (n) 의 중복적 카피는 RTP 패킷들로 패킷화되고 수신 단말기 (104) 로 송신된다. 다른 구성에서, 후속 프레임의 카피 및 중요 프레임의 중복적 카피는, 그들이 동시에 생성될 수 있더라도, 상이한 대응하는 RTP 패킷들로 팩킹되고 수신 단말기로 송신된다. 어느 포맷을 사용해야하는지에 대한 결정은 양 단말기들의 능력들에 기초할 수도 있다. 양 포맷들이 각 단말기에서 지원되는 경우, 예를 들어, 더 낮은 데이터 레이트를 지원하는 포맷이 사용될 수도 있다.
수신기 측에서, 스피치 프레임들은 적응적일 수도 있는 디-지터 버퍼 (DB10) 에 저장될 수도 있다. 이전에 언급된 바와 같이, 디-지터 버퍼 (DB10) 는 스피치 프레임들에 대한 평균 지연이 FEC 기법들 없는 평균 지연보다 더 크지 않도록 설계될 수도 있다. 프레임들은 디-지터 버퍼 (DB10) 로부터 적당한 순서로 프레임 디코더 (예를 들어, 디코더 (FD20)) 로 전송될 수도 있다. 중복적 카피가 주요 카피의 파라미터들의 부분적 세트인 경우, 부분 프레임 디코딩 모듈이 사용될 수도 있다.
여기에 기술된 소스-제어 (및 아마도 채널-제어) FEC 스킴은 데이터 레이트에 있어서의 증가가 거의 또는 전혀 없이 패킷 손실들의 수 및 손실들의 버스트성 (burstiness) 을 감소시킬 수도 있다. 중요 프레임 식별은 스피치 감지 품질과 데이터 레이트 사이의 양호한 트레이드 오프를 보장하는 것을 도울 수도 있다. 그러한 FEC 스킴은 이용가능한 대역폭을 효율적으로 사용하도록 그리고 레거시 통신 디바이스들과의 백워드 호환가능하도록 구현될 수도 있다.
오디오 인코더 (AE10) 는 동적 레이트 제어 모듈을 포함하도록 구현될 수도 있다. 그러한 모듈은 미리결정된 목표 레이트에 접근하기 위한 2 개의 단계들을 구현할 수도 있다. 제 1 단계에서, 2 개의 인접한 동작 포인트들이 결정된다. 데이터 레이트들일 수도 있는 이들 2 개의 인접한 동작 포인트들은 목표 데이터 레이트의 값이 2 개의 동작 포인트들의 값들 사이에 있도록 선택된다. 목표 데이터 레이트는 능력 요구들에 기초하여 외부적으로 특정될 수도 있다. 대안적으로, 목표 데이터 레이트는 예를 들어 채널 상태 정보에 기초하여 내부적으로 특정될 수도 있다. 그러한 레이트 제어는 여기에 기술된 FEC 스킴이 임의의 특정된 데이터 레이트에서 수행되는 것을 허용하도록 구현될 수도 있어, 오퍼레이터들이 능력 요구에 기초하여 데이터 레이트를 결정할 수 있도록 한다.
도 23a 는 일반 구성에 따른 장치 (MF100) 의 블록도를 도시한다. 장치 (MF100) 는 (예를 들어, 태스크 (T200) 를 참조하여 여기에 기술된 바와 같이) 오디오 신호의 중요 프레임에 대해 오디오 신호에서 후속하는 오디오 신호의 프레임 ("후속 프레임" 또는 "캐리어 프레임") 으로부터의 정보에 기초하여 결정 메트릭의 적어도 하나의 값을 계산하는 수단 (F200) 을 포함한다. 장치 (MF100) 는 또한 복수의 재할당 후보들 중에서 하나를 선택하는 수단 (F300) 을 포함하며, 여기서 선택된 재할당 후보는 (태스크 (T300) 을 참조하여 여기에 기술한 바와 같이) 제 1 부분 및 제 2 부분으로의 후속 프레임에 대한 초기 비트 할당 (T) 의 재할당을 나타낸다.
도 23b 는 장치 (MF100) 의 구현 (MF300) 의 블록도를 도시한다. 장치 (MF300) 는 (예를 들어, 태스크 (T220) 을 참조하여 여기에 기술된 바와 같이) 복수의 프레임들 각각에 대한 결정 메트릭의 적어도 하나의 값을 계산하기 위한 수단 (F200) 의 구현 (F220) 을 포함한다. 장치 (MF300) 는 또한 (예를 들어, 태스크 (T350) 을 참조하여 여기에 기술된 바와 같이, 오프셋 (k) 의 대응하는 값을 선택함으로써) 복수의 프레임들 중에서 하나 및 복수의 재할당 후보들 중에서 하나를 선택하기 위한 수단 (F300) 의 구현 (F350) 을 포함한다.
도 23c 는 장치 (MF100) 의 구현 (MF500) 의 블록도를 도시한다. 장치 (MF500) 는 (예를 들어, 태스크 (T270) 를 참조하여 여기에 기술된 바와 같이) 결정 메트릭의 값들의 복수의 세트들을 계산하기 위한 수단 (F200) 의 구현 (F270) 을 포함한다. 장치 (MF500) 는 또한 수단 (F350) 의 인스턴스를 포함한다.
도 24a 는 장치 (MF100) 의 구현 (MF140) 의 블록도를 도시한다. 장치 (MF140) 는 (예를 들어, 태스크 (T50) 를 참조하여 여기에 기술된 바와 같이) 중요도 임계값을 계산하는 수단 (F50), (예를 들어, 태스크 (T75) 를 참조하여 여기에 기술된 바와 같이) 캡 값과 계산된 중요도 임계값을 비교하는 수단 (F75), 및 (예를 들어, 태스크 (T100) 를 참조하여 여기에 기술된 바와 같이) 프레임 (n) 이 중요하다고 결정하는 수단 (F100) 을 포함한다.
도 24b 는 장치 (MF140) 의 구현 (MF150) 의 블록도를 도시한다. 장치 (MF140) 는 (예를 들어, 태스크 (T25) 를 참조하여 여기에 기술된 바와 같이) 채널 상태 정보를 수신하는 수단 (F25) 을 포함한다. 여기에 기술된 바와 같이, 송신 단말기 (102) 와 수신 단말기 (104) 사이의 송신들을 위해 사용된 채널의 품질을 나타낼 수도 있는 채널 상태 정보는 수신 단말기 (104) 에서 수집 및 추정되고 송신 단말기 (102) 로 다시 송신될 수도 있다.
도 25a 는 계산기 (200) 및 선택기 (300) 를 포함하는 일반적 구성에 따른 장치 (A100) 의 블록도를 도시한다. 계산기 (200) 는 (예를 들어, 태스크 (T200) 를 참조하여 여기에 기술된 바와 같이) 오디오 신호의 제 1 프레임에 대해 오디오 신호에서 후속하는 오디오 신호의 프레임으로부터의 정보에 기초하여 결정 메트릭의 적어도 하나의 값을 계산하도록 구성된다. 선택기 (300) 는 (예를 들어, 태스크 (T300) 를 참조하여 여기에 기술된 바와 같이) 결정 메트릭의 적어도 하나의 계산된 값에 기초하여 복수의 재할당 후보들 중에서 하나를 선택하도록 구성되며, 여기서 선택된 재할당 후보는 제 1 부분 및 제 2 부분으로의 후속 프레임에 대한 초기 비트 할당 (T) 의 재할당을 나타낸다. 장치 (A100) 는 또한 제 1 프레임의 중복적 카피를 생성하도록 구성된 프레임 인코더 (예를 들어, 프레임 인코더 (FE20), (예를 들어, 태스크 (T500) 를 참조하여 여기에 기술된 바와 같이) 후속 프레임의 카피 및 중복적 카피를 포함하는 패킷을 생성하도록 구성된 패킷 어셈블러, 및/또는 (예를 들어, 태스크 (T100) 를 참조하여 여기에 기술된 바와 같이) 제 1 프레임이 중요 프레임이라고 결정하도록 구성된 중요 프레임 표시기를 포함하도록 구현될 수도 있다.
도 25b 는 장치 (A100) 의 구현 (A300) 의 블록도를 도시한다. 장치 (A300) 는 (예를 들어, 태스크 (T220) 를 참조하여 여기에 기술된 바와 같이) 복수의 프레임들 각각에 대한 결정 메트릭의 적어도 하나의 값을 계산하도록 구성되는 계산기 (200) 의 구현 (220) 을 포함한다. 장치 (A300) 는 또한 (예를 들어, 태스크 (T350) 를 참조하여 여기에 기술된 바와 같이, 오프셋 (k) 의 대응하는 값을 선택함으로써) 복수의 프레임들 중에서 하나 및 복수의 재할당 후보들 중에서 하나를 선택하도록 구성되는 선택기 (300) 의 구현 (350) 을 포함한다.
도 25c 는 장치 (A100) 의 구현 (A500) 의 블록도를 도시한다. 장치 (A500) 는 (예를 들어, 태스크 (T270) 를 참조하여 여기에 기술된 바와 같이) 결정 메트릭의 값들의 복수의 세트들을 계산하도록 구성되는 계산기 (200) 의 구현 (270) 을 포함한다. 장치 (A500) 는 또한 선택기 (350) 의 인스턴스를 포함한다.
도 20c 는 장치 (A100) (또는 MF100) 의 엘리먼트들을 구현하는 칩 또는 칩셋 (CS10) (예를 들어, 이동국 모뎀 (MSM) 칩셋) 을 포함하는 통신 디바이스 (D10) 의 블록도를 도시한다. 칩/칩셋 (CS10) 은 (예를 들어, 명령들로서) 장치 (A100 또는 MF100) 의 소프트웨어 및/또는 펌웨어 부분을 실행하도록 구성될 수도 있는 하나 이상의 프로세서들을 포함할 수도 있다. 송신 단말기 (102) 는 디바이스 (D10) 의 구현으로서 실현될 수도 있다.
칩/칩셋 (CS10) 은 무선 주파수 (RF) 통신 신호를 수신하고 RF 신호 내에서 인코딩된 오디오 신호를 디코딩 및 재생하도록 구성되는 수신기 (예를 들어, RX10), 및 (예를 들어, 태스크 (T500) 에 의해 생성되는 바와 같은) 인코딩된 오디오 신호를 기술하는 RF 통신 신호를 송신하도록 구성되는 송신기 (예를 들어, TX10) 를 포함한다. 그러한 디바이스는 여기에서 참조된 코덱들 중 임의의 하나 이상을 통해 무선으로 음성 통신 데이터를 송신 및 수신하도록 구성될 수도 있다.
디바이스 (D10) 는 안테나 (C30) 를 통해 RF 통신 신호를 수신 및 송신하도록 구성된다. 디바이스 (D10) 는 또한 안테나 (C30) 로의 경로에 디플렉서 및 하나 이상의 전력 증폭기들을 포함할 수도 있다. 칩/칩셋 (CS10) 은 또한 키패드 (C10) 를 통해 사용자 입력을 수신하고 디스플레이 (C20) 를 통해 정보를 디스플레이하도록 구성된다. 이러한 예에서, 디바이스 (D10) 는 또한 글로벌 포지셔닝 시스템 (GPS) 로케이션 서비스들 및/또는 무선 (예를 들어, BluetoothTM) 핸드셋과 같은 외부 디바이스와의 단거리 통신을 지원하도록 하나 이상의 안테나들 (C40) 을 포함한다. 다른 예에서, 그러한 통신 디바이스 자신이 BluetoothTM 핸드셋이고 키패드 (C10), 디스플레이 (C20) 및 안테나 (C30) 가 없다.
통신 디바이스 (D10) 는 스마트폰들 및 랩톱 및 태블릿 컴퓨터들을 포함하여, 다양한 통신 디바이스들에서 구현될 수도 있다. 도 26 은 하나의 그러한 예의 정면도, 이면도 및 측면도를 도시한다: 전면에 배열된 2 개의 음성 마이크로폰들 (MV10-1 및 MV10-3), 이면에 배열된 음성 마이크로폰 (MV10-2), 전면의 상부 코너에 위치된 (예를 들어, 향상된 방향성 선택도를 위한 및/또는 활성 잡음 소거 동작에 대한 입력을 위한 사용자의 귀에서의 음향 에러를 캡쳐하기 위한) 다른 마이크로폰 (ME10), 및 배면 상에 위치된 (예를 들어, 향상된 방향성 선택도를 위한 및/또는 배경 잡음 참조를 캡쳐하기 위한) 다른 마이크로폰 (MR10) 을 갖는 핸드셋 (H100) (예를 들어, 스마트폰). 라우드스피커 (LS10) 는 에러 마이크로폰 (ME10) 근처의 전면의 상부 중앙에 배열되고, 2 개의 다른 라우드스피커들 (LS20L, LS20R) 이 또한 (예를 들어, 스피커폰 애플리케이션들을 위해) 제공된다. 그러한 핸드셋의 마이크로폰들 사이의 최대 거리는 통상 약 10 또는 12 센티미터이다.
도 25d 는 여기에 기술된 방법 (예를 들어, 방법들 (M100, M200, M300, M400, M500, M600, 및 M700) 중 임의의 하나 이상의 방법) 을 수행하도록 구현될 수도 있는 무선 디바이스 (1102) 의 블록도를 도시한다. 송신 단말기 (102) 는 무선 디바이스 (1102) 의 구현으로서 실현될 수도 있다. 무선 디바이스 (1102) 는 원격국, 액세스 단말기, 핸드셋, 개인용 휴대정보단말 (PDA), 셀룰러 폰 등일 수도 있다.
무선 디바이스 (1102) 는 디바이스의 동작을 제어하는 프로세서 (1104) 를 포함한다. 프로세서 (1104) 는 또한 중앙 프로세싱 유닛 (CPU) 로서 지칭될 수도 있다. 리드 온리 메모리 (ROM) 및 랜덤 액세스 메모리 (RAM) 양자 모두를 포함할 수도 있는 메모리 (1106) 는 명령들 및 데이터를 프로세서 (1104) 에 제공한다. 메모리 (1106) 의 일부는 또한 비휘발성 랜덤 액세스 메모리 (NVRAM) 를 포함할 수도 있다. 프로세서 (1104) 는 통상 메모리 (1106) 내에 저장된 프로그램 명령들에 기초하여 논리 및 산술 연산들을 수행한다. 메모리 (1106) 내의 명령들은 여기에 기술된 방법 또는 방법들을 구현하도록 실행가능할 수도 있다.
무선 디바이스 (1102) 는 무선 디바이스 (1102) 와 원격국 사이에서 데이터의 송신 및 수신을 허용하기 위해 송신기 (1110) 및 수신기 (1112) 를 포함할 수도 있는 하우징 (1108) 을 포함한다. 송신기 (1110) 및 수신기 (1112) 는 송수신기 (1114) 로 결합될 수도 있다. 안테나 (1116) 는 하우징 (1108) 에 부착되고 송수신기 (1114) 에 전기적으로 커플링될 수도 있다. 무선 디바이스 (1102) 는 또한 다수의 송신기들, 다수의 수신기들, 다수의 송수신기들 및/또는 다수의 안테나들을 포함할 수도 있다 (도시하지 않음).
이러한 예에서, 무선 디바이스 (1102) 는 또한 송수신기 (1114) 에 의해 수신된 신호들의 레벨을 검출 및 정량화하는데 사용될 수도 있는 신호 검출기 (1118) 을 포함한다. 신호 검출기 (1118) 는 총 에너지, 의사잡음 (PN) 칩들 당 파일럿 에너지, 전력 스펙트럼 밀도, 및 다른 신호들과 같은 그러한 신호들을 검출할 수도 있다. 무선 디바이스 (1102) 는 또한 신호들을 프로세싱하는데 사용하기 위한 디지털 신호 프로세서 (DSP) (1120) 를 포함한다.
무선 디바이스 (1102) 의 여러 컴포넌트들은 데이터 버스에 더하여 전력 버스, 제어 신호 버스, 및 상태 신호 버스를 포함할 수도 있는 버스 시스템 (1122) 에 의해 함께 커플링된다. 간략성을 위해, 여러 버스들은 도 25d 에서 버스 시스템 (1122) 로서 도시된다.
여기에 개시된 방법들 및 장치는 일반적으로 임의의 송수신 및/또는 오디오 감지 애플리케이션, 특히 그러한 애플리케이션들의 모바일 또는 다른 휴대가능 인스턴스들에서 적용될 수도 있다. 예를 들어, 여기에 개시된 구성들의 범위는 코드 분할 다중 접속 (CDMA) 공중 인터페이스를 채용하도록 구성된 무선 전화 통신 시스템에 상주하는 통신 디바이스들을 포함한다. 그럼에도 불구하고, 당업자라면 여기에 기술된 특징들을 갖는 방법 및 장치가 유선 및/또는 무선 (예를 들어, CDMA, TDMA, FDMA, 및/또는 TD-SCDMA) 송신 채널들을 통해 VoIP (Voice over IP) 를 채용하는 시스템들과 같은, 당업자에게 알려진 광범위한 기술들을 채용하는 여러 통신 시스템들 중 임의의 것에 상주할 수도 있다는 것을 이해할 것이다.
여기에 개시된 통신 디바이스들은 패킷 교환되는 (예를 들어, VoIP 와 같은 프로토콜들에 따라 오디오 송신들을 반송하도록 배열되는 유선 및/또는 무선 네트워크들) 및/또는 회선 교환되는 네트워크들에서의 사용을 위해 적응될 수도 있다. 여기에 개시된 통신 디바이스들은 협대역 코딩 시스템들 (예를 들어, 약 4 또느 5 킬로헤르쯔의 오디오 주파수 범위를 인코딩하는 시스템들) 에서의 사용을 위해 및/또는 전대역 (whole-band) 광대역 코딩 시스템들 및 스플릿 대역 광대역 코딩 시스템들을 포함하여, 광대역 코딩 시스템들 (예를 들어, 5 킬로헤르쯔보다 큰 오디오 주파수들을 인코딩하는 시스템들) 에서의 사용을 위해 적응될 수도 있다.
기술된 구성들의 제시는 임의의 당업자가 여기에 개시된 방법들 및 다른 구조들을 실시 또는 사용하는 것을 가능하게 하도록 제공된다. 여기에 도시되고 기술된 흐름도들, 블록도들, 및 다른 구조들은 단지 예시들일 뿐이고, 이들 구조들에 대한 다른 변형들이 또한 본 개시의 범위 내에 있다. 이들 구성들에 대한 여러 변경들이 가능하고, 여기에 제시된 일반적인 원리들은 마찬가지로 다른 구성들에 적용될 수도 있다. 따라서, 본 개시는 위에서 도시된 구성들에 제한되도록 의도되는 것이 아니라, 오리지널 개시의 부분을 형성하는, 제출된 부착된 청구항들을 포함하여, 여기의 임의의 방식으로 개시된 원리들 및 신규한 특징들과 일관성 있는 가장 넓은 범위와 부합되어야 한다.
당업자는 정보 및 신호들은 여러 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수도 있다. 예를 들어, 상술한 상세한 설명 전체에 걸쳐 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 및 심볼들은 전압들, 전류들, 전자기파들, 자기 필드들 또는 입자들, 광학 필드들 및 입자들 또는 이들의 임의의 조합에 의해 표현될 수도 있다.
여기에 개시된 구성의 구현을 위한 중요한 설계 요건들은, 특히 압축된 오디오 또는 오디오비쥬얼 정보 (예를 들어, 여기에 식별된 예들 중 하나와 같은 압축 포맷에 따라 인코딩된 파일 또는 스트림) 의 재생 또는 광대역 통신에 대한 애플리케이션들 (예를 들어, 12, 16, 32, 44.1, 48, 또는 192 kHz 와 같은 8 킬로헤르쯔보다 높은 샘플링 레이트들에서의 음성 통신들) 과 같은 계산 집약적인 애플리케이션들을 위해, (통상 초당 수백만 명령들 또는 MIPS 로 측정되는) 계산 복잡성 및/또는 프로세싱 지연을 최소화하는 것을 포함할 수도 있다.
여기에 개시된 장치 (예를 들어, 장치 A100, A300, A500, MF100, MF140, MF150, MF300, MF500) 는 의도된 애플리케이션에 적합한 것으로 여겨지는, 소프트웨어와의 및/또는 펌웨어와의 하드웨어의 임의의 조합으로 구현될 수도 있다. 예를 들어, 그러한 장치의 엘리먼트들은 예를 들어 동일한 칩 상에 또는 칩셋 내의 2 개 이상의 칩들 중에 상주하는 전자 및/또는 광학 디바이스들로서 제조될 수도 있다. 그러한 디바이스의 하나의 예는 트랜지스터들 또는 로직 게이트들과 같은 로직 엘리먼트들의 고정되거나 프로그램가능한 어레이이고, 이들 엘리먼트들의 임의의 것은 하나 이상의 그러한 어레이들로서 구현될 수도 있다. 이들 엘리먼트들의 임의의 2 이상, 또는 심지어 전부가 동일한 어레이 또는 어레이들 내에 구현될 수도 있다. 그러한 어레이 또는 어레이들은 (예를 들어, 2 이상의 칩들을 포함하는 칩셋 내의) 하나 이상의 칩들 내에서 구현될 수도 있다.
여기에 개시된 장치 (예를 들어, 장치 A100, A300, A500, MF100, MF140, MF150, MF300, MF500) 의 여러 구현들의 하나 이상의 엘리먼트들은 마이크로프로세서들, 임베딩된 프로세서들, IP 코어들, 디지털 신호 프로세서들, FPGA (field-programmable gate array) 들, ASSP (application-specific standard product) 들, 및 ASIC (application-specific integrated circuit) 들과 같은 로직 엘리먼트들의 하나 이상의 고정되거나 프로그램가능한 어레이들 상에서 실행되도록 배열된 명령들의 하나 이상의 세트들로서 전체적으로 또는 부분적으로 구현될 수도 있다. 여기에 개시된 장치의 구현의 여러 엘리먼트들의 임의의 것은 또한 하나 이상의 컴퓨터들 (예를 들어, "프로세서들" 로서도 불리는, 명령들의 하나 이상의 세트들 또는 시퀀스들을 실행하도록 프로그래밍된 하나 이상의 어레이들을 포함하는 머신들) 로서 구현될 수도 있고, 이들 엘리먼트들의 임의의 2 이상, 또는 심지어 전부는 동일한 그러한 컴퓨터 또는 컴퓨터들 내에서 구현될 수도 있다.
여기에 개시된 프로세싱을 위한 프로세서 또는 다른 수단은 예를 들어 동일한 칩 상에 또는 칩셋 내의 2 이상의 칩들 중에 상주하는 하나 이상의 전자 및/또는 광학 디바이스들로서 제조될 수도 있다. 그러한 디바이스의 하나의 예는 트랜지스터들 또는 로직 게이트들과 같은 로직 엘리먼트들의 고정되거나 프로그램가능한 어레이이고, 이들 엘리먼트들의 임의의 것은 하나 이상의 그러한 어레이들로서 구현될 수도 있다. 그러한 어레이 또는 어레이들은 (예를 들어, 2 이상의 칩들을 포함하는 칩셋 내에서) 하나 이상의 칩들 내에 구현될 수도 있다. 그러한 어레이들의 예들은 마이크로프로세서들, 임베딩된 프로세서들, IP 코어들, DSP 들, FPGA 들, ASSP 들, 및 ASIC 들과 같은 로직 엘리먼트들의 하나 이상의 고정되거나 프로그램가능한 어레이들을 포함한다. 여기에 개시된 프로세싱을 위한 프로세서 또는 다른 수단은 또한 하나 이상의 컴퓨터들 (예를 들어, 명령들의 하나 이상의 세트들 또는 시퀀스들을 실행하도록 프로그래밍된 하나 이상의 어레이들을 포함하는 머신들) 로서 구현될 수도 있다. 여기에 개시된 프로세서가 프로세서가 임베딩되는 디바이스 또는 시스템 (예를 들어, 오디오 감지 디바이스) 의 다른 동작과 관련된 태스크와 같은 방법 (M100) 의 구현의 절차와 직접 관련되지 않은 태스크들을 수행하거나 명령들의 다른 세트들을 실행하는데 사용되는 것이 가능하다. 여기에 개시된 방법의 부분이 오디오 감지 디바이스의 프로세서에 의해 수행되는 것 및 방법의다른 부분이 하나 이상의 프로세서들의 제어 하에 실행되는 것도 가능하다.
여기에 개시된 구성들과 관련하여 기재된 여러 예시적인 모듈들, 로직컬 블록들, 회로들 및 테스트들 및 다른 동작들은 전자 하드웨어, 컴퓨터 소프트웨어 또는 이들 양자의 조합들로서 구현될 수도 있다. 그러한 모듈들, 로직컬 블록들, 회로들 및 동작들은 범용 프로세서, 디지털 신호 프로세서 (DSP), ASIC, 또는 ASSP, FPGA 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 여기에 기술된 구성을 생성하도록 설계된 이들의 임의의 조합으로 구현 또는 수행될 수도 있다. 예를 들어, 그러한 구성은 하드-와이어드 회로로서, 주문형 반도체 내로 제조된 회로 구성으로서, 또는 비휘발성 기억장치로 로딩된 펌웨어 프로그램 또는 머신 판독가능 코드로서 데이터 저장 매체로부터 또는 데이터 저장 매체로 로딩되는 소프트웨어 프로그램으로서 적어도 부분적으로 구현될 수도 있으며, 그러한 코드는 범용 프로세서 또는 다른 디지털 신호 프로세싱 유닛과 같은 로직 엘리먼트들의 어레이에 의해 실행가능한 명령들이다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스의 조합, 예를 들어, DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수도 있다. 소프트웨어 모듈은 RAM (랜덤 액세스 메모리), ROM (리드 온리 메모리), 플래시 RAM 과 같은 비휘발성 RAM (NVRAM), 소거가능한 프로그램가능 ROM (EPROM), 전기적으로 소거가능한 프로그램가능한 ROM (EEPROM), 레지스터들, 하드 디스크, 탈착가능 디스크, 또는 CD-ROM; 또는 본 기술에서 알려져 있는 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체로 정보를 기입할 수 있도록 프로세서에 커플링된다. 대안으로, 저장 매체는 프로세서와 일체일 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다. ASIC 는 사용자 단말기에 상주할 수도 있다. 대안으로서, 프로세서 및 저장 매체는 사용자 단말기 내의 이산 컴포넌트들로서 상주할 수도 있다.
여기에 개시된 여러 방법들 (예를 들어, 방법들 M100, M200, M300, M400, M500, M600, 및 M700 중 임의의 것의 구현들) 은 프로세서와 같은 로직 엘리먼트들의 어레이에 의해 수행될 수도 있다는 것과, 여기에 기술된 장치의 여러 엘리먼트들은 그러한 어레이 상에서 실행하도록 설계된 모듈들로서 구현될 수도 있다는 것을 주의해야 한다. 여기서 사용되는 바와 같이, 용어 "모듈" 또는 "서브 모듈" 은 임의의 방법, 장치, 디바이스, 유닛 또는 소프트웨어, 하드웨어, 또는 펌웨어 형태로 컴퓨터 명령들 (예를 들어, 로지컬 표현들) 을 포함하는 컴퓨터 판독가능 데이터 저장 매체를 지칭할 수 있다. 다수의 모듈들 또는 시스템들이 하나의 모듈 또는 시스템으로 결합될 수 있고, 하나의 모듈 또는 시스템은 동일한 기능들을 수행하기 위해 다수의 모듈들 또는 시스템들로 분리될 수 있다. 소프트웨어 또는 다른 컴퓨터 실행가능 명령들로 구현되는 경우, 프로세스의 엘리먼트들은 본질적으로 예를 들어, 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등을 갖는, 관련된 태스크들을 수행하는 코드 세그먼트들이다. 용어 "소프트웨어" 는 소스 코드, 어셈블리어 코드, 머신 코드, 이진 코드, 펌웨어, 매크로코드, 마이크로코드, 로직 엘리먼트들의 어레이에 의해 실행가능한 명령들의 임의의 하나 이상의 세트들 또는 시퀀스들, 및 그러한 예들의 임의의 조합을 포함하는 것으로 이해되어야 한다. 프로그램 또는 코드 세그먼트들은 프로세서 판독가능한 매체에 저장되거나 송신 매체 또는 통신 링크를 통해 반송파에 구현된 컴퓨터 데이터 신호에 의해 송신될 수 있다.
여기에 개시된 방법들, 스킴들, 및 기법들의 구현들은 로직 엘리먼트들의 어레이를 포함하느 머신 (예를 들어, 프로세서, 마이크로프로세서, 마이크로제어기, 또는 다른 유한 상태 머신) 에 의해 실행가능한 명령들의 하나 이상의 세트들로서 (예를 들어, 여기에 리스트된 하나 이상의 컴퓨터 판독가능 저장 매체의 유형의 컴퓨터 판독가능 피쳐들로) 유형으로 구현될 수도 있다. 용어 "컴퓨터 판독가능 매체" 는 휘발성, 비휘발성, 착탈가능 및 비착탈가능 저장 매체를 포함하여, 정보를 저장 또는 전달할 수 있는 임의의 매체를 포함할 수도 있다. 컴퓨터 판독가능 매체의 예들은 전자 회로, 반도체 메모리 디바이스, ROM, 플래시 메모리, 소거가능한 ROM (EROM), 플로피 디스켓 또는 다른 자기 기억장치, CD-ROM/DVD 또는 다른 광학 기억장치, 하드 디스크 또는 원하는 정보를 저장하는데 사용될 수 있는 임의의 다른 매체, 광섬유 매체, 무선 주파수 (RF)링크 또는 원하는 정보를 반송하는데 사용될 수 있고 액세스될 수 있는 임의의 다른 매체를 포함한다. 컴퓨터 데이터 신호는 전자 네트워크 채널들, 광섬유들, 공중, 전자기파, RF 링크 등과 같은 송신 매체를 통해 전파할 수 있는 임의의 신호를 포함할 수도 있다. 코드 세그먼트들은 인터넷 또는 인트라넷과 같은 컴퓨터 네트워크들을 통해 다운로드될 수도 있다. 임의의 경우에, 본 개시의 범위는 그러한 실시형태들에 의해 제한되는 것으로 해석되지 않아야 한다.
여기에 기술된 방법들의 태스크들 각각은 하드웨어로 직접, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 조합으로 구현될 수도 있다. 여기에 개시된 방법의 구현의 통상적인 애플리케이션에서, 로직 엘리먼트들 (예를 들어, 로직 게이트들) 의 어레이는 방법의 여러 태스크들의 하나, 하나 보다 많은, 또는 심지어 전부를 수행하도록 구성된다. 태스크들의 하나 이상 (가능하게는 전부) 은 또한 로직 엘리먼트들의 어레이 (예를 들어, 프로세서, 마이크로프로세서, 마이크로제어기, 또는 다른 유한 상태 머신) 을 포함하는 머신 (예를 들어, 컴퓨터) 에 의해 판독가능하고 및/또는 실행가능한 컴퓨터 프로그램 제품 (예를 들어, 디스크들, 플래시 또는 다른 비휘발성 메모리 카드들, 반도체 메모리 칩들 등과 같은 하나 이상의 데이터 저장 매체) 에 수록된 코드 (예를 들어, 명령들의 하나 이상의 세트들) 로서 구현될 수도 있다. 여기에 개시된 방법의 구현의 태스크들은 또한 하나보다 많은 그러한 어러이 또는 머신에 의해 수행될 수도 있다. 이들 또는 다른 구현들에서, 태스크들은 셀룰러 전화 또는 그러한 통신 능력을 갖는 다른 디바이스와 같은 무선 통신을 위한 디바이스 내에서 수행될 수도 있다. 그러한 디바이스는 (예를 들어, VoIP 와 같은 하나 이상의 프로토콜들을 사용하여) 회선 교환 및/또는 패킷 교환 네트워크들과 통신하도록 구성될 수도 있다. 예를 들어, 그러한 디바이스는 인코딩된 프레임들을 수신 및/또는 송신하도록 구성된 RF 회로를 포함할 수도 있다.
여기에 개시된 여러 방법들은 핸드셋, 헤드셋, 또는 개인용 휴대정보단말 (PDA) 과 같은 휴대가능 통신 디바이스에 의해 수행될 수도 있다는 것 및 여기에 기술된 여러 장치는 그러한 디바이스 내에 포함될 수도 있다는 것이 명백히 개시된다. 통상적인 실시간 (예를 들어, 온라인) 애플리케이션은 그러한 모바일 디바이스를 사용하여 행해지는 전화 대화이다.
하나 이상의 예시적인 실시형태들에서, 여기에 기술된 동작들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 그러한 동작들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장 또는 그것을 통해 송신될 수도 있다. 용어 "컴퓨터 판독가능 매체" 는 컴퓨터 판독가능 저장 매체 및 통신 (예를 들어, 송신) 매체 양자 모두를 포함한다. 제한이 아닌 예시로써, 컴퓨터 판독가능 저장 매체는 (제한 없이 동적 또는 정적 RAM, ROM, EEPROM, 및/또는 플래시 RAM 을 포함할 수도 있는) 반도체 메모리, 또는 강자성체, 자기저항, 오보닉 장치, 폴리메릭, 또는 상전환 메모리; CD-ROM 또는 다른 광디스크 기억장치; 및/또는 자기 디스크 기억장치, 또는 다른 자기적 저장 디바이스들과 같은 기억 소자들의 어레이를 포함할 수 있다. 그러한 저장 매체는 컴퓨터에 의해 액세스될 수 있는 명령들 또는 데이터 구조들의 형태로 정보를 저장할 수도 있다. 통신 매체는, 한 곳에서 다른 곳으로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하여, 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 반송하는데 사용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 매체를 포함할 수 있다. 또한, 임의의 연결은 적절하게 컴퓨터 판독가능 매체로 명명된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 라인 (DSL), 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 다른 원격 소스로부터 송신되는 경우, 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 라인 (DSL), 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 여기서 사용된 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크, 레이저 디스크, 광디스크, DVD, 플로피 디스크, 및 블루레이 디스크TM(불루레이 디스크 협회, 유니버샬 시, CA) 를 포함하고, 여기서 디스크 (disk) 는 통상 자기적으로 데이터를 재생하는 반면, 디스크 (disc) 는 레이저로 광학적으로 데이터를 재생한다. 상술한 것들의 조합들이 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
여기에 기술된 음향 신호 프로세싱 장치는 소정의 동작들을 제어하기 위해 스피치 입력을 수용하거나, 통신 디바이스들과 같이 배경 잡음들로부터 원하는 잡음들의 분리로부터 이익을 얻을 수도 있는 전자 디바이스로 통합될 수도 있다. 많은 애플리케이션들은 다수의 방향들로부터 기원하는 배경 사운드들로부터 깨끗한 원하는 사운드를 향상 및 분리하는 것으로부터 이익을 얻을 수도 있다. 그러한 애플리케이션들은 음성 인식 및 검출, 스피치 향상 및 분리, 음성 활성화 제어 등과 같은 능력들을 통합하는 전자 또는 컴퓨팅 디바이스들에서의 인간-머신 인터페이스들을 포함할 수도 있다. 제한된 프로세싱 능력들 만을 제공하는 디바이스들에 적합하도록 그러한 음향 신호 프로세싱 장치를 구현하는 것이 바람직할 수도 있다.
여기에 기술된 모듈들, 엘리먼트들, 및 디바이스들의 여러 구현들의 엘리먼트들은 예를 들어, 동일한 칩상에 또는 칩셋 내의 2 이상의 칩들 중에 상주하는 전자 및/또는 광학 디바이스들로서 제조될 수도 있다. 그러한 디바이스의 하나의 예는 트랜지스터들 또는 게이트들과 같은 로직 엘리먼트들의 고정되거나 프로그램가능한 어레이이다. 여기에 개시된 장치의 여러 구현들의 하나 이상의 엘리먼트들은 또한, 마이크로프로세서들, 임베딩된 프로세서들, IP 코어들, 디지털 신호 프로세서들, FPGA 들, ASSP 들, 및 ASIC 들과 같은 로직 엘리먼트들의 하나 이상의 고정되거나 프로그램가능한 어레이들 상에서 실행되도록 배열된 명령들의 하나 이상의 세트들로서 전체적으로 또는 부분적으로 구현될 수도 있다.
여기에 기술된 장치의 구현의 하나 이상의 엘리먼트들이 장치가 임베딩되는 디바이스 또는 시스템의 다른 동작과 관련된 태스크와 같은, 장치의 동작과 직접 관련되지 않은 태스크들을 수행하거나 명령들의 다른 세트들을 실행하는데 사용되는 것이 가능하다. 그러한 장치의 구현의 하나 이상의 엘리먼트들이 공통의 구조 (예를 들어, 상이한 시간들에 상이한 엘리먼트들에 대응하는 코드의 부분들을 실행하는데 사용되는 프로세서, 상이한 시간들에 상이한 엘리먼트들에 대응하는 태스크들을 수행하기 위해 실행되는 명령들의 세트, 또는 상이한 시간들에 상이한 엘리먼트들에 대한 동작들을 수행하는 전자 및/또는 광학 디바이스들의 배열) 를 갖는 것이 가능하다.

Claims (61)

  1. 오디오 신호를 프로세싱하는 방법으로서,
    상기 오디오 신호에서 상기 오디오 신호의 제 1 프레임에 후속하는 상기 오디오 신호의 제 2 프레임에 대한 결정 메트릭의 적어도 하나의 값을 계산하는 단계; 및
    상기 결정 메트릭의 상기 적어도 하나의 계산된 값에 기초하여, 복수의 재할당 후보들 중에서 하나를 선택하는 단계를 포함하고,
    계산된 상기 적어도 하나의 값은 상기 제 2 프레임의 압축가능성의 측정에 기초하며,
    선택된 상기 재할당 후보는 제 1 부분 및 제 2 부분으로의 상기 제 2 프레임에 대한 초기 비트 할당의 재할당을 나타내는, 오디오 신호를 프로세싱하는 방법.
  2. 제 1 항에 있어서,
    상기 방법은 상기 제 1 프레임이 상기 오디오 신호의 중요 프레임이라고 결정하는 단계를 포함하는, 오디오 신호를 프로세싱하는 방법.
  3. 제 2 항에 있어서,
    상기 제 1 프레임이 중요 프레임이라고 결정하는 단계는 상기 제 1 프레임에 대해 상기 오디오 신호에서 후속하는 상기 오디오 신호의 프레임의 인코딩된 버전으로부터의 정보에 기초하는, 오디오 신호를 프로세싱하는 방법.
  4. 제 3 항에 있어서,
    상기 인코딩된 버전은 상기 제 2 프레임의 인코딩된 버전인, 오디오 신호를 프로세싱하는 방법.
  5. 제 2 항에 있어서,
    상기 결정하는 단계는 중요도 측정을 중요도 임계값과 비교하는 단계를 포함하는, 오디오 신호를 프로세싱하는 방법.
  6. 제 5 항에 있어서,
    상기 결정하는 단계는 송신 채널의 상태에 관련한 정보에 기초하여 상기 중요도 임계값을 계산하는 단계를 포함하는, 오디오 신호를 프로세싱하는 방법.
  7. 제 6 항에 있어서,
    상기 중요도 임계값을 계산하는 단계는,
    상기 송신 채널의 상태에 관련한 상기 정보에 기초한 계산된 값을 경계값과 비교하는 단계; 및
    상기 경계값과 비교하는 단계의 결과에 응답하여, 상기 경계값을 상기 중요도 임계값으로서 선택하는 단계를 포함하는, 오디오 신호를 프로세싱하는 방법.
  8. 제 1 항에 있어서,
    상기 압축가능성의 측정은 상기 제 2 프레임의 서브프레임들 사이의 상관을 나타내는, 오디오 신호를 프로세싱하는 방법.
  9. 제 1 항에 있어서,
    상기 복수의 재할당 후보들 중에서 하나를 선택하는 단계는 상기 결정 메트릭의 계산된 값을 순서화된 복수의 결정 임계값들 각각과 비교하는 단계를 포함하고,
    상기 순서화된 복수의 결정 임계값들 각각은 상기 복수의 재할당 후보들 중의 상이한 재할당 후보에 대응하는, 오디오 신호를 프로세싱하는 방법.
  10. 제 1 항에 있어서,
    상기 방법은 상기 제 1 프레임에 대해 상기 오디오 신호에서 후속하는 상기 오디오 신호의 상이한 프레임에 각각 대응하는, 상기 결정 메트릭의 복수의 값들을 계산하는 단계를 포함하고,
    상기 결정 메트릭의 상기 복수의 값들 각각은 대응하는 프레임의 압축가능성의 측정에 기초하며,
    상기 방법은, 상기 결정 메트릭의 상기 복수의 값들 중 적어도 일부에 기초하여, 상기 상이한 프레임들 중에서 상기 제 2 프레임을 선택하는 단계를 포함하는, 오디오 신호를 프로세싱하는 방법.
  11. 제 1 항에 있어서,
    상기 결정 메트릭의 상기 계산된 적어도 하나의 값은 상기 결정 메트릭의 계산된 값들의 세트를 포함하고,
    상기 계산된 값들의 세트의 각각은 상기 복수의 재할당 후보들 중 상이한 재할당 후보에 대응하는, 오디오 신호를 프로세싱하는 방법.
  12. 제 11 항에 있어서,
    상기 계산된 값들의 세트의 각각은 상기 복수의 재할당 후보들 중 대응하는 재할당 후보와 연관된 감지 품질의 측정에 기초하는, 오디오 신호를 프로세싱하는 방법.
  13. 제 11 항에 있어서,
    상기 압축가능성의 측정은 상기 제 2 프레임의 인코딩된 버전으로부터의 정보에 기초하는, 오디오 신호를 프로세싱하는 방법.
  14. 제 11 항에 있어서,
    상기 적어도 하나의 계산된 값은 상이한 인코딩 레이트들에 대한 상기 제 2 프레임의 감지 품질의 측정들 사이의 관계에 기초하는, 오디오 신호를 프로세싱하는 방법.
  15. 제 11 항에 있어서,
    상기 적어도 하나의 계산된 값은 (A) 상기 초기 비트 할당에 대한 상기 제 2 프레임의 압축가능성의 측정과 (B) 상기 복수의 재할당 후보들 중 대응하는 재할당 후보에 대한 상기 제 2 프레임의 압축가능성의 측정 사이의 관계에 기초하는, 오디오 신호를 프로세싱하는 방법.
  16. 제 1 항에 있어서,
    상기 결정 메트릭의 상기 계산된 적어도 하나의 값은 상기 결정 메트릭의 계산된 값들의 복수의 세트들을 포함하고,
    상기 복수의 세트들 각각은 상기 제 1 프레임에 대해 상기 오디오 신호에서 후속하는 상기 오디오 신호의 상이한 프레임에 대응하며,
    각각의 세트 내에서, 각각의 값은 상기 복수의 재할당 후보들 중 상이한 재할당 후보에 대응하는, 오디오 신호를 프로세싱하는 방법.
  17. 제 16 항에 있어서,
    각각의 세트 내에서, 각각의 값은 상기 복수의 재할당 후보들 중 대응하는 재할당 후보와 연관된 감지 품질의 측정에 기초하는, 오디오 신호를 프로세싱하는 방법.
  18. 제 16 항에 있어서,
    각각의 세트 내에서, 각각의 값은 대응하는 프레임의 인코딩된 버전으로부터의 정보에 기초하는, 오디오 신호를 프로세싱하는 방법.
  19. 제 16 항에 있어서,
    상기 방법은, 상기 복수의 세트들의 적어도 일부의 계산된 값들에 기초하여, 상기 상이한 프레임들 중에서 상기 제 2 프레임을 선택하는 단계를 포함하는, 오디오 신호를 프로세싱하는 방법.
  20. 제 1 항에 있어서,
    상기 방법은, 상기 복수의 재할당 후보들 중에서 하나를 선택하는 단계에 응답하여, 상기 제 1 프레임의 중복적 카피 및 상기 제 2 프레임의 카피를 포함하는 패킷을 생성하는 단계를 포함하고,
    상기 제 2 프레임의 카피는 상기 제 1 부분으로 인코딩되며,
    상기 중복적 카피는 상기 제 2 부분으로 인코딩되는, 오디오 신호를 프로세싱하는 방법.
  21. 오디오 신호를 프로세싱하는 장치로서,
    상기 오디오 신호에서 상기 오디오 신호의 제 1 프레임에 후속하는 상기 오디오 신호의 제 2 프레임에 대한 결정 메트릭의 적어도 하나의 값을 계산하는 수단; 및
    상기 결정 메트릭의 상기 적어도 하나의 계산된 값에 기초하여, 복수의 재할당 후보들 중에서 하나를 선택하는 수단을 포함하고,
    계산된 상기 적어도 하나의 값은 상기 제 2 프레임의 압축가능성의 측정에 기초하며,
    선택된 상기 재할당 후보는 제 1 부분 및 제 2 부분으로의 상기 제 2 프레임에 대한 초기 비트 할당의 재할당을 나타내는, 오디오 신호를 프로세싱하는 장치.
  22. 제 21 항에 있어서,
    상기 장치는 상기 제 1 프레임이 상기 오디오 신호의 중요 프레임이라고 결정하는 수단을 포함하는, 오디오 신호를 프로세싱하는 장치.
  23. 제 22 항에 있어서,
    상기 제 1 프레임이 중요 프레임이라고 결정하는 것은 상기 제 1 프레임에 대해 상기 오디오 신호에서 후속하는 상기 오디오 신호의 프레임의 인코딩된 버전으로부터의 정보에 기초하는, 오디오 신호를 프로세싱하는 장치.
  24. 제 21 항에 있어서,
    상기 압축가능성의 측정은 상기 제 2 프레임의 서브프레임들 사이의 상관을 나타내는, 오디오 신호를 프로세싱하는 장치.
  25. 제 21 항에 있어서,
    상기 결정 메트릭의 적어도 하나의 값을 계산하는 수단은 상기 제 1 프레임에 대해 상기 오디오 신호에서 후속하는 상기 오디오 신호의 상이한 프레임에 각각 대응하는, 상기 결정 메트릭의 복수의 값들을 계산하도록 구성되고,
    상기 결정 메트릭의 상기 복수의 값들 각각은 대응하는 프레임의 압축가능성의 측정에 기초하며,
    상기 장치는, 상기 결정 메트릭의 상기 복수의 값들 중 적어도 일부에 기초하여, 상기 상이한 프레임들 중에서 상기 제 2 프레임을 선택하는 수단을 포함하는, 오디오 신호를 프로세싱하는 장치.
  26. 제 21 항에 있어서,
    상기 결정 메트릭의 상기 계산된 적어도 하나의 값은 상기 결정 메트릭의 계산된 값들의 세트를 포함하고,
    상기 계산된 값들의 세트의 각각은 상기 복수의 재할당 후보들 중 상이한 재할당 후보에 대응하며,
    상기 계산된 값들의 세트의 각각은 상기 복수의 재할당 후보들 중 대응하는 재할당 후보와 연관된 감지 품질의 측정에 기초하는, 오디오 신호를 프로세싱하는 장치.
  27. 제 21 항에 있어서,
    상기 결정 메트릭의 상기 계산된 적어도 하나의 값은 상기 결정 메트릭의 계산된 값들의 세트를 포함하고,
    상기 계산된 값들의 세트의 각각은 상기 복수의 재할당 후보들 중 상이한 재할당 후보에 대응하며,
    상기 적어도 하나의 계산된 값은 상이한 인코딩 레이트들에 대한 상기 제 2 프레임의 감지 품질의 측정들 사이의 관계에 기초하는, 오디오 신호를 프로세싱하는 장치.
  28. 제 21 항에 있어서,
    상기 장치는, 상기 복수의 재할당 후보들 중에서 하나를 선택하는 것에 응답하여, 상기 제 1 프레임의 중복적 카피 및 상기 제 2 프레임의 카피를 포함하는 패킷을 생성하는 수단을 포함하고,
    상기 제 2 프레임의 카피는 상기 제 1 부분으로 인코딩되며,
    상기 중복적 카피는 상기 제 2 부분으로 인코딩되는, 오디오 신호를 프로세싱하는 장치.
  29. 오디오 신호를 프로세싱하는 장치로서,
    상기 오디오 신호에서 상기 오디오 신호의 제 1 프레임에 후속하는 상기 오디오 신호의 제 2 프레임에 대한 결정 메트릭의 적어도 하나의 값을 계산하도록 구성된 계산기; 및
    상기 결정 메트릭의 상기 적어도 하나의 계산된 값에 기초하여, 복수의 재할당 후보들 중에서 하나를 선택하도록 구성된 선택기를 포함하고,
    상기 계산된 적어도 하나의 값은 상기 제 2 프레임의 압축가능성의 측정에 기초하며,
    상기 선택된 재할당 후보는 제 1 부분 및 제 2 부분으로의 상기 제 2 프레임에 대한 초기 비트 할당의 재할당을 나타내는, 오디오 신호를 프로세싱하는 장치.
  30. 제 29 항에 있어서,
    상기 장치는 상기 제 1 프레임이 상기 오디오 신호의 중요 프레임이라고 결정하도록 구성된 중요 프레임 표시기를 포함하는, 오디오 신호를 프로세싱하는 장치.
  31. 제 30 항에 있어서,
    상기 제 1 프레임이 중요 프레임이라고 결정하는 것은 상기 제 1 프레임에 대해 상기 오디오 신호에서 후속하는 상기 오디오 신호의 프레임의 인코딩된 버전으로부터의 정보에 기초하는, 오디오 신호를 프로세싱하는 장치.
  32. 제 29 항에 있어서,
    상기 압축가능성의 측정은 상기 제 2 프레임의 서브프레임들 사이의 상관을 나타내는, 오디오 신호를 프로세싱하는 장치.
  33. 제 29 항에 있어서,
    상기 계산기는 상기 제 1 프레임에 대해 상기 오디오 신호에서 후속하는 상기 오디오 신호의 상이한 프레임에 각각 대응하는, 상기 결정 메트릭의 복수의 값들을 계산하도록 구성되고,
    상기 결정 메트릭의 상기 복수의 값들 각각은 대응하는 프레임의 압축가능성의 측정에 기초하며,
    상기 선택기는, 상기 결정 메트릭의 상기 복수의 값들 중 적어도 일부에 기초하여, 상기 상이한 프레임들 중에서 상기 제 2 프레임을 선택하도록 구성되는, 오디오 신호를 프로세싱하는 장치.
  34. 제 29 항에 있어서,
    상기 결정 메트릭의 상기 계산된 적어도 하나의 값은 상기 결정 메트릭의 계산된 값들의 세트를 포함하고,
    상기 계산된 값들의 세트의 각각은 상기 복수의 재할당 후보들 중 상이한 재할당 후보에 대응하며,
    상기 계산된 값들의 세트의 각각은 상기 복수의 재할당 후보들 중 대응하는 재할당 후보와 연관된 감지 품질의 측정에 기초하는, 오디오 신호를 프로세싱하는 장치.
  35. 제 29 항에 있어서,
    상기 결정 메트릭의 상기 계산된 적어도 하나의 값은 상기 결정 메트릭의 계산된 값들의 세트를 포함하고,
    상기 계산된 값들의 세트의 각각은 상기 복수의 재할당 후보들 중 상이한 재할당 후보에 대응하며,
    상기 적어도 하나의 계산된 값은 상이한 인코딩 레이트들에 대한 상기 제 2 프레임의 감지 품질의 측정들 사이의 관계에 기초하는, 오디오 신호를 프로세싱하는 장치.
  36. 제 29 항에 있어서,
    상기 장치는, 상기 복수의 재할당 후보들 중에서 하나를 선택하는 것에 응답하여, 상기 제 1 프레임의 중복적 카피 및 상기 제 2 프레임의 카피를 포함하는 패킷을 생성하도록 구성된 패킷 어셈블러를 포함하고,
    상기 제 2 프레임의 카피는 상기 제 1 부분으로 인코딩되며,
    상기 중복적 카피는 상기 제 2 부분으로 인코딩되는, 오디오 신호를 프로세싱하는 장치.
  37. 유형의 특징들을 갖는 비일시적 컴퓨터 판독가능 데이터 저장 매체로서,
    상기 유형의 특징들은, 상기 유형의 특징들을 판독하는 머신으로 하여금,
    상기 오디오 신호에서 상기 오디오 신호의 제 1 프레임에 후속하는 상기 오디오 신호의 제 2 프레임에 대한 결정 메트릭의 적어도 하나의 값을 계산하게 하고;
    상기 결정 메트릭의 상기 적어도 하나의 계산된 값에 기초하여, 복수의 재할당 후보들 중에서 하나를 선택하게 하며;
    계산된 상기 적어도 하나의 값은 상기 제 2 프레임의 압축가능성의 측정에 기초하며,
    선택된 상기 재할당 후보는 제 1 부분 및 제 2 부분으로의 상기 제 2 프레임에 대한 초기 비트 할당의 재할당을 나타내는, 비일시적 컴퓨터 판독가능 데이터 저장 매체.
  38. 제 37 항에 있어서,
    상기 매체는, 상기 유형의 특징들을 판독하는 머신으로 하여금, 상기 제 1 프레임이 상기 오디오 신호의 중요 프레임이라고 결정하게 하는 유형의 특징들을 포함하고,
    상기 제 1 프레임이 중요 프레임이라고 결정하는 것은 상기 제 1 프레임에 대해 상기 오디오 신호에서 후속하는 상기 오디오 신호의 프레임의 인코딩된 버전으로부터의 정보에 기초하는, 비일시적 컴퓨터 판독가능 데이터 저장 매체.
  39. 제 37 항에 있어서,
    상기 압축가능성의 측정은 상기 제 2 프레임의 서브프레임들 사이의 상관을 나타내는, 비일시적 컴퓨터 판독가능 데이터 저장 매체.
  40. 제 37 항에 있어서,
    상기 매체는, 상기 유형의 특징들을 판독하는 머신으로 하여금, 상기 복수의 재할당 후보들 중에서 하나를 선택하는 것에 응답하여, 상기 제 1 프레임의 중복적 카피 및 상기 제 2 프레임의 카피를 포함하는 패킷을 생성하게 하는 유형의 특징들을 포함하고,
    상기 제 2 프레임의 카피는 상기 제 1 부분으로 인코딩되며,
    상기 중복적 카피는 상기 제 2 부분으로 인코딩되는, 비일시적 컴퓨터 판독가능 데이터 저장 매체.
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
KR1020147022450A 2012-01-12 2012-12-20 오디오 데이터의 중복적 송신에 대한 비트 할당을 위한 시스템, 방법들, 장치 및 컴퓨터 판독가능 매체 KR101585367B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201261586007P 2012-01-12 2012-01-12
US61/586,007 2012-01-12
US201261587507P 2012-01-17 2012-01-17
US61/587,507 2012-01-17
US201261641093P 2012-05-01 2012-05-01
US61/641,093 2012-05-01
US13/719,701 US9053702B2 (en) 2012-01-12 2012-12-19 Systems, methods, apparatus, and computer-readable media for bit allocation for redundant transmission
US13/719,701 2012-12-19
PCT/US2012/071015 WO2013106187A1 (en) 2012-01-12 2012-12-20 System, methods, apparatus, and computer-readable media for bit allocation for redundant transmission of audio data

Publications (2)

Publication Number Publication Date
KR20140111035A KR20140111035A (ko) 2014-09-17
KR101585367B1 true KR101585367B1 (ko) 2016-01-13

Family

ID=48780607

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147022449A KR101570631B1 (ko) 2012-01-12 2012-12-19 중요도 임계값 제어를 위한 시스템들, 방법들, 장치 및 컴퓨터 판독가능 매체
KR1020147022450A KR101585367B1 (ko) 2012-01-12 2012-12-20 오디오 데이터의 중복적 송신에 대한 비트 할당을 위한 시스템, 방법들, 장치 및 컴퓨터 판독가능 매체

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020147022449A KR101570631B1 (ko) 2012-01-12 2012-12-19 중요도 임계값 제어를 위한 시스템들, 방법들, 장치 및 컴퓨터 판독가능 매체

Country Status (13)

Country Link
US (2) US9047863B2 (ko)
EP (2) EP2812895B1 (ko)
JP (3) JP2015510313A (ko)
KR (2) KR101570631B1 (ko)
CN (2) CN104040622B (ko)
BR (2) BR112014017120B1 (ko)
DK (2) DK2812895T3 (ko)
ES (2) ES2653949T3 (ko)
HU (2) HUE037362T2 (ko)
IN (1) IN2014CN04644A (ko)
SI (1) SI2803065T1 (ko)
TW (1) TWI499247B (ko)
WO (2) WO2013106181A1 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047863B2 (en) 2012-01-12 2015-06-02 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for criticality threshold control
US9178778B2 (en) 2012-03-23 2015-11-03 Avaya Inc. System and method for end-to-end RTCP
US9356917B2 (en) 2012-03-23 2016-05-31 Avaya Inc. System and method for end-to-end encryption and security indication at an endpoint
US9860296B2 (en) 2012-03-23 2018-01-02 Avaya Inc. System and method for end-to-end call quality indication
EP2950459B1 (en) * 2012-04-11 2019-10-02 Huawei Technologies Co., Ltd. Method and apparatus for configuring transmission mode
WO2014094204A1 (en) * 2012-12-17 2014-06-26 Intel Corporation Leveraging encoder hardware to pre-process video content
TWI528777B (zh) * 2012-12-28 2016-04-01 鴻海精密工業股份有限公司 音量調節方法與系統
US9831898B2 (en) * 2013-03-13 2017-11-28 Analog Devices Global Radio frequency transmitter noise cancellation
FR3007230B1 (fr) 2013-06-17 2015-07-31 Sdmo Ind Procede de communication dans un reseau interconnectant au moins deux groupes electrogenes, et dispositif d’interfacage correspondant.
US10614816B2 (en) * 2013-10-11 2020-04-07 Qualcomm Incorporated Systems and methods of communicating redundant frame information
NO2780522T3 (ko) * 2014-05-15 2018-06-09
GB2527365B (en) 2014-06-20 2018-09-12 Starleaf Ltd A telecommunication end-point device data transmission controller
US9984699B2 (en) 2014-06-26 2018-05-29 Qualcomm Incorporated High-band signal coding using mismatched frequency ranges
US9680507B2 (en) * 2014-07-22 2017-06-13 Qualcomm Incorporated Offset selection for error correction data
US9712287B2 (en) 2014-07-31 2017-07-18 Qualcomm Incorporated System and method of redundancy based packet transmission error recovery
TWI602172B (zh) * 2014-08-27 2017-10-11 弗勞恩霍夫爾協會 使用參數以加強隱蔽之用於編碼及解碼音訊內容的編碼器、解碼器及方法
WO2016144246A1 (en) * 2015-03-12 2016-09-15 Telefonaktiebolaget Lm Ericsson (Publ) Rate control in circuit switched systems
US9948578B2 (en) * 2015-04-14 2018-04-17 Qualcomm Incorporated De-jitter buffer update
US20160323425A1 (en) * 2015-04-29 2016-11-03 Qualcomm Incorporated Enhanced voice services (evs) in 3gpp2 network
IL239333B (en) * 2015-06-10 2020-06-30 Elta Systems Ltd A system for creating, transmitting and receiving additional signals and the useful methods by the way
KR102420450B1 (ko) 2015-09-23 2022-07-14 삼성전자주식회사 음성인식장치, 음성인식방법 및 컴퓨터 판독가능 기록매체
US10504525B2 (en) * 2015-10-10 2019-12-10 Dolby Laboratories Licensing Corporation Adaptive forward error correction redundant payload generation
US10049681B2 (en) * 2015-10-29 2018-08-14 Qualcomm Incorporated Packet bearing signaling information indicative of whether to decode a primary coding or a redundant coding of the packet
US10049682B2 (en) * 2015-10-29 2018-08-14 Qualcomm Incorporated Packet bearing signaling information indicative of whether to decode a primary coding or a redundant coding of the packet
EP3427258B1 (en) 2016-03-07 2021-03-31 Fraunhofer Gesellschaft zur Förderung der Angewand Error concealment unit, audio decoder, and related method and computer program using characteristics of a decoded representation of a properly decoded audio frame
CA3016949C (en) 2016-03-07 2021-08-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Error concealment unit, audio decoder, and related method and computer program fading out a concealed audio frame out according to different damping factors for different frequency bands
CN107528668B (zh) * 2016-06-21 2021-09-24 中兴通讯股份有限公司 一种数据传输方法及设备
CN107845385B (zh) * 2016-09-19 2021-07-13 南宁富桂精密工业有限公司 信息隐藏的编解码方法及系统
KR102214440B1 (ko) * 2016-10-07 2021-02-09 삼성전자주식회사 통화 기능을 수행하는 단말 장치 및 방법
US11088941B2 (en) * 2017-03-23 2021-08-10 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for transmitting data, terminal device, and network device
US10574830B2 (en) * 2017-06-05 2020-02-25 Qualcomm Incoporated Methods for increasing VoIP network coverage
US10645228B2 (en) * 2017-06-26 2020-05-05 Apple Inc. Adaptability in EVS codec to improve power efficiency
CN109286952B (zh) * 2017-07-19 2022-08-02 中兴通讯股份有限公司 数据传输方法、装置及存储介质
CN108764469A (zh) * 2018-05-17 2018-11-06 普强信息技术(北京)有限公司 一种降低神经网络所需功耗的方法和设备
US11456007B2 (en) 2019-01-11 2022-09-27 Samsung Electronics Co., Ltd End-to-end multi-task denoising for joint signal distortion ratio (SDR) and perceptual evaluation of speech quality (PESQ) optimization
EP4035288A1 (en) 2019-09-25 2022-08-03 Mixhalo Corp. Packet payload mapping for robust transmission of data
CN110890945B (zh) * 2019-11-20 2022-02-22 腾讯科技(深圳)有限公司 数据传输方法、装置、终端及存储介质
CN112820306B (zh) * 2020-02-20 2023-08-15 腾讯科技(深圳)有限公司 语音传输方法、系统、装置、计算机可读存储介质和设备
CN112767955B (zh) * 2020-07-22 2024-01-23 腾讯科技(深圳)有限公司 音频编码方法及装置、存储介质、电子设备
JP2024022698A (ja) * 2020-10-30 2024-02-21 株式会社Preferred Networks 通信装置及び通信方法
US20230073839A1 (en) * 2021-09-09 2023-03-09 Toyota Motor North America, Inc. Hardware timer data expiration

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1441532A2 (en) 2002-12-20 2004-07-28 Oplayo Oy Buffering arrangement

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69528255T2 (de) 1994-04-08 2003-08-07 Echelon Corp Verfahren und gerät zur sicheren winkelmodulationsbasierten kommunikation
TW271524B (ko) * 1994-08-05 1996-03-01 Qualcomm Inc
US5732389A (en) 1995-06-07 1998-03-24 Lucent Technologies Inc. Voiced/unvoiced classification of speech for excitation codebook selection in celp speech decoding during frame erasures
JP3254126B2 (ja) * 1996-02-13 2002-02-04 株式会社日立国際電気 可変レート符号化方式
FI116181B (fi) * 1997-02-07 2005-09-30 Nokia Corp Virheenkorjausta ja virheentunnistusta hyödyntävä informaationkoodausm enetelmä ja laitteet
US6405338B1 (en) 1998-02-11 2002-06-11 Lucent Technologies Inc. Unequal error protection for perceptual audio coders
US6445686B1 (en) * 1998-09-03 2002-09-03 Lucent Technologies Inc. Method and apparatus for improving the quality of speech signals transmitted over wireless communication facilities
US20010041981A1 (en) * 2000-02-22 2001-11-15 Erik Ekudden Partial redundancy encoding of speech
JP2002314597A (ja) * 2001-04-09 2002-10-25 Mitsubishi Electric Corp 音声パケット通信装置
JP4022427B2 (ja) * 2002-04-19 2007-12-19 独立行政法人科学技術振興機構 エラー隠蔽方法、エラー隠蔽プログラム、送信装置、受信装置及びエラー隠蔽装置
WO2004095825A2 (en) * 2003-04-21 2004-11-04 Rgb Networks, Inc. Time-multiplexed multi-program encryption system
US7546508B2 (en) 2003-12-19 2009-06-09 Nokia Corporation Codec-assisted capacity enhancement of wireless VoIP
US7668712B2 (en) * 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
DE602004004376T2 (de) 2004-05-28 2007-05-24 Alcatel Anpassungsverfahren für ein Mehrraten-Sprach-Codec
CN101292459B (zh) 2005-10-17 2011-06-08 艾利森电话股份有限公司 用于估计语音质量的方法和设备
US8255207B2 (en) 2005-12-28 2012-08-28 Voiceage Corporation Method and device for efficient frame erasure concealment in speech codecs
US20080077410A1 (en) 2006-09-26 2008-03-27 Nokia Corporation System and method for providing redundancy management
TWI382657B (zh) 2007-03-01 2013-01-11 Princeton Technology Corp 音訊處理系統
WO2008119043A1 (en) 2007-03-27 2008-10-02 Armida Technologies Wireless integrated security controller
CN101072083A (zh) * 2007-06-04 2007-11-14 深圳市融合视讯科技有限公司 一种优化网络数据传输冗余纠错率的方法
US8352252B2 (en) 2009-06-04 2013-01-08 Qualcomm Incorporated Systems and methods for preventing the loss of information within a speech frame
EP2346028A1 (en) 2009-12-17 2011-07-20 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. An apparatus and a method for converting a first parametric spatial audio signal into a second parametric spatial audio signal
US9047863B2 (en) 2012-01-12 2015-06-02 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for criticality threshold control

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1441532A2 (en) 2002-12-20 2004-07-28 Oplayo Oy Buffering arrangement

Also Published As

Publication number Publication date
US20130185062A1 (en) 2013-07-18
BR112014017119A2 (pt) 2017-06-13
US20130185084A1 (en) 2013-07-18
BR112014017120A8 (pt) 2017-07-04
WO2013106181A1 (en) 2013-07-18
EP2803065B1 (en) 2017-01-18
SI2803065T1 (sl) 2017-03-31
EP2812895B1 (en) 2017-11-01
US9047863B2 (en) 2015-06-02
CN104040622A (zh) 2014-09-10
KR20140111035A (ko) 2014-09-17
BR112014017120B1 (pt) 2021-06-15
HUE037362T2 (hu) 2018-08-28
TW201338468A (zh) 2013-09-16
JP5996670B2 (ja) 2016-09-21
ES2621417T3 (es) 2017-07-04
BR112014017119A8 (pt) 2017-07-04
DK2812895T3 (en) 2018-01-08
US9053702B2 (en) 2015-06-09
WO2013106187A1 (en) 2013-07-18
JP2015510313A (ja) 2015-04-02
HUE032016T2 (en) 2017-08-28
BR112014017119B1 (pt) 2020-12-22
CN104040621A (zh) 2014-09-10
JP2015507221A (ja) 2015-03-05
EP2812895A1 (en) 2014-12-17
CN104040622B (zh) 2017-08-11
TWI499247B (zh) 2015-09-01
BR112014017120A2 (pt) 2017-06-13
EP2803065A1 (en) 2014-11-19
CN104040621B (zh) 2017-06-30
JP6151405B2 (ja) 2017-06-21
IN2014CN04644A (ko) 2015-09-18
ES2653949T3 (es) 2018-02-09
KR20140119735A (ko) 2014-10-10
JP2016174383A (ja) 2016-09-29
KR101570631B1 (ko) 2015-11-19
DK2803065T3 (en) 2017-03-13

Similar Documents

Publication Publication Date Title
KR101585367B1 (ko) 오디오 데이터의 중복적 송신에 대한 비트 할당을 위한 시스템, 방법들, 장치 및 컴퓨터 판독가능 매체
JP6546897B2 (ja) マルチレート・スピーチ/オーディオ・コーデックのためのフレーム損失隠匿について符号化を実行する方法
KR101076251B1 (ko) 활성 프레임의 광대역 인코딩 및 디코딩을 위한 시스템, 방법 및 장치
US20200194010A1 (en) Systems and methods of communicating redundant frame information

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 4