KR101760588B1 - 평균 인코딩 레이트를 제어하는 시스템 및 방법들 - Google Patents

평균 인코딩 레이트를 제어하는 시스템 및 방법들 Download PDF

Info

Publication number
KR101760588B1
KR101760588B1 KR1020157025602A KR20157025602A KR101760588B1 KR 101760588 B1 KR101760588 B1 KR 101760588B1 KR 1020157025602 A KR1020157025602 A KR 1020157025602A KR 20157025602 A KR20157025602 A KR 20157025602A KR 101760588 B1 KR101760588 B1 KR 101760588B1
Authority
KR
South Korea
Prior art keywords
rate
threshold
frame
average
determining
Prior art date
Application number
KR1020157025602A
Other languages
English (en)
Other versions
KR20150120463A (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 KR20150120463A publication Critical patent/KR20150120463A/ko
Application granted granted Critical
Publication of KR101760588B1 publication Critical patent/KR101760588B1/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
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding

Landscapes

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

Abstract

전자 디바이스에 의해 평균 인코딩 레이트를 제어하는 방법이 설명된다. 그 방법은 스피치 신호를 획득하는 단계를 포함한다. 그 방법은 또한 제 1 평균 레이트를 결정하는 단계를 포함한다. 그 방법은 상기 제 1 평균 레이트에 기초하여 제 1 임계를 결정하는 단계를 더 포함한다. 그 방법은 제 1 임계에 기초하여 적어도 하나의 다른 임계를 결정함으로써 평균 인코딩 레이트를 제어하는 단계를 부가적으로 포함한다. 그 방법은 인코딩된 스피치 신호를 전송하는 단계를 또한 포함한다.

Description

평균 인코딩 레이트를 제어하는 시스템 및 방법들{SYSTEMS AND METHODS FOR CONTROLLING AN AVERAGE ENCODING RATE}
관련 출원들
본 출원은 "SYSTEMS AND METHODS FOR CONTROLLING AN AVERAGE RATE" 에 대해 2013년 2월 21일자로 출원된 미국 특허 가출원 제61/767,439호에 관련되고 그것을 우선권 주장한다.
기술분야
본 개시물은 대체로 전자 디바이스들에 관한 것이다. 더 구체적으로는, 본 개시물은 평균 인코딩 레이트를 제어하는 시스템들 및 방법들에 관한 것이다.
지난 수십 년 간, 전자 디바이스들의 사용은 흔한 일이 되었다. 특히, 전자 기술의 발달이 점점 더 복잡하고 유용한 전자 디바이스들의 단가를 낮추었다. 비용 절감과 소비자 수요는 전자 디바이스들이 현대 사회에서 실제로 어디에나 있도록 그것들의 사용을 확산시켰다. 전자 디바이스들의 사용이 확대됨에 따라, 전자 디바이스들의 새롭고 개량된 특징들이 요구되고 있다. 더 구체적으로는, 새로운 기능들을 수행하는 및/또는 기능들을 더 빠르게, 더 효율적으로 또는 더 높은 품질로 수행하는 전자 디바이스들이 종종 요구되고 있다.
일부 전자 디바이스들 (예컨대, 셀룰러 폰들, 스마트폰들, 오디오 레코더들, 캠코더들, 컴퓨터들 등) 이 오디오 신호들을 이용한다. 이들 전자 디바이스들은 오디오 신호들을 인코딩, 저장 및/또는 송신할 수도 있다. 예를 들어, 스마트폰이 전화 통화를 위한 스피치 신호를 획득, 인코딩 및 송신할 수도 있는 반면, 다른 스마트폰은 스피치 신호를 수신 및 디코딩할 수도 있다.
그러나, 특정 도전과제들이 오디오 신호들의 인코딩, 송신 및/또는 디코딩에서 발생한다. 예를 들어, 전자 디바이스가 바람직하지 않은 레이트에서 오디오 신호를 인코딩할 수도 있는데, 이 오디오 신호는 너무 많은 송신 대역폭을 차지할 수도 있다. 이 논의로부터 관찰될 수 있듯이, 인코딩을 개선하는 시스템들 및 방법들이 유익할 수도 있다.
전자 디바이스에 의해 평균 인코딩 레이트를 제어하는 방법이 설명된다. 그 방법은 스피치 신호를 획득하는 단계를 포함한다. 그 방법은 또한 제 1 평균 레이트를 결정하는 단계를 포함한다. 그 방법은 제 1 평균 레이트에 기초하여 제 1 임계를 결정하는 단계를 더 포함한다. 그 방법은 제 1 임계에 기초하여 적어도 하나의 다른 임계를 결정함으로써 평균 인코딩 레이트를 제어하는 단계를 부가적으로 포함한다. 그 방법은 인코딩된 스피치 신호를 전송하는 단계를 또한 포함한다. 제 1 임계는 프레임을 깨끗한 프레임 또는 잡음성 프레임으로서 분류할 수도 있다. 적어도 하나의 다른 임계는 임계 세트일 수도 있다.
평균 인코딩 레이트를 제어하는 단계는 프레임 패턴을 결정하는 단계를 또한 포함할 수도 있다. 제 1 프레임 패턴이 로우 레이트 프레임들 간에 하이 레이트 프레임들의 최소 수를 필요로 할 수도 있고 제 2 프레임 패턴이 하이 레이트 프레임들 간에 로우 레이트 프레임들의 최대 수만을 허용할 수도 있다.
적어도 하나의 다른 임계를 결정하는 것은 메트릭에 추가로 기초할 수도 있다. 적어도 하나의 다른 임계를 결정하는 것은 메트릭이 제 1 임계보다 크지 않으면 제 1 임계 세트를 선택하는 것과 메트릭이 제 1 임계보다 더 크면 제 2 임계 세트를 선택하는 것을 포함할 수도 있다. 제 1 임계 세트는 제 1 프레임 조정 임계 세트일 수도 있고 제 2 임계 세트는 제 2 프레임 조정 임계 세트일 수도 있다.
평균 인코딩 레이트를 제어하는 단계는 제 1 평균 레이트에 기초하여 제 1 임계를 조정하는 단계를 포함할 수도 있다. 평균 인코딩 레이트를 제어하는 단계는 제 1 평균 레이트에 기초하여 적어도 하나의 유성화 (voicing) 임계를 조정하는 단계를 포함할 수도 있다. 적어도 하나의 유성화 임계를 조정하는 단계는 유성화 임계 세트를 선택하는 단계를 포함할 수도 있다.
평균 인코딩 레이트를 제어하는 전자 디바이스가 또한 설명된다. 그 전자 디바이스는 제 1 평균 레이트를 결정하는 평균 레이트 결정 회로를 구비한다. 전자 디바이스는 제 1 평균 레이트에 기초하여 제 1 임계를 결정하는 임계 결정 회로를 또한 포함한다. 전자 디바이스는 평균 레이트 결정 회로와 임계 결정 회로를 구비하는 인코딩 레이트 제어기 회로를 더 포함한다. 인코딩 레이트 제어기는 제 1 임계에 기초하여 적어도 하나의 다른 임계를 결정함으로써 평균 인코딩 레이트를 제어한다.
평균 인코딩 레이트를 제어하는 컴퓨터 프로그램 제품이 또한 설명된다. 그 컴퓨터 프로그램 제품은 명령들을 갖는 비일시적 유형의 컴퓨터 판독가능 매체를 포함한다. 그 명령들은 전자 디바이스로 하여금 스피치 신호를 획득하게 코드를 포함한다. 그 명령들은 전자 디바이스로 하여금 제 1 평균 레이트를 결정하게 하는 코드를 또한 포함한다. 그 명령들은 전자 디바이스로 하여금 제 1 평균 레이트에 기초하여 제 1 임계를 결정하게 하는 코드를 더 포함한다. 그 명령들은 전자 디바이스로 하여금 제 1 임계에 기초하여 적어도 하나의 다른 임계를 결정함으로써 평균 인코딩 레이트를 제어하게 하는 코드를 부가적으로 포함한다. 그 명령들은 전자 디바이스로 인코딩된 스피치 신호를 전송하게 하는 코드를 또한 포함한다.
평균 인코딩 레이트를 제어하는 장치가 또한 설명된다. 그 장치는 스피치 신호를 획득하는 수단을 구비한다. 그 장치는 제 1 평균 레이트를 결정하는 수단을 또한 포함한다. 그 장치는 제 1 평균 레이트에 기초하여 제 1 임계를 결정하는 수단을 더 포함한다. 그 장치는 제 1 임계에 기초하여 적어도 하나의 다른 임계를 결정함으로써 평균 인코딩 레이트를 제어하는 수단을 부가적으로 포함한다. 그 장치는 인코딩된 스피치 신호를 전송하는 수단을 또한 구비한다.
도 1은 인코더 및 디코더의 일반적인 예를 도시하는 블록도이다;
도 2는 인코더 및 디코더의 기본 구현의 일 예를 도시하는 블록도이다.
도 3은 평균 인코딩 레이트를 제어하는 시스템들 및 방법들이 구현될 수도 있는 전자 디바이스의 하나의 구성을 예시하는 블록도이다;
도 4는 평균 인코딩 레이트를 제어하는 방법의 하나의 구성을 예시하는 흐름도이다;
도 5는 제 1 임계 및 메트릭에 기초하여 적어도 하나의 다른 임계를 결정하는 방법의 하나의 구성을 예시하는 흐름도이다;
도 6은 평균 인코딩 레이트를 제어하는 방법의 더 구체적인 구성을 예시하는 흐름도이다;
도 7은 평균 인코딩 레이트를 감소시키는 방법의 하나의 구성을 예시하는 흐름도이다;
도 8은 평균 인코딩 레이트를 증가시키는 방법의 하나의 구성을 예시하는 흐름도이다;
도 9는 유성화 임계 세트들의 예들을 도시하는 도면이다;
도 10은 인코딩 레이트 제어기의 하나의 구성을 도시하는 블록도이다;
도 11은 평균 인코딩 레이트를 제어하는 방법의 더 구체적인 다른 구성을 예시하는 흐름도이다;
도 12는 무선 통신 디바이스의 하나의 구성을 도시하는 블록도이다; 그리고
도 13은 전자 디바이스에서 이용될 수도 있는 다양한 컴포넌트들을 예시한다.
다양한 구성들이 도면들을 참조하여 이제 설명될 것인데, 유사한 참조 번호들은 기능적으로 유사한 엘리먼트들을 나타낼 수도 있다. 본원의 도면들에서 대체로 예시되고 설명되는 바와 같은 시스템들 및 방법들은 매우 다양한 상이한 구성들로 배열되고 설계될 수 있다. 그래서, 여러 구성들의 다음의 더 상세한 설명은, 도면들에서 나타내어진 바와 같이, 청구된 바와 같이 범위를 제한하는 의도는 아니고 단지 시스템들 및 방법들을 대표할 뿐이다.
도 1은 인코더 (104) 및 디코더 (108) 의 일반적인 예를 도시하는 블록도이다. 인코더 (104) 는 스피치 신호 (102) 를 수신한다. 스피치 신호 (102) 는 임의의 주파수 범위에서의 스피치 신호일 수도 있다. 예를 들어, 스피치 신호 (102) 는 0~24 킬로헤르츠 (kHz) 의 근사 주파수 범위를 갖는 전체 대역 신호, 0~16 kHz의 근사 주파수 범위를 갖는 초광대역 신호, 0~8 kHz의 근사 주파수 범위를 갖는 광대역 신호 또는 0~4 kHz의 근사 주파수 범위를 갖는 협대역 신호일 수도 있다. 스피치 신호 (102) 에 대한 다른 가능한 주파수 범위들이 300~3400 Hz (예컨대, 공중전화 교환망 (Public Switched Telephone Network, PSTN) 의 주파수 범위), 14~20 kHz, 16~20 kHz 및 16~32 kHz를 포함한다. 일부 구성들에서, 스피치 신호 (102) 는 16 kHz에서 샘플링될 수도 있고 0~8 kHz의 근사 주파수 범위를 가질 수도 있다.
인코더 (104) 는 인코딩된 스피치 신호 (106) 를 생성하기 위해 스피치 신호 (102) 를 인코딩한다. 대체로, 인코딩된 스피치 신호 (106) 는 스피치 신호 (102) 를 나타내는 하나 이상의 파라미터들을 포함한다. 파라미터들 중 하나 이상은 양자화될 수도 있다. 하나 이상의 파라미터들의 예들은, 필터 파라미터들 (예컨대, 가중 계수들, 선 스펙트럼 주파수들 (line spectral frequencies; LSF들), 선 스펙트럼 쌍들 (line spectral pairs, LSP들), 이미턴스 스펙트럼 주파수들 (immittance spectral frequencies, ISF들), 이미턴스 스펙트럼 쌍들 (immittance spectral pairs, ISP들), 부분적 상관 (partial correlation, PARCOR) 계수들, 반사 계수들 및/또는 로그-영역-비율 값들 등) 과 인코딩된 여기 신호에 포함된 파라미터들 (예컨대, 이득 팩터들, 피치 랙 (pitch lag), (양자화된) 진폭 정보, (양자화된) 위상 정보, 적응적 코드북 인덱스들, 적응적 코드북 이득들, 고정 코드북 인덱스들 및/또는 고정 코드북 이득들 등) 을 포함한다. 파라미터들은 하나 이상의 주파수 대역들에 대응할 수도 있다. 디코더 (108) 는 디코딩된 스피치 신호 (110) 를 생성하기 위해 인코딩된 스피치 신호 (106) 를 디코딩한다. 예를 들어, 디코더 (108) 는 인코딩된 스피치 신호 (106) 에 포함된 하나 이상의 파라미터들에 기초하여 디코딩된 스피치 신호 (110) 를 구축한다. 디코딩된 스피치 신호 (110) 는 원래의 스피치 신호 (102) 의 근사 재생물일 수도 있다.
인코더 (104) 는 하드웨어 (예컨대, 회로), 소프트웨어 또는 양자 모두의 조합으로 구현될 수도 있다. 예를 들어, 인코더 (104) 는 주문형 집적회로 (ASIC) 로서 또는 명령들을 갖는 프로세서로서 구현될 수도 있다. 마찬가지로, 디코더 (108) 는 하드웨어 (예컨대, 회로), 소프트웨어 또는 양자 모두의 조합에서 구현될 수도 있다. 예를 들어, 디코더 (108) 는 주문형 집적회로 (ASIC) 로서 또는 명령들을 갖는 프로세서로서 구현될 수도 있다. 인코더 (104) 와 디코더 (108) 는 별개의 전자 디바이스들 상에 또는 동일한 전자 디바이스 상에 구현될 수도 있다.
일부 구성들에서, 인코더 (104) 및/또는 디코더 (108) 는, 합성 필터를 통해 여기 신호를 통과시켜 합성된 스피치 출력 (예컨대, 디코딩된 스피치 신호 (110)) 를 생성함으로써 스피치 합성이 행해지는 스피치 코딩 시스템에 포함될 수도 있다. 이러한 시스템에서, 인코더 (104) 가 스피치 신호 (102) 를 수신한 다음, 스피치 신호 (102) 를 프레임들 (예컨대, 20 밀리초 (ms) 프레임들) 로 윈도잉 (windowing) 하고, 합성 필터 파라미터들과, 대응하는 여기 신호를 생성하는데 필요한 파라미터들을 생성한다. 이들 파라미터들은 디코더 (108) 에 인코딩된 스피치 신호 (106) 로서 송신될 수도 있다. 디코더 (108) 는 이들 파라미터들을 사용하여 합성 필터 (예컨대, 1/A(z)) 및 대응하는 여기 신호를 생성할 수도 있고 합성 필터를 통해 여기 신호를 통과시켜 디코딩된 스피치 신호 (110) 를 생성할 수도 있다. 도 1은 이러한 스피치 인코더/디코더 시스템의 단순화된 블록도일 수도 있다.
도 2는 인코더 (204) 및 디코더 (208) 의 기본 구현의 일 예를 도시하는 블록도이다. 인코더 (204) 는 도 1에 관련하여 설명된 인코더 (104) 의 하나의 예일 수도 있다. 인코더 (204) 는 분석 모듈 (212), 계수 변환부 (214), 양자화기 A (216), 역 양자화기 A (218), 역 계수 변환부 A (220), 분석 필터 (222) 및 양자화기 B (224) 를 구비할 수도 있다. 인코더 (204) 및/또는 디코더 (208) 의 컴포넌트들 중의 하나 이상은 하드웨어 (예컨대, 회로), 소프트웨어 또는 양자 모두의 조합으로 구현될 수도 있다.
인코더 (204) 는 스피치 신호 (202) 를 수신한다. 스피치 신호 (202) 는 도 1에 관련하여 위에서 설명된 바와 같은 임의의 주파수 범위 (예컨대, 스피치 주파수들의 전체 대역 또는 스피치 주파수들의 서브대역) 를 포함할 수도 있다는 것에 주의해야 한다.
이 예에서, 분석 모듈 (212) 은 스피치 신호 (202) 의 스펙트럼 엔벨로프를 선형 예측 (LP) 계수들의 세트 (예컨대, 분석 필터 계수들 A(z), 이는 올-폴 (all-pole) 합성 필터 1/A(z) 을 생성하기 위해 적용될 수도 있으며, 여기서 z는 복소수임) 로서 인코딩한다. 분석 모듈 (212) 은 입력 신호를, 계수들의 새로운 세트가 각각의 프레임 또는 서브프레임에 대해 계산되는, 스피치 신호 (202) 의 일련의 비중첩 프레임들로서 통상 프로세싱한다. 일부 구성들에서, 프레임 기간은 스피치 신호 (202) 가 국소적으로 변하지 않을 것으로 예상될 수도 있는 기간일 수도 있다. 프레임 기간의 하나의 공통 예는 20 ms (예를 들어, 8 kHz의 샘플링 레이트에서 160 개 샘플들에 해당함) 이다. 하나의 예에서, 분석 모듈 (212) 은 각각의 20 ms 프레임의 포먼트 (formant) 구조를 특징화하기 위해 10 개의 선형 예측 계수들의 세트를 계산하도록 구성된다. 스피치 신호 (202) 를 일련의 중첩 프레임들로서 프로세싱하기 위해 분석 모듈 (212) 을 구현하는 것이 또한 가능하다.
분석 모듈 (212) 은 각각의 프레임의 샘플들을 직접적으로 분석하도록 구성될 수도 있거나, 또는 샘플들은 윈도잉 함수 (예컨대, 해밍 (Hamming) 윈도우) 에 따라 먼저 가중될 수도 있다. 분석은 그 프레임보다 더 큰 윈도우, 이를테면 30 ms 윈도우에 걸쳐 또한 수행될 수도 있다. 이 윈도우는 대칭 (예컨대, 5-20-5이며 그래서 20 ms 프레임 직전 및 직후의 5 밀리초들을 포함함) 또는 비대칭 (예컨대, 10~20이며 그래서 선행 프레임의 마지막 10 ms를 포함함) 일 수도 있다. 분석 모듈 (212) 은 레빈슨-더빈 (Levinson-Durbin) 재귀 또는 르루-구에구엔 (Leroux-Gueguen) 알고리즘을 사용하여 선형 예측 계수들을 계산하도록 통상 구성된다. 다른 구현예에서, 분석 모듈 (212) 은 선형 예측 계수들의 세트 대신에 각각의 프레임에 대한 켑스트럼 계수 (cepstral coefficient) 들의 세트를 계산하도록 구성될 수도 있다.
인코더 (204) 의 출력 레이트는 그 계수들을 양자화함으로써 재생 품질에 대해 비교적 적은 영향으로 상당히 감소될 수도 있다. 선형 예측 계수들은 효율적으로 양자화하기가 어렵고 양자화 및/또는 엔트로피 인코딩을 위해 LSF들와 같은 다른 표현으로 보통은 매핑된다. 도 2의 예에서, 계수 변환 (214) 은 계수들의 세트를 대응하는 LSF 벡터 (예컨대, LSF들의 세트) 로 변환한다. 계수들의 다른 일 대 일 표현들은 LSP들, PARCOR 계수들, 반사 계수들, 로그-영역-비율 값들, ISP들 및 ISF들을 포함한다. 예를 들어, ISF들은 GSM (Global System for Mobile Communications) AMR-WB (Adaptive Multirate-Wideband) 코덱에서 사용될 수도 있다. 편의를 위해, "선 스펙트럼 주파수들", "LSF들", "LSF 벡터들"이란 용어들 및 관련된 용어들은 LSF들, LSP들, ISF들, ISP들, PARCOR 계수들, 반사 계수들 및 로그-영역-비율 값들 중 하나 이상을 지칭하는데 사용될 수도 있다. 통상, 계수들의 세트 및 대응하는 LSF 벡터 간의 변환이 가역적이지만, 일부 구성들은 변환이 에러 없이는 가역적이지 않은 인코더 (204) 의 구현예들을 포함할 수도 있다.
양자화기 A (216) 는 LSF 벡터 (또는 다른 계수 표현) 를 양자화하도록 구성된다. 인코더 (204) 는 이 양자화의 결과를 필터 파라미터들 (228) 로서 출력할 수도 있다. 양자화기 A (216) 는 입력 벡터 (예컨대, LSF 벡터) 를 테이블 또는 코드북에서의 대응하는 벡터 엔트리에 대한 인덱스로서 인코딩하는 벡터 양자화기를 통상 포함한다.
도 2에 도시된 바와 같이, 인코더 (204) 는 계수들의 세트에 따라 구성되는 분석 필터 (222) (또한 백화 (whitening) 또는 예측 에러 필터라고 지칭됨) 를 통해 스피치 신호 (202) 를 통과시킴으로써 잔여 신호를 또한 생성한다. 분석 필터 (222) 는 유한 임펄스 응답 (finite impulse response, FIR) 필터 또는 무한 임펄스 응답 (infinite impulse response, IIR) 필터로서 구현될 수도 있다. 이 잔여 신호는 필터 파라미터들 (228) 에서 표현되지 않는, 피치에 관련한 장기 구조와 같은 스피치 프레임의 인지적으로 중요한 정보를 통상 포함한다. 양자화기 B (224) 가 이 잔여 신호의 양자화된 표현을 인코딩된 여기 신호 (226) 로서의 출력을 위해 계산하도록 구성된다. 일부 구성들에서, 양자화기 B (224) 는 입력 벡터를 테이블 또는 코드북에서의 대응하는 벡터 엔트리에 대한 인덱스로서 인코딩하는 벡터 양자화기를 포함한다. 부가적으로 또는 대안으로, 양자화기 B (224) 는, 벡터가, 희박 (sparse) 코드북 방법에서처럼 스토리지로부터 취출되기보다는, 디코더 (208) 에서 동적으로 생성될 수도 있게 하는 하나 이상의 파라미터들을 전송하도록 구성될 수도 있다. 이러한 방법은 ACELP (algebraic code-excited linear prediction) 와 같은 코딩 체계들과 3GPP2 (Third Generation Partnership 2) EVRC (Enhanced Variable Rate Codec) 와 같은 코덱들에서 사용된다. 일부 구성들에서, 인코딩된 여기 신호 (226) 와 필터 파라미터들 (228) 은 인코딩된 스피치 신호 (106) 에 포함될 수도 있다.
인코딩된 여기 신호 (226) 를 대응 디코더 (208) 에 이용가능할 동일한 필터 파라미터 값들에 따라 생성하는 것이 인코더 (204) 에 유익할 수도 있다. 이러한 방식으로, 결과적인 인코딩된 여기 신호 (226) 는 그들 파라미터 값들에서 양자화 에러와 같은 비이상성들을 어느 정도 미리 감안할 수도 있다. 따라서, 디코더 (208) 에서 이용가능할 동일한 계수 값들을 사용하여 분석 필터 (222) 를 구성하는 것이 유익할 수도 있다. 도 2에 예시된 바와 같은 인코더 (204) 의 기본적인 예에서, 역 양자화기 A (218) 가 필터 파라미터들 (228) 을 역양자화한다. 역 계수 변환부 A (220) 가 결과적인 값들을 다시 계수들의 대응 세트에 매핑한다. 계수들의 이 세트는 양자화기 B (224) 에 의해 양자화되는 잔여 신호를 생성하기 위해 분석 필터 (222) 를 구성하는데 사용된다.
인코더 (204) 의 일부 구현예들은 코드북 벡터들의 세트 중 잔여 신호에 최상으로 매칭되는 코드북 벡터를 식별함으로써 인코딩된 여기 신호 (226) 를 계산하도록 구성된다. 그러나, 인코더 (204) 는 잔여 신호를 실제로 생성하는 일 없이 잔여 신호의 양자화된 표현을 계산하도록 또한 구현될 수도 있다는 점에 주의한다. 예를 들어, 인코더 (204) 는 다수의 코드북 벡터들을 사용하여 대응하는 합성된 신호들을 (예를 들어, 필터 파라미터들의 현재 세트에 따라) 생성하도록 그리고 인지적으로 가중된 도메인에서 원래의 스피치 신호 (202) 에 최상으로 매칭되는, 생성된 신호에 연관된 코드북 벡터를 선택하도록 구성될 수도 있다.
일부 구성들에서, 인코더 (204) 는 잡음 여기 선형 예측 (noise-excited linear predictive, NELP) 인코더로서 구현될 수도 있다. NELP 인코더가 무성음 (unvoiced) 스피치로서 분류된 프레임들을 코딩하는데 사용될 수도 있다. NELP 코딩은 스피치 신호 (202) 가 없거나 거의 없는 피치 구조를 갖는 신호 재생의 측면에서 효과적으로 동작한다. 더 구체적으로는, NELP는 무성음 스피치 또는 배경 잡음과 같이, 특성상 잡음에 유사한 스피치를 인코딩하는데 사용될 수도 있다. NELP는 무성음 스피치를 모델링하기 위해 필터링된 의사-랜덤 잡음 신호를 사용한다. 이러한 스피치 세그먼트들의 잡음유사 특성은 디코더 (208) 에서 랜덤 신호들을 생성하고 그것들에 적절한 이득들을 적용함으로써 재구축될 수도 있다. NELP는 코딩된 스피치에 대한 간단한 모델을 사용함으로써, 더 낮은 비트 레이트를 달성할 수도 있다.
일부 구성들에서, 인코더 (204) 는 프로토타입 피치 기간 (prototype pitch period, PPP) 인코더로서 구현될 수도 있다. PPP 인코더는 유성음 (voiced) 스피치로서 분류된 프레임들을 코딩하는데 사용될 수도 있다. 유성음 스피치는 PPP 인코더에 의해 활용되는 천천히 시간 가변하는 주기적 성분들을 포함한다. PPP 인코더는 각각의 프레임 내의 피치 기간들의 서브세트를 코딩한다. 스피치 신호 (202) 의 남은 기간들은 이들 프로토타입 기간들 간에 보간함으로써 재구축된다. 유성음 스피치의 주기성을 활용함으로써, PPP 인코더는 인지적으로 정확한 방식으로 스피치 신호 (202) 를 재생할 수 있다.
디코더 (208) 는 역 양자화기 B (230), 역 양자화기 C (236), 역 계수 변환부 B (238) 및 합성 필터 (234) 를 구비할 수도 있다. 역 양자화기 C (236) 는 필터 파라미터들 (228) (예를 들어, LSF 벡터) 을 역양자화고, 역 계수 변환부 B (238) 는 (예를 들어, 인코더 (204) 의 역 양자화기 A (218) 및 역 계수 변환부 A (220) 를 참조하여 위에서 설명된 바와 같이) LSF 벡터를 계수들의 세트로 변환한다. 역 양자화기 B (230) 는 인코딩된 여기 신호 (226) 를 역양자화하여 여기 신호 (232) 를 생성한다. 계수들 및 여기 신호 (232) 에 기초하여, 합성 필터 (234) 는 디코딩된 스피치 신호 (210) 를 합성한다. 다르게 말하면, 합성 필터 (234) 는 디코딩된 스피치 신호 (210) 를 생성하기 위해 역양자화된 계수들에 따라 여기 신호 (232) 를 스펙트럼적으로 형성하도록 구성된다. 일부 구성들에서, 디코더 (208) 는 여기 신호 (232) 를 사용하여 다른 주파수 대역 (예컨대, 고대역) 의 여기 신호를 도출할 수도 있는 다른 디코더에 여기 신호 (232) 를 또한 제공할 수도 있다. 일부 구현예들에서, 디코더 (208) 는, 스펙트럼 틸트, 피치 이득 및 랙 그리고 스피치 모드와 같이, 여기 신호 (232) 에 관련된 부가적인 정보를 다른 디코더에 제공하도록 구성될 수도 있다.
인코더 (204) 및 디코더 (208) 의 시스템은 합성에 의한 분석 (analysis-by-synthesis) 스피치 코덱의 기본적인 예이다. 코드북 여기 선형 예측 코딩은 합성에 의한 분석 코딩의 하나의 인기 있는 패밀리이다. 이러한 코더들의 구현예들은 고정식 및 적응적 코드북들로부터의 엔트리들의 선택과 같은 동작들, 에러 최소화 동작들 및/또는 인지적 가중 동작들을 포함한 잔여의 파형 인코딩을 수행할 수도 있다. 합성에 의한 분석 코딩의 다른 구현예들은 코드 여기 선형 예측 (CELP), 혼합 여기 선형 예측 (mixed excitation linear prediction, MELP), ACELP, 완화 CELP (RCELP), 정규 펄스 여기 (regular pulse excitation, RPE), 다중펄스 여기 (multi-pulse excitation, MPE), 다중펄스 CELP (MP-CELP) 및 벡터합 여기 선형 예측 (vector-sum excited linear prediction, VSELP) 코딩을 포함한다. 관련된 코딩 방법들은 다중대역 여기 (multi-band excitation, MBE) 와 프로토타입 파형 보간 (prototype waveform interpolation, PWI) 코딩을 포함한다. 표준화된 합성에 의한 분석 스피치 코덱들의 예들은 ESTI (European Telecommunications Standards Institute) -GSM 완전 레이트 (full rate) 코덱 (GSM 06.10) (이는 잔여 여기 선형 예측 (residual excited linear prediction, RELP), GSM 향상 완전 레이트 코덱 (ETSI-GSM 06.60), ITU (International Telecommunication Union) 표준 11.8 kbps G.729 부록 E 코더, IS-136 (time-division multiple access scheme) 을 위한 IS (Interim Standard) -641 코덱들, GSM 적응적 다중레이트 (GSM-AMR) 코덱들 및 4GV™ (Fourth-Generation Vocoder™) 코덱 (QUALCOMM Incorporated, San Diego, Calif.) 을 포함한다. 인코더 (204) 와 대응 디코더 (208) 는 이들 기술들 중 임의의 것, 또는 (A) 필터를 기술하는 파라미터들의 세트로서 사용된 스피치 신호와 (B) 스피치 신호 (202) 를 재생하기 위해 설명된 필터를 도출하는데 사용되는 여기 신호를 표현하는 (알려져 있든 또는 개발되든 간에) 임의의 다른 스피치 코딩 기술에 따라 구현될 수도 있다.
심지어 분석 필터 (222) 가 스피치 신호 (202) 로부터 거친 (coarse) 스펙트럼 엔벨로프를 제거한 후에도, 상당한 양의 미세 (fine) 고조파 구조가, 특히 유성음 스피치에 대해 남아 있을 수도 있다. 주기적 구조는 피치에 관련되고, 동일한 화자 (speaker) 가 소리낸 상이한 유성음 사운드들이 상이한 포먼트 구조들과 유사한 피치 구조들을 가질 수도 있다.
코딩 효율 및/또는 스피치 품질은 하나 이상의 파라미터 값들을 사용하여 피치 구조의 특성들을 인코딩함으로써 증가될 수도 있다. 피치 구조의 하나의 중요한 특성은 제 1 고조파의 주파수 (또한 기본 주파수라고 지칭됨) 인데, 이는 통상 60 내지 400 헤르츠 (Hz) 의 범위에 있다. 이 특성은, 또한 피치 랙이라 지칭되는 기본 주파수의 역으로서 통상 인코딩된다. 피치 랙은 하나의 피치 기간에서의 샘플들의 수를 나타내고 하나 이상의 코드북 인덱스들로서 인코딩될 수도 있다. 남성 화자들로부터의 스피치 신호들은 여성 화자들로부터의 스피치 신호들보다 더 큰 피치 랙들을 갖는 경향이 있다.
피치 구조에 관련한 다른 신호 특성은 주기성인데, 이는 고조파 구조의 세기 또는, 다르게 말하면, 신호가 고조파 또는 비고조파인 정도를 나타낸다. 주기성의 2 개의 전형적인 표시자들은 부호 변환점 (zero crossing) 과 정규화된 자기상관 함수 (normalized autocorrelation function, NACF) 이다. 주기성은 피치 이득에 의해 또한 나타내어질 수도 있는데, 이는 코드북 이득 (예컨대, 양자화된 적응적 코드북 이득) 으로서 보통 인코딩된다.
인코더 (204) 는 스피치 신호 (202) 의 장기 고조파 구조를 인코딩하도록 구성된 하나 이상의 모듈들을 포함할 수도 있다. CELP 인코딩에 대한 일부 접근법들에서, 인코더 (204) 는 단기 특성들 또는 거친 스펙트럼 엔벨로프를 인코딩하는 개방루프 LPC 분석 모듈을 포함하며, 그 분석 모듈에는 미세 피치 또는 고조파 구조를 인코딩하는 폐쇄루프 장기 예측 분석 스테이지가 뒤따른다. 단기 특성들은 계수들 (예컨대, 필터 파라미터들 (228)) 로서 인코딩되고, 장기 특성들은 피치 랙 및 피치 이득과 같은 파라미터들에 대한 값들로서 인코딩된다. 예를 들어, 인코더 (204) 는 하나 이상의 코드북 인덱스들 (예컨대, 고정된 코드북 인덱스 및 적응적 코드북 인덱스) 및 대응하는 이득 값들을 포함하는 형태로, 인코딩된 여기 신호 (226) 를 출력하도록 구성될 수도 있다. 잔여 신호의 이 양자화된 표현의 (예컨대, 양자화기 B (224) 에 의한) 계산은 이러한 인덱스들을 선택하는 것과 이러한 값들을 계산하는 것을 포함할 수도 있다. 피치 구조의 인코딩은 피치 프로토타입 파형의 보간을 또한 포함할 수도 있는데, 그 보간의 동작은 연속하는 피치 펄스들 간의 차이를 계산하는 것을 포함할 수도 있다. 장기 구조의 모델링은 통상 잡음 비슷하고 비구조적인 무성음 스피치에 대응하는 프레임들에 대해 가능하지 않게 될 수도 있다.
디코더 (208) 의 일부 구현예들은 장기 구조 (피치 또는 고조파 구조) 가 복원된 후 여기 신호 (232) 를 다른 디코더 (예컨대, 고대역 디코더) 로 출력하도록 구성될 수도 있다. 예를 들어, 이러한 디코더는 여기 신호 (232) 를 인코딩된 여기 신호 (226) 의 비양자화된 버전으로서 출력하도록 구성될 수도 있다. 물론, 다른 디코더가 인코딩된 여기 신호 (226) 의 역양자화를 수행하여 여기 신호 (232) 를 획득하도록 디코더 (208) 를 구현하는 것이 또한 가능하다.
본원에 개시된 시스템들 및 방법들은 평균 인코딩 레이트를 제어하기 위한 접근법들을 제공한다. 예를 들어, 본원에 개시된 시스템들 및 방법들의 일부 구성들은 프로토타입 피치 기간 (PPP) 기반 스피치 인코딩 시스템에 대한 개방 루프 및/또는 폐쇄 루프 평균 인코딩 레이트 제어를 제공한다. 명료함을 위해, 알려진 가변 레이트 인코딩 시스템들에서 발생하는 일부 쟁점들의 설명은 다음과 같이 주어진다.
가변 레이트 스피치 인코딩 시스템들에서, 평균 인코딩 레이트 (예컨대, 평균 비트 레이트, 평균 데이터 레이트 (average data rate, ADR) 등) 를 제어하는 것은 원하는 용량을 유지하기 위해 이용된다. PPP기반 스피치 인코딩 시스템에서, 이는 1/4 배 레이트 프레임들 (예컨대, PPP 및/또는 NELP) 프레임들을 제어함으로써 달성될 수도 있다. 예를 들어, 향상 가변 레이트 코덱 B (EVRC-B) 사양들은 원하는 평균 인코딩 레이트보다 더 낮은 동작 비트 레이트를 갖는 동작점을 도입한다. 평균 인코딩 레이트가 마지막 N 스피치 프레임들에 기초하여 원하는 레이트로 증가하기까지 1/4 배 레이트 PPP 프레임들의 일부는 완전 레이트 프레임들로 전송될 수도 있다. 예를 들어, EVRC-B 사양들에서 N = 600 개 프레임들이다.
운영 모드는 PPP와, QFF, QQF (여기서 Q는 1/4 배 레이트 PPP 프레임들을 나타내고 F는 완전 레이트 프레임들을 나타냄) 와 같은 완전레이트 프레임 패턴을 설정함으로써 선택될 수도 있다. 이 설정에서, 최저 레이트는 최고 PPP 프레임 레이트가 산출되는 패턴에 의존한다. 그러나, 연속적인 PPP 프레임들을 증가시키는 것은 원래의 것으로부터 합성된 파형을 드리프트시킬 수도 있다. 이는 스피치 아티팩트들을 생기게 할 가능성이 있다.
EVRC-B 사양들에서, PPP기반 인코딩 시스템이 "범프업 체계 (bump-up scheme)"라고 지칭되는 거부 메커니즘에 연관된다. 특히, 심지어 개방 루프 의사결정 프로세스가 특정 프레임을 PPP 프레임인 것으로 분류하더라도, 범프 업 메커니즘은 개방 루프 결정을 변경시킬지도 모르며, 당해 프레임은 완전 레이트를 사용하여 양자화될 것이다. 예를 들어, 인코더는 주어진 프레임이 PPP 모드의 코딩에 적합한지의 여부를 검증하기 위해 체크들의 세트를 실행한다. 인코더는 임계들의 세트에 대해 이 프로세스에서 컴퓨팅된 파라미터들의 세트를 체크한다. 이들 임계들은 "범프업" 임계들로서 지칭된다. "범프 업"이 일어나면, 주어진 프레임은 높은 레이트를 사용하여 인코딩된다. 이는 평균 데이터 레이트를 증가시킨다. 따라서, PPP 프레임들을 증가시키는 것은 레이트를 원하는 더 낮은 레이트로 항상 감소시키지 않을 수도 있다.
심지어 특정한 동작점이 설정되는 경우에도, 마지막 N 프레임들 (예컨대, 600 프레임들) 동안의 평균 레이트는 고도로 가변적일 수 있다. 따라서, 과거의 N 프레임들에 기초하여 Q 프레임들을 F 프레임들로 변경하는 것은 원하는 평균 인코딩 레이트가 되게 하지 못할지도 모른다. 따라서, 장기 평균 레이트의 측정치가 레이트 제어 프로세스에서 고려될 수도 있다. 결과적으로, 평균 레이트를 제어하기 위해 하나의 동작점으로부터 다음의 가장 공격적 동작점으로 변경하는 것은 일부 경우들에서 (예컨대, 일부 언어들의 경우, 일부 잡음성 환경들 등에서) 레이트를 원하는 레벨로 감소시키지 않을 수도 있다. 실험들에서, 2 개의 F 프레임들이 1/4 배 레이트 인코딩으로 인한 위상 정렬 에러들로부터 복구하는데 충분한 시간을 제공할 때 Q 및 F 프레임 패턴 QFF를 사용하는 것이 최선의 품질 스피치를 산출한다는 것이 확인되었다.
PPP 기반 가변 레이트 스피치 코딩 시스템에서 레이트 제어에 연관된 일부 잠재적 이슈들은 다음과 같이 주어진다. 심지어 가장 공격적 Q 및 F 패턴도 스피치 속성들 및 범프 업 메커니즘으로 인해 원하는 평균 인코딩 레이트가 되지 못할 지도 모른다. 더욱 공격적인 레이트 제어 패턴을 부과하는 것은 스피치 아티팩트들을 초래할 수도 있다. 과거의 N 프레임들의 평균 레이트는 다음 N 프레임들을 잘 표현하지 못할 수도 있다. 연속적인 N 프레임들 동안의 레이트는 고도로 가변적일 수 있다.
도 3은 평균 인코딩 레이트를 제어하는 시스템들 및 방법들이 구현될 수도 있는 전자 디바이스 (340) 의 하나의 구성을 예시하는 블록도이다. 전자 디바이스 (340) 의 예들은 스마트폰들, 셀룰러 폰들, 지상선 폰들, 헤드셋들, 데스크톱 컴퓨터들, 랩톱 컴퓨터들, 텔레비전들, 게이밍 시스템들, 오디오 레코더들, 캠코더들, 스틸 카메라들, 자동차 콘솔들 등을 포함한다. 전자 디바이스 (340) 는 인코딩 레이트 제어기 (342), 프레이밍 및 프리프로세싱 모듈 (350), 선택기들 (354a~354b) 및/또는 하나 이상의 인코더들 (356a~356n) 을 포함할 수도 있다. 전자 디바이스 (340) 의 컴포넌트들 중의 하나 이상은 하드웨어 (예컨대, 회로), 소프트웨어 또는 양자 모두의 조합으로 구현될 수도 있다. 예를 들어, 인코딩 레이트 제어기 (342) 는 하드웨어 (예컨대, 회로), 소프트웨어 또는 양자 모두의 조합으로 구현될 수도 있다. 본원의 블록도들에서의 라인들 또는 화살표들은 컴포넌트들 또는 엘리먼트들 간의 커플링들을 나타낼 수도 있다는 것에 주의해야 한다. 예를 들어, 인코딩 레이트 제어기 (342) 는 프레이밍 및 프리프로세싱 모듈 (350) 에 커플링될 수도 있다.
전자 디바이스 (340) 는 스피치 신호 (348) 를 획득한다. 예를 들어, 전자 디바이스 (340) 는 하나 이상의 마이크로폰들로 스피치 신호 (348) 를 캡처할 수도 있고 및/또는 다른 디바이스 (예컨대, 블루투스 헤드셋) 로부터 스피치 신호 (348) 를 수신할 수도 있다. 스피치 신호 (348) 는 프레이밍 및 프리프로세싱 모듈 (350) 에 제공될 수도 있다.
프레이밍 및 프리프로세싱 모듈 (350) 은 스피치 신호 (348) 를 일련의 프레임들로 분할할 수도 있다. 각각의 프레임은 특정 시구간일 수도 있다. 예를 들어, 각각의 프레임은 스피치 신호 (348) 의 20 ms에 해당할 수도 있다. 프레이밍 및 프리프로세싱 모듈 (350) 은 스피치 신호 (348) 에 대해 다른 동작들, 이를테면 잡음 억제 및 필터링 (예컨대, 저역통과, 고역통과 및 대역통과 필터링 중 하나 이상) 을 수행할 수도 있다. 따라서, 프레이밍 및 프리프로세싱 모듈 (350) 은 프리프로세싱된 스피치 신호 (362) 를 생성할 수도 있다.
일부 구성들에서, 프레이밍 및 프리프로세싱 모듈 (350) 은 메트릭 결정 모듈 (360) 을 구비한다. 메트릭 결정 모듈 (360) 은 스피치 신호 (348) 에 기초하여 메트릭 (352) 을 결정할 수도 있다. 예를 들어, 메트릭 결정 모듈 (360) 은 스피치 신호 (348) 의 프레임에 기초하여 신호 대 잡음 비 (SNR) 를 결정할 수도 있다. 메트릭 (352) (예컨대, SNR) 은 인코딩 레이트 제어기 (342) 에 제공될 수도 있다.
인코딩 레이트 제어기 (342) 는 평균 인코딩 레이트를 제어할 수도 있다. 평균 인코딩 레이트는 다수의 프레임들에 걸친 평균에 기초한 인코딩된 스피치 신호 (364) 의 (예를 들어, 초 당 킬로비트 (kbps) 에서의) 비트레이트이다. 인코딩 레이트 제어기 (342) 는 평균 인코딩 레이트를 타겟 레이트에 매칭하는 것을 시도함으로써 평균 인코딩 레이트를 제어할 수도 있다. 타겟 레이트는 인코딩된 스피치 신호 (364) 에 대한 원하는 비트레이트를 특정할 수도 있다. 타겟 레이트는 다른 디바이스 (예컨대, 기지국) 로부터 수신될 수도 있거나 또는 미리 결정될 수도 있다.
인코딩 레이트 제어기 (342) 는 프리프로세싱된 스피치 신호 (362) 의 프레임들을 인코딩하는 인코더들 (356a~356n) 을 선택함으로써 평균 인코딩 레이트를 제어할 수도 있다. 예를 들어, 인코딩 레이트 제어기 (342) 는 인코딩 레이트 표시자 (366) 를 선택기들 (354a~354b) 에 제공할 수도 있다. 인코딩 레이트 표시자 (366) 는 특정 인코더 (356), 레이트 및/또는 프레임 유형을 특정한다. 선택기들 (354a~354b) 은 인코딩 레이트 표시자 (366) 에 의해 표시된 바대로 각각의 프레임마다 프리프로세싱된 스피치 신호 (362) 를 인코더 (356) 에 라우팅할 수도 있다.
인코더들 (356a~356n) 의 각각은 프리프로세싱된 스피치 신호 (362) 에 기초하여 인코딩된 스피치 신호 (364) 를 생성할 수도 있다. 인코더들 (356a~356n) 중 하나 이상은 위에서 설명된 인코더들 (104, 204) 중 하나 이상에 따라 구현될 수도 있다. 인코더들 (356a~356n) 의 예들은 PPP 인코더들, NELP 인코더들, CELP 인코더들 (예컨대, ACELP 인코더들) 등을 포함한다. 인코더들 (356a~356n) 중 하나 이상은 인코딩 정보 (358) 를 인코딩 레이트 제어기 (342) 에 제공할 수도 있다. 인코딩 정보 (358) 의 예들은 인코딩된 파형들, 에러 메트릭들 (예컨대, 진폭 에러 메트릭), 대역 이득 변경 메트릭들 (예컨대, 저대역 이득 변경 메트릭) 및 프레임 (예컨대, n번째 프레임) 을 인코딩하는데 사용되는 프레임 인코딩 레이트를 포함한다. 예를 들어, 인코딩 레이트 제어기 (342) 는 하나 이상의 평균 레이트들을 컴퓨팅하는데 레이트 정보를 이용할 수도 있다.
각각의 인코더 (356a~356n) 는 특정 인코딩 레이트에서 인코딩된 스피치 신호 (364) 를 생성할 수도 있다. 본원에서 사용되는 바와 같이, "하이 레이트 인코더"라는 용어와 그 변형들은 타겟 레이트보다 더 높은 비트레이트로 인코딩된 스피치 신호를 생성하는 인코더를 나타낼 수도 있다. 부가적으로, "로우 레이트 인코더"라는 용어와 그 변형들은 타겟 레이트보다 더 낮은 비트레이트로 인코딩된 스피치 신호를 생성하는 인코더를 나타낼 수도 있다.
각각의 인코더 (356a~356n) 는 하나 이상의 프레임 유형들을 인코딩하는데 이용될 수도 있다. 예를 들어, 프레임들은 각각의 프레임에 대응하는 스피치 신호 (348) 에 기초한 프레임 유형에 따라 분류될 수도 있다. 일부 구성들에서, 인코딩 레이트 제어기 (342) 는 각각의 프레임이 "유성음 프레임", "무성음 다운 프레임" 또는 다른 프레임 (예컨대, 침묵 프레임, 과도 프레임, 다운 과도 프레임 등) 인지의 여부를 결정할 수도 있다. 유성음 프레임이 유성화 특성들 (예컨대, 더 많은 저대역 에너지, 더 높은 SNR 등) 을 보여줄 수도 있다. 무성음 프레임이 잡음 특성들 (예컨대, 더 많은 고대역 에너지, 더 낮은 SNR 등) 을 보여줄 수도 있다. 과도 프레임이 무성음 또는 침묵 프레임과 유성음 프레임 사이에서 발생하는 프레임일 수도 있다. 따라서, 인코딩 레이트 제어기 (342) 는 하나 이상의 임계들 및/또는 하나 이상의 팩터들 (예컨대, SNR, 영 교차 레이트, 대역 에너지 비율 등) 에 기초하여 프레임 유형을 결정할 수도 있다. 각각의 프레임 유형은 하나 이상의 인코더들 (356a~356n) 에 의해 하나 이상의 인코딩 레이트들에서 인코딩될 수도 있다. 하이 레이트 인코더 (356) 에 의해 인코딩되는 프레임이 "하이 레이트 프레임"이라고 지칭될 수도 있고 로우 레이트 인코더 (356) 에 의해 인코딩되는 프레임이 "로우 레이트 프레임"이라고 지칭될 수도 있다. 예를 들어, 타겟 레이트보다 더 높은 인코딩 레이트를 갖는 프레임이 "하이 레이트 프레임"일 수도 있고 타겟 레이트보다 더 낮은 인코딩 레이트를 갖는 프레임이 "로우 레이트 프레임"일 수도 있다.
하나의 예에서, 인코더들 (356a~356n) 은 1/4 배 레이트 PPP (QPPP) 인코더, NELP 인코더 및 2 개의 ACELP 인코더들을 포함한다고 가정한다. 타겟 레이트는 5.9 kbps라고 추가로 가정한다. QPPP 인코더는 일부 유성음 프레임들 (예컨대, 유성음 로우 레이트 프레임들) 을 2.8 kbps의 레이트를 갖는 인코딩으로 인코딩할 수도 있다. NELP 인코더는 무성음 프레임들을 2.8 kbps의 레이트를 갖는 인코딩으로 인코딩할 수도 있다. 따라서, QPPP 인코더와 NELP 인코더는 이 예에서 로우 레이트 인코더들이다. 하나의 ACELP 인코더 (예컨대, "유성음" ACELP 인코더) 가 7.2 kbps의 레이트를 갖는 인코딩으로 일부 유성음 프레임들 (예컨대, 유성음 하이 레이트 프레임들) 을 인코딩할 수도 있다. 다른 ACELP 인코더 (예컨대, "전이 (transition)" ACELP 인코더) 가 전이 프레임들을 8.0 kbps의 인코딩 레이트로 인코딩할 수도 있다. 따라서, 유성음 ACELP 인코더와 전이 ACELP 인코더는 이 예에서 하이 레이트 인코더들이다.
일부 예들에서, "완전 레이트" 및/또는 "1/4 배 레이트"라는 용어들은 프레임 유형들 및/또는 대응 인코더들을 기술하는데 사용될 수도 있다. "완전 레이트"는 가능한 최대 비트레이트를 나타내거나 또는 나타내지 않을 수도 있고 및/또는 프레임 유형에 기초하여 상이한 비트레이트들을 나타낼 수도 있다는 것에 주의해야 한다. 예를 들어, 심지어 완전 레이트 전이 프레임이 전이 ACELP 인코더에 의해 8.0 kbps의 비트레이트로 인코딩될 수도 있더라도, 유성음 완전 레이트 프레임이 유성음 ACELP 인코더에 의해 7.2 kbps의 비트레이트로 인코딩될 수도 있다. "1/4 배 레이트"가 완전 레이트의 실제 1/4을 나타내거나 또는 나타내지 않을 수도 있다는 것에 또한 주의해야 한다. 예를 들어, 1/4 배 레이트 프레임이 2.8 kbps에서 인코딩될 수도 있는데, 이는 완전 레이트 7.2 kbps의 문자 그대로의 1/4이 아니다.
평균 레이트 결정 모듈 (344) 은 제 1 평균 레이트를 결정할 수도 있다. 제 1 평균 레이트의 하나의 예는 장기 평균 레이트 (예컨대, R LT ) 를 포함한다. 예를 들면, 평균 레이트 결정 모듈 (344) 은 단기 평균 레이트 (예컨대, R lastNframes ) 및/또는 장기 평균 레이트를 결정할 수도 있다. 단기 평균 레이트와 장기 평균 레이트는 평균 인코딩 레이트의 예들이다. 단기 평균 레이트는 마지막 N 프레임들 (예컨대, 600 개의 프레임들) 에 걸쳐 평균된 인코딩 레이트이다. 평균 레이트 결정 모듈 (344) 은 선택된 프레임 인코딩 레이트들을 N 프레임들에 걸쳐 합산하고 그 합을 N에 의해 나눔으로써 단기 평균 레이트를 결정할 수도 있다. 장기 평균 레이트는 수식 (1) 에서 주어진 평활화 수식에 따라 각각의 N 프레임 간격 후에 결정될 (예컨대, 컴퓨팅될) 수도 있다.
Figure 112015090487446-pct00001
(1)
수식 (1) 에서, n은 장기 평균 인덱스이고 α는 평활화 계수이다. α는 일부 구성들에서 0.98일 수도 있다. 인코딩 레이트 제어기 (342) 는 평균 인코딩 레이트를 제어하기 위해 단기 평균 레이트 및/또는 장기 평균 레이트를 이용할 수도 있다.
임계 결정 모듈 (346) 은 하나 이상의 임계들을 결정할 수도 있다. 예를 들어, 임계 결정 모듈 (346) 은 평균 인코딩 레이트에 기초하여 하나 이상의 임계들을 적응적으로 변경할 수도 있다. 특히, 임계 결정 모듈 (346) 은 제 1 평균 레이트에 기초하여 제 1 임계 (예컨대, THCN ) 을 결정할 수도 있다. 예를 들어, 제 1 평균 레이트 (예컨대, RLT ) 가 타겟 레이트 (예컨대, Rtarget ) 보다 더 크면, 임계 결정 모듈 (346) 은 제 1 임계를 선택하거나 또는 제 1 임계를 조정할 (예컨대, 제 1 임계를 증가시킬) 수도 있다. 그러나, 제 1 평균 레이트 (예컨대, RLT ) 가 타겟 레이트 이하이면, 임계 결정 모듈 (346) 은 상이한 제 1 임계를 선택하거나 또는 제 1 임계를 상이하게 조정할 (예컨대, 제 1 임계를 감소시킬) 수도 있다.
제 1 임계 (예컨대, THCN ) 은 프레임을 깨끗한 프레임 또는 잡음성 프레임으로서 분류할 수도 있다. 더 구체적으로는, 인코딩 레이트 제어기 (342) 는 제 1 임계에 기초하여 프레임을 깨끗한 프레임 또는 잡음성 프레임으로서 분류할 수도 있다. 예를 들면, 각각의 유성음 프레임이 깨끗한 프레임 또는 잡음성 프레임으로서 분류될 수도 있다. 제 1 임계를 결정하는 것은 평균 인코딩 레이트에 영향을 주는 로우 레이트 인코더 (356) 에 비해 하이 레이트 인코더 (356) 로 인코딩되는 프레임들의 수에 영향을 줄 수도 있다.
하나의 예에서, 제 1 임계는 SNR 임계이고 메트릭 (352) 은 SNR이다. SNR은 프레이밍 및 프리프로세싱 모듈 (350) 에 의해 수행된 잡음 추정에 기초할 수도 있다. 이 예에서, 인코딩 레이트 제어기 (342) 는 프레임을 SNR이 SNR 임계보다 더 크면 깨끗한 프레임으로서 또는 SNR이 SNR 임계 이하이면 잡음성 프레임으로서 분류할 수도 있다.
인코딩 레이트 제어기 (342) 는 제 1 임계에 기초하여 적어도 하나의 다른 임계를 결정함으로써 평균 인코딩 레이트를 제어할 수도 있다. 예를 들어, 인코딩 레이트 제어기 (342) 는 제 1 임계에 기초하여 상이한 임계들을 선택할 수도 있다. 상이한 임계들을 선택하는 것은 (로우 레이트 프레임들의 양을 감소시키는 동안) 평균 인코딩 레이트를 증가시키는 하이 레이트 프레임들의 양을 증가시킴으로써, 또는 (로우 레이트 프레임들의 양을 증가시키는 동안) 평균 인코딩 레이트를 감소시키는 하이 레이트 프레임들의 양을 감소시킴으로써 평균 인코딩 레이트에 영향을 줄 수도 있다. 일부 구성들에서, 적어도 하나의 다른 임계는 임계 세트일 수도 있다. 예를 들어, 인코딩 레이트 제어기 (342) 는 제 1 임계에 기초하여 제 1 임계 세트 또는 제 2 임계 세트를 선택할 수도 있다. 본원에서 사용되는 바와 같이, "세트"라는 용어는 둘 이상의 엘리먼트들을 나타낼 수도 있다. 예를 들어, "임계 세트"가 둘 이상의 임계들을 포함할 수도 있다.
일부 구성들에서, 적어도 하나의 다른 임계는 적어도 하나의 프레임 조정 임계를 포함한다. 프레임 조정 임계가 주어진 프레임에 대한 프레임 유형을 조정할지의 여부를 나타낼 수도 있다. 프레임 유형 조정이 프레임에 대한 인코딩 레이트를 변경 (예컨대, 증가 또는 감소) 시킬 수도 있다. 하나 이상의 프레임 조정 임계들을 변경시킴으로써, 프레임 유형 조정들의 양은 평균 인코딩 레이트를 증가 또는 감소시키기 위해 제어될 수 있다. 일부 구성들에서, 프레임 조정 임계(들)은 원래의 스피치 정보와 양자화된 스피치 정보 간에 상당한 양의 양자화 에러가 있는지의 여부 (예컨대, 양자화된 파라미터들이 비양자화 파라미터들로부터 너무 다른지의 여부) 를 결정하는데 이용될 수도 있다. 양자화 에러가 너무 크면, 인코딩된 스피치 품질은 저하될 수도 있다. 이들 경우들에서, 프레임 유형이 더 높은 레이트 (예컨대, 더 높은 품질) 에서 인코딩되도록 조정될 수도 있다.
하나의 예에서, 인코딩 레이트 제어기 (342) 는 로우 레이트 인코딩 (예컨대, QPPP 인코딩) 에 대한 후보로서 유성음 프레임을 초기에 분류할 수도 있다. 로우 레이트 인코더 (356) 가 유성음 프레임을 인코딩하도록 진행할 수도 있고 인코딩 정보 (358) 를 인코딩 레이트 제어기 (342) 로 제공할 수도 있다.
인코딩 레이트 제어기 (342) 는 인코딩 정보 (358) 및 프레임 조정 임계(들)에 기초하여 프레임 유형을 조정할지의 여부를 결정한다. 예를 들어, 인코딩 정보 (358) 는 하나 이상의 메트릭들 또는 하나 이상의 메트릭들을 결정하기 위한 정보를 포함할 수도 있다. 예를 들면, 하나 이상의 메트릭들은 원래의 프레임과 인코딩된 프레임 간의 차이의 정도를 나타내는 제 1 메트릭 (예컨대, 진폭 에러 메트릭) 및/또는 이전의 프레임과 현재 프레임 간의 차이를 나타내는 제 2 메트릭 (예컨대, 저대역 이득 변경 메트릭) 을 포함할 수도 있다. 하나 이상의 메트릭들은 인코더 (356) 또는 인코딩 레이트 제어기 (342) 에 의해 결정될 수도 있다. 하나 이상의 메트릭들이 프레임 조정 임계들 중 하나 이상을 벗어나면, 인코딩 레이트 제어기 (342) 는 프레임 유형을 조정할 수도 있다. 예를 들어, 인코딩 레이트 제어기 (342) 는 프레임을 인코딩하기 위해 상이한 인코더 (356) 를 선택할 수도 있다. 예를 들면, 인코딩 레이트 제어기 (342) 는 로우 레이트 인코더 (356) 대신 하이 레이트 인코더 (356) 를 선택할 수도 있다.
하나의 예에서, 적어도 하나의 임계는 "범프업" 임계들의 세트이다. 범프업 임계들은 로우 레이트 QPPP 프레임을 하이 레이트 유성음 ACELP 프레임으로 조정 (예컨대, 범프 업) 할지의 여부를 나타낸다. 예를 들면, 인코딩 레이트 제어기 (342) 는 유성음 프레임을 QPPP 프레임으로서 초기에 분류할 수도 있다. 따라서, 인코딩 레이트 제어기 (342) 는 그 프레임을 인코딩하기 위해 QPPP 인코더 (356) 를 선택한다. QPPP 인코더 (356) 는 그 프레임을 인코딩하고 인코딩 정보 (358) 를 인코딩 레이트 제어기 (342) 에 제공한다.
이 예에서, 인코딩 정보 (358) 는 진폭 에러 메트릭과 저대역 이득 변경 메트릭을 포함한다. 진폭 에러 메트릭 (예컨대, amperror) 은 수식 (2) 에서 예시된 바와 같은 원래의 PPP 신호와 양자화된 PPP 신호 간의 평균 차이이다.
Figure 112015090487446-pct00002
(2)
수식 (2) 에서, PPP(i)는 인덱스 i에 대한 원래의 PPP 신호 진폭이며, PPP Q (i)는 양자화된 PPP 신호 진폭이며, M은 (예를 들어, 진폭 양자화에서) PPP 진폭들을 컴퓨팅하는데 사용된 빈들 (예컨대, 대역들) 의 수이고 amperror는 진폭 에러 메트릭이다. 예를 들어, PPP 신호가 시간 도메인 신호를 주파수 도메인 신호로 변환하고 상이한 주파수 대역들에 대한 진폭들을 컴퓨팅함으로써 양자화될 수도 있다.
저대역 이득 변경 메트릭 (예컨대, ΔLgainE) 은 수식 (3) 에서 예시된 바와 같이 현재 프레임 저대역 에너지 이득과 이전의 프레임 저대역 에너지 이득 간의 차이이다.
Figure 112015090487446-pct00003
(3)
수식 (3) 에서, currLgainE는 현재 프레임 저대역 에너지 이득이며, prevLgainE는 이전 프레임 저대역 에너지 이득이고 ΔLgainE는 저대역 이득 변경 메트릭이다. 에너지 이득들은 0 Hz와 상한 사이의 주파수 범위인 저대역 전체에 걸쳐 평가될 수도 있다. 예를 들어, 저대역은 0과 1104.5 Hz 사이일 수도 있다.
이 예에서, 범프업 임계들의 세트는 진폭 에러 임계 (예컨대, amperrorTH) 과 저대역 이득 변경 임계 (예컨대, ΔLgainETH) 을 포함한다. 일부 구성들에서, amperrorTH = 0.47 이고 ΔLgainETH = -0.4 이다. 이 예에서, 인코딩 레이트 제어기 (342) 는 amperror > 0.47 이고 ΔLgainETH = -0.4 이면 QPPP 프레임을 유성음 ACELP 프레임으로 조정 (예컨대, 범프 업) 할 수도 있다.
일부 구성들에서, 적어도 하나의 다른 임계를 결정하는 것은 메트릭 (352) 에 추가로 기초할 수도 있다. 예를 들어, 인코딩 레이트 제어기 (342) 는 메트릭 (352) 이 제 1 임계보다 크지 않으면 제 1 임계 세트 (예컨대, 제 1 레이트 조정 임계 세트) 를 선택할 수도 있거나 또는 메트릭 (352) 이 제 1 임계보다 더 크면 제 2 임계 세트 (예컨대, 제 2 레이트 조정 임계 세트) 를 선택할 수도 있다. 예를 들어, 인코딩 레이트 제어기 (342) 는 메트릭 (352) (예컨대, SNR) 이 제 1 임계 (예컨대, SNR 임계) 보다 더 큰지의 여부를 결정함으로써 적어도 하나의 다른 임계를 결정할 수도 있다.
제 1 임계 (예컨대, SNR 임계) 및/또는 적어도 하나의 다른 임계 (예컨대, 프레임 조정 임계들, 범프업 임계들) 을 조작하는 것은 평균 인코딩 레이트에 영향을 줄 수도 있는 프레임들이 분류되는 방법에 영향을 미칠 수도 있는데, 상이한 프레임 유형들이 상이한 레이트들에서 코딩될 수도 있어서이다. 예를 들어, 평균 인코딩 레이트는 프레임이 깨끗한 프레임으로서 분류되지의 여부 및/또는 프레임이 유성음 프레임, 무성음 프레임 또는 포괄 (generic) 프레임으로서 분류되는지에 기초할 수도 있다. 다양한 프레임 유형들에 대응하는 인코딩 레이트들의 예들은 표 1 에서 주어진다.
Figure 112015090487446-pct00004
일부 구성들에서, 인코딩 레이트 제어기 (342) 는 프레임 패턴을 결정함으로써 평균 인코딩 레이트를 추가로 제어할 수도 있다. 예를 들어, 평균 인코딩 레이트를 제어하는 것은 프레임 패턴을 결정하는 것을 포함할 수도 있다. 프레임 패턴은 특정한 프레임 유형들의 프레임들의 비율 또는 그 유형들의 프레임들의 요청된 양들을 특정할 수도 있다. 예를 들어, 제 1 프레임 패턴 (예컨대, "레이트증가 프레임 패턴") 이 로우 레이트 프레임들 간에 하이 레이트 프레임들의 최소 수를 필요로 할 수도 있고 제 2 프레임 패턴 (예컨대, "레이트감소 프레임 패턴") 이 하이 레이트 프레임들 간에 로우 레이트 프레임들의 최대 수만을 허용할 수도 있다. 제 1 평균 레이트가 타겟 레이트 미만이면, 인코딩 레이트 제어기 (342) 는 제 1 프레임 패턴을 선택할 수도 있는데, 이 패턴은 평균 인코딩 레이트를 증가시킬 수도 있다. 제 1 평균 레이트가 타겟 레이트를 초과하면, 인코딩 레이트 제어기 (342) 는 제 2 프레임 패턴을 선택할 수도 있는데, 이 패턴은 평균 인코딩 레이트를 감소시킬 수도 있다.
일부 구성들에서, 프레임 패턴들은 "QFF" 프레임 패턴과 "QQF" 프레임 패턴을 포함하며, 여기서 "Q"는 로우 레이트 프레임 (예컨대, 1/4 배 레이트 프레임) 을 나타내고 "F"는 하이 레이트 프레임 (예컨대, 완전 레이트 프레임) 을 나타낸다. 이들 구성들에서, QFF 프레임 패턴은 Q 프레임들 간에 F 프레임들의 최소 수를 필요로 할 수도 있다. 더욱이, QQF 프레임 패턴은 F 프레임들 간에 Q 프레임들의 최대 수만을 허용할 수도 있다. 예를 들어, QFF 패턴은, 2 개를 초과하는 연속적인 F 프레임들이 Q 프레임들 간에 발생할 수도 있더라도, 적어도 2 개의 F 프레임들이 Q 프레임들 간에 발생하는 것을 필요로 할 수도 있다. 더욱이, QQF 패턴은, 하나를 초과하는 F 프레임이 Q 프레임들 간에 발생할 수 있더라도, F 프레임들 간에 2 개의 연속적인 Q 프레임들 중 최대만을 허용할 수도 있다.
일부 구성들에서, 인코딩 레이트 제어기 (342) (예컨대, 임계 결정 모듈 (346)) 는 제 1 평균 레이트에 기초하여 적어도 하나의 다른 임계를 조정함으로써 평균 인코딩 레이트를 추가로 제어할 수도 있다. 예를 들면, 평균 인코딩 레이트를 제어하는 것은 제 1 평균 레이트에 기초하여 적어도 하나의 다른 임계를 추가로 제어할 수도 있다.
하나의 예에서, 적어도 하나의 다른 임계는 적어도 하나의 프레임 조정 임계가다. 이 예에서, 인코딩 레이트 제어기 (342) 는 프레임 조정 임계 세트를 선택함으로써 적어도 하나의 프레임 조정 임계를 조정할 수도 있다. 예를 들면, 인코딩 레이트 제어기 (342) 는 제 1 평균 레이트가 타겟 레이트보다 더 크면 제 1 프레임 조정 임계 세트를 선택할 수도 있고 제 1 평균 레이트가 타겟 레이트보다 크지 않으면 제 2 프레임 조정 임계 세트를 선택할 수도 있다. 제 1 프레임 조정 임계 세트는 "이완된 프레임 조정 임계 세트"라고 지칭될 수도 있다. 제 1 프레임 조정 임계 세트는 더 적은 프레임 조정들 (예컨대, 범프업들) 이 발생되게 할 수도 있으며, 이는 평균 인코딩 레이트를 낮출 수도 있다. 예를 들어, 제 1 프레임 조정 임계 세트에서의 프레임 조정 임계들 중 하나 이상은 제 2 프레임 조정 임계 세트에서의 하나 이상의 대응 프레임 조정 임계들보다 더 높을 수도 있다. 제 2 프레임 조정 임계 세트는 "긴장된 프레임 조정 임계 세트"라고 지칭될 수도 있다. 제 2 프레임 조정 임계 세트는 더 많은 프레임 조정들 (예컨대, 범프업들) 이 발생되게 할 수도 있으며, 이는 평균 인코딩 레이트를 증가시킬 수도 있다.
일부 구성들에서, 인코딩 레이트 제어기 (342) (예컨대, 임계 결정 모듈 (346)) 는 제 1 평균 레이트에 기초하여 적어도 하나의 유성화 임계를 조정함으로써 평균 인코딩 레이트를 추가로 제어할 수도 있다. 예를 들면, 평균 인코딩 레이트를 제어하는 것은 제 1 평균 레이트에 기초하여 적어도 하나의 유성화 임계를 조정하는 것을 더 포함한다.
일부 구성들에서, 적어도 하나의 유성화 임계를 직접적으로 조정하는 것은 위에서 설명된 바와 같은 제 1 임계에 기초하여 적어도 하나의 다른 임계를 결정하는 것과는 상이할 수도 있다. 예를 들어, 적어도 하나의 유성화 임계를 직접적으로 조정하는 것은 제 1 평균 레이트에 직접적으로 기초할 수도 있 (고, 예를 들면, 다른 임계를 결정하는 것에 기초하여 좌우되지 않을 수도 있) 다.
하나의 예에서, 인코딩 레이트 제어기 (342) 는 유성화 임계 세트를 선택함으로써 적어도 하나의 유성화 임계를 조정할 수도 있다. 예를 들면, 인코딩 레이트 제어기 (342) 는 제 1 평균 레이트가 타겟 레이트보다 더 크면 제 1 유성화 임계 세트를 선택할 수도 있고 제 1 평균 레이트가 타겟 레이트보다 더 크지 않으면 제 2 유성화 임계 세트를 선택할 수도 있다. 제 1 유성화 임계 세트는 "이완된 유성화 임계 세트"라고 지칭될 수도 있다. 제 1 유성화 임계 세트는, 더 많은 프레임들을 유성음 프레임들 및/또는 무성음 프레임들 (예컨대, QPPP 프레임들 및/또는 NELP 프레임들) 로서 분류하는 것 - 이는 평균 인코딩 레이트를 낮출 수도 있음 - 이 발생하게 할 수도 있다. 이는 평균 인코딩 레이트를 낮출 수도 있는데, 일부 유성음 프레임들 및/또는 무성음 프레임들이 로우 레이트 프레임들일 수도 있기 때문이다. 예를 들어, 제 1 유성화 임계 세트에서의 하나의 유성화 임계는 제 2 유성화 임계 세트에서의 대응하는 유성화 임계보다 더 높을 수도 있고 제 1 유성화 임계 세트에서의 다른 유성화 임계는 제 2 유성화 임계 세트에서의 대응하는 유성화 임계보다 더 낮을 수도 있다. 제 2 유성화 임계 세트는 "긴장된 유성화 임계 세트"라고 지칭될 수도 있다. 제 2 유성화 임계 세트는 더 많은 프레임들을 포괄 프레임들로서 분류하는 결과가 발생하게 할 수도 있다. 이는 평균 인코딩 레이트를 증가시키게 될 수도 있는데, 포괄 프레임들 (예컨대, 전이 프레임들) 이 하이 레이트 프레임들일 수도 있기 때문이다.
본원에 개시된 시스템들 및 방법들의 일부 구성들에서, 전자 디바이스 (340) 는 장기 평균 레이트 및 단기 평균 레이트에 기초하여 평균 인코딩 레이트를 제어할 수도 있다. 특히, 본원에 개시된 시스템들 및 방법들의 일부 구성들은 단기 및 장기 평균 레이트들에 기초하여 평균 인코딩 레이트 제어 전략을 제시한다. 또한, 평균 인코딩 레이트를 제어하는 것은 장기 평균 레이트, 단기 평균 레이트 (예컨대, 마지막 N 프레임들 동안의 평균 레이트) 및 타겟 레이트에 의존하는 다수의 단계들에 기초할 수도 있다. 본원에 개시된 시스템들 및 방법들의 더 구체적인 구성이 다음과 같이 주어진다. 이 구성에서, 아이템들 (1) ~ (4) 에 관련한 하나 이상의 절차들은 원하는 평균 인코딩 레이트를 달성하기 위해 이용될 수도 있다. 스피치 품질의 잠재적 영향은 아이템들의 리스트가 진행함에 따라 증가한다.
(1) PPP 프레임들에 대한 제 1 임계 (예컨대, TH CN ) 은 변경될 수도 있다. 특히, 깨끗한 프레임들 및 잡음성 프레임들을 분류하는 2 개의 프레임 조정 임계 세트들이 있을 수도 있다. 대체로, 이들 프레임 조정 임계들은 깨끗한 프레임들에 대해 더욱 엄격하다. 제 1 임계를 증가시키는 것은 더 많은 프레임들을 잡음성으로서 간주하는 것을 가능하게 하며, 이는 더 적은 프레임 조정들 (예컨대, 더 적은 범프업들) 이 발생하게 한다. 이는 평균 인코딩 레이트를 감소시킬 수도 있다. (2) 더 많은 로우 레이트 프레임들을 생성하는 프레임 패턴이 이용될 수도 있다. 예를 들어, 프레임 패턴이 제 1 프레임 패턴으로 설정될 수도 있고 그 프레임 패턴은 더 많은 로우 레이트 프레임들을 획득하기 위해 평균 인코딩 레이트를 감소시키는 제 2 프레임 패턴으로 변경될 수도 있다. (3) 프레임 조정 임계들은 조정될 (예컨대, 이완될) 수도 있다. 이는 프레임 조정들 (예컨대, 범프업들) 의 수를 감소시켜서 더 많은 로우 레이트 프레임들이 가능하게 할 수도 있다. (4) 로우 레이트 프레임들 (예컨대, QPPP 프레임들 및 NELP 프레임들) 을 증가시킴으로써 적어도 하나의 유성화 임계가 레이트를 감소시키도록 조정될 수도 있다. 이는 스피치 아티팩트들을 잠재적으로 발생시킬 수도 있다.
평균 인코딩 레이트 감소 메커니즘들을 제외하고, 본원에 개시된 시스템들 및 방법들은 글로벌 레이트가 타겟 레이트보다 특정 마진만큼 더 작다면 스피치 품질 개선 전략을 이용할 수도 있다. EVRC-B에서 사용되는 레이트 제어 메커니즘은 로우 레이트 프레임들의 얼마간의 백분율을 하이 레이트 프레임들로 이동시키기 위해 채용될 수도 있는데, 이는 스피치 품질을 증가시킬 수 있다. 이는 특정한 Q 및 F 패턴을 사용하여 동작점을 고정시킨 다음 특정한 백분율의 Q 프레임을 F 프레임들로 이동시킴으로써 행해질 수도 있다. EVRC-B는 타겟 비트 레이트보다 더 낮은 동작 비트 레이트를 선택한다. 그 다음에 컴퓨팅된 비율 (r%) 만큼 Q 프레임들의 코딩 모드를 F 프레임들로 변경하는 것이 평균 레이트를 타겟 레이트로 증가시키도록 비율 (예컨대 r%) 이 컴퓨팅될 수도 있다. 일부 Q 프레임들이 완전 레이트 프레임들을 대신 사용하여 코딩되므로, 전반적인 스피치 품질은 개선된다.
전자 디바이스 (340) 는 인코딩된 스피치 신호 (364) 를 전송할 수도 있다. 인코딩된 스피치 신호 (364) 및/또는 인코딩 레이트 표시자 (366) 는 다른 디바이스 (예컨대, 전자 디바이스, 기지국, 무선 통신 디바이스 등) 로 전송될 수도 있고 및/또는 메모리에 저장을 위해 전송될 수도 있다. 예를 들어, 인코딩된 스피치 신호 (364) 와 인코딩 레이트 표시자 (366) 는 전자 디바이스 (340) 에 포함된 무선 주파수 (RF) 송신기 (미도시) 에 제공될 수도 있다. RF 송신기는 그 다음에 안테나를 사용하여 인코딩된 스피치 신호 (364) 를 다른 디바이스로 송신할 수도 있다.
도 4는 평균 인코딩 레이트를 제어하는 방법 (400) 의 하나의 구성을 예시하는 흐름도이다. 전자 디바이스 (340) 가 스피치 신호 (348) 를 획득한다 (402). 예를 들어, 전자 디바이스 (340) 는 하나 이상의 마이크로폰들로 스피치 신호 (348) 를 캡처할 수도 있고 및/또는 다른 디바이스 (예컨대, 블루투스 헤드셋) 로부터 스피치 신호 (348) 를 수신할 수도 있다.
전자 디바이스 (340) 는 제 1 평균 레이트를 결정할 수도 있다 (404). 예를 들어, 전자 디바이스 (340) 는 도 3에 관련하여 위에서 설명된 바와 같이 장기 평균 레이트 (예컨대, R LT ) 및/또는 단기 평균 레이트 (예컨대, R lastNframes ) 를 결정할 할 수도 있다.
전자 디바이스 (340) 는 제 1 평균 레이트에 기초하여 제 1 임계 (예컨대, TH CN ) 을 결정할 수도 있다 (406). 예를 들어, 전자 디바이스 (340) 는 도 3에 관련하여 위에서 설명된 바와 같이 제 1 평균 레이트에 기초하여 제 1 임계를 선택 또는 조정할 수도 있다.
전자 디바이스 (340) 는 제 1 임계에 기초하여 적어도 하나의 다른 임계를 결정함으로써 평균 인코딩 레이트를 제어할 수도 있다 (408). 예를 들어, 인코딩 레이트 제어기 (342) 는 도 3에 관련하여 위에서 설명된 바와 같이 제 1 임계에 기초하여 상이한 임계들 (예컨대, 프레임 조정 임계 세트들) 을 선택할 수도 있다.
전자 디바이스 (340) 는 인코딩된 스피치 신호 (364) 를 전송할 수도 있다 (410). 예를 들어, 인코딩된 스피치 신호 (364) 및/또는 인코딩 레이트 표시자 (366) 가 도 3에 관련하여 위에서 설명된 바와 같이 다른 디바이스 (예컨대, 전자 디바이스, 기지국, 무선 통신 디바이스 등) 로 전송될 수도 있고 및/또는 메모리에 저장을 위해 전송될 수도 있다.
도 5는 제 1 임계 및 메트릭 (352) 에 기초하여 적어도 하나의 다른 임계를 결정하는 방법 (500) 의 하나의 구성을 예시하는 흐름도이다. 전자 디바이스 (340) 가 스피치 신호 (348) 를 획득할 수도 있다 (502). 이는 위에서 설명된 바와 같이 달성될 수도 있다.
전자 디바이스 (340) 는 스피치 신호 (348) 에 기초하여 SNR을 결정할 수도 있다 (504). 예를 들어, 전자 디바이스 (340) 는 스피치 신호 (348) 에 기초하여 채널 에너지 추정치와 채널 잡음 에너지 추정치를 결정할 수도 있다. 전자 디바이스 (340) 는 그 다음에 채널 에너지 추정치와 채널 잡음 에너지 추정치의 비율에 기초하여 SNR을 결정할 수도 있다 (504).
전자 디바이스 (340) 는 SNR이 제 1 임계 (예컨대, TH CN , SNR 임계) 보다 더 큰지의 여부를 결정할 수도 있다 (506). SNR이 제 1 임계보다 더 크지 않으면, 전자 디바이스 (340) 는 제 1 임계 세트 (예컨대, 제 1 프레임 조정 임계 세트, 제 1 범프업 임계 세트 등) 를 선택할 수도 있다 (508). SNR이 제 1 임계보다 더 크면, 전자 디바이스 (340) 는 제 2 임계 세트 (예컨대, 제 2 프레임 조정 임계 세트, 제 2 범프업 임계 세트 등) 를 선택할 수도 있다 (510).
방법 (500) 은 제 1 임계 (예컨대, 도 3에 관련하여 위에서 설명된 바와 같은 아이템 (1)) 을 변경시키는 하나의 예를 포함한다. 제 1 임계 (예컨대, TH CN , SNR 임계 등) 은 제 1 임계 세트 또는 제 2 임계 세트가 선택되도록 제 1 평균 레이트에 기초하여 적응적으로 변경될 수도 있다. 이는 제 1 임계 및 메트릭 (352) (예컨대, SNR) 에 기초하여 적어도 하나의 다른 임계 (예컨대, 프레임 조정 임계 세트들) 을 간접적으로 선택하는 하나의 예이다.
도 6은 평균 인코딩 레이트를 제어하는 방법 (600) 의 더 구체적인 구성을 예시하는 흐름도이다. 전자 디바이스 (340) 가 인코딩을 시작할 수도 있다 (602). 예를 들어, 전자 디바이스 (340) 는 스피치 신호를 획득할 수도 있고 스피치 신호를 인코딩하는 것을 시작할 수도 있다.
전자 디바이스 (340) 는 디폴트 파라미터들을 설정할 수도 있다 (604). 파라미터들의 예들은 제 1 임계 (예컨대, TH CN ), 프레임 패턴 모드, 프레임 조정 임계 모드 및/또는 유성화 임계 모드를 포함한다. 프레임 패턴 모드는 프레임 패턴 (예컨대, 제 1 프레임 패턴, 제 2 프레임 패턴 등) 을 나타낼 수도 있다. 프레임 조정 임계 모드는 적어도 하나의 프레임 조정 임계 (예컨대, 제 1 프레임 조정 임계 세트 및 제 2 프레임 조정 임계 세트 등) 을 나타낼 수도 있다. 유성화 임계 모드는 적어도 하나의 유성화 임계 (예컨대, 제 1 유성화 임계 세트, 제 2 유성화 임계 세트 등) 을 나타낼 수도 있다. 전자 디바이스 (340) 는 인코딩 레이트를 결정함에 있어서 (예컨대, 프레임들을 분류함에 있어서) 프레임 패턴 모드에 의해 나타내어진 바와 같은 프레임 패턴, 프레임 조정 임계 모드에 의해 나타내어진 바와 같은 프레임 조정 임계(들) 및/또는 유성화 임계 모드에 의해 나타낸 바와 같은 유성화 임계(들)을 이용할 수도 있다. 하나의 예에서, 디폴트 파라미터들을 설정하는 것 (604) 은 제 1 임계를 제 1 임계 최대치 (예컨대, TH CNmax ) 로 설정하는 것, 제 2 프레임 패턴을 나타내는 프레임 패턴 모드를 설정하는 것, 제 1 프레임 조정 임계 세트 (예컨대, 이완된 프레임 조정 임계 세트) 를 나타내는 프레임 조정 임계 모드를 설정하는 것 및 제 2 유성화 임계 세트 (예컨대, 긴장된 유성화 임계 세트) 를 나타내는 유성화 임계 모드를 설정하는 것을 포함할 수도 있다.
전자 디바이스 (340) 는 N 프레임 블록에 도달되었는지의 여부를 결정할 수도 있다 (606). 예를 들어, 전자 디바이스 (340) 는 N 프레임들이 (인코딩의 시작부터 또는 이전의 N 프레임 블록 이후) 프로세싱되었는지의 여부를 결정할 수도 있다. 예를 들면, 프레임은, 인코딩 레이트가 당해 프레임에 대해 결정되었다면 그리고/또는 당해 프레임이 인코딩되었다면, "프로세싱될" 수도 있다.
N 프레임 블록이 도달되지 않았다면, 전자 디바이스 (340) 는 다음 프레임을 프로세싱할 수도 있다 (608). 예를 들어, 전자 디바이스 (340) 는 인코딩 레이트를 다음 프레임에 대해 결정할 수도 있고 및/또는 다음 프레임을 인코딩할 수도 있다.
N 프레임 블록이 도달되었다면, 전자 디바이스 (340) 는 제 1 평균 레이트 (예컨대, 장기 평균 레이트) 와 제 2 평균 레이트 (예컨대, 단기 평균 레이트) 를 결정할 수도 있다 (610). 이는 도 3 및/또는 도 4에 관련하여 위에서 설명된 바와 같이 달성될 수도 있다.
전자 디바이스 (340) 는 제 1 평균 레이트가 타겟 레이트보다 더 큰지를 결정할 수도 있다 (612). 제 1 평균 레이트가 타겟 레이트보다 더 크면, 전자 디바이스 (340) 는 레이트 감소 알고리즘을 이용할 수도 있다 (616). 제 1 평균 레이트가 타겟 레이트보다 더 크지 않으면, 전자 디바이스 (340) 는 레이트 증가 알고리즘을 이용할 수도 있다 (614). 레이트 증가 알고리즘은 평균 인코딩 레이트를 증가시키는 것을 시도할 시 하나 이상의 파라미터들을 조정할 수도 있다. 예를 들어, 레이트 증가 알고리즘은 제 1 임계를 감소시키며, 제 1 프레임 패턴 (예컨대, 레이트증가 프레임 패턴) 을 나타내는 프레임 패턴 모드를 설정하며, 제 2 프레임 조정 임계 세트 (예컨대, 긴장된 프레임 조정 임계 세트) 를 나타내는 프레임 조정 임계 모드를 설정하며 그리고/또는 제 2 유성화 임계 세트 (예컨대, 긴장된 유성화 임계 세트) 를 나타내는 유성화 임계 모드를 설정할 수도 있다.
제 1 평균 레이트가 타겟 레이트보다 더 크면, 전자 디바이스 (340) 는 레이트 감소 알고리즘을 이용할 수도 있다 (616). 레이트 감소 알고리즘은 평균 인코딩 레이트를 감소시키는 것을 시도할 시 하나 이상의 파라미터들을 조정할 수도 있다. 예를 들어, 레이트 감소 알고리즘은 제 1 임계를 증가시키며, 제 2 프레임 패턴 (예컨대, 레이트감소 프레임 패턴) 을 나타내는 프레임 패턴 모드를 설정하며, 제 1 프레임 조정 임계 세트 (예컨대, 긴장된 프레임 조정 임계 세트) 를 나타내는 프레임 조정 임계 모드를 설정하며 그리고/또는 제 1 유성화 임계 세트 (예컨대, 긴장된 유성화 임계 세트) 를 나타내는 유성화 임계 모드를 설정할 수도 있다.
전자 디바이스 (340) 는 다음 프레임을 프로세싱할 수도 있다 (608). 예를 들어, 전자 디바이스 (340) 는 다음 N 프레임 블록을 프로세싱하고 리턴하여 제 1 평균 레이트를 결정하는 (610) 등을 할 수도 있다.
도 7은 평균 인코딩 레이트를 감소시키는 방법 (700) 의 하나의 구성을 예시하는 흐름도이다. 방법 (700) 은 도 6에 관련하여 설명된 레이트 감소 알고리즘의 하나의 예일 수도 있다. 예를 들어, 방법 (700) 은 제 1 평균 레이트가 타겟 레이트보다 더 큰 경우 수행될 수도 있다.
전자 디바이스 (340) 는 제 1 임계 (예컨대, TH CN ) 이 제 1 임계 최대치 (예컨대, TH CNmax ) 이상인지를 결정할 수도 있다 (702). 제 1 임계가 제 1 임계 최대치 이상이 아니면, 전자 디바이스 (340) 는 제 1 임계를 증가시킬 수도 있다 (712). 예를 들어, 전자 디바이스 (340) 는 제 1 임계를 제 1 임계 더하기 제 1 임계 사이즈 계수로 증가시킬 수도 있다. 제 1 임계 사이즈 계수는 제 1 임계를 증가시키는 양 (예컨대, 스텝 사이즈) 을 특정할 수도 있다. 전자 디바이스 (340) 는 그 다음에 도 6에 관련하여 설명된 바와 같이 다음 프레임을 프로세싱하기 위해 리턴할 수도 있다.
제 1 임계가 제 1 임계 최대치 이상이면, 전자 디바이스 (340) 는 프레임 패턴 모드가 레이트증가 프레임 패턴인지의 여부 및 제 2 평균 레이트 (예컨대, 단기 평균 레이트) 가 타겟 레이트보다 더 큰지의 여부를 결정할 수도 있다 (704). 프레임 패턴 모드가 레이트증가 프레임 패턴을 나타내고 제 2 평균 레이트가 타겟 레이트보다 더 크면, 전자 디바이스 (340) 는 레이트감소 프레임 패턴을 나타내는 프레임 패턴 모드를 설정할 수도 있다 (714). 전자 디바이스 (340) 는 그 다음에 도 6에 관련하여 설명된 바와 같이 다음 프레임을 프로세싱하기 위해 리턴할 수도 있다.
프레임 패턴 모드가 레이트증가 프레임 패턴을 나타내지 않거나 또는 제 2 평균 레이트가 타겟 레이트보다 더 크지 않으면, 전자 디바이스 (340) 는 프레임 패턴 모드가 레이트감소 프레임 패턴을 나타내는지의 여부와 제 2 평균 레이트가 타겟 레이트보다 더 큰지의 여부를 결정할 수도 있다 (706). 프레임 패턴 모드가 레이트감소 프레임 패턴을 나타내지 않거나 또는 제 2 평균 레이트가 타겟 레이트보다 더 크지 않으면, 전자 디바이스 (340) 는 도 6에 관련하여 설명된 바와 같이 다음 프레임을 프로세싱하기 위해 리턴할 수도 있다. 프레임 패턴 모드가 레이트감소 프레임 패턴을 나타내고 제 2 평균 레이트가 타겟 레이트보다 더 크면, 전자 디바이스 (340) 는 제 1 프레임 조정 임계 세트 (예컨대, 이완된 프레임 조정 임계 세트) 를 나타내는 프레임 조정 모드를 설정할 수도 있다 (708).
전자 디바이스 (340) 는 제 1 평균 레이트가 타겟 레이트 더하기 제 1 레이트 허용오차보다 더 큰지를 결정할 수도 있다 (710). 제 1 레이트 허용오차는 타겟 레이트를 초과하는 양을 특정한다. 장기 평균 레이트가 타겟 레이트 더하기 제 1 레이트 허용오차보다 더 크면, 전자 디바이스 (340) 는 제 1 유성화 임계 세트 (예컨대, 이완된 유성화 임계 세트) 를 나타내는 유성화 임계 모드를 설정할 수도 있다 (716). 전자 디바이스 (340) 는 도 6에 관련하여 설명된 바와 같이 다음 프레임을 프로세싱하기 위해 리턴할 수도 있다. 장기 평균 레이트가 타겟 레이트 더하기 제 1 레이트 허용오차보다 더 크지 않으면, 전자 디바이스 (340) 는 도 6에 관련하여 설명된 바와 같이 다음 프레임을 프로세싱하기 위해 리턴할 수도 있다.
도 7에서 관찰될 수 있는 바와 같이, 도 3에 관련하여 설명된 바와 같이 제 1 임계를 결정하는 것 (및 제 1 임계에 기초하여 적어도 하나의 다른 임계를 결정하는 것), 프레임 패턴을 결정하는 것, 프레임 조정 모드를 설정하는 것 (예컨대, 프레임 조정 임계들을 조정하는 것) 및/또는 적어도 하나의 유성화 임계를 (직접적으로) 조정하는 것이 점증적으로 구현될 수도 있다. 예를 들어, 제 1 평균 레이트가 타겟 레이트를 초과하면, 연속하는 부가적인 절차들이 타겟 레이트가 도달되기까지 수행될 수도 있다. 예를 들면, 아이템 (1) 을 수행하는 것이 타겟 레이트에 도달하지 않으면, 모든 아이템들 (1) ~ (4) 가 평균 레이트를 감소시키기 위해 수행되고 있기까지 아이템 (1) 과 아이템 (2) 는 수행될 수도 있다는 등이다.
도 8은 평균 인코딩 레이트를 증가시키는 방법 (800) 의 하나의 구성을 예시하는 흐름도이다. 방법 (800) 은 도 6에 관련하여 설명된 레이트 증가 알고리즘의 하나의 예일 수도 있다. 예를 들어, 방법 (800) 은 제 1 평균 레이트가 타겟 레이트보다 더 크지 않을 때 수행될 수도 있다.
전자 디바이스 (340) 는 제 2 유성화 임계 세트 (예컨대, 긴장된 유성화 임계 세트) 를 나타내는 유성화 임계 모드를 설정할 수도 있다 (802). 이는 더 많은 포괄 프레임들이 생겨나게 할 수도 있다. 포괄 프레임들 (예컨대, 과도 프레임들) 은 하이 레이트 인코더 (예컨대, 전이 ACELP 인코더) 로 인코딩될 수도 있다.
전자 디바이스 (340) 는 프레임 조정 임계 모드가 제 1 프레임 조정 임계 세트 (예컨대, 이완된 프레임 조정 임계 세트) 를 나타내는지의 여부를 결정할 수도 있다 (804). 프레임 조정 임계 모드가 제 1 프레임 조정 임계 세트를 나타내면, 전자 디바이스 (340) 는 제 2 프레임 조정 임계 세트 (예컨대, 긴장된 프레임 조정 임계 세트) 를 나타내는 프레임 조정 임계 모드를 설정할 수도 있다 (814). 전자 디바이스 (340) 는 그 다음에 도 6에 관련하여 설명된 바와 같이 다음 프레임을 프로세싱하기 위해 리턴할 수도 있다.
프레임 조정 임계 모드가 제 1 프레임 조정 임계 세트를 나타내지 않으면, 전자 디바이스 (340) 는 프레임 패턴 모드가 레이트감소 프레임 패턴을 나타내는지의 여부를 결정할 수도 있다 (806). 프레임 패턴 모드가 레이트감소 프레임 패턴을 나타내면, 전자 디바이스 (340) 는 레이트증가 프레임 패턴을 나타내는 프레임 패턴 모드를 설정할 수도 있다 (816). 전자 디바이스 (340) 는 그 다음에 도 6에 관련하여 설명된 바와 같이 다음 프레임을 프로세싱하기 위해 리턴할 수도 있다.
프레임 패턴 모드가 레이트감소 프레임 패턴을 나타내지 않으면, 전자 디바이스 (340) 는 제 1 임계가 제 1 임계 최소치 이상인지를 결정할 수도 있다 (808). 제 1 임계가 제 1 임계 최소치 이상이면, 전자 디바이스 (340) 는 제 1 임계를 제 1 임계 빼기 제 2 임계 사이즈 계수로 감소시킬 수도 있다 (818). 제 2 임계 사이즈 계수는 제 1 임계를 감소시키기 위한 양 (예컨대, 스텝 사이즈) 을 특정할 수도 있다. 전자 디바이스 (340) 는 그 다음에 도 6에 관련하여 설명된 바와 같이 다음 프레임을 프로세싱하기 위해 리턴할 수도 있다.
제 1 임계가 제 1 임계 최소치 이상이 아니면, 전자 디바이스 (340) 는 제 1 평균 레이트가 타겟 레이트 빼기 제 2 레이트 허용오차 미만인지를 결정할 수도 있다 (810). 제 2 레이트 허용오차는 타겟 레이트 미만의 양을 특정한다. 제 1 평균 레이트가 타겟 레이트 빼기 제 2 레이트 허용오차 미만이 아니면, 전자 디바이스 (340) 는 도 6에 관련하여 설명된 바와 같이 다음 프레임을 프로세싱하기 위해 리턴할 수도 있다.
제 1 평균 레이트가 타겟 레이트 빼기 제 2 레이트 허용오차 미만이면, 전자 디바이스 (340) 는 평균 인코딩 레이트를 증가시키기 위해 하나 이상의 로우 레이트 프레임들을 하나 이상의 하이 레이트 프레임들로 이동시킬 수도 있다 (812). 일부 구성들에서, 이는 (예를 들어, 위에서 설명된 바와 같은) EVRC-B 레이트 제어 알고리즘에 기초할 수도 있다. 전자 디바이스 (340) 는 도 6에 관련하여 설명된 바와 같이 다음 프레임을 프로세싱하기 위해 리턴할 수도 있다.
도 8에서 관찰될 수 있는 바와 같이, 도 3에 관련하여 설명된 바와 같이 제 1 임계를 결정하는 것 (및 제 1 임계에 기초하여 적어도 하나의 다른 임계를 결정하는 것), 프레임 패턴을 결정하는 것, 프레임 조정 모드를 설정하는 것 (예컨대, 프레임 조정 임계들을 조정하는 것) 및/또는 적어도 하나의 유성화 임계를 (직접적으로) 조정하는 것이 (도 7에 관련하여 설명된 방법 (700) 에 비하여 반대의 효과로 및 역 순으로) 점증적으로 구현될 수도 있다. 예를 들어, 방법 (800) 은 도 7에 관련하여 설명된 방법 (700) 에서 취해진 대책들을 점증적으로 반대로 할 수도 있다. 예를 들면, 제 1 평균 레이트가 타겟 레이트 미만이면, 연속하는 부가적인 절차들이 타겟 레이트가 도달되기까지 수행될 수도 있다.
도 9는 유성화 임계 세트들 (976a~976b) 의 예들을 도시하는 도면이다. 도 9에 예시된 수평 치수는 유성화의 측정치 (예컨대, 유성화 벡터) 에 대응한다. 이 유성화 측정치는 측정의 단위를 가지지 않을 수도 있다. 유성화 측정치는 도 9에 예시된 수평 축들을 따라 우측을 향해 증가할 수도 있다. 특히, 도 9는 유성화 임계들 (978, 968) 이 조정될 수도 있는 방법의 일 예를 도시한다. 제 1 유성화 임계 세트 (976a) (예컨대, 이완된 유성화 임계 세트) 는 하위 유성화 임계 A (978a) 와 상위 유성화 임계 A (968a) 를 포함할 수도 있다. 제 2 유성화 임계 세트 (976b) (예컨대, 긴장된 유성화 임계 세트) 는 하위 유성화 임계 A (978a) 와 상위 유성화 임계 A (968a) 를 포함할 수도 있다.
제 2 유성화 임계 세트 (976b) 는 제 1 평균 레이트가 레이트 제약조건 내에 있는 경우 (예컨대, 제 1 평균 레이트가 타겟 레이트 더하기 제 1 허용오차 이하인 경우) 이용될 수도 있다. 제 1 유성화 임계 세트 (976a) 는 유성음 및 무성음 프레임들을 증가시킬 수도 있다. 다르게 말하면, 제 2 유성화 임계 세트 (976b) 에 포함된 유성화 임계들 (978b, 968b) 은 더 적은 포괄 프레임들이 생겨나도록 제 1 유성화 임계 세트 (976a) 에 포함된 유성화 임계들 (978a, 968a) 에 대해 조정될 수도 있다. 유성화 임계들을 조정하는 것은 직접 임계 조정의 하나의 예일 수도 있다는 것에 주의해야 한다. 예를 들면, 제 1 평균 레이트에 기초한 유성화 임계 세트의 조정은 임계 세트의 직접 조정의 하나의 예일 수도 있다.
임계 세트들 (976a~976b) 은 프레임을 유성음 프레임, 무성음 프레임 또는 포괄 프레임으로서 분류하는데 이용될 수도 있다. 도 9에 예시된 바와 같이, 제 2 유성화 임계 세트 (976b) 는 무성음 프레임 범위 B (970b) 와 유성음 프레임 범위 B (974b) 를 제공하는데, 이들 범위들은 제 1 유성화 임계 세트 (976a) 에 의해 제공된 무성음 프레임 범위 A (970a) 및 유성음 프레임 범위 A (974a) 보다 더 크다. 더욱이, 제 2 유성화 임계 세트 (976b) 는 제 1 유성화 임계 세트 (976a) 에 의해 제공된 포괄 프레임 범위 A (972a) 보다 더 큰 포괄 프레임 범위 B (972b) 를 제공한다. 따라서, 프레임이 제 2 유성화 임계 세트 (976b) 와 비교되는 경우 제 1 유성화 임계 세트 (976a) 에 기초하여 유성음 프레임 또는 무성음 프레임로서 분류될 가능성이 더 높다.
예를 들어, 더 많은 유성음 프레임들과 무성음 프레임들은 유성음 프레임들에 대한 (예를 들어, 2.8 kbps에서의) QPPP 프레임들과 (예를 들어, 2.8 kbps에서의) 무성음 프레임들에 대한 NELP 프레임들이 더 많아지게 할 수도 있으며, 이는 평균 인코딩 레이트를 감소시킬 수도 있다. 대안으로, 더 많은 포괄 프레임들이 (예를 들어, 8.0 kbps에서) 더 많은 전이 ACELP 프레임들이 생기게 하며, 이는 평균 인코딩 레이트를 증가시킬 수도 있다.
도 10은 인코딩 레이트 제어기 (1042) 의 하나의 구성을 도시하는 블록도이다. 도 10에 관련하여 설명된 인코딩 레이트 제어기 (1042) 는 도 3에 관련하여 설명된 인코딩 레이트 제어기 (342) 의 하나의 예일 수도 있다. 인코딩 레이트 제어기 (1042) 는 평균 레이트 결정 모듈 (1044), 프레임 패턴 결정 모듈 (1082), 임계 결정 모듈 (1046) 및/또는 인코딩 레이트 결정 모듈 (1090) 을 포함할 수도 있다. 인코딩 레이트 제어기 (1042) 의 컴포넌트들 중의 하나 이상은 하드웨어 (예컨대, 회로), 소프트웨어 또는 양자 모두의 조합으로 구현될 수도 있다.
인코딩 레이트 제어기 (1042) 는 타겟 레이트 (1080), 메트릭 (1052) 및 인코딩 정보 (1058) 에 기초하여 평균 인코딩 레이트를 제어할 수도 있다. 인코딩 레이트 제어기 (1042) 는 타겟 레이트 (1080) 에 매칭하는 것을 시도함으로써 평균 인코딩 레이트를 제어할 수도 있다. 타겟 레이트 (1080) 는 다른 디바이스 (예컨대, 기지국) 로부터 수신될 수도 있거나 또는 미리 결정될 수도 있다.
인코딩 레이트 제어기 (1042) 는 스피치 신호의 프레임을 인코딩하기 위한 인코더를 선택하기 위해 인코딩 레이트 표시자 (1066) 를 제공할 수도 있다. 인코딩 레이트 표시자 (1066) 는 특정 인코더, 레이트 및/또는 프레임 유형을 특정한다. 하나 이상의 인코더들이 인코딩 정보 (1058) 를 인코딩 레이트 제어기 (1042) 에 제공할 수도 있다. 예를 들어, 인코딩 정보 (1058) 는 진폭 에러 메트릭 (예컨대, amperror) 과 저대역 이득 변경 메트릭 (예컨대, ΔLgainE) 을 포함할 수도 있다. 대안으로, 인코딩 레이트 제어기 (1042) 는 인코딩 정보 (1058) 에 기초하여 진폭 에러 메트릭과 저대역 이득 변경 메트릭을 결정할 수도 있다. 일부 구성들에서, 인코딩 정보 (1058) 는 프레임 인코딩 레이트를 포함할 수도 있다. 부가적으로 또는 대안으로, 인코딩 레이트 제어기 (1042) 는 인코딩 레이트 표시자 (1066) 에 의해 나타내어진 바와 같은 프레임 인코딩 레이트를 획득할 수도 있다.
평균 레이트 결정 모듈 (1044) 은 제 1 평균 레이트 (예컨대, 장기 평균 레이트 또는 R LT ) 를 결정할 수도 있다. 평균 레이트 결정 모듈 (1044) 은 단기 평균 레이트 (예컨대, R lastNframes ) 를 또한 결정할 수도 있다. 이는 도 3 및/또는 수식 (1) 에 관련하여 위에서 설명된 바와 같이 달성될 수도 있다. 예를 들면, 평균 레이트 결정 모듈 (1044) 은 각각의 프레임을 위해 이용된 프레임 인코딩 레이트에 기초하여 단기 평균 레이트 및/또는 장기 평균 레이트를 결정할 수도 있다. 인코딩 레이트 제어기 (1042) 는 평균 인코딩 레이트를 제어하기 위해 단기 평균 레이트 및/또는 장기 평균 레이트를 이용할 수도 있다.
임계 결정 모듈 (1046) 은 하나 이상의 임계들을 결정할 수도 있다. 예를 들어, 임계 결정 모듈 (1046) 은 제 1 임계 결정 모듈 (1084), 프레임 조정 임계 결정 모듈 (1086) 및/또는 유성화 임계 결정 모듈 (1088) 을 포함할 수도 있다.
제 1 임계 결정 모듈 (1084) 은 제 1 평균 레이트에 기초하여 제 1 임계 (예컨대, TH CN ) 을 결정할 수도 있다. 이는 위에서 설명된 바와 같이 달성될 수도 있다. 예를 들어, 제 1 평균 레이트 (예컨대, R LT ) 가 타겟 레이트 (1080) (예컨대, R target ) 보다 더 크고 제 1 임계가 제 1 임계 최대치 미만이면, 임계 결정 모듈 (1046) 은 제 1 임계를 제 1 임계 사이즈 계수만큼 증가시킬 수도 있다. 그러나, 제 1 평균 레이트 (예컨대, R LT ) 가 타겟 레이트 (1080) 이하이면, 임계 결정 모듈 (1046) 은 제 1 임계를 제 2 임계 사이즈 계수만큼 감소시킬 수도 있다. 제 1 임계는 인코딩 레이트 결정 모듈 (1090) 에 제공될 수도 있다.
프레임 조정 임계 결정 모듈 (1086) 은 제 1 임계 및 메트릭 (1052) 에 기초하여 프레임 조정 임계 세트를 결정할 수도 있다. 이는 위에서 설명된 바와 같이 달성될 수도 있다. 예를 들어, 제 1 임계는 SNR 임계일 수도 있고 메트릭 (1052) 은 SNR일 수도 있다. SNR이 제 1 임계보다 더 크면, 프레임 조정 결정 모듈 (1086) 은 제 1 프레임 조정 임계 세트를 선택할 수도 있다. SNR이 제 1 임계보다 더 크지 않으면, 프레임 조정 결정 모듈 (1086) 은 제 2 프레임 조정 임계 세트를 선택할 수도 있다. 이는 프레임 조정 임계 세트를 간접적으로 조정하는 하나의 예인데, 프레임 조정 임계 세트가 제 1 임계에 기초하여 결정되어서이다. 프레임 조정 임계 세트는 인코딩 레이트 결정 모듈 (1090) 에 제공될 수도 있다.
프레임 패턴 결정 모듈 (1082) 은 프레임 패턴을 결정할 수도 있다. 이는 위에서 설명된 바와 같이 달성될 수도 있다. 예를 들어, 제 1 평균 레이트가 타겟 레이트 (1080) 보다 더 크면, 제 1 임계가 제 1 임계 최대치 이상이면, 프레임 패턴 모드가 레이트증가 프레임 패턴을 나타내면 그리고 제 2 평균 레이트 (예컨대, 단기 평균 레이트 또는 R lastNframes ) 가 타겟 레이트 (1080) 보다 더 크면, 프레임 패턴 결정 모듈 (1082) 은 레이트감소 프레임 패턴을 나타내는 프레임 패턴 모드를 설정할 수도 있다. 프레임 패턴 모드는 인코딩 레이트 결정 모듈 (1090) 에 제공될 수도 있다.
프레임 조정 임계 결정 모듈 (1086) 은 제 1 평균 레이트에 기초하여 프레임 조정 임계 세트를 조정할 수도 있다. 이는 위에서 설명된 바와 같이 달성될 수도 있다. 예를 들어, 제 1 평균 레이트가 타겟 레이트 (1080) 보다 더 크면, 제 1 임계가 제 1 임계 최대치 이상이면, 프레임 패턴 모드가 레이트감소 프레임 패턴을 나타내고 제 2 평균 레이트가 타겟 레이트 (1080) 보다 더 크면, 프레임 조정 임계 결정 모듈 (1086) 은 제 1 프레임 조정 설정 임계 세트를 나타내는 프레임 조정 모드를 설정할 수도 있다. 프레임 조정 모드는 인코딩 레이트 결정 모듈 (1090) 에 제공될 수도 있다. 프레임 조정 임계들은 일부 구성들에서 직접적으로 제어되지 않을 수도 있다는 것에 주의해야 한다. 예를 들어, 프레임 조정 임계들은 제 1 임계에 의존할 수도 있다.
유성화 임계 결정 모듈 (1088) 은 제 1 평균 레이트에 기초하여 유성화 임계 세트를 조정할 수도 있다. 이는 위에서 설명된 바와 같이 달성될 수도 있다. 예를 들어, 제 1 평균 레이트가 타겟 레이트 (1080) 보다 더 크면, 제 1 임계가 제 1 임계 최대치 이상이면, 프레임 패턴 모드가 레이트감소 프레임 패턴을 나타내고 제 2 평균 레이트가 타겟 레이트 (1080) 보다 더 크면 그리고 제 1 평균 레이트가 타겟 레이트 (1080) 더하기 제 1 허용오차보다 더 크면, 유성화 임계 결정 모듈 (1088) 은 제 1 유성화 임계 세트를 나타내는 유성화 임계 모드를 설정할 수도 있다. 유성화 임계 모드는 인코딩 레이트 결정 모듈 (1090) 로 제공될 수도 있다.
인코딩 레이트 결정 모듈 (1090) 은 메트릭 (1052), 제 1 임계, 프레임 패턴 모드, 프레임 조정 모드, 유성화 임계 모드 및/또는 인코딩 정보 (1058) 에 기초하여 인코딩 레이트 표시자 (1066) 를 결정할 수도 있다. 일부 구성들에서, 인코딩 레이트 결정 모듈 (1090) 은 프레임을 깨끗한 또는 잡음성으로서 먼저 분류한 다음, 유성음 또는 무성음으로서 분류할 수도 있다. 그 다음에, 인코딩 레이트 결정 모듈 (1090) 은 프레임 패턴을 부과 또는 강제할 수도 있다. 마지막으로, 인코딩 레이트 결정 모듈 (1090) 은 프레임을 "범프업"할지의 여부를 결정할 수도 있다. 그러나, 나중의 상태에서의 결정이 더 이전의 결정을 변경하는 일부 경우들이 있을 수도 있다. 인코딩 레이트 표시자 (1066) 는 위에서 설명된 바와 같이 프레임을 인코딩하는 인코더를 선택하기 위해 이용될 수도 있다.
도 11은 평균 인코딩 레이트를 제어하는 방법 (1100) 의 더욱 구체적인 다른 구성을 예시하는 흐름도이다. 특히, 도 11은 도 4, 도 6, 도 7 및 도 8 중 하나 이상에 관련하여 위에서 설명된 바와 같은 방법들 (400, 600, 700, 800) 중 하나 이상의 방법의 더 구체적인 예를 도시한다. 표 2 는 도 11에서 사용되는 용어들 및 심볼들의 요약을 제공한다.
용어/심볼 설명
QQFmode 프레임 패턴 모드의 하나의 예. QQFmode = 1 은 레이트감소 프레임 패턴이 이용됨을 나타낸다. QQFmode = 0 은 레이트증가 프레임 패턴이 이용됨을 나타낸다.
TH CN 제 1 임계의 하나의 예.
TH CNmax 제 1 임계 최대치의 하나의 예.
TH CNmin 제 1 임계 최소치의 하나의 예.
RelaxBMPmode 프레임 조정 임계 모드의 하나의 예. RelaxBMPmode = 1 은 이완된 프레임 임계 세트가 이용됨을 나타낸다. RelaxBMPmode = 1 은 긴장된 프레임 임계 세트가 이용됨을 나타낸다.
R LT 장기 평균 레이트의 하나의 예.
R lastNframes 단기 평균 레이트의 하나의 예.
R target 타겟 레이트의 하나의 예.
Δ tol 1 제 1 레이트 허용오차의 하나의 예 (예컨대, 6.1 kbps 타겟 레이트에 대해 0.1 kbps로 설정됨).
Δ tol 2 제 2 레이트 허용오차의 하나의 예 (예컨대, 6.1 kbps 타겟 레이트에 대해 0.05 kbps로 설정됨).
Δ th 1 제 1 임계 사이즈 계수의 하나의 예 (예컨대, TH CN 을 증가시키는 양).
Δ th 2 제 2 임계 사이즈 계수의 하나의 예 (예컨대, TH CN 을 감소시키는 양).
RelaxVmode 유성화 임계 모드의 하나의 예. RelaxVmode = 1은 이완된 유성화 임계 세트 (예컨대, 더 많은 QPPP 및 NELP 프레임들) 가 이용됨을 나타낸다. RelaxVmode = 0 은 긴장된 유성화 임계 세트가 이용됨을 나타낸다.
전자 디바이스 (340) 가 코딩을 시작할 수도 있다 (1102). 예를 들어, 전자 디바이스 (340) 는 위에서 설명된 바와 같이 스피치 신호를 획득할 수도 있고 스피치 신호를 인코딩하는 것을 시작할 수도 있다.
전자 디바이스 (340) 는 QQFmode = 1, TH CN = TH CNmax , RelaxBMPmode = 1 및 RelaxVmode = 0을 설정할 수도 있다 (1104). 이는 디폴트 파라미터들을 위에서 설명된 바와 같이 설정하는 하나의 예이다.
전자 디바이스 (340) 는 N 프레임 블록이 도달되었는지의 여부를 결정할 수도 있다 (1106). 이는 위에서 설명된 바와 같이 달성될 수도 있다. N 프레임 블록이 도달되지 않았다면, 전자 디바이스 (340) 는 다음 프레임을 프로세싱할 수도 있다 (1108). 이는 위에서 설명된 바와 같이 달성될 수도 있다.
N 프레임 블록이 도달되었다면, 전자 디바이스 (340) 는 R LT R lastNframes 를 결정할 수도 있다 (1110). R LT R lastNframes 는 위에서 설명된 바와 같이 결정될 수도 있다 (1110).
전자 디바이스 (340) 는 R LT > R target 인지를 결정할 수도 있다 (1112). R LT > R target 이면, 전자 디바이스 (340) 는 TH CN TH CNmax 인지를 결정할 수도 있다 (1114). TH CN < TH CNmax 이면, 전자 디바이스 (340) 는 TH CN = TH CN + Δth1을 설정할 수도 있다 (1124). 전자 디바이스 (340) 는 다음 프레임을 프로세싱하기 위해 (1108) 리턴할 수도 있다.
TH CN TH CNmax 이면, 전자 디바이스 (340) 는 QQFmode == 0 인지의 여부와 R lastNframes > R target 인지의 여부를 결정할 수도 있다 (1116). QQFmode == 0 이고 R lastNframes > R target 이면, 전자 디바이스 (340) 는 QQFmode = 1을 설정할 수도 있다 (1126). 전자 디바이스 (340) 는 다음 프레임을 프로세싱하기 위해 (1108) 리턴할 수도 있다.
QQFmode == 1 또는 R lastNframes R target 이면, 전자 디바이스 (340) 는 QQFmode == 1 인지의 여부와 R lastNframes > R target 인지의 여부를 결정할 수도 있다 (1118). QQFmode == 0 또는 R lastNframes R target 이면, 전자 디바이스 (340) 는 다음 프레임을 프로세싱하기 위해 (1108) 리턴할 수도 있다. QQFmode == 1 이고 R lastNframes > R target 이면, 전자 디바이스 (340) 는 RelaxBMPmode = 1 을 설정할 수도 있다 (1120).
전자 디바이스 (340) 는 R LT > R target + Δ tol 1 인지를 결정할 수도 있다 (1122). R LT > R target + Δ tol 1 이면, 전자 디바이스 (340) 는 RelaxVmode = 1을 설정할 수도 있다 (1128). 전자 디바이스 (340) 는 다음 프레임을 프로세싱하기 위해 (1108) 리턴할 수도 있다. R LT R target + Δ tol 1 이면, 전자 디바이스 (340) 는 다음 프레임을 프로세싱하기 위해 (1108) 리턴할 수도 있다.
R LT R target 이면, 전자 디바이스 (340) 는 RelaxVmode = 0을 설정할 수도 있다 (1130). 전자 디바이스 (340) 는 RelaxBMPmode == 1인지의 여부를 결정할 수도 있다 (1132). RelaxBMPmode == 1이면, 전자 디바이스 (340) 는 RelaxBMPmode = 0을 설정할 수도 있다 (1142). 전자 디바이스 (340) 는 다음 프레임을 프로세싱하기 위해 (1108) 리턴할 수도 있다.
RelaxBMPmode == 0이면, 전자 디바이스 (340) 는 QQFmode == 1인지의 여부를 결정할 수도 있다 (1134). QQFmode == 1이면, 전자 디바이스 (340) 는 QQFmode = 0을 설정할 수도 있다 (1144). 전자 디바이스 (340) 는 다음 프레임을 프로세싱하기 위해 (1108) 리턴할 수도 있다.
QQFmode == 0이면, 전자 디바이스 (340) 는 TH CN TH CNmin 인지를 결정할 수도 있다 (1136). TH CN TH CNmin 이면, 전자 디바이스 (340) 는 TH CN = TH CN - Δ t h2 를 설정할 수도 있다 (1146). 전자 디바이스 (340) 는 다음 프레임을 프로세싱하기 위해 (1108) 리턴할 수도 있다.
TH CN < TH CNmin 이면, 전자 디바이스 (340) 는 R LT < R target - Δ tol 2 인지를 결정할 수도 있다 (1138). R LT R target + Δ tol1 이면, 전자 디바이스 (340) 는 다음 프레임을 프로세싱하기 위해 (1108) 리턴할 수도 있다.
R LT < R target - Δ tol 2 이면, 전자 디바이스 (340) 는 평균 인코딩 레이트를 증가시키기 위해 하나 이상의 로우 레이트 프레임들을 하나 이상의 하이 레이트 프레임들로 이동시킬 수도 있다 (1140). 일부 구성들에서, 이는 EVRC-B 레이트 제어 알고리즘에 기초할 수도 있다. 전자 디바이스 (340) 는 다음 프레임을 프로세싱하기 위해 (1108) 리턴할 수도 있다.
도 12는 평균 인코딩 레이트를 제어하는 시스템들 및 방법들이 구현될 수도 있는 무선 통신 디바이스 (1240) 의 하나의 구성을 예시하는 블록도이다. 도 12에 예시된 무선 통신 디바이스 (1240) 는 위에서 설명된 전자 디바이스들 중 적어도 하나의 일 예일 수도 있다. 무선 통신 디바이스 (1240) 는 애플리케이션 프로세서 (1211) 를 구비할 수도 있다. 애플리케이션 프로세서 (1211) 는 일반적으로 명령들을 프로세싱하여 (예컨대, 프로그램들을 실행시켜) 무선 통신 디바이스 (1240) 상의 기능들을 수행한다. 애플리케이션 프로세서 (1211) 는 오디오 코더/디코더 (코덱) (1209) 에 커플링될 수도 있다.
오디오 코덱 (1209) 은 오디오 신호들을 코딩 및/또는 디코딩하는데 사용될 수도 있다. 오디오 코덱 (1209) 은 적어도 하나의 스피커들 (1201), 이어피스 (1203), 출력 잭 (1205) 및/또는 적어도 하나의 마이크로폰 (1207) 에 커플링될 수도 있다. 스피커들 (1201) 은 전기 또는 전자 신호들을 음향 신호들로 변환하는 하나 이상의 전기음향 트랜스듀서들을 구비할 수도 있다. 예를 들어, 스피커들 (1201) 은 음악을 재생하거나 또는 스피커폰 대화를 출력하는 등을 위해 사용될 수도 있다. 이어피스 (1203) 는 음향 신호들 (예컨대, 스피치 신호들) 을 사용자에게 출력하는데 사용될 수 있는 다른 스피커 또는 전기음향 트랜스듀서일 수도 있다. 예를 들어, 이어피스 (1203) 는 사용자만이 음향 신호를 확실히 들을 수 있도록 사용될 수도 있다. 출력 잭 (1205) 은 오디오를 출력하는 다른 디바이스들, 이를테면 헤드폰들을 무선 통신 디바이스 (1240) 에 커플링하기 위해 사용될 수도 있다. 스피커들 (1201), 이어피스 (1203) 및/또는 출력 잭 (1205) 은 오디오 코덱 (1209) 으로부터의 오디오 신호를 출력하기 위해 일반적으로 사용될 수도 있다. 적어도 하나의 마이크로폰 (1207) 은 음향 신호 (이를테면 사용자의 음성) 를 오디오 코덱 (1209) 에 제공되는 전기 또는 전자 신호들로 변환하는 음향-전기 트랜스듀서일 수도 있다.
오디오 코덱 (1209) (예컨대, 디코더) 은 인코딩 레이트 제어기 (1242) 를 구비할 수도 있다. 인코딩 레이트 제어기 (1242) 는 위에서 설명된 인코딩 레이트 제어기들 (342, 1042) 중 적어도 하나의 일 예일 수도 있다. 일부 구성들에서, 오디오 코덱 (1209) 은 다수의 인코더들 (예컨대, 인코더들 (356a~356n)) 을 구비할 수도 있다.
애플리케이션 프로세서 (1211) 는 전력 관리 회로 (1221) 에 또한 커플링될 수도 있다. 전력 관리 회로 (1221) 의 하나의 예는 무선 통신 디바이스 (1240) 의 소비 전력을 관리하는데 사용될 수도 있는 전력 관리 집적회로 (power management integrated circuit; PMIC) 이다. 전력 관리 회로 (1221) 는 배터리 (1223) 에 커플링될 수도 있다. 배터리 (1223) 는 전력을 무선 통신 디바이스 (1240) 에 일반적으로 제공할 수도 있다. 예를 들어, 배터리 (1223) 및/또는 전력 관리 회로 (1221) 는 무선 통신 디바이스 (1240) 에 포함된 엘리먼트들 중 적어도 하나에 커플링될 수도 있다.
애플리케이션 프로세서 (1211) 는 입력을 수신하기 위해 적어도 하나의 입력 디바이스 (1225) 에 커플링될 수도 있다. 입력 디바이스들 (1225) 의 예들은 적외선 센서들, 이미지 센서들, 가속도계들, 터치 센서들, 키패드들 등을 포함한다. 입력 디바이스들 (1225) 은 무선 통신 디바이스 (1240) 와의 사용자 상호작용을 허용할 수도 있다. 애플리케이션 프로세서 (1211) 는 하나 이상의 출력 디바이스들 (1227) 에 또한 커플링될 수도 있다. 출력 디바이스들 (1227) 의 예들은 프린터들, 프로젝터들, 스크린들, 햅틱 디바이스들 등을 포함한다. 출력 디바이스들 (1227) 은 무선 통신 디바이스 (1240) 가 사용자가 경험할 수도 있는 출력을 생성하는 것을 허용할 수도 있다.
애플리케이션 프로세서 (1211) 는 애플리케이션 메모리 (1229) 에 커플링될 수도 있다. 애플리케이션 메모리 (1229) 는 전자 정보를 저장할 수 있는 임의의 전자 디바이스일 수도 있다. 애플리케이션 메모리 (1229) 의 예들은 이중 데이터 레이트 동기식 다이나믹 랜덤 액세스 메모리 (DDRAM), 동기식 다이나믹 랜덤 액세스 메모리 (SDRAM), 플래시 메모리 등을 포함한다. 애플리케이션 메모리 (1229) 는 애플리케이션 프로세서 (1211) 를 위한 스토리지를 제공할 수도 있다. 예를 들면, 애플리케이션 메모리 (1229) 는 애플리케이션 프로세서 (1211) 상에서 실행하는 프로그램들의 기능을 위한 데이터 및/또는 명령들을 저장할 수도 있다.
애플리케이션 프로세서 (1211) 는 디스플레이 제어기 (1231) 에 커플링될 수도 있으며, 그 디스플레이 제어기는 결국 디스플레이 (1233) 에 커플링될 수도 있다. 디스플레이 제어기 (1231) 는 디스플레이 (1233) 상에 이미지들을 생성하는데 사용되는 하드웨어 블록일 수도 있다. 예를 들어, 디스플레이 제어기 (1231) 는 애플리케이션 프로세서 (1211) 로부터의 명령들 및/또는 데이터를 디스플레이 (1233) 상에 제시될 수 있는 이미지들로 전환할 수도 있다. 디스플레이 (1233) 의 예들은 액정 디스플레이 (LCD) 패널들, 발광 다이오드 (LED) 패널들, 음극선관 (CRT) 디스플레이들, 플라즈마 디스플레이들 등을 포함한다.
애플리케이션 프로세서 (1211) 는 기저대역 프로세서 (1213) 에 커플링될 수도 있다. 기저대역 프로세서 (1213) 는 일반적으로 통신 신호들을 프로세싱한다. 예를 들어, 기저대역 프로세서 (1213) 는 수신된 신호들을 복조 및/또는 디코딩할 수도 있다. 부가적으로 또는 대안으로, 기저대역 프로세서 (1213) 는 송신을 대비하여 신호들을 인코딩 및/또는 변조할 수도 있다.
기저대역 프로세서 (1213) 는 기저대역 메모리 (1235) 에 커플링될 수도 있다. 기저대역 메모리 (1235) 는 전자 정보를 저장할 수 있는 임의의 전자 디바이스, 이를테면 SDRAM, DDRAM, 플래시 메모리 등일 수도 있다. 기저대역 프로세서 (1213) 는 기저대역 메모리 (1235) 로부터 정보 (예컨대, 명령들 및/또는 데이터) 를 읽고 및/또는 그 메모리에 정보를 쓸 수도 있다. 부가적으로 또는 대안으로, 기저대역 프로세서 (1213) 는 기저대역 메모리 (1235) 에 저장된 명령들 및/또는 데이터를 통신 동작들을 수행하기 위해 사용할 수도 있다.
기저대역 프로세서 (1213) 는 무선 주파수 (RF) 트랜시버 (1215) 에 커플링될 수도 있다. RF 트랜시버 (1215) 는 전력 증폭기 (1217) 와 하나 이상의 안테나들 (1219) 에 커플링될 수도 있다. RF 트랜시버 (1215) 는 무선 주파수 신호들을 송신 및/또는 수신할 수도 있다. 예를 들어, RF 트랜시버 (1215) 는 전력 증폭기 (1217) 및 적어도 하나의 안테나 (1219) 를 사용하여 RF 신호를 송신할 수도 있다. RF 트랜시버 (1215) 는 하나 이상의 안테나들 (1219) 을 사용하여 RF 신호들을 또한 수신할 수도 있다.
도 13은 전자 디바이스 (1340) 에서 이용될 수도 있는 다양한 컴포넌트들을 예시한다. 예시된 컴포넌트들은 동일한 물리적 구조 내에 또는 별개의 하우징들 또는 구조들 속에 위치될 수도 있다. 도 13에 관련하여 설명되는 전자 디바이스 (1340) 는 본원에서 설명되는 전자 디바이스들 중 하나 이상에 따라 구현될 수도 있다. 전자 디바이스 (1340) 는 프로세서 (1343) 를 구비한다. 프로세서 (1343) 는 범용 단일 또는 다중 칩 마이크로프로세서 (예컨대, ARM), 특수 목적 마이크로프로세서 (예컨대, 디지털 신호 프로세서 (DSP)), 마이크로제어기, 프로그램가능 게이트 어레이 등일 수도 있다. 프로세서 (1343) 는 중앙 프로세싱 유닛 (CPU) 이라고 지칭될 수도 있다. 비록 단일 프로세서 (1343) 만이 도 13의 전자 디바이스 (1340) 에서 보이고 있지만, 대체 구성에서, 프로세서들 (예컨대, ARM 및 DSP) 의 조합이 사용될 수 있다.
전자 디바이스 (1340) 는 프로세서 (1343) 와 전자 통신하는 메모리 (1337) 를 또한 구비한다. 다시 말하면, 프로세서 (1343) 는 메모리 (1337) 로부터 정보를 읽고 그리고/또는 그 메모리에 정보를 기록할 수 있다. 메모리 (1337) 는 전자 정보를 저장할 수 있는 임의의 전자 컴포넌트일 수도 있다. 메모리 (1337) 는 랜덤 액세스 메모리 (RAM), 판독전용 메모리 (ROM), 자기 디스크 스토리지 매체들, 광 저장 매체들, RAM형 플래시 메모리 디바이스들 (flash memory devices in RAM), 프로세서에 구비된 온 보드 (on-board) 메모리, 프로그램가능 판독 전용 메모리 (PROM), 소거가능 프로그램가능 판독 전용 메모리 (EPROM), 전기 소거가능 PROM (EEPROM), 레지스터들 등일 수도 있으며, 그것들의 조합들을 포함한다.
데이터 (1341a) 와 명령들 (1339a) 은 메모리 (1337) 에 저장될 수도 있다. 명령들 (1339a) 은 하나 이상의 프로그램들, 루틴들, 서브루틴들, 함수들, 프로시저들 등을 포함할 수도 있다. 명령들 (1339a) 은 단일 컴퓨터 판독가능 문 (statement) 또는 많은 컴퓨터 판독가능 문들을 포함할 수도 있다. 명령들 (1339a) 은 위에서 설명된 방법들, 함수들 및 프로시저들 중 하나 이상을 구현하기 위해 프로세서 (1343) 에 의해 실행가능할 수도 있다. 명령들 (1339a) 을 실행하는 것은 메모리 (1337) 에 저장되어 있는 데이터 (1341a) 의 사용을 수반할 수도 있다. 도 13은 프로세서 (1343) 속에 로딩되어 있는 일부 명령들 (1339b) 및 데이터 (1341b) (그것들은 명령들 (1339a) 및 데이터 (1341a) 로부터 비롯될 수도 있음) 를 보여준다.
전자 디바이스 (1340) 는 다른 전자 디바이스들과 통신하기 위한 하나 이상의 통신 인터페이스들 (1347) 을 또한 구비할 수도 있다. 통신 인터페이스들 (1347) 은 유선 통신 기술, 무선 통신 기술, 또는 양자 모두에 기초될 수도 있다. 상이한 유형들의 통신 인터페이스 (1347) 의 예들은 직렬 포트, 병렬 포트, 유니버셜 직렬 버스 (USB), 이더넷 어뎁터, IEEE 1394 버스 인터페이스, 소형 컴퓨터 시스템 인터페이스 (SCSI) 버스 인터페이스, 적외선 (IR) 통신 포트, 블루투스 무선 통신 어댑터 등을 포함한다.
전자 디바이스 (1340) 는 하나 이상의 입력 디바이스들 (1349) 및 하나 이상의 출력 디바이스들 (1353) 을 또한 구비할 수도 있다. 상이한 종류들의 입력 디바이스들 (1349) 의 예들은 키보드, 마우스, 마이크로폰, 원격 제어 디바이스, 버튼, 조이스틱, 트랙볼, 터치패드, 광전펜 (lightpen) 등을 포함한다. 예를 들면, 전자 디바이스 (1340) 는 음향 신호들을 캡처하는 하나 이상의 마이크로폰들 (1351) 을 구비할 수도 있다. 하나의 구성에서, 마이크로폰 (1351) 은 음향 신호들 (예컨대, 음성, 스피치) 을 전기 또는 전자 신호들로 변환하는 트랜스듀서일 수도 있다. 상이한 종류들의 출력 디바이스들 (1353) 의 예들은 스피커, 프린터 등을 포함한다. 예를 들면, 전자 디바이스 (1340) 는 하나 이상의 스피커들 (1355) 을 구비할 수도 있다. 하나의 구성에서, 스피커 (1355) 는 전기 또는 전자 신호들을 음향 신호들로 변환하는 트랜스듀서일 수도 있다. 전자 디바이스 (1340) 에 통상 포함될 수도 있는 출력 디바이스의 하나의 특정 유형은 디스플레이 디바이스 (1357) 이다. 본원에 개시된 구성들과 함께 사용되는 디스플레이 디바이스들 (1357) 은 임의의 적당한 이미지 투사 기술, 이를테면 음극선관 (CRT), 액정 디스플레이 (LCD), 발광 다이오드 (LED), 가스 플라즈마, 전계발광 등을 이용할 수도 있다. 디스플레이 제어기 (1359) 는 메모리 (1337) 에 저장된 데이터를 디스플레이 디바이스 (1357) 상에 보이는 텍스트, 그래픽스, 및/또는 움직이는 이미지들로 (적절히) 변환하기 위해 또한 제공될 수도 있다.
전자 디바이스 (1340) 의 다양한 컴포넌트들은, 파워 버스, 제어 신호 버스, 상태 신호 버스, 데이터 버스 등을 포함할 수도 있는 하나 이상의 버스들에 의해 서로 커플링될 수도 있다. 단순화를 위해, 다양한 버스들이 도 13에서 버스 시스템 (1345) 으로서 예시되어 있다. 도 13은 전자 디바이스 (1340) 의 하나의 가능한 구성만을 예시함에 주의해야 한다. 다양한 다른 아키텍처들 및 컴포넌트들이 이용될 수도 있다.
위의 설명에서, 참조 번호들은 때때로 다양한 용어들에 관련하여 사용되었다. 용어가 참조 번호에 관련하여 사용된 경우, 이것은 하나 이상의 도면들에서 보인 특정 엘리먼트를 지칭한다는 의미일 수도 있다. 용어가 참조 번호 없이 사용되는 경우, 이는 어떤 특정한 도면으로 한정하는 일 없이 그 용어를 일반적으로 지칭한다는 의미일 수도 있다.
용어 "결정하는 (determining)"은 매우 다양한 동작들을 포괄하고, 그러므로, "결정하는"은 계산하는 (calculating), 컴퓨팅하는 (computing), 프로세싱하는, 유도하는 (deriving), 조사하는 (investigating), 찾아보는 (looking up) (예컨대, 테이블, 데이터베이스 또는 다른 데이터 구조), 확인하는 (ascertaining) 등을 포함할 수 있다. 또한, "결정하는"은 수신하는 (예컨대, 정보를 수신하는), 액세스하는 (예컨대, 메모리 내의 데이터에 액세스하는) 등을 포함할 수 있다. 또한, "결정하는"은 해결하는 (resolving), 선택하는 (selecting), 선정하는 (choosing), 확립하는 등을 포함할 수도 있다.
어구 "에 기초하여 (based on)"는 "에만 기초하여 (based only on)"를 의미하지는 않지만 달리 특별히 명시하면 그러한 의미이다. 다르게 말하면, "에 기초하여"라는 어구는 "에만 기초하여" 및 "에 적어도 기초하여 (based at least on)" 양자 모두를 설명한다.
본원에서 설명되는 구성들 중 어느 하나에 관련하여 설명되는 특징들, 기능들, 절차들, 컴포넌트들, 엘리먼트들, 구조들 등 중 하나 이상은, 양립가능한 경우, 본원에서 설명되는 다른 구성들 중 임의의 것에 관련하여 설명되는 기능들, 절차들, 컴포넌트들, 엘리먼트들, 구조들 등 중 하나 이상과 조합될 수도 있다는 것에 주의해야 한다. 다르게 말하면, 본원에서 설명되는 기능들, 절차들, 컴포넌트들, 엘리먼트들 등의 임의의 양립가능 조합은 본원에 개시된 시스템들 및 방법들에 따라 구현될 수도 있다.
본원에서 설명된 기능들은 프로세서 판독가능 또는 컴퓨터 판독가능 매체 상에 하나 이상의 명령들로서 저장될 수도 있다. "컴퓨터 판독가능 매체"라는 용어는 컴퓨터 또는 프로세서에 의해 액세스될 수 있는 임의의 가용 매체를 말한다. 비제한적인 예로, 이러한 매체는 RAM, ROM, EEPROM, 플래시 메모리, CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지, 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수도 있고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 디스크 (disk 및 disc) 는 본원에서 사용되는 바와 같이, 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다용도 디스크 (DVD), 플로피 디스크 (floppy disk) 및 Blu-ray® 디스크를 포함하는데, disk들은 보통 데이터를 자기적으로 재생하지만, disc들은 레이저들로써 광적으로 데이터를 재생한다. 컴퓨터 판독가능 매체는 유형이고 비일시적일 수도 있다는 것에 주의해야 한다. "컴퓨터 프로그램 제품"이란 용어는 컴퓨팅 디바이스 또는 프로세서에 의해 실행, 처리 또는 계산될 수도 있는 코드 또는 명령들 (예컨대, "프로그램") 과 결합하는 컴퓨팅 디바이스 또는 프로세서를 말한다. 본원에서 사용되는 바와 같이, "코드"라는 용어는 컴퓨팅 디바이스 또는 프로세서에 의해 실행가능한 소프트웨어, 명령들, 코드 또는 데이터를 말할 수도 있다.
소프트웨어 또는 명령들은 송신 매체를 통해 또한 송신될 수도 있다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 자원으로부터 동축 케이블, 광섬유 케이블, 연선 (twisted pair), 디지털 가입자 회선 (DSL), 또는 무선 기술들 이를테면 적외선, 라디오, 및/또는 마이크로파를 이용하여 송신된다면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들은 송신 매체의 정의에 포함된다.
본원에 개시된 방법들은 설명된 방법을 성취하기 위한 하나 이상의 단계들 또는 액션들을 포함한다. 이 방법 단계들 및/또는 액션들은 청구항들의 범위로부터 벗어남 없이 서로 교환될 수도 있다. 다르게 말하면, 단계들 또는 액션들의 구체적인 순서가 설명되어 있는 방법의 적당한 순서를 필요로 하지 않는 한, 구체적인 단계들 및/또는 액션들의 순서 및/또는 사용은 청구항들의 범위로부터 벗어나는 일 없이 수정될 수도 있다.
청구항들이 본원에 도시된 바로 그 구성 및 구성요소들로 제한되지는 않는다는 것이 이해된다. 청구항들의 범위로부터 벗어나는 일없이 본원에서 설명된 시스템들, 방법들, 및 장치의 구성 (arrangement), 동작 및 세부사항들에서 갖가지 변형들, 변경들 및 변동들이 만들어질 수도 있다.

Claims (44)

  1. 전자 디바이스에 의해 평균 인코딩 레이트를 제어하는 방법으로서,
    스피치 신호를 획득하는 단계;
    상기 스피치 신호를 프레이밍하여 프레임들의 세트를 생성하는 단계;
    과거 프레임들에 기초하여 제 1 평균 레이트를 결정하는 단계;
    상기 제 1 평균 레이트가 타겟 레이트보다 큰지 여부, 또는 상기 제 1 평균 레이트가 상기 타겟 레이트 이하인지 여부를 결정하는 단계;
    상기 제 1 평균 레이트에 기초하여 제 1 임계를 결정하는 단계로서, 상기 제 1 임계는 프레임을 깨끗한 프레임 또는 잡음성 프레임으로서 분류하기 위한, 상기 제 1 임계를 결정하는 단계;
    상기 프레임들의 세트를 분류하기 위해, (A) 적어도 하나의 다른 임계를 결정하기 위한 조정 가능한 제 1 임계, (B) 선택 가능한 프레임 패턴, (C) 조정 가능한 프레임 조정 임계, 및 (D) 조정 가능한 유성화 (vocing) 임계를 제어함으로써, 상기 평균 인코딩 레이트를 제어하는 단계로서, 상기 제 1 평균 레이트가 상기 타겟 레이트보다 큰 경우, 상기 제 1 임계가 제 1 임계 최대치 이상이 아니면, 상기 제 1 임계를 제어하는 것은 잡음성으로서 더 많은 프레임들을 분류시키기 위하여 상기 제 1 임계를 증가시키는 것을 포함하는, 상기 평균 인코딩 레이트를 제어하는 단계;
    상기 프레임들의 세트 각각에 대한 프레임 분류에 기초하여 상기 프레임들의 세트를 인코딩하기 위해 인코더를 선택하는 단계; 및
    인코딩된 스피치 신호를 전송하는 단계를 포함하는, 전자 디바이스에 의한 평균 인코딩 레이트 제어 방법.
  2. 제 1 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 단계는 프레임 패턴을 결정하는 단계를 더 포함하는, 전자 디바이스에 의한 평균 인코딩 레이트 제어 방법.
  3. 제 2 항에 있어서,
    제 1 프레임 패턴이 로우 레이트 프레임들 간에 하이 레이트 프레임들의 최소 수를 필요로 하고 제 2 프레임 패턴이 하이 레이트 프레임들 간에 로우 레이트 프레임들의 최대 수만을 허용하는, 전자 디바이스에 의한 평균 인코딩 레이트 제어 방법.
  4. 제 1 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 단계는,
    상기 제 1 임계가 상기 제 1 임계 최대치 이상이라고 결정하는 것에 응답하여, 프레임 패턴 모드가 레이트-증가 프레임 패턴을 나타내는지 여부 및 제 2 평균 레이트가 상기 타겟 레이트보다 큰지 여부를 결정하는 단계;
    상기 프레임 패턴 모드가 레이트-증가 프레임 패턴을 나타내고 상기 제 2 평균 레이트가 상기 타겟 레이트보다 크다고 결정하는 것에 응답하여, 상기 프레임 패턴 모드를 레이트-감소 프레임 패턴을 나타내도록 설정하는 단계;
    상기 프레임 패턴 모드가 레이트-증가 프레임 패턴을 나타내지 않거나 상기 제 2 평균 레이트가 상기 타겟 레이트보다 크지 않다고 결정하는 것에 응답하여, 상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내는지 여부 및 상기 제 2 평균 레이트가 상기 타겟 레이트보다 큰지 여부를 결정하는 단계;
    상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내고 상기 제 2 평균 레이트가 상기 타겟 레이트보다 크다고 결정하는 것에 응답하여, 프레임 조정 모드를 제 1 프레임 조정 임계 세트를 나타내도록 설정하고 상기 제 1 평균 레이트가 상기 타겟 레이트 더하기 제 1 허용오차보다 큰지 여부를 결정하는 단계; 및
    상기 제 1 평균 레이트가 상기 타겟 레이트 더하기 상기 제 1 허용오차보다 크다고 결정하는 것에 응답하여, 유성화 임계 모드를 제 1 유성화 임계 세트를 나타내도록 설정하는 단계를 더 포함하는, 전자 디바이스에 의한 평균 인코딩 레이트 제어 방법.
  5. 제 1 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 단계는,
    상기 제 1 평균 레이트가 상기 타겟 레이트보다 크지 않다고 결정하는 것에 응답하여, 유성화 임계 모드를 제 2 유성화 임계 세트를 나타내도록 설정하고 프레임 조정 임계 모드가 제 1 프레임 조정 임계 세트를 나타내는지 여부를 결정하는 단계;
    상기 프레임 조정 임계 모드가 상기 제 1 프레임 조정 임계 세트를 나타낸다고 결정하는 것에 응답하여, 상기 프레임 조정 임계 모드를 제 2 프레임 조정 임계 세트를 나타내도록 설정하는 단계;
    상기 프레임 조정 임계 모드가 상기 제 1 프레임 조정 임계 세트를 나타내지 않는다고 결정하는 것에 응답하여, 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내는지 여부를 결정하는 단계;
    상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타낸다고 결정하는 것에 응답하여, 상기 프레임 패턴 모드를 레이트-증가 프레임 패턴을 나타내도록 설정하는 단계;
    상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내지 않는다고 결정하는 것에 응답하여, 상기 제 1 임계가 제 1 임계 최소치 이상인지 여부를 결정하는 단계;
    상기 제 1 임계가 상기 제 1 임계 최소치 이상이라고 결정하는 것에 응답하여, 상기 제 1 임계를 감소시키는 단계;
    상기 제 1 임계가 상기 제 1 임계 최소치 이상이 아니라고 결정하는 것에 응답하여, 상기 제 1 평균 레이트가 상기 타겟 레이트 빼기 제 2 레이트 허용오차 미만인지 여부를 결정하는 단계; 및
    상기 제 1 평균 레이트가 상기 타겟 레이트 빼기 상기 제 2 레이트 허용오차 미만이라고 결정하는 것에 응답하여, 하나 이상의 로우 레이트 프레임들을 하이 레이트 프레임들로 이동시켜 상기 평균 인코딩 레이트를 증가시키는 단계를 더 포함하는, 전자 디바이스에 의한 평균 인코딩 레이트 제어 방법.
  6. 제 1 항에 있어서,
    상기 적어도 하나의 다른 임계를 결정하는 것은 메트릭에 추가로 기초하는, 전자 디바이스에 의한 평균 인코딩 레이트 제어 방법.
  7. 제 6 항에 있어서,
    상기 적어도 하나의 다른 임계를 결정하는 것은,
    상기 메트릭이 상기 제 1 임계보다 크지 않으면 제 1 임계 세트를 선택하는 단계; 및
    상기 메트릭이 상기 제 1 임계보다 크면 제 2 임계 세트를 선택하는 단계를 포함하는, 전자 디바이스에 의한 평균 인코딩 레이트 제어 방법.
  8. 제 7 항에 있어서,
    상기 제 1 임계 세트는 제 1 프레임 조정 임계 세트이고 상기 제 2 임계 세트는 제 2 프레임 조정 임계 세트인, 전자 디바이스에 의한 평균 인코딩 레이트 제어 방법.
  9. 제 4 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 단계는, 상기 평균 인코딩 레이트를 낮추는 경우 스피치 품질에 대한 잠재적 영향을 증가시키는 것을 갖는 하나 이상의 절차들을 이용하기 전에 스피치 품질에 대한 더 적은 잠재적 영향을 갖는 절차를 이용하는 단계를 포함하는, 전자 디바이스에 의한 평균 인코딩 레이트 제어 방법.
  10. 제 1 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 단계는 상기 제 1 평균 레이트에 기초하여 적어도 하나의 유성화 임계를 조정하는 단계를 더 포함하는, 전자 디바이스에 의한 평균 인코딩 레이트 제어 방법.
  11. 제 10 항에 있어서,
    상기 적어도 하나의 유성화 임계를 조정하는 단계는 유성화 임계 세트를 선택하는 단계를 포함하는, 전자 디바이스에 의한 평균 인코딩 레이트 제어 방법.
  12. 평균 인코딩 레이트를 제어하는 전자 디바이스로서,
    과거 프레임들에 기초하여 제 1 평균 레이트를 결정하도록 구성된 평균 레이트 결정 회로;
    스피치 신호를 프레이밍하여 프레임들의 세트를 생성하도록 구성된 프레이밍 회로;
    상기 제 1 평균 레이트가 타겟 레이트보다 큰지 여부, 또는 상기 제 1 평균 레이트가 상기 타겟 레이트 이하인지 여부를 결정하고, 상기 제 1 평균 레이트에 기초하여 제 1 임계를 결정하도록 구성된 임계 결정 회로로서, 상기 제 1 임계는 프레임을 깨끗한 프레임 또는 잡음성 프레임으로서 분류하기 위한, 상기 임계 결정 회로; 및
    상기 평균 레이트 결정 회로 및 상기 임계 결정 회로를 포함하는 인코딩 레이트 제어기 회로로서, 상기 인코딩 레이트 제어기는 상기 프레임들의 세트를 분류하기 위해, (A) 적어도 하나의 다른 임계를 결정하기 위한 조정 가능한 제 1 임계, (B) 선택 가능한 프레임 패턴, (C) 조정 가능한 프레임 조정 임계, 및 (D) 조정 가능한 유성화 임계를 제어함으로써 상기 평균 인코딩 레이트를 제어하도록 구성되고, 상기 제 1 평균 레이트가 상기 타겟 레이트보다 큰 경우, 상기 제 1 임계가 제 1 임계 최대치 이상이 아니면, 상기 제 1 임계를 제어하는 것은 잡음성으로서 더 많은 프레임들을 분류시키기 위하여 상기 제 1 임계를 증가시키는 것을 포함하고, 상기 프레임들의 세트 각각에 대한 프레임 분류에 기초하여 상기 프레임들의 세트를 인코딩하기 위해 인코더를 선택하도록 구성되는, 상기 인코딩 레이트 제어기 회로를 포함하는, 평균 인코딩 레이트 제어 전자 디바이스.
  13. 제 12 항에 있어서,
    상기 전자 디바이스는 프레임 패턴을 결정하도록 구성되는, 평균 인코딩 레이트 제어 전자 디바이스.
  14. 제 13 항에 있어서,
    제 1 프레임 패턴이 로우 레이트 프레임들 간에 하이 레이트 프레임들의 최소 수를 필요로 하고 제 2 프레임 패턴이 하이 레이트 프레임들 간에 로우 레이트 프레임들의 최대 수만을 허용하는, 평균 인코딩 레이트 제어 전자 디바이스.
  15. 제 12 항에 있어서,
    상기 전자 디바이스는,
    상기 제 1 임계가 상기 제 1 임계 최대치 이상이라고 결정하는 것에 응답하여, 프레임 패턴 모드가 레이트-증가 프레임 패턴을 나타내는지 여부 및 제 2 평균 레이트가 상기 타겟 레이트보다 큰지 여부를 결정하고;
    상기 프레임 패턴 모드가 레이트-증가 프레임 패턴을 나타내고 상기 제 2 평균 레이트가 상기 타겟 레이트보다 크다고 결정하는 것에 응답하여, 상기 프레임 패턴 모드를 레이트-감소 프레임 패턴을 나타내도록 설정하고;
    상기 프레임 패턴 모드가 레이트-증가 프레임 패턴을 나타내지 않거나 상기 제 2 평균 레이트가 상기 타겟 레이트보다 크지 않다고 결정하는 것에 응답하여, 상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내는지 여부 및 상기 제 2 평균 레이트가 상기 타겟 레이트보다 큰지 여부를 결정하고;
    상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내고 상기 제 2 평균 레이트가 상기 타겟 레이트보다 크다고 결정하는 것에 응답하여, 프레임 조정 모드를 제 1 프레임 조정 임계 세트를 나타내도록 설정하고 상기 제 1 평균 레이트가 상기 타겟 레이트 더하기 제 1 허용오차보다 큰지 여부를 결정하며;
    상기 제 1 평균 레이트가 상기 타겟 레이트 더하기 상기 제 1 허용오차보다 크다고 결정하는 것에 응답하여, 유성화 임계 모드를 제 1 유성화 임계 세트를 나타내도록 설정하도록 구성되는, 평균 인코딩 레이트 제어 전자 디바이스.
  16. 제 12 항에 있어서,
    상기 전자 디바이스는,
    상기 제 1 평균 레이트가 상기 타겟 레이트보다 크지 않다고 결정하는 것에 응답하여, 유성화 임계 모드를 제 2 유성화 임계 세트를 나타내도록 설정하고 프레임 조정 임계 모드가 제 1 프레임 조정 임계 세트를 나타내는지 여부를 결정하고;
    상기 프레임 조정 임계 모드가 상기 제 1 프레임 조정 임계 세트를 나타낸다고 결정하는 것에 응답하여, 상기 프레임 조정 임계 모드를 제 2 프레임 조정 임계 세트를 나타내도록 설정하고;
    상기 프레임 조정 임계 모드가 상기 제 1 프레임 조정 임계 세트를 나타내지 않는다고 결정하는 것에 응답하여, 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내는지 여부를 결정하고;
    상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타낸다고 결정하는 것에 응답하여, 상기 프레임 패턴 모드를 레이트-증가 프레임 패턴을 나타내도록 설정하고;
    상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내지 않는다고 결정하는 것에 응답하여, 상기 제 1 임계가 제 1 임계 최소치 이상인지 여부를 결정하고;
    상기 제 1 임계가 상기 제 1 임계 최소치 이상이라고 결정하는 것에 응답하여, 상기 제 1 임계를 감소시키고;
    상기 제 1 임계가 상기 제 1 임계 최소치 이상이 아니라고 결정하는 것에 응답하여, 상기 제 1 평균 레이트가 상기 타겟 레이트 빼기 제 2 레이트 허용오차 미만이라고 결정하며;
    상기 제 1 평균 레이트가 상기 타겟 레이트 빼기 상기 제 2 레이트 허용오차 미만이라고 결정하는 것에 응답하여, 하나 이상의 로우 레이트 프레임들을 하이 레이트 프레임들로 이동시켜 상기 평균 인코딩 레이트를 증가시키도록 구성되는, 평균 인코딩 레이트 제어 전자 디바이스.
  17. 제 12 항에 있어서,
    상기 전자 디바이스는 메트릭에 기초하여 상기 적어도 하나의 다른 임계를 결정하도록 구성되는, 평균 인코딩 레이트 제어 전자 디바이스.
  18. 제 17 항에 있어서,
    상기 전자 디바이스는,
    상기 메트릭이 상기 제 1 임계보다 크지 않으면 제 1 임계 세트를 선택하며;
    상기 메트릭이 상기 제 1 임계보다 크면 제 2 임계 세트를 선택하도록 구성되는, 평균 인코딩 레이트 제어 전자 디바이스.
  19. 제 18 항에 있어서,
    상기 제 1 임계 세트는 제 1 프레임 조정 임계 세트이고 상기 제 2 임계 세트는 제 2 프레임 조정 임계 세트인, 평균 인코딩 레이트 제어 전자 디바이스.
  20. 제 15 항에 있어서,
    상기 전자 디바이스는, 상기 평균 인코딩 레이트를 낮추는 경우 스피치 품질에 대한 잠재적 영향을 증가시키는 것을 갖는 하나 이상의 절차들을 이용하기 전에 스피치 품질에 대한 더 적은 잠재적 영향을 갖는 절차를 이용하도록 구성되는, 평균 인코딩 레이트 제어 전자 디바이스.
  21. 제 12 항에 있어서,
    상기 전자 디바이스는, 상기 제 1 평균 레이트에 기초하여 적어도 하나의 유성화 임계를 조정하도록 구성되는, 평균 인코딩 레이트 제어 전자 디바이스.
  22. 제 21 항에 있어서,
    상기 전자 디바이스는 유성화 임계 세트를 선택하도록 구성되는, 평균 인코딩 레이트 제어 전자 디바이스.
  23. 평균 인코딩 레이트를 제어하기 위한 명령들을 갖는 비일시적 유형의 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은,
    전자 디바이스로 하여금 스피치 신호를 획득하게 하는 코드;
    상기 전자 디바이스로 하여금 상기 스피치 신호를 프레이밍하여 프레임들의 세트를 생성하게 하는 코드;
    상기 전자 디바이스로 하여금 과거 프레임들에 기초하여 제 1 평균 레이트를 결정하게 하는 코드;
    상기 전자 디바이스로 하여금 상기 제 1 평균 레이트가 타겟 레이트보다 큰지 여부, 또는 상기 제 1 평균 레이트가 상기 타겟 레이트 이하인지 여부를 결정하게 하는 코드;
    상기 전자 디바이스로 하여금 상기 제 1 평균 레이트에 기초하여 제 1 임계를 결정하게 하는 코드로서, 상기 제 1 임계는 프레임을 깨끗한 프레임 또는 잡음성 프레임으로서 분류하기 위한, 상기 제 1 임계를 결정하게 하는 코드;
    상기 전자 디바이스로 하여금, 상기 프레임들의 세트를 분류하기 위해, (A) 적어도 하나의 다른 임계를 결정하기 위한 조정 가능한 제 1 임계, (B) 선택 가능한 프레임 패턴, (C) 조정 가능한 프레임 조정 임계, 및 (D) 조정 가능한 유성화 임계를 제어함으로써, 상기 평균 인코딩 레이트를 제어하게 하는 코드로서, 상기 제 1 평균 레이트가 상기 타겟 레이트보다 큰 경우, 상기 제 1 임계가 제 1 임계 최대치 이상이 아니면, 상기 제 1 임계를 제어하는 것은 잡음성으로서 더 많은 프레임들을 분류시키기 위하여 상기 제 1 임계를 증가시키는 것을 포함하는, 상기 평균 인코딩 레이트를 제어하게 하는 코드;
    상기 전자 디바이스로 하여금 상기 프레임들의 세트 각각에 대한 프레임 분류에 기초하여 상기 프레임들의 세트를 인코딩하기 위해 인코더를 선택하게 하는 코드; 및
    상기 전자 디바이스로 하여금 인코딩된 스피치 신호를 전송하게 하는 코드를 포함하는, 비일시적 유형의 컴퓨터 판독가능 저장 매체.
  24. 제 23 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 것은 프레임 패턴을 결정하는 것을 더 포함하는, 비일시적 유형의 컴퓨터 판독가능 저장 매체.
  25. 제 24 항에 있어서,
    제 1 프레임 패턴이 로우 레이트 프레임들 간에 하이 레이트 프레임들의 최소 수를 필요로 하고 제 2 프레임 패턴이 하이 레이트 프레임들 간에 로우 레이트 프레임들의 최대 수만을 허용하는, 비일시적 유형의 컴퓨터 판독가능 저장 매체.
  26. 제 23 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 것은,
    상기 제 1 임계가 상기 제 1 임계 최대치 이상이라고 결정하는 것에 응답하여, 프레임 패턴 모드가 레이트-증가 프레임 패턴을 나타내는지 여부 및 제 2 평균 레이트가 상기 타겟 레이트보다 큰지 여부를 결정하는 것;
    상기 프레임 패턴 모드가 레이트-증가 프레임 패턴을 나타내고 상기 제 2 평균 레이트가 상기 타겟 레이트보다 크다고 결정하는 것에 응답하여, 상기 프레임 패턴 모드를 레이트-감소 프레임 패턴을 나타내도록 설정하는 것;
    상기 프레임 패턴 모드가 레이트-증가 프레임 패턴을 나타내지 않거나 상기 제 2 평균 레이트가 상기 타겟 레이트보다 크지 않다고 결정하는 것에 응답하여, 상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내는지 여부 및 상기 제 2 평균 레이트가 상기 타겟 레이트보다 큰지 여부를 결정하는 것;
    상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내고 상기 제 2 평균 레이트가 상기 타겟 레이트보다 크다고 결정하는 것에 응답하여, 프레임 조정 모드를 제 1 프레임 조정 임계 세트를 나타내도록 설정하고 상기 제 1 평균 레이트가 상기 타겟 레이트 더하기 제 1 허용오차보다 큰지 여부를 결정하는 것; 및
    상기 제 1 평균 레이트가 상기 타겟 레이트 더하기 상기 제 1 허용오차보다 크다고 결정하는 것에 응답하여, 유성화 임계 모드를 제 1 유성화 임계 세트를 나타내도록 설정하는 것을 더 포함하는, 비일시적 유형의 컴퓨터 판독가능 저장 매체.
  27. 제 23 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 것은,
    상기 제 1 평균 레이트가 상기 타겟 레이트보다 크지 않다고 결정하는 것에 응답하여, 유성화 임계 모드를 제 2 유성화 임계 세트를 나타내도록 설정하고 프레임 조정 임계 모드가 제 1 프레임 조정 임계 세트를 나타내는지 여부를 결정하는 것;
    상기 프레임 조정 임계 모드가 상기 제 1 프레임 조정 임계 세트를 나타낸다고 결정하는 것에 응답하여, 상기 프레임 조정 임계 모드를 제 2 프레임 조정 임계 세트를 나타내도록 설정하는 것;
    상기 프레임 조정 임계 모드가 상기 제 1 프레임 조정 임계 세트를 나타내지 않는다고 결정하는 것에 응답하여, 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내는지 여부를 결정하는 것;
    상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타낸다고 결정하는 것에 응답하여, 상기 프레임 패턴 모드를 레이트-증가 프레임 패턴을 나타내도록 설정하는 것;
    상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내지 않는다고 결정하는 것에 응답하여, 상기 제 1 임계가 제 1 임계 최소치 이상인지 여부를 결정하는 것;
    상기 제 1 임계가 상기 제 1 임계 최소치 이상이라고 결정하는 것에 응답하여, 상기 제 1 임계를 감소시키는 것;
    상기 제 1 임계가 상기 제 1 임계 최소치 이상이 아니라고 결정하는 것에 응답하여, 상기 제 1 평균 레이트가 상기 타겟 레이트 빼기 제 2 레이트 허용오차 미만이라고 결정하는 것; 및
    상기 제 1 평균 레이트가 상기 타겟 레이트 빼기 상기 제 2 레이트 허용오차 미만이라고 결정하는 것에 응답하여, 하나 이상의 로우 레이트 프레임들을 하이 레이트 프레임들로 이동시켜 상기 평균 인코딩 레이트를 증가시키는 것을 더 포함하는, 비일시적 유형의 컴퓨터 판독가능 저장 매체.
  28. 제 23 항에 있어서,
    상기 적어도 하나의 다른 임계를 결정하는 것은 메트릭에 추가로 기초하는, 비일시적 유형의 컴퓨터 판독가능 저장 매체.
  29. 제 28 항에 있어서,
    상기 적어도 하나의 다른 임계를 결정하는 것은,
    상기 메트릭이 상기 제 1 임계보다 크지 않으면 제 1 임계 세트를 선택하는 것; 및
    상기 메트릭이 상기 제 1 임계보다 크면 제 2 임계 세트를 선택하는 것을 포함하는, 비일시적 유형의 컴퓨터 판독가능 저장 매체.
  30. 제 29 항에 있어서,
    상기 제 1 임계 세트는 제 1 프레임 조정 임계 세트이고 상기 제 2 임계 세트는 제 2 프레임 조정 임계 세트인, 비일시적 유형의 컴퓨터 판독가능 저장 매체.
  31. 제 26 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 것은, 상기 평균 인코딩 레이트를 낮추는 경우 스피치 품질에 대한 잠재적 영향을 증가시키는 것을 갖는 하나 이상의 절차들을 이용하기 전에 스피치 품질에 대한 더 적은 잠재적 영향을 갖는 절차를 이용하는 것을 포함하는, 비일시적 유형의 컴퓨터 판독가능 저장 매체.
  32. 제 23 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 것은 상기 제 1 평균 레이트에 기초하여 적어도 하나의 유성화 임계를 조정하는 것을 더 포함하는, 비일시적 유형의 컴퓨터 판독가능 저장 매체.
  33. 제 32 항에 있어서,
    상기 적어도 하나의 유성화 임계를 조정하는 것은 유성화 임계 세트를 선택하는 것을 포함하는, 비일시적 유형의 컴퓨터 판독가능 저장 매체.
  34. 평균 인코딩 레이트를 제어하는 장치로서,
    스피치 신호를 획득하는 수단;
    상기 스피치 신호를 프레이밍하여 프레임들의 세트를 생성하는 수단;
    과거 프레임들에 기초하여 제 1 평균 레이트를 결정하는 수단;
    상기 제 1 평균 레이트가 타겟 레이트보다 큰지 여부, 또는 상기 제 1 평균 레이트가 상기 타겟 레이트 이하인지 여부를 결정하는 수단;
    상기 제 1 평균 레이트에 기초하여 제 1 임계를 결정하는 수단으로서, 상기 제 1 임계는 프레임을 깨끗한 프레임 또는 잡음성 프레임으로서 분류하기 위한, 상기 제 1 임계를 결정하는 수단;
    상기 프레임들의 세트를 분류하기 위해, (A) 적어도 하나의 다른 임계를 결정하기 위한 조정 가능한 제 1 임계, (B) 선택 가능한 프레임 패턴, (C) 조정 가능한 프레임 조정 임계, 및 (D) 조정 가능한 유성화 임계를 제어함으로써, 상기 평균 인코딩 레이트를 제어하는 수단으로서, 상기 제 1 평균 레이트가 상기 타겟 레이트보다 큰 경우, 상기 제 1 임계가 제 1 임계 최대치 이상이 아니면, 상기 제 1 임계를 제어하는 것은 잡음성으로서 더 많은 프레임들을 분류시키기 위하여 상기 제 1 임계를 증가시키는 것을 포함하는, 상기 평균 인코딩 레이트를 제어하는 수단;
    상기 프레임들의 세트 각각에 대한 프레임 분류에 기초하여 상기 프레임들의 세트를 인코딩하기 위해 인코더를 선택하는 수단; 및
    인코딩된 스피치 신호를 전송하는 수단을 포함하는, 평균 인코딩 레이트 제어 장치.
  35. 제 34 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 것은 프레임 패턴을 결정하는 것을 더 포함하는, 평균 인코딩 레이트 제어 장치.
  36. 제 35 항에 있어서,
    제 1 프레임 패턴이 로우 레이트 프레임들 간에 하이 레이트 프레임들의 최소 수를 필요로 하고 제 2 프레임 패턴이 하이 레이트 프레임들 간에 로우 레이트 프레임들의 최대 수만을 허용하는, 평균 인코딩 레이트 제어 장치.
  37. 제 34 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 수단은,
    상기 제 1 임계가 상기 제 1 임계 최대치 이상이라고 결정하는 것에 응답하여, 프레임 패턴 모드가 레이트-증가 프레임 패턴을 나타내는지 여부 및 제 2 평균 레이트가 상기 타겟 레이트보다 큰지 여부를 결정하는 것;
    상기 프레임 패턴 모드가 레이트-증가 프레임 패턴을 나타내고 상기 제 2 평균 레이트가 상기 타겟 레이트보다 크다고 결정하는 것에 응답하여, 상기 프레임 패턴 모드를 레이트-감소 프레임 패턴을 나타내도록 설정하는 것;
    상기 프레임 패턴 모드가 레이트-증가 프레임 패턴을 나타내지 않거나 상기 제 2 평균 레이트가 상기 타겟 레이트보다 크지 않다고 결정하는 것에 응답하여, 상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내는지 여부 및 상기 제 2 평균 레이트가 상기 타겟 레이트보다 큰지 여부를 결정하는 것;
    상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내고 상기 제 2 평균 레이트가 상기 타겟 레이트보다 크다고 결정하는 것에 응답하여, 프레임 조정 모드를 제 1 프레임 조정 임계 세트를 나타내도록 설정하고 상기 제 1 평균 레이트가 상기 타겟 레이트 더하기 제 1 허용오차보다 큰지 여부를 결정하는 것; 및
    상기 제 1 평균 레이트가 상기 타겟 레이트 더하기 상기 제 1 허용오차보다 크다고 결정하는 것에 응답하여, 유성화 임계 모드를 제 1 유성화 임계 세트를 나타내도록 설정하는 것을 더 포함하는, 평균 인코딩 레이트 제어 장치.
  38. 제 34 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 수단은,
    상기 제 1 평균 레이트가 상기 타겟 레이트보다 크지 않다고 결정하는 것에 응답하여, 유성화 임계 모드를 제 2 유성화 임계 세트를 나타내도록 설정하고 프레임 조정 임계 모드가 제 1 프레임 조정 임계 세트를 나타내는지 여부를 결정하는 것;
    상기 프레임 조정 임계 모드가 상기 제 1 프레임 조정 임계 세트를 나타낸다고 결정하는 것에 응답하여, 상기 프레임 조정 임계 모드를 제 2 프레임 조정 임계 세트를 나타내도록 설정하는 것;
    상기 프레임 조정 임계 모드가 상기 제 1 프레임 조정 임계 세트를 나타내지 않는다고 결정하는 것에 응답하여, 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내는지 여부를 결정하는 것;
    상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타낸다고 결정하는 것에 응답하여, 상기 프레임 패턴 모드를 레이트-증가 프레임 패턴을 나타내도록 설정하는 것;
    상기 프레임 패턴 모드가 레이트-감소 프레임 패턴을 나타내지 않는다고 결정하는 것에 응답하여, 상기 제 1 임계가 제 1 임계 최소치 이상인지 여부를 결정하는 것;
    상기 제 1 임계가 상기 제 1 임계 최소치 이상이라고 결정하는 것에 응답하여, 상기 제 1 임계를 감소시키는 것;
    상기 제 1 임계가 상기 제 1 임계 최소치 이상이 아니라고 결정하는 것에 응답하여, 상기 제 1 평균 레이트가 상기 타겟 레이트 빼기 제 2 레이트 허용오차 미만이라고 결정하는 것; 및
    상기 제 1 평균 레이트가 상기 타겟 레이트 빼기 상기 제 2 레이트 허용오차 미만이라고 결정하는 것에 응답하여, 하나 이상의 로우 레이트 프레임들을 하이 레이트 프레임들로 이동시켜 상기 평균 인코딩 레이트를 증가시키는 것을 더 포함하는, 평균 인코딩 레이트 제어 장치.
  39. 제 34 항에 있어서,
    상기 적어도 하나의 다른 임계를 결정하는 것은 메트릭에 추가로 기초하는, 평균 인코딩 레이트 제어 장치.
  40. 제 39 항에 있어서,
    상기 적어도 하나의 다른 임계를 결정하는 것은,
    상기 메트릭이 상기 제 1 임계보다 크지 않으면 제 1 임계 세트를 선택하는 것; 및
    상기 메트릭이 상기 제 1 임계보다 크면 제 2 임계 세트를 선택하는 것을 포함하는, 평균 인코딩 레이트 제어 장치.
  41. 제 40 항에 있어서,
    상기 제 1 임계 세트는 제 1 프레임 조정 임계 세트이고 상기 제 2 임계 세트는 제 2 프레임 조정 임계 세트인, 평균 인코딩 레이트 제어 장치.
  42. 제 37 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 것은, 상기 평균 인코딩 레이트를 낮추는 경우 스피치 품질에 대한 잠재적 영향을 증가시키는 것을 갖는 하나 이상의 절차들을 이용하기 전에 스피치 품질에 대한 더 적은 잠재적 영향을 갖는 절차를 이용하는 것을 포함하는, 평균 인코딩 레이트 제어 장치.
  43. 제 34 항에 있어서,
    상기 평균 인코딩 레이트를 제어하는 것은, 상기 제 1 평균 레이트에 기초하여 적어도 하나의 유성화 임계를 조정하는 것을 더 포함하는, 평균 인코딩 레이트 제어 장치.
  44. 제 43 항에 있어서,
    상기 적어도 하나의 유성화 임계를 조정하는 것은 유성화 임계 세트를 선택하는 것을 포함하는, 평균 인코딩 레이트 제어 장치.
KR1020157025602A 2013-02-21 2013-09-03 평균 인코딩 레이트를 제어하는 시스템 및 방법들 KR101760588B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361767439P 2013-02-21 2013-02-21
US61/767,439 2013-02-21
US14/015,984 2013-08-30
US14/015,984 US9263054B2 (en) 2013-02-21 2013-08-30 Systems and methods for controlling an average encoding rate for speech signal encoding
PCT/US2013/057869 WO2014130085A1 (en) 2013-02-21 2013-09-03 Systems and methods for controlling an average encoding rate

Publications (2)

Publication Number Publication Date
KR20150120463A KR20150120463A (ko) 2015-10-27
KR101760588B1 true KR101760588B1 (ko) 2017-07-21

Family

ID=51351896

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157025602A KR101760588B1 (ko) 2013-02-21 2013-09-03 평균 인코딩 레이트를 제어하는 시스템 및 방법들

Country Status (10)

Country Link
US (1) US9263054B2 (ko)
EP (1) EP2959484B1 (ko)
JP (2) JP2016507789A (ko)
KR (1) KR101760588B1 (ko)
CN (1) CN104995678B (ko)
BR (1) BR112015020250B1 (ko)
ES (1) ES2758501T3 (ko)
HU (1) HUE045263T2 (ko)
TW (1) TWI527391B (ko)
WO (1) WO2014130085A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9437205B2 (en) * 2013-05-10 2016-09-06 Tencent Technology (Shenzhen) Company Limited Method, application, and device for audio signal transmission
JP2017009663A (ja) * 2015-06-17 2017-01-12 ソニー株式会社 録音装置、録音システム、および、録音方法
CA2998689C (en) * 2015-09-25 2021-10-26 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoder and method for encoding an audio signal with reduced background noise using linear predictive coding
KR102214440B1 (ko) 2016-10-07 2021-02-09 삼성전자주식회사 통화 기능을 수행하는 단말 장치 및 방법
WO2020189409A1 (ja) * 2019-03-15 2020-09-24 三菱瓦斯化学株式会社 ポリエステルカーボネート樹脂、及び当該樹脂を含む樹脂組成物を成形してなる成形体
EP3751567B1 (en) 2019-06-10 2022-01-26 Axis AB A method, a computer program, an encoder and a monitoring device
US20230326473A1 (en) * 2022-04-08 2023-10-12 Digital Voice Systems, Inc. Tone Frame Detector for Digital Speech

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070171931A1 (en) * 2006-01-20 2007-07-26 Sharath Manjunath Arbitrary average data rates for variable rate coders
US20120303362A1 (en) * 2011-05-24 2012-11-29 Qualcomm Incorporated Noise-robust speech coding mode classification

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4379949A (en) 1981-08-10 1983-04-12 Motorola, Inc. Method of and means for variable-rate coding of LPC parameters
TW271524B (ko) * 1994-08-05 1996-03-01 Qualcomm Inc
US5742734A (en) * 1994-08-10 1998-04-21 Qualcomm Incorporated Encoding rate selection in a variable rate vocoder
CN1140894C (zh) * 1997-04-07 2004-03-03 皇家菲利浦电子有限公司 可变位速率语音传输系统
JP3273599B2 (ja) * 1998-06-19 2002-04-08 沖電気工業株式会社 音声符号化レート選択器と音声符号化装置
US6330532B1 (en) * 1999-07-19 2001-12-11 Qualcomm Incorporated Method and apparatus for maintaining a target bit rate in a speech coder
US7054809B1 (en) * 1999-09-22 2006-05-30 Mindspeed Technologies, Inc. Rate selection method for selectable mode vocoder
US6438518B1 (en) * 1999-10-28 2002-08-20 Qualcomm Incorporated Method and apparatus for using coding scheme selection patterns in a predictive speech coder to reduce sensitivity to frame error conditions
US7657427B2 (en) 2002-10-11 2010-02-02 Nokia Corporation Methods and devices for source controlled variable bit-rate wideband speech coding
RU2331933C2 (ru) 2002-10-11 2008-08-20 Нокиа Корпорейшн Способы и устройства управляемого источником широкополосного кодирования речи с переменной скоростью в битах
US8346544B2 (en) 2006-01-20 2013-01-01 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with closed loop re-decision
JP4769673B2 (ja) * 2006-09-20 2011-09-07 富士通株式会社 オーディオ信号補間方法及びオーディオ信号補間装置
JP2008261999A (ja) * 2007-04-11 2008-10-30 Toshiba Corp オーディオ復号装置
US8352252B2 (en) * 2009-06-04 2013-01-08 Qualcomm Incorporated Systems and methods for preventing the loss of information within a speech frame
JP5519230B2 (ja) * 2009-09-30 2014-06-11 パナソニック株式会社 オーディオエンコーダ及び音信号処理システム
US8990094B2 (en) * 2010-09-13 2015-03-24 Qualcomm Incorporated Coding and decoding a transient frame

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070171931A1 (en) * 2006-01-20 2007-07-26 Sharath Manjunath Arbitrary average data rates for variable rate coders
US20120303362A1 (en) * 2011-05-24 2012-11-29 Qualcomm Incorporated Noise-robust speech coding mode classification

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Audio codec processing functions, Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec. 3GPP TS 26.290 version 9.0.0 Release 9, 2009.09.

Also Published As

Publication number Publication date
US9263054B2 (en) 2016-02-16
JP6526096B2 (ja) 2019-06-05
WO2014130085A1 (en) 2014-08-28
TWI527391B (zh) 2016-03-21
CN104995678A (zh) 2015-10-21
HUE045263T2 (hu) 2019-12-30
JP2016507789A (ja) 2016-03-10
TW201440444A (zh) 2014-10-16
BR112015020250B1 (pt) 2021-12-07
EP2959484B1 (en) 2019-08-28
JP2017161917A (ja) 2017-09-14
EP2959484A1 (en) 2015-12-30
BR112015020250A2 (pt) 2017-07-18
KR20150120463A (ko) 2015-10-27
US20140236587A1 (en) 2014-08-21
CN104995678B (zh) 2018-10-19
ES2758501T3 (es) 2020-05-05

Similar Documents

Publication Publication Date Title
KR101760588B1 (ko) 평균 인코딩 레이트를 제어하는 시스템 및 방법들
KR101940371B1 (ko) 잠재적인 프레임 불안정을 완화하는 시스템들 및 방법들
US10141001B2 (en) Systems, methods, apparatus, and computer-readable media for adaptive formant sharpening in linear prediction coding
US9208775B2 (en) Systems and methods for determining pitch pulse period signal boundaries
KR101750645B1 (ko) 내삽 인자 세트를 결정하기 위한 시스템들 및 방법들
TW201435859A (zh) 用於量化及解量化相位資訊之系統及方法

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant